From 41f1031f4e1e4ebfeaec89446bb8b49aa9bc546c Mon Sep 17 00:00:00 2001 From: tannerbarnes Date: Fri, 20 Oct 2023 04:18:46 -0500 Subject: [PATCH] Added fix for latest burp breaking response searching --- pom.xml | 4 +-- src/main/java/com/staticflow/Utils.java | 42 +++++++++++++++--------- target/RepeaterSearch.jar | Bin 149154 -> 149328 bytes 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index bc57753..e83ad0c 100644 --- a/pom.xml +++ b/pom.xml @@ -58,8 +58,8 @@ maven-compiler-plugin 2.3.2 - 1.8 - 1.8 + 18 + 18 diff --git a/src/main/java/com/staticflow/Utils.java b/src/main/java/com/staticflow/Utils.java index bc674e2..f7cd36c 100644 --- a/src/main/java/com/staticflow/Utils.java +++ b/src/main/java/com/staticflow/Utils.java @@ -157,22 +157,32 @@ private static void searchRepeaterTabsForString(String search) { JTabbedPane repeaterTabs = ExtensionState.getInstance().getRepeaterTabbedPane(); ExtensionState.getInstance().getCallbacks().logging().logToOutput("Searching for: "+search); for( int i=0; i < repeaterTabs.getTabCount(); i++) { - repeaterTabs.setBackgroundAt(i,new Color(0xBBBBBB)); - List repeaterTabRequestResponseJTextAreas = BurpGuiControl.findAllComponentsOfType((Container) repeaterTabs.getComponentAt(i), JTextArea.class); - - if ( searchRequestForText ) { - JTextArea requestTextArea = (JTextArea) repeaterTabRequestResponseJTextAreas.get(0); - ExtensionState.getInstance().getCallbacks().logging().logToOutput(requestTextArea.getText()); - if (searchTextArea(search,requestTextArea) ) { - repeaterTabs.setBackgroundAt(i,new Color(0xff6633)); - } - } - if ( searchResponseForText ) { - JTextArea responseTextArea = (JTextArea) repeaterTabRequestResponseJTextAreas.get(1); - ExtensionState.getInstance().getCallbacks().logging().logToOutput(responseTextArea.getText()); - if (searchTextArea(search, responseTextArea)) { - repeaterTabs.setBackgroundAt(i,new Color(0xff6633)); - } + if (repeaterTabs.getComponentAt(i) != null) { + repeaterTabs.setBackgroundAt(i, new Color(0xBBBBBB)); + List repeaterTabRequestResponseJTextAreas = BurpGuiControl.findAllComponentsOfType((Container) repeaterTabs.getComponentAt(i), JTextArea.class); + ExtensionState.getInstance().getCallbacks().logging().logToOutput("jtextarea count: "+repeaterTabRequestResponseJTextAreas.size()); + if (searchRequestForText) { + JTextArea requestTextArea = (JTextArea) repeaterTabRequestResponseJTextAreas.get(0); + if (searchTextArea(search, requestTextArea)) { + ExtensionState.getInstance().getCallbacks().logging().logToOutput(requestTextArea.getText()); + repeaterTabs.setBackgroundAt(i, new Color(0xff6633)); + } + } + if (searchResponseForText) { + for(int x = 1; x ihlv{(8kZ@AE$A+|a?s z$xZUjJDcQH6jvzdW%goeFqcf}?{CDCev75izdkG*To+V_XRLpOxJO;P?kwW&8QxOW z0;#+rU_$%>)CqCmB%V%)2fUkvh;VAoBqW2AK21W}ILWvZ5<<6}Zq-1A;TH^=>TE8x zWccN9=1k`Fn!VH{-(HrAlr7LtDOt0?y^qC`ycaag>+%JTDkO{-5Iqy5uwOAm|h+oM`T%vjX+HKB>KnSs=d~oz(tJjRuJ2aNXCf3p+F)U-(0PwAN&F^B&sOt*%L{QRBkvg*^$ew< zU+Qd)MN|>2$G>UX@rtPvXT|8TQe2MA&dE$*aBA`MeISy`7Ifp8+kV5Tt%Jh~G3$R? z|A{b}jpbJhf-ecJsmO^>T{oX;y=TQqpo^rZiiJQ>M!L8cV#%I9Zu zigTlLirY)s=%#)4X14EI^ICy;Y9!Y-C2s}paDXd5bTd_ZafJ%xs@t;Kmu8vj^PZl? zLpPFJ(mfL$p$wF9wUytV*}SAH>(wn&;bIm-?KD4TEF$b(jN;uSd@tdM=NOqL^^ttY z@FIVw)?lGZp@&evpQzb+CgH+&aE-a6QQAz5`(q+=+PiLF`P|s`rDI-Ob+>J^|7eqD zK8{CCGIy*^@7F3g&u@{nUgol)xmPu z(G&JV(?1$)tmYzxFQ+C+Mz}}Dj-;Dd4Tz2?3b}iSY~(zU;>}B&ZGKJk#!RVZ`THGR zG+!I)(YH9}GRtPkba%7+WR2XD{65Eabj%XAgC06(Q1?KW$tJu>R;TbIb6T&c_9WY7 z*vMcWy+{n!!MwdpzH$9+QPq_f52!bJLfM+xNdnhN6l-`?8|MlKjY_N*!*wzly|?*` zcT9e6L_1LN*6UL-^G;fWVBX<-k5L`RB+!nKkg(0OXMAR;FOg$3t9?g@kGeD4`P^)} z#Yghi%8_`e5Yz7^Rz~akV%|bjK>XZQRn?}n&s^;3zGT{*Li!CXr{fmQA^kK$8zL#* z?-&oo)k6L+I#T@p=~F5E-?Mt>l4QP2u(4kmqR30|zj1olT3k<`>dlI9Sx|VSQ0obF ztQ_-(mFJ*fRb6>+Xr|rl;%>azozv_Zct7bTY%24ba?JaJ70*pzBJ0%^-}*J~yI%R( z(N2&oM?1IUaZIx2qjJ>I%x7+crUN>Ll7R;@H8ljOL?3RrD^)wMzbX8h)OADk{mo@m zj38mosZTB9^me{Sx<5$=nk!Cm#GpbmM9^{W>atT?+gm+L(jC!nSt7rYvG`}M-`h4fw)nyCbf@H}5> zGGnQK@WioL*4n#QD)g$FcSa3IVkul2^QlJr!gDQ8?uEY?M+NP&e3Ll&{$LLC zY5xq1UzA>BtmKL#Cg6-$>W$Fw`;2-I&GXUgX35f5yy89Ydp>@-I@q$t$5D+(l|?8~ zNq~-cB-Z@wd`qlYi|x)Zeotb}M2&fo7v0PcVQbpNl8fV)p zqQfR-+0|R4v}?DW*B&u4<#mUdieVI5A4zcW)yJ=;trExE*Nc9ricR$Kzo!)bHh+{( zk9|>LRr2Y9*o#X&l6O~I+_z*>AE1M4E)Wu~<_Hg6PFk?^r)pipPqt{ESH~{?vZu)M z9}(c;u_If^f0s7!?L8!p9x*%sYxsMDZ?hZ;3lh$_)<4?bT<9O$*!Z~3i8s48pc&^VXiyzi zP#4!qk+$@6^)jzHHR0Kd@26TcCA7Cxx(3L#e{lday)~K9&=#{ubgx6~>N@_pWnKSQ z=x0YMH=TH=ufC0lRXdUubuEcWm}pl2bWV+@?a={p)t(0meV538*n|!05aLr3sh;gX z4XS4+w=58QmkyjL;kbXV`ikCr3yDJVf(WbF%NJ`z`i#2W`r8Fd6>7gal282-R6Ko@ z&#C5ZffG|H;rT1oUsvy$&YUvQ+Bg>zM|pd(jNUG&)6oBd6pk z+MQg~YAuZW{Y-qx`~_)sx+O>&(~3iaZdpf$$E8tyd=R#KuMqv+ouEr#MEO+c*}6b$ z!TmQ3-|Sx{$xGCkYB}EfTugQ%#awuHtdFOszll>m@uk=|x7V|s^>-J_I^|#F2A!;7 zdpN(8Yv6!iv#?pb`h{`@eXqpYAlm7Q%)E>Nr_{s54#w$tV-7a8*3R=st3P^1RafSU zS(8w|`J_eP*Jl}TCVh3vaEgO^yvDj%&u1gQ&)JsU;e5f$L3{h@TB{E8>%Qw$lG@c8 ziBZh-FKI{aw|pA+#m>T;q;X#zU_3k&G86wZ3n5F8*bfP#tE|Z`pZR!YOjkNjo<%hQ zr4@uC8e*`Tzv<=N{DHWfmlt&s=53}9xRZUts4u7YPAW6Wq{34(=SM#rUY%Y%;p41) zn)X{uoc0X@!BgzYS4L80(A!f7eR9!@^@iyOPJ6jOKg&zAoVwZh#%9ar>c;2BxvY?P zYCrFXh#!1Vo_m3&ba=+L&V582--niCnv|5vI?uxUQ_SYam9L5}M`&-1?i%wZeG>IE zFCJRG$rwx&%Kt4n$X`To|O}qCb<0~)CYfYIK?izE^On)?|_e2lR+M$fUGG+*N&f?9b%Jwf3OpY32!Y_zw>De*KZ)ZHh!7PQI(3C|_yC`BF(8&u}q+^f18Lg-mh z|3NNe8xnZ`+;B-#0ACNa9rYzQtNdXLbfmPA|GT3)_eyqTkTrjgn^UpYhB)n*0+&@M zA9E-12iK?uZw>`C{+qE8!vAffd%dT?eG*u{5fT56roP?q0Q;|P!;_VX+x1~HNuY?j$m76k7 zMbb0p&g-?+-pZ9sI7xGDm@`DQm!{%nqx~J4ceBJBkCxVMv!j*k1H{;GPnAP``MkCf z!cCu}jy33d2L~z%&3b%byFC@gztYlJe0SPNUq*q(m#m#O=4YXlp|WqhltYy?0Zd8i zty5gJou&}^laSCtvZcOiByLN`SzC@dc%xuDyQERG%&^F^Ijp(Ocj~5ru8sU98^0~K z4L2dbrJv<`3GrxRVF}%qu8JQMq8FDgu$14tnSYy+laE!|yW{BThitDLw{}va$4#P> zdX9gsc-bZSyoUIOuHhbsnz*F-ou!9Rq@AOwTG6iJ2jza|70y@A{MR_q6SeA>Y|0D2 zd{g?cwEe|Dyrw^{zpB=*ZDY+uLhZHifcy4{vyR_n@2FT=Hrn!6m~!CTA^)v$=fWH4 z4{dX6!Re)@L!?n5#S>h#!F-0R%+VAdZC>UMbGseid~80lvL{C#1^-Zpeng?-{3SLh zWhp~9MIkb8e_!Uarc2y~i`CWLKPc#0?wawxxKk#%A62ZG!OUDqQxi#pU+-g8KT!NG z#raayw`1X_@Xs5d@0+Jt2h@!*pN(6(yTWpcyokjgg?Pr4DZWx%G%~wMWmi*^H^K^A7r z0n_%fc}%Q`&4`=$$Eukrk&F0)ybbX(4J9NqaIZ^tj!A&-+Qr= zJlSQ8ja<+?cUw8~rTfU#^WE+$3aH>Gva*57WQ8EaP0*de*5cazOkXqsTq`lMXVJE5WGbbPgjTb7149ru!0Ps0NHYm)E7btwUFXc5W@7L_0Od z{+e~4pPvY_7Jc$6_Lr;qg4uu&nNHtJk2!gRv&PCHx?ifrY0yNU^*CxypLFsl52#6= zNTXYyG;DDGax^hQ^D}wW8LFppWGW?TCfT_+jhloNAJ(=R@@ZQfRmdS7tvBEk^?E8! zum8O(ye@q>QwPePj&Z#GF-c|J^=Z9o!Dxv>@w4Q~9}%e!MH3<}E6tb7sf`)B4INxp zQaHz_>5?dV_gwTCdMkAn-)P$^kh#~r*o8#p&l&rJ@cijKQ>_>(NgZM z^PS?6FVn7)^qi8({Spn5J(bA5{k6{*B5Py>QVP1a&sDrW@AV0-$NNCrT3ovHAdAb_ zWJ50MmQd=D1H*X{m4&u~x_T0W*WF$e_zN<5_xqdMF<;y+o~1JNn)NuZkmJk!dd7=c zVsKSbXa2(t<}1;XU35lU%>C7mOwR=}zQap1IMK#N->>7oz$c7)nWeYp?wA|%?M^Bm zh2CO}UGT8gfXa9)7S0h?7 z9U%q>#gIaQG;7NGJrWw(vW(v)O|LLS4}C4_N#fs^op4s- zka9`rPAtEW-1D?U^OZZWHI+o~{o-|@CSfSfow8(Iw{mh|Ms8uUISM_Wb?w%hYn zv>z8IE4-F5Rjgh@%^%|<(6jOoGb>u;N1do zx?VtYwtL;PZ)B(ZB)T+-{%S_@6Yu;CPZc)h#8K^ENi|PO9vb(mlK7k{cu~l296}^t zY2>J?D<3dWdwPn0>v5S-M@s*N$3k7|cV}6)-MuWo4a(AfvR=+=7T=N$FP$^iWUu*9 zx9?Lmu=>!Yaon!CU^h5pyhL`Mq~yVyo*Ct$om%J8w_(O{V|e)J#d6f*Q#MxPxVw*= zyK5=0u#v1;#}j$A%6Xk&t#;t_X@TO{w0I(WZ<%ZnW#`ttwcW6>)~g^N6J}h zFnEEIoky4(l%GbmDRh1g!y}npCeF^QCDZkj=vc#x`=Ut{%C=fCw)%3;pDJsnOR<4- zoQr(UpVPkM7yV9__>oKki%Yb(3)^-RD$IHox}JQ6M3( zOH4qVLn(zv;B&CGIdkBNk6g3?xpP*(Zy^RF7vP*y18E{$I$fYUGh_xZ*1;~ z>b_{k%bI>+Bpuqb=CE_ro~Kv*i~g5(A?pt528MHqwtl8)o3&e&lSS!jBXw_?3SBct zPues@?pN5KnF&tca>Fl5%TRtH#5%)oK3j0YXVxl?v~ghF4<>g{yk4kpnl1VxZjZm# zMOrtgy5Vjz5#<|O1-FSP-={BwXyY589zwg!Z~f@%urfznj4lQHDw<{Q&b*WOvBEcK6&ukIv^Ar zgi?{MgKEioXJui}O6EtVSB{+->*j*sU(8&)r})SU0% zc~jY8>E_w6eUW9TkYDzL*-4XD{d}@_CnuKzW>+pJ2<3^eZrVOunr;BRMu|ly-r|!b z#rxPKYZ+D6yGAH6#4;B+F*NdZy$onHk6JRde%SglAQCd){d^kl*TBg08Oj4i zUyI!mfZiWa&CfPb?5g_8`TA8QbwVny3*EsleC)k$qN-bBAtfH3DaZfZ>skV@*AOSD z*MTX~;?7=9oNAgr{OfWr}5<{XxryWsS`IqR2OFOMaiq&t$ z7G%!(y{d?KwWfxC(uQgNrg+uxBW;If>g%a%ITqS9AJ2#`*2d9CRxVWEi8BhEJuH5V%kHI; zlyHTT+znuO+NJPEAAdSsO>yBwR&eF3M(u5lN{T<{Bl(_rhj^urg)CEOG|znXh(qiR&F^8w6wRwz zHVy@sUE$>1pc{3>pTC!%*$qEKwLpCiCM|LA>NOKc%vHZnQ3rnRK!Fab%>jZ7lg3{H zQt6Ga)+#y;Xt~6_8B)nJWiA{g;o;mroNrfHGV@fCXDiqL^K6BN9eKyY`32HMTNuWV z$e|j4T9%)Pr*>bRO%SgntvTd_XqQ633XBH6j6cG_{Bya zx-ur$RNp16FM7Z3jZPvlojQ6I;u2NcC@;%Q^@`?+&WsgLh z3q`c_c8THs7&nn-Q~K$He)iz#^JuxZ1hVR!7pn$~DMq~Hf-WuKi@QBj{BbofW0;)p zZtDBU81nkbbUXLe#$;yM7hS&M@f|4J%p=az{-3TH(KcC~eZ#gh9v}bmxYihg-f=4kjh7@rS$bCS{6%r`ys)PD#u$$KalGB3TMIDqSCwUH%?+wXbLV zX=OxP-B?cNa-w2!iR`wgXDW?@A764Ws|8)o+5-#v$P#E$t~4a6dXoJ>Pv}nQ1L~4b z2_NNhWJqa{MRBJJ3VwnkVxUC_~FZWdecqXXXKzEQf9R%1;gnGa>9*Gk=LymB93 z-Obuv-+LajYSnPGrS>uNs!Lo|u{n`%YK7|Z=KfZ;-OVY&!360oiC*DnnXLrY{kkle zYi(*D?~%Mw@1r4#3R@k@6R~HkejD<9k1xhpT>gfBdR{qQg*GvYc0T^jGrgB+vPwK} z;{s9ruKK*kfX78mhC|TpXA?7_qxg~sbFY`*=eZ_p<-wX? z%yc9|K?O#aMqVgXu#D6XT}PV}-#nVu>r~560p< zwDsG~bA2~f-Y8hcX1}M7i*04se`m5`we4%Tb6tWo7 zUyv5n<)1*M7C(uR`@S1juT%f_8JW_HqYDzjpWVOVebTZ}9{<$k0|^AQ-Cv=4|3)qJ zD|>V1aWejkF1%7A8Y^SE%g2O_t14;^9&4$6(!PgsYA4B_TGO(jezh;g-y0C-L%SQl z9y)!zHT6DM(bSTEslQgQ(U{rTCs zA(jQ^d7__+L;z{V01K8N!UN(SVYk&ZR;Ve@fd zzVlK3Z7Bh$SVp)%`472ZaT!vC_XQ5yg;5ry2lgvS@~gr~rMN)h3M2$qVP!$EzXHj? zQDTTJ0BlwvX*fpwkW;n_DZvjV5m^Rst|7iga$tQ8spf?>#5w9v;lU_tk$|Q(ND@i_ zYip1TtgM73v4M;0&O2G}+sIr!cQtRf7qZ9-B|F?hNO=|a=kKkOLR zlawG$1ZD#oTgV()K8fMhV+EdDNNnCyhrQ6rkHi3hix#C1A3QXo2-MLV9R|=$s&b8xn-au`)YY+=jGZ zjM<@Vu!9uD$Q&zUqReTr!$Ab%mmpFwu!BTvwLD}|{6PA|XMM=Bvt|UrKaj|uY%qyV z0-y^kv)UrE7~tDQn%-cC#W4qVoFEoPn)P%S2{dPqfP%p9C&Yl!I7bcGej;9_4u3#X zIKT;!wSeFzgaQnE5DNsru|3Ea5&^k;&_&qN?J#+~8x=M=8?f6)ibr+<0U0pYeaJ!l zJ`(TLUmfG?!3FmBk%CEi{NW&&Jh**;@Kn697)XF%1~74ebj`@;H;EtAkswWW`Gqu@ z-0!dFDL*d2iS0`t))40Z$DJja1D1rZ2K*(~1kfEuNKS!Spups(uroXy^v4RkVVDfm z{DN44Jp{AB4OjofF@TrCezWKS2@Gq%-spdOorL|v54qhiEDKNFJd|1Rk=(4e4tWN* z7{I{-GIWwUF!E~)Ss+X!u$B};m=HAK!@_X%UmepFK?|4(5KJ%XH-`kc5Wv!~@$J8Q zEddf;Ip(*n3b)0AUP71&SP~+BJBJDz$R>m(p)v5D5H^7`6F>_Y%muWG5W)~n!Q`|M zV3-ogK{ggFyLZUIl%^7c4I)?w{)Pj9+7b9TES!w8%adkNOY1x}H} z%CK?yp@NAmr^F^gfi`l)y{`HYO`(A0;2$+u`6wu(fR6x23M8#s?O)^+JXHTzAp-)G zusl4`^cOh-qAB51uxkqz;X-Om4GbCJ!+n7O&{H8Z?+cKmg3rJ|+puHC1|Cqs3UJsf zkcfi0!9Ep|tRAOejJxQ;ITSL8UqAv1wuL$0;7F9zunJ7qb*LaDPH=}B@e1$8&4KsS zuoT>gQ!s1YY~TeW(#MlDNFNp6<0u-mFeQkgfmPvx{zC-ek%C1Uq&Qq3{!$F!;GsWO z6sBQ_4!4jE(;|_^NB&qyF>IsEIEyA7V$u5iHvl;Zr$dV4HjW7&=LELgNYXhhB^wK{ z11@@47tWaYBa?u5dZe#&pqU=&Yv?o<$8>$A01dpzN?^x;I7ZJLl2aI9MTi5uXMoSb z2@8jiJ|oihq_4kyn6Z5phT-KuHZm|n57U5sLL}02BA61kTRk*!vcRO+H4+8FnUMH7 ze^E9}!Ui$;%!Et^m5o1CEJz9Ln32#Wn}0#j%8VQ!Gyt;pc)&&5hd9zT5`bZWkHLgL z{s73n%!0jYcahzZ4wJo01k_oP%gpbO&X3(sP@s|(X~?CYze%KEg%ueluf5+oEv9sj z0z08lz@H5vzS{q7AjJIKX9e5X2{p!sbkGG4g!978DJW#wA!kSOWZ?i{%#KuDjNp%z z8oXqO)!=tThXA-vjx<4(11Tmw@gE8~K+z&mY>A=YGoY3O$;?UiKlWc7$XFX7V~(W7 z#^C_IoJgg*sQ&QyaI<8A6Y+je^9MbQ&VnHnChK@&Yh0pjS8RdaO@+4X9$ z_9qO0n;+%?Ul<@}YziWP;)Z$QuZ&nX9$?LlBo$)9DfihS2JnI#Df?Mw9FoqAc>NPm zoFD#3>Du5DRXMy#-)ONDH(GAg9R`0azFc#L8#kbIO2P7^VltDi8@M zS3-s@OBwm4q>4-!YeA$7Tq=JFR3J?d>4Kpu7GVVwSmoAlrCt^3f`Sl&+*Ze#(L%_g zL#2gPIKik8EDe1GDC`MYQwN8I=pZAMAdI-UodAv^$YM5zRq_rMejp)&^!O5R5P_Yc z%YaK1J_fc#kcKy7Z99ddVS^o=3u|^^bW5dG|NO%|9zcxKs(H_@RUwh=S z)@MniVjmC=^c}2A!1mBBU@Qq+!`05fL=xFa-bx~uC{DkX>r${fvROAv!IscD;3$nu@WXZK zgf!BGR4iZ#Px)eJ5H0AIhRvW6z%2uxfNA`3n1(+xj}A|+B{In6|HB_>Dk1F{lRT?njo2?yVmg%#mXm$8Zn;JAW};=U~66&v{1iyWBCAs6>@5DqCt z7Df1K2u>lF$F97g|Kg5>BDX<@C$&U*B#pu~oUI#6)I{TyP&7mfR27gkZ^E&N2teIH zymGKe_DvkJt$>WDZ3NB%X*<#iMFeq;#34D6NQn>k@7Ib*n%o#1JQ{-x?q_*q^!SvJ z(me(mO0Yegeg|u%2m4CMj^3bzWa;|{QHLAu;;Q)dE_UK!7f}g9q>9t=pjR0=Ruw2C z6O{?PSB6btWeg7U!9c%{4>l@D`elHFxl)mKrmG+cs?u=CXBDJ$uhVggger1Gw7ic~ zuBpOGut6qHL1!Y}L1rd7SW|_Or8El%dt@OOqM{lSFE|H>gsCByf>SP5VFq1l$YJYA zKF%_lk1R`y>Ihf<39dg)>M$|5jzxU_LDZ3Zo?q&)6x0KxG+=pX8+d5I%J@7*5Ku2d zPVa3RupndumNj5EeC;v_oGXLG!7WXs1pA;&6B&BpmnquF+@jDz;<{mF8Q_hTtFf{I z=+%P7kUQO9TCkDH|9o_ehdk8#{e!|=*4%sr;W_(yOZ@wu{(n8F{y5-aJs3c?Hq1nd zyZt}>@LOUHV!_w$gh1IO#4h~Lvw{DOBlMp*A)O#g2bSl?vi|+KG~-_u9$tQUD-!lx zC+?yl=fraV{rw@&f4H9k_iBBn+K)n#V7_P_ve3E?8V;#=W^^b^cYE>l#f!GWGGvb8%&0eH9slFtUieP#_MP&bMku|k%5-EXmQ z=#HrAHopwMTGhUx-9Zz4^YL1C&IQ@?3tI)`q(&b5*te9M3$^7qw>Aev#&u#AjbALJ zv2cXeO7aGxB+WLOZ9aZ=uy9BUD73CjDfhoSp(wc)P{(QKf(O14toK-+-t2$*?Dy}r zZTm=mJC1C!WloPhwKXgAH}1s&naA5gO=nP;zH+9Clz5GF z1T%z%^c^-1H5NYd@BeibNS%YIL9`Z3jk;;!WyWMd9d(jBzJw^A+Fig)AP2P9+uwgR zako^R7`K(0n_k4`yIUPM(KGMq8P&ayMQa8J2^P0*Dty?wA(_$fY<+r29S$44n(w<) zsQf~H@zjf!3kUl@S5~pUofC~e8HhKBp3@=I2)(lE*V2<7+n)P&)cne=#Tf6UVP*|f zh*T~~F?gSHG1v9&`;01Y@H|rfSJx=9t!z5+RJ}ty{bkwu6m2FU9D+z_%Ya@r@BH28 zK^np60)kqT2EojV%L7u(gTms(G*TC0-d=xr@40`klvLdPWbK^G$qapC>FN@elIxK= zr`8QmP^fBlg%OJr+c-#*#3b6paB2=Dq2h^}bZ-`cQ|aZyYA%)NV(vj&aH&|yVjk5v zQ@CChPd{%yEB@g-A-#5vOmE8w6Q%b&ZJeVNZdj%e%iFY2(qdaIAA?XfHZdFv2f>Br zR!_53LHT8-{Ih{AhJ9jW&Fwa}i$V%&Dm^;TbdE0>8#+L7Y&^Wm=GV)V239NK_1Kl! zcp8<9s8bYQZ^g?iIc3FPu>W+`-QYG#oxZO<9=D{-eP)>2NG*ve*r44Y)jhSuHL!)` zH)SrjuyX>3i|1*}rtfyi{F_=$PS$>VV_!b+4Q-wHJQ86`|3lY${*`ZSyE)CnYx(zF zRXJ*kEC=P!N>hm5&g=2WwQZdY*Df-9nH(1o_|jE2P5&u@g2#mxei7xewu<(7TomJ7 zd?t}MF3+7SE$+Ph)TO-{6r5lEMdh@(LJ$`8)hya`G~;)yWqHqFi&BwP{jX=%iC!m9us^VDoU8KR~OP3Xwo))%LJWC1ZN2#xQRVmyJQXR`>3PDMqwj(n)c-WI3p;yO8 zGd^8unLSiFLCWtobP#TBFvY;+86^}yy!0~Ryb_-!vACikf#V1HXRVjA$iLZ*f5qyd z|82ZT5-s)U%~a0gLg@>JCQnZ?(nYnl85c*N&k452=j42RW{a5uJ>D=Xbw`@}DMuv= z)_Lcqu2gCd&1~UJr*)i2)rs}-{YD(>`-9Ua>4&SyvZ1Riyrklr10-#{ zr@YAnJQ+_tFD5&a=0q#&%k;%1=VHuy{*6XDrv6Ypw$@T?4Hd3+ydO~-b5oxE9qej9 zi%vW3n0Y+07yQoJ)tqVc=1k3b!VURa2NZw4<<+Og7Q-)Vl&k!zZjpAJ#p|XEeF-at z(zcIK?(-BjV7(~B6>Y@vc`rn!q%#{ER~R}^UKeyqqbevt%y=4~OIlPkHk8t-)>n7y zI^7`ecEanxef*F_--9c2nWEy_H}FcXXUlc*iE{9?X0Da5;%7Rx2v0PmUiJ3NR){ek zESaWe`69O}R`Z+WanK8~^wlRG-=*?yqvV_1X~I^E8K?C5$E)XAhGbTLWI*~)W!I%8PT)JLf!oUqoVWo z11^S7y>!Nt_Maz-_abg7P${*(E-JFgp|5f})0>^>+QZ-vAaQQ{(QJF;=AgI!%>pYE zr<#lmnu%98fxZ&SgMvG+eeG_s;pE$W+q-y2ckX(M1L7c4u(-bm>4G>4i^U{H1&y8JWJ2CPy8zHntsDkKSR8ZyY{9c5NB`JDbFWJ6A4W;5P1EnYw7) ziG7MDEHRxSz3ro%hM5ch!HZ2X{_qSvBfAIsw(Z{FVCIjzhKJkPB2W- z&)2_jwI(P`d@C9{AV!7yx^_xs>y;XH$o}gu^Cs2W>fSPT&GdeAVf0!tx7^P?{)ltA zt%gf|NNh_gh3i)uhi!SIJ+=6^b6wr8hNiz$tr-e3Mn37en&0na@G!WC<3)U@$HXeR zL6>ejob#7e^=td*b188ZtZw2vAREnY%DEkGCzx2S@9S{k&W~C58>k)MnU`13s%P)C zTqE@sdu}bKGV*vS)#_)3-lUmYNqrJ-(1pg0>TUD4#4T>M0`yN~`DuMF&yZZL+9c5{ zOlBu&xwI)Iu^J2kNv80kF$f+t^;FeBfS~e&sEBD-tYaJ%A7r&d+#qYAM zLeCgsu<09;zDn}(qgO17{frc0Q_j|y$ph_Aah|xZNa$WQQeKfbW4?cVE0jsCgZ znN8wfSWS()xKnS=e#~6TQOh6ZNWoEPHoAAgi!Q_$d`s!2?mw%Qej3%ib^eKz{m-Q*Y}&@rDI5^?qUh|Ec$Pj|=ifA$HVF zYobu*S3$q4gB$8>(nYNMB|I5aRAsV-!=ShH^|k5TgN>J-kv)^S8l5+KvEC-Uq3-MO z8;KZlN~&z$L?!-84}D^}bO~^W!&5zWz z8Qhy+eVgC1QyB0~{vd2RU;&_lf8%1IzVx_bxvsgdE%RS7F8-0_*Mr}it|?U?zMI8R zgB!6@qxpQ6d(PvM0(mqW4I``|$P?z(!$?-@)t#ZG{b6EsBubIim`GSR-(&onEc)*G z8|9HteHEg^@~Us?>qyh$+eyb&hj+`9A!N9F;p? zJ#r>B;iZ7hWa}WKu?>Nwn&dLSCc_2h293SFhlyISv=$M;+a#Xn=2$`a%T{TZIkP1C zD!I&i-cE9HG!q&~3y;^>shddJmZ`G4vWm~wP%N`QtDf*nFL`C^mObWG{!O2y!ng8C z*OF98;?PxP?bz^FZ9h)OkLfrE_GO^DICH#jtL>#Xl{#_V)UJOm=jO`aM!{MhnVMnw zfTFBesDMYHJ~~G7^#$&(|veN z&p_cW=wY+^yqQcfWA=`-=#S4Pv7zj_86*XQxxuqTPe0DZE_s4elv?wri#SNz~qe@)TKaXR+kB>h67jNWMw~~S<_8aRS zESde9_gy$i^8DQLd=9UUcjH3XQcWdzW^dN_uVX%)3u)c3B6HSKgu`zLo6n zk99dV~<+K3hmwG;QYkw4@3S+Qf8!pM_;9?+3m*jfjtX=jZEQH(ny}nX{sAs56 z-`O?dJ3gc~^Yl%(&j_xvOQgQEC;6`6)4CupyP8T>CP|f=+0V6N9l9^qO&_?CVKB%L z?=`qEP?Aw6$0y_=;laBUJ7JoSlJgwMVaesZ8yG?3$d%W)AiN>wT`;7M^EiV}Izppw z_1QJYDET^i>4K>XE5nm|))A!hWP$q}zxzK^SxvS+NK*=$D&BJ6<*iUV)AO|Q8lIV% z8Pp!HlFQ&IiW_0uS2U-n8T)=xuS3g>T72xhL3;S*dvz7U@<}S=>x-d0XHhLPnpw=L zlQh?cuXg0+b4fHPn%<>&;y7O|wcn7@(fN+hPI34?gDI!mwTjc~bs|*g1Zmgame=lS z7oUFEvma~I*jz)Iua{->Da2!WIj*`ayZed18_q*}!`V=DBkR}^} za?#8;xAfaHP%qbv6@D`uWOvJ=MC1CYsI1$3JV+U1aw%hE+tl^n_>O1ct!7l^$n2Z+q4b$(KV91Jm&-iLPJ4C-WkfJ@IYs;?FPCrvYQH0+X`M77 zjVaj0aH6!KSKTVp6r0kwvGx5__77%W{mXzeencyO?b=AIDBrXYm*zs3iRv|?B3>!` zU9H~w*;AnKcM_GrXLV02^>U6d!pC|=1om{BE&~&bswV??aTNGo$&Sp7zH7K?^z_n0 zoKNMXPjx5p(n7Vjf6TOP2cdS@rrSE&P+7|%)?5V-mR)zh4Wy9?y{Fu}?jYpULq=bo z$J~Z?2p86#`Qqk4_EO-*qx)QblqDogK;= zcM$B7d3I?ISH{2jg>Gw_%@|66rRAKUg@u0Q!g9P)^6>2^yX!2va z@f!_N=WFSYbLMGE{M$nVZ#56M8V;X$o8F^4Z792CGx6R~A|hGiA;nJk*7`FyG^KW9$=n` z(?^u@lmW*Dbgo8!&3pNiZ@Ds{f%%l_z@S5tEEC6qw6VI9kaaIj#E+LBb8cIT^TRbJ zFW2okXczMF1oW$36(t1IUZ#~+yy2*MlP^{1Mx9mHyOh}eUKi}#_1xNmR@4Jkk}7SM zs`n8ZQ8%z?lZ3QPyz1nd(&@R4!3o)2>)>52C$Q*L=%|@QZxg z`Lh*^#NOGN+Y>gIPQ_(REDuO7d4DhL4Ay%$cD;9))`zxjfj>2dZd8|{sWB|h;Thvr zcCGSKC1=IuS=uc@f{SX&RxI48pTn;r+Cv(j-O0N9AR#d*FO#VThiN4G#z>Nk-4(Hk zJ2xGfMq`X76Ni?1MJ8X2k}LS(+v_?JWfU{*oD({wo093I$f`|t+6j-f@3fL$#)~_~ zolP0!9&!s^vTS@>kF3;nnf!{HQvzJ4*UPK~OR!1L-?17N6@?tHB#=ILRYVDJs5Z+Q zcG3sN+|+bg+&W*)e7ftaXMWexxzrF!XKUs{^@xYO;>jPY1WNEcCD3wjJ_XH;Sh9Xx z>^YZJA9BIZ$NLT4mO$1*o$?Yo=|m)<%idS^S~W-7ou(6y7Cn?}cOP!OuAWv%po)_w zGoD9#*_d#x6%k%sT(8KUb1^VM4VvxWEm_0+wYY8_GF0TK$n#n-mS&OQR-Gls>(~YT zTmGdcVIolmf@W3ij#bQ$6|7GCRCF3;&joP1d!IoMz4$ouo8NLnK3;G-v9uZ4XyL`p zv9m<-vACZTz0EvD@0`oKbdE{KPnLHLV(z}O_nrJ(Y3e)UN2}d*@;`~cT|vdqG3}C{ zoRfQ;inpe08pTF7-?xh&m6G}1KEm$W2b>$TSIWA(19$m){3A>sblvM=jIepo$0cZ} z{drz+v_H$LbJUcA`fREvJ#U4TGUKj=wuop-&c{uY*K8@CT3p>OqO;^i#CiV9`z$n? zr!EGoOQpUdZY7cvw%J{{r`@K766z2n&su4^(NV-v^!(k~=^l&f@x?Ws7y+e0tI)@v zLhAY@LTarGRIbns%uO}NC-43=o=<*daCdF&+)xwmx<4(QrRcMHcZZT5albc zPjgN$%U?n9cc+Fn4B2wq@P1;_w+hJGJh)6rWM_TwzW*|*kDm9cXkTQzVF4;?hcy3- z!@^dj)sw{!@gM5kp9*|>MfH51uLiFp9ebBKF~3~L@A|iWm}Q?wDfXW3ch`c>@leQ- zBk5kKC(1$IgX%qtcB&PZI?e%gN0pglxNl~&!?fz_`ngRf5uqd{LI;X3R=XT5920{D zbh51rFK@lW%4|-SBzhmI^ZVu|syLJ>G4Zvi(+91bjhwyMD6&4&kAi(>ipneBhXzPe zuYXCM@wFS-l`UOob&a^Wu_}Mxw@}QmW}xT-X@n7jnNBi|)$NzAuajK$_4so_X&-SN zfKSEENtZ8nc{Wx&!~VFjF|)=T6`0+p*Ki>G`(AZ|+PXF^T}Tc2{#OBc_hA&_s+r_g zX!3Rh)#jQ=hU497BK=Iafg4x$=G{iMr?NM^D0r_;cjKBwHBhE)VKTf zy~=_WWn<1G?f2e)SIT6gG4UlG!b>F`60EVFo`0k7g589#|COI-y)w3^$xUA=NW1YN)gCeBR2CN0DV6#7J(-T@4<)a?-@yWvP`-_f7F~;-j%K>$@6gSZ|6n z<=3j>85LoJTBbX_%Y2`AS;BTAL--UT>TC^aA?F0kCN#s%)A(hY_tagR&>g295jhyo zY680R-dlu}I^ zz7?5q2+yqe9QgEiSaYUdsx(=AZAJwS>3(H%P1K$P-}Iht2R)X2;^b7l#0gfN^+-yK zdkLO5WB1#fxHbkk6d&38{JPoV-C_)HUvTB$w4xBbc9l_-Uq@#&3R8;$je#9<<| z*`&M)4|d}V?=SCe`B&zQzfhWMp}*Dq-Mzff!G8S9sb>}_?>p;{*;6&EJ$R>U^TsF7 zYOi^hNIi``z}-wIdOz2sKAqa~{?ne8-pCY@BQA(c6%7a6?f=0guJ+1%$jk<&D7la4(VcER2;nJ zjC(&ic3>|)Ntpx1N>$s-VgRk zhgJI6>6%JyO41&5MHyTlJdx5#k>OQ0oPeXjeMvQ{PsRh5x4r6l`TO@+a}Dn6qpyc{ z6%qr>@R|v&RZuw+ctoWq$#_^k4%=A0Sda|c8d>EhuI7@r&GQ)(;Nh~iE;r5oG&c3i zmn3=WLN<7qh|*1KWIc!dvj)PK5$EhPp472oWlKZ4TeI3g&MVd~K=QLFlj;RBi{Dh(Q2G1-_hUdZ~ zW#0P{CU=*=VXF>q3=6{ zEYDuvV#6$F;=(vo7IL(cg)Hg+ce1$p3DQBC1se|;i0BLJ8J*F+Z@y+EY%ug;!ITuw zKaxs_Ce4tVc&L(CngV-u>NMiCw6GS+RDFqYO0Gy*$Z0`OiG$_ZHgiT+6k3^Y_9UwJ)D&?TpHRI$3{nwA&q?rq{>4PNNS& zPMN}x|0V_yOpX2bZ7s-Ogd|BY?+=gP!h)$q$PDTMB1@12v>?1XaRPB=K}VjT01uWSa^SQK zF~UZ87!cf8h7{q`_=j@k7lIH3+cW-k#sMF`A}I@*4kIwHKw7XSEBZX^NlZP5;c>vN6@*d5 zhM@dlVFgl#+j$P-Z1a!-lW$1eAG}D5IKa(skTkr{cW9I0X9C2lh%HPIJu1i!tX3fb zxE>=*fZY|OrM;^VBa{f{Rv}wB`Q#zTehpH9OT`eGAH6I_42IT_PCE@$*O3mSU55k^ zIwIS{nX*7_9eJ<)WD6n$&)1O=P*A`i%z%9Z(uS23j}?57wgHL3H9c{_L494DO{|6%k zVm~20_>;pQT>_I$5UxD;N9RD}pQk*kz;Yj{APD&FLtb#M^PzpjneWIZ^$RIL(DmP- zCqU#cNE5bn!+>D!7bFi8x+5|zy4sHzDE~&X=pO0-^&7H-#V=xP7+Dydb&>994r(7D zDHXx_1IQUZ?S1TA1;YgBTyF}n55eR)lrSSqMF1)30I2oCwr7aRtD96|!fSdf7$!&s+6|G3fRxWdSiff20j@*fXIUP!i@3GAk0O zKpze)2;!BC zPp1R%6EHKlaRQct3c$z-*Z`i)LTKD*hO5ND2oK3rm5u1^=;}Ota0?F>fY<-i@z7p5 zB)Ryo7$gA1@nH|xKkpBd9ZcgRo&))qNI;kXR)H4_FgB1$3=;xCfK(s?I0#`Wu#J%; zFtRUvz3?wblnAB-FAxSSTlzn!I&5@m+QxkByAS1QE;#^?`LFI0BX{|Bs~& zGgo3{v~?xL;b;ST5@d{wA0C2f4@r+ee+<~%c<5C{0?WX=O^5PHGME66ks|F;ZvG3n zkizQlWa}}2W^JPYOsq%|8>C2_cOCy(Od%H#Lk8Qy@4Jrr`X?DOT0eS@6cch}U?Tbu zGCf!&M-o+#BZ*p$fz$B&{=dd^6tFzZI`9{0r+}4Us^|X!tU!zs8OUf*LkV+$L`tM< z+cB~uBnv30U>CS#9NjrCd34ojr9$dtn?L||wA}GeYJkOp>zug@VkFHok1#o$lxF&s4e zJQXOSMSQ|P9_mBOB;XQbPO{poImY-8@tT04XanlZ0`OEX8av9`MFN(!Qg{3<@hUC_~^OD>5k5 z_{S6yV26)%=}mVsyv*a`kjhoLY4HhN?mLcj_0!~FEe2oZR~1CxMYdWaOH zi6fq|oJhCWGW;(A2NW|PUYc(Hs>rz=g1VSdRz? zT(AX9%Wf0hP(NW5F{QQAm>LaJM3#S zUL+T_;E_!qvtvB$-#QGuD-2>dkbzs_MOMVuMl2us2f z8vh`(g0M8Ks&$OW!LHgEg#)AtA+c}&QRcKEqNCWGLP%Nux)h!i!us(SQH5l{`bpRm z*0nxjMT;Ugd}rHZ7jp1h6jp%c954tI@O6OLj;3I|7*gB!b4Reqd5Hc9{(ynwoQ~i& zC*-+6L>x)k;CzIvI3E!O;Q-eoq{0`?cwQ5fI<>^h)9z}E{zV}N3$Zs8(B*cKakGZl0>Qke_=u(B83p= zeU6ET2m#2Df>q%+zDF>jAF|RU1}C9Vtky#2^ZVx$4tK~53W&`m@gJLo0&;ULPWcC!NkR76X>!Qw8pp8j zr5@X8!D=dm5Ab%8M;Mdu5GkCWc4Qk&g9yMSMWn+={~#5LNQbwjANBr$A~F*{WMa7V zz)T5g2VE9MVE{&1$RNvNp0gU2kmaZVMwQ?*@KP8Sf78Sq$wla+kgE?nNdcD z(6Zo25k7^4H@JDEM4v+1BU5;!corh7z3dwje&-a@l+fZMxUv`-#lx&xDoEDz;G7C< z4VRT1S!YU+OP&tqq9Id$RR7I#q}3-?5ya~c;-w0!Koy`;6_$X8!JH~A3vB~>HCPdw zvjPID6-Wp9tHJ!()<+s6Xi|gqvDK>~aIP9U2_)2!6|fKN)sb2Sxc3|J$O!;YQ-_&wX!;>6a9#~& z;=mjV{QJ2v-QN#Yuu5Xo`yueIADMv2#*&x~!~OTGJ+A-ZIsk7iSmH3?zh7YeFX`+s z1TyC!ZsDUNioYK=|NG?(a#(u&QxfxW1U%7#1=%s#|2`WdA+#5j&=0GE&TA kqKb-!dR_Yejlmqo{C5^3`#(+x3m7N86K_8upLS#Y9~URx`Tzg`