From a20f2017c024d26c8beb775f6951dba3f3c2b605 Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sat, 30 Mar 2013 21:40:31 +0100
Subject: [PATCH] Version 2.3.0: Add NoShipping to not offer any shipping at
 all; fix shipping costs when Shipping= is omitted

---
 Makefile                                      |   2 +-
 .../en-GB.plg_vmshipment_rules_shipping.ini   |   4 ++--
 ...hipment_rules_shipping_advanced_v2.3.0.zip | Bin 0 -> 20669 bytes
 .../plg_vmshipment_rules_shipping_v2.3.0.zip  | Bin 0 -> 17519 bytes
 rules_shipping.xml                            |   2 +-
 rules_shipping_advanced.php                   |   2 --
 rules_shipping_advanced.xml                   |   2 +-
 rules_shipping_base.php                       |  22 +++++++++++-------
 8 files changed, 19 insertions(+), 15 deletions(-)
 create mode 100644 releases/plg_vmshipment_rules_shipping_advanced_v2.3.0.zip
 create mode 100644 releases/plg_vmshipment_rules_shipping_v2.3.0.zip

diff --git a/Makefile b/Makefile
index 39e4167..b5a8095 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 BASE=rules_shipping
 BASE_ADV=rules_shipping_advanced
 PLUGINTYPE=vmshipment
-VERSION=2.2.2
+VERSION=2.3.0
 
 PLUGINFILES=$(BASE).php $(BASE)_base.php $(BASE).script.php $(BASE).xml index.html
 PLUGINFILES_ADV=$(BASE_ADV).php $(BASE)_base.php $(BASE_ADV).script.php $(BASE_ADV).xml index.html
diff --git a/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini b/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini
index ae6f35a..643576e 100644
--- a/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini
+++ b/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini
@@ -10,8 +10,8 @@ VMSHIPMENT_RULES_ADV_DESC=""
 VMSHIPMENT_RULES_PLUGIN="<b>Shipment based on general rules (weight, products, amount) per country-zones</b>"
 VMSHIPMENT_RULES_PLUGIN_ADV="<b>Shipment based on general rules (weight, products, amount) per country-zones, including arithmetic expression</b>"
 
-VMSHIPMENT_RULES_HELP="<div style='background: #DDDDDD; padding:5px; margin:3px;'><h2>Overview of the Rules Syntax</h2><ul><li>Each line contains one rule consisting of several <b>conditions and assignments in arbitrary order and separated by semicolons</b>. </li><li>The <b>first matching rule is used</b> to calculate the shipping costs.</li><li>All rule parts with <b>comparison operators (&lt;, &lt;=, =&lt;, ==, !=, &lt;&gt;, &gt;=, =&gt;, &gt;)</b> are conditions.</li><li> Supported <b>variables (case-insensitive)</b>: <b><tt>Amount</tt></b>, <b><tt>Weight</tt></b>, <b><tt>ZIP</tt></b>, <b><tt>Products</tt></b> (number of different products), <b><tt>Articles</tt></b> (counted with quantity), <b><tt>Volume</tt></b> (total volume of the order) and <b><tt>MinVolume</tt>, <tt>MinLength</tt>, <tt>MinWidth</tt>, <tt>MinHeight</tt></b> as well as the same variables with <tt>Max</tt> instead of <tt>Min</tt>.</li><li>A condition can consist of multiple chained comparisons.</li><li>All rule parts of the form <b><tt>[VARIABLE]=VALUE</tt> are assignments</b>, with <tt>[VARIABLE]</tt> being one of <b><tt>Name</tt></b> (optional name of the rule, displayed in the cart and invoice), <b><tt>Shipping</tt></b> (shipping cost without tax if the rule matches) and <b><tt>ShippingWithTax</tt></b> (shipping cost including taxes if the rule matches). The <tt>Shipping=</tt> can be left out (<tt>ShippingWithTax=</tt> can not be left out). I.e. a rule part consisting only of a numerical value is understood as net shipping cost without tax.</li></ul><p>EXAMPLE: A rule named &quot;Europe&quot; that sets shipping costs of 4.50 for order amounts from 50 to less than 100, and free shipping from 100€ on would be:</p><blockquote><tt>Name=Europe; 50&lt;=Amount&lt;100; Shipping=4.50<br>Name=Free Shipping; 100&lt;= Amount; 0</tt></blockquote></div>"
-VMSHIPMENT_RULES_HELP_ADV="<div style='background: #DDDDDD; padding:5px; margin:3px;'><h2>Overview of the Rules Syntax</h2><ul><li>Each line contains one rule consisting of several <b>conditions and assignments in arbitrary order and separated by semicolons</b>. </li><li>The <b>first matching rule is used</b> to calculate the shipping costs.</li><li>All rule parts with <b>comparison operators (&lt;, &lt;=, =&lt;, ==, !=, &lt;&gt;, &gt;=, =&gt;, &gt;)</b> are conditions.</li><li> Supported <b>variables (case-insensitive)</b>: <b><tt>Amount</tt></b>, <b><tt>Weight</tt></b>, <b><tt>ZIP</tt></b>, <b><tt>Products</tt></b> (number of different products), <b><tt>Articles</tt></b> (counted with quantity), <b><tt>Volume</tt></b> (total volume of the order) and <b><tt>MinVolume</tt>, <tt>MinLength</tt>, <tt>MinWidth</tt>, <tt>MinHeight</tt></b> as well as the same variables with <tt>Max</tt> instead of <tt>Min</tt>.</li><li>A condition can consist of multiple chained comparisons.</li><li>All rule parts of the form <b><tt>[VARIABLE]=VALUE</tt> are assignments</b>, with <tt>[VARIABLE]</tt> being one of <b><tt>Name</tt></b> (optional name of the rule, displayed in the cart and invoice), <b><tt>Shipping</tt></b> (shipping cost without tax if the rule matches) and <b><tt>ShippingWithTax</tt></b> (shipping cost including taxes if the rule matches). The <tt>Shipping=</tt> can be left out (<tt>ShippingWithTax=</tt> can not be left out). I.e. a rule part consisting only of a numerical value is understood as net shipping cost without tax.</li><li>In the advanced version, all expressions (conditions and shipping costs) may contain <b>arbitrary basic arithmetic expressions (+, -, *, /, %, ^ and parentheses)</b> of the above variables.</li></ul><p>EXAMPLE: A rule named &quot;Europe&quot; that sets shipping costs of 5€ plus 1.50€ per article for order amounts from 50 to less than 100, and free shipping from 100€ on would be:</p><blockquote><tt>Name=Europe; 50&lt;=Amount&lt;100; Shipping=5+1.50*Articles<br>Name=Free Shipping; 100&lt;= Amount; 0</blockquote></div>"
+VMSHIPMENT_RULES_HELP="<div style='background: #DDDDDD; padding:5px; margin:3px;'><h2>Overview of the Rules Syntax</h2><ul><li>Each line contains one rule consisting of several <b>conditions and assignments in arbitrary order and separated by semicolons</b>. </li><li>The <b>first matching rule is used</b> to calculate the shipping costs. If its shipping cost is set to <tt>NoShipping</tt>, then this method will not offer any shipping at all.</li><li>All rule parts with <b>comparison operators (&lt;, &lt;=, =&lt;, ==, !=, &lt;&gt;, &gt;=, =&gt;, &gt;)</b> are conditions.</li><li> Supported <b>variables (case-insensitive)</b>: <b><tt>Amount</tt></b>, <b><tt>Weight</tt></b>, <b><tt>ZIP</tt></b>, <b><tt>Products</tt></b> (number of different products), <b><tt>Articles</tt></b> (counted with quantity), <b><tt>Volume</tt></b> (total volume of the order) and <b><tt>MinVolume</tt>, <tt>MinLength</tt>, <tt>MinWidth</tt>, <tt>MinHeight</tt></b> as well as the same variables with <tt>Max</tt> instead of <tt>Min</tt>.</li><li>A condition can consist of multiple chained comparisons.</li><li>All rule parts of the form <b><tt>[VARIABLE]=VALUE</tt> are assignments</b>, with <tt>[VARIABLE]</tt> being one of <b><tt>Name</tt></b> (optional name of the rule, displayed in the cart and invoice), <b><tt>Shipping</tt></b> (shipping cost without tax if the rule matches) and <b><tt>ShippingWithTax</tt></b> (shipping cost including taxes if the rule matches). The <tt>Shipping=</tt> can be left out (<tt>ShippingWithTax=</tt> can not be left out). I.e. a rule part consisting only of a numerical value is understood as net shipping cost without tax.</li></ul><p>EXAMPLE: A rule named &quot;Europe&quot; that sets shipping costs of 4.50 for order amounts from 50 to less than 100, and free shipping from 100€ on would be:</p><blockquote><tt>Name=Europe; 50&lt;=Amount&lt;100; Shipping=4.50<br>Name=Free Shipping; 100&lt;= Amount; 0</tt></blockquote></div>"
+VMSHIPMENT_RULES_HELP_ADV="<div style='background: #DDDDDD; padding:5px; margin:3px;'><h2>Overview of the Rules Syntax</h2><ul><li>Each line contains one rule consisting of several <b>conditions and assignments in arbitrary order and separated by semicolons</b>. </li><li>The <b>first matching rule is used</b> to calculate the shipping costs. If its shipping cost is set to <tt>NoShipping</tt>, then this method will not offer any shipping at all.</li><li>All rule parts with <b>comparison operators (&lt;, &lt;=, =&lt;, ==, !=, &lt;&gt;, &gt;=, =&gt;, &gt;)</b> are conditions.</li><li> Supported <b>variables (case-insensitive)</b>: <b><tt>Amount</tt></b>, <b><tt>Weight</tt></b>, <b><tt>ZIP</tt></b>, <b><tt>Products</tt></b> (number of different products), <b><tt>Articles</tt></b> (counted with quantity), <b><tt>Volume</tt></b> (total volume of the order) and <b><tt>MinVolume</tt>, <tt>MinLength</tt>, <tt>MinWidth</tt>, <tt>MinHeight</tt></b> as well as the same variables with <tt>Max</tt> instead of <tt>Min</tt>.</li><li>A condition can consist of multiple chained comparisons. In the advanced version, the OR operator is available, too.</li><li>All rule parts of the form <b><tt>[VARIABLE]=VALUE</tt> are assignments</b>, with <tt>[VARIABLE]</tt> being one of <b><tt>Name</tt></b> (optional name of the rule, displayed in the cart and invoice), <b><tt>Shipping</tt></b> (shipping cost without tax if the rule matches) and <b><tt>ShippingWithTax</tt></b> (shipping cost including taxes if the rule matches). The <tt>Shipping=</tt> can be left out (<tt>ShippingWithTax=</tt> can not be left out). I.e. a rule part consisting only of a numerical value is understood as net shipping cost without tax.</li><li>In the advanced version, all expressions (conditions and shipping costs) may contain <b>arbitrary basic arithmetic expressions (+, -, *, /, %, ^ and parentheses)</b> of the above variables.</li></ul><p>EXAMPLE: A rule named &quot;Europe&quot; that sets shipping costs of 5€ plus 1.50€ per article for order amounts from 50 to less than 100, and free shipping from 100€ on would be:</p><blockquote><tt>Name=Europe; 50&lt;=Amount&lt;100; Shipping=5+1.50*Articles<br>Name=Free Shipping; 100&lt;= Amount; 0</blockquote></div>"
 
 VMSHIPMENT_RULES_LENGTH_UNIT="Length Unit"
 VMSHIPMENT_RULES_LENGTH_UNIT_DESC="The length unit, in which the length, width and heights are given, and from which the volume is calculated."
