From 1f880d3027ac784cdfc6ed9c2815f851ced80491 Mon Sep 17 00:00:00 2001 From: Nick Dalhuisen Date: Thu, 10 Nov 2022 23:26:41 +0100 Subject: [PATCH] initial commit --- assets/and.png | Bin 0 -> 1706 bytes assets/loff.png | Bin 0 -> 897 bytes assets/lon.png | Bin 0 -> 1090 bytes assets/nand.png | Bin 0 -> 1770 bytes assets/nor.png | Bin 0 -> 1869 bytes assets/not.png | Bin 0 -> 1665 bytes assets/off.png | Bin 0 -> 424 bytes assets/on.png | Bin 0 -> 389 bytes assets/or.png | Bin 0 -> 1937 bytes assets/xor.png | Bin 0 -> 2232 bytes gates/gate.js | 10 ++++++++++ gates/light/light.js | 0 gates/logic/not.js | 16 ++++++++++++++++ gates/switch/switch.js | 0 images/example.png | Bin 0 -> 51680 bytes index.html | 14 ++++++++++++++ p5.min.js | 2 ++ sketch.js | 26 ++++++++++++++++++++++++++ 18 files changed, 68 insertions(+) create mode 100644 assets/and.png create mode 100644 assets/loff.png create mode 100644 assets/lon.png create mode 100644 assets/nand.png create mode 100644 assets/nor.png create mode 100644 assets/not.png create mode 100644 assets/off.png create mode 100644 assets/on.png create mode 100644 assets/or.png create mode 100644 assets/xor.png create mode 100644 gates/gate.js create mode 100644 gates/light/light.js create mode 100644 gates/logic/not.js create mode 100644 gates/switch/switch.js create mode 100644 images/example.png create mode 100644 index.html create mode 100644 p5.min.js create mode 100644 sketch.js diff --git a/assets/and.png b/assets/and.png new file mode 100644 index 0000000000000000000000000000000000000000..549a2ab52812c4141d6daa10190bdd27a6408d96 GIT binary patch literal 1706 zcmYjSd2AF_7+*ZfCDCwGs)Di+h%IyNB@x{@cW1YIbZ1WqGCMQ7J9~F_W_NaLg+hS> z7HdUP@xU_`EC}&JhcqQtmm zM4(imq#9Auh#*u}5>%y-2PVLC1yN4Ok~qGGKnT(dnVKOhhrmYEjv}CgY%Mk$8XM>H zNhyEXk*Ng&4i<;yyjZA|fa&2t2SWfxabST3Gd6DOW^4&S?8RbM3QKX9tQry8gj!lq zGk_Pn99*m0h!DWe${7g^j3i_VV_QUpue8VoK!>d@PzwwoBBc~^fJDO(h}D8wZRQpj zL&3^_(#F`xrSk>&1h2^d3pb`(Qu*Y#;%0xKD3=5?W=h85FcGNvV$`_OvZRz`kfuvX z`#1R5X0=+B#!*o!%K|tF$PxvTEy{dS;d6i@U(RQZbI@ckqcCbBXQS?pCn~n|xc58{ zBwTXspcf91RP`)bfV5uaVWV{q1huURlhGlWHfOt8LLQAlN#%$iQ zf;obc&!tHcma}GnN{43gVg(^Y_#Ij_04|MY6eroHqXcI1GU;~BWp-=jV$7ZqNSlYW z+gUn;yX<_}O_vFo6y!>g;XRn_lBs|mcOr~k@$!6%XV_T4;?W=_nC3%Vs{r}cBrUl! zlnPY}ITuN)FrMaY99;?{LdlxQaY9keaRt_C)u}{@Nik6`(eC$Gi?x6sA~+!*L)==0rL<5kMqPP^xm9x5^Ljz(> zCj}@RmMf7Yl267(DejE8V>t_820=rae54lg6GAxz`OO|7?bKpsYuc?O8P-C(0u{)X z;Hn{3Co_y6i>1*(27(|hj5#$|II9wV#n&E`irG;fm=_($1xbFHgCi^ZIAjfBvu)U*+$AhTJ}V-kBZ03=h9~y|1C+ zy_*`^*v51#Gc&AO7BTs=Lj`cit=$XBobT7RSC!&8SngMq>0 z=RUu!WADqK#X2uW_uY7LTjAoCWf$+e_H=F2t9ox(@A^*PICwfg6uP^sr(>vn?){So zdYl96b`NZuH?TQ6&}$pmS{>L}*SjYk-1PZDQ)BV51%IFaVC|}&cO&bbjcmMn?$Oqj z^EHkUnflV9w|>8(G;hw&`{$5PPxyE@dhb`$PV}_Sef#Q1>w{}HG*0dF z?7i|t=j`rgw)34CH@ulRTYoLT`qZS4&#da5 zad7>Q##efWKS}h_7j}>Q`pOQg=~j0`-*rdkEZ;hK_>Ly$?7okV%wN8L_Oj(X($zis zPNb`Na?Mb7!NR|$@B8M&xkdBrvlouOuY8ePjjZb)?Tl=0K556-e49G(+Y3jD(AMtJ zN&OGpLytV%xadNCi3wTzqEPc-yR+BPv`ux*`h zTHDmS$31PqrgYEEZ~1zuJtuGeRNuRF#9?~i^_?r9-*WcVo#!31ZaKR2_}Nc6|DNYE zLBBlo)aYH5X+`InMVhw dLr2a}Z94njl*235?*Km^gOl=*`|#E4{sD$wV{QNd literal 0 HcmV?d00001 diff --git a/assets/loff.png b/assets/loff.png new file mode 100644 index 0000000000000000000000000000000000000000..416b57fd60a3796b668f40987f226c63c274625d GIT binary patch literal 897 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=3?wxlRx|@C#^NA%C&rs6b?Si}&H|6fVg?3o zVGw3ym^DWNs6ZsZC&U#fISSB1z(eSZ7f>jsB*-tAfssukfBD5XKLvt!+@Bh$%e?ep z2sdB+;T-m&>&{76jU`SwYAr0}xYg9q%4z#TnB}*Sq9zlUPGD|jop|T8=483NNr{uq z-R7FMsjU~&GdQ6yuPk}y$}_VBiz)06%G_E8JjEn%KJ*4xH?vq;)IFME5_ zhr2)gga7yP=QAA?5NU5>ymMnm0ZX3Cp+KI_qlN4Hk3X;}eBC6yyYujtcatm}1y25E z*C<=|LFMU^1wRaX)n6Xx5t+;t-`2*GET>=Q`=L@?eP)i{{PU^&|BT`TRE`Ekt_WEz zx-drTUzbRh&)$nUhCZurt}xy@Kf1DDQfiRE?YZkT)RVSf7E3+c9N*(}$!Y!m^S^8z z;}Yaz(mOXaFModc!_Q2G+~Bx&)jI(eeyxh?rkOgDy%X<>$o4OJ#yxFMmC*6bL&~=E z*C(D#={k1#rlir~iRNEjLj3Pto!sBe^M>Cz%;ocE7MrP4IV-+s3X7dRFZ^fS5ux2x zOmgC%kFJ}xnl)(k)9~l3;6$pspYrJWPd)+eGJl3 W5!~~urT}vc1B0ilpUXO@geCx#4+KB} literal 0 HcmV?d00001 diff --git a/assets/lon.png b/assets/lon.png new file mode 100644 index 0000000000000000000000000000000000000000..21ad9ce8a597aa32dfc57e68946092e18fdf8fdb GIT binary patch literal 1090 zcmYjP3rv$&6h437EiEmj)Y2ykXe&BNhbZ-xRytZcY6FJJ25ylKaGT*dM1?3Qy2{2F zH46hX7?VV#VOr``z#(&FRAvU7VPkO!n;RL3gJH#@^6y@Vi6^<|eCNC0J?Gs2{tlZp zfya?@0DxyU#V4Vt#fwEnUNcsF3=f;5YfQGgCil(D21<;a9st7TnM28 zj{r6SG<1AXCZNJLR6w~HUgv|22YUoiBm$Qlk^`Yw1g&yN;z4aFmR(c9N6TOb z7wQ(%3kpc%L#_~-Ww3<1UlTB*J&zIgUkcni=_mb#BxzqD zi8T*MmTQix^^?(#hs*&oe3n!%kWu8eNPJL;9Z3c)g(WY=LB51}Bq<S*8GgG&RHyHGC=Cob&q^?xuHrDh>9c{Ljwq{RL#p(4H zN5s?N3Eisox9%LC7*q1U;m=NQ>i+Swm+zh&%N-TvRa$oR7nf}Ps;kL;<-9J7uqN(L zFWsKuY`ogsoH}s(x1o{2)a~m!Iu0LtGOyP?E2SR$J-yJdF=n%t{#H>zB*?ZcT{+_ijmrr}rf$)A1g;aS~%GsD*mh8c5uG+?9t0%vVeq|gH^9I#y2EqJ*FG?WO%!JGi-n4 xw9NVx#&Z!{N4*J@&Zj$fhc~=AeQz>YT0$LpmzJQPx*3IkEwj-Y-)4BL{C{^4Y!m^`@hlT(ssaClOB6 zB6^uB22=-MjaCQ@E1|AnC{U`S4KC~OLX-_u+Go-AsNx6SVX_#@d!d(Q;hZ~A zXi~D6^igS63ztc`Bo)zcJQO~3D8L*9mjD;8mJqJxz;mR8S-qUKC}%Bo zsj9?P#f;RPqTL*%xO^yPbNNXzkYyRJfrosBEJ@~NrsS}Dt8^~RrTn%s=vNpgxw=Ku zL~jD7Acn3IAzk!XYFd_;NH#;mDIgKRIdxHJ6VdG+tL)1rS^*2!3?TwsDzhL2E;r99 zc9)`QRK4AS?F*bd*LU4}vz5W~txpF+E+@vW84MjhFX5mh=b6*tKLn#a{5oH}`Ca_HdeyI=k1W0&?N?|CvY`TdRK$&DjF-Z*yqq0vVUjpPpdOmf)?Izz_cLF-ap&HSUBj<^ey#V>BfnPem_GmPxlR8)^VFy3=M|1h zL*x6;J-6+f?i_R;E{rCIj+75w9=mh*mFZ4u^riXO6T{tK+fKc8sy6<_f{9`C3dunB zzrSVI^wNJ{e*MAqXyI4(ddCljzfligoZGu>@7>S8=_!m%DrYawn|R#z)Xvlf0si6M ziQc|@zn4MZ(=YCQ(Ak;Ve8V%2)joXXfV1;&!n(1a)kb{%&kfu-^>lu^f6&mo?02R4 z-LRw6|ECSx$~$^ftDoqfkjc=gZuvsV|t5Nq{a81gOoI<_Z11^@E5 z`!^i8{~_U_!9AY`Uykmeesf~#$*G>xdb;(>Pqyhd;(x3yj!$2I>GbySyY6RR{Ljv7 y|JsqRKeO}F)$T7emvzoeZ5U7x`JLbS z&Y5%OZa3Fc z=hl#P1z#bA#avhf%#|9IRi~}sqd*Ulln)$ApNEQOLc9r_;gV4R=SjE_mj_H}AQ24% zkb(z+TwH-fD&q14F!21Zv<#a6?0pv8k0;3gOP8tIN8`k7#jZetBveVK9QAK9h*EAZ z9tX)Xm}XxhNrE;#Yub;=GY*=K`DU$NUo+_eF9EHRgJye4oJind03o0Ev&E`XU^XhD zr2S#3e3RSHNQ1NN5ge58jM|73WCX7Qm1Sr`F0u3VBj!?K;ebV>iP!}Zv6Kx(b-H4r1i9THZcrQJc=AFzu=MwVfs0T2bqtZ~wTS~X&a zj1cpgX1BAco~OsLL?RYvgh?%85!$V&L!k%~JPUv)DIUvrAW~h>?zBZ+XiF$z3wc6X z*kSR6*of8-p(aY}HHqC#sER;rp%l+T(~3yM9u4yeKFv4Ujh={3#|E35ZMZn7C&H{! zAodD{kW=CC^2A^f6mh7|E-`3Z1bQ0_Q+_iN57&X*Jk||U4p@Vw9A-*n$GxnL7sDjN zh>Q}e#q}vhfVlyTU`(h%1!zKKrbaMR2+p421th$Y}A<4Gl%;ef$LD1Mx(XCnsg z&sQ3jmwr$?12(=;jmfM5bohp**KR9VFfp=6^~yqCZk=)NrSkHF7s|i;eBI)Ls<|Vt z_Flv)3ooBoX71`A3oh$wZ4ZsTD?6Aa%SQ_^ow2wmJ*~>^YrAg?R3^&*1F4tM@b@>B5E_!>UW|MX{-iC)a&8v0^#C_RPSU?$A_w z-(KVCoqL|-t*>dEh+jT`FEwYAXOX_1JW`!L)YJOa^qD$z%L(_$(f;+4?U9nh=NdL4 zt$j<5d}l74f1^LO;GSjiqw;xgiLMndBC$%v{Q<*t;Ny#rx_{mXi*EmE^Mk(@XXSVA zD#261oU`o%L!bYqD_rze?S&(KoUHtu{SSGilS$diqNnl4Q%i4Sc?~eqI+<0g-Ce!l zFWrC47kud9{_4Y@eA)eR&)DOOW#hX#r=VFgX525i1*?+0fuU0Kmqg6u9;ihi(d z44GTm7k_VV8jh}zcG%xHaFM`om+W{f%@gdy^3t)Uj-g)P_^%C?>^G+Fo>^T`c(?lS zkn!d8^%I-lErBnfva)RX&@v>okw0(by@Ro;<%hOfvD?Fa9c9jq`+C0kD0|I57x78$ zjxD9Sw=0wG8v5HMIbSa<w4sQej=dgD+sQ)t({6=?6nLPQ) z&DRny7Ji!^{oZIY9Xs{Z7=H(e_ic!O)oglTj2BX-HJzg$)eb!Px_f;8Pp|)jJ3f`} zolKAFC%RwtRE-y$KJ{7-8h^9AxU)KMK-Y8d{^NqCpB*_hlaLPwo-Epa@BX1JWiMob P|072&*JHswYGynVF|GxMA^MCJ{ z)rmMgyJvon!{L}6VuCDa(aCq_3}AO!x1R$|*8of7j*Z_fm~c3*dD0-WhHfcZMRqt5 zV#;&EkXjosoJi0K!(>Iy8_il3xFD|A3YwzHg{d(Zg5kvwwixnpu-l0Q5Dzer--SR} zZVE3Jh+48k)?=cIAIDy zye^OcP(&Cm7Ine|@GDwb1`RFe%eBcVg{Ek_v>JfBeJ;r51|dRi)^q@(+z`m+LVbRZ z%Z(ynhe^yAh)$V_!8KOkU;E$CKj8b4j|eUJ#CJmf_%A28;b5HAC(l-Uz%dC zilBtc)CsYuRmH`ivPl{%oyDa_%%l>gSgOD{A(EJ(aZ*;TQzeNt{N6~%7cd0T#@$>f z=y$@n(Qp%zR_|T2+E~4v4c0?!a-f`O zrde7J3$z&GC|qj@i~yDV#Z&?CbmFOuSukrA46;)lEzM=?Vlq`zg2{G}jus3HGcXZN znz|K~C@BWk2sW(~R0F4sfPah8mu5 zyhv9Kxq`%6KuBEi;wVG9gORqan@Gbh<=Cj9l&pe^0^#r~?I-g{EUl+d#-^KIlgSCN z!bg&1rDcQzk&0yT7!9=uPcB&ti-fzw}Swru4MhHlIGKuD-0B$XCq11abh(x#bUBUd9qdQKDtpbW)?ONmBFu1j8~Z17E@ zY7K;CF_?-b>{Kd4CyQYe<{QnTR7qz%0yuPdix0KfSRmo{wyb)^?f3iCQWY&J6e{|K zW+iU}j2c#O1+XV_nM}(Q_A)4$$tr^3Y0!e}(Z=1WYyS}kIJQE2Ln&r;X~ zm@U*=IKf1HK2}ycS|e3##Z0KByE_q`lF&5Uj>}C6C36kdszm$y;~EjRj35*yWEQ+0)zao%o_-_ixy?q|565p!=7nUfp%aifbnhq#es0TOGdc`mB?@ zy?MWHVGG^{rdSNCtIJ9Wa%GZ!6r;c~WO61_sZ3#|&c^diD(5&I2x@Fppho;{< z%Bx$tg{P@o0djM0WF6HzOsa1=_FeZJ*EfH3?e(e)9jE@Bckn}PB}Lqg?R`WY&fWRM zI6v*|!=uTbvnJ>s_()sR?Ax}tcb3tMhP(F+&RCZu^!rbhziJ(tw>@X=T2^8{dE9@h zd@<9{`uJ^KBj7q%YwXPN8Q!x;7BOTFNq;s}xP;6{Au Glm7xv`$gOU literal 0 HcmV?d00001 diff --git a/assets/off.png b/assets/off.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0728fd8fbb502f6cad334eb34760f670aceea4 GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=3?wxlRx|@C#^NA%C&rs6b?Si}&H|6fVg?3o zVGw3ym^DWND3})D6XFV_=>Q6Hrd$JBqf`>)7tHWK=6={xYH8zZhMXys0R7+R2Y!)_nA_O5Sx|eebS&Hj}r1xZSzqrplZ0a`uxm*|=T# RUnzh>)6><@Wt~$(699fEdo%z5 literal 0 HcmV?d00001 diff --git a/assets/on.png b/assets/on.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c2684d45ef11d8749ff0866f5787ee80758ee3 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=3?wxlRx|@C#^NA%C&rs6b?Si}&H|6fVg?3o zVGw3ym^DWNC>Rys6XFV_X#~1G;{t(3%asKA1vC6-;ZXM%D!g#sQFwuttAm1pR7||6 z+kJuS3F|v7s(uu_1FD?m>EaktG3V_RPrhaY0Ty2a>&P3||NNi5Q{vdAEoTax9N$e2 zT{>w7x7W{~Gg%AXx$x+F%RPMQ;{M&UZ-IYL@6ri5O06lunkuuO{@$&@;Br48@BH)E ze-i~%Kh|Y0Ej_B>6|(bgmMTl)r1WQz=DEied_qp;wO-ivCyXQaHvfzF<`$C*XSrV3 tbXu!9<+>}!Nx#JclUjdUaqYLi$3I_)<-?_0um6LB%G1@)Wt~$(697V&ab5rb literal 0 HcmV?d00001 diff --git a/assets/or.png b/assets/or.png new file mode 100644 index 0000000000000000000000000000000000000000..a1fe1b6b0a583864d4b51110c8b2e62da7bb55ab GIT binary patch literal 1937 zcmYjS4RjM#7EVEGBNU}n+bxAswt=Qgvy++0-!8c3Z<0yU{QtMYPLfG7&3`7zG+{*r zkE|`w7VrmxGl+IM7 z#ZQGv76*|}YaAE~#^@9WQE*^b8794{WGo6)V2{Lnl%FDf(>@r2;d)3=4~eZXpMyw| zyF$PdL5O=APXx&5y+8sU1On7LsHiW-&_LB&f#5^HjL3in971$jZ4sheV3Ee-VbVc* zv{Z@%V**6PLxjLwt5sVYbR1X?^e`17!K5O+p;&&4FG(;wDhA+uF%RPLfk_@r#v%ZO z@gZ;)4;4#1g0w%nhAkAYpRzq@&=>U8y6wb zJV^kPA(J!(Xu3<T$yP*Roh zM#o{kitfJq(ib$BAK9lB%YRpGK#dw0L8?ZicqJ$W`US8;Z`e18?!Jd zna=3N2;}pDC6SfJ7)(g0D5*n%%WYBv4NJY4(jdY#76atPgIWr+v>;MjGh>bD!?-@E z^*YJ8gO3Tr9=+GbWCEB&2|+1{L4#U_BAE>`;1XmeEaHV55)#HoiL)MQ*p&5Qfmqa) z%1R+IUm6SA6_K!vFOP(Y9E~)zNWdP@1sI9Zx{$z<)VBDQS(xT4M8M%egQO%BY>=75 zPOaK$Rx{0hU^d2KwNR~s?IBF=)rdn;mnsO`v^s%9gJO)wBXJN)ztJUjG$bW)y&g^5hFE0(s|W1c`TEt7aLe>R*9U|F9FR^)Fj zn*&1UGNOjG!sf^}^J$b28cco_s!1i049GkYw96QiFsgAN9)Q(?%aw(-fJ&7W7bQc0 zMGOoC6(FcMk>^e*Y{_E?kI)}XiNry@f>tv5Ud#{h4q`v{@!h5d>w6y&L@90BRnB6~ z_y$)8q*U$)SrY-n!J=oBKT1b?4nn zfrB?Ie>G0#R*g%#zT|d|^B3*eH}B5)q96JnAN#O=On2;)EpuPmIP=`I!~bFJ8lCm{ z=)#qs&HiAb`c`+2n_4@eQ2O~!csUx&_)9D^}v17Mr_Uw|eXn62u-Hn~AA`jMJ^;d^R zoQ{K|6_?wye=Z$5%wGM~WliM0`%7*;aq5ppXa1#5;M_2|q~y>*<$(`-HQ^u1)cXTkyzP{$`BLgoz`bdv+8oX_K1b=hX^Lk6i zN^01&MEkcF=RMr_ynAKIuJ)0-{_$&U$BfYzZjfkc0lWRS+p}(CV&~?fkLI^NwOsdB z?}+w0#n95K(9eB~_$A8DQ>^Q4aK32GAPx-YCF!@V;S;4o@Oi|bN>pE(8RJ^7%zg_n~Gr7j< literal 0 HcmV?d00001 diff --git a/assets/xor.png b/assets/xor.png new file mode 100644 index 0000000000000000000000000000000000000000..d38bace617bf8edd048ac79e4a43aaf9a5b2072b GIT binary patch literal 2232 zcmYjT32+nV6_zdA0oxceIG8%d5U8jOvAWuoWGPT$Nvp%wy}A{gvN~2;-N#BRi_6CV zriO9^(@;n}P&_3V97@Y!9D-Yd>v2lJ3@%{`jN>L8hL}tshPKf5Hzw20?EdfV_rL#r z?|VCMXE*D$iW&K3`3weQMy(RXfQ7-0Ov?l7u76~wQCgeI8FLc|CJ z7Os#ZKoG}NJnr>`Unb&nAdrAnC&EJOyH?Iv+=91npI@?}3WCZ!xT2jU8f z2#I7rcM`P7Kb1X<0|_ru>v1m`#;bs`$u!j#LhX!cXt^H3gHf{-jf#^Bek^46Td=4s zMrqN6Ey;oTcJ>Qg%1q?C5aP?-YL$AUT`8P-~>H3)@?V7^YTfN&n4RMn;lI|L;~DCoAtNE=J945Hm_0T@Wv=^EJf>5Dngm&hiRz}gnBbJ z!WQIeLbL);2V!Y0ltSfl#FFH@Fo(q`6>?1hw*fFE^^$794Vxu)y3S-Z1Rx=-tOXl^ zsK!}mh9Xv5NN2GN)lk4Grzk>=q$sIQO`H6>h*a#fa+49YqZSf4A}SnmL{erwar{mevVHtq%h>h!a+3V1> z-^)WisgT>BGAjk7nP+!MX{{q8#I-?DgS)|?mGCADwL%&P92!FfbU*k84q}$tS(}Yx^OsVeZC`mhIT!2K`RSp3jc#DyXYl zh}9W3vO7_1nhay_M|-w^x}l(R%YOFe0uM*BXK+_#=iT9de!uL_v(;x;AH8_No*aAj z&69skJbA!h8}MbX%YM|fsHF7X<0s6gMQd_bFy}YYeSs0yx8>>V<=NwkHI|9f)8Av1 zGbb3!@|RzuR=1oixcutfJnEGU<80%KnzvTfJpGR#I{S3d%G?UeoVD*SYC7~dSIa1E zJdyj;c#>cGe$%Wz_NwL3tfzVVvb0%u4mTfe8tC|BymqAG*nyGU?(Q9JU-t1<LNYcb5uN$=`jkapS*x*jKNNU(Ru*sy?WG<-_UPO(#EwM~8+l zWZy4#{Bg<1@?({SbGf~5U3#tQ4>O;Coque9-`=hS(_eb)RFRE&XycJ9)6o91%^YS~ z=R|2bk+jr^4=z46`)SS_dAItvwAHwmZYqPlOmD%yo-?-P7ds-kMAoCmw`Kj@;_HJu z4yOyhJ>0jaYiYr6nra^Hm5cb_TiTcl&sSynw$Hjyzv|fjrHl3ylrt7Hs~rd>cCVf; zEPBv}j*Ja9Dtj5Wnd+>H>S_)XhWiS0-YG%992;y_u4hwgw))n$!wcXWbL78g?O?C0 z&);(UN1cMd-QW6IGn>woVTG*bt-t6}W!;;9h28lk?JpW^9tiWHHxAB`HJv_FGM9gJ zsBd3+@!D^yU+)SH-5Wa)PgX8CZrIsVc>2)%O8&xS7neSiYE31rU8*K~zB-q<-MEEW zlr3F23!E;#e#qn7`e?xk`B&&ge`f8bK=D=(cl}jI|LyYP;nwduzR0;ZhSe$}Oj>ts zxIOnn_rp_~2mQTwD!RLa8dH45=m%)end8On`)oblmhSFC)Z=X(Cy#a|USIOoaPrcn z`uf6y-z8E{k&XUaZZe|FwgVmxqS^J~;OhWzSJ V=2pPx-UYuRj9Qr%?Ut-+{xAJIH(>w( literal 0 HcmV?d00001 diff --git a/gates/gate.js b/gates/gate.js new file mode 100644 index 0000000..deb143c --- /dev/null +++ b/gates/gate.js @@ -0,0 +1,10 @@ +class Gate { + constructor(type) { + switch (type) { + case 'logic': + break; + default: + break; + } + } +} \ No newline at end of file diff --git a/gates/light/light.js b/gates/light/light.js new file mode 100644 index 0000000..e69de29 diff --git a/gates/logic/not.js b/gates/logic/not.js new file mode 100644 index 0000000..97f502f --- /dev/null +++ b/gates/logic/not.js @@ -0,0 +1,16 @@ +class Not { + constructor() { + this.inputs = 1; + this.outputs = 1; + this.values = NULL; + } + + calculate() { + if (this.values && this.inputs == this.outputs) { + + for (let i= 0; i < this.values.length; i++) { + + } + } + } +} \ No newline at end of file diff --git a/gates/switch/switch.js b/gates/switch/switch.js new file mode 100644 index 0000000..e69de29 diff --git a/images/example.png b/images/example.png new file mode 100644 index 0000000000000000000000000000000000000000..5e38f96ff68daa5f47f365728143e16abaa95762 GIT binary patch literal 51680 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..4a8f2b5 --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + + + + + + Logic gate simulator + + + + \ No newline at end of file diff --git a/p5.min.js b/p5.min.js new file mode 100644 index 0000000..4251dd0 --- /dev/null +++ b/p5.min.js @@ -0,0 +1,2 @@ +/*! p5.js v1.5.0 October 18, 2022 */ +!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).p5=e()}(function(){var s,e,t;return function o(n,s,i){function a(t,e){if(!s[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=s[t]={exports:{}},n[t][0].call(r.exports,function(e){return a(n[t][1][e]||e)},r,r.exports,o,n,s,i)}return s[t].exports}for(var l="function"==typeof require&&require,e=0;e>16&255,s[i++]=t>>8&255,s[i++]=255&t;2===o&&(t=l[e.charCodeAt(r)]<<2|l[e.charCodeAt(r+1)]>>4,s[i++]=255&t);1===o&&(t=l[e.charCodeAt(r)]<<10|l[e.charCodeAt(r+1)]<<4|l[e.charCodeAt(r+2)]>>2,s[i++]=t>>8&255,s[i++]=255&t);return s},r.fromByteArray=function(e){for(var t,r=e.length,o=r%3,n=[],s=0,i=r-o;s>18&63]+a[e>>12&63]+a[e>>6&63]+a[63&e]}(o));return n.join("")}(e,s,i>2]+a[t<<4&63]+"==")):2==o&&(t=(e[r-2]<<8)+e[r-1],n.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return n.join("")};for(var a=[],l=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,s=o.length;n>>1;case"base64":return T(e).length;default:if(n)return o?-1:E(e).length;t=(""+t).toLowerCase(),n=!0}}function r(e,t,r){var o,n=!1;if((t=void 0===t||t<0?0:t)>this.length)return"";if((r=void 0===r||r>this.length?this.length:r)<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e=e||"utf8";;)switch(e){case"hex":var s=this,i=t,a=r,l=s.length;(!a||a<0||l=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=d.from(t,o)),d.isBuffer(t))return 0===t.length?-1:p(e,t,r,o,n);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?(n?Uint8Array.prototype.indexOf:Uint8Array.prototype.lastIndexOf).call(e,t,r):p(e,[t],r,o,n);throw new TypeError("val must be string, number or Buffer")}function p(e,t,r,o,n){var s=1,i=e.length,a=t.length;if(void 0!==o&&("ucs2"===(o=String(o).toLowerCase())||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;i/=s=2,a/=2,r/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(n)for(var u=-1,c=r;c>8,o=o%256,n.push(o),n.push(r);return n}(t,e.length-r),e,r,o)}function M(e,t,r){r=Math.min(e.length,r);for(var o=[],n=t;n>>10&1023|55296),c=56320|1023&c),o.push(c),n+=d}var f=o,h=f.length;if(h<=v)return String.fromCharCode.apply(String,f);for(var p="",m=0;mt&&(e+=" ... "),""},e&&(d.prototype[e]=d.prototype.inspect),d.prototype.compare=function(e,t,r,o,n){if(O(e,Uint8Array)&&(e=d.from(e,e.offset,e.byteLength)),!d.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===r&&(r=e?e.length:0),void 0===o&&(o=0),void 0===n&&(n=this.length),(t=void 0===t?0:t)<0||r>e.length||o<0||n>this.length)throw new RangeError("out of range index");if(n<=o&&r<=t)return 0;if(n<=o)return-1;if(r<=t)return 1;if(this===e)return 0;for(var s=(n>>>=0)-(o>>>=0),i=(r>>>=0)-(t>>>=0),a=Math.min(s,i),l=this.slice(o,n),u=e.slice(t,r),c=0;c>>=0,isFinite(r)?(r>>>=0,void 0===o&&(o="utf8")):(o=r,r=void 0)}var n=this.length-t;if((void 0===r||nthis.length)throw new RangeError("Attempt to write outside buffer bounds");o=o||"utf8";for(var s,i,a,l=!1;;)switch(o){case"hex":var u=this,c=e,d=t,f=r,h=(d=Number(d)||0,u.length-d);(!f||h<(f=Number(f)))&&(f=h),(h=c.length)/2e.length)throw new RangeError("Index out of range")}function j(e,t,r,o){if(r+o>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function _(e,t,r,o,n){return t=+t,r>>>=0,n||j(e,0,r,4),s.write(e,t,r,o,23,4),r+4}function x(e,t,r,o,n){return t=+t,r>>>=0,n||j(e,0,r,8),s.write(e,t,r,o,52,8),r+8}d.prototype.slice=function(e,t){var r=this.length,r=((e=~~e)<0?(e+=r)<0&&(e=0):r>>=0,t>>>=0,r||m(e,t,this.length);for(var o=this[e],n=1,s=0;++s>>=0,t>>>=0,r||m(e,t,this.length);for(var o=this[e+--t],n=1;0>>=0,t||m(e,1,this.length),this[e]},d.prototype.readUInt16LE=function(e,t){return e>>>=0,t||m(e,2,this.length),this[e]|this[e+1]<<8},d.prototype.readUInt16BE=function(e,t){return e>>>=0,t||m(e,2,this.length),this[e]<<8|this[e+1]},d.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]},d.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])},d.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||m(e,t,this.length);for(var o=this[e],n=1,s=0;++s>>=0,t>>>=0,r||m(e,t,this.length);for(var o=t,n=1,s=this[e+--o];0>>=0,t||m(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},d.prototype.readInt16LE=function(e,t){e>>>=0,t||m(e,2,this.length);t=this[e]|this[e+1]<<8;return 32768&t?4294901760|t:t},d.prototype.readInt16BE=function(e,t){e>>>=0,t||m(e,2,this.length);t=this[e+1]|this[e]<<8;return 32768&t?4294901760|t:t},d.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},d.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]},d.prototype.readFloatLE=function(e,t){return e>>>=0,t||m(e,4,this.length),s.read(this,e,!0,23,4)},d.prototype.readFloatBE=function(e,t){return e>>>=0,t||m(e,4,this.length),s.read(this,e,!1,23,4)},d.prototype.readDoubleLE=function(e,t){return e>>>=0,t||m(e,8,this.length),s.read(this,e,!0,52,8)},d.prototype.readDoubleBE=function(e,t){return e>>>=0,t||m(e,8,this.length),s.read(this,e,!1,52,8)},d.prototype.writeUIntLE=function(e,t,r,o){e=+e,t>>>=0,r>>>=0,o||b(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,o||b(this,e,t,r,Math.pow(2,8*r)-1,0);var n=r-1,s=1;for(this[t+n]=255&e;0<=--n&&(s*=256);)this[t+n]=e/s&255;return t+r},d.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,1,255,0),this[t]=255&e,t+1},d.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},d.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},d.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||b(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},d.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||b(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},d.prototype.writeIntLE=function(e,t,r,o){e=+e,t>>>=0,o||b(this,e,t,r,(o=Math.pow(2,8*r-1))-1,-o);var n=0,s=1,i=0;for(this[t]=255&e;++n>0)-i&255;return t+r},d.prototype.writeIntBE=function(e,t,r,o){e=+e,t>>>=0,o||b(this,e,t,r,(o=Math.pow(2,8*r-1))-1,-o);var n=r-1,s=1,i=0;for(this[t+n]=255&e;0<=--n&&(s*=256);)e<0&&0===i&&0!==this[t+n+1]&&(i=1),this[t+n]=(e/s>>0)-i&255;return t+r},d.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,1,127,-128),this[t]=255&(e=e<0?255+e+1:e),t+1},d.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},d.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},d.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||b(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},d.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||b(this,e,t,4,2147483647,-2147483648),this[t]=(e=e<0?4294967295+e+1:e)>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},d.prototype.writeFloatLE=function(e,t,r){return _(this,e,t,!0,r)},d.prototype.writeFloatBE=function(e,t,r){return _(this,e,t,!1,r)},d.prototype.writeDoubleLE=function(e,t,r){return x(this,e,t,!0,r)},d.prototype.writeDoubleBE=function(e,t,r){return x(this,e,t,!1,r)},d.prototype.copy=function(e,t,r,o){if(!d.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r=r||0,o||0===o||(o=this.length),t>=e.length&&(t=e.length),(o=0=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length);var n=(o=e.length-t>>=0,r=void 0===r?this.length:r>>>0,"number"==typeof(e=e||0))for(s=t;s>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function T(e){return S.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(w,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function C(e,t,r,o){for(var n=0;n=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function O(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function L(e){return e!=e}var k=function(){for(var e="0123456789abcdef",t=new Array(256),r=0;r<16;++r)for(var o=16*r,n=0;n<16;++n)t[o+n]=e[r]+e[n];return t}()}.call(this,A("buffer").Buffer)},{"base64-js":1,buffer:4,ieee754:238}],5:[function(e,t,r){t.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},{}],6:[function(e,t,r){var o=e("../internals/is-object");t.exports=function(e){if(o(e)||null===e)return e;throw TypeError("Can't set "+String(e)+" as a prototype")}},{"../internals/is-object":74}],7:[function(e,t,r){var o=e("../internals/well-known-symbol"),n=e("../internals/object-create"),e=e("../internals/object-define-property"),s=o("unscopables"),i=Array.prototype;null==i[s]&&e.f(i,s,{configurable:!0,value:n(null)}),t.exports=function(e){i[s][e]=!0}},{"../internals/object-create":90,"../internals/object-define-property":92,"../internals/well-known-symbol":146}],8:[function(e,t,r){"use strict";var o=e("../internals/string-multibyte").charAt;t.exports=function(e,t,r){return t+(r?o(e,t).length:1)}},{"../internals/string-multibyte":123}],9:[function(e,t,r){t.exports=function(e,t,r){if(e instanceof t)return e;throw TypeError("Incorrect "+(r?r+" ":"")+"invocation")}},{}],10:[function(e,t,r){var o=e("../internals/is-object");t.exports=function(e){if(o(e))return e;throw TypeError(String(e)+" is not an object")}},{"../internals/is-object":74}],11:[function(e,t,r){t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},{}],12:[function(e,t,r){"use strict";function o(e){return l(e)&&u(E,c(e))}var n,s=e("../internals/array-buffer-native"),i=e("../internals/descriptors"),a=e("../internals/global"),l=e("../internals/is-object"),u=e("../internals/has"),c=e("../internals/classof"),d=e("../internals/create-non-enumerable-property"),f=e("../internals/redefine"),h=e("../internals/object-define-property").f,p=e("../internals/object-get-prototype-of"),m=e("../internals/object-set-prototype-of"),y=e("../internals/well-known-symbol"),e=e("../internals/uid"),g=a.Int8Array,v=g&&g.prototype,b=a.Uint8ClampedArray,b=b&&b.prototype,j=g&&p(g),_=v&&p(v),x=Object.prototype,w=x.isPrototypeOf,y=y("toStringTag"),S=e("TYPED_ARRAY_TAG"),M=s&&!!m&&"Opera"!==c(a.opera),e=!1,E={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8};for(n in E)a[n]||(M=!1);if((!M||"function"!=typeof j||j===Function.prototype)&&(j=function(){throw TypeError("Incorrect invocation")},M))for(n in E)a[n]&&m(a[n],j);if((!M||!_||_===x)&&(_=j.prototype,M))for(n in E)a[n]&&m(a[n].prototype,_);if(M&&p(b)!==_&&m(b,_),i&&!u(_,y))for(n in e=!0,h(_,y,{get:function(){return l(this)?this[S]:void 0}}),E)a[n]&&d(a[n],S,n);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:M,TYPED_ARRAY_TAG:e&&S,aTypedArray:function(e){if(o(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(w.call(j,e))return e}else for(var t in E)if(u(E,n)){t=a[t];if(t&&(e===t||w.call(t,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r){if(i){if(r)for(var o in E){o=a[o];o&&u(o.prototype,e)&&delete o.prototype[e]}_[e]&&!r||f(_,e,!r&&M&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,r){var o,n;if(i){if(m){if(r)for(o in E)(n=a[o])&&u(n,e)&&delete n[e];if(j[e]&&!r)return;try{return f(j,e,!r&&M&&g[e]||t)}catch(e){}}for(o in E)!(n=a[o])||n[e]&&!r||f(n,e,t)}},isView:function(e){e=c(e);return"DataView"===e||u(E,e)},isTypedArray:o,TypedArray:j,TypedArrayPrototype:_}},{"../internals/array-buffer-native":11,"../internals/classof":29,"../internals/create-non-enumerable-property":38,"../internals/descriptors":43,"../internals/global":59,"../internals/has":60,"../internals/is-object":74,"../internals/object-define-property":92,"../internals/object-get-prototype-of":97,"../internals/object-set-prototype-of":101,"../internals/redefine":108,"../internals/uid":143,"../internals/well-known-symbol":146}],13:[function(e,t,I){"use strict";function r(e){return[255&e]}function o(e){return[255&e,e>>8&255]}function n(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function s(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function i(e){return L(e,23,4)}function U(e){return L(e,52,8)}function a(e,t){H(e[w],t,{get:function(){return b(this)[t]}})}function l(e,t,r,o){if(r=m(r),e=b(e),r+t>e.byteLength)throw O(S);var n=b(e.buffer).bytes,r=r+e.byteOffset,e=n.slice(r,r+t);return o?e:e.reverse()}function u(e,t,r,o,n,s){if(r=m(r),e=b(e),r+t>e.byteLength)throw O(S);for(var i=b(e.buffer).bytes,a=r+e.byteOffset,l=o(+n),u=0;uR;)(A=P[R++])in E||F(E,A,M[A]);c.constructor=E}g&&V(e)!==C&&g(e,C);var y=new T(new E(2)),D=e.setInt8;y.setInt8(0,2147483648),y.setInt8(1,2147483649),!y.getInt8(0)&&y.getInt8(1)||f(e,{setInt8:function(e,t){D.call(this,e,t<<24>>24)},setUint8:function(e,t){D.call(this,e,t<<24>>24)}},{unsafe:!0})}else E=function(e){p(this,E,_);e=m(e);j(this,{bytes:W.call(new Array(e),0),byteLength:e}),d||(this.byteLength=e)},T=function(e,t,r){p(this,T,x),p(e,E,x);var o=b(e).byteLength,t=B(t);if(t<0||o>24},getUint8:function(e){return l(this,1,e)[0]},getInt16:function(e){e=l(this,2,e,1>16},getUint16:function(e){e=l(this,2,e,1>>0},getFloat32:function(e){return k(l(this,4,e,1"+e+""}},{"../internals/require-object-coercible":113}],37:[function(e,t,r){"use strict";function o(){return this}var n=e("../internals/iterators-core").IteratorPrototype,s=e("../internals/object-create"),i=e("../internals/create-property-descriptor"),a=e("../internals/set-to-string-tag"),l=e("../internals/iterators");t.exports=function(e,t,r){t+=" Iterator";return e.prototype=s(n,{next:i(1,r)}),a(e,t,!1,!0),l[t]=o,e}},{"../internals/create-property-descriptor":39,"../internals/iterators":79,"../internals/iterators-core":78,"../internals/object-create":90,"../internals/set-to-string-tag":117}],38:[function(e,t,r){var o=e("../internals/descriptors"),n=e("../internals/object-define-property"),s=e("../internals/create-property-descriptor");t.exports=o?function(e,t,r){return n.f(e,t,s(1,r))}:function(e,t,r){return e[t]=r,e}},{"../internals/create-property-descriptor":39,"../internals/descriptors":43,"../internals/object-define-property":92}],39:[function(e,t,r){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],40:[function(e,t,r){"use strict";var o=e("../internals/to-primitive"),n=e("../internals/object-define-property"),s=e("../internals/create-property-descriptor");t.exports=function(e,t,r){t=o(t);t in e?n.f(e,t,s(0,r)):e[t]=r}},{"../internals/create-property-descriptor":39,"../internals/object-define-property":92,"../internals/to-primitive":138}],41:[function(e,t,r){"use strict";function m(){return this}var y=e("../internals/export"),g=e("../internals/create-iterator-constructor"),v=e("../internals/object-get-prototype-of"),b=e("../internals/object-set-prototype-of"),j=e("../internals/set-to-string-tag"),_=e("../internals/create-non-enumerable-property"),x=e("../internals/redefine"),o=e("../internals/well-known-symbol"),w=e("../internals/is-pure"),S=e("../internals/iterators"),e=e("../internals/iterators-core"),M=e.IteratorPrototype,E=e.BUGGY_SAFARI_ITERATORS,T=o("iterator"),C="values",O="entries";t.exports=function(e,t,r,o,n,s,i){g(r,t,o);function a(e){if(e===n&&h)return h;if(!E&&e in d)return d[e];switch(e){case"keys":case C:case O:return function(){return new r(this,e)}}return function(){return new r(this)}}var l,u,o=t+" Iterator",c=!1,d=e.prototype,f=d[T]||d["@@iterator"]||n&&d[n],h=!E&&f||a(n),p="Array"==t&&d.entries||f;if(p&&(p=v(p.call(new e)),M!==Object.prototype&&p.next&&(w||v(p)===M||(b?b(p,M):"function"!=typeof p[T]&&_(p,T,m)),j(p,o,!0,!0),w&&(S[o]=m))),n==C&&f&&f.name!==C&&(c=!0,h=function(){return f.call(this)}),w&&!i||d[T]===h||_(d,T,h),S[t]=h,n)if(l={values:a(C),keys:s?h:a("keys"),entries:a(O)},i)for(u in l)!E&&!c&&u in d||x(d,u,l[u]);else y({target:t,proto:!0,forced:E||c},l);return l}},{"../internals/create-iterator-constructor":37,"../internals/create-non-enumerable-property":38,"../internals/export":50,"../internals/is-pure":75,"../internals/iterators":79,"../internals/iterators-core":78,"../internals/object-get-prototype-of":97,"../internals/object-set-prototype-of":101,"../internals/redefine":108,"../internals/set-to-string-tag":117,"../internals/well-known-symbol":146}],42:[function(e,t,r){var o=e("../internals/path"),n=e("../internals/has"),s=e("../internals/well-known-symbol-wrapped"),i=e("../internals/object-define-property").f;t.exports=function(e){var t=o.Symbol||(o.Symbol={});n(t,e)||i(t,e,{value:s.f(e)})}},{"../internals/has":60,"../internals/object-define-property":92,"../internals/path":104,"../internals/well-known-symbol-wrapped":145}],43:[function(e,t,r){e=e("../internals/fails");t.exports=!e(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},{"../internals/fails":51}],44:[function(e,t,r){var o=e("../internals/global"),e=e("../internals/is-object"),n=o.document,s=e(n)&&e(n.createElement);t.exports=function(e){return s?n.createElement(e):{}}},{"../internals/global":59,"../internals/is-object":74}],45:[function(e,t,r){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],46:[function(e,t,r){e=e("../internals/engine-user-agent");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(e)},{"../internals/engine-user-agent":47}],47:[function(e,t,r){e=e("../internals/get-built-in");t.exports=e("navigator","userAgent")||""},{"../internals/get-built-in":56}],48:[function(e,t,r){var o,n,s=e("../internals/global"),e=e("../internals/engine-user-agent"),s=s.process,s=s&&s.versions,s=s&&s.v8;s?n=(o=s.split("."))[0]+o[1]:e&&(!(o=e.match(/Edge\/(\d+)/))||74<=o[1])&&(o=e.match(/Chrome\/(\d+)/))&&(n=o[1]),t.exports=n&&+n},{"../internals/engine-user-agent":47,"../internals/global":59}],49:[function(e,t,r){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},{}],50:[function(e,t,r){var u=e("../internals/global"),c=e("../internals/object-get-own-property-descriptor").f,d=e("../internals/create-non-enumerable-property"),f=e("../internals/redefine"),h=e("../internals/set-global"),p=e("../internals/copy-constructor-properties"),m=e("../internals/is-forced");t.exports=function(e,t){var r,o,n,s=e.target,i=e.global,a=e.stat,l=i?u:a?u[s]||h(s,{}):(u[s]||{}).prototype;if(l)for(r in t){if(o=t[r],n=e.noTargetGet?(n=c(l,r))&&n.value:l[r],!m(i?r:s+(a?".":"#")+r,e.forced)&&void 0!==n){if(typeof o==typeof n)continue;p(o,n)}(e.sham||n&&n.sham)&&d(o,"sham",!0),f(l,r,o,e)}}},{"../internals/copy-constructor-properties":33,"../internals/create-non-enumerable-property":38,"../internals/global":59,"../internals/is-forced":73,"../internals/object-get-own-property-descriptor":93,"../internals/redefine":108,"../internals/set-global":115}],51:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],52:[function(e,t,r){"use strict";e("../modules/es.regexp.exec");var u=e("../internals/redefine"),c=e("../internals/fails"),d=e("../internals/well-known-symbol"),f=e("../internals/regexp-exec"),h=e("../internals/create-non-enumerable-property"),p=d("species"),m=!c(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}),y="$0"==="a".replace(/./,"$0"),e=d("replace"),g=!!/./[e]&&""===/./[e]("a","$0"),v=!c(function(){var e=/(?:)/,t=e.exec,e=(e.exec=function(){return t.apply(this,arguments)},"ab".split(e));return 2!==e.length||"a"!==e[0]||"b"!==e[1]});t.exports=function(r,e,t,o){var s,n,i=d(r),a=!c(function(){var e={};return e[i]=function(){return 7},7!=""[r](e)}),l=a&&!c(function(){var e=!1,t=/a/;return"split"===r&&((t={constructor:{}}).constructor[p]=function(){return t},t.flags="",t[i]=/./[i]),t.exec=function(){return e=!0,null},t[i](""),!e});a&&l&&("replace"!==r||m&&y&&!g)&&("split"!==r||v)||(s=/./[i],t=(l=t(i,""[r],function(e,t,r,o,n){return t.exec===f?a&&!n?{done:!0,value:s.call(t,r,o)}:{done:!0,value:e.call(r,t,o)}:{done:!1}},{REPLACE_KEEPS_$0:y,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:g}))[0],n=l[1],u(String.prototype,r,t),u(RegExp.prototype,i,2==e?function(e,t){return n.call(e,this,t)}:function(e){return n.call(e,this)})),o&&h(RegExp.prototype[i],"sham",!0)}},{"../internals/create-non-enumerable-property":38,"../internals/fails":51,"../internals/redefine":108,"../internals/regexp-exec":110,"../internals/well-known-symbol":146,"../modules/es.regexp.exec":181}],53:[function(e,t,r){e=e("../internals/fails");t.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},{"../internals/fails":51}],54:[function(e,t,r){var s=e("../internals/a-function");t.exports=function(o,n,e){if(s(o),void 0===n)return o;switch(e){case 0:return function(){return o.call(n)};case 1:return function(e){return o.call(n,e)};case 2:return function(e,t){return o.call(n,e,t)};case 3:return function(e,t,r){return o.call(n,e,t,r)}}return function(){return o.apply(n,arguments)}}},{"../internals/a-function":5}],55:[function(e,t,r){"use strict";var o=e("../internals/a-function"),n=e("../internals/is-object"),c=[].slice,d={};t.exports=Function.bind||function(i){var a=o(this),l=c.call(arguments,1),u=function(){var e=l.concat(c.call(arguments));if(this instanceof u){var t=a,r=e.length,o=e;if(!(r in d)){for(var n=[],s=0;s>1,u=23===t?h(2,-24)-h(2,-77):0,c=e<0||0===e&&1/e<0?1:0,d=0;for((e=f(e))!=e||e===1/0?(n=e!=e?1:0,o=r):(o=p(m(e)/y),e*(s=h(2,-o))<1&&(o--,s*=2),2<=(e+=1<=o+l?u/s:u*h(2,1-l))*s&&(o++,s/=2),r<=o+l?(n=0,o=r):1<=o+l?(n=(e*s-1)*h(2,t),o+=l):(n=e*h(2,l-1)*h(2,t),o=0));8<=t;i[d++]=255&n,n/=256,t-=8);for(o=o<>1,a=n-7,l=o-1,n=e[l--],u=127&n;for(n>>=7;0>=-a,a+=t;0"+e+""},m=function(){try{n=document.domain&&new ActiveXObject("htmlfile")}catch(e){}m=n?((e=n).write(p("")),e.close(),t=e.parentWindow.Object,e=null,t):(e=c("iframe"),t="java"+f+":",e.style.display="none",u.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(p("document.F=Object")),t.close(),t.F);for(var e,t,r=a.length;r--;)delete m[d][a[r]];return m()};l[h]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(o[d]=s(e),r=new o,o[d]=null,r[h]=e):r=m(),void 0===t?r:i(r,t)}},{"../internals/an-object":10,"../internals/document-create-element":44,"../internals/enum-bug-keys":49,"../internals/hidden-keys":61,"../internals/html":63,"../internals/object-define-properties":91,"../internals/shared-key":118}],91:[function(e,t,r){var o=e("../internals/descriptors"),i=e("../internals/object-define-property"),a=e("../internals/an-object"),l=e("../internals/object-keys");t.exports=o?Object.defineProperties:function(e,t){a(e);for(var r,o=l(t),n=o.length,s=0;sn;)!i(o,r=t[n++])||~l(s,r)||s.push(r);return s}},{"../internals/array-includes":18,"../internals/has":60,"../internals/hidden-keys":61,"../internals/to-indexed-object":132}],99:[function(e,t,r){var o=e("../internals/object-keys-internal"),n=e("../internals/enum-bug-keys");t.exports=Object.keys||function(e){return o(e,n)}},{"../internals/enum-bug-keys":49,"../internals/object-keys-internal":98}],100:[function(e,t,r){"use strict";var o={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,s=n&&!o.call({1:2},1);r.f=s?function(e){e=n(this,e);return!!e&&e.enumerable}:o},{}],101:[function(e,t,r){var n=e("../internals/an-object"),s=e("../internals/a-possible-prototype");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r,o=!1,e={};try{(r=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),o=e instanceof Array}catch(e){}return function(e,t){return n(e),s(t),o?r.call(e,t):e.__proto__=t,e}}():void 0)},{"../internals/a-possible-prototype":6,"../internals/an-object":10}],102:[function(e,t,r){"use strict";var o=e("../internals/to-string-tag-support"),n=e("../internals/classof");t.exports=o?{}.toString:function(){return"[object "+n(this)+"]"}},{"../internals/classof":29,"../internals/to-string-tag-support":139}],103:[function(e,t,r){var o=e("../internals/get-built-in"),n=e("../internals/object-get-own-property-names"),s=e("../internals/object-get-own-property-symbols"),i=e("../internals/an-object");t.exports=o("Reflect","ownKeys")||function(e){var t=n.f(i(e)),r=s.f;return r?t.concat(r(e)):t}},{"../internals/an-object":10,"../internals/get-built-in":56,"../internals/object-get-own-property-names":95,"../internals/object-get-own-property-symbols":96}],104:[function(e,t,r){e=e("../internals/global");t.exports=e},{"../internals/global":59}],105:[function(e,t,r){t.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},{}],106:[function(e,t,r){var o=e("../internals/an-object"),n=e("../internals/is-object"),s=e("../internals/new-promise-capability");t.exports=function(e,t){return o(e),n(t)&&t.constructor===e?t:((0,(e=s.f(e)).resolve)(t),e.promise)}},{"../internals/an-object":10,"../internals/is-object":74,"../internals/new-promise-capability":86}],107:[function(e,t,r){var n=e("../internals/redefine");t.exports=function(e,t,r){for(var o in t)n(e,o,t[o],r);return e}},{"../internals/redefine":108}],108:[function(e,t,r){var i=e("../internals/global"),a=e("../internals/create-non-enumerable-property"),l=e("../internals/has"),u=e("../internals/set-global"),o=e("../internals/inspect-source"),e=e("../internals/internal-state"),n=e.get,c=e.enforce,d=String(String).split("String");(t.exports=function(e,t,r,o){var n=!!o&&!!o.unsafe,s=!!o&&!!o.enumerable,o=!!o&&!!o.noTargetGet;"function"==typeof r&&("string"!=typeof t||l(r,"name")||a(r,"name",t),c(r).source=d.join("string"==typeof t?t:"")),e===i?s?e[t]=r:u(t,r):(n?!o&&e[t]&&(s=!0):delete e[t],s?e[t]=r:a(e,t,r))})(Function.prototype,"toString",function(){return"function"==typeof this&&n(this).source||o(this)})},{"../internals/create-non-enumerable-property":38,"../internals/global":59,"../internals/has":60,"../internals/inspect-source":68,"../internals/internal-state":70,"../internals/set-global":115}],109:[function(e,t,r){var o=e("./classof-raw"),n=e("./regexp-exec");t.exports=function(e,t){var r=e.exec;if("function"==typeof r){r=r.call(e,t);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return n.call(e,t)}},{"./classof-raw":28,"./regexp-exec":110}],110:[function(e,t,r){"use strict";var o,n,d=e("./regexp-flags"),e=e("./regexp-sticky-helpers"),f=RegExp.prototype.exec,h=String.prototype.replace,s=f,p=(o=/a/,n=/b*/g,f.call(o,"a"),f.call(n,"a"),0!==o.lastIndex||0!==n.lastIndex),m=e.UNSUPPORTED_Y||e.BROKEN_CARET,y=void 0!==/()??/.exec("")[1];t.exports=s=p||y||m?function(e){var t,r,o,n,s=this,i=m&&s.sticky,a=d.call(s),l=s.source,u=0,c=e;return i&&(-1===(a=a.replace("y","")).indexOf("g")&&(a+="g"),c=String(e).slice(s.lastIndex),0M((v-s)/d))throw RangeError(w);for(s+=(u-n)*d,n=u,c=0;cv)throw RangeError(w);if(t==n){for(var f=s,h=b;;h+=b){var p=h<=i?1:i+j<=h?j:h-i;if(f>1,e+=M(e/t);S*j>>1>>=1)&&(t+=t))1&o&&(r+=t);return r}},{"../internals/require-object-coercible":113,"../internals/to-integer":133}],126:[function(e,t,r){var o=e("../internals/fails"),n=e("../internals/whitespaces");t.exports=function(e){return o(function(){return!!n[e]()||"​…᠎"!="​…᠎"[e]()||n[e].name!==e})}},{"../internals/fails":51,"../internals/whitespaces":147}],127:[function(e,t,r){function o(t){return function(e){e=String(n(e));return 1&t&&(e=e.replace(s,"")),e=2&t?e.replace(i,""):e}}var n=e("../internals/require-object-coercible"),e="["+e("../internals/whitespaces")+"]",s=RegExp("^"+e+e+"*"),i=RegExp(e+e+"*$");t.exports={start:o(1),end:o(2),trim:o(3)}},{"../internals/require-object-coercible":113,"../internals/whitespaces":147}],128:[function(e,t,r){function o(e){return function(){x(e)}}function n(e){x(e.data)}function s(e){a.postMessage(e+"",h.protocol+"//"+h.host)}var i,a=e("../internals/global"),l=e("../internals/fails"),u=e("../internals/classof-raw"),c=e("../internals/function-bind-context"),d=e("../internals/html"),f=e("../internals/document-create-element"),e=e("../internals/engine-is-ios"),h=a.location,p=a.setImmediate,m=a.clearImmediate,y=a.process,g=a.MessageChannel,v=a.Dispatch,b=0,j={},_="onreadystatechange",x=function(e){var t;j.hasOwnProperty(e)&&(t=j[e],delete j[e],t())};p&&m||(p=function(e){for(var t=[],r=1;r=t.length?{value:e.target=void 0,done:!0}:"keys"==r?{value:o,done:!1}:"values"==r?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}},"values"),s.Arguments=s.Array,n("keys"),n("values"),n("entries")},{"../internals/add-to-unscopables":7,"../internals/define-iterator":41,"../internals/internal-state":70,"../internals/iterators":79,"../internals/to-indexed-object":132}],159:[function(e,t,r){"use strict";var o=e("../internals/export"),n=e("../internals/indexed-object"),s=e("../internals/to-indexed-object"),e=e("../internals/array-method-is-strict"),i=[].join,n=n!=Object,e=e("join",",");o({target:"Array",proto:!0,forced:n||!e},{join:function(e){return i.call(s(this),void 0===e?",":e)}})},{"../internals/array-method-is-strict":22,"../internals/export":50,"../internals/indexed-object":66,"../internals/to-indexed-object":132}],160:[function(e,t,r){var o=e("../internals/export"),e=e("../internals/array-last-index-of");o({target:"Array",proto:!0,forced:e!==[].lastIndexOf},{lastIndexOf:e})},{"../internals/array-last-index-of":20,"../internals/export":50}],161:[function(e,t,r){"use strict";var o=e("../internals/export"),n=e("../internals/array-iteration").map,s=e("../internals/array-method-has-species-support"),e=e("../internals/array-method-uses-to-length"),s=s("map"),e=e("map");o({target:"Array",proto:!0,forced:!s||!e},{map:function(e){return n(this,e,1M;M++)l(b,x=S[M])&&!l(w,x)&&y(w,x,m(b,x));(w.prototype=j).constructor=w,a(s,v,w)}},{"../internals/classof-raw":28,"../internals/descriptors":43,"../internals/fails":51,"../internals/global":59,"../internals/has":60,"../internals/inherit-if-required":67,"../internals/is-forced":73,"../internals/object-create":90,"../internals/object-define-property":92,"../internals/object-get-own-property-descriptor":93,"../internals/object-get-own-property-names":95,"../internals/redefine":108,"../internals/string-trim":127,"../internals/to-primitive":138}],170:[function(e,t,r){e("../internals/export")({target:"Number",stat:!0},{isFinite:e("../internals/number-is-finite")})},{"../internals/export":50,"../internals/number-is-finite":88}],171:[function(e,t,r){"use strict";function c(e,t,r){return 0===t?r:t%2==1?c(e,t-1,r*e):c(e*e,t/2,r)}var o=e("../internals/export"),d=e("../internals/to-integer"),f=e("../internals/this-number-value"),h=e("../internals/string-repeat"),e=e("../internals/fails"),n=1..toFixed,p=Math.floor;o({target:"Number",proto:!0,forced:n&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==0xde0b6b3a7640080.toFixed(0))||!e(function(){n.call({})})},{toFixed:function(e){function t(e,t){for(var r=-1,o=t;++r<6;)o+=e*a[r],a[r]=o%1e7,o=p(o/1e7)}function r(e){for(var t=6,r=0;0<=--t;)r+=a[t],a[t]=p(r/e),r=r%e*1e7}function o(){for(var e,t=6,r="";0<=--t;)""===r&&0!==t&&0===a[t]||(e=String(a[t]),r=""===r?e:r+h.call("0",7-e.length)+e);return r}var n,s,i=f(this),e=d(e),a=[0,0,0,0,0,0],l="",u="0";if(e<0||20n;){var s,i,a,l=y[n++],u=t?l.ok:l.fail,c=l.resolve,d=l.reject,f=l.domain;try{u?(t||(p.rejection===oe&&function(e,t){v.call(g,function(){if(C)M.emit("rejectionHandled",e);else se(te,e,t.value)})}(h,p),p.rejection=k),!0===u?s=e:(f&&f.enter(),s=u(e),f&&(f.exit(),a=!0)),s===l.promise?d(w("Promise-chain cycle")):(i=ne(s))?i.call(s,c,d):c(s)):d(e)}catch(e){f&&!a&&f.exit(),d(e)}}p.reactions=[],p.notified=!1,m&&!p.rejection&&(r=h,o=p,v.call(g,function(){var e=o.value,t=ie(o);if(t&&(t=b(function(){C?M.emit("unhandledRejection",e,r):se(O,r,e)}),o.rejection=C||ie(o)?oe:k,t.error))throw t.value}))}))},se=function(e,t,r){var o;ee?((o=S.createEvent("Event")).promise=t,o.reason=r,o.initEvent(e,!1,!0),g.dispatchEvent(o)):o={promise:t,reason:r},(t=g["on"+e])?t(o):e===O&&Y("Unhandled promise rejection",r)},ie=function(e){return e.rejection!==k&&!e.parent},P=function(t,r,o,n){return function(e){t(r,o,e,n)}},R=function(e,t,r,o){t.done||(t.done=!0,(t=o?o:t).value=r,t.state=re,A(e,t,!0))},D=function(r,o,e,t){if(!o.done){o.done=!0,t&&(o=t);try{if(r===e)throw w("Promise can't be resolved itself");var n=ne(e);n?u(function(){var t={done:!1};try{n.call(e,P(D,r,t,o),P(R,r,t,o))}catch(e){R(r,t,e,o)}}):(o.value=e,o.state=L,A(r,o,!1))}catch(e){R(r,{done:!1},e,o)}}};e&&(x=function(e){z(this,x,j),c(e),r.call(this);var t=_(this);try{e(P(D,this,t),P(R,this,t))}catch(e){R(this,t,e)}},(r=function(e){K(this,{type:j,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=F(x.prototype,{then:function(e,t){var r=J(this),o=T(X(this,x));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=C?M.domain:void 0,r.parent=!0,r.reactions.push(o),0!=r.state&&A(this,r,!1),o.promise},catch:function(e){return this.then(void 0,e)}}),t=function(){var e=new r,t=_(e);this.promise=e,this.resolve=P(D,e,t),this.reject=P(R,e,t)},h.f=T=function(e){return e===x||e===o?new t:$(e)},i||"function"!=typeof l||(n=l.prototype.then,N(l.prototype,"then",function(e,t){var r=this;return new x(function(e,t){n.call(r,e,t)}).then(e,t)},{unsafe:!0}),"function"==typeof E&&s({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return f(x,E.apply(g,arguments))}}))),s({global:!0,wrap:!0,forced:e},{Promise:x}),B(x,j,!1,!0),G(j),o=a(j),s({target:j,stat:!0,forced:e},{reject:function(e){var t=T(this);return t.reject.call(void 0,e),t.promise}}),s({target:j,stat:!0,forced:i||e},{resolve:function(e){return f(i&&this===o?x:this,e)}}),s({target:j,stat:!0,forced:m},{all:function(e){var a=this,t=T(a),l=t.resolve,u=t.reject,r=b(function(){var o=c(a.resolve),n=[],s=0,i=1;d(e,function(e){var t=s++,r=!1;n.push(void 0),i++,o.call(a,e).then(function(e){r||(r=!0,n[t]=e,--i||l(n))},u)}),--i||l(n)});return r.error&&u(r.value),t.promise},race:function(e){var r=this,o=T(r),n=o.reject,t=b(function(){var t=c(r.resolve);d(e,function(e){t.call(r,e).then(o.resolve,n)})});return t.error&&n(t.value),o.promise}})},{"../internals/a-function":5,"../internals/an-instance":9,"../internals/check-correctness-of-iteration":27,"../internals/classof-raw":28,"../internals/engine-v8-version":48,"../internals/export":50,"../internals/get-built-in":56,"../internals/global":59,"../internals/host-report-errors":62,"../internals/inspect-source":68,"../internals/internal-state":70,"../internals/is-forced":73,"../internals/is-object":74,"../internals/is-pure":75,"../internals/iterate":77,"../internals/microtask":81,"../internals/native-promise-constructor":82,"../internals/new-promise-capability":86,"../internals/perform":105,"../internals/promise-resolve":106,"../internals/redefine":108,"../internals/redefine-all":107,"../internals/set-species":116,"../internals/set-to-string-tag":117,"../internals/species-constructor":121,"../internals/task":128,"../internals/well-known-symbol":146}],179:[function(e,t,r){var o=e("../internals/export"),n=e("../internals/get-built-in"),s=e("../internals/a-function"),i=e("../internals/an-object"),a=e("../internals/is-object"),l=e("../internals/object-create"),u=e("../internals/function-bind"),e=e("../internals/fails"),c=n("Reflect","construct"),d=e(function(){function e(){}return!(c(function(){},[],e)instanceof e)}),f=!e(function(){c(function(){})}),n=d||f;o({target:"Reflect",stat:!0,forced:n,sham:n},{construct:function(e,t){s(e),i(t);var r=arguments.length<3?e:s(arguments[2]);if(f&&!d)return c(e,t,r);if(e==r){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}o=r.prototype,r=l(a(o)?o:Object.prototype),o=Function.apply.call(e,r,t);return a(o)?o:r}})},{"../internals/a-function":5,"../internals/an-object":10,"../internals/export":50,"../internals/fails":51,"../internals/function-bind":55,"../internals/get-built-in":56,"../internals/is-object":74,"../internals/object-create":90}],180:[function(e,t,r){var o=e("../internals/descriptors"),n=e("../internals/global"),s=e("../internals/is-forced"),i=e("../internals/inherit-if-required"),a=e("../internals/object-define-property").f,l=e("../internals/object-get-own-property-names").f,u=e("../internals/is-regexp"),c=e("../internals/regexp-flags"),d=e("../internals/regexp-sticky-helpers"),f=e("../internals/redefine"),h=e("../internals/fails"),p=e("../internals/internal-state").set,m=e("../internals/set-species"),y=e("../internals/well-known-symbol")("match"),g=n.RegExp,v=g.prototype,b=/a/g,j=/a/g,_=new g(b)!==b,x=d.UNSUPPORTED_Y;if(o&&s("RegExp",!_||x||h(function(){return j[y]=!1,g(b)!=b||g(j)==j||"/a/i"!=g(b,"i")}))){for(var w=function(e,t){var r,o=this instanceof w,n=u(e),s=void 0===t;if(!o&&n&&e.constructor===w&&s)return e;_?n&&!s&&(e=e.source):e instanceof w&&(s&&(t=c.call(e)),e=e.source),x&&(r=!!t&&-1M;)!function(t){t in w||a(w,t,{configurable:!0,get:function(){return g[t]},set:function(e){g[t]=e}})}(S[M++]);(v.constructor=w).prototype=v,f(n,"RegExp",w)}m("RegExp")},{"../internals/descriptors":43,"../internals/fails":51,"../internals/global":59,"../internals/inherit-if-required":67,"../internals/internal-state":70,"../internals/is-forced":73,"../internals/is-regexp":76,"../internals/object-define-property":92,"../internals/object-get-own-property-names":95,"../internals/redefine":108,"../internals/regexp-flags":111,"../internals/regexp-sticky-helpers":112,"../internals/set-species":116,"../internals/well-known-symbol":146}],181:[function(e,t,r){"use strict";var o=e("../internals/export"),e=e("../internals/regexp-exec");o({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},{"../internals/export":50,"../internals/regexp-exec":110}],182:[function(e,t,r){"use strict";var o=e("../internals/redefine"),n=e("../internals/an-object"),s=e("../internals/fails"),i=e("../internals/regexp-flags"),e="toString",a=RegExp.prototype,l=a[e],s=s(function(){return"/a/b"!=l.call({source:"a",flags:"b"})}),u=l.name!=e;(s||u)&&o(RegExp.prototype,e,function(){var e=n(this),t=String(e.source),r=e.flags;return"/"+t+"/"+String(void 0===r&&e instanceof RegExp&&!("flags"in a)?i.call(e):r)},{unsafe:!0})},{"../internals/an-object":10,"../internals/fails":51,"../internals/redefine":108,"../internals/regexp-flags":111}],183:[function(e,t,r){"use strict";var o=e("../internals/collection"),e=e("../internals/collection-strong");t.exports=o("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},e)},{"../internals/collection":32,"../internals/collection-strong":30}],184:[function(e,t,r){"use strict";var o=e("../internals/export"),n=e("../internals/object-get-own-property-descriptor").f,s=e("../internals/to-length"),i=e("../internals/not-a-regexp"),a=e("../internals/require-object-coercible"),l=e("../internals/correct-is-regexp-logic"),e=e("../internals/is-pure"),u="".endsWith,c=Math.min,l=l("endsWith");o({target:"String",proto:!0,forced:!!(e||l||(!(o=n(String.prototype,"endsWith"))||o.writable))&&!l},{endsWith:function(e){var t=String(a(this)),r=(i(e),1=t.length?{value:void 0,done:!0}:(t=o(t,r),e.index+=t.length,{value:t,done:!1})})},{"../internals/define-iterator":41,"../internals/internal-state":70,"../internals/string-multibyte":123}],187:[function(e,t,r){"use strict";var o=e("../internals/fix-regexp-well-known-symbol-logic"),c=e("../internals/an-object"),d=e("../internals/to-length"),n=e("../internals/require-object-coercible"),f=e("../internals/advance-string-index"),h=e("../internals/regexp-exec-abstract");o("match",1,function(o,l,u){return[function(e){var t=n(this),r=null==e?void 0:e[o];return void 0!==r?r.call(e,t):new RegExp(e)[o](String(t))},function(e){var t=u(l,e,this);if(t.done)return t.value;var r=c(e),o=String(this);if(!r.global)return h(r,o);for(var n=r.unicode,s=[],i=r.lastIndex=0;null!==(a=h(r,o));){var a=String(a[0]);""===(s[i]=a)&&(r.lastIndex=f(o,d(r.lastIndex),n)),i++}return 0===i?null:s}]})},{"../internals/advance-string-index":8,"../internals/an-object":10,"../internals/fix-regexp-well-known-symbol-logic":52,"../internals/regexp-exec-abstract":109,"../internals/require-object-coercible":113,"../internals/to-length":134}],188:[function(e,t,r){e("../internals/export")({target:"String",proto:!0},{repeat:e("../internals/string-repeat")})},{"../internals/export":50,"../internals/string-repeat":125}],189:[function(e,t,r){"use strict";var o=e("../internals/fix-regexp-well-known-symbol-logic"),M=e("../internals/an-object"),E=e("../internals/to-object"),T=e("../internals/to-length"),C=e("../internals/to-integer"),s=e("../internals/require-object-coercible"),O=e("../internals/advance-string-index"),L=e("../internals/regexp-exec-abstract"),k=Math.max,A=Math.min,P=Math.floor,R=/\$([$&'`]|\d\d?|<[^>]*>)/g,D=/\$([$&'`]|\d\d?)/g;o("replace",2,function(n,j,_,e){var x=e.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,w=e.REPLACE_KEEPS_$0,S=x?"$":"$0";return[function(e,t){var r=s(this),o=null==e?void 0:e[n];return void 0!==o?o.call(e,r,t):j.call(String(r),e,t)},function(e,t){if(!x&&w||"string"==typeof t&&-1===t.indexOf(S)){var r=_(j,e,this,t);if(r.done)return r.value}for(var o,n=M(e),s=String(this),i="function"==typeof t,a=(i||(t=String(t)),n.global),l=(a&&(o=n.unicode,n.lastIndex=0),[]);null!==(h=L(n,s))&&(l.push(h),a);)""===String(h[0])&&(n.lastIndex=O(s,T(n.lastIndex),o));for(var u,c="",d=0,f=0;f>>0;if(0==o)return[];if(void 0===e)return[r];if(!c(e))return p.call(r,e,o);for(var n,s,i,a=[],t=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),l=0,u=new RegExp(e.source,t+"g");(n=f.call(u,r))&&!(l<(s=u.lastIndex)&&(a.push(r.slice(l,n.index)),1=o));)u.lastIndex===n.index&&u.lastIndex++;return l===r.length?!i&&u.test("")||a.push(""):a.push(r.slice(l)),a.length>o?a.slice(0,o):a}:"0".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:p.call(this,e,t)}:p;return[function(e,t){var r=d(this),o=null==e?void 0:e[n];return void 0!==o?o.call(e,r,t):y.call(String(r),e,t)},function(e,t){var r=m(y,e,this,t,y!==p);if(r.done)return r.value;var r=g(e),o=String(this),e=v(r,RegExp),n=r.unicode,s=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(S?"y":"g"),i=new e(S?r:"^(?:"+r.source+")",s),a=void 0===t?w:t>>>0;if(0==a)return[];if(0===o.length)return null===_(i,o)?[o]:[];for(var l=0,u=0,c=[];ue.key){o.splice(t,0,e);break}t===s&&o.push(e)}r.updateURL()},forEach:function(e){for(var t,r=k(this).entries,o=v(e,16)return;a=0;while(f()){l=null;if(a>0)if(f()=="."&&a<4)n++;else return;if(!x.test(f()))return;while(x.test(f())){u=parseInt(f(),10);if(l===null)l=u;else if(l==0)return;else l=l*10+u;if(l>255)return;n++}t[r]=t[r]*256+l;a++;if(a==2||a==4)r++}if(a!=4)return;break}else if(f()==":"){n++;if(!f())return}else if(f())return;t[r++]=s}if(o!==null){c=r-o;r=7;while(r!=0&&c>0){d=t[r];t[r--]=t[o+c-1];t[o+--c]=d}}else if(r!=8)return;return t}(t.slice(1,-1)))?void(e.host=r):_;if(C(e))return t=z(t),ne.test(t)||null===(r=function(e){var t=e.split("."),r,o,n,s,i,a,l;if(t.length&&t[t.length-1]=="")t.pop();if((r=t.length)>4)return e;for(o=[],n=0;n1&&s.charAt(0)=="0"){i=ee.test(s)?16:8;s=s.slice(i==8?1:2)}if(s==="")a=0;else{if(!(i==10?re:i==8?te:oe).test(s))return e;a=parseInt(s,i)}o.push(a)}for(n=0;n=Z(256,5-r))return null}else if(a>255)return null}for(l=o.pop(),n=0;n":1,"`":1}),ce=d({},ue,{"#":1,"?":1,"{":1,"}":1}),M=d({},ce,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),E=function(e,t){var r=V(e,0);return 32f,applyPalette:()=>function(e,t,r="rgb565"){if(!e||!e.buffer)throw new Error("quantize() expected RGBA Uint8Array data");if(!(e instanceof Uint8Array||e instanceof Uint8ClampedArray))throw new Error("quantize() expected RGBA Uint8Array data");if(256>24&255,c=l>>16&255,d=l>>8&255,l=255&l,f=k(l,d,c,u),f=f in a?a[f]:a[f]=function(t,r,o,n,s){let i=0,a=1e100;for(let e=0;ea||(l=u[0],(c+=v(l-t))>a||(l=u[1],(c+=v(l-r))>a||(l=u[2],(c+=v(l-o))>a||(a=c,i=e))))}return i}(l,d,c,u,t);i[e]=f}else{const g="rgb444"===r?A:L;for(let e=0;e>16&255,m=h>>8&255,h=255&h,y=g(h,m,p),y=y in a?a[y]:a[y]=function(t,r,o,n){let s=0,i=1e100;for(let e=0;ei||(a=l[1],(u+=v(a-r))>i||(a=l[2],(u+=v(a-o))>i||(i=u,s=e)))}return s}(h,m,p,t);i[e]=y}}return i},default:()=>h,nearestColor:()=>function(e,t,r=u){return e[l(e,t,r)]},nearestColorIndex:()=>l,nearestColorIndexWithDistance:()=>d,prequantize:()=>function(e,{roundRGB:r=5,roundAlpha:o=10,oneBitAlpha:n=null}={}){const s=new Uint32Array(e.buffer);for(let t=0;t>24&255;var a,l=i>>16&255,u=i>>8&255,i=255&i;e=c(e,o),n&&(a="number"==typeof n?n:127,e=e<=a?0:255),i=c(i,r),u=c(u,r),l=c(l,r),s[t]=e<<24|l<<16|u<<8|i<<0}},quantize:()=>function(e,t,r={}){var{format:o="rgb565",clearAlpha:n=!0,clearAlphaColor:s=0,clearAlphaThreshold:i=0,oneBitAlpha:a=!1}=r;if(!e||!e.buffer)throw new Error("quantize() expected RGBA Uint8Array data");if(!(e instanceof Uint8Array||e instanceof Uint8ClampedArray))throw new Error("quantize() expected RGBA Uint8Array data");e=new Uint32Array(e.buffer);let l=!1!==r.useSqrt;const u="rgba4444"===o,c=function(r,e){const t="rgb444"===e?4096:65536,o=new Array(t),n=r.length;if("rgba4444"===e)for(let t=0;t>24&255,a=s>>16&255,l=s>>8&255,s=255&s,u=k(s,l,a,i);let e=u in o?o[u]:o[u]=I();e.rc+=s,e.gc+=l,e.bc+=a,e.ac+=i,e.cnt++}else if("rgb444"===e)for(let t=0;t>16&255,f=c>>8&255,c=255&c,h=A(c,f,d);let e=h in o?o[h]:o[h]=I();e.rc+=c,e.gc+=f,e.bc+=d,e.cnt++}else for(let t=0;t>16&255,y=p>>8&255,p=255&p,g=L(p,y,m);let e=g in o?o[g]:o[g]=I();e.rc+=p,e.gc+=y,e.bc+=m,e.cnt++}return o}(e,o),d=c.length,f=d-1,h=new Uint32Array(d+1);for(var p=0,m=0;m>1,!(c[y=h[v]].err<=b));g=v)h[g]=y;h[g]=m}var j,_=p-t;for(m=0;m<_;){for(;;){var x=h[1];if((j=c[x]).tm>=j.mtm&&c[j.nn].mtm<=j.tm)break;j.mtm==f?x=h[1]=h[h[0]--]:(D(c,x,!1),j.tm=m);b=c[x].err;for(g=1;(v=g+g)<=h[0]&&(vc[h[v+1]].err&&v++,!(b<=c[y=h[v]].err));g=v)h[g]=y;h[g]=x}var w=c[j.nn],S=j.cnt,M=w.cnt,E=1/(S+M);u&&(j.ac=E*(S*j.ac+M*w.ac)),j.rc=E*(S*j.rc+M*w.rc),j.gc=E*(S*j.gc+M*w.gc),j.bc=E*(S*j.bc+M*w.bc),j.cnt+=w.cnt,j.mtm=++m,c[w.bk].fw=w.fw,c[w.fw].bk=w.bk,w.mtm=f}let T=[];for(m=0;;0){let e=P(Math.round(c[m].rc),0,255),t=P(Math.round(c[m].gc),0,255),r=P(Math.round(c[m].bc),0,255),o=255;u&&(o=P(Math.round(c[m].ac),0,255),a&&(C="number"==typeof a?a:127,o=o<=C?0:255),n&&o<=i&&(e=t=r=s,o=0));var C=u?[e,t,r,o]:[e,t,r];if(function(t,r){for(let e=0;efunction(r,o,e=5){if(r.length&&o.length){var n=r.map(e=>e.slice(0,3)),s=e*e,i=r[0].length;for(let t=0;ti?e.slice(0,3):e.slice();var a=d(n,e.slice(0,3),u),l=a[0],a=a[1];0>>0),0!=t&&(e=Math.max(e,256));const r=s;s=new Uint8Array(e),0>=8,c-=8;if((v>m||h)&&(h?(p=f,m=(1<>=8,c-=8;0>3}function k(e,t,r,o){return e>>4|240&t|(240&r)<<4|(240&o)<<8}function A(e,t,r){return e>>4<<8|240&t|r>>4}function P(e,t,r){return e>8&255)}function O(e,t){for(var r=0;r>1,c=-7,d=r?n-1:0,f=r?-1:1,n=e[t+d];for(d+=f,s=n&(1<<-c)-1,n>>=-c,c+=a;0>=-c,c+=o;0>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,f=o?0:s-1,h=o?1:-1,s=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(o=Math.pow(2,-i))<1&&(i--,o*=2),2<=(t+=1<=i+c?d/o:d*Math.pow(2,1-c))*o&&(i++,o/=2),u<=i+c?(a=0,i=u):1<=i+c?(a=(t*o-1)*Math.pow(2,n),i+=c):(a=t*Math.pow(2,c-1)*Math.pow(2,n),i=0));8<=n;e[r+f]=255&a,f+=h,a/=256,n-=8);for(i=i<Math.abs(e[0])&&(t=1),t=Math.abs(e[2])>Math.abs(e[t])?2:t}function T(e,t){e.f+=t.f,e.b.f+=t.b.f}function f(e,t,r){return e=e.a,t=t.a,r=r.a,t.b.a===e?r.b.a===e?g(t.a,r.a)?b(r.b.a,t.a,r.a)<=0:0<=b(t.b.a,r.a,t.a):b(r.b.a,e,r.a)<=0:r.b.a===e?0<=b(t.b.a,e,t.a):(t=v(t.b.a,e,t.a),(e=v(r.b.a,e,r.a))<=t)}function C(e){e.a.i=null;var t=e.e;t.a.c=t.c,t.c.a=t.a,e.e=null}function O(e,t){m(e.a),e.c=!1,(e.a=t).i=e}function L(e){for(var t=e.a.a;(e=G(e)).a.a===t;);return e.c&&(O(e,t=S(B(e).a.b,e.a.e)),e=G(e)),e}function q(e,t,r){var o=new F;return o.a=r,o.e=p(e.f,t.e,o),r.i=o}function X(e,t){switch(e.s){case 100130:return 0!=(1&t);case 100131:return 0!==t;case 100132:return 0>1]],a[i[u]])?N:ue)(r,u),a[s]=null,l[s]=r.b,r.b=s}else for(r.c[-(s+1)]=null;0Math.max(i.a,l.a))){if(g(s,i)){if(0r.f&&(r.f*=2,r.c=ae(r.c,r.f+1)),0===r.b?n=o:(n=r.b,r.b=r.c[r.b]),r.e[n]=t,r.c[n]=o,r.d[o]=n,r.h&&ue(r,o),n):(r=e.a++,e.c[r]=t,-(r+1))}function se(e){if(0===e.a)return le(e.b);var t=e.c[e.d[e.a-1]];if(0!==e.b.a&&g(U(e.b),t))return le(e.b);for(;--e.a,0e.a||g(o[i],o[l])){n[r[s]=i]=s;break}n[r[s]=l]=s,s=a}}function ue(e,t){for(var r=e.d,o=e.e,n=e.c,s=t,i=r[s];;){var a=s>>1,l=r[a];if(0==a||g(o[l],o[i])){n[r[s]=i]=s;break}n[r[s]=l]=s,s=a}}function F(){this.e=this.a=null,this.f=0,this.c=this.b=this.h=this.d=!1}function B(e){return e.e.c.b}function G(e){return e.e.a.b}(t=r.prototype).x=function(){D(this,0)},t.B=function(e,t){switch(e){case 100142:return;case 100140:switch(t){case 100130:case 100131:case 100132:case 100133:case 100134:return void(this.s=t)}break;case 100141:return void(this.m=!!t);default:return void l(this,100900)}l(this,100901)},t.y=function(e){switch(e){case 100142:return 0;case 100140:return this.s;case 100141:return this.m;default:l(this,100900)}return!1},t.A=function(e,t,r){this.j[0]=e,this.j[1]=t,this.j[2]=r},t.z=function(e,t){var r=t||null;switch(e){case 100100:case 100106:this.h=r;break;case 100104:case 100110:this.l=r;break;case 100101:case 100107:this.k=r;break;case 100102:case 100108:this.i=r;break;case 100103:case 100109:this.p=r;break;case 100105:case 100111:this.o=r;break;case 100112:this.r=r;break;default:l(this,100900)}},t.C=function(e,t){var r=!1,o=[0,0,0];D(this,2);for(var n=0;n<3;++n){var s=e[n];s<-1e150&&(s=-1e150,r=!0),1e150o[u]&&(o[u]=c,n[u]=r)}if(o[1]-a[1]>o[r=0]-a[0]&&(r=1),a[r=o[2]-a[2]>o[r]-a[r]?2:r]>=o[r])i[0]=0,i[1]=0,i[2]=1;else{for(a=l[r],n=n[r],l=[o=0,0,0],a=[a.g[0]-n.g[0],a.g[1]-n.g[1],a.g[2]-n.g[2]],u=[0,0,0],r=s.e;r!==s;r=r.e)u[0]=r.g[0]-n.g[0],u[1]=r.g[1]-n.g[1],u[2]=r.g[2]-n.g[2],l[0]=a[1]*u[2]-a[2]*u[1],l[1]=a[2]*u[0]-a[0]*u[2],l[2]=a[0]*u[1]-a[1]*u[0],o<(c=l[0]*l[0]+l[1]*l[1]+l[2]*l[2])&&(o=c,i[0]=l[0],i[1]=l[1],i[2]=l[2]);o<=0&&(i[0]=i[1]=i[2]=0,i[W(a)]=1)}s=!0}for(l=W(i),r=this.b.c,o=(l+1)%3,n=(l+2)%3,l=0>=1;)++n;if(i=1<>8&255,g[v++]=255&t,g[v++]=t>>8&255,g[v++]=(null!==b?128:0)|n,g[v++]=s,g[v++]=0,null!==b)for(var a=0,l=b.length;a>16&255,g[v++]=u>>8&255,g[v++]=255&u}if(null!==o){if(o<0||65535>8&255,g[v++]=0}var _=!1;this.addFrame=function(e,t,r,o,n,s){if(!0===_&&(--v,_=!1),s=void 0===s?{}:s,e<0||t<0||65535>=1;)++u;var l=1<>8&255,g[v++]=h,g[v++]=0),g[v++]=44,g[v++]=255&e,g[v++]=e>>8&255,g[v++]=255&t,g[v++]=t>>8&255,g[v++]=255&r,g[v++]=r>>8&255,g[v++]=255&o,g[v++]=o>>8&255,g[v++]=!0===i?128|u-1:0,!0===i)for(var p=0,m=a.length;p>16&255,g[v++]=y>>8&255,g[v++]=255&y}return v=function(t,r,e,o){t[r++]=e;var n=r++,s=1<>=8,c-=8,r===n+256&&(t[n]=255,n=r++)}function h(e){d|=e<>=8,c-=8,r===n+256&&(t[n]=255,n=r++);4096===l?(h(s),l=1+a,u=e+1,m={}):(1<>=l,c-=l,y==s)a=1+i,u=(1<<(l=n+1))-1,m=null;else{if(y==i)break;for(var g=y>8,++v;var j=b;if(o>=8;null!==m&&a<4096&&(p[a++]=m<<8|j,u+1<=a&&l<12&&(++l,u=u<<1|1)),m=y}}f!==o&&console.log("Warning, gif stream shorter than expected.")}try{r.GifWriter=o,r.GifReader=function(b){var e=0;if(71!==b[e++]||73!==b[e++]||70!==b[e++]||56!==b[e++]||56!=(b[e++]+1&253)||97!==b[e++])throw new Error("Invalid GIF 87a/89a header.");var j=b[e++]|b[e++]<<8,t=b[e++]|b[e++]<<8,r=b[e++],o=1<<1+(7&r),n=(b[e++],b[e++],null),s=null,i=(r>>7&&(n=e,e+=3*(s=o)),!0),a=[],l=0,u=null,c=0,d=null;for(this.width=j,this.height=t;i&&e>2&7,e++;break;case 254:for(;;){if(!(0<=(h=b[e++])))throw Error("Invalid block size");if(0===h)break;e+=h}break;default:throw new Error("Unknown graphic control label: 0x"+b[e-1].toString(16))}break;case 44:var h,p=b[e++]|b[e++]<<8,m=b[e++]|b[e++]<<8,y=b[e++]|b[e++]<<8,g=b[e++]|b[e++]<<8,v=b[e++],_=v>>6&1,x=1<<1+(7&v),w=n,S=s,M=!1,v=(v>>7&&(M=!0,w=e,e+=3*(S=x)),e);for(e++;;){if(!(0<=(h=b[e++])))throw Error("Invalid block size");if(0===h)break;e+=h}a.push({x:p,y:m,width:y,height:g,has_local_palette:M,palette_offset:w,palette_size:S,data_offset:v,data_length:e-v,transparent_index:u,interlaced:!!_,delay:l,disposal:c});break;case 59:i=!1;break;default:throw new Error("Unknown gif block: 0x"+b[e-1].toString(16))}this.numFrames=function(){return a.length},this.loopCount=function(){return d},this.frameInfo=function(e){if(e<0||e>=a.length)throw new Error("Frame index out of range.");return a[e]},this.decodeAndBlitFrameBGRA=function(e,t){for(var e=this.frameInfo(e),r=e.width*e.height,o=new Uint8Array(r),n=(E(b,e.data_offset,o,r),e.palette_offset),s=e.transparent_index,i=(null===s&&(s=256),e.width),a=j-i,l=i,u=4*(e.y*j+e.x),c=4*((e.y+e.height)*j+e.x),d=u,f=4*a,h=(!0===e.interlaced&&(f+=4*j*7),8),p=0,m=o.length;p>=1)),v===s?d+=4:(y=b[n+3*v],g=b[n+3*v+1],v=b[n+3*v+2],t[d++]=v,t[d++]=g,t[d++]=y,t[d++]=255),--l}},this.decodeAndBlitFrameRGBA=function(e,t){for(var e=this.frameInfo(e),r=e.width*e.height,o=new Uint8Array(r),n=(E(b,e.data_offset,o,r),e.palette_offset),s=e.transparent_index,i=(null===s&&(s=256),e.width),a=j-i,l=i,u=4*(e.y*j+e.x),c=4*((e.y+e.height)*j+e.x),d=u,f=4*a,h=(!0===e.interlaced&&(f+=4*j*7),8),p=0,m=o.length;p>=1)),v===s?d+=4:(y=b[n+3*v],g=b[n+3*v+1],v=b[n+3*v+2],t[d++]=y,t[d++]=g,t[d++]=v,t[d++]=255),--l}}}}catch(e){}},{}],241:[function(Ar,r,o){!function(kr){var e,t;e=this,t=function(j){"use strict";function I(e){if(null==this)throw TypeError();var t,r=String(this),o=r.length,e=e?Number(e):0;if(!((e=e!=e?0:e)<0||o<=e))return 55296<=(t=r.charCodeAt(e))&&t<=56319&&e+1>>16-t;return e.tag>>>=t,e.bitcount-=t,o+r}function $(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,r+=t.table[++n],0<=(o-=t.table[n]););return e.tag=s,e.bitcount-=n,t.trans[r+o]}function ee(e,t,r){for(;;){var o=$(e,t);if(256===o)return N;if(o<256)e.dest[e.destLen++]=o;else for(var n,s=b(e,H[o-=257],W[o]),o=$(e,r),i=n=e.destLen-b(e,q[o],X[o]);i>>=1,o=n,b(s,2,0)){case 0:r=function(e){for(var t,r;8this.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))},a.prototype.addX=function(e){this.addPoint(e,null)},a.prototype.addY=function(e){this.addPoint(null,e)},a.prototype.addBezier=function(e,t,r,o,n,s,i,a){var l=[e,t],u=[r,o],c=[n,s],d=[i,a];this.addPoint(e,t),this.addPoint(i,a);for(var f=0;f<=1;f++){var h,p=6*l[f]-12*u[f]+6*c[f],m=-3*l[f]+9*u[f]-9*c[f]+3*d[f],y=3*u[f]-3*l[f];0==m?0==p||0<(h=-y/p)&&h<1&&(0===f&&this.addX(g(l[f],u[f],c[f],d[f],h)),1===f&&this.addY(g(l[f],u[f],c[f],d[f],h))):(h=Math.pow(p,2)-4*y*m)<0||(0<(y=(-p+Math.sqrt(h))/(2*m))&&y<1&&(0===f&&this.addX(g(l[f],u[f],c[f],d[f],y)),1===f&&this.addY(g(l[f],u[f],c[f],d[f],y))),0<(y=(-p-Math.sqrt(h))/(2*m))&&y<1&&(0===f&&this.addX(g(l[f],u[f],c[f],d[f],y)),1===f&&this.addY(g(l[f],u[f],c[f],d[f],y))))}},a.prototype.addQuad=function(e,t,r,o,n,s){r=e+2/3*(r-e),o=t+2/3*(o-t);this.addBezier(e,t,r,o,r+1/3*(n-e),o+1/3*(s-t),n,s)},f.prototype.moveTo=function(e,t){this.commands.push({type:"M",x:e,y:t})},f.prototype.lineTo=function(e,t){this.commands.push({type:"L",x:e,y:t})},f.prototype.curveTo=f.prototype.bezierCurveTo=function(e,t,r,o,n,s){this.commands.push({type:"C",x1:e,y1:t,x2:r,y2:o,x:n,y:s})},f.prototype.quadTo=f.prototype.quadraticCurveTo=function(e,t,r,o){this.commands.push({type:"Q",x1:e,y1:t,x:r,y:o})},f.prototype.close=f.prototype.closePath=function(){this.commands.push({type:"Z"})},f.prototype.extend=function(e){var t;if(e.commands)e=e.commands;else if(e instanceof a)return t=e,this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),void this.close();Array.prototype.push.apply(this.commands,e)},f.prototype.getBoundingBox=function(){for(var e=new a,t=0,r=0,o=0,n=0,s=0;s>8&255,255&e]},l.USHORT=r(2),w.SHORT=function(e){return[(e=32768<=e?-(65536-e):e)>>8&255,255&e]},l.SHORT=r(2),w.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},l.UINT24=r(3),w.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},l.ULONG=r(4),w.LONG=function(e){return[(e=2147483648<=e?-(4294967296-e):e)>>24&255,e>>16&255,e>>8&255,255&e]},l.LONG=r(4),w.FIXED=w.ULONG,l.FIXED=l.ULONG,w.FWORD=w.SHORT,l.FWORD=l.SHORT,w.UFWORD=w.USHORT,l.UFWORD=l.USHORT,w.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},l.LONGDATETIME=r(8),w.TAG=function(e){return P.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},l.TAG=r(4),w.Card8=w.BYTE,l.Card8=l.BYTE,w.Card16=w.USHORT,l.Card16=l.USHORT,w.OffSize=w.BYTE,l.OffSize=l.BYTE,w.SID=w.USHORT,l.SID=l.USHORT,w.NUMBER=function(e){return-107<=e&&e<=107?[e+139]:108<=e&&e<=1131?[247+((e-=108)>>8),255&e]:-1131<=e&&e<=-108?[251+((e=-e-108)>>8),255&e]:-32768<=e&&e<=32767?w.NUMBER16(e):w.NUMBER32(e)},l.NUMBER=function(e){return w.NUMBER(e).length},w.NUMBER16=function(e){return[28,e>>8&255,255&e]},l.NUMBER16=r(3),w.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},l.NUMBER32=r(5),w.REAL=function(e){for(var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t),o=(r&&(r=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length)),t=(Math.round(e*r)/r).toString()),""),n=0,s=t.length;n>8&255,t[t.length]=255&o}return t},l.UTF16=function(e){return 2*e.length};var se,ie={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"},ae=(m.MACSTRING=function(e,t,r,o){var n=ie[o];if(void 0!==n){for(var s="",i=0;i>8&255,l+256&255)}return s})(e,t,r);return r},w.INDEX=function(e){for(var t=1,r=[t],o=[],n=0;n>8,t[c+1]=255&d,t=t.concat(o[u])}return t},l.TABLE=function(e){for(var t=0,r=e.fields.length,o=0;o>1,a.skip("uShort",3),y.glyphIndexMap={};for(var j,_=new R.Parser(g,v+b+14),x=new R.Parser(g,v+b+16+2*j),w=new R.Parser(g,v+b+16+4*j),S=new R.Parser(g,v+b+16+6*j),M=v+b+16+8*j,E=0;E>4,s=15&s;if(15==i)break;if(o+=n[i],15==s)break;o+=n[s]}return parseFloat(o)}if(32<=t&&t<=246)return t-139;if(247<=t&&t<=250)return 256*(t-247)+e.parseByte()+108;if(251<=t&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error("Invalid b0 "+t)}function De(e,t,r){var o=new R.Parser(e,t=void 0!==t?t:0),n=[],s=[];for(r=void 0!==r?r:e.length;o.relativeOffset>1,E.length=0,C=!0}return function e(t){for(var r,o,n,s,i,a,l,u,c,d,f,h,p=0;pMath.abs(h-k)?L=f+E.shift():k=h+E.shift(),M.curveTo(v,b,j,_,l,u),M.curveTo(c,d,f,h,L,k);break;default:console.log("Glyph "+g.index+": unknown operator 1200"+m),E.length=0}break;case 14:0>3;break;case 21:2>16),p+=2;break;case 29:i=E.pop()+y.gsubrsBias,(a=y.gsubrs[i])&&e(a);break;case 30:for(;0=r.begin&&e=c.length&&(s=o.parseChar(),r.names.push(o.parseString(s)));break;case 2.5:r.numberOfGlyphs=o.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var a=0;at.value.tag?1:-1}),t.fields=t.fields.concat(o),t.fields=t.fields.concat(n),t}function xt(e,t,r){for(var o=0;o 123 are reserved for internal usage");h|=1<>>1,s=e[n].tag;if(s===t)return n;s>>1,s=e[n];if(s===t)return n;s>>1,i=(n=e[s]).start;if(i===t)return n;i(n=e[r-1]).end?0:n}function Tt(e,t){this.font=e,this.tableName=t}function Ct(e){Tt.call(this,e,"gpos")}function i(e){Tt.call(this,e,"gsub")}function Ot(e,t,r){for(var o=e.subtables,n=0;nt.points.length-1||o.matchedPoints[1]>n.points.length-1)throw Error("Matched points out of range in "+t.name);var i=t.points[o.matchedPoints[0]],a=n.points[o.matchedPoints[1]],o={xScale:o.xScale,scale01:o.scale01,scale10:o.scale10,yScale:o.yScale,dx:0,dy:0},a=Pt([a],o)[0];o.dx=i.x-a.x,o.dy=i.y-a.y,s=Pt(n.points,o)}t.points=t.points.concat(s)}}return Rt(t.points)}(Ct.prototype=Tt.prototype={searchTag:St,binSearch:Mt,getTable:function(e){var t=this.font.tables[this.tableName];return t=!t&&e?this.font.tables[this.tableName]=this.createDefaultTable():t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(e){return e.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r=i[t-1].tag,"Features must be added in alphabetical order."),i.push(n={tag:r,feature:{params:0,lookupListIndexes:[]}}),s.push(t),n.feature}},getLookupTables:function(e,t,r,o,n){var e=this.getFeatureTable(e,t,r,n),s=[];if(e){for(var i,a=e.lookupListIndexes,l=this.font.tables[this.tableName].lookups,u=0;u",s),t.stack.push(Math.round(64*s))}function fr(e,t){var r=t.stack,o=r.pop(),n=t.fv,s=t.pv,i=t.ppem,a=t.deltaBase+16*(e-1),l=t.deltaShift,u=t.z0;j.DEBUG&&console.log(t.step,"DELTAP["+e+"]",o,r);for(var c=0;c>4)===i&&(0<=(f=(15&f)-8)&&f++,j.DEBUG&&console.log(t.step,"DELTAPFIX",d,"by",f*l),d=u[d],n.setRelative(d,d,f*l,s))}}function hr(e,t){var r=t.stack,o=r.pop();j.DEBUG&&console.log(t.step,"ROUND[]"),r.push(64*t.round(o/64))}function pr(e,t){var r=t.stack,o=r.pop(),n=t.ppem,s=t.deltaBase+16*(e-1),i=t.deltaShift;j.DEBUG&&console.log(t.step,"DELTAC["+e+"]",o,r);for(var a=0;a>4)===n&&(0<=(u=(15&u)-8)&&u++,u=u*i,j.DEBUG&&console.log(t.step,"DELTACFIX",l,"by",u),t.cvt[l]+=u)}}function mr(e,t){var r,o=t.stack,n=o.pop(),o=o.pop(),s=t.z2[n],i=t.z1[o];j.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",n,o),n=e?(r=s.y-i.y,i.x-s.x):(r=i.x-s.x,i.y-s.y),t.dpv=qt(r,n)}function C(e,t){var r=t.stack,o=t.prog,n=t.ip;j.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var s=0;s":"_")+(o?"R":"_")+(0===n?"Gr":1===n?"Bl":2===n?"Wh":"")+"]",e?u+"("+s.cvt[u]+","+a+")":"",l,"(d =",i,"->",y*m,")"),s.rp1=s.rp0,s.rp2=l,t&&(s.rp0=l)}Ut.prototype.exec=function(e,t){if("number"!=typeof t)throw new Error("Point size is not a number!");if(!(2",o),a.interpolate(d,s,i,l),a.touch(d)}e.loop=1},lr.bind(void 0,0),lr.bind(void 0,1),function(e){for(var t=e.stack,r=e.rp0,o=e.z0[r],n=e.loop,s=e.fv,i=e.pv,a=e.z1;n--;){var l=t.pop(),u=a[l];j.DEBUG&&console.log(e.step,(1'.concat(n,"").concat(t,""),this.dummyDOM||(this.dummyDOM=document.getElementById(o).parentNode),this.descriptions?this.descriptions.fallbackElements||(this.descriptions.fallbackElements={}):this.descriptions={fallbackElements:{}},this.descriptions.fallbackElements[e]?this.descriptions.fallbackElements[e].innerHTML!==n&&(this.descriptions.fallbackElements[e].innerHTML=n):this._describeElementHTML("fallback",e,n),r===this.LABEL&&(this.descriptions.labelElements||(this.descriptions.labelElements={}),this.descriptions.labelElements[e]?this.descriptions.labelElements[e].innerHTML!==n&&(this.descriptions.labelElements[e].innerHTML=n):this._describeElementHTML("label",e,n)))},s.default.prototype._describeHTML=function(e,t){var r,o=this.canvas.id;"fallback"===e?(this.dummyDOM.querySelector("#".concat(o+i))?this.dummyDOM.querySelector("#"+o+l).insertAdjacentHTML("beforebegin",'

')):(r='

'),this.dummyDOM.querySelector("#".concat(o,"accessibleOutput"))?this.dummyDOM.querySelector("#".concat(o,"accessibleOutput")).insertAdjacentHTML("beforebegin",r):this.dummyDOM.querySelector("#".concat(o)).innerHTML=r),this.descriptions.fallback=this.dummyDOM.querySelector("#".concat(o).concat(a)),this.descriptions.fallback.innerHTML=t):"label"===e&&(this.dummyDOM.querySelector("#".concat(o+u))?this.dummyDOM.querySelector("#".concat(o+d))&&this.dummyDOM.querySelector("#".concat(o+d)).insertAdjacentHTML("beforebegin",'

')):(r='

'),this.dummyDOM.querySelector("#".concat(o,"accessibleOutputLabel"))?this.dummyDOM.querySelector("#".concat(o,"accessibleOutputLabel")).insertAdjacentHTML("beforebegin",r):this.dummyDOM.querySelector("#"+o).insertAdjacentHTML("afterend",r)),this.descriptions.label=this.dummyDOM.querySelector("#"+o+c),this.descriptions.label.innerHTML=t)},s.default.prototype._describeElementHTML=function(e,t,r){var o,n=this.canvas.id;"fallback"===e?(this.dummyDOM.querySelector("#".concat(n+i))?this.dummyDOM.querySelector("#"+n+l)||this.dummyDOM.querySelector("#"+n+a).insertAdjacentHTML("afterend",'
Canvas elements and their descriptions
')):(o='
Canvas elements and their descriptions
'),this.dummyDOM.querySelector("#".concat(n,"accessibleOutput"))?this.dummyDOM.querySelector("#".concat(n,"accessibleOutput")).insertAdjacentHTML("beforebegin",o):this.dummyDOM.querySelector("#"+n).innerHTML=o),(o=document.createElement("tr")).id=n+"_fte_"+t,this.dummyDOM.querySelector("#"+n+l).appendChild(o),this.descriptions.fallbackElements[t]=this.dummyDOM.querySelector("#".concat(n).concat("_fte_").concat(t)),this.descriptions.fallbackElements[t].innerHTML=r):"label"===e&&(this.dummyDOM.querySelector("#".concat(n+u))?this.dummyDOM.querySelector("#".concat(n+d))||this.dummyDOM.querySelector("#"+n+c).insertAdjacentHTML("afterend",'
')):(o='
'),this.dummyDOM.querySelector("#".concat(n,"accessibleOutputLabel"))?this.dummyDOM.querySelector("#".concat(n,"accessibleOutputLabel")).insertAdjacentHTML("beforebegin",o):this.dummyDOM.querySelector("#"+n).insertAdjacentHTML("afterend",o)),(e=document.createElement("tr")).id=n+"_lte_"+t,this.dummyDOM.querySelector("#"+n+d).appendChild(e),this.descriptions.labelElements[t]=this.dummyDOM.querySelector("#".concat(n).concat("_lte_").concat(t)),this.descriptions.labelElements[t].innerHTML=r)};e=s.default;r.default=e},{"../core/main":267,"core-js/modules/es.array.concat":149,"core-js/modules/es.regexp.exec":181,"core-js/modules/es.string.ends-with":184,"core-js/modules/es.string.replace":189}],248:[function(e,t,r){"use strict";e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.map"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.map"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;e=(e=e("../core/main"))&&e.__esModule?e:{default:e};e.default.prototype._updateGridOutput=function(e){var t,r,o,n;this.dummyDOM.querySelector("#".concat(e,"_summary"))&&(t=this._accessibleOutputs[e],o=function(e,t,r,o){t="".concat(t," canvas, ").concat(r," by ").concat(o," pixels, contains ").concat(e[0]);t=(1===e[0]?"".concat(t," shape: "):"".concat(t," shapes: ")).concat(e[1]);return t}((r=function(e,t){var r,o="",n="",s=0;for(r in t){var i,a=0;for(i in t[r]){var l='
  • ').concat(t[r][i].color," ").concat(r,",");"line"===r?l+=" location = ".concat(t[r][i].pos,", length = ").concat(t[r][i].length," pixels"):(l+=" location = ".concat(t[r][i].pos),"point"!==r&&(l+=", area = ".concat(t[r][i].area," %")),l+="
  • "),o+=l,a++,s++}n=1').concat(t[o][l].color," ").concat(o,"
    "):'').concat(t[o][l].color," ").concat(o," midpoint"),a[t[o][l].loc.locY][t[o][l].loc.locX]?a[t[o][l].loc.locY][t[o][l].loc.locX]=a[t[o][l].loc.locY][t[o][l].loc.locX]+" "+u:a[t[o][l].loc.locY][t[o][l].loc.locX]=u,s++}for(n in a){var c,d="";for(c in a[n])d+="",void 0!==a[n][c]&&(d+=a[n][c]),d+="";i=i+d+""}return i}(e,this.ingredients.shapes),o!==t.summary.innerHTML&&(t.summary.innerHTML=o),n!==t.map.innerHTML&&(t.map.innerHTML=n),r.details!==t.shapeDetails.innerHTML&&(t.shapeDetails.innerHTML=r.details),this._accessibleOutputs[e]=t)};e=e.default;r.default=e},{"../core/main":267,"core-js/modules/es.array.concat":149,"core-js/modules/es.array.map":161}],249:[function(e,t,r){"use strict";e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.fill"),e("core-js/modules/es.array.map"),e("core-js/modules/es.number.to-fixed"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.fill"),e("core-js/modules/es.array.map"),e("core-js/modules/es.number.to-fixed"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=(e=e("../core/main"))&&e.__esModule?e:{default:e};function l(e,t,r){return e[0]<.4*t?e[1]<.4*r?"top left":e[1]>.6*r?"bottom left":"mid left":e[0]>.6*t?e[1]<.4*r?"top right":e[1]>.6*r?"bottom right":"mid right":e[1]<.4*r?"top middle":e[1]>.6*r?"bottom middle":"middle"}function u(e,t,r){t=Math.floor(e[0]/t*10),e=Math.floor(e[1]/r*10);return 10===t&&(t-=1),10===e&&(e-=1),{locX:t,locY:e}}o.default.prototype.textOutput=function(e){o.default._validateParameters("textOutput",arguments),this._accessibleOutputs.text||(this._accessibleOutputs.text=!0,this._createOutput("textOutput","Fallback"),e===this.LABEL&&(this._accessibleOutputs.textLabel=!0,this._createOutput("textOutput","Label")))},o.default.prototype.gridOutput=function(e){o.default._validateParameters("gridOutput",arguments),this._accessibleOutputs.grid||(this._accessibleOutputs.grid=!0,this._createOutput("gridOutput","Fallback"),e===this.LABEL&&(this._accessibleOutputs.gridLabel=!0,this._createOutput("gridOutput","Label")))},o.default.prototype._addAccsOutput=function(){return this._accessibleOutputs||(this._accessibleOutputs={text:!1,grid:!1,textLabel:!1,gridLabel:!1}),this._accessibleOutputs.grid||this._accessibleOutputs.text},o.default.prototype._createOutput=function(e,t){var r,o,n,s=this.canvas.id,i=(this.ingredients||(this.ingredients={shapes:{},colors:{background:"white",fill:"white",stroke:"black"},pShapes:""}),this.dummyDOM||(this.dummyDOM=document.getElementById(s).parentNode),"");"Fallback"===t?(r=s+e,this.dummyDOM.querySelector("#".concat(o=s+"accessibleOutput"))||(this.dummyDOM.querySelector("#".concat(s,"_Description"))?this.dummyDOM.querySelector("#".concat(s,"_Description")).insertAdjacentHTML("afterend",'
    ')):this.dummyDOM.querySelector("#".concat(s)).innerHTML='
    '))):"Label"===t&&(r=s+e+(i=t),this.dummyDOM.querySelector("#".concat(o=s+"accessibleOutput"+t))||(this.dummyDOM.querySelector("#".concat(s,"_Label"))?this.dummyDOM.querySelector("#".concat(s,"_Label")):this.dummyDOM.querySelector("#".concat(s))).insertAdjacentHTML("afterend",'
    '))),this._accessibleOutputs[r]={},"textOutput"===e?(i="#".concat(s,"gridOutput").concat(i),n='
    Text Output

      '),this.dummyDOM.querySelector(i)?this.dummyDOM.querySelector(i).insertAdjacentHTML("beforebegin",n):this.dummyDOM.querySelector("#".concat(o)).innerHTML=n,this._accessibleOutputs[r].list=this.dummyDOM.querySelector("#".concat(r,"_list"))):"gridOutput"===e&&(i="#".concat(s,"textOutput").concat(i),n='
      Grid Output

        '),this.dummyDOM.querySelector(i)?this.dummyDOM.querySelector(i).insertAdjacentHTML("afterend",n):this.dummyDOM.querySelector("#".concat(o)).innerHTML=n,this._accessibleOutputs[r].map=this.dummyDOM.querySelector("#".concat(r,"_map"))),this._accessibleOutputs[r].shapeDetails=this.dummyDOM.querySelector("#".concat(r,"_shapeDetails")),this._accessibleOutputs[r].summary=this.dummyDOM.querySelector("#".concat(r,"_summary"))},o.default.prototype._updateAccsOutput=function(){var e=this.canvas.id;JSON.stringify(this.ingredients.shapes)!==this.ingredients.pShapes&&(this.ingredients.pShapes=JSON.stringify(this.ingredients.shapes),this._accessibleOutputs.text&&this._updateTextOutput(e+"textOutput"),this._accessibleOutputs.grid&&this._updateGridOutput(e+"gridOutput"),this._accessibleOutputs.textLabel&&this._updateTextOutput(e+"textOutputLabel"),this._accessibleOutputs.gridLabel&&this._updateGridOutput(e+"gridOutputLabel"))},o.default.prototype._accsBackground=function(e){this.ingredients.pShapes=JSON.stringify(this.ingredients.shapes),this.ingredients.shapes={},this.ingredients.colors.backgroundRGBA!==e&&(this.ingredients.colors.backgroundRGBA=e,this.ingredients.colors.background=this._rgbColorName(e))},o.default.prototype._accsCanvasColors=function(e,t){"fill"===e?this.ingredients.colors.fillRGBA!==t&&(this.ingredients.colors.fillRGBA=t,this.ingredients.colors.fill=this._rgbColorName(t)):"stroke"===e&&this.ingredients.colors.strokeRGBA!==t&&(this.ingredients.colors.strokeRGBA=t,this.ingredients.colors.stroke=this._rgbColorName(t))},o.default.prototype._accsOutput=function(e,t){"ellipse"===e&&t[2]===t[3]?e="circle":"rectangle"===e&&t[2]===t[3]&&(e="square");var r,o,n={},s=!0,i=function(e,t){var r;e="rectangle"===e||"ellipse"===e||"arc"===e||"circle"===e||"square"===e?(r=Math.round(t[0]+t[2]/2),Math.round(t[1]+t[3]/2)):"triangle"===e?(r=(t[0]+t[2]+t[4])/3,(t[1]+t[3]+t[5])/3):"quadrilateral"===e?(r=(t[0]+t[2]+t[4]+t[6])/4,(t[1]+t[3]+t[5]+t[7])/4):"line"===e?(r=(t[0]+t[2])/2,(t[1]+t[3])/2):(r=t[0],t[1]);return[r,e]}(e,t);if("line"===e?(n.color=this.ingredients.colors.stroke,n.length=Math.round(this.dist(t[0],t[1],t[2],t[3])),r=l([t[0],[1]],this.width,this.height),o=l([t[2],[3]],this.width,this.height),n.loc=u(i,this.width,this.height),n.pos=r===o?"at ".concat(r):"from ".concat(r," to ").concat(o)):("point"===e?n.color=this.ingredients.colors.stroke:(n.color=this.ingredients.colors.fill,n.area=function(e,t,r,o){var n=0;{var s,i,a,l,u,c,d;"arc"===e?(s=((t[5]-t[4])%(2*Math.PI)+2*Math.PI)%(2*Math.PI),n=s*t[2]*t[3]/8,"open"!==t[6]&&"chord"!==t[6]||(d=t[0],i=t[1],a=t[0]+t[2]/2*Math.cos(t[4]).toFixed(2),l=t[1]+t[3]/2*Math.sin(t[4]).toFixed(2),u=t[0]+t[2]/2*Math.cos(t[5]).toFixed(2),c=t[1]+t[3]/2*Math.sin(t[5]).toFixed(2),d=Math.abs(d*(l-c)+a*(c-i)+u*(i-l))/2,s>Math.PI?n+=d:n-=d)):"ellipse"===e||"circle"===e?n=3.14*t[2]/2*t[3]/2:"line"===e||"point"===e?n=0:"quadrilateral"===e?n=Math.abs((t[6]+t[0])*(t[7]-t[1])+(t[0]+t[2])*(t[1]-t[3])+(t[2]+t[4])*(t[3]-t[5])+(t[4]+t[6])*(t[5]-t[7]))/2:"rectangle"===e||"square"===e?n=t[2]*t[3]:"triangle"===e&&(n=Math.abs(t[0]*(t[3]-t[5])+t[2]*(t[5]-t[1])+t[4]*(t[1]-t[3]))/2)}return Math.round(100*n/(r*o))}(e,t,this.width,this.height)),n.pos=l(i,this.width,this.height),n.loc=u(i,this.width,this.height)),this.ingredients.shapes[e]){if(this.ingredients.shapes[e]!==[n]){for(var a in this.ingredients.shapes[e])JSON.stringify(this.ingredients.shapes[e][a])===JSON.stringify(n)&&(s=!1);!0===s&&this.ingredients.shapes[e].push(n)}}else this.ingredients.shapes[e]=[n]};e=o.default;r.default=e},{"../core/main":267,"core-js/modules/es.array.concat":149,"core-js/modules/es.array.fill":152,"core-js/modules/es.array.map":161,"core-js/modules/es.number.to-fixed":171}],250:[function(e,t,r){"use strict";e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.concat"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;e=(e=e("../core/main"))&&e.__esModule?e:{default:e};e.default.prototype._updateTextOutput=function(e){var t,r,o,n;this.dummyDOM.querySelector("#".concat(e,"_summary"))&&(t=this._accessibleOutputs[e],o=function(e,t,r,o){r="Your output is a, ".concat(r," by ").concat(o," pixels, ").concat(t," canvas containing the following");r=1===e?"".concat(r," shape:"):"".concat(r," ").concat(e," shapes:");return r}((r=function(e,t){var r,o="",n=0;for(r in t)for(var s in t[r]){var i='
      • ').concat(t[r][s].color," ").concat(r,"");"line"===r?i+=", ".concat(t[r][s].pos,", ").concat(t[r][s].length," pixels long.
      • "):(i+=", at ".concat(t[r][s].pos),"point"!==r&&(i+=", covering ".concat(t[r][s].area,"% of the canvas")),i+="."),o+=i,n++}return{numShapes:n,listShapes:o}}(e,this.ingredients.shapes)).numShapes,this.ingredients.colors.background,this.width,this.height),n=function(e,t){var r,o="",n=0;for(r in t)for(var s in t[r]){var i='').concat(t[r][s].color," ").concat(r,"");"line"===r?i+="location = ".concat(t[r][s].pos,"length = ").concat(t[r][s].length," pixels"):(i+="location = ".concat(t[r][s].pos,""),"point"!==r&&(i+=" area = ".concat(t[r][s].area,"%")),i+=""),o+=i,n++}return o}(e,this.ingredients.shapes),o!==t.summary.innerHTML&&(t.summary.innerHTML=o),r.listShapes!==t.list.innerHTML&&(t.list.innerHTML=r.listShapes),n!==t.shapeDetails.innerHTML&&(t.shapeDetails.innerHTML=n),this._accessibleOutputs[e]=t)};e=e.default;r.default=e},{"../core/main":267,"core-js/modules/es.array.concat":149}],251:[function(e,t,r){"use strict";var o=(o=e("./core/main"))&&o.__esModule?o:{default:o};e("./core/constants"),e("./core/environment"),e("./core/friendly_errors/stacktrace"),e("./core/friendly_errors/validate_params"),e("./core/friendly_errors/file_errors"),e("./core/friendly_errors/fes_core"),e("./core/friendly_errors/sketch_reader"),e("./core/helpers"),e("./core/legacy"),e("./core/preload"),e("./core/p5.Element"),e("./core/p5.Graphics"),e("./core/p5.Renderer"),e("./core/p5.Renderer2D"),e("./core/rendering"),e("./core/shim"),e("./core/structure"),e("./core/transform"),e("./core/shape/2d_primitives"),e("./core/shape/attributes"),e("./core/shape/curves"),e("./core/shape/vertex"),e("./accessibility/outputs"),e("./accessibility/textOutput"),e("./accessibility/gridOutput"),e("./accessibility/color_namer"),e("./color/color_conversion"),e("./color/creating_reading"),e("./color/p5.Color"),e("./color/setting"),e("./data/p5.TypedDict"),e("./data/local_storage.js"),e("./dom/dom"),e("./accessibility/describe"),e("./events/acceleration"),e("./events/keyboard"),e("./events/mouse"),e("./events/touch"),e("./image/filters"),e("./image/image"),e("./image/loading_displaying"),e("./image/p5.Image"),e("./image/pixels"),e("./io/files"),e("./io/p5.Table"),e("./io/p5.TableRow"),e("./io/p5.XML"),e("./math/calculation"),e("./math/math"),e("./math/noise"),e("./math/p5.Vector"),e("./math/random"),e("./math/trigonometry"),e("./typography/attributes"),e("./typography/loading_displaying"),e("./typography/p5.Font"),e("./utilities/array_functions"),e("./utilities/conversion"),e("./utilities/string_functions"),e("./utilities/time_date"),e("./webgl/3d_primitives"),e("./webgl/interaction"),e("./webgl/light"),e("./webgl/loading"),e("./webgl/material"),e("./webgl/p5.Camera"),e("./webgl/p5.Geometry"),e("./webgl/p5.Matrix"),e("./webgl/p5.RendererGL.Immediate"),e("./webgl/p5.RendererGL"),e("./webgl/p5.RendererGL.Retained"),e("./webgl/p5.Shader"),e("./webgl/p5.RenderBuffer"),e("./webgl/p5.Texture"),e("./webgl/text"),e("./core/init"),t.exports=o.default},{"./accessibility/color_namer":246,"./accessibility/describe":247,"./accessibility/gridOutput":248,"./accessibility/outputs":249,"./accessibility/textOutput":250,"./color/color_conversion":252,"./color/creating_reading":253,"./color/p5.Color":254,"./color/setting":255,"./core/constants":256,"./core/environment":257,"./core/friendly_errors/fes_core":258,"./core/friendly_errors/file_errors":259,"./core/friendly_errors/sketch_reader":260,"./core/friendly_errors/stacktrace":261,"./core/friendly_errors/validate_params":262,"./core/helpers":263,"./core/init":264,"./core/legacy":266,"./core/main":267,"./core/p5.Element":268,"./core/p5.Graphics":269,"./core/p5.Renderer":270,"./core/p5.Renderer2D":271,"./core/preload":272,"./core/rendering":273,"./core/shape/2d_primitives":274,"./core/shape/attributes":275,"./core/shape/curves":276,"./core/shape/vertex":277,"./core/shim":278,"./core/structure":279,"./core/transform":280,"./data/local_storage.js":281,"./data/p5.TypedDict":282,"./dom/dom":283,"./events/acceleration":284,"./events/keyboard":285,"./events/mouse":286,"./events/touch":287,"./image/filters":288,"./image/image":289,"./image/loading_displaying":290,"./image/p5.Image":291,"./image/pixels":292,"./io/files":293,"./io/p5.Table":294,"./io/p5.TableRow":295,"./io/p5.XML":296,"./math/calculation":297,"./math/math":298,"./math/noise":299,"./math/p5.Vector":300,"./math/random":301,"./math/trigonometry":302,"./typography/attributes":303,"./typography/loading_displaying":304,"./typography/p5.Font":305,"./utilities/array_functions":306,"./utilities/conversion":307,"./utilities/string_functions":308,"./utilities/time_date":309,"./webgl/3d_primitives":310,"./webgl/interaction":311,"./webgl/light":312,"./webgl/loading":313,"./webgl/material":314,"./webgl/p5.Camera":315,"./webgl/p5.Geometry":316,"./webgl/p5.Matrix":317,"./webgl/p5.RenderBuffer":318,"./webgl/p5.RendererGL":321,"./webgl/p5.RendererGL.Immediate":319,"./webgl/p5.RendererGL.Retained":320,"./webgl/p5.Shader":322,"./webgl/p5.Texture":323,"./webgl/text":324}],252:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;e=(e=e("../core/main"))&&e.__esModule?e:{default:e};e.default.ColorConversion={},e.default.ColorConversion._hsbaToHSLA=function(e){var t=e[0],r=e[1],o=e[2],n=(2-r)*o/2;return 0!=n&&(1==n?r=0:n<.5?r/=2-r:r=r*o/(2-2*n)),[t,r,n,e[3]]},e.default.ColorConversion._hsbaToRGBA=function(e){var t,r,o,n,s,i=6*e[0],a=e[1],l=e[2];return 0===a?[l,l,l,e[3]]:(r=l*(1-a),o=l*(1-a*(i-(t=Math.floor(i)))),a=l*(1-a*(1+t-i)),i=1===t?(n=o,s=l,r):2===t?(n=r,s=l,a):3===t?(n=r,s=o,l):4===t?(n=a,s=r,l):5===t?(n=l,s=r,o):(n=l,s=a,r),[n,s,i,e[3]])},e.default.ColorConversion._hslaToHSBA=function(e){var t=e[0],r=e[1],o=e[2],n=o<.5?(1+r)*o:o+r-o*r;return[t,r=2*(n-o)/n,n,e[3]]},e.default.ColorConversion._hslaToRGBA=function(e){var t,r=6*e[0],o=e[1],n=e[2];return 0===o?[n,n,n,e[3]]:[(t=function(e,t,r){return e<0?e+=6:6<=e&&(e-=6),e<1?t+(r-t)*e:e<3?r:e<4?t+(r-t)*(4-e):t})(2+r,o=2*n-(n=n<.5?(1+o)*n:n+o-n*o),n),t(r,o,n),t(r-2,o,n),e[3]]},e.default.ColorConversion._rgbaToHSBA=function(e){var t,r,o=e[0],n=e[1],s=e[2],i=Math.max(o,n,s),a=i-Math.min(o,n,s);return 0==a?r=t=0:(r=a/i,o===i?t=(n-s)/a:n===i?t=2+(s-o)/a:s===i&&(t=4+(o-n)/a),t<0?t+=6:6<=t&&(t-=6)),[t/6,r,i,e[3]]},e.default.ColorConversion._rgbaToHSLA=function(e){var t,r,o=e[0],n=e[1],s=e[2],i=Math.max(o,n,s),a=Math.min(o,n,s),l=i+a,a=i-a;return 0==a?r=t=0:(r=l<1?a/l:a/(2-l),o===i?t=(n-s)/a:n===i?t=2+(s-o)/a:s===i&&(t=4+(o-n)/a),t<0?t+=6:6<=t&&(t-=6)),[t/6,r,l/2,e[3]]};e=e.default.ColorConversion;r.default=e},{"../core/main":267}],253:[function(e,t,r){"use strict";function o(e){return(o="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 i(e){return(i="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)})(e)}e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.map"),e("core-js/modules/es.object.get-own-property-descriptor"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.weak-map"),e("core-js/modules/web.dom-collections.iterator"),e("core-js/modules/es.array.map"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var l=(n=e("../core/main"))&&n.__esModule?n:{default:n},u=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e("../core/constants"));function a(){var e;return"function"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}e("./p5.Color"),e("../core/friendly_errors/validate_params"),e("../core/friendly_errors/file_errors"),e("../core/friendly_errors/fes_core"),l.default.prototype.alpha=function(e){return l.default._validateParameters("alpha",arguments),this.color(e)._getAlpha()},l.default.prototype.blue=function(e){return l.default._validateParameters("blue",arguments),this.color(e)._getBlue()},l.default.prototype.brightness=function(e){return l.default._validateParameters("brightness",arguments),this.color(e)._getBrightness()},l.default.prototype.color=function(){var e;return l.default._validateParameters("color",arguments),arguments[0]instanceof l.default.Color?arguments[0]:(e=arguments[0]instanceof Array?arguments[0]:arguments,new l.default.Color(this,e))},l.default.prototype.green=function(e){return l.default._validateParameters("green",arguments),this.color(e)._getGreen()},l.default.prototype.hue=function(e){return l.default._validateParameters("hue",arguments),this.color(e)._getHue()},l.default.prototype.lerpColor=function(e,t,r){l.default._validateParameters("lerpColor",arguments);var o,n,s,i=this._colorMode,a=this._colorMaxes;if(i===u.RGB)n=e.levels.map(function(e){return e/255}),s=t.levels.map(function(e){return e/255});else if(i===u.HSB)e._getBrightness(),t._getBrightness(),n=e.hsba,s=t.hsba;else{if(i!==u.HSL)throw new Error("".concat(i,"cannot be used for interpolation."));e._getLightness(),t._getLightness(),n=e.hsla,s=t.hsla}return r=Math.max(Math.min(r,1),0),void 0===this.lerp&&(this.lerp=function(e,t,r){return r*(t-e)+e}),e=this.lerp(n[0],s[0],r),t=this.lerp(n[1],s[1],r),o=this.lerp(n[2],s[2],r),n=this.lerp(n[3],s[3],r),e*=a[i][0],t*=a[i][1],o*=a[i][2],n*=a[i][3],this.color(e,t,o,n)},l.default.prototype.lightness=function(e){return l.default._validateParameters("lightness",arguments),this.color(e)._getLightness()},l.default.prototype.red=function(e){return l.default._validateParameters("red",arguments),this.color(e)._getRed()},l.default.prototype.saturation=function(e){return l.default._validateParameters("saturation",arguments),this.color(e)._getSaturation()};var n=l.default;r.default=n},{"../core/constants":256,"../core/friendly_errors/fes_core":258,"../core/friendly_errors/file_errors":259,"../core/friendly_errors/validate_params":262,"../core/main":267,"./p5.Color":254,"core-js/modules/es.array.iterator":158,"core-js/modules/es.array.map":161,"core-js/modules/es.object.get-own-property-descriptor":173,"core-js/modules/es.object.to-string":177,"core-js/modules/es.string.iterator":186,"core-js/modules/es.symbol":196,"core-js/modules/es.symbol.description":194,"core-js/modules/es.symbol.iterator":195,"core-js/modules/es.weak-map":228,"core-js/modules/web.dom-collections.iterator":230}],254:[function(e,t,r){"use strict";function o(e){return(o="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 i(e){return(i="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)})(e)}e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.map"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.get-own-property-descriptor"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.constructor"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.string.trim"),e("core-js/modules/es.weak-map"),e("core-js/modules/web.dom-collections.iterator"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.map"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.constructor"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.trim"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var c=n(e("../core/main")),d=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e("../core/constants")),f=n(e("./color_conversion"));function a(){var e;return"function"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}function n(e){return e&&e.__esModule?e:{default:e}}c.default.Color=function(e,t){if(this._storeModeAndMaxes(e._colorMode,e._colorMaxes),this.mode!==d.RGB&&this.mode!==d.HSL&&this.mode!==d.HSB)throw new Error("".concat(this.mode," is an invalid colorMode."));return this._array=c.default.Color._parseInputs.apply(this,t),this._calculateLevels(),this},c.default.Color.prototype.toString=function(e){var t=this.levels,r=this._array,o=r[3];switch(e){case"#rrggbb":return"#".concat(t[0]<16?"0".concat(t[0].toString(16)):t[0].toString(16),t[1]<16?"0".concat(t[1].toString(16)):t[1].toString(16),t[2]<16?"0".concat(t[2].toString(16)):t[2].toString(16));case"#rrggbbaa":return"#".concat(t[0]<16?"0".concat(t[0].toString(16)):t[0].toString(16),t[1]<16?"0".concat(t[1].toString(16)):t[1].toString(16),t[2]<16?"0".concat(t[2].toString(16)):t[2].toString(16),t[3]<16?"0".concat(t[3].toString(16)):t[3].toString(16));case"#rgb":return"#".concat(Math.round(15*r[0]).toString(16),Math.round(15*r[1]).toString(16),Math.round(15*r[2]).toString(16));case"#rgba":return"#".concat(Math.round(15*r[0]).toString(16),Math.round(15*r[1]).toString(16),Math.round(15*r[2]).toString(16),Math.round(15*r[3]).toString(16));case"rgb":return"rgb(".concat(t[0],", ",t[1],", ",t[2],")");case"rgb%":return"rgb(".concat((100*r[0]).toPrecision(3),"%, ",(100*r[1]).toPrecision(3),"%, ",(100*r[2]).toPrecision(3),"%)");case"rgba%":return"rgba(".concat((100*r[0]).toPrecision(3),"%, ",(100*r[1]).toPrecision(3),"%, ",(100*r[2]).toPrecision(3),"%, ",(100*r[3]).toPrecision(3),"%)");case"hsb":case"hsv":return this.hsba||(this.hsba=f.default._rgbaToHSBA(this._array)),"hsb(".concat(this.hsba[0]*this.maxes[d.HSB][0],", ",this.hsba[1]*this.maxes[d.HSB][1],", ",this.hsba[2]*this.maxes[d.HSB][2],")");case"hsb%":case"hsv%":return this.hsba||(this.hsba=f.default._rgbaToHSBA(this._array)),"hsb(".concat((100*this.hsba[0]).toPrecision(3),"%, ",(100*this.hsba[1]).toPrecision(3),"%, ",(100*this.hsba[2]).toPrecision(3),"%)");case"hsba":case"hsva":return this.hsba||(this.hsba=f.default._rgbaToHSBA(this._array)),"hsba(".concat(this.hsba[0]*this.maxes[d.HSB][0],", ",this.hsba[1]*this.maxes[d.HSB][1],", ",this.hsba[2]*this.maxes[d.HSB][2],", ",o,")");case"hsba%":case"hsva%":return this.hsba||(this.hsba=f.default._rgbaToHSBA(this._array)),"hsba(".concat((100*this.hsba[0]).toPrecision(3),"%, ",(100*this.hsba[1]).toPrecision(3),"%, ",(100*this.hsba[2]).toPrecision(3),"%, ",(100*o).toPrecision(3),"%)");case"hsl":return this.hsla||(this.hsla=f.default._rgbaToHSLA(this._array)),"hsl(".concat(this.hsla[0]*this.maxes[d.HSL][0],", ",this.hsla[1]*this.maxes[d.HSL][1],", ",this.hsla[2]*this.maxes[d.HSL][2],")");case"hsl%":return this.hsla||(this.hsla=f.default._rgbaToHSLA(this._array)),"hsl(".concat((100*this.hsla[0]).toPrecision(3),"%, ",(100*this.hsla[1]).toPrecision(3),"%, ",(100*this.hsla[2]).toPrecision(3),"%)");case"hsla":return this.hsla||(this.hsla=f.default._rgbaToHSLA(this._array)),"hsla(".concat(this.hsla[0]*this.maxes[d.HSL][0],", ",this.hsla[1]*this.maxes[d.HSL][1],", ",this.hsla[2]*this.maxes[d.HSL][2],", ",o,")");case"hsla%":return this.hsla||(this.hsla=f.default._rgbaToHSLA(this._array)),"hsl(".concat((100*this.hsla[0]).toPrecision(3),"%, ",(100*this.hsla[1]).toPrecision(3),"%, ",(100*this.hsla[2]).toPrecision(3),"%, ",(100*o).toPrecision(3),"%)");default:return"rgba(".concat(t[0],",",t[1],",",t[2],",",o,")")}},c.default.Color.prototype.setRed=function(e){this._array[0]=e/this.maxes[d.RGB][0],this._calculateLevels()},c.default.Color.prototype.setGreen=function(e){this._array[1]=e/this.maxes[d.RGB][1],this._calculateLevels()},c.default.Color.prototype.setBlue=function(e){this._array[2]=e/this.maxes[d.RGB][2],this._calculateLevels()},c.default.Color.prototype.setAlpha=function(e){this._array[3]=e/this.maxes[this.mode][3],this._calculateLevels()},c.default.Color.prototype._calculateLevels=function(){for(var e=this._array,t=this.levels=new Array(e.length),r=e.length-1;0<=r;--r)t[r]=Math.round(255*e[r]);this.hsla=null,this.hsba=null},c.default.Color.prototype._getAlpha=function(){return this._array[3]*this.maxes[this.mode][3]},c.default.Color.prototype._storeModeAndMaxes=function(e,t){this.mode=e,this.maxes=t},c.default.Color.prototype._getMode=function(){return this.mode},c.default.Color.prototype._getMaxes=function(){return this.maxes},c.default.Color.prototype._getBlue=function(){return this._array[2]*this.maxes[d.RGB][2]},c.default.Color.prototype._getBrightness=function(){return this.hsba||(this.hsba=f.default._rgbaToHSBA(this._array)),this.hsba[2]*this.maxes[d.HSB][2]},c.default.Color.prototype._getGreen=function(){return this._array[1]*this.maxes[d.RGB][1]},c.default.Color.prototype._getHue=function(){return this.mode===d.HSB?(this.hsba||(this.hsba=f.default._rgbaToHSBA(this._array)),this.hsba[0]*this.maxes[d.HSB][0]):(this.hsla||(this.hsla=f.default._rgbaToHSLA(this._array)),this.hsla[0]*this.maxes[d.HSL][0])},c.default.Color.prototype._getLightness=function(){return this.hsla||(this.hsla=f.default._rgbaToHSLA(this._array)),this.hsla[2]*this.maxes[d.HSL][2]},c.default.Color.prototype._getRed=function(){return this._array[0]*this.maxes[d.RGB][0]},c.default.Color.prototype._getSaturation=function(){return this.mode===d.HSB?(this.hsba||(this.hsba=f.default._rgbaToHSBA(this._array)),this.hsba[1]*this.maxes[d.HSB][1]):(this.hsla||(this.hsla=f.default._rgbaToHSLA(this._array)),this.hsla[1]*this.maxes[d.HSL][1])};var h={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",darkgreen:"#006400",darkgrey:"#a9a9a9",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",green:"#008000",greenyellow:"#adff2f",grey:"#808080",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",lightgreen:"#90ee90",lightgrey:"#d3d3d3",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"},e=/\s*/,s=/(\d{1,3})/,l=/((?:\d+(?:\.\d+)?)|(?:\.\d+))/,u=new RegExp("".concat(l.source,"%")),p={HEX3:/^#([a-f0-9])([a-f0-9])([a-f0-9])$/i,HEX4:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])$/i,HEX6:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i,HEX8:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i,RGB:new RegExp(["^rgb\\(",s.source,",",s.source,",",s.source,"\\)$"].join(e.source),"i"),RGB_PERCENT:new RegExp(["^rgb\\(",u.source,",",u.source,",",u.source,"\\)$"].join(e.source),"i"),RGBA:new RegExp(["^rgba\\(",s.source,",",s.source,",",s.source,",",l.source,"\\)$"].join(e.source),"i"),RGBA_PERCENT:new RegExp(["^rgba\\(",u.source,",",u.source,",",u.source,",",l.source,"\\)$"].join(e.source),"i"),HSL:new RegExp(["^hsl\\(",s.source,",",u.source,",",u.source,"\\)$"].join(e.source),"i"),HSLA:new RegExp(["^hsla\\(",s.source,",",u.source,",",u.source,",",l.source,"\\)$"].join(e.source),"i"),HSB:new RegExp(["^hsb\\(",s.source,",",u.source,",",u.source,"\\)$"].join(e.source),"i"),HSBA:new RegExp(["^hsba\\(",s.source,",",u.source,",",u.source,",",l.source,"\\)$"].join(e.source),"i")},s=(c.default.Color._parseInputs=function(e,t,r,o){var n,s=arguments.length,i=this.mode,a=this.maxes[i],l=[];if(3<=s){for(l[0]=e/a[0],l[1]=t/a[1],l[2]=r/a[2],l[3]="number"==typeof o?o/a[3]:1,n=l.length-1;0<=n;--n){var u=l[n];u<0?l[n]=0:1"].indexOf(r[0])?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e}},this)},parseFFOrSafari:function(e){return e.stack.split("\n").filter(function(e){return!e.match(o)},this).map(function(e){var t,r;return-1===(e=-1 eval")?e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1"):e).indexOf("@")&&-1===e.indexOf(":")?{functionName:e}:{functionName:(r=e.match(t=/((.*".+"[^@]*)?[^@]*)(?:@)/))&&r[1]?r[1]:void 0,fileName:(r=this.extractLocation(e.replace(t,"")))[0],lineNumber:r[1],columnNumber:r[2],source:e}},this)},parseOpera:function(e){return!e.stacktrace||-1e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var t=/Line (\d+).*script (?:in )?(\S+)/i,r=e.message.split("\n"),o=[],n=2,s=r.length;n/,"$2").replace(/\([^)]*\)/g,"")||void 0,args:void 0===(t=r.match(/\(([^)]*)\)/)?r.replace(/^[^(]+\(([^)]*)\)$/,"$1"):t)||"[arguments not available]"===t?void 0:t.split(","),fileName:o[0],lineNumber:o[1],columnNumber:o[2],source:e}},this)}}}e.default._getErrorStackParser=function(){return new o};e=e.default;r.default=e},{"../main":267,"core-js/modules/es.array.filter":153,"core-js/modules/es.array.index-of":157,"core-js/modules/es.array.join":159,"core-js/modules/es.array.map":161,"core-js/modules/es.array.slice":162,"core-js/modules/es.regexp.exec":181,"core-js/modules/es.string.match":187,"core-js/modules/es.string.replace":189,"core-js/modules/es.string.split":191}],262:[function(e,t,r){"use strict";function o(e){return(o="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)}e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.for-each"),e("core-js/modules/es.array.includes"),e("core-js/modules/es.array.index-of"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.last-index-of"),e("core-js/modules/es.array.map"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.function.name"),e("core-js/modules/es.map"),e("core-js/modules/es.number.constructor"),e("core-js/modules/es.object.get-own-property-descriptor"),e("core-js/modules/es.object.get-prototype-of"),e("core-js/modules/es.object.keys"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.reflect.construct"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.set"),e("core-js/modules/es.string.includes"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.string.split"),e("core-js/modules/es.weak-map"),e("core-js/modules/web.dom-collections.for-each"),e("core-js/modules/web.dom-collections.iterator"),e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.for-each"),e("core-js/modules/es.array.includes"),e("core-js/modules/es.array.index-of"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.last-index-of"),e("core-js/modules/es.array.map"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.function.name"),e("core-js/modules/es.map"),e("core-js/modules/es.number.constructor"),e("core-js/modules/es.object.get-prototype-of"),e("core-js/modules/es.object.keys"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.reflect.construct"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.set"),e("core-js/modules/es.string.includes"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.string.split"),e("core-js/modules/web.dom-collections.for-each"),e("core-js/modules/web.dom-collections.iterator"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=(n=e("../main"))&&n.__esModule?n:{default:n};(function(e){if(e&&e.__esModule)return;if(null===e||"object"!==a(e)&&"function"!=typeof e)return;var t=i();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o)})(e("../constants")),e("../internationalization");function i(){var e;return"function"!=typeof WeakMap?null:(e=new WeakMap,i=function(){return e},e)}function a(e){return(a="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)})(e)}n.default._validateParameters=n.default._clearValidateParamsCache=function(){};e=n.default;r.default=e},{"../../../docs/parameterData.json":void 0,"../constants":256,"../internationalization":265,"../main":267,"core-js/modules/es.array.concat":149,"core-js/modules/es.array.for-each":154,"core-js/modules/es.array.includes":156,"core-js/modules/es.array.index-of":157,"core-js/modules/es.array.iterator":158,"core-js/modules/es.array.join":159,"core-js/modules/es.array.last-index-of":160,"core-js/modules/es.array.map":161,"core-js/modules/es.array.slice":162,"core-js/modules/es.function.name":165,"core-js/modules/es.map":166,"core-js/modules/es.number.constructor":169,"core-js/modules/es.object.get-own-property-descriptor":173,"core-js/modules/es.object.get-prototype-of":175,"core-js/modules/es.object.keys":176,"core-js/modules/es.object.to-string":177,"core-js/modules/es.reflect.construct":179,"core-js/modules/es.regexp.exec":181,"core-js/modules/es.regexp.to-string":182,"core-js/modules/es.set":183,"core-js/modules/es.string.includes":185,"core-js/modules/es.string.iterator":186,"core-js/modules/es.string.split":191,"core-js/modules/es.symbol":196,"core-js/modules/es.symbol.description":194,"core-js/modules/es.symbol.iterator":195,"core-js/modules/es.weak-map":228,"core-js/modules/web.dom-collections.for-each":229,"core-js/modules/web.dom-collections.iterator":230}],263:[function(e,t,r){"use strict";function o(e){return(o="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 i(e){return(i="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)})(e)}e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.object.get-own-property-descriptor"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.weak-map"),e("core-js/modules/web.dom-collections.iterator"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var s=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e("./constants"));function a(){var e;return"function"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}r.default={modeAdjust:function(e,t,r,o,n){return n===s.CORNER?{x:e,y:t,w:r,h:o}:n===s.CORNERS?{x:e,y:t,w:r-e,h:o-t}:n===s.RADIUS?{x:e-r,y:t-o,w:2*r,h:2*o}:n===s.CENTER?{x:e-.5*r,y:t-.5*o,w:r,h:o}:void 0}}},{"./constants":256,"core-js/modules/es.array.iterator":158,"core-js/modules/es.object.get-own-property-descriptor":173,"core-js/modules/es.object.to-string":177,"core-js/modules/es.string.iterator":186,"core-js/modules/es.symbol":196,"core-js/modules/es.symbol.description":194,"core-js/modules/es.symbol.iterator":195,"core-js/modules/es.weak-map":228,"core-js/modules/web.dom-collections.iterator":230}],264:[function(e,t,r){"use strict";e("core-js/modules/es.array.iterator"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.promise"),e("core-js/modules/es.string.iterator"),e("core-js/modules/web.dom-collections.iterator"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.promise"),e("core-js/modules/es.string.iterator"),e("core-js/modules/web.dom-collections.iterator");var o=(n=e("../core/main"))&&n.__esModule?n:{default:n};e("./internationalization");var n=Promise.resolve();Promise.all([new Promise(function(e,t){"complete"===document.readyState?e():window.addEventListener("load",e,!1)}),n]).then(function(){void 0!==window._setupDone?console.warn("p5.js seems to have been imported multiple times. Please remove the duplicate import"):window.mocha||(window.setup&&"function"==typeof window.setup||window.draw&&"function"==typeof window.draw)&&!o.default.instance&&new o.default})},{"../core/main":267,"./internationalization":265,"core-js/modules/es.array.iterator":158,"core-js/modules/es.object.to-string":177,"core-js/modules/es.promise":178,"core-js/modules/es.string.iterator":186,"core-js/modules/web.dom-collections.iterator":230}],265:[function(e,t,r){"use strict";e("core-js/modules/es.array.includes"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.keys"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.promise"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.string.includes"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.string.split"),e("core-js/modules/web.dom-collections.iterator"),e("core-js/modules/es.array.includes"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.keys"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.promise"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.string.includes"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.string.split"),e("core-js/modules/web.dom-collections.iterator"),Object.defineProperty(r,"__esModule",{value:!0}),r.setTranslatorLanguage=r.currentTranslatorLanguage=r.availableTranslatorLanguages=r.initialize=r.translator=void 0;var n,s,o=a(e("i18next")),i=a(e("i18next-browser-languagedetector"));function a(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var r=0;r=i.width||t>=i.height?[0,0,0,0]:this._getPixel(e,t);n=new a.default.Image(r,o);return n.canvas.getContext("2d").drawImage(i,e,t,r*s,o*s,0,0,r,o),n},a.default.Renderer.prototype.textLeading=function(e){return"number"==typeof e?(this._setProperty("_leadingSet",!0),this._setProperty("_textLeading",e),this._pInst):this._textLeading},a.default.Renderer.prototype.textSize=function(e){return"number"==typeof e?(this._setProperty("_textSize",e),this._leadingSet||this._setProperty("_textLeading",e*k._DEFAULT_LEADMULT),this._applyTextProperties()):this._textSize},a.default.Renderer.prototype.textStyle=function(e){return e?(e!==k.NORMAL&&e!==k.ITALIC&&e!==k.BOLD&&e!==k.BOLDITALIC||this._setProperty("_textStyle",e),this._applyTextProperties()):this._textStyle},a.default.Renderer.prototype.textAscent=function(){return null===this._textAscent&&this._updateTextMetrics(),this._textAscent},a.default.Renderer.prototype.textDescent=function(){return null===this._textDescent&&this._updateTextMetrics(),this._textDescent},a.default.Renderer.prototype.textAlign=function(e,t){return void 0!==e?(this._setProperty("_textAlign",e),void 0!==t&&this._setProperty("_textBaseline",t),this._applyTextProperties()):{horizontal:this._textAlign,vertical:this._textBaseline}},a.default.Renderer.prototype.textWrap=function(e){return this._setProperty("_textWrap",e),this._textWrap},a.default.Renderer.prototype.text=function(e,t,r,o,n){var s,i,a,l,u=this._pInst,c=this._textWrap,d=Number.MAX_VALUE,f=r;if((this._doFill||this._doStroke)&&void 0!==e){if(s=(e=(e="string"!=typeof e?e.toString():e).replace(/(\t)/g," ")).split("\n"),void 0!==o){switch(this._rectMode===k.CENTER&&(t-=o/2),this._textAlign){case k.CENTER:t+=o/2;break;case k.RIGHT:t+=o}if(void 0!==n){this._rectMode===k.CENTER&&(r-=n/2);var e=r,h=u.textAscent();switch(this._textBaseline){case k.BOTTOM:l=r+n,r=Math.max(l,r),f+=h;break;case k.CENTER:l=r+n/2,r=Math.max(l,r),f+=h/2}d=r+n-h,this._textBaseline===k.CENTER&&(d=e+n-h/2)}else{if(this._textBaseline===k.BOTTOM)return console.warn("textAlign(*, BOTTOM) requires x, y, width and height");if(this._textBaseline===k.CENTER)return console.warn("textAlign(*, CENTER) requires x, y, width and height")}if(c===k.WORD){for(var p=[],m=0;ma.HALF_PI&&e<=3*a.HALF_PI?Math.atan(r/o*Math.tan(e))+a.PI:Math.atan(r/o*Math.tan(e))+a.TWO_PI,t=t<=a.HALF_PI?Math.atan(r/o*Math.tan(t)):t>a.HALF_PI&&t<=3*a.HALF_PI?Math.atan(r/o*Math.tan(t))+a.PI:Math.atan(r/o*Math.tan(t))+a.TWO_PI),tp||Math.abs(this.accelerationY-this.pAccelerationY)>p||Math.abs(this.accelerationZ-this.pAccelerationZ)>p)&&s.deviceMoved(),"function"==typeof s.deviceTurned&&(t=this.rotationX+180,e=this.pRotationX+180,r=l+180,0>>24],r+=R[(16711680&D)>>16],o+=R[(65280&D)>>8],n+=R[255&D],t+=B[b],i++}j[a=S+g]=s/t,_[a]=r/t,x[a]=o/t,w[a]=n/t}S+=f}for(u=(l=-N)*f,v=S=0;v>>16,e[1+r]=(65280&t[o])>>>8,e[2+r]=255&t[o],e[3+r]=(4278190080&t[o])>>>24},V._toImageData=function(e){return e instanceof ImageData?e:e.getContext("2d").getImageData(0,0,e.width,e.height)},V._createImageData=function(e,t){return V._tmpCanvas=document.createElement("canvas"),V._tmpCtx=V._tmpCanvas.getContext("2d"),this._tmpCtx.createImageData(e,t)},V.apply=function(e,t,r){var o=e.getContext("2d"),n=o.getImageData(0,0,e.width,e.height),t=t(n,r);t instanceof ImageData?o.putImageData(t,0,0,0,0,e.width,e.height):o.putImageData(n,0,0,0,0,e.width,e.height)},V.threshold=function(e,t){for(var r=V._toPixels(e),o=(void 0===t&&(t=.5),Math.floor(255*t)),n=0;n>8)/o,r[n+1]=255*(i*t>>8)/o,r[n+2]=255*(a*t>>8)/o}},V.dilate=function(e){for(var t,r,o,n,s,i,a,l,u,c=V._toPixels(e),d=0,f=c.length?c.length/4:0,h=new Int32Array(f);d>16&255)+151*(n>>8&255)+28*(255&n))<(a=77*(u>>16&255)+151*(u>>8&255)+28*(255&u))&&(o=u,n=a),n<(a=77*((u=V._getARGB(c,l))>>16&255)+151*(u>>8&255)+28*(255&u))&&(o=u,n=a),n<(l=77*(s>>16&255)+151*(s>>8&255)+28*(255&s))&&(o=s,n=l),n<(u=77*(i>>16&255)+151*(i>>8&255)+28*(255&i))&&(o=i,n=u),h[d++]=o;V._setPixels(c,h)},V.erode=function(e){for(var t,r,o,n,s,i,a,l,u,c=V._toPixels(e),d=0,f=c.length?c.length/4:0,h=new Int32Array(f);d>16&255)+151*(u>>8&255)+28*(255&u))<(n=77*(n>>16&255)+151*(n>>8&255)+28*(255&n))&&(o=u,n=a),(a=77*((u=V._getARGB(c,l))>>16&255)+151*(u>>8&255)+28*(255&u))>16&255)+151*(s>>8&255)+28*(255&s))>16&255)+151*(i>>8&255)+28*(255&i))"+u.length.toString()+" out of "+s.toString()),e.next=44,new Promise(function(e){return setTimeout(e,0)});e.next=46;break;case 44:e.next=35;break;case 46:c.html("Frames processed, generating color palette..."),this.loop(),this.pixelDensity(l),h=(0,L.GIFEncoder)(),p=function(e){for(var t=new Uint8Array(e.length*e[0].length),r=0;r"+y.toString()+" out of "+s.toString()),e.next=68,new Promise(function(e){return setTimeout(e,0)});case 68:y++,e.next=53;break;case 71:h.finish(),T=h.bytesView(),T=new Blob([T],{type:"image/gif"}),u=[],this.loop(),c.html("Done. Downloading your gif!🌸"),O.default.prototype.downloadFile(T,t,"gif");case 79:case"end":return e.stop()}},e,this)});var a,r=function(){var e=this,i=arguments;return new Promise(function(t,r){var o=a.apply(e,i);function n(e){l(o,t,r,n,s,"next",e)}function s(e){l(o,t,r,n,s,"throw",e)}n(void 0)})};return function(e,t){return r.apply(this,arguments)}}(),O.default.prototype.image=function(e,t,r,o,n,s,i,a,l,u,c,d){O.default._validateParameters("image",arguments);var f=e.width,h=e.height,p=(d=d||j.CENTER,c=c||j.CENTER,e.elt&&e.elt.videoWidth&&!e.canvas&&(f=e.elt.videoWidth,h=e.elt.videoHeight),o||f),n=n||h,s=s||0,i=i||0,a=v(a||f,f),f=v(l||h,h),l=1;e.elt&&!e.canvas&&e.elt.style.width&&(l=e.elt.videoWidth&&!o?e.elt.videoWidth:e.elt.width,l/=parseInt(e.elt.style.width,10)),s*=l,i*=l,f*=l,a*=l;h=y(u,c,d,(h=m.default.modeAdjust(t,r,p,n,this._renderer._imageMode)).x,h.y,h.w,h.h,s,i,a,f);this._renderer.image(e,h.sx,h.sy,h.sw,h.sh,h.dx,h.dy,h.dw,h.dh)},O.default.prototype.tint=function(){for(var e=arguments.length,t=new Array(e),r=0;r=t&&(t=Math.floor(r.timeDisplayed/t),r.timeDisplayed=0,r.lastChangeTime=e,r.displayIndex+=t,r.loopCount=Math.floor(r.displayIndex/r.numFrames),null!==r.loopLimit&&r.loopCount>=r.loopLimit?r.playing=!1:(e=r.displayIndex%r.numFrames,this.drawingContext.putImageData(r.frames[e].image,0,0),r.displayIndex=e,this.setModified(!0))))},s.default.Image.prototype._setProperty=function(e,t){this[e]=t,this.setModified(!0)},s.default.Image.prototype.loadPixels=function(){s.default.Renderer2D.prototype.loadPixels.call(this),this.setModified(!0)},s.default.Image.prototype.updatePixels=function(e,t,r,o){s.default.Renderer2D.prototype.updatePixels.call(this,e,t,r,o),this.setModified(!0)},s.default.Image.prototype.get=function(e,t,r,o){return s.default._validateParameters("p5.Image.get",arguments),s.default.Renderer2D.prototype.get.apply(this,arguments)},s.default.Image.prototype._getPixel=s.default.Renderer2D.prototype._getPixel,s.default.Image.prototype.set=function(e,t,r){s.default.Renderer2D.prototype.set.call(this,e,t,r),this.setModified(!0)},s.default.Image.prototype.resize=function(e,t){0===e&&0===t?(e=this.canvas.width,t=this.canvas.height):0===e?e=this.canvas.width*t/this.canvas.height:0===t&&(t=this.canvas.height*e/this.canvas.width),e=Math.floor(e),t=Math.floor(t);var r=document.createElement("canvas");if(r.width=e,r.height=t,this.gifProperties)for(var o=this.gifProperties,n=0;n/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(e,t){t&&!0!==t&&"true"!==t||(t="");var r="";return(e=e||"untitled")&&e.includes(".")&&(r=e.split(".").pop()),t&&r!==t&&(r=t,e="".concat(e,".").concat(r)),[e,r]}e("../core/friendly_errors/validate_params"),e("../core/friendly_errors/file_errors"),e("../core/friendly_errors/fes_core"),v.default.prototype.loadJSON=function(){for(var e=arguments.length,t=new Array(e),r=0;r"),n.print("");if(n.print(' '),n.print(""),n.print(""),n.print(" "),"0"!==s[0]){n.print(" ");for(var c=0;c".concat(d)),n.print(" ")}n.print(" ")}for(var f=0;f");for(var h=0;h".concat(p)),n.print(" ")}n.print(" ")}n.print("
        "),n.print(""),n.print("")}n.close(),n.clear()},v.default.prototype.writeFile=function(e,t,r){var o="application/octet-stream",e=(v.default.prototype._isSafari()&&(o="text/plain"),new Blob(e,{type:o}));v.default.prototype.downloadFile(e,t,r)},v.default.prototype.downloadFile=function(e,t,r){var o,t=i(t,r),r=t[0];e instanceof Blob?n.default.saveAs(e,r):((o=document.createElement("a")).href=e,o.download=r,o.onclick=function(e){document.body.removeChild(e.target),e.stopPropagation()},o.style.display="none",document.body.appendChild(o),v.default.prototype._isSafari()&&(e=(e='Hello, Safari user! To download this file...\n1. Go to File --\x3e Save As.\n2. Choose "Page Source" as the Format.\n')+'3. Name it with this extension: ."'.concat(t[1],'"'),alert(e)),o.click())},v.default.prototype._checkFileExtension=i,v.default.prototype._isSafari=function(){return 0>>0},getSeed:function(){return t},rand:function(){return(r=(1664525*r+1013904223)%o)/o}};n.setSeed(e),j=new Array(4096);for(var s=0;s<4096;s++)j[s]=n.rand()},e.default);r.default=e},{"../core/main":267}],300:[function(e,t,r){"use strict";function o(e){return(o="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 i(e){return(i="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)})(e)}e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.every"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.array.some"),e("core-js/modules/es.math.sign"),e("core-js/modules/es.number.constructor"),e("core-js/modules/es.number.is-finite"),e("core-js/modules/es.object.get-own-property-descriptor"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.string.sub"),e("core-js/modules/es.weak-map"),e("core-js/modules/web.dom-collections.iterator"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.every"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.array.some"),e("core-js/modules/es.math.sign"),e("core-js/modules/es.number.constructor"),e("core-js/modules/es.number.is-finite"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.sub"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var a=(s=e("../core/main"))&&s.__esModule?s:{default:s},n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e("../core/constants"));function l(){var e;return"function"!=typeof WeakMap?null:(e=new WeakMap,l=function(){return e},e)}a.default.Vector=function(){var e,t,r="[object Function]"==={}.toString.call(arguments[0])?(this.isPInst=!0,this._fromRadians=arguments[0],this._toRadians=arguments[1],e=arguments[2]||0,t=arguments[3]||0,arguments[4]||0):(e=arguments[0]||0,t=arguments[1]||0,arguments[2]||0);this.x=e,this.y=t,this.z=r},a.default.Vector.prototype.toString=function(){return"p5.Vector Object : [".concat(this.x,", ").concat(this.y,", ").concat(this.z,"]")},a.default.Vector.prototype.set=function(e,t,r){return e instanceof a.default.Vector?(this.x=e.x||0,this.y=e.y||0,this.z=e.z||0):e instanceof Array?(this.x=e[0]||0,this.y=e[1]||0,this.z=e[2]||0):(this.x=e||0,this.y=t||0,this.z=r||0),this},a.default.Vector.prototype.copy=function(){return this.isPInst?new a.default.Vector(this._fromRadians,this._toRadians,this.x,this.y,this.z):new a.default.Vector(this.x,this.y,this.z)},a.default.Vector.prototype.add=function(e,t,r){return e instanceof a.default.Vector?(this.x+=e.x||0,this.y+=e.y||0,this.z+=e.z||0):e instanceof Array?(this.x+=e[0]||0,this.y+=e[1]||0,this.z+=e[2]||0):(this.x+=e||0,this.y+=t||0,this.z+=r||0),this};function u(e,t){return 0!==e&&(this.x=this.x%e),0!==t&&(this.y=this.y%t),this}function c(e,t,r){return 0!==e&&(this.x=this.x%e),0!==t&&(this.y=this.y%t),0!==r&&(this.z=this.z%r),this}a.default.Vector.prototype.rem=function(e,t,r){var o;if(e instanceof a.default.Vector){if(Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.z))return n=parseFloat(e.x),s=parseFloat(e.y),o=parseFloat(e.z),c.call(this,n,s,o)}else if(e instanceof Array){if(e.every(function(e){return Number.isFinite(e)}))return 2===e.length?u.call(this,e[0],e[1]):3===e.length?c.call(this,e[0],e[1],e[2]):void 0}else if(1===arguments.length){if(Number.isFinite(e)&&0!==e)return this.x=this.x%e,this.y=this.y%e,this.z=this.z%e,this}else if(2===arguments.length){var n=Array.prototype.slice.call(arguments);if(n.every(function(e){return Number.isFinite(e)})&&2===n.length)return u.call(this,n[0],n[1])}else if(3===arguments.length){var s=Array.prototype.slice.call(arguments);if(s.every(function(e){return Number.isFinite(e)})&&3===s.length)return c.call(this,s[0],s[1],s[2])}},a.default.Vector.prototype.sub=function(e,t,r){return e instanceof a.default.Vector?(this.x-=e.x||0,this.y-=e.y||0,this.z-=e.z||0):e instanceof Array?(this.x-=e[0]||0,this.y-=e[1]||0,this.z-=e[2]||0):(this.x-=e||0,this.y-=t||0,this.z-=r||0),this},a.default.Vector.prototype.mult=function(e,t,r){var o;return e instanceof a.default.Vector?Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.z)&&"number"==typeof e.x&&"number"==typeof e.y&&"number"==typeof e.z?(this.x*=e.x,this.y*=e.y,this.z*=e.z):console.warn("p5.Vector.prototype.mult:","x contains components that are either undefined or not finite numbers"):e instanceof Array?e.every(function(e){return Number.isFinite(e)})&&e.every(function(e){return"number"==typeof e})?1===e.length?(this.x*=e[0],this.y*=e[0],this.z*=e[0]):2===e.length?(this.x*=e[0],this.y*=e[1]):3===e.length&&(this.x*=e[0],this.y*=e[1],this.z*=e[2]):console.warn("p5.Vector.prototype.mult:","x contains elements that are either undefined or not finite numbers"):(o=Array.prototype.slice.call(arguments)).every(function(e){return Number.isFinite(e)})&&o.every(function(e){return"number"==typeof e})?(1===arguments.length&&(this.x*=e,this.y*=e,this.z*=e),2===arguments.length&&(this.x*=e,this.y*=t),3===arguments.length&&(this.x*=e,this.y*=t,this.z*=r)):console.warn("p5.Vector.prototype.mult:","x, y, or z arguments are either undefined or not a finite number"),this},a.default.Vector.prototype.div=function(e,t,r){if(e instanceof a.default.Vector)if(Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.z)&&"number"==typeof e.x&&"number"==typeof e.y&&"number"==typeof e.z){if(0===e.x||0===e.y||0===e.z)return console.warn("p5.Vector.prototype.div:","divide by 0"),this;this.x/=e.x,this.y/=e.y,this.z/=e.z}else console.warn("p5.Vector.prototype.div:","x contains components that are either undefined or not finite numbers");else if(e instanceof Array)if(e.every(function(e){return Number.isFinite(e)})&&e.every(function(e){return"number"==typeof e})){if(e.some(function(e){return 0===e}))return console.warn("p5.Vector.prototype.div:","divide by 0"),this;1===e.length?(this.x/=e[0],this.y/=e[0],this.z/=e[0]):2===e.length?(this.x/=e[0],this.y/=e[1]):3===e.length&&(this.x/=e[0],this.y/=e[1],this.z/=e[2])}else console.warn("p5.Vector.prototype.div:","x contains components that are either undefined or not finite numbers");else{var o=Array.prototype.slice.call(arguments);if(o.every(function(e){return Number.isFinite(e)})&&o.every(function(e){return"number"==typeof e})){if(o.some(function(e){return 0===e}))return console.warn("p5.Vector.prototype.div:","divide by 0"),this;1===arguments.length&&(this.x/=e,this.y/=e,this.z/=e),2===arguments.length&&(this.x/=e,this.y/=t),3===arguments.length&&(this.x/=e,this.y/=t,this.z/=r)}else console.warn("p5.Vector.prototype.div:","x, y, or z arguments are either undefined or not a finite number")}return this},a.default.Vector.prototype.mag=function(){return Math.sqrt(this.magSq())},a.default.Vector.prototype.magSq=function(){var e=this.x,t=this.y,r=this.z;return e*e+t*t+r*r},a.default.Vector.prototype.dot=function(e,t,r){return e instanceof a.default.Vector?this.dot(e.x,e.y,e.z):this.x*(e||0)+this.y*(t||0)+this.z*(r||0)},a.default.Vector.prototype.cross=function(e){var t=this.y*e.z-this.z*e.y,r=this.z*e.x-this.x*e.z,e=this.x*e.y-this.y*e.x;return this.isPInst?new a.default.Vector(this._fromRadians,this._toRadians,t,r,e):new a.default.Vector(t,r,e)},a.default.Vector.prototype.dist=function(e){return e.copy().sub(this).mag()},a.default.Vector.prototype.normalize=function(){var e=this.mag();return 0!==e&&this.mult(1/e),this},a.default.Vector.prototype.limit=function(e){var t=this.magSq();return e*e>>0},n.default.prototype.randomSeed=function(e){this._lcgSetSeed(s,e),this._gaussian_previous=!1},n.default.prototype.random=function(e,t){var r,o;return n.default._validateParameters("random",arguments),r=null!=this[s]?this._lcg(s):Math.random(),void 0===e?r:void 0===t?e instanceof Array?e[Math.floor(r*e.length)]:r*e:(th&&(b=d,v=a,s=l,d=x+h*(i&&x=t?r.substring(r.length-t,r.length):r}},o.default.prototype.unhex=function(e){return e instanceof Array?e.map(o.default.prototype.unhex):parseInt("0x".concat(e),16)};e=o.default;r.default=e},{"../core/main":267,"core-js/modules/es.array.map":161,"core-js/modules/es.number.constructor":169,"core-js/modules/es.object.to-string":177,"core-js/modules/es.regexp.to-string":182,"core-js/modules/es.string.repeat":188}],308:[function(e,t,r){"use strict";e("core-js/modules/es.array.filter"),e("core-js/modules/es.array.index-of"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.map"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.constructor"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.match"),e("core-js/modules/es.string.replace"),e("core-js/modules/es.string.split"),e("core-js/modules/es.string.trim"),e("core-js/modules/es.array.filter"),e("core-js/modules/es.array.index-of"),e("core-js/modules/es.array.join"),e("core-js/modules/es.array.map"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.constructor"),e("core-js/modules/es.regexp.exec"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.match"),e("core-js/modules/es.string.replace"),e("core-js/modules/es.string.split"),e("core-js/modules/es.string.trim"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var s=(l=e("../core/main"))&&l.__esModule?l:{default:l};function o(e,t,r){var o=e<0,e=o?e.toString().substring(1):e.toString(),n=e.indexOf("."),s=-1!==n?e.substring(0,n):e,i=-1!==n?e.substring(n+1):"",a=o?"-":"";if(void 0!==r){o="";(-1!==n||0r&&(i=i.substring(0,r));for(var l=0;lo.length)for(var n=t-(o+=-1===r?".":"").length+1,s=0;s=_.TWO_PI?"".concat(c="ellipse","|"):"".concat(c="arc","|").concat(s,"|").concat(i,"|").concat(a,"|")).concat(l,"|"),c=(this.geometryInHash(u)||((t=new S.default.Geometry(l,1,function(){if(this.strokeIndices=[],s.toFixed(10)!==i.toFixed(10)){a!==_.PIE&&void 0!==a||(this.vertices.push(new S.default.Vector(.5,.5,0)),this.uvs.push([.5,.5]));for(var e=0;e<=l;e++){var t=(i-s)*(e/l)+s,r=.5+Math.cos(t)/2,t=.5+Math.sin(t)/2;this.vertices.push(new S.default.Vector(r,t,0)),this.uvs.push([r,t]),e>5&31)/31,(p>>10&31)/31):(r=i,o=a,l)),new x.default.Vector(y,g,v)),j=1;j<=3;j++){var _=m+12*j,_=new x.default.Vector(u.getFloat32(_,!0),u.getFloat32(4+_,!0),u.getFloat32(8+_,!0));e.vertices.push(_),e.vertexNormals.push(b),d&&s.push(r,o,n)}e.faces.push([3*h,3*h+1,3*h+2]),e.uvs.push([0,0],[0,0],[0,0])}}(e,t);else{t=new DataView(t);if(!("TextDecoder"in window))return console.warn("Sorry, ASCII STL loading only works in browsers that support TextDecoder (https://caniuse.com/#feat=textencoder)");t=new TextDecoder("utf-8").decode(t).split("\n");!function(e,t){for(var r,o,n="",s=[],i=0;iMath.PI?s=Math.PI:s<=0&&(s=.001),Math.sin(s)*i*Math.sin(o)),e=Math.cos(s)*i,r=Math.sin(s)*i*Math.cos(o);this.camera(n+this.centerX,e+this.centerY,r+this.centerZ,this.centerX,this.centerY,this.centerZ,0,1,0)},f.default.Camera.prototype._isActive=function(){return this===this._renderer._curCamera},f.default.prototype.setCamera=function(e){this._renderer._curCamera=e,this._renderer.uPMatrix.set(e.projMatrix.mat4[0],e.projMatrix.mat4[1],e.projMatrix.mat4[2],e.projMatrix.mat4[3],e.projMatrix.mat4[4],e.projMatrix.mat4[5],e.projMatrix.mat4[6],e.projMatrix.mat4[7],e.projMatrix.mat4[8],e.projMatrix.mat4[9],e.projMatrix.mat4[10],e.projMatrix.mat4[11],e.projMatrix.mat4[12],e.projMatrix.mat4[13],e.projMatrix.mat4[14],e.projMatrix.mat4[15])};e=f.default.Camera;r.default=e},{"../core/main":267}],316:[function(e,t,r){"use strict";e("core-js/modules/es.string.sub"),e("core-js/modules/es.string.sub"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var l=(e=e("../core/main"))&&e.__esModule?e:{default:e};l.default.Geometry=function(e,t,r){return this.vertices=[],this.lineVertices=[],this.lineNormals=[],this.vertexNormals=[],this.faces=[],this.uvs=[],this.edges=[],this.vertexColors=[],this.detailX=void 0!==e?e:1,this.detailY=void 0!==t?t:1,this.dirtyFlags={},r instanceof Function&&r.call(this),this},l.default.Geometry.prototype.reset=function(){this.lineVertices.length=0,this.lineNormals.length=0,this.vertices.length=0,this.edges.length=0,this.vertexColors.length=0,this.vertexNormals.length=0,this.uvs.length=0,this.dirtyFlags={}},l.default.Geometry.prototype.computeFaces=function(){this.faces.length=0;for(var e,t,r,o=this.detailX+1,n=0;nthis.vertices.length-1-this.detailX;o--)e.add(this.vertexNormals[o]);e=l.default.Vector.div(e,this.detailX);for(var n=this.vertices.length-1;n>this.vertices.length-1-this.detailX;n--)this.vertexNormals[n]=e;return this},l.default.Geometry.prototype._makeTriangleEdges=function(){if(this.edges.length=0,Array.isArray(this.strokeIndices))for(var e=0,t=this.strokeIndices.length;e 65535 triangles. Your web browser does not support the WebGL Extension OES_element_index_uint.");r.drawElements(r.TRIANGLES,t.vertexCount,t.indexBufferType,0)}else r.drawArrays(e||r.TRIANGLES,0,t.vertexCount)},a.default.RendererGL.prototype._drawPoints=function(e,t){var r=this.GL,o=this._getImmediatePointShader();this._setPointUniforms(o),this._bindBuffer(t,r.ARRAY_BUFFER,this._vToNArray(e),Float32Array,r.STATIC_DRAW),o.enableAttrib(o.attributes.aPosition,3),r.drawArrays(r.Points,0,e.length),o.unbindShader()},a.default.RendererGL);r.default=n},{"../core/main":267,"./p5.RenderBuffer":318,"./p5.RendererGL":321,"core-js/modules/es.array.fill":152,"core-js/modules/es.array.iterator":158,"core-js/modules/es.array.some":163,"core-js/modules/es.object.keys":176,"core-js/modules/es.object.to-string":177,"core-js/modules/es.string.iterator":186,"core-js/modules/es.symbol":196,"core-js/modules/es.symbol.description":194,"core-js/modules/es.symbol.iterator":195,"core-js/modules/es.typed-array.copy-within":197,"core-js/modules/es.typed-array.every":198,"core-js/modules/es.typed-array.fill":199,"core-js/modules/es.typed-array.filter":200,"core-js/modules/es.typed-array.find":202,"core-js/modules/es.typed-array.find-index":201,"core-js/modules/es.typed-array.float32-array":203,"core-js/modules/es.typed-array.for-each":205,"core-js/modules/es.typed-array.includes":206,"core-js/modules/es.typed-array.index-of":207,"core-js/modules/es.typed-array.iterator":210,"core-js/modules/es.typed-array.join":211,"core-js/modules/es.typed-array.last-index-of":212,"core-js/modules/es.typed-array.map":213,"core-js/modules/es.typed-array.reduce":215,"core-js/modules/es.typed-array.reduce-right":214,"core-js/modules/es.typed-array.reverse":216,"core-js/modules/es.typed-array.set":217,"core-js/modules/es.typed-array.slice":218,"core-js/modules/es.typed-array.some":219,"core-js/modules/es.typed-array.sort":220,"core-js/modules/es.typed-array.subarray":221,"core-js/modules/es.typed-array.to-locale-string":222,"core-js/modules/es.typed-array.to-string":223,"core-js/modules/es.typed-array.uint16-array":224,"core-js/modules/es.typed-array.uint32-array":225,"core-js/modules/web.dom-collections.iterator":230}],321:[function(e,t,r){"use strict";function o(e){return(o="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 i(e){return(i="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)})(e)}e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.fill"),e("core-js/modules/es.array.filter"),e("core-js/modules/es.array.from"),e("core-js/modules/es.array.includes"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.assign"),e("core-js/modules/es.object.get-own-property-descriptor"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.includes"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.typed-array.float32-array"),e("core-js/modules/es.typed-array.float64-array"),e("core-js/modules/es.typed-array.int16-array"),e("core-js/modules/es.typed-array.uint8-array"),e("core-js/modules/es.typed-array.uint16-array"),e("core-js/modules/es.typed-array.uint32-array"),e("core-js/modules/es.typed-array.copy-within"),e("core-js/modules/es.typed-array.every"),e("core-js/modules/es.typed-array.fill"),e("core-js/modules/es.typed-array.filter"),e("core-js/modules/es.typed-array.find"),e("core-js/modules/es.typed-array.find-index"),e("core-js/modules/es.typed-array.for-each"),e("core-js/modules/es.typed-array.includes"),e("core-js/modules/es.typed-array.index-of"),e("core-js/modules/es.typed-array.iterator"),e("core-js/modules/es.typed-array.join"),e("core-js/modules/es.typed-array.last-index-of"),e("core-js/modules/es.typed-array.map"),e("core-js/modules/es.typed-array.reduce"),e("core-js/modules/es.typed-array.reduce-right"),e("core-js/modules/es.typed-array.reverse"),e("core-js/modules/es.typed-array.set"),e("core-js/modules/es.typed-array.slice"),e("core-js/modules/es.typed-array.some"),e("core-js/modules/es.typed-array.sort"),e("core-js/modules/es.typed-array.subarray"),e("core-js/modules/es.typed-array.to-locale-string"),e("core-js/modules/es.typed-array.to-string"),e("core-js/modules/es.weak-map"),e("core-js/modules/web.dom-collections.iterator"),e("core-js/modules/es.symbol"),e("core-js/modules/es.symbol.description"),e("core-js/modules/es.symbol.iterator"),e("core-js/modules/es.array.concat"),e("core-js/modules/es.array.fill"),e("core-js/modules/es.array.filter"),e("core-js/modules/es.array.from"),e("core-js/modules/es.array.includes"),e("core-js/modules/es.array.iterator"),e("core-js/modules/es.array.slice"),e("core-js/modules/es.object.assign"),e("core-js/modules/es.object.to-string"),e("core-js/modules/es.regexp.to-string"),e("core-js/modules/es.string.includes"),e("core-js/modules/es.string.iterator"),e("core-js/modules/es.typed-array.float32-array"),e("core-js/modules/es.typed-array.float64-array"),e("core-js/modules/es.typed-array.int16-array"),e("core-js/modules/es.typed-array.uint8-array"),e("core-js/modules/es.typed-array.uint16-array"),e("core-js/modules/es.typed-array.uint32-array"),e("core-js/modules/es.typed-array.copy-within"),e("core-js/modules/es.typed-array.every"),e("core-js/modules/es.typed-array.fill"),e("core-js/modules/es.typed-array.filter"),e("core-js/modules/es.typed-array.find"),e("core-js/modules/es.typed-array.find-index"),e("core-js/modules/es.typed-array.for-each"),e("core-js/modules/es.typed-array.includes"),e("core-js/modules/es.typed-array.index-of"),e("core-js/modules/es.typed-array.iterator"),e("core-js/modules/es.typed-array.join"),e("core-js/modules/es.typed-array.last-index-of"),e("core-js/modules/es.typed-array.map"),e("core-js/modules/es.typed-array.reduce"),e("core-js/modules/es.typed-array.reduce-right"),e("core-js/modules/es.typed-array.reverse"),e("core-js/modules/es.typed-array.set"),e("core-js/modules/es.typed-array.slice"),e("core-js/modules/es.typed-array.some"),e("core-js/modules/es.typed-array.sort"),e("core-js/modules/es.typed-array.subarray"),e("core-js/modules/es.typed-array.to-locale-string"),e("core-js/modules/es.typed-array.to-string"),e("core-js/modules/web.dom-collections.iterator"),Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var l=u(e("../core/main")),s=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r,o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e){var s;Object.prototype.hasOwnProperty.call(e,r)&&((s=n?Object.getOwnPropertyDescriptor(e,r):null)&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r])}o.default=e,t&&t.set(e,o);return o}(e("../core/constants")),n=u(e("libtess"));e("./p5.Shader"),e("./p5.Camera"),e("../core/p5.Renderer"),e("./p5.Matrix"),e("path");function a(){var e;return"function"!=typeof WeakMap?null:(e=new WeakMap,a=function(){return e},e)}function u(e){return e&&e.__esModule?e:{default:e}}function c(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t vTexCoord.y;\n bool y1 = p1.y > vTexCoord.y;\n bool y2 = p2.y > vTexCoord.y;\n\n // could web be under the curve (after t1)?\n if (y1 ? !y2 : y0) {\n // add the coverage for t1\n coverage.x += saturate(C1.x + 0.5);\n // calculate the anti-aliasing for t1\n weight.x = min(weight.x, abs(C1.x));\n }\n\n // are we outside the curve (after t2)?\n if (y1 ? !y0 : y2) {\n // subtract the coverage for t2\n coverage.x -= saturate(C2.x + 0.5);\n // calculate the anti-aliasing for t2\n weight.x = min(weight.x, abs(C2.x));\n }\n}\n\n// this is essentially the same as coverageX, but with the axes swapped\nvoid coverageY(vec2 p0, vec2 p1, vec2 p2) {\n\n vec2 C1, C2;\n calulateCrossings(p0, p1, p2, C1, C2);\n\n bool x0 = p0.x > vTexCoord.x;\n bool x1 = p1.x > vTexCoord.x;\n bool x2 = p2.x > vTexCoord.x;\n\n if (x1 ? !x2 : x0) {\n coverage.y -= saturate(C1.y + 0.5);\n weight.y = min(weight.y, abs(C1.y));\n }\n\n if (x1 ? !x0 : x2) {\n coverage.y += saturate(C2.y + 0.5);\n weight.y = min(weight.y, abs(C2.y));\n }\n}\n\nvoid main() {\n\n // calculate the pixel scale based on screen-coordinates\n pixelScale = hardness / fwidth(vTexCoord);\n\n // which grid cell is this pixel in?\n ivec2 gridCoord = ifloor(vTexCoord * vec2(uGridSize));\n\n // intersect curves in this row\n {\n // the index into the row info bitmap\n int rowIndex = gridCoord.y + uGridOffset.y;\n // fetch the info texel\n vec4 rowInfo = getTexel(uSamplerRows, rowIndex, uGridImageSize);\n // unpack the rowInfo\n int rowStrokeIndex = getInt16(rowInfo.xy);\n int rowStrokeCount = getInt16(rowInfo.zw);\n\n for (int iRowStroke = INT(0); iRowStroke < N; iRowStroke++) {\n if (iRowStroke >= rowStrokeCount)\n break;\n\n // each stroke is made up of 3 points: the start and control point\n // and the start of the next curve.\n // fetch the indices of this pair of strokes:\n vec4 strokeIndices = getTexel(uSamplerRowStrokes, rowStrokeIndex++, uCellsImageSize);\n\n // unpack the stroke index\n int strokePos = getInt16(strokeIndices.xy);\n\n // fetch the two strokes\n vec4 stroke0 = getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\n vec4 stroke1 = getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\n\n // calculate the coverage\n coverageX(stroke0.xy, stroke0.zw, stroke1.xy);\n }\n }\n\n // intersect curves in this column\n {\n int colIndex = gridCoord.x + uGridOffset.x;\n vec4 colInfo = getTexel(uSamplerCols, colIndex, uGridImageSize);\n int colStrokeIndex = getInt16(colInfo.xy);\n int colStrokeCount = getInt16(colInfo.zw);\n \n for (int iColStroke = INT(0); iColStroke < N; iColStroke++) {\n if (iColStroke >= colStrokeCount)\n break;\n\n vec4 strokeIndices = getTexel(uSamplerColStrokes, colStrokeIndex++, uCellsImageSize);\n\n int strokePos = getInt16(strokeIndices.xy);\n vec4 stroke0 = getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\n vec4 stroke1 = getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\n coverageY(stroke0.xy, stroke0.zw, stroke1.xy);\n }\n }\n\n weight = saturate(1.0 - weight * 2.0);\n float distance = max(weight.x + weight.y, minDistance); // manhattan approx.\n float antialias = abs(dot(coverage, weight) / distance);\n float cover = min(abs(coverage.x), abs(coverage.y));\n gl_FragColor = uMaterialColor;\n gl_FragColor.a *= saturate(max(antialias, cover));\n}",lineVert:"/*\n Part of the Processing project - http://processing.org\n Copyright (c) 2012-15 The Processing Foundation\n Copyright (c) 2004-12 Ben Fry and Casey Reas\n Copyright (c) 2001-04 Massachusetts Institute of Technology\n This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation, version 2.1.\n This library is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n You should have received a copy of the GNU Lesser General\n Public License along with this library; if not, write to the\n Free Software Foundation, Inc., 59 Temple Place, Suite 330,\n Boston, MA 02111-1307 USA\n*/\n\n#define PROCESSING_LINE_SHADER\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform float uStrokeWeight;\n\nuniform vec4 uViewport;\nuniform int uPerspective;\n\nattribute vec4 aPosition;\nattribute vec4 aDirection;\n \nvoid main() {\n // using a scale <1 moves the lines towards the camera\n // in order to prevent popping effects due to half of\n // the line disappearing behind the geometry faces.\n vec3 scale = vec3(0.9995);\n\n vec4 posp = uModelViewMatrix * aPosition;\n vec4 posq = uModelViewMatrix * (aPosition + vec4(aDirection.xyz, 0));\n\n // Moving vertices slightly toward the camera\n // to avoid depth-fighting with the fill triangles.\n // Discussed here:\n // http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=252848 \n posp.xyz = posp.xyz * scale;\n posq.xyz = posq.xyz * scale;\n\n vec4 p = uProjectionMatrix * posp;\n vec4 q = uProjectionMatrix * posq;\n\n // formula to convert from clip space (range -1..1) to screen space (range 0..[width or height])\n // screen_p = (p.xy/p.w + <1,1>) * 0.5 * uViewport.zw\n\n // prevent division by W by transforming the tangent formula (div by 0 causes\n // the line to disappear, see https://github.com/processing/processing/issues/5183)\n // t = screen_q - screen_p\n //\n // tangent is normalized and we don't care which aDirection it points to (+-)\n // t = +- normalize( screen_q - screen_p )\n // t = +- normalize( (q.xy/q.w+<1,1>)*0.5*uViewport.zw - (p.xy/p.w+<1,1>)*0.5*uViewport.zw )\n //\n // extract common factor, <1,1> - <1,1> cancels out\n // t = +- normalize( (q.xy/q.w - p.xy/p.w) * 0.5 * uViewport.zw )\n //\n // convert to common divisor\n // t = +- normalize( ((q.xy*p.w - p.xy*q.w) / (p.w*q.w)) * 0.5 * uViewport.zw )\n //\n // remove the common scalar divisor/factor, not needed due to normalize and +-\n // (keep uViewport - can't remove because it has different components for x and y\n // and corrects for aspect ratio, see https://github.com/processing/processing/issues/5181)\n // t = +- normalize( (q.xy*p.w - p.xy*q.w) * uViewport.zw )\n\n vec2 tangent = normalize((q.xy*p.w - p.xy*q.w) * uViewport.zw);\n\n // flip tangent to normal (it's already normalized)\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n float thickness = aDirection.w * uStrokeWeight;\n vec2 offset = normal * thickness / 2.0;\n\n vec2 curPerspScale;\n\n if(uPerspective == 1) {\n // Perspective ---\n // convert from world to clip by multiplying with projection scaling factor\n // to get the right thickness (see https://github.com/processing/processing/issues/5182)\n // invert Y, projections in Processing invert Y\n curPerspScale = (uProjectionMatrix * vec4(1, -1, 0, 0)).xy;\n } else {\n // No Perspective ---\n // multiply by W (to cancel out division by W later in the pipeline) and\n // convert from screen to clip (derived from clip to screen above)\n curPerspScale = p.w / (0.5 * uViewport.zw);\n }\n\n gl_Position.xy = p.xy + offset.xy * curPerspScale;\n gl_Position.zw = p.zw;\n}\n",lineFrag:"precision mediump float;\nprecision mediump int;\n\nuniform vec4 uMaterialColor;\n\nvoid main() {\n gl_FragColor = uMaterialColor;\n}",pointVert:"attribute vec3 aPosition;\nuniform float uPointSize;\nvarying float vStrokeWeight;\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nvoid main() {\n\tvec4 positionVec4 = vec4(aPosition, 1.0);\n\tgl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n\tgl_PointSize = uPointSize;\n\tvStrokeWeight = uPointSize;\n}",pointFrag:"precision mediump float;\nprecision mediump int;\nuniform vec4 uMaterialColor;\nvarying float vStrokeWeight;\n\nvoid main(){\n\tfloat mask = 0.0;\n\n\t// make a circular mask using the gl_PointCoord (goes from 0 - 1 on a point)\n // might be able to get a nicer edge on big strokeweights with smoothstep but slightly less performant\n\n\tmask = step(0.98, length(gl_PointCoord * 2.0 - 1.0));\n\n\t// if strokeWeight is 1 or less lets just draw a square\n\t// this prevents weird artifacting from carving circles when our points are really small\n\t// if strokeWeight is larger than 1, we just use it as is\n\n\tmask = mix(0.0, mask, clamp(floor(vStrokeWeight - 0.5),0.0,1.0));\n\n\t// throw away the borders of the mask\n // otherwise we get weird alpha blending issues\n\n\tif(mask > 0.98){\n discard;\n \t}\n\n \tgl_FragColor = vec4(uMaterialColor.rgb * (1.0 - mask), uMaterialColor.a) ;\n}"},e=(l.default.RendererGL=function(e,t,r,o){return l.default.Renderer.call(this,e,t,r),this._setAttributeDefaults(t),this._initContext(),this.isP3D=!0,this.GL=this.drawingContext,this._pInst._setProperty("drawingContext",this.drawingContext),this._isErasing=!1,this._enableLighting=!1,this.ambientLightColors=[],this.specularColors=[1,1,1],this.directionalLightDirections=[],this.directionalLightDiffuseColors=[],this.directionalLightSpecularColors=[],this.pointLightPositions=[],this.pointLightDiffuseColors=[],this.pointLightSpecularColors=[],this.spotLightPositions=[],this.spotLightDirections=[],this.spotLightDiffuseColors=[],this.spotLightSpecularColors=[],this.spotLightAngle=[],this.spotLightConc=[],this.drawMode=s.FILL,this.curFillColor=this._cachedFillStyle=[1,1,1,1],this.curAmbientColor=this._cachedFillStyle=[0,0,0,0],this.curSpecularColor=this._cachedFillStyle=[0,0,0,0],this.curEmissiveColor=this._cachedFillStyle=[0,0,0,0],this.curStrokeColor=this._cachedStrokeStyle=[0,0,0,1],this.curBlendMode=s.BLEND,this._cachedBlendMode=void 0,this.blendExt=this.GL.getExtension("EXT_blend_minmax"),this._isBlending=!1,this._useSpecularMaterial=!1,this._useEmissiveMaterial=!1,this._useNormalMaterial=!1,this._useShininess=1,this._tint=[255,255,255,255],this.constantAttenuation=1,this.linearAttenuation=0,this.quadraticAttenuation=0,this.uMVMatrix=new l.default.Matrix,this.uPMatrix=new l.default.Matrix,this.uNMatrix=new l.default.Matrix("mat3"),this._currentNormal=new l.default.Vector(0,0,1),this._curCamera=new l.default.Camera(this),this._curCamera._computeCameraDefaultSettings(),this._curCamera._setDefaultCamera(),this._defaultLightShader=void 0,this._defaultImmediateModeShader=void 0,this._defaultNormalShader=void 0,this._defaultColorShader=void 0,this._defaultPointShader=void 0,this.userFillShader=void 0,this.userStrokeShader=void 0,this.userPointShader=void 0,this.retainedMode={geometry:{},buffers:{stroke:[new l.default.RenderBuffer(3,"lineVertices","lineVertexBuffer","aPosition",this,this._flatten),new l.default.RenderBuffer(4,"lineNormals","lineNormalBuffer","aDirection",this,this._flatten)],fill:[new l.default.RenderBuffer(3,"vertices","vertexBuffer","aPosition",this,this._vToNArray),new l.default.RenderBuffer(3,"vertexNormals","normalBuffer","aNormal",this,this._vToNArray),new l.default.RenderBuffer(4,"vertexColors","colorBuffer","aVertexColor",this),new l.default.RenderBuffer(3,"vertexAmbients","ambientBuffer","aAmbientColor",this),new l.default.RenderBuffer(2,"uvs","uvBuffer","aTexCoord",this,this._flatten)],text:[new l.default.RenderBuffer(3,"vertices","vertexBuffer","aPosition",this,this._vToNArray),new l.default.RenderBuffer(2,"uvs","uvBuffer","aTexCoord",this,this._flatten)]}},this.immediateMode={geometry:new l.default.Geometry,shapeMode:s.TRIANGLE_FAN,_bezierVertex:[],_quadraticVertex:[],_curveVertex:[],buffers:{fill:[new l.default.RenderBuffer(3,"vertices","vertexBuffer","aPosition",this,this._vToNArray),new l.default.RenderBuffer(3,"vertexNormals","normalBuffer","aNormal",this,this._vToNArray),new l.default.RenderBuffer(4,"vertexColors","colorBuffer","aVertexColor",this),new l.default.RenderBuffer(3,"vertexAmbients","ambientBuffer","aAmbientColor",this),new l.default.RenderBuffer(2,"uvs","uvBuffer","aTexCoord",this,this._flatten)],stroke:[new l.default.RenderBuffer(3,"lineVertices","lineVertexBuffer","aPosition",this,this._flatten),new l.default.RenderBuffer(4,"lineNormals","lineNormalBuffer","aDirection",this,this._flatten)],point:this.GL.createBuffer()}},this.pointSize=5,this.curStrokeWeight=1,this.textures=[],this.textureMode=s.IMAGE,this.textureWrapX=s.CLAMP,this.textureWrapY=s.CLAMP,this._tex=null,this._curveTightness=6,this._lookUpTableBezier=[],this._lookUpTableQuadratic=[],this._lutBezierDetail=0,this._lutQuadraticDetail=0,this._tessy=this._initTessy(),this.fontInfos={},this._curShader=void 0,this},l.default.RendererGL.prototype=Object.create(l.default.Renderer.prototype),l.default.RendererGL.prototype._setAttributeDefaults=function(e){var t={alpha:!1,depth:!0,stencil:!0,antialias:navigator.userAgent.toLowerCase().includes("safari"),premultipliedAlpha:!1,preserveDrawingBuffer:!0,perPixelLighting:!0};null===e._glAttributes?e._glAttributes=t:e._glAttributes=Object.assign(t,e._glAttributes)},l.default.RendererGL.prototype._initContext=function(){if(this.drawingContext=this.canvas.getContext("webgl",this._pInst._glAttributes)||this.canvas.getContext("experimental-webgl",this._pInst._glAttributes),null===this.drawingContext)throw new Error("Error creating webgl context");var e=this.drawingContext;e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight),this._viewport=this.drawingContext.getParameter(this.drawingContext.VIEWPORT)},l.default.RendererGL.prototype._resetContext=function(e,t){var r,o=this.width,n=this.height,s=this.canvas.id,i=this._pInst instanceof l.default.Graphics,s=(i?((r=this._pInst).canvas.parentNode.removeChild(r.canvas),r.canvas=document.createElement("canvas"),(r._pInst._userNode||document.body).appendChild(r.canvas),l.default.Element.call(r,r.canvas,r._pInst),r.width=o,r.height=n):((r=this.canvas)&&r.parentNode.removeChild(r),(r=document.createElement("canvas")).id=s,(this._pInst._userNode||document.body).appendChild(r),this._pInst.canvas=r,this.canvas=r),new l.default.RendererGL(this._pInst.canvas,this._pInst,!i));this._pInst._setProperty("_renderer",s),s.resize(o,n),s._applyDefaults(),i||this._pInst._elements.push(s),"function"==typeof t&&setTimeout(function(){t.apply(window._renderer,e)},0)},l.default.prototype.setAttributes=function(e,t){if(void 0===this._glAttributes)console.log("You are trying to use setAttributes on a p5.Graphics object that does not use a WEBGL renderer.");else{var r=!0;if(void 0!==t?(null===this._glAttributes&&(this._glAttributes={}),this._glAttributes[e]!==t&&(this._glAttributes[e]=t,r=!1)):e instanceof Object&&this._glAttributes!==e&&(this._glAttributes=e,r=!1),this._renderer.isP3D&&!r){if(!this._setupDone)for(var o in this._renderer.retainedMode.geometry)if(this._renderer.retainedMode.geometry.hasOwnProperty(o))return void console.error("Sorry, Could not set the attributes, you need to call setAttributes() before calling the other drawing methods in setup()");this.push(),this._renderer._resetContext(),this.pop(),this._renderer._curCamera&&(this._renderer._curCamera._renderer=this._renderer)}}},l.default.RendererGL.prototype._update=function(){this.uMVMatrix.set(this._curCamera.cameraMatrix.mat4[0],this._curCamera.cameraMatrix.mat4[1],this._curCamera.cameraMatrix.mat4[2],this._curCamera.cameraMatrix.mat4[3],this._curCamera.cameraMatrix.mat4[4],this._curCamera.cameraMatrix.mat4[5],this._curCamera.cameraMatrix.mat4[6],this._curCamera.cameraMatrix.mat4[7],this._curCamera.cameraMatrix.mat4[8],this._curCamera.cameraMatrix.mat4[9],this._curCamera.cameraMatrix.mat4[10],this._curCamera.cameraMatrix.mat4[11],this._curCamera.cameraMatrix.mat4[12],this._curCamera.cameraMatrix.mat4[13],this._curCamera.cameraMatrix.mat4[14],this._curCamera.cameraMatrix.mat4[15]),this.ambientLightColors.length=0,this.specularColors=[1,1,1],this.directionalLightDirections.length=0,this.directionalLightDiffuseColors.length=0,this.directionalLightSpecularColors.length=0,this.pointLightPositions.length=0,this.pointLightDiffuseColors.length=0,this.pointLightSpecularColors.length=0,this.spotLightPositions.length=0,this.spotLightDirections.length=0,this.spotLightDiffuseColors.length=0,this.spotLightSpecularColors.length=0,this.spotLightAngle.length=0,this.spotLightConc.length=0,this._enableLighting=!1,this._tint=[255,255,255,255],this.GL.clear(this.GL.DEPTH_BUFFER_BIT)},l.default.RendererGL.prototype.background=function(){var e=(e=this._pInst).color.apply(e,arguments),t=e.levels[0]/255,r=e.levels[1]/255,o=e.levels[2]/255,e=e.levels[3]/255;this.GL.clearColor(t,r,o,e),this.GL.clear(this.GL.COLOR_BUFFER_BIT)},l.default.RendererGL.prototype.fill=function(e,t,r,o){var n=l.default.prototype.color.apply(this._pInst,arguments);this.curFillColor=n._array,this.drawMode=s.FILL,this._useNormalMaterial=!1,this._tex=null},l.default.RendererGL.prototype.stroke=function(e,t,r,o){arguments[3]=255;var n=l.default.prototype.color.apply(this._pInst,arguments);this.curStrokeColor=n._array},l.default.RendererGL.prototype.strokeCap=function(e){console.error("Sorry, strokeCap() is not yet implemented in WEBGL mode")},l.default.RendererGL.prototype.strokeJoin=function(e){console.error("Sorry, strokeJoin() is not yet implemented in WEBGL mode")},l.default.RendererGL.prototype.filter=function(e){console.error("filter() does not work in WEBGL mode")},l.default.RendererGL.prototype.blendMode=function(e){e===s.DARKEST||e===s.LIGHTEST||e===s.ADD||e===s.BLEND||e===s.SUBTRACT||e===s.SCREEN||e===s.EXCLUSION||e===s.REPLACE||e===s.MULTIPLY||e===s.REMOVE?this.curBlendMode=e:e!==s.BURN&&e!==s.OVERLAY&&e!==s.HARD_LIGHT&&e!==s.SOFT_LIGHT&&e!==s.DODGE||console.warn("BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.")},l.default.RendererGL.prototype.erase=function(e,t){this._isErasing||(this._applyBlendMode(s.REMOVE),this._isErasing=!0,this._cachedFillStyle=this.curFillColor.slice(),this.curFillColor=[1,1,1,e/255],this._cachedStrokeStyle=this.curStrokeColor.slice(),this.curStrokeColor=[1,1,1,t/255])},l.default.RendererGL.prototype.noErase=function(){this._isErasing&&(this._isErasing=!1,this.curFillColor=this._cachedFillStyle.slice(),this.curStrokeColor=this._cachedStrokeStyle.slice(),this.blendMode(this._cachedBlendMode))},l.default.RendererGL.prototype.strokeWeight=function(e){this.curStrokeWeight!==e&&(this.pointSize=e,this.curStrokeWeight=e)},l.default.RendererGL.prototype._getPixel=function(e,t){var r=new Uint8Array(4);return this.drawingContext.readPixels(e,t,1,1,this.drawingContext.RGBA,this.drawingContext.UNSIGNED_BYTE,r),[r[0],r[1],r[2],r[3]]},l.default.RendererGL.prototype.loadPixels=function(){var e,t=this._pixelsState;!0!==this._pInst._glAttributes.preserveDrawingBuffer?console.log("loadPixels only works in WebGL when preserveDrawingBuffer is true."):(t=t.pixels,e=this.GL.drawingBufferWidth*this.GL.drawingBufferHeight*4,t instanceof Uint8Array&&t.length===e||(t=new Uint8Array(e),this._pixelsState._setProperty("pixels",t)),e=this._pInst._pixelDensity,this.GL.readPixels(0,0,this.width*e,this.height*e,this.GL.RGBA,this.GL.UNSIGNED_BYTE,t))},l.default.RendererGL.prototype.geometryInHash=function(e){return void 0!==this.retainedMode.geometry[e]},l.default.RendererGL.prototype.resize=function(e,t){l.default.Renderer.prototype.resize.call(this,e,t),this.GL.viewport(0,0,this.GL.drawingBufferWidth,this.GL.drawingBufferHeight),this._viewport=this.GL.getParameter(this.GL.VIEWPORT),this._curCamera._resize();e=this._pixelsState;void 0!==e.pixels&&e._setProperty("pixels",new Uint8Array(this.GL.drawingBufferWidth*this.GL.drawingBufferHeight*4))},l.default.RendererGL.prototype.clear=function(){this.GL.clearColor((arguments.length<=0?void 0:arguments[0])||0,(arguments.length<=1?void 0:arguments[1])||0,(arguments.length<=2?void 0:arguments[2])||0,(arguments.length<=3?void 0:arguments[3])||0),this.GL.clearDepth(1),this.GL.clear(this.GL.COLOR_BUFFER_BIT|this.GL.DEPTH_BUFFER_BIT)},l.default.RendererGL.prototype.applyMatrix=function(e,t,r,o,n,s){16===arguments.length?l.default.Matrix.prototype.apply.apply(this.uMVMatrix,arguments):this.uMVMatrix.apply([e,t,0,0,r,o,0,0,0,0,1,0,n,s,0,1])},l.default.RendererGL.prototype.translate=function(e,t,r){return e instanceof l.default.Vector&&(r=e.z,t=e.y,e=e.x),this.uMVMatrix.translate([e,t,r]),this},l.default.RendererGL.prototype.scale=function(e,t,r){return this.uMVMatrix.scale(e,t,r),this},l.default.RendererGL.prototype.rotate=function(e,t){return void 0===t?this.rotateZ(e):(l.default.Matrix.prototype.rotate.apply(this.uMVMatrix,arguments),this)},l.default.RendererGL.prototype.rotateX=function(e){return this.rotate(e,1,0,0),this},l.default.RendererGL.prototype.rotateY=function(e){return this.rotate(e,0,1,0),this},l.default.RendererGL.prototype.rotateZ=function(e){return this.rotate(e,0,0,1),this},l.default.RendererGL.prototype.push=function(){var e=l.default.Renderer.prototype.push.apply(this),t=e.properties;return t.uMVMatrix=this.uMVMatrix.copy(),t.uPMatrix=this.uPMatrix.copy(),t._curCamera=this._curCamera,this._curCamera=this._curCamera.copy(),t.ambientLightColors=this.ambientLightColors.slice(),t.specularColors=this.specularColors.slice(),t.directionalLightDirections=this.directionalLightDirections.slice(),t.directionalLightDiffuseColors=this.directionalLightDiffuseColors.slice(),t.directionalLightSpecularColors=this.directionalLightSpecularColors.slice(),t.pointLightPositions=this.pointLightPositions.slice(),t.pointLightDiffuseColors=this.pointLightDiffuseColors.slice(),t.pointLightSpecularColors=this.pointLightSpecularColors.slice(),t.spotLightPositions=this.spotLightPositions.slice(),t.spotLightDirections=this.spotLightDirections.slice(),t.spotLightDiffuseColors=this.spotLightDiffuseColors.slice(),t.spotLightSpecularColors=this.spotLightSpecularColors.slice(),t.spotLightAngle=this.spotLightAngle.slice(),t.spotLightConc=this.spotLightConc.slice(),t.userFillShader=this.userFillShader,t.userStrokeShader=this.userStrokeShader,t.userPointShader=this.userPointShader,t.pointSize=this.pointSize,t.curStrokeWeight=this.curStrokeWeight,t.curStrokeColor=this.curStrokeColor,t.curFillColor=this.curFillColor,t.curAmbientColor=this.curAmbientColor,t.curSpecularColor=this.curSpecularColor,t.curEmissiveColor=this.curEmissiveColor,t._useSpecularMaterial=this._useSpecularMaterial,t._useEmissiveMaterial=this._useEmissiveMaterial,t._useShininess=this._useShininess,t.constantAttenuation=this.constantAttenuation,t.linearAttenuation=this.linearAttenuation,t.quadraticAttenuation=this.quadraticAttenuation,t._enableLighting=this._enableLighting,t._useNormalMaterial=this._useNormalMaterial,t._tex=this._tex,t.drawMode=this.drawMode,t._currentNormal=this._currentNormal,t.curBlendMode=this.curBlendMode,e},l.default.RendererGL.prototype.resetMatrix=function(){return this.uMVMatrix=l.default.Matrix.identity(this._pInst),this},l.default.RendererGL.prototype._getImmediateStrokeShader=function(){var e=this.userStrokeShader;return e&&e.isStrokeShader()?e:this._getLineShader()},l.default.RendererGL.prototype._getRetainedStrokeShader=l.default.RendererGL.prototype._getImmediateStrokeShader,l.default.RendererGL.prototype._getImmediateFillShader=function(){var e=this.userFillShader;if(this._useNormalMaterial&&(!e||!e.isNormalShader()))return this._getNormalShader();if(this._enableLighting){if(!e||!e.isLightShader())return this._getLightShader()}else if(this._tex){if(!e||!e.isTextureShader())return this._getLightShader()}else if(!e)return this._getImmediateModeShader();return e},l.default.RendererGL.prototype._getRetainedFillShader=function(){if(this._useNormalMaterial)return this._getNormalShader();var e=this.userFillShader;if(this._enableLighting){if(!e||!e.isLightShader())return this._getLightShader()}else if(this._tex){if(!e||!e.isTextureShader())return this._getLightShader()}else if(!e)return this._getColorShader();return e},l.default.RendererGL.prototype._getImmediatePointShader=function(){var e=this.userPointShader;return e&&e.isPointShader()?e:this._getPointShader()},l.default.RendererGL.prototype._getRetainedLineShader=l.default.RendererGL.prototype._getImmediateLineShader,l.default.RendererGL.prototype._getLightShader=function(){return this._defaultLightShader||(this._pInst._glAttributes.perPixelLighting?this._defaultLightShader=new l.default.Shader(this,d.phongVert,d.phongFrag):this._defaultLightShader=new l.default.Shader(this,d.lightVert,d.lightTextureFrag)),this._defaultLightShader},l.default.RendererGL.prototype._getImmediateModeShader=function(){return this._defaultImmediateModeShader||(this._defaultImmediateModeShader=new l.default.Shader(this,d.immediateVert,d.vertexColorFrag)),this._defaultImmediateModeShader},l.default.RendererGL.prototype._getNormalShader=function(){return this._defaultNormalShader||(this._defaultNormalShader=new l.default.Shader(this,d.normalVert,d.normalFrag)),this._defaultNormalShader},l.default.RendererGL.prototype._getColorShader=function(){return this._defaultColorShader||(this._defaultColorShader=new l.default.Shader(this,d.normalVert,d.basicFrag)),this._defaultColorShader},l.default.RendererGL.prototype._getPointShader=function(){return this._defaultPointShader||(this._defaultPointShader=new l.default.Shader(this,d.pointVert,d.pointFrag)),this._defaultPointShader},l.default.RendererGL.prototype._getLineShader=function(){return this._defaultLineShader||(this._defaultLineShader=new l.default.Shader(this,d.lineVert,d.lineFrag)),this._defaultLineShader},l.default.RendererGL.prototype._getFontShader=function(){return this._defaultFontShader||(this.GL.getExtension("OES_standard_derivatives"),this._defaultFontShader=new l.default.Shader(this,d.fontVert,d.fontFrag)),this._defaultFontShader},l.default.RendererGL.prototype._getEmptyTexture=function(){var e;return this._emptyTexture||((e=new l.default.Image(1,1)).set(0,0,255),this._emptyTexture=new l.default.Texture(this,e)),this._emptyTexture},l.default.RendererGL.prototype.getTexture=function(e){var t=this.textures,r=!0,o=!1,n=void 0;try{for(var s,i=t[Symbol.iterator]();!(r=(s=i.next()).done);r=!0){var a=s.value;if(a.src===e)return a}}catch(e){o=!0,n=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw n}}o=new l.default.Texture(this,e);return t.push(o),o},l.default.RendererGL.prototype._setStrokeUniforms=function(e){e.bindShader(),e.setUniform("uMaterialColor",this.curStrokeColor),e.setUniform("uStrokeWeight",this.curStrokeWeight)},l.default.RendererGL.prototype._setFillUniforms=function(e){e.bindShader(),e.setUniform("uMaterialColor",this.curFillColor),e.setUniform("isTexture",!!this._tex),this._tex&&e.setUniform("uSampler",this._tex),e.setUniform("uTint",this._tint),e.setUniform("uAmbientMatColor",this.curAmbientColor),e.setUniform("uSpecularMatColor",this.curSpecularColor),e.setUniform("uEmissiveMatColor",this.curEmissiveColor),e.setUniform("uSpecular",this._useSpecularMaterial),e.setUniform("uEmissive",this._useEmissiveMaterial),e.setUniform("uShininess",this._useShininess),e.setUniform("uUseLighting",this._enableLighting);var t=this.pointLightDiffuseColors.length/3,t=(e.setUniform("uPointLightCount",t),e.setUniform("uPointLightLocation",this.pointLightPositions),e.setUniform("uPointLightDiffuseColors",this.pointLightDiffuseColors),e.setUniform("uPointLightSpecularColors",this.pointLightSpecularColors),this.directionalLightDiffuseColors.length/3),t=(e.setUniform("uDirectionalLightCount",t),e.setUniform("uLightingDirection",this.directionalLightDirections),e.setUniform("uDirectionalDiffuseColors",this.directionalLightDiffuseColors),e.setUniform("uDirectionalSpecularColors",this.directionalLightSpecularColors),this.ambientLightColors.length/3),t=(e.setUniform("uAmbientLightCount",t),e.setUniform("uAmbientColor",this.ambientLightColors),this.spotLightDiffuseColors.length/3);e.setUniform("uSpotLightCount",t),e.setUniform("uSpotLightAngle",this.spotLightAngle),e.setUniform("uSpotLightConc",this.spotLightConc),e.setUniform("uSpotLightDiffuseColors",this.spotLightDiffuseColors),e.setUniform("uSpotLightSpecularColors",this.spotLightSpecularColors),e.setUniform("uSpotLightLocation",this.spotLightPositions),e.setUniform("uSpotLightDirection",this.spotLightDirections),e.setUniform("uConstantAttenuation",this.constantAttenuation),e.setUniform("uLinearAttenuation",this.linearAttenuation),e.setUniform("uQuadraticAttenuation",this.quadraticAttenuation),e.bindTextures()},l.default.RendererGL.prototype._setPointUniforms=function(e){e.bindShader(),e.setUniform("uMaterialColor",this.curStrokeColor),e.setUniform("uPointSize",this.pointSize*this._pInst._pixelDensity)},l.default.RendererGL.prototype._bindBuffer=function(e,t,r,o,n){t=t||this.GL.ARRAY_BUFFER,this.GL.bindBuffer(t,e),void 0!==r&&(e=new(o||Float32Array)(r),this.GL.bufferData(t,e,n||this.GL.STATIC_DRAW))},l.default.RendererGL.prototype._arraysEqual=function(e,t){var r=e.length;if(r!==t.length)return!1;for(var o=0;o>7,127&d,c>>7,127&c);for(var f=0;f>7,127&h,0,0)}}return{cellImageInfo:a,dimOffset:t,dimImageInfo:n}}}}var V=Math.sqrt(3);B.default.RendererGL.prototype._renderText=function(e,t,r,o,n){if(this._textFont&&"string"!=typeof this._textFont){if(!(n<=o)&&this._doFill){if(this._isOpenType()){e.push();var n=this._doStroke,s=this.drawMode,i=(this._doStroke=!1,this.drawMode=E.TEXTURE,this._textFont.font),a=(a=this._textFont._fontInfo)||(this._textFont._fontInfo=new T(i)),r=this._textFont._handleAlignment(this,t,r,o),o=this._textSize/i.unitsPerEm,l=(this.translate(r.x,r.y,0),this.scale(o,o,1),this.GL),r=!this._defaultFontShader,u=this._getFontShader(),c=(u.init(),u.bindShader(),r&&(u.setUniform("uGridImageSize",[64,64]),u.setUniform("uCellsImageSize",[64,64]),u.setUniform("uStrokeImageSize",[64,64]),u.setUniform("uGridSize",[9,9])),this._applyColorBlend(this.curFillColor),this.retainedMode.geometry.glyph),d=(c||((o=this._textGeom=new B.default.Geometry(1,1,function(){for(var e=0;e<=1;e++)for(var t=0;t<=1;t++)this.vertices.push(new B.default.Vector(t,e,0)),this.uvs.push(t,e)})).computeFaces().computeNormals(),c=this.createBuffers("glyph",o)),!0),r=!1,o=void 0;try{for(var f,h=this.retainedMode.buffers.text[Symbol.iterator]();!(d=(f=h.next()).done);d=!0)f.value._prepareBuffer(c,u)}catch(e){r=!0,o=e}finally{try{d||null==h.return||h.return()}finally{if(r)throw o}}this._bindBuffer(c.indexBuffer,l.ELEMENT_ARRAY_BUFFER),u.setUniform("uMaterialColor",this.curFillColor);try{var p=0,m=null,y=i.stringToGlyphs(t),g=!0,v=!1,b=void 0;try{for(var j,_=y[Symbol.iterator]();!(g=(j=_.next()).done);g=!0){var x,w,S=j.value,M=(m&&(p+=i.getKerningValue(m,S)),a.getGlyphInfo(S));M.uGlyphRect&&(x=M.rowInfo,w=M.colInfo,u.setUniform("uSamplerStrokes",M.strokeImageInfo.imageData),u.setUniform("uSamplerRowStrokes",x.cellImageInfo.imageData),u.setUniform("uSamplerRows",x.dimImageInfo.imageData),u.setUniform("uSamplerColStrokes",w.cellImageInfo.imageData),u.setUniform("uSamplerCols",w.dimImageInfo.imageData),u.setUniform("uGridOffset",M.uGridOffset),u.setUniform("uGlyphRect",M.uGlyphRect),u.setUniform("uGlyphOffset",p),u.bindTextures(),l.drawElements(l.TRIANGLES,6,this.GL.UNSIGNED_SHORT,0)),p+=S.advanceWidth,m=S}}catch(e){v=!0,b=e}finally{try{g||null==_.return||_.return()}finally{if(v)throw b}}}finally{u.unbindShader(),this._doStroke=n,this.drawMode=s,e.pop()}}else console.log("WEBGL: only Opentype (.otf) and Truetype (.ttf) fonts are supported");return e}}else console.log("WEBGL: you must load and set a font before drawing text. See `loadFont` and `textFont` for more details.")}},{"../core/constants":256,"../core/main":267,"./p5.RendererGL.Retained":320,"./p5.Shader":322,"core-js/modules/es.array.iterator":158,"core-js/modules/es.object.get-own-property-descriptor":173,"core-js/modules/es.object.to-string":177,"core-js/modules/es.regexp.exec":181,"core-js/modules/es.string.iterator":186,"core-js/modules/es.string.split":191,"core-js/modules/es.string.sub":192,"core-js/modules/es.symbol":196,"core-js/modules/es.symbol.description":194,"core-js/modules/es.symbol.iterator":195,"core-js/modules/es.weak-map":228,"core-js/modules/web.dom-collections.iterator":230}]},{},[251])(251)}); \ No newline at end of file diff --git a/sketch.js b/sketch.js new file mode 100644 index 0000000..8aaddd1 --- /dev/null +++ b/sketch.js @@ -0,0 +1,26 @@ +//preload images +function preload() { + and = loadImage('assets/and.png'); + not = loadImage('assets/not.png'); + or = loadImage('assets/or.png'); + xor = loadImage('assets/xor.png'); + nand = loadImage('assets/nand.png'); + nor = loadImage('assets/nor.png'); + on = loadImage('assets/on.png'); + off = loadImage('assets/off.png'); + lon = loadImage('assets/lon.png'); + loff = loadImage('assets/loff.png'); +} + +function setup() { + createCanvas(displayWidth, displayHeight); +} + +function draw() { + background(0); + stroke(255); +} + +function mousePressed() { + +} \ No newline at end of file