From 3f9e72d17d7ecb9f3fceda80a05ee594d4f50e02 Mon Sep 17 00:00:00 2001 From: Jean-Yves Perrier Date: Sun, 12 Mar 2023 07:57:35 +0100 Subject: [PATCH 1/6] Document XMLHttpRequestUpload --- .../readystatechange_event/index.md | 4 + .../web/api/xmlhttprequest/send/index.md | 2 +- .../web/api/xmlhttprequest/upload/index.md | 16 +- .../api/xmlhttprequesteventtarget/index.md | 2 + .../abort_event/dgszyjnxcaipwzy.jpg | Bin 0 -> 62373 bytes .../xmlhttprequestupload/abort_event/index.md | 141 ++++++++++++++++++ .../error_event/dgszyjnxcaipwzy.jpg | Bin 0 -> 62373 bytes .../xmlhttprequestupload/error_event/index.md | 141 ++++++++++++++++++ .../web/api/xmlhttprequestupload/index.md | 59 ++++++++ .../xmlhttprequestupload/load_event/image.jpg | Bin 0 -> 62373 bytes .../xmlhttprequestupload/load_event/index.md | 141 ++++++++++++++++++ .../loadend_event/index.md | 141 ++++++++++++++++++ .../loadstart_event/dgszyjnxcaipwzy.jpg | Bin 0 -> 62373 bytes .../loadstart_event/index.md | 141 ++++++++++++++++++ .../progress_event/index.md | 141 ++++++++++++++++++ .../readystatechange_event/index.md | 62 ++++++++ .../timeout_event/index.md | 69 +++++++++ 17 files changed, 1051 insertions(+), 9 deletions(-) create mode 100644 files/en-us/web/api/xmlhttprequestupload/abort_event/dgszyjnxcaipwzy.jpg create mode 100644 files/en-us/web/api/xmlhttprequestupload/abort_event/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/error_event/dgszyjnxcaipwzy.jpg create mode 100644 files/en-us/web/api/xmlhttprequestupload/error_event/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/load_event/image.jpg create mode 100644 files/en-us/web/api/xmlhttprequestupload/load_event/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/loadend_event/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/loadstart_event/dgszyjnxcaipwzy.jpg create mode 100644 files/en-us/web/api/xmlhttprequestupload/loadstart_event/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/progress_event/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/readystatechange_event/index.md create mode 100644 files/en-us/web/api/xmlhttprequestupload/timeout_event/index.md diff --git a/files/en-us/web/api/xmlhttprequest/readystatechange_event/index.md b/files/en-us/web/api/xmlhttprequest/readystatechange_event/index.md index 9786eb51f6336c2..c19b6ba1295505d 100644 --- a/files/en-us/web/api/xmlhttprequest/readystatechange_event/index.md +++ b/files/en-us/web/api/xmlhttprequest/readystatechange_event/index.md @@ -56,3 +56,7 @@ xhr.send(); ## Browser compatibility {{Compat}} + +## See also + +- {{domxref("XMLHttpRequestUpload")}} diff --git a/files/en-us/web/api/xmlhttprequest/send/index.md b/files/en-us/web/api/xmlhttprequest/send/index.md index 59f6ea7624f1578..5ee79413da9ad9e 100644 --- a/files/en-us/web/api/xmlhttprequest/send/index.md +++ b/files/en-us/web/api/xmlhttprequest/send/index.md @@ -81,7 +81,7 @@ xhr.send(null); const xhr = new XMLHttpRequest(); xhr.open("POST", '/server', true); -//Send the proper header information along with the request +// Send the proper header information along with the request xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = () => { // Call a function when the state changes. diff --git a/files/en-us/web/api/xmlhttprequest/upload/index.md b/files/en-us/web/api/xmlhttprequest/upload/index.md index 3badf319ada5854..b6f784b8ed6b05a 100644 --- a/files/en-us/web/api/xmlhttprequest/upload/index.md +++ b/files/en-us/web/api/xmlhttprequest/upload/index.md @@ -26,29 +26,29 @@ The following events can be triggered on an upload object and used to monitor th - {{domxref("XMLHttpRequest/loadstart_event", "loadstart")}} + {{domxref("XMLHttpRequestUpload/loadstart_event", "loadstart")}} The upload has begun. - {{domxref("XMLHttpRequest/progress_event", "progress")}} + {{domxref("XMLHttpRequestUpload/progress_event", "progress")}} Periodically delivered to indicate the amount of progress made so far. - {{domxref("XMLHttpRequest/abort_event", "abort")}} + {{domxref("XMLHttpRequestUpload/abort_event", "abort")}} The upload operation was aborted. - {{domxref("XMLHttpRequest/error_event", "error")}} + {{domxref("XMLHttpRequestUpload/error_event", "error")}} The upload failed due to an error. - {{domxref("XMLHttpRequest/load_event", "load")}} + {{domxref("XMLHttpRequestUpload/load_event", "load")}} The upload completed successfully. - {{domxref("XMLHttpRequest/timeout_event", "timeout")}} + {{domxref("XMLHttpRequestUpload/timeout_event", "timeout")}} The upload timed out because a reply did not arrive within the time interval specified by the @@ -56,7 +56,7 @@ The following events can be triggered on an upload object and used to monitor th - {{domxref("XMLHttpRequest/loadend_event", "loadend")}} + {{domxref("XMLHttpRequestUpload/loadend_event", "loadend")}} The upload finished. This event does not differentiate between success or failure, and is sent at the end of the upload regardless of the @@ -79,4 +79,4 @@ The following events can be triggered on an upload object and used to monitor th ## See also - [Using XMLHttpRequest](/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest) -- [File and Directory Entries API](/en-US/docs/Web/API/File_and_Directory_Entries_API) +- {{domxref("XMLHttpRequestUpload")}} diff --git a/files/en-us/web/api/xmlhttprequesteventtarget/index.md b/files/en-us/web/api/xmlhttprequesteventtarget/index.md index 09151fa925a4be5..41c4f6d05fdc24f 100644 --- a/files/en-us/web/api/xmlhttprequesteventtarget/index.md +++ b/files/en-us/web/api/xmlhttprequesteventtarget/index.md @@ -23,6 +23,7 @@ The following events are made available to {{domxref("XMLHttpRequest")}}: - {{domxref("XMLHttpRequest/loadend_event", "loadend")}} - {{domxref("XMLHttpRequest/loadstart_event", "loadstart")}} - {{domxref("XMLHttpRequest/progress_event", "progress")}} +- {{domxref("XMLHTTPRequest/readystatechange_event", "readystatechange)}} - {{domxref("XMLHttpRequest/timeout_event", "timeout")}} ## Inheritance for `XMLHttpRequestUpload` @@ -37,6 +38,7 @@ The following events are made available to {{domxref("XMLHttpRequestUpload")}}: - {{domxref("XMLHttpRequestUpload/loadend_event", "loadend")}} - {{domxref("XMLHttpRequestUpload/loadstart_event", "loadstart")}} - {{domxref("XMLHttpRequestUpload/progress_event", "progress")}} +- {{domxref("XMLHTTPRequest/readystatechange_event", "readystatechange)}} - {{domxref("XMLHttpRequestUpload/timeout_event", "timeout")}} ## Specifications diff --git a/files/en-us/web/api/xmlhttprequestupload/abort_event/dgszyjnxcaipwzy.jpg b/files/en-us/web/api/xmlhttprequestupload/abort_event/dgszyjnxcaipwzy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d85b214128e98861dfc3548ad9f9793887f97611 GIT binary patch literal 62373 zcmb4qWmr^E7w#~G0}8^>h{P~-H$w?SIMmP`(jC$vARr*!-Q6KAAc#l}NOvnR3@O3@ z3Zh=V@7B-z+;#rF?_PWFv(96xH>>`V|I7J7OPaZVlqK@kxVMs}Et zgpf3!u!s;2AtB+ThmUB8iD`tG>6wN8zvbT`fDD8ufhU2B0|5ZZaB#_R{tW@>0RSK_ z&bri}bui3~n@Vjeml4yM^GI&5z-Z9BvP_pj8|cpi3&wvhyi5ek73Ar+GmAy%JW`1)FcQ+O zjnjpa_00+pYCxed9FtCgH}2XA3uO*0wwK?_bP1IOS_UQ*PtqsIrp?M9OydnGq=%aV zcl<_YPMpLQc*>Rs9L6_@ecrSv&7HTs)ENe!*iM zy2QGyW;d}_grz9Tb|ASU%_=Qf${;kq&=oo89S+0fnWJl*~yS)SunSP z{f*}j%-_+q)|!Hrl|%do-pYsw;^xGKX+Y!z1tV1iklH+j+Jr{cwl-26?_AUJ*wvqN z;89f4Rm^87agECr^}2i22^VC&qTmZxJZY_!pAS?QR7Rwc?!kSP;dls~5}HSrMD8ye z({gP~np)#27my03t@4KxWXjMO`Jt4GyhI_2s~5qg>UIIg1vJN1x`nne@8KU}tC^XN z;Q9mUaRdSYS2`T^2NKW?G&l1T3}3aHg{+5U{jP(X3&yHU&mlHMAaZ0(-7`usBe8Rv zV-VbruhWF$kY5Mp8mo_u0^LM_xdbJG09=6OfDWA%%#fDzQqYtC9UnCB_;_YLM^Lp&`Fs-K`u1+Q2b)A-;{bMd?@>D)Oqbex3p6WcF z;D7p~0aKt&ba?!z^uLG3M)$#f-8D_qjsLCO>vu?I)oE+~F8vQ6y4W>=gxF{E_|E0Z zEYsC?lBHKFPK#XR_YR{nixSZFioI7qN{QtU#T;>l^1-jQx=Vj>X?#%0bvwj@s+DW z8D3#1msQ(3POg;|Ozb!pJ4X5)qOq{!ck#SEc^e3Q3F@Qmd@6%Vs&ox9 z%be)w<^<)H$eCSIIRIby4T zV4meW7DYIr{Kw-lA5aIv27$wAa!eGxAw*7OaR2}veHfmYAc=PknNR(#xXb>{QE&C7 zlb20>g(`-w)P3Vu(Q9gqw>~X?Hl_gITp`HcxmY}(*qgInsbjYA4QWok_DmWd6UQWp zfE-|EW?gQC%%;GBYlf=t@6XwQB!Uy!v-z99uD|+Z_j|9#^VEcGlaimJh32Zr3(S*wW5n{fo3j%IKuS4e#L~c z%ZJ`Ufjghke4~ROt-AUQ`RICXAF>pW->5>sJn25Q4v?#pE@fGDp6|wAFz$y~FCAhg z`Y_4}B$7in&3B2(k_}`7)V8s#^fD+heVM z0pneD!r>GY6sH!%YlsAm%bO|Ypp*n031-#-tgbH5b{{FDj!r_~lZD4m4*C{a%Tx zLJdH9yap=}nU{JD8vrkoWDZ!clj3o>7W6lh;pdo7>!^&rd-UW+NWnILZ~1d-*WjN8 zaS4^y>{{P=Ce;iTG>ihzP0&eHmoN1Rs-*~($@5AqA-0HmnsOkCO`L{+r)zr5x(2vF z@wvaDQc?D@8*1dltGhXOW4SHFi08nnJk~ufz(TV~38t*81(H5}67+=m%YM9BtK4>0 z3jHNgP^YJ%Nr+TkTNO2|Eck$#0|j6k;eUeQ<4Cj!9)wC3hNDM`|eguHiAo0_N}*!srOrGM@WD9(y1+$+K5KL|G{0 zf1JM*@eICpyiI0byfi0*{esbRNs8<=4bu`1YBgo4DfRKvZ;7-!BqiRxA6e;!UkZuB zl*{%=RGA;zfl2A0qIfF9k>LW+N}Pj8nl2wvQ|XWX7xc-T&ufo0^M^2o4wV-sl6~FQ z7)$i*=8k>j5XU5?a%x|euRGccR{<4b`UCD|pZCq96nm2wNqH#FN}7P7g;&fnS45~( z5d$<-IX6K9n+vnN!NoJ7xY?hMoIeGPzBaXZ#%j@@xu`!eWmlGWS_sukk9156YCfLG zM@0tB?@?XBx~q9R7n7RhJ#a{CrR36CsA*fZO5a$^fyvlXR315IE<%^SXZDEL{UOI9 zJ%ndQJu=ZJ%hi0%Pl$UuUD4*Ri!jQfruI%C_qr0!C=&nTLZ^AsE8Dn7|!jH#q{ACq!g$XXxTo46Wgm zIl8JE>JvWnFj&9-`8Pfp<>S9wKV@lhD~zRgntuKKS$wQt!aD=WSY`DnN^sHUE2}At z{@l^*7+gGdiy0RsN-ge_Q@)6R4)dF??YlvOjn+r)GNc)E%EBwn<+*}Fib0rSSZ3aW>_UH zQ56mV$TQK=45<2Xtz2Cb7fr8wmUc~DbCf6YW?ML8`%R<-UpmH$8B|N=NRUN2i+x|V zdw)Z=={!;Fc4e#$fg}o+#w2wwR8#HZ!1R(DQ6N&P@&9axyZu8 zgd>OxO}B#Z_>GWgZy)>}UHoOZ{EK3L7LK`K=Ic)~6Wra*YLc0)mwZWo`2LL|%e}+z z>vG(`;B8S6lYfU-Nuw;+5TTQh#)Ooo;Yf^7X&*>QWy=Rmt$gbLsC%|$`Xz9?-t%DE z_|bb|)ioOfi(9K?o_)z?6Z{-ulYfbx#H<=k=)G}VKCWM?70>83J{+yRyH22FUfr4yG&PB z-T#N~rXXf&SwColvw;+Zhu7$AI0%lUOcF{&&__H{u+~)|ClKeh;)}Yz^7Iw@dW)tx z*KK1^ccSI$RhzlH4xkk=OqFlXKx@+-rgd4w`&#WTZyc&cz3Fvl@a1qKY|o)i&5ToI zc}VxN#x@TEf<}WZQMkM&b~2&q+3qHPyNmg_{2V@q8=Cw1a5pPTw`in~TIu6z8?@*X zu|M>4F3bt+@Rt<1xcRd#h^#P5 zy>nI(6G)7V9ekJWS(^YMW@EQ`V~x~4`lE>n=7x?1Z5ia>v`uGgHms+*CQ3AP{&I|# z4hD@+)O4|~)-tQ3t!V0;)7mVWBK9v*mp-NzKYz|3PO-~2PpGn>%BNJpO+QoTm`a+G z0w#QfWK_6*>()Y~5si4Mp+~@DR#z;D0JI)$mhg3dXhX{eAWo=1Tf{O<-K~lVf`w zg`)1ZhjMU}@zb7es>Qj{Je3hoD{&9CQU(t${mCv`IJlEfRE3iafb%XLkiGi*5uX^Cs};N z9VenWSm%4&=<2Y1V#-K9yoUHFzq$b%QXx-TH}kW0#;0G?cp=Z8qYnM07tI;`oX-wV zpm3>M-@V{1=EDykE3sQ|$32GI#5qwAT^2f%uF$@;eb19)&(g*9vEk6sgVNzoiVCIQ z1y=3V8LUP;^Wz&@od#h}<5%>3lp zBA6Lfn}Gl&##jouuHWJgdP-N4wg|Rgo7?5R_fyx`bQ@piIdq@qBXRT!@yNZD=+1G8 zdCO5XEUI4WuX?Jrk3DYLOcQe(^zAcb57!5V`~#Gpw_)o)4SHt8N_cIi40|*cq zq04VSV{fowob8pXC_@hd4T^P18AFnrbzbu)svpjzcq9E6Pd<HHlrj<=r4LyAFWxsXB3tucX$7eG;hvKWRQF`n>=C2b_0=cf8uU zcjmlHW$)ON`{48{cq?=&3XA^nz9@O>s(bz7H;HB<6Jbm)&@;@Z1NrwggGmctRgr~5 z`SaPEo)7%2O1F$5!)E~-Kd`PTl~kotM=ZK&36X#m4EyUX>BqU{B248EI95=a&npY> z%raYDe_o$AuZL`TPut9=S56&Z`LABf_*RAKz~dub4_tbmi^s|)^ZGUKe~WIEtlgvL997@je}FnR%4GxBf|DCTTU1_uvUlI)MIkcu z3sv=DNHHWR{?3hFCWrkY=j3Uyh$SvaS%8O#{UfsX=7W$|(^eNWvPT<9nXWQ2%96Ir znf@lhJT=poiVR@QhC6$mcw{?4%lZ;SW7wq!lP2`K2`(`0miptMxLH+99G&m^Q{qoT z=5LP-1NbUkr}JvBfBuEHzRXYe-rUbF-ESB^Y;vofR^gE{CDsg-a#MCxRJ*yBu#G9T zqre7N{i|u--Q-AB6j@j3CzytMr1NBSLi<76+pio6HPMqY&pa4qJ~n^UxK`=HWlX){ z_3e+mJl^rr`}5*i!;}aObF5PGE-xxMWu+O)oIyseld{1`J}-wD^a)LHYQQ?1 z7TaBQ@HR|ZRGC3_HczT;%L(9Q+7PC<&#)VnFOchEp51CMDn~KQvxNr7)wQD-ZjpSq z{wHk;6RA7}h>}i7r9evh1Hq}+8n@aZ1sl3vZknZ4PVH<%qEtCC?S!N@5Hg4aTg?1O z*KY8i>{SP;q@F(kfg2Xl8-JUN-*oQ@7|$GeG%>`PzQp#sr)NZP)?0tm!V4p3=jNWh z^mvDUFj0n5^>=S2vg8D?F$2gPNyD@qVM=R z=jIP@zEr4*HPIO*g%x?zG~ggb;liBN=a7>J1BnN8A+I{X;4bHP}W(Jg(Z7RvXN z;mm5!N8yFc( z1zFS51r^!*D1S?#lGrJbg7;T+c>0#;0H=5$16PB8HF5_#`#5XN=N!kI|EO+u60dW@d2qZvvU_yS#iyI$ z65;o0qy;yPmJ=DeeR}hpIr1$O2H%eJmHk-!?dP8f5%%$49tXr8BX@5u2}*%DY&nW> zxfCUB62{?9*EuhV2xlttgcEqiT$-QKNPuMna13KRN;jk-GN_Z$XSjXADGps(WeWZW zhzyypXMBi#?R!}>J$N_2jD-~}|KuB2hymhAM94v7GL|u+!d>>&!#nR?S|u=x^;Gsu z^tK|1G#x^Tg=%PAnB|J9Qc?URn;|E0Wb`P{HtfPYRE%fM?GL`ouW0E%-=~`ML)t!+ z4S`63q$wO#aa{MtX6h>KZ*l+&9{QYLupBs{XWmjWON8-)8^3sJN1i08hQD(Y=e9Wt zJ*9;aCp;m%IZK9J-M;GC=D&SB=XLmtvH7;itQdGZU59Xl;}Hrn#gI|z|JqJBoH@4d zjrV6T|L!4NJBRi@rq8fd1RxLPzkrscTqy7bD@M>Vq17jbs4*KiTyHER$M5S{Wl33^ z`>)e?*!8WCv1Ru);jMUk7)YKfOfCf)8E3U4tJiRrUKi@0yFER2a=K>~&ZMpYMy?L( zBowfK2ZihKK7ln*K`#Bni)krhdq9VgKac0z25n2v`Lfqo&Yym?8UHBzhw(rJ0E7(4 zg+mD;@9%!@FDmr*!@kA8b#JmiHR}PY!sBUhTsKEiXFjW+Pop|H0(6^1c4ZVo{@taDCFr1VWC>KelDtJ>pO)1q!CE5CcewmU3I*3wz zKRH~nX9$C+3K+`QkP+Zq%7s@7j_12dIXYp#cE76y}<7 z2p%&>b7p{KIlp01L$jt-wyqWeIni7vhL^!i`4E(#Z7@8-iNi*sX{eTc^}1rALY&DG zO&mD#mSbJHPLBNk?Fd1RkeP63S--}POWjAcssi_4KRDh*9w%gGZDkaoX$%XHa58FJ zdh3+f7V@l3+K}y)1E`SYfEz-=T`R+m7LYO^2SQku&4e>6-NldS>YKaw)Jbxnmy==+ zC!dr{xn{cSPKJNn&>CGmm6X#M+9oyN$$9n2MGd%%8R-omq4+P7U`;%n54uU6JP($r<1G)tF z*GW(&Id%fJm~m#(m}e;gUw%YSO`bQ^dk$`i@rux~)=t9Y-f8WQ$qPjAhLuy0$bluz zEtHFAugD)jRy^N%oXJ^M;Q|1p0-hQoqGZ4VEmks3^y_ES;H}P5eKpU~(E_S?aTVoJ zkTLViHOswHYFB&{0t8+9k>7`_?edC(e8Zc6fX53HyP?_NYtn3^qjLlR32C6Q@a+6U zth~g{nSul}o*i~NdzR+x)PA1+u*dD&4zZzY0>+j_ht;F_WzHxKN`!-BTvcwb`O5cY z>8-eys>01lXkut`g7MYe017aJYY7B(KTq*%zNvnDwT;Mh;ND?0yLuTDmYnfx%W>4> z73)-0DKJ?2<$B%RF?W+rQ+(rBj!A^)n~Zu8bOqrhn~b^gT*-I>Z0(o6PB* zXF6v!?I`Bek%L1DJ=uHh;(Qc2#vK2l)Zr3S;bWcH@4+J`E?1*zkV29t3x97yV$u|IOg`4 z2=G*%FBYG`k-y}n_|D;e%UxTfNM|U=Fle8{( z8(;mGx>J>s%7|*IsvOS7ZS}PDN%Ff_?`wB|`EUBxj>xHM-(ZrzzZ45P^L2s(fElcV zzeYE^7Mw0#bKMq?${z1X^UwUP{Gt9V^a~;AMe$9$!izGLm9FqCFEdya=^|oL7w0ha zGR>)GL^npBQ!Iy}e(P?OCPep;vi`64r{8{@iLt1=t_Smy4~lP^)sE*u?E~=My^fG{ znyqKiA-a2vwpV{2pc$}?sef=;p@haiUdxyymqcMpUQR#t(u4aVbw(12D5ev+_VS#W zL$qHa(rK2cA^3S{dq<5)dDg%%&zrQ1+$dF*Y!PB2LFK;1hb;Wz4FyJE`Ae*nbT zu7B>$gUx>C@3KjO$(auI#}-xXVZ6VVrBcB_un$xuJ@4Kviwof%r{R4y^!AFSHo=?DvJuux0{$He*HxA?k^!B72q_JlB(yt+TOcaF(D!%Pg)DM9>^o;otG{Y@sPtqGozI zc;(lL{{Sr0Tz^-O=nXN`twC$-gfA|(#MjIBLuIc10n8O0KL6_4xb?IIkfpT-9CYb- z=<^v`6LL#0^d3Q+==r0yb=KEZ)M(bLZU#wf>s>M|+#W{cuya69kOJY%VYeSuMkldG z&A;E;9~}KMEWN!}Tzt(~{e89Z*EIQoY*Dc0!z)>|FaUrzmu5>azPB@wV1lQ>I3TQV z(X>c~{E|7Pr>UB#{j$zru$t-Xhz=kY{Aq;L6{je<@u>gRP*>%3;vdTD!QkEFqW+G_ zn<55>1ENYs#=W*%58dqq`V>I{yjW&7!Whyp2uIo-Haf1uUvPXG#IBLeq0b5LX^u3D z@g!J-s~F`)8sX)g2EDq&@z*^CpMbmeES`6*^4v0V?>+N5w2;3q zs5MKwt$!uYg>-0$2>?BD!~}sjVUZxYa0u5~V!*-v(P>q%(`7}5d8Rhulu(&=Mmb%e z4S6mIFI<@kCFUy|wf`YMyXJn|^JFP)YStBfVN7xaB-Pa|sS^%pXHOqLH;HN@MQ2@|!9baBdK0BhI5ROv zZ8#nqiRa~C?DVgiqT@pgm#qP}P7?PuoHrRp0{~aBWpp070s`&?VaCWZ5(SC+GfUVt zt?u)%>Ne>c+7TU)?x#A^X+uc}aS0jX*Umre(}b{Z25tue)l)u2rZTyS2v!N=;sHdM zhhu?qWeY-~p(9egZFM!Abv6A*bB($WOEqR3pl*Ny6=0kO;>oNJPuqi~KEu3QiYKW| zmMf2F1PBD^0FLUQmQoNTMUm;F?6*4cp9zQK`Z}esnx3{V`WkOpVVsIFu~j920Y9R@ z+0-Zf@sq#v!%_D)Lc|F;Rm5R4M7sEtRD^g&X%r@!U++{2gFp`beEKkLy$Y=b8*#;Q zKJ_rXaD=T6fN;t)>tyTm;xpq9DSLwNYyg%bEA!A*XdCv&{>S+d9t0Q^3ySq04lW8X zot-Z>)8l?8tg&bw_ej}kb2NpG=uujRHK)?Mv=+6Hz&^&=UYRU}TVy&;naUd-@~3GN z$&@oPMC>NA5{%CG%VoJZC-uoOOK;oUL$@Ae_1$}GeT3eiAyLg&C}08HAw(EP z+{);T4&3IqduDvg76=2=An*j^kgNs&0PH*Wj#c+CpuXugK%!eTh`(HgOPDAVEsb^; z+xG2o@MYlAV&SX$>$%Yup6?Tb0h!e|aqa8#1%yY$K0!>iuS6KS9c`X{`*d@8bj!YY z5S1iHqEdy_Nq@_)_~GrB7SiUGD|A*|(?t60Exp9VB5VUT!6=^d)2C-$)Z^mrg+Lyo z4bm(`R-^N{j;qqvrIV;^q&|2b7uaHwi&yQ}DC5@a+v_%;kNJQ;37u9*z&NKeE64;2 z?qPOOKpi9Y@)1RhQ$!wjyGeD=m8I!Og>pq7>EUq_laF-_u;B% za5=S^h@ZobReH>}LBYb{y9^_g0R4(QNba}!#xKV#*YQ?j`KhsM|78mjX=Z4C*qW`> zE1oEkQe`JY$??4kWnOH!0MJoGNYx4kZvC_7hWgBG_LdA6o<_6bz)A{v^l?Vvss219 zhcwT9cx}^6;Jgk;P}xTD)t?U)E|FZ#()kg>Yr}+ZB>=!jI&R%y04qL(vz9|ckPRIF z#4=Bgl~c|HLl8lVw}aF@y5fjtkcLDsvk_?>1@VjtSWlaYILGC2XAoB1l!Q6+-9~WW zjZMj^l-ZW655m)Q>9%PUgnnuf0~XX1YA7Qt7jn|PwI0w$@G8vO=_wU{rXyju+^Cq5#lgNQL8fDTy+<=jtj>VGM9G?ULPXM_%!P5v`tK zgy2>ge$^lQdwW$ZF%oGpv4kY@w5aX_5H~*Mlnp>TtC1gHxRoM|xCBSlQ?VdJ9;U)c z!X!wnf&)=h5reWzxt|1qs}pZRUFntaY*R$oRKOI~rNcFwG(5OC6-D*vxcr7@34q2U zt0zq5Vnd41`6mR>J+u*C7}9CnU&S=^?d%CUy=>}v!8A=QC=JQSJC+j7>8O;#t0WOA z01s+xqZFU2BUkS{&X2dV7pW9cq$s=|e26rosuIaJnHJ8bo7O4OO<91OPNOvUchY;W1+dS0X0rZnByp zeq^L-FG{+^Of1jkV(yptK}`#u-`3~L-mhmFWce|(nj^O#=K`Xj?5&t$DIkm8l43eM zcm_|9&cRReG=oE(|Jczh1yTHfsB>I5mh+ZZg3Eh8n_mBA3=!h#Z;?q`^!V1Lt*N@h zQ}duzJv)BZFK}8a+;ywGSY<_B*3z04)%KgOAiT@*J6}`DIt7udcCox%ewoa}rY^Fg zrZ22r8J3B8!uxexoFfJ&>!P&Y0>%to@~SVZv<`haGd195FGL6hhX~y|>`RTwN*jT? z-Zik(3K16dQiwU4y*P#DtcctKLB%ZB zSBw=oE)MV^#yzN-!ywwnZ(O5RS^r0=R~Y_QzHeHR2^G%*M7LMzdYy=3YjRm_+!IP> z@wv7LC09r&uPVBU7F-&T8?Eyyi+ph${Lz%3Dk#%4BVX-4U{g=|%-hyS(9X}=c&2++ zCvy%m?fTcOI`>HY*sUBB*)F?Lu5;n?|RC5s7%gxSoQ^&i!HBUUm*h~;7)u<`g>-%aK;f)=B zoK&LH;~Q;^h~=tDuj6UU-CvX2QC737G+xQY+sdsNDW!Ln1No2p>cSQ~rS1-p_9 zg=(Rd&9hE3x_KX#KJ$E^ZD^w9sC8~rY>Z}rXy?JN{zzkWs|1-zGcD9(-r|UMy3>Z& zLD-f*6YJ@nnBk$sk3o0_KZ)^zz>Pb*ieDpBYQX*tN;z11$pKoPH4 zXe-3LbC__pRC^i6L=LEI9olK3%~`9@dT5y`2SnGiS+Qoz)$(R% z;PWDm{|otM*>FSF?OJ%Vvm7ZEj|d$Be0oVnLt9y8-&1QadBDc>8VUeV$6+$&u)YsN zF10k0JE97ymBNt&unLc695zh!XH5lSUYQ#N4vxbsPw;_6gzACc&-jd7LT;fL4>jWv zc&vdGBnp7%RN%RZ{tPqi|KpQz>WbmCD-nyM0FW6^alfS{z?9DjS1!S}vW(#|_b91@ z#QWWRHdD;ntXgW|17gj(VY>~J_NL2K?fNz(75b@elX43@WmK#m0*<8{bC zJJsCAh=}B^4f({p$4%#jJ1;x#JHmF+wby$ABT|eqC&H5){qioIth09Mw&*YhNAMr_|sHH!#;=oID<8$|2n6X;)v^63pV982{dITtHe(bnxOm z=<7yolhlLlXbc-C;&}H6B}jYGxMX8~y|{Rf_j(yzLt3;d0kpY-P^^QS`c`54;*4mL z)aj&mA6^ZhY{*d5-g1;PzrmwRzH!(z$*_~shraRvM=lamr;_k}HzUoXvA%C$Nn+~< z%)>vq$oDc#3-0OrE@#5{OHQF=rtqgwM%E;BTMH7?BJ%30^06n2YHsgV$|iTP2t1bb1e8;Bmu*7Dg0zB(Bh^ew-HNTLaw4T%An6Rt3m{hG2eQ1Jn3Cbuld59T7`8cHw1k7Fv4 zNANqL`rKEh?CLn`!N>soFaUtu93$=2pIKzp_}^y0N~RKcjE2AWu=x>o3^_qmf)UPX z4dcQCEb!p!kAfWz< zy$g)r&8DbQ4ZL_nQOgHAlWuA)0cllCsu@3|DIQtwH zd76xud?(WLoL2Wq!)O5KdZULN)Ho<&5tHRefYLpOdr zKu<*xE!wwWK#|Ve_^`-ysn#x12cQ}OMQ0;>;rkWc;eNE3?#7Mv6w@L%eRxIpz=(a% z6>ecgibZ%)28@otw-Bn+`%Pxj}wq4n^&)gh3CBg1QW0Wk~`0ovUp2J(yz2 zSn-3>X}T>RXx<`U;HfXO90t`fM=s=h2)l^43Gt!DG+G}ZHVr(h8Y12lb2hF*7oV$o z4)tVRt~g{}Wu@slJBZffSfVEzX`QA?HeHwbl%D!q6$Ne7=DPUlP3F~bkr#_~u(oOZRESH zoNuv>m-AWP1zSCMAPd17CMGIvpT+*9oR*0sao>6A8&uFi3m{1qOj=4M(iZaa(q}Tw zMH<$*ERAZ)`vPJbFNx$(%GUOsedTVpk8GPB-?S0(aJ5xUsjD#yBXi7OIBvXhAX>=PLMo)o6{!b;T}SmutKb6+X}>S^xbOeS?z9en-(YJ zviGP!*VEMeZ{~3RX-A{PPfStU1ct!7KRs=TYH;FzDjjTfG`noJD>h1+#3tw)NE&7?n_F?l6eSr7i zzDiRPwXVpFVy9_A7>|yj#az%;QP1woa{gOsKHI#bZ{?zjaa0(lk_>+2GQ+58w4|BW zw`nS6`=0mT)e5O$8mp8-Wkfj3{r6K@Z};lK{usA)kUH9(S+aMV()AJZ){N;ZHTGOtEmt)Rq0O*Kswz!Qyms@|vff?p zZJ4;4Fy7c8(H@s(lM#ud3v|MwN`HDvU(h*P#{6e-u3jsovhCHB^`>w8HgaCN+uUn6 zCXc#d@2S+q*Q+4on{l2L{iZw=OGuDl;c>trjGvE9(IQFDXFc+8?nAp?TG`qGLddyi zy=W{4lc&Jj?N)eNa5Pb5mxbX{>hMWGQ>m3KgmcbppywQ_kp+c6g{8qOLS-(lyyMJT zrE1Il-o)1&)}Du7R9IHFb$97@-Qv@r7H;yNotdp;Cb~4p|WAp{sNn> z>}q$J52bR%$GYjpOVByudZ8~hB?=)o4qf!O!9_(d3cymeIyyhHUGzUX$IK*2`o|YP zvDcV5EnL@I;e`GD{WmT`ZCrdml(LOcOWq}bii6Qt1=uW6yOaq$W7o ztMk4N%;Vy!#yfS>L9@bQdRT}>Z$}gc`W=GpP2zU7vblK=1$naCmZl1B#@XG)O-Ef_ zB4?M2kqHyl`_!2!LVP_t_H8<61&7k^nd@)fUx$55rH=bf^B!!9QT zWf4FA<+6J;6kMUrOR8qzR@51p(w1ru=P&!Q4l|y!HY&B%D~mq%;j<;rwO8a1@!Z7V z04Orx(I;Co-Dx}+E>-xkT3{)FGtvz0xB1KMg{P<{42+e z$pZCM!~BPbK}P%=SZ_m;%gf_rqcGW?eI{;1i<#?W_BnqwV z;}NuVUKDI?g0H@<8OVyBY?_~(a>_eg6&QO&=AOT$AYD;Mq$2sVyI{{^ZFhuN;M>8t=XtUbiRD4KwwY8%X9isr*qd3yCS^x;g4=Hi z;&l$WzVo$H4lF?nQ@yO4NQOYl{*^QhW&yh6_@tnvk-)@THyc>Oan%{0)Y+T~(js{9 z@^l=R1*a+J{qR_>`yLDIh2fR9W@ohYJyV{TcnJhssQlHS} zK440a0)RL`d>|e^E*|hdwS)InjzC;8JW?>TAig{~6GVW3LP$=V1#U$ttmO&S5ecVa zRS+%xU)6*-&v1VJ{s#zCxc10HUHD;*x<0gq>W`?g4%{V+D2%sRlQWo=Rmu$WLUPB+ zsROczy|VA?N~5`mDt%y-?%(tM_6hNe%Wi#(rvtmVP^Js9Vael3q|SdE;L3&bO1--r0cihU(b+ zec^;{%qerlSL2^NPJi(=t(`W$QCsNwGZ^yuUo$dT>>>8If~m)cTkYDi9QzF~HbU3G z8n<=*8cm~BebdOze7QQZje0~7<$Y*fyBO|q$GOfs#hpJFlSTgjW&-$PJ5{w(HoV0cS7x@dRX0LL%tfXyt^TD zYwZrsr4j^BcdGAwJ@Fsk!gvV(Ud&_6v`_MC(R|F6arL|<{E)Bz>6F?VoT&Mv8S6vG zq=UmgDYIac0-6uXu>n3PP52^2pCx8(L>&Kc_2C2PPnM`|<%k#B5d%6yqmG#zGl!R^ zF5XX*3svW|zGlb#bp6o8d5R)hGu9-ht*3ZbEE+ctZvK2-WiarIaVs;d;yq$JeY zKnkZGsyDM%js0>@N?_$`mzv7X z_{&wASE`K_HZN~&0@C_^f|U=GUqfDjJgkzFxgdTJW23Xo=;40#PECnc3sa2s*3bW% z70dJ8>AUV00ZH;*#%gi{MoBwDQpAEtGIv4Hf>kQ>=(yH?Y)2Y&GQ5D{O~rz<7o_?o zb^4kDnjTfMYiE)tq}!1+e*Na7bS)T=OjVzW>fM`J7vuM}amRx*E>p zarWJgN$UCspfkbOSlTFmlc{p36iol_cp)yp!9cP>gQNF9|K1CBbTTwxQYLA4d~lWc zMr1GE4b$S9hkCqv_7@f?-twUGsg&ONL+b!lt%_zZS+p!ov+v~1EH}1_Ly1}Df zrVy!?QEqhb^80@DWA?L#6BiWTa;RkD@CLQboL7oPUZH1tJOh8|j*Nz*x(p6G_nimu~wA$P661=(#R&a^%eyP}8hgpC}jr%mV zC=hQ%iBhKZ(wne&?c66s?iEpypV+*k)1TwgokJ;DuO~~S*_twFt!C7>4;v#Itx-eo zaxOyk6q8{sLc6b0zjkUoQfl=aUndbG-*^|xTsWM6{re$%{_jkT@iTtcA6n-vL~N7| zBy@*Ro%3+1F%nyE@AqZ<`As$&_F zRu~d3V%m3>)*Y5M&5O^Qv~M%6Uk&8{QO~~j-H*x~oOrI%R4mWoTmzg`*=>l6bcyIv`%AP!O)^w6Pd7CjRrsu-HdgJijXv7* zBg^i1YxUE(wl--va=+ZTX31Ifez-*CGW0~YC|!Knez|tdf-|4BSuJ!QhT0Su}Kh{Blf5fdz4SrN~|Wa702EqC{pVbK~SyO z6{AK8swisrm+$ZOdj5P~ujl=Y`+i^deO>qUJZ6n!LPkGqhl{JLHZ$`veiHtgkfA&;i zeZUDoRtT_5zI{Q!COxk_jO`1%@xTWBkZlaVU2eedn}kz|C|<6g%VP*Nocxg3KibzgY?_}@f;6Z4FhfV} z3SIs~dT{wbaoj06@uev;K(H`5g5GH9+nMF*mZvVbTpYlbUwMI=eotw+nc175Gq8rs- zQo$?8ApeeQhn{WG?LjAe9g)sa1e|eUia+qc!=mPK;5BZzu;udi^miMe@t%*u@>8O- z-a6b}EH#9609U+ubsp?N1M0(&*6Q^jMsZhHK0OB~F3FH0mzj1HW9u5he@9_s@Ibt} zXDrf?{Q=U9ZzMhO={9P^i`KS!#JEVcPB58;01| zl$sBK*j4_syWjedDcwCf-d#2i9Js=%lm?qIBO_k6X616&$y}R3PQ@z$T}zJkfO>dh z4Zlc*;VYki_EL2`L=UWHsw;o}w_UXVh*v^_p1UTiun=93jEHQ)8`PH)(Vit%_6jOl zF}TMP!vqAeB|1*>uwdQU1U+12MjjO_;Jbd`_`?N7{e}%3R}bz$AYr| z=&wn8#R8$G4F8+r|8TI$&tYON-E5MbsSK@%69$vADd%aR!CGPukv>RT(OM1wJP%h<=_Y#L$V=eopXD-1pLbYBRLt-LHsy2^G z+#d`qM4OXGanmTZiT(w&BQ`qwlDHAOYIfC3F%z9a+hy(8c^(9F>(9dQv(>w$!P(U? z&y*0splVYS?tb5RKh)=GQ#zGBgEVhM=63>I%IYr2>S-H)aseAW6H$;RpK4@Zi`PO1 z^NSp^b%?>+(AEinHnuhA>u30stePy3S{r*UQnDdp;1hwiA`&wgD>$-_ACU9aaY*OT zl0<%#*Sc&|T{#18R+?LZEZawFulY#_%goWmDT1|#lbM4xO<0wq^cBXDk6qzRx-)~B z$|jzCAhPc*lu6JkVaT8}E}61e&`uV3CbKUDN`<0!JY_F!pKgi^;e(H`sSln zImf$lyVBTefRowJ-htI0*wuZR^DyDfIOh3R_P%i^k0SMxD}1o;Q1xXeEEh3{5&TPw z6IX?!c5fCQI4q$hLtx*7Zrebq`GRNMxVM$#Y@5kDP}5fFn^aY+1JNpZIl_~7-0f0< zAF*B8n_%CV#hmWZIlOI|<$cBRiqt}STSN$VNFcjhv4m`=7}yZ0`lmFx&E&j{5S3<) zCNZgRbRLEMmzYVvuI-S!g^%jSwLUqObE7>b4S-IffRL?lscZ^hq(x$1O7ODrX5eU2 z5NoVbMwb#PD^n@Swmq?Z7E*5_{ZX)PrbVx$JBhiA`&5b`#s{!x%f|{o+8`2Ppyl2=H88Lm*jd+bnW*qf?5Z+6vdKN?TpaCAj{Zgv9?pJ( zk=?VdSEWu7lwII1u7aV;hWerraQ$Zkh)OvZ zgDUoi62SD0gPU8a_2Eg$-g4YTC~Mw|tcF(vf6L8>D5)`{|8)w#SJo)sQJk&SeUNKo zP{gdT#5LMcJrZLuW2?Q>9$tW}b^f|L1K|1+m>xG7IGsn28XZrw15`D|SyY+WqS-SG z(V=({cW%wLu-~R9@xT;Oe+v5O<=WdMoPI7xVBWaO7&Cpv@QUm0@ry$4$UJ2pMvk#; z#RaCNcF!2{kp{uhFv2PO&RyC_GJ>63M-}qXWwj6Ym?m}-J_GV}p=^aClQSn9kLD8; z0Bi+t8d1*=O=^&B8wqK6_APXye-;*%+aQ^Of2frxP@1T4WKI-GN~Sbf7D=p`xY=ZV z`+-ef_x--9)ABvDyLpvxPXvL?5c#4Xl+CACdnz)dg$-@KLfJ>Tjod8JN_HC!30cT1 z=8d}JLT>QZdMs)BwCoS79`w9kM8Qh#R7VxhLu5c z^gFxft|RWm6A5`-=dOSZm_8Mod^w^i)`(V6TR>*!5mhvK$;%D$Z_?7g7LcwMW|n4hzARS>J44-@Wf z@xmCTqiA`Dbncb%3h;;M09?KJ@`=X9ywqwFKVumf0t1;ZvAIMF0ai(x>@M%6t=;IT z8c?=fuZslqYd0ff(W!-f=fkj2>1P=U&5P4cNESJU;O92%TLgU|FKN;?6s+;Ew^B8a zk?zBaWItEugroLfXu*F8(n>_X=QgaX*cH&9vU?Uf9bCyXaO zNBlT7q{V&0zsU_B`3ed}icuL>SGXLiCLOeN9k$_8eGu|zc^OL}y$`)+P%-x=v? z8T8N!HFQOyj>4YqB6PGhR2_16_S6Pte&6zvQtO>v*1;W-IqzuydU9;8&R4RAkjvWg zo`jeszPA#40pK^ALG_R%(4*$r!>^th>%D1QCvhLP9!_zuFo18b;5*S}wo@;o1|MjQ1>8+t*R$co%(t z@TEfiBb-U8?>s<=Cg$9ZF4~q%QpdS6g;P#ZUvaVlsa=m?;llcVNg5Xv*wA8 z%6`o&N@8N*VIB}ovnHCo{iSE^Rq^j^kzr<%geY;gcUfDt$f5g(kRgfX$^AWDmD~i} z)9M_dobu|FNVJ$25U&tw_a!D+&(UKmV(~`~pF`iNIme{JW@Znv&2mBabqTw2B6s_H zo<}!j0!})1&)D@XD{6&Yr`z5X4K58$L*Zrq2-cS)<6XYwFM=jNkb&_Cs~WBmg(l) zV^LQ2jg^=4Bk5k|`Wk1W*w->o1mOc&Xxw}DuKcVK65B>vC{W|Xd$1gFnVpsi@nhJI*3 z5AW)w-4ibzQC#@@)+?PBos24kST%)ODA@t4IYYhLZi|dI&+n2B?;KzxFIb20`Zb(e zfg%F}^|A+xSKEKFz4IkGZXud(;|TSZZpbVM!g6$mrXeTT4*i->V;I^i1PAB}ht#^s zxgqQrtst?WvChO6gb;uhOfZ(tR1>{Lp-FtOuM@3((P&QylrGap5Yt3nn;4_E{Jl1A z_LsGv;o?9+QEUe>1tTAzmVxvItJJedYjFv(J=a9t#YZO>o|HmQ&)3Q!z=v*|=U`H} zG+v#-8mH-kna>j~dhA0F*TNvpo0luiDigD@hRAx0zfErbOQ7U#_S!iCv69w3n0foO zlvl|)wA0o_Rq?7G$a5!feoBtySj!#(`TuKEdqNPjdM4jShvl?*S;T215s;;Z6f>)$ z4|C;du+v=apR7u3s5vsM)rEd88d82===A)FR)rMw_2B!?UDnug6swEfrf}!-fQx%w z8o=&BIz&8GL99+7jVn(!`G-Iqo|v!jL_9@+l>`2%IVm&Va3oo^WWu`W9uo8dotmVn zUFOnRy~Ho6td-U~^XS{vk1_vl`-gD^{=arR@FsPo`zf<^{C~n~LR0VYSWs%Y&IX7r z${}Ux!0XPIXcmzXwV`$qbs3$dVS<1k@sC+uyxzuePpUAl_r@%`d_&SWAHVubC_h4) zQzDcgJAMB6u|IKBdQY-ew24q3*vm#l6Rv9c^Bamp4V^Tn+2=(Vw* z7VF(avSv(O%Aa%hP_u>SPcgxVi#MjVsrsxU5bVa8kY1(!1?pL*dE&RUmgejQmx>53 z??z^z0;v2=LwS_mp-l+D?25_x5$Dl-gnk4wv)es{qtOTawTnjJ>^ z)}2A}SL+>4?ci9)q7pt>4vx9uogN%bwvNR+*PLPTc8oRoVR%CZW9JjrHrKtsYx}{- z1`GT}&PIP9D-%nUjB8#Lv+EfU?~~KKy!kedUdXE?T?H-N4pI}#Dky}$V0j>KLzpjo z@WDRkvEz8^DUdK^>}QP_-5kRn>AYbsHy{QUrV2pw+d=%D72Ue^M#W#G0DMM{5bWhJ zzNV)%l}<0qy~;e!I#t26qLgDAaflrp$0Ope6p-O4s~T4mNno0}E|yElq^N8lQ^+D? z$DXR#G-U>g(La!Jeb9sQGoD|Q-N`_QOIlst`2?biQW7(E-HhWpyoD`rv=sL|CoLs@ zSsZEER}l_%4tN*%PCTc)WR#v5x=BW3XkhBU?X1!O73|X^Jlu-!NOpn2 zT`W=`W0!%+cK;>OktH)Hn<-YQ9H`1RsjS`vIOW7#6Um~^K8V^1uD#&cBZ%gG2 zi;B34(!4a{^bj2B``wp3)||bCRQL=f8l<#FX zKo@R!1K;@llznfxJ#Qd@m9lV-N7_KlS4@F7sRIzjopR3hF=A{a`Hf}_28n<}mvG5Nn9=PDo{^eIC_#At z3Ab+oPYau$GF;g7K&>T02DF#P=`){d?nbZI!1HGmi`_Yg;V7;3;DeOjx4@#v7smF! z(+$+84)TeN^i*%@`4#$tR^>#o+3H_^5`+XIIH#X$eNf7ahaO%-%&PRs-Fl`zGV+#w z25r6uWS4>z9>Rk^F?EQ|vCS8wh*czB1IlCop4h7&2RI6EAiy8UZF*8OUBd8!f%$}P zM31fGT`UE5g3ipJM&~!VI|oZu6RUULpZXy+0RPqT3k9U=jXK%D_^>|F%~W^n7w4O@vwr zBp!+_vAnKQBP|_((Z$IYRsWzKWAbXOXF~05%mqKlb!HE4SS;aEq}=ekH->dAxYZBN zmX1bnUK%MqNJbML8d>tN)`cpm4`dbt))l^?fuFEK_jBe6$q~=LXw^|gevK9y1Jm$I zE21OjqB{EM<8>-{$TZZz4!cegtgKk$4%K=59M(Q0E^?A-2&Ic zCx^MYb-vD?P->^;Iet1awRZNn2i@86^~eT}W}>IG4KyEgLD4_kNLuv~-DG>tyqbN)Hwl!2z9V(cXHSWSn=$Are-pHVw;rb+EmCCsLr>%a3r@E;a-;#a(d+^YB@kn)X_wsH67R z3i}j)?3Yu>m;v()qM-X18&x;s$ZyAiv$wxW(6}WI5FiA<&_6PPRB!r;kpjlNHxj&H zX{Do14R*7!`c=x@nAFnkS+X5sAyi_oB%4$!tk6swbkf@&*KGdzx_O6VdYHqXBfN`~ za*--{GT%^Z$1k~O@Y(?-Qk?TZOgD|VMW8@UZ)8N+I zM=csN9AnOBOk!CkWur4DPXDO@R)9Jql?&f^;}M+&5RZJgKpNESwV>Jg5~o` zV2FGmxU^lw*zV)X$PvVM<%{z{-!n_WD!bdSCYOhyW$+#^efx0G_XE=3c>cubir4{O z?#b)=Df659DUFNP=`KFtL3qkRc=EKj{6~pYHaUd2ix^l4I`HLQ3VT+ial6-a_`}`= zM5f;_ur7rS2=e=O?|mJQOph7~g8WmERo~~YLA6nGXBox1MpxOi))pOJ$c#5X5k@A& zKHx$r&pedy&#q(TmqYh^0|@-t#1!|RKQ>VRQ7s{*JZ7rSoW<0&CYt4w^$Pg*dh%)y zpHhdc1kxgX7vK$>K}>0F;^Qu9`u3TR=n_T!U_D|E41AkB(pIgVct1)OsD@K^Wn%1p zgp?rZWgJi<{q^(F_C})Vhtk3hU9{8d{_;z{yG$1ubV;}ivkO1|o9dU6ulLkZx(=u- z4SnnxQt-?-XP{O4{au&?cXyPGgM4?ak2-|;_bqsIPwYkOZIgPi!(hYOgbx{-axgQQ zQk;lFSX2=1J}@UVfV#1Rnxa{HAB(p$`GG#Xa*Ft23xiDG(EveaDNFR|G>rp-ip$!| zu^x{OKHag{*Y^w+&>xFpBJY7rqPZQEA~EJOa)>mIn;r`GovzFfmYCv(uLYu52O-G` z8iD|=IDh~tm6;O#r%;EO0a@r;Xn8H+GZiiI=NG{)_pRHwiFG;u?8@-OlIhOMs}#u_ zxRl`OkF6-KNR4Nfe^EQx<4YAHcqkpXpdgDhUvrOSA33QH+tGso6~Av;gv&bZX;P2N zZ{i^plXg_d@rC?_*#X-npie6S8T(-97w15}3!-X321c;@I@%Q1q%}yk(@tmNC^~Q{ zNuD~E9$d$#t{<-= z`nEsaW?MO3c)|#BYEIG{G(0W-3|1dh=cyjKk{orS7YT7pQI#SmJQ&{5>B{b$WYqb< zr}N=9mv~c{%OeOGA>eg?20xx`JCubOC8jlG6&cy=+wVyl=IG6A?uF5`5l0%$Ivp(Y zROs(pc|0us{f1|N2GYy1a}NDYXTXAeDv!WlEvV`)Iqtl*XV&F;;Wtd$=V*1?q-(Q- zHvaG0@BO%A-?41xdWAxcZK12hkS>if>kN}jorHW3vjKSEd`fBL*-$xiS1GWsQRT$~QV8^s4mk8Vke1Sh1t zTinY^wroHT3wcdd)c{Fsx<)tcd9;}(Rqxc7kFLP9Qd~XvlvOwakL(RqHcF6eI(JgK zSMV!py6v=Pa!Pjmxz@mEn(q`J-)maqgL>w12|eO+yELVq8UA1sXXH@T;g@QZ zU$^?^-tSv<$&+iXgP1j$@8?CKDup&3Qx!KE(}!-<=;G?lV;OtqjU+n2LP{_~iO)Lx zBI!8GsvLXbX26MBO)ne`*Viu=T_-(M$=r)hD}`5-q|N)L5sh2_Ef7e|%D7t$R05Z6 z>~uH>*QP7*ag;mc9!wpToZIk&e_<#YB58iZ&&zAtOqrtS(YiQ9+uf`b0I?<2PcykR zJM{A9&zO_$rno>$u};HR!KrFL%4z%ddt@79l`(X%vqU>N@p< zS)JaoHd}N^b`n+F#pR`B0X7~Ij!+PIlUS*lhPG%VO_^zW_bY2#bN{O*=xMr8R)aW zNoLIwBVRnz64P=SaAzq^GknH#_p7(I$2|JW2AJw*I~phm?bm8**f-5U3SROq3=7eC zQn6=r2V3LN>B+=1ceaS9*CMju-7D6t?}cLp&opJr48+q~J93I!oq`rg>Ckh12X>7< zsZ)R`dfszz^ToKvXT3c*>j_&9wfJ3bNaS$B_Iw@Cc>nK1?mVy;rHN~_<_JHDWW&mX zB;;7NS?b~`G+l^g#uRIWp|kUr4=$}dU^MGxySD#CPtjTwX1UgA`R#<4GP6vR z8xY=T6e5N92c7N-DfO%36+ik8^%2!&`kaw2zi%CEX#5xxm0@yjWz9h*eb(O(1xt)Y zqBRyJ@ccSm#kd~nV({He^fX6Z4zUD|Vm+8=eD>*18zTs*SskqC#QFsxgGrMNOo z7==zqsTpZ%oiFa}ZlY+;UsH>jEc`1n-gaHT=GZdZ@u9<`cd|fr#6qT8g9?8}qZ~fR ze!GH4t{7!Z6;C^KM|NlCbME@ek0OVOlHa!y1b^R}b^0O7n!VqZywcpD}hTS44R0C>C*4 zn&48~fhMDSHJ|b#aR5!{_)ZZ013D>09 z?tj26?qJDpmEox&kE;m{^Bwwyb7&RXG!1P>3Sl z%X}mC9bir?RIo?WPWzu81y#2PSt3OnTQ%(Pn?=rfJ0Vl5I!go1twG=FGRYtBSXO6s z@br{Ma3Au7Df{ckzjv?ffh(u;l8JI>9s^5SM%`j9rPJ@Ege5kjp9AUd-t{%|)*vND zHnS~=K-C4l)VwNs>!xw)1n1-5{_(3xatppl2auW*|3@2-9wQ)zaQfxs;95)x)IJAR zRlz^)<;fw>DVSD%4q6j^H(%&&8^yL|3O|+hE3jh|O53-5O_Oh8Fe>g>yA!Bux_;O)(d{Bns=10ZcS!%mh*tqU)W3qGV>e{rilrM= ze6*xjnp&m#KH4w1+jj74X%j)XH}K}`;X|o-f`)F!X)x8PV&IwqTRa`DWpJ4(T=kgg z)OmBwS>PspE4Dj_&gH%G#JsLlqvn5;H_@8%qvwmFz9h?7+~CW+HPfT;)~h1bKEVbc z#nSB@2scK;20Iz5ZJ4U@>(jHFPb`=Xd5mQmWwNy44W`B!EDFMk2I^58v!1>FE7`}N z5H6vg$F8af4=Il$}m}vj&Ouq-kNz_o+pLu5~bT zl#qSKbV%-Qzf5_oqx6jl#_MlDUmVmx+v9%E!ko8x@Tu!d#motu2J4-^&*ztOLr$H$ z{x@L3@#H^0vB-x?WerOky1>6xxtPn%A2R*ipE{OQlBnnLB*AwC_P-Z@+4xK}SM@+e_=Ww!d$AX!lPI&^BmT5BMnA#S4<1-UrXJ zzEENd?(xA-MeZlp!rUI8O}}FiZ0Sz#m|o|4@0G4x)cR;n-7&r3!0IeNvK>=?)=FYQ0q#>@|tSV@8iS)TeQPBOMFMhjEWaluLqrO{@h_3ugg=iRI zzW19j6E3=X90oRY$rd_c3r*bApMTr*<43`1scO?HLxeT8?!%x?rd!>^+@Af7n6idp zO9_J(lu!>U zNfLG?H+M~P;`h6F-IW8$NG z-W;KrvNZ@*fFy%!72HAndp4GdDCul>qc6g~Cs0a0NYXdOw(d!}MX=D)XjGNfOI`Jf z9l_EuD-#Iv=C~-?{_Hj9n*N7pU+wSaqzGB&)DBQ6Ho9P4W}Pwzjd^qo#tR@Jy{R`KyaJ$N`he! zyGj@B`x?N_#pz{}fBn;;oE1JfFuFJMvru=bG58CZDNa9zu50BZ-Me&r+zhW5yWpw? z%+7kd$5C#zM&3s1y3nrFVhBOOkd>eP+l7tdB}oJXUS(dW-JcHf3DtZn_JYmnM;=r4 zS-xX;vCz0|2k^R7==||02*&M|GxpkSP(vc+5r;UftS0s>|GwpBc$wUIJgEbT^ynvF zGq7H)bWzett!s}FJ~Ic@Le>(K%q)YHpzXMf=G8iwSD`4>luPucBrScAu~>tNpY!TXcKs9nR(51rnsDf7 zkH;fZ_fI!kNhWimC-2#XeF`knJ5#RM(|}PCQQ7lT9j&zY@b#iPnn_v1#yzjex8BGe ztC?k*0&twa3t`xfrO4wZ)Z90y_V7SeZ) z0}iM7s}J#K)C>Res?R{1m@>-Xm9*%9#e>gvud}}|@!qaBXgSz0_U~Bnaw`f?byI%2 zlS~-e7s zj}Hdz>%2i-FK3#tR>Gn%t4wsEZGxmbn%9oWVbN9&=Ch+6JSq>d`+(rxWPB*QV^$aX zOI!IEXXei0!~ERHC+Li0d^gaCA=om6uPW$kJ6Xxd3C;6 z;Y}N-2Re72W>uf4N*zsf{Lk99p>%F3R5{izn{RsaL;MhVaEQ9Ec*8^q(F@NNi!IsT zV*Q$*@3ReVnmN@#D$l5e%iEH%Pr`(=8FoQPb-e(K)r5W3O+hG!MOAecnA^aUEGy(S z_O_uw(utz=Yuo(LTPXN_%$=->uJj%W(cUV;eDVD=+sNiw;gdeVV$d36)hc<)ct4mi zPuw9kx7JBV?(V!3c5lADzXDPShBjVubYT0Z&UKS-bjpr0Ox@FNr#LzLlV+9cpJv*o zoN%e~0UKQ8OfDqM~||OHNuTH?mI^z}0z%l-V>r030+IZesi7zU3{&c)~7JcLjYRs3VhY{w^e;8&Nt zQ&R`*F?r1)N4oKag9OHE;Na# z#m+#)!efrZJS>Nz8|Vo9tTpQ$7k|Jsx_1S@bi2H5d+3!TnWdA)DYsbz}re~x=i`ks@A?Wrf-s=*Aq z{kjl;6;Na|83IjzYu`6N^o&VOhNs&PDUl6toiGFg?tIRAGbkVSv2aNHJB}2UvJ$IL z%P2RF-_)yiayu@@?aC4@E==Q>FdB6tf1PD;Rx&;)e)v_@7fxV*akql07_oWmH_@hGk{NK`-rex(EF8NmB>7>*S#;HQjp0c!Y9r^E=trDwnPJT3ih7 zkt0{WEk@Wql(W4(#lvAR{AVUpQb1p0o|S91{eAmFt7vKT`yuTtm1DcU503H~H=hz~ zf8QeNSaElxVx})Z)o)kP)81d}Vi<9=-E3uIye`ZS9V~^sCmkhtaA9 zacF?!Q(KMi_CZz?|e3ds1iOzXPDLyR^VgG##;4$Dm zMQQ48CEPCz;-qI&5+$umPvULU(^3AbbqqVEN6}K|Cr{{?^Hl!KnycPX18{W`bo>yJ z4!&$Z<`axf#)-P5XJ5NbQAwXIZ9Vq14x%9t6VUk>2-bc7C_o_)^JYHLdS6`z^Q0Is zVHo|R-E=vl&!wWvg&AdguyO&ev%*k%iB4al)!U#b!A^qo4-l)BzDTs3n&K>)pc`p0A8Flbt2Z1hbP2mFxd2UrAtr@q+2$#CQcm#1I*C8+mX)`vE^W)`<1zzs>Iv4g%>E?p~+8wLR z;YboGj`h%~^{<~_jkBse*bjNp4Eudc%c%)?Rmf=jK2moFa_{`eq|LKoL92SI!CcdI zol-fI-eY{W4}sKIug%b);IF5LZwSpZX>f^`L@H_yOe8gK4V*z>y)AY+QlXMVDs&Gm zB^9I{__{@o19aP^ZtXQf&ytwgy>v1!HY4Baoj`_0K1ZmSM)PA?*tny&y8H5y0@8uDX9&V3N>rJ^R7)A zYD_PxwbJl|sc-?kSi>;tcTyfbOyPr5rtN~B`xZfYCI%v8i0wa}zB7BkY?%*E?WwrE_8B1G(w9c7B# z-wQtaC0hv>i3->#?CP5$Z>^a6rUG%b@jSXq zTJEc6N|$ujETD@Ve12v(O#ph?;r{j2_Apk8zw<_77@&jCRMto{%&i4MnfjISx~fNZQQ)Gh zC3Qwsen^V7wk>fHp^W%_tAPL1#p=qFi!M@0(!d`-_tbw^uL3&RP)#j#WQ~iTFH}ZT z%l;x8Vw+$CUlAv2<9?ET=1rvu$M{vy-%C5pg?LQPk#m00ACF>W(#M+;t59j>nB=p_ zx4qcD0ZV_X*p(7`W=u3%L27v+al0+x3X>`Z)&cy!wW@Tw;Nbm%6njs}Ysm0AHNsh= z(?Z@C+cFDjqp;U1o4kdipA!K^*&!x4<&Y=;v}{ApFzN?<~Z%#qdW(1YLax8y*G zE`>V^E)~J=t@-P4Yoa>|Yp6QK-?v)JX69a{nw8>sA92clG4oom+O~|`*j48D=bX13k)lNTGm-+r(s)a_pNKLui{e3HW678p;bFI07 zQ~sk@miYVDdZCCDjDPxBbGyWY;n_w@s&zEvJO4nY)CbeA6gh?C(rh{g{TFw9prMJx zrC%Pf%BpyG&}3mo;*NI$>PYG+GXj73L?Xr4o<-|vb=F5F+;A1UJG^>JLrdUs%vzp^ zK#K6c!-Zq}$n^92m1So&*we#zV6N-J42pd;KjZL?P0G!Hvf;Hpz{v`Gne#I3MSk%; zYB6a{nz@%bcVu8VYvEv73^Z|vw&DD~C1$v*E>yKU?Pr|vf35C9bZ4<)s!8$W&Ix_N z0en070Ccob!?ua{d1#*zH*o{Oip%vnT#?;wHXr^wbOOEW!*%9Z25cK+xiC!6tJ%go_~6{a zztsJghD4HLN~8L}$Z|&7AF7^((-0yK1wjsr4+ZVY>O?nvj#gpPEsc%4 zkgmS2TZG(>%{Ut02{?QzbT1EHQ;=>@BuBmhsXQWt4Mqq5VJ1|-(=KwK-$36alM0Y2& z%y$U`L=lgJaQZ;!2sxG*$PFW|jkXSz4wsTC+INNmKIUq=ieE^IY~HqKxO&vx!6Gi3 zVY;z!c>3w}PK8iNcz8I0=~XLU{~}ps@a@=A_M(t#L$A5jQFp_J2a*h#FL?LI#_6O9W5PLKHQp}*h!%+!iTJ;otA-NwO~zAZcrw1z zYH&c}TfLjCtdY_}J6{9ZXqZ~7uh9%{9lUX!;;XLnD@QVn2M?J=cRf2TW~y78-LlT0 z5({}(?uT7oa>xmxtWx#YXn=K4zeuPLh>{|S^^I(THyfqxia-QaZPgI2Bj+EhBEzTh z;vYq@>EtkV(W+g-%N95FFkZFBWaH%lJLXZ{`Zo)sN2<7q8-0PGQx1v!QsY3%zs}wk zRZ+eOI6B{C_^&DMUmg~9#$V5s*>D5ci(YDBi(a7~+3wAddCdS2-En7U)cyKsHiMa^ z1|f$NwnAEd5ilo4wIJbbMs&uRhmL|zf*}TMu3j<5Qus>UY%llhaQ74rCmgveCu!r* zt8pvM@F*#zif{X+=7XbHi}Eh)&hcE(qiHdVrPei7dyv7T1a;!nO}V##cOMd-axOuT z9d1!!_5j|VfcS2H+jsh5M^4Z9-}#q0A7@o{mW=r9EvVBGk34Z?s{)82#^L?P7Z!-nKZuy!^8rdFSg!4z}#+ z%bs&oQ8GPfKIyQqC0zfI9&y!eKG^$t!GWi$jG~R+O##fFf3miPm$Byhk21}($Wm=} zUR+cw&*Y75;io0Ug8jaA*&hMNG-Ke$L+sP3esb_CHcV23iQ>z1u;q+I@`~AdbGxLx zv|!vXPCBF=zW$OyjJJpQDStWSv3h?A^i&}3EkRp3gaC|7Wx*;N2XA}2dBYomL%3~A zkh59o^j-g+*;X|Yo$3iI^NtQ<&kSXsY01*x*`)UgRWH+&oY0nT172dxS#?1dsj;^4 zi0Q}4!Ut$6d8jN>w zHD$iaVE0=aY9jr_y!`YQy|3!(6u1uChdk*Mx`=Zih3FOyehnh!wU17`!qIxlV>hXD_T*-Y0wSW+k?N6g*EA(_qQj&lJ}Dzuz2|ut|Df!HD;-0;M)DlO ziKUOEk-QT_i*yf4vF)G+MZE%5aFLYO`1@86AE5PmJOre^Rd;0lIqdAa3JCFLkdOrhk^2e)eiJYKzqrU8$ zYg$Y9c|~?CZsuGq7H4TnYOLBg1jU$gRBaZinUa1!yDFA@_U&8rF>x9sxuN_~uXuKG zPqOuj{XMoCWikEHb2?GH(Mcuev}unv880kGbyMCM+(|E~MoQXuF2u@^av^xhpr+yZ zRgmOkWsKa=x6b_1NJ#m7=#w`zxcz^C>*ICe<^pXjV%A5FJ56UY*b!KMoQ0F z`Ojxh*;c*DSbTffsb5eIk_8|A<9i9x@bw+zeS6QQG|wAzD!Js;yj`ds;58tPSgAXh%%;oP5ahbqzIS$uS`!xX_8%E_i4bfz1%FHWq2nuxO}_5BG{l^9p7Ege z0UO2GWt}44wn0-6%1bD*#c}3n!_-jF{t&Y!Xv?E>glHh>W^R)*|nyN-K)*(&DGp5g`bpZ`_3YN#f+7VJNhz?kWxqF2NBXH5|^x2KsFD*ghM@^&LxE!9$`C7@MY!=$+agE8bw$2VVM*fSRP`1KwZdXH4%uI{Bcj)4NP?EXc%9ZCegTx9gcRy^(!9 zoVo1f-khXOpr<5R#%|rnNfU|Yrzic76*RuHEB{w32631|%>C|@u_F_QXj}}T&G-nz zx7ytb{SVxDJzyGII@_p5Y(S%9#)JVAqxjcEce(vVW}u{e+awDgQ{jGmV$kSmsd?YL z`_q*O)qR1+AJ<|{gnHghCs6-Tj!zXEf{*WN<%a*-+1;^6;UC7@@%byrg|66h;in$h zHP>ERqlPT7J($@Y2llDCc5JOz3vq(Pc^ZwtOWa~6i-5byNV@RE7SE@!#pvX1!YP~X z{sPcUU+^E#jvir;*f#`uILV6#`rta6{kuz+ouJ^?RV#aV=zt1zS^npj@Tz#j-GgRc*U- z5PZqFUR_b^+Cm{`}3n4A3T&3v)kP|Afpa!(c>Fy7ji+W?orq4_EB#hWWWOD5k6 zbNq!;gyNnPlF*;zyr&SlBSa!oxL4c70*43i@X?^r$ z|0SH^yveQloWj%39d=&S(>XS4yf>y(v(IhA4FNkoIm#3~WS*Q%L5FylAH1Gmk&tMv zSi0FZa#>=YD%$#eZWVm7e*SUUPIUT@6i;IdxJ?Qq&CUOwr*gtX87cuu&?Fw)%hcho zv2Midzan=l<}ZxTstc-8$4m#kXzZ=dHo50cC0CmMu*BZp7O^!`Z+G(#n^T#Kor%de zDb-g!2`XKGU+Em(`vCuA*A{EZ-@d}zVpr&KkA1U$m$Kg9qaOq{eC0sA%WU12jxdKw zI00&Y}cr1lxOe$4<76yW~y%$Y?kz zWg+n$J@wA;^E+2glm$mK1=KTmn2+EKEjO{IrK70$-k&$~xDor1QyF*eqY`$~`Vm#g z?><{!Z2mixO8n>D1HMnjm!vN@>c)=ES$s7LW(VDQU4O%>QwtGl&^dnt1`8RB)fu$f zG8KdOGh=8S0l{H@uW?r7!~&vN_mY~p_`c!_OH|dIXx-(%ucpZNiU;!VOHbyl>&kR= z7PG%M9Z1SbWCU}ki5F}A&g zcE@YAVJ~8JIr-vlTPtf0kFt>Z5&is;CAQ3T$wc@5U%iu21d(ylfiH&tq`C-IA zJNL?EZsj5|KQcchLa68PbJQX5VE^sZiGS`i3VkwvRqzv^+%9ZAa^=D{3SfPyZ_(B?-#Z1JvwXp;zSI%&5*S|N{ z{7?hDt>)Jh$BpayWssh*c;~xL&F}sIJZ&bVXgLJWF#bMlfRI{*zsB$C0PjnZFcBZI^V>z*%%_qcWW0U($QJX?Nd5nCxnI&&L(d{795irujd5Uwc;aaFS&`<;3+r z%BvjEN{9C9h&EB(I|8lPP`!wgZfJr!nK5A)W(-i}o}j0SG42G5HoQNPJz3YK9Pkm0 zT&+fJv3?M^#@6#$KqaN)$5~;=q+Z%Eqd511LRv3o0)L^z?6r^)6De@O?}6a$dZHS* zDG8r*R|h+~NR=Cx@o^DiN*_{`w6ru?$Md8n+YztunICjasFjlrjyNT$O2_F5o~?*- zvd>s9ik#$egmSIbpj9HK8s*17Vc%phkW(WQiOPTn#Q}0jSBKSE6oBHjzFND!z#LG$ zMS27wX~`^apWH8Uo8ecgK-rIR`7E-l&pHnIdFoMc9mX zNtX;i*d7yBouY`){`{1#1sZPAvSOt=^5XZPZNqrC_dZu0m4roKpvI^g%v7dCl@@6b zahhpKEI3!bqc_CsHxQ*;nnA{aK+E#YFx#MKD)vg8kIqGpa1uDGdw%+_f`H^@L{HvCbmSIs$?fRn3#y}EfO8einb!&zziV%eq&s^odFh(dKCy|m2 zh14ew&8j9GtsW%!SrU-D0J0^}ZB#1>fg<S5guVvNg{T{`tW9D5nC1$w{1Sq0#OweEpFMWN~f>2#lK`UXIHUR0-4cB@WY@ zdzf3@YFl&t=Ap352Rqe3A4u%+IG#F4!A)C{6n}6D?dZXovr$NPO?dLj}X6u|2 za@)RfP-df=tlu$_yGSWn?Ndn%4Qp-g7pE1dZ)Vz;d7&#jry)=LRYssP7Y2qdI~u0{EF9Set5RZj)|OZ$3?wpAPt&;0Zj zk57qnh~p7*se*NN##2;a;MKP$%@4E$((~`0E)UX~@I0-^xq0tf_OSB2pUschsyP=?NL}o zEO23p5&d6NGTwA9)@=YGl07s8j9U(tE`iQxIq2yWzrlw0(Hf&s!u^Vf_f62vj=lQm zPn^ExmEY|T0xA%N^~=bh3+F&5^{qmE_MLA7lzAPox{kF+=p2Aqg>V}x?^h-OzQ>~u z8(Hu zT%A^|+%bkZneR(CsXR}q-Rv4fawDRJGSlmpEw~<$VZN7Y{a!+g%e>|Q_qn-mLLD3O?vwj+VRzY- zK3d`NXy9m1SSDZZw%IdjLQ!Qk9oMu&(QnP=#cq|yMa@~dM5ro@SOQ$u4<#7xqk8(P zv0hs$sHUGz=1fPVp{Ef16DWBZgIiuedk)dpc58O1P>dpKYm~K17jY~%wrTC9zlCwt zOev-7aq;as@>wwv>kT0%PI2UiMfv0;A%bm@{o}24Ir4UQgO( zg&xX1*}rq0%}(v{yD5f|1#EQH&AZ^eg^bNIT(XJ#BvB~anHKbYolLS&mVo7Q^6vi zQP|x>MUPRWuus)pJlMMX-S?PxU~m$$?9#8Os^H+@l;2z*YraFEQIOZuOaSvGi4fJo zT)1~?tVOc28r^Tj@%koYI7)CLS2ZGRIdwyyx2i3BL9JvEF@aZMlBaFOYm^)ladnapn6EU+8yC%6 z24mz6EmN3L)uiuY-Y^T86randWWL@IXF)34AG%#>kJ+OtnBG5>j$=7sU~^anYPK?0 zVCZ#2v+BN=!{aT@CFixw$Q>K~XmbGb5we0Xq0e`d6&~A#4GP{n(fIUQPbFI2#i?cJ zqSD|n@1O{715Q`12KUa;vl3LUafv-xXPI>++vDd_Lp5x{md{EQl7L~}`-#)5JvRE4%hx|dB25vaA**+%o2av@j=E=C0!fgas0(mMd4AOEx%e)XA zpgE5T*T;IB&U4fmYU+Ger^4eqZ?htmAn!(Ykk3*2MfWNO6T(7MAHstYedNB<`2Y^p z$TuDx+vw^CF~tAmJs6m^hqAd6@Z1)m?*yW?QC{VN{Gio z?HN4zUoLj`u(?5bSDZ;#~&a=}LA-}u883-q{ZUCycF7M(^d^k|pi8r1b# zb98#oQ;}&qSI77s>$!0a1M-F1X9VyGJ7TR~_N`pCbkyPM5R3e#0q!-Aaq&_T*~lsv z+Hrf?bJfh6RO}Bqp>?md-1t=fd@S?t9GOi@FweiZ{DQISzYpy*ySZ}13=#2*5`<;x zgUET)_pxM=tO4hmye%4m0vx9KpE|ofcU?Ze_O`KoJ%RV(%-;!Z^uj@+mkmN#;V5Pm zSM}4K6OXzY5)bGD&PsN|5}ntST+JGC^uf}~GoIJ~ydwW1MuIX_i|G0{ymT_M;cZ6G zx~`wYII-mQ!K~&Mu3+CAr&q9B*4`g`R~qtTV`Is8TzZ)wC@llGmd(Dk^2Ru?998bW zk`g(-&@&!9w9!t{QT0bmzwvXeX$KZ5dD3tRGuiQN)$-viDl;~6mo$O}zwc+**V4j- zU6p%r#qEMhE`h95cI9MZQF`n0+k7vT`ObTyF95#JHVa~vIawi_y2>f(R_Sa}!kU$4 z01}^**nYLlQA<={jhsXk{f1!K39eS7t8-ifnRM;$r^}7}z%pPE)U6dNH^2(E2Cvt? zeY9)Z>e93=bfxw@;as&+Ip5DgFO9PKX<-#H63-A>i#L&-;ayziWdi>%+MQMhq{449 zs`vOMSjD#jDts~f2f$ZNW^@7&-OcgxnD#;=nt% z`U~6oRqP`fLh@%?C2FF=!^da65P0Vew$~-tb>Cql>72t=jGoYP;fvR%06mOVhN zIl2Pwb(KzYKQc6?uZn~ooxoBPBRx6uMJbUIsuWWKBdxy5y^` zru@!QfaC4Y_$V>uEe2Jj7_G7WhPT9Do*K;>$f*P4-JWuH(o{14*mmtH%EDVuw#9Mq zG%{!Enl@96rbdM2OE(-Z^8GK=E-<4iNgZU~N>vC(4K*EBjVRbq=DIbQkoUW+P`fmi zt*`xI?)6kqaLPCn9LNPwm6+|v4d;h3KUvWI*r(&dB_-`Zbw4ZEGOiLhh|* zoy)34eMm6+aIlBEK+oVFqFmZx`@8LN(HayQzlKO1jKEwFueuzR2#+xYPO>>A1#&{7 z-AiRLbkya^-NP$4^T;1-HOvl~C<-Uysn?sABf!E@pL^H@7Z}29Iegq_jyzCqgL?iX z#l`1fziL~-C7|V?s9(;M$jfdQDWAwDVROQnzZbu|17d=trFO)yDVF(LLhBe zVuiXvRmu6(5&o}irjwq&BoZ?_JGx<=W>g3z(mNEU5AvestosIgC~NlXmj?^~zFcYC zMMf<8-h2_;c2)J6b`JCOj_S+VJAD)!OGrtd&z1g0-%-b(t2&$6ucWqGVt3>q{5Iy- zL>@LSe9=MO;Lb0HFdg@@>cFC#1%^XZ`-5y`5s#n|W6-5v*_9S)=LGdIAl=f~?}BNe zs_e(FAYXKQsr(#rfTlUGi@%b&!v$yiIe!Kkvt+GD9&|)~KyVExZ9ghwFBMy-&f0I7 zR9MQ(SbfbU?cE{&(~~`J@VMdK-glnqI#=Fb7bTxJfxSYVg^ADM+ls0(dg|oH7~UcB z&>NbdQH5VHgmkBeOZl;&Z4G?`VV*A2%s=p#M?)FDu{2x8=?t{ zneMk1D&y&9%~tKS zKN*ep4NI^G3ddkxn#)n|fU?@rY_)D~`Hqi1cHHdvaOJA0^su5USaFz|I^jM~_FT7e zD@D21771~_Iv4Fm<4%?fJ!ZyZA)^t`O}r+43j8X=B@Be#E#9wd#Ts1Z#?~f|gMYC7 zVgR!XX5*=i_wlhz-h^ZXHS%TT3xfNN*|n{Dwwcyv=A+u|OuP!%PWbl`!MxI62esc$ zFm?-fWSDE3aII9(-a*c0jM_RCY^TcXPL>TkDwgCD=qV4J!la-JoJbGFhhSe z`1@-N8!|A~f%Us`RxkSRkfW99K#%MZ>Hw_%FQR>eIpCCjspXC2CxD_FEdt9FCs)Rz zg}CWAACsx_!?KESO;I<$TRgb!g2c^>$dEi4f((V@tb-Z~59Cg!J)X|0BErSlidD!=dY~k}worgaAFVt?io}Oc z^rXA}HBz;2OhPE=@uQ|Hx)TdUpMoZ+@W2_HrK8pR;!+?xdW$H&OI( z@eQaM64=wxntPTXB-cZuC|l1!h)1Eu*jwjJ9-EPJqOu0fg_dRCqKFIMQgOxk^l{V@ z;Ss`$#03^vR#fs-nlY0@%?E$dh<4qu^5eI$3Yy)@3!R$&+h#Q0qYoH6#;;u%m$2}l zpW-&+79e;-wJY+;MK#E}K{U?|B_!bSHs%2?n#zT09qJ z0CFNj64{}>%aJo5kGkMt&5PAAvFg<^2inOM5e-Z4QWTdX3!wD?mnLh|F&f^P zFGv3HMg5`V+!fA)qH0-iu+v1Xf|!=$DZH`L839F@1Z5&%ZIjza9$9O`ho8$y!ZF+D zayYSGr2KO>?BRzwm6!vtD zwJM<(UJXJ^E1f-gb&;0(7wo`g;tui;!MGanS}lqMB?YMkGndu1x9!jFSBJoSeNFE0 zQgS{Us4BUJ=bgrD$;w=Lf_ovSCN4^2I^P;PuxQx3XsIbQimgTC^x$8HtAAP88e~PL zFr=Duq@u#)o(3lI^5NQ|uUyW7InzjRt@ZLh1@S(C)R1Sg&(|@aR=VcscFzofCsV-4 z!xl6*8LbNpZzfmF-_#rgaBfH#|3so)m@eJS*oe#4V?G@gd1GsdDivHp2{80pkC9?J zLeE?K8xI_#WQ}peRj2@F+&2eWO`XwnP@LAFR7u;8!QXIPJtq3 z$ab#HRbKNrm_>U|OJ$6j_=!?Ht!g5icu#QsigKZxIRuCJPsYHmdY2+=Ty|}MoFeB8 z(E5m=BWWn&z3z!=bDlV9yTFv>EMfpeqqXz{+hC~8Y$b)C@9aXk~?LUKCL3whVOWi&!3w6KbxV6C#^?6y{}6HN$X zU9^9*&TW!&Dy{6$Y2z#{5MTMeSzrD^cJYv*3E<;)nTm>ca4YhCX`zSvrd(Z)OT;E4Qn`P&=RVVIx*#{_fB=pob4gbcTlu$7=mZa$XJn zT(^T3Vb#duNumkQ`Pfqi>aHND&JkMJ3ihH9yKeojyI2@pQC;b+I1ZnuHv_fM+?{3lrBCg-J??3Se;G;2P)4H^{| zJT&3j9eu>zEnc-qc@QV-5eOtiO0NlRvS2huf7YX+kha>mn^5Oj`*Zp%4p`y3wC&4S zc~mx!46yF!I*eEk_r4@c5eSFL#9tsV%{HcV3VFD|W>*JA^b( zeV4$E<(K2AAST}zt4TjUuz_DidC74`N z${1IcpkNYkWw&~`UA90$y;WEkYj$#Z(7}@wGZGTYt$cIcdh~`!&TRm*P!`(?Ie%RJ zzUAK@0ZqQynTN1Spxu69S$H^Ea6Ld-7y(t0)u+7z7s#q7$;s{s*GVv{!{qQej$09{ z)d$lf2UH!CpHaDbqC`YUlHnTj;L=pS0+v!SBuz7bt6(DJP*7d{q_H*%h4S{Tj}KCG zfrk4eOx-#|3NF6=u15LRMGP$Gif)}QQ0pCu$h3sOqhvL%hhI%_^@^q*zH#_5=&XvT zF3O!gW<`_T%C6@|{cQwlfra}t5)CJh2RZOH^OG{{+@R`Z(!i2f#urdcaP z&OJky!o*wE$?ZpE4j~R0{E9}xybW6NAEvdb7rq%k`n$tXN~)6_NAH|I%Ea#|q#Ep- zi8x=##4*T~=L#rNb7ilh{236KoKLKk`Kicb{$lE>uzZ1twVRQz0L0AF8!{t<&{vQR zfbMC9Mr9iNMGa#&(1E1`ReBOS+V26z_H>T!1AN%$Tmq*=?9$h0hnZE;Fvb~q9mf4Ukknye{^`LSx_ed0H_bj0 zuOy@`WQ94scd}|P^w6<@Jli|P$*weKu?rdm@;jDo!0HsvhWD*92>NV4VaU)!3_Z`mz&-iT1C+Wll>cj-p#p54vbb0!q7mp)kza4Q&> z;p3)}IqYUgrz%Eh$Vf1YLvL^&3-yZXuJPbNlD!fyaLWRsvJ~eu0Ab)((P$(Akh(1 z5OVgG>6V5Xb<)|OzqZ7fLi+$WHQ3J5sw?7|_20+U)OxO8RHV;q6np)O`iUI8oqyFA z{bkC$M%if~l0^WrCL?;$8M5|f<^0>#{X;jm`6?5YE;n{wlFVSSdRu<*s82H{Xa|*V z<;tnLXjtNLlF$%RA=puIyU<0&f-y~;)@Gi9#xr+vdS^*}pJ~+$Bc?@wZ;Zm6X5F~s zt!f9qw!jH5gJak6E=Tcy`FYhn+ndO)%Y?`GQCXu&Q%O(|qdQ3CrHga2^Q9W=8yM|6 zk0_lKYX%5a{*5yE97ax{wfuCtf$A{#=(gKQ&l8@dp`9U54(ylO=!=#sV>Of%TX~jK znV5eWK&9SBb(zrkUpiRI8hXT*C~ZKKp^+D>K@=vy|FY4WsygaW^9dHfZ!OK9%-g7v zFc-K@KeczTni5biV+GL*A+rY$B+6^<+<>BO!zyHv*9=jf(WoD>yDNs2-lOhhwlinb zc_svz@k`Y0;R^D;!Hjlueeq>=#0kOO1fmm!lI!InuSnp`>EI%@H3YAo<()p_ml(>0 zF(#^P4vo9*5uzli6K9i`whYFKx3}ZhRAa zmcpZr`VzrQDCs-g;(XPoEHI@BC5pS<5ji!*HP}r!bADL4y}DX&8XzsZ(5$T;1>1+0 z6&ux51Uo;gOgr|}nUtRs*+bo)r7i2Eq!|fyw|nOjfjLStxC?x)SCf9c;o6S_Z_fE; zS#jD?oDq%iX^z63>0xf`q`J$`9z%}orBlYRtxQ73McY_4$gVyd6G9apqYZOks(Chi zCVB-u<2`L{{Xq$mdU^ODe4xfJ2@SosGq;AP_N-xnj45)jE{q=5H~bJu`4(;{MR%hj zNi;-f(RIchAqKr}NA+pWQ2aM&P~jXsJkLLG#=liVfcHguC2`Igf*y{Bs~G{0K~)Z6 zj#XD*axL8EcZV+&R=G|Hi!w1brnh(Ewkc`3U#gcM8{T;WubW!jiA7^>e29VxPt-$I zXnG-27a61SN!@K^==@me35Qs4GH1yF9nz#v)z)}d?tl#NN49|A<%kK?Fc;U;09JrT zS~uPri_j)7)G$G@5U-Z(fo~;-!zDd8Z4<|MbB>D=QgJ1ZXgS=az>Gat;i~|)RcZGl;l}k3hyb}3g#}%q^^Oc9BdX+V`Bc7K9 zvieR{T&Mig1;HVNq$BjzL> zlsHB0UdY|demRv%@e^(f*sD2(GRg}FB)l#$L`wR#9^JLMdw#sT7X@8xc4vt~@+MY` z?gTPB&$^ts@p(I=l6c<_DhJwr1Zl*ze%jn?1FFsn2=6AVXmsc9=I^hjn}bx&fFtb$ zcjmWit6?n}SctIsi2_a)FE>1Dml)!rL0I$!Pi9ekPHb6LFo@JTtxIf-^>EuX51rCA zOQK)mOj1t5Ivx$tk3@TDa2_gv0!%sSl|@$>i!Hs_Ta5uOb)H{iRTlJHU63pr9L23# zXu;-K=Lnj@b1ajwdz*+~2A5|G8;f#(Eru&nVAlHBbS-(=iE8)d{(>dyczkFlDP9#8DBl z0y9K>{k|9DgFuJk>wWlb=(oSl^zOG7r@z-r-1p2!mABER1sPmK|D|A!@qhDh=4r|H zXlpMSUu!#_S?`n~?PvZ^rvmK$_FYnhxuWpQ{jECrnIncFN1c{sQ}sL?u44_gdX-F_ zdeMI233A#I>7g0+`7Q^omc_6vRqmxsh3l$bdzX$i{!{+=*sW6zfBH%~4}?cz6mLf3 zS#xL5YoA#qX@_-3(7NOic|uW^TA2e#n6tXp2Fq(e3GQV|6DRg@hV5RObg5@np@etS zUN*X9T}cd6(jnCzg^;g;k0v}UQD%*0u1_>l15OLh>u|#P=qrYrJD_jhqkA(rx~@Iw zja&R>+hE_Vn#&$dFt1@>WItWV#ONAkm}c1@bFY@!PUNt z!GMHTitvEY_41Rc+3fFG_MnrtE+-bHs#SvsEUfpBfT&KaRxg2ESS^qXC2!75VAVvr zWRaUtncu%mr_PwwM1fENHrWSkTQAHdcaF z(?g@6j{_xi4VCo4^Tl|DyEjfUf6>0C#A*Y9K?wK+rvY>3B&=7?N<0idWlh<&_XPE* zZo`{sgU~78tX7*!KqN0wP>?h`ORiN}4bmoMgMGq`2J9VbBEHtkD;O}c=^ z?~|F9dP`9?>fL@<_Y&^`CJuEYQksp2$zJS=x0Q{RZ^`9+wdGIEn_oHbwZo#VUa4Wu zFsffa#*d)zwpF7o-clOCGKISnb5fr8Va^rdB3cT(!_|B4yLNMmQ6q|w8n0;-Ep}1z zj{K2aParwYKB-{2C<=O9G*m=d51sUBhRmH=*KVyPy05!@90ze|C^trG!}l5>o;a$K z`Wklh9qo*2$ZYl@q`N_Oj!;j0`@(}G1 z&`sn(34)|mFA8CioD1Z+j7|vc`+e8hNG6W%BudnEfQu3jr+*+aZ<4J);?CfC^X8Iz zC7p-c$p5U<<7Hi9wznNp+-Dnn_Te=k)&x=zquD@wHv!5za65 zYK*Groj(4qOqj^oBEQ4@hFH_>0s6dw(3kk}fGLC48JLbS&&w#_FVxgsAf0}Z)4yaK zp`c$6$pbl|aLrA}t@OQ+SDXr)-RWgU-0u7ct@Q5g-I(;6Y7FvrxR)8YDblWj?=qq> zamo_@gum>qzNbA;V(*raCs?QNc2B~TO@pS|S( zu_Y)Xoo&=l<#tH+ihMWUO%ezkSvNgAUqoRO1*x>J4|`n;s{ts;dv6)4 zlQ1eZJ=l&WB*06-ZWhb(I;+2QxkQeb_xcssfHy8(Qv3XH&iTC@HLfTRDvWfZHJAZe z=fWC~G#l$mx5hDq=~@37hZQAh&NMjRl<8Ko(qUv-gX1IHDb;Sud(4^tLS|`CQO~ZX zKiQwJvWz_unpxGbOx&dH_wSy}OjTuP$I;USl{72XhkwT}hIxAE_{0Ce2qXW=7{5*X zqgu81=SS-gMf-_W{8*z@8)Odf+;x{ZWXYXG57fNUO1FLhgS($liRa1gxl3v~O$t+c zj{;dt5MmhnjgB;Qp1L8ZJ`8%s`z!a#LQ4lwF<q098dI`dP1~%b7#jmMIKqE2i>|X5Q~Wo_kqTwqo~AUpoOXf!y9T)lBV~t-{GwYbmdqRdaF1R? zE%(%Y2?^CQlg0+`CR##`^gW&t~uA;0r&sl z4SmE84Jj?$ltBalf@VnFV?o9XcV?Ur6~5tgeW`(S=@xe-KV0GA*((X%jKY2Py?lAn zvEl-gNQIi2A^KnFtA%&u>7`a2C}1a|wci$+7>elf*QHHcaB$~*;0p!eBI0jbd~<29)}u}GLq}`Ihd2ixL>NG&wv~HH;k_V8 z-Rh1wj7Lg`)){xpxqHn4tst44*h9R5Tm>d15Sjw%m1t`1tapw&gW5%fUE3$S+~6Yc zQZ0&yJj-@?JFE^+=g@j{glF(dgNJui3zj|gKd02@I7UiH`HNJ!-m7T6t2q60{Nv8f zg*Vid54(htv7wfu+Yz-g10Qx6so8m%w@?=DhztS-FGwe%F45kw<(vX z`=nPeV-BicI|m7EJu=j6Syd(H-GCmzoDY*o1khBu>`5$n?- zhlUX&(7CNXz_I6(-#Grse^4TGVu|+i2Kz7goH-5AVq?0MC41ls;(USi)R0rXfI#-@;O#m zZLHnaIk&i;AAdGgn9rf`LU>bkXouQHd|JJsI$sMV9@kRfY zeja#QvAX>P*$i$FcQ)qn?QsZTwCGWp!U`F26Somk#?%Z`I}kqpvr=t)T$Lo!&Fhsn z3NxEe7)=&6GV!|ACMz$WvB10zqb(=CVH3GqB!jw#r*!T~w_fYejVg@i{;ob8?>sr^ zvKzN9>pPT%yEV)LFdV9tdqYleRTJPmvSf31OVdF4z&InQaGwoB-T@tATYm0;GU(w` zAL~csKLQolsxXMm#4+A0yo1Xtn&Kn0zaQ5{|@Jp&(eHfrmUYALi>E7Gpa$&_3thUGQ9Z)m`5Km1!6K9TB^wmKqO zzwGjXS0O^q}oV{Qt~>j?@0^?9IQDm?wXLsKwi;X@|C7=;v6QQ*2xl9 zs% ziGM0w92%*-w3&7o`XMTBeyh~M1w!p4{nLMpcWk|@an5CCw}k=81@;aLH7sis{t(E@ zYzG~EF|bAfH(S+x`a}NO(oy39vnGHtF(e}@2lp(UICob3oG74xj7Oc|Z2;A5u3>Cc z@p3JB9fV~$ab#uptddZM?@aKXLr33W*$n{|99rMQww$xvHa%JO#FqBX14 zeb@;Lm|>4eY|_DgFtVYGPSh`mlCx1h!iI1rTz${vZlm14E0JRg?}t5l2*CKFqO0eT zdKs5`PE*IX#mh7BjGhK3dMRF2sjw{3uzL19ka5&a9&k7#I@cvCCX`2+AMe4AY z)#uE<>@hU{E&QeUh|S!N3&UHsAs-TI?hiF2>sf!FM)l6_s2st}M*C?48n;+~RC`C% zV4VQL6Z}Zp>UJ^CI}owcW3N*K(ca^hX=ly>W9!ypW&X_Ucl)#QVIMi!u6F$}w9miT zldU|t?EhpKSEP^EBPTX$RsZ3LxnKWiqv2&GCYhn-D(70a!S2~RI-N8@_gu+JfUxiD z!;4ElPyt5acv?&IJ?}MEeH5WsJC>DqR0u^)Qbzr)jTCrK*3m?k$bzz#IMzm3+gM8L zKNz03Z!0r-you~yL#%}qZ<|_$&MRn^!{ASy7%@@l$XCIiZ>pMt^)Z)SHDY&Z2x*Rk z1uE&5mC%QN<0?7}KpFZLUnQu6&>{bJ4uL>y##R1FW`dKMrw(0;dz&*J|NfsoR~x9? zbzVi@>~{3gTl3y+(NV^giY(qUl2?!?Vj_Vz0PyN(NfXB&MycM7?iSe8qA4|PCJi74 zT)IOe4&Lf7CjuUtR+@Ax^z$+~p=t1+j2)8~`#5WIOE$-Y^lmlOs1{!3RV(>H1j*i`ssHKnGx6|z#BlqLPb%Swu*7n+kk%^GKGm zq^CDJ;^tr?M4LfU>JHWEUHxKt#HS5I6yNpn z&9(NSX7kBjcT(w3xMi}oR-%juqvYbF1uS&bu+fw^@vCh5V{5J$m3U>LqIxsn=XuP* z00K96iE-)@c|^3RH}_$yi?Zg^@#c@4HzRq* zP$jQn{`sM+Fy_)8YM+PApc4Ks&me|OCv{){!^H>)lhGBmk~;E)Ed809dJ47MvR?{V z_d*2>MCukKqYm}}W%hz&?b3;Lu*?ubs@-4|Pr*Y0jQ-SDNuoA9!lmLbkSXPngu@8i zK_AKwLSBG0T$Bi|lqx8gwf7mVZmD=}t9N(%k$~6IXBjI8CDgw&ow!p+>~AnqWGqF+ z%~=`Y`0|%xpi|oqCg#^LcX)gRyS3j_4jX;PAJ41XB^SJ+(F8ncrms*Y7bY~k%D8!Y zI`vxW0K)U-k{nL~3{__Z!*WEFh2OabTrt-n!q|0%Q$Fr{SawIHrF71SaMi8g&IDh8%+HWmm;Ucj!&{I{wxlv4l&{ ze!lPXGeUf6_{aHLb;;D)9+YaX4mowi`sMrukBxkz4wK@d9#pqtVefX8=m*~!S+}09UAZ=K(e#ukRkFV) z3!=?qu2e@Ab)`a<6Y47ciKDVdh^2Gw__`PF#{CE!z z>z-k7a^HPNi;Ts~)}QMNH)|;m>PGnU!_e{KOY%1U` zP?m6=?Il*3f3ErnJ`|XE!oZN%i#?VddHtEztWX&o2*(~<{`LW+jv9qh*kl&+vr{S7 zQDMXu4h=e7WV;o?kU&V1{k9V+vefIiCdgr-SM;WO2GeN9qRzyZIw@1p{=%~SbVZW{ z=k1nlID{a;EAS60R6CTIdU2mVwPRCits-BUYc^30IPRm0@9lij)!EJn+Fh+!W2o|Q z<}IKOx(g)74|#}Wb7tq}ji=}268(~f;U{Rpx2Jp)-s)U#4Iifhxvj* z#f!@Zi@;y;S*Ps7?TUEIE&)Z6g#>=tty2Q1&RrSbz%qXq~D^RJu*<` z>TH@#3jxmkyj%6UF8>o+gxq*Nej$_G3-we-^W+OQwl(}^OvVR&@)2zFICXu}oR7fz zM*Y?^gC+4<%S&>SO!2?4br!N8uF5%Iq+I0Zy_lZ-EGuJ$Qs{RQI(W6lvqhzqP3;*t z`>v8isEh0cmMi;1wx%();r{Zt&Sf5?l;rO#zJj6s#1EHl56Y|MN~gR3^}_r1E_T1{ zI;Epsk5K8f`(2We#_^k@EKuIMJ-J8IVJlg>1P+I*CvsqzGqAT1X=Sgv1!ZiA^HB)G z%Xgso6rlG0i)c*=x2~oj{;XoQM>MK+#_?m$PncQlC0}%6-b5T8CQ#bzpL6+F4B#pW zh5R0fyIJ?5+o3&v?NUm1VrrwPWrD>8v%U%_C~Tl5DtLVHa)z4|GqL+MS90taG|_)e zVR7gRputy*-}Ya;A1XkLRJ}A z!)@Fe)=Kz|#1RHF-LlSq9k(G{>*~@YVBLyYZjO(5MYU_E02`M-cKND)v=D*r+Qhw> z5NDDqf$^uS2R5MV-&!cni%q&V1=yd~i_5`2c=C>)fVseNwUaHjB%u1)nO_DE7S{>R z8DHYLc#`e&X#&hTx|(hEjJYq%fO9W4BNCIB-1Zu;gP`JM-|gqJ6QpMi?N>W5Lh zwaGMVZqbkE$F%K?ksQ$Ety&J`U^=)i(~`v+J=uOo*UhAD)Dd9|xRbwl$!$(7kUR*b z>Gr{TJ*pGK#BjN`d_&4f+!&3&a!E&dJMLew30jDcbGN5eng>8O&j50klku35?vW=H z&Mms8CQS~YNoJzk1PI45y(!V@a-2Hd&pnPecGH@~9=lG3WVsQTz(#-9kTH2L;w zBHr|y`fLb|N)KH;v5*U_k$!7jJfaU@RE&U0-?Uvq%bNzn{csxljr_L#7~XGfA>Gq` z!OVf(?OX@t6{;1APC8PZ1rNG--3pBF!2N_|Haq?YPe#4`k>KPMzqzc!rnuro7F zB!e}6-1Leci0oXm6o_ zBihsKbtLC!sn)+9F`cq+rJjn|CtD1o1LQgXF&#?T=r8zZG6*IxT`nPKcjU<^SgIGP z1(f~DawAaQe^Qd`M7Hx2e9Kg(&C-DbIJsVxA{RL79ceAfS)rh78Ki=eIWVFdkL+C_ zq%z?$MZdmiq~G@YZmweMA@?Yr=I-=LMW$OAySM~5<$hSifa4f#BQ%@G{7Q-n%t6Je zc8P<4_BFvZ>lGrRD4|wi3#-&ACv`k`U6_mQ^oBY_^e2Do4D7vQ{)-jajFS#A?lVo& zsXT`Hz>l>D@)d%+(Bf10a>;v1F&PACXRayK`(69!>CUEZoozsG#tWd|5zz1Ji4K18 za^J@^vo8864bI5=wz)H@Tn?D;*L5DA(lioUPn#ivN`QS)S@xN+6F!$yUzbw50clO2 zb?+Z+PKw1+8)J2+CIeT_OTio`HR+IntU0k)WrQ(>#4GK}Z;(7W4RyZZmyKUg#M}+L zGJRdq&rmIX`MGn{1@(QD8^P;ohPhA6qg8&BQ|b=!((|$2h%SDk_g0bUAd~##?b3=~ z_U3w;uxJ3!z4#IS;2GJZ@y2VzZ&8$xp9dq|*z1z?;?6l>@JwBG{hI66_HOQkBF1=Asx170UqU88# zGUh^ESQcBIT7s&kkNc!Vz6!YS%|b!~zQ9q{2rZqzDAy*3&rE+t^C3e;b?FY&jt+H% z?qm^D1PT?=`(0+4^TL=>&RZ?b#L22J8&=jLhinJRRQ?Ga#~UY(9qvY^=sikzef@iD zN-uQFw0_3xtDQ!HfTCDeavfSPKLz}}mYSjh4K4AZo%#u>CY;p}92_2^ggt**1n#~; zY6M*E7@Xq`&36Mdc*`e0@(Mkybz_;lE*WlZ+MAY|Z;Dz606I4Ac- zQkH5($o@mY)Z0%@2OuUmNeY`U%bnYf9$^KI$}KgqKi;5l@IYZp1BhzUKCio-nx z$+4K^G6bw!eD_<^66w*JPKOd+L`nc;Pmdn0^L4K)&g&gK*Pu#hv>RaRdm2f7@yN(M z4mv0zC$?0;4`t5qbgxUO6CJln$!zx<%oK2Qmswg{U5HGGC;YaM`MS{BTA!g|oydRD z^iCfOk%J|gzIFntIvXI6#@%w-qLYb~N06;DX|}M4VSnpvbnj8jh(})bZ2~IB z@@1N?&K1p&sX;`Gttl_;xzExL=Nx9_H)wXXS=3T^pVD&ov~OdbAt#QTo^OB z?r7{3+`Gx*^)Ws%CTI!6>y#2CBi>Ix>--G)s*T$mi*H@xjx~T!mfGw&bOsB-Cg9ut z_&FYW#N04fw53Y~^Wu8@f+PaOOVy^hlA(~)(ROw9UKr~ zOc%mYzxT5>t9HBe`81<~7vA#bi z;J%(++-pyL;$K+Yd0$+F`Cd;YcimyG>j~s|&p?c@m0Hf$Rf~M*Bn4$^9NELoeT)i; zpnWY_-6B%LiVoyg0_Y)K<3rY&A{PIcgvyO%8~qKxxlv?sH{OsoxpglaKhL1HC&d0( zd5C~)ySMNiY zRGUUOVng;?{3#<%n{$y4?MWBlNiyL@2Rv?$6|NRsZlWSLGdyeDpj7uOp%zerHt>>9 z>+a`=PI+fg+>H>jObIWMMK#4|q9^}OBxw)Z*ov>ELun}W>91vJq+K_<{uxtKgEc8_ z-^*ZvILTCuYXXO(=%fBI#q3Ax?86cmRCHS~Ow9O`%zZXBnA~D#r>YFBy5+~aeLCF{ zM;N6C){>{2U;SfxIyFD&5koAz#2r7u$uI8k0H8*L8xNjFv+S2zPK&5pYKF23UdRUX zQgF?u;yfq!XYyJJ`;&_&yDaVU_>0vPuykNB!k106lvH0%E-Q?dJ~NoqPN6ftybtNH zg@;0is;+Zfr%I0Ze0RKOdFXRoajLUmzw@bI0g~Dla_VUq`G5iM^ADyQu>t4gWbQQm z%FEQW3}e3k)>{nQ1LSGa_b5B-@x}AZl5k*_3u>7RJ!9oydS{);NAz}T6q7rl*RD=k z{kLKg5@(H7cJbi`fF_PCMRUkR2AXrps{>6qD8V(aal$Ak8au69HGoUhkA!c=$Qm$S ztNSX>-Yw+%8(4E`;$l?yyswVSUr6yZJs@BS%hE``IOLS}OM2$yIk9lD7PE&}SbBTW@SWrXuLHloet&VK zDf%HNt|85Wc^zK=l!8A%YtEPJ+AO2&emv12Nh0a^60=L=2x*s~bf4I$9nAL^L*P8N z7el7uTAuH?S*30_)=?rz&n%VJpzg|tDHlqk%4CBneo0!K@_Nd~G(ct}0jA_t4;}Q2MIc%zm_kub{ zoW_F>K1N92d_)RsaqoA(@8z7FBh;ScNLE1buY_ESj)!o-1WjAC-}Vsp8T7TxE2HVP zrYU(rlCGYuDGkH}1cL)#g)~`VnL`o?1D98);|HzsRn5 zb@^*N(Vh+J>`%xB@YGhsImi=8-6E!qfqThZ7}nLT{FB2LpU5oz$?y0m&B@G4FCQ*% z)R2Pe9AXX*YoEo7d>7&2{Ib84)BFs3IMlKa#zsdg4FBe9s zjy1gVXmy^Mrc>ve1KtDC6!n!Z(tWlY{%XTBdgg7<%8rPJnO@hAVb*0+N&f zR-x5XAFPQ|jwKSt+bYuDl!8uj_0&j-)Uq%SvDs8m_V1H#Q|8E3cNgi#t9=k7zy&)I zL+DuinF+zON1wK?gz^6t?3y6?I~dC!E3}SyubMD6lO>>1#?&r|Uo^{{oydHlkLGa+_NHQ6 z-%rB2ozW^jV)0&&LGEATB&8pB}an4~hxWReqElkS73jc1pTAZOxd$WBYrQ*dn zy!-l2ZFpmMR|+?8=GzyadKj?YWqlefL%Oaf?VJAieI0r()gA0m-(dD6)6zj z5o;h_p7Y-34kn!9imzKFu2^X5rhJ*uk+$kYwrAaOys=-xf%CBM6l4FxS3wnK&fvPs z7Hj24@RG%uO(eQnskbG%G(s4#8P~Yeq@u z{ut$c(@LWPXJQ5t&SAj-uYxQzJ8d93{zl=GJX|V6Y};!s(ma$lgo##>saqr4o7ZoC zJ^3WkCyr9@w-613kOvtW7pmL{OS5TMqeq=b=EPM7htvUR<^a9q2G+~cw>%WMhGD|) z#VD7FkLYlLz70$Rtw$h{b}sXv9Xob*c}0#dmwF8ZWXN6B$rne3dW%N+J5z3H=AqKS zV^*5Yl4AxVCQ*IoC~#;oFE%L_K{!_nYtyxQ>)_bl(9n3?5Ji6eW-32mdDL1Cc<$Up zCI=ziy0(ZTcyF1zQErX${Pk444)^jmD7Js$gXdvo&f?{ z7&d9~i}6QSZH0(WW3_+t6t`CDGwc_FSzotHqTVWeype=4()Kbmu8z6AXi6l+LH5eH z6hEs^tx(oBVWa1oJxvJxC|rw{*VRT&GeL%H^Q~_3O?<`Opg0+gh#uG*It>f)ohIz3 zmcy{>F0@J&Cr8p!bs1W2GF_VPGtT(iRHYzF^d*Gk-w?W!AxhvBsqLD%0wKt#$y(wQ z$~Pvsbg5M8;NA*l@YNK>y`Sy_+qc);r1?71FBjWoWrT3L>vw40_rO=y!}AhR&s#Q8 zt5ZFFINaRTh=|6ByMA#{9qCJ17NTAs`w>`5vvOKyj%X065ylYU`P4(zlu{S8!kYwE zv2$6Squ9W#D(%kI*YDYJej5m%!efD-2|R8y7`93F!W*Ggm1DbaX%I*2ytfBu)z1g| zl0+3vC{bdr)K=0GQx}fFSPA6Dh@hC5W^ZRS&4TN$GCJ30bauj;0-EUD=HA0CQ}$Js zDbVOBciHoy*u;r+ zcj6k79AT=w-FGGIBD2J73h4JMy%8xSe$Fu73=JO<5gHD_JriogJK=|yLg7e%^OvG= zY$>s%xJ-7|={g97hGUF6<0zo6y$Hr}9D~gmz^ZBW`RfBR)$3^oEqKBAFR5SMY2^du zGx}2-d6SwzAxA-cAUQrhzI+GO@#o~PVCCj!>lMBW2Nq#X~3xzMyr z@8~D=$j68zKv32KY~_eB*FzUh;0hUwxH(9Rq+4)-^Zi;;|LI#o8%27uEhFfz>JxX} z1PFHwsT(rJx3Hf@z;+iFWkq@GJoOQQnYB&Xce&i&kL>x+a^ev1XrgT)NHuaQ6Q zU96K5Lk!fDBGlD;2I`LXB6R6CaVS+TKJ_t=T6C?|JsB^HI&o^-LMsWn3mRlmW6hGD zOo!UtNa0cywS0ii;0Nirqq3@TxTJwSPG}t_JM8=okINQ4HnB+ZaK}EU7IsG#(|2e2 zFLQ<=c)~!Mp_7*%z1K}1EA4$5iw6CuuCAhIwQzZdu5tOOQ#P7bopKqspCd2_XFXjy z%27T9Hq6oSY}1ObQ1;BIELtV6OVs=^p(2~NcTvdmHWW@>DOyhTb@ibIkv(p=C{bVp zI!R2mk5kG@*SSC&l~%@_CF|b98B}2K)3ZE4WC(O}Fl$5}8vZb8H_MYv^wM`d>Kf`c zY#-Q@`UI8bQmfzO&k=LF=|PT_=PZ)dn~tkCrWK`=I$C>wLkhiN=pTrpn0LR5WmMvfTxOv(>doYiGPTDUFuSwl~AI`3T zgUH~I@+~2{Vj3MgaabZp-LoP1S&I~?$7F%@1rPnvZneax*_@)|_K!9{&&cqocu*#p zFf1Rl?>#x%T8l%W&Ij};Qy@o0XWCi}RWju@9R?EUYpW%PbANs=y(_Xg&RsY@I>#); zx_qjWJk0DPND=9~5KZX70NIn8JllX-X5Oa$4SPs`j{q7<6|++4mA{IKgwkP&8TJq> z`v4Y!(f1i<>gP#=NwV=6P^#n(+g+&$aqR^dpNs^Yjm=n=^K9C4X$(UQ?NIMXR$Uyb z&R0|!5zXp5wK2&S2Qsycbq0UgY5nngSYz(TF}RZ)WPi3t8nqghXA~buUl4(kKgN6Q zL+#dh#7s@R9y4EPJ7_)w?Qqa#hsc_>^(%Xnp6(86DG3>G^CvvDf)G-n!k z&H%T(vw}<}ZWRkE>xtc+cQ^7jo!+nk;W#mW3yx1@dRp?ju2Z)^s!0a=E{fI4U>E_* z9sC4-nwY#0m|u7iyeUgYufiT$2IY0I{PlDsq0f1AVBe>~7@`|fQ$3SA;;B(3iIO}m zh+T1KNI9z)lvd~qO3TIlUR0bAaLzYuM8OLzj4srs2nz9ZFH50RNYnBIVwaF2scea+ z9zF#y8ZH|tL^YGYn4J5w87f%qV=wlg1yjqFF)e*>)OJ1*4!mE{cY|F@ywQ9oy?w)z zI0}C#=puNivLx_nXLJIK*r`iRv7Io<{a7QX3ygmL=C?q>Hh6#;FuZ&ok;n=r{M{P9 zanus+MZ>i^n1+t)dY)|~kX9%MRkAX?lfOc^bBWN#hyloCW&C-C9p7fsIeA0SyV=-X0ehy9I~Y= z#~-6j+C{xnrQ8jC(og5IiqZa=tZjrXW-_dP=-o#Y@AUdB^CIxN@vI{=aGL);>BSWA z7kFi?Snf_(^EG&a<{Z)BK|HQ1#MehRNIAj1^&J!rNg@M4ch`& z4}YBT_PkD+$91HNDp+oeJd*L39xZmLIW*~d#c9KI6_)xf8T)i64osr6mv$tKC9#(& zr}B35-qph_6CjD+wnPPxSKr+;d=$7j3rjFqe7^sOhPCFs=w8=l&QXo+IBhfWToUW; zJkVWdUzW)U!90N+#k4vANW2|G0N#_r;m2?Pto`PnwWK4UGtN);q$@^bbzA^#fV7Po zc5P&XVSjA;QvWUlCVd$|y>-LBgMT$m*UnOcjyqoTpqNoT$O$F$SW1&8y=dRB+&Xpf zFnJH9{`;iUBnDqwDu#2P2yl5M?NsKH2byf`^;)SE<_?@T)q!~c1h2-E>SbqUS4z(B zXnA3*!YpIE)q;%#xT@Y{<$+;17I@j+IL-_caB9}LBl$%M7bhtY8cyc$+{oFpX(9FA zBV@52Ke`AhIb*o2b6^B5IwOLO4L8>Vu~yEZbM^NV>^{04;T#ZUi{srrC_K(bfXEMct;nDYhL9K zdtpV<@yhqxfF#8V%53o83Fvon6~mN@*s8NN)~2iB0z~1!bz>%L$oPIJLr@j4_Jp5T zRh?B-hMR3dG$Y1u7nKl)?Xwr5UMg;rRZJ^*waSW}M(25dv~z2`I9rJw}BBkU}tuXJ0-Jqtc6lU9;OwNiq;?I@SdykNNs^o?;>fl6AQfZk0N zcPE-i^<`LIP*00Xlz+_6AM}i5q3$BkR4LsRSieBpZSMpA?Ul&Kr-26ESxb1e4s+Lw zu2voECQ-JQ_*8q>@93+{F*x!bBw5{~t#5}W>UZ>OK`HC{krCP#E|I#30M$%n4g^IZ z)p7Z~lMD0cVPg?pyh`B!JX({U-pIR3Jzy2}c>bh+AP8Ix$m(OUVp5@amP4R3GVAj+ z&sz2i{vFz;BfaY>Y&I}Cmk?hYaPWq`>ViTbp-*ao(05*W7H}Y!ilOg;K`9lgfsU$ZmY4t8an6lIn(j@j;C`eS#?bzj6kujz z{r}3}O#fNTOe_NYQYt`0LDsAP)%|8+W@cgf$>=rjfj5@ECC!|?U)_uF%TE9B*I=w{ zaAcCS-(vgNV`itQ{n@yN@AN;WYQMu{^y?k6>^2nrX9(|z-Jy>1o z{lQT4UOFrP8{r|ZuLcH1-!up7tHOeapAst2-~5+EOgcD;*$9S-p4sjoO39<>Nw4{n z+g~Xvi};a0t$i)<)Z4I}hddIe6#p>|?!$B9>t9;7?u&KndL~c0ML8`PtZq?M;%kkV z80M{*o>+A=65hI8pBoLJx`ocn%&qlSg>Q#K>WNp=8{_3V7}jSocWzt3RsA^2EKKIR zZ@#?WF?|wzt{$y?9*#h$v!nUq`a9Y;5Py|nN*5e_!in+VZHy=~Y-ZbJt3@MZY)MIZ za8^9jkd-ddzY}+HHTs^!Ed)j*#FUV8TG-YUBYI2q!?`)pV|hQ(*DY-La(!!z($vmw z^gOEaaMf76f-gp-`(|Dyt4>|WA#xIPM%M#^jL2(?&EvS5j&NZ`WhP+~0$b%s*k6Q)pK4gXt^{e9y|x(=K=O?=)#dCs<}~ z@6)btZ~wr0ZhRV{nO#qD6@wR5I=8Ox(>1jBB*aN$H7mrcn`lO)$dgnqWlw5EdJMF} zsUWl`W@RPfp;x7ugE+b;2VV5kG^s~l(b#tjr{M{|;r$Ukb%gBiz-y8#ME@~e&Z#Ks z2rWB=9Ug;5$3tzfW&JsL8P1!Yn_EyaX{}qWI?OwoXgl2X3;&L)JDbWXReSd2a^@w| zkdR-8Q*>niy(@}qgU3;=t~IHM!RJr3vRQd0>iD>akur?^qd3e}zoyhhPe#vm{iKlh zd(D&fRNrGm`%~O`eCVE@5r9K-%N+4Hy4yiO^C!W5jW7Et(VMiwqeQzxyhyWB2?V9?MjW+ zQ0#N;Kc?+UKu@Vm*R9QC$2*SEO?&#nIZFevGQvB}1A7H%k$3yUk3)663U(ZkUEA^! zeh7__`JF&Q{@%==f`KdgoVWDkjK)q_De+Z}yasLeBa|5oP|c8#Zx3h;CY$CFB0X;Q zLj>@BW7UbA`1=~=4&p$5$9|F83O=d6kGR(tW_*kP=O4NKIkD!Q8rb%*)=%sTXJ|-R zogBlGQJq9cJt9tHr=ZQ-lZAgmB7H-YIMGEVvl0wtSD} zN2hx3P(#^aj+?QQisMI2eMLp>hFU2~gV>UF#M+_nOmi@eC1F76KxzL-i1Au*9bOg< z&ruYyuUUSL=DN$Oqf$HC`}HjbXImP(^?B<;l5$*TW_I4a4jt9M!^a1^81eN!P2yQZq0id<=HQoj zHuuLp4M|A^smQrguJZY2fC0_s=GSU6Q279~;z1*zXQ2@J^H6nUVQ^-)j_Esc*xu8e zuo40!%E-?2P>W-_-u!^bWqt#7OUkZUX-QFT1lE zFdbK}N@8cpK@o2Wnp}@W^1dwdn&W$QBBmAY2q{>-9nSeJWU8e1_zCK>{`HqCzYW+t zZ>AwygPx^RYXGI72Gx6_62b~c*~xn8e!a@Mx~aXQ36D0;2th9jn588Q#l?}w-Sv4e zkjkxl4@DmdX(wrQ-o1z=WSh-}al4Ve`THTv(j>zhx%e(f4b`gavK&D|3;@R_aZY2? zOqFV_-(jNrE-!&K+Wu{Zwo^ z?k;Oy>;iV>o>gOkFC5!W{DRmJ z6m`pwuVmBw@GhJsjx#%=0d^%-@-o%;AS^7*FE=-ru({>B)EmwpX7S6NAGoZ2$iMV` zaC0yGACnPdMp00(TrMhJyQf@61R!$wwc^OD!LTjit_IANOE}5E;t;NBlJDr-a`0*T zP+}~nP~H2KqUl|yB?F5ifR)(|veKRb{&!WC{Q7ye1e}tmN&_~vrj9Crm)Rb^{+~~* zNRHo#bsDm}_1rrujUZ72xVN3a|l?~22HW`0XIxB=_Jjq!}^mstbJ6!c&|2cfM zs_Izjz!=c&Id-GrP0O$nr>_93s-NWM*?!vapwF%3T1UsbsGkiqPN*_9N3H!$=p>=r7XY&7m^Fc4uF+rXsckmd~>jCVDuVMOzpQ&v`n-JDrK z?7wCS?KkERS|yJp^IdrlhJC3C3CZV$CrK_q+^qYzKV@69I{lwj@kGLnYB!0S&BThc42{P?L7-bKY7XgDLzMM6C0oA|)O<}shKgTM+J z@s47mg^iQ|l8_zVNhx*owD7&}V!|s$I!H z7pTA)ww#qtz9B9@<+vXO{RIQ_KniTR?0G5$!iWM4-QQpI0K+82SwI+S*U?ckvD*N6 z`jGJ(%T-==KIZ#$tV=sM2x~2SfCvdoW_D+78}Jm`-rm{%J@?pX1V1*j8sf=#?zQd7eH zO%uZWt8uDoW)k4AHR9)K)7myFt7H=|>LXLETCJb@iQg3iy;;AS<)~^{couoPS~@Z? zX9Ziv3pfZnqkK~IZTi^YQ_Uy6TM2i(N2~qL1MO}}hSM&qC!cc}r5%M8rr%+VnwJFp zslKs$l>d*39r9FxIOrJ?60%{vZ|9_21}8^3H2JN&j1YK7Q8}T1rJvYJ(%)}&36f0pfz}j9Sai_C{a3>=Gk>Clb8spIy^sy6O8S6>dA`QSKcNr!gL#^X zf4EPr1}42Y+$#B5$?3PKc(b!6Ej^VtU2LwK~A^FOUX{w<&G`A# z@2?<(XS9d}Z5caOlt{q@d&G6`&*3)s_mPz>bL~joM!@|L+`3)E;`^{X`&U*<4iss& zan;?~<|~d`1yQCtzWhngi!QTuE~!+w@@wV>IE*39M@M_A&sms%4>#Zn2WBjdmJk_I z0_19mSDmdI^_a0a;Gp`qtKK^~BaP*NHAZT`brZ(CBQNCBJ`VfX1AtSyl zEDmamSS~P6QS=KS>RWzovMViqaXO&CFk*V`5t~P0r~*sD#F+k7!#{>bdWA{l54vN^ zA~r#Fc#rivM)_n)XCm`X>5%Ruv zN$6TdiMdKWxY>YHz5nsWyIR&IKb{yUh8PQpy%Cu?9TE$`X;}-tP>_R}?>SB>d@OyW zu+fjcS+jrXQ(DCm>xxFX0W_9b>p<(8<=kVTSNmGmx;d-09)+h{FlXFb*kutE5>Ple z-z~Cynxp-Ef)&~0dg2vlh2={&HssQnswXR~D`(+`PYe_eigl4qm7I^=5-sNNDlfGv zMC2d!hF2!&{jp9H+pjf$ro*Z-txV#t|F|P|<*ISVRhT%qUg4UCM4kNGh~$mjf!o1X kwz~r{fn~QBY(E+J2g|QWUfi(R*}4A+mZ0;G>EGo40Koqrr~m)} literal 0 HcmV?d00001 diff --git a/files/en-us/web/api/xmlhttprequestupload/abort_event/index.md b/files/en-us/web/api/xmlhttprequestupload/abort_event/index.md new file mode 100644 index 000000000000000..eae1c905671531a --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/abort_event/index.md @@ -0,0 +1,141 @@ +--- +title: "XMLHttpRequestUpload: abort event" +slug: Web/API/XMLHttpRequestUpload/abort_event +page-type: web-api-event +browser-compat: api.XMLHttpRequestUpload.abort_event +--- + +{{APIRef}} + +The `abort` event is fired when a request has been aborted, for example because the program called {{domxref("XMLHttpRequest.abort()")}}. + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('abort', (event) => { }) + +onabort = (event) => { } +``` + +## Event type + +A {{domxref("ProgressEvent")}}. Inherits from {{domxref("Event")}}. + +{{InheritanceDiagram("ProgressEvent")}} + +## Event properties + +_In addition to the properties listed below, properties from the parent interface, {{domxref("Event")}}, are available._ + +- {{domxref("ProgressEvent.lengthComputable", "lengthComputable")}} {{ReadOnlyInline}} + - : A boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not. +- {{domxref("ProgressEvent.loaded", "loaded")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer value indicating the amount of work already performed by the underlying process. The ratio of work done can be calculated by dividing `total` by the value of this property. When downloading a resource using HTTP, this only counts the body of the HTTP message, and doesn't include headers and other overhead. +- {{domxref("ProgressEvent.total", "total")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this is the `Content-Length` (the size of the body of the message), and doesn't include the headers and other overhead. + +## Examples + +### Live example + +#### HTML + +```html +
+ + + +
+ + +``` + +```css hidden +.event-log { + width: 25rem; + height: 4rem; + border: 1px solid black; + margin: 0.5rem; + padding: 0.2rem; +} + +input { + width: 11rem; + margin: 0.5rem; +} +``` + +#### JavaScript + +```js +const xhrButtonSuccess = document.querySelector('.xhr.success'); +const xhrButtonError = document.querySelector('.xhr.error'); +const xhrButtonAbort = document.querySelector('.xhr.abort'); +const log = document.querySelector('.event-log'); + +function handleEvent(e) { + log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`; +} + +function addListeners(xhr) { + xhr.addEventListener('loadstart', handleEvent); + xhr.addEventListener('load', handleEvent); + xhr.addEventListener('loadend', handleEvent); + xhr.addEventListener('progress', handleEvent); + xhr.addEventListener('error', handleEvent); + xhr.addEventListener('abort', handleEvent); +} + +function runXHR(url) { + log.textContent = ''; + + const xhr = new XMLHttpRequest(); + addListeners(xhr); + xhr.open("GET", url); + xhr.send(); + return xhr; +} + +xhrButtonSuccess.addEventListener('click', () => { + runXHR('dgszyjnxcaipwzy.jpg'); +}); + +xhrButtonError.addEventListener('click', () => { + runXHR('https://somewhere.org/i-dont-exist'); +}); + +xhrButtonAbort.addEventListener('click', () => { + runXHR('dgszyjnxcaipwzy.jpg').abort(); +}); +``` + +#### Result + +{{ EmbedLiveSample('Live_example', '100%', '150px') }} + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- Related events: {{domxref("XMLHttpRequest/loadstart_event", "loadstart")}}, {{domxref("XMLHttpRequest/load_event", "load")}}, {{domxref("XMLHttpRequest/progress_event", "progress")}}, {{domxref("XMLHttpRequest/error_event", "error")}}, {{domxref("XMLHttpRequest/loadend_event", "loadend")}} +- [Monitoring progress](/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#monitoring_progress) diff --git a/files/en-us/web/api/xmlhttprequestupload/error_event/dgszyjnxcaipwzy.jpg b/files/en-us/web/api/xmlhttprequestupload/error_event/dgszyjnxcaipwzy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d85b214128e98861dfc3548ad9f9793887f97611 GIT binary patch literal 62373 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 literal 0 HcmV?d00001 diff --git a/files/en-us/web/api/xmlhttprequestupload/error_event/index.md b/files/en-us/web/api/xmlhttprequestupload/error_event/index.md new file mode 100644 index 000000000000000..f133177aeed330c --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/error_event/index.md @@ -0,0 +1,141 @@ +--- +title: "XMLHttpRequestUpload: error event" +slug: Web/API/XMLHttpRequestUpload/error_event +page-type: web-api-event +browser-compat: api.XMLHttpRequestUpload.error_event +--- + +{{APIRef}} + +The `error` event is fired when the request encountered an error. + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('error', (event) => { }) + +onerror = (event) => { } +``` + +## Event type + +A {{domxref("ProgressEvent")}}. Inherits from {{domxref("Event")}}. + +{{InheritanceDiagram("ProgressEvent")}} + +## Event properties + +_In addition to the properties listed below, properties from the parent interface, {{domxref("Event")}}, are available._ + +- {{domxref("ProgressEvent.lengthComputable", "lengthComputable")}} {{ReadOnlyInline}} + - : A boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not. +- {{domxref("ProgressEvent.loaded", "loaded")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer value indicating the amount of work already performed by the underlying process. The ratio of work done can be calculated by dividing `total` by the value of this property. When downloading a resource using HTTP, this only counts the body of the HTTP message, and doesn't include headers and other overhead. +- {{domxref("ProgressEvent.total", "total")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this is the `Content-Length` (the size of the body of the message), and doesn't include the headers and other overhead. + +## Examples + +### Live example + +#### HTML + +```html +
+ + + +
+ + +``` + +```css hidden +.event-log { + width: 25rem; + height: 4rem; + border: 1px solid black; + margin: 0.5rem; + padding: 0.2rem; +} + +input { + width: 11rem; + margin: 0.5rem; +} +``` + +#### JavaScript + +```js +const xhrButtonSuccess = document.querySelector('.xhr.success'); +const xhrButtonError = document.querySelector('.xhr.error'); +const xhrButtonAbort = document.querySelector('.xhr.abort'); +const log = document.querySelector('.event-log'); + +function handleEvent(e) { + log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`; +} + +function addListeners(xhr) { + xhr.addEventListener('loadstart', handleEvent); + xhr.addEventListener('load', handleEvent); + xhr.addEventListener('loadend', handleEvent); + xhr.addEventListener('progress', handleEvent); + xhr.addEventListener('error', handleEvent); + xhr.addEventListener('abort', handleEvent); +} + +function runXHR(url) { + log.textContent = ''; + + const xhr = new XMLHttpRequest(); + addListeners(xhr); + xhr.open("GET", url); + xhr.send(); + return xhr; +} + +xhrButtonSuccess.addEventListener('click', () => { + runXHR('dgszyjnxcaipwzy.jpg'); +}); + +xhrButtonError.addEventListener('click', () => { + runXHR('https://somewhere.org/i-dont-exist'); +}); + +xhrButtonAbort.addEventListener('click', () => { + runXHR('dgszyjnxcaipwzy.jpg').abort(); +}); +``` + +#### Result + +{{ EmbedLiveSample('Live_example', '100%', '150px') }} + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- Related events: {{domxref("XMLHttpRequest/loadstart_event", "loadstart")}}, {{domxref("XMLHttpRequest/load_event", "load")}}, {{domxref("XMLHttpRequest/progress_event", "progress")}}, {{domxref("XMLHttpRequest/loadend_event", "loadend")}}, {{domxref("XMLHttpRequest/abort_event", "abort")}} +- [Monitoring progress](/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#monitoring_progress) diff --git a/files/en-us/web/api/xmlhttprequestupload/index.md b/files/en-us/web/api/xmlhttprequestupload/index.md new file mode 100644 index 000000000000000..17fecdb629abc7c --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/index.md @@ -0,0 +1,59 @@ +--- +title: XMLHttpRequestUpload +slug: Web/API/XMLHttpRequestUpload +page-type: web-api-interface +browser-compat: api.XMLHttpRequestUpload +--- + +{{DefaultAPISidebar("XMLHttpRequest")}} + +The **`XMLHttpRequestUpload`** interface represents the upload process, allowing to listen for events associated with a specific {{domxref("XMLHttpRequest")}}. It is an _opaque_ object that represents the underlying, browser-dependant, upload process. It is {{domxref("XMLHttpRequestEventTarget")}} and is can be obtained by calling {{domxref("XMLHttpRequest.upload")}}. + +{{AvailableInWorkers("notservice")}} + +## Instance properties + +_This interface has no specific property, but inherits the properties of {{domxref("XMLHttpRequestEventTarget")}} and of {{domxref("EventTarget")}}._ + +## Instance methods + +_This interface has no specific method, but inherits the methods of {{domxref("XMLHttpRequestEventTarget")}} and of {{domxref("EventTarget")}}._ + +## Events + +- {{domxref("XMLHttpRequestUpload/abort_event", "abort")}} + - : Fired when a request has been aborted, for example because the program called {{domxref("XMLHttpRequest.abort()")}}. + Also available via the `onabort` event handler property. +- {{domxref("XMLHttpRequestUpload/error_event", "error")}} + - : Fired when the request encountered an error. + Also available via the `onerror` event handler property. +- {{domxref("XMLHttpRequestUpload/load_event", "load")}} + - : Fired when an `XMLHttpRequest` transaction completes successfully. + Also available via the `onload` event handler property. +- {{domxref("XMLHttpRequestUpload/loadend_event", "loadend")}} + - : Fired when a request has completed, whether successfully (after {{domxref("XMLHttpRequest/load_event", "load")}}) or unsuccessfully (after {{domxref("XMLHttpRequestUpload/abort_event", "abort")}} or {{domxref("XMLHttpRequest/error_event", "error")}}). + Also available via the `onloadend` event handler property. +- {{domxref("XMLHttpRequestUpload/loadstart_event", "loadstart")}} + - : Fired when a request has started to load data. + Also available via the `onloadstart` event handler property. +- {{domxref("XMLHttpRequestUpload/progress_event", "progress")}} + - : Fired periodically when a request receives more data. + Also available via the `onprogress` event handler property. +- {{domxref("XMLHttpRequestUpload/readystatechange_event", "readystatechange")}} + - : Fired whenever the {{domxref("XMLHttpRequest.readyState", "readyState")}} property changes. + Also available via the `onreadystatechange` event handler property. +- {{domxref("XMLHttpRequestUpload/timeout_event", "timeout")}} + - : Fired when progress is terminated due to preset time expiring. + Also available via the `ontimeout` event handler property. + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("XMLHttpRequest")}} diff --git a/files/en-us/web/api/xmlhttprequestupload/load_event/image.jpg b/files/en-us/web/api/xmlhttprequestupload/load_event/image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d85b214128e98861dfc3548ad9f9793887f97611 GIT binary patch literal 62373 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 literal 0 HcmV?d00001 diff --git a/files/en-us/web/api/xmlhttprequestupload/load_event/index.md b/files/en-us/web/api/xmlhttprequestupload/load_event/index.md new file mode 100644 index 000000000000000..631a10f1e990a55 --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/load_event/index.md @@ -0,0 +1,141 @@ +--- +title: "XMLHttpRequest: load event" +slug: Web/API/XMLHttpRequest/load_event +page-type: web-api-event +browser-compat: api.XMLHttpRequest.load_event +--- + +{{APIRef}} + +The `load` event is fired when an {{domxref("XMLHttpRequest")}} transaction completes successfully. + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('load', (event) => { }) + +onload = (event) => { } +``` + +## Event type + +A {{domxref("ProgressEvent")}}. Inherits from {{domxref("Event")}}. + +{{InheritanceDiagram("ProgressEvent")}} + +## Event properties + +_In addition to the properties listed below, properties from the parent interface, {{domxref("Event")}}, are available._ + +- {{domxref("ProgressEvent.lengthComputable", "lengthComputable")}} {{ReadOnlyInline}} + - : A boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not. +- {{domxref("ProgressEvent.loaded", "loaded")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer value indicating the amount of work already performed by the underlying process. The ratio of work done can be calculated by dividing `total` by the value of this property. When downloading a resource using HTTP, this only counts the body of the HTTP message, and doesn't include headers and other overhead. +- {{domxref("ProgressEvent.total", "total")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this is the `Content-Length` (the size of the body of the message), and doesn't include the headers and other overhead. + +## Examples + +### Live example + +#### HTML + +```html +
+ + + +
+ + +``` + +```css hidden +.event-log { + width: 25rem; + height: 4rem; + border: 1px solid black; + margin: 0.5rem; + padding: 0.2rem; +} + +input { + width: 11rem; + margin: 0.5rem; +} +``` + +#### JavaScript + +```js +const xhrButtonSuccess = document.querySelector('.xhr.success'); +const xhrButtonError = document.querySelector('.xhr.error'); +const xhrButtonAbort = document.querySelector('.xhr.abort'); +const log = document.querySelector('.event-log'); + +function handleEvent(e) { + log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`; +} + +function addListeners(xhr) { + xhr.addEventListener('loadstart', handleEvent); + xhr.addEventListener('load', handleEvent); + xhr.addEventListener('loadend', handleEvent); + xhr.addEventListener('progress', handleEvent); + xhr.addEventListener('error', handleEvent); + xhr.addEventListener('abort', handleEvent); +} + +function runXHR(url) { + log.textContent = ''; + + const xhr = new XMLHttpRequest(); + addListeners(xhr); + xhr.open("GET", url); + xhr.send(); + return xhr; +} + +xhrButtonSuccess.addEventListener('click', () => { + runXHR('image.jpg'); +}); + +xhrButtonError.addEventListener('click', () => { + runXHR('https://somewhere.org/i-dont-exist'); +}); + +xhrButtonAbort.addEventListener('click', () => { + runXHR('image.jpg').abort(); +}); +``` + +#### Result + +{{ EmbedLiveSample('Live_example', '100%', '150px') }} + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- Related events: {{domxref("XMLHttpRequest/loadstart_event", "loadstart")}}, {{domxref("XMLHttpRequest/loadend_event", "loadend")}}, {{domxref("XMLHttpRequest/progress_event", "progress")}}, {{domxref("XMLHttpRequest/error_event", "error")}}, {{domxref("XMLHttpRequest/abort_event", "abort")}} +- [Monitoring progress](/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#monitoring_progress) diff --git a/files/en-us/web/api/xmlhttprequestupload/loadend_event/index.md b/files/en-us/web/api/xmlhttprequestupload/loadend_event/index.md new file mode 100644 index 000000000000000..5d14fbd64cc326c --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/loadend_event/index.md @@ -0,0 +1,141 @@ +--- +title: "XMLHttpRequestUpload: loadend event" +slug: Web/API/XMLHttpRequestUpload/loadend_event +page-type: web-api-event +browser-compat: api.XMLHttpRequestUpload.loadend_event +--- + +{{APIRef}} + +The **`loadend`** event is fired when a request has completed, whether successfully (after {{domxref("XMLHttpRequestUpload/load_event", "load")}}) or unsuccessfully (after {{domxref("XMLHttpRequestUpload/abort_event", "abort")}} or {{domxref("XMLHttpRequestUpload/error_event", "error")}}). + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('loadend', (event) => { }) + +onloadend = (event) => { } +``` + +## Event type + +A {{domxref("ProgressEvent")}}. Inherits from {{domxref("Event")}}. + +{{InheritanceDiagram("ProgressEvent")}} + +## Event properties + +_In addition to the properties listed below, properties from the parent interface, {{domxref("Event")}}, are available._ + +- {{domxref("ProgressEvent.lengthComputable", "lengthComputable")}} {{ReadOnlyInline}} + - : A boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not. +- {{domxref("ProgressEvent.loaded", "loaded")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer value indicating the amount of work already performed by the underlying process. The ratio of work done can be calculated by dividing `total` by the value of this property. When downloading a resource using HTTP, this only counts the body of the HTTP message, and doesn't include headers and other overhead. +- {{domxref("ProgressEvent.total", "total")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this is the `Content-Length` (the size of the body of the message), and doesn't include the headers and other overhead. + +## Examples + +### Live example + +#### HTML + +```html +
+ + + +
+ + +``` + +```css hidden +.event-log { + width: 25rem; + height: 4rem; + border: 1px solid black; + margin: 0.5rem; + padding: 0.2rem; +} + +input { + width: 11rem; + margin: 0.5rem; +} +``` + +#### JavaScript + +```js +const xhrButtonSuccess = document.querySelector('.xhr.success'); +const xhrButtonError = document.querySelector('.xhr.error'); +const xhrButtonAbort = document.querySelector('.xhr.abort'); +const log = document.querySelector('.event-log'); + +function handleEvent(e) { + log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`; +} + +function addListeners(xhr) { + xhr.addEventListener('loadstart', handleEvent); + xhr.addEventListener('load', handleEvent); + xhr.addEventListener('loadend', handleEvent); + xhr.addEventListener('progress', handleEvent); + xhr.addEventListener('error', handleEvent); + xhr.addEventListener('abort', handleEvent); +} + +function runXHR(url) { + log.textContent = ''; + + const xhr = new XMLHttpRequest(); + addListeners(xhr); + xhr.open("GET", url); + xhr.send(); + return xhr; +} + +xhrButtonSuccess.addEventListener('click', () => { + runXHR('https://raw.githubusercontent.com/mdn/content/main/files/en-us/_wikihistory.json'); +}); + +xhrButtonError.addEventListener('click', () => { + runXHR('http://i-dont-exist'); +}); + +xhrButtonAbort.addEventListener('click', () => { + runXHR('https://raw.githubusercontent.com/mdn/content/main/files/en-us/_wikihistory.json').abort(); +}); +``` + +#### Result + +{{ EmbedLiveSample('Live_example', '100%', '150px') }} + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- [Monitoring progress](/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#monitoring_progress) +- {{domxref("XMLHttpRequestUpload")}} diff --git a/files/en-us/web/api/xmlhttprequestupload/loadstart_event/dgszyjnxcaipwzy.jpg b/files/en-us/web/api/xmlhttprequestupload/loadstart_event/dgszyjnxcaipwzy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d85b214128e98861dfc3548ad9f9793887f97611 GIT binary patch literal 62373 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 literal 0 HcmV?d00001 diff --git a/files/en-us/web/api/xmlhttprequestupload/loadstart_event/index.md b/files/en-us/web/api/xmlhttprequestupload/loadstart_event/index.md new file mode 100644 index 000000000000000..d13c8a631cabcf3 --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/loadstart_event/index.md @@ -0,0 +1,141 @@ +--- +title: "XMLHttpRequestUpload: loadstart event" +slug: Web/API/XMLHttpRequestUpload/loadstart_event +page-type: web-api-event +browser-compat: api.XMLHttpRequestUpload.loadstart_event +--- + +{{APIRef}} + +The **`loadstart`** event is fired when a request has started to load data. + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('loadstart', (event) => { }) + +onloadstart = (event) => { } +``` + +## Event type + +A {{domxref("ProgressEvent")}}. Inherits from {{domxref("Event")}}. + +{{InheritanceDiagram("ProgressEvent")}} + +## Event properties + +_In addition to the properties listed below, properties from the parent interface, {{domxref("Event")}}, are available._ + +- {{domxref("ProgressEvent.lengthComputable", "lengthComputable")}} {{ReadOnlyInline}} + - : A boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not. +- {{domxref("ProgressEvent.loaded", "loaded")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer value indicating the amount of work already performed by the underlying process. The ratio of work done can be calculated by dividing `total` by the value of this property. When downloading a resource using HTTP, this only counts the body of the HTTP message, and doesn't include headers and other overhead. +- {{domxref("ProgressEvent.total", "total")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this is the `Content-Length` (the size of the body of the message), and doesn't include the headers and other overhead. + +## Examples + +### Live example + +#### HTML + +```html +
+ + + +
+ + +``` + +```css hidden +.event-log { + width: 25rem; + height: 4rem; + border: 1px solid black; + margin: 0.5rem; + padding: 0.2rem; +} + +input { + width: 11rem; + margin: 0.5rem; +} +``` + +#### JavaScript + +```js +const xhrButtonSuccess = document.querySelector('.xhr.success'); +const xhrButtonError = document.querySelector('.xhr.error'); +const xhrButtonAbort = document.querySelector('.xhr.abort'); +const log = document.querySelector('.event-log'); + +function handleEvent(e) { + log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`; +} + +function addListeners(xhr) { + xhr.addEventListener('loadstart', handleEvent); + xhr.addEventListener('load', handleEvent); + xhr.addEventListener('loadend', handleEvent); + xhr.addEventListener('progress', handleEvent); + xhr.addEventListener('error', handleEvent); + xhr.addEventListener('abort', handleEvent); +} + +function runXHR(url) { + log.textContent = ''; + + const xhr = new XMLHttpRequest(); + addListeners(xhr); + xhr.open("GET", url); + xhr.send(); + return xhr; +} + +xhrButtonSuccess.addEventListener('click', () => { + runXHR('dgszyjnxcaipwzy.jpg'); +}); + +xhrButtonError.addEventListener('click', () => { + runXHR('https://somewhere.org/i-dont-exist'); +}); + +xhrButtonAbort.addEventListener('click', () => { + runXHR('dgszyjnxcaipwzy.jpg').abort(); +}); +``` + +#### Result + +{{ EmbedLiveSample('Live_example', '100%', '150px') }} + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- [Monitoring progress](/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#monitoring_progress) +- {{domxref("XMLHttpRequestUpload")}} diff --git a/files/en-us/web/api/xmlhttprequestupload/progress_event/index.md b/files/en-us/web/api/xmlhttprequestupload/progress_event/index.md new file mode 100644 index 000000000000000..bdf004b5ac4d0e6 --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/progress_event/index.md @@ -0,0 +1,141 @@ +--- +title: "XMLHttpRequestUpload: progress event" +slug: Web/API/XMLHttpRequestUpload/progress_event +page-type: web-api-event +browser-compat: api.XMLHttpRequestUpload.progress_event +--- + +{{APIRef}} + +The **`progress`** event is fired periodically when a request receives more data. + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('progress', (event) => { }) + +onprogress = (event) => { } +``` + +## Event type + +A {{domxref("ProgressEvent")}}. Inherits from {{domxref("Event")}}. + +{{InheritanceDiagram("ProgressEvent")}} + +## Event properties + +_In addition to the properties listed below, properties from the parent interface, {{domxref("Event")}}, are available._ + +- {{domxref("ProgressEvent.lengthComputable", "lengthComputable")}} {{ReadOnlyInline}} + - : A boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not. +- {{domxref("ProgressEvent.loaded", "loaded")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer value indicating the amount of work already performed by the underlying process. The ratio of work done can be calculated by dividing `total` by the value of this property. When downloading a resource using HTTP, this only counts the body of the HTTP message, and doesn't include headers and other overhead. +- {{domxref("ProgressEvent.total", "total")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this is the `Content-Length` (the size of the body of the message), and doesn't include the headers and other overhead. + +## Examples + +### Live example + +#### HTML + +```html +
+ + + +
+ + +``` + +```css hidden +.event-log { + width: 25rem; + height: 4rem; + border: 1px solid black; + margin: 0.5rem; + padding: 0.2rem; +} + +input { + width: 11rem; + margin: 0.5rem; +} +``` + +#### JavaScript + +```js +const xhrButtonSuccess = document.querySelector('.xhr.success'); +const xhrButtonError = document.querySelector('.xhr.error'); +const xhrButtonAbort = document.querySelector('.xhr.abort'); +const log = document.querySelector('.event-log'); + +function handleEvent(e) { + log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`; +} + +function addListeners(xhr) { + xhr.addEventListener('loadstart', handleEvent); + xhr.addEventListener('load', handleEvent); + xhr.addEventListener('loadend', handleEvent); + xhr.addEventListener('progress', handleEvent); + xhr.addEventListener('error', handleEvent); + xhr.addEventListener('abort', handleEvent); +} + +function runXHR(url) { + log.textContent = ''; + + const xhr = new XMLHttpRequest(); + addListeners(xhr); + xhr.open("GET", url); + xhr.send(); + return xhr; +} + +xhrButtonSuccess.addEventListener('click', () => { + runXHR('https://raw.githubusercontent.com/mdn/content/main/files/en-us/_wikihistory.json'); +}); + +xhrButtonError.addEventListener('click', () => { + runXHR('http://i-dont-exist'); +}); + +xhrButtonAbort.addEventListener('click', () => { + runXHR('https://raw.githubusercontent.com/mdn/content/main/files/en-us/_wikihistory.json').abort(); +}); +``` + +#### Result + +{{ EmbedLiveSample('Live_example', '100%', '150px') }} + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- [Monitoring progress](/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#) +- {{domxref("XMLHttpRequestUpload")}}monitoring_progress diff --git a/files/en-us/web/api/xmlhttprequestupload/readystatechange_event/index.md b/files/en-us/web/api/xmlhttprequestupload/readystatechange_event/index.md new file mode 100644 index 000000000000000..b0d5ccdb88fcd33 --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/readystatechange_event/index.md @@ -0,0 +1,62 @@ +--- +title: 'XMLHttpRequestUpload: readystatechange event' +slug: Web/API/XMLHttpRequestUpload/readystatechange_event +page-type: web-api-event +browser-compat: api.XMLHttpRequestUpload.readystatechange_event +--- + +{{APIRef}} + +The `readystatechange` event is fired whenever the {{domxref("XMLHttpRequest.readyState", "readyState")}} property of the {{domxref("XMLHttpRequest")}} changes. + +> **Warning:** This should not be used with synchronous requests and must +> not be used from native code. + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('readystatechange', (event) => { }) + +onreadystatechange = (event) => { } +``` + +## Event type + +A generic {{DOMxRef("Event")}} with no added properties. + +## Examples + +```js +const xhr = new XMLHttpRequest(); +const method = "GET"; +const url = "https://developer.mozilla.org/"; + +xhr.open(method, url, true); +xhr.onreadystatechange = () => { + // In local files, status is 0 upon success in Mozilla Firefox + if (xhr.readyState === XMLHttpRequest.DONE) { + const status = xhr.status; + if (status === 0 || (status >= 200 && status < 400)) { + // The request has been completed successfully + console.log(xhr.responseText); + } else { + // Oh no! There has been an error with the request! + } + } +}; +xhr.send(); +``` + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("XMLHttpRequestUpload")}} diff --git a/files/en-us/web/api/xmlhttprequestupload/timeout_event/index.md b/files/en-us/web/api/xmlhttprequestupload/timeout_event/index.md new file mode 100644 index 000000000000000..85d0451a1da8807 --- /dev/null +++ b/files/en-us/web/api/xmlhttprequestupload/timeout_event/index.md @@ -0,0 +1,69 @@ +--- +title: 'XMLHttpRequestUpload: timeout event' +slug: Web/API/XMLHttpRequestUpload/timeout_event +page-type: web-api-event +browser-compat: api.XMLHttpRequestUpload.timeout_event +--- + +{{APIRef}} + +The **`timeout`** event is fired when progression is terminated due to preset time expiring. + +## Syntax + +Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property. + +```js +addEventListener('timeout', (event) => { }) + +ontimeout = (event) => { } +``` + +## Event type + +A {{domxref("ProgressEvent")}}. Inherits from {{domxref("Event")}}. + +{{InheritanceDiagram("ProgressEvent")}} + +## Event properties + +_In addition to the properties listed below, properties from the parent interface, {{domxref("Event")}}, are available._ + +- {{domxref("ProgressEvent.lengthComputable", "lengthComputable")}} {{ReadOnlyInline}} + - : A boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not. +- {{domxref("ProgressEvent.loaded", "loaded")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer value indicating the amount of work already performed by the underlying process. The ratio of work done can be calculated by dividing `total` by the value of this property. When downloading a resource using HTTP, this only counts the body of the HTTP message, and doesn't include headers and other overhead. +- {{domxref("ProgressEvent.total", "total")}} {{ReadOnlyInline}} + - : A 64-bit unsigned integer representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this is the `Content-Length` (the size of the body of the message), and doesn't include the headers and other overhead. + +## Examples + +```js +const client = new XMLHttpRequest(); +client.open('GET', 'http://www.example.org/example.txt'); +client.ontimeout = () => { + console.error('Timeout!!') +}; + +client.send(); +``` + +You could also set up the event handler using the {{domxref("EventTarget/addEventListener", "addEventListener()")}} method: + +```js +client.addEventListener('timeout', () => { + console.error("Timeout!!"); +}); +``` + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("XMLHttpRequestUpload")}} From 74e624ecf4948095a295e576a024260f3ea2a7ee Mon Sep 17 00:00:00 2001 From: Jean-Yves Perrier Date: Mon, 27 Mar 2023 08:59:26 +0200 Subject: [PATCH 2/6] Fixes --- files/en-us/web/api/xmlhttprequesteventtarget/index.md | 4 ---- files/en-us/web/api/xmlhttprequestupload/index.md | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/files/en-us/web/api/xmlhttprequesteventtarget/index.md b/files/en-us/web/api/xmlhttprequesteventtarget/index.md index 41c4f6d05fdc24f..95b73a16334edc8 100644 --- a/files/en-us/web/api/xmlhttprequesteventtarget/index.md +++ b/files/en-us/web/api/xmlhttprequesteventtarget/index.md @@ -13,8 +13,6 @@ You don't use `XMLHttpRequestEventTarget` directly; instead you interact with th ## Inheritance for `XMLHttpRequest` -{{InheritanceDiagram("XMLHttpRequest")}} - The following events are made available to {{domxref("XMLHttpRequest")}}: - {{domxref("XMLHttpRequest/abort_event", "abort")}} @@ -28,8 +26,6 @@ The following events are made available to {{domxref("XMLHttpRequest")}}: ## Inheritance for `XMLHttpRequestUpload` -{{InheritanceDiagram("XMLHttpRequestUpload")}} - The following events are made available to {{domxref("XMLHttpRequestUpload")}}: - {{domxref("XMLHttpRequestUpload/abort_event", "abort")}} diff --git a/files/en-us/web/api/xmlhttprequestupload/index.md b/files/en-us/web/api/xmlhttprequestupload/index.md index 17fecdb629abc7c..ffca8632c403fac 100644 --- a/files/en-us/web/api/xmlhttprequestupload/index.md +++ b/files/en-us/web/api/xmlhttprequestupload/index.md @@ -11,6 +11,8 @@ The **`XMLHttpRequestUpload`** interface represents the upload process, allowing {{AvailableInWorkers("notservice")}} +{{InheritanceDiagram}} + ## Instance properties _This interface has no specific property, but inherits the properties of {{domxref("XMLHttpRequestEventTarget")}} and of {{domxref("EventTarget")}}._ From a5b9a1f072788d45e9c6c6aba6797f01bbbf4fd5 Mon Sep 17 00:00:00 2001 From: Jean-Yves Perrier Date: Mon, 27 Mar 2023 09:01:04 +0200 Subject: [PATCH 3/6] Fixes --- files/en-us/web/api/xmlhttprequesteventtarget/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/files/en-us/web/api/xmlhttprequesteventtarget/index.md b/files/en-us/web/api/xmlhttprequesteventtarget/index.md index 95b73a16334edc8..9c64c70d68a073f 100644 --- a/files/en-us/web/api/xmlhttprequesteventtarget/index.md +++ b/files/en-us/web/api/xmlhttprequesteventtarget/index.md @@ -13,6 +13,8 @@ You don't use `XMLHttpRequestEventTarget` directly; instead you interact with th ## Inheritance for `XMLHttpRequest` +{{InheritanceDiagram("XMLHttpRequest")}} + The following events are made available to {{domxref("XMLHttpRequest")}}: - {{domxref("XMLHttpRequest/abort_event", "abort")}} @@ -21,11 +23,13 @@ The following events are made available to {{domxref("XMLHttpRequest")}}: - {{domxref("XMLHttpRequest/loadend_event", "loadend")}} - {{domxref("XMLHttpRequest/loadstart_event", "loadstart")}} - {{domxref("XMLHttpRequest/progress_event", "progress")}} -- {{domxref("XMLHTTPRequest/readystatechange_event", "readystatechange)}} +- {{domxref("XMLHttpRequest/readystatechange_event", "readystatechange)}} - {{domxref("XMLHttpRequest/timeout_event", "timeout")}} ## Inheritance for `XMLHttpRequestUpload` +{{InheritanceDiagram("XMLHttpRequestUpload")}} + The following events are made available to {{domxref("XMLHttpRequestUpload")}}: - {{domxref("XMLHttpRequestUpload/abort_event", "abort")}} @@ -34,7 +38,7 @@ The following events are made available to {{domxref("XMLHttpRequestUpload")}}: - {{domxref("XMLHttpRequestUpload/loadend_event", "loadend")}} - {{domxref("XMLHttpRequestUpload/loadstart_event", "loadstart")}} - {{domxref("XMLHttpRequestUpload/progress_event", "progress")}} -- {{domxref("XMLHTTPRequest/readystatechange_event", "readystatechange)}} +- {{domxref("XMLHttpRequest/readystatechange_event", "readystatechange)}} - {{domxref("XMLHttpRequestUpload/timeout_event", "timeout")}} ## Specifications From ec0874d68acde4e8b5f5b0215b8d4c81b617e7b3 Mon Sep 17 00:00:00 2001 From: Jean-Yves Perrier Date: Mon, 27 Mar 2023 09:04:21 +0200 Subject: [PATCH 4/6] Fixes typos --- files/en-us/web/api/xmlhttprequesteventtarget/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/en-us/web/api/xmlhttprequesteventtarget/index.md b/files/en-us/web/api/xmlhttprequesteventtarget/index.md index 9c64c70d68a073f..6818457bcf75dfe 100644 --- a/files/en-us/web/api/xmlhttprequesteventtarget/index.md +++ b/files/en-us/web/api/xmlhttprequesteventtarget/index.md @@ -23,7 +23,7 @@ The following events are made available to {{domxref("XMLHttpRequest")}}: - {{domxref("XMLHttpRequest/loadend_event", "loadend")}} - {{domxref("XMLHttpRequest/loadstart_event", "loadstart")}} - {{domxref("XMLHttpRequest/progress_event", "progress")}} -- {{domxref("XMLHttpRequest/readystatechange_event", "readystatechange)}} +- {{domxref("XMLHttpRequest/readystatechange_event", "readystatechange")}} - {{domxref("XMLHttpRequest/timeout_event", "timeout")}} ## Inheritance for `XMLHttpRequestUpload` @@ -38,7 +38,7 @@ The following events are made available to {{domxref("XMLHttpRequestUpload")}}: - {{domxref("XMLHttpRequestUpload/loadend_event", "loadend")}} - {{domxref("XMLHttpRequestUpload/loadstart_event", "loadstart")}} - {{domxref("XMLHttpRequestUpload/progress_event", "progress")}} -- {{domxref("XMLHttpRequest/readystatechange_event", "readystatechange)}} +- {{domxref("XMLHttpRequest/readystatechange_event", "readystatechange")}} - {{domxref("XMLHttpRequestUpload/timeout_event", "timeout")}} ## Specifications From 381b7a31a7f54ed3fd47c8edddf0838235149f30 Mon Sep 17 00:00:00 2001 From: Jean-Yves Perrier Date: Mon, 27 Mar 2023 09:07:32 +0200 Subject: [PATCH 5/6] Fixes typos --- .../en-us/web/api/xmlhttprequestupload/load_event/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/files/en-us/web/api/xmlhttprequestupload/load_event/index.md b/files/en-us/web/api/xmlhttprequestupload/load_event/index.md index 631a10f1e990a55..e08dcd24545e1d1 100644 --- a/files/en-us/web/api/xmlhttprequestupload/load_event/index.md +++ b/files/en-us/web/api/xmlhttprequestupload/load_event/index.md @@ -1,13 +1,13 @@ --- -title: "XMLHttpRequest: load event" -slug: Web/API/XMLHttpRequest/load_event +title: "XMLHttpRequestUpload: load event" +slug: Web/API/XMLHttpRequestUpload/load_event page-type: web-api-event browser-compat: api.XMLHttpRequest.load_event --- {{APIRef}} -The `load` event is fired when an {{domxref("XMLHttpRequest")}} transaction completes successfully. +The `load` event is fired when an {{domxref("XMLHttpRequestUpload")}} transaction completes successfully. ## Syntax From 32fb32d1c459e059a21fbe83422f6456721311f9 Mon Sep 17 00:00:00 2001 From: Jean-Yves Perrier Date: Mon, 27 Mar 2023 20:45:32 +0200 Subject: [PATCH 6/6] Update files/en-us/web/api/xmlhttprequestupload/index.md Co-authored-by: dawei-wang --- files/en-us/web/api/xmlhttprequestupload/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/api/xmlhttprequestupload/index.md b/files/en-us/web/api/xmlhttprequestupload/index.md index ffca8632c403fac..72dcd8691658503 100644 --- a/files/en-us/web/api/xmlhttprequestupload/index.md +++ b/files/en-us/web/api/xmlhttprequestupload/index.md @@ -7,7 +7,7 @@ browser-compat: api.XMLHttpRequestUpload {{DefaultAPISidebar("XMLHttpRequest")}} -The **`XMLHttpRequestUpload`** interface represents the upload process, allowing to listen for events associated with a specific {{domxref("XMLHttpRequest")}}. It is an _opaque_ object that represents the underlying, browser-dependant, upload process. It is {{domxref("XMLHttpRequestEventTarget")}} and is can be obtained by calling {{domxref("XMLHttpRequest.upload")}}. +The **`XMLHttpRequestUpload`** interface represents the upload process, allowing it to listen for events associated with a specific {{domxref("XMLHttpRequest")}}. It is an _opaque_ object that represents the underlying, browser-dependant, upload process. It is {{domxref("XMLHttpRequestEventTarget")}} and is can be obtained by calling {{domxref("XMLHttpRequest.upload")}}. {{AvailableInWorkers("notservice")}}