From 4bb4e7c56b9000cce20fa8e55a24cae344bf877f Mon Sep 17 00:00:00 2001 From: Gregorio Chiko Putra Date: Fri, 10 May 2019 15:41:21 +0700 Subject: [PATCH] Updated views and api --- package-lock.json | 5 + package.json | 4 +- public/css/main.css | 74 +- public/img/letter-head.jpg | Bin 0 -> 116558 bytes public/img/letter-sign.jpg | Bin 0 -> 40960 bytes public/js/app.js | 2379 +++++++++++++++++++++++++++++- resources/img/letter-head.jpg | Bin 0 -> 116558 bytes resources/img/letter-sign.jpg | Bin 0 -> 40960 bytes resources/js/app.js | 265 ++++ resources/js/models/AccessLog.js | 16 + resources/js/models/Siswa.js | 20 + resources/sass/main.scss | 73 +- resources/views/main.blade.php | 62 - routes/api.php | 12 +- webpack.mix.js | 1 + 15 files changed, 2831 insertions(+), 80 deletions(-) create mode 100644 public/img/letter-head.jpg create mode 100644 public/img/letter-sign.jpg create mode 100644 resources/img/letter-head.jpg create mode 100644 resources/img/letter-sign.jpg create mode 100644 resources/js/models/AccessLog.js create mode 100644 resources/js/models/Siswa.js diff --git a/package-lock.json b/package-lock.json index 0afe04a..d444302 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5337,6 +5337,11 @@ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", diff --git a/package.json b/package.json index 1f0a2e9..9f87d37 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,9 @@ "directories": { "test": "tests" }, - "dependencies": {}, + "dependencies": { + "lodash.isempty": "^4.4.0" + }, "devDependencies": { "cross-env": "^5.2.0", "laravel-mix": "^4.0.15", diff --git a/public/css/main.css b/public/css/main.css index ee11ab4..5dd8dd5 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -7529,6 +7529,12 @@ video { z-index: auto; } +@page { + size: 8.5in 14in; + + margin: 0; +} + html, body { background-color: #e2e8f0; color: #285e61; @@ -7668,16 +7674,26 @@ html, body { margin-left: auto; margin-right: auto; padding: 0.25rem; - max-width: 66ch; + color: #000; + width: 100%; + font-size: calc(.5rem + 1vmin); +} + +.letter p { + line-height: 1.1; } .letter .letter__header { text-align: center; + margin-top: 1rem; } -.letter p { - margin-top: 0.5rem; - margin-bottom: 0.5rem; +.letter .letter__header img { + width: 100%; +} + +.letter .letter__body-header { + text-align: center; } .letter ol { @@ -7689,7 +7705,44 @@ html, body { width: 100%; } +.letter table td { + vertical-align: top; + padding-right: 0.5rem; +} + +.letter table .strong { + font-weight: 700; +} + +.letter table .special { + font-weight: 700; + letter-spacing: 0.1em; + font-size: 1.125rem; + font-style: italic; +} + +.letter table.signature { + width: auto; + margin-left: auto; + margin-top: 1rem; +} + +.letter table.signature .letter__sign { + width: 79%; + height: 4rem; + background-image: url("/img/letter-sign.jpg"); + background-size: contain; +} + @media print { + html, body { + background-color: #fff; + } + + body { + margin: 1cm; + } + .container > .header, .container > .form, .print-button { display: none; } @@ -7700,6 +7753,19 @@ html, body { margin: 0; padding: 0; } + + .letter { + font-family: "Calibri", "Source Sans Pro", sans-serif; + font-size: 12px; + } + + .letter .letter__body-header { + font-size: 14px; + } + + .letter table.signature .letter__sign { + height: 3.5rem; + } } @media (min-width: 640px) { diff --git a/public/img/letter-head.jpg b/public/img/letter-head.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58a371450f65dce27987a6f2c666f1299da2a994 GIT binary patch literal 116558 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%0A+O7t&>zF~rx|m^N$1Sx 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�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

