From c371512e5064452123df5ab506a4689d45902ca0 Mon Sep 17 00:00:00 2001 From: Paul Halvorsen Date: Wed, 5 Apr 2023 15:11:29 -0400 Subject: [PATCH] Updating BD experience --- paul-halvorsen-resume.md | 10 ++++++---- paul-halvorsen-resume.pdf | Bin 56775 -> 56933 bytes 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/paul-halvorsen-resume.md b/paul-halvorsen-resume.md index 159ddde..4b332f2 100644 --- a/paul-halvorsen-resume.md +++ b/paul-halvorsen-resume.md @@ -11,7 +11,7 @@ right-column: # Summary -I'm a Software Engineer with over 11 years development and 15 years professional experience, with exposure to C, Python, PHP, JavaScript, Java, and C++ languages; various SQL databases; JQuery and Pytest frameworks; Docker containerization; and Rest API, JSON, XML, and nginx technologies. +I'm a Software Engineer with over 11 years development and 15 years professional experience, with exposure to C, Python, PHP, Go, JavaScript, Java, and C++ languages; various SQL databases; JQuery and Pytest frameworks; Docker containerization; and Rest API, JSON, XML, and nginx technologies. # Work Experience @@ -21,23 +21,25 @@ I'm a Software Engineer with over 11 years development and 15 years professional - Python development using pyenv, pipenv, cython, docker build environment, gitlab pipelines, and static compilation - Develop security alarms for Windows, Linux (Debian and RedHat), and MacOS + - Written RFC and ADR to drive design and decision making on project direction - Design and build containment for all platforms upon detected compromise + - Design and build secure key exchange and connections ## Kyrus Tech **Sr Software Engineer**: Nov 2020 - April 2022 - - Perform test driven development for all tasks: C, Python/Pytest, Docker, GitLab CI/CD + - Perform test driven development: C, Python/Pytest, Docker, GitLab CI/CD - Build covert communications and file transfers proxy: HTTPS, Apache Thrift, Rest API - Design compact router fingerprinting and vulnerability analysis: Android, HTTPS, TCP/IP, StreamCypher Encryption - - Modify existing code to suppress logging from inside the Linux Kernel: various Linux Kernel versions, Ghidra + - Modify existing code to suppress system logging from Linux Kernel module: various Linux Kernel versions, Ghidra ## Parsons **Cyber Security Software Engineer**: Apr 2018 - Nov 2020 - Continue development of covert Windows application: C, C++, Python - - Build modular solution for plug and play architecture + - Build modular solution for plugin architecture - Design custom API for minimal data transfer to back-end - Encrypt storage and comms using AES shared key to maintain confidentiality and integrity - Build prototype back-end service for file storage and search: Java, Tomcat, Niagarafiles (NiFi), nginx, Hadoop, MySQL, LDAP, RBAC diff --git a/paul-halvorsen-resume.pdf b/paul-halvorsen-resume.pdf index 007529bc422d05f370743f5a680eb211c1629f35..8cf7b0f63b18ee887a0cb461f37bf49752465491 100644 GIT binary patch delta 17850 zcmV((K;XZ}y94FC1CS&GI5#nq9SA6Yy;xg!+cpe-@2~LNaqNedE-RUj|5(3&H0pC_ z9{CY!yCd75JF{7ZiS^X8C!TBjL1a&&C`4rx_dI7Fh9tgFwfbx9g%+%B zw$pd?thbT|zvZfy35{2^sAXl=@q@sbPDh7pU1UO~KjK&L)*X4H5?#i@o69GocgCb5 z+iVXV`gwy&POLN5qbMDld8N~TMCBW@V!b+DEnb|^%eAO#8oiPBZv}hqyWWgqHJOaO zi4#mBAA@DH*>>PLLEzKkt0v1txqBeCfin;0B>3Wo47Qq0EkTc!zNO6IXdOE7kG_rN}u)AkTXss`N)LeHu-Jr^i`LgVGG2FT${ zG`E&l%dt1>zFlgBGQLb*>m?d2@W;3(Rxw*u)U16h!PCZdv+dKTIPk4hPY zpI{2YLK?iHZYt7Py}qV@K_Y5#E2>WX`GJ>qoQ0pJ;6cjedv`!b0Z ze!{V){XXETC~>Z1{Pw{dO-XaH&T9dnVAK8*HJlI2)1eydwws(STV%gn{d&X0-(Ovy z9BClXK69$dc$@1~ZxrMv?BNU{AN&d;$BP)sZ^ttq%>Mw+`vBX2&jl_8HWNfTeS?Bl z-wz=bIA@-z98(6gBkNq=$-H7MknZJ=H^+RVJmZL%w4s!Nw=QMwr=RD#&NT918Kcj+ zeO7QNnIL`F_i1F)V_C`y^X8CHj-Ozd3l!kZVK4=^0@~ue??-(idS{2O%OJ=7A4pLM zv(;3FqEMz78)PAW406IVCq)!kg({9GCsw@AqKTCp!3bBp#g|5<3GKxzs8Z)>04r`( zor+tMz->~9Y{dzW-zk$|wF-z_#Rl-6>x917&v>BYLZt?&{b<-j(hmjgydNk!oJz(G zpI^OWOsAN)AeB{|XsD+dEpJtx82bFwdSYl_<(PmCr@(uEH+0YCtrGdY#7eG24WGT^ z1bQXnUsuCLCwknkx2^qkTQuK1UmUG|cK(KwQ`0kHB?<@6$x3aGEly;tkizLL6Cb*| z*Ukae|0!eUi$s+$zIRaWmmbl81qV<&ATTaP$Hya5PQwE5vj4I_%%*7VP9!i@*GnMA zN}VYpj{n4ea)ULFH6;`NFzTq}#ak#P@@N_GIH#aigH-5*;SA{1g|3U~@Rwa_N)E8$ zdOY(i2?;#4w*MC;-f(}>@}b+~!$HFQH_34vB2V=WzpYGdS?j~U1H?ThWrx}Z!_c{* z##5@qCxeAH?1V2>eT@u=)9dtd#xLPv@>;w-^@@@u3|x0>7(eq>-s65 zXicp{UQv%$R$V3=6z_9&;@N#9H> z49}`53g|Z~e%n>G%t#g*vJERvpm)?6jSeaoO8tTzvZSoZWlA!cPMQ>NaiJFtb+(|_ zTV^u645QY5u+CQow)?7jxm5`r;1KWGNJBw?pZJ!@b8rdisPYlATkLMzrg(+S+%*7S z&VCVcZ#2{p60yOp?~wWK^Ws0yUgSBRH~BK!TWCxIa|rT5KI>nqA0(5*CWlz0C{pH? z0ZN36P>&oRcZ-khD~ZowP;g``oi=sXl=K>aB5mNj*y=LgDlGC?cE7i($4yo1Y)^21 z_qWbet}?+@4R3hEWZQ4VZUvPNThfj1tJ}XruHop^nzkJ1B(km#s=7w*>|(`=TR?sC zK!eg6oI&%24OrKkAR#A!EhW-@58dtvvT}pQ?3?U98Gbz)f@y@6s@CZidFghs#r3x}4|ED!6m;&! z`cUixmzt%tR(5(wlWlUeX)59vtLe8GbSc~Rqm5oBYq95rUI+s;nSt>4QA$S?2HHZkAsObn0TH!vnGT4Xz-`89(tC+s(3hZCR5`J zi=T#$Z=`v_li^?YUtzV?TJ4R09n%}zu(w?7;FJ#*9rn`iVC0Qm)3RrSk?WaLI{2I8 zj62H*e~x_1GVXYEKeQdo;A{^<*%M>IhpuHj-DZVqN2-l-@;J@*JSo*c`lx<4c{;Rx z<9oq#?3fy$i)|Uz9@_BBhPF|PH2DaFu+g3+BCBGiyPTQ9l1S|&Px_I6#i=Oe_)o); zYkS7}%X(-}E#sq_^>ygrt_}&sf)LIH0Yp}QL=^|NW%`ai7}>Tt^L?fN*Iz3X5B5KR zP--vVHReHp8)3^E8|y>4Q&Pdu>Ja>TEeD<-NmI@<7VbDIPaVpX={{s7^;`>Oj33ng zU4XK-0T%PXV)atTnD6p`bl=|VQsn#*4U$T$P;bCwA0w5i_i9OkE~70!86|@e7{{M> zjq_4)EO;TdiHg-bUXwJBsKFXASmFts2N-F~cdLvdc^|j&UcbvgF zZC|o{%gfpz&{L4VROIDD-_j$s01sDPsjauF6$`zq+$WR)Tz5f#ijt})LanDSi7y+< zYqWPS88EDSTJ)p-ojQ@LAWt6iG$}`1?hj2VBm8D6PoD&2wCrH&Cpsi-FG6hCXj0kv zU6ecZm2(!;Mq*DZmAbTCITiQQCvH(yrEj(?dV}GPk&O#=WMeKE70D>#8Jt}wGU-27 z`peTg`j6VP{zX84%lvNQa>EMV_318+qn@k&slZMU4S&Z6-BF{;d%fLc#(Vt!kik+C z9C1=*7gJJF4D>^?;9*5^TpoJjWjt@@`iRyc@7WvcllwO5&Z8%x%~~JPD=4b-sfrUa z+D62+TzgT9ZOcvt0ZYlZf*(sam8Ya#S`~U5*phWTRg1HK?Iu6`Bvj)N8LFZLSk8-g zIY*TPC9&uSLN^_uBe-1`-3Yu1&NcXUsx@ij%kitTwuz%@WRmNipfBhrb?O{2E`O1XmlQKpV; zFQ+%;)v#TE<6R4!54JDiKQ*NTT+250X(Gy028Cm|)|vV!wBFcID2QKnJpp{7KEAM0 zZL~~ELV=77jxmo@>gunW-z?v{`?9=-Uz<+r7P$iLH-mKxMcpF_--3hMX)0H>ThNfn zmL$k|mQvYhI_o_|QB+*l@;v7uP9nr;N_Iifsc7E2GWs^(0)PD<+O2K8Qs;PIuuRuF z5sIt^YK;YDoz8vOt;Kh|9}`lH#qmh5%+vqC6@bcRX;O#{22ae7pof1(z5(njO34k{ zTG3p8Ue{8UG<|;}j1t;--atv_wBW|I%<0r2xM8sW3k;4%w8frW?`#xBG%lT2j>!N-V-J3 zetjy$K8wXS%W`4sj6-vP#5}Cfl7rtF;RtIbx8Wnskv$>7x9LC>yPU z`(IG0pR`jFw$%d7&(8iEd&blv2>+XOD+*o|4I}8Nc&zfqtV+UNs|xd-2xCoFn!AgC zMEK#vGJd0>9uH|-XR*9qo!_C4e;ZD58G%M3k^=71@6vgm#xdKZnop@MiT19t`iC~)ihcdJiN=lE22HUP-;;U z6|EZ`eu=I#`>fKXGO8G*;3iE;o?D2!;2~I2t-}`$dI0*PLmFx|^@8K~`gdUyrb4e| zcCS8F)_zN<+E3&WQdL^UG(Q$g`?eR?Mxs0mtc|Ct#?i?2)kJey`#5;fwz>J{pxt@HI^MK^7Btk)K$5J*N zx?nNf-%~7)IAboo+&`|JO^!7+r&i7ER}4x#UNvwvMip*4Phl5HezBJT;OF7Uw;km6 zt~ne{ZO^#h0ls2Ljr|Gw)D231gnP0Ns6|J0Zu$#eB9GHyDPJ398pXh+>Kje_iuH)K zDWu3p>qJugT-lb^rgM0!dU|Q+B zed7cyZG0YInlZ=NWtgFyP{P5$kKxJcT-r_Q`qwh38qEB2#v?9o9K7 zKp)Mx!gRk8Ns9%jXWh+<&tadAKY-!O#47=-#OQ>>jod*-g6H;if<6yuheIU-COjmO z%FS)gBGmvCmRLDA_+J9Gh3y$fOKfeidL{tj5_{p*`@lD&EYK;NNC5Ni>p~^;OI%?h| z>xaANZ;rV%eYiWyx|a7J{tu_<>4>vt5Cet+IXIJ`5EKP5Fg7+clO6~se|2+ZSY1oD zEf5?6!5ud4?hxGF-DTr$!Cit|a3{FCy9al7cXxf9)33YV?Y{3@KUUQkv&NJfMM@~I zL@QuyYX}szwQ-_lq+{R$$eLRlIy)*E*hteV0!^I(pCGFNEGen7xsw&}zvxdw$N^~J zWNvFCY~b|CE1Nk3WDFbte@qMjMg}eh4lY*4&ou+{KLc$YxB&7F=GM0E0C}Jj(80>w z=93b(HFCBF+BhjW+u2!}1C14dj<(JYMnFd{fXQcN|D6>eWNYW(}<|e?;AFPL?feR4e5uD`H#XsC-%?cU4RabpDqMY{B2lD!2eW|wRJK#0s<)hZ4zw;R)$Z1eEt~!SM&T2 z{(rU5f94Q%wzB%We~N!J4*2Zc5g-ltt9L5{hyMyUur{}H`(FzfijDE#FAgYg>uCPhn+4D^vNHY$r)*|! zWN8C*bo_MR-xScs_&-vL*cjOwo7ngOpcj3|T4I7R?9mQS;!?UJeomzw~!GjNIWoB`5l`|GAvFmA3*H zU&C6 zowvqVo7NfGcMuooa5U4I@j&V6qMd`>ujW3e2iE3Z3zx*Xw}|ZgOxvO4yVjp4 z#iBqmV``$gG2C@%K_2{%HijTY#8fMMay8@7$h+tc1;qkL(^( zdPJ`daT;=MA~7fhHMSW;-`A7}A#C9Ud5FFO0U-*?O;gwJTV;p|teP8n4#Md&L+X2EW{nSzV0>? zezcxZn@&WdmTwljJpzm&3q*JLf4?W;n%fB&-rU?5!B6c{mOW5akVH4xT}*B7AV+tp zsd9yKleF{n!~iloF55;YwF)~l0s=Lv;dJXpQHk}UmM7Ge-A~GwA5M8qjVsd$p+M9woY&9kelNzYc@EbEXMn5#$FcW2l~$vzxwpkF#?~^PTH=IC7#CK* zmlG=J2N!N1#m%P1(SncvKt(35k;)eYyorY|!fMQ}iE68`>T_tWP z!Rx_WGKk*xB12iw#3`_0{Kli*qbk(|VT!o5n1O>=2lHb3`(==r$76KqfrB}Sb=ox6sd#>{ULDL#|h>d!KEf3v}-z6VO4d{Lz3 z-2&Y(^nn>(DH=-@#8U8Qx>c_b&5~qOdVSGzE4Q-qT}P%u4I2YlHy#n2t|PZ)m!|3L z3`E|ASplN{Ojpkafd!_T zN8a-{IEl4xxgSIfH0T0Xm$B6pr)2_1j!E^(7cfQ7Zm&p64211q*Bx{_F*_?CW z^xUA$qoc0~t0=>eMPcBX#$eo~5LH`{i-wwEl&G?3f30M81>Kqu=5Uf`?>UA$(b4Jv z{#f=&xjC)I{PrzC+mKSz9UX_t1U3XG^n1;IhLxVFfo7P6tHB^e z&(qzC^rFWqI&ZC9ch38qz(A*rE=Oq|;{%H99(~|7&FkFYEAYq9zAq%kWD;iXtAa=g ze@52Re`<9f9#bd=z2{+7&h%>OqURr2pTS)9`e4Q$oDX4)Psu$J`Fd&C#zn|(FR42Q zJueWEUqT|2BssmSdfh_TC8k9*q|$I>bW8w$lu4bBN|ivG zJu(Ih(I#YoD`Y50V!j(p)}Hm!sD6u!O8W=86FN%hk!FbKC>dPYef5g|iHrUoQOQ@_ zk?Cddz`@}cO0r9LFm4YtsdXdN3M)Q3Xe2~yF0GUsaZy`z>)yh$`LlY(2pp3bKXm3wO4rGQ|jhy;~FXlJ77q0_e%$Rz&uyaEeOnqd( z#?`U!dh}cQvzT-j70L*EVKQ7~qP8zvf7^l4ebtOo#4{f4dJ%{6z*Y$9^HrGIB&jER z9bm=J6?xdQYxIr3eJ5?2Fni*$F$>SpXnnauD~0!)s}8q3VvO5yhbkEMN;mAfcYzX8 ziEg-OFYi84m?o;a%Ir7RvZ+3}Q*aLkk)%+l*4k8*(e+j?K{k2}hmcdh;x@|3e+n(f zdhyYHA*LVM=@-dV4@VZba1Y0dKT^PXze)rM{2IlDMgNI2Gc4EAwJkRKb=kc7Q8ugQ zth25uh?V3nQWn2C>f~f9&=C&!)$z}1vJojSFV>#5tRcvNjG3c*tNps_@ zuWultlV6?XefNuzyHm8~ltWBAe|A)Tc?%zm^Qd@zTMR-?sW!CUTjcTVLw?K&#V%a% z9ysY3>pzJSl_}U{{P3~@a-yZ?8q0Qt%;PNF!4ONB#cEq*m2zc42i);R++Um4swE5> zS}-;2VoGe68Y$tbU?CT!ric&4KVW2wY0BjybusIA;*-2f)Vsm_p}ynJf1h9IBzQ_{ zo__tNa78qjZUKrp8I2EccE8uowk;>);zOJahacQUwL@H7bY)1*s6ak!rd5Co>4&X* z_?i>0l$a3m9VP;tLZS$(&Q9*wF0J7BOz3)PSh8r3i`kX}O zD%T0mvcCzP2W|K+Ohv9$e;_}eqE6xfnv}F^TE3G|5I9>r&$SD9JfwyZ7{O6a*lf3W zcqfEp{K;MD;u$~X6w68R(wUw%66)0F#utfc-491($O{Vy1n_62bI36MI@4=4zL8z+ ztBg)=cYE+5vDR)xVa`!LUBx}y#GXaBo&a0-x-I$kGDY}0nk@AvfBEMwOLHHrDmqf& zwUXh>KD;-!UAXP}%O1YA0xQZsSAE+Pa7dwfzNrXZGB%i*8szeT%Ch0tk;)#EZ6Fl! z8HtdBD$d8P;Is8vTP5UTPTkOo?7#K4#LnLv6EM|lhae#v6k1lm-i9gqG+!;$2&tJHMNZ2WB? zRNk@Hj6L+QMI2c!qT4F5=>37zi>2*JoIy~l5f0=SEC^q4L-X#fV=0jXN?wlK*wS zZq4F&I%NR0e-k%Vjh#8=5Dgz$)@2d8`lI6Uj^=uR49hpsV~J|{uELHNnrI@b)#bgt zu|61UK&`=afa9d6Vi#<=QLK-D$q^PtwBKj~HBt&HC3d5d;(g=VkEq36$r5ea&-!W$ zH7OIE1?Z%E7Dc|fVRjZktX?E$o9lPPSFH;ojvK>Df1@t#MeQkrP5x(5O3p$UL{JR> z%;CD4@6H34)qIF+_Vy*|fY?t(CC9&JYQ!k!xa48m)g+%qm@%*yR618U*VIBb<_pSE zv3md1s$}w1SKo?%BgjUgn2clT1g9n@GWG1(xZ0ojw2R z47P#;M_3=Ua-AzC2j;vpO%=$ja^Ge?)L>#eB`g?P+3w=G2A$Wc;2q6z2ZD z4BX+*H!d9^qb)%o4JR;GHds#k9X4+K!$+Q|nrZRd>wKp$7Pa|q$0_UsmGZX_M^`Se z4|AsOE}=)`oXhgBwu^td>f0k826T72^hNxwQANVxCkMXTzPywf+B;Dz^-lofsra&| zf1Vd)L*+A^>*vn0CL5V3KQ(qTpJen#&ekZNHisz$ z<1@eF^=p7ram*a=W$h@-lUKDaG32QV7jjy0oom;FcjimwTjH*1y#dY56^dNLB#HnD ztSZ?aPo?1@a;5ktT!V7)wm%VLjd-pM>SAR?9Z|&b-{sC##qDC&hbtHD7k`4se|eHd zwS`c&O9r_Rg@o+WHlcC2GYagW>qh<{m4m)z>>>1@`94B<@MTL0BsU?P@GN1PcFA<* zd^+>3*APk+T=)Y$!-h+PpvQ!}(5dmnwg2)CazT#r0<+a+$!rIG=vt}b82z^$PpViY zcRjl17euW?RjDT}1L-Mr*stU`f1LKRFHj>5LJ@2#?J`4gRe~x-b4bHk+$62<56yip zQFKd_p^(W46^G>Z%_GR1L?s$0^fTJe!+21{&X`)?mm(ue(x}q*jR5;s$nf7P9PssB zs$|2;=`|ZA(;x^1HnwmA5F;kXrWPQX+=_3vqCm-45(&h8Zb<5b4DD46f1WE4-)SQN znf_F9>UAQ$js86f%7YfQ)V|EWtyLXl`i-G7zbIhNviCCeelPUCJbaee^=8bl08tbI)5NEf{!be96N7SHrqHv7d3Nt8!VJ)2($)N zggL?^xa>M}!@K{8=UK$^kbO^f;tkzT<+HrX4bBmmu`PHxZ&2y0%yW2hT3B zkM!Q~XLgRe)oB~RLFIkvg1kjyHUj6wA@X*;&0M2Wk+k2FgbSIpe~g+}weup9kSCEG z7!47%t{dYqK#X1FiIk(};%-TNyUXm+rx&DL?M~f4*iC{wjD}|n;MXyk?qMv>I*9{g ziiYC%&yHY)mT?G9Rr%wao|nEsqAAE(e&4hb{^1=~=*BjhqF$f9r_vfjkemShu%imr z96FCsjvx297XRJ4e_5|ZlUH&oYVcbcxp+x)n3wPP?4;v!^_yQI4Dwml&DF}+EK;SUK>=3gx^C;CFk!y2LquJX2wisUcR;5H(xZo{6 zsX1t!66b|4p{@q_!vxhp9@To?ghiTjc)#uZ{tcEM0f`>-ab3w0bs^@1YW-m`IrRCq z{I;eo(mJVLe+xXVX8#dQ7*vOdm+A%*TjpCB0mFfE98vV)Je3GiK~pMeK<5isO4swtmx*0>P7A?_^`3a;zGD0l|QI#9iC{ zK_S3RKj*u#!8tHLhnGRRf?Ux~8)XWNU+N_!MjJwy_zg9O)Eo8ePTHmM3RYvL)>wju!#S%YXyfgn zxr@tlkeX9PpZeKH-Aw8D0 zVpjGTS1Nn+8*U)6q+R`Y9BHSQv$RQmfBVryPq+zu-n66 zIOSbYu`s_G>CIa@diS{TjuQ7)fBaIE7)xVeVlNHDS@RYibGu|Sj#E!e)dQt>71k)T zhA7W}bd_3Pp0WF#0<$RXR<#9r zgYEKV%DhM~%7%KH8iR}()J!Z3fl$jnWk8YS;JP5j!X(uw@HoQ#ZUP6Kf3+JLv%-bS z>5|^k9YxI^rm_1`E-wR&fT%2iF=M*BcL;td6FxZ>JYyQ3M6Z05L!$%Ah?#k^f`#Wo zDrhwmt9@m@8V>M2Ax)~dzIX%JLn)L{*pU@D2;jJ@w%PM+6DL4<6i5&g;6)*{NnO0K z{V_xgY@uV6;9QtcL~IUee|c?Cd+kZ$n#rcFpMUPiHrk-S)0yEBhQSLihG=-Sxdwf! zf${kTjniznP9alQm!(j!oI9%6Ark2Ge>jq8LNLl4OvJld z8|l4m=|m6&$dE-r5*h0e*Gad)NevB{2(rKgjV+GcSVw;zmm7;AR@6K8x9{^GE8b+9 z7v#l@xkbZ=P{OtgLp0naRoztTED%PyuMOi)hanfthA^V1@R1W1TrC2isqH<>EkDtq zprz#dLPuPCr+CfsGY;H0*GB1>1vPbl^yV}iQVv>9VKDV}tuQ107~O90 z>SOwtr5fdDxV6qGT!VG`8k;9wXIkk{$J`IS6dXe?PC4CCAV6)A;XHRv!y`#q+k5Bx zZ1V9Y#Z1@Hiptx#J%lxU82A({S=QRG!62Ly$30J`^8T#Df0OW4d2op?ukhg12&Pk< zEcRu@G6Q8Wa&&)jpRdHwxT*9B8Q1a0d--90xw6Y`s|7;+hI{p%6LDVjW{q+&hWnCG ztqgZu=I?Wl_SUWXZ4*5Uk)Nm_f77gmimbLMp1U>{{kgvbS$2fYRd&k<`bMpgc+(Wx*ul=Mw~op>Oji}{ zrkj#7e@k^)zV=91$uL02#J{72z))s#e(N9Vlz9@_EYp6ek_RVC+L?SUguQC~l}pPIEn| zdBroKpePN@mEA}a-l01eCvQBg;DqyT6kY-%t7!I84!W(G1aqHROb|Qf7t0t8=>gxJ7fwW9ONN|4k#`=HlTagd%}1y^)jeuV`(HH zx3p5=*&F(`*b}!A2g+HWha{dIc5y(5I*ERMy__j=9T=^@Zc{y?XPKU|RX4gtn6XHZ zf9}(=5FPQ_=y$WvAc6_^srA{zLEFBxiiYRQmN9U!p?REV9+*W$BoWp1Jbkh#xdHI& z;|8Ofmu-QSbI0fNLBUiV%s;85me*D{3KKUZTOb?iHdGcEHYLwI(-;L3e82~XjS~W{PNcs&e?*Lf5nTK(6!Upo?Wt3#rP(fTEwI=1r}OW@ zP5P=#=_cQa#`?umluQNutm*4nL5*<(7Z(Xe~=f9 z<^4IxSMQ(NTPOes6F zP}JI%r-Xm)HO@zJ`c30RW{#u|s53-Xxs}%`Nfz0%9g$Hg=W)M^!8Qr4;@ZDAdqT+U zqhd*=XX5pO9JI~v-Okc%o!)Eo}O#Hz4K9^|!(y6($357-P<5tt9{g#ED`8!JA z1o{jz5h6&G1Cxp(14J(HyyN9)iiPsF;gR!PT-Rl3LAxe*=*#V*9EgNg)T=q#f#0yj* zh8j^ADVbl_?QyP1_wtDxjYi`H;g{)Eb-55p0*gBNU)Yqk2B_*)=?7C(&d);`GZrr1 z%@0QRuVnn?1tgQGyc_H!e>|dk(R|;t5x3?NuKEKOxIUr+V$X^v9IFko!;K3<CzU!vH-uXzS8$%m$BRO*x=QF!2Rl5_Q~8zbKd$^FOD`O4DHXc^<) zRQ(VFiaGdwHWsywlNWhQTt_<&nRtw8RosEB8r$Ld`sOKPc_c1cd9 z8if7CV6b!EMHfNgeEoh*;>%{D=2~x{9Uk#W4m0(8oTM62 zff7#5c1wyWo#G42;wd+0xLnH4&{@0^d2c@~sPMII(oh>*%g>vaS-Y-#a?c=7?aL@D z&b^=L3FgiPTnrF92)u`wN`4W~Ady*!9FQv`na(Sbgu=rLe+F-LtwG*7=PmHp%#YW> zo040X%}1Du3$sIh68CR&Vc?0r_b#Uq{fWQ0YvCk1aoUXqx_uUxhdC3cl*^m#IRM!F z#!(7Jos1z5CcSi}xy0Xps_<4gC@1FYZJ{5eL&xkN#iZc;Zgo6oj*E31QXHK0dS2-H zxumR9%It*Fe@0GM7O|U;uZuXX|1n+w?YLKgceiu@9r?1ozLm=F$_1)_>O4cZ!5w}3 zmOdY%0Emmk(gw%ZO`rt?G4;A5*!THvODBMuK_^9}3%hVByw;9Pn94PB_%P$3tt@C; zC&l#inzHhP_o2Y**xC+k2Gt*NjbKn~8zfcGLhS-Bf6L#kO~4I86R|+7T~g2B zDvP=;ID7a)9f&FJX&GrJKb635EgXREOZM29qJVKx$W{2bA`5E@wKMqkC5z9q z!3}P7e^>wP;|cHe{-GPBTbh!kDtpc4xclIx;9GoiX%=TWN4tHm#*(^85CC)Korx}O9!Ldh#TC{e{?V1q`Xgi3f1s8!f$U)S*JEKZp^>^O0qC=k(#XO4tC^PE*N#4kq1~ zSM43HSceUj7ZyLc)2wdmJnMY@OG==8PniKMT3hk`?HAI46>k&OqrPUIbe?>!H}`k38=c)63A)G?TVo68U>^+ z=4+p{S()6TAi0ErVgK(g&s zmbjwcFBnW3LcJRyT9ds*O`u)|G^7?69%FV^xlo)8I`g&DmC7gg#$Yp4*1mgZJWG(eQMna$>7jjgBU_9*r6KRgzf2QoZ zfK)3IC*6Acud95Z}F{BDDRa}1v=`31${WZ>(*z;(p$ zIg2)VkM#+n1smH*qnmHlqme=i~8`4@+qNeKE;8iLLLLSD@>aE+8v8!TG`#1;(pHZLeoiEH$*Cm6f@J{_2TOVDk-YT<*Q%1rzgYVjF#n|r&4g{E z?dH@sLo%+k8XSp(cJK`Me+esjep&Nmn79DV&f2Ue3k@IwT1YAG=)8WARfPTrUveY? z;+R|AFY3{v!Y8UaU8)E(ojv)&ARTBDwZmOpzS!y*~g;(hxhV}hodf3F}=yb|t)?P$rt zp{GAV-|QV@uS2I|$+j%49iN;*nSaz-Pdlw(fFzHQhe@?~CFyWeSs1f{tuP<8c zN}Yinhw;)b{hO64m261ravm6@H9;I9GVbYCjM}Md#a7K63rUp$$zzawhIf-@!uPL7 z(>)EVvS}TOn17JyfBCH!h-QB3C=D^x@$8x_wsr$&^&gimA_Kp_CJDN* znTK=NTm?Z(ER{qPdkNyBX2~I+i=j0cv8-I!2wjveA?5JGe+t+>x$?5K+Vz+19HDSpQp(&viwQ_tpXx$>X5_wwsk-QQVvl|Np%zCNYT4^s~dWm!4^@p z#Ust0zT>`5_J%qJsUzgB>NT3&P64}U>oLMk^GgzMEoDkTFMOk1=#(~}CqW{=Dm{;m znT0K0B%^`=fB%|Zz(HSsX}8JpDDyz)y?ZnJwaw7{50~hx!o>I(H|(H@6$}=G(^I7V z$9Sq)fbauog9x7-nj3y|F6D(`(eD6J#%5VgX(Ppjud<+c`021Cf$^w`2AS-sHA~et zcPHuUsz#(89Fn9h10fB_y3_AZ{|5|6 zKGT|MANGHdG9lCWS&N7H0+NXNIvDu?;D<=EP~hdW&JrfqjXpYQ}4Jw|5(-(`p+bwyuBma=MtrB-x@G)v9mOa+1tuahBwZ=b%4f zlnHjp_(@vbkp98Jh`;;(m@s}3-zOvfBG0NMt4hQpDUSGMQs#?dl9V)9oa9Y1P2;2d z8~Y?6pkWY3>ShE31!_`EI<>0lKn8!q z?1q}2R6wkaXA#>$s5}fVi~-{X7I~|^Q2NljTHIE!$Sd;}gc;CEu#yNEi$}6AlNSF+Vf#mK_5BKN7_&YCtao&#WPPs3w1;XO-Ng zrj7En+}Wr`P^oCAnore>n|bSyNiwC%Vu$p2gR zTHGCu9!pf-f0GWS`>eP67F@Jt?c@0A)pK~4{D8?&(;i5BKJ8jPp!YG>fDKWNO&x9U zEJ@wQS9|0u^pe&BvIk8Yg`RfhBn_IHbsEbG{u{ruOJePOC1{R=EEJwoWh0YOrnR5xr~;M)R->Yz;w=ZoA6~De>K=U{a&z>90w26Mda3K z|NomS9FEp`wNrd|yrX}2?JoLj5jdBK9)wO1G>&(fp%>lbPE#0C%k`0_?&GAK6zOA? z7xh$r9?wzo_T=*P^2IM_Z!YtBoJlplOzs!6m~>|GJ$9_M@{wCJ$Jmpwv9ffQjWBwo z3bA$`Vz-QyA+Qma;P~-XlHNZwS!$EY#xjDT*A;f|lf&$OmN0*TJ!b)%1!Ve_%->_5 zHsT+fI=+@L@emiZRP6CXe#DRYOMc4V@N<5Feds%W%|Gy%-|`8c@`T^<2cGiJe8%TI z<2iri1uuEU7yOBT<2V&K@Fyu645I$hzLS>MFJHcY|I2wgzg?79adtL7%4gH{q)41* z#~LSXctj)2q9rHrd7l%1m+d%FGTguk4$w%FnpKd_XMu7yL5Cve1CjMGO+$f7mQh&C7?gY|4lBy**u@tp7_GQEb=Ou-p-s> zo2eCDu1=E2%4D9_0L$bFt(NIGUd{+v#jA%RNqF@&Z@h{@!2jfbCPlvDUi~xfJvu+V zx_&)$FZp7Vi!Hf-nC1sz|B8#pRNOe(Zglc1I5LKhW-i=`Aas4Dx8`|oUuKhhnr8QC zKE1n33i?KZgSLWSnU4C5uX7zHs@iRJgf!l7{8_t#D0j{$U({Z4(cCXHx+qW|WHcnk~y#~MJ$;Q)S$ zWtlKDEBFPL%o;PZA^$LdjETV~(0GS^*oY>737oz?67-wrLEL@JU`~jc^e8S9cX-*h z+O32?ePwj##gnusD~dI@PMyU~Mk<*7kWQ7R#xwQ*)2!19N%R3DWQOH}rMfNJZ6G(Z*%k%cSJq+LSue*hYNXejAR!va8H z=`@{|-Di*b3_S?Rw~K0q;axTuSknqYpl{7CQ=9XUfDHPWNSs* zjaFpPx3UI{>`0XUW-F?1MXa&X5h}$xE3Tqk!(m5Zu-OlO-w*xq-QjYv(s0zo%Gj(n z)KM7;=XB5G#90~d)8&yHA^a?zr`4c+r*bm{_=pilw;#T)?YO+!r+cO* zU*9dzMU@kj?e)NTvAiCj>!`Z4ccG#OB3KQF_}b?CTF)@{?^2{3SoI+@1DV;U`?OVA zuupettFmyP?$1_bcAxIh1~B^w`l_3uM*DPs^;Vm1E|utx&j=`njNrY6dx{ zhFXR>qmFt;Ii-O{#yO#hW@b31g;wS`qC}Z_4r!yE4mz2LRLcK#(akPBY}3a8I}9@c8WATrkSO}CW|bw#WE{V{>uBS@m$GWi`SRj_4s_x-Qa*LuDRisJMMXi d@5dCsAL$>A%Oqw?Mbq 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 SlRe%Z3Nth}3MC~)Peuy-yNm_^