From 1fee26a0c022cb813e9b200192b1e2f1f25a8400 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Mon, 27 Jul 2015 16:53:54 -0400 Subject: [PATCH] Adding a half finished toolhead selection page --- Cura/gui/configWizard.py | 109 ++++++++++++++++-- .../images/Lulzbot_Toolhead_Mini_Standard.jpg | Bin 0 -> 11280 bytes .../images/Lulzbot_Toolhead_TAZ_Dually_v1.jpg | Bin 0 -> 11355 bytes .../Lulzbot_Toolhead_TAZ_Flexystruder_v1.jpg | Bin 0 -> 8988 bytes .../images/Lulzbot_Toolhead_TAZ_Single_v2.jpg | Bin 0 -> 10045 bytes resources/images/Lulzbot_logo.png | Bin 0 -> 4976 bytes 6 files changed, 97 insertions(+), 12 deletions(-) create mode 100644 resources/images/Lulzbot_Toolhead_Mini_Standard.jpg create mode 100644 resources/images/Lulzbot_Toolhead_TAZ_Dually_v1.jpg create mode 100644 resources/images/Lulzbot_Toolhead_TAZ_Flexystruder_v1.jpg create mode 100644 resources/images/Lulzbot_Toolhead_TAZ_Single_v2.jpg create mode 100644 resources/images/Lulzbot_logo.png diff --git a/Cura/gui/configWizard.py b/Cura/gui/configWizard.py index 742a85ed..21f706e5 100644 --- a/Cura/gui/configWizard.py +++ b/Cura/gui/configWizard.py @@ -428,11 +428,11 @@ class MachineSelectPage(InfoPage): wx.wizard.WizardPageSimple.Chain(self, self.GetParent().printrbotSelectType) def OnLulzbotSelect(self, e): - wx.wizard.WizardPageSimple.Chain(self, self.GetParent().lulzbotReadyPage) + wx.wizard.WizardPageSimple.Chain(self, self.GetParent().lulzbotToolheadPage) def OnTaz5Select(self, e): wx.wizard.WizardPageSimple.Chain(self, self.GetParent().taz5NozzleSelectPage) - wx.wizard.WizardPageSimple.Chain(self.GetParent().taz5NozzleSelectPage, self.GetParent().lulzbotReadyPage) + wx.wizard.WizardPageSimple.Chain(self.GetParent().taz5NozzleSelectPage, self.GetParent().lulzbotToolheadPage) def OnOtherSelect(self, e): wx.wizard.WizardPageSimple.Chain(self, self.GetParent().otherMachineSelectPage) @@ -1017,28 +1017,111 @@ class Ultimaker2ReadyPage(InfoPage): class LulzbotReadyPage(InfoPage): def __init__(self, parent): super(LulzbotReadyPage, self).__init__(parent, _("LulzBot TAZ/Mini")) + self.AddBitmap(wx.Bitmap(resources.getPathForImage('Lulzbot_logo.png'))) self.AddText(_('Cura is now ready to be used with your LulzBot 3D printer.')) self.AddSeperator() self.AddText(_('For more information about using Cura with your LulzBot')) self.AddText(_('3D printer, please visit www.LulzBot.com/cura')) self.AddSeperator() - -class ToolheadSelectPage(InfoPage): + +class LulzbotToolheadSelectPage(InfoPage): + url='http://lulzbot.com/toolhead-identification' + def __init__(self, parent): - super(ToolheadSelectPage, self).__init__(parent, _("LulzBot Toolhead Selection")) + super(LulzbotToolheadSelectPage, self).__init__(parent, _("LulzBot Toolhead Selection")) + + self.mini_choices = [_('Standard'), _('Flexystruder')] + self.taz_choices = [_('Standard v1'), + _('Standard v2 0.35 mm nozzle'), _('Standard v2 0.5 mm nozzle'), + _('Flexystruder v1'), _('Flexystruder v2'), + _('Dually v1'), _('Dually v2'), + _('FlexyDually v1'), _('FlexyDually v2')] + self.description_map = { + _('Standard'): _('This is the standard toolhead that comes with the Lulzbot Mini'), + _('Flexystruder'): _('This is the Flexystruder for the Lulzbot Mini\nIt is used for printing Flexible materials'), + _('Standard v1'): _('This is the standard toolhead that comes with the Lulzbot TAZ 1-2-3 and TAZ 4.\nIt uses the Budaschnozzle for the hotend'), + _('Standard v2 0.35 mm nozzle'): _('This is the standard toolhead that comes with the Lulzbot TAZ 5.\nIt uses the Hexagon hotend and a 0.35 mm nozzle'), + _('Standard v2 0.5 mm nozzle'): _('This is the standard toolhead that comes with the Lulzbot TAZ 5.\nIt uses the Hexagon hotend and a 0.5 mm nozzle'), + _('Flexystruder v1'): _('It\'s the flexy!'), + _('Flexystruder v2'): _('It\'s the flexy v2!'), + _('Dually v1'): _('It\'s the dualy v1!'), + _('Dually v2'): _('It\'s the dual v2!'), + _('FlexyDually v1'): _('It\'s the flexy dually v1!'), + _('FlexyDually v2'): _('It\'s the flexy dual v2!') + } + self.image_map = { + _('Standard'): 'Lulzbot_Toolhead_Mini_Standard.jpg', + _('Flexystruder'): 'Lulzbot_logo.png', + _('Standard v1'): 'Lulzbot_logo.png', + _('Standard v2 0.35 mm nozzle'): 'Lulzbot_Toolhead_TAZ_Single_v2.jpg', + _('Standard v2 0.5 mm nozzle'): 'Lulzbot_Toolhead_TAZ_Single_v2.jpg', + _('Flexystruder v1'): 'Lulzbot_Toolhead_TAZ_Flexystruder_v1.jpg', + _('Flexystruder v2'): 'Lulzbot_logo.png', + _('Dually v1'): 'Lulzbot_Toolhead_TAZ_Dually_v1.jpg', + _('Dually v2'): 'Lulzbot_logo.png', + _('FlexyDually v1'): 'Lulzbot_logo.png', + _('FlexyDually v2'): 'Lulzbot_logo.png' + } + self.AddBitmap(wx.Bitmap(resources.getPathForImage('Lulzbot_logo.png'))) + printer_name = profile.getMachineSetting('machine_type') + self.Bind(wx.wizard.EVT_WIZARD_PAGE_SHOWN, self.OnPageShown) + + self.AddText(_('Please select your currently installed Tool Head')) + txt = self.AddText(_('It is important to select the correct Tool head for your printer.\n' + + 'Flashing the wrong firmware on your printer can cause damage to your printer and to your toolhead\n' + + 'If you are not sure which toolhead you have, please refer to this webpage for more information: ')) + txt.SetForegroundColour(wx.RED) + button = self.AddButton(self.url) + button.Bind(wx.EVT_BUTTON, self.OnUrlClick) + + self.AddSeperator() + self.combo = self.AddCombo(_('Currently installed Toolhead'), ['']) + self.combo.SetEditable(False) + self.combo.Bind(wx.EVT_COMBOBOX, self.OnToolheadSelected) + self.description = self.AddText('\n\n') + self.description.SetFont(wx.Font(11, wx.SWISS, wx.NORMAL, wx.BOLD)) + self.image = self.AddBitmap(wx.Bitmap(resources.getPathForImage(self.image_map[self.mini_choices[0]]))) + + def OnPageShown(self, e): printer_name = profile.getMachineSetting('machine_type') - - self.AddText(_('Selected printer is ({}).'.format(printer_name))) - self.Show() - - def test(self): - print("This is a test!") + if printer_name == 'lulzbot_mini': + choices = self.mini_choices + default = 0 + else: + choices = self.taz_choices + if printer_name == 'lulzbot_TAZ_4': + default = 0 + elif printer_name == 'lulzbot_TAZ_5': + default = 1 + else: + default = 2 + + self.combo.Clear() + self.combo.AppendItems(choices) + self.combo.SetValue(choices[default]) + self.OnToolheadSelected(e) + + def OnUrlClick(self, e): + webbrowser.open(LulzbotToolheadSelectPage.url) + + def OnToolheadSelected(self, e): + toolhead = self.combo.GetValue() + if self.description_map.has_key(toolhead): + self.image.SetBitmap(wx.Bitmap(resources.getPathForImage(self.image_map[toolhead]))) + self.description.SetLabel(self.description_map[toolhead]) + else: + self.image.SetBitmap(wx.NullBitmap) + self.description.SetLabel('\n\n') + self.Layout() + self.Fit() + class Taz5NozzleSelectPage(InfoPage): url='http://lulzbot.com/printer-identification' def __init__(self, parent): super(Taz5NozzleSelectPage, self).__init__(parent, _("LulzBot TAZ5")) + self.AddBitmap(wx.Bitmap(resources.getPathForImage('Lulzbot_logo.png'))) self.AddText(_(' ')) self.AddText(_('Please select nozzle size:')) @@ -1094,6 +1177,7 @@ class ConfigWizard(wx.wizard.Wizard): self.ultimaker2ReadyPage = Ultimaker2ReadyPage(self) self.lulzbotReadyPage = LulzbotReadyPage(self) + self.lulzbotToolheadPage = LulzbotToolheadSelectPage(self) self.taz5NozzleSelectPage = Taz5NozzleSelectPage(self) #wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.ultimaker2ReadyPage) @@ -1104,7 +1188,8 @@ class ConfigWizard(wx.wizard.Wizard): #wx.wizard.WizardPageSimple.Chain(self.ultimakerCalibrationPage, self.ultimakerCalibrateStepsPerEPage) wx.wizard.WizardPageSimple.Chain(self.printrbotSelectType, self.otherMachineInfoPage) wx.wizard.WizardPageSimple.Chain(self.otherMachineSelectPage, self.customRepRapInfoPage) - wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.lulzbotReadyPage) + wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.lulzbotToolheadPage) + wx.wizard.WizardPageSimple.Chain(self.lulzbotToolheadPage, self.lulzbotReadyPage) self.RunWizard(self.machineSelectPage) self.Destroy() diff --git a/resources/images/Lulzbot_Toolhead_Mini_Standard.jpg b/resources/images/Lulzbot_Toolhead_Mini_Standard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..73685110359615681d6d7da03969b33e2763ec35 GIT binary patch literal 11280 zcmbVy1yoeu_wOAB96AT3LAoV|juDXV5RjBE>69)(kxmH#VTP3M25IR|NfqemJ1i`$2M~O0$bBQi!^6QRAtEIuAtE6mdr0$$3`#{#LPGJFf{K=w zo}QlU5hF7r9WxCbJ>5Sa0p0%<@&H1JjZH`gC4tiYKexMXfCL*j1}T9-i~t4+2uuRH z>jUWTL1KaaqXGYJAPg|({VcI@aPjU3G!O$AATSu?e*X6W?nejR{|;c1V39uNmw7;@ zZ2@6)hYExxeZppvt?41xnL;rOT6%=z;68jrK}p5J%Er#Y2@?_)5fu}cdnT`-sHCi- ztM^>r!0?5Um9>qnoxOvjrnuitC`h{!il(Qn_yB&VdNrDuG|%ql2EAd8AiO3P~N z>KhuHnp;}G^!D`+3=R!{ot~MUn_pO5THf5+{{G|V&ad6Qlhd=`=NFe(*Ej#*0s-KE z!MgAN1?+#pMRJb|zw&^r@x?he=Qe zMQ-Uah5L{hw#jnx548V4_J0Q~{QnEte*ydNxRwEYFzB9nU=jch-0VOLLOGt60nmal z6)XmjsysB59a#{HuN`B=4&vaj&&Na-!~p#AP%V%mtX>QB&%=Mw)6wT3%pJ@4&SGf$ z^}FGpy6e?C940vZ&}gJ04)>@sd>)tLk-tI7jV?f)dzr#S!q3MPZj)csqG z7CSN@BRx4i6qmi=e?!QBCX*bB`$PJP(?T%CmHX%YMpABH{lxNTqn|=8_d19m72Z+p z+ZTx+*&Si%BZ1RL%E|6&Nub_}uLPLSO8PM=qAg z{&sQahR>fPNC%8PUJ|<}D~e(6G?#r(u++6fj{K1e)EWlAXrvfKH}~EFeGA?wiLLbn zwC)L5dHUQ`pW~odpuXn4QidCDKv}q0RrXP38Y1;IXXZzfmlxV`9pZEihh4QDqmS+Y zD33mmFt)HUrQBmnUHj#y!@pK)gSrRU-IWOs{?Oeo8N%YfIC9UOtbf)I3#x@Nr7RC9 za5!+>uer|DQ!J?V|AFeYFm$Hm0rH)$dcue@zv#`;3vo47?qPSDab&d*ukv8&uGyQb zNd*OLOf4a&{hI52kvGTZ94_hDk+1UFiB%ca{Fe0yUk~k64etS^8 z&py-3lzJ}O4Bq2P8$mO%=cVlqCjw8Xud=_SX9x~&Ud0{fGPHRs#Txs3MpR?H&k&Ww zl4na^4Px3|e7-!&%-zb@<3Y)?8e} zY|V;LxQeq{_FUd*w?*y;`rN%6!LZq_Y<*H+Tu$U1n(y!W8jal##*(ozC1qUM_yC_O zF0$-Rx8t<7F2-47;gU-4s-G`Gp8cHbUzrJ&MGwtWQw-GWfs4@oa2A>u-ro21gd7!yf z@jjhU)Bw-J@uPr!t}yCW#zT8$SDws83%5r!c`7#vJ&(sh>d(<_c}p8kddvnhgZXu~;-QN&u5L8WA6bW+owo`} zEXWPQ9;ckQHiWz~3MaEkRdYG+rx?rHa5d7|F2b zZkB2(%cEv94vC@~w!=0h6`Js{){eP4Q#%=GL)iNV7Z$yPm9LEHTzvn4#H|I_Op;3y z(^~HL0P*Lgg?=M_be!=&dCc~l(wgdJiL!(f1nik@89+Hh6XE_31|6m6A`Vuks^`&i zo2Hg<;www1kVfoSQboyt>1Se0tHi-+$H8=0h4-AHsTEJJKpH!$ zC~p=fs6LMB>pR1yxm6(gqCZ>SD@HjBFOHCkou-DXaPp5j7uJSPo?1m*2T$o2Il(aHFC z0B3*uoJDhT0Co15zLLHg1^T=Fspy74j#pK79&TGPRhR!A5N_UZDt&MC-z07DElTrG zcH#Y+IIkkQ8aq)ndOtAUNpkYS`N_dAD{bs1GSz(TC!m1Is+`39L|?|}3DsUB;X+ngBUx_$}4puX5VjSe7@Y~q_4)`42DUPy>3{>12lT|e(9j<&xiaC>x1AY3NC4sh; zP=gRFU?EHzV&7^Jf86K!(QNnisR4&e@f{!=G6jt%{w4r z+5DZYJz8wz4j?fr%YjY5wR{t@7WAE{m~FY$)VGh#cF#iY?n{ueo1 zO!*s7C}&GwF46`D*kgNGTM7JpX8Ui<9BB%QL}Rj{0D~N3jVsX z(m_|QsHOpNgE*}5PXrxlF%vXRr1Any%gtQ1z9xnv_2If^TBqOX z$s8Wq>^Y*P4Uns_M3ri`kjl=t8oxT)uz=cQYTm z_?tK)r?yt}g(1>b=_e?_^oyyTF3(V_;m}Ijb5d_oc?@K#i=Mt#_bN^7?>G!;p+E(GhXcWf;DbU z|0RtTL$XYj@mytK8zo{D+i)>gs_aRW__JgI$0j~o!z0OT3R9UScA!3#F46^{%e({@ zf?kwx)zv{F(^*Xt{TnmRcV~aVLf+h*&vHl?GaIRhM;R93pC$U!bI35=V#Tc70g-UM z>CX?>#q57>%jKjstCTrq2bjFive5Joe`IE;IQmxpk zG_rgX9h$~Z9TN>zi=*Y6n``yo96lePJV;1sV#Y5$p03lVN>31p)`#xb7Y-mS~I1A7yV@BX3a>Xw$FU!PNyBjKRhx*(jM(*v=%^iUB&*;Ac zh zd5Dc86>@HW1aqd{V`%!bN}CVy@fn6MIm36d`l`UAK$3;u=Cpy58NC^a^4RdjV-@^Y2!!~T z!iULYgg$H^+#>6DFIB>)w$=>~ayR>E=DfY>d2uPgut-D@-*CFBzdrZrmT`0T!VQed-Iw5I(tH~CcyJi(9Uk)uMUpWha)xDell53t@n89KB;IrU{^86$%enUBI|zsKy~Qkr#dD`Zk;J~V#2z}A%`n=piQqhsT4)r&9E%)mU5 zP^LGVBkIi~`An*c_(mQMu@I`;!NCg)r?}9kpl%~32%v~u^;-R1o0W)st5b6L$ZOrj zdhXVs<=o3?ed)-q?sdhh;;!&z)fbha#LC<-5VMGw5~58H3Bbb7%-v zLJNvow$^cW{bAL+jfpF3W2d9s3>;}kB6NT2(ip5gvzYXAI`&hHx%wwFm?C_aDs;~@ zZ4)FGj&_=bZ+(uhaWv+SGz~`{PwbfKmWaNNpBA=0ys?Wp3N-jU#?!kx8cvxD=bZ=L z0o+!*&GCzv+p{_GSZ++!5+Wia@wHu|NIL&n}VugQ}(Sfr!2}%$ToxZkIQP#H!8c z(Y)^Utsuv7x%tx&jMwJ{8Xq8#5-CR^F`8iLmI9IFbL{P4PCo_BNA`@ zmHac4=&aj(&KBQ3?YI%S(()R8qRvDxL2*$k@&^2~r%2j!2$J>E)-S?r8b&K=x=;0{ zBZqtCInqr;B%fCK#=sd>*iYrthWv2gYS9{Lv+1`;tPpH-6YHYTp)vQF zr_#l_u#vAmeecDg4dG$(qk?Ap+gJ4Gexegnc?Z$RJvSU)msiC#?;YRvEs<(KGFuHG z5N1iI9Q^Co1N_g@Llcl#JPgP&TP@uCBn61$e+YmvVfB*^_Mk5@E)Jeg@l@5vDD$!M zXOt1#?4TvY7_7O75(`jnjr)=>fGgRbkB8Mf=1xz{{XPVd*=-WkyKm~LB8+lk>l2>* zwwNMn$uxpb=QJ=;-SwhJnP*l zG_7fA!vdEwqaZDnXWPGjw7+C{OZ>P_J3;nE!YO0RlLr&{%eEDT<4k006dxsrg>f(* zj#{*lB~8YsO(n^tJVEY;bgYg$>59CV`4RQt5w&ECD5)Z2>rJi<)69C-#yPunlwz%4 zA72rLLU|a&4*p=d*YThRSM!3UCXt`8`omX32cwbf83Cn)V?Rk!ntn*|uQT5);CY>P zPKdqZ%vK1(nfP7x0>R$+-YDd)kc4PD_7V6?mycMYQkhiUWeC1rh8g=Taw65DY4AiI zHwuk2O#jBZFZ)d81T+&9jolPLJxHR@|6RxDFzA8Ah+qnnpdjt2;rE(zwo)P5!-oFZ zL}a^w+KT4aw}$7%8({Q)%a!>yk6h2fsj0)!*J)?VsTu`LmtP@dhlX2DDsgP0PNKL8e~A1$))T{)XlyFGYC~NZ41ud$ya;iCLp!3A z>%P*&x}0u*y90uptFq9hzAOvxT^lGt3LTln!Jf%G%sYP%7HIK(=WV_gEL5Q-Xs0gG zx~}g`HO?(^B4$YvLyUBD!u@_%@&EmZHd$jvJ=4GBH9FJmBTX5$q4)06zW$^CsITii z)y13bq|Lv=(_bl)L+Z-Eaf#$?UceuR#>rub4R=q-a?NP$ZAo=IZ~OQi$GC4Z=YSUJ z(jqp-oX?MmjQ3m}=cik|k_EaCk|+u*{b|T0=NGcS=2LoJYGEj&IYP&!e~BG0z-mSH zpQ|PN0UpYqmxRWs;KWA1GK_Mx%}x29hY?;-4st8vEl5o?_&2`a+~*PUfGTtB_360u zH!I7lEDOd@w~LgRi&I9(P)hEkgJ*9-;EqT2>WmZ0k;qz`>|>?%*JUUG9~8E$swtgX^8oi=NDCw8UVngs7+P#bt#)aCF&ofK59-O%zst3_3+%5NSEKHwjlu-3jsGZ|>1Bw0 z9BbcQPCl$G?m;LZwI4pO8HSc(n1M-rBb?`cWI@oUQgP(=v`Ua~lyifFMdjnolPl-m z^qV}9y=9jsCmSZV=qCs-$PaJryahH?B}rr*i20Yk!F3Kf6XwO>D}3A=^Zr|YRAq)U z7ti0uLXZ46QS&ma8WPn*+D9RPzrh4m$BMb5!J}ky+br4dVPO;b2lsmrO}0VHlNg;U z%`~rd^Y*yRrwYJ!h2lb$QEj*X$>EirTHeQirv_<+(q?I{DkhnNhkqRzTMl)MmA{XC zEVerVq4)F1AmZu_{)M*KO~m}#S1Y{+T$>*P<*012iyxjQ&AMQg-UK3og{)NOyvj{A z=AQVDKtEVof~o~$=@bZpth?|7#ihxv%H=YQr(G(&sTGACGn9I0rTxa0_gf556BU66 zOz+}3^O#LrJJV^bX0Nk1=sG+L9c#>9)GEdF3*pJXQiWO5R)*#XuX#WuPjX`Yciy3? z?_;sIosXR@N6h|^qx*!uwI{LLzHpFcZDt_%Yqg3;(!*qlg<7i+@!b<4(NnCnpkaL#`3KELh!xqG(7MEnLs6~5f zSoL8M|6pm;*CT*17jMfv{+4qd@rUkh%~kLhMcj#3k|S|B;0)I)SGlnO^Ft*bNyr~5 z2Wh;z4#V1{70f>j?jFQoCKpMCm3VagYoSxu=nBo0ViU$8maH?9dXv^N48ySX^uHW4 z?b!l-dU~@4`qQ_a22xDDM*Xv$0^xs#XB(JkN`jXzEIX~ZW0CKE;l%D>F06@@Z##;! zr2UcqLH(9gC%dkRfyS;QP!V-HskoJ$(Q5l7Eh#pFa3%Dm()rKMMN}`>m8XWan0cK7 z{A5a_zGY|BYoPFgGvnFHpTk@EGkFfg=V4rSL_QYuK63*uLENXmWA9V2JokB8Xq|!s z2Rq19!2t&`21vj%i&B)-0S?#~dn@faEnwh-I+KtHEL6uKDs{&2L^dB4;01Zuqe}>6s`6B(~9)-gI5%G%xcKJMtM}_mfk!(=PoA)z{H|Y4XHDd;xP< z^@zZL$Z$>JGO~4>uy+O4TKuI8OQy`ss28bGJ?PF@hW97-B|rG;`WKf{mzVzRb-kj8 zfWl-@+pW3w^~|UUi|0=fH5B3w$nB~KBF@8UCl2{Z^yC&|5^~~ohDzyPyaN)sqxVBR z?|?zhmP8N19gNs+jMJKlr(Jm=RlECr1P{auOTjr+A*TdE++8?*jfPsqBM9&JUedEz6q`!)niWAXY3LQXA;~9j{J@b1 z{I__*ExBUYpefNEz{U%|Y7Oien#iJ5lnl-@k|RA5ebAXnkBi0^x0kyEFpA-Sq#&EF z;nC_ia1?9EE${pHsn?nLEIsBXXG)ef^zMEaHvtASR`)~Bl0KE(0Zo~Az*Xzuf+X4I zH+Wy`!%U|QiT8ih6|89I4t$$HuVzWkgmE@7jFSbRVH2{Owti-Ljf@9x1-30Hh8bdm z$@jbJ%(9yD9>Lz)#+nS0Pc`$WuaYFGaz(7*gC;h|o$Bs0M^+mfas-cx)xN2@-)BM= zDg*haB)K-Ka2%yso2IwI{qlXYY?D4N={0?&9A3!*4G6erv2d}9_6#Euxc}C2H<(lS z?aQJxq5~w)gbG*HZQ1^Qt;YZQ!~ek|eX=IS?s^}ZVB@1^Uy1{c1)eHFjw;kD)bTIcNv!#di>qj*4@fTO&mN55I>3ykKOs?Q5D4$iwpvzqP70`Ml#AS@rlW#pxKhpV}3+^ zt|UZsx5JHDznkcSD>hd~-2M8{2QsI=d6(((mO(PVEAM~{odt#B%>n(ux-S(At*DTX zx{HIQhrhLzb@*VZ+E4MawEu~)igh_;@*&#tP~e{Kt6J0U8nBtC5F-^1oP4Z%O&iEk z2ObMi>wcKQL3FFA;2;oyx;!7NFp$PfL$Ztz8zd)~5inNTLuP6vLalQpbY3QewcBm+ zIO(;pna=Sxa8!tNw3(_{6E~iVndHQWx&a%WyJ_&)K(jIK=)Rjak*uC~U8(6}d%><& zH@DQ%oT$G8BLl+I^~Z?@6r3KST(K8-0827PRh%eEF1fuEn(%e`b`}aH-(ciys z^mhwzY)%&5Yk$on*=HuYd8-1yaQv1xNXOCGEL>i-S0Kb-bA(tE9p3R38feU6!Tt1& z+4dF|tl^KL*n;koZe38V?`*bw(jIlKF({8W)JyD#Nl-X>c3vj?>L>G6%J!6C!Bv$3 zTnq@x&prR0anRSvaYBEQddt*4`~8jAHPupO1ZVvswVUC~+@elZ;Ul3g4)VOe44{Z6 zxJZ?2MbL9p@|VBo)I!d10}haWQr_TuMs`T)n*jG2R4KJoNcS!MoC{jcQAm`xbLjJc z>`7uVI8;N*-JJh+GGk2?)fDe~@Ji^=ac#&DAT-zRG4#E~r~L=SDQ)m$ z@<5Y${NmAs(4D{Lx)U@69s57L9L)QTR+LztvUHyb)s$ML-vQ|nRSO-k-w#@IXuD#9 zSu|u!L;9*HX<)trwYM*~5J3T3{F@EOWC<0c+cyh{h)h1>#}pIAn*IZG?avXrwb#0< z;j7z}x1rP3CfkSJRh0Eemv)27XG`6Rvo`whr$(&=RF{2ZNrvL-6a-ek4ZfzL)~Ob9?zb4VSkN}a}Oz&7yC$dh{d;w8}=AT zR}=XroufO;Yh`rRYgRW~+#1m*-f^=sWD`#5jWeoCw5b3(RkQ>_su=4vTDIs(mMZ2y zZQM+(h0rpk$XjzJq{naOKT&r;F(y`1LIq9JyTW~Jnh5}stdU|XbXFH3P z{a1H6VV_r3MTqSL(XykzZC-^@Sp~9<^s6WigV-XZ<}W8(0f)pA{nKeGBLZ8kWp-F9 zP_Lsii4kKYBM*qDC*BvC@54YWu#$tiNCh8QjWx$1Zay(8MV&QuhAJ!!Hf_(EtsJTo zpPKqaMGdPUh68^im=n#8I_`5Sr~c@8tlOA8MoD(yQ4p;obKS&bhv^>cEz}!md}UCT zKx8jXf932le<94T#`p~lj~J3YdSZ@t2R!55*V^mGKhQ)8-FR;WQOlnQzw<0`O4nLjT;*ks z(VUE!<=eylZqVCB*NN}APS^nHs&NpaCsexwT3YeaBU8SpK;(XXqh3VuX#7cWqO&Sg z*)ga+qZJM+kQz`LeHYg&k?7GoOW476;2NHOW4+wJcwhaFbWw;f z#~0U%HC2gdF7}9iD)sKT)xiL~NSWkCZ&AAQ^U9V#3Vv4VCj=L%UZxs9J}+$tL?%mB z)aRTtoNtwKC68bBn<>pmKI3Jb2|W|IFPESY8HIF~LFe@QA%u5;h~u>*S2iB4r+)S! zmH+3Nk9oG!=9;?UAz`hA{ytTogfy4A6i{g?)Lr;{BDkll^YMPyUoqfmf#)ZGwk{G* z1Xyo}CZE*r&PMwr%fFP({S#b2IH?|dZiV{M|D&$3XdaXr-<>kEn=sJwB(wN5@MYY|D=~_`rPzh;|&GW}{Nl|bWfb2e@ir)KKCQbwbG7HUr3t zF^diR51^JwJfvBIc$Dq3+#C>W&xQ zdM~dnkG!yw{q*f8@I{DFpLvYvYt4|WFJBvo#%urDa0?;EMnfu0r&t&|3hDJV_uvy9 z#%+zN<*#{|oy*y~Uj@y~8KW5Jztr=KtI8b+`3n#d%H~ZGU??_bd3D)bBcuzntWL zmnF{A_a2k1_%-z`yL7!$;QjPKp1y}+GXupizx$csL6(ZH@_!UGa5>}|kWiq$KDGWo zob$73-BJR8Z^j70m?h6|_^wP)m%Jzyfr+UdlkLp93`8Xc?WI=mM-g!06Yyt4KRdP` zhUvbfhW&Ap{&^TGIpwvJHPY%MmT%A8m1LMWr>K`Kr7&(Ru~^vLl!>bfjiEHv)RNib zsP!(<>;Ov=8D2pfgT*_L;*-w>3wfbae@KP3h-4S1*-Jl2TR@jO^YYQCzj&vIWXf zb9I%Nme0iFh|=pC&8T;%?Mb|H6JHNQ!%KE+jQ6O-lD~CYGrk5f)4e7znJ+}OeQA8y zxX>z{C)A!|#*#WX;UEaDQKP0F2GE6B=f*qXs-`1uEjdrV8e@nIjwHxaEPL)raehoy z*jANKQsOG_N%RkA%Db6gEg8woW4$u&ZLO$m@EQ4O^eV1^#h8>}k5cIl2u*VxJl&I& z+oGnGn#OB0uh)RS4pkCp_qK{9DmI!pVQt|3=w4#H+xNxDhs>mQ1D(%G90aw#*`Y0; zF#P5y5@Oe6kl1E@mOMDSKvnXC>)AOSxlU2>bJv-vN$VHQ@@Epp+ zJ!rjyONHhwep|LTtoU$C)`PdiJ?NZeBK9Ipxyqblwf zV-HE*ctmH7H)}LZn#df!XyT(+;eN#TBfjiwv``g{*)FD7Qc;S-(Dvac3mac|%nad1 zonew|sx8QUi06}L5g$<*@SKR&@u5#H*KE3jUAzKkH+I_8ko-zcM0~}}aw{Y@A}N=% zvfRR|+>ysSq^OtqbVD-xyKeX3)5Tw$g+dyK?|Q}%@z3^etS3JhU7WPsav8pJ@w+8k zsiIXZR+r*c`ca?khxpL9oI}w0Tubw)h!*HKo^FR1^=^%sO&en-XvBy(IlRaw6-cUn zFd<1c-69oW_`$x);$gNcR7XH%1-#?2gK3jcTC7QioACq3Vh7KY9*&krT~tU{1$iWO zB`!=WR5SrL@$kPPw`F$GUP`e2kZ+a>u3a27P1P4wPv>sGxn;kgV7qi5;KKRLHvVmb zlyHPDgmZ#ObE#agjjyj=?>f1*R-X%a)X7n~cpTH1WmI$Bx$p#y&2~Cw+JHi(g+7$H z589+mnoj$@R?n_qL@=MkS2k$x$o8?@PN?B8AnubB=?bQeZVFNbkn5jqd4y;W4<=a z;meC2xbeu{id1Y>#(H`oEYm`Vk3fXADJ zN4yu(33zo;At0#E$xbpcVeb)aRLJv5^5ug56i1OzEnU7&HBGYNj~1iaEX(R2f>#F5 zc$grf`UnhSpTaJneNy!6@CQw(lcMux&yrQ-z9nWAD~Hy;V^Tg^OBze zZ15=hhgnXmwbhlpp(;i9z?8<8=zAg}MLM_-WYc)w$W0#Lw!Zzdr>pLd(|yl#ZdX00pL_aw`S~XRAFQaN2tYzY0{mwHo}U0>a!>^s9SBsE z&dQw2*3rU>&YhQ=hmO_F#m3%>P6ez)2i8{v{&fZ80asChlPcSO@K#8NPtH`Ktw`CN(7=HCLkcAC!?UIrlqAN zB4uD=pkbn-p{4mx5Tut^(O;qCVqoCXfCxY||KIl93n0J%`~pm)ATa=t36M|-ke&ws z)BpeyD$2{J{vUhE5CaJX6&dqo8jKG>LP0@B`A^=+m;kJo)yOEQ05pPE^yq}VL<}-o zrXZ)F#C!~5KG`}(=tt+i8IpRY*Zgl?gOj!{1m(2N%s+=D7ks;XiADLcn`r+R(tm@! zz`aZg61)H*qavfDqavgHHy0$p3laeuAw92*7Ln--NZr;e5CdO+-wfkh*$X+SbMWQ! zDgYbhWgP(u0YD1S=BmdllaKXQO94Xxq$NwB0MZQ6QUK9|UK}v1@%UFn*A{Inwf(kE zgFkb1f|4ACO8-6shPZg`gGgKj5$nqd+gS&u^b#2=k(vp9%OVzcs42A zJj0yYs25kZPc~9+Q-<~psZ~B=8%3j%`F2>tm4nd%C41+GQmiT^N{gCLgr1bD6KvCS zaq{ShATw(1E2VGB2rh%NSUl30jwl`v)T4~16h(WNK^rO;ie+~P7Gy-1;_)DM5*Dgq zJTaCOv&a{ESB9Cgyp}gQ5YM=?>nvXC>po9k-Fh>e$ zX2U{p89O)=Bn`;0KCfDF;vPOfMFpedSkK6B>JsJEbH5toYE%=+aY&YeLqPb@A~T@M znlH_7MT^5Ax9Z$Q^n_Wv@)!>9U(nYbm^ZZ(&W)*T1@%oxDW%v!W8Sp16j|MqqOZ*K zJ-xdHzj6=6l@aVJv3<*C!qo~26pW|h3yfrWTRszMZ7fIo* zr3)0Aa^0_FLD?1{4Qn2J%VX{yU->7M>-{t^wFxH^a2t!;Wiu5r2fn3tZAqM~36Jv8 zQXnS$`2XJ3NY8}|x7^$g1@+j3?_JIPaZ=0fkxojCiSnlal<8lKi1HBsX&YOCC(cH- zHo1gdo=tvbiRj1!eb+K38u;H2XArB2%(HZpn4J(zX96tke)YClp_JLE%$t44wuaM^ z6Lg{7mm@|V+%o>r5bKef?Al;8szk?^QU+&1GiQ4r;q{2-zGB~E$W&w7 zU}P@iA$F_UtKaD=MUgOoI~ufWUkxXwc9b##FSL89cB+KfWBRGUx$skkmr**ke^y?b z<9?ykiPr5yw=liz=C_Jw_&giMrVXM-Abq~AoR4uO%umIOwyXF{k!?%SCY^|Wrf!$( z!_?r|!WpdJwriJf=yi}xeN+x!^-3vF%un==iQXSFx&bd&%k{$ua8Vf`_PsM6w%8zSO* zOhDt}mt!-t-c9R%`ok)YN%LwH8pT>tUiv=>@gE0=+DKiol8%?tYQoqMXe|P$a`)M= zG#@B9PenefPr8wc#>eGsB(2O@lTjB8`KjO28x{520oY_5QFhA^T`B)-RUWkxPsi<# zW#zebNhB4Ks*L6vz|Gp71kl78<&xS~J3==1jAFm<(PmP^S0t?WYzxZg=5uSn**jlL z6#?RjlqeC^jVF`_JPO^EAgpr;-yV*|a)oVL7;84}Qhc@HYwZ@ohj?DV;5CGRv9NvX zbH;`xg)h#9YH=9^@8P$pGw@PY+K8$J(oIeebxLR59Z2`V#)+Ph6`Bl96l5P#x~|>6 zRF=_Zv*NNWtyVh0HcZYwg346JL<`Ec3n+biZ;P^S=GYJnD@UUG=xLl09#1f@bT=v^ zcv8ENXM39xD&E-VG&GAG&Y(G_@eCkDA6WQ8&0h5{t{~&@FX*OuoJS%R6YD*x5%c@q z3Ke~(ALCq|Gitf~qpB1Fy_H+`*gJCpOQ750H-rWXw_6T#TzRX)+s2*;7cJj=X4oqq zrJsUOV#6b`^wDc8%{Cg;r#>vmKYoZSUHmRYY=)G@2U1E((SaQ4yoBe!A}Qrm9n;$m}RMnv0g$sZ3fJAn|@ zR)x62Y2hoVe{t=?;_@L{MU2AdX~b^!Kif>niooWpIz}S=1221yFIU&UmS(eWRo5;w zgGs1ks^$Y-V*f@RS=DH(K0Y$-hvK#_P1_IwI>*eY!Y8sea z>Kh3|p8*b@Wff{BW}By#M%xH$_b4AKh~GtNgal>G7&1|_;67?%vj9+O#86>t69K)RMIsy8 z<~V(*p?D0Kk3)s;n=C7uZ7H)EZJku*u*1^ya;f;~ULb(-U{ zug5OzepbycWq#aG%qVfJnp)l-X%&^d_DooTA1xtIu~CLJ@;+H`>}fao{;oagvMQVdI>X~6NQSaGyyLBJ!mD{F*3F*& zTQarVxYkq4O+OVCmM_go{CWEVSq20y+osQePxrRXj>7_tzu)X6{oqDY_s+a?SP<83 z9BWZlE5$SZ*f<_Y#l^ZeN`A4=UO}u&8Jbu$*ml#m8O~<68BLtTg^u*IqK=GZ~OJo zDfIe!_dw*>Wye_5BV2Uxu?b5dPHqe=12uxeBt%Wkt(J&Cl6KQ3Boz2ivP^KN*pGbl z#IokH)qBiWfyQ?L*LGAzWq0X^bX>a&V30G0GE?IuXX(BR$<%HZ^!pSBQH!H|YMi1{ zgtF;b;2}UuOTrsU-J`KSf1)8IxhtvvdZ zWTzjt;&sCs!t@QV_-*Mj_OOk?t&9kwZkd#&r~ zeRYTMUeXJ=38(W&Pq)}eu9m72%u{+XGI5?JNE|rCY94WRxh-(lk9p0PM4(6@dnfre zmu*p|f2haV@dR99YrXQIw4$Nm>gsODVd_rgc|ZtTa$4Fs&l+(ap!1Y?Z|1a09Xp ziC)FirrNnfjcpMBE}hH;lj0_jNg$ennzR(>optnW4$a4*#b}OU>Vt&fDK2Hy!DMcgFMsSxjr!bFQSR zKSdd-;?$pU3I4o-$)~@YS7zpt#B5-d0R#*S@_TmmZQhHPT2#J?W6a5tEU$` zEQV)By9U40Ng>UmF3^!h0+jyD#<}bgcCk!$izJ5Tb7^qVi-`9U^n`bm#5#TYTuQY- zq$_eNeroB3!IW#yT3u z;tTcwd^8E_$a^nKv|oVU>!1}o$e$N6CKsEEU;;SvpO@JWi|kjDL|lP%{*uA5L@o!l zGSiE4MI5d+j~m&J|B^9B;Ji0o$9V=|&e$cKr5hfmQCQeCuj{jgU$*Ox0RRupA}7h( z!DqG8@prCC;#amLrc0nTx?J+F9!vgB>$MnLRO~@pIB@ zcogK{&~N&GUqAS;5Kt!&gnW-#TN%~`X!@5C)5aB|JOiXIW-Zz5s%U{PvC}f04_=QG zZqT=3Svak^G${j+lP9FbKJRU5;;pKu+Qc!mm)?eS(Cp4Kw~UBDi33Apdm=^d|ISC> zn&oAXWG+43q_1Ar-3n@*>|N2tIjY^4oM}s6yrV&KzF+ss#-poxk9{ut3Soobz)^#Itl2+Kz8<-s z@6m1N9Hh5)0`9>;pj13$T$u`V(^iHf%Vf(|N~>1U}H0jlu(SU@1d^&WehH!f)wyxEXC@WrSd3gotrVta@sjWt#+q zU}#A@A$r0dO9?Dq*mkVM_@FGsy}JD(Zg~=uT}#4OoNcGNkPOyvUKF0iyRXdU{tSqP z6Y6eG?k32f4_7f5y*8t1;FA|-Z+*#%Jrz?wIZt35O%w9M2f%L_$|TnbUXoP#hZ zgKfCJ*hI;lbte?Pl*S#W#3m8{8F>4g+DOdN*?icL%&!kzasmW4ZKU-6VdmZ4!%awD zVh&BpnDrLHzZR<$qXWGD#Fwj%RK++IZJ!c$dhJb`SpQd zEI;u?TL^n)e#xF<4MlL#sy68Yw?kk^2hXlMhzVtOX2wF(KUj3LGQ_ZXsk4l3Zh8`^C?eD(DAo+_`yc zG5~UXFSu4WjO$)+m=vze+*pVNz*B=8QX1BoGuFZfQK@btHDQVpN?^^!h=lQTnamxh z0RwKn1D;W45meN;5(f%63SPGRD>Wq<^iIdr$9BtR)=!qjiTQD}4~{w|p-GMVzy%wH zf`j6p5a7l>A*3h2tmJbt@bu~fo53j+7NpJC|Lfy%`$eX6YCb(v#RV~w@3Ga-kjdEx zu9zp*!FP9@0p3S-hge5NEMYxA_9jf7G0InG7C~JKApJb<1&|)cTYANH<7t@pmQBa8 zL;H61Z5T>q%2f&&#f*9;8_hXb)L}>Wvy!6!f`_*@)mdxFgS*pxQc-dl5n}1BlM^7{92!S>s-!msXtLRZJh1E>pLJD>3d>_HyizL zBm>vtoQvqJkXUH|2g3oeyl}OulWbQsH!qZ$OQ7C@hZV7%;lF-X!dV^dT;s=Xw;tKr zjXtg7&XnsyeNsXO+Sw$KIzpc{o1Dj`)#x6zcdjMf+_uBhS3&vUv_m#d z7vCi&altSsd6(U{Hnbk*gt+3W2kN}~xnS1HeMjiSsS#3I9{nbTv2J(Q4gEF(eLD8| z`_UcrfvY{aewIY&f>D6qi+x~ygL{oZ=`%rT9l0E5Fc_K`$fqKutr16U@-ArLRb@>@ z>S)@+2x}ouL3z|FTM`y*sX#SBEBIk7WWMla}2b zy7eLHR|p+I?|Yl=#oK@X}<-aYnS{Jk8{@NGMNumT$fd6ICz< zkdf~5&Yt$(xRH&InQ`Y@O9Ndt8W$5&9(`twxY_}1hUY}kd} zt{{qIeCg|d`^FONSx&Rl9W=#l?h@^pHnZRy>OFeHgW?^gU%NO)nc@C3-Zsw5vHtK9 z6EM-~710=wQgN5{eutgz-U0gUv|4Lqtx1P8VPn1h^IIi7*%qmY9njNOAx6_X6St)Y zdG|?X-1`qZQpJ+4U%F}5Xp<)K5v~I{IB;G@Rqgu9DqkB~j{;Qn;0y^4YZuQ#++8v^`{tD_uABgQlwnCd?gS$0G;l zXk_e|@YeQP8|dG_J=+CTy-~9}XB5g4{cUY8{*c5t3eA8^@2LkRUKf+H06O3fJ2``G zlP5X0SN~F412~iq5kI&`+_I_;>6aL5?E8ui8dPY2;sbe{L0h_{r+<*qq}C4vy^&RG9BmM6bKsu@E}H{B8ypkF0enGtpAzQG7aTt2bM1j2^|( z)+gPS^Sru~&6H*%zrMWF8qnZ>FVLOw5V^>}*B{3`ik5oq9!P~?gtu&NsXJBB&QZux zbR~do2-CJp(^tRwg)?glOhu@EjG4fc zd&*(idb+}6#l-=z#zq)e}_?-&B#P4NauJvC7r8?LpC7tSHv%MT>x zxn{qH#0A<3-s?43guQ+gO_iDOiEC$r#I;a!u+{GRDgPe2SnG@(iaB)WQ1?voQeux! zU?06H?H-1wdS#Nu;D^MnyG`{jUrVi(6%Cm;e$z{pjk`AyQO#aa>Ol4Tgs8aLC&N}e zEo>IYkFSzFy3Wc$_KauMMvK#pRyLd;Y(qNYfSj4=iTsc(xhk3VQ|Gyl_sj9LK&ZPl zIg35KZN?>NQ9nY;N-q20(u$}u-eXf@N;ay#y%SLzwsTV+g-aF z*I!$FxMiiQSsKv|+S<#ikK=|gqQ>y>PP?){1!q!;%trbR6$bj{RI=?o-TnKn#sGezD$xOZFj5Vohvcc#S= zjco{pe{Sm?4)#4}U+R3b^BjBDV-O5_q*DPpQIcXe+P-odp z)W?yx8{I94YLAw0H?cX5bXSO>j8miG>y|NFh+`RQ@Vw6iixvA(zzoT_OjO2H6^C!> zb=|%6(e$hj2_>qV3%}@35>fmm^{$0a=omNt#dBQZRwiG5C6BE)Rx~h*Ar}!!x_w7E zoy*@a7yUg970LV2ijf8oQh zmV90<^ib|3Tp=3Y5P+Q}?3UG0GCE$7HwTIw(7?R-HjH4N2)B}43=|XK_L-#VR`8T! zf0r>U{?Wmtd2sg|8Dghi0cFh(^`^ znBg>ph3!y9s3`uqph?-9zjD=`oFU}D;5um~3=!UDEX**oFT&n$qzqoL#=;9-z9G= zi$8t!Aw*|qP*SF0m)4TJ`lOIMRU2#KuyR}%--yc;)}YaFSa#I1t_NZ6HW5evSaSxM zq&ZSyhF9(Do-lBu zzi~2WMAq%~G-K_#TBYd!Xg>o2520>Uvqh|y^wd(Z0u=qNbrJ{>%4`I8Re?@$?v(~{ zyu_nzzvC2yp})lNK>4;!TJ-Xg(nI@#7W#>lwhVukM9jmQq#958U_Kltt4!mC$DM!N zNB%=&cHo1;r%xoA3uzc{-5?HkYg88T-48hp1oLaYS+58t zoZ*X{lM4AuZMFCIk%14zv(?}2-LI8Zjc4w?!ZaX(gGw!N#P54yjB8&kz>F!?j+*y@ zLWnNp~o%j$(ob?#be=NYBUbJ@;_X8zcn zJ?k=eNdm35Nc=(p#|+K`gH1aHm|RN}zK+AokXYWeWL_EL zoVnSI?oLUrr*PSrKHZL7Gb!?%*(`V5Ga>1P`e zOg5QDpj)XpZaI_G?WC(znM`}T{8Lv`In?PenM&fa%wv8jtOg(};ZEsJK( z*ZDgQRml&Xu(?eq+%g65<>+O#n0rKzBD2=7mavrS$kPY;puJ6ysCVEAhP}u>lCZY+ zE2D`wV}qQ>l<6F{|4M1`*_ul1rH>=N_%W4%$qp#*)ZHOlz8yKEq-;y%_9_~<^6rM{ zl(>g$M_|24%4(eN6`$>^Ak92j(aL0-9|^uCJ7N+V-Fla7 zlSSRQr!@zS@h{nKAfxJ^6KsdA*}M@=8yi#dU?CSM7IP+#TKgmmDq^8tIQv~=*23s2 znCE@{SC?gf9=Uvo>mzjGX$i<2wIb1>_8{Jdrs54+U{)ogjb?P<+<_nQEr(IH4%=&i z-)RR5gQFBBAb~7^JS5m&mmoB$jBx%qDOV>Qm{x_lve49G=!4fwXlrp5Mmw!b zKYW{LPHk4jbNPHw*Z0q+k2EsVZ{5@{LlTczXy-UdvMFV3)uvlN?%F|&1NYl;!Jk5j z)jup1qh`;54~tK!V~6HNaeZVrBSnHuF_>omsB_l?&WoCRzP^2jNVs0=EOO<;L(3Y%cLN<4&rO+yLc{d0Q;x{aWn*Hu94uyb}X;sr)s16b0RV{aK)@`Q+4 zX^a)<-;AiJNo8a80kRo(V>*^^4YQ0vuO#_(={a>BPAO}!@}+>}1s=w1(#+o5XF#Gr zXzZu}NF$B(2oc)-6b%l>u<|qu>TxJI+lq^AwJ~tn$YSR>N+Kj!aWVgp+^tk4>0;s) zO0{sXpv$KVwn%nvkDxQh#AKC=^XzIlnond znE_+I+M)+UgT_3xkGZlmBfnleaZ!hNPL8010y*5(3XQAXU+vG*pF{yVzoO~X!{Hq+`E&|dLF3byZt(>(*9r(c}sfqn(y^)7h4 zZRJ2ZcOZV(gq9q>_{#>&b(?`@&J@x(qoU^&W3{OpOUKG~fC=$sjk%MSWT{dc4yOS6VEAQ0 zEW=+x4c!L(FxU2UucNt)IoEZvR%P3IoZUqWSH8fp-n$JjG1k$US-7~Ek%_Q;tL)0q zC*hnXZ)+zOAs|;vb#bxi4GI0V(`|cSU25}Bgi7jE7dM#YJwJM&){p!xa%RZUk=B@p z|fcm>)keq^X((O4LopJ+Zyu#rF4=%%AjeaPH{fD8oxm0b}d8NPt~JsgN#hW zQIeR$udo{3(WeKq1fy7d*gJ}P>$c2%cg5%(r9~6seSWo2rt+l)aoU^Tx>F4Rd+D;zL4C?|4XJ;K z-?aPU;`3|pn$@9;$yl~rdp(E-G_mreW!Sy#SGK8}VO3V9MbhQvgf}I)s$0}pe2m6+ z6YrvTTXK*v%WeB}B0ki%#uYkEdSY-;?O3_=)w-V4?_-04YJ-<4$yhj=a*&UR=!H80c!O#Yi2D4;{ z5)Ku8BpJ3JzH4`_cH8KQYV5Gg^_8v`;?#CYD%1wd_q#23G)oCMe{Xv&uWy!GMn3>b z66c5Eq*+D9kJWNs&9$;f9=l~G>ukoH+zwW?p|+-jL`V{w=es_+4UE~#Wyor^PHDeO zw9dQ$>xZJ2vLcHs$r+cnteYs~wnDxoGa?&Jf=@S~iu)Y~t@Q6R6EYga5+@prPhn9` zshKvPpwS5TJ!TVz7UuOOO8npeUV+tlNAY6@WXJYfQj_3{RdO2LCN4a7i`gnhfipIN zF0Q}&weet8ME!J1<}w-_p^a zG}`L{Um4P{RaXLe*j(rx%R-*cJat_2fSP;6aayVwm;zda0dHnI$yB7$QoYd3QoNuC z%1LUdfAq8gUeFpYtF-hYg`^K5=%IFMJRF@&T4QYdDF)83d1#31IOEw5_bRs&S`jel jG7a%5L)YSq)aVR}nnbeKV-V+fJ3B7}a-U1k<7X<=>6zNE@p#ecUMtTb!kuFVvfQWRY zgAke^AVsPOC;r~E&ROgJb?=?5?3K*yJ!_u%mYMyT%c;vnfXM)%j{ra*000p`z~u#? ztc}#sv@}I3@w?rX@bJ0k#vdpxd7U2`;E(opjXr6l#+syfr^TO7t9Ri{r_ApKLX5Dz%P&bBZT-i_=HC9n@57_xlhd<* zTp)n-f3S$x{{j1da4{3PNQh=3qx{DOA_*dXNtwyW1*9ohG|efUd|3r=L{ova67y<4 zQ47f+ciEi%MrhcD;Y%WW|Iq#;`+o=a`2QE#{{j2ITr&V2DTru1Qf5FMIO9iR+>5G` znaA^!(qg0P>SoOKoH4do18czCP!HzbM1j^UECN@Nj1a3NNiZ;IZXh>wKm<(wY(PQ| zL()}JJUU8CizU{R=f5^{Z^9GX%zbENbVROz{PlIf0Ma!r85{+ZG1PMhh;3#h5Cdxi zKwF0b1H3>ElS^Lhqp>!F`3?Xg5|YqfI6wpQHNo?9VXSSENbZicvy3HN<73%znQ)MCa_ADH#7U5`h@x{=Hp^mq=Ob21p1F$e*VLP5otKxi(7a|(?a zY^q$?^&f&H6qJi3WRgR{QSRU-oO7HRsV@RX92T7sl8|DqM~0V#x#v1NV*6toQ!o39 zan+6>OsK_*sO8^FO1Ij+)tCCIaZ<3?aeI$0h@F>L%xEm;%U5pdBFgczFveb4LXeZ1qE~(~E~LUIJ7{eDR)@ z9)%U6aEy_~D-jYdeUm~w03UVE!DvB28Tpw+KTOF*MjMd3>&=BB6N;3<&Z!@b{^u7G zRIs5#tjOr@t>;inSu)h4a2#D6t09_#IO_&5bexenhUlSs6a=C(7U2PT@PC&1&jtQj z)sSd>k|+o{)H;~$Ex|6xaCa?1uDpD%vaL=#IWA2#inJ7NOBlPgOObl=GUF%Z9=pdtRPi4<@QMPku;blS#vg;5KpQ5dY}H8Gx(!F6UN7J9f*Gl7i! zEFFL&Kl5J-U@|u$N&hcUitrM|2_{Z6N3k?9w!6(S8geN#*5m>&F}BEPLt@|&7_EEXW_1bN{zT_}3A|9&JQpAO zDiT{B(+(>BGatbtsf{(Y*vM%#%v@pYte9E2_Nu;zu`)#LNxN9EcK3n6x2(G9Jfzd} zAZ2^4VCD39>F+$A!%iP=CHrMF8lk!^dt96EE-M`b1&#b{JRB|@lRF$hOd>{h>J2BS zA9!&l4*AD-&1F+gw5#kL$IB*M363{5G?QX$HR|(nOKuQRVUFL@wV3=}t^Kz+-1pix z<5MruZf38v-=(W_`!7!d&Js6FPZXD=7-mfwUxxcXa!qeRZOw#NCvpN#D?GE&`$wB0 z8^_~&bvOju-SLpr!{LQgn$!ndg!vZn^I*JHv46r#hwxMbZOVuj*^(MJe-|tF`2} z4k&1OqxdW~Y&t6y(VU`28yQARqll1VM&g`wYnoMh3$|z_VQ-gM;kX|nyS|oDUAE+AQCW8w%73H!*G+PYbD2gy zjT^=x^6?SEn~?bXzYSYrZRFw#@dVrcYzCPm3bmL@mvFDW?M!oci@UWEYy_XRJ6leNA4Wajx2Nq~0$KsCzn;O< zCt7vga95K=Q$m`yo}{V2mi^rdO*`6~o$ajAX4$@J9tHd$51H)z%WAQk6N77+xK`m{ z+2qx~nhDpB-e*@_7E-zOs`o{}nBN8@@9GqcE%r0zIc@OJqIiNryqIEHdnMOc{LtO+ zs8WxS`7F5>U&uxfvtD#}iCO6iQ!xJp+tN&Wrxe4cd=ih^(JvEMb$=2|$|-KXi8iB? zq#irP!S{lVw25ottJFNv{7m1s5`PcU`|-jiiblg}g9vt@!>CJ`-i}wd6FGHT-$Kl*O87 zljYK92|XQ}XV`A@qhQ>&D$*fwu+jvjw@6G^G0zJFj1it$h~ItdGM`V#&(eA;AKnUO zPj*SGf7hVf`+Yj?e85xbv0fj1!YGbtv3dj+T~bMFwFzy4DXV2Mz76*!Tml@k=cY-6 zlgKQ(APKM>O<_6oK0ho@ZtqFv@iu0sUHrtwF74*{!{8l}ck#e6`$$$l>&oNBfF9}3 zixILL)lS~t6H8061Ee&oh($(6^n(EXI(0GRE2~j?=`Xkfq4 zJ-tG+tW4@O$)joUxktx`SNbF<_hcQBY&+~|LvNn?)_GC)+LNpbC6dTiRX=}wO5xC7 z&+3aGpK-N`n>9T8yqFrmxwsO*yUc%fR29k*BivkX>e>*wB9~D6xeyDk1`3hqU+WneG)1XTgqY8EmUf#qk=7vk04YIMV&XXz6+YXUe&8UuH2 zUmaL}l<@j!3aJSmfKW4$BIuR>ZSa;C(karx|8_{^O0S2d>+0Iv@x+V|n<6gbVrnV5 zVaQPoK%pz_7*wU*qttC3krPt#WlHaL>ai+tZX#a%&28Vy;K_kH>DlCy^MF0D^nlya zk_-;psgDWxZGL)ig6eZiji|-oo|qaIUxY>Qy}5Q8i~o?)I5RMRI9@eoYxH$!{CNGK zx;XOg)T>`le}!xNk{R?v-#5A`I=*PW&vN62LrzgJ*#h;qU$VMZFfVWX?BD{2<8Kb` zi-6x^TO9;1-h-}mUYeKe;`0LY>4_J~oc@1?N`y%d*(STCOX*n6tnI{p*jlR^O9{#k z1VoA@y1o@c^l0lX`wSHitM4t@;<^*qe$;dYHlRRN68ZWCKG)x07h5@|ELJ@jN8J&c zk$83VCID=KmmFrEb({k}N=&^5k-4PyXyQYH;#$>lvm1?*2Q&7nD;_!@>XyDa|}yDve9Z1KWQ zv#Mo@)+X4Euw@OFM-G68>kH~|*G9qfmq1>$z0uxoX+n(Dbl_jk?OR23yo}S<``ML8 zHbn<>NAp(@qjk#K=z@)j2`1L2LguGrXPE(NhrThK3b@Y^Ud?L--qQF-=8H0X4to>{ zc@=&hGpY61&w;qN{C2%F)z-Fne-c}p&q-Z^JGuz++o4Z3?49;o9_UVRNrtd?W}7zm1P?0T@=f-u z$N1iAu7#2Xtd(pI|HT0JAUQbYuHdTT_XT1>L* z%QHqdwO6yFJH6ULGI07UhQkk6$9~5`D)oHt(iMa0)ggd#B$`PVW?Ts(lCIQJNGc!og*cNv#1bGXEZvZuSW_u z^F_FW(3-_=3*{atUP}@1`M?>?8lK?vtl(%=c2~MsHyQQ1c=U6T_MF;~UIILfw?ok( zUX4mGGI3|E>)fbeKGI5wx?j(wZH2Yuv(Yq@olRBy3X>-6g6`NsMs;oAV%s;Q_CVudba9bq<%_$wx9p&Poka!X zhkkP`-QWCjKGEMjPv1P!kz$3%z(qy1UjIKWUBqPJnoBn!e%9 zZ6w`&G*un3XUqJfooO6r!kFT$eRvv~sGb_$Smx1RJhZObVi4CWg7Dpml(u{Gum~B1 z8Smo5q+P8o`&K>Hn0PEQ*rga8@ABXcV_A00ej%mMLX#?GFV-@W3U12&UFA7@tzJX^ zPGBN+f;(@AfNb9GK`%u8m6u!7n99`5d}lwnX|8#YL6bk8QG2Gt1gGYXo7m3$xmikjAL(Y-B;*Va1pkh=Ey&f$8q-PN&9eA}o)y8y{h4LMj?wa`6^uh3i zd~@YX>R$N#GJK#H{AMkK#q~AT)qMa^hVxa*z+E#K^WS1+G-%M!LOAfB%Ll`q)6yOz zMxENw<7U!Lhs5^=iYSPC5drJY0WpA4CbjpIcw-E{ko4^B>jO?Z&CQ5KP33WPex?5put6D zO9br!B=pTpM~sSk1?k_sqFJMXPmfw|UjiSW)B8>2P_{BYDA5mWVAT`WYBx$|*AZ*_ zmDAH^VrW_cC@^{W{!6M<;Yz`So8LG6 zJ9xeAXFD5?%5%Pd(O2I|xcJg4u2VZ!Sii@%R{W(Q4Qp9q7?e1^O*)qe+R=GrzI+ML z*qq?B<)oyNZ}9B)$8A6G{o%Q$&K1sllAGYmR%X3jO=|j!fD9l(Lj;c;E zNDi;XCX^D|de8axL=&pcmDTC%%X`Pf;cqvz|MzTCq=17gI)|(|*UC&~9sg^_l9ny}Qm6G7wUK5W`V=;QnP*x6pF|Dl-Qvm^XRn#T8q&(irYL zwlDikWDV!D<Z_)XtS(rym}9j-N{v-LcvDvF*l~5thPj z{$#M!*%J|G;dQu?=k_-I%5K&raP(=9qU;sV$R{f?HKdz>|KH{Bmq4Zcl!*uZM>;w{ znMUO+s{N^H69{Ac4HTX^N-2wCc2tGRQiUSNcgXTe{mpjZWxZfqYCrb@8F+IsX)VH7 z9^OodjVi{VMKO{>hG26Yb3t=MeT~kfw4^AeF=JRURzqGbWrA}Py_V4v1@Td`(9gx9 z;Z*SMtGdQg`{93~BU5A75qo;i8=l{-|-{ z-Ha!;9&7u#hCZF40Ijf2nP?wfb`BZ81RA#rjqN!q@={fnYLXCfytMgb@evRBnjq?jwY_Q^cai3J{kFG(Q{Po#VR)_DK zLFtg^c`BpVQ=f*-B{A_7R7c1d7MyE0?=E>6_FW+_4s+qSPpQ)@rr0;AdrtAeV(DJm zlGn8bnIPHk>K)Th4=9#~NQI&zXO8gx?FuK6B)#Ad#+84ovUj$BxX*fJ5OzjJNJS#h53*&TJJU>ww`#%lntj~+YQ3E`Nry8ck; zSxLoV;C7hEiB$KWwawvPm00kn#M{wLf#+8`pco2o$)u$Ek+VI2SKl#l2cN{l+bAyR5Lzw?5h)T5t5cVwI9pv#Q+c>_T^7 z0Ualz(nY(dr&K_9{ha>p35J$RrPRora{Vh1SRsWulkBK6Jep_fPO5ktb;HXi*AWN} zJwvfpY%0aXyog0*hh@ZAtbDj~)K3?|kKO&bw9$#%xeC+Wi40t8)OD-$m{{Q64J@eE zV~150T%X2iKfX?N2@H3D?Co~DjEx_dr<*5-iR6M*; zyzgvoV{OBSKAxd;nZ=n%N}qzdJ+4!dRK=%m_|$WK%R-IV{JI35!|B&vji)%b&n%L+ zZCGZHKQ*h{5!CRXNEa)DTa-OjhUboHeA(0ZTt;FxzGO}lJXCp|Plvw<4AhzHNJA{^ z%q{g&kXQo>qLhw?a*P>!gn%c&Pp^-AA(@SwG+y)-vzmIuVT?#pEYO`r?-U2@IWUHP zD_8T=oWnp9tzC}XyFKojRL|MbsO&-nwZc*V@@~~KK`gdaamfqurN5iW-tLZ_ zHY}Sf-20x8JEgF1-;XdF6~@Y7ws4V1`KJ?v!O`w_`#Yx4eV%pUb=60v2B+7`Map%p zV^PB23+*m}D-ROG<0ldR8@I;Z;%fJMr`KG>zZSwQdd0@b4#pJDthfd^U9ke_{7v>6 z*0#6CEi#3P@wh&h=yBdce`|HR#czeDr4xsfv$|$y6^=^JHL8na z-7bcjvz8J^>}R%f(?ohK<4Cg=h)(uWN9Ulb}x$J6?om-X-ysp&nxq9>q1%0>1z$RFFJ zKc*e+A6lA|^aSs^A5y(X`F5rTC2%CycA2(rSUIQjR3?VZLN5AY7cGC%- zC+~Y4wpDM0!3vTc6A?eAmWA(vo}2_#81_F*rSn7ZFj_gijwD53?~X0+SBydn2De{C zBO+-|J*F^h?=~57I?m_6W*N5BPGUC~Zr5;s(cjLrWWAZxGco|_7RYrlPak(Fqw`R|=`gI9Rim8#)h4{VQHMdf$0$ z@j2CteaARKMhyz!!peRU_1sYracqI273mIsnXo_>e?ker1VZEr zXftn2Xu{b^S-xQt!YDf1eV$&Yk=|Tr^EYkZ{r;j=W=Y{;r7Zgnr+4{&Dlobl=2}D^R|1qG04=xf^C$Xo}MnJoT64Ea+@rS3UWQR@4{o z_1Ejad!%-CQZhjN&a1Bu?k^~Y-f#*%ASj_K?1E>_#@g9~{jF__^UYh}K+e^Gg_M?t?O6y-WhF^9_Z=wNtIdG03i6sxm;yU%xJc7Xa+D+zdAL&iM5 zoM0k81?QpZ)!JPxPGZa$hB5Ll`?KgPoMBJTFXC#zf_ZJfPB;fXZ8;6l?ED$WH|Y_@yN3g z`ti{N)_!v}%PLte5A6q3@v6BD&B6@DILmVV2bkAd(hhkeMG!MH%m{r;N+(3lwKAhQ zS7+OfnyQQ?lcgfWZ8TG`Oi#x#rTB)&WV&XYl`y$a-FCfH`nHCtM>&Xn#;#s+#x7-x zOu!v){0@1)n9R`}>6M>xWlsleAq>sOP>B9>%qVnmA`uc6M( z##*CmKf6tZW({1lTa-=YN`@T5BkC3_dV@T9>@FH5=JN8%MCXz-AL|zR%&4C4wXI$P zZ=2@k>&!$KKWXt4)ntQu*Rkp~7k%E|0$4qR$J;eu)_Iyr>cS#_-;Q-;!Z(>w3TJ;y z6JrhbD{_1#uH5htWx=T)iycf7b(yH>BCGyP$>yOfze69qlOSDGaZe&ov{KtSm{6Zr zyOCP{ZYB(Q8+qsLgS!+8l^oah64I)*?^Aj-atHqqcVA+{3~M%23TCGY=Hi~QjhQ@- z|M;A&;GO|cMDhWQ&|V!q4UmK4ks8|XAE(N}q*0Cnv-%Cig2`Uj1;pc_;>gs(9#}N* z3{WafR3@FQy{{T*L76$h7N3bq3cRfp<`HFJZVX@2ASWu57;RQ?O4Hh7D5$AWFbhKu zAat%*dE6(SN?ExdnAJCn6}fwX^K?jRu-6PBZD?ob(y<$V^ z5jbtbF|lWvUI^g$D}5(1*uT%pUap#?1(7b8>qmd@DtgE2D+m1WmCr34yXS`WP0|^x zCGrSO{>9Lvpxz)6)FW*{z$h}k=yc8|mjL^{FoShs>4C9#y{;(`FDTBD2TLyxw*a{p z4saHOhC=B@z#pLm3=~8UA1j42&6w0}Dio9YD4A;#)0=a&4x1L3(VEg4<_;9XAy5u8 zV{l!R7X@)U&I(4ZB}K7gWQcl^WB+wXU2LBNG21Oz0P?v5p-rIwObQD8w@O6hj#5?z$;6r{UL0a;Q)De2CY zeAnN5&%Niof8BeZIo~;R&dhhteCC;F=6OEP?ab{Wa8FZJLlppl004w7!0innqYPJ3 zG}MJlGuyr3b8vlW$LuA7e5F>C6ns4;tq3v=-@yLmo)g?R1DEXOP< zMtnO5CfCE_5*lee2RxciUgGU z&j?xEAi}|k*+i^LRh?Auu>&@d=k6hQh^c94@6)k!a6-AbMa9G=B&DR4AE~ISscUE& z7#bOyJTW!1dGXTL&K}|5@!HeN+sF4!XjpheWYjxkQgTY_`?L=qQ8~GJ`2~eV#U<5W zYijH28ycIsx_f&2`UeJw(Bl)6Q`0j)XP1^&R{yN6Z)|QI9vz>Yo}FXf%Bs}?-Mf4D$6-q;TpjEDbFh=4*-pYWL*C5vz{5kx65yQ=dJs|fsn z>bd(EF*Td$68qslX#YX>e+Mk&{|njw2KIk&%>s9EL0IMCf&mzCN&P+nK3T1jrLU!q zgM=18<--ZqQox7kEBw$`f!q~QwO@{d0>k_W$=ri1Tv6LN=yK5AF_dI368P7b+mJ!; z6H`yo4{;o{dzux%5yY0$SlseUaa5`T;c_bK_} zlWy)SvAjKtQ+m9`F?WroPrR7^g2`NgMU~fllQSFbYZ7XUaB811u6w20D`P&Ac;M~c z&V9xf+UM9O%g#ExEm$&uGx%XB9B_yAHD*$85sX_khOChOu~gsaSdo7kU-=+JVB1o{ zqQGn7n*Knw&QERen$t>%moE^(uuE5`Byu-_+>c>uuo8CtdDS<71cO-JKC{LBbin2c zQ{ZW@Fy#@q4?#k+@I+H;QaVW436M`Ao8B>9B%c~5VFRpq}X6JbG8mBY8dEN-v$LE4qhRPAf`vwc^a zI;oYx_*LEScds={L$)}cj9U**@D=jv3>x0le)oH!%h{L29mAW*7Wy}Er*;zKq1HAn zny&SYlSAtxnkc*P{^!i6>(?umG<})j0c;J^i|Bx|P`=%RBu?wve;olEiq&n1$m>GgcEvB>AQtGAjYEs~E5CWPj3PdEJ$F&8C zv4>E!LsMBx<1t=d)|dh*OS+EexB`)Vo~R!Fn3nc1p8|;{sVMvh&X_uvhe{BaV&3rm zEc{_UaU|enUofUlsIP$%Q6N#_Kwx{Z^M1_f;DgvEpm^~u9e(k&GM-I2zH?ee{ZjvB z|A8=8Gr?4Y5YLmrr1LzGP_;C#v)I0AmS>)J>}j*b-R4H?&u@vkzB0HC`->c^tuTf^ zum44lW=S__M$yzKEmPw_wQw3quO8WDb(~j{jQMF7Y#PieyW6(aji-WnXM9x+!YL@a zUGI~`6^2?iSldu>n$$%%Z?umN#A!^F>u_6CwYOZdwafo{a~I>8v&Bf4+-(+6P88>J z3at<b!{ zhXrx9Ia0>8iExsVMGXMac{ED%DFI5G0A&wwpb*;PLBw2lutqS3vM)3Ys%b1hnkh&l z6;%K}NZ1$(FoWg|(||m*P|gTMP!9IwgB;fdW(k*FqF(DpajO3i^L>@|wJv`2N!Mqz z#Bg##U|8k0^`l`HWs+eY{8-3Wp$&imb#)71GAjp5w`SK`S=+WRBaS9ciTjBO$K3uJ zASvZsx-)Ayqn%h|w!EgyKC$68t{i=eKTnRo@@i%3Zm(eq+pjAqe(7J(xHW`#7~dP< za^=-#ZmO0@_l4F75LnW$f!+e*=++}r^AOIDnO^pcA_o;M5QOw~__uoXp6nO5KpPqT zNl74$=fk`!kwg5oqu4XfceIS&4Koe>eqSmh^_^2Y;*{gsTcrBYwfv{Q?^$k^=38#n zyZ>a3d_w0X6he5e(XnkXApaaX-(S@Pbd-3@o{GUDU+oCU!hAh>t6Hxv@?6bT>DSa# zX@`2=Pz-?1#NcfBiE0APc$1Yxu$h*QEYU6zX1*UZE-6eMtCx1@s@~}{$o_Qp){CDW z{mVuYd2cQ}|ITcX<#WUr7nCAA#R|`!EoJ)`m=dRg{Q;ZI;>zN-d-e&N@^@>S_`g~? zM5WamfMR6M&XVt8X;TtQ^wyU<9h!bp-rCR3b`_>o^x_;A}?pBXm`t> z*N5RF*@%L?fTzZin({+Q*3+kfM;l&te}W{C>lqBe+QKS0r~*C!mxN zA_~L^5p`{LK?n+K>;)iotZf5uI#SVbfFoTKK?*#~6NOX$GkFdqo@EY_TNRoQNvQ#9 z;KU-DSYu8}*}*Lu7Dw{ppk+!}Wxg2cCuwxxP9YBk=16+Z%>=re{W*s0!cTp_dq^`d zu@hJZQW*LR%Zxphi`1N|@i!DgpPJL}X1?7yF8gq?IL&j|-g}-whVk?)-xP2<+ZTsA zegD>a$Bw>%Ff&EW4~8dQA9=FvZ>Kit{IX@LeC`fjo~-d)D$(})g@;`AS=>HS15Txm zT3LOw8O5Hi^&ZWl_@7kh)sBJ`7r)F01V^41=NDCY2e4fiwK$1?F0!Y2Z^j$#fva%b zOIcdrpLD4@f9=3%WQ{ z=}xr->P=NL>V0MHDo&tzpw{+g@)o$e)%9!Ze#@Ei{mxlew@s9Hqj=ScT2LF~x8+KR z1HqrwaX&dH`$u?>(1k;inXHR&P+p`78!*_I$2ti zdw)T{Vw?_Sw9Sk1=`y3-I1@t8WAbnmPr6bGuU9Orqbp?%7UM}a+gJ`W!@QugKE$!H zj!`K{D?qaBotP@qtmY~kdZAfxln^(ZalU?0#l;@Md6rsxwS5*{oSTGr>e9&Ibc_=? zCrNukxM>H-{cIPycxA_y4i#T^fxJkUm&wahu&XaW`iM*);SVhVKw8 zsxv9^^uChi3k=Mj$3*neR~60(`A*}i04s~0^6=EwQ>b~v=6Wf~V#-)NAeJPpWNYn!|N#6IPGLu0xn zy_WAC=;kezA@nF^YLP>u+P-H4*T?7fl7K`N^QC{3s+K&Qz?Dv0|S>r7(bZKZ$L zKd!cD0m>dk3Za97U&GOGWMTxuLqi4Nw;yJQ0F7ARM-QZe{VXKe#M#K+axI4brs}Yn)FrMK`7?Aw)wP76= zAv2xqr#5yfKr+ACc5iB*_eB%BoE+t}%A5YjD>8hK3a;OsC-BT}AwsmBlfmc$<+x8PUMh?}c!7askO4C2mjkS9vQ8wa& zy1vMf2mV3V`7u!p77zMX&l9b{MAh!|x=Lb+^Vp##Am}JN8TWn1#+Myu)MR zd26qJJwqrH{EFdtIxeJGtHkl5KJvM|)U+6>mU2~td9=CAPuXs^A>t4ck1qsL_dAD; zew3-^xh|%p!jHw)G)K9ZtDoQyjvhO>ABMsS$>Ge>A7rJf9 zA$n^_Gx@K{v!(VZE7^m2@Xw7KuE}Th!AkwOgX{ftaX8_w3XB~FZf*U-cG)*m?IdNg zQl8|oq9iZszqDlzw${bEChBygCMs;uYw3%qQc+m+Qjpy_S)JZ+ z39iZ95g^#OkOIW=Kk3WMH0U?naB{TW!_XAeN3}sWP#)R#vxjslteAUy&u#&~h{_-C z2=#jfNlD1WaCS)84?z2&C>^2z&}N53d;sN%)Z?Gr z0JuRhDZmb?Ndd5d2oMsAt%x!EXDNsFhvYrNY&sGdc-I!1ff1ic98tJH>kL-EHxZ7jCb~hP? zG1~n+DJ_@EKhi18nXPT^}$x=slY|*eyeNp28j20~M$1 zMJI0{B6GP!8f9-d&J|YaQ*Rg@$!`PdDnvC&7n6e zB!+yXEiZMz>N6r3Q*kb{6Q7=}GaJ|`Z#NO}z)$pGuMEXewW4s5VMuF6t)7zERLMN@ z{W4MCPXY7dJ?izjw05&;YuU@yy62irMT5-8ql}AFnZ517R;-5tJ#S;*s!s5(RJA6) zOdI_e9A1ZKQ%~p(tXwbijJL5MoSYVGt0PR=eQMTfP04>b6?e+7bCjEI*zVQJ>-_K} zHPL91Ff(`J4SY*-3|SdV%f2|RNMBAd3&_sdU}PIV$$nM+_=iPzOm)(oPUl5%=lK=) zCv{{y6nE3CDJ|XiAin1;LCUn;<`NE`ROn_1Ao~3oDj%A(WqBQY619H=b)=h7IV#KY zZ`i07hXh1uUhK66UPspGe({rRpR{y6uU7=gnd-Zfud|YOwcY|^q+9>uR!VjJf*;x( zh#)#;MbZD*&p$3eLxBiE$^{A2!_|fq{PSOfRn)uEP*5ykf;5AIpuKz$V3tdp9ZQ{9 zc=s{U_AX}PS~+B=?N*bs43Zyeb}X*^aPQyTS74G0m}nETbnN5HHUCcVIfp>))xmh+ zH`QApXvJmG-*K%~c(Yc{_)`B>P!AiHB_NIqJ?gc;Qkh~uBF#jNy1jm!TqVUunW0-O zmbqk4j8Kf~mPt}`o4YXL?~+Luz}u>qr<2~YM3kg!^*c;6Td3#CmaN?GVB`0`Ck(3K zwiMAzwy2*F_4O*`mimaDd9x3!9rK0X2oth(=D{6CTkg8C zG6a8#=36I@Elq;iA37Vk#xhh@gKq&G>v81rcaF`a`83tc<@mP|(7v{p#2%NLTKmyz zXz@ToKUTzw+j3F(%Hw*NL)>H@qo!6;XI0FB2D2S7o!9#*L$d6e`mZM`%g`w>=YgXM zTht`AptwsRGp+qMb(C7)H92~LvJwBygehThr6i_t#nPr56_;3GfA-u|3}={am*!&? zRjRt-yoAJvnU}RaQH@e8V(Jp~OOqFzFT$92jzTDy*cBe|+9c&9)_RHvAHk z9Wa(B)#q1l4AaS+FxolNc|#nri#H`9WFwO!c@d|!g>UFhIrEp*q*k1+_RmM!Biq+Z z3OX>&p9lA}nlE>`Z7xeMrC3;}S+7XoSGskV5;4wC?%qjcXL=7qp@t9g`+v%6JQH`7 zT@1UF7z+F>m&dp4FL0o%BF~61&qh=-r7_nXzpz@$V?XfkTZ9qsXc@ait{BeK@e5AoRbzJ})f6 zNef46>e*wto%}4koD?)2fMw2-MS9qWw9{U`W6)4_JN`%CtF5pL=Uhk7 z6O!t6nG_f1HzpHp?AI9yJg`X5*7CTA?eU?vfYUuU>;s89CWrWm9#%%adwUCzEwqr_ z0s_=FyWqs_qt)P>11c{HyD0yh>pj^h`5(tZeN^#gd#^8ToNVsiRn=GYBP;WTl|L~i z>v`w>X(>Li@6!x(P`7*pO6gUh1ZhXP3;qI;XCipf;$i#^{zO1lfM*&vgB?MR1|!We z>+@=X?_r*JugglΜKu;-6{De?oi4E19atWDA8V2kS`>!StXsPt?3=AMZR{SRCb{*cVVq9Yjdipk{@Jw^)yxfx)YCq z_{TUepXdf1y^-Hn=l5#Q(dsj}9zt8Lzy-0N9k2SP0fqRHP`sig;rmFzJ@Tm!Y(z$* z3UA)RDRede{x-$@Tz(+Ze_m%IUT33SGa)~4R`%gTmKS`;BPl@72hXpA!87}zxCQ1< z;dQ1_O#^U}L;%~XQ@aUs9HCade3=LKkUh@Ri#O&B-64eggDO2S^RIns?(fw~CCa~W zbl3g6DW8M{EPf!k zL=-@IStwl*m`KKW}tm%hS%?v zXMA)ZDZ9G!Z=>pZgIf5i@6_&2-X9pNWoBeMLcBhToN|M{qXSXKgus$Z42zkVdzHCj zS|p_K!JS$jN⪙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 literal 0 HcmV?d00001 diff --git a/resources/images/Lulzbot_logo.png b/resources/images/Lulzbot_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5a6f1f19e9760d932dbbe5e3086296251aa02b48 GIT binary patch literal 4976 zcmV-$6OZhPP)dL|H{;2OZz7V>T?#>SVK2JS_eyVO& zow{$GbKZOIEx-r2z)Ol9a$plISzF4>vkUqczNnw(uy4&$%RLYBp<3YxZi+pvbbX_q1SJ zd)k&a=l1j%+6V?C{(<_pOu+*EZ12sW9EsK&bWiY-M6Q>I?}HD`?%8-rqIPC$wuP%> zar~z;8W_Z@tKYg%s@beTyd+UYmbL4JY(DSi^K8xL*&IaL*R!vY>hzR;x1$iZ4mELs zL4t{wq*d1w(R}csIXkE1AE@sGDzeWH-l9cC8`+MGfvj^+6I;DCUgboI=?%ILtwk)U zsXzv{@w?_XA0Zpp=Jm0$r)_z2ZcmSCuyHm`RaKiz_m7;=Hu%(03mH2p1i>K!N{bYL z5^^b1MqZ9BUbV^}wnne^>f0TWd)bD(Z0psb0nbBIRUcCt0F>ul^{qy4%bRn1e2#`P zl+K`=9uUlTn)YIQWd2%?euD$R81U$fC~R1D8H?7&f&ht9pDHp=oycrKCtjbQc|VeOZ7W2?krnQS)%s zro6>V64g|dwT8FrD{ps%zmbE#k%Og7!|4+ipLg?lHjj_t8$c9Mc}YqMixmC)4-Ul6 z%~!DW)pJ+vLkJ-0Dc)EUE2Mpt6UIx@bBZi4Z4F*6X=*q^BmO_loG>*EySEj8SHo86a0^ICrL8JGi%)YAQkrL4hL6Y6BByh?Aew z6Oc!|S$rNlI2^d7YcPn;bUrh-|zhCD!tS8sfsv?xL<|=$;+wDT<7<%51

ewFWZl=r}t`^WK(2W<0a`u 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