diff --git a/releases/plg_vmshipment_rules_shipping_advanced_v2.3.0.zip b/releases/plg_vmshipment_rules_shipping_advanced_v2.3.0.zip
new file mode 100644
index 0000000000000000000000000000000000000000..a938c487013227e5aa6f4301efeb15288b60aefe
GIT binary patch
literal 20669
zcmWIWW@Zs#U|`^2c(ta^>DKKjEoS@-3~w|T7^E3w7>Y`BQj6n@GcpSbGV{{o6I03(
z^O93j^a?TxLPIzim@9n413|d7f}4Sn<pnbX1DMzvl^gunZQH+|de_IFl4hD#Bp7cl
zmGwDfbgqS^hue6vFR$>_4Y#(5MP7Qv+E#7*^X+%b<-3=PnW@Y^<#&~1<<;7AFF*g9
zGp&E0r<mvBho>V2JmW2LzqdcMZ(shluOs*&`=!kIlREy*nSI;um1u2VbNA=2i!a{3
zGdr?whE7w8=HeKYL_>Zh!^5j~_N2UOjh!gA@XWWoy*%E=wuY~}40cRbn)+GkOVGq4
zk?&fSCcms@c=Sl|gm{va{^WqVXRe+CXALJjWl9pcyvHNeZI1t+YW-PFMUR$NhO=yG
zlDJT!+Za*x)9I0r&qoD&^@v%lg(^?>ii=6~DF-Me-M@Ew%Ka_p{)q9b-1~BFw)aOx
zkIznV4eb2sN7q&wKa)*QT7T!Zo&U^ZCzGYli0`z}eLv@NpG8gS2lGPJ<_y91eLpTP
zo;}lNp_=Wtw{s<Lw=>NM<CyC*Q>5F*|JUAohYuhAXQTD)amhVpvxRe>?yVGhr~fHc
z<6iH*@ArDo?+#cd@;rU{;fpCd{I9Vt&5~9+aYW~6kIuZO{Bc^}kA7uJc4PK_AE>jZ
zS~G9yk>EG%n;W*oEQx&Rx~A1e?1J`3;rCmX9Y3m@BKq9x-ntJ;72a&@O80l_o~UHn
z(6=n{;o(z-UL^;vPR}gh_il){5#}$fn$Ed5GhRe6?mwHhuhy|OA#b_mB-90LySq!G
zaxYIfd&5iE=S}55qYe)z{r<~xma#GuyDzP+J}(vRl)U%y>5u2b)8Fsgua>*1JKU`A
z(VV~2%-)>7!|jyjV6)|-mQ#wk+3N5o+yOVA@MuLPu;2RDtRnZ$L{DjjV9cq83lGbF
zYuHsNmS`M}e0DcA$hu_xMUJ#XH|Mp*P22g&*lecaw)fK?cNX0)Tdw?X{l=-M>ct(k
z=E@&azkYwWyxyIUKYy2}FYde{p8v8*)N@(I#e15c_U9~_)AE_$dos^DjdyoDr(ONa
zzAfarx{SSta=xbQ^}p}l)V$a=_wV+}f6df+uIF4*jSb1seA>}DSJ24Iqwv*b<C;q@
zw!w+o-P@nUU3jk3JAF-{%Ip*0gW|O}aR2V~NMgI@FCN#j<J+R+HH?#PcXV%MJ;WXS
z@@M~|26aQ%^G_7hv?KHnEx8;md5qt~&-l~7mF&%)KluO5%3bno-;!NMCr_T=+4E<*
z`s8_@CpRn23d$4Kvr!L<47RXd)cWMBzNPD?oWvTjGdESDPt0F%_5Jm<_2>WY+W2+p
z#;HpR^>&I)iCGrlp{K7Bb4$H*gT>R-TbYIPtLKZZ4^gUjzwpC3(=#gQZSm)*qqE=C
z3pp*^5Yn(B@#{p<B#DE||1)y3@bCD3>A-H);(!g4rcNo8ieB=~clLotmz7RGeyaIM
zL@_jBTd=CHRBJ>`=8yi_OGLiKZoItf`OU2QUk{U|tsRUq>xGz2>)%K8&N;U4$=wOg
zo89?uZaQVzTdbWact<XGy4#*FW)Abb<ma!>ocT0xc4&6Yi8^m5=g38^Jtrd#nh(Uy
zs_N$}yZmRV=8*>xfBuGsUwFK(s;2pP+WB4oy-WQs|63&&e|h!ZSM%azR~}#g;_Af(
zk@w`IA0NN=<H3zx_D0`bG84|;+V-x0jp+Vc++}4V{fC+N2&ymMz9`b}(Mg*NA%&Hy
zUs9BcE3aPpekNkC<pXu8f-4ORR?6<HSLIN&6>irxdbg{8cjNyc3%mUuN866-_P<XN
z`Ln)6_rT*VtJse&yDog6HIuErEq;mIj04v>k`5X>+?}4dfk(sTLF-w&oo4rTdfa8c
z_|DSz`RspZeT%<-oc?V2xxC`i%g-8To4MuPlGv45UiEhUS0km)Qh|hbi)OLxT-=!`
zJ~bwGBYSku`nLCXPX74w=2oq>js5NdfB$3G->+}eetq=CCE2*1_4Uj4UUr+XJn&to
zLB3NWV^gbSBUhJ>w`kls<)w!w_Y^KFzqbEmnXJ+Otn~Dwew(bM*03F4oxD#@cKx<O
z;|STcY^xt%UB7zv{&nBN%y+N8_ey`Ybb9IK$h&_oG4}4eWi6qzx+AG@;)EsUu^h`o
zcoKrVm-p*xtzDzW@}neirRM7wlCxg8pVN^Hyz@&bWrdObUbj5coZQyWVx1S{Lq1==
zyTg0tInC>zH8`aAWtqiH`oDR$qG~&fma@EL`;_;`4-^FHEENwdYM%J**Q1nahjUg;
zJZ93fGEX&gjZEJkJ?4`>J$mcko^<eYJ@<85$tuBBaZbw`^xi#Yxum>EMVg&2u%+^@
zm9Enj!vzMG&b#yUx7Kc&mL9qKY3IR)PcfPDk6NCd*xL7Op{U2@<}<xqKUN&RY?ZWi
z6R)0@^~&qk*020>oag!NE@_&zK-d4``k#$A=NE|>SKmK#cSCUM2K9SilqT|;^xQ37
zc>Q&0Uy!Oy<4jHSigi;s)5T^V`ku_PMu+d;^RtP|{hvm!*peC;SlDu}slZ{$nv;e8
zl>%E<U2^-kB$kQM{b^{*9rGY_u79h3?&*Hiero-VM>AQh>t1O{T0B;;Pkyg8m*s%R
z{FRaq)&+4ouhs3f3V$59T)XIfU!(R{C4u!{igKi%MlN#GzU3rSawL*P=W(mYV<)}I
ze<l{Z_|jLtVBXg6QcIGj$(3CQt=Kp1xL0*g!^t=i={vhhE~YAMcyM)!u<b<l)058J
zS2%d)Mc1m^o|6o`I!%*}Kd#PF`gY0u@E@*3BexTwvr;6lxCI<*n(*7?UD}Rkx+!7`
zlc#hwPRgnJ!tbY;+Z(v~`0Sg^?>d(^zEatI{AsStrK&B`1#7eZ)%hNX=7>n)?pB`J
z%WCpDZuVc>sgtKn`tWG0X@137lb+4$*;%hDKet~weAn7sz)UlzC3Rte(N2Hs4(9nL
zI}4iEDXQOk;#0=6cYpbj&M1d(*Pa@8Ok(;s$stB>L+QlQ_@#Fze+}exC=ty)_x{C^
z+7D};*nc}#EU-NP$*4tl``ML?k8Au=tIbg6Jvy(o(n4Bbf$ZW}+FM+{#yiiAZ4vHn
zX)~HJYjU67t!$6(Q%e>$-!hYBR#>rV$28_27RuVw1e#YdmTfZe{q^&^a9w@t{u{ik
zQ#-v5y0Z#?onXnGb28{#?^25;QD?$pdmgRa6?50(+{4>~OO^R+y?^|9IW6%EKZByP
z?d9BCY+s%DyBVr4#i*39%$3Lu*3y(;mwDS~Ux;D&m4wWfb6zn_wK^Akt-^i9B8LkV
z-j2<lN`jjo-n(*n=bUpa9v2VVEMlAPGFfwOGlP-K+ZdY(N)P!yh|Ek9Kb3N)WMh)X
zU*&dv)hS7Di+68iTYGD7JjZK6XQmwHKlyc!-@GrIb^pP(tK7FV4!M=x`J@$jXoFbg
zyL%fCnW!&4pz)yU(eY;gtE>9k=j&u~@kyix>@~S{AupnP<33&$)7xhS_PfPTwCR*9
z<w+MgY8TU5bD*rKfA)E$$ANEa&TOtJdc1^b<6C8oWwj;?UOU{Czg!yK`(Y}3-&KbD
z|GmVUu73IcscYSVYc?Jdv-8TzZgDk+F8V83BkH?gU6J_$i_Z-OXSz?_eq+9>c;TF7
ztO5)jP7X`iWy}7nY`VXPK_v5R;_(AV-zuC|F`BX|IrB-s?)zYOf48@LbqZf!o91+T
z&OO<r+p3$y-feeSaruf$z}7V;`~BL=zcDTBQ~Z)PcY^$M4r4#ISvhku76l0DezwZ$
zx@VLecW7Hr#>+Ma-ILKww|svesd0T5HhHyjOzVE_sHYZ{c3K4@+{?>eT&umstrTm&
zBtv4`*+cUCoYiHP_y7GD^X!0)A}ddt)!e<wl7DwkXx(!lDqnA|{JM)4-+xCkeVKWF
z&bRjNli$-HcRze_Yj0J(-JBhdC$BzvVXwt(pL1^SUu0TrD&`VMj9!*GXIp9Yf{*6^
z?jD-_uHw19XQ|lvNA}^zq^~{FpK|6UPv0$>+q+K9YsfBpy!w}MX~H_T(24ci4rs@G
zk`Q;Y+?{pcT4C$L-16cR&i)Uhr*kb?E->fETn@h}vDdbEb!>IGbk<Y%ML6>k`|zcc
zrY-j~UH#_T%4rcV8M1vGcxF{`#c%2QX>jbv-;dg|M)8vO^9y%JvUO-EFG;MKa&Ee0
z!y4xsLD?-PzO8POPnaE733~rh5_49(9lFHuxcWv1w+}xbpVpNONH(69QXTwc<`svH
z;l=LOOfzrJdiMCqWx?A^kNs7Dymy;^!Q!p&c<UpA!uFgLl4kk0R%f$eOWezk&x4j9
zE&03SarvTD|L>vM2lfW;x_QiGbtq5WbpOZw_QFS9Uj$o6J+o^L<9+R3G2z!Y_VlU;
zFH2;cH4fy(ocKR&MP#Gjq}g}hocEtSNAK>%r(3J5>MSMq)oK=B^ZC=%xPMASc6oTu
zi`_i)11E&7V69yDyP&D|#mY>Bg5cT{OLo4h{TaC{`oGLkb@7%ZJ2tNR{^iKBtk-8{
zF7J`<yjERiy!qPv^3c!XPeR{^D(}9wIDD=0*B4Kg|8$O-*K_4waJpu2!tAAL4)@Qz
z<qW=C^{VXhySBBFb?z1u6kFmH<;(JomxNVSl$KUrZH-&_^nm-n{ujIZ7k;b?4(8%r
zsjzw1-Kv(twHmDzy?f)P3kI~EU^chS;c55plV|$X@VCifuUjV{`?EJ2T-ro=R60Bq
z0{+zrXy^)Lc)dt1<=9+y??X({t%#r5ESj9nN|*Rg^_R`M;Owb*ctwB2)}BDQglk>*
zE-uup+IMbmeVUp?orPt6eUWX6x_$pT|9>aNDkU95Pid4UPWmCnRVU~2>do~fzrt!V
zroWJCGcDaCDxWha`AX#L#O2)m`+tY|`dnMSe*dITEAEz+u0HIs;&kUkxeT`%NBx&c
znmJCHx!FyBuK1r|sbq_PT<h(+rsv8&dp^bcMN7L?{lAVA@^Ozn!j4~*628c;#O7M|
zKD4oT>Q{cdeZN}VR?oV!j%zQI^^9Z(X4Cnpxyk#c75G0jQ@W}vq5kC5lmq<MvsdqA
z-Pn@M?bgkAEj-^!ZM)}+pX^l=dA0W0$mgj3n_<_=wEkx6wMA{erZTVH_1|mH9{Il(
zyZ&T8`ImOYCbuwjLrvz2=Ktx=k4xQ4PrMN`J9F*kgDs!x9GBm{x^P-)Nf7U<_1p<3
z&S*D8IzL{rUZ^2q-KV3DFPqNGpIGwDK<#dgK=5bwqT5*?51sz<Fj-E$df}ew55LXl
ztMJ-9cR_HC`6Kh|(;t6+*#7Wm_lD(x)8|TY&D6W<|KgF-_Q?X@BcJY@68g%1-R64F
zfR&r)1WTUSW3>NiQK0z8U)IG%pO!K@{!`{P?LY8qMt$D_^{%%?r*lg;yf(h~s{5Ip
z_C?>DEABR*tNXmdJ$tt4)eHLCFP=NuHtZ2P`|RGHkN*)}@l`A8oaDKU5C4^CVCX7i
zU=YXbiYFx&r^3784X)vVAdJ=x-(yo9f7@eH{o&;=9{xC5cJ7A5i8FGXX9OOrock1I
zaPnU2r_UU#bF-Db`{ZoinaRJfJ6^kS^{ToR(OHd&n`h7Ub-4TW#j00TTULGjb^U10
z#$B&IdkPfJH<ez@|9Ahl>Rz#K;b-i7ZdyFgoW}B)$8GP&8Ot*lf6Xf0`uopMt?F}n
zX$O<eE$-1hR3qh*!xRuK_wfk#ZJm?O^YUUUH5--{CEZF({4jNMi~r{f-Zzx|jP+AA
z{ns%&oXcy<Id<%0jo_zfrYM$+B63S4naw^GPE)sGJ>~Idd-l8~jxrm+HtzT17rXak
zwfWOG$rDm6?Y~Xxkz4+As+6U&UGTPrmWw1GR}@ZXxg2?{>euqL^+&gvo0pqyGvB_A
zcS_EQy_O0V9L{dW!4bTA4Zr8IPsrVy@Z6>&t?<QW`|2NuThtXae!khh{#7Kqi^C45
z30_l*%ua7Qnzy~WxcKr+w@P)tWw9#4pFFS4)jM=fXLkFWyC+k>-@O?qedOfLiwmyX
z?|e}nu)pEt1AC8~DvgqvHYfA;w3Oc{U^_p><oP|>*_GGl#1``HKU!zN>CoJ5<5}!~
zLc2TC?6F7xUg2A5=|4q3oa$rQpZm-;L0@x*K-BrrzGuP=FEeDG*}bsz6W|Z{S}7D$
z9m(+J5$EpC$?G*IcYlkNJNSWliOMR8G}WZogyxS-5&n;DB*jmMWCUNj#Om{=>Yq)=
z1ZVy3$$GP5Wfo3+)W0};(hV7vYj5Yy`}_RogS)>Ky(ahUxlkyQp0aaC!u<3&0U^dE
zic`ZBoc2zP+G{hLQEa+l$6uzZ1F825mKaJMuVhJL(W>%3!CPK>+^$OT#DvX`uWEfO
zRWi!Mn>n-pnegp3k^LAQk<2ywcU4`PVwuC@t4aSi@0#=>zjDHdXYHGtAO600{PD$`
z7oYAvc#`$?2IoKA3Sui2TD_02{eQQ!Qqa%-+*EUm<GuE~CameZcc807F8XcR%}kMd
zjSCp$LYlHwd^S8Vd|zVqB=Sb<&X2)gtP3AKexFcrX)ninr&TH9Ka&L2Gm_-@s(e_N
zkTAVg>EhO#^}Oe9y-Da3%GtbG<=eqdhU3vo+}`!3=P1f;libg?y7B7S&j#EFm>X3a
z{}%3N<q*1H^dQycgMx2!W=qSBQpdo;yJ_n8=1dkka!XE#@9}oY{+b(2QT7YwToo<Z
zq<v_;>Vu+3tM`8_Ja+Bi+=u+nCQMh^kbU!)MW5P15%*oIwI|z1rSDkmp5QRCVE&q)
zKFS%Zf2MG0H*ns#eRpeG`17XE@sW||4<zTj=|5CqrE2(Q<HMh+|EC&GdHDHgcpZCk
z?}7Y~V{CP$Eo}GLY*-TCbcXgau)gs2oAD{9qgd}>k;-z@Xk90UE|2z)k@L<mY?|?R
zW5t~u$tgkezGgV4YdFkn^nGY0GIwIc+knr_TC9p9Ap$qcojv!qRL|Uy5yg5_Tq!tO
zl!x19fqb)I<N1Vgo8&FERvda$H19IKdGY^ue6crotzOIh%UMUSo^9R9@yN?)L(rv+
zLy9qOUJ{Ql&1vJimollxP3mdtU$u!7^iH)sy~Gw6*RC$?-RoPitLawS*ZObY4$3WB
zv-4`wbanCOa`nH?Wkpsg>eJob-#jR)u#%ed<=pS%e<vp{_Wi+i-D=TZt4$mkHEd3t
z8for7|8%K`P7^4w`8?@a_uH_klTOJT$V%JjuOgUm?yti9=|84l;7So`lni~LXd)pN
zShI8I&XpO9x{IAH7DQb;<?^6lJ<ptcgYSo)T}!Jz-u7w9bnU~UT^pBqAOHEGWN(e+
z`A-@K71~SgCbj?F&OY7U`CIkl^Y82OryMktu~?d}<C(4VInVv;x3&PyhL%Zz42s_u
zeCsiLaH(!Vh-bz;A<d3?cDrXL?lSDo*Kj+V@*v<PLyGN}f=NdNe^uW4kTW5%XbXq!
zhdhf_Vml}5B^V0dc(HGKWm~bpJh>ZBgAeR|XHc8qH&IT;jwNJcQj=fh3C-)_hpX1^
z>lB!56`|E4ba_K}Q3KP0mv+w%>MGctR7`i<zv47w#IEUvJvO{Q(t9csW~U19M}GeM
z;l~QqPrGI-Jms(Qu&sD=chh5qmbr7URrqn8SbmW;<BiDCuiMsJ=I>&;y)V8f_uCn<
zmXfAJ?~kd?Rez+vu>7Wqnto*Bq<bopS8g`wkW_g*<-+m_uZsSQ9#bl~zwNDOYQDfV
z_O}AtFIHXs_F=lVpJkR%^1&0e;bO+ef?QM@B9>cDl00bfi1qLZ#izpjK`VS~wl3$p
ze`TiR+mmN*tTms<vFFs0+pW2VC(5+gj;$8FVWx0OUZ~*rlIUwXUTfsm^@iP;b~+=_
zX}i<P;^Nq%l&6|TljOS>E@Sw8XM)|5k57vqpWW~=HTl1tb7tq7xN1Y5IqM}<?y^r@
z(a#eolJp^Y%4r@GwgvY^r(5|8UA}Pam*Vtlms=<InR)BAd40JrClebG^dmMUBk|nj
z^XC@)Wo_MfWRmCsZQ+HYXWk!8Iad>UIM{TL{^=OjOG=5)8REI#Hh*Tm;`H~0#nzf=
zv6_jz0&9XA>)r@-o?+S-G0p9o)+*%%D!n0z#!Mxr8w1oi_@?Y~5%P$AV3k<VAii`a
z^PQOv5lIGYcP31+j!^h<WR|uuTlS=iG%>yx_MtP)8V<~IiL2ny6N<G~6jGgZhiQ|}
zFGtNIQ_cVVn!>|$`9<ArE%$~nxnEP_;|r%fUdSABT}YAbrKK=u!0e@rBF_a3q%?oL
zGC1<M)5e=Qeuq!L+W#YZ2m4PQsM^VJYR;8k%lK6t8NRA~|1<yJ(UUzr;!Ayw9aB3j
z7_BbToFTM1_+v+(QsBCTt=xRac$cj`yVCKwE$^+q|4&?w3%1LhO279f`DahTBcrg;
z!v|(t3oc>X*IT=@V96rJxe;M|8Xo<&?X#-fzNy3|NH3x_E_T7RMJ`;gS7c0o>g@8R
z^gmbF$A`KrO#I%Jl`|fEI6JuX+6Uf#3%y_NfA0x+?6<YIO{+JFXpdx9oMKfT@tD6Y
z^aR(RFE4BV?>YakAmA^vpi<MW886~5-aHmxH17`M<NF=_E4@Mj8pQaLj#nnW`FZKa
z?5ObTpZ(=J*uA|BCg(e3^ZvUoD6nBy-J~NY3#~%g^}WP<+XB`qg<C1SdCGa?-;Z|z
z7Bk!urIrexXg>V-;K>I`6?FzSw%4CeFqS(c=Og{=V8o-zeBN{Yy!ftNHPG4WGBd=4
zq5a9i;NWzp0HZgKKZW$~d3k$e-n+27w%FVvrS(mS%Y_0V-3IoT9!u8w*4#_lZ}jJT
zF>}qc3YUe9PTU*xL?Wc5&f4BE<({$ewAPVTTV`EbU!9Z8{jye~$@%78*@b)j``zW)
zpC3N`@8iLr1tn#5RTVd-``Xy+W#`VB_eENFN$>-K<yA%gW^vuZIzbQbNzI+qzTo)Q
z+9x${zh}IiI`6LGc7u1*zCU<zky-QNuJpOb%`KJ|)>U5FFA=*(e$HH8zk9uYe0{%r
zw`n$bJ=`pF%)i!V-S)tlmJ_czdp=hZ7ruE>^@-55XR(nU*_HDg_?zYaJb2`#8g?Rl
z`kTcz&QJYLUw%C|ZUW1dxEnX(RSwS3UR}73r+AUO4(Az8O_8#cX0y2RlaqLM7h1j-
z{d6x!A&xKb%+WQ|CMHjr+28l*%Y>!`q4Y;<oT~HP)pR$>Mo#cPRedS)q+?;(LUF68
zC5LyjR;EnMn;l#`ukUVfp^MMa`I8bHWi*2VniYk3d@EF>K1zRcoNuG8XZ}r8(r{y_
zL)*tGceY6=<eJF(JlGQQ!;#7J>&>mRGY$98@KX`dH)E1@|4}pXuIbSgpB}ZQs0zNE
z*3YqWmX6unQw%;SProkaFnu@4CVn}$e$c*?T+5besWcQs`u(x^S}H#AZT7rt7vBZE
ztai%PlPf(KsuRb!cH=Xty<JOrWNLn&@eUGCNng8lS*9LWHS14L&$4Ne8jn^*F7(kd
z$(P+5*7dZt<xI({2QDh1SGSxhJ(k!v{oe_rSNkM85?%T<w|+AA_$+%evOkXFn(S7N
ztX%Gu6VI?^cHKU<X3oW?r4fyLr*xm07T0kj)FP?HVQ!SBw$OhM)A*f}^gcFdJg{HE
z@uD}mlf5Qz-#m|OC%@~HduvayA2WX96d3l5O>)-x^`A6<B$Q0*<vS;)#kSvPzhKy@
zd~1OhtZMs}|1hmNx-R$Ri!(llXDB+lKj|xs%Z!QM;<D(RVvpvP-HL9GNw4;*zq}X`
z&FS%#v&SW=?Z7i-!|2G|o%5E*evS2rIqh|u&%=Y!W8us2qE$v4?%A22X-eK4lJg|w
zMVD6Kl&fvmB0nEAuU;dm&e%|yxcco2wglf8d$rEW7lCa}`hw499rh1c<kWRb>-yDY
zZ{J4kugzN$5V$P;$LX2n?n~c@uS$Iz$!*AXA~9mkrS>b)6<;6y5KXiyyV-i1vB>+F
z+MH<ROScj@#8p>qe79=j-r$W3&n@|Ir~1##lgsbrJ^Pro@`J&W@AJAk>i2xnFgT}G
z+AhN!`+g%=X8K!2m2Jm)B5p(!%Kdy*a<b;PuIz)o_m-XI(LJ5x;QH5gTEDvEq_j0t
z>_zhYBpprTe`s{iuw9vcll#G4F7st^Ur){29QkScrUIqx?567cP??DuDIQbrOY#Sw
zJHrrjXz`-=e|7p-99d<3Rru#oThTq6TmEmKcu~fMB`8eyrs_lcls9^7MI)kxcLw;L
z%{v)7{WW{0RDVBH$ovgfifWTwwtK60@2Yk-DXwK@k(?pC<YBIex}0&LO-E3z{-&4b
z_|+a18XVsDZPS%I516*U@eq11_~FBPU*6a&=4Hn}aoqlO$lAtv$+L}BB}@LB98i<?
z$Y<gEvaj31ms!V}(UmXz(~XvMmo7vH{1N08b=6c@wA75h_;=3)0l8CkY_mn<d~V2=
z25nSTYt~$(x^9Z-M}`F*K1S!vxji~QoYxSaY~gx|<DSKSsbe$6xjx5aediQ<lBe@k
z|ERjp!Y9vs1={)_nDu9<Pp{0=j61VH`|pNHTbyns{m!|3rZ8q>+)|5D#qP36A}6P}
z*E|clRPw`X)y^uRjjvwp6rDKz-s9vwX)H%M{;qqp^8xFT(sPOF4J;q-E;^O}F5T1R
z_TF0!x$Em5FT5(A{AXJK=brCf6(KK{?p<<o>r2(l)e)V=8-+cdJ;}<w{l}1NZ@%Z7
zkJ&}8r;cZ=oObn@a>$PmyZzlVZDz~vrG!0UP@8G-XQf}I&y|n`^Ue21<a>QxQlt_U
zb=#;rBJRcP{%3W;S8uM0iD)w~)p=@>ER<W~I=ADhRH^$ZvDiYHG}8wUGyAn_1di}3
zdUvyabuNDVv@dqL(Ze>^%5c|a$)btEr!6MuH7ba4&hJyG=il@!YWvUXPt{+_|LA9y
zUcYtbfG1l}$SR?GI)Mjm`IZTuNf4=ulyHgI!@XZ`aUs)B$rPnX0ZrCu)%WR-c|S}N
znp(ByviHuKbl+%!@ADXLJl!$%_%46;Q>uT$Zm)4xef-RM;x|!$xyI_-t<}4ms()+l
zh~H7Lf5n5kk0N)h_3l`U-m&&S`1exl?^M?Br<XtYceC~PbFO#u=QsTp7k?M8wWGe0
z>z)11g8wU<e*25%JuK4Nz4F$Thg!#vo_l52o|9=KJaf{DG{w8$C8q3TSY!Rf_21gd
zS{{Fr_i#1z{<ptqdB2M#;<~=`lJ9LQ@l~RxNh+U}t~}b!`?D^kJ~(A<EB9vg3EGqQ
zzo-eG{O7x^?T(HAdG+_O+?-pwYRRJxrpkzpcE%~%nzHw=%#CTYnU%JA;`+3IlT}u$
z|Mc3H<r3`oy{GQ&Yl|}*|5or9m0t|C{+_qCeT^Z%(&Ll$FYK%KMa;ImUy*bsy_e@S
zSN5($g~C66oH?L4e@cLd%(ar%WVPx=+%m@|Ysp{x5_(h4XR5d2(Y<@mK9X><zf<*9
z<F~MwL|D9o^PeMYqGtEkD6Tvk{Les0DBJk>iL*IVju%gFJQ?%-*~=8q6aI^>s;#ch
z+;jc2$EFFJBiwD+xlgnlTO^j{Xen5G+VYL}yk+;Mm|u@`-nONFnI2oGF8}OhH&k~!
zwB9wEApeIoXu+!u)6{J)uP9)>w(DABiT)|K&bW-~)mI~{@49}PFwNAWEZW4yU2>l2
zCAY&@G*iw`wD@B>*+{qI_nL2S#f#E~UR2Ia-t5@T+ovh@hs|q+WWM$tU2(a$VjTVg
zQ$LD4{{HwP-;!zarhT*4CmwZqnDo?9<P_^wBgJ;cgTB1{Y)s<Z{E8R&)=XnH<<m$r
zwV9z2<73lu=*xveyAGxDo-R1U^yyjPgjvNbbFVgc8T_5{wk{(lFF9Fk&YjKXp+NyY
zbr!lBR&oDZcTVkdntI1eJ;3`(n3~l0GeuX|vYlz`Z#L-3zfmF9vajN7ulrTQ&o%P@
z<ri$&vtdW#O8y4dsmrPqS2M9ah?|%8@lK6>^yG@j{K@lH^2JU0``zlPZsXQ}u3KIx
zPk(#eKmT-_s#?OH8=T8r>J5)LzxI7)E$n}f=ceA}#jjLLj<RU|{HAR5oJlgrd*XMU
ziQd7t57)DEi!{WXe9rbq&u`M1^0!LjxhLGd?X3;2$#q-DRAk4}YWU-L)izfC%YU@a
zCWt@2p_Y@7eW)z;&^FtLuBnH(s}K359_q7wn3{UXyZX@ishsxG!X<}ob^QOv^t`I8
zk_ffmZmMy&^4P*%!t3>y?)+5xDcSLnO|j#}{l_dCv?BIA*84EEv1?+}q`I)<@u^OX
zuh}(!s=u2*^@gVM%K4EA#w;7B^elK_SCG9>qA=0@QTwF%)f$nPS7onLjFr-RaEdG1
zY2lSQX@a$fFIFeq*V&i2YH{v)BOT{C(RU{9)IOdt&!Rig>bB}W?X#AT&i$C99(=Cr
z-=wme7iXzf-n@CrX77u4EunHB*NCj>xz^ug7nuK8T*IK_;m-AaaYqgNlx<AsK0J}v
zZ+L$F$Avi;waPR8{tM`ywr6K~eE+mPjo%9<UkjCK|5_;VY1+r@aWb6&{{pTb;(u{j
z>*gV0>8*7>)35QrSa_)T8>e;W*XIUId$vvAx;DG_nC(1?_?^z*%EGr8Je)h(AZN2l
z+OxSfpWi9p3s5S`@^y@wkn`%R$l8$9tx~d~VcW}=Gj4m9e2w>zaad!f3}^D$H?h&h
zX6s)r+j?s1p-bGyF4eA{dMWzla)b5152-n(l{RY1)!lh6e`Kz~*218T#X&dME!2zE
zbXmE_p5>*j_=Wi&KHZQ_5W6dqyz83Yx`~PFC%#wRXC!`N{c+W>%S-JX9`0ePmWq8)
zYLS)6<y@NSW|F}Fl-=~7nsw0Cy-L4Vi)?INDE4XU=Slv1R|n_c`(#k_;G9To&Z~uc
zx~+p%_nhx(I`iyalX;%rtUW@CH!a)eTIc`XI(=I&cZI9>!hkt<oi0B~*uP6~nfC6l
zQIBSuZI`RFTYX1(h5jx<rl|0kpM5?1qL=SyHn2GI-bgX=Y5o%rRlWlLviM1hBR82W
z_ix=Q`IY&><WBLHA8*&0y*#pGuI}1hHP+D*-!hM^IK{SszvN>^x%tNfnGZ!(w|r1r
zb6sk|{OBCMk5~6x<A@XPdbU&J`&{`L&HJ0G-&|+WVZ9zTsmnHMPj!XJ-=1|&JWA7B
zf2!S6su112UGz<Id57_(aOS_wzPF#~Y9IUXJ+)l!d+BoCr(5_t{S0DWG1Z18t~hqp
z!gEvgCVlSZ*~#<WwtVL=I`RBN%hN-5<ZK@vOaI6_J2@im#QO7z-{+R|S~JPUvN!Ls
zS$EKSp|R2Jmb(sFKG99TUS_;LpOmod@UI)`hc2-8<mKnzWXg%!C33gTN4jAVhw$Bb
zN`F`$E&E{MCse{#F)?B1*#}$HL@wk#oZ?fS^dnwH_UJRa`3akSX6IhozAfpa<OYuL
z_cM<4ypb2{UOU-QQBPUz(w}OksnNctXU@*#axHK8^~Syb)UhQV31^q*%+I~KJwcmS
z^OV(HnQM{DJ%3(J)}L`%zd>uUjA2rUu%-UgU>Tu@uC=l$C;6}R%qv;Bd&j}GVGedN
z>A@SHZFx6a-s0-Bh`4?G4jv2t&8^_Sw;@-0`p4Gk#x|y5@$V<d&&rTqz3QX4ceA(e
z^rZeDv*vlsdl43yb?1NIk?E(8q-O=Bo-+t`W&F8g-&?*9Y*LM`(sSqT39{CIzHf)h
zhmSLI%gwB#t$WfR^R+zL*uHn~vFYI__I1o#e#Ke7VrAD)rmXUb(t4YNymFuJWvE`e
zQn;U2|KQw5dY>0sWN>}lCYoDl9}`+;_x1iX`x#39Hb-^mT$-Zv_h{tmZ@DJB%jfsK
ziJhOLS^jf&*Pi#ux*lHB9yV!Te0t@_C9SFhZJb-HgKhglm)T6u532vpbl>sGOpp6f
z7X10M)QV;Am-Q|)s8s%>^tt-WL6@u5@z=j4ZN8Eww%ql%Xu<E*j~}l4cE2d#TiV5F
z{l%}-G=JUx`el3Um+jdv^X)tTbyxk;kNFaR<x>4em0#9hzm&&(DbITO{!e}J@msfD
zgnq}=9aU?}3%az$@s)F~*>Z-5e6g9U15UAPgx<>Yc8Pn%cFObR-*203zxAZc$9D8x
z=A7~_Ip_T0$H#k)?-u#HHtAP%<(KVTFY|R>>vzxiS0?xOt<$gD-WTs{F55rZy?*(G
zf9Ha}ly|>;|Lo#@-6i{HFU#k9a_n=4=FZ$!yFX8tUaI~vefHik_UA>*qWtczy1(GT
zZ?hd&H*PB0H(PGE&R(mADRDO^Pn*4NLu}KjDce?;uc~?FvZVIhtJbW*DW9fl&FNk7
z)o8EBr><Grss0g#GuCCz(|+Q#e`}f6(T|Crb-It~PTW0t<;*|canFNKUlN=olk_+A
z%l3EEOBltKdGnuniqy~VT^3%bdxzgr!%AIdR@bbv0sAY(tT(8gX`d;+Ip_5UNs%WS
zW|l3g?&lwDJ9zPfPgz>{oJqSM%6K|2et!Al7rxJ|4wWx&diyBIaGh?czILk6=SbqW
zPijZK))#c9+3#o&tGjtV>B!;4fCA1VJ0zwY_0|;CG1}NCF;TllG@gH7-+{e<It}>z
z>L&%fI994_Q`_9>Y7qNor)T)bcOT9lUi`iN`SQE}UcdXy>}8s?>t5N;zSjlG(~mo*
z_59s<>wu2foR!)KfACBW-pjbJ{bQu&Ke_Oyz0!7U7ZRBw3=fOUQ}MJYtZEXBK2r4H
zey^(RkAw30FKgxhEz&nB{JEUj%gfK*`?=bq!&g%azVh<ViQD;V!PaFe6F7f3L{@N~
zd*CW_hsRLVtl$U3n<|a&lbK0H-t3DRo^j-zNlfQh_&nhP_cs@@8H`i4toHXdZhvpb
zztGo5wau={uCwrirkbb>+fK`aX~MsbuglM|agcV?%W?nVZ7=)F@Oz2uOrerk!}H2^
zoYr&a-ai(&<D+5Z>aB}iuSAx-*nT%M<bhJu7V(RVg4?f4s~NZP7*1f{X&jcUC%CZa
znd7|cm79;cgf}?PuXwJ1;oxB}jeXfHuh+U2+<E`E?%%f`55AuKdHUYL*XGalcO6%M
z|I609BRQ8N)wU~Y-;ayN!JH}=6K^c#;eNFJop)Z{J*(!rrg@(}Jmb(g$mDA<{rtHv
zIz>CyZh!DCM(T<DBNYio_6H#c*8FW**3{bQe&N)ITel`IlS(z+ICI*PTQf3(e;j!m
z8M#$?%gZ~Q+E%Pl_oAP+&YOGk;SSNwoV<q%bEN~m9lL+#m#EYG7dzb9Z#!G3t=*h-
za{D5S@VRXtw_mNfZ*kku;_u}qL+zeF=WBG78)Ll8S1Wdwxc%)eseGuSZ*d~v`jHj!
z_gcSMPPlj7`h3hf={F*`ZZ6OhWX<JrTF>=cvh_M!uDHR3DU7d|%YHEZaJFuN$@~Ua
zhUM>+k4$b>`}85@f=i%YL<kd`QL%scvdP^`gPN8;PVW4)vE<Z-C*=w18ZQs-7wn6y
z6zOdjHd*NQ@yJ7ldEez%TI#SYJn*E*CU}Z;pI$5X><!jz!CM7{pY5M{=}=8rz)IoT
zn=9u&ODvvq$A#gDr^w9WJwnD0PE~$7?bFjf?{v^4`^iyxyf16dyllU!$DZ#u<EsCy
zS{H-QH>aLw{^d7u^PGf7e6tIUXWaMQDN`q$&UMIjQ=byshAAFf|IBW_VEtBZ&+B<#
z-ei3FRV&vu>7W1iSG5UEJ-haWy1l-t@Mm57j=%nfGUbLR-Q5y4g{@z)+o{q0*_4T0
z^OhuE=l`A=k@l;*>C2hzA}fAa>|_1>P2J%}>Sx6TXZOCh;5cmg{ISXE1K}StEaVos
zR(uQ>Fq?f=;OuR!n2=UqUZokm3J>hs5;sJ!yz&&)nQ`^1gXkmy?^lgq#jZFk*`mQ8
zyP(ze%#jVf8{(B8mNrMZ-Ss%X%;552{+XB3x$K$$1bsVF{i$LGr`OV!TZeCN_lob=
zydAhw&^F1qr{rl#TJom|i;kpa4i9H<sr(orF|8-p&g#vcd=|Ci*4q-pp2#<{ZEV<o
z(=`9=ABNX$>{|rdBPJd>?Bym=t>L7)g-vD4bJ5B$uX`Q(>6*u;Fda>CTlngVMsQd0
z%Z8<fcBieZrdo9;UcJ?|H?VA)y}jV}uex`3%;<X}d^O+*-!<lCr%IklYbxy6vW&0q
z7h{(H_0J|@H$LyEeX_;y-_e!k47@e-7w--ax7~C1@N_%b3IUC;e$M}rLlUdRgJk_K
zTyW5Dc6wK{SUP}7;<1qbqGL-hnwhbRT-st7p0;%9+4VxZR~<?Cq^o#;-^VSLU9ac%
zMhmyI-%Po@!|P7Kmax>gCnZZ}3E6vfUwF2tq++%I>RU@5SF!pthp)^@UG;jW!)t!#
zwNIJW+VX6f$i3yG!G*~&3)K0UYfrKM3SoJ2b82Jjl`@%WMu|7=YZ+F_t2c<hRW1E<
z^2On*&0X4l9_wcoGiABzZ(nVixLSno@j_3T)H4m7Cqm4Wq)L<z3E4A#uMcj~tepL=
z`t3$-=?784Y}59CeUq(HfA!e8nId)4NpB`B3Olr79$WhliOn;e9%~*KKPL6^>E7sX
z%fD~2%)7cIdd+bWUyTUutj5+Jap~#r?{M!uvcBr&)D4f6*KWUj+Cb&9{@k+@Hr4d%
z8<_g8-=H=-{b=9IW8PPbHG4S&O0W2D<%(U#V_bjh&U2}UA*{0Yu?Z!=GrfW{^}25;
z9=0+)%5<yeyYr@2_9CUj3+Kt0_y}G*W4%-G@rx2sx1QartRCB*-Ei#4wX)n-wIZSF
z!8=!9o4NU={Z+diGQPrGA#!(Yez7A~6C@RyImH}nVZP49z|h0Rz@UV=ngG7Azc{%l
zv!DdNu;4}izkuC#VS#813*Lst=HD_9seK+EV`$>Ewdotz>uuXM@SAk@Ey~Sb*_q$5
z`pCCG2fKFt`yQ*_81{F;+-sS&5poCiZF_I~{KvB=SEc8^WIG<>@g&e%u76)I-)-3d
zwjBpn*t)*%@sKG>@NBxa&AQo5`Q*&43qBv6{>Vajm&40tcJ9*cGsTJo-+xw}%=xMR
zlGU{58GXXaTe9bvH_W?t&hIC`b-{{^_K%&x%lOuY-^)sia6J6cF8$U*&EmkI2C>yj
z44Ziz&-xn{CS1t!QhR3U<n^O>`lJO7r(0N~r>+nBF10t#@>1QrZk8Z@Vf8637JhmU
zUCdvtJ3Wb|pxHg)WMW^4RO3m}9aGhEG+&Ap-FMYH;jOSRbxOI*+ibN-YwVa=Y?7mr
zPbv#doo2r`rhmtV&ZtG5uN|Jh&)&W=;X<V{<1??PCo&9-=Y8_rurFuI?=9EZF30E?
ziHBZ^zjNdl!`?`#6@RAxuG=}aw0}W)z)Gd_+fM#rDcRxMBK2#U`EHxAnIW1E`~gN@
zP76xji96*@i>l$PKA-rfk9Bjz*WcVFhnqb`j_kg(>G!Qgzu#P3vuNA(If3VGyOV8-
zJ+^dOT__4|I&!yp`Uhp_PyL%_eqRuIH7BUK_<&6F#kLKaXRob0JMC&(^jq)HbDrt9
zw&~=&J$Lq7X~cbRpYTPq9oH6I*c!F>#x-8imFjoc%lGh$zRR5(Aa4`Tf2dfCYi&>W
zg4$If6F28+y-*9gmKex)`-0?wtITT!mhP62e|z5U$mNqMY_Sq@m;EPybn<X)JF=pF
z*6f0FPY!KnjdKflx6giu+1pFU&H28sKC#|s4NvUOFGpp3r#~psEG#Y%ZTC==+OMqh
z*KS^5p!C!eR<bJ=&$-q8WyPZY^No++6_n)u65#s~q4KJ(Fg5)8$G5$@|2r?<&5MyX
z*q<63tn;EcR9bvTf>C`!{Na~RIMRNz&vz?ulG`S7tWsx2;m2F4j|vu+S6n`su$wj3
zM6Zq!k!6fl);ZOE-8tt8GXsN_1pd7+6}dU!y)gA|;ejBGmRGLM%*}sfA<$sIJ?MY)
zQ~kY{V>$I(7X?oW-JYsxH7!i{&E4hQdpc+TFw5U0oALendRcWv&6JaC!*($QC7tg{
zKla&&hw1NK?+4AM%X(ZEGFH#kW3kwx+}^T|G5j>YcrwSmnd!@|I3?Zdj+SvS*7t5?
zOtvrd<Y@F>tYY@SDnYK3S*D1C>CD~}h6zHuMJy$_!X5T}5n#RX=gY^JdEY)1Zi<NN
zU;XpR$zA*YF3Dc0WxQF_Ev99+tIX`bdHDqw-^Q05-xU^^a!f;T<BFdho-bVYG5>QZ
z`p~m-UFxc?hh4vx9k2Y;zAV>l_PObIb|t$z?sK~JWTneTZPj(h&(5x4soVKe^u(Gv
z_TNo;;VF7GNslKa7XLC}e|<22*EDXU+OX)&_a#eq?V9Fqyta9!ucuD=-t9%#-adKh
zcKuY^%~R=*lGW7IUwT{<*GOSo(isprDO_hl^ohvD7mo3nWQ)wb(Os%r9{llV*~#=H
zAMA<)RegNrTl1P?bhdZ}TuPKb{Vq{8b{D_y{f<>>&l(w1QxC*21*iYyDNw1BY!|=$
z{en+^RMp!f`?7PZudcdn$l0kd)$;esc{jChe_Ur4^+tEP#<HUSTT`ZVuBtfs=S|4I
zV0FVq8VL-Remy(V9e6DpJI-6U+ALZW-)zB^`ta$6DB)AWG76`*%5bpEihS-}Dsp+-
z?`v5`Yp4EyVh~y`+OB!5WQJ_w>j&{qE1NSk_N*`smHu_qef~!N#^(8fkBT4HJU6VF
zv3}X+)*7kvjs4eei2G{h@9o+z{L?^U!wY`<B4xI2pG$h}3cP6tf_nC=ZGL(8(ypEH
zy3_iN1@r3c_trOMr5}C0q=d;NVxFAzZaa>n+cLVs1B--C_+6PXL#R;yt83x8_sbS&
zv212!kt^H~+EG1ILFBJmdj9q9X)1<wg3}%`b29u%`rWCl^MB*2gb+pZh<TgBgoO63
zT_mI>sT`j=<DHmnPRM<q4N+&N6=fdYG%al9qjzaK=bWck=Np9``afmkt6e`+3}f%f
zdK4conSGnz<k#Jle+zE?VV4zo`YQ7C>+h3){*+r+Hl-!zTTFiR5+}7^O`ZNXuB@qv
zFkKZP_%~qhwvcR(qAy8;%cm?5IPoN_X!Y5Q%D>+i#<X;vO7dTM$#}zwrfzrk&U_Dn
z3mJ!bESe7V)fh^Y@1N{cWjm#1SKeidj(^ssZ?(Vt{uZ3@Zo6#le$f}d-P`IeF#KKc
z_67S|2YU;nFVlH1#BY=Ro2q>wUQY5?BJ-ES+ZM}jWBU8y#D#vT1@c>E|E>^y;qKn{
zZx!RO)!P>D&tm<xTG`n?uc7Wv*_X#*3*`Uvzj*3D@hE><`tn`V{&Fj%-Ddz599#?_
zaCfSX6NrXkE(RHf%)FG;3cZXHXgM)y;m3e^zTxO~D##4TM!dgk>YUgF|I`a}FffG5
zFfiCN$S~w2=B1Y=rl;zs=IOdSK}fxVob>pz+~SPPg51=+l6YL3^)mA^!37k^QX2;h
zi{D1(=HGS``WLt0f8rx&;oVbJZ+G54Fo{QlFPVF)hNFI2b^Eo5iQ1WhS<|2Dsjim)
zUHxnIyXkk%=xKVH$}ZijT_7)Wz-*`f`7`HiJ|FUx&D)(`a8}hng5~hej%3Aj0r!_a
zC-nEPI6SrMdgqL@yfSgJjC1DBnYUN2K=HX2*TZTz{@{5b3q@TMu4j7ecy@A9d+4qE
zf{fE=9lkT;$D*+4wP9Ch`mENPc~!}LY4&D|Rp-tsHD%Yw?0#3CF@HTzJ2$uXl7^KX
zJJ?QEa=0CAX-?B%oYD62#o>?97RPu$th@gAQ}^w6AC}#HU-j=rox!_`!_N*r3z=-n
z6Le_iDwaIgq@a7Lot71QUjEx_z9&m=%GoXV?wj#PJ)CrsLG*|AjgEi^)6aaje*Ajd
zeVYs)J<hs=OB*>aYxsK3NL}Z(X2W4o_1WPHejzj1+`=1lL$uBc9<ga`kemGV<9e^6
zyDNP4PG2c}bZ6(k<4W2ub}M)}8wq%~%+%i@$oQdM!g5jTq?vxIQFklm+PxC)Qq9=h
zSMm933#)uO=b?7-5B=Z2#mgp%3H>@+`6r;A)qBEL@%0~nUQJD|E4vx3B*+@yIIC&q
z=QGZSx0<|J7<ibq*JM|Y%cD!l2W6BLEnoFdcFMA`*si`zP<P8hV}+h)-q}1`MEqI~
zJ<v2U@Qk^Vq;|4Is=xR7T#m^bQh2pEFB)ud`8-4Q%!0^?db9Lh7AW2E3tQpD%zQ}8
z*vVJ0PD?2FgOA#b$vLaLFHBezp22+7@xUU5UV#hq{GP|~OflQV^;VPPN^1HH0Tc5r
zI}^_=U0=jxp7kS2QKoZ$f#|NRbxskSJq{~*=GA8TZ`5O$$tdP}wfB)3`-E8)ULt#(
z+O4g13mh_*OmgZnSS+;U;^`Atv>o=(7R}hTUCnM^#;%LgjjioZKQqsF|Mo#=W8cX)
z@hcb(oAiY`skxo>7CEgpZ7buZpAvt&B-y{~>}=h+z%`|PTIz<ajJ@HXK3bptdi?SK
zobU4d-!?bgICEg3kGSv_sZVMmDfV5fZSwleq@y|AT#sxwzh&@f;pT_>nv>mTlx}<+
z=K8WJf35i`1<mPY7U{d6-kqo#w{5NVlWXU=Qj%r$($n@?m#H7J=ezqxs(I4;uEnQ6
zu3swee6jWD-0zv{N2UH9U2vgo^Mos>1>XJ;tLK`ov^7<(a!cYwH@71qy~RC#CO(c@
ze^nTbtrOhho{0Upo|}CkZ}000d(-^rxf`FGD4XTBuK)b%8N*Sz?Nx_z^(I`qAi3^*
z*`0++RxDL6n-0k@iDd0u@VH~`M-Hc34;f0g`Uw@S+@K;BcdyfzeUJ2+C5yZaXWeA(
zaO&`uih2LTj(zuG+r?*8Q)jpya|`*BESV>o(|5}$*Xr_w>l-ZGYr5i`kMen|<m)co
zvuUeL;qA~k)-a1g_1~v5e7B`EBpwwO6nGptW!DysiEnOcq|RpQ)O_a|oLaLo@Lj+D
zUiqlIb;l2f9rjf1Z~gFTddSRO)755dyki{2_*wSZIs23l@6F~{KMP0y+#HjCne!V{
zXB5M^gl$JBEHF6eJb&JtkTuE6IPZJiD$_mp_xJYuD_^V&>EgZC5^s|AF*R9e<pbrF
z2hDS`t)9N>$e+BzJMl}0!dKtqODb2TCLekG(?RL;N~_Mz)dzFe9rpC=)~z&Mb8u-d
z^VAn>ax3&MpHKa@)5m`LOaEz^8M~W~f9hA~3H-&ep``6zg0pp!eYBC_#4d}~SBg99
z^*+`wJo5Pb<T;0@?D(qawK9FX-<xGGl}*lAt+z^fzbNlPxl!HaX?6FMUYUzptUGXB
zbVcZc)m(paHh#R};bdYgb<0X)G5_opPs0lS@%Emw+$vr;CClRIz61LLb{5Qh`+rNb
z<^Q&lzg3g#{<|0lUpqdf#7Or1e!07M`u~1gQTgDKPR~+}y?bv)&A$66V1Y|saM$b?
zmzcwf8`pN-JQJ|)pik~vv*+*T^#onw$)0njxAU3yw^UcA%Ke%0hq8A53g5fYUTVwU
zhc9cFe?9m5M)jOWW?H)^ZR9=rGI+a#bkF9!66w{3aqo{->=l1}Hm=9K+VI@>q&e@8
z{wUKww!PYL-|g;?cjJ1tR~z1YcQivT=H}O?*Z%8Hci27=<nLLX@YC)T3#;dHt*$Ft
z@2fQ*ra1afKd{42;Zjh0_GkO}BWbZWuSmV!6()9k#uve9MxWgLw)z|le9g{d{_Vq&
z7`grkt=Q-_x;qM{AM3BmUsZiYBmLy{wxnedVXWR$PvlKq%Rg_<|0k^ad%xZO_jT|6
zS5@!oZr$4v6sGOG=ku-W<}+qinVIfR+x{h~(jY57^696T$kVf9PkEMA@4Vl>Sl4vj
z1+%AJ{eR#8y*Iahe!2JA=8b<eu6pHViS7C2wO=W5o6AM-nFnN+U;oawHZVWnK~B^G
z8TaQ=wL%;2OY!XeomXw4viZ^M=jQx-R2&x=_`dm{VX)@+kL?=g#NIGf8BV{+6h1lk
z*wo1TMoal`iu-qOS@iDjy%+yhU6!tTZy%nO?S8N8m!yb<OV_(Q$y(i>Tj~PevG(7(
zb?t=n#(nnhs+!G=&Q5+8t)jT8_)XhdMq^WpuK{OL_L`NkFMQ;eWOg|B&r{#&**oJ7
zJZv|4y-i=|PT)*gvs*m%Ukusy9&GsY((YbkzI1YQx8wcgm)x{&^b2P_sQi)cTBq0l
zV_Kn{rt`=Bis6|@>?ci^H4=a3x3WpW_g^%pZpw$P`RQ)9Z@%SeKHk1<oz99(h1G^$
zdql29wbX2Xx@A#}nQ~I?KFPPwg@RTF)aX`-1U;YYZn^c*jDLX+b$kAtJG|}FyN3Tr
z9U)L#WOMNG7hf3|7+M$^7@R3=ixgKD>mj#C5{-h<8$wejob_vV5OMqN`-?9=;w4kS
zof&4a3P-b8au#gJT@aHnsZhb#+4FwffhDtE9J}kguln5INM&x>Bev?BPl!(Skh)gt
zbLB-vyz$1EH4nGmb=|b<;*O7bjL+ZQtL*6PT=rD;-lvr-JfaFLkKb9Y;5pGIIMcW0
zfS-!U!i&42Z+<i23Dd1wJ$38Z{Yt6VWw%THJ-D$usCqlUnqHP^qG|TbgcTC%td5T-
z?Q(St_-Vno)2XV$Og^!XVcxyNPnEbQPrqLK!o59t4qM$O!*$`J(|<;^u9|vc#ueMv
zomY<Kzu56rI6wK%)E&2Tl6O3{6kk4H{&#z|NzHG2q!4eJRO)1(-1grK)b(U%U=U%D
zVMxtM1-0;s^^3A|5|dJM^kC;NxI20W?!g?N=?#s}zw9GWTejp+yI|Lb=%wex_4JpC
zGs!b~trQTca9DBc#^hTio3r1pn;q8i|J<2(YQ2q0pOW6ci8(jNa^4&Ht)<p7K58HK
z9Q!0Rhb?5AF~_<*9UZAohx4J%?yhDm&DR>^etd5g^p43awv-9kks%TmS@kEc?Axn9
zH{TrYE@9u&xawfe^OFS*u4U!z%r{ykJq+C~R|bY;FsSMU?li2t71kxa#^KSSx12X)
z0*)Ep2-CQ_f;+w_G`nd_mR9)lf@2ci3lsV-L~_LhICd}1-qJMTUX#KP4ORP}QtMZC
z2>H#HE~t1bajE6u)Sw9N<N8c<zUTW%sO+>3xw^L2;)k7#%D$;7;)?`DJ|1ApuhBXs
zwAMFjv25Z&t%&t4o<gsAN)NHEnz<pf<lMmmhLt<N>{&8zP0GcU7mhQ<Mjm&%*)jLH
z!7iaqi=Y3Ucu91=_u4rZFFn7tFoSJokCQk1gvRf;tws7?owsf`^Zu)P_65hG*9Z5S
z?7yw+|9)vePRz`m#fbqErY@hY!WNq@vgG$Z&Sh3ADh@KU*$pbIW;{EdE)py9JTjxX
z=)Hf<6~*uK{yg|+t};2{-lEl|M{k*!a8Kg#{ZplR{nSUlgP$|CJti>-RIn*^$XpL*
zvPfOExMKU_dVZb@34eb-@&7Nj)3&?rWW{D)i%V>WBnp`gZX298yz*SWYRv}I2reNp
z<=J*8mVZ2CwkqYs<xG=}$8P26%@#5%;u1-_edNxomHl%~Ud~?palNW*_oM$2^Cqut
zd8lvvU0TI+pXuo^>FJKYd|xjWv6NcutM}D4ptIb{?xMJ>qSif8L5IL22QNLZxg9&N
zPtl@&-d_9K+FwOHFW=@$P2*Z=lXN$0#rlMO{>>ilj&te@`Q|5lS$ARDv;2Ga7G}=u
z=ACykMN?1kk5H`Ql}B8T41#w;5<h-zY?;3Jt2g7m`RWtj@V|)ozFgkl??9H&#DX}_
z@ZLgMz1D?`XIyq$a&)D&JJ;$8>r1;nD{Q;+>bk~`scP~!b*Jju@I^hJTN3~8w^ziD
zQ&nDjy9NJCzLEXqTe56xiSKOIJt~st4@&&1x^?ZM#TF6E-pb|spY2UPe0T1)`R^Og
zKi~M}4gdZ;k9RlaD|hQ(+HC*rn?=*wy<+dpf4@BLkLZ;>Dkyg<=PG$y&ceVjmy>}(
z5;<R%<>sX3rI%!s=4B!VPk*fN4cv#BIhTgMExP3<@|V}YaB`y7hk$}h{|@;{u_Z@~
z7%<N;dweoO>}At7kKL!<aUCl8<51hTFXH_=mK&2(ZmoREKW+E!=Xd&x*Xz}ve6&XD
zVHbDLt2l!f|L?u8<ek8!)c5t6>(<(`FxKDP@<w8LH>9+=*ZK4*FY7UWT@(54fXd11
zF&Pc=3+E?v9m*(gd8(#%g4O%qKkq`8_|3g;7h5!o1W&6p#m|gg6R`6$r?_-S?@6n-
z-}1I+=gKB~_2@RTW@~KT`{?xzhxa>Hwewa~*ZniTxZk$^Gn-%EA(_ZqO?i_VtXDZM
zblZA#MW|4lhKb$NnC?BQS9j%h3dPL)X5}5V(NlPb<o)gWYKPS_TqJ(&{a0}<|E7)5
zC1J01iA!I!Ow-<+%oT0We{!4a(w!m`HrXD@>E7V7B;V+fcAsF%&P$fUdLGILk7WFO
zz{aXI?SM-Br1b_me{z|G1r2<UUUK`Gn#a*7yp?0JjgxQb7K<ZN3m-+NS$sSx`ew<k
z42|YK1@SF^^+QyrED2uK(aoi0Toijcrggai|At*B-YDLgC11M0ZJC+psdqb4S~xG?
z`ZYb;e%kNlKWA^)8#>|X%%e8NuY(f4{nLAvnDahU!e>U3<}4>$W6phyvZv>iY<2Mx
zd?4<u7iq5X!%_3>Ax_VQsY`R5)mlux`Dq;OT3_tyH#6d7O>WZk`Aza}J`?VUI=(N@
zxnC5>_;<_g37UR&`}XzJSMB!|7AY|nzY|e=;KRD=r~UbQx3~QKwJ7ST_KN*Qnj9av
zLj$hwb-h)5C2nybYn4ddxt)i8C0v?&pY8JQ-IiM(WV!vf5nCE_W0$e=)N+${qq9pk
zto?pQY);jSlzzjLEA0IFql#Xyx&C8Y^X7=O>pMAkQ-kYopFXPbBChw(M*G?RyFc%K
z`TgYzkDIR;%2IS)3N<b($?np*7cAE8<hI=R$L3cu1;MB6(%TO*H;EK(s7*-hhzd7S
z<!!s7a=ceJcxu;M*^PR+x!*m@R<MdO-)k)YbYQmz2Y=jQE?<f1bH2{<m>qC=hQ%bc
zKLNr<i}cn8#`R9>WX_pzc`BFZ(^*q=pRDsd^=KXEjZB^!E0d4@(z!dg&*}E6!}s&n
z>N~IMm@9aN*<i=q{<gV(4r|x*ZaQ%<cF8pk*2ujtrq6xdWq8sfQ7cm_BGi6|;it}9
zQOnLfh_~eS3_l#Cc-!K&e9q~T6%}b26>BShta7{%@5!>JL)WnLuxr%M{jWA0{-)67
z^>pIDtW?K&PcO^WZrHBzyX^1DYaQp*c3W&%D}Ld1@6*nO)jpcr)>kX@-`m@MaL$#K
z;IQvi<%<&@`al2vH?Z7_|K0I_HWKCTe-obEl$ibC>x*;c^Zs*OwNC1d>oK)Ts@+qi
zdF}YSFRvQPZ0j{|nfk6^o@HOBIm`atT`QC24O3M#C$+tfpFS<FG2r%tdra52>6|>R
zr!4x!(P>l750|I*W}bJotG1{b-;Rj89Gf>S{N?4ZF9S=(4s5+-+!4vRaoc)txm(6!
z%b#c)YH;7n%+yGFf3l%~hs$@}i@y~LI}1KP-56E-2WdXYPt?F^S(s3#3<Cp$JOcxR
zFmjtN6Lqkvh4mY@!K%%HB_GTAI(Z60PiUMxyK%GTNu86PTQ^^9zYqf+41)}0b;?Df
zSOh9E;R9JIsk$z%`e@cYEYS@F4O5|wp%Z5vy1!7YgN&P@Sx1rYw0reXd<P0fctZ`%
zA|ul;qz5A-lN>W7ATf{Tk^m1dGBPkQY-t2BagF_f8;Y!ugSyZHHNYET0p^BdWDC0a
z8PHDxLu@~0Wnjj#^%&Xkq(b!hM`Xiq>SGv=bvBZfff+O#iN_O|lQziq@EGH^2Rwzt
z%D{|e`Uc_=T!Xt13qTRDrP0-#0cEI{m4O*F)QiW#pw1QQKrh5RNVImEGcdq&3ncl1
zNs@+rSs9qI<R^%yAZZKah|MTHJY+|RI#A{acz=(uLoho&$PQ_DWWdo4Vr5_kb%XGP
zGiK8b*<^WFB$F{4a;yx@poSbC<I&3<VFqO5UwR^iAab$5%D@aNfAAQLS$-lL9OQ*$
zFlK4W%D@aNP4O6y?rupGcOOJH9-Qz{3Twiy$1ER_U2oux6zXWf0xB&r+|9}c%4WO_
OybOG-3=A{9K|BClI2>yL

literal 0
HcmV?d00001

diff --git a/releases/plg_vmshipment_rules_shipping_v2.3.0.zip b/releases/plg_vmshipment_rules_shipping_v2.3.0.zip
new file mode 100644
index 0000000000000000000000000000000000000000..1769f79c271b08da9b07222aa473c95c6424a124
GIT binary patch
literal 17519
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%0DtZ*f_4PO(Sx%5FtB
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
Cr`Kfw

literal 0
HcmV?d00001

diff --git a/rules_shipping.xml b/rules_shipping.xml
index a2c3f8c..59da7a8 100644
--- a/rules_shipping.xml
+++ b/rules_shipping.xml
@@ -6,7 +6,7 @@
     <authorUrl>http://www.kainhofer.com</authorUrl>
     <copyright>Copyright (C) 2013, Reinhold Kainhofer</copyright>
     <license>GPL v3+</license>
-    <version>2.2.2</version>
+    <version>2.3.0</version>
     <description>VMSHIPMENT_RULES_DESC</description>
     <files>
 	<filename plugin="rules_shipping">rules_shipping.php</filename>
diff --git a/rules_shipping_advanced.php b/rules_shipping_advanced.php
index 14dd0e7..206bff6 100644
--- a/rules_shipping_advanced.php
+++ b/rules_shipping_advanced.php
@@ -146,8 +146,6 @@ class ShippingRule_Advanced extends ShippingRule {
 		$is_condition = false;
 		$is_assignment = false;
 		
-		if (count($atoms)==1) return $atoms[0];
-		
 		$stack = array ();  // 1)
 		$rpn = array ();
 		foreach ($atoms as $a) { // 2)
diff --git a/rules_shipping_advanced.xml b/rules_shipping_advanced.xml
index b50b16d..208fbb1 100644
--- a/rules_shipping_advanced.xml
+++ b/rules_shipping_advanced.xml
@@ -6,7 +6,7 @@
     <authorUrl>http://www.kainhofer.com</authorUrl>
     <copyright>Copyright (C) 2013, Reinhold Kainhofer</copyright>
     <license>GPL v3+</license>
-    <version>2.2.2</version>
+    <version>2.3.0</version>
     <description>VMSHIPMENT_RULES_ADV_DESC</description>
     <files>
 	<filename plugin="rules_shipping_advanced">rules_shipping_advanced.php</filename>
diff --git a/rules_shipping_base.php b/rules_shipping_base.php
index 37d3d03..2f5ddf4 100644
--- a/rules_shipping_base.php
+++ b/rules_shipping_base.php
@@ -221,6 +221,7 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin {
 		
 		foreach ($method->rules as $r) {
 			if ($r->matches($cartvals)) {
+				vmdebug('Rule '.$r->name.' ('.$r->rulestring.') matched.');
 				$method->tax_id = $r->tax_id;
 				$method->matched_rule = $r;
 				$method->rule_name = $r->name;
@@ -451,10 +452,16 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin {
 			if ($r->matches($cartvals)) {
 				$method->matched_rule = $r;
 				$method->rule_name = $r->name;
-				return TRUE;
+				// If NoShipping is set, this method should NOT offer any shipping at all, so return FALSE, otherwise TRUE
+				if ($r->isNoShipping()) {
+					vmdebug('checkConditions '.$method->shipment_name.' indicates NoShipping for rule "'.$r->name.'" ('.$r->rulestring.').');
+					return FALSE;
+				} else {
+					return TRUE;
+				}
 			}
 		}
-		vmdebug('checkConditions '.$method->name.' does not fit');
+		vmdebug('checkConditions '.$method->shipment_name.' does not fit');
 		return FALSE;
 	}
 
@@ -544,12 +551,6 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin {
 		return $this->setOnTablePluginParams ($name, $id, $table);
 	}
 
-	/**
-	 * @author Max Milbers
-	 * @param $data
-	 * @param $table
-	 * @return bool
-	 */
 	function plgVmSetOnTablePluginShipment(&$data,&$table){
 
 		$name = $data['shipment_element'];
@@ -779,6 +780,11 @@ class ShippingRule {
 	function getShippingCosts($vals) {
 		return $this->calculateShipping($vals);
 	}
+	
+	function isNoShipping() {
+		// NoShipping is set, so if the rule matches, this method should not offer any shipping at all
+		return (is_string($this->shipping) && (strtolower($this->shipping)=="noshipping"));
+	}
 
 }
 
-- 
GitLab