From d4697960090cfecdda5fe44e9c522bbeb0193bdb Mon Sep 17 00:00:00 2001 From: hit_lu Date: Fri, 9 Oct 2026 16:44:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=A1=A8=E8=BE=BE=E5=BC=8F?= =?UTF-8?q?=E8=BF=90=E7=AE=97=E9=94=99=E8=AF=AF=EF=BC=8C=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E6=8E=92=E7=89=88=E4=BB=A3=E7=A0=81=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=8D=95=E7=BA=AF=E5=BD=A2=E6=90=9C=E7=B4=A2=E8=BF=87=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 8 +- TodoList.md | 19 +++ inc/common.hpp | 296 +++++++++++++++++------------------ inc/solver.hpp | 88 +++++------ solver | Bin 0 -> 629384 bytes src/common.cpp | 115 ++++++-------- src/main.cpp | 41 +++-- src/solver.cpp | 407 ++++++++++++++++++++++++++----------------------- 8 files changed, 485 insertions(+), 489 deletions(-) create mode 100644 TodoList.md create mode 100755 solver diff --git a/CMakeLists.txt b/CMakeLists.txt index 152d1ba..d106132 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16.0) -project(Solver) +project(solver) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -22,10 +22,10 @@ file(GLOB HEADERS "${INCLUDE_DIR}/*.hpp") aux_source_directory(${SOURCE_DIR} src) aux_source_directory(${INCLUDE_DIR} inc) -add_executable(Solver ${SOURCES} ${HEADERS}) +add_executable(solver ${SOURCES} ${HEADERS}) -#target_link_libraries(Solver +#target_link_libraries(solver # ${GUROBI_LIBRARIES} #) -target_include_directories(Solver PRIVATE ${SOURCE_DIR} ${INCLUDE_DIR}) +target_include_directories(solver PRIVATE ${SOURCE_DIR} ${INCLUDE_DIR}) diff --git a/TodoList.md b/TodoList.md new file mode 100644 index 0000000..6327dc3 --- /dev/null +++ b/TodoList.md @@ -0,0 +1,19 @@ +## P0 基础修复 + +1. 补齐变量约束能力:完善变量 LB/UB 上下界定义与校验;对 BINARY 类型严格强制 0-1 取值 +2. 增加测试与回归用例:搭建基础测试基线,覆盖整数、二进制、简单 MIP 算例,建立回归机制 + +## P1 核心能力 + +3. 完善终止条件与工程可控性:实现 TimeLimit 时间限制、MIPGap 收敛间隙终止条件;完善运行日志输出 +4. 迭代 MIP 分支与节点选择策略:按顺序落地:best-bound 选节点 → pseudocost 分支策略 + +## P2 进阶算法 + +5. 增加启发式、割平面与预处理能力:实现一种rounding舍入启发式、root层Gomory割平面、简单预处理逻辑 + +## P3 底层求解架构 + +6. 学习稀疏单纯形,对接HiGHS等成熟求解器架构:调研学习稀疏单纯形、稀疏基分解、对偶单纯形热启动机制 + +## P4 工程收口与标准化(待定) diff --git a/inc/common.hpp b/inc/common.hpp index d871f09..cd045bd 100644 --- a/inc/common.hpp +++ b/inc/common.hpp @@ -4,171 +4,163 @@ #define MDL_MINIMIZE 1 #define MDL_MAXIMIZE -1 -#define LOADED 0 -#define OPTIMAL 1 -#define INFEASIBLE 2 -#define INF_OR_UNBD 3 -#define UNBOUNDED 4 -#define CUTOFF 5 -#define ITERATION_LIMIT 6 -#define NODE_LIMIT 7 -#define TIME_LIMIT 8 -#define SOLUTION_LIMIT 9 -#define INTERRUPTED 10 -#define NUMERIC 11 -#define SUBOPTIMAL 12 -#define INPROGRESS 13 -#define USER_OBJ_LIMIT 14 -#define WORK_LIMIT 15 -#define MEM_LIMIT 16 -#define PIVOT 17 +#define LOADED 0 +#define OPTIMAL 1 +#define INFEASIBLE 2 +#define INF_OR_UNBD 3 +#define UNBOUNDED 4 +#define CUTOFF 5 +#define ITERATION_LIMIT 6 +#define NODE_LIMIT 7 +#define TIME_LIMIT 8 +#define SOLUTION_LIMIT 9 +#define INTERRUPTED 10 +#define NUMERIC 11 +#define SUBOPTIMAL 12 +#define INPROGRESS 13 +#define USER_OBJ_LIMIT 14 +#define WORK_LIMIT 15 +#define MEM_LIMIT 16 +#define PIVOT 17 namespace sv { - using matrix = std::vector>; - using rtn = int; - class Expr; - class Var; +using matrix = std::vector>; +using rtn = int; +class Expr; +class Var; - enum class IntAttr { - NumConstrs, - NumVars, - NumIntVars, - NumBinVars, - ModelSense, - IsMIP, - IsMultiObj, - Status, - SolCount, - Lazy, - NumObj, - NumCol - }; +enum class IntAttr { + NumConstrs, + NumVars, + NumIntVars, + NumBinVars, + ModelSense, + IsMIP, + IsMultiObj, + Status, + SolCount, + Lazy, + NumObj, + NumCol +}; - enum class DoubleAttr { - Runtime, - Work, - ObjCon, - LB, - UB, - Obj, - Start, - RHS, - Coeff, - MaxCoeff, - MinCoeff, - MaxBound, - MinBound, - ObjVal, - MIPGap, - IterCount, - NodeCount, - X, - Slack, - }; +enum class DoubleAttr { + Runtime, + Work, + ObjCon, + LB, + UB, + Obj, + Start, + RHS, + Coeff, + MaxCoeff, + MinCoeff, + MaxBound, + MinBound, + ObjVal, + MIPGap, + IterCount, + NodeCount, + X, + Slack, +}; - enum class StringAttr { - ModelName, - VarName, - ConstrName, - QCName, - GenConstrName, - ObjNName, - ScenNName, - BatchID, - VTag, - CTag, - QCTag, - BatchErrorMessage - }; +enum class StringAttr { + ModelName, + VarName, + ConstrName, + QCName, + GenConstrName, + ObjNName, + ScenNName, + BatchID, + VTag, + CTag, + QCTag, + BatchErrorMessage +}; - enum class ConstrOper { - LESS_EQUAL, - GREATER_EQUAL, - EQUAL - }; +enum class ConstrOper { LESS_EQUAL, GREATER_EQUAL, EQUAL }; +enum class VarType { + CONTINUOUS, + BINARY, + INTEGER, +}; - enum class VarType { - CONTINUOUS, - BINARY, - INTEGER, - }; +class Var { +public: + friend class Model; + friend class LinSolver; + friend class Expr; - class Var { - public: - friend class Model; - friend class LinSolver; - friend class Expr; + Var(double coef = 1, VarType type_ = VarType::CONTINUOUS); + double get(DoubleAttr attr); + int get(IntAttr attr); - Var(double coef = 1, VarType type_ = VarType::CONTINUOUS); - double get(DoubleAttr attr); - int get(IntAttr attr); +private: + double coeffs; + double val; + int col; + VarType type; +}; - private: - double coeffs; - double val; - int col; - VarType type; - }; +Expr operator+(const Expr &x, const Expr &y); +Expr operator-(const Expr &x, const Expr &y); +Expr operator+(const Expr &x); +Expr operator+(Var x, Var y); +Expr operator+(Var x, double a); +Expr operator+(double a, Var x); +Expr operator-(const Expr &x); +Expr operator-(Var x); +Expr operator-(Var x, Var y); +Expr operator-(Var x, double a); +Expr operator-(double a, Var x); +Expr operator*(double a, Var x); +Expr operator*(Var x, double a); +Expr operator*(const Expr &x, double a); +Expr operator*(double a, const Expr &x); +Expr operator/(Var x, double a); +Expr operator/(const Expr &x, double a); - Expr operator+(const Expr& x, const Expr& y); - Expr operator-(const Expr& x, const Expr& y); - Expr operator+(const Expr& x); - Expr operator+(Var x, Var y); - Expr operator+(Var x, double a); - Expr operator+(double a, Var x); - Expr operator-(const Expr& x); - Expr operator-(Var x); - Expr operator-(Var x, Var y); - Expr operator-(Var x, double a); - Expr operator-(double a, Var x); - Expr operator*(double a, Var x); - Expr operator*(Var x, double a); - Expr operator*(const Expr& x, double a); - Expr operator*(double a, const Expr& x); - Expr operator/(Var x, double a); - Expr operator/(const Expr& x, double a); +class Expr { +private: + double constant; + std::vector coeffs; + std::vector vars; +public: + Expr(const Expr &expr) = default; + Expr(double constant = 0.0); + Expr(Var var, double coeff = 1.0); - class Expr - { - private: - double constant; - std::vector coeffs; - std::vector vars; + friend class LinSolver; - public: - Expr(const Expr& expr) = default; - Expr(double constant = 0.0); - Expr(Var var, double coeff = 1.0); + friend Expr operator+(const Expr &x, const Expr &y); + friend Expr operator+(const Expr &x); + friend Expr operator+(Var x, Var y); + friend Expr operator+(Var x, double a); + friend Expr operator+(double a, Var x); + friend Expr operator-(const Expr &x, const Expr &y); + friend Expr operator-(const Expr &x); + friend Expr operator-(Var x); + friend Expr operator-(Var x, Var y); + friend Expr operator-(Var x, double a); + friend Expr operator-(double a, Var x); + friend Expr operator*(double a, Var x); + friend Expr operator*(Var x, double a); + friend Expr operator*(const Expr &x, double a); + friend Expr operator*(double a, const Expr &x); + friend Expr operator/(Var x, double a); + friend Expr operator/(const Expr &x, double a); - friend class LinSolver; - - friend Expr operator+(const Expr& x, const Expr& y); - friend Expr operator+(const Expr& x); - friend Expr operator+(Var x, Var y); - friend Expr operator+(Var x, double a); - friend Expr operator+(double a, Var x); - friend Expr operator-(const Expr& x, const Expr& y); - friend Expr operator-(const Expr& x); - friend Expr operator-(Var x); - friend Expr operator-(Var x, Var y); - friend Expr operator-(Var x, double a); - friend Expr operator-(double a, Var x); - friend Expr operator*(double a, Var x); - friend Expr operator*(Var x, double a); - friend Expr operator*(const Expr& x, double a); - friend Expr operator*(double a, const Expr& x); - friend Expr operator/(Var x, double a); - friend Expr operator/(const Expr& x, double a); - - - Expr operator=(const Expr& rhs); - void operator+=(const Expr& expr); - void operator-=(const Expr& expr); - void operator*=(double mult); - void operator/=(double a); - Expr operator+(const Expr& rhs); - Expr operator-(const Expr& rhs); - }; -} + Expr &operator=(const Expr &rhs); + void operator+=(const Expr &expr); + void operator-=(const Expr &expr); + void operator*=(double mult); + void operator/=(double a); + Expr operator+(const Expr &rhs); + Expr operator-(const Expr &rhs); +}; +} // namespace sv diff --git a/inc/solver.hpp b/inc/solver.hpp index b6315cb..b7eef4f 100644 --- a/inc/solver.hpp +++ b/inc/solver.hpp @@ -3,60 +3,56 @@ namespace sv { - class LinSolver { - public: - friend class Model; - LinSolver(); - ~LinSolver(); +class LinSolver { +public: + friend class Model; + LinSolver(); + ~LinSolver(); - LinSolver(const LinSolver& solver); - LinSolver& operator=(const LinSolver& solver); + LinSolver(const LinSolver &solver); + LinSolver &operator=(const LinSolver &solver); - Var* addVars(int col, VarType type); - Var& getVar(int idx); - void addConstr(const Expr& expr, ConstrOper sense, double rhs); - void setObjective(Expr obje, int sense = MDL_MAXIMIZE); - void print(); + Var *addVars(int col, VarType type); + Var &getVar(int idx); + void addConstr(const Expr &expr, ConstrOper sense, double rhs); + void setObjective(Expr obje, int sense = MDL_MAXIMIZE); + void print(); - double get(DoubleAttr attr); - int get(IntAttr attr); + double get(DoubleAttr attr); + int get(IntAttr attr); - rtn optimize(); - protected: + rtn optimize(); - double _simplex(); - rtn _pivot(std::pair& p); - rtn feasible_solution(); - void _gaussian(std::pair p); +protected: + double _simplex(); + rtn _pivot(std::pair &p); + rtn feasible_solution(); + void _gaussian(std::pair p); - std::vector> vars; + std::vector> vars; - matrix table; - matrix ope_table; - size_t cn, bn; - std::vector basic; - rtn rtn_; - double obj_; - int sense; - }; + matrix table; + matrix ope_table; + size_t cn, bn; + std::vector basic; + rtn rtn_; + double obj_; + int sense; +}; - class Model - { - public: - Model(); - rtn optimize(); - - Var* addVars(int col, VarType type); - void addConstr(const Expr& expr, ConstrOper sense, double rhs); - void setObjective(Expr obje, int sense = MDL_MAXIMIZE); - - double get(DoubleAttr attr); - int get(IntAttr attr); - - private: - LinSolver solver; - }; -} +class Model { +public: + Model(); + rtn optimize(); + Var *addVars(int col, VarType type); + void addConstr(const Expr &expr, ConstrOper sense, double rhs); + void setObjective(Expr obje, int sense = MDL_MAXIMIZE); + double get(DoubleAttr attr); + int get(IntAttr attr); +private: + LinSolver solver; +}; +} // namespace sv diff --git a/solver b/solver new file mode 100755 index 0000000000000000000000000000000000000000..0c72b076db61023ae62c1723005adb8c041c2c8c GIT binary patch literal 629384 zcmeFa33yf2)i-{_ppmMHiZ+hK8ALInRnS_4diA29D8`}{10n*-BqWNqSTv;N_IfK0 zyyDbSKii_#N*yCr2%y|Jv_@+sPBpgH_oP9MQ;k;T`~BA1d!K#oJvU(c{-5u8{?D5h z&)xg%z4n^d+QT{LhsjYV^(rYz*uP$h?Vr~<>vnKUezeET+K^j5BYC+wHWfse&JuW`Ki~c z?X+mGiE=HoUtj(-%rG8r-!Cq}UH(sUQPgIVO_V&8)M_RO3zaM$ia-a5V zc|!ZyYl;lueM^kNi|k;(F4M2e^t0E5;g`Kyei97-J!$Sg*{d2QmaBP5oGAYduWZY| zF@LYSkiSd!Q#?!eQ#|c;zY1xVuvgpf4D=(OTl#0&ex@0(7+;1N{Owh-N+b@QKJ9`d zk2rMtg@;U^HnV=-A@hbEdB~AR44FG?$WWoXKM)~HPd=?Cao=Aj|L~(fbd^tj?z*xs^}zxTvH-dDQH6ML7G%kZq<3;*{1^5bp#FWvTpc_S}* zWKiiYn}I5?ywuKuGU^;GY;_PZ8=e_)aNzD3}CyGVUq zk@_J;@cdno`fnA1v#v<}4Mpmg6{)|nNc|B-`0!ql_FomLuP#DYzasD(i?siCk@gri zQHg)~e@CJsPVT3e`q|~xkuGlo&<=@R6V+=*NWEGBV56RJ7Vi*ke+%kZ-<4ONsI8qc zW7f>txpfog)YaA|YR?^8H?*p@wr=X2S(n#NpFDF)-PGF2bLPyNGv?GuxO?IBF_+E2 z^|Z0Grq4}Y=zdL;o<~fcdExYtlg8E^cG#q;6X(>{&6zl@ZtloQ$>f=+JN$x)bEi$J zoi(>^&g6+RMxIrBR#k0s?2#C>cGA3wwNvUR&bhF5;-pLKr_Grxfa``$n>Du>Y#+=F1Cu3aHO_?{ZcJ|~sb7#$*IDJ~(6}6XDvHe80$C%USj@&Y8 zC!Gaazg4SToO!wOFpt0!gg`-f&Sa5*j4|{GOV_OWy4qP6)y|nXbIRn}i)PdT+LZ=v z6_^k{XU@bcYG+Qi;u9E0OhRAN6hbnrxM=#US#uI|X4TJxBx`0~J`H!yoIJOF1__@y zckX29#6=UQO*b7U)=i!_tu8TR@{Ad?E@Klo`$O1KS}FPKH-Gg!-rHQP98P#_!DY}4jDS+Tl#z4IMg38WN205gmL3W96z%5 zupx&J8Ri#;dj-D_lpN8b7otWV`EPIJ6Mdzo7a|7lY>j)Rxb`(|w!xJ-2k)^TOgB-2 z|4qRU`tM5o8*{)F-$*33N&JvE@yGl1-u?RBrXlg_oA|MJe|*9HKHmMliPOw|!kgWF zGfJh28%^E37w*S+TPN-`la}(Ye=G8NP z+rMhBo;caRlvnTPHDkPb;%fiKdG$62vhUeijI>v%Pu<#{JFn>bG^Z ziNpf0-lV#6cac}Wz1M!RS6}AUFZJqeZpPcoy!suy_RGC`Kc1}c>UZ+mH+l8U&Fo*Z zSHH8Z#I?n%AK=xudiA?_^=)4LH@*6Huim7tayRhmclFwLdG&VA!Q0(leWlm_e}Dcj z2mb%Wfse}e`aIRJu{4$G+i`zMBGuSj*K1R2s^Q7fbwcK*Z~Yb3oA!Sj|1BF(jbAKJ z<-LyfP59gYRhH?(J6fguBFl8$9nDgHhGn|!julc~%Q9Vc$1*9eWSOqGW3iMUV3{ts zV}X?KVVSPCW44smdHWxCFeuCGwB{{<}5Wp=bn`COLiDmz-Gd?w3uksZxaK80nv z#*P(IKAvT|#ExZBKAL5^!j8pK9?CLZUB?0`AH*_UT*quF@53@(TgL<`@5VA+TE`eE z@5nMkb4Rt5`?1WB+)*XvUM$nqbyT8E`5*S~$n*>6r_z5-HN4$5=B$yq<_UX@NThOW zx_0L!H+CxIzVlkFNPN7Q?bls2q-?-KK)`gMsT>o9)Uo_;-A+xcq6%%ZniZScFIv3r zqOdXbXO*j;>UMAtwl)y*`*ZvS$1VX4iTa&tQt7`3 zS3)T3`!=AaWc<2<@z}oeCv2EX&+q=QY=>l5x_)CSlf>`xWEUzDEL>Ffelvbo!w!<& zxoU}s{F$lQm>$!A@%VKXLc0FrhWQ_t)|KMFJJfC4xw8S4=-kQtsxIv;1?;{XPKTT#)J zYG^KHgI_^YQt4zH>Y8oc4O-Wp%GR`{vdQ*T`eio#8LKl1)V8M5>r?4BgGW)5OKzmp zGRcjpNrcj3p^Rel;p@t7XkOS{wvh9C*T#)BP}|Ji$K7&>ZD($6-9+Ee*;gdHu(@uA zV459M$}URtSjjYwo^rc>F{GRA7YhD?0a%!(@s!sYH{>u}EyM4Q3F{fep!xC1U3s4FpiXnhYUp z@Vf<#5}muH((72Dls<*)NTu8Ov+|2go1{83zWZs_z=nAuf? zC~CtIXHl&x(Uvl8v+DFK_(7I^b%L5C2d<)nelgzmu5JsloCr2CKmDoXb!xaH{nD|(S`a0g0}Z1uH4sOW$vGF0psM+Jl| z3PBQ78>khC=bP#)H`P~csxPPaSxd=o4L?Z^U@)U3J$jz+Bc!5fanEzGC~DO6RA^nk z=h;tm)Au~bqNb?ld6A-Xo@Z37=lQL+iSs-+np^pv=TeZ^NPJX*_t{xnvegdd9oNQspHC^zV%}$41z^0-Awajl4|aeyx{r^_uG;Rctq@?! zzPpC9kM%?gwee&kR4JZ_83wsP5Co4aV%2%^o@fS=AftQ#^{Mo0NjXnM-5DnCC0*YN zSA>611$9LiqGP^rVSE~}K0zvFgA9jVf0;H`M@kwy zuVpja{|VDy>q1v6#&s=&tGe2U|0x8*Sz1?10>^>C<*CfhKL!+dpB3?jbt95hV_3`K z30D{{ybNA1mR>Nvy)l%!CxSsmc{uiP9UBALu|3~J#I5%ZkR>Y*!ejuZ=6Ua>kW;?* zUTEv`z4t>q(3RCsZ4 zq>*!?doB`sj#?E34 zGy~w)1Qa_5F;6iHe0ubLHH#{gX&(WK8N#Ww^A|uq8f46$ zOhgM&H4+K+I!AP7v~d^Xyqx0-GS@2DMVJFp!Kjc?1*>D|Q(Er$khCz!S=$7+w>0AR z5#i)V++o&hk`q8O;yMRm=%TK3C3$S(V%=atE6*F=0LIYufeD^Re3(sLwHESR;nm2x z49WL=5JPe$knSeJT}V9xfap$TMt1@EfJ|RwT;8rEIFeqBqX%WbWpJa_Sm_n@iOo+K z=banPj9x}p>H|L<2H^bZ3s?|{_|s-o7y>%F1PjlfI^_fM^d|*ue*nFUvi$_ALyv6V z9fDE*o*&P4RL8QtUx@YLinYk z2oVG%x*e?o+v_sz#j^BTY0IKfm1=SH#2bRAjiIyy$Y|gPAlk^7(uQDna0s}KhLY`2 z$_8etn&=#&GaEO|gLW8`4b-x%rZ)6_iY?#FbfyF9j!AaaodnojWHheSMqay!49iNH z%!R(m;HtMO%`Ffqw|>F|ETW<*@CP$5%)L#vi>sS0o-Fv${vknw^Wj>D$QzknA19=N z8VO%F!4mT|%0c~r8H3fRQ8J!zG@KBZz#c(pIf&E+f&9E@IYuKVI3aE#D1iFl%# z3~4sEU2?ZLzZ)1T8_tg(AJyOm>C7KLl)J7qHK&+|ajs$Xdn`xKTT(hs>+)rPs-#m^_RFBO z`8;({zhs!VG*RaZ<~G|YO(Odh6lA{6KZMbYQtJ|r(|M6OVVc|2dDPKC)Tmvn^*_TH zLsNEsCTa;qI5L8`=W*l^t;^@gaLHyYM}7)*F3OQkERy%kk$(XgC@Rj8JGB8CofpFq zl1h$PYl!0rm*t`yVSU?CakvZwfc;;BND;jj!m0ZmSS~x z6^pBR?jyK7z*I*Uo>sB#YA*Q&_aht7wH8_X3s*pmPw(<-;E_$q#5~|ck6y`$c9lwv z(|~xzuSAb*AvW*2!2oPXTadr)Swpb0eI>l z%bUO;Q;ybMj4s31&fSW?JNvM|Hg(yJ$Uco|OrZkn>zRiRPqvrcjJ4~!YFo{n0;Re= zHK^4J8SNXmVubjWu^?VZrC%kW1t6nynC*YG1_PM~^P%K8LE!uK0epupg)NW&yZH7ZC=A+0A&kJvdd6wShg;Ymtk;Y0$k* zVCmhlTqH`b(YshWgi^d2JirFhJ{LS^y(mE4iFiLU{S+VrdW9XJ6f0RH(@)yspU`7oQZ~DdnApCkJ9Jcf@$? z`B1Y)^hEDr94s=wz&%XWX8}2VTz@p zr8?K4o6#)JM4j^+1c*N__)SwSi>1R@FKJQH~NnO8G`a=_x?&2CF0px&^{aMYu zB2(@5Yz4tjBse()zhFX7RscaAU0O~1jM6o;JKPgLF+ABON>H}&2?Z`qk8~7Eu|$ec zx%xIG>lMQ04glb_T1p#bSSlt6lrW1cT1c3^j5p=Z*I>gPTvpUh2w+q%K;)$@3_)P> znDP!j(;>Hk*VV}2pxkX`|HZ&H%~rpIz^qBX7)c!K z8s}SMy=C7q>LZ~>acY=;A+_eS-l>(It3_^9Xr7I z_K;Sgc|OT|p?S7>=J}QbC_R58#eDN@Vt>y(_mW|Ym}i+z68=NJ%%Et*NO|bO*ejF| zi6-*ilIB!Ns~B#!e~AhNmb?7q z#&}rSp;tdfNBhw$s!jr7X zZyJ?;%gjb6X%2*j!n)>s9vEV-vwi8%M}u4mtRJw}i1vD95giLf3zXqNW@UNh2nbTz z?oWc#vS9#ZbHShJh0@r#=I*wPB5CYRvd1a@894C>kW}BVy<0&dd>*n=L+a&p3X)4> z7r*~g;2wqAn#z8=S1Mz)QP~HP&nCLLWMEne8b=BM?m#XeR=<{9s7k;itKvplTGFtI ziU0-<#aR;K@jf#37?zI{aD)>G%OzXf#eq_BJt*@5h73?F86B?Rjj-)5-jq9#u_m^- z79_T)^Ag)^$sC5;ILe!nmQ;4zP!=WXhq6a_Rq&5O-c#t^xsQc)w}Ta+3apnl zoMjmnv_tu9^*c;sULZp0b-^}*py2u){9FuIyucmHGJcsbWt#~Eb{oBVLj=UbOLmr8 z35N(y$-*Ccz|sbTV?0ipMz4nX-HE!P0toE*Omcln4lPA;?FQ#}c}J?L!edIU-?#Ht zyBGx^!`?+x&Ju5ABE3I)0XdxRV0D_X!K?MF2f~shl?>kdlQ$2x(MD#|Oa*ZImCHu0 z(K(+0^=FRuem*{oSZZ27#SsydB z8lQ*=U+P6X$Rx5#U^rczlS>>nF*(ELIC+h9j&Sl9sETlMw|_WJj(BlPIJr6xqvD(l zasL{eoDcAMD~(2}Z^9k7hGV(x();dI&dt908-5ba9e<-jY?$AbsQacWwvnaE@fd#$ zD-|>TRsOyIkH+8M8-vmv2Hk6c?qR2PelrrPzk8|px3TeI!dZ(+uyBneSQ;_`0DBaG z3{MeUz6;2fnhMqohWEk3^ksR|F|=vN@=Noa!)@zRcoaum3I<^cF}m64{)aNvVn%U% zX~&6zAnsw1m2<)fK1tGPGj$4Wy}t%>hGxO(Z61h`QQ&Oz!vF@vR`&D3)pl+NvL2KU z3=%+VHqhb~zK5|(m&>&(ZZ275W#<_?;};2vC^2D4_0LCwBlns>J zGt-fMI+H`Xl<;cw1CsUPU9H91y)F8bb_Y;?|aE z5J&Vi=xCniD%7A?P0phlbn-K?8ngmx7VQ44YS37@3d0xiXTC)9HK>t@Y+i%DFZeoX zO_ySx22B=Fg&JFsA?^?vvp|s1DgG5`?8|0LRBaLZc&bJao~m7pVyJ2?MO95$@^7eG zEg+l2;5(M|p7hEJoIQuqk2Xorsl)8|_G~x)OH2R$&SUH_NLW(&sfGt2hR!Hgm zf>U|JfwVDYv;OQr?5221Rw0`!ZnSMs43%tG8Qb?~`>}bCN+!W1l1?W8CFE$OU~2ty zy!ZP;7%e$+p;t00aG)$05pmIoFW!XL7_^SE=X`PaT6wapZd;TP3Uk4SPZ=kK->qyb zK3ux4ks>FXnXj6Kj!q&Dqh`{EQ3YsJU!=TXQXHKx%hAiPnp$k6@sW|N1dK12^T5E9IkA&} z)Hg--G+Vr(I5E4DK-*FMUl{f<3H)ZA^D=btoUZ73vIChy&M`_5YW#Its;VYOwyAt-vgpu#YB=_ZtA`zHhFjm!mdZyFdJEg%S&US zhxyBLx4uJ9PaXly$giN-ro z*~^jnaH4TuZTMh7SFTvjOQG0duzjbH4#oQ51~f1rK~0WiHMg;{(BT zJWa(@^gBob0kqby#z2W+3|6LbN6(QKb3cqx=Cq-xF#M{Rc@|(Ttx+DKMK0I`O$cw( zrE%&lu->PVAfkpd@lL7n0z2Ca`()cPK0SLAor)n{;P3zTbsBF4?u58+iLclZJtDY( zP)y(@z)P5dbtk)mm$0sk*$k65O(wvo(;r8O+SP_99>ax3$pY}**b4~JP!>j4Fdk$c z45hSjEFuS_bP@tYT0aN4ge+)Y>)`YwK8{oo$^48Xui3=Cm<%0ESNZA23{39X4Pk9t86C-nz;2GIV+tt7$hsMUcj#qIcC&VS9B%`^(Tug(mk=24N z*Pxf-fE*QDs6mlMKV3WmAlc!2Z1`&rPc*bf7T<>+C#$nHW-2<> z#&~Xe-LNr2X^|Q9cQB^Y#HcZ!kG+E;to{~y#j^Uc2nlMNhRrsYf-)kskk|eBi-}aX zJdgv{mUjNtQoVUs@B=|T)cP=MEL@>8-trK7`YD_)i=DGo!ntvyC^LhpO5v#JU0K037XUENmXi zVuj?`XZ%j^^=@Ng z1`t$2pPh!2#jPxU4ajv>=-?}Ew;Z+N$xw|1a?TB=D+e5={?;fuk7L=>qs3L-<}|;P z1C$z`59j8Ez=q~=@*);=3tCuf&+|Tl9~|9F1md1M>Kpv#H-d|s0*|`SEhWUcOtDt% zd*OVR=Pv&e4S~<27_LhGOK$pGMjxPebY;r8rXrriZgLDp=!y8Jp1etK5RxYpkHz*J zpXL$&x$Db|c+ds#`UgBLrgJw+g-=qR9oj?9VH=dZn$b`K@9L-u!GoxydZ29m~8GsqB(UImoize4MvM z5?Z=xcKN2+rJJhEi-R@<3oz5AfYEezp&(lu|aWOHy(E?McUy!iF+d82U|ku^AH zv(j4c|CskPJAd_v@JgG-^D4Qo@JgD18(mKbUkX3A0bV3)rhP#Xxy}v>3XZ60w9+vFxzJ@QD*xnHA zsK*4DcE@WMwWy=zf+6NEaYW+*=B_})6BSZSg6>?dPP3@r?ov-6eI~H+1(ZTR0P?j$h(GtD10j zd^JDT5RAW1PN1&EOTTrY^$2!;MGmazg74~(@)GgZ!g(-aVoB>NJP|1)&B5kI6p;!a zkz)Xh?}h592dB*gWOxdyr0lwviP2viMt}V|=>$fBVss}uI*gu@o9mcYO^U;anU2G# z9pgta`VnDS*4zzPSf^2pR=w{Kn237UXdw!n!&W8swqiKJzk3ny?)KPDxVv&7$r!|T z$KyXi=g%-#`912WnO5%1snTs7=is8Elq>~ex&`{(iN~WT-U*+nW;S|tm8R}e)OGNK zMcULx<#YX}CitG@)h#o1L%q5Qrfx5<&PM8fsOz`|`e(2-O+SKvcUUqM0rNM#x=K^W zh}Chf>uzJsLw-}^gqL}BHtJlG5o8%EKBPlJQ z!J1n{QquTY^rxiE^Uc^W6eip;Pcat6(dFARIu<403~Ho-zTjD(!f)ZIXR2l`0=`n7 zs^ta17ytN}uQ2{Li*MP&k#ul!Cl|D%8aU(iDG%$&$!6^6EKRMn3o@zUt(SibuvuLY z_%KJk86>6GjZD8`+AK{q1SMF0>FgW)b?K%}qZ{9zw{I%b_w0KSqi86c5;u=ZzaLzA zE0$>*o~jtxfLFA)rPAY95CX7XVK8n1y;wj^x2Bm4CYJ+cT=8{?PlG<7F_)yLrJew_ z;mOzM^L0YaJTjO`zFvT8c8?N|*Z&k&#<%1`aNL$#L-O^K&g(7T79GI%V$exvR3e!% zDK~)pRMi_ZCamR8sg+|sDtK{FBA{KwP;G;8wwsu-G4-efJQ+y}3lz;zr|RJJ}PcC{T-M{|iGjz9wpM z+}-(VF$qdTwMaE|LM=w6CpQ^EV?avzY)E-ItVmOj3}$n{S65hxg51(5|^YB5(H?)0x2`qzS6xQZz*q!SW6AX9W$s;~N6j#H`7 z0^kSIZ;&?l_RlULn=gQ02VNM@HI6K3crq1vU!8oQ1$51CO4mQsF#n;%yzKys&I3!- z5B*@*$6A=|oeE*D+Q?+DbRUG$uWrKoJ09u#{7EGVyq@bOK7{_A)r%Np`(TX5=CUQM z8a(20bOXwL|M+X4;j3q}Wfxj%pJjk%a&{S7A75=JIpW*ZO-gyJIy-O$&n;%@Dn&_~ z_OWj9T&>LoC0xhRcWSj|%8}BSw1S@b@Ct}hVy+Jj=C_6b!r$*IY3V$MO)`lR+?5e> z!4iP)ytavGckT(kCKtY4-%oLW=|;!i&p-y)TkYNlBeSc9Cs^uLe@-g1M6#_+mW@)GMs}g=imc`#%g4Q)wt*}+#g8Bh@F zm{fKQeUc(GW{i%VC~MTW{b+r5946e2>`fU=!LfPtAWE=yyu`I!u;#0cVe#rvvRP@J z)%U?*0)WP=6cc#sDqx^>Mw2h5Q?WHzRpSOoIN-;!#i*#5RO%9TVE7g^5V1>%*`Q|H zIbO^aseN~~SidFGKo}$tF#koK2fbJX4Z^?V0;55vh?`3;u&?eCgR4bl$6&@S!!Th? z@_vqe#u}e1*f2cLaD^X1$&S7s@NrEpc3kLY?j^6u5ZF_MDSYD%=)Z^bE8I_I6VM|F zN^Ww3{va%sZcKr1x*sf2i? z*Wz}vg&&OA_bxcsU{KOhTts~ss(v2Kz3Xqm_-ElfMlG=)JdY4quz#lfq!W$ z`|-yl-q}5-p$JSD$xl zF}AW7bB3&ap|zm&-)cU~tYzN396kB+{^2`E zyph<0F2fDi>`^K$xPQwpMJu~hD^CX|0R&5=yA9F@3er?BOGd3QUneTM0Q&T`h@s1& z9R&G!1|W%f=TBv=PMf@}wcRBhr-2@CHJ}`nbnAGzV9fh&kps&kc$<2!x~=4$>XEm9 zgnQsL1|E~tr}1R!6g>VDigsWN_{e+bt)TEJ3S->pb^(NrYw(iO&K>0*-yYviSly^|Z>zX^V>dIH^b@6A1IskZ1su6G zEJBD}OD;2aGvj7={9H~}N@F#>bP|VXrR*Z|k4lkhCtKDh-^a8rpfDjQynJ^45DTa# zPz`$VW6Wr(`(xBcG5JDjyA?W>bZ#XM>Y1`flJD#CiI2gaz@TCNbDQe-3I2fPZ&{cH z)B3)6yA)>Pb6VeRV{Kb!zu;cm0uHl%eezA%=Mo__+gQ%&o}%%}dyWHcJ)Gz11vWB+ zrEHpQY&MH$bu!=HDIi;smrK3=`N1Fxn-%QjEhZL5g8FXX2CvJmqYM!H-Ktl$; zklsK=Qq^1pa+UoNeTJ0!$$E6hZPXt-WG%SU|RH&I2nVkI8yNOIqZfE zPrg)kJEmD>3l~vyYhE%mDN`%ubQJ<7VxVg7msqTpVe8LeC44bc`M#Ij3W^*rKSLuh zZu^G$ZHX%m$|PSx$|mnxllIE*-~GsJGaxV^6~dd-OBOdIUn=Q18wjK0ruuoXh&Oet zgUOLic$KG>UK~f(>!|tSJCNdTraPfYlt3dzYru=pB>1INmGZ-24uhStO1ZGx2h=jo zW@ScOssvR1m`ZhUb2|A@CixJu6nUkf1+L5LqVBV3m1Xb0jg(^YLlpbpu(8++!~hkU zq3ITOQ^EFS>CG5d_7`;~2a|!&Ir=*PT*d~Xm(^S!QeDW^Y;8(o`Sc*_CXGc6Oi;R# zm5vcrV(D^Y-OhsRyTEk@zgKltCvZJ`skEL=doG6Sd6#2P>}9 z1jx1BuBZzFx!}||T>m(TqYF6FGp)ZA?Y70aDE?jsP>He0NvLc1S4qdOp%6}o>h?75 z7#R>O1FlisI=nnAEs-UPqr3pn2ynxbtzt%X&}JmM zqFbswZ@^0e*lcDL4<{f$J8(^_Hh5ec$UU@~UD}XrE$O_~HXAqFi7po`+DV94&CLbl zQN+gB-6TimG3uRj!HKxhIYsM4#lV&6w_$EGSnDkR$Fa_Aps5z*f>QQ1b(YH??-gii$J8#o;WtUW51GHf$~V(qtVv1 zK;~ud%DnGWemL`K*kucQK%=VX;k$TiXrs*nIXsc5U-d4LuX=BduX@Y3yy2-+oqSzF zH}V`jPtLdyej$PUWzMR}s7=xN7#_1uC1jgzXf;S?WUdgHbcwHx)Zcyhj1#jxJ}ALn zB8~514$=9rRG1x-4f|3da=|Y!B>^3PDbFQW&(j|uEF{Wk3QtU4y|D^*jts7aW{Ffw ztUl8yMV%4^WexYy7EGlXZ;Fg(=ZB4@bYoe)=q&NPO7y|>un=JTTrAn@2%33=Dw$Z` zr!avr-*gw$_X8n)hujEK`^_Y!XFwmp(ofwi?H~qj;{+bsT3Ka>f--fkv|tGJry|+UA~OduPX>x87-Yi4p&v6Cgq^AXEy? zMhYDvDi0Y{#wl#MsGzHfN=A?GG<0vOn`r5Y!n#9Xxi!H`(Dln^4WFXI(%KvX5)!AI z4!7eznxvBn?(jp}rxGo{Aq z`?#MnWt8cA-}CU>fVwFHO1#zrF?+0#Ww{%zR4VoZNu4hAEka%@NM+sj??|OxlNPf# zpl{f=W+0J#EFulwxn5K+_#MJdyth>ek25?$@+hq z1-SSPK|I-1(zzZGRzx9it#ZZOa}f|%fLzZ(J%&9Vux}u&#wbw9Vz$bG(n zP1eJAf|lS=k${=M|Eri=9699|3ul<2G+ESu;n%NvMStK)^G;|AQY$`wi>Pb zd{>f9tHOBIrKWa>hf6a@ZDyJ+Ogk+G$io687yKPpCETaqdq}_o0rW?c(a=IBrg*s$S*{#hhsWGmcT+6ku*X?-97z;1=&3wje z0-=iZ4p<99a_umUvNS6_apH?RGTfn*ouzp(jG5%dXfssY=EgWjwP=~w&7yX2LAMKC zxAT(AjB{)&>8ORmVMB=wNOM_w+ISV;qE%uw< zh3D0;r?RMLA%~;R%)VFUpM`Xfq=m0105ki(*XYlX!+C6qA8UoQE-!E5;ay$x`n0|q zvscP6oV}Jq`MbfSZaVT^U{1yMFkb9k{N8h9RNl&jg}JB)m?!pduP2!O`WDA!{g%Qs zbSuwd&prMbWO?sKSuaJT2jSaybS=hm5K%unrd$b^izg3Rb8&qCe=|09D3;JRsGCRV z(^8BO>eNr^0G*{30GK@T%D{=C>5DKcgp!^HC?9SV; zSov*ihn6Q=ExmPh%tYB|d+1F_`8r%U{sxe+x$z^?jbg*yMm*(2XKP-hf#?Qu;899> zC!lY#ca+EBq82gCw_L?gpi*6-f;dnm?6z?G5bk5qdlqtJEm6B+)+gAhM>q(-om4;< zUI9?pC+1!E7?kM(Jd4p2nQiy;ApZb!O9$CXOc2M3TDG$Q|jR)jXkd-fW z17lmS*&g`q#`+pmU@5oY;qDl+Iz?#8u+Ol!RRp8YUEBdR`BeEZCKjjaJ#VP5@cZAP zs+VJ}FPp!3kQXTtg_4FQZS0APH#{Iw*;K+J1Eg~Sa$dw5vE^4x>(J^;JQU1;d@M0LP zV8~#b_xUIo7eBm+I`8vQzlHxaodAT!&sSX-JM41bq!w17CmZk;HGRT6-pizvCsAqD zC{~`2G_4AxHQ2SZ5oaKzj~uPO6{EJ2#KVOlOxID3#6yalDYb{Mgx^cSvHz{qEmRr54{Dq~*!T31wHTD!)*>rtq&t$ZL_h$XdEM4A-F7RbiTSEV zbdy85pa>`IRWZbpU<^_Za`+x=l9dZClNk_+mhq=ZQC5m+kvct`z{+r+Cw#hr%x(e1 zW^~6l_4tL}E&3+tRzeU5MQ^O!%~-^bmFaX1sI7z$6AX1BfdO{$*98DS*{FK3U!A~ z_(!6PeG~Mleum`e*L-gPSXrS`8Q$lp7rI`@60i47&<1!S?`yuNp%{J>^Z;}XUz(9c zsfTZZ9z|@Z#~$jN{U+!;<#za%9=-|sI=9dAK<9rG^m>xHc@BcTU<*zL$jQ?Gx$ph9 zJ2MNY!!JlN&$gdoj+FjtSiCRT(8JfapP~Z=wy`!^ z&e&)a<#UK<^WW{g%z(?c%i|~vQL`BS#9N~cpplH>ND(U8A{oQ3Qq0R3Ds`;(_>94V zg@Ky5Ebp%xABYqsMoSL4hXF0A3j7&7{+q$?xlBjT9DR@BD71}y*6*pSm{bUg7hk|G z?ybspj^oYP#>z-k%x;q?jzLYaeC2I1Z#4Du6`neh%+lm5n@|q(Y0Z+o5r4q_U7Im8 z;j=k@wad`_50b%?HR}NFSg*!EW^ckIbv=^k3bBvfNV=KE%Bv2+V`=vKZ&{5G;Ery_ z9oUOX?|A|>zkjGbyG&0cuhR2Q^o*YPfY{JTGrg*Z3D@V`;{fT=Qz;2pG=n`>Lxjs< zH#<*%87?=5TakV|U9prND*EtgdWmc_hR=D*2B&^C8H>pJyq{8PL}|;8Rk|Pd8D1Y&4qU)C!U?vqWG)7lVx$SoNx}*{2&P&*^{z#1CUo?V zj&~Yc^Aw*v7~zk1j@*G&n!b3q+E=0o%_(_iMAEiK?Y=CPF-*~K4a>7Xl1}}G4a~=U z50c243y!k+7oGyO(53M#HZYBOuDA1IcOOrDtG2cPQ~dKWy%SxfG&~Y!-(RWh9M8r&B6Qae>Fx`ft+k;RGm>hgl_#tL<()rXd z&qq|M-s%iN&y}ggv*SMCiL(i|gxi2kq&XGT9u<7k5A7oIA(v`QDqO#E*N@Z9(DmHH zO|xj#%c$CHzZVMoZI2yD*DpfR4SXO+UfoHTmkYkYQ%ReZSSL`MeHP zJRhKx@}9|7a%R$DCmgwIEDV9_Ty>?n4m8&)a~)=`)#jR#s~Haans%*+v1J?>yBrK% zPQoV2CM=(KS^=h_O4MOb)>7TVD&h>K!8W(dj?q%4BZso3fprGS3blk|Rfw9%q6OoZ z&M!{}aVq8#(Iu9{wU$3&NK|*(X2)Q&p!ix# z8(S*?04ZE+G3g)fd0FrS*kdrAy6jp@wm-IFq`LTGi^&Y(IOKCsQOS7GtzJm*quZP! zeAE|xtN8m$8qHo9K)By-h;x!A|9zhU?D1VCarWithg-a$J5B;qGFF!Ux3CF={0^YV z=pX|fD2@H~bJGg2xK$9g{8CXu43^as?|7>3#y++Th`6!d7)AT#nSf%vAfVbHjww4X zl_HcU+^(_9QJ(c^*JQNoky3<8o9_YkiW=WQaG(vIw-rORl2^M4x-K`x!4}cD$ZFP= zjEh8#oC`gEaU082gKuNt2gzkww!?38Rj&UM$sA13Ekm)TZQ-qT_6oPS3NZi0f72g3 z%x{n)vufyo{WRlxaqy@Kv9`Ia@da=De%JbOH$#N`b&EaxjWian!|aXaD?rgNL}y~g zC;}rI#CRCQaw!k*wiuW;R*^ zx4wkmFtnaey@ZVi)cC=$kTu;{wg&qf=65IR_`Iq(q~4NPs(aG~xpuP}_o+@+>6B3A z`zn}lxVufnXsxH=T3|Km{yeMkb_f&-{d4SB#t0Al>eT8YUaiO%Y%UQ*lo!P~ z6khmN_&QaNuBgPFCWjhg`6B^sFL-q8G>mAh$1+@lr&We}I#ak`=*Ce^k4DYGE*3`Z zf!v5j&5~$KhQDDh2>BCsS&tG5Hj;}nA=fE4_gjV43_r4q&_ZMAHq18Pf5r)EaI_7U z)QUL-gd%e7hrYq?IDdsu5sZ~9;vaTU_|ruNVl_~b1B%Dn_jpQBaYBDYig|0J_X{5G zToynXjur6Yayg^yzQ&RtK%&lnEx`J6gjZLQ^zb5SPH1#J4piVpT!OB{{y`MOHF1_W z-wHn?{zum6`f^10p@GJKsckv>#p-CNexaw(NME3Ti1c}y6v@&qCu-;#X6?mzJUZHP zOZ4qLU7dn*slGk=S**U5D`fM<`VFIF_3cdb4emWn_3dwR6@9BXeT($%ji{6PqZIS> zEyqfyx<=hX8AY|I50L)4TC@}Tcv?gdnrOkO@M=#CA8HXxQ7sZS{To{J4?rraMNat( z$<1_o>`uTO^w&; z`mJu}zIxwL6e&GUzU_O$UEauSOmz7@_l z(ZLprZm(cTKvx#gM)v)z7nJ>4=_=8!0%+rwAKmVdzRpz~Ze1?h+30q*C?0FD?fnnp zT|By#f~fZBDigz8OH7!XD3iGOZ_4!K6Ke4+vHFDgBmh{hT*@XS7r5ktd!>lDS@^MZ zFuBSxnE`+c?B;WWv+15_ACFra1LANL8{YU&k+<4LE_g$Vc@gqp4jX#q z_=E{Q63(yzpUDHc3vp~L-gO@A4ktxjryu|bcoP#KL1|>sV;r4^;90}@LB@-e2S_wh z?j9;fSr}KOZC~-WvW)-oMl#e7pX9_;NNYL7z6`nPQjE5I+0m+hA1*}9iuQc(ZT19QzEY|lsw+#-zqLJ;B#?Dxd1^2f{Dst-&w8g;-g}S! zrONJq0j?c4WVZ17dxR!z0L?T8a-^A|64xM>-V%}x)UacIEhz*!zdr$B8s;}A>JLV@ zcsAK?B7*Y}NzAJ<(EVCskp|e&WI7NL+!lto1-NCa2cbGR`b73v7tE2X81S$8GqizN zEh4VB;gnd6QrxZ87>O*9wL4tRp5FbQBz3_T>cN+Ki8zI#Q(u&qfgFeaqBTb|^pYlm zliUO>6S|I;%_&w_bJeg^nt*cR64TiwL1V7xPFV};`#BTj*W$s6yVBZ`d&5!Ik^bO$k~BuQ-W zRSDe0z`-g=S_~&eS?#8R4#=dt=`{6B!pp#?NTh-NwX zW+lR?Gj3DYz;wC$l)Z~l57$s1Be^cXru5NE6y*)mE6fXgzO!|e*ZTgv)|4V(Ihjp> zjx<3>R=~|egSmZ-tL#S0XtSh0H{9qWrRqFZiRsBlD$!f0xe?X*G1l9qX`|N^C9{NF z1&`@vH=ztIz4C;n4B3IEA-z?=886OZ#9`JfEk59Sr-^NE&=s5CM@e|k%a^GO8DSHy z)x&UTpl%qr!a`LlyLh&SO=yE{Gmb13?cfWw%=Y)Y7^V|1%GMiSks8nYA%s=}Pjs@G z6MT)X*J76p(u}Uxu47&*>;V?ytiW#J>!Xsf5;+EwqU*I?;=yx4KbOw{gHSVK*J3Nt z_TO5IJvJP~DO4Vh9ogbu$yy%H2-ihx{+LfNSS19X0^mj(^v->h!~V>1SLy5KB#(+} zX{P9W@X;0ujBAz5PwdQ*acLMt(*n^ngR3pj6+0V$i7m4=@1v^KXx1lErL*yE&IQtP zJc|)p6z>axErH1P=#VNsbodyLHHF7>?~$UUUAuFlB*P%Vsfp&aj;Z1gLeJZk(glYU zzGdu8Sk;WVLb!4G7e%4i#-TLC_n;Ja2q&_0xIZupt&QMevf+9;o#f4U;7n1GltoOV zA*>tI$9e+v4Kb}2!{zLXtFV&x!w_U!kkdm+`huWjtiIF>6^dNjk5t2ORkqZV7hoH=Bgp%DW zH5(B3^ZP^mI2P6ZB3n}vU`KK5i1aiSP%9e*+NsW18!#RL)yTFmbg(Nhl;p3s{~7DN z2RNdr7*^rkaOi1rDRD>*s4+$nn}J8?aof-ZYC-1)yWLuFtV%w5FyCo%Gm0fPUe;EnNo4OtO7U8+6+a*t-STJ>4 zp@YiQty~ZSv%hGM^gK*@BD%m|hf}x9Y)_>El$@zkw>6(5__&$cm4u~DK$Q;RW@?Df z?)f25q_YklT#4k56d|NukP*bJ!4#$lfzU$8aD7D$@VONyO z>GQ<5$L0q+Zdra%;FyQUqzCj`@v9KxAkXqDhLP7sEjjZ0HpAgS!q&SK=td>&a%9WgG?ylWzZeXihDlq>2>FTNd3A`v z7Q~0ur8Go(9C~>EY}cQd&3Nm454}K?3fB2X%A-gH>wH(q;v+nNUVO;N;RYGPIpEE0-Xbe-?V(VkmL&-`GqUKxV;At4V;F~MRp>wF)-N<5@b zOF{I2FNv&eq$#jsVFX^tIhD|Xo0J}-V3$n)Nz%$c#qED|p4R zmbdT~`d3mV&!^HKplvXn(8CTq_kzVUG8P~OhE`#ZP}tp^%I?w2YRxs$nY1^X+5QBg zz&Cnkz%XHlWQ+YVq3gIFFAdQ;Ils&aCwD(*XrR50fO*2JKmkkAt6_s`2i zb}-mbfUrQB0x0UC0c9L!$Vt)j){6)MXw)~4O1~v*k-1>1RNCQUKngu8JbF%?2zu6t z>?ATRUwJN;15Ivrq6!RAiy+1aL8eMOleK6pOXq?1 zcl{crANa%&D?EZ~=7OD6i(Iqw(JY1$xygnRHGwcfAF9Y3Vjmeol|gf<<>K8$raSSb zl8D+<%7F;3LsNsGSI?x@e2#35&-$UxJLP<|lOX9rA7N2oR1M2j?u+nP#I#yi-gyow z`)aTm5Wg2;J}3%_^F+c=L1_VNE!Vj(Y*rA#l3>Nb?6EEg2@ck3yj=Vh82IYcuNW;zb;vGm{moWgmm&om5Zb7_x z>p~K<*?2SWd})?H9~nMLs;P;P4!x@Qth1;R?rU)2eB^HuZ-{Lx_K^5y0-AB&gk(FC zlowp~}HwiFd|dw%YO*PuEQG@ zY-~ZU!c00$Mj-odm7>{C@hJHg3^iP$|V{@B^O5R4z8-}+n~fa>2jsgHF0jx(sVrsX^=LKB*LVnoQoO#Z_Lg7@M{Oh2>&ob!;nh6e&)YBGM!M z`V8&J_M93U2N=VHdBEpY`aD7HLH zeqFELt(C7bi|&JiJ7A+aPNKVyZp?S{_fY(X9=o|3R^yzerO>Gfnzmv!Hxz><50Xkw zqE_fa)2AQ7M(_a{adQEFb4P&hUu>nng#s~yXf+D7S2ZbOKmkZ$K$B(|lm1#`Q4aN{JMD`8Iv(PcL>vm!r91#9V#0MCWKyM`$E>@B}a97`_Ypc0C!(I*l zfG9=P&#<>L@>L+Bt7vD&4O32J9v~-}0a;EUq~cYA&oFy5o10ul$@Yhz6MCyU5wCK= z>-&)jsFA#hS9(;7>JQX$H-)GA@l&6o2yWP4m>)bN*ERy%#Gm0lHKbexfkC~nF5?d3 za@K}_$0Xb4;)VV!krp%(QlBKt@x`Fh&R4=YUld9OVlXOG8T_2srty%sFD&y!JS-9S><)M%TjDi~rJcV*XN)9BnGx33 zon;4@Dg$T)&ZI~P+5(PfU^RglOpbF60i+bQgayTuhTlZP&VjaR|NN#N$aisEiZ)*5 zPn^re#+BQU^O!0?!nL|Ob%-1Yz_!(KsOqBbylfw|Ws8)yR3wg6Y}v6Ym0fI(5>QT6 zoqO5tH+$Vxla8?60DKQ%?k##ajLM}u_=0$J6FxO$QaHui=_W@mMU(o24E_}`T~tza zL}`DAwPw9#Rfd4k0xD=XJ<(PwJOs zkGv7v$Gu!|1awBVBIK?j($3r4{tjDl6-v(f)p*u25j=AgzS)T?yW?39T6 zm2Y6AP?M{mC~Xp4Oj`BDD8fO0AY}o)Nh}=GWAW)ywUJeP2>>0xBJc{TLb(3u7#W`# z(%UZY66+B!M$Fu{IPA(;zs=t=?tP*@9}Jsbgx;Glo5B0Y#m{=4*m_Ahi~vrFi*(+l zO1z8B9M14Kwi7zGK)cO5cWcyxHBm z4w*!E@3QOgqG<$veBJI`{I^%#;Lh*oq0c9KG0avZwetdt&kYGYM}AY;aSIPE3;{emIPuMRyeB6vm-pZrd+KK4z?cID!z`DH~fu7E(rLEEF zb1*=Ll=pji^Os@HnB6&zT(Cjh4Z%TcaZdj}NUVpM^0~WGqT2R$whd>>St%k^L}$w1 zI-EW7XUY@UI5JZ{jfg~M%HKxK7R{6o`!$DPuxuv{`$!QIH4kUN?|UKBmvk4KPl9}{ zUf5Z1Tt-k`B`OZ}qD%76ECR>_6~$762f~$+{3%J1?ZU6{4ud@XHroK#AlLEJ7p2AA zJS6XCCBzLos0XslJos;P7kGp^Nv}@=-Fd^%6lP%y&6D8-DHc4?0S+q7#58)0YX9V2tmQHgNy3M8+f^0tZr-%q>JcU zjEdd-TbhzvcdBrrGY)P5r2(dh3W*vVI8MY(&1ff)U-B(`T-kXuNO0(gD)<(}G_%X- z(k84hI)^}-p`dc61t4L-CNGOXF+&8oL*~G{@Vdr*Md|!t1mWF+tcq6!R;a?T(ef|nuvFi_kJ`qqdUHx zgl-_XTc*q?4^}Xo|I>2}1X3_!tmyCrE0b-t^>bza4vBVnu$4Vw`HQtG7hJ+7cxp{f zzME%FzpHf|`1Kt{O}xj-hPkmcCulWZDu9=2nagjqVsxC;5scw^(!J=FN;_X??VdY` zDlo9LYD)<$S8aq(`hfS~lLm1}J$HXTei}`T)os9$gH9UAMR72otcT&&xYFPW(dxC) zg(|bE$d>k4R#YDFExJtk_8mlpW&>qLDAX`G4?v+`1%1#AO>)5_W>8T_QTGQ}gQC$Q zXi%6(R_E~(+!NCwU%Sw$h5QXZIZ#}PJF|IKIs6aEE(kWyb2etQUx^q1BHR=us=m?l z0fUt;SyZBu17Yn~^r6TX5E8wIA{Qg)56%Xr5Tki0^1`2sF#U%jr{3-!io6O`U=eOh z9*V@Cu@MD$EKJ4x)S7v0e(-aN;V$i6$)dc~2(ylUtLI@iJ6N?nfWk|;J+4RDh;B<5 zduA$?J-3u1Jyl{Z*P`25e1&rg(F?RpRY?!k4Nl6W7+Kp|3m}5?QTi|>dW{*Ty|5_w z9fIs_P;nzSpi^c?({DWb1+8oX11ZJPNMj(!@~0oP%f&s3=H-I>A$g+;o0&1(j^iTU zj3J96Mp6uO!BtYsn=u?lR&CkdS`89C1t+fInnzIVVa70UI})XCAY5AP!N%9 zmLd}X(SSQnb}|uBX$u%S$LQ9q7bWpwD9V*(a~mEjx}0J6T=Q}c0P_x_T9Y|#TNke* z1`diNigOJDfal@zod!4)napU;uNvO@jV&AEgzk_Jakz)8U>5o7w-EBbuyqsg}l`UaQvQ|Up(IE;)p3}7e=BEqP`G(A1K8BkkH5Y$wi@B9%>m(`5W zjvB;maM!Du-a}tqKb^QBc`s*}Ebm;2yU;i{{nS{YvBsc6O_w*1T75BYx)3>wm|6=^ z5*7RzM$~x^S5pMh9FYhSJysBvb@f%eV_IEK=O$B(`-r7ZF;3Zryo*dRDq-)zKIAF9 z)wyz&QLYmEy4{eskrUC!8C)|nJAdYC$FyB&meEPv)e#J zB!z+*71p~t|4e~u@Gcq)F9as?zUT3P^cQ_Wz$sY%hg(G~qkhSyyu^utj9ggNaI&_D&tKC#p zsbHFBg}|NFKwMy3S`48NxsU&l`>&Jxj<70+NHJ)21JD7}6uXWt2dE$vNi~1JwP5Dm zh6R+ghM5`rdM@^B`)Bm;vajot-|D;J#hfokU}vTnapf*j(9w5=NB+7sBv_QJqn74a zRg#z?R{cPj4&}SO;L$ycihm5=3l(cwN8yGQKOIk#d2GF(lZ2{7Q;q)h6=_0@bf85x z)Bb)YnQtajn@LHoMnv^ek~s{pp@*6z#k`c{lfHDNW)ah-v3Bp76K~Scyu0A$CJh6KSKOrGRiw9e(qQ@I#wwQ@tDhim z0x-)X0;qHaXXtSGk5|k@^MYgj=Q!#jxkup>zn4hE=v+&b9&aRMI08QZEQF=lV!>~A ziI|AZr!uLOmWQSAP}LxO>xZ!cAIXt3%fr`S2JYyRr!Tb`o+;!7Ej7Sga5227pHb}B zi<&Nm3^$hxo(eZbPuIkB;eWU{v_hS*g$3n0CZSAB=ieQ7JXqtCTibQ;YaQFpw)iV zzB}up_G*$*5VfPiC8iqg;+Dg0{L4>5mJA?dEat{1AyFG8rv{=*9h8lVVEZ?o1C-Eb ze!-wDhps@YO+R0O@kG+iC=^Bge>PJ0#E3%?^4pz!r^$i2wWvcTCONgJ+#y^(mek-G z)~c5*%zk@J&CmTP!kbg2n3tL#NZy3&>iMa8Phlasi@4rBtd@Ic+8~%mzWS<2fVf9p zjniUh#f5%{Ck38Dj>ZKGSdwsN1^}B>CXy*Y&$!db<40nU`;sysGKkl!liggo>1+!f zRJrvI!S_ESpZLTDT!I|lLei0{Fdmccvmw9<#t-l|n-*=PGgW?{jb0V04BtzOgQvrP z`nO^HKU!jS{s=l|fU<|xv^Ab}h-+Qa<>hBhxl8xp|4SmiEO4iNez*mR$a$xLDw~KD zwVwm{!t&65z9~iOh-W|L@=|j7|_ zZUVy?!EnXi!5QM{_ z=H&Z=`M*ij^~22-%tFm;A^7?{$@Bx$Yamxv<_j<)JN zix=@xp(EW7eLbH8@8`Ttx%fudmr!C*bX|y^rj+IJSQRwGY|O5;+sH zy`0VcNlx56N?a5kGC^-|q+11;8z~bR>6wC&e#II)l8Z>r&qm+i0B*QkQaH1my*=sd z_$j5MIbSpyF2@}kddw1+V>b2H0}Y`?k0hLpQ9L=Bynl?hBWgybKN)e>i1ZgVsq7&yp?d77L0>|1N`p5)0?;*I_O2Un z*lT4277&Dfb?(IUe~;MI|IJjxx{}oJH|qZZD=Yop_z~xg7(e3t5w+_s3Wwx)>(Gx^ z!emR9|M%~IIq<(6_;xII&IR_%4u^e_rJ1!P~~@yt*o0mZSEo8nLF*u$pZ)F z-S#0}IQgQ9_0#KWC(fQddFF*47G0~o0)H-umb;ESeau-SM~@g)Irj8XHD`@H{j{Si z6VqnaO`bA&PUU42=Tv?#F}@O2lV;7Vn>Mq4R{dO4JMy%Xk|V~BJbqNNa`fpZCPyV| zPCNeen$u29p6DPEPUVb=)BZ1e?*ko0b^ra(Y<9CD2_ZlT5u&V!7$IQzBSr`iAVP$Q zK_Wzn5FkLnfDs}fBBqK+HEL8uL{vmX#Hds$QbkIY(p0JCtB9zGlu|^Cm|C>dB6(hS z=5u!^+nwd~^!YvK_ne2Elf36W@6Y|*&;2`h?o4)PWpI!gm|Q+_c9$*}8<*TNXZ9s? zZmO6&1(-eg5@peSa%H74bz;SwDH2{5q^jV{=Nc;AkHl>Qwswn?n1iLg=A&lu|^HsxT z1v+;QsN2s%KsQj;( zUpYH7VC6Ys&J=o3pnv~BkHEr(fe`K1!%#oUe0J5WaF;h#R!yI2bsxiWz{gzZ9yogn zJ#wzD@yQcs&AO>7FnRWriB(gGxvXzr+b~cuaklCWRpk?B(VX)q*u636h7L}eii(>i z2m82+N9UsC|84!;_N0fB%EpKgciEJiZ<*p2ww1_exI@tHFE&wstM#GmlZu^Ty!qD0 zpM0_Kv;Oyg^UKx$*tv0lZP)N?+wR*tZ2aO5vwcjzPJE7i3^(>^$4)nvbA0lf(~at@ z@-mK}ZY%;1fDK^a+tZE7e4hOzFbkXuZUNWu*_8*u_duhaVSMx5>BbE3HI@;DU;|hQ zX0pyw-^$aRb@O)c=ipKBcijIZw>ON(xp&D1OMX1vSPEYFuhWf7!AanHFzwXo#@*o6 zU<3FGn8s&=)c!=i{9Doop!!6}8a9*i!SBFw@ax9YjWysQqp@)#IEn4gJ&J=T!4qsr zr}N=Au{>s|$uW#PunxQqtfky#;6`vRxEovy7E<0#N(X!T8XI$oVO6ucW;4{ikO!4e+%9Rrtvi5(1M7nlidjcaTy24Cdi z>tb*Zs6Ms+6u1M7<8k$2a10n1FpNcD26!)+4;}?8z$)Grr~&T)>y!@e0-pqrfk(mQ z^9{pn(b$*`CW6IaTW~(u1zZ8n1-F6+T9Ge!4D@z1jMUbRjh(-OUECW}9OToqL zS8oJg26ux=ym5a591o^kK-^$&@F}netOu*Wz2GvicRTV0uLt*ocY&wCO<;N_;sLsXU0_Bh;s);olbPdR z1+&0iU?G@rVPj(@I38RER)Cwpz2H93+nKn*K44lG>I2LHdt5}^;9{^Edn8 z2N>7gFnrypckm{#0DKj!0JnoR;5T3$*a+?dv$|97U^$q0iDAqGGr?ED0&p8x0qzEC zzyn|%*x?e=gGJyma1NN5Wf;$bncyC<05r2m4_*S+fTds^xEb69?gx*7o*tycRhswd+VECL(A+ri|X#0_SFyTC&5E3gtw?Zx~E7J(bVDsVUW z3fKU~_9lHV!)OC$fm6Uj@L{kL{2N#cCS6K;uq(J5ECw6E^FtOM)8dhjTC7|fu)z60~Y?zfQ+90@K3 zOF?yKGYd?n{x*PF;JaWU_?gnd)P?BOTOTkB%m+)UuQIS2tOi$u+raIhaXaM%2Y|Vh zzW^)+9|6~cYruN&IG9Dfq%I;qup?LrR)WjGP2d)AKe!J(3Z4Xq-obbn$~p+l1z!bA z!EInQm{?7J1`EM@a4vWhTn)wzGmM>J2KY6Y51#%R^#XRflX?NK0@s6U!Cl~9@EF+U zF4{4l_5d@%u3!N;0IUG-1#7{-Eg^336u1xc-$UGBJ234^!I0W~COTnW1 zn7_a!;BIgy*Z?+w$-`NP)KFjGcCZjU0#<@2z*_LU`$-RGg1f=_50Wpq222~lcm}h< zR<-nNa5y+0tO8en>%lGH4sajX^C8lMPl15~*6m;}cnmBBV;`oz!4z;cm<4VJ$AAaH zibv?@SCJkJfP2AQu-!7!gSlWeI2~LKJ_BwC_k#z)_K%W&BmPi zU|>1z1?GVD;0*96xEhSRnsqCf0qz6y!4qIP*zqyy9V`adgHyqJuogTD)`4+_)Ek%q zCa)kpcpg{|=7USYso;8WC%6kd3LXO!AE&>JGK_&>CO8``03QS^z$d{Punw#PkASCjtOX0fjo@5xH@F&X0Q;<>-A6OufH~lcUW97)-pD z@eXEzJHSHl1F#Z22-bofR}(k52;2j{1D*gs08_?Lo@eN<;M-s^xCfjM{u5jQX0M^Y zg7d+BVEVIMFTu;f^s(Hxg1O)huoTQ%OMQb=!8-6ha2L2AYydkwM|~F)57--g87u