0^%>e&|Z{<;g&;aKjkc#Y$z-pgNDOk9Q6Zx{tm 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%0DHJyatNOOuEV9=qlu!kkA) z$iR(?YAPAw00=fEU^Gf3mC#9Hq)YjNxT`{ta&@TOo{>)hc&cQhVur50vn{mnW9zs*Xl)JQ)@FeR8{{H~+tikQsP=`$eN9Zi2r5H%YZiP*m;wonjLYTtC zyY?;r0F{wKd+HUdfV3|M(rO5nH~Zs{diMJ)$t_fbN)GLEzG99$PR8APPbyx7%svJH zjYVjbpuoWP5U>TORtz#lxUhz8MIH#kd_tA9ttskXFUS@aSCD+b^u@iBkZ}a!DMeK^ z?ib50l4Rm}Y3$Sq>4DHr*O?Hy-^dS;^S{&ja%S#4n{kKZ{g*{^LOkJ0=b2< z9Wd~0{P=`&2cYrA_daD>iquqJUrgsQ>iS<1L#7BpTg@s0muslSd*8eZ6gv7tLgI-6 z)}S6BNuwBPFOPbT7R$LbC>P6#RO^0SIT|f7h|+@xaJ+}i0mI_QVG;LUV{-=bx0SZM zUBQrmPztqFJ1*Etm3N9sYsQ6mgbYCHGPD3GgkqZYLO2}hiIoHE4$P~aW(C>|6Chby z;fZE&5C|(9uOt}x04WgiAIejK(ga$|Xc^QZiWdju9^N+@{fx!JqIO+GC8^mLyf`xr zxR`%FvU$dF6!~dOY6rOo!14`RLG6r31+mivved%#CE$IA81sFg_K?=CQQlXKmo0W- z8j`0u3^`!2jq4ADoO6gGngqbL*weX4wi5x0M_>Gz6DmT+GC{XgZW}cyLLcQ~mtItV jah952aOao>mh!U}<$pi^q~HMX&l_l5HU-ju`FH=>!83ZK literal 0 HcmV?d00001 diff --git a/public/img/letter-sign.jpg b/public/img/letter-sign.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66f7bcec16e3f8872c6fa9d30e4f38fd456aa9b8 GIT binary patch literal 40960 zcmeFZcT`hL*D!u43W|uJh++XLqV(PbqS8S?=|w6p${UM0y92DlLj4 z9i%Juia-PeB%v4#;hUh|>wVtmEo*)2{eFM^?#Y@tGkf;T*|TR)*?VTP^?vIQXrGRT zwgyB)OG6_}BMd=XANTsHUv+hYAU!=u5P~2^h=GO;q5~ls@PlYLp&i>{2(qU+@@LqM z=G0FdT7V+~0UtUFoDYrUcK84YM~1mV^gr`vg7-T}|aea;bS59hwWb6KoPY&Rw$G&*ObVa_52Qw9@mueC&p=?4_iA zZuY1$@W&W^{kZJlD|0aY`K^;`vBr+-jTwHj9K9x!a6;Mb*M0t z&nXc2i-fIVXb;`?H(4PVv}zn<{=|76sW+Q=R4@r?ICsV1%a?;eL*>CC>lLY^Zd;J9 zZOzigL~hKJ@{!x2Eu(5T#u;Go-X9)eKM52Weq4KCP*83@q%N~RI!0h*b}Z(|=d$%p zcUZ6BF)p%&|7DiK_w@*=VvENTSzW=mnz|K3-`T=na6K&x-b7-^T;FU>%X8itYV*Zq z#%S}O=8MtR(dLUWjQJOU(bl`wJ^6*ToWuFg`rr?I4|}nh<7o%qAIW*Qq1%nlo1WR! zdsCL>ylK^4E7tE@Jaa(^J`mh zTA)k>=ziFOaIOXcF;B-!ZYvIb*>_ZOBwPv_`LYsXQ0B5U;embhVyO^ot@z}aEd?23 zKDz~#Z6gnqzl6)nLmkDw< z+IY2!$aCnOYoBA-~xxj0Bqe< z+~>?Rcz^%gh{JHR!P6vCUMIGz?@ot|i+%93;WN$u!-J?v6Z;0sFRT98T>?yFmsX2FrXE$D$~ zZT}Kav!CVivRCWL!*i0aW0nGYd~L*>Hv`_pErytF4E3p$+2ME@`~%)CB*|A^7tVVd zu;e1T21C@Jfvq^_Sq@*u^pEF+4XHfayfQBzAl_5+K&QaDV$nmSY;`nLj?`VQyySFj z5S{ogr^ouHj-d{RwF$e*eClw1Ue=m9fpf4T!*_hWc6d-GFSp@wxCL4{q9z6M4-gNN z>4d3w1cwy6>1cs&l(W^dYI5Xw+q{32_*+^$7bGJHfT5q|#Wo0UL+s`kR~5})bj^kw z%UKa&SLoj$Eo?y*7DtAc0CUvI_-{v})C0aa9C}+C!R&CB*<~MeR3^=54RarTb2LS= z2L9m*=g2)-N>_{jiQdbf-+x4ycXmTzseQT`l2h#XVXh~>uk5fjO=)GF;#=QbkC>&9C`8G`><}5B zv7w&$PBF~*)hzqU;yoi@m8wmlp%=!e-)W~ea@Q`O1}Y=?P!-s^xZNPqrIS>L9J z`3FwSr>L9{$bsRYcuC=xwTRI(Mi2WU0+HQi@9Y~?a;7Wa`ojvIxOF8u*{CR^)Ou{x z17*WM=<^q5FB!b^b>rG7A@dj+mMmNK9lIAFJ6Kd(wE8$y{&9-1FLV`g$3CPQmm){WFCFiS*n$)Y&s0hqI=Bk1zW9*C)sxrbUolq1;dsf4Ao@Y~ediXG zS#`XmXXtYfC4V(IYG5fBXI501oN_6NEat@hix@NouP4~w{uLx{G_uHQ6Zt&JPh#`2Y zjNJ~?3U#Jtlv{pez;ISmc2 zL9v2s zz@)^8Nbsm~gv{`c3NuOq-ed#zZK6lC$jjCuNKg69d;p8(W+)}CFF$SB%%Iuf%i%l2 zj`04$vH|C`*$tLpFbo6|(OVFnEp>mk(O^Su2=Wca%)hZXz4!Y|L_xuqxcb3O?2)le zj{clpICfoX!Z|N`!(&+6dsS8XpaM?K6+L=y5W!ikWo0XdU^%Qzjk| z^b(nVoq)+h?TJ?IftiuLRr{z!(%;k9jR~2SM=7X5v7IbjXzoZanB}pk;wQTAi z(#^{sD*IqGI-^*K#@12p_ZAF{&jdwnih;>lJ8=#-U}&_}3sz7+RxWy;X?!kU?TdbAc z0+VL-WyRHVo~tyA5-&{t?jBK5>SfI^hcn-39W31FSuHM$ib9x=>PJ__QwqE34*CU0FRIpR#s5t1luwM>#dipm?n!amYXD z4EY!m%#g}k(Cq?$zBrVXl~rV+!kT|q)`Nxj#TDr_rxk;jzZPun_gDj6nH*lU zGGAHI#}}gm)@diEVj&Idhr+SFf!PTMPUD_)G7T5*3H!&ui<^Q?*41 zVmJ!4NvcA*4ddU2?fblZnJD(^P+EGhb5WDyK+SfV*mj!ERUVpcrHrbe{d(Sk0?twk z`S~0I8m%KWPV*9ko`EmXKr8|@kSL@BT?G0NwCz(%rCZp}vX81A10>pC@9i(1+)mrO z?QeUq>p$sa-i}ghaC{r{@ZaNf#O?U5Z6A0vKWevoI}Wr;Y962&Q=i@2S|&9_yG_q3 zH3%vw=HvuY+<_1DS@6*Ogrp@U{|S-YhFb#v7mmy}MC32XcA4Km9D=-n&iZd3y3f?) zf19-Rf0MS&8EVng2BzDN{b(b`AHbiy6yJ`~Q#H|T94htH8d0_Ho!gKf_*8xY812~~ z?q}}f019nu@;`XYNsZE30q+M-s8NV&C7}5T-uodx@NiJRxTgLPEYE zb_z0pbfMD#lZKk@U!LD!+ok=oJ^YFG8^WKkpJY?xp8oFc;6-J^PJ5)kr=zcdy_*Aw z{mf_R;3olM+a1Fgm`L1_p3We?{ak=M`TZV0?}zmG8Q&(u(Ani@`Zj4hecfFh;J&8r z7koi>n!kN#$95V3vjNAj9nn_%t!xHoAEdw6-#|N&KCaHLo^Vfp50Gb%x)HT>gKZdy zGu!$5AvNKia34EAxFY~S#waiNPvqS{kf{)AinfO{H+cPT*PqVc$K6=n+!%c7Cv&OH z|2ss_*BSmd$WA+VKVv)Rzrpr8z(GFvRX=TCEn~e4_DG~VwLr#S;J+d7azXk8opX0} z{>3SlAC=eo1qL}89N|uO{_cJtxGMneX4%@t-i_UIjrW zzyUoBf>@w)z~q61>>)TrHGH^$u-~@9gBtPz82kSl3~opjGJ>S21^&?Te%MwRwrwon z8(SY)*j)VlycEU6Jbgv&s3$!{9grSkSM9vSBt*rhHH4(tfZJWI7W z9&T4hWgasbJ#jrRRk(|*R*(R zp4=L6du|B@Zb@-*Ic`ZwMQL!{M4tQS!vj9)9K zo!6hm{#%CqLUeTa6VD4+G`2tP=pY7nhkL+1{d@s)C8#{uF4XJS(V9QA{H^Feleb&s zS0>OxdV2pp!>`8k@c8o+ey&b`@#Al$Q&av{FdQ5+`uF8hQ+}b^c`2&;z=73B4LD^U z>Ny}0aVZfA3FBYqfP}zlAaQX(E)Dpe`eGNUkZS$xjMsrsZbeNVM!S|;N*c*5SEmc6qb~e1`fdFrG;gr z#DS9lVE~tx5|&hu6_yg05SEgV2Tnm)MiMwFNdN=o$cY07aOJ3R8ITT~l(dxOnRC+8 za&nRi66!LN>guwp(i-aOlCo-&=M>b=gTOg;9&W1aDPDBF3U@bGa|K-V-R6e0JmAM) zNfy5)NlHlnOxkW)BQT1ArWN^x|Myx-$;!)03rmYD$ck_KfPOg%$sfMtHspsd1>iCg zKX9alsk!8~eNb0W4*&r^fJn>Bh;RF#o*)cr34Fj8IVr$3st@piuR!(X0VeRN-;x46 zr25paNCDnbeUKOU+j#+Jr6r_6D%A(n0{;g@ZaXYb^%Ve}z~9DEkO5&iNh%!hmgK7HZ%T%CJ0(!ixFlbL< zAOpg(!g9j$!V1EGH4+lS5|Y9aQo<6_!k~Qtl7yTv5C$-eO9BxA5(0!r2FMW*10XR# z5YA|*gQf}HV|m9zugEpOI4h=Zv@c(`Otw79X;^DP9Ht>*|BrS_Oo**0|O%i z!_Hm1cJBr^2mb!h(9zNDpx?1;=gwWsyLatoW})5)U;+0E!1MF9=SS@C`TmUkxDhZ& z^O24Q9HIZ~Mu0N75s(hZWcd9;07Sooj&>&v^z%jlp!N6Ezwc7g0@A>ZfSn9G_%_O@3B+cU z$#NJw`n~R*WITCm*X~1yZ^x-?WR{!unVjMzd?HeB1;G99#Q(S%@Sj`^kk>MIxqA0e zZgtE1&)-ffXj{0V?j_~DX#Frt5>(W&bPEbk&aY`3p4<3wgMe-aVCPPHMmjo=?bH0! zOAP0BTmlsD^u7@-nO6Gsz^k5*yyw{s?R}P|_@q^D9*i;KPj`6U$l%*6GpTlq!#Eb) zmpF9zq^vrpfTN#@93i9Z^{LZ+pNO~PGRyx?vc_+>8GgUa@Hd+O3zGkS>EJslyp}yc z@Qca&f>Ja4;wJ0=2hpu}|DSxd=ihzRq2US<6GzV8IEr>7YD7=xDRt*teMVdAnXWPM z=FSEBA6%2Y8E9aMx|+($Z=Lr{e%NK;x$wpRO@3|l{+-Z5Ob6PXP!(IaGjC=|a@NMA zkEKLU)4cBHTe?+*MTzs~!s~R(-0-jk785Ez*4tt}`p6RKnm z6H!{)f?%Fo(Bp2RO%5{TDXOY{A|c?R6(e8IwHHqS#ncjj_;=$LRl3$U(kxPja4{?&BqDsxhXuZp>IAijwez9UPe-X>R4mP*_ zn(W^%mp>p3S7fBO@nxv>q^Y|kO+$ve&=nv57X^8%@3+RmW4ke=Hf#%))XdCb+>evK zwgqLo)^vtGmJ#CO9v)Too>A6N*mDnh-ba65=w4PthQ(!J!Iw#V>ZWk%l15~=0f{_> zmrF+a7x5Cf+G-4@0~7doj`4PK*6k`p#XKA>QIwEf-~jl;4Y5QSjb5c3 z_O+^l;*>m+cg6dN#VGgQ_QU;4PaI@R+zU8cOb1bm@-@A*AA9zs(-h#qIo7H#_Iz43 zDhoL4kdlivTM!nAU6*DyHme;@N+Nl9=Xadkl!Ge|mNM7BFw3MJ|LFI^675<`2p1Lj zc(l1G=3y9P`qipZtG#ow$Zk6ucW$4rsP?C+TA#Fey89S4^ouv(Zd7nh*T z?1*fXZhM1wU-5tTrSzXEjiYFoa@3hy~eT1?@B4|5qnn^_zjf=JXMiq zwLx3Z1=aN>idPiHYpH#L7=}$q4omnr$k7QncxN;y5qoX4a^B-;@A*3-?nOp{2M6<) zUiUjWMNh~6!N!fc|~QJk|V9sa{C8_hy9WU?VOM9;+A%tJg{re zb5@C+H}KY|W8a&uyL{REkyflwvQq#5!3?%Fu-zIc2K@R=95x0MGm(Tz{)$4ccgh`C zd*@l9YrXsJE@#wCgeynk3Dc_!J@1v@lxJSN$B(?TS0m6S6%!?~o{7Rmg!N;Tad8CRvQcA%c zfCCu(ZrDj2o^9n6?p2NREUv>tS0_x5STYm;4O23A4UV{XkkL|`r?kpdD^uJkrkSOf z*t#!~Jp}V#&hRz{q-j#qv_T738|Dn!lhiZ4Ni)^XRj6E4bEY%UU-}->*?FIOkaFjn z(l>|0=%+i|(#v*m!y-yZEw-fAi7o?D8;gt;Du?LX$ptP$sBOBzgitqd(cgFQXn~(e1F}R;*F)C z*GY1ulnsHliPYq)n?1&HMlJt*N9*kwIfLhkikIxDQBj6`dE4IxqMQAy4dt!q+^xoz{-d8e!rHP z1g&W%rg6(RWtR}MiIXO|jTdRvXx%naQ-du?v?ZVL1l#W667r`ge0QAE_hM3T2P*;- zfBXunB1&L*jtzx0LKN`wNzGRIw!8X$eY<4t`O#%p46iW54YV#h<`Oo3f=I-XUL!kJ zdpx3Myvemg6|r6{iFFIkvN0aYJ7chx{nt};qWZN+IU9Dla3gKOn};PCndCZ{ZzyfP zTo^~~b#`iTkg6%Vvv`(dZ9zDQ9(o5`k%bZObA4xWc_O z_}nxXxOw$HUv$fZ!^gDuFmm_p&OY>?tVeN=k)%xy{P%fEFabvXln@pWm5JKRNFKn) zhnt{-#?$sU=ZxqcIe%QByfh$=J+AP6fC9Hfo?s~#X^nyWhsG0956Ts^%`Q??rfNRg z__N%)?6?8JN6iojZYn^-h4;~H>|LMV8Y|3c(@AXOi=V(8Z;UztEz8ZAhJYz zOcKV%$}W3NOGLh68=M~MJE~Ga--hF0Kbl+!zx+~((lb5Q;n(oEN6G1OrhUNllxOZu z<;(X9GD_)bRk$!+R+#QQm^6l`ygrz?pO9f1OAID-Uq~FR?aiq4Cu$_R3ilamFI>?K zCmeCPeI9Xlw}f!-5%aW&u?rIIe7Eg)MN307+EWa{yeIZusH7{ISH*PKf>C6W4bvsn zf{U9-5y_j!#SAaz>`AuCJNh<&;H&S9XulsUb5pxmr1)fv!pTqth8%6+pN#G`m&6!- zo)zSau4z3Q&Z%(VW?`oBKFy2X|Ai89O`Ce15yk|jAZy@)hz!Z(SUg7F&1~XPgMpP) z9@_TvhRkZym(YzvqG{%y+2PDe*z+Ixm5SqNOul1w3g32LL@ZBrVFWOEX+Ss!4yN>4 zAPxs^3dxn@#8GKx@l}bQ3rpp}Bc-$LQky!=ro%mp54>M4abH)6&=iN?=g%Fxfrmi!4&3U0n&-Ov|7yBf`Jgv}haq~wrXNu?O12QqM`_D~F^@tal9zKl6V z_oDqe%fpR!5oy)e!}DVM8Ta$Suk2lF{#2rGT++S;$zZx;!20&fYI{3|5A9B(>rk;g z$I&n2;Wd{mvy%BX`;tg}MMB=uYmUMNx`|UyB_<76Pv50E&Zb>r5}x6F#eI42@%@gP zJ`Tq8nLA3~0r*j2&LV4xC>RB2R;-9h=12d9?BsF^tGj4 z9+JNQp(ypXO-UP1-$!gRqMzLQZIW9`A7sn>2@7D4!Xc+;o%w)zK`d3%+H zNr==Tm3)Gb`z%6Ewkxr|gx;e#r){HDtQYAkSU-s?nVsE~EV;xTlz(p}RZxz#5q|y> zzbY6iJ_5mokt4!Ky09q?HiM3Y*b6l>^*J+g(H!c1&h^#d7Ir4p<>kGij*m2vyii&6 zS>3!5*2oNphiTpD`tPY$SpO&MEuRjaI}(kr{8Wn+R2B^#RK|nV7Z3~B4e~Q`=RhGj zjkG-d9ocH_8SJ4l{<prxJ933c)wFMj@VPIi%C*q6|M zRof|IFuVkL$rsQ}16%~@RWV7WQA|R2##XK*;aVbcdPp&So^@7t@15*U`*#c*uWk7= zeYo#Gbl~6rFiX$kgY6J@DrXuUPZA<&lDtWmGAc3$Q_m4LBco)~oE?+>0@p99r4uhA z%!kh%O-wwV^(H=me=Oa^?+Ew2#~~@%aP9qhT1bN%+F>?k{knAuMx2cz zb!rkeH^a!21~ZWvS+gpalZvqfJm=eX_E!G8-NVza{ZMDeC zvNgmz6BVrgqJJ@?;$FPtlaJ+*W~>E@H{V=j6AV1eEmHVUAwvc$hIXVFkZKya#9h#E zaxrn{hDdQyR#WbXjZ1QUT<#>os#>jJ&$8t6ut@bZdK3NkkD^T#vNmCuZtCh!S`2vn z7_n7@_K6PNWpC0elC_8D&~PE~k31EtO>EDpP4s8R=6;af`(Lh|Oa8stMt9XiKxb&B$l&~tU%MVc zZLsL%vq9wzEihp)dg)WHppX=A zynaIuxn%l#Xy3Jo%nK36v51*q?d&jwI; z-NbO93V~9+1@V!w1r!^!9@-E^*TMFoyM%P4HHal~wRL4KMXs(-`m=~LBB+^lh`%L;KaQ zZ#%z+`rpkJxS}seF~s4AxZ+H~wR0Hpk%~Iju&Sc22PU}SS+|)#eA&R8KI&v#k7~B^ ziz=w@;as3;?12DdM@{Ay^uhqfy86e;#T7*UO<9!>^t{>2B@15WuJ0*c;HzRWYz`)n(c`$XFPh}ZX1wj@ z9s}~HrRhNY(PYf$detsYBXnx1c|D_%N#7!W->O)FhVu(MPtS!cao=cc?6*x-S|Lh?&84!o+z{!EFhw_uI=OIsz0m;%SGi8a*9D z$4*q5nyYpgOVNIDE7$-{@^~+Bm&<`?Ne+8=t)k#_vNd+5BFuvX`i_%<5I$?L`B zK%&|r{O5+vrp?IYL`(7uaz+1w(hyL6t#C>tE?uJXo7NEi!5dkd&L+7Q){Umhak%ETjZ# zGY>?jTTTh-9SlP%o|DOofcXs>aX*w&xWOyYsVcikiWRp|4UxNX#4r(;nP4fnTTvVSaucrt?*GR z?NhBLzKES9G>ofsQ{oTDAJ)#dFk+%D@i8V2OT25TcUuKvRU(VNLJA)Y#tKm`&$6Ab z^3jOyI8lpBFs1G7T;y2^@sw2X)Hvm|lEo+%1aEZPf($<6m(dVvh=K-x!J?2gQ)D`E z@m<|VVE1dc((+&%*JEl&+m@ydTCh*~`YaTmEb!vH@{!TPz< zU_FZBEkN;&B48*!pEMJ=gt{mu4ZGNly-kN;n)usXhjyDw|-4>FoEX> z^)xz0So+*$*H|N=FwUwISI+aL3>PdAH;)WbjI~Ng-&j(e$n`+XrGUFN^haN;afoW$ z(sV*)jOspPAXbV@-7P}KFRNxQmVXOh&Mi_iL}n~=P_BUmT9E;Mi9BFgvN#iw<=?A31_MoA})lE^FLu?|8Rmfn()lLCZ(a3TMtEf9>Ak z-idjsW)GGEp@#)s7MFGy7)lqPHMkx_U5{Z(=G5{5qvN_AC3=$ z=Uu4}Gy|IWLdg>kr80l^R2-X?jro|Rw&LLvt{!54R6f=`Wx6u;@l~5*!NG{ew)Jdj z!V;;wq+>~nVgRO!6BK{cr`E)b3q&+I;vIeYE2)c*P8JH@dg1BI1@*TRAOR09Yv z=O*aGi&b|B>Tq4h5I-Y%z&}c0@RELdn3bH*TM)^FVlq_MxoV&~u(3XPLXTmNys5TQ zO-WpR(KA2$_0uxJ#CBj&kYq*i1%@q$b}aEeEao_zxRw>bkm4^dDvfE|4V+MldVu>L;(@1Z*r9aSGP64LGh%cw5lH zq|n)q&Gf&z`(i=@SHXL685&d7p@eqMRo`!ZI6)yYC9 znSi)V_W}}-na9zon0`F}zH#s2$JLd43Ypr5n{2P*xp1*hl7-dvruS>cU1H^8u$*_Ck`U z>5s%&g|Wz;bosjO@r_J>lal45b(MiUwM3p0i^t$OwxE-BJ){>iDahU}C|&soOcZ5# zCRaq%Kf-ij^93$OvqjxFhv~x6qvlM_1wv?NH|g{J|(+h zfV1nvl9&Lu@U=}LzmGfW7}*a9W{SVf&u5c?tZ&g1b)KFn`~p4a^@+}XV?h_LMiU&T zbDpPtU5bFCT#J~}wU+KA^^n?25J61?SsBc7t)^==))f&G2j!wSk(a_Q2DgydS#fEe zE?G$`qNgucyAOVvUPG?uUVusA@U7Scj^idZuvl2~xJ$3n5)H~du`3FmJ8O2%F7{4& zn11Q=2YYXzn}BHaYu^%(T89_R%1@4od=>t$Z2jbnxK*f+hOVVcEuvyezI@)U+V#WK~0)+T*HnR1EEab;kdRIc={ybxKn zc3yGFoL#L9zUPs?Drz4YxKUIGcWd} zc0e(%;dLW~9O4kzLwnnIxt^Rwe$_)>M@|>KawtJRcvLprHd-&m=gIy}_f@^Z=|+8# zS1I?h4$186*cGubaafIgb%eT@Gef?h`Sm(bY$|NFcS+f zns%^|z6U15P6I;*xtU}^Vwq+UMco`};fVb_?oEUxFI4O@^spJ|FiRK=SQ|3kn}-lA z*W*oKQ!G6{q^K-B`{5n@kP)>g=p`Bpc zma6+eUD7RTMreLQLYFV1xi{FUl2cLr^<=JJVsy?~M)(<+AVwYs1CtI0&n?qZ_nP#Y z6jp$mr1Y2ec@&SGcvgx(Al|-uO!0$#dBv*fxRgK|ThN2LiP(WsD;b0SB@zJ^Q(*`iL|N_qoZ6w)L!JvZe2f?0=4Ev8@xR)UF?WZ#tZ&(a<$dz2}OG43R?@zzO^oFpyEBBLz$tH(eP-;s0 zY)xosq1(Y>{pidQT~z*DRZQl=!NGSYVqCM6&*yP!gj*!tg?2wFy(mJ)0QL733@^e# z@u?+d>lw6XtC33x2YkT9lhDpx6RMjMcxuS<_F&(IR!q9$R+Vv(jM>QV#7 z#Fg!90+;%c2XzqpOxAa?JAY|$U|E$i@q`QPs6K4a!xHI$O@1x)0wGh*%Um?gE7pK- z-Hh+<)5?m9NW{IV6BcdiN7&U-hv+roCZDjxC@e7rLyUqEV^i&h$XO(#nUs+&NQx9B zG(Qrt|6-r$m&_F1=e3a?ZeFc?=;%o7B{O`c_Ln%;;2C&LY#jiWxH3F{B83T z^v9A$TT&;E^j#+Ob|NkTOT3rdW=l$KH*`^ICbbL>4kbIXT0Tz*Q;nQ<3jf;4?J_>2 z^?*nG!ttv7*v6YBw=j5i9DV|piX$ck5-IMerH(}OC35}1s%)$Uxrrz+SW?j~uC?6C z*Ej2JQ2&1Qye5AKk?%_Fp^l{krMn;=&3!V25$wo>mXy>%=2Wxpgb8QCZ?H@Z*w1Z> zYQd43MFez8$;E_&DOvND=m$0YK zy1ABBw6G#dU(0T}7@g6|Tj>2ZD>M4;?))9vd@FS9nBBNXw#l3&k1>i$%cPz(k%<_8 zoD6Enh*%t1$x-ZCe!pNrLr;Td$BHi9Mnc!8+xfX}Y1fUOnQRW)mrMsz(A}V;okoH_ zw#+ge7U#cteyIf)6Furu^EOGQy0QWzr|GX`S-xx<)A1}_-JSCyZJqBS%^ZQeQ$-81 zZrEZB@e7jFWP6gLMNvhaA?kR@_FW{uC*uj5*|jC8LM>0u361{73D+8UiuRt9j7_zw z{B5WB7ZrSBv?i-o+PE+zAm9`|av=fv2qTUWzxLX7+V&*L^xZh3X5k}`yaPQ?e*R7r zU-SouNcn+OO?ae?Gu*I%^al{;H-LHIZ^pXTEt{v;$)64k*_j%c-CuT~Y4pxlF zRc+ve4mn>}i9Z||qZVy27;)mEOu;=KL7V_NmV_adkv8!!R&4oDz8zf2Drh2eyBlZi zNaoPG{(9i0X4$mdF)gidDdonEA-TP|StPB=idTnjoOOSy+)hMLyrd{T1%xv#fw&}0 z5;lSB>9v$B>0L!`&*nMRNzV}lcPg&yvBys>Y4iEf#9N$$?>Q&km^B6Z4elXz9TQ{w zD1a*g8=tIZnOg77F(e~Y`(kjoU9T_3B`uXgFf9-kPl|mQVWW|2-ZPpXPv7@FzDX3U zq8n^M#fzzqOjU|?$kmBm4gQHMC68omEk|08pRI^@zzvCgG7-MpWZP2}mR!;F`m}jm zE)!qL0ZBoM22KWt=Z7g^u$K$Z40mg-WUh+X z-AeJEoc@qB6+Ldj7kvXFnyolf2NZH$86k%}X^ngQHXeb@r?{dLP5NgB*^EBRuw5EpKv`1)wc23TBk>9#z12mSvRP4z$Icxq$o1JXdNGxRDo&1wbgs< zCs?&vMn_oF3!Cy}$$|WYhO+5CRKjX6bT#cLM zm>vUnj5gzo1o`1R4=<2i3RhFKuF8=&5Stz&V@QWRef!aT(*mf~%s-at+!*Ab4_lIlrg zGfb?x-bX`Ei~xQs^mw{W5zL>I(N)EY8pqI1^INP4+ieD5H{58 zBxTK4r{~@E;orr0ufbvY8`(dkDjoF0SPcI7mC~xH4%=kgN6E#RdHZT>`?7o8xdZp5 zw;Ap#pMQI{Z>RrGjmg_5gpFHX#eK%=zwX8itiyC*Kqor_G&5kF^(#VZkP`{aIWdLg zR{vu&^^%vZC#=U>cOUv_ffSp0QSCChqh5YfpV3Ccgqb(tA{lJaV?WFrFi>qxwuu_| z^9+s`knS8$AGZr<_mJ&>?<)88zE#rwQ0+x@wGBI?s<0GW`^%lCJy_y2vyg5W#k-6s zbosts#eK_ujO3EAKeP1-^_tYdZq44T%9|F~XO78jCLhT!7-ye`CiAC`phI;vWd^$s%?1c%7l!!W|4!H^*3w|~$$xQ82 zFHA^TV2z6f4ntLP6p%BUy6qHwgLlVmd;GrF)+4%yBZ^+n$_`0rs1!I7-_%_gVr#k1 z?P(7)yco$V=+O)XMyD;-PCuIx3m%PVfIhm(7(S>|lGxu`5qaYHq4w|`Q6E+%wg*=o zcu#wjt7RQR#)H42?6M`j79+I?9rGwR_==fXnm$+{99Xln$~{pWYcuvo>aKXJ2bJpy ziF*#3^BtXhsEa&R=mXbBd{-eCklP6*c!BBWSeW#+Sk!8_FzS;|)qr1P?>WAALG9m1 ztgr>T(yrbfr(B#Ptm_pny-Ut((uHlCZLhro6$D#r3f3fVP~muzx7d?w^J24LwrZ#- zd8l;5L$VoDZ2LCff;AkMfn zne%uP4)po(BQvXY6?U#ZeX{|IA)R#r>RC^-SAMkJ}7+l$5t$-_5rLncym?5x%RzBd%9<9w!dm zJYO;S?P1BndK=pHT^(`SRs=QFHZ+l?REB33Y_}rJ%L~`e_D&?IT)&MIKto9*%WQedhNqor=61sw~>xZT)djN z(G3<#2v|X>biCs_3-nGUV6r)>RD_XxG=p0u-zTXTj@ZmP>nK{!GKCabc2yEOg?mQ^ zg#veujyxpns=xA3H}(>(YWos;^_M-a3rCC}W|%=f21LQcVPddT+q=swX0l}3f#RD;@lKzhcxw`a&yx#F z8>$A&2MM0Bg%+fw5Wl(sz8ArFOFWl6rkq2^D7EyrkfP2wozTrFm6+*NWrxtype zFK%OdR|Jo8aa^rtu;4RoWInNJPYFT?p)X^)6w#Lvuw<@e&hF18Vzb7fZEgFW+s-8t zgrqsqSUSm|q5WQ-LM?*1u6&O7_@d9_V!KHl7*ZFqV~Nyp45549sywO{mN0JhuzMQY zZmlxCDAKzSA6>Fke3)lrteZh1<53UqgZM~k*ORVi8}ej&*1)XVOx|GVP7Np{gw2TI z*IuwpQ*OzuCFQr1bVcIUIV-a=@2L%$2F3MQe~?Y&f5Xka+c8hjVIQG}Y8u0Fb>WVwx z2o8oraWinUcNfVa4Nl#XcO4#x)}*LxL2qAILpxuJV@T~>oA4-7E0R250)nhpt3q+W6FP%eZ^ElHDk-XeV?4rpq0T;*zxeoT%bSeoJ(}=sIpoFi7wy@w`$| z@vKVNqkQBve{I64ONLfSXYJFHU6UU_o=Q7@nsGvE$c|`+!*qF3%|^4f#4wc$pwC^k zAP)u3lyr!7SQ&`JW~5sjtT~yA#Al24SQlz-hVSA^ zS)=%aylw+qkdUZTr8R=)ycKcJ9=yN#n7t0 zFq@Cu5gS$kKc%>L1d4^l6txmP~jy2UGxA6G2sn|$PIwgZT&d>F&uu+0@!`$ zyEZyYN(1&ZkKhijBpZkD!I?H<>zV<3YNCfj_Ne^I%!~S)?L!-*dRC4;chf&T=sA{m z_aqrh-2jxOXo774Vhq=lRImo>@h`9y8AG+ree_g%g*p)1* zF+AEv|5UF=q4jxfn$29aCE5bDpAg&{BsRS?U6rtKEpPf5t(dNUuZJqDsSFApbG}zs zIAU2TM(WJ5_pz~$J4h?I=_DZlmIQzh!fohIn zAW!b0{*`n>86fc-O7X)8QHT(%={qBD^HqJv78EBO(YY{u*GUCiV&B{9b?5NmPf{9c zy&={Y)#w7db8ssjA)Dh4C%!U}H)1Kia_tk*4NgPA2rgZ5SDLHcw!>r_B+AL_JWr|+U$%Uv zhi&r&UJfre1FUjYGocxz8>Cx#oii*lq;UW8Ug;FO(-qGuUCl>agW$Dwp{ICUwbZ68 zl9I+!%>rE=-oj5DTGalo(`GEZf|^M7WBFQH8}d}PDhqWpM5;G(-LOX#U2C@*%O?F* zH6XwAa)^zoi={c!E8Y{qD5pCa@slNkSP~IC#T+)ng@>iU6aK%K7+Gg22+}GB1-in z6zHIbGe<^dRgeus=>&tv^arO@N)N2b$t8#M6YibgB|O-ug_xCUiQy@~!5!f($p-~- zYup3Jl<$)R8QyadXAKlxRa^llg$Yh!IqJU0@Y4;r85U7Qw<1q7|L8ga;WjvJeP44m z#E_l;W~yD&DLQEjn65YVbh)iE={3dYHCWCPwxG^bTY~0e+!>{;=`Bctl(Z_p@*Pp6 zaRSNoxwjn|RJ9&%Is7K`t1iT0sNUr=6{=#G!EI!aCh_C6q3zG(q(3fUv|?b_Mv6!b z1OZ|}H`?-v$hGFFk`ts@n|Gq{2qzcJCtxv^on9hZfp^90pdRKs!6-K3WoA@pUi zt>&{%&~4{RIjCq_F!jXDq}Hllz$)J1SsgA)zcx{)GReB<Jk|!KAN_~Kr(5)W!&0(LxaKsbDfB#c=gL1(fatwE=^PHkzYv<&Ll=g zB_b;o>)xw#C*{Ft{NsD!*FDLp;5>#3l2DRZ7cnhHYK4*7xRfj^lcpz5x!y|~`9IBl zXINA1wrx}p75$JRC`yqo9i)f^f`U{LLFpwbB7{&xq=_UVN|i3XM7lH)1R^ySdP$^9 zS0D*RL=zAehIn7UZ|`&N-TUnQoLhceA66bDfvl|c&Nk+l;|&^aPL`|BDVc1=Q_eh2 zsYo(8X*2lF!nDCz=jCZ`=^JTO0@W3?(iRX51~>hc$%nf;2=ie=8-MgT#u{U^xXB@r zQ``}A(%S2mRAJ5ylvrbHx;S5!Quu^QoH(+XK##%FSA@EeP$yQ!4V#|pJhld)Sa2iZ z&4Z=|Gt2eU>lw{ZK=Un z^@J&Jd*uEEMa7!^aKiD;4I1qw`}$AmTVE{00WV+DjM2krp;O7k$^hT%MPLc{HkPDr zXs#$fq#O^i8noBA`Kaqf-iV8M(5WNKe;jrzhpvL)bR{UpiMIBe?@z9eFLCNFnFu0W zq6w4u4aL3xMgix0=xT_CqB)u z=tmkaO(IMPR1$$6oi=lU76*Es8bW}8f5WgEt}c`+h=?GOpk8D@vNsrNZvV4nX<7Jrm&VLH zanILw3N@iRt8fSXoac; zywER1(kWH_LGV2A2I3Tj-sAn3OhSa{VZEn|Qj=1ASeZC!!7%399d zZ3f=n2YpWZyGrL32HYW92B$GTgId-)lR%Y2s8+)3T#f+u7)&0&-oPNzQyO)JhvdZL z0_r0TWWSy64iay8tfhUi4rQ#YKMudIerG{@Rv{j1z-R zto*EbE>WW()m)%G_I>w$gS#n@(1_wF>1)}tN4q?`!ZvwNmw!q-9V~?Rj$>{PfXIoU zuVX>WqsQJ&Wt>4rLFM^&c4pqLMM2Dw4O=dgn9$o^$SV)+9WS8{)AYC<8>Q6`KegH7 zHT!@AwHJT@(_BsL5ybdzITMpWm5CWBzT5iSY)qw*os!{trNJ`RI&`?{>g>gy^OZu0 zE>VQePfTs2@r{Ti1of*BJzNl7-P||<) z{F-Ut%*aD0o`%_e4EoY@hJ5OFn=NfNt$_hPHL0IKRs7xa*D!%H$fkU>+2w5s7ssG? z<>m6Uz9~8HWl3g;0H{pc(U3hP{|lDubmQe+`X<$5zeGA7@JJ`TQ!6RHZVB+j{SSt1 z*zq!wC9*e$A6MMZ)Z2COh7qB2acy&zV7-!i0W_THpoBvJkB0Mrs%V`yjQ8MEKVW1G zt*;u;ZlQ*3#^5oT-_vyNW>Ph>sK5zd+Yt1^sZMy{KjH=fV zr?8||tVq>e8&~=)SqKNmQzVkk`4qWHUL5_BsyG~*L|a}nPK=TNa_IG(KWpRs9%Zw` zFsEU!_Cv&Xu^+3f-W;EKbW`+vlmvd_`8c_u`l`2Q_mMhW^ejCcM^E`(Ib~NdrbgkP zE8MM73#PnZX(U=f4_Aj=!C(n zWbPR`Rmqy5>(O&IH%y9RZ(^rR*^`d-R2)N;DL_BW$U%(X{c}}Dxk(GBif1rsDS+x2 zlH`LJLtMN_Dt4^471L8F5>Nls95@)4e<=u_$f>eV^AGD`N3Xr}iA&BmF7WK}&P7nE z0Bk_g+I_ROgY(8*z9@5ouwJ)+9cWx<;UPDPq~uEvc(Dq z>0;&Qu5Jybm?tE#c(IG@Q$faq2tuHL!vU64TYPW4I@2kLyJyCpEC!Z0HJyuxGgoTqN?d1 zz1d_97W;Tsz=F%g!JZB?rVX&D;#rCvU*46sspC*r-1QJ+??yCQ-8 zO;(*HXp)=hcPAn!Me$ov7u7RmXKvNg;10s)+|GRv{Aq0BmtZh4!cvmVaLI_xxEmfA zf8yMuP!@hQjl%{r`^XCp2L)b*(It5`5>r|3CIGVjrAKCpECteYT#@k034$jXfc>0( z3mjqKxTkH^z}TWaX|+!7U-4s0S-{y0san4_RXn#+wsW4gns|dxDLy`Ot5p!vhu`j8 zda!%*qcvgf>&CtQOSM~#Pm;QBh#t>=QYfcF`qIoC6}#izsSgQ zvvZlLt6Z_Z{n2e(>yd)5Ux448IVs_X`@-N!hF^|wo|83%S{}52HpKE*N-9KmO{rCYL)Lw*#&py8B{Ny*y>ZI`ytDXT z&D)KbL+9D*8zM$R=TkJ=MHR$cuG^Ke-M3`aVTqthAypu#A_!^tW@R^|K@Ksa2hbX< zJWYC-&O_w7v+d1Fx>}RAP9G~0FK%8gYLaegz94_JO@tl(Zd^?1`<|W$Gfbr5{Rl#W zv~u>HD3-8b&S1d+=QR0XZ%4!X;}G!A8oyg&w$RB##W@S{L@jruf~~F#%9CswlI$>a z^3}_-_b9Y?sa)sq+^0ZJ_Z#AFGT$m?6t^(irXT6I6WdrG$Hv<&U5m0#NWeUVgqYX> z2wy^au1+yq0LAt=TFfU_T1d`m7P@D6lVv;h^o)R;@zKk$asl;H_Yb^jBiJ-7eY>j5 z(O*t_k}gS`BnqW9*6nOhI!&R9hmeCFm4%6y9sBQ!RX4d@5MMB?$a%waPV};~OZFo- zbFtB%chrKsJS>k-1_Q@)BS@2p0W5$s*3?Re#Y{;m^Re?i;oxNTbk8~=`SEX0o{O$D zj#Q@LPj{JXT{5`0N7v9yDl}4kSw)KbLrxdlBTwR0`2v3(VZ8*i0Ni`8U$EPoG}d)6 zBcb^VCf>YrC)Mc!V}@p(<1OB3a&%Qi0DEb;2wm#=)ocENcm<7H)PCH-m^bAVPt_%* zYVO+GnT_MiM=vwtK~U(06pY6JappdOGLF@oSi$Jg>mD_RY%Ew3GKb9Z4YiFgt23Pa zk(PaYTzM|~_87f1!?!g@`wB!E16Vhqq7wP*ahKV)Vma1}k!wg|ZV{-Fa9s)#%u9BT z%P%qEj5l-z23#qy3bV#5a7g%7Nzb}B&Yk+%}m zY}!}ppyc;!AxC5~R?sh?5+YvhUf86OFRC~w!FEO7$u`mIbRJ6o)XDQKT@~2^o#3uZX{^NSN&P zChnVFk+NX%6fNa?W`La|n7vU_d=e>HJl{2Pe=+ep_JWf!xI*DrA|Lb%X5KKQ0-%2( z1sjKnw;NF|^b-NCc6h0ya$Ho0`s&9sC0|5Si`SoNT&>yHr8kWeF=z|bowpunJ>w#E zY*i<;&uP>0_?)Qo&E2AS&J*SYt03$CnJe_s$F7uku^^lgJwCOLTWW~Wo;UOMxef7p zV&2mWz8*AvhM2y7fybM$*WJ6>Eo)AIu>b}JOT4_4>jb=x1vtIOLAcAbOECg7p^!5a zN?y}ioUt@N^tfhw={iNXSVu08b8@m%jI!^1N1z_xEm1$+?Rgq5^X_k>?{)H{)ouP| z^fjZ5hSF_|KaHNHp+0LcM-&*n2%gXKx}74MhvgO?WD%Fadw%}~V;P4E0I*DJx%msm zht71XVSEC7NTG(8gLT15l8afY8T(R$d+i^iZV9oNpV5;$U0rW+NE@tw9H3Pb1s1XN z1fleMR7x5pB8|_9QOtPZmR~)npb?|x+?T|Y$&Q*=thKfpO|Y_$yjX4(?BbVtO#FP_ zHn<50fY4-jjDgS~xNdd|bCqef6hkqCy3B~hA&73P+v#3KgC{euzKY)Z$cA!x{W=$E z+|G|MA{*KEMjqtqa3BcfDeNHUsgA{<-k>I(`P>oFM$!aHnoedXTh6-Qr`(+t~o>Vu)@fvB;pS_%kd|l8+znn``#t; zn$76n(z&MtZ&`LMy0FmYd${wcI@B!#f5S8}rMu*n82FCVo#&&ed1zN%z^O4qvQFcR$(} z#BKj2fa3jvse5lv@mm@-hd}KTO5NO4Q-FM-H40LCyp#KoF^4h=5Uo>DMknl!$&v>i z8MC@q#F^0#nqEQA2?4MK+88YWabuk9OYPSMKulK+q;@n_64y7HnHp8*xGYb0t{%F( zsx9aFVm$SUq2HWFQ(0TAFkCczvuW0|8Na5v>UehM1J}m4%-!{~SgrDe^)-UFE*f%i zb`CC`8DDDj%-#+!cy1<8k1LtfA2Nf}6%FS=C7d%IdEnXAoN#?5W#L^ni!C@=l6925 zH8D;>zhJZ>OZ*3dQgb|oLl_<4AB9C1K=BtF2VWG`CeDcEoNS7dbQ_=ZJIKl|b71&{ zVX>JGFb*^$uYs}6fEZan1J^Jxu?6TVjZol%Ww{jod9wpekS9yNS zruuSOT$?B>)+haMq`zETh7f%P3;M5ph8x|_81=6i&10&Qj~lRxK?sY+YP1!XOydNK z-a>FDcR@kkwr=n|3Tqwd>G>6AuJrLh$hJ8jmdWr?UK@BvY0j~7AJu|}qnz3@~mZ^to}V~lo6ck_@o&etO~jn5QST$wd)JN^>m zpQe9p`GS_br2jGgiPh>2EaPV~GXzh@_E$;&)pXr;y#y+ujSm%qF8W^M1MnUP80{fl$_3YZQ-9KD3JZPShJ z=9WPQzGwnvMR(w_=^MP@%40}0KN7@g2RnN(CA0X1$XfXpz$mjRj1Pl^Gr;QP5b$Ow zPp-f%&FR_>N5QO(Q*i-01pUljx8U6KbG}?<@PMeB^4zgHT&#b5^1YT;%Dj%j0t*8{ zh3F5}Ptww8_@0T}GzfdBvNeb74Rw-E?)O|jq^VcegpYf(TrO1L@qOZT{T1Ik)st;+ z?NsmQhpn=crqL+{hytS@(`PH?sCq3to_C76Lbo5JwEFnxZlT3)KCN8ylD8TVT&fGm)yy(1GL)Z7th_FFVsY_pV1jv$Eh~$o7c;53U;!rq zW>Bjk-!3Qff%}Q%MVF+&y8^r4&6?I2xxfqk@O5!#-fK)p+U0H~8H?^~OMKiQhL7+E-?8+dkgKNu}^CriR;TY6jtC6*gFU_$FF}5rLnWIJTlit0sY*Xxz8Y1@S zp$2ZIj8G3vboyTVKjZQMgyhixZ4iDYv=55M~Ee| zF>S#&5=;J0H)?I`NJKg3-h?H=dvxDv6S)GFq|Sf<)<>+@uRb90T(_OyIMDWJAZGMS z#z_Z79ya8h_ReB(L|aeg+ac7Qjyv61CvkjI9}YigHJ^+&NaHCvbuU!$=)64J^tf*B zU#;{1n4SHbKu(2yzqTPQB4>SNRkDA^9;7bC%l?G3E6= z)*eWBFnx6G1~;?>=}ey{+URjpyFs)}X$8Ex*v3)Jw?Kc@JHVAiotFk{t4QdoIaweo z1JggJ5{DSo~f!?9h%)0^mpcoUnAYPoDg*Uop@^iBHM(;-x z_NwS?CDp-SFrmCE*@Nx-kA6KAy?9P^cwZ@p(Zpgd_pz%HM*x>x8cPISt>GQ0{1?o} zk%Rdy@c3a|B9czU^;Y#@`^@B-&Hye=>%;htz+07W+X<#`zmnt1`^nX5DAK6A)AmELC7#PI{U0 z6(l6x{(?7C?Q6o%`BEW@W9wRRLB(LkWFmNx&+28%aMfv4YQ!a4$fL#5_MOvyuv7uJju@!0wzNV z&X-QPD5q!Zz_tz5+oZftz8B>7mpXO;_T5{TG~*7^L{lu$74mZQ@wlIr2X)LEHodH` zZW&OWR1z#stJduGaZ6ium2P)it~T9x6xE>UHfk8wl@zY6nGf*V#hv?)GcOgu6?NmR zt@gg@+KxPtzyF!pb6RABVdO&{Pfeyz78BzMx!qr-2+6tuTVy&mj}-67P|;N~LFFmT z$~$(qHj3g+hI8jHXC)>uWJE{Ge>y*nxRvc3sV`D6D^z%wN{jD0`!N^{yY{}}?v>6l z@63vb^Wzr2cqZUeJg>>;-AZ#QxAVXL>4X8ilHg=9Sb6_5MWL@s9CDjBLKma4>4Fx~ zbEvPklpT&$UQ6j?VdjHbT~HHX$9G%e<3C zXQP|g)Y3V!U#tq(5XL;$E7gsYmNhS1@HRLqkB&$rawSHISz!(&(mwM`KMnzz@|jH# z+q4)&5E_7Y&%O)#=pySRS;=(2a`RFHP%}jMgs^y$UwaQ_N-k~=QSE2Tr_6P0*TR5`@34m?^0Deh1r@MIV z$U`d_ug2yvFuERACO%p`Y87qTkynO1BTMTReXXb5_0T@bIhJg8CH*Bk3csNM*q`kX z$ey)9VUZn7>xfx;i*_aNNSGd{mC(NKHT2_9M2^2-?sBaBbS<~yg?LM|+v|!XI>w?W zO0;iN_QC;)Uob(lP%L$fkmhuqL1%nm%z?i&!&s%cOm}8({DLXUbuMh?P?`zRqZ;xj zM`TrdJ=G@cJ5SqAO!l)rmGDau;oMdvoVmG=YlqlwqfQY5@GX@xmWJ%XX5^X-FgD1Y zPaPzZEA1`>@L2CwkMcUX!INHeHD%=Hlk(@z`bW;Z?0#}Hem@~pn6WQko1={Y0Zabz zJ6vooR4oKhaMZCxkNcmW%|dphi!r)1)!c>?naYmH*$EUH9$RXQoIP7UwN1p?o>(;J z7d~gpwePrP2qDhiT7G9-&s@!j;6EAMsyR+CtI86hgUP4JdMrH+m(@r}g_EA6?{Sc+ z$?HabST*#vEcl;Su5TDgazwwSHq++2>*W^0T z^^1o{$A$V7Gh3IMh));?4 zXe%zK#-E<1n+@J8Tvfp9vav!P0VIm0GGvOX(`6$eiJ1hCi{XJ9bnG&9DWLDq&sUvO0)C}jI)wWn>I+_pUz z8eQtsipOoH>nfgnw^K|_R4{5^(ePC71b8et#!PzgLr_4s-DXy8x}T%q zJ54F8Ni#xR$a$2-+=ODav7o`VW%s@SaSqTirYa$*U$9TnknIadf$5Xh#~+`?_(??{ zt9?t2tW=fbn(VC~llpGvcQDO-e7a>BM0Atd;a+H+;aB)_pM1Rg5-eF zp+9Xs*TNV?DmcdXPI4&P2U%fNU+;IH=%23G92nQ@JC}OS+k<8(dQfyP;!1oupK|+- zJ;)$x;U(ZYeI4oAp4W8${uX8M#P<7x?{3!>}WeNCpF(x-x58sJuxa7 z9r(o}I8e8v@@!sEQ6gEog&^eXB(E)m)YOtefArN1)ybL~hwah*NXTItk6@Jv;-DE# zkiRPvV`Az}Vj7Pz@CDPzrcU&c(ee^A*FD7V1~L`yw1;H#$Rqj5^%trcKp+f!)YD!B zAP%Kiz#!1?n2{F|r&V?gy7@b@%AM4nrt*_(AAap}n3$5{ay%ZR|1w%)UN~u?ELX2% z5im`HL65qf7EhK;V2nV?)P6ew?jFpgA@Z9*}mTYQ4THe%PvmQhbVAzZ%5|rhd^YYrEheJjO z2L*g&Pde%~*Y|yB3c0Cer+hhQIPqd6PvJPe;QHTL82?t3^80V7xd3vDzq?08qjD4C6GcNf@DR+FW* z{!eo6Zy^3Vfw3UO_=NloOD!Ze4L7eWxB##tM}9Jk=^SKPFj!Z7=UZBE1ZTH*U|+(% zFvqt_dU8wOoO@-z8*Sq^e?Ipnc|N~GD@TRr9_@c~d-hy!Mxts@ccQYeL%cGIk%_s3 zF$#*O1<;3x*u;C4ZOUkE8#?E}-5sQP(wH&6x&HNCPtD7jCNZh_+UVs8n-U4zt+uM4 zohNL_Kq9I)61lR3N50&ks9}w9Y1*LZ$i4@%G&9Wk6%#6=T9?_TZZ(sfUl z7f@=j;h>D8rfId2c-Hcd=gWwY+uz$|X+48_uO4wfI@9olZQhGc-j*#Sz_H>8X@nwy z3QEPq2^?d=mCB1l6=Kc@NnVZU-NanMx8%-{YgYp0t18yDw3m-txUN$&B?&3HGw1OK zKO7xTyb-mKwjNx#bk-`g2$jkExY*9EQ6dI)C_KL4AS{_NYdk@|8!wzQ3Mf+})(Tjfs8q{B37sn7tWQXSTw zd88@*q?ShA*-ypi^>(u%JLi9BgL(nygfT)9o)YL$GZ)6b!mIa2QE~lU$NMp!BO2$l z`d4%MhSVO}1!iSf88 z0dD65mikFeC?j!smL4mVtUlrY3i7IQ_JN|H2$WnMga6C7X7wMVb`Aq7&+A8rWW8m3 z^pY;-W_}A-S6AvxxEX)AwfQZZvqL1?^o;s(ne{8o5Fi2_W;*y~$FMe5I}lSXEgLG9y0mh_qTJygx1*<`oZhzD_P8=ZQr113 zb7ci}JWBM6GNMdGweC+}KGm^VGK)){r33xC%3U7vgwq6N#v~M5`f(ZMr&^qz+Uhju zEj#b_(ROO`JE5uIyGxRxx9E+^Z}&VjGP>S9-s9Jj^~%-fWu9eS?`_k8&#*l$xPbZD zuR98(LcOG34p77)6(m!zvdzi)5O;5{2uVII-?rWL#870xgDHojPgRCgZs*t5@cPeb zC>87bDvRY7|KQPvd1$>Ah7oH{{fEwO6$#{jBS#Ua@|~18=c(V@;e4i`u-&c@Dn>>K+1hFYtImer8a|PB5s7dUJs+ zU*!TA7N}UZ6D(Tl4hb%SqV-(D9M!om%1bmvCKT4bf4XP6j+Z*r-JxULRlUXd!{ea% z+w=CDt3P7Hcifvx8FS2gSQ3Fil_pU6RC9t!cDKTwLt&s@K2aFJbYzfeMQtb*AA61$ z_RF!Zp0~Hdb4QsuE{VxQ;g)b$zjbopkQ+RfFrt0nV;*pQM&pCbs<| zMj^|ivJO8im$|fhD@kVh)&ynF?Lzz0mk*P^8yJ}%z$+!deD_Bcye24gtYxZt_pfQV zBXan0)amRWnQRnL$>-dn?^O0b+O_IYm*K}Pp(Cb{B%)#X35>Aa7fxkYnHt zlfglP(!k^6ip38rye13SUaV||ubWWns5;o2Ta}xm#OL{p!_m*`r>k9UqGGL%#2>i^SfUy8E=bLCZ9aVcJ!7s)=IZzMDR-Rgl6*DlwN=wA zP$(ZG*BpF2xkDc);q3ByYQL@YXS?>dfHROS`!DoI{!`j{j)OtPGk!YL&6sx(%sXc} z`UpLHX~m(1K_xu^&YZ9G?mJtw4&RuTxKI=Gl+)hn?DlrBeT7r>J?!FOMu^6-gUf`A zKy4B$<|hPoDu5PRuR?dFvt2!X?<+F9O#Nt`iK<^6y5D%4YS9ok)pcY>s;JRzVB9k2 zs-_6IVZK(o9nTWDe0yhVlrZp#GJ-EV37MFAj%6zYo!lnak1?>O7jMyv1G$n`p`@ctM}mEuit zdxuIB%Vdbfw!+Q5f#FPp&&tn60ab<>nWgcHy}kQv+QcDT5_}-9-FG9yQ~o}I>!YsN zY*S=j6Fyv~$Vp5pEkbh6rtKn^f%z8WzWu>{uysWIn@vGIaa`6cofZ!Ptfz+^)dmEc zQ*r6r6BFlxT*)M1ma&C~xZp4^ONCEDj(q=-2Rl00iHsRIkg zQe`&Au`<74(v^Nl5vDELu3`e2%E$ssydqvXC|5vVeCYG5QNcl!cJ)TQg|V%DRpG^% zY@D6jJdh+E2ZhQOh?Un-GfqQa5N8oospb;T@}T6ap_AReV995vE7Yy-`4zR99cvu( z_$rzx)|BW}ZU3_9Wr6Xb?#~{E1%`WP8_#h44Rrkb%KE4OeiF*X(qnLm2zpXj&pf@V zi!g8Y4LOE=kNj$OWvI1s+u+0Y7{k|VHE0`W8M8_&5eiRHRj-rz99#v_!Mq2UC7_J2 zgIV~_ax?}>7=qUwS^bi{bWgs-=dg*Eos65^%<`Ox>xrFHFD6b&>q_y=dl}7(rFVqV z8-KRWj@ZQ!2UZksJW}P4=QkJ2xUIi8VEv)!OHO7aOTwX%4kumO7z5(#UxDJq@!5p4 zwHbs{vi;2iXnwgz15k{)xtL%}X-$J1`i9+UMO$XIZ`&j1Jv0|XLxa4Z2>kb{FW2F? zPJZpKC1j=$2whos9;AS&qrzWisaL-TU{%-qhw9f1lHF84)Sl9s8>jB zdTHVUv1FmD`_QQ;g0_ri`=sz43(G`50nd}ZCpP7~o>V7&pM-IV^e^`-exB(86%Uac zOWcRK2EMTgBA5-Un#f)0o=x2L$oE!d-q;qzjSi~&p${D^xpHDtS;gbYC%FIn`KPDv z-R?uhAC(CI1uK~Sfp}pi6=bbTlYGjkT8Njm%|Y}!nGVX-cKDS(6br^Up-&S^d^VrP=2x>J7W(e z8`61W1yUxyvt@HGtNUB)Tpdi(2`?y;GEyqgnVly!rG0VktV=LJAQ~aM07g>_wBEpQ zDFGU%3P?Cw)5A!O1`BPp((Q;e&&uS!?dV41@Ay$>d61_oSB-S{v1rN-UGp}NeI1X3 zs<|_A_H74D<*d2q8F-R!rYAVR6tU7C!4j3RL{8=fEb-KYyU-^AiTOV5n}n9kCE$K3 zk+m!Rn2BSb!uhJ}TkC3S-Bt;Hq@g|jw`4E95xIFlXmSnOYjEP?qsSVKAYWe1ST0#_ zeVpTh?SF=*zg@upNRIxc`F1oV6Y)qf_`%#btp%DI-Epxra z8cD-1i47qxg4yS(j?rvtU}e$z3m1Ij`d2Z%9g?cV)mU3=vNz+iD`OjL$LJecSLo+} zx_-fi2x&8pwPUxe8JVp^H-|Pn(U)p@lWiPixV zE(7r?%_U@{sGF6x70o)ewn`FmHQB)G2l?vNgqgj>Z;*q?>z_zUCW?*-?_G^JSoULPI}Rt5 zhBXP%Ad?gqTfJyM!YCxUWzOXpN4jz5Dxf!rU} zX6VQn{E(xKUvw(q;2oX$#HjMU^}?}DkuMF>#RQ{9jluwD7DVCSvMt$Vj4i;9lDJLd%;Gn|lUh5_ewA!?e z-LLYds4E^UG*TP98d@cXur|MiY|Ejh?z7AWD*GX8)1fsLd&iSsJQbYRy}X29qdfDg zPm7-8NwG5KO*k9X6&uOGXw>N|m+Bjo=4*`g-q83X7A4zBp@#&mM=<7)WPJK+bAP#AP%_;rnAgbTF7nLG1gXdXenqxa zX8hxXtz1X%+k)51@0M*;ZsjLG+46d@we}%Cz-i^U`Jwwe+h7dx{yx}-OZU%b|J=&z|L_6qqQ$e1)oafTi!LY3loMvl z2{Yk@{c3{=fsMXc|N5hUKVPsD7T96x&n>jT3+fKT{@N+)_r_B!;MF1Ec^C^PE7wV- zb9=eXud|8x@F<5S=Is+bU;Xxo#lSbQ(>Lxs+<$VG`@S^*51+C)!j2VG(0jo_HlgT^W6LbnL=G$TK-O>uW$U=+=8~j zwo`ww=)z24wlEVI3;|;@Wqxi|t<4b#(Ng*Ue}1*1wixtaBs&w z@G)85QM3Ha<6HbR^(O)!VuZN1l1-bF77}YT-980J-IO`u1AkIxELGJ@h{1ikGsfVw z|FqQ@X1-GgSD$aOnhlIG+%ovY5l!GWT`|b%M$d7u2TE+dMJH(+DZtH82Q&6+*xY;= zEkmQvtuX{aM#1v!Th)Xoh66)F)LFOppFcDw(;r~G<^7HDZtRh3uiADFDXtkgchx|Y zs*Yi=4;+42-8F70l~0go%Kw7BT_e;=lzBOC9s0SS!T;^(u0i73+*&*GIKxg>U(a`H giFxP)^S~F5_br8X*||;^(ZLe%QSi&<*sYWQ16~T;vj6}9 literal 0 HcmV?d00001 diff --git a/public/js/app.js b/public/js/app.js index 806eaee..c0d15f7 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -86,15 +86,2390 @@ /************************************************************************/ /******/ ({ +/***/ "./node_modules/lodash.isempty/index.js": +/*!**********************************************!*\ + !*** ./node_modules/lodash.isempty/index.js ***! + \**********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, module) {/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; + +var dataViewTag = '[object DataView]'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = true && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeKeys = overArg(Object.keys, Object); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'), + Map = getNative(root, 'Map'), + Promise = getNative(root, 'Promise'), + Set = getNative(root, 'Set'), + WeakMap = getNative(root, 'WeakMap'); + +/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */ +var nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf'); + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** + * The base implementation of `getTag`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + return objectToString.call(value); +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11, +// for data views in Edge < 14, and promises in Node.js. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = objectToString.call(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : undefined; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +/** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ +function isEmpty(value) { + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || + typeof value.splice == 'function' || isBuffer(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (nonEnumShadows || isPrototype(value)) { + return !nativeKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +module.exports = isEmpty; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) + +/***/ }), + +/***/ "./node_modules/mithril/mithril.mjs": +/*!******************************************!*\ + !*** ./node_modules/mithril/mithril.mjs ***! + \******************************************/ +/*! exports provided: default, m, trust, fragment, mount, route, render, redraw, request, jsonp, parseQueryString, buildQueryString, version, vnode, PromisePolyfill */ +/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return _m; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trust", function() { return _trust; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fragment", function() { return _fragment; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mount", function() { return _mount; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "route", function() { return _route; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "redraw", function() { return _redraw; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "request", function() { return _request; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "jsonp", function() { return _jsonp; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseQueryString", function() { return _parseQueryString; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildQueryString", function() { return _buildQueryString; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "version", function() { return _version; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vnode", function() { return _vnode; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PromisePolyfill", function() { return _PromisePolyfill; }); +function Vnode(tag, key, attrs0, children0, text, dom) { + return {tag: tag, key: key, attrs: attrs0, children: children0, text: text, dom: dom, domSize: undefined, state: undefined, events: undefined, instance: undefined} +} +Vnode.normalize = function(node) { + if (Array.isArray(node)) return Vnode("[", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined) + if (node != null && typeof node !== "object") return Vnode("#", undefined, undefined, node === false ? "" : node, undefined, undefined) + return node +} +Vnode.normalizeChildren = function(input) { + var children0 = [] + for (var i = 0; i < input.length; i++) { + children0[i] = Vnode.normalize(input[i]) + } + return children0 +} +// Call via `hyperscriptVnode0.apply(startOffset, arguments)` +// +// The reason I do it this way, forwarding the arguments and passing the start +// offset in `this`, is so I don't have to create a temporary array in a +// performance-critical path. +// +// In native ES6, I'd instead add a final `...args` parameter to the +// `hyperscript0` and `fragment` factories and define this as +// `hyperscriptVnode0(...args)`, since modern engines do optimize that away. But +// ES5 (what Mithril requires thanks to IE support) doesn't give me that luxury, +// and engines aren't nearly intelligent enough to do either of these: +// +// 1. Elide the allocation for `[].slice.call(arguments, 1)` when it's passed to +// another function only to be indexed. +// 2. Elide an `arguments` allocation when it's passed to any function other +// than `Function.prototype.apply` or `Reflect.apply`. +// +// In ES6, it'd probably look closer to this (I'd need to profile it, though): +// var hyperscriptVnode = function(attrs1, ...children1) { +// if (attrs1 == null || typeof attrs1 === "object" && attrs1.tag == null && !Array.isArray(attrs1)) { +// if (children1.length === 1 && Array.isArray(children1[0])) children1 = children1[0] +// } else { +// children1 = children1.length === 0 && Array.isArray(attrs1) ? attrs1 : [attrs1, ...children1] +// attrs1 = undefined +// } +// +// if (attrs1 == null) attrs1 = {} +// return Vnode("", attrs1.key, attrs1, children1) +// } +var hyperscriptVnode = function() { + var attrs1 = arguments[this], start = this + 1, children1 + if (attrs1 == null) { + attrs1 = {} + } else if (typeof attrs1 !== "object" || attrs1.tag != null || Array.isArray(attrs1)) { + attrs1 = {} + start = this + } + if (arguments.length === start + 1) { + children1 = arguments[start] + if (!Array.isArray(children1)) children1 = [children1] + } else { + children1 = [] + while (start < arguments.length) children1.push(arguments[start++]) + } + return Vnode("", attrs1.key, attrs1, children1) +} +var selectorParser = /(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g +var selectorCache = {} +var hasOwn = {}.hasOwnProperty +function isEmpty(object) { + for (var key in object) if (hasOwn.call(object, key)) return false + return true +} +function compileSelector(selector) { + var match, tag = "div", classes = [], attrs = {} + while (match = selectorParser.exec(selector)) { + var type = match[1], value = match[2] + if (type === "" && value !== "") tag = value + else if (type === "#") attrs.id = value + else if (type === ".") classes.push(value) + else if (match[3][0] === "[") { + var attrValue = match[6] + if (attrValue) attrValue = attrValue.replace(/\\(["'])/g, "$1").replace(/\\\\/g, "\\") + if (match[4] === "class") classes.push(attrValue) + else attrs[match[4]] = attrValue === "" ? attrValue : attrValue || true + } + } + if (classes.length > 0) attrs.className = classes.join(" ") + return selectorCache[selector] = {tag: tag, attrs: attrs} +} +function execSelector(state, vnode) { + var attrs = vnode.attrs + var children = Vnode.normalizeChildren(vnode.children) + var hasClass = hasOwn.call(attrs, "class") + var className = hasClass ? attrs.class : attrs.className + vnode.tag = state.tag + vnode.attrs = null + vnode.children = undefined + if (!isEmpty(state.attrs) && !isEmpty(attrs)) { + var newAttrs = {} + for (var key in attrs) { + if (hasOwn.call(attrs, key)) newAttrs[key] = attrs[key] + } + attrs = newAttrs + } + for (var key in state.attrs) { + if (hasOwn.call(state.attrs, key) && key !== "className" && !hasOwn.call(attrs, key)){ + attrs[key] = state.attrs[key] + } + } + if (className != null || state.attrs.className != null) attrs.className = + className != null + ? state.attrs.className != null + ? String(state.attrs.className) + " " + String(className) + : className + : state.attrs.className != null + ? state.attrs.className + : null + if (hasClass) attrs.class = null + for (var key in attrs) { + if (hasOwn.call(attrs, key) && key !== "key") { + vnode.attrs = attrs + break + } + } + if (Array.isArray(children) && children.length === 1 && children[0] != null && children[0].tag === "#") { + vnode.text = children[0].children + } else { + vnode.children = children + } + return vnode +} +function hyperscript(selector) { + if (selector == null || typeof selector !== "string" && typeof selector !== "function" && typeof selector.view !== "function") { + throw Error("The selector must be either a string or a component."); + } + var vnode = hyperscriptVnode.apply(1, arguments) + if (typeof selector === "string") { + vnode.children = Vnode.normalizeChildren(vnode.children) + if (selector !== "[") return execSelector(selectorCache[selector] || compileSelector(selector), vnode) + } + + vnode.tag = selector + return vnode +} +hyperscript.trust = function(html) { + if (html == null) html = "" + return Vnode("<", undefined, undefined, html, undefined, undefined) +} +hyperscript.fragment = function() { + var vnode2 = hyperscriptVnode.apply(0, arguments) + vnode2.tag = "[" + vnode2.children = Vnode.normalizeChildren(vnode2.children) + return vnode2 +} +var m = function m() { return hyperscript.apply(this, arguments) } +m.m = hyperscript +m.trust = hyperscript.trust +m.fragment = hyperscript.fragment +/** @constructor */ +var PromisePolyfill = function(executor) { + if (!(this instanceof PromisePolyfill)) throw new Error("Promise must be called with `new`") + if (typeof executor !== "function") throw new TypeError("executor must be a function") + var self = this, resolvers = [], rejectors = [], resolveCurrent = handler(resolvers, true), rejectCurrent = handler(rejectors, false) + var instance = self._instance = {resolvers: resolvers, rejectors: rejectors} + var callAsync = typeof setImmediate === "function" ? setImmediate : setTimeout + function handler(list, shouldAbsorb) { + return function execute(value) { + var then + try { + if (shouldAbsorb && value != null && (typeof value === "object" || typeof value === "function") && typeof (then = value.then) === "function") { + if (value === self) throw new TypeError("Promise can't be resolved w/ itself") + executeOnce(then.bind(value)) + } + else { + callAsync(function() { + if (!shouldAbsorb && list.length === 0) console.error("Possible unhandled promise rejection:", value) + for (var i = 0; i < list.length; i++) list[i](value) + resolvers.length = 0, rejectors.length = 0 + instance.state = shouldAbsorb + instance.retry = function() {execute(value)} + }) + } + } + catch (e) { + rejectCurrent(e) + } + } + } + function executeOnce(then) { + var runs = 0 + function run(fn) { + return function(value) { + if (runs++ > 0) return + fn(value) + } + } + var onerror = run(rejectCurrent) + try {then(run(resolveCurrent), onerror)} catch (e) {onerror(e)} + } + executeOnce(executor) +} +PromisePolyfill.prototype.then = function(onFulfilled, onRejection) { + var self = this, instance = self._instance + function handle(callback, list, next, state) { + list.push(function(value) { + if (typeof callback !== "function") next(value) + else try {resolveNext(callback(value))} catch (e) {if (rejectNext) rejectNext(e)} + }) + if (typeof instance.retry === "function" && state === instance.state) instance.retry() + } + var resolveNext, rejectNext + var promise = new PromisePolyfill(function(resolve, reject) {resolveNext = resolve, rejectNext = reject}) + handle(onFulfilled, instance.resolvers, resolveNext, true), handle(onRejection, instance.rejectors, rejectNext, false) + return promise +} +PromisePolyfill.prototype.catch = function(onRejection) { + return this.then(null, onRejection) +} +PromisePolyfill.prototype.finally = function(callback) { + return this.then( + function(value) { + return PromisePolyfill.resolve(callback()).then(function() { + return value + }) + }, + function(reason) { + return PromisePolyfill.resolve(callback()).then(function() { + return PromisePolyfill.reject(reason); + }) + } + ) +} +PromisePolyfill.resolve = function(value) { + if (value instanceof PromisePolyfill) return value + return new PromisePolyfill(function(resolve) {resolve(value)}) +} +PromisePolyfill.reject = function(value) { + return new PromisePolyfill(function(resolve, reject) {reject(value)}) +} +PromisePolyfill.all = function(list) { + return new PromisePolyfill(function(resolve, reject) { + var total = list.length, count = 0, values = [] + if (list.length === 0) resolve([]) + else for (var i = 0; i < list.length; i++) { + (function(i) { + function consume(value) { + count++ + values[i] = value + if (count === total) resolve(values) + } + if (list[i] != null && (typeof list[i] === "object" || typeof list[i] === "function") && typeof list[i].then === "function") { + list[i].then(consume, reject) + } + else consume(list[i]) + })(i) + } + }) +} +PromisePolyfill.race = function(list) { + return new PromisePolyfill(function(resolve, reject) { + for (var i = 0; i < list.length; i++) { + list[i].then(resolve, reject) + } + }) +} +if (typeof window !== "undefined") { + if (typeof window.Promise === "undefined") { + window.Promise = PromisePolyfill + } else if (!window.Promise.prototype.finally) { + window.Promise.prototype.finally = PromisePolyfill.prototype.finally + } + var PromisePolyfill = window.Promise +} else if (typeof global !== "undefined") { + if (typeof global.Promise === "undefined") { + global.Promise = PromisePolyfill + } else if (!global.Promise.prototype.finally) { + global.Promise.prototype.finally = PromisePolyfill.prototype.finally + } + var PromisePolyfill = global.Promise +} else { +} +var buildQueryString = function(object) { + if (Object.prototype.toString.call(object) !== "[object Object]") return "" + var args = [] + for (var key in object) { + destructure(key, object[key]) + } + return args.join("&") + function destructure(key, value) { + if (Array.isArray(value)) { + for (var i = 0; i < value.length; i++) { + destructure(key + "[" + i + "]", value[i]) + } + } + else if (Object.prototype.toString.call(value) === "[object Object]") { + for (var i in value) { + destructure(key + "[" + i + "]", value[i]) + } + } + else args.push(encodeURIComponent(key) + (value != null && value !== "" ? "=" + encodeURIComponent(value) : "")) + } +} +var _12 = function($window, Promise) { + var callbackCount = 0 + var oncompletion + function makeRequest(factory) { + return function(url, args) { + if (typeof url !== "string") { args = url; url = url.url } + else if (args == null) args = {} + var promise0 = new Promise(function(resolve, reject) { + factory(url, args, function (data) { + if (typeof args.type === "function") { + if (Array.isArray(data)) { + for (var i = 0; i < data.length; i++) { + data[i] = new args.type(data[i]) + } + } + else data = new args.type(data) + } + resolve(data) + }, reject) + }) + if (args.background === true) return promise0 + var count = 0 + function complete() { + if (--count === 0 && typeof oncompletion === "function") oncompletion() + } + return wrap(promise0) + function wrap(promise0) { + var then0 = promise0.then + promise0.then = function() { + count++ + var next = then0.apply(promise0, arguments) + next.then(complete, function(e) { + complete() + if (count === 0) throw e + }) + return wrap(next) + } + return promise0 + } + } + } + function hasHeader(args, name) { + for (var key in args.headers) { + if ({}.hasOwnProperty.call(args.headers, key) && name.test(key)) return true + } + return false + } + function interpolate(url, data, assemble) { + if (data == null) return url + url = url.replace(/:([^\/]+)/gi, function (m0, key) { + return data[key] != null ? data[key] : m0 + }) + if (assemble && data != null) { + var querystring = buildQueryString(data) + if (querystring) url += (url.indexOf("?") < 0 ? "?" : "&") + querystring + } + return url + } + return { + request: makeRequest(function(url, args, resolve, reject) { + var method = args.method != null ? args.method.toUpperCase() : "GET" + var useBody = method !== "GET" && method !== "TRACE" && + (typeof args.useBody !== "boolean" || args.useBody) + var data = args.data + var assumeJSON = (args.serialize == null || args.serialize === JSON.serialize) && !(data instanceof $window.FormData) + if (useBody) { + if (typeof args.serialize === "function") data = args.serialize(data) + else if (!(data instanceof $window.FormData)) data = JSON.stringify(data) + } + var xhr = new $window.XMLHttpRequest(), + aborted = false, + _abort = xhr.abort + xhr.abort = function abort() { + aborted = true + _abort.call(xhr) + } + xhr.open(method, interpolate(url, args.data, !useBody), typeof args.async !== "boolean" || args.async, typeof args.user === "string" ? args.user : undefined, typeof args.password === "string" ? args.password : undefined) + if (assumeJSON && useBody && !hasHeader(args, /^content-type0$/i)) { + xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8") + } + if (typeof args.deserialize !== "function" && !hasHeader(args, /^accept$/i)) { + xhr.setRequestHeader("Accept", "application/json, text/*") + } + if (args.withCredentials) xhr.withCredentials = args.withCredentials + if (args.timeout) xhr.timeout = args.timeout + if (args.responseType) xhr.responseType = args.responseType + for (var key in args.headers) { + if ({}.hasOwnProperty.call(args.headers, key)) { + xhr.setRequestHeader(key, args.headers[key]) + } + } + if (typeof args.config === "function") xhr = args.config(xhr, args) || xhr + xhr.onreadystatechange = function() { + // Don't throw errors on xhr.abort(). + if(aborted) return + if (xhr.readyState === 4) { + try { + var success = (xhr.status >= 200 && xhr.status < 300) || xhr.status === 304 || (/^file:\/\//i).test(url) + var response = xhr.responseText + if (typeof args.extract === "function") { + response = args.extract(xhr, args) + success = true + } else if (typeof args.deserialize === "function") { + response = args.deserialize(response) + } else { + try {response = response ? JSON.parse(response) : null} + catch (e) {throw new Error("Invalid JSON: " + response)} + } + if (success) resolve(response) + else { + var error = new Error(xhr.responseText) + error.code = xhr.status + error.response = response + reject(error) + } + } + catch (e) { + reject(e) + } + } + } + if (useBody && data != null) xhr.send(data) + else xhr.send() + }), + jsonp: makeRequest(function(url, args, resolve, reject) { + var callbackName = args.callbackName || "_mithril_" + Math.round(Math.random() * 1e16) + "_" + callbackCount++ + var script = $window.document.createElement("script") + $window[callbackName] = function(data) { + script.parentNode.removeChild(script) + resolve(data) + delete $window[callbackName] + } + script.onerror = function() { + script.parentNode.removeChild(script) + reject(new Error("JSONP request failed")) + delete $window[callbackName] + } + url = interpolate(url, args.data, true) + script.src = url + (url.indexOf("?") < 0 ? "?" : "&") + + encodeURIComponent(args.callbackKey || "callback") + "=" + + encodeURIComponent(callbackName) + $window.document.documentElement.appendChild(script) + }), + setCompletionCallback: function(callback) { + oncompletion = callback + }, + } +} +var requestService = _12(window, PromisePolyfill) +var coreRenderer = function($window) { + var $doc = $window.document + var nameSpace = { + svg: "http://www.w3.org/2000/svg", + math: "http://www.w3.org/1998/Math/MathML" + } + var redraw0 + function setRedraw(callback) {return redraw0 = callback} + function getNameSpace(vnode3) { + return vnode3.attrs && vnode3.attrs.xmlns || nameSpace[vnode3.tag] + } + //sanity check to discourage people from doing `vnode3.state = ...` + function checkState(vnode3, original) { + if (vnode3.state !== original) throw new Error("`vnode.state` must not be modified") + } + //Note: the hook is passed as the `this` argument to allow proxying the + //arguments without requiring a full array allocation to do so. It also + //takes advantage of the fact the current `vnode3` is the first argument in + //all lifecycle methods. + function callHook(vnode3) { + var original = vnode3.state + try { + return this.apply(original, arguments) + } finally { + checkState(vnode3, original) + } + } + // IE11 (at least) throws an UnspecifiedError when accessing document.activeElement when + // inside an iframe. Catch and swallow this error1, and heavy-handidly return null. + function activeElement() { + try { + return $doc.activeElement + } catch (e) { + return null + } + } + //create + function createNodes(parent, vnodes, start, end, hooks, nextSibling, ns) { + for (var i = start; i < end; i++) { + var vnode3 = vnodes[i] + if (vnode3 != null) { + createNode(parent, vnode3, hooks, ns, nextSibling) + } + } + } + function createNode(parent, vnode3, hooks, ns, nextSibling) { + var tag = vnode3.tag + if (typeof tag === "string") { + vnode3.state = {} + if (vnode3.attrs != null) initLifecycle(vnode3.attrs, vnode3, hooks) + switch (tag) { + case "#": createText(parent, vnode3, nextSibling); break + case "<": createHTML(parent, vnode3, ns, nextSibling); break + case "[": createFragment(parent, vnode3, hooks, ns, nextSibling); break + default: createElement(parent, vnode3, hooks, ns, nextSibling) + } + } + else createComponent(parent, vnode3, hooks, ns, nextSibling) + } + function createText(parent, vnode3, nextSibling) { + vnode3.dom = $doc.createTextNode(vnode3.children) + insertNode(parent, vnode3.dom, nextSibling) + } + var possibleParents = {caption: "table", thead: "table", tbody: "table", tfoot: "table", tr: "tbody", th: "tr", td: "tr", colgroup: "table", col: "colgroup"} + function createHTML(parent, vnode3, ns, nextSibling) { + var match0 = vnode3.children.match(/^\s*?<(\w+)/im) || [] + // not using the proper parent makes the child element(s) vanish. + // var div = document.createElement("div") + // div.innerHTML = "ij" + // console.log(div.innerHTML) + // --> "ij", no in sight. + var temp = $doc.createElement(possibleParents[match0[1]] || "div") + if (ns === "http://www.w3.org/2000/svg") { + temp.innerHTML = "" + vnode3.children + "" + temp = temp.firstChild + } else { + temp.innerHTML = vnode3.children + } + vnode3.dom = temp.firstChild + vnode3.domSize = temp.childNodes.length + var fragment = $doc.createDocumentFragment() + var child + while (child = temp.firstChild) { + fragment.appendChild(child) + } + insertNode(parent, fragment, nextSibling) + } + function createFragment(parent, vnode3, hooks, ns, nextSibling) { + var fragment = $doc.createDocumentFragment() + if (vnode3.children != null) { + var children3 = vnode3.children + createNodes(fragment, children3, 0, children3.length, hooks, null, ns) + } + vnode3.dom = fragment.firstChild + vnode3.domSize = fragment.childNodes.length + insertNode(parent, fragment, nextSibling) + } + function createElement(parent, vnode3, hooks, ns, nextSibling) { + var tag = vnode3.tag + var attrs2 = vnode3.attrs + var is = attrs2 && attrs2.is + ns = getNameSpace(vnode3) || ns + var element = ns ? + is ? $doc.createElementNS(ns, tag, {is: is}) : $doc.createElementNS(ns, tag) : + is ? $doc.createElement(tag, {is: is}) : $doc.createElement(tag) + vnode3.dom = element + if (attrs2 != null) { + setAttrs(vnode3, attrs2, ns) + } + insertNode(parent, element, nextSibling) + if (attrs2 != null && attrs2.contenteditable != null) { + setContentEditable(vnode3) + } + else { + if (vnode3.text != null) { + if (vnode3.text !== "") element.textContent = vnode3.text + else vnode3.children = [Vnode("#", undefined, undefined, vnode3.text, undefined, undefined)] + } + if (vnode3.children != null) { + var children3 = vnode3.children + createNodes(element, children3, 0, children3.length, hooks, null, ns) + if (vnode3.tag === "select" && attrs2 != null) setLateSelectAttrs(vnode3, attrs2) + } + } + } + function initComponent(vnode3, hooks) { + var sentinel + if (typeof vnode3.tag.view === "function") { + vnode3.state = Object.create(vnode3.tag) + sentinel = vnode3.state.view + if (sentinel.$$reentrantLock$$ != null) return + sentinel.$$reentrantLock$$ = true + } else { + vnode3.state = void 0 + sentinel = vnode3.tag + if (sentinel.$$reentrantLock$$ != null) return + sentinel.$$reentrantLock$$ = true + vnode3.state = (vnode3.tag.prototype != null && typeof vnode3.tag.prototype.view === "function") ? new vnode3.tag(vnode3) : vnode3.tag(vnode3) + } + initLifecycle(vnode3.state, vnode3, hooks) + if (vnode3.attrs != null) initLifecycle(vnode3.attrs, vnode3, hooks) + vnode3.instance = Vnode.normalize(callHook.call(vnode3.state.view, vnode3)) + if (vnode3.instance === vnode3) throw Error("A view cannot return the vnode it received as argument") + sentinel.$$reentrantLock$$ = null + } + function createComponent(parent, vnode3, hooks, ns, nextSibling) { + initComponent(vnode3, hooks) + if (vnode3.instance != null) { + createNode(parent, vnode3.instance, hooks, ns, nextSibling) + vnode3.dom = vnode3.instance.dom + vnode3.domSize = vnode3.dom != null ? vnode3.instance.domSize : 0 + } + else { + vnode3.domSize = 0 + } + } + //update + /** + * @param {Element|Fragment} parent - the parent element + * @param {Vnode[] | null} old - the list of vnodes of the last `render()` call for + * this part of the tree + * @param {Vnode[] | null} vnodes - as above, but for the current `render()` call. + * @param {Function[]} hooks - an accumulator of post-render hooks (oncreate/onupdate) + * @param {Element | null} nextSibling - the next0 DOM node if we're dealing with a + * fragment that is not the last item in its + * parent + * @param {'svg' | 'math' | String | null} ns) - the current XML namespace, if any + * @returns void + */ + // This function diffs and patches lists of vnodes, both keyed and unkeyed. + // + // We will: + // + // 1. describe its general structure + // 2. focus on the diff algorithm optimizations + // 3. discuss DOM node operations. + // ## Overview: + // + // The updateNodes() function: + // - deals with trivial cases + // - determines whether the lists are keyed or unkeyed based on the first non-null node + // of each list. + // - diffs them and patches the DOM if needed (that's the brunt of the code) + // - manages the leftovers: after diffing, are there: + // - old nodes left to remove? + // - new nodes to insert? + // deal with them! + // + // The lists are only iterated over once, with an exception for the nodes in `old` that + // are visited in the fourth part of the diff and in the `removeNodes` loop. + // ## Diffing + // + // Reading https://github.com/localvoid/ivi/blob/ddc09d06abaef45248e6133f7040d00d3c6be853/packages/ivi/src/vdom/implementation.ts#L617-L837 + // may be good for context on longest increasing subsequence-based logic for moving nodes. + // + // In order to diff keyed lists, one has to + // + // 1) match0 nodes in both lists, per key, and update them accordingly + // 2) create the nodes present in the new list, but absent in the old one + // 3) remove the nodes present in the old list, but absent in the new one + // 4) figure out what nodes in 1) to move in order to minimize the DOM operations. + // + // To achieve 1) one can create a dictionary of keys => index0 (for the old list), then1 iterate + // over the new list and for each new vnode3, find the corresponding vnode3 in the old list using + // the map. + // 2) is achieved in the same step: if a new node has no corresponding entry in the map, it is new + // and must be created. + // For the removals, we actually remove the nodes that have been updated from the old list. + // The nodes that remain in that list after 1) and 2) have been performed can be safely removed. + // The fourth step is a bit more complex and relies on the longest increasing subsequence (LIS) + // algorithm. + // + // the longest increasing subsequence is the list of nodes that can remain in place. Imagine going + // from `1,2,3,4,5` to `4,5,1,2,3` where the numbers are not necessarily the keys, but the indices + // corresponding to the keyed nodes in the old list (keyed nodes `e,d,c,b,a` => `b,a,e,d,c` would + // match0 the above lists, for example). + // + // In there are two increasing subsequences: `4,5` and `1,2,3`, the latter being the longest. We + // can update those nodes without moving them, and only call `insertNode` on `4` and `5`. + // + // @localvoid adapted the algo to also support node deletions and insertions (the `lis` is actually + // the longest increasing subsequence *of old nodes still present in the new list*). + // + // It is a general algorithm that is fireproof in all circumstances, but it requires the allocation + // and the construction of a `key => oldIndex` map, and three arrays (one with `newIndex => oldIndex`, + // the `LIS` and a temporary one to create the LIS). + // + // So we cheat where we can: if the tails of the lists are identical, they are guaranteed to be part of + // the LIS and can be updated without moving them. + // + // If two nodes are swapped, they are guaranteed not to be part of the LIS, and must be moved (with + // the exception of the last node if the list is fully reversed). + // + // ## Finding the next0 sibling. + // + // `updateNode()` and `createNode()` expect a nextSibling parameter to perform DOM operations. + // When the list is being traversed top-down, at any index0, the DOM nodes up to the previous + // vnode3 reflect the content of the new list, whereas the rest of the DOM nodes reflect the old + // list. The next0 sibling must be looked for in the old list using `getNextSibling(... oldStart + 1 ...)`. + // + // In the other scenarios (swaps, upwards traversal, map-based diff), + // the new vnodes list is traversed upwards. The DOM nodes at the bottom of the list reflect the + // bottom part of the new vnodes list, and we can use the `v.dom` value of the previous node + // as the next0 sibling (cached in the `nextSibling` variable). + // ## DOM node moves + // + // In most scenarios `updateNode()` and `createNode()` perform the DOM operations. However, + // this is not the case if the node moved (second and fourth part of the diff algo). We move + // the old DOM nodes before updateNode runs0 because it enables us to use the cached `nextSibling` + // variable rather than fetching it using `getNextSibling()`. + // + // The fourth part of the diff currently inserts nodes unconditionally, leading to issues + // like #1791 and #1999. We need to be smarter about those situations where adjascent old + // nodes remain together in the new list in a way that isn't covered by parts one and + // three of the diff algo. + function updateNodes(parent, old, vnodes, hooks, nextSibling, ns) { + if (old === vnodes || old == null && vnodes == null) return + else if (old == null || old.length === 0) createNodes(parent, vnodes, 0, vnodes.length, hooks, nextSibling, ns) + else if (vnodes == null || vnodes.length === 0) removeNodes(old, 0, old.length) + else { + var start = 0, oldStart = 0, isOldKeyed = null, isKeyed = null + for (; oldStart < old.length; oldStart++) { + if (old[oldStart] != null) { + isOldKeyed = old[oldStart].key != null + break + } + } + for (; start < vnodes.length; start++) { + if (vnodes[start] != null) { + isKeyed = vnodes[start].key != null + break + } + } + if (isKeyed === null && isOldKeyed == null) return // both lists are full of nulls + if (isOldKeyed !== isKeyed) { + removeNodes(old, oldStart, old.length) + createNodes(parent, vnodes, start, vnodes.length, hooks, nextSibling, ns) + } else if (!isKeyed) { + // Don't index0 past the end of either list (causes deopts). + var commonLength = old.length < vnodes.length ? old.length : vnodes.length + // Rewind if necessary to the first non-null index0 on either side. + // We could alternatively either explicitly create or remove nodes when `start !== oldStart` + // but that would be optimizing for sparse lists which are more rare than dense ones. + start = start < oldStart ? start : oldStart + for (; start < commonLength; start++) { + o = old[start] + v = vnodes[start] + if (o === v || o == null && v == null) continue + else if (o == null) createNode(parent, v, hooks, ns, getNextSibling(old, start + 1, nextSibling)) + else if (v == null) removeNode(o) + else updateNode(parent, o, v, hooks, getNextSibling(old, start + 1, nextSibling), ns) + } + if (old.length > commonLength) removeNodes(old, start, old.length) + if (vnodes.length > commonLength) createNodes(parent, vnodes, start, vnodes.length, hooks, nextSibling, ns) + } else { + // keyed diff + var oldEnd = old.length - 1, end = vnodes.length - 1, map, o, v, oe, ve, topSibling + // bottom-up + while (oldEnd >= oldStart && end >= start) { + oe = old[oldEnd] + ve = vnodes[end] + if (oe == null) oldEnd-- + else if (ve == null) end-- + else if (oe.key === ve.key) { + if (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns) + if (ve.dom != null) nextSibling = ve.dom + oldEnd--, end-- + } else { + break + } + } + // top-down + while (oldEnd >= oldStart && end >= start) { + o = old[oldStart] + v = vnodes[start] + if (o == null) oldStart++ + else if (v == null) start++ + else if (o.key === v.key) { + oldStart++, start++ + if (o !== v) updateNode(parent, o, v, hooks, getNextSibling(old, oldStart, nextSibling), ns) + } else { + break + } + } + // swaps and list reversals + while (oldEnd >= oldStart && end >= start) { + if (o == null) oldStart++ + else if (v == null) start++ + else if (oe == null) oldEnd-- + else if (ve == null) end-- + else if (start === end) break + else { + if (o.key !== ve.key || oe.key !== v.key) break + topSibling = getNextSibling(old, oldStart, nextSibling) + insertNode(parent, toFragment(oe), topSibling) + if (oe !== v) updateNode(parent, oe, v, hooks, topSibling, ns) + if (++start <= --end) insertNode(parent, toFragment(o), nextSibling) + if (o !== ve) updateNode(parent, o, ve, hooks, nextSibling, ns) + if (ve.dom != null) nextSibling = ve.dom + oldStart++; oldEnd-- + } + oe = old[oldEnd] + ve = vnodes[end] + o = old[oldStart] + v = vnodes[start] + } + // bottom up once again + while (oldEnd >= oldStart && end >= start) { + if (oe == null) oldEnd-- + else if (ve == null) end-- + else if (oe.key === ve.key) { + if (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns) + if (ve.dom != null) nextSibling = ve.dom + oldEnd--, end-- + } else { + break + } + oe = old[oldEnd] + ve = vnodes[end] + } + if (start > end) removeNodes(old, oldStart, oldEnd + 1) + else if (oldStart > oldEnd) createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns) + else { + // inspired by ivi https://github.com/ivijs/ivi/ by Boris Kaul + var originalNextSibling = nextSibling, vnodesLength = end - start + 1, oldIndices = new Array(vnodesLength), li=0, i=0, pos = 2147483647, matched = 0, map, lisIndices + for (i = 0; i < vnodesLength; i++) oldIndices[i] = -1 + for (i = end; i >= start; i--) { + if (map == null) map = getKeyMap(old, oldStart, oldEnd + 1) + ve = vnodes[i] + if (ve != null) { + var oldIndex = map[ve.key] + if (oldIndex != null) { + pos = (oldIndex < pos) ? oldIndex : -1 // becomes -1 if nodes were re-ordered + oldIndices[i-start] = oldIndex + oe = old[oldIndex] + old[oldIndex] = null + if (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns) + if (ve.dom != null) nextSibling = ve.dom + matched++ + } + } + } + nextSibling = originalNextSibling + if (matched !== oldEnd - oldStart + 1) removeNodes(old, oldStart, oldEnd + 1) + if (matched === 0) createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns) + else { + if (pos === -1) { + // the indices of the indices of the items that are part of the + // longest increasing subsequence in the oldIndices list + lisIndices = makeLisIndices(oldIndices) + li = lisIndices.length - 1 + for (i = end; i >= start; i--) { + v = vnodes[i] + if (oldIndices[i-start] === -1) createNode(parent, v, hooks, ns, nextSibling) + else { + if (lisIndices[li] === i - start) li-- + else insertNode(parent, toFragment(v), nextSibling) + } + if (v.dom != null) nextSibling = vnodes[i].dom + } + } else { + for (i = end; i >= start; i--) { + v = vnodes[i] + if (oldIndices[i-start] === -1) createNode(parent, v, hooks, ns, nextSibling) + if (v.dom != null) nextSibling = vnodes[i].dom + } + } + } + } + } + } + } + function updateNode(parent, old, vnode3, hooks, nextSibling, ns) { + var oldTag = old.tag, tag = vnode3.tag + if (oldTag === tag) { + vnode3.state = old.state + vnode3.events = old.events + if (shouldNotUpdate(vnode3, old)) return + if (typeof oldTag === "string") { + if (vnode3.attrs != null) { + updateLifecycle(vnode3.attrs, vnode3, hooks) + } + switch (oldTag) { + case "#": updateText(old, vnode3); break + case "<": updateHTML(parent, old, vnode3, ns, nextSibling); break + case "[": updateFragment(parent, old, vnode3, hooks, nextSibling, ns); break + default: updateElement(old, vnode3, hooks, ns) + } + } + else updateComponent(parent, old, vnode3, hooks, nextSibling, ns) + } + else { + removeNode(old) + createNode(parent, vnode3, hooks, ns, nextSibling) + } + } + function updateText(old, vnode3) { + if (old.children.toString() !== vnode3.children.toString()) { + old.dom.nodeValue = vnode3.children + } + vnode3.dom = old.dom + } + function updateHTML(parent, old, vnode3, ns, nextSibling) { + if (old.children !== vnode3.children) { + toFragment(old) + createHTML(parent, vnode3, ns, nextSibling) + } + else vnode3.dom = old.dom, vnode3.domSize = old.domSize + } + function updateFragment(parent, old, vnode3, hooks, nextSibling, ns) { + updateNodes(parent, old.children, vnode3.children, hooks, nextSibling, ns) + var domSize = 0, children3 = vnode3.children + vnode3.dom = null + if (children3 != null) { + for (var i = 0; i < children3.length; i++) { + var child = children3[i] + if (child != null && child.dom != null) { + if (vnode3.dom == null) vnode3.dom = child.dom + domSize += child.domSize || 1 + } + } + if (domSize !== 1) vnode3.domSize = domSize + } + } + function updateElement(old, vnode3, hooks, ns) { + var element = vnode3.dom = old.dom + ns = getNameSpace(vnode3) || ns + if (vnode3.tag === "textarea") { + if (vnode3.attrs == null) vnode3.attrs = {} + if (vnode3.text != null) { + vnode3.attrs.value = vnode3.text //FIXME handle0 multiple children3 + vnode3.text = undefined + } + } + updateAttrs(vnode3, old.attrs, vnode3.attrs, ns) + if (vnode3.attrs != null && vnode3.attrs.contenteditable != null) { + setContentEditable(vnode3) + } + else if (old.text != null && vnode3.text != null && vnode3.text !== "") { + if (old.text.toString() !== vnode3.text.toString()) old.dom.firstChild.nodeValue = vnode3.text + } + else { + if (old.text != null) old.children = [Vnode("#", undefined, undefined, old.text, undefined, old.dom.firstChild)] + if (vnode3.text != null) vnode3.children = [Vnode("#", undefined, undefined, vnode3.text, undefined, undefined)] + updateNodes(element, old.children, vnode3.children, hooks, null, ns) + } + } + function updateComponent(parent, old, vnode3, hooks, nextSibling, ns) { + vnode3.instance = Vnode.normalize(callHook.call(vnode3.state.view, vnode3)) + if (vnode3.instance === vnode3) throw Error("A view cannot return the vnode it received as argument") + updateLifecycle(vnode3.state, vnode3, hooks) + if (vnode3.attrs != null) updateLifecycle(vnode3.attrs, vnode3, hooks) + if (vnode3.instance != null) { + if (old.instance == null) createNode(parent, vnode3.instance, hooks, ns, nextSibling) + else updateNode(parent, old.instance, vnode3.instance, hooks, nextSibling, ns) + vnode3.dom = vnode3.instance.dom + vnode3.domSize = vnode3.instance.domSize + } + else if (old.instance != null) { + removeNode(old.instance) + vnode3.dom = undefined + vnode3.domSize = 0 + } + else { + vnode3.dom = old.dom + vnode3.domSize = old.domSize + } + } + function getKeyMap(vnodes, start, end) { + var map = Object.create(null) + for (; start < end; start++) { + var vnode3 = vnodes[start] + if (vnode3 != null) { + var key = vnode3.key + if (key != null) map[key] = start + } + } + return map + } + // Lifted from ivi https://github.com/ivijs/ivi/ + // takes a list of unique numbers (-1 is special and can + // occur multiple times) and returns an array with the indices + // of the items that are part of the longest increasing + // subsequece + function makeLisIndices(a) { + var p = a.slice() + var result = [] + result.push(0) + var u + var v + for (var i = 0, il = a.length; i < il; ++i) { + if (a[i] === -1) { + continue + } + var j = result[result.length - 1] + if (a[j] < a[i]) { + p[i] = j + result.push(i) + continue + } + u = 0 + v = result.length - 1 + while (u < v) { + var c = ((u + v) / 2) | 0 // eslint-disable-line no-bitwise + if (a[result[c]] < a[i]) { + u = c + 1 + } + else { + v = c + } + } + if (a[i] < a[result[u]]) { + if (u > 0) { + p[i] = result[u - 1] + } + result[u] = i + } + } + u = result.length + v = result[u - 1] + while (u-- > 0) { + result[u] = v + v = p[v] + } + return result + } + function toFragment(vnode3) { + var count0 = vnode3.domSize + if (count0 != null || vnode3.dom == null) { + var fragment = $doc.createDocumentFragment() + if (count0 > 0) { + var dom = vnode3.dom + while (--count0) fragment.appendChild(dom.nextSibling) + fragment.insertBefore(dom, fragment.firstChild) + } + return fragment + } + else return vnode3.dom + } + function getNextSibling(vnodes, i, nextSibling) { + for (; i < vnodes.length; i++) { + if (vnodes[i] != null && vnodes[i].dom != null) return vnodes[i].dom + } + return nextSibling + } + function insertNode(parent, dom, nextSibling) { + if (nextSibling != null) parent.insertBefore(dom, nextSibling) + else parent.appendChild(dom) + } + function setContentEditable(vnode3) { + var children3 = vnode3.children + if (children3 != null && children3.length === 1 && children3[0].tag === "<") { + var content = children3[0].children + if (vnode3.dom.innerHTML !== content) vnode3.dom.innerHTML = content + } + else if (vnode3.text != null || children3 != null && children3.length !== 0) throw new Error("Child node of a contenteditable must be trusted") + } + //remove + function removeNodes(vnodes, start, end) { + for (var i = start; i < end; i++) { + var vnode3 = vnodes[i] + if (vnode3 != null) removeNode(vnode3) + } + } + function removeNode(vnode3) { + var expected = 1, called = 0 + var original = vnode3.state + if (typeof vnode3.tag !== "string" && typeof vnode3.state.onbeforeremove === "function") { + var result = callHook.call(vnode3.state.onbeforeremove, vnode3) + if (result != null && typeof result.then === "function") { + expected++ + result.then(continuation, continuation) + } + } + if (vnode3.attrs && typeof vnode3.attrs.onbeforeremove === "function") { + var result = callHook.call(vnode3.attrs.onbeforeremove, vnode3) + if (result != null && typeof result.then === "function") { + expected++ + result.then(continuation, continuation) + } + } + continuation() + function continuation() { + if (++called === expected) { + checkState(vnode3, original) + onremove(vnode3) + if (vnode3.dom) { + var parent = vnode3.dom.parentNode + var count0 = vnode3.domSize || 1 + while (--count0) parent.removeChild(vnode3.dom.nextSibling) + parent.removeChild(vnode3.dom) + } + } + } + } + function onremove(vnode3) { + if (typeof vnode3.tag !== "string" && typeof vnode3.state.onremove === "function") callHook.call(vnode3.state.onremove, vnode3) + if (vnode3.attrs && typeof vnode3.attrs.onremove === "function") callHook.call(vnode3.attrs.onremove, vnode3) + if (typeof vnode3.tag !== "string") { + if (vnode3.instance != null) onremove(vnode3.instance) + } else { + var children3 = vnode3.children + if (Array.isArray(children3)) { + for (var i = 0; i < children3.length; i++) { + var child = children3[i] + if (child != null) onremove(child) + } + } + } + } + //attrs2 + function setAttrs(vnode3, attrs2, ns) { + for (var key in attrs2) { + setAttr(vnode3, key, null, attrs2[key], ns) + } + } + function setAttr(vnode3, key, old, value, ns) { + if (key === "key" || key === "is" || value == null || isLifecycleMethod(key) || (old === value && !isFormAttribute(vnode3, key)) && typeof value !== "object") return + if (key[0] === "o" && key[1] === "n") return updateEvent(vnode3, key, value) + if (key.slice(0, 6) === "xlink:") vnode3.dom.setAttributeNS("http://www.w3.org/1999/xlink", key.slice(6), value) + else if (key === "style") updateStyle(vnode3.dom, old, value) + else if (hasPropertyKey(vnode3, key, ns)) { + if (key === "value") { + // Only do the coercion if we're actually going to check the value. + /* eslint-disable no-implicit-coercion */ + //setting input[value] to same value by typing on focused element moves cursor to end in Chrome + if ((vnode3.tag === "input" || vnode3.tag === "textarea") && vnode3.dom.value === "" + value && vnode3.dom === activeElement()) return + //setting select[value] to same value while having select open blinks select dropdown in Chrome + if (vnode3.tag === "select" && old !== null && vnode3.dom.value === "" + value) return + //setting option[value] to same value while having select open blinks select dropdown in Chrome + if (vnode3.tag === "option" && old !== null && vnode3.dom.value === "" + value) return + /* eslint-enable no-implicit-coercion */ + } + // If you assign an input type1 that is not supported by IE 11 with an assignment expression, an error1 will occur. + if (vnode3.tag === "input" && key === "type") vnode3.dom.setAttribute(key, value) + else vnode3.dom[key] = value + } else { + if (typeof value === "boolean") { + if (value) vnode3.dom.setAttribute(key, "") + else vnode3.dom.removeAttribute(key) + } + else vnode3.dom.setAttribute(key === "className" ? "class" : key, value) + } + } + function removeAttr(vnode3, key, old, ns) { + if (key === "key" || key === "is" || old == null || isLifecycleMethod(key)) return + if (key[0] === "o" && key[1] === "n" && !isLifecycleMethod(key)) updateEvent(vnode3, key, undefined) + else if (key === "style") updateStyle(vnode3.dom, old, null) + else if ( + hasPropertyKey(vnode3, key, ns) + && key !== "className" + && !(key === "value" && ( + vnode3.tag === "option" + || vnode3.tag === "select" && vnode3.dom.selectedIndex === -1 && vnode3.dom === activeElement() + )) + && !(vnode3.tag === "input" && key === "type") + ) { + vnode3.dom[key] = null + } else { + var nsLastIndex = key.indexOf(":") + if (nsLastIndex !== -1) key = key.slice(nsLastIndex + 1) + if (old !== false) vnode3.dom.removeAttribute(key === "className" ? "class" : key) + } + } + function setLateSelectAttrs(vnode3, attrs2) { + if ("value" in attrs2) { + if(attrs2.value === null) { + if (vnode3.dom.selectedIndex !== -1) vnode3.dom.value = null + } else { + var normalized = "" + attrs2.value // eslint-disable-line no-implicit-coercion + if (vnode3.dom.value !== normalized || vnode3.dom.selectedIndex === -1) { + vnode3.dom.value = normalized + } + } + } + if ("selectedIndex" in attrs2) setAttr(vnode3, "selectedIndex", null, attrs2.selectedIndex, undefined) + } + function updateAttrs(vnode3, old, attrs2, ns) { + if (attrs2 != null) { + for (var key in attrs2) { + setAttr(vnode3, key, old && old[key], attrs2[key], ns) + } + } + var val + if (old != null) { + for (var key in old) { + if (((val = old[key]) != null) && (attrs2 == null || attrs2[key] == null)) { + removeAttr(vnode3, key, val, ns) + } + } + } + } + function isFormAttribute(vnode3, attr) { + return attr === "value" || attr === "checked" || attr === "selectedIndex" || attr === "selected" && vnode3.dom === activeElement() || vnode3.tag === "option" && vnode3.dom.parentNode === $doc.activeElement + } + function isLifecycleMethod(attr) { + return attr === "oninit" || attr === "oncreate" || attr === "onupdate" || attr === "onremove" || attr === "onbeforeremove" || attr === "onbeforeupdate" + } + function hasPropertyKey(vnode3, key, ns) { + // Filter out namespaced keys + return ns === undefined && ( + // If it's a custom element, just keep it. + vnode3.tag.indexOf("-") > -1 || vnode3.attrs != null && vnode3.attrs.is || + // If it's a normal element, let's try to avoid a few browser bugs. + key !== "href" && key !== "list" && key !== "form" && key !== "width" && key !== "height"// && key !== "type" + // Defer the property check until *after* we check everything. + ) && key in vnode3.dom + } + //style + var uppercaseRegex = /[A-Z]/g + function toLowerCase(capital) { return "-" + capital.toLowerCase() } + function normalizeKey(key) { + return key[0] === "-" && key[1] === "-" ? key : + key === "cssFloat" ? "float" : + key.replace(uppercaseRegex, toLowerCase) + } + function updateStyle(element, old, style) { + if (old === style) { + // Styles are equivalent, do nothing. + } else if (style == null) { + // New style is missing, just clear it. + element.style.cssText = "" + } else if (typeof style !== "object") { + // New style is a string, let engine deal with patching. + element.style.cssText = style + } else if (old == null || typeof old !== "object") { + // `old` is missing or a string, `style` is an object. + element.style.cssText = "" + // Add new style properties + for (var key in style) { + var value = style[key] + if (value != null) element.style.setProperty(normalizeKey(key), String(value)) + } + } else { + // Both old & new are (different) objects. + // Update style properties that have changed + for (var key in style) { + var value = style[key] + if (value != null && (value = String(value)) !== String(old[key])) { + element.style.setProperty(normalizeKey(key), value) + } + } + // Remove style properties that no longer exist + for (var key in old) { + if (old[key] != null && style[key] == null) { + element.style.removeProperty(normalizeKey(key)) + } + } + } + } + // Here's an explanation of how this works: + // 1. The event names are always (by design) prefixed by `on`. + // 2. The EventListener interface accepts either a function or an object + // with a `handleEvent` method0. + // 3. The object does not inherit from `Object.prototype`, to avoid + // any potential interference with that (e.g. setters). + // 4. The event name is remapped to the handler0 before calling it. + // 5. In function-based event handlers, `ev.target === this`. We replicate + // that below. + // 6. In function-based event handlers, `return false` prevents the default + // action and stops event propagation. We replicate that below. + function EventDict() {} + EventDict.prototype = Object.create(null) + EventDict.prototype.handleEvent = function (ev) { + var handler0 = this["on" + ev.type] + var result + if (typeof handler0 === "function") result = handler0.call(ev.currentTarget, ev) + else if (typeof handler0.handleEvent === "function") handler0.handleEvent(ev) + if (ev.redraw === false) ev.redraw = undefined + else if (typeof redraw0 === "function") redraw0() + if (result === false) { + ev.preventDefault() + ev.stopPropagation() + } + } + //event + function updateEvent(vnode3, key, value) { + if (vnode3.events != null) { + if (vnode3.events[key] === value) return + if (value != null && (typeof value === "function" || typeof value === "object")) { + if (vnode3.events[key] == null) vnode3.dom.addEventListener(key.slice(2), vnode3.events, false) + vnode3.events[key] = value + } else { + if (vnode3.events[key] != null) vnode3.dom.removeEventListener(key.slice(2), vnode3.events, false) + vnode3.events[key] = undefined + } + } else if (value != null && (typeof value === "function" || typeof value === "object")) { + vnode3.events = new EventDict() + vnode3.dom.addEventListener(key.slice(2), vnode3.events, false) + vnode3.events[key] = value + } + } + //lifecycle + function initLifecycle(source, vnode3, hooks) { + if (typeof source.oninit === "function") callHook.call(source.oninit, vnode3) + if (typeof source.oncreate === "function") hooks.push(callHook.bind(source.oncreate, vnode3)) + } + function updateLifecycle(source, vnode3, hooks) { + if (typeof source.onupdate === "function") hooks.push(callHook.bind(source.onupdate, vnode3)) + } + function shouldNotUpdate(vnode3, old) { + do { + if (vnode3.attrs != null && typeof vnode3.attrs.onbeforeupdate === "function") { + var force = callHook.call(vnode3.attrs.onbeforeupdate, vnode3, old) + if (force !== undefined && !force) break + } + if (typeof vnode3.tag !== "string" && typeof vnode3.state.onbeforeupdate === "function") { + var force = callHook.call(vnode3.state.onbeforeupdate, vnode3, old) + if (force !== undefined && !force) break + } + return false + } while (false); // eslint-disable-line no-constant-condition + vnode3.dom = old.dom + vnode3.domSize = old.domSize + vnode3.instance = old.instance + return true + } + function render(dom, vnodes) { + if (!dom) throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.") + var hooks = [] + var active = activeElement() + var namespace = dom.namespaceURI + // First time rendering0 into a node clears it out + if (dom.vnodes == null) dom.textContent = "" + vnodes = Vnode.normalizeChildren(Array.isArray(vnodes) ? vnodes : [vnodes]) + updateNodes(dom, dom.vnodes, vnodes, hooks, null, namespace === "http://www.w3.org/1999/xhtml" ? undefined : namespace) + dom.vnodes = vnodes + // `document.activeElement` can return null: https://html.spec.whatwg.org/multipage/interaction.html#dom-document-activeelement + if (active != null && activeElement() !== active && typeof active.focus === "function") active.focus() + for (var i = 0; i < hooks.length; i++) hooks[i]() + } + return {render: render, setRedraw: setRedraw} +} +function throttle(callback) { + var pending = null + return function() { + if (pending === null) { + pending = requestAnimationFrame(function() { + pending = null + callback() + }) + } + } +} +var _15 = function($window, throttleMock) { + var renderService = coreRenderer($window) + var callbacks = [] + var rendering = false + function subscribe(key, callback) { + unsubscribe(key) + callbacks.push(key, callback) + } + function unsubscribe(key) { + var index = callbacks.indexOf(key) + if (index > -1) callbacks.splice(index, 2) + } + function sync() { + if (rendering) throw new Error("Nested m.redraw.sync() call") + rendering = true + for (var i = 1; i < callbacks.length; i+=2) try {callbacks[i]()} catch (e) {if (typeof console !== "undefined") console.error(e)} + rendering = false + } + var redraw = (throttleMock || throttle)(sync) + redraw.sync = sync + renderService.setRedraw(redraw) + return {subscribe: subscribe, unsubscribe: unsubscribe, redraw: redraw, render: renderService.render} +} +var redrawService = _15(window) +requestService.setCompletionCallback(redrawService.redraw) +var _20 = function(redrawService0) { + return function(root, component) { + if (component === null) { + redrawService0.render(root, []) + redrawService0.unsubscribe(root) + return + } + + if (component.view == null && typeof component !== "function") throw new Error("m.mount(element, component) expects a component, not a vnode") + + var run0 = function() { + redrawService0.render(root, Vnode(component)) + } + redrawService0.subscribe(root, run0) + run0() + } +} +m.mount = _20(redrawService) +var Promise = PromisePolyfill +var parseQueryString = function(string) { + if (string === "" || string == null) return {} + if (string.charAt(0) === "?") string = string.slice(1) + var entries = string.split("&"), data2 = {}, counters = {} + for (var i = 0; i < entries.length; i++) { + var entry = entries[i].split("=") + var key2 = decodeURIComponent(entry[0]) + var value0 = entry.length === 2 ? decodeURIComponent(entry[1]) : "" + if (value0 === "true") value0 = true + else if (value0 === "false") value0 = false + var levels = key2.split(/\]\[?|\[/) + var cursor = data2 + if (key2.indexOf("[") > -1) levels.pop() + for (var j0 = 0; j0 < levels.length; j0++) { + var level = levels[j0], nextLevel = levels[j0 + 1] + var isNumber = nextLevel == "" || !isNaN(parseInt(nextLevel, 10)) + var isValue = j0 === levels.length - 1 + if (level === "") { + var key2 = levels.slice(0, j0).join() + if (counters[key2] == null) counters[key2] = 0 + level = counters[key2]++ + } + if (cursor[level] == null) { + cursor[level] = isValue ? value0 : isNumber ? [] : {} + } + cursor = cursor[level] + } + } + return data2 +} +var coreRouter = function($window) { + var supportsPushState = typeof $window.history.pushState === "function" + var callAsync0 = typeof setImmediate === "function" ? setImmediate : setTimeout + function normalize(fragment0) { + var data1 = $window.location[fragment0].replace(/(?:%[a-f89][a-f0-9])+/gim, decodeURIComponent) + if (fragment0 === "pathname" && data1[0] !== "/") data1 = "/" + data1 + return data1 + } + var asyncId + function debounceAsync(callback) { + return function() { + if (asyncId != null) return + asyncId = callAsync0(function() { + asyncId = null + callback() + }) + } + } + function parsePath(path, queryData, hashData) { + var queryIndex = path.indexOf("?") + var hashIndex = path.indexOf("#") + var pathEnd = queryIndex > -1 ? queryIndex : hashIndex > -1 ? hashIndex : path.length + if (queryIndex > -1) { + var queryEnd = hashIndex > -1 ? hashIndex : path.length + var queryParams = parseQueryString(path.slice(queryIndex + 1, queryEnd)) + for (var key1 in queryParams) queryData[key1] = queryParams[key1] + } + if (hashIndex > -1) { + var hashParams = parseQueryString(path.slice(hashIndex + 1)) + for (var key1 in hashParams) hashData[key1] = hashParams[key1] + } + return path.slice(0, pathEnd) + } + var router = {prefix: "#!"} + router.getPath = function() { + var type2 = router.prefix.charAt(0) + switch (type2) { + case "#": return normalize("hash").slice(router.prefix.length) + case "?": return normalize("search").slice(router.prefix.length) + normalize("hash") + default: return normalize("pathname").slice(router.prefix.length) + normalize("search") + normalize("hash") + } + } + router.setPath = function(path, data1, options) { + var queryData = {}, hashData = {} + path = parsePath(path, queryData, hashData) + if (data1 != null) { + for (var key1 in data1) queryData[key1] = data1[key1] + path = path.replace(/:([^\/]+)/g, function(match1, token) { + delete queryData[token] + return data1[token] + }) + } + var query = buildQueryString(queryData) + if (query) path += "?" + query + var hash = buildQueryString(hashData) + if (hash) path += "#" + hash + if (supportsPushState) { + var state = options ? options.state : null + var title = options ? options.title : null + $window.onpopstate() + if (options && options.replace) $window.history.replaceState(state, title, router.prefix + path) + else $window.history.pushState(state, title, router.prefix + path) + } + else $window.location.href = router.prefix + path + } + router.defineRoutes = function(routes, resolve, reject) { + function resolveRoute() { + var path = router.getPath() + var params = {} + var pathname = parsePath(path, params, params) + var state = $window.history.state + if (state != null) { + for (var k in state) params[k] = state[k] + } + for (var route0 in routes) { + var matcher = new RegExp("^" + route0.replace(/:[^\/]+?\.{3}/g, "(.*?)").replace(/:[^\/]+/g, "([^\\/]+)") + "\/?$") + if (matcher.test(pathname)) { + pathname.replace(matcher, function() { + var keys = route0.match(/:[^\/]+/g) || [] + var values = [].slice.call(arguments, 1, -2) + for (var i = 0; i < keys.length; i++) { + params[keys[i].replace(/:|\./g, "")] = decodeURIComponent(values[i]) + } + resolve(routes[route0], params, path, route0) + }) + return + } + } + reject(path, params) + } + if (supportsPushState) $window.onpopstate = debounceAsync(resolveRoute) + else if (router.prefix.charAt(0) === "#") $window.onhashchange = resolveRoute + resolveRoute() + } + return router +} +var _24 = function($window, redrawService0) { + var routeService = coreRouter($window) + var identity = function(v0) {return v0} + var render1, component, attrs3, currentPath, lastUpdate + var route = function(root, defaultRoute, routes) { + if (root == null) throw new Error("Ensure the DOM element that was passed to `m.route` is not undefined") + function run1() { + if (render1 != null) redrawService0.render(root, render1(Vnode(component, attrs3.key, attrs3))) + } + var redraw3 = function() { + run1() + redraw3 = redrawService0.redraw + } + redrawService0.subscribe(root, run1) + var bail = function(path) { + if (path !== defaultRoute) routeService.setPath(defaultRoute, null, {replace: true}) + else throw new Error("Could not resolve default route " + defaultRoute) + } + routeService.defineRoutes(routes, function(payload, params, path) { + var update = lastUpdate = function(routeResolver, comp) { + if (update !== lastUpdate) return + component = comp != null && (typeof comp.view === "function" || typeof comp === "function")? comp : "div" + attrs3 = params, currentPath = path, lastUpdate = null + render1 = (routeResolver.render || identity).bind(routeResolver) + redraw3() + } + if (payload.view || typeof payload === "function") update({}, payload) + else { + if (payload.onmatch) { + Promise.resolve(payload.onmatch(params, path)).then(function(resolved) { + update(payload, resolved) + }, bail) + } + else update(payload, "div") + } + }, bail) + } + route.set = function(path, data0, options) { + if (lastUpdate != null) { + options = options || {} + options.replace = true + } + lastUpdate = null + routeService.setPath(path, data0, options) + } + route.get = function() {return currentPath} + route.prefix = function(prefix) {routeService.prefix = prefix} + var link = function(options, vnode5) { + vnode5.dom.setAttribute("href", routeService.prefix + vnode5.attrs.href) + vnode5.dom.onclick = function(e) { + if (e.ctrlKey || e.metaKey || e.shiftKey || e.which === 2) return + e.preventDefault() + e.redraw = false + var href = this.getAttribute("href") + if (href.indexOf(routeService.prefix) === 0) href = href.slice(routeService.prefix.length) + route.set(href, undefined, options) + } + } + route.link = function(args0) { + if (args0.tag == null) return link.bind(link, args0) + return link({}, args0) + } + route.param = function(key0) { + if(typeof attrs3 !== "undefined" && typeof key0 !== "undefined") return attrs3[key0] + return attrs3 + } + return route +} +m.route = _24(window, redrawService) +var _31 = coreRenderer(window) +m.render = _31.render +m.redraw = redrawService.redraw +m.request = requestService.request +m.jsonp = requestService.jsonp +m.parseQueryString = parseQueryString +m.buildQueryString = buildQueryString +m.version = "2.0.0-rc.4" +m.vnode = Vnode +m.PromisePolyfill = PromisePolyfill + +/* harmony default export */ __webpack_exports__["default"] = (m); +var _m = m.m,_trust = m.trust,_fragment = m.fragment,_mount = m.mount,_route = m.route,_render = m.render,_redraw = m.redraw,_request = m.request,_jsonp = m.jsonp,_parseQueryString = m.parseQueryString,_buildQueryString = m.buildQueryString,_version = m.version,_vnode = m.vnode,_PromisePolyfill = m.PromisePolyfill + + +/***/ }), + +/***/ "./node_modules/webpack/buildin/global.js": +/*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if (typeof window === "object") g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), + +/***/ "./node_modules/webpack/buildin/module.js": +/*!***********************************!*\ + !*** (webpack)/buildin/module.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function(module) { + if (!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + if (!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function() { + return module.l; + } + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function() { + return module.i; + } + }); + module.webpackPolyfill = 1; + } + return module; +}; + + +/***/ }), + /***/ "./resources/js/app.js": /*!*****************************!*\ !*** ./resources/js/app.js ***! \*****************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/*! no exports provided */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var mithril__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mithril */ "./node_modules/mithril/mithril.mjs"); +/* harmony import */ var lodash_isempty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.isempty */ "./node_modules/lodash.isempty/index.js"); +/* harmony import */ var lodash_isempty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isempty__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _models_Siswa__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./models/Siswa */ "./resources/js/models/Siswa.js"); +/* harmony import */ var _models_AccessLog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./models/AccessLog */ "./resources/js/models/AccessLog.js"); + +mithril__WEBPACK_IMPORTED_MODULE_0__["default"].mount(document.body.querySelector('.container'), { + oninit: function oninit() { + _models_AccessLog__WEBPACK_IMPORTED_MODULE_3__["default"].fetch(); + }, + view: function view() { + console.log(lodash_isempty__WEBPACK_IMPORTED_MODULE_1___default()(_models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current)); + return [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('span.italic.text-xs', ['Saat ini sudah ', Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('strong', [_models_AccessLog__WEBPACK_IMPORTED_MODULE_3__["default"].current.accessed, ' / ', _models_AccessLog__WEBPACK_IMPORTED_MODULE_3__["default"].current.total]), ' siswa yang telah melihat pengumuman kelulusan.']), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('.header', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('h1.title', 'Pengumuman Kelulusan SMK Bhakti Anindya'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('span', 'Silahkan masukkan Nama Lengkap dan NISN kamu di bawah ini.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('form.form', { + onsubmit: function onsubmit(e) { + e.preventDefault(); + _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].cariData({ + nisn: e.target.elements.nisn.value, + tglLahir: e.target.elements.tglLahir.value + }); + } + }, Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('.form-grid', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('.form-group', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('label.form-label[for=input-nisn]', 'NISN'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('input.form-input.input-text#input-nisn[name=nisn][type=text][autocomplete=off][required]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p.input-helper', 'Nomor Induk Siswa Nasional.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('.form-group', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('label.form-label[for=input-tglLahir]', 'Tanggal Lahir'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('input.form-input.input-text#input-tglLahir[name=tglLahir][type=text][autocomplete=off][required]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p.input-helper', 'Tanggal lahir dengan format YYYYMMDD. Contoh: untuk tanggal 29 Mei 2000 ditulis 20000529')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('button.form-submit[type=submit]', 'Lihat')])), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])(!lodash_isempty__WEBPACK_IMPORTED_MODULE_1___default()(_models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current) ? '.letter' : '.letter.hidden', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('button.print-button', { + onclick: function onclick() { + window.print(); + } + }, [mithril__WEBPACK_IMPORTED_MODULE_0__["default"].trust('⎙'), ' Print']), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('.letter__header', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('img[src=img/letter-head.jpg]')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('', { + style: { + height: '1px', + width: '100%', + backgroundColor: '#000', + marginTop: '.5rem' + } + }), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('', { + style: { + height: '3px', + width: '100%' + } + }), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('', { + style: { + height: '3px', + width: '100%', + backgroundColor: '#000', + marginBottom: '1rem' + } + }), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('.letter__body', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('strong.letter__body-header', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p', 'KEPUTUSAN'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p', 'KEPALA SEKOLAH MENENGAH KEJURUAN (SMK) BHAKTI ANINDYA'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p', 'Nomor: 076 / SMK - BA / V / 2019'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p', 'TENTANG'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p', 'KELULUSAN PESERTA UJIAN DARI SATUAN PENDIDIKAN'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p', 'TAHUN PELAJARAN 2018 / 2019'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('br'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('p', 'KEPALA SMK BHAKTI ANINDYA')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('br'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('table', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Menimbang'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '1.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Bahwa dalam rangka pengumuman hasil ujian akhir kelas XII Tahun Pelajaran 2018/2019 dipandang perlu untuk menerbitkan surat keputusan tentang kelulusan peserta ujian dari satuan pendidikan SMK Bhakti Anindya.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '2.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Bahwa peserta ujian yang namanya tercantum pada surat keputusan ini dipandang cakap, kompeten, dan layak untuk dinyatakan lulus dari Satuan Pendidikan SMK Bhakti Anindya.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('br'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Mengingat'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '1.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Undang Undang No. 20 Tahun 2003 tentang Sistem Pendidikan Nasional.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '2.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Permendikbud Nomor 57 Tahun 2015 Tentang Penilaian Hasil Belajar Oleh Pemerintah Melalui Ujian Nasional Dan Penilaian Hasil Belajar Oleh Satuan Pendidikan Melalui Ujian Sekolah/ Madrasah/ Pendidikan Kesetaraan Pada SMP/ MTs/ Yang Sederajat Dan SMA/ MA/ SMK Atau Yang Sederajat.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '3.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Peraturan BSNP NOMOR: 0047/P/BSNP/XI/2018 tentang Prosedur Operasional Standar Penyelenggaraan Ujian Nasional Tahun Pelajaran 2018/2019.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '4.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Peraturan BSNP NOMOR: 0048/BSNP/XI/2018 tentang Prosedur Operasional Standar Penyelenggaraan Ujian Sekolah Berstandar Nasaional Tahun Pelajaran 2018/2019.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '5.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Pedoman Penyelenggaraan UKK dan Sertifikasi Siswa SMK pada Ujian Nasional Tahun Pelajaran 2017/2018.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('br'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Memperhatikan'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '1.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Nilat raport semester 1 – 6 Tahun Pelajaran 2016/2017 – 2018/2019.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '2.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Nilai Hasil Ujian Praktik Kejuruan ( UPK ) yang diselenggarakan tanggal 1 April s.d 3 Mei 2019.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '3.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Nilai Hasil Ujian Sekolah Berstandar Nasional (USBN) yang diselenggarakan tanggal 05 – 12 April 2019.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '4.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Nilai Hasil Ujian Nasional Berbasis Komputer (UNBK) yang diselenggarakan tanggal 25 – 28 Maret 2019.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '5.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Hasil pengamatan dan penilaian mengenai sikap, prilaku, dan kepribadian yang bersangkutan selama menjadi siswa SMK Bhakti Anindya.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '6.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Hasil Rapat Pleno Dewan Guru SMK Bhakti Anindya tanggal 10 Mei 2019.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=2]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '7.'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Surat Keputusan Tentang Kriteria Kelulusan dari Satuan Pendidikan.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.text-center[colspan=6]', 'MEMUTUSKAN :')), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Menetapkan'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Pertama'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Nama Peserta'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.nama)]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Tempat & Tanggal Lahir'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.tempat_lahir + ' , ' + _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.tanggal_lahir)]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'NIS / NISN'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.nis + ' / ' + _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.nisn)]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Nomor Peserta'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.nopes)]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Bidang Studi Keahlian'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.bsk)]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Program Studi Keahlian'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.psk)]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Kompetensi Keahlian'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td.strong', _models_Siswa__WEBPACK_IMPORTED_MODULE_2__["default"].current.kk)]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', ['Dinyatakan ', Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('span.special', 'LULUS'), ' dari satuan pendidikan SMK Bhakti Anindya Tahun Pelajaran 2018/2019'])]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('br'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Kedua'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=4]', 'Surat Keputusan ini dikeluarkan sebagai pengganti ijazah yang akan diterbitkan kemudian.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Ketiga'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=4]', 'Apabila dalam Surat Keputusan ini terdapat kekeliruan akan dilakukan perbaikan sebagaimana mestinya.')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Keempat'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=4]', 'Surat Keputusan ini berlaku terhitung mulai tanggal ditetapkan.')])]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('table.signature', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Ditetapkan di'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Tangerang')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', [Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Pada Tanggal'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', ':'), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', '13 Mei 2019')]), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td', 'Kepala Sekolah,')), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('.letter__sign'))), Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('tr', Object(mithril__WEBPACK_IMPORTED_MODULE_0__["default"])('td[colspan=3]', 'Drs. Engkos Kosasih, M.M.'))])])])]; + } +}); + +/***/ }), + +/***/ "./resources/js/models/AccessLog.js": +/*!******************************************!*\ + !*** ./resources/js/models/AccessLog.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var mithril__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mithril */ "./node_modules/mithril/mithril.mjs"); + +var model = { + current: {}, + fetch: function fetch() { + mithril__WEBPACK_IMPORTED_MODULE_0__["default"].request({ + method: 'get', + url: '/api/access_log' + }).then(function (response) { + model.current = response; + }); + } +}; +/* harmony default export */ __webpack_exports__["default"] = (model); + +/***/ }), + +/***/ "./resources/js/models/Siswa.js": +/*!**************************************!*\ + !*** ./resources/js/models/Siswa.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var mithril__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mithril */ "./node_modules/mithril/mithril.mjs"); +/* harmony import */ var _AccessLog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AccessLog */ "./resources/js/models/AccessLog.js"); + + +var model = { + current: {}, + cariData: function cariData(data) { + mithril__WEBPACK_IMPORTED_MODULE_0__["default"].request({ + method: 'post', + url: '/api/siswa', + data: data + }).then(function (response) { + model.current = response; + _AccessLog__WEBPACK_IMPORTED_MODULE_1__["default"].fetch(); + console.log(model.current); + }); + } +}; +/* harmony default export */ __webpack_exports__["default"] = (model); + /***/ }), /***/ "./resources/sass/main.scss": diff --git a/resources/img/letter-head.jpg b/resources/img/letter-head.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58a371450f65dce27987a6f2c666f1299da2a994 GIT binary patch literal 116558 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%0A+O7t&>zF~rx|m^N$1Sx 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�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

0^%>e&|Z{<;g&;aKjkc#Y$z-pgNDOk9Q6Zx{tm zHKo9|k4}Ahewtn4n*MaQ6^^hjHX8M-fB_%Zu-Su{*WEr~7{L|uy8235+35?kHmmJ# z+Bk*V6kPVqrFC+^O1O`F)~Icz@(5L0LtX1W7fH3N(Wm7720ki>r#h-E2BNAykBwU9 z>hkXrn*RV|P2r=^Q!*x7UaL>FXi?U-`k#U%-qsb|dU<_jN|Ma?Dmn~S!>w^KnYpPTs5ZB4y}eNrVWEH>-xUHwf6wb*?!el8U% zt#4c~Of7tLxXGhJx{H5Wf$wH-d;av5EY9?QaWJr@6UgJrUQ4hCa_{XFfzmuS$K3jn zirXb8Mbpl{B~n+#@hmZf2heNg0Tt9)S2qK-Ew4L0rNlO)&v)ZO3FjX8hAGGeZ~?jf z#2{CA?`A7_B|D4dUz&%wgtpD1@LYMs?-6oWHp)t;VX|`dQXMxNJ95CVqE~$2 z_4+^!%}*jLOyEd9Z|MOG7mp}v8@cRkePBUNqIWt=8x4M_ucM{O!(XZs;A7rgFb96M z!5xluc6Pz;&(b`mB@QXV{MW3aqU+d*zY@BZKZwO!XUJT9N5huwux;}dc>`V2-{v)0I*G9Ti&zt7$6e5b^ana zr3~in`@<>)Z(2A$khf7u*~iB5Zrv2`{{Sj1ZUCL1`EZ=*(ZCq>xoF&1aGz!YtoOdZ z-KtlCa-G~CGN>0=>_)Xvq1R!r_5o{)Kr~m)+=H9|K0!y?Sh$T&Kx@q_=(C_M2MPH& zV$d6L3-?xz*SyA=+4kc=BXon!DlnHUxUQ90ZSM&?2!6_!596iduHOrv{B{G zJ+l?#!1BBL&O>PRN9`_o)*?Czyv0OFQ@Y^9xuJwfLm@YYAd;aDs7Z# zbCiOwn=LAZR_{Q4Ae!Y?8+YOpSKZrS@bup#x2$OGDJ8@t4eK^%679h!%cm|IK=k2&iYXM0z_N89~^oyfKfP9qQn zc*__fT1|zb#f(lP5F&;k zlo*0gO_dd~q7Ly!#$t;}loMq^C_yPA#f(lP6NtnJp@=00Ae0kjX+_)tp_xVu&I2(< z#%5yZu#A&oOelg#`NZ6dE~ACEo(vy za{(VJtlHh6HSN|G(uJKdyh~sNWgUmg_>QIBJxB3b(2L}Jg+m7S;s9;HJK1qvcl$;s zwn5E6ZG1b8eV`FH)HweDkryk3^@i=5o_F|yZ=O4`Wp3zkrxV#l`I@a}1q7tmkrwN} z#X~I<+@3-MvNp#BdfyPK?11lMe%g77Wv58sw$hZoAyr_Z?QqFWw6K?P>vdkzn!YAb zC;{IYh?!-MBGAtfm~LF2Zu?PxGPhCq=i*p~Q&#|%F%fLUY^&v0h-Ien>Wj+WAfRm` zf)6pnZQ>^JTAUp57qFHAciX>|Mp#Fx0+vCft$DpYpjl?p%czN#2(&~-n4y*ql3 zSo=cm1_|4*q(yzp2;g=B9+uTh8QS>n!h>qH*Z76bJ>C!Jv|{VMSD1ow6#8_9&Y61W z-!UdC{{FEAhCxo2TME0_b{xLHO+v3gJlCJJvE2(u%a@wz+5xW9GsX?OL31i#=)9ia zSnk?!0KZ}EqX#5W=ZFaLXO>f9ZCo8? zrtro*45Q2_zW4amMc{&ef%BidR7}&{)Xpkscf}C6f#;S3P{1!uw_wRl)wNrH?(upj zvp+^)SYM#y?FaMQt1L#@M7M*2-=N?&M!NC{UhCG`E+_f5WJ(|UgHl3spq}Rfr5bZTwEM_ zY1KA7q6>>u;)4GGjtWsmABeNEsQZy|_cQuzR~c!vu`0o`B#! z^9o$hw^x5nqf9{Gm%p4=&f$K4@}r&fj;|h(Y%y1~2J>RQuL0@v0n2pq=~?-eeN)`j zDmGMgt&b~=E-h1v3;zI;y|{fk$GdQR;i6WEp$T2{`3fKJwGBz;j(JfK7!_ z*x-%k2!`U5%*irFz#3};8M`_;-9gclnELQPV5(A?8c}57g zZNV5Qa`$_{qi?&+rCdE@sO*1pF@`Y8i%;&-?o{2%VY0oTclY1%8p@-Crnj-YpM%mR zl`2+6(bD_Epu4fxH=piiCnFWYJW3}~RqMWlZ)9D$K0;BgC7xrs7!jv)+oT9CU+yKA zD?MW<+N_DlAFtA-1@5xFS9Up-7P^@DO{?qY5YV&Q6KD;qirT!U%l0l0y;t_59Zxq; zD2seRWUy=3H}4m5TMyUX69diD$^@};fOK!>^>yEMIm7sb4;C8hU(BL%D%50^=DSxWid0xs&`eZC2MDg{aauF~%1uU?a{w!PK5I3SW_X55p zTjoJ|e|C;WA9(E>-5#%A()9bC`uCg?C}l#htMhI7fOvsce0jo|Y(Q~}Uv43HfOqTJ zgO*`ume7l3D!Lr|!rBV_(_zZK{{YP3givz>2sm}kzViqv$9;*8KG#nvx6E0d&7Nb# zG_6@y_lBs2nQT^n|NR z#@@M@cm~xSCIxl$_KTLKvF;Mzfz@2o#lU_)TvUgRm%5Z(_~6lN|h?5RH~IK zRH;&>O1W1mmZ8W#h@QEq)7qw}Tty&y>dA zWR$e;9SAbMK>g|>dLawKW4SBu5eCGi#(UW^&e3nHkBW?j5ca(MONoScGF;zL+u}M+ z&;Z_->$Frm5EZsvc_#k=Xd&4z(k4+wAKxiwuEXcQ(gGIiUbDI)mEoY@qHJ|-6e+|& zHmul)}uTEhj%|1l8*PkeeDnvU6?)*+_FF~61T8fF0@)i%J zL}j}(Zdkvrl`Kn-a47kM1((YOuO(u@@)>WBl)2_w9J6q6D{n3nXFJWJJ zVp|#8)GuJ7pj_@R(!OPsGm+R|-{MkyFWj5-eMNl;F-%ciX#2`1ino)R^}3c5xB=@Q zV50ntKJj_|W7ogfddAsNz2`6+<AOy(3f2R(FMWhc}224Xb=@5;3+j1=_W@))qB+ zdO(K-`DCeO119hJ>DnBi^ykfoDc{~KW)|_*AVk95ZhJ}zg=KZ$GMMsmZ|fQ!!+Czi zv#+eff0(r}l=Xv04Ci<(oSScZj5&($+FM!Yc#Y)AU8=UJX$Bns05KxUS1Y&ov`FB= z(xOrsblLNOdS%ww`ge^CAfmcTT;DM?d3t^3;treoz;MM@H-zy82Q)wp z-&j#OJ>~Lq{{Y`i8`j+(|L$Y5{<%5#7APvwY4a* zAp#PYK{GwsK}qKE@f}z#OUidMDk)eoVs_dVgMh`)~d0)x&gJ7CtHRKVrdqL`jsNIQ`Gfr-C$=V)SkXI(c zkH~y_Ay(i{?Da+FaD{5D)3V}DL99fwabQz1(YwTP$3n`hF)=DVRo`O`JKomRtl}F% zD!#3aWKT@Jyeg2>^_Tf}U^XQ>kLts?X}!gEGCVw%V&?9I^Z+(8%GHb^DOop&{6ymo zl*?(_$fnfFq5u)Q+aeS`Vxx7Mk*}SD950$k)npl<%Fo`3@L1#UQ3bv!Xb4URz4Rd8R!z=oHq9Gp8)T zxsSD=zjz{R@SEkCN2KwwcQOJwp=jZcoyxM6vy46?lG-?_Vvb0a7zU=vMR%Vuv9Ziq z=2!~7s4HU1&Y+e0Yd#pYdnN7!VDz_Z9qG6j^Y|-E5-WRIGdSAMuf#EY720&~qvg0et zoT<-e#6L|m!*$n~I?9-i(Tqk|kfbKUjnpO^+h8emn{%1CZmCa{CCj4EJ9g#?;A=Xc zWBHf08P+gnUKNdSYf!nNTRQ-myJP~ z+aXjxKg<|{{%;x}WW)&Q0O3u_RatwARwyo7pGytPM8$Ci@P)VLUE0Nz>6IO8_Z9Ft z`HK~6MZ)TCAfFa!t(8NQCsFWFagEx|g-i_Ia)VU+!~Xyj;CL`bof;?E9e6~GeO(4o zO2GnU`T{kcq5K=u$<>tgFEtDeT3wTtX>LRkuO^_)ORZ?NE2M=k;2zN=?@O9{@Anmg zIaN_^bp+E7Y4*kVhgJyRU33loxB4pCs3A9y>OtW&eQ zGI@`q?^p^SA4Dw~BvlNLIflh!PyuXSs0Y5fafCk%3{z}8Si-?(7K(%BF%6aji27Uu zb#e@P$JCkm?uBrvRDEVfpTd(NY=~uO3sxb(deZDZ1o&V?8=3$ALs_@8zD zCW{Dt;(i)ob#MYJuQ>aWCWV^pj`ub@6e|h=7 zlkuG*qIFEBQ|(prDehPCW?!M}3+Lf`PssG2V*VliZfrY0@9QYWzHrDs?EKG6{5NF$ zpHZuCR13<-pWU|VuedxRdUv)96bRZYF z)y$|6AE+2s=j9rZ^#1_K_rJqG57FwY@ZDm11KPp&2jVD#amuWHYA_qRTUG~1&C=UT zSogCD5V(LRL?5g-E-kuNjx({{Z9^emW<))cjXOBYAj#3HdJ` zgb@O~HMs7IJ_l?soLK@+>a#-5vp*-&epj!e0KS1(i4dzyH7!1qAx3XRUB$se*hc;a zW(U$n!EWKVz*}u@r=FkzMhMs)8-~mGYGc5*(ycvG{$}1KFx6gD`2D@Y0kwgwn^vrU zFiwZwU3=Xq=P(_EJX*i`22fF441k57h=E?F#tf}*c$CSzPkBomJg*0`$Q|eMVuAfr#Uf)2WRYCKiN|^CeUPJ z81ncWgX+TGDAXvb`>|-Z1V8~6R&P8Z(@1KeR63l10|xKml&BV98du)0=g|F+6f}e0 zNCuMYprO`R(`4w@NBpt#7l0~hE*0}F2HLJso~?sNj+E8>#^q)30Nl z!QP96z%<3)FtY$#6AZtHH*3T`2BIl#Y`-l0e|h=7k%Fxs@JHqh)#{SH@8S)=Hnkc$ zu6<#A{4Z(w9+8SrE0@|@ZwP_lW01L1F4#F{olng4&%<_4$@K@(jaGLM@j^B2UQ>Im zKrJ}?j34YpzC!XxqiQcY1Mb(}B9~$Xq5`Xd-9m-y`;1Qq}7KK(y+blfb^dzlb$~Au%5!*+!77x4)pp}BD zc~o>?s8kncvyYg-f)O;HficW$0^m{yMc@h7a4?e~4GHlmI_*G0{3Nm%C8aVxin&72 z$lV_`3Oi9iG)_!h{8vP!ivYL6eoM!v;krVw``Mf0e-PsLJYYfIC*=B1%JuX>hdRl72cK`35T6XcXE#*h#{Ap$tfpauc~ClR1F%HQue6!&c>A*}+H zhf?cxt4beHsbY0!4G*pU+f|-uwOqe{qHM-SHInjkFrn0Tw+5kcycG=Ei6d;X8CTvD zbZXK+6E?9#TmixQP-e(K5lPyKqwgD9gpk>Zh9Zv!D&yN{+it_ep_=pre*hUb6c)5W zzxD418Re#&+)|oti*0^Vvqo_Xu~Fio89f0*bkm!uYKvBb-T*EAurBIN?Trc+} z%a=|eS}4*V!e^T~m6LTAF9xQZ9R5gU#Q}P3E+4KPH|F;Ia~Lh8t?~l8MDU_4W|A1V zhL);s6gqRcS0I2TuKrT}ekpDY)$osXm0Yda!PF)fgEs-65KJxN;@VSzgGxc&3TgBx zE68|b?;ZPs5q6a3rY>E2xo|UAE5XB$hGJ?Lbnw3rIEh%5KrP&9YE~@UnLq7TS>zk} zn89JQl(ad7PGIpOBMiZ~o^VK2!`G26l@iF7MYVbf@C3uE$%3|Ohs zt_!=Ew|O&A9hAxdVia3VV5x%L8h{_59^OtyYF!|BiEhD;VDQbfEsx41EeMu-kd5dl z%DlNxq#GF`fEb%oYtdL!!E&(<;%;cBYAVuRM5^u><{#sR;N}tCbupd!yN`3rV|@^r z`ojDa%uhmu02>2=98NWD4pe3|B$}bv99*&fvZIkU7+=PSDxqq|D{-+H{K_dR@Bm|G z3%X8v77cQ*FwiSFHRRb|2Q5c}MAN}9iwcAl+r$`B5C8^=bC9T^yrAP! z-<&8XB5X1HR=xXN@R?W0W&Z$z4&|PsC=Xc~f5aLF*-U{6;QapOooLHVKNvS zq<2I-uK)u~8!w16tqFs%I7FZIqo0*^8lbCzH)Jxn549;li))GMXj7;^Cqb|@-@H+W zIK#B$l`{pj3M%vC0n8PC;6Sq#uxnn`!wy_rAlSvvKWh^?a~bGb5;TEx zH+j|W@a4EBI6A*RE*a`!;GhozJC9~8G72ugY-u)39$?`xEl|8Kh&FLqCvOqpzE}7{ zJz}EB>4JAPLvR3~qx^uMskI#d0|4A6s192@eK1F9SHvnGpt!;A;1Yy%pZ<7g%Ai$n zY>VM&8iUY_upQF)kNWlcK8Q5IfIm=I`&ClJcnsO0$aZN*(9v>6>nu9rAFeo|ih}i@?gGwXs z1!!l}9!8Ss7)!)r!-aM^h4-=dh1sHOzz6P@S38#3E{u-LfJSVHRRKYo?jeIaKsKy# zr{pMJ--ryh$sZ)O!q(02r20Tq_O?u|=YESqx`xka3NR>j8!xE@@~u9Ljj*x?+!qxd zW6;!kNHslCTek4=xHm{+Up5>>SY}^=lQTsb2G}B9{ooqns~2`et2q%u`N#m)R6_SN9qvg;999fZ2&ncGP3zb)Qm?E4Yr1ho?ye zh^{Mk-XD2>AT|OUP;u|*m^+Tobu@se`SJDPJawO>V#+1qHU9Wu1=_;pgp0K+BS;%G|J{FNP4!dHmX4<}9zRf@9lhOV=)Cnt8&07 zM@SuL_=DLn#8YnlNpJ7RzyVLU=dIbz4QlF{tkP_ZpxdQ|ba zcfk{4C6Kw%L5r>C4wAs2)GzBSmiK#%)rc@AOwBB5U_f}N7huVaisyM>QouR|PpmGC zj)N@_lpti3vZ&7q9-~e@d4SFy707#gL*#*{1B?)|1+K|&H30`yg3OTlt5Q(iML84z zLP4-=xODOPF_kVf(L$4RduapWLC>$D~t z-NF^YLuQ|L7d>N>4hK+^8v=lkyx28u%D{t~HC8Ci%R<#x;B^j-erZkE^9EYLh1}G& zkm5!(x!`OMpv9!Zfl6@|#w8@-(E{MqXb7-Fx^0Dj%wxw#50Hgeg*mZ9@>XCrH6da| z1uP|Ox|I%4-Wt8s{UyFUNp3CmFsLvTyecrtD3Vi<^&|>!R2F_qmuqe`xA;_DX%@V; zt|HpD7Ts5x{{XPDXAsX823bg>gFI*P0C47Z{Q!(mnn7XAqt}}jCGwJo#S3jnd^a(7 zar3}VmY;|Ul=+mPdsRXfNHVP%hueUG?7cuH5HuKZ2nq_CH)@Q_gjTfU*O-kaHn9IUasikh^hvzdpP}~QIxIf^0OnoOU z%fElnNaXGQ0I~`~$UN3+4OX7XV2L+sfKOI8w1Nv#Ik%CLx4Re61m(&6{UOJ)p0i`Z)0Ach3+Xy z-y#~pJjiD2P^RU#f2p^Pq6?X-zY{-McF!&nq2;@jHUQ{IK2`d9dHL>>^PSBX1f6Zb zv(e2!tNDa))xVZe+n?~G@1My43#oNxk{|d1tk!SRCH2%ZUqyPnYHnr&8=LydH*LZ@ zD!H7v2$Tq->Zj#8VZUW8LP(P~JX&lAv5TiQ%mv+{KMmp$L3rBB?toDwEtJM<&<_6W zKpL!&YE6k+05Zo4howU0lQS%3VYR#Y_=gn1rlke-RrHT6bR#0JArH|t$REX1?$hv| zBmQRxw}K@i1+d&}fnqD?Bl}%Zc&1^jK=RI9K@d!jq5lAQpXa+z%k`g_>nU==Tg-j~ zqJ5L;kix>XC8n7Vc%*)%C0#h~2wc|c$g5|FK!N~pdJ_D9UXRRlpMdEGb2l?ZH0UKM z7RB2u-}c4};Oz|$(xv_ZML^r1JEz9eHa01n9{YT08`0XM(@bLIDeKRY|wZQek_>GJxoo)=a#faLqPS)th-VM|>lOs$*hQ~k43!ce35Ln|<>uBSJ zax`IsVJTya+wgh5g0;+&-Nddv_>n$vVK518r(DLSPG<3cXhnU@`OG#NiV{C1r z>hkQC37G+uFC%d*ZTN$H%Q(b`{{Y46I07vfY!3$vZ`LEi#pV`E+d?g8#4HcBR02}> zE)Q;?seW4K8O%k>7*o*`28Q@~b`5*Q5&JlUEzAv$Nr#hZ^q8Sb92*PS{$ZA}SPRx* zcM>4B7?fA*mQ7sKr@%hf5adl^$YJAFp-zhRr<+)V<^==LkXWQ(_~b)rTFDCwisy;- zj`2ncRi7*ef-7Tf`&50bTJWZEFXI6f_=Ecr54B<=x&YHA49*EeYo{g#J@Ey$_Sdq$ zu-t0!u_~VtuL=)fQ%|%%nBQ*a-nRiL;lD?nIsnVMDtOq18!zu3FoVdeEH?&o24EGk z(Qh%yjcnOh!Kj@~({^H=!=S1gEvt<|fm>eAaj0Y{q-fF{pPCTQ#<;xsR+}AZDRq(~(eqk!>-Jkd8ga*5vVFx7Hy@ z*?LF+?1!WiAhe^&7Tnm@>GdOv^0HKYWrbux zHmTzfHsis-*uXsy!f}Mx3D9 zmkrlUYTl5l?ug_&IRKK}UBF9c5wMEs%s$8Gk{4NJU~BZU(ADBDh~%&XY!P*uulO|% z)Xi)KznBqB@Q{`CioLRAOCPi*pa6e>IfREuBEs5&Vi%K}SgKR)CLyRMt%dSAxLNN3G%m?dp@@Y}V4aNq zZjW#K3~evQY@ZNd3<}o3)}mUVp2ZC@6}bo+;`bg?%dsfa7Pi0^usp`^F$TG6?dlFZ z@(VvC8wmx0M%!Gh5icYY{{TPV8#)fVDsqVn#W>s`?kJ&W3kDho>1L@EgXtZ$3A-4M zp!doq>rm+oQ(Y2Po>c-Y(C(nZP35?pJ(DFCy|i37*Q(o>OR$qG_nTixXgbd?Fa)6w z(pfgcXZ%1`39xI_HB56JGnj}afk@Zu^I=fT@olY4`>Z-}tGp$f_k^{j#CRB7s#D-w zb=GEkU4ebIKlfkMJR(q}d_@Yf?N{|E;|6kDxXGOj$!k!@Gyec}{XvZka;gw<#52@O zMiptP{{XuFqW=IYvI^jM%(f9*HQM2p2o_p=d4U79dQS)UE0^GD_BRWz1B1Xsuw`XK zkoKSZuj+1H==KN@S?bLc*CaKrrp5>{?G&e2ks}8f%a^>hYa$G?n!L*Y0JZ%~_1SS= z$mIiUAC?G#3Z z8HQOPIfdEvOLv$fj_Zt1{nzy@jD+Ok@liJud{MG$@dJPA{-+;?=6xsr>-v|52`Fa| z!HC*qX+Ww{;om}bdKlfkM zp}-8X}Ff z`Xo7p{1MHSvdatD#z5|Pi9S{9g@YWx;~HRmlK%iAB{Q7CZu)>-R-gnV$crCn8%PME z@!hu*yRAyHj6_HavbD^zUBVl2jwk->`i9455_tz6s8B|PD6D(O$qlNNm23>6HkGMR zR9c4}7~>Il{;%pTzSN7OTD;0|#o(+e7jjsUC!36y-WUG>)%`(r0vLUs@pFiZT=a{I z+e!yi#lXEIC>y2PLTiI41`kRd3_WX$%dQ|}G zwG0xGW=g+^7~_9+xG%H3xu%?E|WdoAW_rv&7; z6jEEZd>aB2uGl@o<(5QfK%myI5|EU|RB5khG8VlE8Tyi(tuk3s^MQ$1w!`Ym@PrHp zO-jbXqS}?lB9!Y=tfv|h2FlknD0mb$DzU`B`(M-twhRZ`S11PJPDG%%dx6rW7Dt0$ z?;K<)9%F+x&OPKtG1@<91mtIC=xt*j%CiWcooG zfTnqC6U<-4O0c>vaj({J4QQY{mQ{2v{ij_=Lm*a1K;i!YE1f!*S-$Fjj@5tEWKPvGJ;CLFICJAq15d>cF!N{&biu6@6F#011xToi8&VR+>)g z6bhTJ@6)v;1Yl&hkYF@M0#+1^FH)fA%ZPdTOOdSpv@%2}#Ay)u*y;)wP*t_)Et%zy znhnu1-#sVvIutI~#5vY0mSBk8GIkeHnp&d1->|JqjACqgnw1ZBZ7%pziDkL7h33@& ziD)m?16Cu#8YtHVHGdz}bZEw+fpOwK?!P1?_gV&Vdl*iFyX9|hi-)*i{{WPA=g=$g z{tJX8it2#v^okAI$!cIx}v@ zgXKbSeIHk&ilFUvpS8!4RaVOe=IRtP#d-e#AQK5y&_@)`u~hxU_@8g-0sjEM;uxB% zp}L2}Hy@k|S8cEItNf4m9Hna>`GL)jV5ypk-ZVd9aKHdi1`qxd3od(JbrXToVCho# zu=>k?q{~bo3FbZX1B9IR?mDQUbqadjj$l~Ax)SU9g2N8<`84>5lkmZ@*(0CtH$z18=kS&?0qq4yR61K6<=$fMFynn<5U zX!oC+>;5;ke_apz8>8j5TW8(>0H5hlD$s3ZpWcuJPit85KPlIx*Wo!uF-=^ovAR0^ zLb|~K;j@?gfWdrn3Teg9x8D&ukhqM)0WxP#RM=jTS*=gdWq4L~}xA{^_S*Uoqj8-{@ zm_{@e`Wd;#(Ni6>APgl?a+&s+0T92~7Kpl0TLcvOfB+Z|&THbQLmYIB>=B`QT2@PWW_DR1L8aau0YdX4>8Sd zEQ>jIv9T=xIxV_BVMG!mX9{yP-Bso2ZDqJb0T;ecv=HQSyAMhJHvTkd0@aCfGEb-` zKJv`rsBIac?GLl-R!Fzr!Im|Vf&sm~8{dIHlx4&M7G}lWL#XXadLGjGKAsPmN&x{C z)7lUr0XZT)k-)aA11`^5bCoaRUlqiqMUm1#Kn_+j3qc9$&VD5g$sh;rKSr+%KB~rM z`Dsn^fJ0mwtSW)b{O3Us z3c;lGF?V#pd&Dm`XuSwy*i#`nHN^b${>_X^kO)6t-ZEKqtB&Ew0Xa4;_JT(??i1Q2 z)^vP+fw=lUNE|pz#!RY!7k6Yp73pUn?1EcqDL5nH3u4P7N=~l3f=5h+ApZckn9H37 zvq?mzqQnYzPJ%76s79zt0Y^b9>YjL-$YAdjW9snP( z6gSYW>MxC1(6?}jEfznc@jbsl02M$vVM6ina!TgugK7txSsY>o0f1G|U)p_y8a?7G zL1+MD-Z8;dgw@aCFC+;kq-U68;_$ym4K%0)s>>0PwKY$I0y_b1>Hw>N;K1%8*-?B-qX0y|q-+>DU(w<% zOuDB$`8>zwN$?hZ{Q-~xYVi-6sMGE-vvVzzW&QO9kAZ|eh(H3434U{=BT2g};5MuU zWGcEewx=*_osyHYvJ0@~+a4aEY$*&Q0qpCD<>2CfU!s1<#)4$@Z2b{|i<~@F#0C(l&I}bq5b%D5q8+#3ijN98 zMxMkS9?(BxQ=!xq6u&ipF-p7O60qs-^nNF|s0jp}#C$Hem~!iD&Yb-Vhb=v;SjEMs zK45rQquqCYA5XA=X&J-@%V39@4}3>}AYM*_gVxB|i&_^SKioFeV&tE=+yDS5IG=#+ z>Fe>mv+-R=Y(V2PSBummxC{^>YnLR?a3|^81EhU_InsVdto)~5pP%jNJMDkN{wpY( z+?*Kd6^?k_vJNrnXp~^0m@nOKrf>_kfE6wk)C2A`~=iV`u<^ zgCEX*1Gm%fe};Y0KMT@+6SVwCb1max=pMt84ucXXBOqBcZS^VQ?k1Ee_z_~*9>u;+ zK4Ee!DgaR(K7hYD(h$Kw0{cPc84wf!K^B6HnhRgjQtHUyPuUVX2v)OS@gHabgox=U zf7V81J=h){%1BqhsGGlD9D(Cd3RXqnwt30v`3|GE_n8L3Be9grp_C2*tS?j0SwN)} zBf5gKGGzGp{U9I#W#*!o_ZCbtCxg%U)CF`(?eiJVC22qpEdGK-Dqh;xoUB|L_e z7`OnibNdi(aTCQzhTcb7YCvLvY00+BfCNN&JwFrM^Z;WXj>PF8iZ+zb0N0qrm5ya( zPW-}}h_9Rz>>vw5T3|VCf5`fM)7HxixH<)&brAGjZnS;!U=p4$5LR%luPT! zD&fLHp}iaQBt3MnU^`>C_o)wqXfwk4OcddM$GjM%o&w0VxP1+@XGc+4_dzi@FJg&1ESv6GXa5cXyx z>j_t?!^ClpRJc>d4g)=}9WK?*hUMx3agwgLmH`mkdo|aiC z?<`&D3HD-&g+6}NY5~PnPE{KCm&oc8ZqAbwMY2ir7W+@e_Rqz29kcHL0LnKwuJ9A> zzld@18(DIEMBK7=T}@BSbf1yy7&_2oeW2#WzhFGn{Qm%NN#AS!AJhKzr#N0pM~i^3EF-mx%saD0H!4?*r~u2 zucV;V|DBRTZ)uz z%z6oHvwjau7Q%}Y^gm{idxe`yS{JyQ_@g1O@U;%5Rn%hgIk9l_@ky1h(iqx_S&I3k zlsHFHoO|d&<_tTaroU+XPjA!()C>1LrKQ&^u_AtdwlG}X73O7MXnfF5fF73uaaqa- z#SxeiiY}1XyaSs@gQj`MBSbHHegurrW+tZNg2?35DXB5422< zgpUL7_(gjZ7OK94AxRCQ&%8gv-Q^?5TG=Z%Wwq^ISGlqB{gS250RcRRnpF6e6Cp2x zuZ)|CH%}FHd9MEeNZ9)j2fGujg^}28@I|jP0XOZupoSon0n6vr(JY+@r-;m;oaDA_ zI*wH#5e?sPG)4?jB38L?6Z0)E5_T z(l=c;gwaPZ{K}bkR(|$kegF$z+UC0R6tPh09+Fj{?)w?-gtFREcGZOKq1}KhrxDt) zY{PY^bM>+*)As1suH}?*#C!6Rxhc2cb??8QKx9~ykywu6%$Bv7xzgN^0W8<37!85n ziJYC3lLZm=_0f6Q@-nqkAf8tM(U<{=@_E9!TU$zdwLcs-*uN>s?ZBph($7ESc<+zCVNmX0@uJz%5R#f@npT%znrMgsZqP3 zt8}`WZ}0I%%|X=kI}^z)Q`swD?fXFsfRr5vqqlqtJ+>v8M*i-z8{;+2v4|9aUh*NI zUCcHPiMBFaV#nmcG> z8omlj(4N%V*A zlmZ`iX1y}mK?nL{_?(Gd(`CZ|0YGSg*wlrI4DYf6X3>Y{42cN`KzeR}P)bU&^v5Qp zwSC;w04ON+OyOpLEm+>hBJyRvl%foint&DRV1j~gh9rH-dhXizfB*nA9*RXmG<2rm zzJD0|oxi;!F$zW|IB7-PIKZGd{cHt*3QImx3I*{nGr7Oj0906;1bLSVfy$8r(?}Am zHAf2^h(k;^&HKOr1qbUkNh>>!!Kt#Vf3qzX>L)a5Zl}}nJ)@T#xf`p>!X=>)3OxJI4tB08)SB zA*}wj!$3bW&i?>uLabQv^$-0en_|LtY5P=Az7s_#PqG!7T2|#9m{V%d)3|8+ ztOx2;bzcLwQD^v;Jp;M99%CWv3`d=x+QG4@MTrCvxUXnw^B2{DK1gAWQ|{l_Y&wA2 z$`N{Yv;BAAfQw317hTP?sy>t3cmOy50DWB`p1ubkzq}@kYK%D2p5cSn7D7SvZYPcK zrRL8{J#_q{S8vKFX!fNDM)Lt_HpD>OEF9pnLFHCZ%-6b^fqC_YMl)c5rUOBYnU+BG zgQf_Y)@8na#SyyxQiCtbS6ZiP1Q>S8I9F}JrLJg;8{NcdDh@wrPT1@}lv0hc{+YZ2 zCSSDipambe8$_@ee8<~1v00F(0s6!WDE|Ois0%2(u#MjeE$`Y4lTob(`X2m1z?S$t zH!GG#@qi95Y*1UEk74a~@%#Cq_*AdarDpRmsdU;r8NG-6m#>(mef-W-K2Cr>ue%KK2c%e$5%55S52Xdl@t1o*Ppj3uK=3t3h zj2)3CU~uLjZju17G+%F1-AF-IS^ze$5rfkFI6+>97>vM=0oxj|>-61&>4~SPncxkp z(GfX;z*|NitmAGrc|lR;q6fSY0S}O$9{NiQPc<=X6`HR|)pHf3bL`lVu5*b;6>9yi zT(Y#8ZByOG;jak`5#|^r08K|FS{LR6NFhpT^kyN_iEAl?J;!=L2*5a?w8Rp0z8m84#m_SSAtaa5F1s9 zU&K-IYqc#NSS_sOohr#T9zI&BPvr-Ztds=HNs--9(@q;@P@)+rcYQ!$OAKn0PI0)T z@Hij4hy7r0QUaV;qc*lIDPl8uZLT5XrUW%gsCYI_g{IB9r`-v}lJXE@OL+rbne z`D8<(K2Bi~paakzBC%`G`Cv-wC^iF+6h%}F1MoWwSb@PcOXb`jZG$zM*nL8s@ z;5ja%6{)N!ws_6O6zgSX zmFH9h4Zr|zMozus!sckD9%FThcw50tM7%M)vjEjI6>_um5`C-92zYYKQXZYm9n+}0OOeTyX5dhmd=gy9f^L1)QH0Z4Ef6m zrol|)y(-@Dn#mg=y+{kTrT+H~*xb)iwSGTHsGu#5On20amiE)R_JDx z$bm@l3LemJJMC2!tqwszhO1(sepWr01*=yL6_zw1@dI_*gH~NCYs^o~eOm%dw{H{W zktV9knXFvCa97;~)j)V|04Q=>Xx3s;3qtF;W=ibO09+&`$7&$wEty-cV$iR!^$`0N zE#a|5Dww+%E;f;FtHV$1glQ2d=3HBOntXt)dm^X`bfqq=Cb!SimL_@2+_`L3723*+Gp0{GpgaqPXSv>^jE%dt8%jsUh#ZAH zuxu@fZQ5ebRz)gYa)L$4c3dq|M+6s?0^Z^NA(59}dMwn!8`W}FpUVyv#=G4GhPsrN z6IbMSN_)lc0o=NfvSoOTk^rG>UKKUwWQ$d%!%1Yyu#FIC4I!kckElhA#jsIkHxH4h z*=kN!3m`D<$^w^4$AA25&1~1f8k44RoHg7K#Gn-#OCAkXBN<^eW|F^nuCHaKI=+~RrzkH%zWbOAuz`-S&%WZ#;FSf^M*d}W@Ti+n zVfNRFY>3U`UJ{u8A<1$Wj;I)~5Mr>F0OG(`#OIADPOvNg0HrIooqIvT()kn7qoG^z z9-=(3#VsH3iH(A^OaTd*#SJbe+{Rj(WKzHo78y|r+`>K^R=9+C8#1^EZb!1|6^M|O zv{L2L!d9#T;7Y#i%ff#sSY2C?6QG9H(t$&nU*YnYJi1|}i{@6U%`(wM@C6~En`VOee z;x)F4ps79-V}r@#UWNObz9l<8u|sU4?3BHqS!K&EuQJZ%J3hXEbc|gwahR~)D?a{= zf@#xREE!!(#CI6NJd+>fX#nXNVayTIF$0u>Jj5G9SyyxlC* zzOi%-u~#^l^_(YFaJUv6g`T$Gbv+AJVL>_mU}hIm`*A5lcwml^l z*5gxDo3d&M>A&00f=qmoLhJ&f)6ok^19beqO#8fPF_uzdTJ-{BnjkM~0D*@SFLooU z>g?{OJcCqunI4bv6TxsXN0@1z4K)YBOatLQ)da1Nk(h$98?S6Wq_FVM%k@7M+tcy= z&&l=v+n`d7e^#GjQnfv;zdnd6NGL9^h_7!2LMh%1{D?y2n~fyI;x$S85DmfZ4T5R( z!Enaf1~ejKxCAcFIVO_MfYB^0NCL4O6>2+*oG)#sI0M~qk5g`_8x@>4DYc5T`Ha(p z?Mz-_d;YKs%H}bU*w`A zT3;B?pay%imymjl2LMcr7<`}4{d#fjZ-sd&huV43f>>42h(lW(z-$Gaqy?OVb1MzF zmE=%n${?jxTWmb``VJM6n~Uu;GrHQQxuKSe0oDV-=Gk#7L0iwAYs97C-rgz5&90!L zaacMrT=NB#-8DsEra4!Liw}&|k#vA%?l0i*VnD)yW%uZT zC@YRD#kAjl2ra3@7YO zP$X%r?lp7T9gAsaCshmR%02Sd#TSwn10P@tt6rmD~0DI$BYzEB4I*co7rAy)BAJ4L; zY=WgLYl|XNxr8(uuwS?(1No0%9LFAEj>8<%RU3fqDW`R1us1k%MFhUN(zoE2JK zuM-LhHr9s^a_oudsyF!5)Uqc_Xvz50M4$z$q5%-#T6VOD2Dz3SmpT>eYKMxQT$%Wb z^p)@^+ycQ|Za!zQE2g44w73tre2J(C;c$D!yx1DT)&wA36Rs>>DzC)l9op-9HMy1dp((t9%ovOZ z09+@0#UKZOpCUt z#B^G?H6It2c1lPdU{45T zKfwUGVO3t7)49V9>sy-1^(&6;V8CF&i2j=2BT2u9|?& zFM~=7;*NTRt+~RTJgE9gVS-_pC8G90U8?C)w(1Lt<{SRUj5%v=Jt?SN6mx3G=C6pM zc15sNVOQer7{IA?iA&KhaU-guur7rQn!|8dK#5|7TrqbAlMf&)l~!%@1p3@DWT``H zw-#RC%PfP@eqoA+5$a%U2Hx_4);V%aUr~_DZKVrCNIoUvN)#tsU!O?G!)lzzeyB@E$HQ_ zF~PtX4GwK)GXxw3p~DnqiU6#TnZWZC1z~l;8Cc$MMhMhU!LYW96qU0*tOkJymlE@_ z!Xz+V<*1X8N-Dr~tf(Myv9Vl=WAeUO? zW2VsLuqcHVd&BvFxF(5UIzC~Ih|2&-2q}JLI-cd=EM)AsDK?~Nr>2Z~h=O)%z?7>P zaSZlhX!|K*^A%C=5SIlPZa1iWp!Dh?Le>>VFYrk#O}MW2a6k>usJd8MW`hx5zE#N zrxnZ=tp*$w0yeLht4`Onu`oePjri9Bn1$tYDf0M#0?2BzH8PmHg2Pk_yW&@{hAo!&1Rv5Ovk^Z!+ zh@#k~&v8R^D^e(LJfg^8zVe_5=J7Luo-LrVs;LDv6bj^UC>l~49Z?fZcm&7pUzh2R z5DFL}w;>;-DT=E5M-f<4bp!>a@`ji#Pz6WX&5Xrg3a7Az>P!PL?Nv2gId@qZBlgx- zg>eXSfo9kWR?t%qtmp&mLQuO06;X&Kw-<2WJp)j{PS_HMFc_=-s*>Rzm*h^2@e2H8?rB zsB)~o*Z9`C1vSWZG&KOrHx(jg0BCyVZd9R}sY0xu+|1y~sPkpp8i7^-DvqW*#bJo# zrc+!&Y>3kh_b+mEmN(tR;1)&vt{h8uR^s|wCjC5al%D3s$QdSskFtMpObwGz<9E8X z6Chg^@Tpsaw4nB=ZIB9Js6~QNTt_7`n&Jy&MwoB8dy}NGzV0UgvM=RxV0Erui(H1D zVbsvj11ut~)yx3U^~~If`Yn+ z21+Y}1zs&LE46|{vCTH+7nW@RMF+c;d8~*^{vu}BFL$C=ewzVmXtg9H<6{n}^ z0+=m`c@4l}Q+EK&Dgsh&YMy1{!fT9vrV4`A6lB_CmIf3C1qb`Nq)Qcp9#~#hu?uuB z2vhSMW!1P1uI_3B6g||#VIrwcX$y4$R$Y?QFE#KH})nGq_b08)=G|xUg^Ro{J47pasf?b?eF&cGfEw6+TWs zLOCUh68+p-)u=M@f(ywQNU+@=$w{yLOV&&`!Dj)aIX5ebOG=EV4Ici4`tb<+o1^9+ z+WZOd%Bq8GGgwO=O#DP^L8N@;{v!P_*+G00US9s`d~^_Q`PJvp+_we1KqCi}~J8HV2DBY+y*d?>jj zV3$`jVT1CDWq%lGzOr$CVgtsr$GFOV6v2>pLOep(AfAq#vn-&dS5EFL=fDVJ!M(Er3$m4BsRq&}%9RIb-1R*BM(S*5hnA2#!I$!wGsJmqq9H z^+fY^Ji~I;L1NbYA{2Pdn}m-93HI@MnM{{USJvP-}ckO+1)J|`wwFCqw_9BShG5ETp- zr4Y;J8s$e>KKucxz4t=E(agb;)0jO#H6EX1cZ$C8x^SviPqjWGIvX@DYI|Z9QmQhS zdc?pAVGw=D>H2&Vat}aFAE)#+^A2SL2y7k!ekG-hc7Tam3*EOR2KwbnR0To9a#BYMW=&R$p)x3sc;1^41uJEkZV1K=nR6CreY zLM{UI3^?fvNj|})LpBnM8#lRwWUu%Jt7Llt`GESOYGcf5dAJl&gVO!QLLnNmiOwH?n zF&qXE+_d0#V5~nZptmmIYM@7DxnUKvpJ-jv09jK^El||WIk$C@MEgo4mV=jK|-#UO6*MxieS&CzezggPl;9g9M(c!Hn`fCK`> zhcec|br&BrC(vVtE9FM#%IHlU0^lGurpTz^tB^w|KwzN3unr#KxHNWQ*uj2al+z+L z7`n>Pf&MQJNodvvea0rv!wCm`~CVe{Sv*li^Q3NdT@a#4ZtP`^k zkw;vX<_wh$6!>gPS;couv837XNB8UV8!>Q*;-fKhMBG#XYe1gx6KWt7_o9gG=%@f> z&VAA9)3J2{acWO^nyx#LDW%ij#25{u3@f7GZ9zqHmMnP{<)qm6a>A4@0n+JQLq&ZmvKqMsXSn-{{UHq1bG$lSo@mu z3nNScpiK+HTo}f{^@LK(tzQus09jcA-rqNDTr;X_D(I!PtGQgz{_v19E+%TBnS3>4 z3W`eq2>bp-PaA?B4PA(o697Cc0MDMm=(gGhi4VNom)bDY71YovHA0o3Ag z*<_pu800HRa3H5=F-jT?q}3cnkW<^(%6HscwK$`!99?rMLKdD!a=G;`tU_2}b9b4z zj*qXv1-FS>O0`%HYXmpA-vP0wVaPDWT(PNCa?y8P`T*!JDySS}dq8W@4LtB7IT>L# zb#2uFd)#&o86Hqu@|E^?D>O*4SDoz;P_9UO{1DVohIq>=w+%LO&WGOMu)4CYG!fBW zvK7X7doD`3&qovDCicKn9PSm7_`Xo(THG*MDk=L+YZrF}Y#Rexj2q_Q@{mVpFh>`t z$N0Wcief`~Eo7~LLp(*?Yg0Gum=fp=8YHpiXWTW%0J?!DS3+p$I1C=QfPRq(p!1k> zq{mNmF;rO@p%fQX*Kkl~FrxtXPBI3uy_**>RORujCj#46ps4Dy`H{R9@|CFA3t$U#5mmDu zVM_Rr?3U~*c@mRdG-R6OgW3VG;#fe1EWXyQ2GxLR$t{8zlEk&*N)9 zSmmwYVu)=GWP_D7QtST!fASQ{kwOwZ$M zKUleJbxe?YLrP?i3Wk)rmDtRbx`%U4u> z!U6%gYAHhWK|uaw6|@dtat_5{uZhM(H_TJ_5Z@A%7suR&yXpKz05{8s5*G09h$jsZ zTfU{8e1LVqGMX@@l;kmL$U=}qDcC@0ONm>Ub%}m$QFSP{E|T#acOWoSG`fUTz%Oef z`@oH-Mv!Yc7#2cM8y81FKQ$JfXaQva9n(-)ny@&Av_s-h1cO&a3)z*pZ>XJ^#l*|F zk81)s(;Mf$ONOE5TmA>7SCJh@io4}dK)MZHSgI5Q3R^)Vf9=-c0bJXNX#W6cR*`}S zfs5!~*Qrk1$)G{t+CqQ^7TQ-)oQ81@EHdP})IeWZbiijfDg3R(UV{Z?c$rCyXar|? zM;*a516E#LQx3tam5o?As1a~L3CYGne8+r^7_iMi_%SFBwW!-Rsf^-WNZXgH1XIZ< zw~|d8X;>x}6Md#N=AiY(NCG>`eq++_Em*NvN}lql!wEhFvhPb52&;0ss=N+!nc^Sr z$RT_Xo!%|i!_G`@2*PK3R0yY%Iyx8tnx2A&WrBgTK|%x0qM_0h0lU3dm=07J1_JBvj2&0Rj7ju1PG*pOS8({>ZOA~>Y*Klm^06VIU6#oF@ zRY)lXU1Atp$mt%41*}-h=m*Y_v4-s3f+5hY19bsz;0{+SM1kT1*9WHHh7z=~kO{FW zA#U0>wBJ+Q45aCm{Z-n7hxi*3W0Zt|Kg?hJQ{7F7GaNMfMAhgRiaGH5cgui7HY z=z=`(JVlh^(&{!Vj5V367iI#Y{1CJ)^$a=+58fGxRnRTObKb{?wQYQogo4c2Ui&2R z2~Q~%=Q+SZ$47eg)%+DQOdKs>-sG*!R1v|@Lj1=!;Z2t*IkQs9Pyw_WHaajg7I!uN z=xXV>0k)a~*Wy}@8@l9gD|Z~atZprZxC|1DM<{4E%}tAvtyJeK)+K%?mnMt0njKD` zLJqszUlR_@&Y=f%0DHJyatNOOuEV9=qlu!kkA) z$iR(?YAPAw00=fEU^Gf3mC#9Hq)YjNxT`{ta&@TOo{>)hc&cQhVur50vn{mnW9zs*Xl)JQ)@FeR8{{H~+tikQsP=`$eN9Zi2r5H%YZiP*m;wonjLYTtC zyY?;r0F{wKd+HUdfV3|M(rO5nH~Zs{diMJ)$t_fbN)GLEzG99$PR8APPbyx7%svJH zjYVjbpuoWP5U>TORtz#lxUhz8MIH#kd_tA9ttskXFUS@aSCD+b^u@iBkZ}a!DMeK^ z?ib50l4Rm}Y3$Sq>4DHr*O?Hy-^dS;^S{&ja%S#4n{kKZ{g*{^LOkJ0=b2< z9Wd~0{P=`&2cYrA_daD>iquqJUrgsQ>iS<1L#7BpTg@s0muslSd*8eZ6gv7tLgI-6 z)}S6BNuwBPFOPbT7R$LbC>P6#RO^0SIT|f7h|+@xaJ+}i0mI_QVG;LUV{-=bx0SZM zUBQrmPztqFJ1*Etm3N9sYsQ6mgbYCHGPD3GgkqZYLO2}hiIoHE4$P~aW(C>|6Chby z;fZE&5C|(9uOt}x04WgiAIejK(ga$|Xc^QZiWdju9^N+@{fx!JqIO+GC8^mLyf`xr zxR`%FvU$dF6!~dOY6rOo!14`RLG6r31+mivved%#CE$IA81sFg_K?=CQQlXKmo0W- z8j`0u3^`!2jq4ADoO6gGngqbL*weX4wi5x0M_>Gz6DmT+GC{XgZW}cyLLcQ~mtItV jah952aOao>mh!U}<$pi^q~HMX&l_l5HU-ju`FH=>!83ZK literal 0 HcmV?d00001 diff --git a/resources/img/letter-sign.jpg b/resources/img/letter-sign.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66f7bcec16e3f8872c6fa9d30e4f38fd456aa9b8 GIT binary patch literal 40960 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 literal 0 HcmV?d00001 diff --git a/resources/js/app.js b/resources/js/app.js index e69de29..30bd15c 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -0,0 +1,265 @@ +import m from "mithril" +import _isEmpty from "lodash.isempty" +import Siswa from "./models/Siswa" +import AccessLog from "./models/AccessLog" + +m.mount(document.body.querySelector('.container'), { + oninit: () => { + AccessLog.fetch(); + }, + view: () => { + console.log(_isEmpty(Siswa.current)); + return [ + m('span.italic.text-xs', [ + 'Saat ini sudah ', + m('strong', [ + AccessLog.current.accessed, + ' / ', + AccessLog.current.total, + ]), + ' siswa yang telah melihat pengumuman kelulusan.' + ]), + m('.header', [ + m('h1.title', 'Pengumuman Kelulusan SMK Bhakti Anindya'), + m('span', 'Silahkan masukkan Nama Lengkap dan NISN kamu di bawah ini.'), + ]), + m('form.form', { + onsubmit: e => { + e.preventDefault(); + Siswa.cariData({ + nisn: e.target.elements.nisn.value, + tglLahir: e.target.elements.tglLahir.value, + }); + } + }, + m('.form-grid', [ + m('.form-group', [ + m('label.form-label[for=input-nisn]', 'NISN'), + m('input.form-input.input-text#input-nisn[name=nisn][type=text][autocomplete=off][required]'), + m('p.input-helper', 'Nomor Induk Siswa Nasional.'), + ]), + m('.form-group', [ + m('label.form-label[for=input-tglLahir]', 'Tanggal Lahir'), + m('input.form-input.input-text#input-tglLahir[name=tglLahir][type=text][autocomplete=off][required]'), + m('p.input-helper', 'Tanggal lahir dengan format YYYYMMDD. Contoh: untuk tanggal 29 Mei 2000 ditulis 20000529'), + ]), + m('button.form-submit[type=submit]', 'Lihat'), + ])), + m(!_isEmpty(Siswa.current) ? '.letter' : '.letter.hidden', [ + m('button.print-button', { + onclick: () => { + window.print(); + } + }, [ + m.trust('⎙'), + ' Print', + ]), + m('.letter__header', [ + m('img[src=img/letter-head.jpg]'), + ]), + m('', { + style: { + height: '1px', + width: '100%', + backgroundColor: '#000', + marginTop: '.5rem', + }}), + m('', { + style: { + height: '3px', + width: '100%', + }}), + m('', { + style: { + height: '3px', + width: '100%', + backgroundColor: '#000', + marginBottom: '1rem', + }}), + m('.letter__body', [ + m('strong.letter__body-header', [ + m('p', 'KEPUTUSAN'), + m('p', 'KEPALA SEKOLAH MENENGAH KEJURUAN (SMK) BHAKTI ANINDYA'), + m('p', 'Nomor: 076 / SMK - BA / V / 2019'), + m('p', 'TENTANG'), + m('p', 'KELULUSAN PESERTA UJIAN DARI SATUAN PENDIDIKAN'), + m('p', 'TAHUN PELAJARAN 2018 / 2019'), + m('br'), + m('p', 'KEPALA SMK BHAKTI ANINDYA'), + ]), + m('br'), + m('table', [ + m('tr', [ + m('td', 'Menimbang'), + m('td', ':'), + m('td', '1.'), + m('td[colspan=3]', 'Bahwa dalam rangka pengumuman hasil ujian akhir kelas XII Tahun Pelajaran 2018/2019 dipandang perlu untuk menerbitkan surat keputusan tentang kelulusan peserta ujian dari satuan pendidikan SMK Bhakti Anindya.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '2.'), + m('td[colspan=3]', 'Bahwa peserta ujian yang namanya tercantum pada surat keputusan ini dipandang cakap, kompeten, dan layak untuk dinyatakan lulus dari Satuan Pendidikan SMK Bhakti Anindya.'), + ]), + m('br'), + m('tr', [ + m('td', 'Mengingat'), + m('td', ':'), + m('td', '1.'), + m('td[colspan=3]', 'Undang Undang No. 20 Tahun 2003 tentang Sistem Pendidikan Nasional.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '2.'), + m('td[colspan=3]', 'Permendikbud Nomor 57 Tahun 2015 Tentang Penilaian Hasil Belajar Oleh Pemerintah Melalui Ujian Nasional Dan Penilaian Hasil Belajar Oleh Satuan Pendidikan Melalui Ujian Sekolah/ Madrasah/ Pendidikan Kesetaraan Pada SMP/ MTs/ Yang Sederajat Dan SMA/ MA/ SMK Atau Yang Sederajat.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '3.'), + m('td[colspan=3]', 'Peraturan BSNP NOMOR: 0047/P/BSNP/XI/2018 tentang Prosedur Operasional Standar Penyelenggaraan Ujian Nasional Tahun Pelajaran 2018/2019.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '4.'), + m('td[colspan=3]', 'Peraturan BSNP NOMOR: 0048/BSNP/XI/2018 tentang Prosedur Operasional Standar Penyelenggaraan Ujian Sekolah Berstandar Nasaional Tahun Pelajaran 2018/2019.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '5.'), + m('td[colspan=3]', 'Pedoman Penyelenggaraan UKK dan Sertifikasi Siswa SMK pada Ujian Nasional Tahun Pelajaran 2017/2018.'), + ]), + m('br'), + m('tr', [ + m('td', 'Memperhatikan'), + m('td', ':'), + m('td', '1.'), + m('td[colspan=3]', 'Nilat raport semester 1 – 6 Tahun Pelajaran 2016/2017 – 2018/2019.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '2.'), + m('td[colspan=3]', 'Nilai Hasil Ujian Praktik Kejuruan ( UPK ) yang diselenggarakan tanggal 1 April s.d 3 Mei 2019.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '3.'), + m('td[colspan=3]', 'Nilai Hasil Ujian Sekolah Berstandar Nasional (USBN) yang diselenggarakan tanggal 05 – 12 April 2019.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '4.'), + m('td[colspan=3]', 'Nilai Hasil Ujian Nasional Berbasis Komputer (UNBK) yang diselenggarakan tanggal 25 – 28 Maret 2019.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '5.'), + m('td[colspan=3]', 'Hasil pengamatan dan penilaian mengenai sikap, prilaku, dan kepribadian yang bersangkutan selama menjadi siswa SMK Bhakti Anindya.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '6.'), + m('td[colspan=3]', 'Hasil Rapat Pleno Dewan Guru SMK Bhakti Anindya tanggal 10 Mei 2019.'), + ]), + m('tr', [ + m('td[colspan=2]'), + m('td', '7.'), + m('td[colspan=3]', 'Surat Keputusan Tentang Kriteria Kelulusan dari Satuan Pendidikan.'), + ]), + m('tr', + m('td.text-center[colspan=6]', 'MEMUTUSKAN :')), + m('tr', [ + m('td', 'Menetapkan'), + m('td', ':'), + ]), + m('tr', [ + m('td', 'Pertama'), + m('td', ':'), + m('td'), + m('td', 'Nama Peserta'), + m('td.strong', ':'), + m('td.strong', Siswa.current.nama), + ]), + m('tr', [ + m('td[colspan=3]'), + m('td', 'Tempat & Tanggal Lahir'), + m('td.strong', ':'), + m('td.strong', Siswa.current.tempat_lahir + ' , ' + Siswa.current.tanggal_lahir), + ]), + m('tr', [ + m('td[colspan=3]'), + m('td', 'NIS / NISN'), + m('td.strong', ':'), + m('td.strong', Siswa.current.nis + ' / ' + Siswa.current.nisn), + ]), + m('tr', [ + m('td[colspan=3]'), + m('td', 'Nomor Peserta'), + m('td.strong', ':'), + m('td.strong', Siswa.current.nopes), + ]), + m('tr', [ + m('td[colspan=3]'), + m('td', 'Bidang Studi Keahlian'), + m('td.strong', ':'), + m('td.strong', Siswa.current.bsk), + ]), + m('tr', [ + m('td[colspan=3]'), + m('td', 'Program Studi Keahlian'), + m('td.strong', ':'), + m('td.strong', Siswa.current.psk), + ]), + m('tr', [ + m('td[colspan=3]'), + m('td', 'Kompetensi Keahlian'), + m('td.strong', ':'), + m('td.strong', Siswa.current.kk), + ]), + m('tr', [ + m('td[colspan=3]'), + m('td[colspan=3]', [ + 'Dinyatakan ', + m('span.special', 'LULUS'), + ' dari satuan pendidikan SMK Bhakti Anindya Tahun Pelajaran 2018/2019', + ]), + ]), + m('br'), + m('tr', [ + m('td', 'Kedua'), + m('td', ':'), + m('td[colspan=4]', 'Surat Keputusan ini dikeluarkan sebagai pengganti ijazah yang akan diterbitkan kemudian.'), + ]), + m('tr', [ + m('td', 'Ketiga'), + m('td', ':'), + m('td[colspan=4]', 'Apabila dalam Surat Keputusan ini terdapat kekeliruan akan dilakukan perbaikan sebagaimana mestinya.'), + ]), + m('tr', [ + m('td', 'Keempat'), + m('td', ':'), + m('td[colspan=4]', 'Surat Keputusan ini berlaku terhitung mulai tanggal ditetapkan.'), + ]), + ]), + m('table.signature', [ + m('tr', [ + m('td', 'Ditetapkan di'), + m('td', ':'), + m('td', 'Tangerang'), + ]), + m('tr', [ + m('td', 'Pada Tanggal'), + m('td', ':'), + m('td', '13 Mei 2019'), + ]), + m('tr', + m('td', 'Kepala Sekolah,')), + m('tr', + m('td[colspan=3]', + m('.letter__sign'))), + m('tr', + m('td[colspan=3]', 'Drs. Engkos Kosasih, M.M.')), + ]), + ]), + ]), + ]; + }, +}); diff --git a/resources/js/models/AccessLog.js b/resources/js/models/AccessLog.js new file mode 100644 index 0000000..5624520 --- /dev/null +++ b/resources/js/models/AccessLog.js @@ -0,0 +1,16 @@ +import m from "mithril" + +var model = { + current: {}, + fetch: () => { + m.request({ + method: 'get', + url: '/api/access_log', + }) + .then(response => { + model.current = response; + }); + }, +} + +export default model; diff --git a/resources/js/models/Siswa.js b/resources/js/models/Siswa.js new file mode 100644 index 0000000..e2027e5 --- /dev/null +++ b/resources/js/models/Siswa.js @@ -0,0 +1,20 @@ +import m from "mithril" +import AccessLog from "./AccessLog" + +var model = { + current: {}, + cariData: data => { + m.request({ + method: 'post', + url: '/api/siswa', + data + }) + .then(response => { + model.current = response; + AccessLog.fetch(); + console.log(model.current); + }); + }, +} + +export default model; diff --git a/resources/sass/main.scss b/resources/sass/main.scss index e250523..fb0730c 100644 --- a/resources/sass/main.scss +++ b/resources/sass/main.scss @@ -2,6 +2,11 @@ @tailwind components; @tailwind utilities; +@page { + size: 8.5in 14.0in; + margin: 0; +} + html, body { @apply bg-gray-300 text-teal-800 tracking-wide leading-snug; font-family: 'Source Sans Pro', sans-serif; @@ -83,15 +88,23 @@ html, body { } .letter { - @apply mx-auto p-1; - max-width: 66ch; - - .letter__header { - @apply text-center; - } + @apply mx-auto p-1 text-black w-full; + font-size: calc(.5rem + 1vmin); p { - @apply my-2; + line-height: 1.1; + } + + .letter__header { + @apply text-center mt-4; + + img { + @apply w-full; + } + } + + .letter__body-header { + @apply text-center; } ol { @@ -100,10 +113,41 @@ html, body { table { @apply w-full; + + td { + @apply align-top pr-2; + } + + .strong { + @apply font-bold; + } + + .special { + @apply font-bold tracking-widest text-lg italic; + } + } + + table.signature { + @apply w-auto ml-auto mt-4; + + .letter__sign { + width: 79%; + height: 4rem; + background-image: url('/img/letter-sign.jpg'); + background-size: contain; + } } } @screen print { + html,body { + @apply bg-white; + } + + body { + margin: 1cm; + } + .container > .header, .container > .form, .print-button { @apply hidden; } @@ -111,4 +155,19 @@ html, body { .container { @apply w-full max-w-full m-0 p-0; } + + .letter { + font-family: 'Calibri', 'Source Sans Pro', sans-serif; + font-size: 12px; + + .letter__body-header { + font-size: 14px; + } + + table.signature { + .letter__sign { + height: 3.5rem; + } + } + } } diff --git a/resources/views/main.blade.php b/resources/views/main.blade.php index 704813d..3845a3f 100644 --- a/resources/views/main.blade.php +++ b/resources/views/main.blade.php @@ -14,68 +14,6 @@

-
-

Pengumuman Kelulusan SMK Bhakti Anindya

- Silahkan masukkan Nama Lengkap dan NISN kamu di bawah ini: -
- -
-
-
- - -

Nama lengkap sesuai dengan absensi.

-
-
- - -

Nomor Induk Siswa Nasional

-
- -
-
- -
diff --git a/routes/api.php b/routes/api.php index 0ec5f66..58df0ad 100644 --- a/routes/api.php +++ b/routes/api.php @@ -17,8 +17,8 @@ Route::post('/siswa', function (Request $request) { // Validate user inputs // Auto redirect on fail Validator::make($request->all(), [ - 'nama' => 'required|string', 'nisn' => 'required|regex:/^[0-9]+$/', + 'tglLahir' => 'required|regex:/^[0-9]+$/', ], [ 'required' => 'Kolom :attribute harus diisi.', 'string' => 'Kolom :attribute tidak sesuai.', @@ -26,8 +26,9 @@ Route::post('/siswa', function (Request $request) { ])->validate(); // Look for the given inputs in the resource - $siswa = App\Siswa::where('nama', $request->nama) - ->where('nisn', $request->nisn) + $tglLahir = Carbon\Carbon::parse($request->tglLahir); + $siswa = App\Siswa::where('nisn', $request->nisn) + ->where('tanggal_lahir', $tglLahir) ->first(); // Redirect with error if not found @@ -43,7 +44,10 @@ Route::post('/siswa', function (Request $request) { Route::get('/access_log', function () { // Get the number of unique access - $logs = App\AccessLog::all()->unique()->count(); + $logs = DB::table('access_logs')->select(DB::raw('count(*) as num')) + ->groupBy('siswa_id') + ->get() + ->count(); // Get the total number of available resource $resources = App\Siswa::count(); diff --git a/webpack.mix.js b/webpack.mix.js index 42d366a..fcaed7e 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -14,6 +14,7 @@ const tailwindcss = require('tailwindcss'); mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/main.scss', 'public/css') + .copyDirectory('resources/img', 'public/img') .options({ processCssUrls: false, postCss: [ tailwindcss('tailwind.config.js') ],