From 68d06201f72e420544261a5e64b27a2d2bc20dab Mon Sep 17 00:00:00 2001 From: ci-build Date: Thu, 13 Feb 2020 18:47:47 +0000 Subject: [PATCH] [skip ci] Updates --- annotated.html | 3 +- classtoml_1_1array.html | 307 +++++++++++---- ...ml => classtoml_1_1default__formatter.html | 58 +-- classtoml_1_1json__formatter.html | 222 +++++++++++ classtoml_1_1table.html | 366 +++++++++++++++++- namespaces.html | 1 - namespacetoml.html | 31 +- searchdata-v1.js | 2 +- structtoml_1_1date.html | 81 ++++ structtoml_1_1date__time.html | 102 ++++- structtoml_1_1source__position.html | 39 ++ structtoml_1_1source__region.html | 19 + structtoml_1_1time.html | 81 ++++ structtoml_1_1time__offset.html | 130 +++++++ 14 files changed, 1308 insertions(+), 134 deletions(-) rename namespacetoml_1_1literals.html => classtoml_1_1default__formatter.html (59%) create mode 100644 classtoml_1_1json__formatter.html diff --git a/annotated.html b/annotated.html index c32406a..493e05e 100644 --- a/annotated.html +++ b/annotated.html @@ -58,10 +58,11 @@ C++17 namespace toml The root namespace for all toml++ functions and types. -
// example
+
// example
 // code
 // here
@@ -88,11 +88,11 @@ C++17
using const_iterator = impl::table_iterator<true>
-
A const LegacyBidirectionalIterator for iterating over the key-value pairs in a table.
+
A const BidirectionalIterator for iterating over the key-value pairs in a table.
using iterator = impl::table_iterator<false>
-
A LegacyBidirectionalIterator for iterating over the key-value pairs in a table.
+
A BidirectionalIterator for iterating over the key-value pairs in a table.
@@ -140,6 +140,10 @@ C++17 void clear() noexcept
Removes all key-value pairs from the table.
+
+ auto contains(string_view key) const -> bool noexcept +
+
Returns true if the table contains a node at the given key.
auto empty() const -> bool noexcept
@@ -152,22 +156,65 @@ C++17 auto end() -> iterator noexcept
Returns an iterator to one-past-the-last key-value pair.
+
+ auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
+
Removes the key-value pairs in the range [first, last) from the table.
+
+ auto erase(const_iterator pos) -> iterator noexcept +
+
Removes the specified key-value pair from the table (const iterator overload).
+
+ auto erase(iterator pos) -> iterator noexcept +
+
Removes the specified key-value pair from the table.
+
+ auto erase(string_view key) -> bool noexcept +
+
Removes the value with the given key from the table.
+
+
template<typename T>
+ auto get_as(string_view key) const -> const node_of<T>* noexcept +
+
Gets the node at a specific key if it is a particular type (const overload).
+
+
template<typename T>
+ auto get_as(string_view key) -> node_of<T>* noexcept +
+
Gets the node at a specific key if it is a particular type.
auto is_array() const -> bool override noexcept
-
Returns true if this node is an array.
+
Always returns false for table nodes.
+
+ auto is_inline() const -> bool noexcept +
+
Returns true if this table is an inline table.
+
+ void is_inline(bool val) noexcept +
+
Sets whether this table is a TOML inline table.
auto is_table() const -> bool override noexcept
-
Returns true if this node is a table.
+
Always returns true for table nodes.
auto is_value() const -> bool override noexcept
-
Returns true if this node is a value.
+
Always returns false for table nodes.
auto operator=(table&& rhs) -> table& noexcept
Move-assignment operator.
+
+ auto operator[](string_view key) const -> node_view<const table> noexcept +
+
Gets a node_view for the selected key-value pair (const overload).
+
+ auto operator[](string_view key) -> node_view<table> noexcept +
+
Gets a node_view for the selected key-value pair.
auto size() const -> size_t noexcept
@@ -175,7 +222,7 @@ C++17
auto type() const -> node_type override noexcept
-
Returns the node's type identifier.
+
Always returns node_type::table for table nodes.
@@ -230,7 +277,310 @@ C++17 std::cout << tbl << std::endl; // output: -// {{ "foo", 1 }, { "bar", 2.0 }, { "kek", "three" }}
+// { foo = 1, bar = 2.0, kek = "three" } + +
+

+ iterator toml::table::erase(const_iterator first, + const_iterator last) noexcept +

+

Removes the key-value pairs in the range [first, last) from the table.

+ + + + + + + + + + + + + + + + + + + + +
Parameters
firstIterator to the first key-value pair being erased.
lastIterator to the one-past-the-last key-value pair being erased.
ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
+
auto tbl = toml::table{{
+    { "a", 1 },
+    { "b", "bad" },
+    { "c", "karma" },
+    { "d", 2 }
+}};
+std::cout << tbl << std::endl;
+
+tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
+std::cout << tbl << std::endl;
+
+// output: 
+// { a = 1, b = "bad", c = "karma", d = 2 }
+// { a = 1, d = 2 }
+
+
+

+ iterator toml::table::erase(const_iterator pos) noexcept +

+

Removes the specified key-value pair from the table (const iterator overload).

+ + + + + + + + + + + + + + + + +
Parameters
posIterator to the key-value pair being erased.
ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
+
auto tbl = toml::table{{
+    { "a", 1 },
+    { "b", 2 },
+    { "c", 3 }
+}};
+std::cout << tbl << std::endl;
+
+tbl.erase(tbl.cbegin() + 1);
+std::cout << tbl << std::endl;
+
+// output: 
+// { a = 1, b = 2, c = 3 }
+// { a = 1, c = 3 }
+
+
+

+ iterator toml::table::erase(iterator pos) noexcept +

+

Removes the specified key-value pair from the table.

+ + + + + + + + + + + + + + + + +
Parameters
posIterator to the key-value pair being erased.
ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
+
auto tbl = toml::table{{
+    { "a", 1 },
+    { "b", 2 },
+    { "c", 3 }
+}};
+std::cout << tbl << std::endl;
+
+tbl.erase(tbl.begin() + 1);
+std::cout << tbl << std::endl;
+
+// output: 
+// { a = 1, b = 2, c = 3 }
+// { a = 1, c = 3 }
+
+
+

+ bool toml::table::erase(string_view key) noexcept +

+

Removes the value with the given key from the table.

+ + + + + + + + + + + + + + + + +
Parameters
keyKey to erase.
ReturnsTrue if any values with matching keys were found and erased.
+
auto tbl = toml::table{{
+    { "a", 1 },
+    { "b", 2 },
+    { "c", 3 }
+}};
+std::cout << tbl << std::endl;
+
+std::cout << tbl.erase("b") << std::endl;
+std::cout << tbl.erase("not an existing key") << std::endl;
+std::cout << tbl << std::endl;
+
+// output: 
+// { a = 1, b = 2, c = 3 }
+// true
+// false
+// { a = 1, c = 3 }
+
+
+

+
+ template<typename T> +
+ const node_of<T>* toml::table::get_as(string_view key) const noexcept +

+

Gets the node at a specific key if it is a particular type (const overload).

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Template parameters
TThe node's type.
Parameters
keyThe node's key.
ReturnsA pointer to the selected node if it was of the specified type, or nullptr.
+
+
+

+
+ template<typename T> +
+ node_of<T>* toml::table::get_as(string_view key) noexcept +

+

