2K~!IFp4W6$LvaVa!}j=|#E;m}ks
z^Lk;EIQWg{(fQD%c5wI9JPa1^ldV6~aMP%^=Clz5QnBL5&jH?lGM3P^>XmCgF{XhJ
zm$|xHysPB8w&Jc-j05$OwxSBnCsoQhj`Nw?3|HIA*SMK2x-@uRFcoJjHRWYn@%=P7
zs$TrIc&w&vpXEyjm1?-P6N91Qt=<*qlH5caldnBns-fN{H#T?Ik3VjEo?V(Uxt%y2
zdGShLT$#q2Sv3!lUclyT4G}M}Oed~Q
z?fVD~+X@o~t#Cg?yb4V(^>(q*75Xd;oc3v&q#+%x)%(Zth7Q`>Si<%-qtC&o8Jw#*4a+o>ts6PNCxH477-PL0Z&{{hN1K3|IgS<-{BiDz1ly5Ed#H
zXTaM(888@ryF*2fA*kP>P;uZ8XsY+*{Tv-Xs`E!p$HFEap=j_g4HJ(IL85e-$}B`w(Y6fw2o%KS)i<}f^OZi8GIazf1heM_n=)e39{VrXqqZ}IDX
z>Tbgi)2qfvWzSrE%zZo@J
zzD{B5GwQd$Af>pwYLNt2^jVl2>UD#$Y|-}}pM9JG6)$8)uc;RX-c5+@ekov2d&w2a
ztk7AUhP)2ym4%M=uQk}Ct6vBWdIUz^JDtTnWL>?Su%zee6QNH&z9F!&=r7t|%5fTR
zVPvPp%4j4(X)K3wJXA^<+C}UQO^0$k#S%)3sA9wWPaet94&^+OD^J&02>buLrBYo8
zYicnGly%kn&sI%Oje0HOib2DNWxwg=h{p238zaD-S=-UD}{oDw4jd|4B0`w^srgW
zkXO%p)u08A-fo~NPxci9K7{`>`-vGJLQ}oHaCeJ^7yP@|36s3Q#KvwIB7Q=e@{(9n
zy!RnV=9+CU0-I@^$6UFbyX`c!S=l!tR+p1a`$(d%IFqElUNs{Tv%!n
z{c=i2y>NJt*n2$URm-ZrQi5=4koW-k9Mqc}Pdn_n*mcu4pU5TA(()%c#f)*7PhAF!
z)8Od4VpPY~iz4r?3tU!XbN8l-ISf|Sfj>I@2S>%}|?Kzb#EjMH`mtq5+F@%F#&D#I!)|9
zfz`2UJqNFs@!2*<96x~tSIdesrHnA8C3Na_vhn@q8=9nrh!-ZX4+PMcp#E{8^0xVX
z_fel1*VMI5flRNt$JOp$`E3o)%OfFIh5W5=zpg>U{m$M}?5Ar5vFk)O%bwn+yJVyc
zOERUo3>}sx^?oZiH#fX)-}-PO(^-n$Cou=n@heuz6X`8oTK*x2i}aG+H7n`E;JCD`
zfx}u3%QB^8($*~9J1P#j#2m$~hw)(JC7w9U4m6Wq`NEDwU1+kpQ*KF{LGn
zZO$-<7XKQLqRY{C!5SdeTfyo%{mw3we$XF_fRZCbS+js4Sw0FE@k;<;A
zy!b|shnW4=xkuOqtvF&4zBWKbgSL+Rjs-gWANpRr1poj5
delta 21627
zcmeHv30PIt*Z0{+u5wYF!T|;6c|hh-E`m7Vb-)3ysHh02ASwzDUY5fPHGV~eazK1v${^Jx5wqxpN~Ii-t?i6`02jL
zRzGt^S4~i3)ZkTwRU|2E(!>N+j(~y_FJ=2K!?7GXP7cBH7zbRRk~)9BnQNgjU78KFG5?yogx1Uck6+k2Werx
zvYsbsW6-Lg?D->jS0D6@gOsTv#i=ZzceH18nS${n~Oqbh$;xEe?0qfb-g#R_bJVwBMc?pyakAkw|PF-FJS_|?l
zJw6STGZ?0)_XK78KwWME%J$VjS?^b53O4H&DCd6$0jKXb>k(U==!0_2GXJ|h@ZV_p
zvKl_~A8h%u8b0$MZ26Lg*LrRM#$PRr?<`|>T%%Z1t<0NlTJm;xNot1F1)w~XN9!~K
zl!tT+P@V!6bb7O$HWfbA=|)f<@~?sNNZ;?R`M(^rD&(}(I*ZGfFaJ$Vgi6QJe03Y4d6`9OW(LgoRy9WoC@7szV4
zu_>{`lM|$sx&5p7a~cT60X%FZB)Y8#1ZMzFkK!E$}@j9
z?AXtd$>X@WBx`3)e@x=o#FW_7)D4h%ZEK;^!CkcW+zwh9@%6R%%&cx*wFU?V<&1qJ
zG($5eR++4;Iz5MUZiorpwEB+(#WI$)9O+C4SvC93pltVl%SW@vK)=>qtC5jW71WG-
zq+CxeOEXKzE_s8waurGiD6j{YLAgR^n^u9-dO_PEb9@R9
z3_L3#^VIkR>D(0`>3Umr`{5H}<1nH(OTec47ME}RQ^M>
zzTB!C#3xVUdPuW$58_6R8=V**J7GdXY&yFm+VpG${
z#*I!STgB5mu2jl0k$`PJv>V|!R9HL2)WnW8ifadn
zH!0mY#3W3TG=Qc#2brS5sX2>xDWFb>xJ&5>eQ7tsBr2>EV*a$eBwRBj76EwutVpsyM?5L}GP<$z06
zxdv$dIF*|TE>`8PgVR!bpc6HV&EQ6=snsyF6I5;zxS=X{wuJM>Fwra)fs3YT&Dz_6
z(bOWaz-Sd+2hPT(=0b4T-Oy^G_5EaTCkkw7ktaG)MoWunEe>JfG_7Tj=?1vYD%Tnl
zqpQlLg40rSO5%P4*IiAuV%%yLi@xC8?d`yz%aQm19J(A_zs71`g4k43KDjEX?IHlsjaiz%}idmro@
zWI6<{v&xy9bK7uSZ*W@bl9IS@!J+4n+OmaVF%DceHEuUJ&7v5bmP@CWY*Fmn-VTfw
zbpc#Y)u4GRBfC^^S_O84)AU4ZBfC!Ew7B`;vda4{;kw}f-{;_<<$X(ik#aM5a93mj@~%*kJPQ*H-~
z?BYX3ATd4^7;2GU_o0kXi|K?9)+?G88e}&4!d11#SfxxoAgR`-x4=cI`4sw6ZkWaF
z=O;;UB&!0=2=y~hfdmb#@}Uj<%z2PdZdN&V+x#OWUJT3e!e?#^mZb_5+R)FO09Mz8
zT{fi7NV8)*(`86%JISE|R1|KJa{?%^lf~>Bh;GsHtK(-LsY?>&)$ucZ0tua0J4mh+
zM1h?x=3zlv#bgS_s=G9Zaywh(vq4k@QmZ`$cCna7;GmsI!Cit(r@+OjoTr7kXy85|}KxFg_f%$Z$6B?;!(4`yItObVsIZWeiY
zC}n{7hfyv_*N#*K@?J*@v|7y1I%?InqdXt1q~Vlnwa7EWsR(H&!nL$=B!d0SDd;pOsnKMI6mg`CxJuULUu9Vx;VqSqEgO<;-SG#yvgeIYj
z(W!4k;yHjN4};;3E@7ZxMl|n6MZGNMIjCfRs9?On;4&m`EPGXQwQ7h5Qr
z0Er8QG6w1Uka!kg$f6l5_cW@&i+1;(lu_Se+JQ(2$E~{qQC|gb5bv@
z6Et_WK;nkh^12R*>x)wWa;_Jtbr1$`BR_dmBn9@vFps2+eipMsZ*4MQ?P%yH59&=t
zh|EXi2$&-hE!D11$?}3>HM$SwMp;bnBhs5t9rGh_JQ&m*%wB!9Muvx&cnYMF-ZbBU
zR5}fv`)O&=boY~E`ca0>Vp@zyw7h$e`5ZWXQET8QSC68=0Ty%TC?j|FYXu~1^)u0Lf&Tg-$=ZV#=kPC(+UwFRK2O)b(j$UFcX#&T8_wPW`{Dye|!
zXGrc;93EtDK0uPtplppEoeYV4RLgl6B=%R8^!G(R0
z*gzeqW`}{#4QW$2OBC!9B+nU088H@fE+TxPj9x`XMUXfn%ywktJIEMW>~`89${1oX
zpG2hQsKBIf7+g{h3_c4aPQxh16v-G&8AC0mt%$U!!}soBDjI5$Ein{0%wirNqm_(<
zYM7t=P7LJ^vzVSD5@Q{G)n$k=h(x5Hc|IhpSbQu+smCF?LBjBGL8T#ashHkb
zjs4{CSPG1{nAXJdMi?9)WU>yIq<$*58XT5##N8-~3&4k?05xs`I2;b*gXFz&RFq(m
ztHx8{2#ee!UX^CYQ|<_hDKDNIVxLct*)2gEL1?EabTuS>Cci9y@B}#C3*d}#W>KH#
zDOVo*l=?7bJ?uE@!<6m20X2bPC|`YsX#^44^N&%z{J&H%w^SU!-S8s7&wolY|I-Zq
zL;K9%dB7fWi&Oy?06YNK1N{6w6s7%7WXu)c0C3kF0QmV!l)e2+ihq+Hm;a{~;OUdc
zN_d{99DfMlY56Ho88{2@^KVeK{4x!AA-V`~(_R92-d+ayVaoCqfGcthVEH?MpRy?D
zSD>aoPf`SMCvACw(wrk7*TOlH`FmY|&0N~f(^z*83GJ-{95T!5#p_dMk&F9b}z
z^>n7J@2ks9(IuHudoWyq5KvC*z=2LVzN0QbPdO?a0n<);I#br?e=&0u|0kIrrX1g0
zmw!*`moZK79tkFkTW6Eq_T`r5VU4NvrUjtZ=T+>3FSsJQaJx^sClh!Vi=Svb&
z*>;SsRTkx3#_8!y*)A27qtf*FKcj3vN!OpO(=!24zuB%Fxr9GCLIkcX}2m
zXZ(^LKU1eKgYv_a*;f#--Yi|7&5?L!3(Pl8cuh~3t0(*!wTC|G`iphCM7Lwg`6;?w
z7Uh0noQkbolf5Z#h>&x2RdbT0|M@%O?o_2mbZX%)O!dxG97~PCtWqPWnPmXUgoCnw)7c
zh|-oKUXD2JpE>-Y{~Mw({q(1L^!%X@N$O#cEA+P<{!spNr#~)El7^|_KSR0v|5kzA
zw{gIKc=%Jx|J|93EA$^8;{FYLt^6_#*h5bKTMvJF`Trw_K5n`709Ski@K+9hnFpZA
z&;KKu`EM1>OKYB5-QQD=KLqds_3s`2(EfkrbjT~?-*Wil{(t@y$P3N$hdzj^%<+H6
z;ZOa%U2^*4QtO1;+h7yDDG^~G%0t+foZqpDel#9o6y+oAPYpNPgpJY>4xrNr
zqp9U4n;1wl5DuaX2nUnLW}AqiIh)ZB>(CFItzswzylWG~Xc59#DnK}#LbupN9AzVn
zr$-1ADB?Yv7(r_hj-IS*8euxM+-VaTGy~yO
zx`6OS^4Mh)(`XLD>2wugCIx(G6Irwf;S4H3_!5QY*u+fAM))#4Lih?rd}I@^(prSG
zs1V_7>b=`0=FldDuaU^LiMbSwa2{<(IG@aWY+?b$BE+|S5H6%@du?J7B_e!-@(>a^
z@3V=;G#=p+%15}A8t%6Vh0+l&qtghpspSEiSWYt#zDXAjU^aY&*>KP*R??h<=mkjk
zAg!i=JeycUix94*0)*=*^kbV?PuU3HqDKhdrieo}v4Peie1{4VZlvCaZDJE`I&7ob
z`y9#fh!x*8iauhaqmcGNdXLPX*u++fMYxT2BYdB#eQFciDG}iZl!tH!IUlu&oirZd
zF3LyvAvMgmi5yDLx6!RUNBTD3Dt1%LV>Vj$u_MhtW)*wr0;H~o;LB%Lv5)3_245iE
zgLHrbj@xMCVMkhd+$!>@0MdXXj@09XRUD%16E?E{#F2_29ifPmHt`9qMffQdB0NgH
zPuWC1Z9;gABIen|XS5dKaT1@~#0iQT^dr^14-gN7WX>tJ97&aiLY*pgc$)K}uL)
z6*np1E6kTOXpOI|qJRn@)&2slao#HKQ1*HB6{KQF_bB3mji!8wmEwX`JfK2IEzV+|
zeQlK=NwoRv{&XIq<3+3dM52Kg`_t@m=w*mMO62fOfAaqdjq#0D{#l}2h_@iReruHr
zB})3XKP@|t=79K%M0GCpr>+;!9+#|gu|&rpK84u!vQ_>~qKwP^Y2(*uk;_&gsO1&-
zc@Zsg#VX3t1xWVaphd1)g^A`|g`be_L8?Fj*Wl;3@bj7#Uq&l{RQnSA{LYH+&SifG
zKOq%Ea-@js@bfbKylxd$s1Q<%EAaD%RaB!*H_(re9KW}U7byCB^y5`{38@B|Z=xTs
z!O5FeQHyp%x&_JgmQ^@Y;w|*!cW@C>U2-l!KVFB21-$R%LwX9S?QPz7(r=?5Z@@oD
z4XNcF`1d{hyJN-Pa{-e5P55`$irr_X4_pR82
zvhTw`NX3xaQp5xJcN_jauwox7gw)~={CjA{PPFME{Db89$cnuv`VsuQ3;!VbkohtE
zy9fUs^Io(Y(k)1?PpsID5}&}o`|uA^5IO$<{~o}X!_N4S5;on2}
z2Pu?V{sjLX!M~rZ*q1IqvVRQ!ezsy~n)5UKgLDs47YcX^|DM3Vr&jDu1(0h00RIZD
z!nz~7u$?e{igSDoiv49KrPQ=j=2aH<*pFj=Ar|RivAyXfyhp1Dg}xl)VEhW@k$H#P
zvtz=P269?$j&s#+Y$DxL+d+PBxAf#T&*7Js5Je&wQOrpJ|Lm1B{`htKDg<8CjW
za*o5)T2-|d_NJ|VlJvswN>bdbB7R^fzGRB})lwoI#FwTMogf-&Q`p=wyQlVb)AgXN
znWM(4U$MqFtRwNg2=?!FHP-mv^hJEF!NKraZ5C4teDJ7@oJpvaQVXAs|JRqe-=5>;
zuS0VJtBd|&4p;OaEe(iJ(s8)ReD<66pgE*>06sHMV*wA#+)fOBkHOC-fMx!mbr0a@
zU4ZTQ1N1>=@N5B?<+p?U7Le241K4(Ugr*eUT_`~VMDI*KqP_zx1NfyUe}p^?#UlW}
z&EX0K0X~2)fJW!9phy7#{==;PyM`<12vi05?cXNk@h-3mSP85ERs)Za_7LFD!|cF)
zeoylN%n9H)kPjRKz64GKXMmHyDd02U3*d9$D8R1^;(&M{0T=;{1n|FZDG^8lMgz&f
z7+@?g4oCsU0~3H$eovGJW+E^Nm<&t-(t!+MDliP_1M~p81A~BGKn#FEA@u_y0Sp`d
z=8+T)*Z}<7UczXQh5$nW3^pkW7z}g+Y6A`VV{A*H5#Ry118%@cG#9_2JppV1`2R*v
zfI^@M_zfrqo&n{NUJkGWxZ?$20%YJ9M4bb^0xkew1LpyLck&&Oc^$zG;CtXEa0{pd
z@W15wmGI}lX@K8TZw0mi?*l&}{Rf~v&;a1q!~DvaUrX->_5eG8oxm=DUsLk{%>xcV
z{~*wq&6|MX|7P(>{RB7)q^O^&q10Ci93UDw^Z$tW)j}@xW&y7P+}x4MkwIdQi!WHN
zuPeagl{L
z8PF8qn!^RP?;3(O0ICDk0DFK333s|aaAe7<1jLBGE}T9S;6cSBl}9WOq~BN9#Dlr6
zvLr_Ia(zD6mk>Pz$O1Bf=}N>9(aVE}`zyf90QVnHb{>`Mf!P4ZtpMHxmIK+!z9FJ@
z<`S?9uoPGfECUF5K8|%5oM!Orz^?_?0IPvjz)E0^j@_VK{CmI_fZJme@D}h6@HVi4
z9dH7(5n#%Z?*f~3`6JLA;6q>+uoKt;d;n|*-Uqe;TY(k=V-B=AXfvQ8&;Y0pR0pa7
zRe;KXBVZ3y;Qu1=?BO1%3h<1PfL}m<1Reu-fxW;j;3jYcI1C&B_5=HXkAXwLK_Cxc
z`7&@E$Ok?JJ^_yE{4r2o&rYIzb@96hdIsPr`Z>T;^b~Lw;CPNZ4SWfFq08q$d0Jlr
z*xs1l--7=}m#>0e0lo*W1J{7>fE&OaAoDhY0swuXzOH-#dLOt4JOmyAKLAgFBH$;W
z5O@mw3>ay@fqw@43h?|gbc!MKdc^U(ChtX~6^^;xej;0)9O*v18L1)2h^&-RT0*5&=J5l|O-yv!4*i5|(Bx`F3c
zm+XP8%WWXH1KI+u0oLI-rX0tV;R$#EY}Zley+FNzARrL%1$=a#TQ-3Ii|7yd0UTj@
zE|Hb_wPx5K;zA$?1FXwB9RRis1?9ZB+l+izw=>WQ2nVbHp8&c5d>X0T4Z*{{2=Gjq
zsq~B!t(>Z0ak=!QSlLnQjobEOh^L#on~$qUqi%8Z1P0w6r$&@
zm#i0}*GjFbvvO{vs3Wc^kGN`wm5OL5u|=7YDV!C{D5U63XZ)0WvhS}6)8}^irqutj
z%6zub^VW$Lsl<;K-tsvXAx@hkSZuNSY#XWgcu@jNiR~
zAKKLZ$ByBLOEpp}DhD}t>6?ytdC1I*4?ZnTIbTt!JPx+T
zukZU^IRhNY8b!I52?_5#Dv-T@uewVm6XA-buoU?|B`j}=sTMnx|eDsRZcAvU!~F{QXdI*@8(?9i4gU(t(xldhQFb6KH76DQsL$N}CkqZ2Y3VkLB~$F0R$y
zDb={;qzr?GukjoBRdwBSzbJ?sSgK+CO5Qze`Ouv5RnQwo?oDbaTiMq5UH!+>{VvT4
zr76Q|D8F*ejNj_7+cZ7tzJ1d(r5dwpDDLBtyYcJ((`&1`
z9&S<4t5n1I{eP?KExg3s@79*49Ic^DXItaOfZ;WNHCL(c^i!#Zai_q|rD>1XhWxar
zG{vr_avZiU#x(@9?Y4{>S}kx&sYaWcOD7<6WM^+#gy@lp-rwglhq$3I;A#?Fk=6m@-YQnpPHCV4C_eBwDErgkpK;Ga@8$RJ
zcUW`!S*b=@Q&+Ry>7Z1a$O8_!*T<0D(bO)+{njfll-fRWP&z=vx2%b(il{c`X6(W_+x5j*|_N_Os
zrDaY~H3bvYZ8B`joS>>knG;k^!32E~wk~B(P*tO64ds2#eOL{xW*29U=%7vM
zl{rCGTTIYrY+L38RW-_-plS*xX!j|oS(y`5)p%S($%2NjT}|z+Qk&7WDm*!qgvA)k
zkE&7T1XWYo)KpHgZJ9Gv)hKg@swtSEF6pRQnKM+?c)g|)2@P!#*5@Pk!k5#v`S^Z1
zcF}Wg%3bKlH{F!-8KRY?5Fa-Abd(l5fsbI)#=z_mF=3}kJvw0U;@H+s+mS~VzL;ef
zva1VH_(X>J*sGl~HUr)mmrR^2IQ!l!>wcWi8xNY;33O
zg{_Nm)5W6QwD&}6mkOmCH`^%>Id|i3jI&WIkB#baJHJ%JxIH7=vA=U(*C*9WQzG0I
z%T(AJ_iYq(H$~nPNe4?cj2k)fgQg90pE#>;Y07qYW!_YrGcvuEgPezPw?^Xnb(KG=
zUcD3i_i$5N#<+!}W7RS3uiTnhA1Ur`0dDU20O_q%ei7ao_jS}bbG=Q`sq|f{h9^#H
zl9qc76O`wAD}$jdFZWg^y@;a_j1MzS@XM(_O~|6IajVAkk0z!b^*`$=3lBHX0G^%d
zL9Vv!ryb2)jO#f@J=po6k9S&26o=i`9~*9)0A>1gIAdJ%@Mevi+jU;qJ6f#}&bjyi
zjY>IVAf!Lqb^c<=-syUZr?*r-P&p1;?cnEB0e$N&Z4X?USrXL{QSN_|K~#{^GZSl%
zc5;-%+bJtx>|)&Q;TN4a;?Y_+H@gzI#Ihla0l8%Tcn)~{5|I)$^E;rN>N>Klcu
zOuIgfpDvn>bC!{k+g_=c1zY2Wk(JY>u$Xmgl1er7OGvV|wu?J-cJ>&23^Z&j1uMz0
zbuq3jnLcO#_3Ix!O)u5x9IUK?2HvSExmlu>!<|rk*g~sK4pZ)Dq0eT8DeY%q@GJ^b
zQf6?UhAFSj5Z!%^J0qsJBz}H%_K?SDT`$ZLOfTbhh&y8rzd7J$@6V9J$5?+!`Y24P
z^pdDu*SM(SwFyc4V!9Q4qT0IiFw+j^%7B+d9T(%e3-@uSvKQ5w<^wGcbUxHBhbaq?
zkFRl)Mz6v{yY|`*U#^#gVPxFN5&drC+m5eH+KUwa0EH49Ix641B)Yr&i*Wt1-ZugFx8acOxHjX@a$PWuwuFOR18ke&4nR9Myy#d`E^m^b_I3-+h
zdKs;n7p^TzhJ|s-iF5Vp$^9Bv`4Se~dZ=Ih&dQ4~qn%rHR+hpt)1$LCE{qFaUa2}b
zIr(L=0u~+^q?ifDRWA<@PfJ>~!xz4x@Cbj&+X>rQ}r(l}txf$2NL?5_s
zT5;)K3*^R2AZlz}5M%58WsjK0`OUAY1*x55ToJQs^BZ?+);RMDQv9{gC*8U#-Cse6
z7?;EpCyVz}8ijui4el{CYGGIHv*^>JsiQs~u=s6RTtiGPRMH%wG?;}(Y!RWp`p$}v
zKJ@XbDr-!#cmXlkEOC{La*}iJ3z1BhIe`6?wFqKK3?a1?2r@6
zy4v`lxzTQD_-YzgBa}#J_!<}5+>IX?^=bBlF>!}<|65V}_OLZIyY_1_|<`qF*
zciFf;=jyW)TU&TL;++A;p;}#aF?9OVr4w`J_iJyEy7n43?yOImG%@|zAXnt+iT4!n
z!?=@Y=KBe!S_SmtZsXGYup#wU=FP?|z1~MT2kpPgUlY!<*`{Q?hT>P+l&!C!owwVRqpyi9-!eYK
zc$~q>{ezay(^ls?^H8m=VM4&vLjJ?5Wb-7;Pb&RiWjo9_v4NM{QeW3RHx^gM
ztE1`q8ZdUK^5uL~4%>kJ0%(@mR_J)V3mvMYEI{S-4Wn#L^~5$cR;juWnzLe+^9w|)
zCQD<{;aCxjOAE*Q{&IKb_fI~oDvT7v;&QCg;dRX2pJ2hqgga9Qum5rF`RcOpck}V#
zIb>W4G{gRTug@NwoLidGcDS+tw(=kHGGv#3ZE0BO)Wx_^Xmpb2s<%J8{6rSq(wHYw
z`FLf>LTtdGTNa|#cEu}K;Hisobx_EV$CHXWuI8DnPYH(v^>S
zY20V@FlY9{Z2KF$5@P-5J{>$#$$Fz~%adwvLsl&Sm0
zWks@|f4%lb4qB}}<$;MxgT-hem#i*5WZ&I(xtycS-
z-u6td6%I4DBxM~mniw}KIZc^fx5=6-*qEnte;|*eGw~J`PuG`~r;A00+NvO>#U>_C
zP8=KGWzd;s_gimo?iQwWTY}elph=)z8shZD?+Y(RO?}JuZUg5wkooh>j9O8Ze{=G_
z
Date: Fri, 9 May 2025 22:09:18 +0100
Subject: [PATCH 03/16] Create tsconfig.json
---
tsconfig.json | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 tsconfig.json
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..78bd9bf
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "compilerOptions": {
+ "baseUrl": "./",
+ "paths": {
+ "@js/*": ["resources/js/*"],
+ }
+ }
+}
From 2db36bb337e63ef4e84ae4fd374831cfb35ef1e3 Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:09:25 +0100
Subject: [PATCH 04/16] Update Show.vue
---
resources/js/Pages/Login/Show.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/resources/js/Pages/Login/Show.vue b/resources/js/Pages/Login/Show.vue
index cde9546..d48023b 100644
--- a/resources/js/Pages/Login/Show.vue
+++ b/resources/js/Pages/Login/Show.vue
@@ -100,6 +100,8 @@
import { ref } from "vue";
import { useForm } from "@inertiajs/vue3";
+ import { store } from "@js/actions/App/Http/Controllers/LoginController";
+
const props = defineProps({
email: String,
password: String,
@@ -116,6 +118,6 @@
});
const submitForm = () => {
- loginForm.post(route("login.store"));
+ loginForm.submit(store());
};
From 6db84a243b3a918f628d7bf6a0870e95ad95c409 Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:11:13 +0100
Subject: [PATCH 05/16] Update Show.vue
---
resources/js/Pages/Register/Show.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/resources/js/Pages/Register/Show.vue b/resources/js/Pages/Register/Show.vue
index 9123225..67fc520 100644
--- a/resources/js/Pages/Register/Show.vue
+++ b/resources/js/Pages/Register/Show.vue
@@ -112,6 +112,8 @@
import { ref } from "vue";
import { useForm } from "@inertiajs/vue3";
+ import { store } from "@js/actions/App/Http/Controllers/RegisterController";
+
const props = defineProps({
first_name: String,
last_name: String,
@@ -128,6 +130,6 @@
});
const submitForm = () => {
- registerForm.post(route("register.store"));
+ registerForm.submit(store());
};
From 82edde4c1865ed40bc95530f472628b6641b2543 Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:12:43 +0100
Subject: [PATCH 06/16] Update Show.vue
---
resources/js/Pages/ResetPassword/Show.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/resources/js/Pages/ResetPassword/Show.vue b/resources/js/Pages/ResetPassword/Show.vue
index 2b66d90..dba936b 100644
--- a/resources/js/Pages/ResetPassword/Show.vue
+++ b/resources/js/Pages/ResetPassword/Show.vue
@@ -64,12 +64,14 @@
import { ref } from "vue";
import { useForm } from "@inertiajs/vue3";
+ import { store } from "@js/actions/App/Http/Controllers/ResetPasswordController";
+
const title = ref("Forgot Password");
const forgotPasswordForm = useForm({
email: "",
});
const submitForm = () => {
- forgotPasswordForm.post(route("password.store"));
+ forgotPasswordForm.submit(store());
};
From e7433cb8d0d5bc286b181ef77bad7ea5d47cc11f Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:14:46 +0100
Subject: [PATCH 07/16] Update Edit.vue
---
resources/js/Pages/ResetPassword/Edit.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/resources/js/Pages/ResetPassword/Edit.vue b/resources/js/Pages/ResetPassword/Edit.vue
index fb877bd..c80ba3e 100644
--- a/resources/js/Pages/ResetPassword/Edit.vue
+++ b/resources/js/Pages/ResetPassword/Edit.vue
@@ -69,6 +69,8 @@
import { ref } from "vue";
import { useForm } from "@inertiajs/vue3";
+ import { update } from "@js/actions/App/Http/Controllers/ResetPasswordController";
+
const props = defineProps({
email: String,
token: String,
@@ -83,6 +85,6 @@
});
const submitForm = () => {
- resetPasswordForm.patch(route("password.update"));
+ resetPasswordForm.submit(update());
};
From 242785d17f4a8b45bee209dfbc2aec7cd1c259be Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:14:48 +0100
Subject: [PATCH 08/16] Update Edit.vue
---
resources/js/Pages/Account/Edit.vue | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/resources/js/Pages/Account/Edit.vue b/resources/js/Pages/Account/Edit.vue
index e84fdc6..a5c74b8 100644
--- a/resources/js/Pages/Account/Edit.vue
+++ b/resources/js/Pages/Account/Edit.vue
@@ -90,6 +90,8 @@
import { ref } from "vue";
import { useForm } from "@inertiajs/vue3";
+ import { update } from "@js/actions/App/Http/Controllers/AccountController";
+
const title = ref("Update Account");
const props = defineProps({
user: Object,
@@ -103,8 +105,9 @@
});
const submitForm = () => {
- accountForm.patch(route("account.update"), {
+ accountForm.submit(update(), {
preserveScroll: true,
+ preserveState: 'errors',
});
};
From b7ed9090902a67725f77f254a39a6eb22bbd2424 Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:19:55 +0100
Subject: [PATCH 09/16] Update Header.vue
---
resources/js/Components/Header.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/resources/js/Components/Header.vue b/resources/js/Components/Header.vue
index 7bfb630..f2cba5d 100644
--- a/resources/js/Components/Header.vue
+++ b/resources/js/Components/Header.vue
@@ -6,7 +6,7 @@
@@ -85,6 +85,8 @@
import { ref, onMounted } from "vue";
import { router } from '@inertiajs/vue3';
+ import { index as home } from "@js/actions/App/Http/Controllers/DashboardController";
+
import {
Sparkles as SparklesIcon,
Menu as MenuIcon,
From 8b5cb738901b1a2dd25e15b61b4c1db99c702bd8 Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:19:58 +0100
Subject: [PATCH 10/16] Update App.vue
---
resources/js/Layouts/App.vue | 50 ++++++++++++------------------------
1 file changed, 17 insertions(+), 33 deletions(-)
diff --git a/resources/js/Layouts/App.vue b/resources/js/Layouts/App.vue
index 6d5f210..20fbaa1 100644
--- a/resources/js/Layouts/App.vue
+++ b/resources/js/Layouts/App.vue
@@ -21,50 +21,34 @@
From f1872c46c6a35ba5a4bc94c3e0819cc3fb6b5e2d Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:26:49 +0100
Subject: [PATCH 12/16] Add logout link to email verification page
---
resources/css/utilities.css | 2 +-
resources/js/Pages/EmailVerification/Show.vue | 14 ++++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/resources/css/utilities.css b/resources/css/utilities.css
index 56159e8..cf5195a 100644
--- a/resources/css/utilities.css
+++ b/resources/css/utilities.css
@@ -1,3 +1,3 @@
@utility text-link {
- @apply underline hover:decoration-transparent transition-colors;
+ @apply underline cursor-pointer hover:decoration-transparent transition-colors;
}
diff --git a/resources/js/Pages/EmailVerification/Show.vue b/resources/js/Pages/EmailVerification/Show.vue
index 5b10997..d7bb9e8 100644
--- a/resources/js/Pages/EmailVerification/Show.vue
+++ b/resources/js/Pages/EmailVerification/Show.vue
@@ -21,6 +21,19 @@
+
+
@@ -36,6 +49,7 @@
import { ref } from "vue";
import { router } from "@inertiajs/vue3";
+ import LogoutController from "@js/actions/App/Http/Controllers/LogoutController";
import { update } from "@js/actions/App/Http/Controllers/EmailVerificationController";
const title = ref("Verify Your Email");
From b0a21b2b43f03159671cbd43554c91ce73ef20f3 Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:27:41 +0100
Subject: [PATCH 13/16] Update Show.vue
---
resources/js/Pages/Login/Show.vue | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/resources/js/Pages/Login/Show.vue b/resources/js/Pages/Login/Show.vue
index d48023b..05f6a9b 100644
--- a/resources/js/Pages/Login/Show.vue
+++ b/resources/js/Pages/Login/Show.vue
@@ -35,7 +35,7 @@
Password
@@ -79,7 +79,7 @@
Don't have an account?
@@ -100,6 +100,8 @@
import { ref } from "vue";
import { useForm } from "@inertiajs/vue3";
+ import { show as forgotPassword } from "@js/actions/App/Http/Controllers/ResetPasswordController";
+ import { show as register } from "@js/actions/App/Http/Controllers/RegisterController";
import { store } from "@js/actions/App/Http/Controllers/LoginController";
const props = defineProps({
From 9070bcfab51ce10b52d0fd2dd822596037a4e418 Mon Sep 17 00:00:00 2001
From: Seb Kay
Date: Fri, 9 May 2025 22:28:00 +0100
Subject: [PATCH 14/16] Update Show.vue
---
resources/js/Pages/Register/Show.vue | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/resources/js/Pages/Register/Show.vue b/resources/js/Pages/Register/Show.vue
index 67fc520..0bf6364 100644
--- a/resources/js/Pages/Register/Show.vue
+++ b/resources/js/Pages/Register/Show.vue
@@ -91,7 +91,7 @@
Already have an account?