%Qw(ZuA_dy3^4XZ`UyA&EC;K>rQj-XJ$Mw{4HnjsFSrOy zzMg&nW`S>jgI<9;rj4V&fZ5=CU@`a;I3G-Wg}A|u z;8yUOjkGgZ3K}I$*I)o#1LlJJ!BQ~&7ql~Y5x5$>8{7`og9pJ6LE{GQBVHvvSOw;S zcYvkf=U_D$c#ZU6Z*V&}7d!|q295FbZ!iERZX!L{4lD(yfQ!ME;94+aGviZn@EEuS zOq{?|EHD#Hf1U9Kb^$BEWneA%F}M-@3%DC>wS{^IJAuiiv=f*G&H)R-wO}RqDp(7q z|B7`XI04)P&IC_@E5VeBv>VtP{2VL-kAYQSt2elgf!W|D@NRG)_y%|qylE@_bQ1SV zU=FweECHX}PPxI?z_s8Ba0l4sH}p5~jkoDt9!z|X`4p@H6Q?piftlbTumDt_QC9)Z0BgWCU>&#*+y$1uPkVvu z!Q^T92eUxWA89Y}dax2)0M>%bz>VNj;BIgu*Z>{?lgqi@gIVC({~mOU@B}y?9KDBn0~do^z-PdH;5P6i_*XD(2KNmg zksiDrECwG1=Yz+<6=2R@(u2FegWyk~aU<>fG2;Zh49o?~z*2AxSPlLYTn)zUqusz_ z@F2JZG%6SeU?=btm^;8E~r2WYRG zm^Z;J(D;J!1=fS}!T5vJ7nlWZ0cV2yz=hyRuntVCWW0dc;9js8Z1E@3gXe-Pz-({} zI33&v&I3<^4})np)6QTv_-C*fEILHoU@5o?tOmD&m;9Of0`CC5vzc$ePT)`Fjc8^Lq_LO%m1gAL%@VDcR9C&4T*`v~d5$zUb;bFdct1l$OI1MUVd`I7YD z!(d7k{U7WN?gNX!?njxIz+!M2SPpIicY=GsJ>UuO?_kO;^pCGd50-*O;GJLA{g;5qK|H1wH{T1HH%Sr{E0mAUGd1=CKX{JAuu= zp`U?^z%uY#a4A@LocRST0qep0!J}Y37&o8(_$~7yI2X(Zw}9nfOat=^I1=0l&ianH z!8^ed;BqkKR{GiBX>YI?ECyGB^TEB~3h*$v1#ATOfz40QU%+`_`U1uUm<#>@mV!gR zXMBRAz}4U)a64EF9t5|6#%-)CzyR3s2hxMH!BTJ=SPh>057L9v!R_EtFtCs~Pf|Wm z{iN7nmQ{#JU7SBcY=fQp?IHab=i~Oe>xsnQ1>LF>9pBZV^qJ_HZCQn@;-MLGMy_8nllq?uzluvHd8U0)97Bj!X}B zE1KHHbo5w;s%_LKnZNPz>BfsW4*Dt!`B}#4chEax=Y8JcXIM?lUEY{f6H}GnR({{w zce-&W=>285o#zeZQRS!N8OOgG_vbj6-~3R1>cz47=s7CxcN~5wUrbLsZk3;^$C}Sh zH~xuZ?*~ooJRgVr6=8S9{?m;MmEGYmyV)VTh1flg-2l*g!eM8Zv!^cSTJ%>wKi&9& z@)z?=sQxWG&rao0#kUK)>kgc5d`H=}blBz7PMbsdp1|$|cE4A47dY%xd;Z$CQ}tFB z!!`R0_j*(H^(y*i<)=rOpSqBrI{f4wJl%L1cES30)Wc%@j77g!`56-Cr#cjO9d^IM z&dP6en4KfPbT4}zM^87lcjh-H6i*KNktliz`k^TLLi7Vs^i}AeM$xyT?~S7GM_)=g z2RY+k7^;U&)aM5DH&lI139E;Vp>lR&vdiI9$XHT_>fJNZG6--g5B*N`lTKarf#bFh zWmAsLm_yNRYOv|TM}Jp``wct_$XokB=&BYOo2G z({oQyFGoM{onL^QS|lbo6%c4{g1TkDZsgU^cT=aICa%W2H7^9IDZVA-PoMN zxDUoS;(?g^y*0kOVq==cV5(wCX~sH*cO@d#xzc;1*G18b&>us0i?s^LfpYJPqFJnmBol>j*pT)fWFTqeSqY-=!ejwl_i}R z;(3SUYvu~?CP)9Vug?d(QtvhR+Vy?p^^D4^3_p9(OF8x)b@=g&vkIijvl}0+cpv3z zj)Ud(3=irJ=!4M%PTfv!t#OiR^k{mP=odTF%bH8&Ux;3S|43_8)dw@kzb`u5S=`S! z%Aoq{=uo??z)vN17drDP4e49Z=c2pCu@C(Y^d8Ri6`}Me(QDCrJN27FdRij;9Z~#e zqrZ&qR!&uqtI(}-o^&r~HGV$8&aIrQ(f37(V>|kv(A~;;5dAxJw>6CVY_a3$-JSI? zJyZ_?^i$}UI`ztso{O&jlfcb?DS8sRoBwL`bo5C6Revca{+{S@YEA836I!#X>-lN> zdan9iy^4ePtlaAHD0*A;7S3|m!@}zKaWrHsdZcT#ibK_7Jo<8uy_rqp@YICrqYyvy zUE&Ckwi5kz^bs5f$ERbSR%Ka+&01`_IBgtr)+Y3q(SeW;xep9*Y7fFH^chawUgKM< z4wc7AYz|@L)^F0Ns1xXJ^_h+SPjt8XEJiqr9%+23`phE#Q|MNG=DXMDYW&RLy}3wn z1n{#R{U-Ei^?4YZ<=D8*6<%)apGJ49?@s71pu5#~9{OYG(dxS#o6oUvtM8@g$I*vS zreMEV6zW&&(OdGqU?g4DLp^$L^y{7JRlh0>`B0zfJOi67r_GHaJ+UQwiRkT|`n4fF z6TJ$3pi?K0TQCW5t^oZJ^wD9u$FWCIiOt*CxYcDX`bP9K^9DA(oHny;UHQmH{{woovX)?T3Y&ACK8izm zEJXh&x?8_oh3?_q&z{coGehaOqNkvbaq6B?mVp}M`_YG^yXAiheHePAdQ$1rS-=&e zyTzA-J_+3|z7q5*^wK8rh1Mzy(Kn&H#kUIm7wB&BZAE_@ol9+K%sBSb_M^XquGa0r zG35!Z*-xP#i;_N_jj)fSq|ZT5!FH6fsPrA^U!%MAqr>Q5qPx|jHTx}KSM*5rsQlNX=b*dZ|DzY7b14kf zp>zGymVNgq=`+yBMM(EFkfcIuAj8@td;(B0z*`s<`0 z>(o8hSQ#k&82WK^w>cn@o4C)>3!9`L5lo+n-rRIAUjceMbY2w+wV%fxgew0E^y|>w z>bC}cOccEieRP!kccGV}U)?1C(B8)}^jdVcIVh1J7oi87=^gc-DSAJr?x_C)^v6l> zR{s^~yV2e1zXn}>gpphQ*P(xl?lwp4Lch@CUcO`Ktf$j`q$`g^>+-t9p!Tye~IU@9zk~- zznSPm(Id5AfGRCOzZ5;%y{P&Q^b!{zG>=h>J_6mXk8MPsiry02;997_ozaK827%i1^q{SxV7~@^e&_y=*(k5s0=63hoeWTN0onCz%cru zk94M&8(F1iqfbYl&_oZ-b;aoG(cR*kkG>B*ze)NbR)ALd(G9PAd|S}}M*5je(%TDj zm3|-k0Mb`C(QmW-BN-?8^Avitev*DZ&m^#M8_zlDo6+6IO9}cr=+`%i!QN0%F)l>^ z34L}G-M+z9`YQCReZ14+)aBWm(zl{lp+{Pi2hjJUKZYJ{U2kyn_Bl3gb5a2PJ@h7h z)nh-rQ!(VCC&jw=lT!2?^a5;y<5dQuN?(m$j_%futI>an9x1*6>9?aliym#xIgHJ_ zEEHeNH(2cWz4<$Uz{=x*~tIr{A1@s5VG zjI#DqWn7A0i_WcTs19WBPMuQqT!+o3){(EjMd+#?M-#(03|Mcu<6c_5w^7|a;2GWB z@GJqBfIA#qpC8NlXE=YTyAksXUvMt!#7)Q1R_@o$JoH%NiWIwwyA0i*6ZyKS^u_2u z^yA$@j)VQr@hoU9`f+r(b-@nwljv^ilEdgHqUc_3ni`_$ozRa((eu!cM$yaA4@c1# zqaTc-uSMSsgE1PV9GRj=DhHC`#eZ+&92dj!6i1w)XY3=?b8BUrg>6|It}7fO(eT$fD z?Ppt7`LSJ<$~(Zy_I`)0{rtF4S*mtY|NH#szV7X${wMl0dH~ztICHd9A_Gk6Zsj{n z9F=Vw8~>on_k<&k0{b12n60XG>>1*|7+>oD(|dXxdD-!HR&TaHX$8fB8JVzJTMP?%84Gq4cfj#U0$o{eJY(=;u4rmsrWI`ScWe5&96P?s(>s z-i7@Dbhm4_`k(NFm%Hb${#Sf|6n!E3KJ-Y}1gre$KcEkC#wYJ@S>;DhqrD=f?@b!@ zzwKV)f7B1|bhH=OgP51R-2>B@@9(xCCeD66(W;je7WR`m^G>ic-^rnR>y17Gy{}VO z4}svSza|pbV)Pq1_I6v_bi6wDq!!|*9=lAZpJ}0dR-x}fkF+kZ%8$MmJ=>Yy@y^qJ z^yBDm`^KlxJr^}LKI2U9S!D&F{HGJx583YXVh;LY^kGfX54O^)dQkP4hyUeNjJLm| z9)?@*pWYLPrOIb9e*PRKpS9>8ppR&hkNuz{z_}ghvoC3EyvI4#xaW(x-ELH6a}=As zJy^el+Z5V1Dvm@JN1MrqVICT9lS1v0iM|az!KushmH_9xB!i!;wW?2IO0g} z&bu(!xYb7v`fzl&`bZ(pKIm3`lsocp)JHZpr8;yo`vH%(t2#v=LPg|#wgEpRo|^gKZNdfzkd|n2S@RzoR$~Uc=bwpQj_%ga3(#kw zCprB)-hHS*FF|*UuLgapOL|q0WyD{EUcemgUF@hwbv+*#n#cFxXMSFz>-#Jx(CoU72w(cSvnR`gluZJNx>$-#MfKYH0v_x^keeJ;9NKS<|c>jUU{&hk61 zOF8JTqPxXcg1!aat-mis|4o$qSD}A`?sng~75xNyllg%5)9)kgM{hkW?0Jyt1CG5d zqYwK!*toS(06h~u(pp#bkzDkl=#j3S0rXPzE79Gq3(Ci0Y$~yF>j!JmE6}@R8yqi= zXUjX#7obzzknVV{dKkSH-K~t?%jl=*EZalr9q$`F2l{GsxA+dDuR?c=&&vSVfbJGwC-m*;Zt>-zzl`n{Um5xqbRIv2 z>Q~+a3veoj_%@@La_s#d$9&~@uX{Z{zQe}tUZ@`Z1bU=?sQTDZ^pogK<~qkaG;x>n zxoG*3pV_GN8R+MsM=FET^U>R*yVX%Sdb23{Qgjuc+c;Z~-pVC?fc)#x4fM4@aEz$2 zzA|+GatxblYz8}R9PbY#lKC2!JX9Go(QDD&=DPy)N6}k2{X5>VsX$+h&a@kf(Q)0Y zL0=KYe;xW$=#l1Ab=_M``PQQ^=h(Z?(T`L;)Y$b9Ks$k-)GMRUNoh>F1F(sdm#T|w z^kL|3eZCld6ndoopkkPhJ`jBd$HDdrdq;T{Hg{vgvL|HYSo3d1U+$8Jig7>sVsy9m zIE7w??lxx9bBGh&t-W*57okV0Bh?-$_+N@{wZ{qf_E?OcAFzvdjaZM(xx?M-yB_@_ zbhr9Girxl2T74(>=N&I>-0C|My}~7rbjn+Reti_Z0zDr+()bIIz6N~;`Z$h*eM0qJ z`;}JfUUVZiYp}V(Y2(QauHkp1|IQ_b0BIV~H={?JCsNo@>oX#(Jv{bChbm`p^hxL~ zoiWHWc%>Ji7oofLn=16{&?Bu|RQhG;^TTy{b{#<9guVhjS{e3XlU5LUzE(a?qPIaW zfRI`uNS~>doI_dLhh}d_W;VK%DN4(#>`=CmW&Ep2Rr^J%sYrNfv)@o<8eF} z=p_2pPTi3{5B&(~Bh7=VPRr06(AzuH%X>$vtU0-~4SE5`-pZzB^$fO}&nib9ev+@@ zvm2a#Jod)4%4ZjPF*;jnp>jChRX&D3HHx0d#8ibIX%1EXGtnoZ7d!pSKdmXf0DUF8 z+x%I9u0D&=t)6PoH>0biOt2kfeGo8BXzp^*4Y?e~ScB5r2S>vcn$6E3P ze#T(a(dozW-g?Rq>Ji;-t=Jp=Ms#koLvcF(FQEwicJxT~7$8X%dIh@M{H1JGU~>$c zH5>=)LX~wzs6TAQW=2uud{levM=wS{*XhIY{}-pwuSJhE=cx4Qd0fxXBejRpbI_~M zbDjR}S8S~QT7td|J;A9v=GTSjcc71V>W=?UScU!;I$?(D!0~))EBe7G{`aH57sdZ6 z^k&z(`%mX0n~Clge-3(Ebhr3R(65c+eN7KUxcCp?GY4Izcbn@~4C-?>Kfxx_bx-+FpTBt= z{Q(o=_&k)D#rFKIY)Xi;cxNn~RX*x-JJ(_3*4NeNd9Fow8`E(-#Cjdw zZSKlIuSbtm*DA(*^v&qe)|VC7oWjPfKi8mlD2|+mDq|gbb9A@)eHVH=^j6pg>(cQI z;TU=%x?365XO*6Z?pBBDGfdk@Nv}TJG!xyej?`zKs`#SSk@`H;Qf%DnXe0VvE_tXr z+KqlQx?3GJpf5sqtE1#A*^5GVtD`LRpGC>PP||mHw!y^EoLz}Nm-LbJ0BLH`7ouO~ zOmDA^1}QJ9jGM4|4jZ>IwFmtT^k0ULsTV_QqLbK+xZeGpx3uBB%ZnbV9y$?&s>h+| z|B7MFvdl3i?ROl$jUiYSYbk!t86UY%D7_lpkIrQ~)Mp*f_*bK6pu3fIJNf{0^_f+{ zKCjk)OG0HmjLn7#VfP!3cVWFuV82I?)NfUcozSYX;~dcV!?JIbaGn`NcZ?*VpWvmG0^IlTe>1N4iX`N*?Ul}9p* z(EaFdJ9RtO&AR{f#%94p_vgYz=y#$gIDN=g3);-P-O+bcyFDLjw^jH# zIjOOcsXNrR9%~p_^;(6W^Crvl<%14Cj?X?(pDUa%Ho^Ykc>ZiK(B`72JNu8_hph(* zR{LW!tIXcV2>E!(Y8a*Gp&v$fTThmuA3>keq#X7GY?Xd7dgc`O`{}jl=c2pyuN~;= z=+#dDs_)3>2B|!bVly8bx3xyxNY)zYZflJU^as%0))M*XJJ8+wT{-$*bhcqbZApx3 z3s%Lq6#Y25+c;m3?wuNaobSS>a+>=%KZah5?zaD!$PM0F^hk5FiZK&?1G?+|5BeeW zNbRK3SBM_z-dX82==(_@&vCGyIiA(jq3=X*>C_$jF1ygTpm%rbj^`xDBz?fCJMME6 z*<4Wm*Ez>R%rn-2w91cOFg>gd9q$_zpqHVyaQb)d|DunMlD-E0#wdCn`du#mRhf37 z&qkl@%-^27tpBS}HVxRkijCVmtIC-&iu=PEVf~1{s-CMUy*K(T=x*&?gkFU{0o!0Z zI{pu=3jHdl4LT__p*gFx9|HG?7FF>a$9QoV-XQ!?Y1;n=yy_RF|VaL3# z=Cmc&v}>({w&Le7c0HVa9QC*#{d;t`dOU^xT@*ciH2-gg?pBXE=%>&JIP-V>KVu1c zy9)PuScpCf-EF+ALeE8yR8Oj&x1v{~M~W|iz8`%NI@KAfXH|!e|AjJ&_?&laE_B*B z-mMCtZ$#&jNyvv92v8M6F8aIZZr6=c^ke9e_P$j5YV3 z6WicebL_<&M30;4p1*M|eGEO)8bkHPebiwW^a_r>r^5Q8yi1|%4Dy+U-5tsE9lrR=a1T_ebyI)E&>vi_wRnCpq;i?S7NNxh(R( z6y2)VPL480*gIc~uUoLa)agr}@2k3Bh_8Fm{c1g#T8a7w~Mjajg8y*n~%N~UHJ=+ zU%AGrK3zzRN`Hl8Z(&%UelFA(w&Q2W&FB>g~Vtd9HiI`l#4+|GyU%wsQ*Rlnbb zej~cuy6YJFhA8nRj$_{)y}XJ4(DRi{^n>VKo%+;JTNI%G72R!ISD^n5-R*i_gMR)T z_j|ND^fu^`uC)PGe)P-G-R3V@39{)sq~fT`RH!>*P`Eu-lPp3|8Khy{bh8w_S=oV z5aZAHHmJyKr?pzlYoL?6L%aE?{;w7rF7tz!%( zi^s5Wn^OYlzd>&@*UM)!sXTJgTg?sA!>$Eo*i68t6#HNtj^~k!(O09pwdq>)8g#eo z;STgC(VMi1WAEoM`WEz+P4a)#nz&RwdP{j4e@H-EH2M|Ufu zvQghBG&+in%13?I&`NCF<`VTCL=T`}g>A4d9ec0pyNTXJcPr;Y^cT?G))TAHH>0<5 z`gc6f+KRqDO8Whh-Yx!9=o?7yc0EpK68hi8n9_LP>Z^ys2FFiCV`9aT> zNofznT#*#G-+M(;MvX5oDQih=ep2>b{$WYEvy!q0C1njt${3s!7@U+gI4OB>Qk?ZY zA$eu&FXP9j@{ym$MlO^x8Cj;evmeMy*HKHT|A8jZLOD z{o1p_YrG_;NgX&nzUNz}@qrj5cH>N*uh^I=2^Q9xk9mx`khd32W4jn9^~C5#-~FcX z3po>CIQ%)&cth*z1O6xb9yX2VwR@G~8sAjoHrsvDzgfiRU$n$DUJ-j$JoTHR(v9|Q zG>vCW-@B&qTeE{zbhq2 zp_%bnGfZICk7O9v$Jd`gtxQ74F&CQcUo;2t#+k?WZjAXaRV#;M;*ZA|r(&EwV$LyJ zUc`x!zU$06@wXfIsp8lxY0TSGhvz6aVG#}j-%rWz{~eMeG_Hxqpyr5c|l`hJsY{43G-QmXMpbKm2f zZ|=K0)%c{j?{964dt3Y=21ke5QY@)oCpH`Bn-uIJtqz-;sj1gud|P6TJuyFetRzV} z=dg3*d)s52G)t{B@wfXndyMy`UtV`^0?e#t4 zHxBv^;FjD+pL>#nUweGtB^moXz5_|dLovQ1&5a{5>UgjB74N%A#;=;%)_pM1XYAAn_@oVZL$vBg_Q&XbH8d{lej7Kymv5A)SQ#hnIuqLt)Aw48`K@ZC`@H89@f&L5A%6QOYTk`z z+=aeOV^FB<;rUtlq&MK7%c-w?h2Pu|+m|<+{O2F=8^`>ioUAH}IoE76mvg&J-(HXT zNQ`eqjIk~>YHgb~X7gO%SaW9lJmYT1m?f5;z5-*SiY2Cvnb_So$Sn0uu^L87BhBEb z1M=(Foed?^_l{|PW%`bre8^caC{^|r#lE>_jTyh(G}eX`t4Z;5g>jwAkG%D2XEkuJRj!qwAj8H*RW{!Hq>URz*Nc>qEH2cK<~M}#X<_^p z;fZ!K`yW3zZZ5n$eUNp;de-`>f6M09o&;wC_GyEqpY?N8bah{#UK+?4R55+h#7PrH=+>)y zcA#hXUOla?f7S1-XA~ySu?KZBdsX)6(W4jNnJeQ?V?bwU+xceSGHcfKS=TuFceB*@46%*%_^Em-cv@VmUPNpr3SN}7sTJttFI}# za_DtNqe_FpQd~S?(CE=uV0HD#(dc3E_|>@8bAj#id~4{1`MPQ5^r{I{ zXH)74l{ZbFRW)Vyzx#@9#krRJT0d5Ooo|qq`uTtN^)u`2{t)*AUH-4zA5!~UYQN94=BB3c>o&bq z+E(pRg={15kA$Z=yZ>}{KT+-Dp4}ggJYLT34>PH#AK7<4yWf9yzdzI;y8J)?{6^h8 zt81=|53|=q{u@HB$9nH6l8wG*Ym8)Ledr;sQ{@?EBpdxayi%TvN3zM4c#a50vT0~P zNR`5v62*_!G)D5HHI0#Mba~oGDVHwKEfUWv9unG*&Xq?#w?xWvn>=`*DDNZa`}hjs z>KUB+StQ(g=O11pocCU>pRK}g7vA^cT1L#|zi?OTz3Q7S6vuSw9WJYlJVnB-c99{_hFn4-41(+0O|dA?X{0Ti=Vp zxn{kZ`b!Dp9fWItJ%ww3i-cR>34*^PeQbZa|C|us1x@{&cUi85TF(@&^)bS=|24wD zmKQW?a_schLw-DM7G7$3We(_X>sJe(Dm);3Nf=)zT>INCT*r4nIREx${p1YDweUil z8k2;AD^xUR3Y!e@xTq$}+7x;}D+>-eS!*YQ;e*X^@jxQ=hYP}`qQKUuhr?`7e-Jw6t$ z<28rb>236|UpmAbg0F=bJE|m2dmwt#|9^Ug257-w>|f>)IoHpy;iy%(ae2 z3!f@n$5$nMhUf=`>;98C+)l6K9U#13>|;mRy4o63KbH&F`PB$N*OrYJgkLQD1K~Y| zdkb={qcOs-7p~LK6RzV~FFfc^c+lTfw!c#GS0-Hh`zJBD|xdUoTw8_dmjQd@)zs{*uJLrEuLIw+Yw%V_TU0F5%rI{Xd24>w7|>?O&HK zNBGTR|FUr1eusqX`e_ud<7+<3_NU{UCtSz(hH!0PFI>m>z3^6&zyF%1@ns9w*Xv5* zEyVtgF#Yu~eW!5kf1hw2&k^B+#NS1u?fmupSR%ZG=(h>a68@s_9>Vtv*X3(gWc%wb z`enkkeYtSmzqbj$Q0xy2?<_q2THBxYpDkSLU-$Cl%*fN4ovb6<#R% zOyN4emBJ^8{!igL-qh=Cf139auG5zazgp676t3%coA7|>2ZZ+%e$Mr|){&0CQn-%) z4&gffKML3V;lgotdYxY{;qAr$$S}PmOrIxQ&rf%T+1Co!?fWa?x_^ExT*ue9#EwU| z-+bY^zSarX<@=@Z5fZO)gPmUMErjd(8ZNx0*pCxFN_d@c9p3@rmy6zZyzRfM@WH}$ zf2|TeS@eCvb^RU@uFKnJg6(gh*v}QN-Oy|T(`$);ny4X&r8B*3-2&F*E-4*UM5`6-_Hxz^LxuO z+g{gK2jRLt?-Z`+&T|v(xMLI9Ir?&*8##d#)6&>-U6k-TsnI5OO@~{``wQ`VITh<#v9# ziMC1j{rR#gTi4?~{C@mQ_s8M)=i&FGXS!btzh4i(KRwg^T=@NP`29!tdN=%jIQ;%2 zd_5e#9y`-|A$)yyruD;rJO75ySK;$<`1}<!rru>J-M(H2lW<>5k z;rlyJKWX;9Sels)AYr{FBJcagzNslK1_dK_yuDBop9^BhdCF!&i1eUWeV5+t`)A=i*>?# zh`$5E2MRy;dE1{ZPevH;CA_uR4;4N__`|~W{@p(}H1+3wu_I-NT>G0PT<ehx;`EduInRwfACEEb>aIT?~A{SCI6GcpAx=& zW7GV@_n+%UzfkOt3)kc6lyL38^Dk_FTJJ4feMhePseUcj!YUBFm-T&4J*Y$Bgc%H=Daf@xQ z{pAbS?SHdyo&E*k{UrTi;ktic@GINj)uPW9uFGF7yszkQ2-ow`=fd@P4S)WT@rLcc zy`;|*-d*P>{8HiTh3ot`3)lVOpm6Q)lyL2@%bRw7+Fz+~?QfQF?Qex}?QfHC?eCCq z?JsSs?O*%rEL{656n?IhXO{3%;qMFYD7-Y`yCI{PYGWu{#S3a^B*kykZ|q4LAdUJZGLUr>-AqJ;k_k&v2bm_NVx8=>xC~D z`vKc+f4V>2D_q;ZCS2F|=fZV-e-%DM{9XGS+n*j^ON49tWx{p*YlUAR>Fb5-_>T+M z@uav*3KuH)SmX8&mzKPr5%VgH2hFL&8t=QmFD z@cXy$=TYJJb4w)s6_Wl;_jm7!y)NIU!gc>z^jkX~T|e&%Zz=x6_w&Q|=l6@fZVz*( z?Qfu@58q$O4b#K#|EopU@pby0?eARiH%Pd?KYvJgKhbvy*VmiudON+IFJ=k9Q0yNO zuKgVruJ>;;e{ZM1UhJ0$&l0{_cst>{g^v)P{%)>yv`zS@!qxXCs-N)Zk>StV!tba5 z)8}vhyPvlO{*Y_My~woSjL&1Adf&F!*R$io19oyF>5onI@xt|Z4&RSkD!RTttQB4$ z{u+dr3oqVn`|l=vNf_TGT#t{pg%^u`yZ^D%>+xS8JQ$zw%f)`9@R`E@+x?aB=hy%3 z^XKsWm;d&8^m!lH^;0V4T_n7t@YTY53I9-dPvO1~bFCv?|0%-t_}?OYjo4qmr>T9p za6LcVEnJW94Z?N%gg@^&EV}KL&nE3}9|a8ir_)C^PY`~I@bSX$7d}Mz?lAk$!t5{K zYx~po3x#X{_XyYi{}N`O@v)sgMe@rLuCF(XgzNgO5k5xj4++=xpR&*Pr|mlm*Ynp* z;g?GKHNvg$1LR!Rr*`_AwJuz@$9Cbm{r@h!huC-e%ucWK??T3D@zwAza7P>2uq^j%S*1ZGVe!9nTu!I-X6!bv$Q! zJ{SIc@J!Fo!=K-W@4x;fEZ!5sJ4=1FJ7AYj^IYLqiGIIu-5=f-Zhe;>HuDbJ>Ep%z zXTo)P!{7gTRdn?|b?WD(!?_mf`g~LPAnPoji7H&@-}5iFz4iTa*t~tj<^#pv{L<#y zU$SuB9vy{u5c@&Gb$izduNS@QsO_&%_zvNEJcYln6uy5Q{{F=O>GuJCka+d=EAW+F zp0}kuhlF1wJpOB2*Yi`VaP{4A>Zks%xfTw!{_@%4$84_qOGy~tAl&*sH`46<#!$IMCJXC&Xr`O|QqwwC6{;=@Q!sGvL+ZPL;BwW|;oxA@ue<1w*#qjrM&h)(R0r5Xd;`>7Qg~HGDeq8wbaNeKn^7NJT z;qSkNzwZ|Qe%Am=ug7z>@b=>G3E{dv>V@n1?rY(CyobL(^#AwwaneuQ^{305EnHt8 z774GA`uJM-9l~cc+Uai)UN2m)A5RJIEqaz=uMG6{sh{xiqCYM?S@;XWy9obKc#`lx z3D@ymr9P&cA3eX`DO`P*mHPR)$JTXu|I_EsXL{c&{C(Z<_xJwO_rcamyn6nNi?QR^ z^WSday8pKF+Pc0zWDD+20Xnzf!nfuYVq9|5xEROa3LXcK*6Ql?xAuzEt=t!Y}jN_Ikd%NBC6HzY#uN z_?S4`UXTC9!gYBc7Owpr5D?F>2?15gqMrI|MY#x z+;}^_t~x&9y8nc~FB|?oWcd4s4@r7mAAb^_BL2S@uKVj{33mRve}})H5&r(yncnYO zDgJbSSSMUx9}WuF>$N_KcK&*PDHWb9@m31g^V9pnb^Y%b-a+jDC0zI40nKgydi`E5 zTwg!#6+TJQpXvREZ8Rel6*B`<@nlm6UhHIZgAwPPneGCBj>Y{faO>{Qb=E_lwW;zUEHxr{nunxV|2A zX=lf$`I+ADTp;#({@5v8Uq3ID|Nqqb&BAs2|F`dlezu42^RntHZticHl)Rg%xgTqJ z5F{0-VcwjoG9%M?j)D#SbTuCUd!9KcSN-XY#RclCgG}@C#I2AiFS40p_Ukr@GMMq- zJcBtb4Eq_JlDaCLxzxVR%nWjoRXhjL?kaRx*l)~5WyPjWL^-d_NG?bI6 z6DG{H4)|=Sp~x4k$R!zBUuH(jx+^z?WWA1g_%l*9^6MjkXQngj6|Cx&dM?TZLG|CW zHjRYeU>5(x&nf80ZYqopAG0ISI?in8!(l=`iHFtpAU@7@x;BL^hLvZ4`#jBuJ&R##mD$|L|KJ|OXxpQC z;q6zFq)+o*n8zpHg4xdIb>w9X8`BPhW}fCl6R6s@qheBW)t`^ByY-2?h@s^T@fU1* zkCRf|;ZrmVccVm2}I;V{JuD+ay`C#o!o426D^c%o& zTv}m*2}zv!48k?dH>t{8pp>+tWY29h7U^#0*Yi4xX~|s&c1IqQ*!fn&xEtv{EgM}2 zvIt2Vo7j#bJ@yEepQOR(*M_RKgmSa84E{0NynLTs?M9m?>D6kMGGg9j z!bww=*8Lbx&6p)-;%`+wSXta>da{@=l#A#8vn^_Ld@EA=A_Po*YL;d2TmjOl5#FY%=0sy`WiX3dlUmEQcx z#66I1H`CnBpK10;U%ojG9`n^g_KvT^Ao$1VR`G;olQNaByVf=>Mq?BFV{|KE^2E;- zgZZv7Z4>OER#!EqJ4%_NF#TooE4`dd(^Z2YOZ*2_sAagjOt<- z7i*hfP*!*n*`uDk5q#0RwuuBJL(=#!-vDsIx?0)-4mFF`oYbP>rLe3R4tv{+3jJBUvTdBUg+)m}g zla~FvOF1 z6d%pXAHnZ1PqVupwH<#R(Q(M1(^bC%%+{vAD&g&T!x(iTBfu~_en>m{YyG?LhqUB; zTYf#iC1k^v9`To&NSU0zOiSi&rI)JX>#jMr-^RaM>|$ zMq8+L`>NJuL?`s;{XMdzSsq1St!+%Th%%=Ck+}V@`ftg=$1j4Ks#n{U%0mLC`;~(fj*Jd(agB&yX*O4W5|r3s z-6foP#cZx3u#D-w7oTw7^aeakAQss$sf7nh;>iS!#5ol7dFP_Ri*`aX8c4 z>VJ0CSQTvXm=7!Xx=yk&F1VA9ofcb^_(Kaw>NARrOZpQj6X&d8O1&Ze2**a^T}vV3 zEfSab4^}3z6D*S4Ri%lY=y~RR!}uAd_wehnzIN7Drh4{_FpMWSyG|=+{EfKmno1Xn zo#|Q1IDG@@w?R2s$us_PF7hp&Nh4{Zpp>d4BjIvR#H$VwdtI|_*AVzitd-MZtCN1+ zoRzIruxw>xbX7v^U7mMol@4eZ^6N>rvbU6_o_;JtFXwEYR`?puV8RDI&(kKwNRxwd zw~+jZXX4{r5|Hi;%DqDJW1fx|^KHgR>zc@><>E%QzTeHTe@%<_2r}Xa(d4mX+k8vG z5>$aM|2<alc-$a9|;Ny~bM$WHixRR~05ZlsBwZ?)v zfB8Lho7i;I-;C~Wo#5oaV1jEB?n4fk{?ny&;cGcRPH9$Nohc2(+q7g} zt1`3oE~fuk($=Cq5!9`rZ|j$s{s0%ljcD7O=(ZC(fZnD*UtK%)V)3V-)wobD*{1*K zM8o(2&7|{M0h(6z+qv{J{Xa3hQqejGb(P*3YQE`zkSV_(1|xz-swk$NQ~Z6@#Z{*N zO1gY01~+OWyRmL~mdj6Uk(u(H>TQ?jGcCoAHT}Q2gHN&H%)?kesZ-c2pf#c6a zRsB{*9ju|S(!4|sg9K%3JJ@CV`<2=b5?VG%Yq_!}7X&;zlY^K-Oj&Q=EP)deSZgV|0EGBZJ` zcAC?s|I;pbEK3DtEecD>n7HLIDRgj6fDc#r@3L7e)CGha7NIA7I|ovpfl z#6D%VwJr<^%Fa%GvB#gKuF$PpasSJ&RSa{H3e_%Xj>rE_DF)`HsJTIl#md5VG0@|m z$J}U+L7W;iP%iAeJ6T~~>G8iYi)jFZ+Mtp0Vj0=3Xj@)Ij*PVDuzDkcrPW+^&J#R- za~vLaV|MW0O(njYJ^nWXSp9%SY-?S_bLjSVe5vbtBCNv~S2!~ri;J|CELGHcr`b;5 zzJY96sfcsYM`#_O~AYO-z-R(G(0SgGN?;*+!pw{I`t|qkA!UG-#w^GE%>K z1W(_1{9oQgRxcvH88ooEgKAZ=Y8T`GqBB=`h46xYxcL6^8V@V=(Js9 z{Hy7H%F^_vaAoAz?zioqW)#LgXZo!bu5H~r#@`y}%E;`=pKN7at1{1-GONsp?H}Xc zd5w6x2CZ1>)+n&`p)vlu$4dIyX!C>V+o!15o;R~vGIN;zQ4FNmt7H7VSJ_79YAn|U zy|qtL*6YkmQ$yCpG5#%H+sJ$$%RNEge)CGKC&u`*?iFvx(M|-t+4_ta|8XWSm5G_u zhJ_fvcG>*Z>Y7&-<4<4$vdZ2at#?RQcQ3KG$M~OoTJ(`OKhOGP_KwB2lU%wQ6d5r&-czYr+Uq;&$($)Gg_K6t((ECJxA8k)iPtCmn z{e>9+<3*J1YtDbKG}SJq>OO{T@K%h!8wD^EQkj$Z4H=kr|N4a97yEgP|G5OLdSG#x zwle&i2`%b1BC1*6ycum?Q16&AT`hKfi)nAO zhSQHJDHLJ*?JTHcpD}yBOZPJU(^Q4E_WFySu`SJCWBzVfk~dV6HRfe|LrE_5`sens zEzR#R|4AiL0ZKjeR#Rekum8tUoNwKh`Hx?RLC(Y~BR0?L|9Pq8dl~v*WfKb3vKiy` zcWx&cjYFT>)Q^AW`;5JbUjOVF;;0&fCEAf;>lI%A7OGs8%Uq4NPCGID8)g#dJg>hs z^`)xH+>W+0l-| zePT2NXq}aAHD~H`D*tD_{&%?3FmpIROsAE;Vi~+f26tg_17dm5;0fy6NG-Yw55M>N z?`ej?BE-eo!07U2e|53;_2lAUO-xTBy`*K+8i7`i^ee;I=03mipjiG6tB;#nTG`o_ z=lT2(KQ5Mk!^%8Ix18nEnj~$@%Y6R+6UDMUR#{CgLzAxmeKoe0`}}iyi1~0#uWe#( z*hatb`A1(SMmJ$_M-wBfSVpSa*p03C`HTI8_b3*tgI4MiVx(S$i`Y+n{(rDIF*hS_ z)doiDvTC%;WBn!cc+Ur%KcqFQe@oM>QMY45V*UN{u{w!G3_aD+fm7dR3^y}PUtxF7 zpM!XD(7;-0*t5YGs*!#&eNQr)Jp-{Q3R+o>7OJDv3D;se+2h-|8q*n=-4Zml<{$rF zx_Pr#Jid99TFnlg2Qhe58yWt>Zs)a-ecihJ zeS+0jkt|aNVYxrn|2U;pQFvnL%dPnhjdycpDOEoDv7cl4WvqWDvx8;XTlIRYeAY^8 z^!>PqZHVT85qe^a#1N_4{AA+b}-F;LkxLYh7h6jBTTie*exY z!#IgST)K|PGO|`vceH1UO^%CwAvVeLd-P82)Rg;LtmjtxT{li-t3&YBt% z7cfty_ifb~-$sA6CQrXK%^E0)mCr%?wa!I}>pFZTWI)RoE;fu=oLI!K=gZrPNgbKW z#^|rsTt<{j0DddqOy5Tps5o}nf4eWmLy!)3LsRXAaqi!pex zsgd3?eE2C0)}pXE9(DRuZr#3@%=u}%$c*Bp!fdX{e1S!nR)88XP%jJW)2B6i+UBC zuxg2v_W=5szyk3#PP#*Y(+7RE|y_a!wAHVgjv*kp;m#+q8{hYEb83|M`seKb`vGtL|rCO9mOu{Q8$o;YZmo> z@+t-=VriKbGhlVhq8|JamX`p(B1)7&cNg_4n*l@Q1Ft#$o~hK}%%a{@8^G>JAK<{m zTtYC5deq5;B&b=`dm4_nxBw|D4GrCC!q`PU0+>a;tNH`$Hl!ShC0t15qr^Ikdejtz zBs{aIcO(HxpCN@@Db9viLaLfYy^qlhgh)VkQ}I_As|dp^>V0)JFj@fE)gTZHCEG0O zWvqf30K!y*L|hoD&Z6Fy9(X?pSes6R$<<{R^$0DsSwB-||O4OywVH3zH}!MPWhMLqho2GgGb z*ja|&Eb0}M5^rZwZ#t$#ge2%8?j?lH+{~h0v5SpGz021rByj^U_YpShW)}4xgg?OC zo&fAQ!_6$}^=hf_OBk$m_rfuc$6xbz7WF=@(eNgK6}fO{QLiU*LzxhL z06Wu#JBxZZVbPD_lL4FV!ktCEd-p0sAXWo*nG1Io_1?8L{06}G8Ms;0J5&tWN09zJ z!Kfq!H6M3TZ`HL(IsxFx7zCl(m$RtX)(V zibR;=8C+f=5>il?gR`i2I;MsF-V*(cTw-)6y$pbFfKG$G&;D8ddJ}eiz@)EaS+@^y;sLW+gp%+p9ACe zt-G9Je*a9SM!Qb=CQj{~@ z3BoaJV$9cB6PpaDK->-RgARpR6YGGy5utb$m$wM~Cm5PFu|f>D%=|lmel}odO>90U zFAPpbmeTQ8)U+l>F101eo}Ag~Y+SNKD9oI4Ic_$E8|AO4NPo^I89JZB&9W(nHL@3n zTjV4Tx5{N4Zj-w>yh`57;nnh04!6r6INTxST;j7+W^lMm_T=yyIhDg&xr)PU!tSsqQ5~ln= zbKA&UF!K3xOXOV~mdYa>wv{h%*j{=uO!#v<$RrLs%4`nHWOEKX%Nv+a7kMX#UFBg8 zyUAxb>>)2pz9P|kRyko`ggbxZNm5X+X*^k8e=&tqS>rPg}BdX*mR&>IvAr0ecJS|IdM` zdG0_auJ!~n2LVC+2B;rAnObxw7MBW|3OAYV39a5`S$&WsL}Q?|ibb0>Z2_=md$Ro( z!()92<9w4jo(PTgmfQ}mmcQw6ITFfpbpF=E=`)j^AX8U2aiK~!j}=tN`5XxTPYH{RpS1I5WhE0>-EV;`3>I$dRZX( z#gJSE6`EX0b2CtT%T7;0&u|#J|LG6A)L3vF9S%#22W#R-uZIf%Q4j94CGo6hg5t@GVpz4kE5IY6*WOkY}ff z9$)BF=qUot^T4hR#8)aL(H5AU2%FjQs%E0_Dd~aMF!G7*e1Rq_6q2X{<}`yHcpJV# zBIYChu6Uvgb;Jt5))JgEtKdC+fhF)1Cz5V^0Nd}t1wV34V<50m8o>Bul~1_64>A&QkoyYBK(;g_05|rHr5J3+%BpQVSq-BqYkXpgSv@ zdSasG3w@862;`uHBu?-Jp4_bEjz{uzBB9(Vl0aADJIxnpu~YM14TLKR$>kepLghHa z7ogWmxSVbU!d-+E#fjbqO1!`q$Xlta=0za98OzDLVugC}Y)Q&#!pIxo_->JpLZ5_n zdvX7QJR)E%b|pYTSrJ@~ib=oWY#6c;@uM@XY#HoVXdI(T=9phU}z|8O|Sb_-AH4#n>X_!)=1-u}2hvK01L zC==>aUpd(PmS>%9ai`g+CZaZ~y?Gt!af2r~mGqb}9-MFWczzwBIG=$;*5hwEyPLBi*PSI_3_$6$gUBFT%GIE)OL?^?zm19wUSIPvJXboMPaI zCjTc5-oo4_@gm#z#}LJ!7z|7o;{8=t{Kc47dvoJ_FJlHxTAoih)&Ldxult$=Z-z|2 z7R8wSwXf$W%i4qCogN5ykE8s!G#W00ZAt$c{WUz*w-b4J9LqQN0EHU>jV*!)nD`>N z3EmQqZ&;k7{5RuZGb#0Tcb_KPIKB{jD?J;<6dvr06ysGCFiS#Jo2DhktN}`+9~wi* zW?R05(KPz5J79{RoQ>Sv2#f=6#7nN)d74S|rE6 zgbUSLM!CwxL%=b$2F;KkdPT*}55Jkq7tT+7gXLh*E6!KiOfmSKh3HoHUu(o_Rely$ z|0{f<8d!Abz-7S?lE}nat!{<47n4TK^+$YrrTE30ni*`g^Vb8_N zcx?h!oh*?zA#oQ@p+rX!&o0ga;PNAM3>?*=>RB z&&9tu1ZamnzNIZxNo4nqstfVoHw33=LzZ0XYY!>Jdl=~dhaH$-p^VUdKSTk4xdpF1 zgNk(||530L*{XF*Zg>C20J+rxn=GJIk-yM7-);ecHM>AfnL!<|c2#?t#l7o)N;WG*Mr;dU;~1GDE;6qN#&_la8Kl?z)aK^+^=PSteE;R@{pWTLGRbg}`HjK& zCGgDTG>@}R6WH4Qh9*w^ zr6*ASyYnCak1U`K6uw`VD6(oIBb|wdSWh-j_3oB1Nz|S%!jM5J`+#VQ7Ffup((WAHwew`TLM#~WD8?1R{XDMZRB-icT=#o@Zjnw zLYV8-m&b+K3*D&)fvGUrK$(jbKM^`nVXg%NB`-%ve#?_d;7GqZ^|)KaMtf z#L=6p%3Q2g8N(Rojn;UP)4?HuZkDY0+yIn;ah`zb50MrQ*2+-CGypCQ<7T<8jG&jb zt@z@$z(q@M&{r{;4ko5Z{ulez0)3UtMl%>D61 zN`CaKf(xO)jijDM1@{>`AhT7cgT<|J34Y(p2^CBE)(o$F0;@+oNlC$0o&O=^B;Q z4;&^j7Rb$DtSQpDBq!S2%j;_g<4xt2HWcyydKOYi#WkutU#!G~Um~IMq*m+dOfl6< zxPz4ZXNn?8UynWR4vDH+99`#{C$2TsG@2xUGpgWJiei2j$o{)0ke-FHBJgOSFIqf3 zdwB&^yv0K8vxwh>v6s01T%@ub5BtGfl`?viv(U09L^13Di^bfKKl z#p?R@mAFkRlP8hhxEU%wX=vb$MMygX31{K&xekdMG(2!gFMuW?dA0)*`v}el-XxtD z*wVZE)yL&jBf(gn!-mINv;Mg1N2H@{Wh7V|UVb}xSz!ReZ8;|tq4ovW}rh2?| zhqvvMn1krYOV479H|mQpMGY?7iKH>HQ;(PK^tQd9vH9`Ri{8LDc?wA!0Vb_5C~Wok z=oN3kyBW)Npcfwi_Ai37ati*oH{eITvsM2Su!IpBF8J}1dOCE%8~D#CtE2z?N2;NngN*I&jT|pUr&j4crVP#QB;Igaw2|`4V)epB~-r?L?>A=%+{Ddjq%E zXt}jOx`jwcc}1e0O8x8&bcP||9MF-FM+wR0tDYYH;SDS;(VRX3!nbuebwwE_dg21B z=W0$8HJyfkG$($T7>EnJ)dTJUX;A`%jt-JL{F9C&F5p33=h?-0lU(H*J(c67V3Q63WU1|iSi}r&TT&LcSMqU_=x5+0Y-%7z5}FB zh=i0^B&PYifpMLMThKz{AH~-+A3ux(b1DEr2_Z#sa+=SgMw-(=AdIZT$!R__FTvcA zv^XCK7dl9)`NXU&S(3EsI(Qv$G0s$?44rXCrX%f6(B4Dzx6DKdDA4f0km~??9?7pe zAaRJ`&N$OQMfnxtYrsz#9J>3Pai$v_Rgnh`O7Lfa%FQ7%GtT@NQXB^WX9(flPlAni zWJ%gD+T`EV(lNe}(@x{e2oxHHsXAP%!&?w``ZX6EoN;E}HdHhcZUb-S*Er+MObjMZ zQ7Sv??0Y%mOur_2+|c7pyGc5($C=wu9Xzh+ai%O?$MraKZ&MX_#u?g4DN~`lGtSV4 zOlO?=78!QNnV)dqBs7~cyC`us5$JK|3lO-4VkQ|@?>+EXc$}dPgvL;iPZ?z>uEvlm zZUei6_;*v3$F1cRNR7iR!=7QtCLV<^_4et4pG9$@nvcpXELhWR)%*#Lws z4w7pqQrBoE2LQXzf!8qY1jKP5yh})wFF|*%q3F$-u~Ctr^cCwTWC)6fv~I&C&y6CuEtwHr1%aX zT<0JuLqUy##~E6^wVl&F3UWbklrj={~CYZ0-bxpM%*q#Be0lw{cT?`T+Bd z#i}U&3=>s^V8)rknC5dk95=!gop9+vB-0q%8D|>CG@lO0G9ig+xXd!xrupoL|91i9 zb}e8V2+qox=5y~AYH>>33>Ym6Dg|TRlp7uly3Q|2XhE&1Y*% zov$#;F&lr*m!Lbh`GjMd&yMa|ZXX~GArewvk(lN)vO){52Eu$oqVm#6{E`dYl!KUh za4~EI!j3weoaQqfb;sE_1cZm{aB`Z@Pd8c?RiAhR2=6&as`eL~XPsPQvV(TN#xK02D4Oy$7wXnc7)F`}Yvc^AW9kKrd~Z-P|1Snok(nlRqnzFJ~zM)50{LtpN9U!HPwOQOa z1hhNjd>x=5xtC^X#Q0{6snD&$xWMDkq)^z$n<4N77Qmq_v;z+#QPT7i_xCe`|5Zlt z9l+Cp8WHE4K4*a?sRKrZ^*AE*GkTi6rNfunxPy4O(JlLDtyyGlVsn5YoYMJ z-3-OE2lokCDDUEe)C>qq_@@u|&C-8DOG$VLQ^DfqS&bJn-W74Gs`~&1BqnNV%WxexOG$qmIcky363-!` zPa&?7^5nG|{R5M_qC#)d4@gV0f5mkhn?hP{U|&!4L%5`kGV+m)XyHW{ zdlL5o^*fjSS&fi9%9}*(myRA6B%Uu;gig6E+T~?E={R!Mhy_}a&5HrM$(uwv3?dj` zc7cmRNV2I9M>?$s+O>+sywjldeQgC0dU!+I2uOLXo2wn-87kiMJs~>rTxDj$%@{L_ zo)WBC-<0En-1C#r%bqFH6!WRyAWAmM!C`vH9|XTY#AN zuSDb}FQqxy<@E?-#Lru`9bGT)1~@ZudDr6V%NvAJ@aL^R59_yi*|ZXs_YSV{dFKv+ zVaQvC5|&og95jE;x=k=;8kkOmIk57+MHd!%jZ(q-tiio4?^z>zTXAO%oiqcCKY(!m zS;Mg&70Bz9ON=MMlE&wCzF<6wa!& zlJi#X#iFfMMJtzDfl)zvB9u1|ZNti|1_O~-z6=UjyTqu8^Q;Wt*Z{r7c@4*WlRV#C z3Y4)(nT5ZHN=lF+5R?sT%ubLzF;K}DBGTl#<;UK*X@0*c8vLpD;1%j>(;UIMKEe~u) z0|<5)1o%qDM)6#gM(%|jJb0C`e5+H);m)fSMC4oRxe)yfADThs^~K+F6Wkqf5ErX4 zBdqgWc_mUt12)CLSw#h3@A;g{?;^l1GjM+1#z_2`5Z`rns|xsg#QJ(5-EI(-AezGX zb_cpI2mEosUaSKr&(gOiur~iDQJkVb;KK|K>sZ{CaBd7VS*men0DfUC&b1;NMfyJc8nMQK z=(BGm@lD?V9&zjaua+qucLRxwnj4b_ukoJ+M~2W}C9qqP>CK6Hh5wr!3j7^`DSxWA z6nK&Ua*U!xojg63IaAN~e*#C0!1UThJ?69gA2wFtp#)~;q=1!9xsR*%HyN$Kb4~}Y z^554+fj8D+&eWCu)jDGb3^;r4iu!2>ti=xUZ-?C@rB4uqt3xT&%|8Ymhai7C z5DlgpjqBte-AI9RO^;O)8C>Eo>Z!op2^>|@3@-HlxK4q`8gLYKQ~!4`HY9r?fmy5T z1XHH^?YRoX$qI%MgQ(feCfW43Lej&PuuTtNl58q#Nwa|@PLT9`BZ-f}m-OX=uuUI0 z2y;T%_DH%$>VWsly9ic|MtD2vHP^+{vNAiNS^SQJOM+$>0G7#y?k&@sF@GtGgkxs!yFfFCsIZ__{x;rA}92pSo zNJ4vYq$1cDeWSEDM=FEGOAzUsHs)gZJ;9l%mD2u^DnzP-5AH@}0Bb!rcz7EkXL4jg zaNZU~2FlBjg~h?L%MdxM0nN!)1S_vcWJnTC;#LJW*oX|Zr-9q*U?(*6(qTyp5m_H> zaJH~YM~AKggU!JQF^-js2fwvM*qN zsA(4M4_A(}qB|4^Sa$`ZJ>yKGH5%3nu)YdL`^XiHyzU-W{Lgyq=IT{zFk@@*yC{H%JEB{hnYvLXtt7@#~^S`jD!V6))O9 zt_strDwtvXu@Yb%@dTeiNUYu*+v?Olz>(l63>)p^wXq#J9FYW$#0B>(KtyuH4xWOoY#-!EF!(zPs(pwf;ounb z_4bJzi3A%%`Sxlo$OyiO6}$FfhBOR5m4rw#NAiO2ZA2szq{W89;1w+qNll_QU1G^k zp=j>@=E%+aoYCFTm@{hSezyUsQ@Lc0P%3vXu58MumAeJrPP^G$s2?~~s*Du;<7B|c zGX0;Yp^scT4)AkST^Atps;>Et3sU!Wl9>A?@jAj9(isjhRY6_oBEicKlMIaRPywWK zjnxU~jRKbO=OLCK(=ipWp`suU$M9L#xdpoj%v@AL`?qbZmsn zTp{E>mkxw=tU4Vh5ha0(DPp4r+T|$&MdwU#54R!-)Dt`^nU0-sv#i&I_L2GX3s#-Z zqo~Jtd>Y)I&Hw9|%bbfljbc2yE7rYQxFE3{pLrj<#SOVCDZsDzEhf-$h8h zn2x*9u=M2qfbGqpfNG9Tz)-3aUrT{^b3k=N2V=Nmt#p)?)$XYr3W%D{%WyNU!A~$2 zQPVLRZmz8KN!viZKZgRMrqeZ|WixmmV-YnSx)Ck=yM~}XmO}wi(^(wRvKjnRIt4^c zM|4EX{x_A$FF6ztHJ#ky%2rjD&Nx4DKrHAvh^v6E);npKSs{28h@OuqCaN(`4+Hjq z;Ke6;Wa7efWBiUP>`}q1Pju2oU4(=;eK<-qL#-1Pg-OoPlQMLJ8(L-%q*h&!`*P-Dzg{eKZ?rg*gA7G-ET#T$9=o3v*`ZNa@@Dino9QxdvV_-jhEGb7>@gHDP*M*roeo4?5^%7A|oApsQY-r zKO=*e-oGb&y@EZN@CT~Z>?*<^r0!2t;r<*&`vKjLQR&k$8g-nSdI9NhZ+qNNOIwQj zCNB+wqgmF@rsG0_#VGDF<^Ed1?4F1y_ty^6+dpMJ*hdWq7q&yBFGn(hvI!#nIFc7^ zMhyCMq%fFH49?(4N$^=>Fn}YSg6FP51#Kg zgY3;)!5cdw5=x>;4W8H>9gJ9_Hv?$bi#-^_N?RmO>h4?ge}md%ZLV~2%q+XS?Bp!gS)l@$-jC+N0Bb> z!o|v!XCmo!9t`RD7nK?j5~;r{14^gC=;YyzkbFud)8R0h$47gR{5JETqhd7j2WTo? zK34-lcQ^TMG}kUC6pztPvYg-t;-c29<}H=nz|1QRHlC;tlyadomJy9(5inG0Q?_HM>@oYlhrd1Qp1XT z2dXarQV6*Qf$orrJ17$;+5+QV50Afe?v3Vrf(qpeRVZ`}j!K@8xgE(TRdU}*H$;No z5FLx7T3>D@DZGVCm=4L&sdr{0bsMMBkvVQQtiA`^0Cd*LI@>?V4(5`+v=o+P)5&H@HXY>_=H(&ehSTXqMwz^flJCK~ zSdvYz!b*D05=&`-CE4_@nxuE)unxl*^tPjD{5Qy^}f7>rj$jwFxuq92#WqM3jv|02K7`3P~wpULI>>(?K*z zHf<=BbVf*${ZSX(9%l?n4coL@c%yiFJRT$QF6kHnkVfQhyh(dCstgHB(B9C z*1XN=TAp?O6@Bo)m6Az0b^5mgt@4*=;1C!GWZfk4z~N?bOFZb7WetJxB$A_qz-NMA z&GU2Zz0V4i z(=RCVxMSQ0JTBLSHuO%0r>4qB3&%K7rRVocDPGx-j!5y;pvviJm6KXrf)Pij zp_s!`8q#a&l#ezx9kZ1~C#ig-NfHgo?;zn$D1n_kVZs7D?+(*FSLHpR*{*2@85%kW zh5HnhYMnk+;z?9xt@~7oCtJmJ1(tZ4I~5qVcfc;>{2MYZtEbmCmI32H=QSw326rOC zq*qRL9NxOuG#FL+Cu;LA)q2rm4AzUDFRMacB$6oASe8Yip^9t07KuVahGkKG{UXto z-s&rAsik22;-Bj47mEhpYF)4^2(WU9J~pMCQ3fka*vxrIeFF3LpuF_ZX$Ovb`!bNrEYRZ z@5UEx(Na*4{4=?G8N#Tf@hPaDIP^xNO*YEV`839Mn-4{EQR6(EOeIV;0mOBctD=_g zdHL}iin<}~1oG6B7tqrZ`GGfijyC3Ddpz;s~V|X>o;=l zs-0S=ZCL2ke^Kl9LsZb3Szp8KWiT_9U4JXL(z{n&IL3nXifa^OL3+it(H6wAGf}X& zPby~t^Ng7G>!a#ZF}>B39n+?6^|Xm;Q@47$={BXt;(vJDvG`RVzLKVexMMLLNnL+y zrINPYlN#MG}=;1_J_A;62lbo zGvv%>$|zN*keeZA_E6EP6!J3UtSqgHmGe6)C0nzWrnE}2sApc zkX??W_b1|lAF7;xqIP984Ie}?1u5!)B(#vZI3`H5sGJmu%4pq_CzLeU9K}sr zde|Hl|7(j%uh|!UrKQxfsC^)eZBFwK;Ph`n?5IXfHo4x7RPI~bxOl3qEP6lx5u~os zxC0FCJF&QxJh~?S?9Jz004Q2}2=d!r)45(+pDXIw3M$4r0}8w}Rk*H~rsA%bri;hQ zq;HfB16MD7E{rD>&w*hF8Vv%sq_b;oA3-g@J^>2hH-WF@bsq(Rv9qR@WBMg(Ii_Et zmR0ku?<41g&@b0%A@0aB8nb}E@{v)?x-%$;47IG{ZY^tRW@KR>dApWUZ)7QgFjdQo zFwauWSX{T3=~Zv)K=!6`ypuj27yR5> zF4|bHmZ=zxtyP7MT2_VY*0PGbwXBQBYCaMzdH}e-sb#q%)<~pseg^9N*vFvG0*&X6 zsz-rW|M&oN2n4Hyqs#K6YXtGm(KRCf^lD2wz*o=@*6dGj3q8zQ_WpQm4bfuTa)D4I z%epekK$^hT{C zItkIHDq3Y_$x7^n2f_Q}P$2kq<|`?63sSkvT;FLfHaVxOPE`d?3lMFlT&YSc>js$G zr$KW-b1F5QzI8ac<1uqm`7)f;@QgVX9p-kf<^rbt6SciI>1@%u1l#YXNKwbPoz8xf zbHet!dG1)u_JKQ4^K{!eZHwSM&eH7y?=X#n#ZMX!cTi))ENBg$2ln6WwD5g25!^E3 zdJ$K0VW#9Fo*CCg#Vf4Ld(c4NB;cpGuo%hx%H7=|!RiN4^ zUrIvyqhcRGc(Yc)Rrh(MhL{%WZbpRE&0Laz{3GK18W(2x0vN`c;j__07HfX3OqPb% zoUVr$!>pW&--}g?QVyT|y|ebg&^i|59jYY91M5cg zYo~a-IDMX{h*P~Oiu-_q9;gWKdER7N!ej4<4g>t++;WyvVWbsqi86nuIlxQFJ?v?$ z^Q5f*VaE&8=I^klyMm+J(CL8>XgQ@u&KAh|D=%zmbLDnbDlcqlPZh0DUf8m1#d<*7 zpO(RlZEi4$b9BCyNoPRs0bkF3xNtol1xCjS6Q)~r14DmtkuSWS~{Xf`@DWM@+P=TbvXQAQ7P=(xin^>lkIng+Vf!|{h{%7KJG zO6MQ8t0(72hlX|2ava@q=upIhdUA@k=`tW1M~+!62*OmoJf@s;0z<+-QM(m1+yE#K z=9CoGV@5R7E|O{hBYLQ)ZU7^*RCGYw4cDOooa1`fbROe!Ey-=tzd@2&T~ii_7}WRM z6kB&hS8;blSMf?K=ZpXrMztK*xRhL_GeT?A4e5d=phFnN4?&cvi5wqS)Y3LK&OPCC z?n77QXj;yF=&CXmt-^vdEppof$75U^UC!l*qUE2cJw}XZza44GJKy-mIlR$~0wgec z6j1RBt9dI-$i4ya5zRW!u>KvXJRGgo&AK`5M$NvOwilN(mfIZ)k;=G^BW}|Hm{l5Y zsNuN~c=b=U^nJ7h$$dnIE&<=?860n_tHQD`2e)>bn`?*P2e&#^d>Ypr3!5>nITki! zTyrdJI#q1H06A$|PL9#K;dZFAVudbbQ?|UCcrdQN*4nb^0L@=2%bCul9^+7xRI@Qx ztwn;G9&fN^rcLgQT;kie@LLvxe|HEDNE zns8J!42=N*wk$-`4H9D6FWY!GRinBknY{z5(d?MIe7)JRwgb-WSVim2j_m@hQ{-sY zZa-WN)^#e07}WQywUqz5%AGS4T`Ez_ar@!@lm+J)tA_O8iTa@m(GPvd_kHJ-bKxML z{1dgbC)5x*{ZP|7{m@|%<_B9gZBt#M8Fe*`D$xbGA5t#r??5&EkOW5eLls9qdU$k( zl3JfyIg=Rlt_fp*v8HZoN-XOdy&mj;O5|oBi(rQj8 z3%m`+v$VK8BkohAau+*Scd_QQbKZX~4j0q7?ogM4RK|5?X_@p*`+TH&%5Y%^R2R`i zE3maO9}SpKREMv}CTN76G|y&6{!FBXm<9aLVnld8<-_D7LF2j|^J##&XsB_UmZgej zW;5O59aF8M^-OhUI%?@PlJf;F(Q_YGna}CUCqa9&pxAZzLePkER@PNH7pWm;0hQk) zR&beZI@lrl&?gI!w7tqq;Mb&by;Z)AUoLwOalN3rATVf^q6{ z7u{hI$E+?a209Zj?!dXi?Z9*_bG#PY+GK7!iLH0wvYKwycq6K4v~ODD)r;WzNnnk) zqmqWAql25@J-eLwx^3l8a5rP`Ury^@tTU~9(J@Qf2YxYXT1O{6@7HqN!ke>4w@I3^ znKoIc@cIbnxhvaPocGvAue0-mY}wa&09~mc1Yxm`&V{~2iz_jOb_0o9u|jz(su?Bt z_0$w)@g&;BSWN^6iGQN@vpv)Z^*0z)drIyqtMsQqDh7ONUFFf@29w zjRZAk9Iu~=S5FF!FV_63=)INi%iw>}3D<9GuCCE~&EZPo)pT`mClWn;M(|E4))d6_MOzVaJY8}EX6k&{9u8Gh>_$O)?M-w^D zmvY6`lNd~boEbpQT{QWsC--)T1(mU0imuinL~WhO8q%3R zb`;NXm5ZR4%kUgm#ogz)O3nZ)hfX*Dv!a~&yZMXUr1M8~ zoIf0}+fXrqk3`39H3o{OGcG)u(v(@PKt13srb@F)iO2J8V3`npq$T9A99rL=jnokH zz;N0E5gJajhBSe5gvcElzn#I~hg9yEeP(fsfbp4Q`OgtqW z&6;*5(^mTEbzQ#|XvCj}{HK2Y$PwiH5vl1G$~|ULbDMV#Q zW&Br8+`=4m>`(I~7Xqv#hmRL}MeO0aCf+T|HCv1)B~fY_9Q~ z9wTaNfTuiyFGXXuZZiOJco|=cHgql^UUXski1(m%9GbF>Ie87h5{T`g=k8~?ri3+b1Z8&gn9Pi!p4Ul<5;Dnz&|mgI*PENW(l8$f1>tvq=uLb z4uDPP_da}9Im6s6jJPc-3(Bc+vp`4aMrVN>an1tG6F=9yVzSUjXQ51Ifo6#+3vGvC zD=dV0X5qqFphr7aDJf6@6Tb=JAsG;~!2PTF>eA-g0;&1x(w^D?{kKOxbP(=V@b%n=3+J|TbQSOkxTPex*9vU< zLO4dN4512MEC?QtOG3?nzqR&OP3PqWiW7`Al#rCy9M(TQbWuGO5B48D?y+0=&W%e zgMXrS&K8>~PyB0g+dd95o?~3c>tnO!ZYKWt%K>MKPh^EOuQ9B8#oMC5% zotXjLxk&Y_#)bPZf!zHj`9u;PfEOJQUalFI7>0KuHN^B77BgwP*ioc-zQKi;6DXz@ zEDZ1cA|8g$f4e{DyqT6Y88dXc8oYb=E<2JX|WAU`Zf~weI zp{iT2ChXS@5W^aM`{p9eqSR!k!(F;jktm}M_a}P%u6iw&v9w}l8B1$sma$a4vLPKd zO)ve}^aY(HEe@>thy5QAS7-K0lp2v%vT!X3-8uNKvUz`BET1SoOwE{gt#+N*I9-K z9V&za1Ri&2&P9gv2&8h0*V9kSrcd`w)_ABG{)yT{z~dzg^2_Q>>G9%_cHUH>;Kd>B zy{RP&yg1}c>9dYBx2)sf)k8}tFcRLct4Y>-ZO{+yfy>jcoUyJpxFeCuO@ib^sjml* z|L4nBljCx(HUGbSS%gR)F>8o~_A24v@&bCT*#D_7sOH;vG7&_%FMxmrT5NkGb|q3- z+O}ELmhjF8eXwY%#!E7IPm_AiH;H_=`rw+Cdva6*toDtV%JH`JEQ0-<3tQoP4r~vf249A$wiMMa@)Ulo=p2E#F+N45~A9_ zp50r`%hJ&HA)vPwi-{2b@SZ$US(-E5&Y|y4wbOV}?Vr?hJ}qV1zZ%Wm_D>JCxc%?R zMEfV!^~&TsN1!Sbyiz^_gLU!)D3@O4td#9>lv{#SQxud{b|mAcc=D+%yfp`xPpJZK z!95-D=%?Bf(cWW0tA2=2_av$ktC+HfkjTZ1zsQrJkOmZdxC-%0JYiKxH8yD8cNBWc!r*U44atIsO%hL&@ zhM0`<^gHG)Un9lyGcL@7o?lz}gjEP`*@w{*>gA~^QbSAz9yWdF?Dd}IoMYEwZUs*L zwTRfEl`N(j$Xtu5;;zNi-hlBgvRYxNJp|?lv`BZTJ%Us&LN$7zgMWppeIKc7HLhz6 zzO0LzIkz!ZUXkj_c}N!pwJuC1FLd2nw}?aa;`4 zNJk?z#0=pcdJutc6iVU{bAl)H@v1E%S(?tZ$(JIPb1?)$XbiMBS7N_ok89ccJXgs&x20g6njqMkic{TDxZ&jvx zBQUgMGfyL(io5lu1`+q+W>#ecd%nSZk{0RaWD!zXHD&csZyCV78mZkhu3K+6)Wyxb z21WM|q}{$E-!;xw)+do>Om*g>L>PhJWc{+UNEig`8qMJF_Yo#3-Uqq+rn za~$Tl4cWAMJmRKP7VBg`eQ9Ik`*?Vy8qq z678+|j1m?T#=yl)a$?y5^nA-20Z#mWdA#k(q+=GmH7k}Ee3t`m@fhotQNsPp3m$HV z1gXX~8WIc2$08x91~zZat;?+`G16qj_*W+QS84n9?p96SXCk}&P z(+3|%=?o7d4e=ATzdQ;>PQr#$|MUK+Z`9nXmsjtt*J~ENyv-Xf&E-xBz&}yze*#%nqe-<6tE?eEqP;~lt~9tq=sQ#K^^&uigWcKSbFxi2 z<7S#-y9=pYY^pc9#kOoF6(fo*wM5Z;>``KzV$*J7QC_Kn-><-?*j%^KrVoDJq(!^M zmi(kHHq~zQXFgTGK(VQIqWcAkO~u_}Q*jhqdN%spEtuX#hH0cuonqfo@a64 zF_5}Z)FK+O$Zcv_Un1P11&lWWen4u7>B%SDlnX{r;h%~NGb2COWmZb)Yggl46TsJM zW^Vp^AvMJG#Oy>K4uK(Nqa9}Sq{hl8tinYo2!!J`4>)W56SbEjHN<4ZV^9(d4pKZf z<6=g5SD}1DKe-j_-w4B+*;$6!D@YA7Juw@bU|A=S;`tsIW=0;b%dC{pv!P1b(`YgE za@Po{A*Ls0bQF9mq{T6gYex}<*bUEyU9omF&TK|6rx4lrE%ce z@=w&>3>-FZbe;~o3*J)^I?o98k0>@0o@%P1cn*lH@=eS}Z8EN402@Rcl@cm_HV53**VhxrEIWy$;_8Ebifd79zEtf}uB*3@yW zd?Nm|H$HlZ@U<3oS&v0(h1Y+~8u%afb|lvT zR@};=5B+Y`d|DVjlfj28j~;M1l^3%M^px2J+I$<-Sp|X_nhm-#|3vL3q(&EmmHAFH z%eoe+o`blUigp`sK9T&2_WUZsX2s>qsITION`4oqA*QFs>xcdN0x6z9a4}UI#f;G3 z>Wq&(JcoC9is~{eLTZTV!K}})YGnC2{~#p(-b|r35K6G9U5`}G$bPg$vh&IFs^b=g;Fm7>`{ z9>qRH>>u#QKaXnA>{n<_L~U=R8tqZ*IB7EOfn3@JhKFZGOEf-=I{!%X2cuZiM<(J9 z`KN%%7fs6**cSSL$FI>dk=6?)qzH6eG|7@6_ie^rI zFU5Z*p*K;bj?s36W*=QF2cp>DPVBGu=e>YN)wnMEaY!}A;O*>1LFeT(qz{Bo9sg%19S+JvKM(8P}3Jh_KMEA$wL6;{8#B(6qe1Ia4I z#fTf)VGu!5ln7$-uUVKbAl#uv^fDr*A~i%TkfBgh4q?6%V7}*5WGODDS6lgnofdCd zdk{WdRL)#5=i;BJ-G|f=lTl}mG=@P$isvz0m+$Q3)DY8?P8~3I3_^-$q{EDCvXxI* z^rHG=g!Ah0Sc%jSlM#=eaL_j)#j_I^&KJ4oRz6{U*~hXTLO7}(kEf6tVlv9t%^}X$ zKauG992aIo19eosh+^IXJS%z$+mq|@OGRpk>A}yw3fAJoymF|4$uD22FJA(jf*Up++_j!G=sNhfWIg~w~pw(eYx8^Z2GLrIa>A zWlaV(Z|uY&DQg-lDVvvDHhu0TPm`4yvd@SNm@Bdg6a9xYT~Vww#RGo&3e1c~<&5uU zX~@eeON*kjw5U#&7Q0#6syRew>7uAC(Z^(3X`JpXiwbUymNGv&OY=EP)X{DF#>|vl zrQ36c>Up9uPS}BLt^_|wP#3>$PQ4(8KrKSjQ00y|c znyR=oHdWOLbx##uXt*GYg|Sst6vbsMxZI|>6d7G6YA#K64WMx^1mdz3C9b6@(&sc{ zYD|%))+y4os3H{+#pArFBF%7%G_x^=uQ$Ne^A#>^0BNWkN-e;*HifFn$|tFxV1Nm~ zYFQ5zDt=1=pdSvHLu!awV0b)1tnjSAAAP$DUkqytpr;=$hIN!}CCW1Jtwy*(^KGNp zg6{=L4KY1z>xJ~ev$$m6RwT~Q#S$^7cOsQt4mu4LLukq?IfR`?-#zoxOtCJc@2bTG z?Bl>I)YQEV^;f5*4m8}Nsr&UOYM(d-JS*=tofi@{^bmaLIA1c^&Y>;Nru#}a?TAOd?9O5t#T`dr-7yWr_<##Z*QMnaI^9^&RNm|_)JPolE>zP$&PkSlt1pbKD@H&`xPE}(Fu zyna4~o8&haQn*?A7gAUwn{c>Aj^c2uoX6odNnf(}2CtF_IlNlZk@eo-cKJ1jJEU(B z#dpdE9PW~xIlM+r;ILLM;qY2{D~H#~Cpp|B-{J6j`3HwL$lS%m=SJCu!<*$q4)@8m z93GGdIJ`q1=kTEXio-)PbP>_rCEIg&w;amhJ#q$z_sUB-yie}o@P2ui!w2ML7Zcrs zayN&E6z5M`R0_T5s@(?9bt2vYNvu5u6gt7KxOXlwht%q{2=K=8Hrs z<&4?i32^apfrRSrv$bLoZSR%X8qK2s*TtcngeQ=+eNiC{xh^ zuyO}3NUU}K1+WvLn()Q2<_AcR(ST1N94?``pH~6AEAV+4azNk(24vZXPzm19z;F%H zaMLA=5-ymFVh;7UKY(4Kk`R<=HRzQEU4kNqwiacdyb>+oZU8ghoeT`oIoRHZmA3s2 zg(bSSx{KrlzPka}ZmmeC;wS08NAd$Ov2TLvcl5%%@ppRcC+9Hd3O25q=A+0(g)NcUTi-!_Il});0@$RNjt{-jp zJ7hHJmZW*FVBVATaoQ04zX!Xr?z_;QDw6tD7b1Mq6Y6&Z5R(^(kX81|I*2F@l`Vyn zkkm2MZxpJbLA)o_SFXX$FmI#-UCN02kO(?-+fb)naH=%&};&ZoqB;4=_dkbKByYg0U{t=MKE^O0xNQ+2*`a3 z{6Z{PzWgWn4HJRBpCSa$lLT)<(Th`{A9Sr(E37#6`171YUbz zA?-FuERG7qlBrZi*NDJ=s7omi5>gw8vl{&N4M3elK4sOWbon!->=l6*e^rQ|5;B*y z9CHGon?zvK^Q!Cus2t{_n9ZMh{xmDHPXwNOS&_=aH-q4I5qRQ=N@(X0Sg9pXLLh`% z-qbd-cm;(evLlD3vNwlq?7xK*jFy&u)oY=yfb7o4hP7#9G)rZn_b@2LGnSy z8!VsZ@GSWXhePE199GCVj5kbZ;_ihyj33LaGyNJ;ePokhX4s_|2 z0LvK3L+RMp25&;7aPSs1mc8-)dgF*v#8c_f@o=OGbFs$l+{-wVCTsW{f}0CCPDjRt zT@(DtaJ*XpAuaLKLxKZBC;U@V!!tn>s!T#AG&Lho5R}c-WJW@Q4sE?uz zr+5N~b|ASEQhMO;q4RewUk<^hdIC18SByaV1P7+vhax7f_5?CfTS6=Zbftsw|1tI+ zU{Vy__i$HF=m|T^5;qYRmgJI_43d^05+r9NXAlsOWCTHi0R#aN5hVzS0Wl#8A_g!Z zDh5PEF@gyUuOcAo|D0Rh)jNp4@0;i8?y5TH-ntdL`c4PM?{!-cP+4WihW>Z~XJ`Pb0upOrvzxKpvKVSy z^*9!Xm)Ek8tVE#PcxTNqxB}NBp$Ae28G#c>(n`x6bzX;3;miO&$8Z|pob6Aim$vvF zugMJ~$vO8c)*y?@GoP8fe=Odt*l#${&TALogdgva$x>JTY%%h6rp8yM;$!Rs#zIu3 zzK?ozmN@S&LgY9Ee#B;9hY@9IXqhua0a6f2!6uNJN4zbY!nvndunz7DLxNJ3L8zTf zO3j!I(t0NsD>~H{ST_&XEuPj9gUQ+K)Xv9(oJz(4pXPDoOln>J&SG$$bf#4WKHp$M zm$NiJnE|UCji~`Vyi%oXD1!4{yRz`%u2l)r;>;zyUpc9WJPZvVVN*+)-**UE#a_4q z_`NDYJrRP%Hq}DP<0>I1eG&gyISm_Y@oZ$^iz`O0Vw-WH5ZC4H-U^GLa829k*FhUP%Rt4rObxG533i2I zE$>HUx01q_M*Pv^L2F3;=Y(?i{QV0!_ zNF@3Pl0t(el2(E;p`rFVH18Q?{WmuIaayL4QT7KIoy8zg2Ad%284aV6Llf+UtUfYy#wfofe-ueGJ7Z%Y^MO7 zHSlLXywa|42`)EaQWesn6 zQO;i&0E>XFF*xN5o7xVm*3r1(7lfA$iA7O5rx@#^6RsN2z#oC|rAN|@)sA1w3iVVa z_+3J)Y&%RGp+3ra32SJMn-b39fXxRu*L?bgr37fndrQs(aNc% zAlwCv{)Q#>D3@;>*8WJ2a2{*FGnWHlo{BFjhbtxqeul*opdk`q86?0yB!SDlz)A$F zQITcGyK;OzuAFi>JMv_B81kw<`WRkSL1+icFib=LBlL6#P?J}d1KOpW@+&n|M26`D z>Jlkkd=4Z+dzCX~GMoh^@JKN>#XzB*v&_q=m<)w`RV@yK2)SCpTgquNL@St+EGw!+ zftVA2a3u0OsGJkGX!@i7LANeRU$3mt30yI)NABts@ZP{?Ct!?KL%?5@lUp0$F{FR* zVR+jM2t{~G2tBN_ILK6lsFwL#IY;u4RJ=^V#gHq=Ge_tlmBnUNA;~9ZJN+>Q zsLR0`kStS{Riks{2n@ZmKf=Zv{IL`sqMTn1O&Ai=#z$# zM}}6>!ggl#1mksphYf)$blxdqW_#Otej*+}B%zd7GHMZ$?kSqt2{~errGr)dB1~y1 zo%3MZQCC7kE6}?Co9fy(*>-m3fHek;nTB;2dc3wTw5bk?vI)9ya#M@JSmm+Ybp#h9 z<@bdSx4?xsEq)UC3m!*FWd+Fz?X{h&F-r>RBM`ncB&jb=I$}H5V?Gqpc@Ug*uR3Ux z72?Hs=%nqOxEfjU%dRyHL3#pP)n#P`oMTvks@7n1HY`z7r1VU%HmGK8uL2=BHVgf= zTEJP0o=2vdj@=EOh*ji)m0;tdyra*q7jTM0IZ5h4>>eh&0W&W*a^eUp)GXla>+WiM z71*1^WdLZrZNQn=$CdvY*!RRmzDNn$wprz`WFrK-VGM=31e|*JX_6|IfoTbw)>b5y z>`kiveLlNyz}XShBvk-rTe3xWP_+kpXu!$G%9&ZJA;3lv7uz&GF5sL>aph+NoA1ld z=IL%~z=>n-k+QD^w#mo&xz*5(0cXtvF1`oYJ|FMO(#%KMr?~n*2X@@YE!uZyz7$9U>@ty9n(#uvseuBh8v!m#A}HOzK1S~geHw5!#=+VE#ukrd1-HYr(D8sXzJ+VT zE5P0$uAAT|TvLXA3OK7#M4k)OSHQkAcxu(L7*DN2x1hb%-$;&TC0STx&$W@G0UNubkB9(&9^ah%#Mu2`bMQET~5A`@D)(kr5x*>fY zz$M9qazm$Dp*BJ1)*)`bTYx`Jj$fI==^b<`Bbg?t1K1rV$ImD@;cbk)p+RTLI9JiH zAe; z_2qj)F0>@*j6f%p3!5pxX8Q7iFAq8;^0D^03;OQ@c8`${ZDjr%g3c>QQd_Zmj+j(} z?khrg3K`4=;T?cS456t^Ry{jG!y7?oK@^0a0iN~@>4%$hm8k%N!2YHOWkwBsH^P$Z0mzWiA41eKOOZ zbc1hmY~3AluEB|2jNJw5Ye{rVlb#4UJsP^CFF^PuiKJL8%z)?+q1QuBUkBCVl)?HJ zn=Uuc4p>S;Md(P#`2*_`RTW@Ok6?wC&j!{w>&*lE%Z ztZ`sWOJZ4}mobLRD;4Tm6NK9Vt~LZ&WN0QT^67%Ev-@DRFr`N!?h43wI)gRQVWbg;SIxoZvJJyoc6b6tOSd0@3YT&hm# zcJ6_Z8#)wru0w6o47(#(S6+-+q9vF|!_F#q#h>`cJy zKzr>?VCfo_l~m0|P!ak$>}@mudA&PS2iKbaehvP;9;bH#Vll`aH(mf?H`D; zJrc@m;u?G&xKqyKunaC|N2tT)E++?geiBCsG35*78A^AYE%Wey3kbaoN!C@e_|~Kf zj~Tnljf1mzpd6$duyvckAvP>^{PYHhWinoP@e!UZ;=edL&olgJr&t z=Nq1F-h}RVsedqQ!}IZsZVl)gB>(I|Y8-LT$FqD1-noGUrDD)q5}U|tlIP>O>wXaO zfYtZ#WFODcrLHfxGw^;MC)vmI^lIoBXE5>l%JmVv!Z5ATB6Ljg@hrev&iHspGd>=E zHEJ<5?8K&~)93>T`92=%i4eTFkEi`gE&flExMK7_d_2W57;3;Aof)&%IT|0&mt8H3 zHnbz@2G*s%4IOSEEjg~7z2CR%4s7m^Hx>dr_^YJvTfOC)Q<7tVo z@$oQXd_0U8AJ5;T@Ha5B{t}zLoR)b$o}oC2ou*Ns3!?7Ta6@$H3HCKN!yZ6623||p z^YP^2q@Hh}O@#1HAgJ?vJl~Cn;hv8tE7!6rO2I0UV|+XxUxl#%EwicVQOVx*@dO9( z4q&|4%|q0)K76O$XfU3T0JPh{FZl2>o8OCg574Iue#M7Z+O3fM3pNF_BwIyTi3;)Y zTn^(?J@5h_PZmzZ5f;e!c$(G1!V3!8Ah83b-eG3O$J6yr%cAka0gWYmgs}1PNN;7j z@$m$PXyS4t-fIN3iv>QO6po;6NZ(FO^3vWD_;^lW^{^kwhdfAq&df9pAI}5#;x-6i zrwuM+Pvh|M)Srp23y(-PHc_qr>J%l~0Qh)5=XGywFq#_HaX%OMcq-U%0|OgiaH)Qs z3w%5QOt_PQ-E45m7d90>p4fc&|3KJeNVG!foID@T!ZsLPAnfx<7x;KOp_P3f&sSsM zy+F!Iu+MlBdU{Ind^{!B!~cgtR|cD|0ZLrp<2gJGU|lep8#>b|z!dBL15XkiP_Ihy+*$39t`IpqdxB9)W69RLIA(=|O$w-USmb@bUCS7v)L) zBSLa=F+QICIAIbpJ{~EZ@$o!Z94{_|R3%(8XwOe0j*%v ze<=`ijE`p|io|S|{0H6l@$@A_ZN~mFZ1%4(#`p1zi~xKE>2G_O`ilhPmLeTf|e1+;%>UN-a8%7Z_jF0E!-C#TlaF-!ah0fdfcrxZ#)i`Q zKZ5)xSZP(gI`Em&QpU&g;pNa!8MFrfrn>gQ$FmzfPhA1V0K=M&9IrOBmjxfs^;nszDqz$xEKy^8JeRWU#>cbtHqBK1K_B9Y_&%N%J{vxs z8!+xjQVX$LOm;RiH$I-uH@n&%0=AX73;^TfvC>@m*MYrlkp$5KGFwE@ew9))!KMLm(U_N%u(4$Fnu$ zDme}8yr;wpdOn_7xSALFQZ;a60XA3O^YP3My7CQxH6^Z_!}IYx1|N@H*z^WAz?b)Y zJY3k#VLzD;>;@xmd^~;Fo9{yU8c){kE1r)h<8~090=U}{%FATs`FOHEYT0&&P9OkxO3->LW>X%lLRMAM29#g79GyNwHX#@$qaMfpY%<#%aUi zDa0~99^UM&Qm~#chE2D+@$tMr2uW3u-pIrBf4;z+LuwO^U$1@P~qrC^T{f0`G@8h`@iyZOsd;`J{9?1%N zKAs)8AeNI_2v-j!u@&kOx}7~A&zjyYvldt_F2?kHJf+6y8O!bm)>tylIK9Bf(_*2^ zybY{EOEBZ(c^$JC3uJF1p^CJZ=i}LpwWGZY>8~*h>BwA88XwPVlU##82mXWMu(Za< zGi$ud3D(AyDK@P~s#}Q0$8!>{%u7IMY)G*{$>Q2E%8tdyzov2}0-&}IV6Hh1)#dm51)Anj&O16VJf zx2M5wK<^{@GY?Y3h71anXt71|&^|MZULZ zx}(Im9yX`(_Rwg#Mr6Rsc;x^u4|}HYCMx6Y$*bpkdukzUygiH z=1pY%E;jp)<&g2bJ?CDwrz9rU$7+-|Mr`4(`AS5vhwjL_O@o zciK~xvep55)WF+(c$q!sFWkBfXupBC6Rs<+q?LB(gLpnU2~r|%?%GMc8l|Dp#-mgF zJ1j1sqZAyjrLoyBQ=#$blnyJ42G$4Egz)QxjYmg%B-4#YXW1@I9EHU3MnF4Ma+EXs z3_8*rq%R~Ud1+q>JUVkWVHtqrhdfBV&CE0okIpN9;BRnXuNz#(m&W1IdHZq8`V`p7 zBwQ=e2Ee29%^nyKz&bt^n;4)z@N5r*v5eWBqqzgPcP3o~Fyt{Vh$Cbqq@FLi6dJ-3SbPhz6 zbqv@~2B*XY9-Wg>g=au87}Bum8t^?j9J>B!jc~4NUkq&~9-Y>$U2n}M=ohyQ4UquL zAOZFv3H*heCC~{e)u^bDM`!XmeV$$n6E5)RtU0BjErgOiIwPOakn!k9>5NC`(f4t` zKBWGjBm;$ZN0xgT8IKN!L4;i6(P{I#R?w(XlB}o_1<4+r(r9F2!~TQrdvu0@snoUL z&BA7X4r6?e&NnY2w-rcV>tX6R3C5$tL8c-^jYntHD@b|+DIXgdhFrmmdvxB}2Et!p z6>IF;phV_JR*lZl^XRY_s0ew+qf_Q3BsD=wTO<7|tu%M-O!@!>H4x|+!#G2R@#xfz zp%!iexY!V=Lg#HfI#qwMtPLRSFeGXb(ghx!S5M#y5UejR!c6w)I8Q*s8PFn^dPO%% zeUDBSx|b>oMoq(NhaRu(Gaj9sKakW0j4mE4*`qW3S=?qyi^l-J#^WfdEaTCc_LfUp z1j0RrB=u!HI`_b8(exw;FBlSS@;y3Bw<4?e0e)o&rd559&Kyh(>MR&R{1YhsPl+1i z(W!|OgYVI)@}Xv`>Y&&0M0}4UHeiCR?-_k4|@=4Uf*LS2RhT2J<}GVw>^k zbV0WkZKayx{D)0zGaj9t$c>q(2EdvU*Yci6r~D_b?Y)5w@Nv(h^O&V{*`@=#!N)z1 z&iGGV`|bvIpO1SUomX&9l>D~?+vVe)M`y-HJqM^mz>fO3=h5N2VWdBt26o=y#-q~% zXBAbf8U6&oraK1dzDH*y3aIJ=Y@I|xm#$b=-dvxj@aZR`u*ev3@ z3O$cb4vNTYHnj@a0|xgzI$bzDK8@rT39+qZ+OmvC=Q}LOe2>l{3_mgzZ{PU!0uj%n z^Sdtsk4_I5K&HxS&bM5;2I^cwo=4|}Uy8K6uv5Og=h1om zb5}mn0*fGQZgY4Zoq0G-$i+)lU^R)$_zHR+ol?)?k4&~gJ7ArSyz%Jt{~Fi`q+jjH zx_!m-=zR1K2=f3gF@zZBi;(BhDTWfLO#mPD2*#t6_N6;?3p2P>I9q(>T$&bmij z=1*Y#lgyOtj7LYEcA1$4IGthBEhjoYL2;CtY*b&JB;c^eLd; zm_)aXMv8VH{O{MsY}jHOpg$#?DSLT9JF_5iRnK~_@6qf>W} zOPEPQn)Gweqw@?#lD!z|tC)pM7hFynkIpo=W70z@0{iqRE3cerbiI)+X4c+spzbb3P^W!Z13D9aJZ}K2jlep){*?8Qt z>LEd?Js|8)CV76GXU>4|IWWE)OY|rEarQxpzB>xG6~QK)WIxVxyP+e;U_#%6K90p> zA82i~;V^LeahhF*rL^bAAl}?A=PS$|wBc_;1*}(d*G?m>5NJy#ilZUp$KgF$#*agz<;su& zE8{GB3jH`gw8PQ6Yv)(!@b23A17YLGVZ``x7%_gFfA-;>tVp;Ao86t3d48O6ST{V1 z)Mq_J_0=%?9Q-(YKS4JDbjZMi2z!2?M@Z+?>iqk#-#$m&fdXzhJ zICTBd8sS{kzAdh0#E%p2<+^4jLQ;G*G(-X{g9O-zB(T>Dlte{VqoP87oD*;>ycvdojL8l9u($6+r}5%P>5 z=l!>l6zGT(FE%NG+CeLgALqJXKv0!{<{QRtGK?SR=nr7D1<23!`6_hY#*gzsNLg2b zFx!x*MMxL;agJfZumUVTwW-zlOlc{dGoHR`z@qN~?cIMQt=;_=q7$PhhM1ew@efzk+%RjJFI+)EGZb1)LasKhCo| zG*kTs`Z-U;_v2LY+3@3(#cKdaQWZK`R#j~Fo6Ow!an>AgwY37)j<^f}QhkQq z*Tls(F3mE9O6Jg$SM>$9~Msw+iq&*52GeT@ui?%mPGgcIP0*$7Sdo4u1+FJ zv3x&H4fH@Y4~!*-#q*5s$9WR-sM-YZQIFvJah~}Z*1nAN_dHDcw>ykIKTauJw%Ff- z@xLUN@5ecY>C}$)z*QeMU3#t^T{WH`rzm_Yb}ca47?u>#uOoA3PMg<2?GM^WLzVf* z_;G%6mxJ~!5axL#-;XmEt^+E!9{~2ahwC1p+u8HuoJY43<{Myrd@-iy$C>%QyRiBn zSb?5UZYG2a?#x-f-(^+=OV_BZq>LZuL)`7a0@(#59Fq3({5U&srD69*`cP&eBZW&% znb%V7LCJ#c=JLfsF1YZ6BZ(fDyzKa3Avf$+W|$!aOtj}yV^;9C&R zB$H${Wv&mzk0Teok)PY)La6*$Z^kF)%LfQBP^q6evS#63SwH@JYTyTMTlL0Fbd^87frKLNr+z@GB(WIxUf zOdsE_0Ou{>A9Wh|L#QjQ)oo=i{fa{xfXK>Ku(9CkN+X+OUsM z%H2?8{5Vg)t_}UdK*o>5H#iwT4vm&8Lk6sjHE^TQkMmUjLVld*Q6-)q=S75#ABPd+ z$6>_yakl(`*MJ~l2sXPcE%W?1Z=kWJB6XIBsEQhHh&gY9T^p&F@J59$U|Wv~gN zn)>jacE7jrEGVF+25#lU%WMbpMpr;r8n_){&yVvOCbg@QASL3K_ZFSgFg`+~jUT5S z`dnw|*o4GKDcX|?jUQ+G7TAImetl{`;r@h;A4hs5(~TeJ*fW}V8j0tPfOez6k8|KB zbfjYaP=(lZUfM$fKh91}v^9|2$b-}nW~OoYan7EytWLoC8eGPg#^J~L=pf#I1MJ2m zTr1HAz>mYPiK}H`+;3Q;{9NG28MY160I=N#mnzn|z>o9wZp?+izA`xF3!4f*&NwWl z&VUd>FPBmZu5?bGAE)CEbOR8odZY{dIQ!Y7%>6h=j=)2KlrCWR_arXx<19eot_C*C z;FP$)kMj@4hrI%fwT312DDyOju0L8MoU7WO!udx0IPZ^geKZXqDb5-iA_0~`0_;N) zSmXshMW7lL74qYh$JGJX?q#opdC7j9{Kqxam{77GXTj$hGJYH>o$=$$#r)R+QVS@_ zK%w1uwo$Slhr=L3uJPmKo`a7S39l#1iYif%?8n)N8K2m%|3UZtI2*PjcNHA~=L|M` z3Ok(k$>1$I$I$InC8Xzjn3_p~@#AoisR&Wy$2qhMN&S#A*2pmA3SQigGx!V$i@;i+ zEOQg9M(61Hao7t~ggoQNxf<(YwI3;mjPxzE()e+1K)We*66hJjxQz_s$62)xjMRZ> zb!<`ziYj#8#*edYGv+f8+8GkH2gTB--Trac*Gm84mCoLy(@pR`vZj>A3h(w}P?UutbgVbc7gt~C*u2YvVAuEI4$1OB=tR*Ka+hoGdF&m%vW4(vB5ZjW77k`_;D`7g&i|d zdBF0Ci@fpUe9A^J_v6@`G)eUZbCA(y{5W6wZ1{1kM>R>!2lEc2+xT(RZdcnTV2>JY z#*b49=VNA~_F?xHaj`Av`Ei~>LyGOkf&J*?o*(C%jV>M@f-@O5SKjmERNm+6uMDiZ zk9&Tcepr1={%wI>;p3hk=Sk?7_8tXnypMZ+oCR<%2tFU!9R@dkoYZM34VF?9T-1(EZ>h~edC%C9g0Z}n_C5*A7|YMdRAAL z0IOwi&yREJW7yON$z2Hf78*a!L9A(fKh86cYo?k3`kV_yJU`B-z6ks{yU~BiR1ahK z3`N++ZasK@oab;$rM(~Ep=5&R$LWrWq=o7y?9P$no9g*-R%09{B{OA`G=7|}7_6K?)%#$5o6PhlUE{|Y4L^?1?GbQ|Vbg`BvA!Q?+V3u@3J498 zNK!1{k24atJ*ZA#^ffG=9eh7d6^wO-HGvVBzYXd4dYJTYw`n{-&Q2I( zZv$gz63h4F?Ai{(L4aQv0@seN8qbe2^kuOA03&520x}My9{f5oew=UK0iyzF{8*-@ z%KT&eI8#sQ*}=XXgiapG_v2iKlcb!~MgyDS;krlYcJ}-@ZFafLrC_bQ7}N9P>_lbJ z3VSD5`^hvD!UcYuhN{Ggf^TBz%Y8Zsoh9v8%WIxX7&+z_J z5cVXKWHn{355$in7rl`kSoUYXvk|-JaK)4TJ{qIL(KoTADZt+zk*=Y{QY^1W!{5tq zJMif&c^A1=wPtmJe?)QfJXl`c$oF?yRUd1~rFn?&>1yx6zI4u5Tuel3hi+)4p9LMC zM0t^QT$O(iLqo+B6xxIR402j_6%CKysNWd2HHmUuG!%ts?VVsBHgn$b-- zAJv4%+vCU^$jlBd{ndE=-7!0K0GAt=j47ljxlZ&;+9xf8@pVpP=ujkmA@1?@M5t0k zOfmF(+xhxv{K@ho7F=8GPzL%G->H2o#k{Wvlx%@<&DUKkLRS2}7eF3lhiY%e#WGT! zBsqzryLpq;DUkUjCGf7&gV4GzB?{MDj*6GR2431DYZ0lyj}u{c5K00mf5!DkW`Zi- z=q6kVri4^{2m%eeJC;=;Hy%iTJ-&1c$IN5sWNu4F3v|YkaiP@w_vje zvYs^5-MJneOszulgC3;D5SLeK$3{C_(4x|YF91JaI1H(?b3km&Ypht4ax(j+@{QH8 zna+N6C-oCJ{G^&>sGEplR^Ei`Kzhz8yH;yVhmmEl*;ARZX;~}6qGj*`L*?ej_;$+x zj;B-g@mcp+wTO=M{n!=nL!y<#cN6ChE%RX$+`N~ttZSiLzihnfIs|h^RIV1me8Nu;Gbpp*-(G_Fr0k|KH{N~~;@4#V zxn9TRTQIqe>hrbRk*|@Lc+GMf*XP^29lrN4w|V^yD6qq&SZ<5@TM*7D4y7u0MruAk!(r(EX!C2o z1N;##L<{QsyjsGAq1Z(Zy%vg%Yn_8_1A34rg^$Jv>t@%6*+x&I(ejaai zkLTPYpPH>W5fRhof4zitEffufZvAwz*X9RL<4$O%%5%uvnKmDH!fivh&A&hH#@#mm z@i#Z_wt2HB+_>B3`H$$h*XDc}H}V$p^4grw^m=VR8##MzJ|E$Xjwe~z8L1UfSg*|o zL4#i@(&lojZ+5+((dJiUZC-i(pAbWv2PSz9+r>Hc7}EMf&k$^OsTC-rH_m^Cpqhr{ z*&d`y6ZhJDG|DW0RIdWQ#c&wOI`(LEXCuk zQC5VvCuht?%dyRQ?+n{|NgI9a<{n>mkG#XSVgu|wU$X}aYn_vGNZvA1Z{J+VaY4h}d+%|N_`73|9aktIw|G9Cu&3nJ;#@#j_ zaX`ntHs_ywk*ATD*XAim@Y=i>a`xIh1L2IRKfoxoc?t^ajq_6w@GC{yTrMH9W0(}O z$8Lu4WpV;n;i{`lTJY&5I0SvNs!c{Mjj}UhFA-0MK(|a)~;=F(*$_;e_ z$hVTU3Q1i)?1{&!BxrS+V8X#JjZ>Ju7L-VrWeG2whMb(2q2tDgQ@$m-UWs&S=^Ck$ zs;;jLZ#E(~1*;Sde2T!(J%ezsQnBJ>3_aKa;o>n8tmt{zRHcX`O&)D~Ga@BIJAnkP zZV_|?Zry2cz$&A{N1!*tq*=kx*ojlE2*sQmky@o>U@KV8EQG6uOXg6tI>Fv0aQP6* zY>#lp0W`$nyxI|d8!7q>N|jgF&G_cUh%|`S#Hlh8-JXp|Ly4qCdt8Y~BZ*{0yP_0% zjU|#3{Wu?yOC?e@%9n-bHIYbuloM!PQ;9T+&Op=THIqm|^i(rM3MA4l+JKq1lt|ZT zh3<&7l1SfZ-VKPfDV4ea^K|s8N{F;AQ38=M(dQpPq@7qjDY|nxBJCwIH9F-kL^{Na z&Bhuo+VECHIu$#Lg3gZi#UeAWbCJVXr_PDq5kaI&Bn#T+MjNFe(yd4yA`7F%dMGQe zU!p7&EQvlp8pxID^?}?IEsdJZ8<1Im$l7Qzv{BwbG3TLZ4DFvcD9XOEEjkJd^}NBc z_K56=c3@Qv5!?1ecTYlOSfni!ylOdgJXUk0Ny^yH)F_tsk!-Y2EK&sfL}TczURo95 zS6caHR{de4#AE2&)jzf+xeSxJgG@8ZgqH$5Z5QSGmYb3tdxuBsfYdU*I%B6;m}k5y#A2{VzL(3Klb2c5a5&z^`|Z%B(}1gN3>o1u&g$zU-g+t{#+*~+Sf#+t}4Q+u1n5$XlTWl zVidK)zMrUtUQoTNrVS=dYUKiMLiGl#qLRW+CyP6%Xhapy_5|2Xt5|PTNT_gj)S1}9 z8vRzA_$s-DYShjJc1mOX?5$u{q79m(dS_i#{0gqNP&B*s^=26`ZnaZh!jbjGZ{+Ic z(1b+4RUm`{(l7YoT*ZFlwqsYeL~pJBN@CJ+D5w}kAqRjQFIE(^9d=3-N9Mur?OsSt zw5F-UwJv@l_5xG2!uY%SV7+Lk@Z~>Lb&yQS(9boIhbxBagS4uXh9DNjcVUcF-({yf zg(DU4+rCaUZM_YLuEYhYrxuAnqZ~Z?g40=H1{~8 zTtm6b0L>L>-UU!S7Qc@uTzi4SvKZ>scS>jEmxcY}T8Y6m09_Uk>ftk5-Aa_0OM=ulT1eRKrckn1SuWeTLh7!63K~vx(JaHDSNNSIV5^}bwo-QVb9LD zA}3&I`Xg0Pn$M7Qt6sFnWf9Y`H1HS;18b)1N)%TX+ zfzpi$`%RuB@GI#&P@133_Df~u3|kKAN6PR(A%0D}aNYuMN#}vm{K$6UynihX>37TU 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 using namespace sv; +Var::Var(double coef, VarType type_) : col(0), val(0), coeffs(coef), type(type_){}; -Var::Var(double coef, VarType type_) : - col(0), - val(0), - coeffs(coef), - type(type_) -{ -}; - -double Var::get(DoubleAttr attr) -{ +double Var::get(DoubleAttr attr) { switch (attr) { case DoubleAttr::Coeff: return coeffs; @@ -22,13 +14,11 @@ double Var::get(DoubleAttr attr) return -1; } -int Var::get(IntAttr attr) -{ +int Var::get(IntAttr attr) { return col; } -Expr sv::operator+(const Expr& x, const Expr& y) -{ +Expr sv::operator+(const Expr &x, const Expr &y) { Expr exp; exp.coeffs.resize(std::max(x.coeffs.size(), y.coeffs.size()), 0); for (int c = 0; c < exp.coeffs.size(); c++) { @@ -43,13 +33,11 @@ Expr sv::operator+(const Expr& x, const Expr& y) return exp; } -Expr sv::operator+(const Expr& x) -{ +Expr sv::operator+(const Expr &x) { return x; } -Expr sv::operator+(Var x, Var y) -{ +Expr sv::operator+(Var x, Var y) { Expr exp; exp.coeffs.resize(std::max(x.get(IntAttr::NumCol) + 1, y.get(IntAttr::NumCol) + 1), 0); exp.coeffs.at(x.get(IntAttr::NumCol)) = x.get(DoubleAttr::Coeff); @@ -57,21 +45,19 @@ Expr sv::operator+(Var x, Var y) return exp; } -Expr sv::operator+(Var x, double a) -{ +Expr sv::operator+(Var x, double a) { Expr exp; - exp.coeffs.resize(x.get(IntAttr::NumCol) + 1); + exp.coeffs.resize(x.get(IntAttr::NumCol) + 1, 0); + exp.coeffs.at(x.get(IntAttr::NumCol)) = x.get(DoubleAttr::Coeff); exp.constant = a; return exp; } -Expr sv::operator+(double a, Var x) -{ +Expr sv::operator+(double a, Var x) { return x + a; } -Expr sv::operator-(const Expr& x, const Expr& y) -{ +Expr sv::operator-(const Expr &x, const Expr &y) { Expr exp; exp.coeffs.resize(std::max(x.coeffs.size(), y.coeffs.size()), 0); for (int c = 0; c < exp.coeffs.size(); c++) { @@ -79,15 +65,14 @@ Expr sv::operator-(const Expr& x, const Expr& y) exp.coeffs.at(c) = x.coeffs.at(c) - y.coeffs.at(c); } else { - exp.coeffs.at(c) = c < x.coeffs.size() ? x.coeffs.at(c) : y.coeffs.at(c); + exp.coeffs.at(c) = c < x.coeffs.size() ? x.coeffs.at(c) : -y.coeffs.at(c); } } - exp.constant = x.constant + y.constant; + exp.constant = x.constant - y.constant; return exp; } -Expr sv::operator-(const Expr& x) -{ +Expr sv::operator-(const Expr &x) { Expr expr(x); for (int c = 0; c < expr.coeffs.size(); c++) { expr.coeffs.at(c) = -expr.coeffs.at(c); @@ -96,13 +81,11 @@ Expr sv::operator-(const Expr& x) return expr; } -Expr sv::operator-(Var x) -{ +Expr sv::operator-(Var x) { return -Expr(x); } -Expr sv::operator-(Var x, Var y) -{ +Expr sv::operator-(Var x, Var y) { Expr exp; exp.coeffs.resize(std::max(x.get(IntAttr::NumCol) + 1, y.get(IntAttr::NumCol) + 1), 0); exp.coeffs.at(x.get(IntAttr::NumCol)) = x.get(DoubleAttr::Coeff); @@ -110,31 +93,30 @@ Expr sv::operator-(Var x, Var y) return exp; } -Expr sv::operator-(Var x, double a) -{ - return x - Var(a); +Expr sv::operator-(Var x, double a) { + Expr exp; + exp.coeffs.resize(x.get(IntAttr::NumCol) + 1, 0); + exp.coeffs.at(x.get(IntAttr::NumCol)) = x.get(DoubleAttr::Coeff); + exp.constant = -a; + return exp; } -Expr sv::operator-(double a, Var x) -{ - return x - a; +Expr sv::operator-(double a, Var x) { + return a + (-x); } -Expr sv::operator*(double a, Var x) -{ +Expr sv::operator*(double a, Var x) { Expr exp; exp.coeffs.resize(x.get(IntAttr::NumCol) + 1, 0); exp.coeffs.at(x.get(IntAttr::NumCol)) = a * x.get(DoubleAttr::Coeff); return exp; } -Expr sv::operator*(Var x, double a) -{ +Expr sv::operator*(Var x, double a) { return a * x; } -Expr sv::operator*(const Expr& x, double a) -{ +Expr sv::operator*(const Expr &x, double a) { Expr exp = x; for (int c = 0; c < exp.coeffs.size(); c++) { exp.coeffs.at(c) *= a; @@ -143,18 +125,15 @@ Expr sv::operator*(const Expr& x, double a) return exp; } -Expr sv::operator*(double a, const Expr& x) -{ +Expr sv::operator*(double a, const Expr &x) { return x * a; } -Expr sv::operator/(Var x, double a) -{ +Expr sv::operator/(Var x, double a) { return Expr(x) / a; } -Expr sv::operator/(const Expr& x, double a) -{ +Expr sv::operator/(const Expr &x, double a) { Expr exp = x; for (int c = 0; c < exp.coeffs.size(); c++) { exp.coeffs.at(c) /= a; @@ -163,25 +142,24 @@ Expr sv::operator/(const Expr& x, double a) return exp; } -Expr::Expr(double constant) - :constant(constant) -{ -} +Expr::Expr(double constant) : constant(constant) {} -Expr::Expr(Var var, double coeff) -{ +Expr::Expr(Var var, double coeff) { this->coeffs.resize(var.col + 1); this->coeffs.at(var.col) = coeff; this->constant = 0; } -Expr Expr::operator=(const Expr& rhs) -{ +Expr &Expr::operator=(const Expr &rhs) { + if (this != &rhs) { + constant = rhs.constant; + coeffs = rhs.coeffs; + vars = rhs.vars; + } return *this; } -void Expr::operator+=(const Expr& expr) -{ +void Expr::operator+=(const Expr &expr) { coeffs.resize(std::max(coeffs.size(), expr.coeffs.size())); for (int c = 0; c < expr.coeffs.size(); c++) { coeffs.at(c) += expr.coeffs.at(c); @@ -189,8 +167,7 @@ void Expr::operator+=(const Expr& expr) constant += expr.constant; } -void Expr::operator-=(const Expr& expr) -{ +void Expr::operator-=(const Expr &expr) { coeffs.resize(std::max(coeffs.size(), expr.coeffs.size())); for (int c = 0; c < expr.coeffs.size(); c++) { coeffs.at(c) -= expr.coeffs.at(c); @@ -198,24 +175,21 @@ void Expr::operator-=(const Expr& expr) constant -= expr.constant; } -void Expr::operator*=(double mult) -{ +void Expr::operator*=(double mult) { for (int c = 0; c < coeffs.size(); c++) { coeffs.at(c) *= mult; } constant *= mult; } -void Expr::operator/=(double a) -{ +void Expr::operator/=(double a) { for (int c = 0; c < coeffs.size(); c++) { coeffs.at(c) /= a; } constant /= a; } -Expr Expr::operator+(const Expr& rhs) -{ +Expr Expr::operator+(const Expr &rhs) { coeffs.resize(std::max(coeffs.size(), rhs.coeffs.size())); for (int c = 0; c < rhs.coeffs.size(); c++) { coeffs.at(c) += rhs.coeffs.at(c); @@ -224,8 +198,7 @@ Expr Expr::operator+(const Expr& rhs) return *this; } -Expr Expr::operator-(const Expr& rhs) -{ +Expr Expr::operator-(const Expr &rhs) { coeffs.resize(std::max(coeffs.size(), rhs.coeffs.size())); for (int c = 0; c < rhs.coeffs.size(); c++) { coeffs.at(c) -= rhs.coeffs.at(c); diff --git a/src/main.cpp b/src/main.cpp index b1e9b2f..ce86d4e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,36 +6,35 @@ using namespace std; using namespace sv; - -int main(int argc, char* argv[]) -{ +int main(int argc, char *argv[]) { Model mdl; - - Var* int_var = mdl.addVars(3, VarType::INTEGER); - Var* con_var = mdl.addVars(2, VarType::CONTINUOUS); - mdl.addConstr(2 * int_var[0] + int_var[1], ConstrOper::LESS_EQUAL, 10); - mdl.addConstr(3 * int_var[0] + 6 * int_var[1], ConstrOper::LESS_EQUAL, 40); - mdl.addConstr(3 * int_var[0] + 6 * int_var[1] + 4 * int_var[2], ConstrOper::LESS_EQUAL, 50); - mdl.addConstr(2.3 * con_var[0] + 2.6 * con_var[1], ConstrOper::LESS_EQUAL, 80); - mdl.addConstr(con_var[0] + 2 * con_var[1], ConstrOper::LESS_EQUAL, 70); - mdl.setObjective(100 * int_var[0] + 150 * int_var[1] + 120 * int_var[2] + 82.6 * con_var[0] + 90.4 * con_var[1], MDL_MAXIMIZE); + Var *x = mdl.addVars(3, VarType::INTEGER); + Var *y = mdl.addVars(2, VarType::CONTINUOUS); - switch(mdl.optimize()) { - case OPTIMAL: - cout << "OPTIMAL SOLUTION: " << mdl.get(DoubleAttr::Obj) << endl; + mdl.addConstr(3 * x[0] + 6 * x[1], ConstrOper::LESS_EQUAL, 28); + mdl.addConstr(3 * x[0] + 6 * x[1] + 4 * x[2], ConstrOper::LESS_EQUAL, 30); + mdl.addConstr(3 * y[0] + 2 * y[1], ConstrOper::LESS_EQUAL, 80); + mdl.addConstr(y[0] + 2 * y[1], ConstrOper::LESS_EQUAL, 70); + mdl.addConstr(2 * x[1] + x[2], ConstrOper::EQUAL, 7); + mdl.setObjective(100 * x[0] + 150 * x[1] + 120 * x[2] + 80 * y[0] + 90 * y[1] + 15, + MDL_MAXIMIZE); + + switch (mdl.optimize()) { + case OPTIMAL: + cout << "OPTIMAL SOLUTION: " << mdl.get(DoubleAttr::Obj) << endl; for (int i = 0; i < 3; i++) { - cout << "integer var [" << i << "] : " << int_var[i].get(DoubleAttr::X) << endl; + cout << "integer var [" << i << "] : " << x[i].get(DoubleAttr::X) << endl; } for (int i = 0; i < 2; i++) { - cout << "continuous var [" << i << "] : " << con_var[i].get(DoubleAttr::X) << endl; + cout << "continuous var [" << i << "] : " << y[i].get(DoubleAttr::X) << endl; } break; - case INFEASIBLE: - cout << "INFEASIBLE MODEL" << endl; + case INFEASIBLE: + cout << "INFEASIBLE MODEL" << endl; break; - case UNBOUNDED: - cout << "UNBOUNDED SOLUTION" << endl; + case UNBOUNDED: + cout << "UNBOUNDED SOLUTION" << endl; break; default: assert(false); diff --git a/src/solver.cpp b/src/solver.cpp index e169d77..79eb803 100644 --- a/src/solver.cpp +++ b/src/solver.cpp @@ -5,68 +5,53 @@ #include #include #include -#include -#include +#include #include -#include +#include + using namespace sv; -using std::make_pair; -using std::pair; using std::cout; using std::endl; +using std::make_pair; +using std::pair; using std::vector; - -struct Node -{ +struct Node { LinSolver solver; - double lower_bound; - double upper_bound; - + double bound; // LP bound in true-objective space }; -LinSolver::LinSolver() : - obj_(0), - rtn_(LOADED), - cn(0), - bn(1), - sense(0) -{ +LinSolver::LinSolver() : obj_(0), rtn_(LOADED), cn(0), bn(1), sense(0) {} -} - -sv::LinSolver::~LinSolver() -{ - for (auto& var : vars) { +sv::LinSolver::~LinSolver() { + for (auto &var : vars) { delete[] var.second; } } -sv::LinSolver::LinSolver(const LinSolver& solver) -{ +sv::LinSolver::LinSolver(const LinSolver &solver) { *this = solver; } -LinSolver& sv::LinSolver::operator=(const LinSolver& solver) -{ +LinSolver &sv::LinSolver::operator=(const LinSolver &solver) { if (this == &solver) { return *this; } - for (auto& var : vars) { + for (auto &var : vars) { delete[] var.second; } vars.clear(); vars.reserve(solver.vars.size()); - for (auto& var : solver.vars) { + for (auto &var : solver.vars) { vars.push_back(std::make_pair(var.first, new Var[var.first])); for (int i = 0; i < var.first; i++) { vars.back().second[i] = var.second[i]; } } cn = solver.cn; + bn = solver.bn; table = solver.table; - cn = solver.cn, bn = solver.bn; basic = solver.basic; rtn_ = solver.rtn_; obj_ = solver.obj_; @@ -75,85 +60,73 @@ LinSolver& sv::LinSolver::operator=(const LinSolver& solver) return *this; } -Var* LinSolver::addVars(int num, VarType type) -{ - Var* var = new Var[num]; +Var *LinSolver::addVars(int num, VarType type) { + Var *var = new Var[num]; for (int c = 0; c < num; c++) { - var[c].col = c + cn, var[c].type = type; + var[c].col = c + cn; + var[c].type = type; } vars.push_back(std::make_pair(num, var)); cn += num; return vars.back().second; } -Var& sv::LinSolver::getVar(int idx) -{ - assert(idx >= 0 && idx < cn); +Var &sv::LinSolver::getVar(int idx) { + assert(idx >= 0 && idx < static_cast(cn)); static Var err_var; - for (auto& var : vars) { - if (var.first <= idx) { - idx -= var.first; - } - else { - return var.second[idx]; + int offset = 0; + for (auto &var : vars) { + if (idx < offset + var.first) { + return var.second[idx - offset]; } + offset += var.first; } return err_var; } -void LinSolver::addConstr(const Expr& expr, ConstrOper sense, double rhs) -{ +void LinSolver::addConstr(const Expr &expr, ConstrOper sense, double rhs) { + if (sense == ConstrOper::EQUAL) { + addConstr(expr, ConstrOper::LESS_EQUAL, rhs); + addConstr(expr, ConstrOper::GREATER_EQUAL, rhs); + return; + } + + bn++; if (sense == ConstrOper::LESS_EQUAL) { - bn++; table.push_back(vector(1, rhs - expr.constant)); table.back().insert(table.back().end(), expr.coeffs.begin(), expr.coeffs.end()); } - else if (sense == ConstrOper::GREATER_EQUAL) { - bn++; + else { table.push_back(vector(1, expr.constant - rhs)); - for (int coeff : expr.coeffs) { + for (double coeff : expr.coeffs) { table.back().push_back(-coeff); } } - else { - addConstr(expr, ConstrOper::LESS_EQUAL, rhs); - addConstr(expr, ConstrOper::GREATER_EQUAL, rhs); - } - - for (int c = table.back().size(); c <= cn; c++) { + + for (size_t c = table.back().size(); c <= cn; c++) { table.back().push_back(0); } } -void LinSolver::setObjective(Expr obje, int _sense) -{ +void LinSolver::setObjective(Expr obje, int _sense) { assert(_sense == 1 || _sense == -1); if (sense == 0) { table.insert(table.begin(), obje.coeffs); - table.front().insert(table.front().begin(), -obje.constant); - for (int c = obje.coeffs.size() + 1; c <= cn; c++) { - table.front().push_back(0); - } } else { - table.front().front() = -obje.constant; - for (int col = 0; col < cn; col++) { - if (col < obje.coeffs.size()) { - table.front().at(col + 1) = obje.coeffs.at(col); - } - else { - table.front().at(col) = 0; - } - } + table.front() = obje.coeffs; } - for (int row = 0; row < table.front().size(); row++) { - table.front().at(row) = _sense * table.front().at(row); + table.front().insert(table.front().begin(), -obje.constant); + for (size_t c = obje.coeffs.size() + 1; c <= cn; c++) { + table.front().push_back(0); + } + for (size_t col = 0; col < table.front().size(); col++) { + table.front().at(col) = _sense * table.front().at(col); } sense = _sense; } -rtn LinSolver::optimize() -{ +rtn LinSolver::optimize() { assert(sense); ope_table = table; rtn_ = LOADED; @@ -163,18 +136,22 @@ rtn LinSolver::optimize() } if (rtn_ == OPTIMAL) { - cn = ope_table.front().size() - bn; - for (int row = 1; row < bn; row++) { - if (basic.at(row - 1) - 1 < cn) { - getVar(basic.at(row - 1) - 1).val = ope_table.at(row).front(); + const size_t num_vars = ope_table.front().size() - bn; + cn = num_vars; + for (size_t i = 0; i < num_vars; i++) { + getVar(static_cast(i)).val = 0; + } + for (size_t row = 1; row < bn; row++) { + int var_idx = basic.at(row - 1) - 1; + if (var_idx >= 0 && static_cast(var_idx) < num_vars) { + getVar(var_idx).val = ope_table.at(row).front(); } } } return rtn_; } -void LinSolver::print() -{ +void LinSolver::print() { for (size_t row = 0; row < ope_table.size(); row++) { for (size_t col = 0; col < ope_table.front().size(); col++) { cout << ope_table.at(row).at(col) << "\t"; @@ -183,163 +160,206 @@ void LinSolver::print() } } -Model::Model() -{ +Model::Model() {} +namespace { + +bool is_integer_type(VarType type) { + return type == VarType::INTEGER || type == VarType::BINARY; } -rtn Model::optimize() -{ +bool is_fractional(double val, double eps = 1e-6) { + return fabs(val - std::round(val)) > eps; +} + +bool is_better(double candidate, double incumbent, int sense, double eps = 1e-10) { + if (sense == MDL_MAXIMIZE) { + return candidate > incumbent + eps; + } + return candidate < incumbent - eps; +} + +} // namespace + +rtn Model::optimize() { solver.optimize(); if (solver.rtn_ != OPTIMAL) { return solver.rtn_; } - double global_upper_bound = solver.obj_, global_lower_bound = 0; + const int sense = solver.sense; + const int num_vars = solver.get(IntAttr::NumVars); - std::stack list_; - - Node root_node = { solver, 0, solver.obj_ }; - Node incumbent_node = root_node; + bool has_integer = false; + for (int i = 0; i < num_vars; i++) { + if (is_integer_type(solver.getVar(i).type)) { + has_integer = true; + break; + } + } + if (!has_integer) { + return solver.rtn_; + } + + double best_obj = (sense == MDL_MAXIMIZE) ? -std::numeric_limits::infinity() + : std::numeric_limits::infinity(); + bool found_integer = false; + Node incumbent_node{solver, solver.get(DoubleAttr::Obj)}; + + std::stack open_nodes; + open_nodes.push(Node{solver, solver.get(DoubleAttr::Obj)}); + while (!open_nodes.empty()) { + Node current_node = std::move(open_nodes.top()); + open_nodes.pop(); + + if (found_integer && !is_better(current_node.bound, best_obj, sense)) { + continue; + } - list_.push(root_node); - while (list_.size() && global_upper_bound - global_lower_bound > 1e-10) { - Node current_node = list_.top(); - list_.pop(); current_node.solver.optimize(); - - if (current_node.solver.get(IntAttr::Status) == OPTIMAL) { - int branch_var_index = -1; + if (current_node.solver.get(IntAttr::Status) != OPTIMAL) { + continue; + } - for (int i = 0; i < current_node.solver.get(IntAttr::NumVars); i++) { - if (current_node.solver.getVar(i).type == VarType::INTEGER) { - if (fabs(int(current_node.solver.getVar(i).val) - current_node.solver.getVar(i).val) > 1e-10) { - branch_var_index = i; - break; - } - } + const double lp_obj = current_node.solver.get(DoubleAttr::Obj); + current_node.bound = lp_obj; + + if (found_integer && !is_better(lp_obj, best_obj, sense)) { + continue; + } + + int branch_var_index = -1; + for (int i = 0; i < current_node.solver.get(IntAttr::NumVars); i++) { + Var &var = current_node.solver.getVar(i); + if (!is_integer_type(var.type)) { + continue; } - - if (branch_var_index == -1) { - current_node.lower_bound = current_node.solver.obj_; - current_node.upper_bound = current_node.solver.obj_; - if (current_node.lower_bound > global_lower_bound) { - global_lower_bound = current_node.lower_bound; - incumbent_node = current_node; + if (is_fractional(var.val)) { + if (branch_var_index < 0) { + branch_var_index = i; } } else { - if (current_node.upper_bound >= global_lower_bound) { - const Var& branch_var = current_node.solver.getVar(branch_var_index); - int left_var_bound = branch_var.val; - int right_var_bound = branch_var.val + 1; - - Node left_node = current_node; - left_node.solver.addConstr(branch_var, ConstrOper::LESS_EQUAL, left_var_bound); - list_.push(left_node); - - Node right_node = current_node; - right_node.solver.addConstr(branch_var, ConstrOper::GREATER_EQUAL, right_var_bound); - list_.push(right_node); - } + // Snap near-integer values so later checks / output stay clean + var.val = std::round(var.val); } } + + if (branch_var_index == -1) { + if (!found_integer || is_better(lp_obj, best_obj, sense)) { + best_obj = lp_obj; + found_integer = true; + incumbent_node = current_node; + } + continue; + } + + const Var &branch_var = current_node.solver.getVar(branch_var_index); + const int left_bound = static_cast(std::floor(branch_var.val)); + const int right_bound = left_bound + 1; + + Node left_node = current_node; + left_node.solver.addConstr(branch_var, ConstrOper::LESS_EQUAL, left_bound); + open_nodes.push(std::move(left_node)); + + Node right_node = current_node; + right_node.solver.addConstr(branch_var, ConstrOper::GREATER_EQUAL, right_bound); + open_nodes.push(std::move(right_node)); } + + if (!found_integer) { + return solver.rtn_ = INFEASIBLE; + } + solver.rtn_ = incumbent_node.solver.rtn_; solver.obj_ = incumbent_node.solver.obj_; - for (int i = 0; i < solver.cn; i++) { + for (int i = 0; i < solver.get(IntAttr::NumVars); i++) { solver.getVar(i).val = incumbent_node.solver.getVar(i).val; } return solver.rtn_; } -Var* sv::Model::addVars(int col, VarType type) -{ +Var *sv::Model::addVars(int col, VarType type) { return solver.addVars(col, type); } -void sv::Model::addConstr(const Expr& expr, ConstrOper sense, double rhs) -{ - return solver.addConstr(expr, sense, rhs); +void sv::Model::addConstr(const Expr &expr, ConstrOper sense, double rhs) { + solver.addConstr(expr, sense, rhs); } -void sv::Model::setObjective(Expr obje, int sense) -{ - return solver.setObjective(obje, sense); +void sv::Model::setObjective(Expr obje, int sense) { + solver.setObjective(obje, sense); } -double sv::Model::get(DoubleAttr attr) -{ +double sv::Model::get(DoubleAttr attr) { return solver.get(attr); } -int sv::Model::get(IntAttr attr) -{ +int sv::Model::get(IntAttr attr) { return solver.get(attr); } -double LinSolver::get(DoubleAttr attr) -{ +double LinSolver::get(DoubleAttr attr) { return -sense * obj_; } -int LinSolver::get(IntAttr attr) -{ +int LinSolver::get(IntAttr attr) { switch (attr) { case IntAttr::NumVars: - return cn; + return static_cast(cn); case IntAttr::Status: return rtn_; + default: + return -1; } - return -1; } -double LinSolver::_simplex() -{ +double LinSolver::_simplex() { pair t; - while (1) { + while (true) { rtn_ = _pivot(t); if (rtn_ == OPTIMAL || rtn_ == UNBOUNDED) { break; } _gaussian(t); - } + } return obj_ = ope_table.front().front(); } -rtn LinSolver::feasible_solution() -{ - for (int row = 1; row < bn; row++) { +rtn LinSolver::feasible_solution() { + for (size_t row = 1; row < bn; row++) { ope_table.front().push_back(0); - for (int col = 1; col < bn; col++) { - ope_table.at(row).push_back(col == row ? 1 : 0); + for (size_t col = 1; col < bn; col++) { + ope_table.at(row).push_back(col == row ? 1.0 : 0.0); } } cn = ope_table.front().size(); basic.clear(); + basic.reserve(bn - 1); for (size_t i = 1; i < bn; i++) { - basic.push_back(cn - bn + i); + basic.push_back(static_cast(cn - bn + i)); } - // === 判断初始解是否为可行解 === + // Check whether the initial basic solution is feasible bool initial_feasible = true; - for (int row = 1; row < bn; row++) { + for (size_t row = 1; row < bn; row++) { if (ope_table.at(row).front() < 0) { initial_feasible = false; break; } } - // === 构造初始可行解 === + // Two-phase method when the initial basis is infeasible if (!initial_feasible) { vector coeff = ope_table.front(); - ope_table.front() = vector(cn, .0); + ope_table.front() = vector(cn, 0.0); ope_table.front().push_back(1); - pair t = { -1 ,cn }; + pair t = {static_cast(-1), cn}; - for (int row = 1; row < bn; row++) { + for (size_t row = 1; row < bn; row++) { ope_table.at(row).push_back(-1); - if (t.first == -1 || ope_table.at(row).front() < ope_table.at(t.first).front()) { + if (t.first == static_cast(-1) || + ope_table.at(row).front() < ope_table.at(t.first).front()) { t.first = row; } } @@ -349,29 +369,30 @@ rtn LinSolver::feasible_solution() return rtn_ = INFEASIBLE; } rtn_ = LOADED; - // if the x0 in B, we should pivot it. - auto iter = find(basic.begin(), basic.end(), cn); + + // If artificial variable remains basic, pivot it out + auto iter = find(basic.begin(), basic.end(), static_cast(cn)); if (iter != basic.end()) { - for (int col = 1; col < ope_table.front().size(); col++) { + for (size_t col = 1; col < ope_table.front().size(); col++) { if (fabs(ope_table.front().at(col)) > 1e-10) { - t = make_pair(iter - basic.begin() + 1, col); + t = make_pair(static_cast(iter - basic.begin() + 1), col); _gaussian(t); break; } } } - - for (int row = 0; row < bn; row++) { + + for (size_t row = 0; row < bn; row++) { ope_table.at(row).pop_back(); } - // recover the coefficient line - for (int col = 0; col < cn; col++) { + // Restore original objective row and re-express in current basis + for (size_t col = 0; col < cn; col++) { ope_table.front().at(col) = coeff.at(col); } - for (int row = 1; row <= basic.size(); row++) { - int norm = ope_table.front().at(basic.at(row - 1)); - for (int col = 0; col < cn; col++) { + for (size_t row = 1; row <= basic.size(); row++) { + double norm = ope_table.front().at(basic.at(row - 1)); + for (size_t col = 0; col < cn; col++) { ope_table.front().at(col) -= norm * ope_table.at(row).at(col); } } @@ -379,15 +400,15 @@ rtn LinSolver::feasible_solution() return rtn_; } -rtn LinSolver::_pivot(pair& p) -{ +rtn LinSolver::_pivot(pair &p) { p = make_pair(0, 0); double cmin = DBL_MAX; - vector coef = ope_table.front(); + const vector &coef = ope_table.front(); - // === 非主轴元素中找最小值 === + // Entering variable: most negative reduced cost for (size_t col = 1; col < coef.size(); col++) { - if (cmin > coef.at(col) && find(basic.begin(), basic.end(), col) == basic.end()) { + if (cmin > coef.at(col) && + find(basic.begin(), basic.end(), static_cast(col)) == basic.end()) { cmin = coef.at(col); p.second = col; } @@ -395,51 +416,47 @@ rtn LinSolver::_pivot(pair& p) if (cmin >= 0) { return OPTIMAL; } + double bmin = DBL_MAX; for (size_t row = 1; row < bn; row++) { - double tmp = ope_table.at(row).front() / ope_table.at(row).at(p.second); - if (ope_table.at(row).at(p.second) > 0 && bmin > tmp) { - bmin = tmp; - p.first = row; + const double pivot_col = ope_table.at(row).at(p.second); + if (pivot_col > 0) { + const double tmp = ope_table.at(row).front() / pivot_col; + if (bmin > tmp) { + bmin = tmp; + p.first = row; + } } } - if (abs(bmin - DBL_MAX) < 1e-10) { + if (bmin >= DBL_MAX / 2) { return UNBOUNDED; } - for (auto iter = basic.begin(); iter != basic.end(); iter++) { - if (ope_table.at(p.first).at(*iter) != 0) { - *iter = p.second; - break; - } - } - assert(basic.at(p.first - 1) == p.second); + basic.at(p.first - 1) = static_cast(p.second); return PIVOT; } -void LinSolver::_gaussian(pair p) -{ +void LinSolver::_gaussian(pair p) { size_t x = p.first, y = p.second; - // === 主行归一化 === + // Normalize pivot row double norm = ope_table.at(x).at(y); for (size_t col = 0; col < ope_table.at(x).size(); col++) { ope_table.at(x).at(col) /= norm; } - // === 其余行变换 === + // Eliminate pivot column in other rows for (size_t row = 0; row < bn; row++) { if (row == x) { continue; } if (ope_table.at(row).at(y) != 0) { - double norm = ope_table.at(row).at(y); + double row_norm = ope_table.at(row).at(y); for (size_t col = 0; col < ope_table.at(x).size(); col++) { - ope_table.at(row).at(col) = ope_table.at(row).at(col) - norm * ope_table.at(x).at(col); + ope_table.at(row).at(col) -= row_norm * ope_table.at(x).at(col); } } } - basic.at(x - 1) = y; // 换元 + basic.at(x - 1) = static_cast(y); } -