Gets the node at a specific key if it is a particular type.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Template parameters
TThe node's type.
Parameters
keyThe node's key.
ReturnsA pointer to the selected node if it was of the specified type, or nullptr.
+
auto tbl = toml::table{{
+    { "a", 42, },
+    { "b", "is the meaning of life, apparently." }
+}};
+if (auto val = arr.get_as<int64_t>("a"))
+    std::cout << node [\"a\"] was an integer with value "sv << **val << std::endl;
+
+// output: 
+// node ["a"] was an integer with value 42
+
+
+

+ bool toml::table::is_inline() const noexcept +

+

Returns true if this table is an inline table.

+ +
+
+

+ void toml::table::is_inline(bool val) noexcept +

+

Sets whether this table is a TOML inline table.

+ + + + + + + + + + +
Parameters
valThe new value for 'inline'.
+
auto tbl = toml::table{{
+    { "a", 1 },
+    { "b", 2 },
+    { "c", 3 },
+    { "d", toml::table{{ { "e", 4 } }} }
+}};
+std::cout << "is inline? "sv << tbl.is_inline() << std::endl;
+std::cout << tbl << std::endl << std::endl;
+
+tbl.is_inline(!tbl.is_inline());
+std::cout << "is inline? "sv << tbl.is_inline() << std::endl;
+std::cout << tbl << std::endl;
+
+// example output:
+// is inline? false
+// a = 1
+// b = 2
+// c = 3
+// [d]
+// e = 4
+//
+// is inline? true
+// { a = 1, b = 2, c = 3, d = { e = 4 } }
+
+
+

+ node_view<table> toml::table::operator[](string_view key) noexcept +

+

Gets a node_view for the selected key-value pair.

+ + + + + + + + + + + + + + + + +
Parameters
keyThe key used for the lookup.
ReturnsA node_view.
+

diff --git a/namespaces.html b/namespaces.html index 0f71018..28812a5 100644 --- a/namespaces.html +++ b/namespaces.html @@ -58,7 +58,6 @@ C++17 namespace toml The root namespace for all toml++ functions and types.
  • namespace impl Internal implementation details. No user-serviceable parts within.
  • -
  • namespace literals inline Literal operators used throughout toml++.
diff --git a/namespacetoml.html b/namespacetoml.html index f492ae1..4b14522 100644 --- a/namespacetoml.html +++ b/namespacetoml.html @@ -76,8 +76,6 @@ C++17
namespace impl
Internal implementation details. No user-serviceable parts within.
-
namespace literals inline
-
Literal operators used throughout toml++.

@@ -95,6 +93,16 @@ C++17 struct date_time
A date-time.
+
+
template<typename CHAR = char>
+ class default_formatter +
+
A wrapper for printing TOML objects out to a stream as formatted TOML.
+
+
template<typename CHAR = char>
+ class json_formatter +
+
A wrapper for printing TOML objects out to a stream as formatted JSON.
class node
@@ -179,11 +187,6 @@ C++17 using string_view= std::string_view
The string type for keys and string values.
-
-
template<typename T>
- using value_of = typename impl::node_unwrapper<T>::type -
-
Helper alias that unwraps TOML node type to it's raw value equivalent.
@@ -194,10 +197,6 @@ C++17 const table& rhs) -> bool noexcept
-
- auto operator""_sz(unsigned long long n) -> size_t constexpr noexcept -
-
Creates a size_t literal.
template<typename CHAR>
auto operator<<(std::basic_ostream<CHAR>& lhs, @@ -363,28 +362,28 @@ C++17 using toml::source_index= uint16_t

The integer type used to tally line numbers and columns.

- +

using toml::string= std::string

The string type for keys and string values.

- +

using toml::string_char = char

The base character type for keys and string values.

- +

using toml::string_view= std::string_view

The string type for keys and string values.

- +
@@ -613,7 +612,7 @@ C++17 - +
diff --git a/searchdata-v1.js b/searchdata-v1.js index effafc5..0a47d8e 100644 --- a/searchdata-v1.js +++ b/searchdata-v1.js @@ -1,2 +1,2 @@ /* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ -Search.load('O+!-w>;O(J002^H008nV00031000011ONbR009U90B`{S_W%F^6aWBu009^P0ATR`Tzg{SO5TJ00CS80BryPVgLYX00C$K0CWKX`2cPJ0ABzBbN~Ql00Dde0CWHWf&c(v0RZ~|00E8w0CWHWk^lg100Ec)0BHaLo&W%E00E=`0B`^SssI3A00FQ70A~OJwg3Qb00F!J0BHaL!THq*|00Hm-0A&CH_5c8M00H~}0B!*Q{Qv*~2mt_R009gE0B!&Q5&-~d009^Q0CE5U9svM!0Ra9000Ali0A&CHE&%{+00A@s0Ac|E{{R31Kmh<{00Be+0BryQIspJ-N&x_A00$}n0AW%90Ah#$0A$(#0A>OK0BIxv0CP|Q0CWHWS^)rG00IsG0Bv{y0CNHW1ONg600D>r04V_g1^@s7lmP%K0RaU7m;rz&00Eu>0C@lbrU3w900FE40CE5UvH<{c0RRX900F)M04V_h2LQqWfG7X~$N>Ou00Gbe0ATR3IG5B^Z@`V0RRjD00I6104V_h3jhKFfG7X~2m%0Q009sJ0BryP76Jfi00A5V0CWKY2>|#3fG8pY0ABzBC;|Xw00A@t0CWHWIsyP;0RRpF00Bk<04V_h4FF04fG7X~PyzsS00CG60B!&QUIGAV00CqI0B-;RY61Xo00D3U0ABzBb^-ur00Ddg0B!&Qf&u_(00D>s0CWHWjsgH-00EQ&0B-;RngRf90RRvH00E`~04V_h4*;qHfG7X~umS*b00FoH0A&CHz5)Pe00G1T0A&CH$^rm%00Gbf0B!*Q5&!@J+yVe80Ra&J-~xas00HI#0A~OJ?g9XA00Hy@0BHaL`T_uQ009640CWKW6aWAL3Yu00ATe0Ac|E761SNFarQ70Ra^NGy{Mr00BA!0A&CHLIVJ800Jrl0AWZ20BHaRxB&oR?g0Q|Kmq_{paKA9)&c-&1_JII+5-S@0RkBSm;-<)-~#|(00HI$0C@lb@&f>200H;|0CE5U{sRDV0RSEV009aF04V_h9RLmlfG7X~6a)Zn00A5X0ATRAOHXXKm-6O0RSQZ00Bw_04V_hAplMUfG7X~R0IHJ00CSC0BryPVgvwb00C$O0CWKY9{@xIfGBPR0ABzBbOZop00Dpm0CWHWh6Dg%0RSWb00EK&04V_hBLJ2JfG7X~oCE-L00E=~0B!&QsssRO00FQB0B-;Rwgdoh00F!N0ABzB!UO?sWfG7X~`~(1U009IA0A&CH3IzaX009sM0A&CH76kxw00A5Y0B!*QC;$KfC;0A%b00A?Zu0BKSM0CSoJ0CdO&0CoWa7XXd}fGExd0ABzB@C5*K0RS)n009C904V_hF8~GxfG7X~30B`^SN(KOV0{}JvGypgN00CA804W0jH2^aJHvnD+fG7X~WCj3q00D3Y0BHaLb_M`*00Ddk0BHaPgaZI!`~?7MECv8`PzC^Wf(8I~00D>w06GBx<^TWzqy_+G00F250BisOt_A>N0RZg)00FuN0A&CHz6Jno00OiI0Aa)i0BHdL=Kuf!)CK@~00Gzr0AT900Hy{0B!&Q`UU`L009680CE5U1_uCi0RZU$009yQ0CE5U76$-j00A5a0A~OJA_o9v00Afm0CWHWE(ZW^0RZX%00BA&0CWHWJ_i7900Be?0BHaLN(TUM00B@30B`^SRtErI00CSF0A~OJVg~?j00C$R0BHaLZU+E#00DFd0ATi_@&j0XU200EE(0ATR?f?J*v;TFK0ABzB&<6lz00Gzs0CWHW-Uk3-00+tj0CegG0AUOV0CO}40BME?0A{WS0Al0^0Av6G>IVQi0Ris-2nc{W009mN0A&CH76<@v00A5b0C@ob@Bjb-CTIRKspfI2b=0ABzBJO}_~00Bq{0Av6GP6z;R0RTGy00CME04V_hIsje>fG7X~WC#Fm00C?W0B-;RatHuv00DRi0CWHWeh2_?00D#u0BHaLiUuH2nhfw0RavH3<-cJ009yS0A&CH8VLYw00AHg0BHjNaRF}ua{&MWEC~Q90|9UWZUJ%uGzowx00BA)0CE5UMhO6K00B%10CE5UQV9TZ0RVLY00CYJ04V_hbOB-sfG7X~XbAvh00D3b0A&CHb_oD%00Ddn0BHaLf(Za&0|0pecL93=00E8(04W0jcmZ|+dI6RRfG7X~oCyGQ00F280A&FHeE|RgvRe*pji*a-kB0Resi+zEgv00H6&044wd>IndH00Hm`0B-;R_6Y!T00I070CE5U0tx_S009UJ0ABzB4hjHe009&V0CNBV8VUe%00AHh0AT?DfdK#kED8WA0ReykFbaSu00A}%044wdJ_-P300Be_0BisON(umC00B@60ATRtf-g00CSI03ZMXW(ojw00C?Y0CNBVatZ)$00DRk0B->Rg8={mgbDyD0RV*o00E8)04V_hgaMKYfG7b1f&qvMfGC&>044wdpb7vc00FED0CE5UvI+oi00FoP0CE5Uz6tq00Hg_04V_gi2(os_zD0i0Re~s{0e|50Rn~r@(O?`0t)~p009aM044wd77GAn00A5e0BisOA`1Xw00Afq0AT#0A&CHjtc-}00EQ>0A&CHnhOAB00E#20Am0FrV9XL00FEE0CfNbSP1}ShzS5@t_c8Va0>u$vI_un00FoQ06GByi~-IIfI0vH)C&M~00GIImJ9%I0RRyJ00E*50CE5UrVIde00FEF0B->R5&-}KxC{Vg00F!V0CWHW!VCa)00GDh0B!&Q&I|x)0RR&L00G(z0Av6G-V6Y400HC-0B-;R>I?v500Hm}0A&CH_6z`X00I0A0B-;R0u2Ce009UM0AT?D6afGM6b%4m009^c0B!&Q9t{9*00ATo0Am0FDh&W-00goO0BF<<0BsHp0B$f10CNBVHVpte0Rj~PoD2Y8NDY8G00B-70A&CHS`7eg0RTY&00CwV0CE5UY7GEy00D3f0CWHWb`1bw00Ddr0CE5Uf(-y=00D>%0CWHWjtu~500EQ@0ABzBnhgMS00E#40CNBVrVRjY0RU7000FWM04V_hQvkLNfG7X~ybSOJ00CkS0C@lbY7PKl00D3g0CE5Ub`Ah?0RUnE00Dvy04V_hVE~2>fG7X~j1B;000EQ^0BisOnhpSB00E#50AT?DWB>pGtPTJv0RdwGunvGI00FiR0A&CHz77C&00G1f0BisO$_@Zw00Vpu0AZ#M0Cdm}0CoTY)(!w)00L4D0CeOI0CNEVL;wH*^bPXb%7>0|7?>O8`j#a1Vee00DLn0A&CHf)4;}00D>(0Ac|EY5)KMln($Y0Rd?Mm=Ay`00Ev40A&CHrVjvc00NE=0AZ{T0C@obP5=M_ybk~=0Rc?_zz={Z00G7i0A&CH&JO@=00Gnw0Ac_E+7AF>00H0+0CWHW<_`d000Ha|0CNHWQUFi@00H<904V|iQ2{ttjC009IL0B!&Q4iEro009&b0A~OJ8V~?w0RUP600AZt04V_hSpX^!fG7X~Fc1KF00B4<0CWHWJ`ezK0svkBTmS$8N)P}k0s&nBTL4fHfG7X~RuBMW00Kl10Bv9p0B!*QXaE2Ka1a0~0Rd+KbP#|j00DXs0A&CHf)D_D00D>)0BHaS9u5Fw>J9*DVh;dsvJU`s@(%!EAP@jzW)J{njt~HI00EQ`06GByYXG(ofI0vHybu6o00G1h0BisO$`Alz00LkQ0BO(=0AT?DYybcO;1B?A00HC>0BHaL>JR{D00Hn20A&FHZ2$lP{15*0ABzBju8N800EQ{0CWKWlmP$%pb-FW00E>C0BryPsu2Kn00FQO0BisOwh;ht0RWW&00F`g0A&CH#t{H+00GPq0BHdLmjM6)*bx9J0Rff)+!25%00H6=0BisO>Jb2M00Hn30B-;R_7MPL00I0F03ZMX0ulgn009UR0B-;R4iW%#009&d0ATs1g8j00FEL0AT)Di$+00G_-0A~OJ<`MvI00Hb00BHaL@)7`Y00N>C0B`sb0CWKWZ~y=S2onH#009gW0AT?DaR2}T7!v?!00A5m0CWHWA`<{^00Afy0B->RasU7UG!p=F00B4?0ATIIiW2~400EE_0B->Sjscbv0ABzBoD%?L00E>E0BryPsuKWd00M3k0A#Qe0CWHWwi5t40RfN!z!QKv00G7m0A&CH&JzG_00Gn!0BHaL+7keD0RnRXSQCIc;1d8}00HI`0A&CH@)H1b00HoB#j;CKLcE0s@@?n*bmb0ADN=fG7X~G86!100BT00CfNXMic;S00B%C0AT|FcmR3;b^rhYSQG#$0|9pcc>r|)U=)BT00Cwc06hZ$egJ>~d;kCecoYCB0RVyk00D*+04V_hfdGmWfG7h1h5(2Fga7~mm=pjh0|A8qhX8{BpcH^80|R{ke*k*`fE0izkQ4wsrW61@0|1NwjsS`P00G7n04W0jivW!Pi2%+NfG7a~;s5{v;1mEU0RrIw)D!?cAPV0|Jo%lK_tZ{uF>H5)}YF0RYwj00Ax)04V_h)c`UTfG7X~I28aU00BT10CWHWMil@c00B%D0CWHWQWXGm00CGP0B!&QUKIdu0RY$l00C+h04V_g+5i9nbQJ(80RhJ$Jy9u)vSm=ypZuoVC*00F!e0CE5U))fG600G<;0CWHW;uQd400HO~0CE5U?iB!K00HzB0B`~Tq5z-(0096N04V|ip#Yx%1{Q!Q009gZ0B!&Q78U?u00A5p0A&CHA{GE_00Af#0B-;RE*1c90sy7}qyPW`Iu-ya0syK2r~m)~Miu}m0s*N2rvOYAfG7X~QWgMZ00CSU0BryPVio{t00C$g0CWNZr2wM=0AT_Et^lk600ER104V|itpKY4niha400E#D0CWHWsulol00FQT0BHaLwiWh|C{uY2J009IS0CE5U4i^Ar009&i0A~OJ8W#X%00AHu0CWHWCKmv10syuEv;Y7BG8X_T0s*xEvj8|3fG7X~J{JII00BrB0B!&QP8R@a00C4N0CE5US{DFx0sy)IxBvhFW)}b{0s*-Iw*YJxfG7X~au)z)00Dd#0BryPf)@a300uM`0Ah|70A%tO0A?%~0BK+s0CR{J0CWHWju!x500F2M0CNKXz5u)czyJUNv=;y=0|C7Ny8yocycd8d00F`m0CWHW&KCe>0RX}P00G(;04V_h!2sSDfG7X~K@m0RhJVNEm=900B-I0A&CHRu}+n00CSW0BHaLVi*8)0RqJUJ{W)~Xcz!r00C|o0A&CHdKdt700Dp)0AT?D$^ZZXj2HkZ0RhPXkQjg{00EX50CWHWo)`db00E>J0BHaLsu%!o00FQV0B`^Swip0k00F!h0A~OJ!WaN<00GDt0BHaL&KLl600Gn(0AT=*zk0RhVZ@ECw700H(G0CE5U{ulsd009IU0A~OJ3K;-p009sg0CWHW78w9;0RYYb00ANy04V_h%>X7DfG7X~EExc200A@^0B!&QIvD_I00BT50CE5UMi~Hf0RYed00B}N04V_h&j3~#fG7X~Tp0jm00Cqf0BisOY8e1x0RYkf00DLx04V_h(ExfGfG7X~fEfT~00D>@0BryQa2Wt$ju`-H0RYqh00EvE04V_h(*U9wfG7X~s2Kod00FQW0CfNXwiy6y00F!i0ATKOoY0RZFx00H(H04V_h;{f^@fG7X~02%;g009UZ0B`^S4jKS?00vSN0CxHn0B^1r0AbV@0B7(S0BIB&0CWHW8X5pP0RZ*@00BB00A>IIJ{kaT0RrU!G#Y?9L>d5J00BxG0A&CHRvG|x00CSY0BisOVj2Kp0RRC300C|q04V_h00D9ufG7X~cp3mb0RRI500D*?04V_h0s)E|fG7X~kQx9y0RRO700EvF04V_h1OcKNfG7X~s2Tu000V#;03nzf06ef706hQ!wi*C(00G1r0B-;R${GN400Gb%0ATO00HhA0CE5U@)`hd00HmBZ00B%J0BHaLQX2qg00CGV0A&FHF984nWE%h}0Rb)nXd8ei00C|r0Av6Gb{hb00RS-p00Dv<04V_hFad@efG7X~j2i%Q00ER60ATF!0AhR_0A-*X0BivO7XbhPxEla+00F!k0B-;R!W#f|00GDw0AT->KlM400HnD0CWHW{u=;t009IX0A&CH3LF4)0RU40009;p04V_gRRI72ARGWG0RdD2BpiS!00Al-0CNBVG8_P900B500BisOJ{$mI00BfC0ATTQUMwqfGA=d0ABzBXdD1}00DFy0AT_900Dp;0CE8UR{;P4j2r+d0RdJ4kQ{(000EX90CNBVo*V#m00E>N0B-;RsvH1i00FQZ0B!&Qwj2Ou00F!l0A~OJ!W;l^00GDx0BryP&Kv-50RUM600G(@04V_hSOMM~fG7X~00f2{0AbV|0BHUk0CXrF0CoTYE*$`000Y_^0CW%>0B%4X0CNEV836zRR2={*0Rb2RSRH^U00CYd06hT!8vy_TY#jh80Rb8Ta200G1u0CWHW${he<00Gb)0CE5U)*S$400G<`0B{2U9RVK!AprmZ=p6tl0|6WX9swW$@Ew3C00H(L0C@lb0v-Ti009Ud0CE8UBLM&b6dnL60RbWb7#@Hq00ABz0C@lbCLRD`00Ar>0CE5UG9CbO00B520ATfG7X~N*@4a00C4V0CNBVS|0#m00SH!0BtxQ0B&F(0CE8UK>+{(bRPgI0Rcb(cprc$00Dj<0B!&Qh93ZB00E320CWHWk{Q04V|iL;*qpsvm$T00FQc0CWHWx*q^;00F=s0B-;So*w{g#vcH30su(?M*#o<)*k>V0s%+?MgiO(fG7X~;vWEW00HbD0ATR0A&CHsvrP!00FQd0A&FHX#oHMydVH60Rd0BHdLYXJZO;2;1g0Rd_OVW*-1$%pU+|1Rwxsd>{aDwjcm<+8_XP{vZH!009Ic06GByYymbQfI0vHJRtyi00BfH0ATS0A&CHsv!Vy00FQe0B-;RwjlsI0RfW%ydi)(00F`w0CNBV${_%300Gb;0ATIIej)&700D#|0B-{V6#?x4jsc1y0AENAfI0vHkRkwO00E#P0Br>VYXC<8O8`j#<^Z-3fI4swfG7X~tRetq00F=v0BisO#v%Y>00c530B>9(0C}b&0BOu30AU0G8USDb!T?hN00HD804V|h8~{}T00HzO04V|i8vs-R`XYcR0096a0CNBV3L^kz009sq0BisO79#*+00A5$0ATlg00BrO0BHaLP9y+y00C4a0AT>9+`~Y$!fG7X~cq9OF00D#~0A&CHiX;GM00EFB0A&CHmLvdl00EpN0B!;RC;-j?00F2Z04W0jCjiX={Q#~cfG7X~v?Ks$00F=x0B!&Q#v}k~00GP-0CE5U(j)+M1OO@kVgS$pSpfh6-Xs7i1pz4lVF1qnSONY3=p=wB00HhK0A&CH{v-fw009Ig0Ad0FECA8~009ss04W0jD*({|{{R*xfG7X~93=o{00Af^0BryQ3MBwxE+qhI1OP4oWB}9vTLAz8J|zGt1OY7oV*t|tS^-EUfG7X~P9*?k00CSj0CfNXVkH1<00C$v0ATJ!00FEe0B-;RvLyg?00Foq0AT`00A;40B!&QJ|+NR00BfM0A&CHN+tko00B@Y0B-;RRwe*%0{{vDrU0Y>00Ckq04W0i3;?PCr~m)~a3%mL0|5&FsQ{+{cqV`-00Dj`0A&CHiY5SU00EFD0BHaLmL>pn0|E&Er2wMLvhh00HnO0B`^S_9g&d00I0a0A~OJ0w(}&009Um0BHaL4krL~009&y0ATh|CG$(*400BBD0CE5UMkfGe00B%V0A~OJQYQdq00CGh0CWHWUMB!<0{{{Lwg9vM00C+z04W0j5dgISvjB1@fG7X~cqag700D$20B!&QiYEYR00EFE0CE5UmL~vo0ss^MP5=M_q9*_;0s#{MO#rATfG7X~t|tIx00Fos0BisOz9#@;0{|8Px&XKU00GJ;04W0j6#%&aw*b;7fG7X~*e3vG00HDD0BryQ#3uk@>L&nc00$l>0AXAv0Aju-0Awa70A^$-0BM{j0CVss0CWNZ0{{U4jsbuu`X>Ni1p;gV9048yAOYt9HX(pI@Ew3C00AZ_0C@lbIw$~P00BTK0CE5V7$^X9MkoMs0st@oJpcd!Rww`|0s=1pJOErMfGB(t0ABzBVkiJ*00D3)0Am0Fb|?UH00Dd`0CfTYXaH#e00D?704V|iX8>pcjwpaA00ERJ0A&CHo+to%0s->?=m69b0ABzBswe;R1cSQCIcSSbKs00CYp0A&CIZYcnC2onH#00Nu{0A+M30AT?E5&=RC0CNBVh$#SN00EFG0CWHWmMH*r00EpS0B!&RqA37rC=&p00suh(76AYOvMB&^00Fou0B-;Rz9|5700G1)0AT0A~OJCMp1B0svM3F984nGAaNm0s&P3E&(_yfG7X~J}LlY00BrU0B!;RSO75r00C4g04V|iR{$^pS}K4j00Ces0CE5UYAOI>00D3+0A&CK`Y8Z!EGhtEPAULpb}9gD1^{>fdH?|dL;x89b^rhYjw%2t1_5^fc>n+bLjV{7bpV_yfG7X~qACDA1^|ozjsOJ#MgSWDiU0rsx+(xE1_6rzjQ|7zMF1KBi2%qdfG7h1W&q*$_A;3@zq0|I3L;Q(9#&ME*s=qi9H0ssR6f&c&k{we?|0s#U6fdB+6fG7h4eE@#|djNnGfG7$p06eA?06hQ#I28aUPznHH00Jm00CXk_0B`^SGAjTe00BHJ0CWHWLMs4s00BrV0B!&QPAdR!00M>;046940AT_EeF2vN00Cqx04V|id;yjLYAb*!00D3-0BisOdMf~L00Dq20B-;UR4V{uS}Oo_hARMK=n4RE00^`y03q%w06i2d06ZQQ06vT>03fgx04k~-09$||03rYZo+|)y00F=&0B-;R#w!4H00GP^0ATMH;#1p!e2DgjRbC;@B$^eccU00H_d0B!&Q3M>F=009sz0A~OL7Ayc|s0RRVa2^0*0svY7Hvs?vDl7mg0s&b7HUTg!fG7X~HY@;n00KZP0Ce;o0BisOMl1ku1OQ$DI{{n(IRO9xRxAK11p!?EIssb%I00<{U@U+r00Cw!0Av6HS|0#mObGyT00U4g0Bv?G0B(FN0CENZz5savya0CrzyNyz00ERN04W9ny#ROty8w0pzW{mxqAY+Y@*e%07w800I56;0I5I?0I7Ek0I7Qo07$A00O;8b09f%20C*=30C-mp0I8-90I8}D0IB&70IB^B0I4kx0H`nz0I7Zt0I7lx0I9hT0I9tX0IBc~0I2g10I3`h0I47l0I5(A0H{+C0I7-)0I7};0I9E07xDa0O(5-0O)oT0O+C<09e)&0O$b}0O&3h0O(p209bnz0C=tx0I2{K0I38O0I5_0IB2}0I3`s0I47w0I63S0I6FW0I7x>0I7-_0I9zl0I0$n0IBU80IBgC0I4G!0H`J$0I5+N0I5|R0I7@|0H}`~0I9kh0I9wl0IB*M0I2;O0I4V)0I4h;0I6Xe0H|ag0I8210I8E50IA0v0I13x0IBsI0IB&M0I4e;0H`h=0I5_S0I66W0I7%`0I7@~0I9+r0I9|v0IB~T0I35X0I5D70I5PB0I7N(0I7Z-0I9nl0I9zp0I2~W0I3Ba0I5JA0I5VE0I7Z;0I7l?0I9nm0I9zq0IByN0IB;R0I4(~0I4`30I7T-0I7f>0I9ek0I9qo0IBvN0IB*R0I47%0I4J*0I6Cc0I6Og0I8ZH0I8lL0IAs`0IA&~0I3oq0I3!u07y6^0N7+B0N9Wt0NA}F0NCpz0N5ZT0N73>0N8mX0NA7?0NBkW0LTg@0C+_u0C;&N0C=z^0C?Ud0C)!`0C+Ga0C;OA0O*@00O-vo0O0I5nY0I5zc0I7a10H}d30I9ex0I9q#0IBgV0IBsZ0I4M}0H`Q00I6~>0I7B_0I9Vv0I9hz0IBaU0IBmY0I41@0I4D{0I5(g0H{+i0I8uc0I8)g0IB0J0IBCN0I3-<0H_=>0I5eY0I5qc0I7R10H}U30I8`l0I97p0IB3L0IBFP0I4%F0I4@J0I7pA0I7#E0IA?I0IB3M0I4W50I4i90I6j&0I6v+0I94q0I9Gu0IBaY0IBmc0I4iA0I4uE0I6v-0I6*>0I8@n0I94r0IAnB0IAzF0I3!=0I3=^0I5wi0H{zk0I7#H0I7>L0I9<@0IA0{0IB>n0I2{r0I4-L0I4}P07zRl03dKS0I8NX0I8Zb0IAG20IAS60I3K!0I3W&0I5Sa0I5ee0I6*^0I6{|0I8uj0I8)n0IAzI0IAr0I5GY0H{Ja0I7UA0H}XC0I9k;0I0n=0IBym0IB;q07xu40O(jc0O*7|0O+qe09eC10I3Z-0I3l>04Oj!0O(#j0O*Q40IA430IAG709XV(000mH4LUk$ZE$P=Uol@XX>D+9E@*UZYy$uo2q0r`ZgX@1Gcz+WG&nOkIW}WtV_`HkF<~_}H)dltW@0#HVly*k0RT7#IRF*{IyzxyvYi05~}S76LjtVRK(%Z*Od6VQwfX03%^!Ib&mGVL35lV>V?nW@IooF*Y|hGh{GkV>2>iW@KRp05~}S76LjtVRK((VRU6EDF7p3Heog~W?^MAF=1w9WiT}`GBr77Gh;F~Fkv}lGh$;g2>>`b02Tr|I$?8PWMOn=Uvz10Whf~CBVjUPFl06`H8nRhVqsx2IWRamVPs`FFfubUI59IgHDwC`I5_|o0y;Wjb6;j`Z(($4Zf9R`Z)t9HC@BCVVKp>kHaRsgIX5vmW;QuwWHvHkIbmcnFf?T|G&wOhG7SJYIRF*{IyzxMmIDF7p3VKp;3VK8GgIALLCH8^89Ff(IeIWse1F=jYrI5adj5db(j02Tr|I$?8PbYWs_Whf~CBVl1SIW{*jHZn6gWj8c4G%++aF)%YRH#228I51{nI4~0cI5_|o0y;Wjb6<36ZDlAa03%^EVK+E1IA%0tIX5;nWHd53IWu7~FflS_Ibk_BW@2I$05~}S76>{zX>%wkAY*TCb94YBVK6ggF=Aq6F<~$^G%z_eGh#O}Fg0dnG%#Z~Gcz$UI2Qmo1~~v02s%1xb6;U{a$$KWDIjBSZgX@1BVl7>V`VosH8o-|V`DQkFf}{zX>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKFv2H)c0vVKHN5HeoeoG-ESlGi5S0WiU80H#A~1G#dao1~~v02s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^G&f^mGh$>mGdVIaGC5%|HZ^83Gh;9^Ibt$oVlZMd9RN56IRF+2Iyz}{Uu0o)Whf~iV{dMAbO0k^Hf1(2HZWsiF)}kVVmLQsH)1t6VKQMdFf%wgF=R4f9{@N8IRF+2Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVL34|H8LN37XJv9IDIjBSZgX@1BVjdVV`O4BI5aXiI5IaiV`VWnI5sjkF=k?AF*r0eV`C)%I0iWY76>{zX>(t5baH8KXDBHkV{dMAbO0k^WoBkGH90poVKibfGiGHlW@Tn#IbkzmH90XiW;r-zCjdAGIRF+2Iyz}{Uvyz&Y-K1ZAY*TCb94YBVKp#eGBq$UVP-dFG%{i^W?^D5HZU?UHe_UFH(@zBWhnqS1~~v02s%1xb6<36ZDlAaAY*TCb94YBVKiYkHa0V1G-5F|HZ?F~W;io5WHn{zb8mHWV`V5QAY*TCb94YBVPP{jIA&opG&5vjVmD+rVq{`8FgG(bH!x&kVKruCV=n+W1~~v02s%1+d2nSYDIjBSZgX@1BVjQxW-~ZBFf%n{Wic~hVq!2bVKFf|F*7wdVP-ZnGc+*(I0iKU7z-uAIWjplGc`D6F)(F0G+{YpHf1(pWo0)tH2^pWIRF+AIy!b~b7^!aMpaHjCMGE$V{dMAbRZ@GBVjROG-PBjH#K86FflS_H(_EpG&wamH#cKqFf}+iWMek~I1Ug206IEuZ)9ZvV{Bn_b98TQY+o^7F>Y^UWiDuRZEQXO9tb)*WMy+>a%pgMX>V>QDIjBSZgX@1BVjc)I5K59WHvTtIALKkW;SJJG&C|}Fkvt>WHmB4GG;meKn6Yl9tb)*b8mHWV`V5QAY*TCb94YBVK^~1IASz8G%+(UH8wRgV`emBVK`=EIW}cxWH2=`G&}%61`q)NIy!J+a&u*0WpZ+FasXp&VRLhIZ*6Q}F<&uoVRCb2UteW%a&K}jXmo9CKmZ>)I&Eogb#!HO03%^CW;A1DFfuhcGcYh^Gch=1WoBbAV>M-FWMwruGGt^G0TN$tW@d9`bO2vpZ)Rq5WpplRbZu;F02ewsV{dMAbYE$7WpZJ3Z*l-5VKrtlFf=qUWnwinW;Zx9W-&J~G&MIgVliblF*0E@IcoqHIyz}|WpZJ3Z*l-5VP$48IWRFYV>2;fGh{M2Vqq~kHZWviI5;;rH!@^mW@`W!96CC0aAk5~bZ>GYJt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3Vq|4vHDoztIc8%rGh;9_F=ID4Wi>Q3V>U54Hf3QpLjXA%YXBDUN8VKX&H06A*_7a%%1bYWs_WhiNFaBMm{bYWs_WnXD-X>?z3VQF$GASNatDO*lmDF7p3H8^24WH&T0VK-tjF)(5=IW#gkF*Rm6IA&!zWH@GJNdP$>YXBDsIy!V=Vr*q7bYWs_WhN#m03%^yG&f;4Heq5iG%{gkVKFmiF=00}Wi@3oVq;`wWHdBO067P102cx}I$?8PbYWs_Whf~CBVl1?WH>i8V>emT4FfuhXW;A1DHe_UEW;0O$IcoqH2s%1rVr6G(ZYU`rV{dMAbO0k^F*RW|W;kMGHe@k5G-hLBWjQi6VKOvjHDWh2Vlif7Qvf*zYXBDrIyz%zZe%DaAY*TCb94YBVKXr?G&M0YFga#9IWRdhF=b&gH8?UjV>U23F*h+ZW>o+=25SHp0y;WlY-M3`C@BCVVPQ8hFlIP4V>LK9VKHJbFk>?@IWlB1H8nG2Wi(}FW>)|?YXBDrIyz--aCCVnDIjBSZgX@1BVjc)G-fn8HD)$uGG$_8IXN?8Wieu8Ff%tfG&DCbH8EKLIR;$-83-U_Z*FsR05mXTH!@{7F=S;iWMMWoVmB~2Gh<<7F)=hWGGk&eHCq5V25SHp0y;WnZe%Da03%^JHe_KoH#RjiV>M%8F*7k^W@TeCWiw+iH(_BiH#0C@06A*_7YI5!X>(s;a&lpLC@COgZ*FsR03%^IWHK~mIXN|DHDhLBVl+83Gh;Y1V`F4FHDqKqW??g5067M002c^4I%#uXbYWs_Whf~iV{dMAbO0k^WHM$sGcz-0HeqFAHZwG4G-PCAWn(iqG&wV5VK-wkVE{P>YXBDrIyz}{Uv^<^b!8|iAY*TCb94YBVP-KiH)AnnG-GBqGcqtSH8(IhWHwG!D0E?BY-J`UDF7p3HDfhqWH4nhF=S#mGB{ykGBz}2V`F1EHe_aGWHvE5WdJz`YXBDrIy!S{dSxgnAY*TCb94YBVPrRBG%+wWI5jk5V>mH4VrDjFH#jk7VK-)CF=94kHfI1i25SHp2s%1+d2nSYDIjBSZgX@1BVlG`H8?ppH85g1IAb?3GB+_WWHvN2VK^~mWHw?sVPI@`VPZ2jVKro8F*PzUF*r6fVKFmiVm2~3W-~J}F*!D5FmC`MIyz-;WB?;!Ff}weG%#W`GGt?BI5RUjF*Z3jWn(g8I5s&jH8U|}ZvY`WI&fihXaFN&GBsvnGBaj1H#ucwVmM)DV=y=|IAbs|Gh;PjV>M(q5CH%>I&*Jza${v*a%E>}Z*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvgzV>WXmo9Ca{w1QI%Hva03%^IWn(vCH!?FgVmM`FWHU1~F=8||Fkv@hG&5ymFflQ602ewsZEtRLXaFN&Ff}qbV>dD~WH4bkF*h_ZVL3HsHf1wmF)=YVHZe41a{w1QI(cPbasVS?WHDr8H8L_{F)=k`HaTQtIWRaiG%#W@V>V`HH#st55CH%>I%HvVWdL(@a&=>LbZ>2JUol@XWMOn=E@*UZY~=tKIy!b?Y;|Q{VRC0*bO0k^FfwIfV`FAzHDWY2F=aSnGd5&7IWaS4Vr4ftIWjXjNbGzJScN?WI8%xVRLC?UvG1Ca%Ev{JVQu9Qa&auAY*TCb95kfVQh6}CMf_TVPs}CF*sv6HZnFiG%{v3Wo9*DI5RY4G&N&kFfn6dHGu#*C*=SaA38d3aAk5~bZ>GzJt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkRX!#u03%^II5smmH8eCZWHC7~G&eV9Fk~}iF*aj4Wj10pIW%E|0687y02doNI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0*bSVHMVKq5nWi>KoFk>+}Gi768HfCfpV`E}tI5jb5VrDWiVTAxW8RY;M8#+2~aAk5~bZ>GzJt%fzY;|Q{VRC0*bSxlaZ*FsRAa-GFb!8?g03%^DV>vc5IW;w9Wn^SxG&f@~Wnp4BIWlBsG-F~kGh;c2067`u02d!RI&W}ga$$6Day>mLV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs|rCMf_TVK6W_G+|^pWHM!CHD)+9F=8`iI59FZHeokpVKy=`IEer`9pwNQ8#+2~aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jc42IFWnW=(XJ2$F03%^CGBq_cI50OgH#cQuIXN{mW@0!sGGu09WM(lqWI1Dt067`u02doNI&W}ga$$6Day>mLc42IFWnW=(XJ2$IAY*TCb95kfVQh6}CMf_TVKg;0IWsqAWH&i7IXGfvG-fnmGBsl~Ibk?BH#s(8HH`o{8RY;MA38d3aAk5~bZ>G#C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wNJ|-yuBVlDZGBaT^IWu82Vq!NnWiv5mHa2BqWnwonGBIH^IWdm_IUVHy7aKY{Z*XODVRUbDJ}6^vZgX@Xc42IFWhN{jc42IFWnW=(XJ2$F03%^GGdMD4GGk<9GB#l~HeoViH8(P0W??chV>dQ9Fk@kn067`u02doNI&W}ga$$6Day}?_VQh6}Utw}*Uvw-WV{dMAbRc$NY;|QODF7p3VK!!EWMpPBGdX53G%+?dV`VuwH92KtWH~ZsG-G6BlK?px4njIWjaeVK8MjH8*BBGcYq`G&wjhIAdmGmjF2#L2lV=`heF=UwlIT_^u7YaH$c42IFWhhl3CMF;*E-onmBVjT&FgZ13V`O46Vl*-}HZ@^3GGb*jHfAt2IXPiwWMi8EISAzd7YRB#c42IFWhi!GY;|QOCMf_TVKOr`WMw%tF*r3jG&5#pVK*{3WHL56Vm324H)b_4H=O`E2cZBN2q0r`ZgX@1GcjU0V`MQlIbktnIAmlqH)CNpVlZZ6VP-jII5=cCp8z=qY-M3?C@BCVVP$1DF*P@0IAby}Ib~!yF)%S>H#TBoG%;c|I51^pG@$@Fr2rWSAY*TCb94YRHDqHoIXN(7W->HpGh;V2H)UluIX5vfGcq${Ib>s_067Nb02cx}I$?8PWMOn=C@BCVVPiBoG+{V0Vm3B4Vlp{lF*G@2V>n?kIWsshIAu0AVx<5%sQ?)WAY*TCb94YUVq!97W@a>EI5jdiIW=T9Ic8>JIWuE6GdMUfHeocU067Nb02cx}I$?8PWMOn=Uvz10Whf~CBVl4RHD)wsWoBhDFgG$XH8*54F*ai|IW}W4HDxhjFgU3IIjsO02q0r`ZgX@1IW;(8GhsD1Ibk$0WjJLwFlAvlW;tbLIW{sfW->Q0s{lC$N2VDF7p3Ff%Y>H!x&2IA%F!G-6^fWHw`CVmV_mGGs6^H92BrtpGW(02v4%V{dMAbO16rG-5bpH!))~IXE$4WMg45Wo9rqV`5}CW-~Q6Wn!-YIR@nb7XmsuVRK(;Zggd5WpXGf03%^BI5jsgH!xx{IWc50H!@>oG&VIeV`F47Wi>J~H(@!k06Db)83-U_Z*FsR05>;bVr67FWH2ycG&o{0H840aI5lNqW-(%7WH>W1H?sga2IT-30y;Wjb6<0Ga%pa7C@BCVVKgu~I5lE4V>vZtVmLB2HDNJfF*jymH8f;oIW#q7GPM9Xxd0gmAY*TCb94Y^Fl9C}VL320FgG(}G-WU}GdD3fGB`G7Fl9J3IAJ-r067Nb02cx}I$?8PbZKp6C@BCVVPh~jWjQoCWjQxFGh|~iG&440W-vK3WH)7DHZf&kX1M@4y#N^nCIB!wFk@k3FgId1G&f;lV`DTqGGt~mGh}6EGB;u}H#55cIRoVY7X&&wXJvFKDIg{QBVl7XWHvQ8F*P2~kWo0p8Wi(?nWH>Z2Vl_7~H)S<2WHB~oVKz82zW_N1K~2Wi(@AGiGKtV`VfmH)AwpIWT5oGiGEkI5Ib8#Q-@51GB-J8I5}cBFg9goF*Y)0Wi(|sV>V?rFgG;G067Nb02c^4I%#uXX>N37XJv9IDIjBSZgX@1BVlGSVmM`DI5cKqV>mK0F=jF_WH>ftIb~*MVlp^6GC9itIR@nb7YI5!X>(t5baH8KXDBHkV{dMAbO0k^VP-TjW@ce#H#22pGdM6XG&f~sV=*~1Wi&EmFf}=5%>X$DmI5Rk7WimB5He_UCF)}bUV`OAxHZw6eF=jC{IL`n%2IT-32s%1xb6<36ZDlAaAY*TCb94YBVK^~1WjQosV>dZvW@9rsG%z_ZHeoS1GG;V4GG;Y2WYGXQ2IT-32s%1xb6<90Y;|QQDIjBSZgX@1BVjaTWMnrnV>xAGHe)kmGGjGnVKikhHe+HmWi&Q2He}NPIR@nb7YaH$Z*XODVRUbDAY*TCb95k7CMYQ&V{dMAbRZ@GBVji)V>C52Wi(?kWHdBpH#1{2VlXi?V>C53Fkvz||GG;hrF*w%%IRfPX7X>;xZ*XODVRUbDAXFwMC@CN&CIBO0VPj=5GBsl|IAmlnHfA4o6V`DKg*#J2M-2fQ{CIC1%V`4L5IWu81H)dsHVq`gGWHB=`F*!LmHexqqWi;CWIRoVY7X&&wZ*XODVRUbDDkv!+CIBO0H#lWCFl8`iV`XDCW@R@uHDog~IAdaFF*9T`H8eRg-2gcPLH5Vlg&lHDqEpF)=t|Gh{MiGchqaGBIN|WH~Wp;{Z7Z5CH%>I(A`fb!7l!Y+-YAbZ>2JUol@Xc42IFWiDuRZEWuVG&(wTVPb4$0AXQaVmW0oWMwfnW-~Z3H#TNCHe@$pIWl5lGcz|~IAretG&(wAa&lpL0AXe^W;Zc2V>x9oFfe8{WHV+mI51&kVq`HgG-PHpW;O2sG&(wSbaH8KX8>VhG&N&pW@RuqG-PBmWHK;hIWjn6Wo0-uWjA6lW->AF05m!}X>N37XJv8#VKFr~WMVgDW;HV~FfubWH#IdeHDoh3He)$rHa9Y5IPU;7Iyz=-Z(($4Zf9R`Z)t9H0AVvYH)c0uHZm|_GBq}4WM*b#Wn(uqV=-knF*q?{GGXrkG&(wBZ*Od6VQv6nI5cH4V>UEqGdN~9IAUQlWnndAIWRS0Vl`nhWMMKl?*KG9I%HvVWdLC{W@9%qGBYtTIWRS2Vlp>nI5K25H)b?uHZ?IZW;bT<05m!}bZKp60AVmUV`DZsG-5eoGiGBpGd4FdFlJ#eIAS(AGBRT{GGgoiHD7dTZDjytHZd_{G&W{9Wi~ZrIb|?3IbmjHF*Y@1WidEoGBz|h003Wfd2nR_ZeeX@b8ul}Wpr2JE@*UZY$IVeV>vT7W;r!AHaKKvFgP${Gc`CgI5sk4GBsv2Ff%X^0TMbob8mHWV`X1yZe(S603%^#I5agfGdX5tH!?RdWiwK6GcYn_GcYh=WHn+C0TMbob8mHWV`X1(VRUF;aCCA2BVl7UV`eloHexh5Ff}wbVP!F9H!)^4VmLN5G%_M$oGh#AgH#9k7FfwLiFk(0|GxGoxUv_C_cK|dwHa0agW@BYHHDzTtFk)h5G&M0|Vl`$mGdDLfHZ|n{0AFur0B&JzWpi+0V`X%2ZEP-RbZu-SVK-toGBG(dVKQW5GBIW|WnwfiH#9UdV`VuxIWuH1F%SU~Iyz}{Utw}`VR--}VKOo`F=96`GiEboV>DzjVKXo@He)z4WnpA9WHvctV-NunIyz}{Ut(`>Y-M3?03%^IWj8rEGB7qZF=JynVK_52FgP+}W;tPEWHdKqI5;&B0TMboX>(s>VRU5xBVjXRHDqC7G&MFeWiw%BW-?+mWi~W6FkxXiH)Jw6WM=sQ6<>5|ZDjy5I5lHoW-u`_H#j+AHZV6hH8C(UHfA|EGB;r}Gh`3}5;{6*b6;j`Z(($4Zf9R`Z)t9H03%^BVPRomFl90}G-G6BG-fn2H8D6fH!)^1W;QWlV>31o0TMboX>(s`Zggd5WpV%`VKp%`Vq{}9VKF%{H!)@~Vr4flWjQipVm4!9F<~)bGY|n1Iyz}{UvqSFX>Ml#BVlD>F*G(ZF*qdA~Ib&pHFgFkZ5;{6*b6<2}Vr*pqBVlAQF=IGmIAJ(4I5uQ9IWsY3G%z+bI5syqVPQ99WMU8j5;{6*b6<36ZDjx>VK_HoWo0umH#Rt7GcsagI5RjgH83GYJt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3V>UEnIAk|BVK!uAW;i%FWHB{4GBIX1GiEVlH#Rpl00A@_5CIYG!Jt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3F*Y_cWM*Y!F*P+fGdE*qGGSq3IX7ZvHZd?{IWsq71OYS}5CIY@Iy!J+a&u)Ub97`nI$~jSX=7h$b98cLVQoA^NI_CQCM+OxbYwa@b98cPZf7PYDF7p3HDhCDH8?h5H)J?wWH)9tHf1$qVrDgBF*Gz{Ght>i1_3lE5CIY`Iy!J+a&u)Ub97`nI$~jSX=7h$b98cLVQoA^NI_CQCM+OxbYwa@b98cPZf9S1X=QgQ03%^EW-vEqWHVzkVr4csV>DziWo0sBF*G+gVmLB4Gcqy=0W>QR0TLlPI&fifb7d%VbYwa@b98cPZf9S1X=QgTAaitNIy!T7a%pa7CMGEWBVjTyW??gBFgRp4GB-6jFgP=2Vlg*kH#ah2Gc`9bG&2eTG#?NF5+pi0aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI&*Y#X>MmDZyb98cbV{~+HZERmLUomuPZDlTKbZu;G0T((tV{dMAbYE$7WpZJ3Z*l-5VPs)5IXE;lVqrHqVKHVlW@TeEW@2SGV>n`CHa2BqVQc{xIyz}|WpZJ3Z*l-5VK6Z=WH>fCF*Gz{H8nFbGBP=2WHV!BF=b(6Ffw9hHf#YG96CC0aAk5~bZ>GYJt$*uZgX@XVRCX|c_u6%V{dMAbRc1Ja$$KUDF7p3W-vBmH#9RhVK6x~HeoqrHDxe4Gh{h1Gh#J4W;S6o7y&sNYylS>Iy!G~WpZJ3Z*o07C}VGKb95kKa&lpLCM+OhZ*FsRAYpQHVR2>2H90tBHa9V4HZ?ObVlZQ6W;r!CVjclG2W$Zs4>~$wa&lpLC{-pVEFe}OCMF;*E-onmBVjdSWHm5hVK8JcIb=6wW@I-uH)S?sI5#vkGBsjlGG-tFISp(97XmsuVRK($a&lpLC@BCVVL385H#A}}W;J0kIW=ZxV>UTCWMpM9VKregHD)m}I3fW#CIJ};AY*TCb94Y>H#RjgV=-Z3HZWmkGGk#eV>e_qGG;I~H8?giIbt*<0XYV20T%)~I$~jCYbYrIBVjaSH8^BtVKrqqH#s$BG-5esIAmrtW-(SJYylSnIyz!yXK8LIDF7p3IAvuxF*iA6WM(mAVl*^nWM(j8IAkz4Ffe8{HDfYnDgilc0T&25I%8sGXK8LIDIjBSZgX@1BVjc*WHDo6VK6W@WMgAvHDP2qIXE(6H8^27Vlrf8V=*iNIRWuI5{|DGB-3bGczzYV=*>0WHvZ30Xb{|7aBS`Wo>Y5VPj<|V{dMAbYE$7WpZJ3Z*nXkRv;!OATBO0DF7p3Vly>lI5A;jG-G3CIb}FzIXGlvH8y5sGBsg2IAJ(sG66XlYylSvIyz--aBN{?WnW@pV{0f@ASNatE-o%903%^xGBq|aW-&B0H#aypVl-i4Vly`}Ib~!vFfwE_Wo9-s0XYb40T&25I%REeba^N#AY*TCb94YBVKrnmGB;&mHezOEWMO16Ffuh|IWT23Gd440I5IM0V>SUf208&52q0r`ZgX@1H#az9HDWk0H)duxGcq}5H)LfoFfubYWH&QrGC5;1H~~2ZYylSnIyz-;WGE>BBVlA=W;rl8VlZQ4Gi5kpV`4F7WjSSIIb~xvFg9c|GBY{>IcxzJAUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^HGBYzcI5;*iWH&NnIbkt2GBGnZWH2&0Gcz_eW@0it0XZIQ0T&QDI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKOo^I5}ZCWn?)tG&E*qH8NslF)(8^VPj%sWn(!oI6eV64r~Dz0y;WoY+-bCWo{@b03%^IHfA?wGcht|G&EvkWMg4AW@9roGcY%0GB`9dVKiev0Xakg83-U_Z*FsR05xJ^Ght>iIAb<5H8eJ4VK!ztWHMo6Gh#JjH#cTBG(rJ625bQr0y;Woa&K;QC@BCVVL4+rI5;#oF)}$}GGR9`Gh;C|G-WqqVr4O5IX5$8GeiM7NC6oRAY*TCb94Y>GiEhmI50UgI5;q7HeonrV>D%CIc7OxVl`qiGh|~%0XYn80T&25I%j2cUtx17b7^{IUvwz|BVjmVVr4jDV=!T3VPY{bGGk?8H#jz8HexYmV`4LAVr57HIRN06a&#zTZ*FsRUukq@a$$6Dax5T8R7FxOAW2k3QYio?_BVRUbDEFg1fdSzd9EFe`TCMf_TVL38pGcq$dGiEYmI5s$8WH>oEVmCKAVqs-CVK!znGfV+F8*Bj=Dmpr8ZgXXFbSPtQZgX^BX>?_BVRUbDEFg1qWI8%&ZfSIBVQgu7WpZC^X>)WuRX!;IBVjl(GdD6fG-NqtVliVkH)1$AV>V%BIAUaGWHe!BW@JtQIVfxa7Zo}>X>N06a&#zTZ*FsRUukq@a$$6Dax5TKCMGEWBVlATG&E*0Gc+<~IAb_9GczzXGC5>nWn*DBF=RA0GB{8HITLIF7YI5!X>(s;a&lpLC@COgZ*FsR03%^BH#0UeVKX^qHf3WrW-&BlWi>fwIAJ(tWHMqnIAdl~0XYV20T&25I%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVl4VWid5lG%z+dGBY<}Vly#0GGSskW;8J}Vr6A8W;Rp-IR(s_Z*6a9Wo~6}b#o{wAY*TCb94YBVKX&mW@Tk%H)AzoVK-qkHDqLAI5jpoIbmipVlZYfH&y{T25bQr2s%1xb6<2}Vr*q7DIjBSZgX@1BVjWzH#Rh4G&o^2V>M%9F*z|}HZm|`H#cNvG-EhoFfdpFIR(t8VQh6}C@COgZ*FsR03%^HVKX>5GcjXjV>e|tGBGt_HZd?UVqr8eW@9m9Wic^Y0XYV20T&56I&W}ga$$6Day=+va&lpLCMGEWBVjjXHDxq4H#awBFgQ6hF=1k2GB7qdVKq59F=a7kGcjBNIR{_?84e(0Z*FsR0A)F5H!@){VmLQ9W-?)8Ha0UdH(@a~GGsM1VPQFAHeLZa3~T`x2s%1%aAk5~bZ>H7T_|&DdSzd9DF7p3I5jh3VPr5eIX7crG-P9CWi>ZrIX7fsGG=8nF*s#6U;#M>YylSnIy!J~a9?6!V{0fW03%^$IXPrEGG#J3V`XMIG-fw5He@+5WHvH4Vl+2lF=S(60Xb{|7X>;xaCLKNUt(cnYbaGFCMf_TVKq21W@a=sVq-C7Ha2BsIbvgCI5aqBGh#7fFgG4uCHDP2jIb&vIH)SxI6IRrTAq6G?VlX#3F*GtVIA%F!H#9RgHZnM4IXPrzG&MA4F*i44ZUI39i~%16Iyz-?a&K}dDIg{QBVlD`Vq!UAVP<4zFfe9eF=1mlH#s>rGGsC`Wic{kHaKtrK>~~c9|}4;WpZ+FawsVvV{dMAbRZ@GBVjpVH90alVlXjeW;tOuW;bRzI5uK9G&3<{WoBeDVmNXEK?sZi9|$@+W?^Y;Wn?HRAY*TCb94YBVL324H)3NoH8L1ttJvGBPtbG-5Y6VPiNrIXN&iV`4F4WimHpWHK~3WjHr>0YL+d0Urc9I%j2cC@CN&03%^DH)Ak0HfClsWHvZrW-%~hVP-KgI5=ZrG&wOcGiGFX0YL(c0UruFI%j2cC@COgZ*FsRASM7KVKO&4WHdN2GB+@0WHK^hIAvimH8L<`Ff?X4GcY${WqJWY2#f(A2s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^$Ha2BpH#lK7WMnuvF*PzVV`VrtHDNP1GBPmWrHDxqoGcaL(0YL_g0UroDI&W}ga$$6Dav)=GZgX@XbYWs_WhN*oAY*TCb94YBVL3BpW;QZ5H(_BmVmV4r6F@OO<28;n80y;WxaAk5~bZ>GXaA9(DWnX1-a&K}bC@BCVVPa!AVKzB4V`4QkI5addVl_E8G-YOHGdN>6F*Y_fIf4N}i~%14Iy!G~WpZJ3Z*m}TVRCb2UuAM~Z*nFkC@BCVVL4_uFkxXfHZ^28G+|+8HD)<8He_TnH)b|tIW=Q6VT1uei~%14Iy!G~WpZJ3Z*m}XVPb4$CMYQYBVjc+I5aabVKF&2F)}h^HZ^29F=R4gH(_HnW;0`AWiW;TL5u+(0y;WxaAk5~bZ>GXbYWs_WhN#lDF7p3Ic7FuF*GwXVqrC5V>2>1H8(I}G-GBrF*GnSF=k;lhyg*20UroDI&*bnV`XJzWn?HRAY*TCb94YBVPZ96W@BVFWn?orH83$YGdVRdGC5*oHaTHrH#lK4V~PPm1`q)NIy!J+a&u*0a%FRMY;*u)Y+-YAbZ>2JUol@XaA9(DWnW)%Wpj0GbS`LgZETPM9XdK>VRU5xBVjl>W-~cBH8?e9GdDA2F=aPmWHmWvWi&J}GBGkRH#Cp|9XdL6X>DZyBVjQ(WHn_sH!@^mG-ft2HZwIgG&5slVKX@}V=`hlGBAz-A75`~W^-k90Agl2F=1plV>d8nFk>@jWHmH4IWRdgGh;I}IAS?BGIIbDUvz10WdL7abZKp6E@*UZY?A>V6goO@aAk5~bZ>GZB42ZQD0OagX=iR_WFTyBZf78DZ*FHP03%^EVKHW7Wn?)tHe)$CIAt+5Ib}CBW@Kb#V`ecpGd44k0YDNE0S!7jY-x05a$#(90ADd*F>GmcWpZI`b1rCfZETnUBRV=`Z)|mKZU7@;F=JsiWH4l6G%#Z}IbVqr37Gc;i^H)J?sG&M6~IA$_tHez9BGGsS1V`i2CMFtQ706IEzZ*_8GWnXY_b7^#GZ*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvO`8X>@6CZZ2qaZEOM_0U`n`0WbkI0XqRe14jc&1x^K00ayTB0Av7XaA9XIIHUI!`0RaI3JOBV+00BY(0A&CHN&o0CWHW`Tzi7009620CE5U1_1zN009gE0B`^V6aWBZRsaBWk^lf{5&-~j009^Q06GBy3jitsfI0vHFaZE%00B4w0BryPJ^=t}00Be+0CWKWBLDyaPyqmW00C410AT?DBme*bU;zMV00CqH0CWHWY5@Rl00D3T0B->RB>(^cd;tJ*00Dpj0AT20RR>N00BY*0CE5UMgjn300B$_0CWHWQUU;U00CG60ATIIb^-uj00Ddg0CWHWf&u_+00D>s0CfNXjsgH-00EQ&0A>IJJOTh=ngRf20RRjD00F830CNBVt^xpM00FcD0CWHWx&i=o00F=P0B!&Q#sUCo0RRpF00Ghh04V_h4FJ{xfG7X~+yVe?00HCz0BryP>H+{?00Hm<0B8UK_5uKC00I000ABzB0s{bT009UC0B-;R4g&yk0RRvH009~U04V_h4*(tmfG7X~Bm)3F0RR#J00A-s04V_h5dby=fG7X~JOcnc0RR*L00Bw^04V_h697&FfG7X~R09A#00S%o03k#J06bg+06hQ!Vgmqj00D3V0B-;Rb^`!(00Ddh0ATt0A&CHjspO200Ybd0BsZl0A`c}0B-;Rngakj0Ra^Nr~`mH00FK80CWHWwgUiV00F!M0CNBV!UF(i00GDY0A>II&I15%0Ra5~00G(q0CE5U-U9%200HC!0B->R{r~_0@B;v400Hy^0CWHW`U3!U009650B!&Q1_S_U0RaC1009yN0Av6G76brp00A5X0B-;RA_M?q00Afj0A&CHE(8E`00A@v0B-;RIs^c200BS*0AT?D00962OauUA00B@00B!&QRs;ZV00CSC0Am0FVgvwX0RRF400C|U04V_h0ReIZfG7X~cmx1F0RRL600D*s04V_h0|ANzfG7X~kOTlc0RRR800Eu^04V_h1p%T2fG7X~s008#00V#o03nzJ06ee+06hQ!wgdoj00G1V0B-;R$^-y(00Gbh0ATy00A%t0CE5UHUw0BHaLjs^g100EQ+0B!*QI{^RzpauXb0RcJzqy~T}00F870A&CHvIYQb00FoL0Ac_Ez6Jnc0RTM#00GJd04V_hJOR!IfG7X~)CK@$00G+{(RtEqn0s%q+Kml9_fG7X~Vg~?S00Sro03k{T06lC609yb7at8o%00Dpp0B-;Rh6ez200E2#0AT0A&CHo(BMM0{{;J69Ewc00F8804W0j4gnGY5CO6WfG7X~xCa1b00G1Y0BisO$_D^q0RTq<00Gtq04V_hMgiIffG7X~;0FL@00HO+0B`^T&<6lv?gs#Q0RR;N00I6704V_h6afMVfG7X~2nYaW009sP0BisO76<@h00A5b0ATWC?&e00C+V0A&CHatQ!z00DRj0Ac_F90dSrehC0!0RR{P00E8(04V_h7XXq8fG7X~mIIf(ig%00D>!0B!&QjtT&800EQ=0CNEV9{>OWpb7vf0RbKWqzZs200F8B0B!&QvI+oi00FoP0BHaLz6tSA0Rhqh*bIOu0Rqqg&J2Jk-V6XH00HI<044wd@(ciS00H<60B-;R{tN(e009II0CE5U3Jm~d009sU0ABzB77YMp00A5g0CNBVA`Jj?00Afs0AT?D)d2tjGz|bL0RYzl00BM?04V_h)&W8dfG7b1)B!jRfG9`}044wdPz?Yk00CSL0A&CHVhsRn00C$X0Ac_EZVdoo00bBe0Aj=p0Anr<0C02-0CWHWdJO;|00E2*0CE5Uk_`ZF00Ec{0CWHWo(%wD00E>80CE5Usto{T00FQK0B`{S*#Q6nybS;;0Rh+nzzu*X00G7g0Av6G&J6%%00Gnu0Av6G+6@3@00H0)0A&CH<_!R200Ha`0Am0F@(loW00o{40A500A@(0A&CJNDBaEYzqKpIt~DG1OWE{`2h0(^#A|?P7VMm1OoN|_yF<%^Z-B(0AE-RfG7X~UJd|d00D3g0CNBVb`Ah?00Dds0AT_EFaRz900D>&04V_gG5`PplnwwX0Rb@pm=1s_00Ev30C@lbrVapM00FEH0CE5UvJL=p0RS`r00F)Z04V_hGXTO4fG7X~$PNH*00Gbr0ATRHUIzt^bP(0CWHWjt>A~00EQ_0B-;RnhyYM0RTJz00E{C04V_hI{>N=fG7X~unz!o00FoU0A&CHz7GIr00G1g0A&CH$`1f^00Gbs0B!*QJ^%m#+z$XL0RcS#;17T(00HI?0A~OJ?hgQN00Hz50BHaL`VRnd0096H0CWKWKmY&%3=jY*0RcY%5D0A&CHLJ$CL00Jry0AWZF0BHaRxDEhe?hXKAKo0<9pbr3M)(-$_1`q&qP7nZe0s=1pEdY)VfGAiH0ABzBb`St_0RTh*00D{+04V_gMgRZ-ln?+Z0RTt<00Ev504V_hM*yM_fG7X~s1N{i00FQN0A&CHwh#bp00F!Z0Ac_E!Vmyq00GDl0CWHW&JX}!00Gnx0A>II+7JM50Rlw;m=J&{;1B>`00HI@0C@lb@(=)F00H009aS04V_hNdOKJfG7X~6cGS!00A5k0ATROaK4@KoI~b0RT<_00Bx704V_hO#n_2fG7X~R1pAW00CSP0BryPVi5po00C$b0CWKYO8`U>fGBPe0ABzBbP)h$00Dpz0CWHWh7kZ^0RT_{00EK_04V_hPXLw?fG7X~oDl$Y00E>C0B!&Qsu2Kb00FQO0B-;Rwh;hu00F!a0ABzB!Vv&x00GDm0B!&Q&Jh4<00Gny0CWHW+7SR@00H0;0B-;R<`DpF0RU0}00Ht504V_hQ2_Q4fG7X~{1E_h009IN0A&CH3K9Tk009sZ0A&CH77_q-00A5l0B!*QQ~&@0C=viE0RdA0EE0ey00A-*0A~OJIuZbG00BS}0BHaLMiKyW00B%A0CWKWRsaA2SP}p!0RdG2ToQmN00CkW0A&CHY7zi!00D3k0Ac|ESO5S4d=daD0RdM4fD(Wx00D*)0A&CHjuHTE00MRr0AZ980BHdLS^xk6q!Iur0RdS6s1krE00FKN0A&CHwh{n!00F!b0BisO!V&;s00;yT0AV^20Ah?00A%bD0A?Z*0BKSZ0CSoW0CdO_0CoWaLjaBtfGExq0ABzB@Dc!X0RUV8009CM04V_hTL1v%{fG7X~JQDzA00Bf30B`^SN)rHi0{~(GU;tzQ00CAL04W0jVE|tMV*p+gfG7X~WD@{%00D3l0BHaLb`t<|00Ddx0BHaPgb)B>{1O0ZEE528P!j-jf)fCC00D>-06GBx(*OVgq!R#T00F2I0BisOt`h)a0RY+n00Fua0A&CHz7qg#00OiV0Aa)v0BHdL)Bpeh)Dr-C00Gz&0ATR+W-Iov=jhk00FoZ0BryPz7zmy00G1l0CWKX*#OEE0ABzB&=de=00Gz(0CWHW-V^{~00+tw0CegT0AUOi0CO}H0BMF40A{Wf0Al160Av6G>J$Jv0Rh|q2o-=j009ma0A&CH78L++00A5o0C@ob-2eaqC=~!^00JTv0CX%B0B->TWdNQNfI2c20ABzBJQVRX8-^Jd=&s?00Dp%0B!&Qh7|y50RU+L00EK}04V_hXaJTKfG7X~oD~3U00E>G0B-;Rsucil00FQS0Ac|EYXATNycGZ`0Rd_Nz!iWf00G7o06hT!Z2$lP)D-|J0RV3R00G_=04V_hZUEvHfG7a~aR2}T@D%_l0ReCT^c8?80RwCR*cE^%=oJ7w`V{~@0RVFV009yf04V_hasU<=0BHaLjurrP00ER10BHaLnic?a0RZ0s00E{J0CE5Usulor00FQT0B`^SwiWV!a*cJe800G<<0BHaL;uZjB00HP00A&FH&Hw-b^cDbQ00H>0BHaLju!xD00ER20A&FH-T(jrpcepm00E>I0A&CHsuuuc00FQU0B!&S&K3Z0nil|awif_t00F!g0ABzB$`=4-00Gb!0Am0F))xSB00G<=0CfQX;Q#;u=obKT00Hb50ATR<^TWzoEQLQ00E#F0BryPrWgQe00FER0CWKX0BHaL;urvL00HP20B`^S?ic`H00HzE0A~OJ`WOIi0096Q0BHaL1{nZ!009gc0ATPx$Oc?-Y00B@L0B!&QRv7?k00CSX0CE5UVi^E*0RZX%00C|p0A&CHav1<@00DRz0Ac|E>i_@&gc$&300D>@0BryQei;B^ju`-H00(Xu0AZFG0AkD-0AwB+0A@xR0BL9$0CSWX0CWHWo*4jN00L4N0ByV(0CNEVb^rhY%ozZ300Gb$0B-;R))@eF00G0A~OJHW~nB0RWEx00BZ804V_hjsQj)fG7X~Od0@W00C4Q0B!*QkpKVzU>X1^0RfNzWEy}d00C+m0CE5UavA_(00DR!0A&CK5*h$+JQ@IES{eXlei{I50RVRZ00EX70CE5Uni>Fa00E#H0CWHWrWycY00FET0CE5UvKjzo1OTxBs{pM4uK)l6z8U~21Oc!BssOA2t^mjyfG7X~&Kdx800G<@0CE5U;u-*D00HP40CNEVvj6}A^cnyu0RXiC00I6Q04V_hv;YDdfG7X~2pa%%009si0A&CH78?L;00A5u0Ac_EA{zi<00Af)0CWHWE*k(}00A@`0A>IIIvW6Q0RplB_!@vHKpOyG00BlD0C@lbQX2qa00CGV0CE5UUK;>%0RXoE00C+n04V_hwg7G$fG7X~bQ=J300Dd(0CfNXf*SyD00D>_0A&CHjvD}O00ER60A&CHni~LT00E#I0B-;RrW*il00FEU0B->Rxc~qGxElZ|0RgxGyc>Wh00F`q0A&CH${PS|00Gb&0Ac_E)*Ap}0RX!I00H6~04V_hx&Y=IfG7X~>>B`O00HzH0CfNX`Wpaj0096T0ATtxb0sz4PzW@LMavT6D0s+7Pz5sX}fG7X~ejET@00TrE03l`^06mBt09yb7jvN4T00EpF0B-;Rq8tEp00F2R0AT>L1cA{_v80sw~qg#Z8nG93UZ0s)2qga9}lfG7X~J{h(%kR1Ri0RfZ%lpTO500EjE0BZmNq8$KZ00F2S0ATgCn00Fuk0A&CH#vK4-00GP$0AT?DmjD0(*c|{V0Rff(+#P@@00H710C@lc(j5S7>Ky=d00HnF0B`~Tn*f;r0096V04V|ingEyp1|EPY009gh0AvCHp8%Zz00A5x04V|io&cNxA|8M!00Af-0A&CHG9CbP00B520AT!00Cqk0A&CHY90V|00D3w0CWHWb{+s>0sy4|qW}N_f*t@V0s*7|q5y~i00Mj-0Bocl0CEBVsQ{+{00Fcf04V|ir~sw_x*mWi00F=r0CNBV${qk=00Gb*0ABzB)*b+K00G<{0A&FH!vFvQ=pFzm0Rh4Q>>hw900HtI0BZmN`W^sd0096W0AT}0CNBVjvoMJ0RYJW00EjG04V_h$N-)nfG7X~q#pof00FEY0D1rcvL66x0RYPY00F)q04V_h$^gP2fG7X~$R7Y@00Gb+0B`^S)*k?Q01Sj00AnN^0BOJ+0B;OI>fG7X~L?8e?0RZm+00B}U04V_h?f_OGfG7X~Tp$2E0RZs;00C+s04V_h@BnTgfG7X~bRYmd00T@Q03l=`06csk06hQ!f*=5L00EF70B-;RmLLFh00EpJ0AT0Q2{m~fG9>G06bhF06hZ$VgY0UU;zLDd?5fS0|8+HV*y_Qgdu<^0RXrG00EXE04V_iw*iVF06m%^fG7h1XaQ;gW&r>JtRVm?0|0ITZ~<%q00Fuo04W0jZ2@lqYXQO`fG7h3X8~yeWdXDyfGEfz06hT!tN{Q4Rt^oi6AR+)M0RXT800Al@04V_huK_M1fG7b1tpOw=fG9K~044wdJR$%l00J5!0AolZ0CWQYv;ndKwgCVESRw!^0|B!Eu>rLKU?PAh00t-_03m2006d@}06o+p06tD403c=}04e|hav}h700E350B-;Rk|F?f00EdH0ATT0A&CHsv-bz0swdcb^!nZwjuy20s(gcbpgC0fG7X~!Xf}}00GP*0AT(q!fG8v*0ABzBDkA`800B570CWHWJ|h5O0sw>of&l;lN+SR%0s(^ofdNn>fG7X~RwDp(00Cel0B!&QW+MP;00C?x0B-;Raw7n600DR-0ABzBej@;900D#}0B!&QiX#AN00EFA0CWHWmLmXR00EpM0B-;Rq9Xuo0sx2sh5-Npt|I^`0s)5sg#ol9fG7X~x+4H`00G1!0A&CH$|C@000Gb=0A&CH)*}FP00G=10B!;Ri~))P00HPD04V|iivfuN?jwLG00HzP0A~OJ{v!Zx009If0BHaL3M2q>009sr0CWNXkO7VX00A5%04V|ij{%JVA|!w)00Af@0A&CHG9&LLJQL?ZxXs3QPo;v)cQ79;?3J|qBi00BfK0ABzBUL*i>0|1l(k^zu@jfG7X~cq9OH00D#~0A&FHm;nF*kR$*p0Rfi*lq7&C00EjL0C@lbq9g!e00F2Z0CE5Ut|S0*0RWl-00Fur04V_hnE}2efG7X~#3TT200GP-0ATRoB;p<@FV~!0RWx>00H_W04V_hodNzNfG7X~1SJ4v009go0BryP5+wj>009^!0CWKYn*sDBfG8d%0ABzBBqac400A&10CWHWHYEUI0RW%@00BZJ04V_hp8-ZCfG7X~OeFwx00C4b0B!&QS|tE!00Cen0B-;RW+eb{00C?z0ABzBawPy~00DR<0B!&QekA~D00D$00CWHWiX{MH00EFC0B-;RmL&je0RW-_00E*U04V_hp#i2PfG7X~tR(<)00Fcm0A&CHx+MT-00F=y0A&CH#w7rB00GP;0B!*QqyYc{*d+id0Rf`{+$Df000H790A~OJ>Lmbf00HnN0BHaL_9Xyv00I0Z0CWKWrU3u}2qpk20Rg1}3?_gm009yv0A&CH8YTd200AH-0Ac|Er~v>0EG7Uc0Rg80FeZQ~00A~80A&CHJ|+Nd00Jf^0AWNX0BHdLssR82R3-o^0RgE2SSEld00CYm0A&CHW+ni200C?!0BisOawY&_00^`s0AcDR0Af5P0A!pc0A|u90BHgy0CP$v0CadJ0CoTYekK5400E#T0CNEVx&Z(ItR?^{0Rg!IuqJ>g00Fip0A&CHz9s;000G1%0C@lg2q6G=up$6&WF!D#iX;GMrX~Ps$|eAG00Gb@06GByy8-GZfI0vH@FoCd00H*U)3MT+|009su06GBy`~W&9fI0vHKqmlf00BrR0Br&R6#xPNr~`mH00C4d0CWHWUMB!$00Cqt0CNBVY9|0@00D3(0A>IIb|(OD0|EyD+5iCnd?x^31O0A&CIGAICaPyqmW00NW(0A}0@0CNBWI4A&NLMQ-b1OP?=vj8;#m;nF*Rww`|0su$=wEzGCW+(tD0s%(=v;b@IIrYHb!1p-9?vH&yzmjUAdU?_kntSA6q00FWn0C@lb#wY+`00GP>0CE5U(kK9O0su+?ngIX--Y5Vm0|7|@nE~VgCMf_Z0|89{odMXk00CAh0A&CHW+?!400C?%0AT_EPynC-00DR@04W0jPXM0*=Ky{wfG7X~ged@Y00EFG0B!&QmMH*f00EpS0B-;RqA37y00F2e0ABzBt|HuCUfG7X~WGVn<00DF=0BisOdMW^70svS5r~v>0hAIFl0|8e6rvd8#j4FUA00ELJ0A&CHo+?ErZI3js_41^{aS00Cwz04WOrCIA5e4**R8PXX)zcmN6kO92G{Y5;yKfG7X~gew3&3IOi_DF6fkSOFXW8UP3Y5&+QvZvX%RrYis`3IXl_C;$TiR{@~cI4poD0|31MKLNM_00CMo04W0kyZ}A{w*fvZ06k(XfG7e0%K>Qs00DR`04V|i$^mEqek_0}00D$70BisOjw}Fg00ERN0B-;S?jZmsmJ9%400N*a0Ca2&0B`^Ssw@B?00Fct0CWHWx-0;500F=(0B!&Q#w-AD00KNB048n?0AT+{(?koT)1OdPRLIJ)2KmqtHfG7X~{wx4p00*Ee03ix206b_c06p9+03Zx409(`{06u0S04e|h5-k9700A&90B-;RHZ1^j00BHL0ATvLb00D$80B-;Sb{+s>dK3U}00WLK0CJQq0Bpz$0AT_G9RL>qL<)d9k_mt)00FEm0CE5Ux-9@@00F=)0CWHW#w`GJ00GP`0ATII>Ma0Y00HnV0B!&Q_ALN!00I0h0CNBWb`Ah?2p0f!00Rgv0AUy(0B=+u0CfTYTmT^e00AH_04V|jTL2&cCN6*|ycYmp00As60A&CHIxYZX00BTQ0CE5UMlJw#0szSXMF9W-QZ4`~0s+VXL;+YXfG7X~UM>J-00C$&0D1xe-~iPC6c_+s00DF^0A~OJel7rR00D$90BHdLNdW)?iY@?hkS+jZ00m4g0B>$C0BMvi0CZvm0A=zG0CfNYP89%eKm-6`0st}qg8%>lzAgYM0s%1qf&j!WfG7X~$}RwT00Go40AT@EN)0|7GtcL8+)^e%uX00H_g0B!&Q1}^|%009gy0A&CH5-$L3009^;0B-;R9xniI0{}Jvd;xj^00Am504W0iH~@eFegOahI4=Mx0|7Sxe*t{~KretO00BlX0A&CHQZE2)00CGp0BHaLUM~Q20|GSwdjWX?GB1EAWG?_;00C+*0A&CHdM^NU00Dq60AT|FIsk+Lf&l;lj4uEw0|7Yzg8_j7lrMlN00EjW0CWHWrY`_)00FEo0BHaLvM&H{00Fo!0B`^SzApe@00G1=0A~OJ$}a$J00Gc10BHaL)-M2b00G=D0AT^009&*0A~OJ8ZZE500AH{0CWHWCNKbQ0{}h%i~))P00A;E04W0jJphXVi2*t=fG7X~KrjGj00B%e0B!&QQZN8%00CGq0CE5UUN8W30sue&6#)PNYA^sP0s%h&6ajEBfG7X~b}#^C00Dq70BisOhA;qP0{}t*kO7VX00ELP04W0jK>&{djRBf4fG7X~pfCVs00FEp0BryQj4%LUvM>N?00-tS0AVCA0AhwO0A%hj0A?&O0BK|}0CTu70CWNZF90n7jt+n*!Y}||1p>?fd;op`fB@706d-^)&K!U!00HhW0C@lb0xL!3X)*t|1;vj%100AB`0A&CHGBE&k00B5L0BisPd=mg^J~04c0swXZ2mt^APB8#-00C4n0B-;RS}_2000Cez0ATi04V|ii~t$|sxg2l00FQu0B!&Qx-kH000F=;0A~OJ#xVe80sxNy9RUCV(lG!j0s)Qy90AxdfG7X~-Z21V00HPR0B!;RkpLe700Hzd04V|ikN_S5`Z0hg0096p0CE5U3Nip;009s(0A&CKnlS)x%rO9B?lAym7BT>A1OSTw83Bm^7XbhPE;0Zq1p$fx7y*a?76HuwI5L1J00BNS0B!&QPBH*#00C4o0A~OLP8|SYS~37-s1yKi0sxl)BLM&bZZZHV0s)o)A^~(VfG7X~dNKfc00Pn-0BnRZ0CWHWiZTFj1OS@=CjprNB>?~dnlb<>1p%4>CIOfLBmvFx{BE;9gMLNkCU00Brd0CWHWUNZn?02J;g0CY?!0Ay4v0BKY$0B?FN0BxQv0A>O%0BRC00C1iz0CS810C}`70B#g90AWNi0CpTQ0Aq|50Bm3~0Al807xqh0O(c?0O*4a0O+p`0IBW`0IBi~0I5w50I5+90I84;0I8G?09dsS0IA>(0IB2-0I3lV0H_oX0I5e00H{h20I7cu0H}fw0I9SO0I0VQ0IBW|0I2Z~0I4ky0H`n!0I6jV0H|mX0I8f10H~i30IAXt0I1av0I3HN0H_KP0I59@0I5L{0I7Nr0I7Zv0I9(d0I9_h0I2{H0I38L0I56@0I5I{0I7Wv0I7iz0I90IA^_0I3uj0H_xl0I5P60I5bA0I78v0H}Bx0I8!I0I8=M0IAm+0I1p;0I3lh0I3xl0I5nF0I5zJ0I7Z(0H}c*0IACx0IAO#0I3cf0I3oj0I5hE0I5tI0I7Ez0I7Q%0I8`Q0H~}S0IB*M0IB{Q0I5730I5J70I6~v0H}2x0I8rI0I8%M0IAd+0I1g;0I32V0I3EZ0I5A50I5M90I7@~0I8530IA#_0IA>}0I4}20I5A60I7i=0I7u^0I9wo0I9+s0I3Ba0I3Ne0I5hI0I5tM0I7u_0I7)}0I9+t0I9|x0I2~X0I3Bb0I4t`0I4(~0I6>w0I72!0I8-S0H~=U0IA?10IB350I3`z0I47%0I5|X0I69b0I7~50I8B907$eV0O;W&0O$-O0O&X)0I8fK0I8rO09e!`0N4N|0N5-f0N7b10N95l0NA`F0NCmz0N52J0N6k!0N80I0LZ2#0C?dg0C*K90C-F$0C;*P0C=M&0C>zM0O0I0J@0IBUp0I2Xr0I4fS0H`iU0I6t40I6(807#uj000XB9XdK>VRU5xBVjl>W-~cBH8?e9GdDA2F=aPmWHmWvWi&J}GBGkRH#7?X9XdL6X>DZyBVjQ(WHn_sH!@^mG-ft2HZwIgG&5slVKX@}V=`hlGB5!EA75`~W^-k90Agl2F=1plV>d8nFk>@jWHmH4IWRdgGh;I}IAS?BG7A752s%1xb6;$4V_|G4DIjBSZgX@1BVlGRWHvD|IXO5qHZ(P5VlXi^W-?}BWH4oBG&nb6Vq*gUKL!f`9V9wBZ*XODVRUbDAw4K#Z*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVL4%CFl8_^GG=CFIWRdgIAb(7Vl*&fWH>Q3HDqOBGX(%YA`1W=Ejl`HaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVQu9Qa&auAY*TCb95kNVRU6*bZKp6CMf_TVK_54I5A~pVr4KlGGbvjIWab4GB-IhV=!ScHDoknG6w)ZD+>S}Bsw~8aAk5~bZ>G!Jt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3I5;(9Vr4lnGGS$5WMN}sFgZ0dGBYq?WMw&IIAS?r2>?GLEC3Q;bZKp60AF8pX>DaLXmo9C6#ySPI&Eogb#!HO03%^CW;A1DFfuhcGcYh^Gch=1WoBbAV>M-FWMwruGGt^G03Q%KI%aZjZC_|;Uu|tDX>N2lUvw-WX>N2lUvwz|BVlAXV`epDFgGzWHDfV1H8D0gFl00`HZx{2GiEb6F)|GRK@JrF9~wG3Z*XODVRUbDAw4K`X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^HH)SEkI50L306`cP03RG!Jt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVlAYG%_<~WiU23WH4bgV=!W2GdW~sVlp;2Ibkq2W;PQ5K^O-C5?^m-W^-k90AF8kW@d9`bS`LgZEXAi06IEkWoBV@Y;<2{Z*py6baZ8M0Ap-nb8~cWZERmLUom85W?^+~bYEX)Z*py6baZ8ME@*UZY#jh0Av!v0b8l{6W^ZzBVRUq5awubOZgX@XbZ>2JIy!D|WMw8SAZBlJZDDj@W^7?+b148LVKX-}WMMZlH8f^9V>x1EHZeIfV`4ZnGcq(VWM*MFH5ULw9~}T8DmprEaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JXAg=EFfxgZ*E^^Z*py6baZ8MCMGEWBVlAWWo2e%HDob1HZU_eF=RI~Fgap5WMwpFH8?nAVqqBoLns{pAt^dKZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9G&yCM+Oob8l{6W^ZzBVRUq5awaJNBVjNxH!)#jHf1(tGdMCfVmD+pH#0e7WjHc7G&nP2WilH8Lnr(I06IEqb8l{6W^ZzBVRUq5asXp&VRLhIZ*6Q}F<&uib8l{6UuJJ|ZDDkDWpXZPbZu-R03HZBI%H*YV{&P5bZKvHC@COgZ*FsR03%^FH8?V5Ib=3AW;kJCGiEkrW;8T1V=!SbG-Ne0I5K7)06+#J03HZBI&*Jza${vEDIjBSZgX@1BVjl(HaKE5IW#ddFf}$cG-GBoVqrLDV>vcuW@IomF*G0mKnDB(06IEwVRCb2UuAM~Z*l-*Y+-YAbZ>2JUol@XaA9(DWnW)qa&m8SE@*UZY%Bm5Iyz)wc>p6}IAvouVK*`}IASlV=yr>EC3feI&E)mbZ7u0VK6l^IAb?5GGs7eI59UgF=071W;SIrVKFf=Ha0OdWh?*}Iy!k}VR8T?VPr96V>L1|Vlgo_V>UTtV>vK5H8e0{F=IAnW;Z!9Vk`g`3_3b*aAk5~bZ>GYJt$;hbY(0cWMOn=DF7p3W-?)9HDhBpVP-I5F*r13HfCXBF*q`2GcsgmIAJkkCIC4KEC3fMIy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRLr6hVJ|-+6V{dMAbRcA5bY&(f03%^BFg7zaW;9|kVq{}8VlrhoVmL7|Wi>H4W??X5I51%-068Ws02d58I&W}ga$$6Day>mLWMOn=EFffIbY&?3BVjN%W@a;HHaTK6F=RG5Wj8o5VPRu7Fk~??WjJ9nVK^!PISTv$06IEkVRU5xb98cbV{~+HZERmLUom81bY(7RbZu-e02l}$V{dMAbO19mGchzcGdVdnV`O7tG&M0{H8wY9V>V`DIAvlpGi5CRI0j_^76LjtVRI-c03%^$Vl`o6Wo0xqV`DR9WHB~nH(@w1G-75oHZ(G2H8*1~061j;76LjtVRK($a&lpLC@BCVVPs)rGB7k|F=H`hGht;pIbvmDVK+HqVlg%{G-G2qH8B7Y-M3?C@BCVVPrXDV`X7EF=JykWin=DFgGzaH#ak6FlJ*jGGk_BVKV?YWdIfeIyzxDaFDF7p3GGZ`fHZV0cH#A~lVKO-|I5}ZtWjQc1Gc!0bGdMM6Hvl+g02Tr|I$?8PW^8X^bZKs9UvO_}ZgeOq03%^FG-Eb7H843hF*#;7Ib>uuGGRGkWHK-`WivE6F*hLKoVP-WrV>mD~V_`WnGhs1iIAu6AG&el}IAs790y;Wjb6<2}Vr*q7DF7p3VKzB7H!(IcGdX29G&3|YG&M0WGch+aWjHu6W@0!nKL9vo02Tr|I$?8PbZKp6C@BCVVKiYkI50S7G-Nq9HZ^24GB`OiVKFcdH1F)=tp05}F^02T;3I%#uXVRCX|c_=9$V{dMAbO0k^V`F1wH#RjjVlZQ4Gc+(YIWb{3H8nIbGG=6DGG$~pMF2PkWdIfkIyz}{Utw}`VR>I~W?yt+Vr*q|C@COgZ*FsR03%^BHaRzDH)LTkV`MgAHDxqoGh{PmGBsr|I5IahVly;H05}F^02T;3I%#uXVsCG3Wnpe8DIjBSZgX@1BVjZ*V_`F5WHvK7GB7eZVK6o|W-&8kFfut}GGt;fVlqhpI0j_^76>{zX>(s>VRU6EDIjBSZgX@1BVjgWHZV3YV`4EfGc#g1H)J{zX>(s>VRU6*bZKp6C@COgZ*FsR03%^JF)=kVFf?LiWi>HjV>V@GIW{t6WI1FsH)3WnVmDMmIDIjBSZgX@1BVlD`W-~Q8H#cE4VlgvjWiV!CW@0&EGh#J4F*jy8IAv1+I0j_^76>{zX>(t6VPb4$C@COgZ*FsR03%^FFkvz^Ffn0fH)S+3VlZZ5VlXx^GB7q|WMwyDIXPuj05}F^02T;3I%#uXbZKp6C@COgZ*FsR03%^EVK+85GhsAhF*PmN2Wiv4|WI1A205}F^02T;3I%#uXc42IFWhf~iV{dMAbO0k^Wn^S#Ib~&HVq`RBV`VovIb}6AH#KE4WI1FtIb}3qSpYZ&WdIfkIy!T2b#h~6C@COgZ*FsR03%^xGdDP9VKX!{WMN`AWH(}DVl*%}Gc`9bWMW}8W@KYq05}F^02T;3I&^t(Whf~iV{dMAbO0k^F)(H`I5{vgHDhHlGht$4Ffd^;F*z|aH8^2rHZwCcT>v-+VE`BlCIB%xVq#%sGdE#5W@Ip8VmM@EWH&c9G-5L|H)Jz5I5J-VI02IbSOquPD3UpDIg{QBVl1NVlpx~W;r=BIW;piIAt*~WjQoqIb=3vHeqFDH#K1ZI0$6`77#i*c4>2IbSOquPD3UpDIjBSZgX@XCIBO0F=8}iWH2{1V>U1`GG;enVmLH8H8?jnV`4BhI5}ivV*oe~`~UztI&N=dWdLJrVRLhIZ*6Q}F<&umZ)9aIXmo9CbO0kdI%98ab!~0{BVjRPVK!tiWMVWhV>UTtGB-FhH!w3WF)?O0V`eopGc4X>MfzBVl4PF=Jt4H90pqIAk|4WimBpWjQxtV>dK2GdDIfV`FpxBM3S=Z*XODVRUbDAYyNCY$z!pV{dMAbO0k^V`E}rGG;S0VK6sjIASz4Gh#SqGG;bnVP-O9H#1{qXaGe9bO0kTIy!G~WpZJ3Z*n0$C}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^JFlJ?AIA&onFflY?F*7wdVKX)|W;ro8F=J$6FgG)507Wiz03$FuI&W}ga$$6Day%$wZ*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVK+B1H!(ChFfwLhF)=eVG&MCjH(@bmWHMngG-WtrWNZLME_47RGdenNaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVQu9Qa&auAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^xI5#sgGiEbmWjQi7Wic^kWnwpFGcaakWi(@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVl4mT4H#9RaF=b;kIAu3uHD)tqWiewnF=223MJ{vzBQQETZ*XODVRUbDJv}I6Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVKO#0F=1q4I5IM0FfutYV>L4}IAl3wFfe5_VmVUF8lxhIy!T2b#h~6UvO`8X>@6CZUA$1a&=>LbZ>2JUol@Xb8mHWV`X1oaBp*IbZKvHE@*UZZ2SNXIyz}>aBKiyF<&uhZE$QZXmo9C%m5cUI%98cb97&6bY*g3bZ>G1BVlA=GdVakG-6>lIbktoHfCjGG-hIDH)A+rV>UKrVqwex7dkp=bY*g3bZ>G1BVjNxGGsV5IWaUeVl_20GBPqbWMngAWie%8V=yveW;VdK2H(@Y2G&W&5WHn_lIWuHAFf(E`Ic7FtGG!Jt$*uZgX@XVRCX|c_u6%V{dMAbRc1Ja$$KUDF7p3Fg9amGBss0W;ifoIXGlEIAt(2F=b{sI5IOiH#TE1dH^{Z%m5bxIyzx;a$$KWDF7p3FgZ0fWHe=DV=^=`H8e0bVKrtqV>V+nGiGEnVKy)}d;mGj02c{5I$?5hVRvTCM+OUASNatE-o%903%^FVq`TiVPP<2Fgav5WoBeIHaBH9V>mZ7H8M3~Win=f067iJ02cx}I$?8PVRCX|c_=9WBVjo*I5#w6FlIGjF*!A6W@9!vIb>vIFkv-eGBsu~F*t$%Ifeik2q0r`ZgX@1V>dQ6GGj4eVm2^gW-?=8F=IDmH8N%}HZ?dlGdW^3gaA1P%m5bxIyz!uV{0fW03%^EV>LKrWnndCI5#;pWi(0W{Lng%m5b%Iyz%wWoKz_C@COgZ*FsR03%^FHe@klVqq{aHe_RCV>Mx9IXO5oVl_BnIAStnWMeUm067NC02c^4I%8#SWGE>hV{dMAbO0k^H85p1VlXo@I50IgHZW#0IWsV2FfutZGh{hoI5c7~jsQ6Z%m5bxIyz%)WnpqCDF7p3WMN@8HDYEqGiEY5W;i)GV=^~1GBYzUHe)e1HDoq8kN`Q%02dlMI%REeY+++%C}VGKb97&6bY*g3bZ>GjAXXqICLk^@E-3&bVKy{2H)S?BWietiHDfY2W;i!CV`eZkVr4csG+{P5GLir}7|Z|{3OYJvZE$R1V`X1rVPk73Rv;!OATBO0DF7p3GdVOiW??vEI5IM1WMN}4HZo&0Gh<;nVKHGfHZf&llmIyh%m5b%Iyz--aCCVnDIjBSZgX@1BVjdUH8MA4VK!oBWMpAvF)%VUWjQcqG&43cV>mK0V`G*8IR=^l83-U_Z*FsR05>-{Vl`qoFgIpqH#0IhW;bMIF)%VSH)J<6W->WrGME542Fw5#0y;WnZe%Da03%^!VP-inIASnkV>4wqVq;=4Wo0>KV>xAGH!wD2GBPuo06EM67a%%1WpZJ2Whi5BZgX^BX>?_BVRUbDEFfcVZgX^BX>?_BVRUbDDF7p3H!?FbI5;>qFl09}V>w|lHZn0YH)Jp}IWsdhHfCZnoB%l<%m5bKlWic>gG+|?6WMyMHFgTt7IS$MK7XmsuW^7?}bY*TRDF7p3I5uWCW-~D|W;8TnV`O7tHfCcpH8U_bWimK4GhsAipa40f02v4%V{dMAbO1GCVKZT7F*sv3Gc`0eWMMXDIb4nkVmCKtHZ-CDIR?xC7XmsuW^!+CbSNnRBVjpXH#j&nI59FgVKQMiFf(H@H8f>6V`617VL3N5WHY1yIj8^`4j^N1ZgX@1V>4zoVK^{3GdMUfW;S6sWn(mDWI1LzVq!I7GBadjrT{q%%m5b%Iyz@%bYEd}D069gWnXkD03%^IVq#@DVq-92V_{-3FfwChVmCN8Vm4wiW@BPAW@2Ti067NC02drOI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkNmNBrEFei#MN%mMBVjo?Hexn1W@I=uGGsG3GdMV5I5Rk6I5}oBG&MLmG%%_FIU39W7ack}X>N06a&#zTZ*FsRUukq@a$$6Dax5ToX?kT}bSxlMCMGEWBVl1>GBP-2GdN>0G-EhqHZn9fVKHH1G-WhoWMeTkF=VU&IUCFX7b-eBX>N06a&#zTZ*FsRUukq@a$$6Dax5TobYwa@X>MtBX<=+>dS!B7Y-w|JJXJm^03%^CGB7!1G&N!~Fl1&pG-EktHe_KlI5A^nFlIS2V=yVV{dMAbYE$7WpZJ3Z*nXkRVF4W03%^BFg7_eFk)h4W-&4{F*!6bI59J3H8EjgVKHN4F*jwf067!P02c^4I%#uXVRCX|c_=9$V{dMAbO0k^F*h?dGGQ}0W;SJGHfAw2V`VitW;kIuWn?m9I5=ZwvH&>-%m5b%Iyz}{Utw}`VR>I~W?yt+Vr*q|C@COgZ*FsR03%^yIAt+4V>B=}H!?FfVPZ2eIWl2lIA%04GGb+AFlIKi067NC02c^4I%#uXXm4$AXJu|>Z*_AhDIjBSZgX@1BVjW&W@cq&WjA9rVqrI7G&N*oVK_B5IXPiwGGZ`hFgLaUIR?xC7YI5!X>(t6VPb4$C@COgZ*FsR03%^DFgG?dVl+5mG-EYmVlg=}Vm2}`VmCKrW;A0sVlXhc067NC02c^4I%#uXc42IFWhf~iV{dMAbO0k^H(@h4I5RP0Wn(vGH!?9bVKy-^F=AmfFlJ*hV`VWhx&S!_%m5b&Iy!G~WpZJ3Z*n~-VRCX|c_t<)03%^HWi@3qH8(dmWiU87G%;afVlpr`Ibk(9IWc81W-~Fo067Q102vM-V{dMAbO2>JW;ZfnF=9A3H)b+nV>UK3GB;r{H8Ny1HDO^nV>Z43ISkAI7YI5!Z*XODVRUbDTU{t~X?kT}bSVHMVK_B2Vqs)3GC4P6VKii8Wo0!tV>vfuVKQcAGch=2H^2Zn2Fw5#0y;WyZ*X5?VPk73DF7p3W;r=zH!@{1Ib&sJI5cKAGd5&7F=RF}H)1q5VKHQ5!T>qU02c*1I&gJ!XkTJsV{0f?CMGEWBVjRSWjACnH(@m~VPs-tGcsd0Gc;miIXPouWiw`GGC0HlIRnf97YI5!a%FR6a&~1Xb7^{IUvwz|BVjROVK6r{VPs=9GGjAjW;J1CGC5;rWH)6sWMN@3WHrVBIR?xC7YI5!b7^{IC@COgZ*FsR03%^$I5A{5Vm4thGBr10WH&Z8VKg^nIWjjkI5jn4H)A=-067NC02c^4I&^t(Whf~iV{dMAbO0k^F)(I1F*G(aH)duvHfA+qV>V_vHexV1Ic8)rG%;Z_$^bbA`~UztI$?5hVR-;!Y+-YAbZ>2JUol@XVRCX|c`j&lZEVs2Av!u@WoKz_03%^yGd5v0WMVNjGB7bXHZ)-|GiG8oGB{>4GchqaHe@i;03kX$Wo~2uBVjN#G&wXdVl*;jV`exrGdVFfIX7ivGGaJ3IWRRdF=WyJAv!v6VRUE!BVjT%W@9olW;HiCWn^MFVP<16I59Y5FflV@HDO~lWH-_PAu&2SZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GFrK~g>@EFfcVZgX@Xb8mHWV`X1*WoKz`ZYC)JBVl4NWjQf8V>K{kWHL2lF*Yx9oFfe8{WHV+mI51&kVq`HgG-PHpW;NUZG&(wSbaH8KX8>VhG&N&pW@RuqG-PBmWHK;hIWjn6Wo0-uWjA6lW->9{05m!}X>N37XJv8#VKFr~WMVgDW;HV~FfubWH#IdeHDoh3He)$rHa9Y5INSgUEqGdN~9IAUQlWnndAIWRS0Vl`nhWMMKl+yFE>I%HvVWdLC{W@9%qGBYtTIWRS2Vlp>nI5K25H)b?uHZ?IZW;bTs05m!}bZKp60AVmUV`DZsG-5eoGiGBpGd4FdFlJ#eIAS(AGBRT{GGf^PHD7dTZDjytHZd_{G&W{9Wi~ZrIb|?3IbmjHF*Y@1WidEoGBz}2003Wfd2nR_ZeeX@b8ul}Wpr2JE@*UZY$IVeV>vT7W;r!AHaKKvFgP${Gc`CgI5sk4GBsv2Ff%ax01`Snb8mHWV`X1yZe(S603%^#I5agfGdX5tH!?RdWiwK6GcYn_GcYh=WHn;^01`Snb8mHWV`X1(VRUF;aCCA2BVl7UV`eloHexh5Ff}wbVP!F9H!)^4VmLN5G%_M$oGh#AgH#9k7FfwLiFk(0|GvELeUv_C_cK|dwHa0agW@BYHHDzTtFk)h5G&M0|Vl`$mGdDLfHZ}YJ5;{6*b6;U{a$$J@BVjT!H8Em0Ff(Q|Wn(mCF<~<>Gd5#5GG$?8Gh{Y7V`KaP5;{6*b6;X_Z){~@ZU7@;IAu3EI5IFcH8EpjIbk?6H840bV`e#FVq`QoWH>lA`~VUM)9VKg;1Gi5VjW@a*CHDxw5HZWmfIX7f7IAmt!02NDZyGB`D3VP-HfGB-FmVKy)~I5jaaGB##8I5Ib3Gc#oT01`SnX>(s@Y;R$7X>MmN37XJv8#BVjc$Gh$?8G+{A0FgGz~Fk)plFl9M1Vq!L9VliPcVKe*y5;{6*b6<0Ga%pa703%^#VKFo|GBG$XH(_RFIWl25G%#d1GGjL}GdW{qWiU7V01`SnX>(t6VPb4$03%^!F)?E}V>n?rGB`G5HaRmfWi&80H8?gmIbmTpWMpFe01`SnX>(t6X>DZyBVjlo0tH(@qpV`exwIAk$3IWjS3H#252WH&Z9HS7R18vFnfCOSHAaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVQu9Qa&auAZ~ADWnXl8aAhd~BVl1-F=b^lV`MjFGhsC_VP!WqW-w%7H#TKrGBIH=Vq@+AG$i~05*#`@Z*XODVRUbDJv}I6Z*FsRAar43Y-J`aAY*TCb95kdVPb4$CMf_TVKFu~Gh}9EV=*-~I5Rh6W-?)6V>vfsW;QV}WH~c8WAFep8vFnfDmprFVRCb2D06gVIyz!ub7^B=X>)XPWnpbRLr6hVJ|-+6b97`nI&*Y#X>MmGCMf_TVKrl8W;HlAVK-zrW@I;JH8y26V`64CVlgx{Vl!c8G4cR3DEt5tEjl`IVRCb2D06gVIyz!ub7^B=X>)XPWnpbRLr6hVJ|-+6b97`nI&*Y#X>MmMmdT4VKX&1Ff=pv05l)`01_lRI&fifb7d%VbYwa@b98cPZf9S1X=QgTAaitNIy!T7a%pa7Uv_C_cPRiPVPs)AHZ?S6Vl-oAWo9uoV=^#iV=-hkWiVr7H#0P3WcUCyBK!an9y&U3VRCb2UuJ1+WhirWWI8%xVRLC?UvqSFX>MmllIb}9sVKe#wG#qqqZEOH;VQpn|aA9L*bZ>2JE@*UZYzF}sIyz`?b#eeBVKF#nGcsW{I5;#mWHU1}W;tazHa226GBsj1VmD!BGzS3}Iy!A>Zgq5J03%^AGGt{mW@RumF=S?8IW;piWnwgBW;QTnI5uWCW@0o40T((tZeeb3b7f<1Ze#!>VKZepV>U20H85jiWHK>kF=aG2F*7n^H#avmG&eCgH3tC~Iy!S@V{dL`03%^IVP!C3VmLH8VK+80H8e9aFgIgiI5uH2WiezhW@Kgu0T&uNI&W}ga$$6Dav?n^V{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3H#RpmHeoO~H)Sy}H90mgH#In8VPQ03Ib&jGWHL2k0RcG}2LTr-Iy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRLr6hVJ|-+6V{dMAbRcwTZDl4Y03%^EWietnFl1yiFfnB?V=_23W-u{kVq-BhWi~NlHZn8=0XZfI0T&uNI&W}ga$$6Day>mLV{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3VK_KsF*P=3IAvipFf}zXGi5L^H!w0{Gh;Y7WMwjD1pzr2`~UztI&^7mWdL(@a&=>LbZ>2JUol@XbZKp6E@*UZY)AnYIyz%-ZgX^BX>?_BVRUbD03%^FW->4|G%#giH8f^7I5TE3H!w6cH#A}~Wi~M~VKX^M0T((tX>?_BVRUbD03%^#W-vK0F*0K_F<~=gGB{#kF*!CcWMMcsH#j#kWMXDW0T&!PI&W}ga$$6Dav?n^V{dMAbRcwLVr*q5EFfcVZgX@XbYWs_WhN;ABVl4>WnwjCIb=CzV=^;iFf%b@H#lWAG&Ey2F*!D6VKxc@IT}a-7aTe|Z*XODVRUbDJv}I6Z*FsRAar43Y-J`aAY*TCb95kdVPb4$CMf_TVP-gGVqs-uI599aWi@1FGB7zfIXN;nHZ*23WHmE1VGIE|8b|>b0y;W$VPb4$C@BCVVK_1~W-w$kGdMM5GGsVpI5RRZVK*{nH#lQ9H#cE3H4XteNC6ihIy!V=Vr*q7X>D+9Iy!V=Vr*q!X>MtBUvOb*aws4sCLk$WPF*PgBVjc-VKrnoG%#T|Vlpu>Vlg>1GC46dW;r-!WjSOxW@QioIUYy>7YRB#bYWs_WhiuEVr*q5CMf_TVPZ5lVK+8mVlp%`VP;`5GiEViH#B86Win!8WMyPDG!g+h2S@=I0y;Wjb6<2}Vr*q7DF7p3VP<4FH#B26VlXyhH)b$qH8VA3H!(9}GBz|YW@R}x6ahIH0UHP)V{dMAbO1FnW;r=EG-WU|FgQ12HfA+BHeqElGcq_cVq`O876Ca1NC6iDIyz!yXK8LIDF7p3Gcz=1Ff}kVGB;&nGB9H}H8U_WH8f^4V`MgDWMpPD7y&s*0T&25I%8sGXK8LIDIjBSZgX@1BVjQ$VKrtrVq`XCF*!75V`61FGBsf`G-WknH#1@}W?~uvIR;1p7YI5!V`Xk+C@COgZ*FsR03%^DF)=hXF)}bYW;r=9IWsY3VKOy1GB{&4FgYMmYDc_=9$V{dMAbO0k^H8nJ5G&wb9HfAzqVq-ZuGh$^iVq`EgH#sykH!w9ZA^|xDCIJ};AY*TCb94YSFk?3|WjHZpWie!7Ha226FgP<~VPr8eG&C|}VlXu%0XYUp0T%)~I%RHTC@BCVVL3KrVKz55H8f*2V_`8fF=J+BV=`qkV=y;iVKO%}FeU*xNC6ihIyz-?VRL0DV{dMAbYE$7WpZJ3Z*nXkV{dMAbYE$7WpZJ3Z*nOBBVjNyFl9JqH!)&mV=-o8W@a@qGBz+_HDNJjFk@mdGG!7Z5r+WpZJ2Whi5BZgX^BX>?_BVRUbDDF7p3G-P3BVl-i8F)=n|IWl2nWH~o8Wi@6pH)c3EFkv}lDgikTNC6iLIyz-?VRL0DX>?_BVRUbDDF7p3F=06{IXE;pH#TEqWMnWiVPRo8WiVzrI506`I5RnBECD$PNC6iOIyz-?VRL0Db98cPZf9S1X=QgQ03%^!IWc8qGd5*qF=8`gWn(llGh{S5WHUBqGi78mHa2B00XYjY0T~k@V{dMAbO2^KHDxt7F*q_eWMpA9H!?J4WjHfqV`4KiW@a@wG-NOVIT1(!7Y#Z(XJvF>VRI;RbaH8KXJ2+{Wp^n6BVlAQV=*u}Fga#rWnwirW;J3kGi7BrIAmpJW@R^KG&V8;ISWVu7YI5!X>(s;a&lpLC@COgZ*FsR03%^IWHK~mIXN|DHDhLBVl+83Gh;Y1V`F4FHDqKqW??fl0XYUp0T&25I%#uXX>M$3Ze=JbAY*TCb94YBVKp;iWietoGhtylFg7qaWn?oqI5RRcWM()sHDNMlGd2M^21o%H20A)vb6;t0Y-w&~C}MAKY$*UEVK`+sIX7W8I5TEuGGbw4WHB^kH)S_8HZf&mWHL86FgO7@1V{lF2s%1xb6<2}Vr*q7DIjBSZgX@1BVlARW;ru6GiEknWnwlnG-fnpWMXAwGdMIkGh|^mV=_7cIR;1p7YI5!X>(t8VQh6}C@COgZ*FsR03%^$F*7$~F=aGkW;Qc2FflbZFgav4VKp{3V`DcoWn^PK0XYUp0T&56I&W}ga$$6Day=+?VPb4$CMGEWBVjdTHD+WmWic^iVmLB5VPY~iG-YFBV>vctW@KbGF*!Z~IR`=k851C5Z*FsR05@beVPQ5jFl0C}V`DdEW@IxkIA&sIIAb+7GBz_~Wk3Nr5l8_S4LUk+aAk5~bZ>H7T_|&Oa%pa7Uv_C_cPRiPVPi05WivQpH)J_uVq-UBVK*~2W;QuFV>vKkV`MlpGeQA53rGPM2s%1*X?kTSDIjBSZgX@1BVlAWV>B@^H8?diV`DfmH)3WsWj8o6W??sGVliSiWHv+rIR;1p7YI5!ba`-PC@COgZ*FsR03%^$Wi>cCH#IO~IXGiCFfunWFl06~GhsL}Wn?yDIbmi-0XYWz0025VbYWs_WdLJrVRLhIZ*6Q}F<&usVPb4$E@*UZY;$yE0B&JzWpi+0V`X!6WG-lQZEU*%7dkq2VQh6}Utw}*UvvN?VK6dfVPj)vWi?_nHZf&5Vly^mIXN*iW@2SGI5{#iIlBQDA38d3aAk5~bZ>GYJt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkRX!#u03%^IGC5>9VmUTtH8e3~G-YEkIW;ghW@a%pG&46cV=`h(0XZGJ0T&xOI&W}ga$$6Dav?n^V{dMAbRc$NY;|QOEFgAaY;|Q{VRC0*bSVHMVP!HfVK8AZHZwUgI51*4Ght<9Vl!qpVq`RBGG;h2HBA9I8M^@&8#+2~aAk5~bZ>GYJt%fzY;|Q{VRC0*bSxlaZ*FsRAa-GFb!8?g03%^$Vl!kmIbk+oV>o4HWjA4CGh{SmH!)*lFfn2>VKg>R0XZ4F0T&-SI&W}ga$$6Day%$wZ*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXJm>DF7p3H(@Y1Wi~lwVrDgFH#0UcI5S}}H#Rn5Gh$^pGh}6BQ2{v}y8#y)Iy!G~WpZJ3Z*n{+V{dMAbRc$NY;|QOEFgAaY;|Q{VRC0*bSVHMVK`%BGdVLdWHvZrGBr0eWj8Z7W;ZipG&4CjIAmcnGgARM8M^@&8#+2~aAk5~bZ>GzD0X3Nb!A^+a%W$3EFfcVZgX@Xc42IFWhN;ABVjZ#Wi~f3H#9RdFgP(VI5#pmVK6gdF*r0iG-ft4WinL(IT^bF7b!YAZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GFrK~g>@EFfcVZgX@Xc42IFWhN;ABVlA_H8D72IW{sjI5aY5Hf3ftVK_51WHdEnVK6acVl`I*IVZaT7aux0Z*XODVRUbDJUu95Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXJm>DF7p3I5;*lIW;siFk~?~Ff=zeW-w$kWHB~lIb}9tH90h4Sphj6y8#y)Iy!G~WpZJ3Z*n|6C}VGKb95kfVQh6}CM+O!VQh6}Utw}*Uvwz|BVjc;VP!QkWiVqgIWuKrVK!!DGGk+6V>mT2W@2VCF=1N)IT^bF7aKY{Z*XODVRUbDJUu9OVQh6}Utw}*Uvw-WV{dMAbRc$NY;|QODF7p3Gh;b6GC4IhWo2Y!Vl+2nFlAw4H#st7W;A1BG&5s4T>&{6y8#y;Iy!G~WpZJ3Z*o07C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wNJ|-yuBVjNwI5c5oIbG#Jt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkRX!#u03%^EF=8_@W->B4F*P?bV>31~GB{y2WMN@7VPG#Jt%fzY;|Q{VRC0*bSxlaZ*FsRAa-GFb!8?g03%^$Gi5hsFgRp0V`MTiI5=fuIX7fDFk>|`WMeX7Ffn9r0XZ4F0T&87I(A`fb!8}3ASNatE-o%903%^CHZVCgWMgDvF=8|_H8wS2HZo#mGd5;0H90w9W@KY=0XYb}0T&56I(A`fb!8}aVQh6}CMGEWBVjT#G-PEtG%+|eIW#k7WnnimIAk(5Ibt?5I5%cBF*kDoIR|$E83-U_Z*FsR05dUSIb&ooHaTH2WjJJHGdE*lH)1emVqs=EW;i%xH+2Cy2DdQpVl**gH8?P3Wi)pIIeP&a2q0r`ZgX@1Gc{ymH90vjWM(onW;0_qG&f~sHaRyjGBYwWV>x7Fc>y^Fy8#yhIyzx4W@Tn&F)%kWGBr13Gch(}GC4M5F*Ri|VK6v<0Xc&K83-U_Z*FsR068@{VKZShH#uQ6F=aSqH!x*kIA%FzWjQu7GG;P2Fo6L%2DN37XJv9IDF7p3F*r3hFgGw_GC471F*h<}Wi&Q5Gh<_9F=aI}GB;s4hXFZ@0T~D&V{dMAbO1LuVPa)uIAky|VKg{mF*PtaF*r44VP-L6Vq`coF*k_;IR?7{7XmsuVRK(|baH8KXDBHEBVjZ!IXE?9G-Ek6WnwroH8o)|VKFymVKp>lWH~f7WHO5ZIgbGu2q0r`ZgX@1W-w(oGGRF|H83|bV>D$jG&46bI5IdkW-w(qH8^28jR83Zy8#yhIyzxQoGB-1k0XYM^0T%>1I%j2cC@CN&03%^zIb=39I59OgHe+I8VL422)h9n2s%1xb6;U{a$$KWDIjBSZgX@1BVjc;W->7_I59OgG-P8rGhtz3W@KVBV>e_mWj8WqWjL1sIR?7{7YI5!X>(sc6G-fzBIALTmFg7$aVVMCr2DDaFDIjBSZgX@1BVjNyI5{|BWj0}9H8y5sWn?usVK`(s@Y;R$7X>Mm37~Ff=!1Wn(cpGi5X~WH2>3W}^W)2DHDhFCWHvJ~I5B21GdQIIIR?7{7YI5!X>(t6X>DaFDIjBSZgX@1BVjl(Hf1?9V`DctWoBbDIW#aiFg9T^I5K85H!@~5G-Rg%IR?7{7YI5!X>(t8VQh6}C@COgZ*FsR03%^EWMpJFF=IJpV>V+mV=`kkW??jCFg9aiG-Wh4GB#wX0XYV{0T&87I&W}ga$$6Dav)=GZgX@XR3<1XAY*TCb95jk03%^HGh;M0HDxqoF=R9}W;ZiqG-5C@Gh;M0HZWl_Ff?YX0XYb}0T%>1I&W}ga$$6Dav)SDC@CN&03%^GIb|_1H8wY9Fk@w9VL3E2W->WqIWS{2G%{v5WHC6c0XYJ@0T%^2I&W}ga$$6Dav)SDCMYQ&CMEzQVPRusFfuh`GB{*pFg9j3Vl_81H#TE9Ib$1I&W}ga$$6Daw;e(ASM7KVK+EsH!x)|W@BYzHD+ZuH8o^2GB{&mW-&8lGBq?gGP40W0=oeh3OYJ(aAk5~bZ>GhC@COgZ*FsRASM7KVKrnqH#asjVr616F*G%0IWjmfHZ^5pWHdQtG&5#5HMIdb2)h9n2|7A&aAk5~bZ>G!D0X3Nb!8?dDF7p3F*7qcI5ROgIASqlGBPq`W@cn&I5aq6F<~}jHa22qw*ff^y8#ynIy!WDaAhbdAY*TCb94YBVPiEnHDWO~Wi@1CH!(3dVl!kiVly!@IWjS0He@+5WVr!32K)d3Iy!b?Y;|P-V{Bn_b98TQY+o^7F?L~Wb!9GSbZuAW;Zl5Ha0RiV>vlwW;8W4W-&K6WV``E1KI%}1Ufopa&m8SC@CN&03%^#W@2JFVPR%uW-u^jVKHH2IX5{uHZo)~GG#F`Wi~jz0YL)V0UruFI%RTlZ*nLpAY*TCb95jk03%^JVKq52Ibtv|WM(;GH)c0xIXE_AI5aacV`XM!GGaKu0YM1b0UroDI%Z*MY-MC9DIjBSZgX@1BVjo(IX7ZsH8nCYFgGM+oV>2*e%mG0L+5sO3Iy!G~WpZJ3Z*m}GZ*FsRAar43Y-J`WDIjBSZgX@1BVjo+Wo9-qHaB5mHexwpF*9W{W-(+jVr4iqIAb$oVKL4DK?d3Z9|Af$Z*XODVRUbDAaG%Fb7fy;a&m8SCMYQYBVl4=IAJz9Gh<>kGdMIfF=912H#B8tW-~ZrH!(IgHaXA%LD~Ty0y;WxaAk5~bZ>GXaA9(DWnX1-a&K}bCMYQYBVjpaH!xvgHa0b6I5c5lW;JFxGd5&oGB;*6V>vZrG-1*KLD~Ty0y;WxaAk5~bZ>GXbYWs_WhN*o03%^FH#jsiFkvw{HZd|XV>UHpIWc51VmD!9HD)toVr4MY0YTaU9|Af$Z*XODVRUbDAar43Y-J`UC@BCVVL4_tVlgx`Gh$&iVPi8gI5jsgVKifAH!(CYF)?OgHr4?_+5sO3Iy!T8V`F7yWMyP1DIjBSZgX@1BVl4SVrFAxHf3ZpI5jXaHZwUjFfut}WHvcrWH&frGh^5RK?eK)06IEwVRCb2Uvg!0b!>D1V{Bn_b98TQY+o^7F>qmWb7fy&a%FRMY;-PYbZu+`9swc(D*-S8H32&TKm$huN(D{@QUO>1TmWPMXK-O>Wo}_@Wpi+0V`XP@Z*_2EY+-YAb98cbV{~V?Hd2nT9WoBe)a%O34WoC75V`OD!X>Mg@Zgp*CZgp)Sc42IGVR8Tf'); diff --git a/structtoml_1_1date.html b/structtoml_1_1date.html index c81c95e..957e75e 100644 --- a/structtoml_1_1date.html +++ b/structtoml_1_1date.html @@ -62,6 +62,7 @@ C++17 Reference @@ -80,6 +81,86 @@ C++17
The year component.
+
+

Friends

+
+
+ auto operator!=(date lhs, + date rhs) -> friend bool constexpr noexcept +
+
Inequality operator.
+
+
template<typename CHAR>
+ auto operator<<(std::basic_ostream<CHAR>& lhs, + const date& rhs) -> std::basic_ostream<CHAR>& +
+
Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
+
+ auto operator==(date lhs, + date rhs) -> friend bool constexpr noexcept +
+
Equality operator.
+
+
+
+

Function documentation

+
+

+ friend bool operator!=(date lhs, + date rhs) constexpr noexcept +

+

Inequality operator.

+ + + + + + + + + + + + + + + + + + + + +
Parameters
lhsThe LHS date.
rhsThe RHS date.
ReturnsTrue if the dates did not represent the same value.
+
+
+

+ friend bool operator==(date lhs, + date rhs) constexpr noexcept +

+

Equality operator.

+ + + + + + + + + + + + + + + + + + + + +
Parameters
lhsThe LHS date.
rhsThe RHS date.
ReturnsTrue if the dates represented the same value.
+
+
diff --git a/structtoml_1_1date__time.html b/structtoml_1_1date__time.html index 9c727f7..9a1c0b4 100644 --- a/structtoml_1_1date__time.html +++ b/structtoml_1_1date__time.html @@ -61,11 +61,22 @@ C++17
  • Reference
  • +
    +

    Public functions

    +
    +
    + auto is_local() const -> bool constexpr noexcept +
    +
    Returns true if this date_time does not contain timezone offset information.
    +
    +

    Public variables

    @@ -77,11 +88,100 @@ C++17 toml::time time
    The time component.
    -
    std::optional<toml::time_offset> time_offset +
    std::optional<toml::time_offset> time_offset
    The timezone offset component.
    +
    +

    Friends

    +
    +
    + auto operator!=(const date_time& lhs, + const date_time& rhs) -> friend bool constexpr noexcept +
    +
    Inequality operator.
    +
    +
    template<typename CHAR>
    + auto operator<<(std::basic_ostream<CHAR>& lhs, + const date_time& rhs) -> std::basic_ostream<CHAR>& +
    +
    Prints a date_time out to a stream in RFC 3339 format.
    +
    + auto operator==(const date_time& lhs, + const date_time& rhs) -> friend bool constexpr noexcept +
    +
    Equality operator.
    +
    +
    +
    +

    Function documentation

    +
    +

    + friend bool operator!=(const date_time& lhs, + const date_time& rhs) constexpr noexcept +

    +

    Inequality operator.

    + + + + + + + + + + + + + + + + + + + + +
    Parameters
    lhsThe LHS date_time.
    rhsThe RHS date_time.
    ReturnsTrue if the date_times did not represent the same value.
    +
    +
    +

    + friend bool operator==(const date_time& lhs, + const date_time& rhs) constexpr noexcept +

    +

    Equality operator.

    + + + + + + + + + + + + + + + + + + + + +
    Parameters
    lhsThe LHS date_time.
    rhsThe RHS date_time.
    ReturnsTrue if the date_times represented the same value.
    +
    +
    +
    +

    Variable documentation

    +
    +

    std::optional<toml::time_offset> toml::date_time::time_offset +

    +

    The timezone offset component.

    + +
    +
    diff --git a/structtoml_1_1source__position.html b/structtoml_1_1source__position.html index 81c84b8..e9f4129 100644 --- a/structtoml_1_1source__position.html +++ b/structtoml_1_1source__position.html @@ -63,10 +63,18 @@ C++17 +
    auto table = toml::parse_file("config.toml"sv);
    +std::cout << "The node 'description' was defined at "sv
    +    << table.get("description")->source().begin()
    +    << std::endl;
    +
    +// possible output:
    +// The value 'description' was defined at line 7, column 15

    Constructors, destructors, conversion operators

    @@ -89,6 +97,37 @@ C++17
    The line number.
    +
    +

    Friends

    +
    +
    + auto operator!=(const source_position& lhs, + const source_position& rhs) -> friend bool constexpr noexcept +
    +
    Returns true if two source_positions do not represent the same line and column.
    +
    + auto operator<(const source_position& lhs, + const source_position& rhs) -> friend bool constexpr noexcept +
    +
    Returns true if the LHS position is before the RHS position.
    +
    +
    template<typename CHAR>
    + auto operator<<(std::basic_ostream<CHAR>& lhs, + const source_position& rhs) -> std::basic_ostream<CHAR>& +
    +
    Prints a source_position to a stream.
    +
    + auto operator<=(const source_position& lhs, + const source_position& rhs) -> friend bool constexpr noexcept +
    +
    Returns true if the LHS position is before the RHS position or equal to it.
    +
    + auto operator==(const source_position& lhs, + const source_position& rhs) -> friend bool constexpr noexcept +
    +
    Returns true if two source_positions represent the same line and column.
    +
    +

    Variable documentation

    diff --git a/structtoml_1_1source__region.html b/structtoml_1_1source__region.html index b0241c8..4150993 100644 --- a/structtoml_1_1source__region.html +++ b/structtoml_1_1source__region.html @@ -62,10 +62,18 @@ C++17 Reference
    +
    auto table = toml::parse_file("config.toml"sv);
    +std::cout << "The node 'server' was defined at "sv
    +    << table.get("server")->source()
    +    << std::endl;
    +
    +// possible output:
    +// The node 'server' was defined at line 3, column 1 - line 10, column 25 of 'config.toml'

    Public variables

    @@ -83,6 +91,17 @@ C++17
    The path to the corresponding source document.
    +
    +

    Friends

    +
    +
    +
    template<typename CHAR>
    + auto operator<<(std::basic_ostream<CHAR>& lhs, + const source_region& rhs) -> std::basic_ostream<CHAR>& +
    +
    Prints a source_region to a stream.
    +
    +

    Variable documentation

    diff --git a/structtoml_1_1time.html b/structtoml_1_1time.html index e65b7cc..3bc8d06 100644 --- a/structtoml_1_1time.html +++ b/structtoml_1_1time.html @@ -62,6 +62,7 @@ C++17 Reference @@ -83,6 +84,86 @@ C++17
    The second component, from 0 - 59.
    +
    +

    Friends

    +
    +
    + auto operator!=(const time& lhs, + const time& rhs) -> friend bool constexpr noexcept +
    +
    Inequality operator.
    +
    +
    template<typename CHAR>
    + auto operator<<(std::basic_ostream<CHAR>& lhs, + const time& rhs) -> std::basic_ostream<CHAR>& +
    +
    Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
    +
    + auto operator==(const time& lhs, + const time& rhs) -> friend bool constexpr noexcept +
    +
    Equality operator.
    +
    +
    +
    +

    Function documentation

    +
    +

    + friend bool operator!=(const time& lhs, + const time& rhs) constexpr noexcept +

    +

    Inequality operator.

    + + + + + + + + + + + + + + + + + + + + +
    Parameters
    lhsThe LHS time.
    rhsThe RHS time.
    ReturnsTrue if the times did not represent the same value.
    +
    +
    +

    + friend bool operator==(const time& lhs, + const time& rhs) constexpr noexcept +

    +

    Equality operator.

    + + + + + + + + + + + + + + + + + + + + +
    Parameters
    lhsThe LHS time.
    rhsThe RHS time.
    ReturnsTrue if the times represented the same value.
    +
    +
    diff --git a/structtoml_1_1time__offset.html b/structtoml_1_1time__offset.html index ad1f9b2..7bba506 100644 --- a/structtoml_1_1time__offset.html +++ b/structtoml_1_1time__offset.html @@ -61,11 +61,23 @@ C++17
  • Reference
  • +
    +

    Public static functions

    +
    +
    + static auto from_hh_mm(int8_t hours, + int8_t minutes) -> time_offset constexpr noexcept +
    +
    Creates a timezone offset from separate hour and minute totals.
    +
    +

    Public variables

    @@ -74,6 +86,124 @@ C++17
    Offset from UTC+0, in minutes.
    +
    +

    Friends

    +
    +
    + auto operator!=(time_offset lhs, + time_offset rhs) -> friend bool constexpr noexcept +
    +
    Inequality operator.
    +
    +
    template<typename CHAR>
    + auto operator<<(std::basic_ostream<CHAR>& lhs, + const time_offset& rhs) -> std::basic_ostream<CHAR>& +
    +
    Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
    +
    + auto operator==(time_offset lhs, + time_offset rhs) -> friend bool constexpr noexcept +
    +
    Equality operator.
    +
    +
    +
    +

    Function documentation

    +
    +

    + static time_offset toml::time_offset::from_hh_mm(int8_t hours, + int8_t minutes) constexpr noexcept +

    +

    Creates a timezone offset from separate hour and minute totals.

    + + + + + + + + + + + + + + + + + + + + +
    Parameters
    hoursThe total hours.
    minutesThe total minutes.
    ReturnsA time_offset.
    +
    std::cout << time_offset::from_hh_mm(2, 30) << std::endl;
    +std::cout << time_offset::from_hh_mm(-2, 30) << std::endl;
    +std::cout << time_offset::from_hh_mm(-2, -30) << std::endl;
    +std::cout << time_offset::from_hh_mm(0,0) << std::endl;
    +
    +// output: 
    +// +02:30
    +// -01:30
    +// -02:30
    +// Z
    +
    +
    +

    + friend bool operator!=(time_offset lhs, + time_offset rhs) constexpr noexcept +

    +

    Inequality operator.

    + + + + + + + + + + + + + + + + + + + + +
    Parameters
    lhsThe LHS time_offset.
    rhsThe RHS time_offset.
    ReturnsTrue if the time_offsets did not represent the same value.
    +
    +
    +

    + friend bool operator==(time_offset lhs, + time_offset rhs) constexpr noexcept +

    +

    Equality operator.

    + + + + + + + + + + + + + + + + + + + + +
    Parameters
    lhsThe LHS time_offset.
    rhsThe RHS time_offset.
    ReturnsTrue if the time_offsets represented the same value.
    +
    +