From 122367c48504d567a0d9f70823fcb5f90ec97512 Mon Sep 17 00:00:00 2001 From: Christopher Richardson Date: Thu, 12 Nov 2020 09:53:28 -0500 Subject: [PATCH 1/4] add shape publishing to topic - add sphere and polyline to ShapeDraw plugin --- include/scrimmage/entity/EntityPlugin.h | 2 + .../plugins/autonomy/ShapeDraw/ShapeDraw.h | 8 ++ missions/shape_draw.xml | 17 ++-- src/entity/EntityPlugin.cpp | 12 ++- src/plugins/autonomy/ShapeDraw/ShapeDraw.cpp | 77 ++++++++++++++++++- 5 files changed, 107 insertions(+), 9 deletions(-) diff --git a/include/scrimmage/entity/EntityPlugin.h b/include/scrimmage/entity/EntityPlugin.h index 1728565e21..589728a9e6 100644 --- a/include/scrimmage/entity/EntityPlugin.h +++ b/include/scrimmage/entity/EntityPlugin.h @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -185,6 +186,7 @@ class EntityPlugin : public Plugin { ParameterServerPtr param_server_; double loop_rate_; double loop_timer_; + scrimmage::PublisherPtr pub_shapes_; public: EIGEN_MAKE_ALIGNED_OPERATOR_NEW diff --git a/include/scrimmage/plugins/autonomy/ShapeDraw/ShapeDraw.h b/include/scrimmage/plugins/autonomy/ShapeDraw/ShapeDraw.h index 39061754bd..01b0ebaa01 100644 --- a/include/scrimmage/plugins/autonomy/ShapeDraw/ShapeDraw.h +++ b/include/scrimmage/plugins/autonomy/ShapeDraw/ShapeDraw.h @@ -46,15 +46,23 @@ class ShapeDraw : public scrimmage::Autonomy { bool step_autonomy(double t, double dt) override; protected: + void draw_circle(double t, double dt); + void draw_sphere(double t, double dt); void draw_ellipse(double t, double dt); void draw_cuboid(double t, double dt); void draw_mesh(double t, double dt); + void draw_line(double t, double dt); + void draw_polyline(double t, double dt); int follow_id_; bool init_; + scrimmage_proto::ShapePtr circle_shape_; + scrimmage_proto::ShapePtr sphere_shape_; scrimmage_proto::ShapePtr ellipse_shape_; scrimmage_proto::ShapePtr cuboid_shape_; scrimmage_proto::ShapePtr mesh_shape_; + scrimmage_proto::ShapePtr line_shape_; + scrimmage_proto::ShapePtr polyline_shape_; }; } // namespace autonomy } // namespace scrimmage diff --git a/missions/shape_draw.xml b/missions/shape_draw.xml index ba934e683e..ca2d87e999 100644 --- a/missions/shape_draw.xml +++ b/missions/shape_draw.xml @@ -7,7 +7,7 @@ time_warp="1" enable_gui="true" network_gui="false" - start_paused="false"/> + start_paused="true"/> false 50051 @@ -37,6 +37,8 @@ 2147483648 + CesiumWebServer + uav_entity @@ -46,13 +48,16 @@ 1 1 - 20 - 20 - 10 + 0 + 0 + 0 - -900 + + + + 0 0 - 195 + 0 0 diff --git a/src/entity/EntityPlugin.cpp b/src/entity/EntityPlugin.cpp index 9e9de15d17..1e879567ea 100644 --- a/src/entity/EntityPlugin.cpp +++ b/src/entity/EntityPlugin.cpp @@ -33,8 +33,6 @@ #include #include #include -#include -#include #include #include #include @@ -86,6 +84,11 @@ PublisherPtr EntityPlugin::advertise(std::string network_name, std::string topic } void EntityPlugin::draw_shape(scrimmage_proto::ShapePtr s) { + if (!pub_shapes_) { + scrimmage::EntityPluginPtr shared_this(this); + pub_shapes_ = pubsub_->advertise( + "GlobalNetwork", "shapes", 0, false, shared_this); + } if (!s->hash_set()) { // Hash function uses entity ID, current simulation time, plugin name, // and a random number. @@ -98,6 +101,11 @@ void EntityPlugin::draw_shape(scrimmage_proto::ShapePtr s) { s->set_hash_set(true); } shapes_.push_back(s); + + // publish shapes for anyone to pick up + auto msg = std::make_shared>(); + msg->data = s; + pub_shapes_->publish(msg); } void EntityPlugin::set_param_server(const ParameterServerPtr ¶m_server) { diff --git a/src/plugins/autonomy/ShapeDraw/ShapeDraw.cpp b/src/plugins/autonomy/ShapeDraw/ShapeDraw.cpp index 6c19d16665..8af2f6fcb3 100644 --- a/src/plugins/autonomy/ShapeDraw/ShapeDraw.cpp +++ b/src/plugins/autonomy/ShapeDraw/ShapeDraw.cpp @@ -66,15 +66,23 @@ void ShapeDraw::init(std::map ¶ms) { desired_state_->quat().set(0, 0, state_->quat().yaw()); desired_state_->pos() = Eigen::Vector3d::UnitZ()*state_->pos()(2); + circle_shape_ = std::make_shared(); + sphere_shape_ = std::make_shared(); ellipse_shape_ = std::make_shared(); cuboid_shape_ = std::make_shared(); mesh_shape_ = std::make_shared(); + line_shape_ = std::make_shared(); + polyline_shape_ = std::make_shared(); } bool ShapeDraw::step_autonomy(double t, double dt) { + draw_circle(t, dt); + draw_sphere(t, dt); draw_ellipse(t, dt); draw_cuboid(t, dt); draw_mesh(t, dt); + draw_line(t, dt); + draw_polyline(t, dt); return true; } @@ -127,7 +135,7 @@ void ShapeDraw::draw_mesh(double t, double dt) { sc::Angles::deg2rad(45.0), sc::Angles::deg2rad(90.0)); sc::set(mesh_shape_->mutable_mesh()->mutable_quat(), quat); - mesh_shape_->mutable_mesh()->set_scale(10.0); + mesh_shape_->mutable_mesh()->set_scale(10); sc::set(mesh_shape_->mutable_color(), 255, 255, 255); mesh_shape_->set_persistent(true); @@ -135,5 +143,72 @@ void ShapeDraw::draw_mesh(double t, double dt) { draw_shape(mesh_shape_); } +void ShapeDraw::draw_line(double t, double dt) { + line_shape_->set_opacity(1.0); + sc::set(line_shape_->mutable_line()->mutable_start(), 0, 0, 0); + sc::set(line_shape_->mutable_line()->mutable_end(), 200, 0, 0); + // corresponds to zephyr-red.xml + line_shape_->mutable_line()->set_width(2); + + sc::set(line_shape_->mutable_color(), 0, 255, 255); + line_shape_->set_persistent(true); + draw_shape(line_shape_); +} + +void ShapeDraw::draw_polyline(double t, double dt) { + polyline_shape_->set_opacity(1.0); + sc::set(polyline_shape_->mutable_color(), 255, 0, 255); + polyline_shape_->set_persistent(true); + + double x = 0; + double y = 0; + double sgn = 1; + polyline_shape_->mutable_polyline()->clear_point(); + for (int i=0; i<10; ++i) { + auto line = polyline_shape_->mutable_polyline()->add_point(); + // zigzag + sc::set(line, x, y, 20); + y += 50; + x += sgn * 30; + sgn *= -1; + } + draw_shape(polyline_shape_); +} + +void ShapeDraw::draw_circle(double t, double dt) { + circle_shape_->set_opacity(1.0); + if (t > 5) { + std::cout << "Setting circle opacity to low to hide it!" << std::endl; + circle_shape_->set_opacity(0.01); + } + + circle_shape_->mutable_circle()->set_radius(10); + + sc::Quaternion quat(sc::Angles::deg2rad(0.0), + sc::Angles::deg2rad(0.0), + sc::Angles::deg2rad(45.0)); + sc::set(circle_shape_->mutable_circle()->mutable_quat(), quat); + + circle_shape_->set_persistent(true); + sc::set(circle_shape_->mutable_circle()->mutable_center(), -20, -20, 0); + sc::set(circle_shape_->mutable_color(), 0, 0, 255); + draw_shape(circle_shape_); +} + +void ShapeDraw::draw_sphere(double t, double dt) { + sphere_shape_->set_opacity(1.0); + if (t > 5) { + std::cout << "Setting sphere opacity to low to hide it!" << std::endl; + sphere_shape_->set_opacity(0.01); + } + + sphere_shape_->mutable_sphere()->set_radius(20); + + sphere_shape_->set_persistent(true); + sc::set(sphere_shape_->mutable_sphere()->mutable_center(), -20, -20, 0); + sc::set(sphere_shape_->mutable_color(), 0, 0, 255); + draw_shape(sphere_shape_); +} + } // namespace autonomy } // namespace scrimmage From b2d0173321c0a0e84f6965eeed3a92712f25268e Mon Sep 17 00:00:00 2001 From: Christopher Richardson Date: Wed, 18 Nov 2020 18:01:19 -0500 Subject: [PATCH 2/4] add cesium web server plugin --- CMakeLists.txt | 1 - .../CesiumWebServer/CesiumWebServer.h | 81 + .../CesiumWebServer/CesiumWebServer.xml | 8 + .../CesiumWebServer/CesiumWebSocketHandler.h | 94 + .../interaction/CesiumWebServer/json.hpp | 25447 ++++++++++++++++ src/CMakeLists.txt | 1 - .../CesiumWebServer/CMakeLists.txt | 49 + .../CesiumWebServer/CesiumWebServer.cpp | 198 + .../interaction/CesiumWebServer/web/app.js | 206 + .../CesiumWebServer/web/css/index.css | 201 + .../web/images/cesium_icon.png | Bin 0 -> 13794 bytes .../CesiumWebServer/web/index.html | 26 + .../CesiumWebServer/web/js/jquery.min.js | 16 + .../CesiumWebServer/web/js/model_map.js | 11 + .../web/models/CesiumAir/0_Cesium_Air.png | Bin 0 -> 464090 bytes .../models/CesiumAir/1_Cesium_Air_Prop.png | Bin 0 -> 162164 bytes .../web/models/CesiumAir/Cesium_Air.dae | 333 + .../web/models/CesiumAir/Cesium_Air.glb | Bin 0 -> 623993 bytes .../web/models/CesiumAir/Cesium_Air.gltf | 802 + .../web/models/fortnite_radar/scene.bin | Bin 0 -> 87940 bytes .../web/models/fortnite_radar/scene.gltf | 543 + .../textures/antene_baseColor.png | Bin 0 -> 260424 bytes .../textures/antene_metallicRoughness.png | Bin 0 -> 264619 bytes .../fortnite_radar/textures/antene_normal.png | Bin 0 -> 43360 bytes 24 files changed, 28015 insertions(+), 2 deletions(-) create mode 100644 include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h create mode 100644 include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml create mode 100644 include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebSocketHandler.h create mode 100644 include/scrimmage/plugins/interaction/CesiumWebServer/json.hpp create mode 100644 src/plugins/interaction/CesiumWebServer/CMakeLists.txt create mode 100644 src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp create mode 100644 src/plugins/interaction/CesiumWebServer/web/app.js create mode 100644 src/plugins/interaction/CesiumWebServer/web/css/index.css create mode 100644 src/plugins/interaction/CesiumWebServer/web/images/cesium_icon.png create mode 100644 src/plugins/interaction/CesiumWebServer/web/index.html create mode 100644 src/plugins/interaction/CesiumWebServer/web/js/jquery.min.js create mode 100644 src/plugins/interaction/CesiumWebServer/web/js/model_map.js create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/0_Cesium_Air.png create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/1_Cesium_Air_Prop.png create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.dae create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.glb create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.gltf create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.bin create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.gltf create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_baseColor.png create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_metallicRoughness.png create mode 100644 src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_normal.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 58c91c75f0..f9ea74323c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -291,7 +291,6 @@ else() add_definitions(-DENABLE_AIRSIM=0) endif() - ######################################################## # Recurse into src, share, and plugins ######################################################## diff --git a/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h new file mode 100644 index 0000000000..a158a952c7 --- /dev/null +++ b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h @@ -0,0 +1,81 @@ +/*! + * @file + * + * @section LICENSE + * + * Copyright (C) 2017 by the Georgia Tech Research Institute (GTRI) + * + * This file is part of SCRIMMAGE. + * + * SCRIMMAGE is free software: you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * SCRIMMAGE is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with SCRIMMAGE. If not, see . + * + * @author Christopher Richardson + * @date 31 July 2017 + * @version 0.1.0 + * @brief Brief file description. + * @section DESCRIPTION + * A Long description goes here. + * + */ + +#ifndef INCLUDE_LCCM_SCRIMMAGE_PLUGINS_INTERACTION_CESIUMWEBSERVER_CESIUMWEBSERVER_H_ +#define INCLUDE_LCCM_SCRIMMAGE_PLUGINS_INTERACTION_CESIUMWEBSERVER_CESIUMWEBSERVER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "scrimmage/plugins/interaction/CesiumWebServer/CesiumWebSocketHandler.h" +#include "seasocks/Server.h" +#include "seasocks/Connection.h" +#include "seasocks/PrintfLogger.h" +#include "seasocks/util/Json.h" + +#include +#include +#include +#include +#include + +namespace scrimmage { +namespace interaction { + +class CesiumWebServer : public scrimmage::EntityInteraction { + public: + CesiumWebServer(); + ~CesiumWebServer(); + bool init(std::map &mission_params, + std::map &plugin_params) override; + bool step_entity_interaction(std::list &ents, + double t, double dt) override; + protected: + private: + std::shared_ptr server_; + std::shared_ptr serve_thread_; + std::shared_ptr ws_handler_; + std::string web_src_dir_; + int web_host_port_; + void serve_blocking(); + void subShapes(scrimmage::MessagePtr &msg); + std::list ents_; + void sendEntities(); +}; +} // namespace interaction +} // namespace scrimmage +#endif // INCLUDE_LCCM_SCRIMMAGE_PLUGINS_INTERACTION_CESIUMWEBSERVER_CESIUMWEBSERVER_H_ diff --git a/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml new file mode 100644 index 0000000000..6cdd2ffb25 --- /dev/null +++ b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml @@ -0,0 +1,8 @@ + + + + CesiumWebServer_plugin + 127.0.0.1 + 9090 + /home/crichardson8/gtri_repos/scrimmage/src/plugins/interaction/CesiumWebServer/web + diff --git a/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebSocketHandler.h b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebSocketHandler.h new file mode 100644 index 0000000000..16ccd38fa7 --- /dev/null +++ b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebSocketHandler.h @@ -0,0 +1,94 @@ +// Copyright (c) 2013-2017, Matt Godbolt +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +// An extraordinarily simple test which presents a web page with some buttons. +// Clicking on the numbered button increments the number, which is visible to +// other connected clients. WebSockets are used to do this: by the rather +// suspicious means of sending raw JavaScript commands to be executed on other +// clients. + +#pragma once + +#include "seasocks/PrintfLogger.h" +#include "seasocks/Server.h" +#include "seasocks/StringUtil.h" +#include "seasocks/WebSocket.h" +#include "seasocks/util/Json.h" + +#include +#include +#include +#include +#include +#include +#include + +using namespace seasocks; + + +namespace scrimmage { +namespace interaction { + +class CesiumWebSocketHandler : public WebSocket::Handler { +public: + explicit CesiumWebSocketHandler(Server* server) + : _server(server), _currentValue(0) {} + + void onConnect(WebSocket* connection) override { + _connections.insert(connection); + connection->send(_currentSetValue.c_str()); + std::cout << "Connected: " << connection->getRequestUri() + << " : " << formatAddress(connection->getRemoteAddress()) + << "\nCredentials: " << *(connection->credentials()) << "\n"; + } + + void onData(WebSocket* connection, const char* data) override { + std::cout << "server got data: " << data << std::endl; + } + + void onDisconnect(WebSocket* connection) override { + _connections.erase(connection); + std::cout << "Disconnected: " << connection->getRequestUri() + << " : " << formatAddress(connection->getRemoteAddress()) << "\n"; + } + + void send(const std::string &msg) { + _server->execute([this, msg]{ + for (auto *con : _connections) { + con->send(msg.c_str()); + } + }); + } + +private: + std::set _connections; + Server* _server; + int _currentValue; + std::string _currentSetValue; + /* std::function onConnectCallback_; */ +}; + +} +} diff --git a/include/scrimmage/plugins/interaction/CesiumWebServer/json.hpp b/include/scrimmage/plugins/interaction/CesiumWebServer/json.hpp new file mode 100644 index 0000000000..a70aaf8cbc --- /dev/null +++ b/include/scrimmage/plugins/interaction/CesiumWebServer/json.hpp @@ -0,0 +1,25447 @@ +/* + __ _____ _____ _____ + __| | __| | | | JSON for Modern C++ +| | |__ | | | | | | version 3.9.1 +|_____|_____|_____|_|___| https://github.com/nlohmann/json + +Licensed under the MIT License . +SPDX-License-Identifier: MIT +Copyright (c) 2013-2019 Niels Lohmann . + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#define NLOHMANN_JSON_VERSION_MAJOR 3 +#define NLOHMANN_JSON_VERSION_MINOR 9 +#define NLOHMANN_JSON_VERSION_PATCH 1 + +#include // all_of, find, for_each +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#include // istream, ostream +#include // random_access_iterator_tag +#include // unique_ptr +#include // accumulate +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include + + +#include + +// #include + + +#include // transform +#include // array +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include + + +#include // exception +#include // runtime_error +#include // to_string + +// #include + + +#include // size_t + +namespace nlohmann +{ +namespace detail +{ +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // pair +// #include +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + * + * To the extent possible under law, the author(s) have dedicated all + * copyright and related and neighboring rights to this software to + * the public domain worldwide. This software is distributed without + * any warranty. + * + * For details, see . + * SPDX-License-Identifier: CC0-1.0 + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 13) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 13 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(_MSC_VER) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(VER / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP \ +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(14, 0, 0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + JSON_HEDLEY_HAS_FEATURE(c_static_assert) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + + +// This file contains all internal macro definitions +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// C++ language standard detection +#if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 +#elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 +#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 +#endif + +// disable float-equal warnings on GCC/clang +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wdocumentation" +#endif + +// allow to disable exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// allow to override assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer, \ + class BinaryType> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + + +namespace nlohmann +{ +namespace detail +{ +//////////////// +// exceptions // +//////////////// + +/*! +@brief general exception of the @ref basic_json class + +This class is an extension of `std::exception` objects with a member @a id for +exception ids. It is used as the base class for all exceptions thrown by the +@ref basic_json class. This class can hence be used as "wildcard" to catch +exceptions. + +Subclasses: +- @ref parse_error for exceptions indicating a parse error +- @ref invalid_iterator for exceptions indicating errors with iterators +- @ref type_error for exceptions indicating executing a member function with + a wrong type +- @ref out_of_range for exceptions indicating access out of the defined range +- @ref other_error for exceptions indicating other library errors + +@internal +@note To have nothrow-copy-constructible exceptions, we internally use + `std::runtime_error` which can cope with arbitrary-length error messages. + Intermediate strings are built with static functions and then passed to + the actual constructor. +@endinternal + +@liveexample{The following code shows how arbitrary library exceptions can be +caught.,exception} + +@since version 3.0.0 +*/ +class exception : public std::exception +{ + public: + /// returns the explanatory string + JSON_HEDLEY_RETURNS_NON_NULL + const char* what() const noexcept override + { + return m.what(); + } + + /// the id of the exception + const int id; + + protected: + JSON_HEDLEY_NON_NULL(3) + exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} + + static std::string name(const std::string& ename, int id_) + { + return "[json.exception." + ename + "." + std::to_string(id_) + "] "; + } + + private: + /// an exception object as storage for error messages + std::runtime_error m; +}; + +/*! +@brief exception indicating a parse error + +This exception is thrown by the library when a parse error occurs. Parse errors +can occur during the deserialization of JSON text, CBOR, MessagePack, as well +as when using JSON Patch. + +Member @a byte holds the byte index of the last read character in the input +file. + +Exceptions have ids 1xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member @a byte indicates the error position. +json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. +json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. +json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. +json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. +json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. +json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. +json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences. +json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number. +json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. +json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. +json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read. +json.exception.parse_error.114 | parse error: Unsupported BSON record type 0x0F | The parsing of the corresponding BSON record type is not implemented (yet). +json.exception.parse_error.115 | parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A | A UBJSON high-precision number could not be parsed. + +@note For an input with n bytes, 1 is the index of the first character and n+1 + is the index of the terminating null byte or the end of file. This also + holds true when reading a byte vector (CBOR or MessagePack). + +@liveexample{The following code shows how a `parse_error` exception can be +caught.,parse_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class parse_error : public exception +{ + public: + /*! + @brief create a parse error exception + @param[in] id_ the id of the exception + @param[in] pos the position where the error occurred (or with + chars_read_total=0 if the position cannot be + determined) + @param[in] what_arg the explanatory string + @return parse_error object + */ + static parse_error create(int id_, const position_t& pos, const std::string& what_arg) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + position_string(pos) + ": " + what_arg; + return parse_error(id_, pos.chars_read_total, w.c_str()); + } + + static parse_error create(int id_, std::size_t byte_, const std::string& what_arg) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + + ": " + what_arg; + return parse_error(id_, byte_, w.c_str()); + } + + /*! + @brief byte index of the parse error + + The byte index of the last read character in the input file. + + @note For an input with n bytes, 1 is the index of the first character and + n+1 is the index of the terminating null byte or the end of file. + This also holds true when reading a byte vector (CBOR or MessagePack). + */ + const std::size_t byte; + + private: + parse_error(int id_, std::size_t byte_, const char* what_arg) + : exception(id_, what_arg), byte(byte_) {} + + static std::string position_string(const position_t& pos) + { + return " at line " + std::to_string(pos.lines_read + 1) + + ", column " + std::to_string(pos.chars_read_current_line); + } +}; + +/*! +@brief exception indicating errors with iterators + +This exception is thrown if iterators passed to a library function do not match +the expected semantics. + +Exceptions have ids 2xx. + +name / id | example message | description +----------------------------------- | --------------- | ------------------------- +json.exception.invalid_iterator.201 | iterators are not compatible | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.202 | iterator does not fit current value | In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. +json.exception.invalid_iterator.203 | iterators do not fit current value | Either iterator passed to function @ref erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. +json.exception.invalid_iterator.204 | iterators out of range | When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (@ref begin(), @ref end()), because this is the only way the single stored value is expressed. All other ranges are invalid. +json.exception.invalid_iterator.205 | iterator out of range | When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the @ref begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. +json.exception.invalid_iterator.206 | cannot construct with iterators from null | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. +json.exception.invalid_iterator.207 | cannot use key() for non-object iterators | The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. +json.exception.invalid_iterator.208 | cannot use operator[] for object iterators | The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.209 | cannot use offsets with object iterators | The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.210 | iterators do not fit | The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.211 | passed iterators may not belong to container | The iterator range passed to the insert function must not be a subrange of the container to insert to. +json.exception.invalid_iterator.212 | cannot compare iterators of different containers | When two iterators are compared, they must belong to the same container. +json.exception.invalid_iterator.213 | cannot compare order of object iterators | The order of object iterators cannot be compared, because JSON objects are unordered. +json.exception.invalid_iterator.214 | cannot get value | Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to @ref begin(). + +@liveexample{The following code shows how an `invalid_iterator` exception can be +caught.,invalid_iterator} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class invalid_iterator : public exception +{ + public: + static invalid_iterator create(int id_, const std::string& what_arg) + { + std::string w = exception::name("invalid_iterator", id_) + what_arg; + return invalid_iterator(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + invalid_iterator(int id_, const char* what_arg) + : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating executing a member function with a wrong type + +This exception is thrown in case of a type error; that is, a library function is +executed on a JSON value whose type does not match the expected semantics. + +Exceptions have ids 3xx. + +name / id | example message | description +----------------------------- | --------------- | ------------------------- +json.exception.type_error.301 | cannot create object from initializer list | To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. +json.exception.type_error.302 | type must be object, but is array | During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. +json.exception.type_error.303 | incompatible ReferenceType for get_ref, actual type is object | To retrieve a reference to a value stored in a @ref basic_json object with @ref get_ref, the type of the reference must match the value type. For instance, for a JSON array, the @a ReferenceType must be @ref array_t &. +json.exception.type_error.304 | cannot use at() with string | The @ref at() member functions can only be executed for certain JSON types. +json.exception.type_error.305 | cannot use operator[] with string | The @ref operator[] member functions can only be executed for certain JSON types. +json.exception.type_error.306 | cannot use value() with string | The @ref value() member functions can only be executed for certain JSON types. +json.exception.type_error.307 | cannot use erase() with string | The @ref erase() member functions can only be executed for certain JSON types. +json.exception.type_error.308 | cannot use push_back() with string | The @ref push_back() and @ref operator+= member functions can only be executed for certain JSON types. +json.exception.type_error.309 | cannot use insert() with | The @ref insert() member functions can only be executed for certain JSON types. +json.exception.type_error.310 | cannot use swap() with number | The @ref swap() member functions can only be executed for certain JSON types. +json.exception.type_error.311 | cannot use emplace_back() with string | The @ref emplace_back() member function can only be executed for certain JSON types. +json.exception.type_error.312 | cannot use update() with string | The @ref update() member functions can only be executed for certain JSON types. +json.exception.type_error.313 | invalid value to unflatten | The @ref unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. +json.exception.type_error.314 | only objects can be unflattened | The @ref unflatten function only works for an object whose keys are JSON Pointers. +json.exception.type_error.315 | values in object must be primitive | The @ref unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. +json.exception.type_error.316 | invalid UTF-8 byte at index 10: 0x7E | The @ref dump function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. | +json.exception.type_error.317 | JSON value cannot be serialized to requested format | The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) | + +@liveexample{The following code shows how a `type_error` exception can be +caught.,type_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class type_error : public exception +{ + public: + static type_error create(int id_, const std::string& what_arg) + { + std::string w = exception::name("type_error", id_) + what_arg; + return type_error(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating access out of the defined range + +This exception is thrown in case a library function is called on an input +parameter that exceeds the expected range, for instance in case of array +indices or nonexisting object keys. + +Exceptions have ids 4xx. + +name / id | example message | description +------------------------------- | --------------- | ------------------------- +json.exception.out_of_range.401 | array index 3 is out of range | The provided array index @a i is larger than @a size-1. +json.exception.out_of_range.402 | array index '-' (3) is out of range | The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. +json.exception.out_of_range.403 | key 'foo' not found | The provided key was not found in the JSON object. +json.exception.out_of_range.404 | unresolved reference token 'foo' | A reference token in a JSON Pointer could not be resolved. +json.exception.out_of_range.405 | JSON pointer has no parent | The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. +json.exception.out_of_range.406 | number overflow parsing '10E1000' | A parsed number could not be stored as without changing it to NaN or INF. +json.exception.out_of_range.407 | number overflow serializing '9223372036854775808' | UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0) | +json.exception.out_of_range.408 | excessive array size: 8658170730974374167 | The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. | +json.exception.out_of_range.409 | BSON key cannot contain code point U+0000 (at byte 2) | Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string | + +@liveexample{The following code shows how an `out_of_range` exception can be +caught.,out_of_range} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class out_of_range : public exception +{ + public: + static out_of_range create(int id_, const std::string& what_arg) + { + std::string w = exception::name("out_of_range", id_) + what_arg; + return out_of_range(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating other library errors + +This exception is thrown in case of errors that cannot be classified with the +other exception types. + +Exceptions have ids 5xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.other_error.501 | unsuccessful: {"op":"test","path":"/baz", "value":"bar"} | A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range + +@liveexample{The following code shows how an `other_error` exception can be +caught.,other_error} + +@since version 3.0.0 +*/ +class other_error : public exception +{ + public: + static other_error create(int id_, const std::string& what_arg) + { + std::string w = exception::name("other_error", id_) + what_arg; + return other_error(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type + +namespace nlohmann +{ +namespace detail +{ +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +template +using uncvref_t = typename std::remove_cv::type>::type; + +// implementation of C++14 index_sequence and affiliates +// source: https://stackoverflow.com/a/32223343 +template +struct index_sequence +{ + using type = index_sequence; + using value_type = std::size_t; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +template +struct merge_and_renumber; + +template +struct merge_and_renumber, index_sequence> + : index_sequence < I1..., (sizeof...(I1) + I2)... > {}; + +template +struct make_index_sequence + : merge_and_renumber < typename make_index_sequence < N / 2 >::type, + typename make_index_sequence < N - N / 2 >::type > {}; + +template<> struct make_index_sequence<0> : index_sequence<> {}; +template<> struct make_index_sequence<1> : index_sequence<0> {}; + +template +using index_sequence_for = make_index_sequence; + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static constexpr T value{}; +}; + +template +constexpr T static_const::value; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // numeric_limits +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval + +// #include + + +#include // random_access_iterator_tag + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + + +#include + +// #include + + +// https://en.cppreference.com/w/cpp/experimental/is_detected +namespace nlohmann +{ +namespace detail +{ +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; +} // namespace detail +} // namespace nlohmann + +// #include +#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ +#define INCLUDE_NLOHMANN_JSON_FWD_HPP_ + +#include // int64_t, uint64_t +#include // map +#include // allocator +#include // string +#include // vector + +/*! +@brief namespace for Niels Lohmann +@see https://github.com/nlohmann +@since version 1.0.0 +*/ +namespace nlohmann +{ +/*! +@brief default JSONSerializer template argument + +This serializer ignores the template arguments and uses ADL +([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) +for serialization. +*/ +template +struct adl_serializer; + +template class ObjectType = + std::map, + template class ArrayType = std::vector, + class StringType = std::string, class BooleanType = bool, + class NumberIntegerType = std::int64_t, + class NumberUnsignedType = std::uint64_t, + class NumberFloatType = double, + template class AllocatorType = std::allocator, + template class JSONSerializer = + adl_serializer, + class BinaryType = std::vector> +class basic_json; + +/*! +@brief JSON Pointer + +A JSON pointer defines a string syntax for identifying a specific value +within a JSON document. It can be used with functions `at` and +`operator[]`. Furthermore, JSON pointers are the base for JSON patches. + +@sa [RFC 6901](https://tools.ietf.org/html/rfc6901) + +@since version 2.0.0 +*/ +template +class json_pointer; + +/*! +@brief default JSON class + +This type is the default specialization of the @ref basic_json class which +uses the standard template types. + +@since version 1.0.0 +*/ +using json = basic_json<>; + +template +struct ordered_map; + +/*! +@brief ordered JSON class + +This type preserves the insertion order of object keys. + +@since version 3.9.0 +*/ +using ordered_json = basic_json; + +} // namespace nlohmann + +#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + +namespace nlohmann +{ +/*! +@brief detail namespace with internal helper functions + +This namespace collects functions that should not be exposed, +implementations of some @ref basic_json methods, and meta-programming helpers. + +@since version 2.1.0 +*/ +namespace detail +{ +///////////// +// helpers // +///////////// + +// Note to maintainers: +// +// Every trait in this file expects a non CV-qualified type. +// The only exceptions are in the 'aliases for detected' section +// (i.e. those of the form: decltype(T::member_function(std::declval()))) +// +// In this case, T has to be properly CV-qualified to constraint the function arguments +// (e.g. to_json(BasicJsonType&, const T&)) + +template struct is_basic_json : std::false_type {}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +struct is_basic_json : std::true_type {}; + +////////////////////// +// json_ref helpers // +////////////////////// + +template +class json_ref; + +template +struct is_json_ref : std::false_type {}; + +template +struct is_json_ref> : std::true_type {}; + +////////////////////////// +// aliases for detected // +////////////////////////// + +template +using mapped_type_t = typename T::mapped_type; + +template +using key_type_t = typename T::key_type; + +template +using value_type_t = typename T::value_type; + +template +using difference_type_t = typename T::difference_type; + +template +using pointer_t = typename T::pointer; + +template +using reference_t = typename T::reference; + +template +using iterator_category_t = typename T::iterator_category; + +template +using iterator_t = typename T::iterator; + +template +using to_json_function = decltype(T::to_json(std::declval()...)); + +template +using from_json_function = decltype(T::from_json(std::declval()...)); + +template +using get_template_function = decltype(std::declval().template get()); + +// trait checking if JSONSerializer::from_json(json const&, udt&) exists +template +struct has_from_json : std::false_type {}; + +// trait checking if j.get is valid +// use this trait instead of std::is_constructible or std::is_convertible, +// both rely on, or make use of implicit conversions, and thus fail when T +// has several constructors/operator= (see https://github.com/nlohmann/json/issues/958) +template +struct is_getable +{ + static constexpr bool value = is_detected::value; +}; + +template +struct has_from_json < BasicJsonType, T, + enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if JSONSerializer::from_json(json const&) exists +// this overload is used for non-default-constructible user-defined-types +template +struct has_non_default_from_json : std::false_type {}; + +template +struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if BasicJsonType::json_serializer::to_json exists +// Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion. +template +struct has_to_json : std::false_type {}; + +template +struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + + +/////////////////// +// is_ functions // +/////////////////// + +template +struct is_iterator_traits : std::false_type {}; + +template +struct is_iterator_traits> +{ + private: + using traits = iterator_traits; + + public: + static constexpr auto value = + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value; +}; + +// source: https://stackoverflow.com/a/37193089/4116453 + +template +struct is_complete_type : std::false_type {}; + +template +struct is_complete_type : std::true_type {}; + +template +struct is_compatible_object_type_impl : std::false_type {}; + +template +struct is_compatible_object_type_impl < + BasicJsonType, CompatibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + + using object_t = typename BasicJsonType::object_t; + + // macOS's is_constructible does not play well with nonesuch... + static constexpr bool value = + std::is_constructible::value && + std::is_constructible::value; +}; + +template +struct is_compatible_object_type + : is_compatible_object_type_impl {}; + +template +struct is_constructible_object_type_impl : std::false_type {}; + +template +struct is_constructible_object_type_impl < + BasicJsonType, ConstructibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + static constexpr bool value = + (std::is_default_constructible::value && + (std::is_move_assignable::value || + std::is_copy_assignable::value) && + (std::is_constructible::value && + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) || + (has_from_json::value || + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value); +}; + +template +struct is_constructible_object_type + : is_constructible_object_type_impl {}; + +template +struct is_compatible_string_type_impl : std::false_type {}; + +template +struct is_compatible_string_type_impl < + BasicJsonType, CompatibleStringType, + enable_if_t::value >> +{ + static constexpr auto value = + std::is_constructible::value; +}; + +template +struct is_compatible_string_type + : is_compatible_string_type_impl {}; + +template +struct is_constructible_string_type_impl : std::false_type {}; + +template +struct is_constructible_string_type_impl < + BasicJsonType, ConstructibleStringType, + enable_if_t::value >> +{ + static constexpr auto value = + std::is_constructible::value; +}; + +template +struct is_constructible_string_type + : is_constructible_string_type_impl {}; + +template +struct is_compatible_array_type_impl : std::false_type {}; + +template +struct is_compatible_array_type_impl < + BasicJsonType, CompatibleArrayType, + enable_if_t < is_detected::value&& + is_detected::value&& +// This is needed because json_reverse_iterator has a ::iterator type... +// Therefore it is detected as a CompatibleArrayType. +// The real fix would be to have an Iterable concept. + !is_iterator_traits < + iterator_traits>::value >> +{ + static constexpr bool value = + std::is_constructible::value; +}; + +template +struct is_compatible_array_type + : is_compatible_array_type_impl {}; + +template +struct is_constructible_array_type_impl : std::false_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t::value >> + : std::true_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t < !std::is_same::value&& + std::is_default_constructible::value&& +(std::is_move_assignable::value || + std::is_copy_assignable::value)&& +is_detected::value&& +is_detected::value&& +is_complete_type < +detected_t>::value >> +{ + static constexpr bool value = + // This is needed because json_reverse_iterator has a ::iterator type, + // furthermore, std::back_insert_iterator (and other iterators) have a + // base class `iterator`... Therefore it is detected as a + // ConstructibleArrayType. The real fix would be to have an Iterable + // concept. + !is_iterator_traits>::value && + + (std::is_same::value || + has_from_json::value || + has_non_default_from_json < + BasicJsonType, typename ConstructibleArrayType::value_type >::value); +}; + +template +struct is_constructible_array_type + : is_constructible_array_type_impl {}; + +template +struct is_compatible_integer_type_impl : std::false_type {}; + +template +struct is_compatible_integer_type_impl < + RealIntegerType, CompatibleNumberIntegerType, + enable_if_t < std::is_integral::value&& + std::is_integral::value&& + !std::is_same::value >> +{ + // is there an assert somewhere on overflows? + using RealLimits = std::numeric_limits; + using CompatibleLimits = std::numeric_limits; + + static constexpr auto value = + std::is_constructible::value && + CompatibleLimits::is_integer && + RealLimits::is_signed == CompatibleLimits::is_signed; +}; + +template +struct is_compatible_integer_type + : is_compatible_integer_type_impl {}; + +template +struct is_compatible_type_impl: std::false_type {}; + +template +struct is_compatible_type_impl < + BasicJsonType, CompatibleType, + enable_if_t::value >> +{ + static constexpr bool value = + has_to_json::value; +}; + +template +struct is_compatible_type + : is_compatible_type_impl {}; + +// https://en.cppreference.com/w/cpp/types/conjunction +template struct conjunction : std::true_type { }; +template struct conjunction : B1 { }; +template +struct conjunction +: std::conditional, B1>::type {}; + +template +struct is_constructible_tuple : std::false_type {}; + +template +struct is_constructible_tuple> : conjunction...> {}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // array +#include // size_t +#include // uint8_t +#include // string + +namespace nlohmann +{ +namespace detail +{ +/////////////////////////// +// JSON type enumeration // +/////////////////////////// + +/*! +@brief the JSON type enumeration + +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. + +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. + +@sa @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type + +@since version 1.0.0 +*/ +enum class value_t : std::uint8_t +{ + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function +}; + +/*! +@brief comparison operator for JSON types + +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. + +@since version 1.0.0 +*/ +inline bool operator<(const value_t lhs, const value_t rhs) noexcept +{ + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; + + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +} +} // namespace detail +} // namespace nlohmann + + +namespace nlohmann +{ +namespace detail +{ +template +void from_json(const BasicJsonType& j, typename std::nullptr_t& n) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_null())) + { + JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name()))); + } + n = nullptr; +} + +// overloads for basic_json template parameters +template < typename BasicJsonType, typename ArithmeticType, + enable_if_t < std::is_arithmetic::value&& + !std::is_same::value, + int > = 0 > +void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val) +{ + switch (static_cast(j)) + { + case value_t::number_unsigned: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_integer: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_float: + { + val = static_cast(*j.template get_ptr()); + break; + } + + default: + JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()))); + } +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_boolean())) + { + JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name()))); + } + b = *j.template get_ptr(); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_string())) + { + JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()))); + } + s = *j.template get_ptr(); +} + +template < + typename BasicJsonType, typename ConstructibleStringType, + enable_if_t < + is_constructible_string_type::value&& + !std::is_same::value, + int > = 0 > +void from_json(const BasicJsonType& j, ConstructibleStringType& s) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_string())) + { + JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()))); + } + + s = *j.template get_ptr(); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val) +{ + get_arithmetic_value(j, val); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val) +{ + get_arithmetic_value(j, val); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val) +{ + get_arithmetic_value(j, val); +} + +template::value, int> = 0> +void from_json(const BasicJsonType& j, EnumType& e) +{ + typename std::underlying_type::type val; + get_arithmetic_value(j, val); + e = static_cast(val); +} + +// forward_list doesn't have an insert method +template::value, int> = 0> +void from_json(const BasicJsonType& j, std::forward_list& l) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); + } + l.clear(); + std::transform(j.rbegin(), j.rend(), + std::front_inserter(l), [](const BasicJsonType & i) + { + return i.template get(); + }); +} + +// valarray doesn't have an insert method +template::value, int> = 0> +void from_json(const BasicJsonType& j, std::valarray& l) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); + } + l.resize(j.size()); + std::transform(j.begin(), j.end(), std::begin(l), + [](const BasicJsonType & elem) + { + return elem.template get(); + }); +} + +template +auto from_json(const BasicJsonType& j, T (&arr)[N]) +-> decltype(j.template get(), void()) +{ + for (std::size_t i = 0; i < N; ++i) + { + arr[i] = j.at(i).template get(); + } +} + +template +void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/) +{ + arr = *j.template get_ptr(); +} + +template +auto from_json_array_impl(const BasicJsonType& j, std::array& arr, + priority_tag<2> /*unused*/) +-> decltype(j.template get(), void()) +{ + for (std::size_t i = 0; i < N; ++i) + { + arr[i] = j.at(i).template get(); + } +} + +template +auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, priority_tag<1> /*unused*/) +-> decltype( + arr.reserve(std::declval()), + j.template get(), + void()) +{ + using std::end; + + ConstructibleArrayType ret; + ret.reserve(j.size()); + std::transform(j.begin(), j.end(), + std::inserter(ret, end(ret)), [](const BasicJsonType & i) + { + // get() returns *this, this won't call a from_json + // method when value_type is BasicJsonType + return i.template get(); + }); + arr = std::move(ret); +} + +template +void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, + priority_tag<0> /*unused*/) +{ + using std::end; + + ConstructibleArrayType ret; + std::transform( + j.begin(), j.end(), std::inserter(ret, end(ret)), + [](const BasicJsonType & i) + { + // get() returns *this, this won't call a from_json + // method when value_type is BasicJsonType + return i.template get(); + }); + arr = std::move(ret); +} + +template < typename BasicJsonType, typename ConstructibleArrayType, + enable_if_t < + is_constructible_array_type::value&& + !is_constructible_object_type::value&& + !is_constructible_string_type::value&& + !std::is_same::value&& + !is_basic_json::value, + int > = 0 > +auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr) +-> decltype(from_json_array_impl(j, arr, priority_tag<3> {}), +j.template get(), +void()) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + + std::string(j.type_name()))); + } + + from_json_array_impl(j, arr, priority_tag<3> {}); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t& bin) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_binary())) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(j.type_name()))); + } + + bin = *j.template get_ptr(); +} + +template::value, int> = 0> +void from_json(const BasicJsonType& j, ConstructibleObjectType& obj) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_object())) + { + JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name()))); + } + + ConstructibleObjectType ret; + auto inner_object = j.template get_ptr(); + using value_type = typename ConstructibleObjectType::value_type; + std::transform( + inner_object->begin(), inner_object->end(), + std::inserter(ret, ret.begin()), + [](typename BasicJsonType::object_t::value_type const & p) + { + return value_type(p.first, p.second.template get()); + }); + obj = std::move(ret); +} + +// overload for arithmetic types, not chosen for basic_json template arguments +// (BooleanType, etc..); note: Is it really necessary to provide explicit +// overloads for boolean_t etc. in case of a custom BooleanType which is not +// an arithmetic type? +template < typename BasicJsonType, typename ArithmeticType, + enable_if_t < + std::is_arithmetic::value&& + !std::is_same::value&& + !std::is_same::value&& + !std::is_same::value&& + !std::is_same::value, + int > = 0 > +void from_json(const BasicJsonType& j, ArithmeticType& val) +{ + switch (static_cast(j)) + { + case value_t::number_unsigned: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_integer: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_float: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::boolean: + { + val = static_cast(*j.template get_ptr()); + break; + } + + default: + JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()))); + } +} + +template +void from_json(const BasicJsonType& j, std::pair& p) +{ + p = {j.at(0).template get(), j.at(1).template get()}; +} + +template +void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence /*unused*/) +{ + t = std::make_tuple(j.at(Idx).template get::type>()...); +} + +template +void from_json(const BasicJsonType& j, std::tuple& t) +{ + from_json_tuple_impl(j, t, index_sequence_for {}); +} + +template < typename BasicJsonType, typename Key, typename Value, typename Compare, typename Allocator, + typename = enable_if_t < !std::is_constructible < + typename BasicJsonType::string_t, Key >::value >> +void from_json(const BasicJsonType& j, std::map& m) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); + } + m.clear(); + for (const auto& p : j) + { + if (JSON_HEDLEY_UNLIKELY(!p.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()))); + } + m.emplace(p.at(0).template get(), p.at(1).template get()); + } +} + +template < typename BasicJsonType, typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator, + typename = enable_if_t < !std::is_constructible < + typename BasicJsonType::string_t, Key >::value >> +void from_json(const BasicJsonType& j, std::unordered_map& m) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); + } + m.clear(); + for (const auto& p : j) + { + if (JSON_HEDLEY_UNLIKELY(!p.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()))); + } + m.emplace(p.at(0).template get(), p.at(1).template get()); + } +} + +struct from_json_fn +{ + template + auto operator()(const BasicJsonType& j, T& val) const + noexcept(noexcept(from_json(j, val))) + -> decltype(from_json(j, val), void()) + { + return from_json(j, val); + } +}; +} // namespace detail + +/// namespace to hold default `from_json` function +/// to see why this is required: +/// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4381.html +namespace +{ +constexpr const auto& from_json = detail::static_const::value; +} // namespace +} // namespace nlohmann + +// #include + + +#include // copy +#include // begin, end +#include // string +#include // tuple, get +#include // is_same, is_constructible, is_floating_point, is_enum, underlying_type +#include // move, forward, declval, pair +#include // valarray +#include // vector + +// #include + + +#include // size_t +#include // input_iterator_tag +#include // string, to_string +#include // tuple_size, get, tuple_element + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +void int_to_string( string_type& target, std::size_t value ) +{ + // For ADL + using std::to_string; + target = to_string(value); +} +template class iteration_proxy_value +{ + public: + using difference_type = std::ptrdiff_t; + using value_type = iteration_proxy_value; + using pointer = value_type * ; + using reference = value_type & ; + using iterator_category = std::input_iterator_tag; + using string_type = typename std::remove_cv< typename std::remove_reference().key() ) >::type >::type; + + private: + /// the iterator + IteratorType anchor; + /// an index for arrays (used to create key names) + std::size_t array_index = 0; + /// last stringified array index + mutable std::size_t array_index_last = 0; + /// a string representation of the array index + mutable string_type array_index_str = "0"; + /// an empty string (to return a reference for primitive values) + const string_type empty_str = ""; + + public: + explicit iteration_proxy_value(IteratorType it) noexcept : anchor(it) {} + + /// dereference operator (needed for range-based for) + iteration_proxy_value& operator*() + { + return *this; + } + + /// increment operator (needed for range-based for) + iteration_proxy_value& operator++() + { + ++anchor; + ++array_index; + + return *this; + } + + /// equality operator (needed for InputIterator) + bool operator==(const iteration_proxy_value& o) const + { + return anchor == o.anchor; + } + + /// inequality operator (needed for range-based for) + bool operator!=(const iteration_proxy_value& o) const + { + return anchor != o.anchor; + } + + /// return key of the iterator + const string_type& key() const + { + JSON_ASSERT(anchor.m_object != nullptr); + + switch (anchor.m_object->type()) + { + // use integer array index as key + case value_t::array: + { + if (array_index != array_index_last) + { + int_to_string( array_index_str, array_index ); + array_index_last = array_index; + } + return array_index_str; + } + + // use key from the object + case value_t::object: + return anchor.key(); + + // use an empty key for all primitive types + default: + return empty_str; + } + } + + /// return value of the iterator + typename IteratorType::reference value() const + { + return anchor.value(); + } +}; + +/// proxy class for the items() function +template class iteration_proxy +{ + private: + /// the container to iterate + typename IteratorType::reference container; + + public: + /// construct iteration proxy from a container + explicit iteration_proxy(typename IteratorType::reference cont) noexcept + : container(cont) {} + + /// return iterator begin (needed for range-based for) + iteration_proxy_value begin() noexcept + { + return iteration_proxy_value(container.begin()); + } + + /// return iterator end (needed for range-based for) + iteration_proxy_value end() noexcept + { + return iteration_proxy_value(container.end()); + } +}; +// Structured Bindings Support +// For further reference see https://blog.tartanllama.xyz/structured-bindings/ +// And see https://github.com/nlohmann/json/pull/1391 +template = 0> +auto get(const nlohmann::detail::iteration_proxy_value& i) -> decltype(i.key()) +{ + return i.key(); +} +// Structured Bindings Support +// For further reference see https://blog.tartanllama.xyz/structured-bindings/ +// And see https://github.com/nlohmann/json/pull/1391 +template = 0> +auto get(const nlohmann::detail::iteration_proxy_value& i) -> decltype(i.value()) +{ + return i.value(); +} +} // namespace detail +} // namespace nlohmann + +// The Addition to the STD Namespace is required to add +// Structured Bindings Support to the iteration_proxy_value class +// For further reference see https://blog.tartanllama.xyz/structured-bindings/ +// And see https://github.com/nlohmann/json/pull/1391 +namespace std +{ +#if defined(__clang__) + // Fix: https://github.com/nlohmann/json/issues/1401 + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wmismatched-tags" +#endif +template +class tuple_size<::nlohmann::detail::iteration_proxy_value> + : public std::integral_constant {}; + +template +class tuple_element> +{ + public: + using type = decltype( + get(std::declval < + ::nlohmann::detail::iteration_proxy_value> ())); +}; +#if defined(__clang__) + #pragma clang diagnostic pop +#endif +} // namespace std + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +////////////////// +// constructors // +////////////////// + +template struct external_constructor; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept + { + j.m_type = value_t::boolean; + j.m_value = b; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s) + { + j.m_type = value_t::string; + j.m_value = s; + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s) + { + j.m_type = value_t::string; + j.m_value = std::move(s); + j.assert_invariant(); + } + + template < typename BasicJsonType, typename CompatibleStringType, + enable_if_t < !std::is_same::value, + int > = 0 > + static void construct(BasicJsonType& j, const CompatibleStringType& str) + { + j.m_type = value_t::string; + j.m_value.string = j.template create(str); + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::binary_t& b) + { + j.m_type = value_t::binary; + typename BasicJsonType::binary_t value{b}; + j.m_value = value; + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::binary_t&& b) + { + j.m_type = value_t::binary; + typename BasicJsonType::binary_t value{std::move(b)}; + j.m_value = value; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept + { + j.m_type = value_t::number_float; + j.m_value = val; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept + { + j.m_type = value_t::number_unsigned; + j.m_value = val; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept + { + j.m_type = value_t::number_integer; + j.m_value = val; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr) + { + j.m_type = value_t::array; + j.m_value = arr; + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr) + { + j.m_type = value_t::array; + j.m_value = std::move(arr); + j.assert_invariant(); + } + + template < typename BasicJsonType, typename CompatibleArrayType, + enable_if_t < !std::is_same::value, + int > = 0 > + static void construct(BasicJsonType& j, const CompatibleArrayType& arr) + { + using std::begin; + using std::end; + j.m_type = value_t::array; + j.m_value.array = j.template create(begin(arr), end(arr)); + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, const std::vector& arr) + { + j.m_type = value_t::array; + j.m_value = value_t::array; + j.m_value.array->reserve(arr.size()); + for (const bool x : arr) + { + j.m_value.array->push_back(x); + } + j.assert_invariant(); + } + + template::value, int> = 0> + static void construct(BasicJsonType& j, const std::valarray& arr) + { + j.m_type = value_t::array; + j.m_value = value_t::array; + j.m_value.array->resize(arr.size()); + if (arr.size() > 0) + { + std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin()); + } + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj) + { + j.m_type = value_t::object; + j.m_value = obj; + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj) + { + j.m_type = value_t::object; + j.m_value = std::move(obj); + j.assert_invariant(); + } + + template < typename BasicJsonType, typename CompatibleObjectType, + enable_if_t < !std::is_same::value, int > = 0 > + static void construct(BasicJsonType& j, const CompatibleObjectType& obj) + { + using std::begin; + using std::end; + + j.m_type = value_t::object; + j.m_value.object = j.template create(begin(obj), end(obj)); + j.assert_invariant(); + } +}; + +///////////// +// to_json // +///////////// + +template::value, int> = 0> +void to_json(BasicJsonType& j, T b) noexcept +{ + external_constructor::construct(j, b); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, const CompatibleString& s) +{ + external_constructor::construct(j, s); +} + +template +void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s) +{ + external_constructor::construct(j, std::move(s)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, FloatType val) noexcept +{ + external_constructor::construct(j, static_cast(val)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept +{ + external_constructor::construct(j, static_cast(val)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept +{ + external_constructor::construct(j, static_cast(val)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, EnumType e) noexcept +{ + using underlying_type = typename std::underlying_type::type; + external_constructor::construct(j, static_cast(e)); +} + +template +void to_json(BasicJsonType& j, const std::vector& e) +{ + external_constructor::construct(j, e); +} + +template < typename BasicJsonType, typename CompatibleArrayType, + enable_if_t < is_compatible_array_type::value&& + !is_compatible_object_type::value&& + !is_compatible_string_type::value&& + !std::is_same::value&& + !is_basic_json::value, + int > = 0 > +void to_json(BasicJsonType& j, const CompatibleArrayType& arr) +{ + external_constructor::construct(j, arr); +} + +template +void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t& bin) +{ + external_constructor::construct(j, bin); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, const std::valarray& arr) +{ + external_constructor::construct(j, std::move(arr)); +} + +template +void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr) +{ + external_constructor::construct(j, std::move(arr)); +} + +template < typename BasicJsonType, typename CompatibleObjectType, + enable_if_t < is_compatible_object_type::value&& !is_basic_json::value, int > = 0 > +void to_json(BasicJsonType& j, const CompatibleObjectType& obj) +{ + external_constructor::construct(j, obj); +} + +template +void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj) +{ + external_constructor::construct(j, std::move(obj)); +} + +template < + typename BasicJsonType, typename T, std::size_t N, + enable_if_t < !std::is_constructible::value, + int > = 0 > +void to_json(BasicJsonType& j, const T(&arr)[N]) +{ + external_constructor::construct(j, arr); +} + +template < typename BasicJsonType, typename T1, typename T2, enable_if_t < std::is_constructible::value&& std::is_constructible::value, int > = 0 > +void to_json(BasicJsonType& j, const std::pair& p) +{ + j = { p.first, p.second }; +} + +// for https://github.com/nlohmann/json/pull/1134 +template>::value, int> = 0> +void to_json(BasicJsonType& j, const T& b) +{ + j = { {b.key(), b.value()} }; +} + +template +void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence /*unused*/) +{ + j = { std::get(t)... }; +} + +template::value, int > = 0> +void to_json(BasicJsonType& j, const T& t) +{ + to_json_tuple_impl(j, t, make_index_sequence::value> {}); +} + +struct to_json_fn +{ + template + auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward(val)))) + -> decltype(to_json(j, std::forward(val)), void()) + { + return to_json(j, std::forward(val)); + } +}; +} // namespace detail + +/// namespace to hold default `to_json` function +namespace +{ +constexpr const auto& to_json = detail::static_const::value; +} // namespace +} // namespace nlohmann + + +namespace nlohmann +{ + +template +struct adl_serializer +{ + /*! + @brief convert a JSON value to any value type + + This function is usually called by the `get()` function of the + @ref basic_json class (either explicit or via conversion operators). + + @param[in] j JSON value to read from + @param[in,out] val value to write to + */ + template + static auto from_json(BasicJsonType&& j, ValueType& val) noexcept( + noexcept(::nlohmann::from_json(std::forward(j), val))) + -> decltype(::nlohmann::from_json(std::forward(j), val), void()) + { + ::nlohmann::from_json(std::forward(j), val); + } + + /*! + @brief convert any value type to a JSON value + + This function is usually called by the constructors of the @ref basic_json + class. + + @param[in,out] j JSON value to write to + @param[in] val value to read from + */ + template + static auto to_json(BasicJsonType& j, ValueType&& val) noexcept( + noexcept(::nlohmann::to_json(j, std::forward(val)))) + -> decltype(::nlohmann::to_json(j, std::forward(val)), void()) + { + ::nlohmann::to_json(j, std::forward(val)); + } +}; + +} // namespace nlohmann + +// #include + + +#include // uint8_t +#include // tie +#include // move + +namespace nlohmann +{ + +/*! +@brief an internal type for a backed binary type + +This type extends the template parameter @a BinaryType provided to `basic_json` +with a subtype used by BSON and MessagePack. This type exists so that the user +does not have to specify a type themselves with a specific naming scheme in +order to override the binary type. + +@tparam BinaryType container to store bytes (`std::vector` by + default) + +@since version 3.8.0 +*/ +template +class byte_container_with_subtype : public BinaryType +{ + public: + /// the type of the underlying container + using container_type = BinaryType; + + byte_container_with_subtype() noexcept(noexcept(container_type())) + : container_type() + {} + + byte_container_with_subtype(const container_type& b) noexcept(noexcept(container_type(b))) + : container_type(b) + {} + + byte_container_with_subtype(container_type&& b) noexcept(noexcept(container_type(std::move(b)))) + : container_type(std::move(b)) + {} + + byte_container_with_subtype(const container_type& b, std::uint8_t subtype) noexcept(noexcept(container_type(b))) + : container_type(b) + , m_subtype(subtype) + , m_has_subtype(true) + {} + + byte_container_with_subtype(container_type&& b, std::uint8_t subtype) noexcept(noexcept(container_type(std::move(b)))) + : container_type(std::move(b)) + , m_subtype(subtype) + , m_has_subtype(true) + {} + + bool operator==(const byte_container_with_subtype& rhs) const + { + return std::tie(static_cast(*this), m_subtype, m_has_subtype) == + std::tie(static_cast(rhs), rhs.m_subtype, rhs.m_has_subtype); + } + + bool operator!=(const byte_container_with_subtype& rhs) const + { + return !(rhs == *this); + } + + /*! + @brief sets the binary subtype + + Sets the binary subtype of the value, also flags a binary JSON value as + having a subtype, which has implications for serialization. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref subtype() -- return the binary subtype + @sa @ref clear_subtype() -- clears the binary subtype + @sa @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + void set_subtype(std::uint8_t subtype) noexcept + { + m_subtype = subtype; + m_has_subtype = true; + } + + /*! + @brief return the binary subtype + + Returns the numerical subtype of the value if it has a subtype. If it does + not have a subtype, this function will return size_t(-1) as a sentinel + value. + + @return the numerical subtype of the binary value + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref set_subtype() -- sets the binary subtype + @sa @ref clear_subtype() -- clears the binary subtype + @sa @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + constexpr std::uint8_t subtype() const noexcept + { + return m_subtype; + } + + /*! + @brief return whether the value has a subtype + + @return whether the value has a subtype + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref subtype() -- return the binary subtype + @sa @ref set_subtype() -- sets the binary subtype + @sa @ref clear_subtype() -- clears the binary subtype + + @since version 3.8.0 + */ + constexpr bool has_subtype() const noexcept + { + return m_has_subtype; + } + + /*! + @brief clears the binary subtype + + Clears the binary subtype and flags the value as not having a subtype, which + has implications for serialization; for instance MessagePack will prefer the + bin family over the ext family. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref subtype() -- return the binary subtype + @sa @ref set_subtype() -- sets the binary subtype + @sa @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + void clear_subtype() noexcept + { + m_subtype = 0; + m_has_subtype = false; + } + + private: + std::uint8_t m_subtype = 0; + bool m_has_subtype = false; +}; + +} // namespace nlohmann + +// #include + +// #include + +// #include + +// #include + + +#include // size_t, uint8_t +#include // hash + +namespace nlohmann +{ +namespace detail +{ + +// boost::hash_combine +inline std::size_t combine(std::size_t seed, std::size_t h) noexcept +{ + seed ^= h + 0x9e3779b9 + (seed << 6U) + (seed >> 2U); + return seed; +} + +/*! +@brief hash a JSON value + +The hash function tries to rely on std::hash where possible. Furthermore, the +type of the JSON value is taken into account to have different hash values for +null, 0, 0U, and false, etc. + +@tparam BasicJsonType basic_json specialization +@param j JSON value to hash +@return hash value of j +*/ +template +std::size_t hash(const BasicJsonType& j) +{ + using string_t = typename BasicJsonType::string_t; + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + + const auto type = static_cast(j.type()); + switch (j.type()) + { + case BasicJsonType::value_t::null: + case BasicJsonType::value_t::discarded: + { + return combine(type, 0); + } + + case BasicJsonType::value_t::object: + { + auto seed = combine(type, j.size()); + for (const auto& element : j.items()) + { + const auto h = std::hash {}(element.key()); + seed = combine(seed, h); + seed = combine(seed, hash(element.value())); + } + return seed; + } + + case BasicJsonType::value_t::array: + { + auto seed = combine(type, j.size()); + for (const auto& element : j) + { + seed = combine(seed, hash(element)); + } + return seed; + } + + case BasicJsonType::value_t::string: + { + const auto h = std::hash {}(j.template get_ref()); + return combine(type, h); + } + + case BasicJsonType::value_t::boolean: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case BasicJsonType::value_t::number_integer: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case nlohmann::detail::value_t::number_unsigned: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case nlohmann::detail::value_t::number_float: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case nlohmann::detail::value_t::binary: + { + auto seed = combine(type, j.get_binary().size()); + const auto h = std::hash {}(j.get_binary().has_subtype()); + seed = combine(seed, h); + seed = combine(seed, j.get_binary().subtype()); + for (const auto byte : j.get_binary()) + { + seed = combine(seed, std::hash {}(byte)); + } + return seed; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } +} + +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // generate_n +#include // array +#include // ldexp +#include // size_t +#include // uint8_t, uint16_t, uint32_t, uint64_t +#include // snprintf +#include // memcpy +#include // back_inserter +#include // numeric_limits +#include // char_traits, string +#include // make_pair, move + +// #include + +// #include + + +#include // array +#include // size_t +#include //FILE * +#include // strlen +#include // istream +#include // begin, end, iterator_traits, random_access_iterator_tag, distance, next +#include // shared_ptr, make_shared, addressof +#include // accumulate +#include // string, char_traits +#include // enable_if, is_base_of, is_pointer, is_integral, remove_pointer +#include // pair, declval + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/// the supported input formats +enum class input_format_t { json, cbor, msgpack, ubjson, bson }; + +//////////////////// +// input adapters // +//////////////////// + +/*! +Input adapter for stdio file access. This adapter read only 1 byte and do not use any + buffer. This adapter is a very low level adapter. +*/ +class file_input_adapter +{ + public: + using char_type = char; + + JSON_HEDLEY_NON_NULL(2) + explicit file_input_adapter(std::FILE* f) noexcept + : m_file(f) + {} + + // make class move-only + file_input_adapter(const file_input_adapter&) = delete; + file_input_adapter(file_input_adapter&&) = default; + file_input_adapter& operator=(const file_input_adapter&) = delete; + file_input_adapter& operator=(file_input_adapter&&) = delete; + + std::char_traits::int_type get_character() noexcept + { + return std::fgetc(m_file); + } + + private: + /// the file pointer to read from + std::FILE* m_file; +}; + + +/*! +Input adapter for a (caching) istream. Ignores a UFT Byte Order Mark at +beginning of input. Does not support changing the underlying std::streambuf +in mid-input. Maintains underlying std::istream and std::streambuf to support +subsequent use of standard std::istream operations to process any input +characters following those used in parsing the JSON input. Clears the +std::istream flags; any input errors (e.g., EOF) will be detected by the first +subsequent call for input from the std::istream. +*/ +class input_stream_adapter +{ + public: + using char_type = char; + + ~input_stream_adapter() + { + // clear stream flags; we use underlying streambuf I/O, do not + // maintain ifstream flags, except eof + if (is != nullptr) + { + is->clear(is->rdstate() & std::ios::eofbit); + } + } + + explicit input_stream_adapter(std::istream& i) + : is(&i), sb(i.rdbuf()) + {} + + // delete because of pointer members + input_stream_adapter(const input_stream_adapter&) = delete; + input_stream_adapter& operator=(input_stream_adapter&) = delete; + input_stream_adapter& operator=(input_stream_adapter&& rhs) = delete; + + input_stream_adapter(input_stream_adapter&& rhs) noexcept : is(rhs.is), sb(rhs.sb) + { + rhs.is = nullptr; + rhs.sb = nullptr; + } + + // std::istream/std::streambuf use std::char_traits::to_int_type, to + // ensure that std::char_traits::eof() and the character 0xFF do not + // end up as the same value, eg. 0xFFFFFFFF. + std::char_traits::int_type get_character() + { + auto res = sb->sbumpc(); + // set eof manually, as we don't use the istream interface. + if (JSON_HEDLEY_UNLIKELY(res == EOF)) + { + is->clear(is->rdstate() | std::ios::eofbit); + } + return res; + } + + private: + /// the associated input stream + std::istream* is = nullptr; + std::streambuf* sb = nullptr; +}; + +// General-purpose iterator-based adapter. It might not be as fast as +// theoretically possible for some containers, but it is extremely versatile. +template +class iterator_input_adapter +{ + public: + using char_type = typename std::iterator_traits::value_type; + + iterator_input_adapter(IteratorType first, IteratorType last) + : current(std::move(first)), end(std::move(last)) {} + + typename std::char_traits::int_type get_character() + { + if (JSON_HEDLEY_LIKELY(current != end)) + { + auto result = std::char_traits::to_int_type(*current); + std::advance(current, 1); + return result; + } + else + { + return std::char_traits::eof(); + } + } + + private: + IteratorType current; + IteratorType end; + + template + friend struct wide_string_input_helper; + + bool empty() const + { + return current == end; + } + +}; + + +template +struct wide_string_input_helper; + +template +struct wide_string_input_helper +{ + // UTF-32 + static void fill_buffer(BaseInputAdapter& input, + std::array::int_type, 4>& utf8_bytes, + size_t& utf8_bytes_index, + size_t& utf8_bytes_filled) + { + utf8_bytes_index = 0; + + if (JSON_HEDLEY_UNLIKELY(input.empty())) + { + utf8_bytes[0] = std::char_traits::eof(); + utf8_bytes_filled = 1; + } + else + { + // get the current character + const auto wc = input.get_character(); + + // UTF-32 to UTF-8 encoding + if (wc < 0x80) + { + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + else if (wc <= 0x7FF) + { + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u) & 0x1Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 2; + } + else if (wc <= 0xFFFF) + { + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u) & 0x0Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 3; + } + else if (wc <= 0x10FFFF) + { + utf8_bytes[0] = static_cast::int_type>(0xF0u | ((static_cast(wc) >> 18u) & 0x07u)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 12u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[3] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 4; + } + else + { + // unknown character + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + } + } +}; + +template +struct wide_string_input_helper +{ + // UTF-16 + static void fill_buffer(BaseInputAdapter& input, + std::array::int_type, 4>& utf8_bytes, + size_t& utf8_bytes_index, + size_t& utf8_bytes_filled) + { + utf8_bytes_index = 0; + + if (JSON_HEDLEY_UNLIKELY(input.empty())) + { + utf8_bytes[0] = std::char_traits::eof(); + utf8_bytes_filled = 1; + } + else + { + // get the current character + const auto wc = input.get_character(); + + // UTF-16 to UTF-8 encoding + if (wc < 0x80) + { + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + else if (wc <= 0x7FF) + { + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 2; + } + else if (0xD800 > wc || wc >= 0xE000) + { + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 3; + } + else + { + if (JSON_HEDLEY_UNLIKELY(!input.empty())) + { + const auto wc2 = static_cast(input.get_character()); + const auto charcode = 0x10000u + (((static_cast(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); + utf8_bytes[0] = static_cast::int_type>(0xF0u | (charcode >> 18u)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu)); + utf8_bytes[3] = static_cast::int_type>(0x80u | (charcode & 0x3Fu)); + utf8_bytes_filled = 4; + } + else + { + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + } + } + } +}; + +// Wraps another input apdater to convert wide character types into individual bytes. +template +class wide_string_input_adapter +{ + public: + using char_type = char; + + wide_string_input_adapter(BaseInputAdapter base) + : base_adapter(base) {} + + typename std::char_traits::int_type get_character() noexcept + { + // check if buffer needs to be filled + if (utf8_bytes_index == utf8_bytes_filled) + { + fill_buffer(); + + JSON_ASSERT(utf8_bytes_filled > 0); + JSON_ASSERT(utf8_bytes_index == 0); + } + + // use buffer + JSON_ASSERT(utf8_bytes_filled > 0); + JSON_ASSERT(utf8_bytes_index < utf8_bytes_filled); + return utf8_bytes[utf8_bytes_index++]; + } + + private: + BaseInputAdapter base_adapter; + + template + void fill_buffer() + { + wide_string_input_helper::fill_buffer(base_adapter, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); + } + + /// a buffer for UTF-8 bytes + std::array::int_type, 4> utf8_bytes = {{0, 0, 0, 0}}; + + /// index to the utf8_codes array for the next valid byte + std::size_t utf8_bytes_index = 0; + /// number of valid bytes in the utf8_codes array + std::size_t utf8_bytes_filled = 0; +}; + + +template +struct iterator_input_adapter_factory +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using adapter_type = iterator_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(std::move(first), std::move(last)); + } +}; + +template +struct is_iterator_of_multibyte +{ + using value_type = typename std::iterator_traits::value_type; + enum + { + value = sizeof(value_type) > 1 + }; +}; + +template +struct iterator_input_adapter_factory::value>> +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using base_adapter_type = iterator_input_adapter; + using adapter_type = wide_string_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(base_adapter_type(std::move(first), std::move(last))); + } +}; + +// General purpose iterator-based input +template +typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType first, IteratorType last) +{ + using factory_type = iterator_input_adapter_factory; + return factory_type::create(first, last); +} + +// Convenience shorthand from container to iterator +template +auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container), end(container))) +{ + // Enable ADL + using std::begin; + using std::end; + + return input_adapter(begin(container), end(container)); +} + +// Special cases with fast paths +inline file_input_adapter input_adapter(std::FILE* file) +{ + return file_input_adapter(file); +} + +inline input_stream_adapter input_adapter(std::istream& stream) +{ + return input_stream_adapter(stream); +} + +inline input_stream_adapter input_adapter(std::istream&& stream) +{ + return input_stream_adapter(stream); +} + +using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval(), std::declval())); + +// Null-delimited strings, and the like. +template < typename CharT, + typename std::enable_if < + std::is_pointer::value&& + !std::is_array::value&& + std::is_integral::type>::value&& + sizeof(typename std::remove_pointer::type) == 1, + int >::type = 0 > +contiguous_bytes_input_adapter input_adapter(CharT b) +{ + auto length = std::strlen(reinterpret_cast(b)); + const auto* ptr = reinterpret_cast(b); + return input_adapter(ptr, ptr + length); +} + +template +auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array, array + N)) +{ + return input_adapter(array, array + N); +} + +// This class only handles inputs of input_buffer_adapter type. +// It's required so that expressions like {ptr, len} can be implicitely casted +// to the correct adapter. +class span_input_adapter +{ + public: + template < typename CharT, + typename std::enable_if < + std::is_pointer::value&& + std::is_integral::type>::value&& + sizeof(typename std::remove_pointer::type) == 1, + int >::type = 0 > + span_input_adapter(CharT b, std::size_t l) + : ia(reinterpret_cast(b), reinterpret_cast(b) + l) {} + + template::iterator_category, std::random_access_iterator_tag>::value, + int>::type = 0> + span_input_adapter(IteratorType first, IteratorType last) + : ia(input_adapter(first, last)) {} + + contiguous_bytes_input_adapter&& get() + { + return std::move(ia); + } + + private: + contiguous_bytes_input_adapter ia; +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include +#include // string +#include // move +#include // vector + +// #include + +// #include + + +namespace nlohmann +{ + +/*! +@brief SAX interface + +This class describes the SAX interface used by @ref nlohmann::json::sax_parse. +Each function is called in different situations while the input is parsed. The +boolean return value informs the parser whether to continue processing the +input. +*/ +template +struct json_sax +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + + /*! + @brief a null value was read + @return whether parsing should proceed + */ + virtual bool null() = 0; + + /*! + @brief a boolean value was read + @param[in] val boolean value + @return whether parsing should proceed + */ + virtual bool boolean(bool val) = 0; + + /*! + @brief an integer number was read + @param[in] val integer value + @return whether parsing should proceed + */ + virtual bool number_integer(number_integer_t val) = 0; + + /*! + @brief an unsigned integer number was read + @param[in] val unsigned integer value + @return whether parsing should proceed + */ + virtual bool number_unsigned(number_unsigned_t val) = 0; + + /*! + @brief an floating-point number was read + @param[in] val floating-point value + @param[in] s raw token value + @return whether parsing should proceed + */ + virtual bool number_float(number_float_t val, const string_t& s) = 0; + + /*! + @brief a string was read + @param[in] val string value + @return whether parsing should proceed + @note It is safe to move the passed string. + */ + virtual bool string(string_t& val) = 0; + + /*! + @brief a binary string was read + @param[in] val binary value + @return whether parsing should proceed + @note It is safe to move the passed binary. + */ + virtual bool binary(binary_t& val) = 0; + + /*! + @brief the beginning of an object was read + @param[in] elements number of object elements or -1 if unknown + @return whether parsing should proceed + @note binary formats may report the number of elements + */ + virtual bool start_object(std::size_t elements) = 0; + + /*! + @brief an object key was read + @param[in] val object key + @return whether parsing should proceed + @note It is safe to move the passed string. + */ + virtual bool key(string_t& val) = 0; + + /*! + @brief the end of an object was read + @return whether parsing should proceed + */ + virtual bool end_object() = 0; + + /*! + @brief the beginning of an array was read + @param[in] elements number of array elements or -1 if unknown + @return whether parsing should proceed + @note binary formats may report the number of elements + */ + virtual bool start_array(std::size_t elements) = 0; + + /*! + @brief the end of an array was read + @return whether parsing should proceed + */ + virtual bool end_array() = 0; + + /*! + @brief a parse error occurred + @param[in] position the position in the input where the error occurs + @param[in] last_token the last read token + @param[in] ex an exception object describing the error + @return whether parsing should proceed (must return false) + */ + virtual bool parse_error(std::size_t position, + const std::string& last_token, + const detail::exception& ex) = 0; + + virtual ~json_sax() = default; +}; + + +namespace detail +{ +/*! +@brief SAX implementation to create a JSON value from SAX events + +This class implements the @ref json_sax interface and processes the SAX events +to create a JSON value which makes it basically a DOM parser. The structure or +hierarchy of the JSON value is managed by the stack `ref_stack` which contains +a pointer to the respective array or object for each recursion depth. + +After successful parsing, the value that is passed by reference to the +constructor contains the parsed value. + +@tparam BasicJsonType the JSON type +*/ +template +class json_sax_dom_parser +{ + public: + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + + /*! + @param[in, out] r reference to a JSON value that is manipulated while + parsing + @param[in] allow_exceptions_ whether parse errors yield exceptions + */ + explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true) + : root(r), allow_exceptions(allow_exceptions_) + {} + + // make class move-only + json_sax_dom_parser(const json_sax_dom_parser&) = delete; + json_sax_dom_parser(json_sax_dom_parser&&) = default; + json_sax_dom_parser& operator=(const json_sax_dom_parser&) = delete; + json_sax_dom_parser& operator=(json_sax_dom_parser&&) = default; + ~json_sax_dom_parser() = default; + + bool null() + { + handle_value(nullptr); + return true; + } + + bool boolean(bool val) + { + handle_value(val); + return true; + } + + bool number_integer(number_integer_t val) + { + handle_value(val); + return true; + } + + bool number_unsigned(number_unsigned_t val) + { + handle_value(val); + return true; + } + + bool number_float(number_float_t val, const string_t& /*unused*/) + { + handle_value(val); + return true; + } + + bool string(string_t& val) + { + handle_value(val); + return true; + } + + bool binary(binary_t& val) + { + handle_value(std::move(val)); + return true; + } + + bool start_object(std::size_t len) + { + ref_stack.push_back(handle_value(BasicJsonType::value_t::object)); + + if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, + "excessive object size: " + std::to_string(len))); + } + + return true; + } + + bool key(string_t& val) + { + // add null at given key and store the reference for later + object_element = &(ref_stack.back()->m_value.object->operator[](val)); + return true; + } + + bool end_object() + { + ref_stack.pop_back(); + return true; + } + + bool start_array(std::size_t len) + { + ref_stack.push_back(handle_value(BasicJsonType::value_t::array)); + + if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, + "excessive array size: " + std::to_string(len))); + } + + return true; + } + + bool end_array() + { + ref_stack.pop_back(); + return true; + } + + template + bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, + const Exception& ex) + { + errored = true; + static_cast(ex); + if (allow_exceptions) + { + JSON_THROW(ex); + } + return false; + } + + constexpr bool is_errored() const + { + return errored; + } + + private: + /*! + @invariant If the ref stack is empty, then the passed value will be the new + root. + @invariant If the ref stack contains a value, then it is an array or an + object to which we can add elements + */ + template + JSON_HEDLEY_RETURNS_NON_NULL + BasicJsonType* handle_value(Value&& v) + { + if (ref_stack.empty()) + { + root = BasicJsonType(std::forward(v)); + return &root; + } + + JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object()); + + if (ref_stack.back()->is_array()) + { + ref_stack.back()->m_value.array->emplace_back(std::forward(v)); + return &(ref_stack.back()->m_value.array->back()); + } + + JSON_ASSERT(ref_stack.back()->is_object()); + JSON_ASSERT(object_element); + *object_element = BasicJsonType(std::forward(v)); + return object_element; + } + + /// the parsed JSON value + BasicJsonType& root; + /// stack to model hierarchy of values + std::vector ref_stack {}; + /// helper to hold the reference for the next object element + BasicJsonType* object_element = nullptr; + /// whether a syntax error occurred + bool errored = false; + /// whether to throw exceptions in case of errors + const bool allow_exceptions = true; +}; + +template +class json_sax_dom_callback_parser +{ + public: + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using parser_callback_t = typename BasicJsonType::parser_callback_t; + using parse_event_t = typename BasicJsonType::parse_event_t; + + json_sax_dom_callback_parser(BasicJsonType& r, + const parser_callback_t cb, + const bool allow_exceptions_ = true) + : root(r), callback(cb), allow_exceptions(allow_exceptions_) + { + keep_stack.push_back(true); + } + + // make class move-only + json_sax_dom_callback_parser(const json_sax_dom_callback_parser&) = delete; + json_sax_dom_callback_parser(json_sax_dom_callback_parser&&) = default; + json_sax_dom_callback_parser& operator=(const json_sax_dom_callback_parser&) = delete; + json_sax_dom_callback_parser& operator=(json_sax_dom_callback_parser&&) = default; + ~json_sax_dom_callback_parser() = default; + + bool null() + { + handle_value(nullptr); + return true; + } + + bool boolean(bool val) + { + handle_value(val); + return true; + } + + bool number_integer(number_integer_t val) + { + handle_value(val); + return true; + } + + bool number_unsigned(number_unsigned_t val) + { + handle_value(val); + return true; + } + + bool number_float(number_float_t val, const string_t& /*unused*/) + { + handle_value(val); + return true; + } + + bool string(string_t& val) + { + handle_value(val); + return true; + } + + bool binary(binary_t& val) + { + handle_value(std::move(val)); + return true; + } + + bool start_object(std::size_t len) + { + // check callback for object start + const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::object_start, discarded); + keep_stack.push_back(keep); + + auto val = handle_value(BasicJsonType::value_t::object, true); + ref_stack.push_back(val.second); + + // check object limit + if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len))); + } + + return true; + } + + bool key(string_t& val) + { + BasicJsonType k = BasicJsonType(val); + + // check callback for key + const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::key, k); + key_keep_stack.push_back(keep); + + // add discarded value at given key and store the reference for later + if (keep && ref_stack.back()) + { + object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded); + } + + return true; + } + + bool end_object() + { + if (ref_stack.back() && !callback(static_cast(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back())) + { + // discard object + *ref_stack.back() = discarded; + } + + JSON_ASSERT(!ref_stack.empty()); + JSON_ASSERT(!keep_stack.empty()); + ref_stack.pop_back(); + keep_stack.pop_back(); + + if (!ref_stack.empty() && ref_stack.back() && ref_stack.back()->is_structured()) + { + // remove discarded value + for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it) + { + if (it->is_discarded()) + { + ref_stack.back()->erase(it); + break; + } + } + } + + return true; + } + + bool start_array(std::size_t len) + { + const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::array_start, discarded); + keep_stack.push_back(keep); + + auto val = handle_value(BasicJsonType::value_t::array, true); + ref_stack.push_back(val.second); + + // check array limit + if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len))); + } + + return true; + } + + bool end_array() + { + bool keep = true; + + if (ref_stack.back()) + { + keep = callback(static_cast(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back()); + if (!keep) + { + // discard array + *ref_stack.back() = discarded; + } + } + + JSON_ASSERT(!ref_stack.empty()); + JSON_ASSERT(!keep_stack.empty()); + ref_stack.pop_back(); + keep_stack.pop_back(); + + // remove discarded value + if (!keep && !ref_stack.empty() && ref_stack.back()->is_array()) + { + ref_stack.back()->m_value.array->pop_back(); + } + + return true; + } + + template + bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, + const Exception& ex) + { + errored = true; + static_cast(ex); + if (allow_exceptions) + { + JSON_THROW(ex); + } + return false; + } + + constexpr bool is_errored() const + { + return errored; + } + + private: + /*! + @param[in] v value to add to the JSON value we build during parsing + @param[in] skip_callback whether we should skip calling the callback + function; this is required after start_array() and + start_object() SAX events, because otherwise we would call the + callback function with an empty array or object, respectively. + + @invariant If the ref stack is empty, then the passed value will be the new + root. + @invariant If the ref stack contains a value, then it is an array or an + object to which we can add elements + + @return pair of boolean (whether value should be kept) and pointer (to the + passed value in the ref_stack hierarchy; nullptr if not kept) + */ + template + std::pair handle_value(Value&& v, const bool skip_callback = false) + { + JSON_ASSERT(!keep_stack.empty()); + + // do not handle this value if we know it would be added to a discarded + // container + if (!keep_stack.back()) + { + return {false, nullptr}; + } + + // create value + auto value = BasicJsonType(std::forward(v)); + + // check callback + const bool keep = skip_callback || callback(static_cast(ref_stack.size()), parse_event_t::value, value); + + // do not handle this value if we just learnt it shall be discarded + if (!keep) + { + return {false, nullptr}; + } + + if (ref_stack.empty()) + { + root = std::move(value); + return {true, &root}; + } + + // skip this value if we already decided to skip the parent + // (https://github.com/nlohmann/json/issues/971#issuecomment-413678360) + if (!ref_stack.back()) + { + return {false, nullptr}; + } + + // we now only expect arrays and objects + JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object()); + + // array + if (ref_stack.back()->is_array()) + { + ref_stack.back()->m_value.array->push_back(std::move(value)); + return {true, &(ref_stack.back()->m_value.array->back())}; + } + + // object + JSON_ASSERT(ref_stack.back()->is_object()); + // check if we should store an element for the current key + JSON_ASSERT(!key_keep_stack.empty()); + const bool store_element = key_keep_stack.back(); + key_keep_stack.pop_back(); + + if (!store_element) + { + return {false, nullptr}; + } + + JSON_ASSERT(object_element); + *object_element = std::move(value); + return {true, object_element}; + } + + /// the parsed JSON value + BasicJsonType& root; + /// stack to model hierarchy of values + std::vector ref_stack {}; + /// stack to manage which values to keep + std::vector keep_stack {}; + /// stack to manage which object keys to keep + std::vector key_keep_stack {}; + /// helper to hold the reference for the next object element + BasicJsonType* object_element = nullptr; + /// whether a syntax error occurred + bool errored = false; + /// callback function + const parser_callback_t callback = nullptr; + /// whether to throw exceptions in case of errors + const bool allow_exceptions = true; + /// a discarded value for the callback + BasicJsonType discarded = BasicJsonType::value_t::discarded; +}; + +template +class json_sax_acceptor +{ + public: + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + + bool null() + { + return true; + } + + bool boolean(bool /*unused*/) + { + return true; + } + + bool number_integer(number_integer_t /*unused*/) + { + return true; + } + + bool number_unsigned(number_unsigned_t /*unused*/) + { + return true; + } + + bool number_float(number_float_t /*unused*/, const string_t& /*unused*/) + { + return true; + } + + bool string(string_t& /*unused*/) + { + return true; + } + + bool binary(binary_t& /*unused*/) + { + return true; + } + + bool start_object(std::size_t /*unused*/ = std::size_t(-1)) + { + return true; + } + + bool key(string_t& /*unused*/) + { + return true; + } + + bool end_object() + { + return true; + } + + bool start_array(std::size_t /*unused*/ = std::size_t(-1)) + { + return true; + } + + bool end_array() + { + return true; + } + + bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const detail::exception& /*unused*/) + { + return false; + } +}; +} // namespace detail + +} // namespace nlohmann + +// #include + + +#include // array +#include // localeconv +#include // size_t +#include // snprintf +#include // strtof, strtod, strtold, strtoll, strtoull +#include // initializer_list +#include // char_traits, string +#include // move +#include // vector + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/////////// +// lexer // +/////////// + +template +class lexer_base +{ + public: + /// token types for the parser + enum class token_type + { + uninitialized, ///< indicating the scanner is uninitialized + literal_true, ///< the `true` literal + literal_false, ///< the `false` literal + literal_null, ///< the `null` literal + value_string, ///< a string -- use get_string() for actual value + value_unsigned, ///< an unsigned integer -- use get_number_unsigned() for actual value + value_integer, ///< a signed integer -- use get_number_integer() for actual value + value_float, ///< an floating point number -- use get_number_float() for actual value + begin_array, ///< the character for array begin `[` + begin_object, ///< the character for object begin `{` + end_array, ///< the character for array end `]` + end_object, ///< the character for object end `}` + name_separator, ///< the name separator `:` + value_separator, ///< the value separator `,` + parse_error, ///< indicating a parse error + end_of_input, ///< indicating the end of the input buffer + literal_or_value ///< a literal or the begin of a value (only for diagnostics) + }; + + /// return name of values of type token_type (only used for errors) + JSON_HEDLEY_RETURNS_NON_NULL + JSON_HEDLEY_CONST + static const char* token_type_name(const token_type t) noexcept + { + switch (t) + { + case token_type::uninitialized: + return ""; + case token_type::literal_true: + return "true literal"; + case token_type::literal_false: + return "false literal"; + case token_type::literal_null: + return "null literal"; + case token_type::value_string: + return "string literal"; + case token_type::value_unsigned: + case token_type::value_integer: + case token_type::value_float: + return "number literal"; + case token_type::begin_array: + return "'['"; + case token_type::begin_object: + return "'{'"; + case token_type::end_array: + return "']'"; + case token_type::end_object: + return "'}'"; + case token_type::name_separator: + return "':'"; + case token_type::value_separator: + return "','"; + case token_type::parse_error: + return ""; + case token_type::end_of_input: + return "end of input"; + case token_type::literal_or_value: + return "'[', '{', or a literal"; + // LCOV_EXCL_START + default: // catch non-enum values + return "unknown token"; + // LCOV_EXCL_STOP + } + } +}; +/*! +@brief lexical analysis + +This class organizes the lexical analysis during JSON deserialization. +*/ +template +class lexer : public lexer_base +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; + + public: + using token_type = typename lexer_base::token_type; + + explicit lexer(InputAdapterType&& adapter, bool ignore_comments_ = false) + : ia(std::move(adapter)) + , ignore_comments(ignore_comments_) + , decimal_point_char(static_cast(get_decimal_point())) + {} + + // delete because of pointer members + lexer(const lexer&) = delete; + lexer(lexer&&) = default; + lexer& operator=(lexer&) = delete; + lexer& operator=(lexer&&) = default; + ~lexer() = default; + + private: + ///////////////////// + // locales + ///////////////////// + + /// return the locale-dependent decimal point + JSON_HEDLEY_PURE + static char get_decimal_point() noexcept + { + const auto* loc = localeconv(); + JSON_ASSERT(loc != nullptr); + return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point); + } + + ///////////////////// + // scan functions + ///////////////////// + + /*! + @brief get codepoint from 4 hex characters following `\u` + + For input "\u c1 c2 c3 c4" the codepoint is: + (c1 * 0x1000) + (c2 * 0x0100) + (c3 * 0x0010) + c4 + = (c1 << 12) + (c2 << 8) + (c3 << 4) + (c4 << 0) + + Furthermore, the possible characters '0'..'9', 'A'..'F', and 'a'..'f' + must be converted to the integers 0x0..0x9, 0xA..0xF, 0xA..0xF, resp. The + conversion is done by subtracting the offset (0x30, 0x37, and 0x57) + between the ASCII value of the character and the desired integer value. + + @return codepoint (0x0000..0xFFFF) or -1 in case of an error (e.g. EOF or + non-hex character) + */ + int get_codepoint() + { + // this function only makes sense after reading `\u` + JSON_ASSERT(current == 'u'); + int codepoint = 0; + + const auto factors = { 12u, 8u, 4u, 0u }; + for (const auto factor : factors) + { + get(); + + if (current >= '0' && current <= '9') + { + codepoint += static_cast((static_cast(current) - 0x30u) << factor); + } + else if (current >= 'A' && current <= 'F') + { + codepoint += static_cast((static_cast(current) - 0x37u) << factor); + } + else if (current >= 'a' && current <= 'f') + { + codepoint += static_cast((static_cast(current) - 0x57u) << factor); + } + else + { + return -1; + } + } + + JSON_ASSERT(0x0000 <= codepoint && codepoint <= 0xFFFF); + return codepoint; + } + + /*! + @brief check if the next byte(s) are inside a given range + + Adds the current byte and, for each passed range, reads a new byte and + checks if it is inside the range. If a violation was detected, set up an + error message and return false. Otherwise, return true. + + @param[in] ranges list of integers; interpreted as list of pairs of + inclusive lower and upper bound, respectively + + @pre The passed list @a ranges must have 2, 4, or 6 elements; that is, + 1, 2, or 3 pairs. This precondition is enforced by an assertion. + + @return true if and only if no range violation was detected + */ + bool next_byte_in_range(std::initializer_list ranges) + { + JSON_ASSERT(ranges.size() == 2 || ranges.size() == 4 || ranges.size() == 6); + add(current); + + for (auto range = ranges.begin(); range != ranges.end(); ++range) + { + get(); + if (JSON_HEDLEY_LIKELY(*range <= current && current <= *(++range))) + { + add(current); + } + else + { + error_message = "invalid string: ill-formed UTF-8 byte"; + return false; + } + } + + return true; + } + + /*! + @brief scan a string literal + + This function scans a string according to Sect. 7 of RFC 7159. While + scanning, bytes are escaped and copied into buffer token_buffer. Then the + function returns successfully, token_buffer is *not* null-terminated (as it + may contain \0 bytes), and token_buffer.size() is the number of bytes in the + string. + + @return token_type::value_string if string could be successfully scanned, + token_type::parse_error otherwise + + @note In case of errors, variable error_message contains a textual + description. + */ + token_type scan_string() + { + // reset token_buffer (ignore opening quote) + reset(); + + // we entered the function by reading an open quote + JSON_ASSERT(current == '\"'); + + while (true) + { + // get next character + switch (get()) + { + // end of file while parsing string + case std::char_traits::eof(): + { + error_message = "invalid string: missing closing quote"; + return token_type::parse_error; + } + + // closing quote + case '\"': + { + return token_type::value_string; + } + + // escapes + case '\\': + { + switch (get()) + { + // quotation mark + case '\"': + add('\"'); + break; + // reverse solidus + case '\\': + add('\\'); + break; + // solidus + case '/': + add('/'); + break; + // backspace + case 'b': + add('\b'); + break; + // form feed + case 'f': + add('\f'); + break; + // line feed + case 'n': + add('\n'); + break; + // carriage return + case 'r': + add('\r'); + break; + // tab + case 't': + add('\t'); + break; + + // unicode escapes + case 'u': + { + const int codepoint1 = get_codepoint(); + int codepoint = codepoint1; // start with codepoint1 + + if (JSON_HEDLEY_UNLIKELY(codepoint1 == -1)) + { + error_message = "invalid string: '\\u' must be followed by 4 hex digits"; + return token_type::parse_error; + } + + // check if code point is a high surrogate + if (0xD800 <= codepoint1 && codepoint1 <= 0xDBFF) + { + // expect next \uxxxx entry + if (JSON_HEDLEY_LIKELY(get() == '\\' && get() == 'u')) + { + const int codepoint2 = get_codepoint(); + + if (JSON_HEDLEY_UNLIKELY(codepoint2 == -1)) + { + error_message = "invalid string: '\\u' must be followed by 4 hex digits"; + return token_type::parse_error; + } + + // check if codepoint2 is a low surrogate + if (JSON_HEDLEY_LIKELY(0xDC00 <= codepoint2 && codepoint2 <= 0xDFFF)) + { + // overwrite codepoint + codepoint = static_cast( + // high surrogate occupies the most significant 22 bits + (static_cast(codepoint1) << 10u) + // low surrogate occupies the least significant 15 bits + + static_cast(codepoint2) + // there is still the 0xD800, 0xDC00 and 0x10000 noise + // in the result so we have to subtract with: + // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00 + - 0x35FDC00u); + } + else + { + error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF"; + return token_type::parse_error; + } + } + else + { + error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF"; + return token_type::parse_error; + } + } + else + { + if (JSON_HEDLEY_UNLIKELY(0xDC00 <= codepoint1 && codepoint1 <= 0xDFFF)) + { + error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF"; + return token_type::parse_error; + } + } + + // result of the above calculation yields a proper codepoint + JSON_ASSERT(0x00 <= codepoint && codepoint <= 0x10FFFF); + + // translate codepoint into bytes + if (codepoint < 0x80) + { + // 1-byte characters: 0xxxxxxx (ASCII) + add(static_cast(codepoint)); + } + else if (codepoint <= 0x7FF) + { + // 2-byte characters: 110xxxxx 10xxxxxx + add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + } + else if (codepoint <= 0xFFFF) + { + // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx + add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + } + else + { + // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + } + + break; + } + + // other characters after escape + default: + error_message = "invalid string: forbidden character after backslash"; + return token_type::parse_error; + } + + break; + } + + // invalid control characters + case 0x00: + { + error_message = "invalid string: control character U+0000 (NUL) must be escaped to \\u0000"; + return token_type::parse_error; + } + + case 0x01: + { + error_message = "invalid string: control character U+0001 (SOH) must be escaped to \\u0001"; + return token_type::parse_error; + } + + case 0x02: + { + error_message = "invalid string: control character U+0002 (STX) must be escaped to \\u0002"; + return token_type::parse_error; + } + + case 0x03: + { + error_message = "invalid string: control character U+0003 (ETX) must be escaped to \\u0003"; + return token_type::parse_error; + } + + case 0x04: + { + error_message = "invalid string: control character U+0004 (EOT) must be escaped to \\u0004"; + return token_type::parse_error; + } + + case 0x05: + { + error_message = "invalid string: control character U+0005 (ENQ) must be escaped to \\u0005"; + return token_type::parse_error; + } + + case 0x06: + { + error_message = "invalid string: control character U+0006 (ACK) must be escaped to \\u0006"; + return token_type::parse_error; + } + + case 0x07: + { + error_message = "invalid string: control character U+0007 (BEL) must be escaped to \\u0007"; + return token_type::parse_error; + } + + case 0x08: + { + error_message = "invalid string: control character U+0008 (BS) must be escaped to \\u0008 or \\b"; + return token_type::parse_error; + } + + case 0x09: + { + error_message = "invalid string: control character U+0009 (HT) must be escaped to \\u0009 or \\t"; + return token_type::parse_error; + } + + case 0x0A: + { + error_message = "invalid string: control character U+000A (LF) must be escaped to \\u000A or \\n"; + return token_type::parse_error; + } + + case 0x0B: + { + error_message = "invalid string: control character U+000B (VT) must be escaped to \\u000B"; + return token_type::parse_error; + } + + case 0x0C: + { + error_message = "invalid string: control character U+000C (FF) must be escaped to \\u000C or \\f"; + return token_type::parse_error; + } + + case 0x0D: + { + error_message = "invalid string: control character U+000D (CR) must be escaped to \\u000D or \\r"; + return token_type::parse_error; + } + + case 0x0E: + { + error_message = "invalid string: control character U+000E (SO) must be escaped to \\u000E"; + return token_type::parse_error; + } + + case 0x0F: + { + error_message = "invalid string: control character U+000F (SI) must be escaped to \\u000F"; + return token_type::parse_error; + } + + case 0x10: + { + error_message = "invalid string: control character U+0010 (DLE) must be escaped to \\u0010"; + return token_type::parse_error; + } + + case 0x11: + { + error_message = "invalid string: control character U+0011 (DC1) must be escaped to \\u0011"; + return token_type::parse_error; + } + + case 0x12: + { + error_message = "invalid string: control character U+0012 (DC2) must be escaped to \\u0012"; + return token_type::parse_error; + } + + case 0x13: + { + error_message = "invalid string: control character U+0013 (DC3) must be escaped to \\u0013"; + return token_type::parse_error; + } + + case 0x14: + { + error_message = "invalid string: control character U+0014 (DC4) must be escaped to \\u0014"; + return token_type::parse_error; + } + + case 0x15: + { + error_message = "invalid string: control character U+0015 (NAK) must be escaped to \\u0015"; + return token_type::parse_error; + } + + case 0x16: + { + error_message = "invalid string: control character U+0016 (SYN) must be escaped to \\u0016"; + return token_type::parse_error; + } + + case 0x17: + { + error_message = "invalid string: control character U+0017 (ETB) must be escaped to \\u0017"; + return token_type::parse_error; + } + + case 0x18: + { + error_message = "invalid string: control character U+0018 (CAN) must be escaped to \\u0018"; + return token_type::parse_error; + } + + case 0x19: + { + error_message = "invalid string: control character U+0019 (EM) must be escaped to \\u0019"; + return token_type::parse_error; + } + + case 0x1A: + { + error_message = "invalid string: control character U+001A (SUB) must be escaped to \\u001A"; + return token_type::parse_error; + } + + case 0x1B: + { + error_message = "invalid string: control character U+001B (ESC) must be escaped to \\u001B"; + return token_type::parse_error; + } + + case 0x1C: + { + error_message = "invalid string: control character U+001C (FS) must be escaped to \\u001C"; + return token_type::parse_error; + } + + case 0x1D: + { + error_message = "invalid string: control character U+001D (GS) must be escaped to \\u001D"; + return token_type::parse_error; + } + + case 0x1E: + { + error_message = "invalid string: control character U+001E (RS) must be escaped to \\u001E"; + return token_type::parse_error; + } + + case 0x1F: + { + error_message = "invalid string: control character U+001F (US) must be escaped to \\u001F"; + return token_type::parse_error; + } + + // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace)) + case 0x20: + case 0x21: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + case 0x28: + case 0x29: + case 0x2A: + case 0x2B: + case 0x2C: + case 0x2D: + case 0x2E: + case 0x2F: + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + case 0x38: + case 0x39: + case 0x3A: + case 0x3B: + case 0x3C: + case 0x3D: + case 0x3E: + case 0x3F: + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: + case 0x59: + case 0x5A: + case 0x5B: + case 0x5D: + case 0x5E: + case 0x5F: + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + case 0x78: + case 0x79: + case 0x7A: + case 0x7B: + case 0x7C: + case 0x7D: + case 0x7E: + case 0x7F: + { + add(current); + break; + } + + // U+0080..U+07FF: bytes C2..DF 80..BF + case 0xC2: + case 0xC3: + case 0xC4: + case 0xC5: + case 0xC6: + case 0xC7: + case 0xC8: + case 0xC9: + case 0xCA: + case 0xCB: + case 0xCC: + case 0xCD: + case 0xCE: + case 0xCF: + case 0xD0: + case 0xD1: + case 0xD2: + case 0xD3: + case 0xD4: + case 0xD5: + case 0xD6: + case 0xD7: + case 0xD8: + case 0xD9: + case 0xDA: + case 0xDB: + case 0xDC: + case 0xDD: + case 0xDE: + case 0xDF: + { + if (JSON_HEDLEY_UNLIKELY(!next_byte_in_range({0x80, 0xBF}))) + { + return token_type::parse_error; + } + break; + } + + // U+0800..U+0FFF: bytes E0 A0..BF 80..BF + case 0xE0: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF + // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF + case 0xE1: + case 0xE2: + case 0xE3: + case 0xE4: + case 0xE5: + case 0xE6: + case 0xE7: + case 0xE8: + case 0xE9: + case 0xEA: + case 0xEB: + case 0xEC: + case 0xEE: + case 0xEF: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+D000..U+D7FF: bytes ED 80..9F 80..BF + case 0xED: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x9F, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF + case 0xF0: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF + case 0xF1: + case 0xF2: + case 0xF3: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF + case 0xF4: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // remaining bytes (80..C1 and F5..FF) are ill-formed + default: + { + error_message = "invalid string: ill-formed UTF-8 byte"; + return token_type::parse_error; + } + } + } + } + + /*! + * @brief scan a comment + * @return whether comment could be scanned successfully + */ + bool scan_comment() + { + switch (get()) + { + // single-line comments skip input until a newline or EOF is read + case '/': + { + while (true) + { + switch (get()) + { + case '\n': + case '\r': + case std::char_traits::eof(): + case '\0': + return true; + + default: + break; + } + } + } + + // multi-line comments skip input until */ is read + case '*': + { + while (true) + { + switch (get()) + { + case std::char_traits::eof(): + case '\0': + { + error_message = "invalid comment; missing closing '*/'"; + return false; + } + + case '*': + { + switch (get()) + { + case '/': + return true; + + default: + { + unget(); + continue; + } + } + } + + default: + continue; + } + } + } + + // unexpected character after reading '/' + default: + { + error_message = "invalid comment; expecting '/' or '*' after '/'"; + return false; + } + } + } + + JSON_HEDLEY_NON_NULL(2) + static void strtof(float& f, const char* str, char** endptr) noexcept + { + f = std::strtof(str, endptr); + } + + JSON_HEDLEY_NON_NULL(2) + static void strtof(double& f, const char* str, char** endptr) noexcept + { + f = std::strtod(str, endptr); + } + + JSON_HEDLEY_NON_NULL(2) + static void strtof(long double& f, const char* str, char** endptr) noexcept + { + f = std::strtold(str, endptr); + } + + /*! + @brief scan a number literal + + This function scans a string according to Sect. 6 of RFC 7159. + + The function is realized with a deterministic finite state machine derived + from the grammar described in RFC 7159. Starting in state "init", the + input is read and used to determined the next state. Only state "done" + accepts the number. State "error" is a trap state to model errors. In the + table below, "anything" means any character but the ones listed before. + + state | 0 | 1-9 | e E | + | - | . | anything + ---------|----------|----------|----------|---------|---------|----------|----------- + init | zero | any1 | [error] | [error] | minus | [error] | [error] + minus | zero | any1 | [error] | [error] | [error] | [error] | [error] + zero | done | done | exponent | done | done | decimal1 | done + any1 | any1 | any1 | exponent | done | done | decimal1 | done + decimal1 | decimal2 | decimal2 | [error] | [error] | [error] | [error] | [error] + decimal2 | decimal2 | decimal2 | exponent | done | done | done | done + exponent | any2 | any2 | [error] | sign | sign | [error] | [error] + sign | any2 | any2 | [error] | [error] | [error] | [error] | [error] + any2 | any2 | any2 | done | done | done | done | done + + The state machine is realized with one label per state (prefixed with + "scan_number_") and `goto` statements between them. The state machine + contains cycles, but any cycle can be left when EOF is read. Therefore, + the function is guaranteed to terminate. + + During scanning, the read bytes are stored in token_buffer. This string is + then converted to a signed integer, an unsigned integer, or a + floating-point number. + + @return token_type::value_unsigned, token_type::value_integer, or + token_type::value_float if number could be successfully scanned, + token_type::parse_error otherwise + + @note The scanner is independent of the current locale. Internally, the + locale's decimal point is used instead of `.` to work with the + locale-dependent converters. + */ + token_type scan_number() // lgtm [cpp/use-of-goto] + { + // reset token_buffer to store the number's bytes + reset(); + + // the type of the parsed number; initially set to unsigned; will be + // changed if minus sign, decimal point or exponent is read + token_type number_type = token_type::value_unsigned; + + // state (init): we just found out we need to scan a number + switch (current) + { + case '-': + { + add(current); + goto scan_number_minus; + } + + case '0': + { + add(current); + goto scan_number_zero; + } + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any1; + } + + // all other characters are rejected outside scan_number() + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + +scan_number_minus: + // state: we just parsed a leading minus sign + number_type = token_type::value_integer; + switch (get()) + { + case '0': + { + add(current); + goto scan_number_zero; + } + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any1; + } + + default: + { + error_message = "invalid number; expected digit after '-'"; + return token_type::parse_error; + } + } + +scan_number_zero: + // state: we just parse a zero (maybe with a leading minus sign) + switch (get()) + { + case '.': + { + add(decimal_point_char); + goto scan_number_decimal1; + } + + case 'e': + case 'E': + { + add(current); + goto scan_number_exponent; + } + + default: + goto scan_number_done; + } + +scan_number_any1: + // state: we just parsed a number 0-9 (maybe with a leading minus sign) + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any1; + } + + case '.': + { + add(decimal_point_char); + goto scan_number_decimal1; + } + + case 'e': + case 'E': + { + add(current); + goto scan_number_exponent; + } + + default: + goto scan_number_done; + } + +scan_number_decimal1: + // state: we just parsed a decimal point + number_type = token_type::value_float; + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_decimal2; + } + + default: + { + error_message = "invalid number; expected digit after '.'"; + return token_type::parse_error; + } + } + +scan_number_decimal2: + // we just parsed at least one number after a decimal point + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_decimal2; + } + + case 'e': + case 'E': + { + add(current); + goto scan_number_exponent; + } + + default: + goto scan_number_done; + } + +scan_number_exponent: + // we just parsed an exponent + number_type = token_type::value_float; + switch (get()) + { + case '+': + case '-': + { + add(current); + goto scan_number_sign; + } + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any2; + } + + default: + { + error_message = + "invalid number; expected '+', '-', or digit after exponent"; + return token_type::parse_error; + } + } + +scan_number_sign: + // we just parsed an exponent sign + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any2; + } + + default: + { + error_message = "invalid number; expected digit after exponent sign"; + return token_type::parse_error; + } + } + +scan_number_any2: + // we just parsed a number after the exponent or exponent sign + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any2; + } + + default: + goto scan_number_done; + } + +scan_number_done: + // unget the character after the number (we only read it to know that + // we are done scanning a number) + unget(); + + char* endptr = nullptr; + errno = 0; + + // try to parse integers first and fall back to floats + if (number_type == token_type::value_unsigned) + { + const auto x = std::strtoull(token_buffer.data(), &endptr, 10); + + // we checked the number format before + JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size()); + + if (errno == 0) + { + value_unsigned = static_cast(x); + if (value_unsigned == x) + { + return token_type::value_unsigned; + } + } + } + else if (number_type == token_type::value_integer) + { + const auto x = std::strtoll(token_buffer.data(), &endptr, 10); + + // we checked the number format before + JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size()); + + if (errno == 0) + { + value_integer = static_cast(x); + if (value_integer == x) + { + return token_type::value_integer; + } + } + } + + // this code is reached if we parse a floating-point number or if an + // integer conversion above failed + strtof(value_float, token_buffer.data(), &endptr); + + // we checked the number format before + JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size()); + + return token_type::value_float; + } + + /*! + @param[in] literal_text the literal text to expect + @param[in] length the length of the passed literal text + @param[in] return_type the token type to return on success + */ + JSON_HEDLEY_NON_NULL(2) + token_type scan_literal(const char_type* literal_text, const std::size_t length, + token_type return_type) + { + JSON_ASSERT(std::char_traits::to_char_type(current) == literal_text[0]); + for (std::size_t i = 1; i < length; ++i) + { + if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i])) + { + error_message = "invalid literal"; + return token_type::parse_error; + } + } + return return_type; + } + + ///////////////////// + // input management + ///////////////////// + + /// reset token_buffer; current character is beginning of token + void reset() noexcept + { + token_buffer.clear(); + token_string.clear(); + token_string.push_back(std::char_traits::to_char_type(current)); + } + + /* + @brief get next character from the input + + This function provides the interface to the used input adapter. It does + not throw in case the input reached EOF, but returns a + `std::char_traits::eof()` in that case. Stores the scanned characters + for use in error messages. + + @return character read from the input + */ + char_int_type get() + { + ++position.chars_read_total; + ++position.chars_read_current_line; + + if (next_unget) + { + // just reset the next_unget variable and work with current + next_unget = false; + } + else + { + current = ia.get_character(); + } + + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + { + token_string.push_back(std::char_traits::to_char_type(current)); + } + + if (current == '\n') + { + ++position.lines_read; + position.chars_read_current_line = 0; + } + + return current; + } + + /*! + @brief unget current character (read it again on next get) + + We implement unget by setting variable next_unget to true. The input is not + changed - we just simulate ungetting by modifying chars_read_total, + chars_read_current_line, and token_string. The next call to get() will + behave as if the unget character is read again. + */ + void unget() + { + next_unget = true; + + --position.chars_read_total; + + // in case we "unget" a newline, we have to also decrement the lines_read + if (position.chars_read_current_line == 0) + { + if (position.lines_read > 0) + { + --position.lines_read; + } + } + else + { + --position.chars_read_current_line; + } + + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + { + JSON_ASSERT(!token_string.empty()); + token_string.pop_back(); + } + } + + /// add a character to token_buffer + void add(char_int_type c) + { + token_buffer.push_back(static_cast(c)); + } + + public: + ///////////////////// + // value getters + ///////////////////// + + /// return integer value + constexpr number_integer_t get_number_integer() const noexcept + { + return value_integer; + } + + /// return unsigned integer value + constexpr number_unsigned_t get_number_unsigned() const noexcept + { + return value_unsigned; + } + + /// return floating-point value + constexpr number_float_t get_number_float() const noexcept + { + return value_float; + } + + /// return current string value (implicitly resets the token; useful only once) + string_t& get_string() + { + return token_buffer; + } + + ///////////////////// + // diagnostics + ///////////////////// + + /// return position of last read token + constexpr position_t get_position() const noexcept + { + return position; + } + + /// return the last read token (for errors only). Will never contain EOF + /// (an arbitrary value that is not a valid char value, often -1), because + /// 255 may legitimately occur. May contain NUL, which should be escaped. + std::string get_token_string() const + { + // escape control characters + std::string result; + for (const auto c : token_string) + { + if (static_cast(c) <= '\x1F') + { + // escape control characters + std::array cs{{}}; + (std::snprintf)(cs.data(), cs.size(), "", static_cast(c)); + result += cs.data(); + } + else + { + // add character as is + result.push_back(static_cast(c)); + } + } + + return result; + } + + /// return syntax error message + JSON_HEDLEY_RETURNS_NON_NULL + constexpr const char* get_error_message() const noexcept + { + return error_message; + } + + ///////////////////// + // actual scanner + ///////////////////// + + /*! + @brief skip the UTF-8 byte order mark + @return true iff there is no BOM or the correct BOM has been skipped + */ + bool skip_bom() + { + if (get() == 0xEF) + { + // check if we completely parse the BOM + return get() == 0xBB && get() == 0xBF; + } + + // the first character is not the beginning of the BOM; unget it to + // process is later + unget(); + return true; + } + + void skip_whitespace() + { + do + { + get(); + } + while (current == ' ' || current == '\t' || current == '\n' || current == '\r'); + } + + token_type scan() + { + // initially, skip the BOM + if (position.chars_read_total == 0 && !skip_bom()) + { + error_message = "invalid BOM; must be 0xEF 0xBB 0xBF if given"; + return token_type::parse_error; + } + + // read next character and ignore whitespace + skip_whitespace(); + + // ignore comments + while (ignore_comments && current == '/') + { + if (!scan_comment()) + { + return token_type::parse_error; + } + + // skip following whitespace + skip_whitespace(); + } + + switch (current) + { + // structural characters + case '[': + return token_type::begin_array; + case ']': + return token_type::end_array; + case '{': + return token_type::begin_object; + case '}': + return token_type::end_object; + case ':': + return token_type::name_separator; + case ',': + return token_type::value_separator; + + // literals + case 't': + { + std::array true_literal = {{'t', 'r', 'u', 'e'}}; + return scan_literal(true_literal.data(), true_literal.size(), token_type::literal_true); + } + case 'f': + { + std::array false_literal = {{'f', 'a', 'l', 's', 'e'}}; + return scan_literal(false_literal.data(), false_literal.size(), token_type::literal_false); + } + case 'n': + { + std::array null_literal = {{'n', 'u', 'l', 'l'}}; + return scan_literal(null_literal.data(), null_literal.size(), token_type::literal_null); + } + + // string + case '\"': + return scan_string(); + + // number + case '-': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return scan_number(); + + // end of input (the null byte is needed when parsing from + // string literals) + case '\0': + case std::char_traits::eof(): + return token_type::end_of_input; + + // error + default: + error_message = "invalid literal"; + return token_type::parse_error; + } + } + + private: + /// input adapter + InputAdapterType ia; + + /// whether comments should be ignored (true) or signaled as errors (false) + const bool ignore_comments = false; + + /// the current character + char_int_type current = std::char_traits::eof(); + + /// whether the next get() call should just return current + bool next_unget = false; + + /// the start position of the current token + position_t position {}; + + /// raw input token string (for error messages) + std::vector token_string {}; + + /// buffer for variable-length tokens (numbers, strings) + string_t token_buffer {}; + + /// a description of occurred lexer errors + const char* error_message = ""; + + // number values + number_integer_t value_integer = 0; + number_unsigned_t value_unsigned = 0; + number_float_t value_float = 0; + + /// the decimal point + const char_int_type decimal_point_char = '.'; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // size_t +#include // declval +#include // string + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +using null_function_t = decltype(std::declval().null()); + +template +using boolean_function_t = + decltype(std::declval().boolean(std::declval())); + +template +using number_integer_function_t = + decltype(std::declval().number_integer(std::declval())); + +template +using number_unsigned_function_t = + decltype(std::declval().number_unsigned(std::declval())); + +template +using number_float_function_t = decltype(std::declval().number_float( + std::declval(), std::declval())); + +template +using string_function_t = + decltype(std::declval().string(std::declval())); + +template +using binary_function_t = + decltype(std::declval().binary(std::declval())); + +template +using start_object_function_t = + decltype(std::declval().start_object(std::declval())); + +template +using key_function_t = + decltype(std::declval().key(std::declval())); + +template +using end_object_function_t = decltype(std::declval().end_object()); + +template +using start_array_function_t = + decltype(std::declval().start_array(std::declval())); + +template +using end_array_function_t = decltype(std::declval().end_array()); + +template +using parse_error_function_t = decltype(std::declval().parse_error( + std::declval(), std::declval(), + std::declval())); + +template +struct is_sax +{ + private: + static_assert(is_basic_json::value, + "BasicJsonType must be of type basic_json<...>"); + + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using exception_t = typename BasicJsonType::exception; + + public: + static constexpr bool value = + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value; +}; + +template +struct is_sax_static_asserts +{ + private: + static_assert(is_basic_json::value, + "BasicJsonType must be of type basic_json<...>"); + + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using exception_t = typename BasicJsonType::exception; + + public: + static_assert(is_detected_exact::value, + "Missing/invalid function: bool null()"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool boolean(bool)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool boolean(bool)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool number_integer(number_integer_t)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool number_unsigned(number_unsigned_t)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool number_float(number_float_t, const string_t&)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool string(string_t&)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool binary(binary_t&)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool start_object(std::size_t)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool key(string_t&)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool end_object()"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool start_array(std::size_t)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool end_array()"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool parse_error(std::size_t, const " + "std::string&, const exception&)"); +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ + +/// how to treat CBOR tags +enum class cbor_tag_handler_t +{ + error, ///< throw a parse_error exception in case of a tag + ignore ///< ignore tags +}; + +/*! +@brief determine system byte order + +@return true if and only if system's byte order is little endian + +@note from https://stackoverflow.com/a/1001328/266378 +*/ +static inline bool little_endianess(int num = 1) noexcept +{ + return *reinterpret_cast(&num) == 1; +} + + +/////////////////// +// binary reader // +/////////////////// + +/*! +@brief deserialization of CBOR, MessagePack, and UBJSON values +*/ +template> +class binary_reader +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using json_sax_t = SAX; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; + + public: + /*! + @brief create a binary reader + + @param[in] adapter input adapter to read from + */ + explicit binary_reader(InputAdapterType&& adapter) : ia(std::move(adapter)) + { + (void)detail::is_sax_static_asserts {}; + } + + // make class move-only + binary_reader(const binary_reader&) = delete; + binary_reader(binary_reader&&) = default; + binary_reader& operator=(const binary_reader&) = delete; + binary_reader& operator=(binary_reader&&) = default; + ~binary_reader() = default; + + /*! + @param[in] format the binary format to parse + @param[in] sax_ a SAX event processor + @param[in] strict whether to expect the input to be consumed completed + @param[in] tag_handler how to treat CBOR tags + + @return + */ + JSON_HEDLEY_NON_NULL(3) + bool sax_parse(const input_format_t format, + json_sax_t* sax_, + const bool strict = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + sax = sax_; + bool result = false; + + switch (format) + { + case input_format_t::bson: + result = parse_bson_internal(); + break; + + case input_format_t::cbor: + result = parse_cbor_internal(true, tag_handler); + break; + + case input_format_t::msgpack: + result = parse_msgpack_internal(); + break; + + case input_format_t::ubjson: + result = parse_ubjson_internal(); + break; + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + + // strict mode: next byte must be EOF + if (result && strict) + { + if (format == input_format_t::ubjson) + { + get_ignore_noop(); + } + else + { + get(); + } + + if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof())) + { + return sax->parse_error(chars_read, get_token_string(), + parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value"))); + } + } + + return result; + } + + private: + ////////// + // BSON // + ////////// + + /*! + @brief Reads in a BSON-object and passes it to the SAX-parser. + @return whether a valid BSON-value was passed to the SAX parser + */ + bool parse_bson_internal() + { + std::int32_t document_size{}; + get_number(input_format_t::bson, document_size); + + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/false))) + { + return false; + } + + return sax->end_object(); + } + + /*! + @brief Parses a C-style string from the BSON input. + @param[in, out] result A reference to the string variable where the read + string is to be stored. + @return `true` if the \x00-byte indicating the end of the string was + encountered before the EOF; false` indicates an unexpected EOF. + */ + bool get_bson_cstr(string_t& result) + { + auto out = std::back_inserter(result); + while (true) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "cstring"))) + { + return false; + } + if (current == 0x00) + { + return true; + } + *out++ = static_cast(current); + } + } + + /*! + @brief Parses a zero-terminated string of length @a len from the BSON + input. + @param[in] len The length (including the zero-byte at the end) of the + string to be read. + @param[in, out] result A reference to the string variable where the read + string is to be stored. + @tparam NumberType The type of the length @a len + @pre len >= 1 + @return `true` if the string was successfully parsed + */ + template + bool get_bson_string(const NumberType len, string_t& result) + { + if (JSON_HEDLEY_UNLIKELY(len < 1)) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string"))); + } + + return get_string(input_format_t::bson, len - static_cast(1), result) && get() != std::char_traits::eof(); + } + + /*! + @brief Parses a byte array input of length @a len from the BSON input. + @param[in] len The length of the byte array to be read. + @param[in, out] result A reference to the binary variable where the read + array is to be stored. + @tparam NumberType The type of the length @a len + @pre len >= 0 + @return `true` if the byte array was successfully parsed + */ + template + bool get_bson_binary(const NumberType len, binary_t& result) + { + if (JSON_HEDLEY_UNLIKELY(len < 0)) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "byte array length cannot be negative, is " + std::to_string(len), "binary"))); + } + + // All BSON binary values have a subtype + std::uint8_t subtype{}; + get_number(input_format_t::bson, subtype); + result.set_subtype(subtype); + + return get_binary(input_format_t::bson, len, result); + } + + /*! + @brief Read a BSON document element of the given @a element_type. + @param[in] element_type The BSON element type, c.f. http://bsonspec.org/spec.html + @param[in] element_type_parse_position The position in the input stream, + where the `element_type` was read. + @warning Not all BSON element types are supported yet. An unsupported + @a element_type will give rise to a parse_error.114: + Unsupported BSON record type 0x... + @return whether a valid BSON-object/array was passed to the SAX parser + */ + bool parse_bson_element_internal(const char_int_type element_type, + const std::size_t element_type_parse_position) + { + switch (element_type) + { + case 0x01: // double + { + double number{}; + return get_number(input_format_t::bson, number) && sax->number_float(static_cast(number), ""); + } + + case 0x02: // string + { + std::int32_t len{}; + string_t value; + return get_number(input_format_t::bson, len) && get_bson_string(len, value) && sax->string(value); + } + + case 0x03: // object + { + return parse_bson_internal(); + } + + case 0x04: // array + { + return parse_bson_array(); + } + + case 0x05: // binary + { + std::int32_t len{}; + binary_t value; + return get_number(input_format_t::bson, len) && get_bson_binary(len, value) && sax->binary(value); + } + + case 0x08: // boolean + { + return sax->boolean(get() != 0); + } + + case 0x0A: // null + { + return sax->null(); + } + + case 0x10: // int32 + { + std::int32_t value{}; + return get_number(input_format_t::bson, value) && sax->number_integer(value); + } + + case 0x12: // int64 + { + std::int64_t value{}; + return get_number(input_format_t::bson, value) && sax->number_integer(value); + } + + default: // anything else not supported (yet) + { + std::array cr{{}}; + (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(element_type)); + return sax->parse_error(element_type_parse_position, std::string(cr.data()), parse_error::create(114, element_type_parse_position, "Unsupported BSON record type 0x" + std::string(cr.data()))); + } + } + } + + /*! + @brief Read a BSON element list (as specified in the BSON-spec) + + The same binary layout is used for objects and arrays, hence it must be + indicated with the argument @a is_array which one is expected + (true --> array, false --> object). + + @param[in] is_array Determines if the element list being read is to be + treated as an object (@a is_array == false), or as an + array (@a is_array == true). + @return whether a valid BSON-object/array was passed to the SAX parser + */ + bool parse_bson_element_list(const bool is_array) + { + string_t key; + + while (auto element_type = get()) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "element list"))) + { + return false; + } + + const std::size_t element_type_parse_position = chars_read; + if (JSON_HEDLEY_UNLIKELY(!get_bson_cstr(key))) + { + return false; + } + + if (!is_array && !sax->key(key)) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_internal(element_type, element_type_parse_position))) + { + return false; + } + + // get_bson_cstr only appends + key.clear(); + } + + return true; + } + + /*! + @brief Reads an array from the BSON input and passes it to the SAX-parser. + @return whether a valid BSON-array was passed to the SAX parser + */ + bool parse_bson_array() + { + std::int32_t document_size{}; + get_number(input_format_t::bson, document_size); + + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/true))) + { + return false; + } + + return sax->end_array(); + } + + ////////// + // CBOR // + ////////// + + /*! + @param[in] get_char whether a new character should be retrieved from the + input (true) or whether the last read character should + be considered instead (false) + @param[in] tag_handler how CBOR tags should be treated + + @return whether a valid CBOR value was passed to the SAX parser + */ + bool parse_cbor_internal(const bool get_char, + const cbor_tag_handler_t tag_handler) + { + switch (get_char ? get() : current) + { + // EOF + case std::char_traits::eof(): + return unexpect_eof(input_format_t::cbor, "value"); + + // Integer 0x00..0x17 (0..23) + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case 0x09: + case 0x0A: + case 0x0B: + case 0x0C: + case 0x0D: + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + return sax->number_unsigned(static_cast(current)); + + case 0x18: // Unsigned integer (one-byte uint8_t follows) + { + std::uint8_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + case 0x19: // Unsigned integer (two-byte uint16_t follows) + { + std::uint16_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + case 0x1A: // Unsigned integer (four-byte uint32_t follows) + { + std::uint32_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + case 0x1B: // Unsigned integer (eight-byte uint64_t follows) + { + std::uint64_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + // Negative integer -1-0x00..-1-0x17 (-1..-24) + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + case 0x28: + case 0x29: + case 0x2A: + case 0x2B: + case 0x2C: + case 0x2D: + case 0x2E: + case 0x2F: + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + return sax->number_integer(static_cast(0x20 - 1 - current)); + + case 0x38: // Negative integer (one-byte uint8_t follows) + { + std::uint8_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) - number); + } + + case 0x39: // Negative integer -1-n (two-byte uint16_t follows) + { + std::uint16_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) - number); + } + + case 0x3A: // Negative integer -1-n (four-byte uint32_t follows) + { + std::uint32_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) - number); + } + + case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows) + { + std::uint64_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) + - static_cast(number)); + } + + // Binary data (0x00..0x17 bytes follow) + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: // Binary data (one-byte uint8_t for n follows) + case 0x59: // Binary data (two-byte uint16_t for n follow) + case 0x5A: // Binary data (four-byte uint32_t for n follow) + case 0x5B: // Binary data (eight-byte uint64_t for n follow) + case 0x5F: // Binary data (indefinite length) + { + binary_t b; + return get_cbor_binary(b) && sax->binary(b); + } + + // UTF-8 string (0x00..0x17 bytes follow) + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + case 0x78: // UTF-8 string (one-byte uint8_t for n follows) + case 0x79: // UTF-8 string (two-byte uint16_t for n follow) + case 0x7A: // UTF-8 string (four-byte uint32_t for n follow) + case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow) + case 0x7F: // UTF-8 string (indefinite length) + { + string_t s; + return get_cbor_string(s) && sax->string(s); + } + + // array (0x00..0x17 data items follow) + case 0x80: + case 0x81: + case 0x82: + case 0x83: + case 0x84: + case 0x85: + case 0x86: + case 0x87: + case 0x88: + case 0x89: + case 0x8A: + case 0x8B: + case 0x8C: + case 0x8D: + case 0x8E: + case 0x8F: + case 0x90: + case 0x91: + case 0x92: + case 0x93: + case 0x94: + case 0x95: + case 0x96: + case 0x97: + return get_cbor_array(static_cast(static_cast(current) & 0x1Fu), tag_handler); + + case 0x98: // array (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast(len), tag_handler); + } + + case 0x99: // array (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast(len), tag_handler); + } + + case 0x9A: // array (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast(len), tag_handler); + } + + case 0x9B: // array (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast(len), tag_handler); + } + + case 0x9F: // array (indefinite length) + return get_cbor_array(std::size_t(-1), tag_handler); + + // map (0x00..0x17 pairs of data items follow) + case 0xA0: + case 0xA1: + case 0xA2: + case 0xA3: + case 0xA4: + case 0xA5: + case 0xA6: + case 0xA7: + case 0xA8: + case 0xA9: + case 0xAA: + case 0xAB: + case 0xAC: + case 0xAD: + case 0xAE: + case 0xAF: + case 0xB0: + case 0xB1: + case 0xB2: + case 0xB3: + case 0xB4: + case 0xB5: + case 0xB6: + case 0xB7: + return get_cbor_object(static_cast(static_cast(current) & 0x1Fu), tag_handler); + + case 0xB8: // map (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast(len), tag_handler); + } + + case 0xB9: // map (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast(len), tag_handler); + } + + case 0xBA: // map (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast(len), tag_handler); + } + + case 0xBB: // map (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast(len), tag_handler); + } + + case 0xBF: // map (indefinite length) + return get_cbor_object(std::size_t(-1), tag_handler); + + case 0xC6: // tagged item + case 0xC7: + case 0xC8: + case 0xC9: + case 0xCA: + case 0xCB: + case 0xCC: + case 0xCD: + case 0xCE: + case 0xCF: + case 0xD0: + case 0xD1: + case 0xD2: + case 0xD3: + case 0xD4: + case 0xD8: // tagged item (1 bytes follow) + case 0xD9: // tagged item (2 bytes follow) + case 0xDA: // tagged item (4 bytes follow) + case 0xDB: // tagged item (8 bytes follow) + { + switch (tag_handler) + { + case cbor_tag_handler_t::error: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value"))); + } + + case cbor_tag_handler_t::ignore: + { + switch (current) + { + case 0xD8: + { + std::uint8_t len{}; + get_number(input_format_t::cbor, len); + break; + } + case 0xD9: + { + std::uint16_t len{}; + get_number(input_format_t::cbor, len); + break; + } + case 0xDA: + { + std::uint32_t len{}; + get_number(input_format_t::cbor, len); + break; + } + case 0xDB: + { + std::uint64_t len{}; + get_number(input_format_t::cbor, len); + break; + } + default: + break; + } + return parse_cbor_internal(true, tag_handler); + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + } + + case 0xF4: // false + return sax->boolean(false); + + case 0xF5: // true + return sax->boolean(true); + + case 0xF6: // null + return sax->null(); + + case 0xF9: // Half-Precision Float (two-byte IEEE 754) + { + const auto byte1_raw = get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number"))) + { + return false; + } + const auto byte2_raw = get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number"))) + { + return false; + } + + const auto byte1 = static_cast(byte1_raw); + const auto byte2 = static_cast(byte2_raw); + + // code from RFC 7049, Appendix D, Figure 3: + // As half-precision floating-point numbers were only added + // to IEEE 754 in 2008, today's programming platforms often + // still only have limited support for them. It is very + // easy to include at least decoding support for them even + // without such support. An example of a small decoder for + // half-precision floating-point numbers in the C language + // is shown in Fig. 3. + const auto half = static_cast((byte1 << 8u) + byte2); + const double val = [&half] + { + const int exp = (half >> 10u) & 0x1Fu; + const unsigned int mant = half & 0x3FFu; + JSON_ASSERT(0 <= exp&& exp <= 32); + JSON_ASSERT(mant <= 1024); + switch (exp) + { + case 0: + return std::ldexp(mant, -24); + case 31: + return (mant == 0) + ? std::numeric_limits::infinity() + : std::numeric_limits::quiet_NaN(); + default: + return std::ldexp(mant + 1024, exp - 25); + } + }(); + return sax->number_float((half & 0x8000u) != 0 + ? static_cast(-val) + : static_cast(val), ""); + } + + case 0xFA: // Single-Precision Float (four-byte IEEE 754) + { + float number{}; + return get_number(input_format_t::cbor, number) && sax->number_float(static_cast(number), ""); + } + + case 0xFB: // Double-Precision Float (eight-byte IEEE 754) + { + double number{}; + return get_number(input_format_t::cbor, number) && sax->number_float(static_cast(number), ""); + } + + default: // anything else (0xFF is handled inside the other types) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value"))); + } + } + } + + /*! + @brief reads a CBOR string + + This function first reads starting bytes to determine the expected + string length and then copies this number of bytes into a string. + Additionally, CBOR's strings with indefinite lengths are supported. + + @param[out] result created string + + @return whether string creation completed + */ + bool get_cbor_string(string_t& result) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "string"))) + { + return false; + } + + switch (current) + { + // UTF-8 string (0x00..0x17 bytes follow) + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + { + return get_string(input_format_t::cbor, static_cast(current) & 0x1Fu, result); + } + + case 0x78: // UTF-8 string (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x79: // UTF-8 string (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x7A: // UTF-8 string (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x7F: // UTF-8 string (indefinite length) + { + while (get() != 0xFF) + { + string_t chunk; + if (!get_cbor_string(chunk)) + { + return false; + } + result.append(chunk); + } + return true; + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0x" + last_token, "string"))); + } + } + } + + /*! + @brief reads a CBOR byte array + + This function first reads starting bytes to determine the expected + byte array length and then copies this number of bytes into the byte array. + Additionally, CBOR's byte arrays with indefinite lengths are supported. + + @param[out] result created byte array + + @return whether byte array creation completed + */ + bool get_cbor_binary(binary_t& result) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "binary"))) + { + return false; + } + + switch (current) + { + // Binary data (0x00..0x17 bytes follow) + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + { + return get_binary(input_format_t::cbor, static_cast(current) & 0x1Fu, result); + } + + case 0x58: // Binary data (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x59: // Binary data (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x5A: // Binary data (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x5B: // Binary data (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x5F: // Binary data (indefinite length) + { + while (get() != 0xFF) + { + binary_t chunk; + if (!get_cbor_binary(chunk)) + { + return false; + } + result.insert(result.end(), chunk.begin(), chunk.end()); + } + return true; + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x40-0x5B) or indefinite binary array type (0x5F); last byte: 0x" + last_token, "binary"))); + } + } + } + + /*! + @param[in] len the length of the array or std::size_t(-1) for an + array of indefinite size + @param[in] tag_handler how CBOR tags should be treated + @return whether array creation completed + */ + bool get_cbor_array(const std::size_t len, + const cbor_tag_handler_t tag_handler) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len))) + { + return false; + } + + if (len != std::size_t(-1)) + { + for (std::size_t i = 0; i < len; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler))) + { + return false; + } + } + } + else + { + while (get() != 0xFF) + { + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(false, tag_handler))) + { + return false; + } + } + } + + return sax->end_array(); + } + + /*! + @param[in] len the length of the object or std::size_t(-1) for an + object of indefinite size + @param[in] tag_handler how CBOR tags should be treated + @return whether object creation completed + */ + bool get_cbor_object(const std::size_t len, + const cbor_tag_handler_t tag_handler) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len))) + { + return false; + } + + string_t key; + if (len != std::size_t(-1)) + { + for (std::size_t i = 0; i < len; ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler))) + { + return false; + } + key.clear(); + } + } + else + { + while (get() != 0xFF) + { + if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler))) + { + return false; + } + key.clear(); + } + } + + return sax->end_object(); + } + + ///////////// + // MsgPack // + ///////////// + + /*! + @return whether a valid MessagePack value was passed to the SAX parser + */ + bool parse_msgpack_internal() + { + switch (get()) + { + // EOF + case std::char_traits::eof(): + return unexpect_eof(input_format_t::msgpack, "value"); + + // positive fixint + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case 0x09: + case 0x0A: + case 0x0B: + case 0x0C: + case 0x0D: + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x1F: + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + case 0x28: + case 0x29: + case 0x2A: + case 0x2B: + case 0x2C: + case 0x2D: + case 0x2E: + case 0x2F: + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + case 0x38: + case 0x39: + case 0x3A: + case 0x3B: + case 0x3C: + case 0x3D: + case 0x3E: + case 0x3F: + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: + case 0x59: + case 0x5A: + case 0x5B: + case 0x5C: + case 0x5D: + case 0x5E: + case 0x5F: + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + case 0x78: + case 0x79: + case 0x7A: + case 0x7B: + case 0x7C: + case 0x7D: + case 0x7E: + case 0x7F: + return sax->number_unsigned(static_cast(current)); + + // fixmap + case 0x80: + case 0x81: + case 0x82: + case 0x83: + case 0x84: + case 0x85: + case 0x86: + case 0x87: + case 0x88: + case 0x89: + case 0x8A: + case 0x8B: + case 0x8C: + case 0x8D: + case 0x8E: + case 0x8F: + return get_msgpack_object(static_cast(static_cast(current) & 0x0Fu)); + + // fixarray + case 0x90: + case 0x91: + case 0x92: + case 0x93: + case 0x94: + case 0x95: + case 0x96: + case 0x97: + case 0x98: + case 0x99: + case 0x9A: + case 0x9B: + case 0x9C: + case 0x9D: + case 0x9E: + case 0x9F: + return get_msgpack_array(static_cast(static_cast(current) & 0x0Fu)); + + // fixstr + case 0xA0: + case 0xA1: + case 0xA2: + case 0xA3: + case 0xA4: + case 0xA5: + case 0xA6: + case 0xA7: + case 0xA8: + case 0xA9: + case 0xAA: + case 0xAB: + case 0xAC: + case 0xAD: + case 0xAE: + case 0xAF: + case 0xB0: + case 0xB1: + case 0xB2: + case 0xB3: + case 0xB4: + case 0xB5: + case 0xB6: + case 0xB7: + case 0xB8: + case 0xB9: + case 0xBA: + case 0xBB: + case 0xBC: + case 0xBD: + case 0xBE: + case 0xBF: + case 0xD9: // str 8 + case 0xDA: // str 16 + case 0xDB: // str 32 + { + string_t s; + return get_msgpack_string(s) && sax->string(s); + } + + case 0xC0: // nil + return sax->null(); + + case 0xC2: // false + return sax->boolean(false); + + case 0xC3: // true + return sax->boolean(true); + + case 0xC4: // bin 8 + case 0xC5: // bin 16 + case 0xC6: // bin 32 + case 0xC7: // ext 8 + case 0xC8: // ext 16 + case 0xC9: // ext 32 + case 0xD4: // fixext 1 + case 0xD5: // fixext 2 + case 0xD6: // fixext 4 + case 0xD7: // fixext 8 + case 0xD8: // fixext 16 + { + binary_t b; + return get_msgpack_binary(b) && sax->binary(b); + } + + case 0xCA: // float 32 + { + float number{}; + return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast(number), ""); + } + + case 0xCB: // float 64 + { + double number{}; + return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast(number), ""); + } + + case 0xCC: // uint 8 + { + std::uint8_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xCD: // uint 16 + { + std::uint16_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xCE: // uint 32 + { + std::uint32_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xCF: // uint 64 + { + std::uint64_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xD0: // int 8 + { + std::int8_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xD1: // int 16 + { + std::int16_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xD2: // int 32 + { + std::int32_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xD3: // int 64 + { + std::int64_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xDC: // array 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast(len)); + } + + case 0xDD: // array 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast(len)); + } + + case 0xDE: // map 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast(len)); + } + + case 0xDF: // map 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast(len)); + } + + // negative fixint + case 0xE0: + case 0xE1: + case 0xE2: + case 0xE3: + case 0xE4: + case 0xE5: + case 0xE6: + case 0xE7: + case 0xE8: + case 0xE9: + case 0xEA: + case 0xEB: + case 0xEC: + case 0xED: + case 0xEE: + case 0xEF: + case 0xF0: + case 0xF1: + case 0xF2: + case 0xF3: + case 0xF4: + case 0xF5: + case 0xF6: + case 0xF7: + case 0xF8: + case 0xF9: + case 0xFA: + case 0xFB: + case 0xFC: + case 0xFD: + case 0xFE: + case 0xFF: + return sax->number_integer(static_cast(current)); + + default: // anything else + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::msgpack, "invalid byte: 0x" + last_token, "value"))); + } + } + } + + /*! + @brief reads a MessagePack string + + This function first reads starting bytes to determine the expected + string length and then copies this number of bytes into a string. + + @param[out] result created string + + @return whether string creation completed + */ + bool get_msgpack_string(string_t& result) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::msgpack, "string"))) + { + return false; + } + + switch (current) + { + // fixstr + case 0xA0: + case 0xA1: + case 0xA2: + case 0xA3: + case 0xA4: + case 0xA5: + case 0xA6: + case 0xA7: + case 0xA8: + case 0xA9: + case 0xAA: + case 0xAB: + case 0xAC: + case 0xAD: + case 0xAE: + case 0xAF: + case 0xB0: + case 0xB1: + case 0xB2: + case 0xB3: + case 0xB4: + case 0xB5: + case 0xB6: + case 0xB7: + case 0xB8: + case 0xB9: + case 0xBA: + case 0xBB: + case 0xBC: + case 0xBD: + case 0xBE: + case 0xBF: + { + return get_string(input_format_t::msgpack, static_cast(current) & 0x1Fu, result); + } + + case 0xD9: // str 8 + { + std::uint8_t len{}; + return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result); + } + + case 0xDA: // str 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result); + } + + case 0xDB: // str 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result); + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::msgpack, "expected length specification (0xA0-0xBF, 0xD9-0xDB); last byte: 0x" + last_token, "string"))); + } + } + } + + /*! + @brief reads a MessagePack byte array + + This function first reads starting bytes to determine the expected + byte array length and then copies this number of bytes into a byte array. + + @param[out] result created byte array + + @return whether byte array creation completed + */ + bool get_msgpack_binary(binary_t& result) + { + // helper function to set the subtype + auto assign_and_return_true = [&result](std::int8_t subtype) + { + result.set_subtype(static_cast(subtype)); + return true; + }; + + switch (current) + { + case 0xC4: // bin 8 + { + std::uint8_t len{}; + return get_number(input_format_t::msgpack, len) && + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC5: // bin 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC6: // bin 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC7: // ext 8 + { + std::uint8_t len{}; + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, len) && + get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, len, result) && + assign_and_return_true(subtype); + } + + case 0xC8: // ext 16 + { + std::uint16_t len{}; + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, len) && + get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, len, result) && + assign_and_return_true(subtype); + } + + case 0xC9: // ext 32 + { + std::uint32_t len{}; + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, len) && + get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, len, result) && + assign_and_return_true(subtype); + } + + case 0xD4: // fixext 1 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 1, result) && + assign_and_return_true(subtype); + } + + case 0xD5: // fixext 2 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 2, result) && + assign_and_return_true(subtype); + } + + case 0xD6: // fixext 4 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 4, result) && + assign_and_return_true(subtype); + } + + case 0xD7: // fixext 8 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 8, result) && + assign_and_return_true(subtype); + } + + case 0xD8: // fixext 16 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 16, result) && + assign_and_return_true(subtype); + } + + default: // LCOV_EXCL_LINE + return false; // LCOV_EXCL_LINE + } + } + + /*! + @param[in] len the length of the array + @return whether array creation completed + */ + bool get_msgpack_array(const std::size_t len) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len))) + { + return false; + } + + for (std::size_t i = 0; i < len; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal())) + { + return false; + } + } + + return sax->end_array(); + } + + /*! + @param[in] len the length of the object + @return whether object creation completed + */ + bool get_msgpack_object(const std::size_t len) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len))) + { + return false; + } + + string_t key; + for (std::size_t i = 0; i < len; ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!get_msgpack_string(key) || !sax->key(key))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal())) + { + return false; + } + key.clear(); + } + + return sax->end_object(); + } + + //////////// + // UBJSON // + //////////// + + /*! + @param[in] get_char whether a new character should be retrieved from the + input (true, default) or whether the last read + character should be considered instead + + @return whether a valid UBJSON value was passed to the SAX parser + */ + bool parse_ubjson_internal(const bool get_char = true) + { + return get_ubjson_value(get_char ? get_ignore_noop() : current); + } + + /*! + @brief reads a UBJSON string + + This function is either called after reading the 'S' byte explicitly + indicating a string, or in case of an object key where the 'S' byte can be + left out. + + @param[out] result created string + @param[in] get_char whether a new character should be retrieved from the + input (true, default) or whether the last read + character should be considered instead + + @return whether string creation completed + */ + bool get_ubjson_string(string_t& result, const bool get_char = true) + { + if (get_char) + { + get(); // TODO(niels): may we ignore N here? + } + + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value"))) + { + return false; + } + + switch (current) + { + case 'U': + { + std::uint8_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'i': + { + std::int8_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'I': + { + std::int16_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'l': + { + std::int32_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'L': + { + std::int64_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + default: + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L); last byte: 0x" + last_token, "string"))); + } + } + + /*! + @param[out] result determined size + @return whether size determination completed + */ + bool get_ubjson_size_value(std::size_t& result) + { + switch (get_ignore_noop()) + { + case 'U': + { + std::uint8_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + case 'i': + { + std::int8_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + case 'I': + { + std::int16_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + case 'l': + { + std::int32_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + case 'L': + { + std::int64_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L) after '#'; last byte: 0x" + last_token, "size"))); + } + } + } + + /*! + @brief determine the type and size for a container + + In the optimized UBJSON format, a type and a size can be provided to allow + for a more compact representation. + + @param[out] result pair of the size and the type + + @return whether pair creation completed + */ + bool get_ubjson_size_type(std::pair& result) + { + result.first = string_t::npos; // size + result.second = 0; // type + + get_ignore_noop(); + + if (current == '$') + { + result.second = get(); // must not ignore 'N', because 'N' maybe the type + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "type"))) + { + return false; + } + + get_ignore_noop(); + if (JSON_HEDLEY_UNLIKELY(current != '#')) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value"))) + { + return false; + } + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "expected '#' after type information; last byte: 0x" + last_token, "size"))); + } + + return get_ubjson_size_value(result.first); + } + + if (current == '#') + { + return get_ubjson_size_value(result.first); + } + + return true; + } + + /*! + @param prefix the previously read or set type prefix + @return whether value creation completed + */ + bool get_ubjson_value(const char_int_type prefix) + { + switch (prefix) + { + case std::char_traits::eof(): // EOF + return unexpect_eof(input_format_t::ubjson, "value"); + + case 'T': // true + return sax->boolean(true); + case 'F': // false + return sax->boolean(false); + + case 'Z': // null + return sax->null(); + + case 'U': + { + std::uint8_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_unsigned(number); + } + + case 'i': + { + std::int8_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'I': + { + std::int16_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'l': + { + std::int32_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'L': + { + std::int64_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'd': + { + float number{}; + return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast(number), ""); + } + + case 'D': + { + double number{}; + return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast(number), ""); + } + + case 'H': + { + return get_ubjson_high_precision_number(); + } + + case 'C': // char + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "char"))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(current > 127)) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char"))); + } + string_t s(1, static_cast(current)); + return sax->string(s); + } + + case 'S': // string + { + string_t s; + return get_ubjson_string(s) && sax->string(s); + } + + case '[': // array + return get_ubjson_array(); + + case '{': // object + return get_ubjson_object(); + + default: // anything else + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "invalid byte: 0x" + last_token, "value"))); + } + } + } + + /*! + @return whether array creation completed + */ + bool get_ubjson_array() + { + std::pair size_and_type; + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type))) + { + return false; + } + + if (size_and_type.first != string_t::npos) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(size_and_type.first))) + { + return false; + } + + if (size_and_type.second != 0) + { + if (size_and_type.second != 'N') + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second))) + { + return false; + } + } + } + } + else + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) + { + return false; + } + } + } + } + else + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) + { + return false; + } + + while (current != ']') + { + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal(false))) + { + return false; + } + get_ignore_noop(); + } + } + + return sax->end_array(); + } + + /*! + @return whether object creation completed + */ + bool get_ubjson_object() + { + std::pair size_and_type; + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type))) + { + return false; + } + + string_t key; + if (size_and_type.first != string_t::npos) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(size_and_type.first))) + { + return false; + } + + if (size_and_type.second != 0) + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second))) + { + return false; + } + key.clear(); + } + } + else + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) + { + return false; + } + key.clear(); + } + } + } + else + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) + { + return false; + } + + while (current != '}') + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key, false) || !sax->key(key))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) + { + return false; + } + get_ignore_noop(); + key.clear(); + } + } + + return sax->end_object(); + } + + // Note, no reader for UBJSON binary types is implemented because they do + // not exist + + bool get_ubjson_high_precision_number() + { + // get size of following number string + std::size_t size{}; + auto res = get_ubjson_size_value(size); + if (JSON_HEDLEY_UNLIKELY(!res)) + { + return res; + } + + // get number string + std::vector number_vector; + for (std::size_t i = 0; i < size; ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "number"))) + { + return false; + } + number_vector.push_back(static_cast(current)); + } + + // parse number string + auto number_ia = detail::input_adapter(std::forward(number_vector)); + auto number_lexer = detail::lexer(std::move(number_ia), false); + const auto result_number = number_lexer.scan(); + const auto number_string = number_lexer.get_token_string(); + const auto result_remainder = number_lexer.scan(); + + using token_type = typename detail::lexer_base::token_type; + + if (JSON_HEDLEY_UNLIKELY(result_remainder != token_type::end_of_input)) + { + return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number"))); + } + + switch (result_number) + { + case token_type::value_integer: + return sax->number_integer(number_lexer.get_number_integer()); + case token_type::value_unsigned: + return sax->number_unsigned(number_lexer.get_number_unsigned()); + case token_type::value_float: + return sax->number_float(number_lexer.get_number_float(), std::move(number_string)); + default: + return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number"))); + } + } + + /////////////////////// + // Utility functions // + /////////////////////// + + /*! + @brief get next character from the input + + This function provides the interface to the used input adapter. It does + not throw in case the input reached EOF, but returns a -'ve valued + `std::char_traits::eof()` in that case. + + @return character read from the input + */ + char_int_type get() + { + ++chars_read; + return current = ia.get_character(); + } + + /*! + @return character read from the input after ignoring all 'N' entries + */ + char_int_type get_ignore_noop() + { + do + { + get(); + } + while (current == 'N'); + + return current; + } + + /* + @brief read a number from the input + + @tparam NumberType the type of the number + @param[in] format the current format (for diagnostics) + @param[out] result number of type @a NumberType + + @return whether conversion completed + + @note This function needs to respect the system's endianess, because + bytes in CBOR, MessagePack, and UBJSON are stored in network order + (big endian) and therefore need reordering on little endian systems. + */ + template + bool get_number(const input_format_t format, NumberType& result) + { + // step 1: read input into array with system's byte order + std::array vec; + for (std::size_t i = 0; i < sizeof(NumberType); ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "number"))) + { + return false; + } + + // reverse byte order prior to conversion if necessary + if (is_little_endian != InputIsLittleEndian) + { + vec[sizeof(NumberType) - i - 1] = static_cast(current); + } + else + { + vec[i] = static_cast(current); // LCOV_EXCL_LINE + } + } + + // step 2: convert array into number of type T and return + std::memcpy(&result, vec.data(), sizeof(NumberType)); + return true; + } + + /*! + @brief create a string by reading characters from the input + + @tparam NumberType the type of the number + @param[in] format the current format (for diagnostics) + @param[in] len number of characters to read + @param[out] result string created by reading @a len bytes + + @return whether string creation completed + + @note We can not reserve @a len bytes for the result, because @a len + may be too large. Usually, @ref unexpect_eof() detects the end of + the input before we run out of string memory. + */ + template + bool get_string(const input_format_t format, + const NumberType len, + string_t& result) + { + bool success = true; + for (NumberType i = 0; i < len; i++) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "string"))) + { + success = false; + break; + } + result.push_back(static_cast(current)); + }; + return success; + } + + /*! + @brief create a byte array by reading bytes from the input + + @tparam NumberType the type of the number + @param[in] format the current format (for diagnostics) + @param[in] len number of bytes to read + @param[out] result byte array created by reading @a len bytes + + @return whether byte array creation completed + + @note We can not reserve @a len bytes for the result, because @a len + may be too large. Usually, @ref unexpect_eof() detects the end of + the input before we run out of memory. + */ + template + bool get_binary(const input_format_t format, + const NumberType len, + binary_t& result) + { + bool success = true; + for (NumberType i = 0; i < len; i++) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "binary"))) + { + success = false; + break; + } + result.push_back(static_cast(current)); + } + return success; + } + + /*! + @param[in] format the current format (for diagnostics) + @param[in] context further context information (for diagnostics) + @return whether the last read character is not EOF + */ + JSON_HEDLEY_NON_NULL(3) + bool unexpect_eof(const input_format_t format, const char* context) const + { + if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof())) + { + return sax->parse_error(chars_read, "", + parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context))); + } + return true; + } + + /*! + @return a string representation of the last read byte + */ + std::string get_token_string() const + { + std::array cr{{}}; + (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(current)); + return std::string{cr.data()}; + } + + /*! + @param[in] format the current format + @param[in] detail a detailed error message + @param[in] context further context information + @return a message string to use in the parse_error exceptions + */ + std::string exception_message(const input_format_t format, + const std::string& detail, + const std::string& context) const + { + std::string error_msg = "syntax error while parsing "; + + switch (format) + { + case input_format_t::cbor: + error_msg += "CBOR"; + break; + + case input_format_t::msgpack: + error_msg += "MessagePack"; + break; + + case input_format_t::ubjson: + error_msg += "UBJSON"; + break; + + case input_format_t::bson: + error_msg += "BSON"; + break; + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + + return error_msg + " " + context + ": " + detail; + } + + private: + /// input adapter + InputAdapterType ia; + + /// the current character + char_int_type current = std::char_traits::eof(); + + /// the number of characters read + std::size_t chars_read = 0; + + /// whether we can assume little endianess + const bool is_little_endian = little_endianess(); + + /// the SAX parser + json_sax_t* sax = nullptr; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + + +#include // isfinite +#include // uint8_t +#include // function +#include // string +#include // move +#include // vector + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +//////////// +// parser // +//////////// + +enum class parse_event_t : uint8_t +{ + /// the parser read `{` and started to process a JSON object + object_start, + /// the parser read `}` and finished processing a JSON object + object_end, + /// the parser read `[` and started to process a JSON array + array_start, + /// the parser read `]` and finished processing a JSON array + array_end, + /// the parser read a key of a value in an object + key, + /// the parser finished reading a JSON value + value +}; + +template +using parser_callback_t = + std::function; + +/*! +@brief syntax analysis + +This class implements a recursive descent parser. +*/ +template +class parser +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using lexer_t = lexer; + using token_type = typename lexer_t::token_type; + + public: + /// a parser reading from an input adapter + explicit parser(InputAdapterType&& adapter, + const parser_callback_t cb = nullptr, + const bool allow_exceptions_ = true, + const bool skip_comments = false) + : callback(cb) + , m_lexer(std::move(adapter), skip_comments) + , allow_exceptions(allow_exceptions_) + { + // read first token + get_token(); + } + + /*! + @brief public parser interface + + @param[in] strict whether to expect the last token to be EOF + @param[in,out] result parsed JSON value + + @throw parse_error.101 in case of an unexpected token + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + */ + void parse(const bool strict, BasicJsonType& result) + { + if (callback) + { + json_sax_dom_callback_parser sdp(result, callback, allow_exceptions); + sax_parse_internal(&sdp); + result.assert_invariant(); + + // in strict mode, input must be completely read + if (strict && (get_token() != token_type::end_of_input)) + { + sdp.parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::end_of_input, "value"))); + } + + // in case of an error, return discarded value + if (sdp.is_errored()) + { + result = value_t::discarded; + return; + } + + // set top-level value to null if it was discarded by the callback + // function + if (result.is_discarded()) + { + result = nullptr; + } + } + else + { + json_sax_dom_parser sdp(result, allow_exceptions); + sax_parse_internal(&sdp); + result.assert_invariant(); + + // in strict mode, input must be completely read + if (strict && (get_token() != token_type::end_of_input)) + { + sdp.parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::end_of_input, "value"))); + } + + // in case of an error, return discarded value + if (sdp.is_errored()) + { + result = value_t::discarded; + return; + } + } + } + + /*! + @brief public accept interface + + @param[in] strict whether to expect the last token to be EOF + @return whether the input is a proper JSON text + */ + bool accept(const bool strict = true) + { + json_sax_acceptor sax_acceptor; + return sax_parse(&sax_acceptor, strict); + } + + template + JSON_HEDLEY_NON_NULL(2) + bool sax_parse(SAX* sax, const bool strict = true) + { + (void)detail::is_sax_static_asserts {}; + const bool result = sax_parse_internal(sax); + + // strict mode: next byte must be EOF + if (result && strict && (get_token() != token_type::end_of_input)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::end_of_input, "value"))); + } + + return result; + } + + private: + template + JSON_HEDLEY_NON_NULL(2) + bool sax_parse_internal(SAX* sax) + { + // stack to remember the hierarchy of structured values we are parsing + // true = array; false = object + std::vector states; + // value to avoid a goto (see comment where set to true) + bool skip_to_state_evaluation = false; + + while (true) + { + if (!skip_to_state_evaluation) + { + // invariant: get_token() was called before each iteration + switch (last_token) + { + case token_type::begin_object: + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) + { + return false; + } + + // closing } -> we are done + if (get_token() == token_type::end_object) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_object())) + { + return false; + } + break; + } + + // parse key + if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::value_string, "object key"))); + } + if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string()))) + { + return false; + } + + // parse separator (:) + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::name_separator, "object separator"))); + } + + // remember we are now inside an object + states.push_back(false); + + // parse values + get_token(); + continue; + } + + case token_type::begin_array: + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) + { + return false; + } + + // closing ] -> we are done + if (get_token() == token_type::end_array) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_array())) + { + return false; + } + break; + } + + // remember we are now inside an array + states.push_back(true); + + // parse values (no need to call get_token) + continue; + } + + case token_type::value_float: + { + const auto res = m_lexer.get_number_float(); + + if (JSON_HEDLEY_UNLIKELY(!std::isfinite(res))) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'")); + } + + if (JSON_HEDLEY_UNLIKELY(!sax->number_float(res, m_lexer.get_string()))) + { + return false; + } + + break; + } + + case token_type::literal_false: + { + if (JSON_HEDLEY_UNLIKELY(!sax->boolean(false))) + { + return false; + } + break; + } + + case token_type::literal_null: + { + if (JSON_HEDLEY_UNLIKELY(!sax->null())) + { + return false; + } + break; + } + + case token_type::literal_true: + { + if (JSON_HEDLEY_UNLIKELY(!sax->boolean(true))) + { + return false; + } + break; + } + + case token_type::value_integer: + { + if (JSON_HEDLEY_UNLIKELY(!sax->number_integer(m_lexer.get_number_integer()))) + { + return false; + } + break; + } + + case token_type::value_string: + { + if (JSON_HEDLEY_UNLIKELY(!sax->string(m_lexer.get_string()))) + { + return false; + } + break; + } + + case token_type::value_unsigned: + { + if (JSON_HEDLEY_UNLIKELY(!sax->number_unsigned(m_lexer.get_number_unsigned()))) + { + return false; + } + break; + } + + case token_type::parse_error: + { + // using "uninitialized" to avoid "expected" message + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::uninitialized, "value"))); + } + + default: // the last token was unexpected + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::literal_or_value, "value"))); + } + } + } + else + { + skip_to_state_evaluation = false; + } + + // we reached this line after we successfully parsed a value + if (states.empty()) + { + // empty stack: we reached the end of the hierarchy: done + return true; + } + + if (states.back()) // array + { + // comma -> next value + if (get_token() == token_type::value_separator) + { + // parse a new value + get_token(); + continue; + } + + // closing ] + if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array)) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_array())) + { + return false; + } + + // We are done with this array. Before we can parse a + // new value, we need to evaluate the new state first. + // By setting skip_to_state_evaluation to false, we + // are effectively jumping to the beginning of this if. + JSON_ASSERT(!states.empty()); + states.pop_back(); + skip_to_state_evaluation = true; + continue; + } + + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::end_array, "array"))); + } + else // object + { + // comma -> next value + if (get_token() == token_type::value_separator) + { + // parse key + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::value_string, "object key"))); + } + + if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string()))) + { + return false; + } + + // parse separator (:) + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::name_separator, "object separator"))); + } + + // parse values + get_token(); + continue; + } + + // closing } + if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object)) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_object())) + { + return false; + } + + // We are done with this object. Before we can parse a + // new value, we need to evaluate the new state first. + // By setting skip_to_state_evaluation to false, we + // are effectively jumping to the beginning of this if. + JSON_ASSERT(!states.empty()); + states.pop_back(); + skip_to_state_evaluation = true; + continue; + } + + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::end_object, "object"))); + } + } + } + + /// get next token from lexer + token_type get_token() + { + return last_token = m_lexer.scan(); + } + + std::string exception_message(const token_type expected, const std::string& context) + { + std::string error_msg = "syntax error "; + + if (!context.empty()) + { + error_msg += "while parsing " + context + " "; + } + + error_msg += "- "; + + if (last_token == token_type::parse_error) + { + error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" + + m_lexer.get_token_string() + "'"; + } + else + { + error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token)); + } + + if (expected != token_type::uninitialized) + { + error_msg += "; expected " + std::string(lexer_t::token_type_name(expected)); + } + + return error_msg; + } + + private: + /// callback function + const parser_callback_t callback = nullptr; + /// the type of the last read token + token_type last_token = token_type::uninitialized; + /// the lexer + lexer_t m_lexer; + /// whether to throw exceptions in case of errors + const bool allow_exceptions = true; +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +// #include + + +#include // ptrdiff_t +#include // numeric_limits + +namespace nlohmann +{ +namespace detail +{ +/* +@brief an iterator for primitive JSON types + +This class models an iterator for primitive JSON types (boolean, number, +string). It's only purpose is to allow the iterator/const_iterator classes +to "iterate" over primitive values. Internally, the iterator is modeled by +a `difference_type` variable. Value begin_value (`0`) models the begin, +end_value (`1`) models past the end. +*/ +class primitive_iterator_t +{ + private: + using difference_type = std::ptrdiff_t; + static constexpr difference_type begin_value = 0; + static constexpr difference_type end_value = begin_value + 1; + + /// iterator as signed integer type + difference_type m_it = (std::numeric_limits::min)(); + + public: + constexpr difference_type get_value() const noexcept + { + return m_it; + } + + /// set iterator to a defined beginning + void set_begin() noexcept + { + m_it = begin_value; + } + + /// set iterator to a defined past the end + void set_end() noexcept + { + m_it = end_value; + } + + /// return whether the iterator can be dereferenced + constexpr bool is_begin() const noexcept + { + return m_it == begin_value; + } + + /// return whether the iterator is at end + constexpr bool is_end() const noexcept + { + return m_it == end_value; + } + + friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + { + return lhs.m_it == rhs.m_it; + } + + friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + { + return lhs.m_it < rhs.m_it; + } + + primitive_iterator_t operator+(difference_type n) noexcept + { + auto result = *this; + result += n; + return result; + } + + friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + { + return lhs.m_it - rhs.m_it; + } + + primitive_iterator_t& operator++() noexcept + { + ++m_it; + return *this; + } + + primitive_iterator_t const operator++(int) noexcept + { + auto result = *this; + ++m_it; + return result; + } + + primitive_iterator_t& operator--() noexcept + { + --m_it; + return *this; + } + + primitive_iterator_t const operator--(int) noexcept + { + auto result = *this; + --m_it; + return result; + } + + primitive_iterator_t& operator+=(difference_type n) noexcept + { + m_it += n; + return *this; + } + + primitive_iterator_t& operator-=(difference_type n) noexcept + { + m_it -= n; + return *this; + } +}; +} // namespace detail +} // namespace nlohmann + + +namespace nlohmann +{ +namespace detail +{ +/*! +@brief an iterator value + +@note This structure could easily be a union, but MSVC currently does not allow +unions members with complex constructors, see https://github.com/nlohmann/json/pull/105. +*/ +template struct internal_iterator +{ + /// iterator for JSON objects + typename BasicJsonType::object_t::iterator object_iterator {}; + /// iterator for JSON arrays + typename BasicJsonType::array_t::iterator array_iterator {}; + /// generic iterator for all other types + primitive_iterator_t primitive_iterator {}; +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next +#include // conditional, is_const, remove_const + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +// forward declare, to be able to friend it later on +template class iteration_proxy; +template class iteration_proxy_value; + +/*! +@brief a template for a bidirectional iterator for the @ref basic_json class +This class implements a both iterators (iterator and const_iterator) for the +@ref basic_json class. +@note An iterator is called *initialized* when a pointer to a JSON value has + been set (e.g., by a constructor or a copy assignment). If the iterator is + default-constructed, it is *uninitialized* and most methods are undefined. + **The library uses assertions to detect calls on uninitialized iterators.** +@requirement The class satisfies the following concept requirements: +- +[BidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator): + The iterator that can be moved can be moved in both directions (i.e. + incremented and decremented). +@since version 1.0.0, simplified in version 2.0.9, change to bidirectional + iterators in version 3.0.0 (see https://github.com/nlohmann/json/issues/593) +*/ +template +class iter_impl +{ + /// allow basic_json to access private members + friend iter_impl::value, typename std::remove_const::type, const BasicJsonType>::type>; + friend BasicJsonType; + friend iteration_proxy; + friend iteration_proxy_value; + + using object_t = typename BasicJsonType::object_t; + using array_t = typename BasicJsonType::array_t; + // make sure BasicJsonType is basic_json or const basic_json + static_assert(is_basic_json::type>::value, + "iter_impl only accepts (const) basic_json"); + + public: + + /// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. + /// The C++ Standard has never required user-defined iterators to derive from std::iterator. + /// A user-defined iterator should provide publicly accessible typedefs named + /// iterator_category, value_type, difference_type, pointer, and reference. + /// Note that value_type is required to be non-const, even for constant iterators. + using iterator_category = std::bidirectional_iterator_tag; + + /// the type of the values when the iterator is dereferenced + using value_type = typename BasicJsonType::value_type; + /// a type to represent differences between iterators + using difference_type = typename BasicJsonType::difference_type; + /// defines a pointer to the type iterated over (value_type) + using pointer = typename std::conditional::value, + typename BasicJsonType::const_pointer, + typename BasicJsonType::pointer>::type; + /// defines a reference to the type iterated over (value_type) + using reference = + typename std::conditional::value, + typename BasicJsonType::const_reference, + typename BasicJsonType::reference>::type; + + /// default constructor + iter_impl() = default; + + /*! + @brief constructor for a given JSON instance + @param[in] object pointer to a JSON object for this iterator + @pre object != nullptr + @post The iterator is initialized; i.e. `m_object != nullptr`. + */ + explicit iter_impl(pointer object) noexcept : m_object(object) + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + m_it.object_iterator = typename object_t::iterator(); + break; + } + + case value_t::array: + { + m_it.array_iterator = typename array_t::iterator(); + break; + } + + default: + { + m_it.primitive_iterator = primitive_iterator_t(); + break; + } + } + } + + /*! + @note The conventional copy constructor and copy assignment are implicitly + defined. Combined with the following converting constructor and + assignment, they support: (1) copy from iterator to iterator, (2) + copy from const iterator to const iterator, and (3) conversion from + iterator to const iterator. However conversion from const iterator + to iterator is not defined. + */ + + /*! + @brief const copy constructor + @param[in] other const iterator to copy from + @note This copy constructor had to be defined explicitly to circumvent a bug + occurring on msvc v19.0 compiler (VS 2015) debug build. For more + information refer to: https://github.com/nlohmann/json/issues/1608 + */ + iter_impl(const iter_impl& other) noexcept + : m_object(other.m_object), m_it(other.m_it) + {} + + /*! + @brief converting assignment + @param[in] other const iterator to copy from + @return const/non-const iterator + @note It is not checked whether @a other is initialized. + */ + iter_impl& operator=(const iter_impl& other) noexcept + { + m_object = other.m_object; + m_it = other.m_it; + return *this; + } + + /*! + @brief converting constructor + @param[in] other non-const iterator to copy from + @note It is not checked whether @a other is initialized. + */ + iter_impl(const iter_impl::type>& other) noexcept + : m_object(other.m_object), m_it(other.m_it) + {} + + /*! + @brief converting assignment + @param[in] other non-const iterator to copy from + @return const/non-const iterator + @note It is not checked whether @a other is initialized. + */ + iter_impl& operator=(const iter_impl::type>& other) noexcept + { + m_object = other.m_object; + m_it = other.m_it; + return *this; + } + + private: + /*! + @brief set the iterator to the first value + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + void set_begin() noexcept + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + m_it.object_iterator = m_object->m_value.object->begin(); + break; + } + + case value_t::array: + { + m_it.array_iterator = m_object->m_value.array->begin(); + break; + } + + case value_t::null: + { + // set to end so begin()==end() is true: null is empty + m_it.primitive_iterator.set_end(); + break; + } + + default: + { + m_it.primitive_iterator.set_begin(); + break; + } + } + } + + /*! + @brief set the iterator past the last value + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + void set_end() noexcept + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + m_it.object_iterator = m_object->m_value.object->end(); + break; + } + + case value_t::array: + { + m_it.array_iterator = m_object->m_value.array->end(); + break; + } + + default: + { + m_it.primitive_iterator.set_end(); + break; + } + } + } + + public: + /*! + @brief return a reference to the value pointed to by the iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + reference operator*() const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end()); + return m_it.object_iterator->second; + } + + case value_t::array: + { + JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end()); + return *m_it.array_iterator; + } + + case value_t::null: + JSON_THROW(invalid_iterator::create(214, "cannot get value")); + + default: + { + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) + { + return *m_object; + } + + JSON_THROW(invalid_iterator::create(214, "cannot get value")); + } + } + } + + /*! + @brief dereference the iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + pointer operator->() const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end()); + return &(m_it.object_iterator->second); + } + + case value_t::array: + { + JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end()); + return &*m_it.array_iterator; + } + + default: + { + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) + { + return m_object; + } + + JSON_THROW(invalid_iterator::create(214, "cannot get value")); + } + } + } + + /*! + @brief post-increment (it++) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl const operator++(int) + { + auto result = *this; + ++(*this); + return result; + } + + /*! + @brief pre-increment (++it) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator++() + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + std::advance(m_it.object_iterator, 1); + break; + } + + case value_t::array: + { + std::advance(m_it.array_iterator, 1); + break; + } + + default: + { + ++m_it.primitive_iterator; + break; + } + } + + return *this; + } + + /*! + @brief post-decrement (it--) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl const operator--(int) + { + auto result = *this; + --(*this); + return result; + } + + /*! + @brief pre-decrement (--it) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator--() + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + std::advance(m_it.object_iterator, -1); + break; + } + + case value_t::array: + { + std::advance(m_it.array_iterator, -1); + break; + } + + default: + { + --m_it.primitive_iterator; + break; + } + } + + return *this; + } + + /*! + @brief comparison: equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator==(const iter_impl& other) const + { + // if objects are not the same, the comparison is undefined + if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object)) + { + JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers")); + } + + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + return (m_it.object_iterator == other.m_it.object_iterator); + + case value_t::array: + return (m_it.array_iterator == other.m_it.array_iterator); + + default: + return (m_it.primitive_iterator == other.m_it.primitive_iterator); + } + } + + /*! + @brief comparison: not equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator!=(const iter_impl& other) const + { + return !operator==(other); + } + + /*! + @brief comparison: smaller + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator<(const iter_impl& other) const + { + // if objects are not the same, the comparison is undefined + if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object)) + { + JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers")); + } + + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators")); + + case value_t::array: + return (m_it.array_iterator < other.m_it.array_iterator); + + default: + return (m_it.primitive_iterator < other.m_it.primitive_iterator); + } + } + + /*! + @brief comparison: less than or equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator<=(const iter_impl& other) const + { + return !other.operator < (*this); + } + + /*! + @brief comparison: greater than + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator>(const iter_impl& other) const + { + return !operator<=(other); + } + + /*! + @brief comparison: greater than or equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator>=(const iter_impl& other) const + { + return !operator<(other); + } + + /*! + @brief add to iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator+=(difference_type i) + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators")); + + case value_t::array: + { + std::advance(m_it.array_iterator, i); + break; + } + + default: + { + m_it.primitive_iterator += i; + break; + } + } + + return *this; + } + + /*! + @brief subtract from iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator-=(difference_type i) + { + return operator+=(-i); + } + + /*! + @brief add to iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl operator+(difference_type i) const + { + auto result = *this; + result += i; + return result; + } + + /*! + @brief addition of distance and iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + friend iter_impl operator+(difference_type i, const iter_impl& it) + { + auto result = it; + result += i; + return result; + } + + /*! + @brief subtract from iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl operator-(difference_type i) const + { + auto result = *this; + result -= i; + return result; + } + + /*! + @brief return difference + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + difference_type operator-(const iter_impl& other) const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators")); + + case value_t::array: + return m_it.array_iterator - other.m_it.array_iterator; + + default: + return m_it.primitive_iterator - other.m_it.primitive_iterator; + } + } + + /*! + @brief access to successor + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + reference operator[](difference_type n) const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators")); + + case value_t::array: + return *std::next(m_it.array_iterator, n); + + case value_t::null: + JSON_THROW(invalid_iterator::create(214, "cannot get value")); + + default: + { + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.get_value() == -n)) + { + return *m_object; + } + + JSON_THROW(invalid_iterator::create(214, "cannot get value")); + } + } + } + + /*! + @brief return the key of an object iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + const typename object_t::key_type& key() const + { + JSON_ASSERT(m_object != nullptr); + + if (JSON_HEDLEY_LIKELY(m_object->is_object())) + { + return m_it.object_iterator->first; + } + + JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators")); + } + + /*! + @brief return the value of an iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + reference value() const + { + return operator*(); + } + + private: + /// associated JSON instance + pointer m_object = nullptr; + /// the actual iterator of the associated instance + internal_iterator::type> m_it {}; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // ptrdiff_t +#include // reverse_iterator +#include // declval + +namespace nlohmann +{ +namespace detail +{ +////////////////////// +// reverse_iterator // +////////////////////// + +/*! +@brief a template for a reverse iterator class + +@tparam Base the base iterator type to reverse. Valid types are @ref +iterator (to create @ref reverse_iterator) and @ref const_iterator (to +create @ref const_reverse_iterator). + +@requirement The class satisfies the following concept requirements: +- +[BidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator): + The iterator that can be moved can be moved in both directions (i.e. + incremented and decremented). +- [OutputIterator](https://en.cppreference.com/w/cpp/named_req/OutputIterator): + It is possible to write to the pointed-to element (only if @a Base is + @ref iterator). + +@since version 1.0.0 +*/ +template +class json_reverse_iterator : public std::reverse_iterator +{ + public: + using difference_type = std::ptrdiff_t; + /// shortcut to the reverse iterator adapter + using base_iterator = std::reverse_iterator; + /// the reference type for the pointed-to element + using reference = typename Base::reference; + + /// create reverse iterator from iterator + explicit json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept + : base_iterator(it) {} + + /// create reverse iterator from base class + explicit json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {} + + /// post-increment (it++) + json_reverse_iterator const operator++(int) + { + return static_cast(base_iterator::operator++(1)); + } + + /// pre-increment (++it) + json_reverse_iterator& operator++() + { + return static_cast(base_iterator::operator++()); + } + + /// post-decrement (it--) + json_reverse_iterator const operator--(int) + { + return static_cast(base_iterator::operator--(1)); + } + + /// pre-decrement (--it) + json_reverse_iterator& operator--() + { + return static_cast(base_iterator::operator--()); + } + + /// add to iterator + json_reverse_iterator& operator+=(difference_type i) + { + return static_cast(base_iterator::operator+=(i)); + } + + /// add to iterator + json_reverse_iterator operator+(difference_type i) const + { + return static_cast(base_iterator::operator+(i)); + } + + /// subtract from iterator + json_reverse_iterator operator-(difference_type i) const + { + return static_cast(base_iterator::operator-(i)); + } + + /// return difference + difference_type operator-(const json_reverse_iterator& other) const + { + return base_iterator(*this) - base_iterator(other); + } + + /// access to successor + reference operator[](difference_type n) const + { + return *(this->operator+(n)); + } + + /// return the key of an object iterator + auto key() const -> decltype(std::declval().key()) + { + auto it = --this->base(); + return it.key(); + } + + /// return the value of an iterator + reference value() const + { + auto it = --this->base(); + return it.operator * (); + } +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // all_of +#include // isdigit +#include // max +#include // accumulate +#include // string +#include // move +#include // vector + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +template +class json_pointer +{ + // allow basic_json to access private members + NLOHMANN_BASIC_JSON_TPL_DECLARATION + friend class basic_json; + + public: + /*! + @brief create JSON pointer + + Create a JSON pointer according to the syntax described in + [Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3). + + @param[in] s string representing the JSON pointer; if omitted, the empty + string is assumed which references the whole JSON value + + @throw parse_error.107 if the given JSON pointer @a s is nonempty and does + not begin with a slash (`/`); see example below + + @throw parse_error.108 if a tilde (`~`) in the given JSON pointer @a s is + not followed by `0` (representing `~`) or `1` (representing `/`); see + example below + + @liveexample{The example shows the construction several valid JSON pointers + as well as the exceptional behavior.,json_pointer} + + @since version 2.0.0 + */ + explicit json_pointer(const std::string& s = "") + : reference_tokens(split(s)) + {} + + /*! + @brief return a string representation of the JSON pointer + + @invariant For each JSON pointer `ptr`, it holds: + @code {.cpp} + ptr == json_pointer(ptr.to_string()); + @endcode + + @return a string representation of the JSON pointer + + @liveexample{The example shows the result of `to_string`.,json_pointer__to_string} + + @since version 2.0.0 + */ + std::string to_string() const + { + return std::accumulate(reference_tokens.begin(), reference_tokens.end(), + std::string{}, + [](const std::string & a, const std::string & b) + { + return a + "/" + escape(b); + }); + } + + /// @copydoc to_string() + operator std::string() const + { + return to_string(); + } + + /*! + @brief append another JSON pointer at the end of this JSON pointer + + @param[in] ptr JSON pointer to append + @return JSON pointer with @a ptr appended + + @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add} + + @complexity Linear in the length of @a ptr. + + @sa @ref operator/=(std::string) to append a reference token + @sa @ref operator/=(std::size_t) to append an array index + @sa @ref operator/(const json_pointer&, const json_pointer&) for a binary operator + + @since version 3.6.0 + */ + json_pointer& operator/=(const json_pointer& ptr) + { + reference_tokens.insert(reference_tokens.end(), + ptr.reference_tokens.begin(), + ptr.reference_tokens.end()); + return *this; + } + + /*! + @brief append an unescaped reference token at the end of this JSON pointer + + @param[in] token reference token to append + @return JSON pointer with @a token appended without escaping @a token + + @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add} + + @complexity Amortized constant. + + @sa @ref operator/=(const json_pointer&) to append a JSON pointer + @sa @ref operator/=(std::size_t) to append an array index + @sa @ref operator/(const json_pointer&, std::size_t) for a binary operator + + @since version 3.6.0 + */ + json_pointer& operator/=(std::string token) + { + push_back(std::move(token)); + return *this; + } + + /*! + @brief append an array index at the end of this JSON pointer + + @param[in] array_idx array index to append + @return JSON pointer with @a array_idx appended + + @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add} + + @complexity Amortized constant. + + @sa @ref operator/=(const json_pointer&) to append a JSON pointer + @sa @ref operator/=(std::string) to append a reference token + @sa @ref operator/(const json_pointer&, std::string) for a binary operator + + @since version 3.6.0 + */ + json_pointer& operator/=(std::size_t array_idx) + { + return *this /= std::to_string(array_idx); + } + + /*! + @brief create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer + + @param[in] lhs JSON pointer + @param[in] rhs JSON pointer + @return a new JSON pointer with @a rhs appended to @a lhs + + @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary} + + @complexity Linear in the length of @a lhs and @a rhs. + + @sa @ref operator/=(const json_pointer&) to append a JSON pointer + + @since version 3.6.0 + */ + friend json_pointer operator/(const json_pointer& lhs, + const json_pointer& rhs) + { + return json_pointer(lhs) /= rhs; + } + + /*! + @brief create a new JSON pointer by appending the unescaped token at the end of the JSON pointer + + @param[in] ptr JSON pointer + @param[in] token reference token + @return a new JSON pointer with unescaped @a token appended to @a ptr + + @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary} + + @complexity Linear in the length of @a ptr. + + @sa @ref operator/=(std::string) to append a reference token + + @since version 3.6.0 + */ + friend json_pointer operator/(const json_pointer& ptr, std::string token) + { + return json_pointer(ptr) /= std::move(token); + } + + /*! + @brief create a new JSON pointer by appending the array-index-token at the end of the JSON pointer + + @param[in] ptr JSON pointer + @param[in] array_idx array index + @return a new JSON pointer with @a array_idx appended to @a ptr + + @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary} + + @complexity Linear in the length of @a ptr. + + @sa @ref operator/=(std::size_t) to append an array index + + @since version 3.6.0 + */ + friend json_pointer operator/(const json_pointer& ptr, std::size_t array_idx) + { + return json_pointer(ptr) /= array_idx; + } + + /*! + @brief returns the parent of this JSON pointer + + @return parent of this JSON pointer; in case this JSON pointer is the root, + the root itself is returned + + @complexity Linear in the length of the JSON pointer. + + @liveexample{The example shows the result of `parent_pointer` for different + JSON Pointers.,json_pointer__parent_pointer} + + @since version 3.6.0 + */ + json_pointer parent_pointer() const + { + if (empty()) + { + return *this; + } + + json_pointer res = *this; + res.pop_back(); + return res; + } + + /*! + @brief remove last reference token + + @pre not `empty()` + + @liveexample{The example shows the usage of `pop_back`.,json_pointer__pop_back} + + @complexity Constant. + + @throw out_of_range.405 if JSON pointer has no parent + + @since version 3.6.0 + */ + void pop_back() + { + if (JSON_HEDLEY_UNLIKELY(empty())) + { + JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); + } + + reference_tokens.pop_back(); + } + + /*! + @brief return last reference token + + @pre not `empty()` + @return last reference token + + @liveexample{The example shows the usage of `back`.,json_pointer__back} + + @complexity Constant. + + @throw out_of_range.405 if JSON pointer has no parent + + @since version 3.6.0 + */ + const std::string& back() const + { + if (JSON_HEDLEY_UNLIKELY(empty())) + { + JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); + } + + return reference_tokens.back(); + } + + /*! + @brief append an unescaped token at the end of the reference pointer + + @param[in] token token to add + + @complexity Amortized constant. + + @liveexample{The example shows the result of `push_back` for different + JSON Pointers.,json_pointer__push_back} + + @since version 3.6.0 + */ + void push_back(const std::string& token) + { + reference_tokens.push_back(token); + } + + /// @copydoc push_back(const std::string&) + void push_back(std::string&& token) + { + reference_tokens.push_back(std::move(token)); + } + + /*! + @brief return whether pointer points to the root document + + @return true iff the JSON pointer points to the root document + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example shows the result of `empty` for different JSON + Pointers.,json_pointer__empty} + + @since version 3.6.0 + */ + bool empty() const noexcept + { + return reference_tokens.empty(); + } + + private: + /*! + @param[in] s reference token to be converted into an array index + + @return integer representation of @a s + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index begins not with a digit + @throw out_of_range.404 if string @a s could not be converted to an integer + @throw out_of_range.410 if an array index exceeds size_type + */ + static typename BasicJsonType::size_type array_index(const std::string& s) + { + using size_type = typename BasicJsonType::size_type; + + // error condition (cf. RFC 6901, Sect. 4) + if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && s[0] == '0')) + { + JSON_THROW(detail::parse_error::create(106, 0, + "array index '" + s + + "' must not begin with '0'")); + } + + // error condition (cf. RFC 6901, Sect. 4) + if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9'))) + { + JSON_THROW(detail::parse_error::create(109, 0, "array index '" + s + "' is not a number")); + } + + std::size_t processed_chars = 0; + unsigned long long res = 0; + JSON_TRY + { + res = std::stoull(s, &processed_chars); + } + JSON_CATCH(std::out_of_range&) + { + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'")); + } + + // check if the string was completely read + if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size())) + { + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'")); + } + + // only triggered on special platforms (like 32bit), see also + // https://github.com/nlohmann/json/pull/2203 + if (res >= static_cast((std::numeric_limits::max)())) + { + JSON_THROW(detail::out_of_range::create(410, "array index " + s + " exceeds size_type")); // LCOV_EXCL_LINE + } + + return static_cast(res); + } + + json_pointer top() const + { + if (JSON_HEDLEY_UNLIKELY(empty())) + { + JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); + } + + json_pointer result = *this; + result.reference_tokens = {reference_tokens[0]}; + return result; + } + + /*! + @brief create and return a reference to the pointed to value + + @complexity Linear in the number of reference tokens. + + @throw parse_error.109 if array index is not a number + @throw type_error.313 if value cannot be unflattened + */ + BasicJsonType& get_and_create(BasicJsonType& j) const + { + auto result = &j; + + // in case no reference tokens exist, return a reference to the JSON value + // j which will be overwritten by a primitive value + for (const auto& reference_token : reference_tokens) + { + switch (result->type()) + { + case detail::value_t::null: + { + if (reference_token == "0") + { + // start a new array if reference token is 0 + result = &result->operator[](0); + } + else + { + // start a new object otherwise + result = &result->operator[](reference_token); + } + break; + } + + case detail::value_t::object: + { + // create an entry in the object + result = &result->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + // create an entry in the array + result = &result->operator[](array_index(reference_token)); + break; + } + + /* + The following code is only reached if there exists a reference + token _and_ the current value is primitive. In this case, we have + an error situation, because primitive values may only occur as + single value; that is, with an empty list of reference tokens. + */ + default: + JSON_THROW(detail::type_error::create(313, "invalid value to unflatten")); + } + } + + return *result; + } + + /*! + @brief return a reference to the pointed to value + + @note This version does not throw if a value is not present, but tries to + create nested values instead. For instance, calling this function + with pointer `"/this/that"` on a null value is equivalent to calling + `operator[]("this").operator[]("that")` on that value, effectively + changing the null value to an object. + + @param[in] ptr a JSON value + + @return reference to the JSON value pointed to by the JSON pointer + + @complexity Linear in the length of the JSON pointer. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + BasicJsonType& get_unchecked(BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + // convert null values to arrays or objects before continuing + if (ptr->is_null()) + { + // check if reference token is a number + const bool nums = + std::all_of(reference_token.begin(), reference_token.end(), + [](const unsigned char x) + { + return std::isdigit(x); + }); + + // change value to array for numbers or "-" or to object otherwise + *ptr = (nums || reference_token == "-") + ? detail::value_t::array + : detail::value_t::object; + } + + switch (ptr->type()) + { + case detail::value_t::object: + { + // use unchecked object access + ptr = &ptr->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + if (reference_token == "-") + { + // explicitly treat "-" as index beyond the end + ptr = &ptr->operator[](ptr->m_value.array->size()); + } + else + { + // convert array index to number; unchecked access + ptr = &ptr->operator[](array_index(reference_token)); + } + break; + } + + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); + } + } + + return *ptr; + } + + /*! + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + BasicJsonType& get_checked(BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + // note: at performs range check + ptr = &ptr->at(reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" always fails the range check + JSON_THROW(detail::out_of_range::create(402, + "array index '-' (" + std::to_string(ptr->m_value.array->size()) + + ") is out of range")); + } + + // note: at performs range check + ptr = &ptr->at(array_index(reference_token)); + break; + } + + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); + } + } + + return *ptr; + } + + /*! + @brief return a const reference to the pointed to value + + @param[in] ptr a JSON value + + @return const reference to the JSON value pointed to by the JSON + pointer + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + // use unchecked object access + ptr = &ptr->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" cannot be used for const access + JSON_THROW(detail::out_of_range::create(402, + "array index '-' (" + std::to_string(ptr->m_value.array->size()) + + ") is out of range")); + } + + // use unchecked array access + ptr = &ptr->operator[](array_index(reference_token)); + break; + } + + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); + } + } + + return *ptr; + } + + /*! + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + const BasicJsonType& get_checked(const BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + // note: at performs range check + ptr = &ptr->at(reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" always fails the range check + JSON_THROW(detail::out_of_range::create(402, + "array index '-' (" + std::to_string(ptr->m_value.array->size()) + + ") is out of range")); + } + + // note: at performs range check + ptr = &ptr->at(array_index(reference_token)); + break; + } + + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); + } + } + + return *ptr; + } + + /*! + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + */ + bool contains(const BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + if (!ptr->contains(reference_token)) + { + // we did not find the key in the object + return false; + } + + ptr = &ptr->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" always fails the range check + return false; + } + if (JSON_HEDLEY_UNLIKELY(reference_token.size() == 1 && !("0" <= reference_token && reference_token <= "9"))) + { + // invalid char + return false; + } + if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1)) + { + if (JSON_HEDLEY_UNLIKELY(!('1' <= reference_token[0] && reference_token[0] <= '9'))) + { + // first char should be between '1' and '9' + return false; + } + for (std::size_t i = 1; i < reference_token.size(); i++) + { + if (JSON_HEDLEY_UNLIKELY(!('0' <= reference_token[i] && reference_token[i] <= '9'))) + { + // other char should be between '0' and '9' + return false; + } + } + } + + const auto idx = array_index(reference_token); + if (idx >= ptr->size()) + { + // index out of range + return false; + } + + ptr = &ptr->operator[](idx); + break; + } + + default: + { + // we do not expect primitive values if there is still a + // reference token to process + return false; + } + } + } + + // no reference token left means we found a primitive value + return true; + } + + /*! + @brief split the string input to reference tokens + + @note This function is only called by the json_pointer constructor. + All exceptions below are documented there. + + @throw parse_error.107 if the pointer is not empty or begins with '/' + @throw parse_error.108 if character '~' is not followed by '0' or '1' + */ + static std::vector split(const std::string& reference_string) + { + std::vector result; + + // special case: empty reference string -> no reference tokens + if (reference_string.empty()) + { + return result; + } + + // check if nonempty reference string begins with slash + if (JSON_HEDLEY_UNLIKELY(reference_string[0] != '/')) + { + JSON_THROW(detail::parse_error::create(107, 1, + "JSON pointer must be empty or begin with '/' - was: '" + + reference_string + "'")); + } + + // extract the reference tokens: + // - slash: position of the last read slash (or end of string) + // - start: position after the previous slash + for ( + // search for the first slash after the first character + std::size_t slash = reference_string.find_first_of('/', 1), + // set the beginning of the first reference token + start = 1; + // we can stop if start == 0 (if slash == std::string::npos) + start != 0; + // set the beginning of the next reference token + // (will eventually be 0 if slash == std::string::npos) + start = (slash == std::string::npos) ? 0 : slash + 1, + // find next slash + slash = reference_string.find_first_of('/', start)) + { + // use the text between the beginning of the reference token + // (start) and the last slash (slash). + auto reference_token = reference_string.substr(start, slash - start); + + // check reference tokens are properly escaped + for (std::size_t pos = reference_token.find_first_of('~'); + pos != std::string::npos; + pos = reference_token.find_first_of('~', pos + 1)) + { + JSON_ASSERT(reference_token[pos] == '~'); + + // ~ must be followed by 0 or 1 + if (JSON_HEDLEY_UNLIKELY(pos == reference_token.size() - 1 || + (reference_token[pos + 1] != '0' && + reference_token[pos + 1] != '1'))) + { + JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'")); + } + } + + // finally, store the reference token + unescape(reference_token); + result.push_back(reference_token); + } + + return result; + } + + /*! + @brief replace all occurrences of a substring by another string + + @param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t + @param[in] f the substring to replace with @a t + @param[in] t the string to replace @a f + + @pre The search string @a f must not be empty. **This precondition is + enforced with an assertion.** + + @since version 2.0.0 + */ + static void replace_substring(std::string& s, const std::string& f, + const std::string& t) + { + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find first occurrence of f + pos != std::string::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} + } + + /// escape "~" to "~0" and "/" to "~1" + static std::string escape(std::string s) + { + replace_substring(s, "~", "~0"); + replace_substring(s, "/", "~1"); + return s; + } + + /// unescape "~1" to tilde and "~0" to slash (order is important!) + static void unescape(std::string& s) + { + replace_substring(s, "~1", "/"); + replace_substring(s, "~0", "~"); + } + + /*! + @param[in] reference_string the reference string to the current value + @param[in] value the value to consider + @param[in,out] result the result object to insert values to + + @note Empty objects or arrays are flattened to `null`. + */ + static void flatten(const std::string& reference_string, + const BasicJsonType& value, + BasicJsonType& result) + { + switch (value.type()) + { + case detail::value_t::array: + { + if (value.m_value.array->empty()) + { + // flatten empty array as null + result[reference_string] = nullptr; + } + else + { + // iterate array and use index as reference string + for (std::size_t i = 0; i < value.m_value.array->size(); ++i) + { + flatten(reference_string + "/" + std::to_string(i), + value.m_value.array->operator[](i), result); + } + } + break; + } + + case detail::value_t::object: + { + if (value.m_value.object->empty()) + { + // flatten empty object as null + result[reference_string] = nullptr; + } + else + { + // iterate object and use keys as reference string + for (const auto& element : *value.m_value.object) + { + flatten(reference_string + "/" + escape(element.first), element.second, result); + } + } + break; + } + + default: + { + // add primitive value with its reference string + result[reference_string] = value; + break; + } + } + } + + /*! + @param[in] value flattened JSON + + @return unflattened JSON + + @throw parse_error.109 if array index is not a number + @throw type_error.314 if value is not an object + @throw type_error.315 if object values are not primitive + @throw type_error.313 if value cannot be unflattened + */ + static BasicJsonType + unflatten(const BasicJsonType& value) + { + if (JSON_HEDLEY_UNLIKELY(!value.is_object())) + { + JSON_THROW(detail::type_error::create(314, "only objects can be unflattened")); + } + + BasicJsonType result; + + // iterate the JSON object values + for (const auto& element : *value.m_value.object) + { + if (JSON_HEDLEY_UNLIKELY(!element.second.is_primitive())) + { + JSON_THROW(detail::type_error::create(315, "values in object must be primitive")); + } + + // assign value to reference pointed to by JSON pointer; Note that if + // the JSON pointer is "" (i.e., points to the whole value), function + // get_and_create returns a reference to result itself. An assignment + // will then create a primitive value. + json_pointer(element.first).get_and_create(result) = element.second; + } + + return result; + } + + /*! + @brief compares two JSON pointers for equality + + @param[in] lhs JSON pointer to compare + @param[in] rhs JSON pointer to compare + @return whether @a lhs is equal to @a rhs + + @complexity Linear in the length of the JSON pointer + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + */ + friend bool operator==(json_pointer const& lhs, + json_pointer const& rhs) noexcept + { + return lhs.reference_tokens == rhs.reference_tokens; + } + + /*! + @brief compares two JSON pointers for inequality + + @param[in] lhs JSON pointer to compare + @param[in] rhs JSON pointer to compare + @return whether @a lhs is not equal @a rhs + + @complexity Linear in the length of the JSON pointer + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + */ + friend bool operator!=(json_pointer const& lhs, + json_pointer const& rhs) noexcept + { + return !(lhs == rhs); + } + + /// the reference tokens + std::vector reference_tokens; +}; +} // namespace nlohmann + +// #include + + +#include +#include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +class json_ref +{ + public: + using value_type = BasicJsonType; + + json_ref(value_type&& value) + : owned_value(std::move(value)) + , value_ref(&owned_value) + , is_rvalue(true) + {} + + json_ref(const value_type& value) + : value_ref(const_cast(&value)) + , is_rvalue(false) + {} + + json_ref(std::initializer_list init) + : owned_value(init) + , value_ref(&owned_value) + , is_rvalue(true) + {} + + template < + class... Args, + enable_if_t::value, int> = 0 > + json_ref(Args && ... args) + : owned_value(std::forward(args)...) + , value_ref(&owned_value) + , is_rvalue(true) + {} + + // class should be movable only + json_ref(json_ref&&) = default; + json_ref(const json_ref&) = delete; + json_ref& operator=(const json_ref&) = delete; + json_ref& operator=(json_ref&&) = delete; + ~json_ref() = default; + + value_type moved_or_copied() const + { + if (is_rvalue) + { + return std::move(*value_ref); + } + return *value_ref; + } + + value_type const& operator*() const + { + return *static_cast(value_ref); + } + + value_type const* operator->() const + { + return static_cast(value_ref); + } + + private: + mutable value_type owned_value = nullptr; + value_type* value_ref = nullptr; + const bool is_rvalue = true; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + +// #include + + +#include // reverse +#include // array +#include // uint8_t, uint16_t, uint32_t, uint64_t +#include // memcpy +#include // numeric_limits +#include // string +#include // isnan, isinf + +// #include + +// #include + +// #include + + +#include // copy +#include // size_t +#include // streamsize +#include // back_inserter +#include // shared_ptr, make_shared +#include // basic_ostream +#include // basic_string +#include // vector +// #include + + +namespace nlohmann +{ +namespace detail +{ +/// abstract output adapter interface +template struct output_adapter_protocol +{ + virtual void write_character(CharType c) = 0; + virtual void write_characters(const CharType* s, std::size_t length) = 0; + virtual ~output_adapter_protocol() = default; +}; + +/// a type to simplify interfaces +template +using output_adapter_t = std::shared_ptr>; + +/// output adapter for byte vectors +template +class output_vector_adapter : public output_adapter_protocol +{ + public: + explicit output_vector_adapter(std::vector& vec) noexcept + : v(vec) + {} + + void write_character(CharType c) override + { + v.push_back(c); + } + + JSON_HEDLEY_NON_NULL(2) + void write_characters(const CharType* s, std::size_t length) override + { + std::copy(s, s + length, std::back_inserter(v)); + } + + private: + std::vector& v; +}; + +/// output adapter for output streams +template +class output_stream_adapter : public output_adapter_protocol +{ + public: + explicit output_stream_adapter(std::basic_ostream& s) noexcept + : stream(s) + {} + + void write_character(CharType c) override + { + stream.put(c); + } + + JSON_HEDLEY_NON_NULL(2) + void write_characters(const CharType* s, std::size_t length) override + { + stream.write(s, static_cast(length)); + } + + private: + std::basic_ostream& stream; +}; + +/// output adapter for basic_string +template> +class output_string_adapter : public output_adapter_protocol +{ + public: + explicit output_string_adapter(StringType& s) noexcept + : str(s) + {} + + void write_character(CharType c) override + { + str.push_back(c); + } + + JSON_HEDLEY_NON_NULL(2) + void write_characters(const CharType* s, std::size_t length) override + { + str.append(s, length); + } + + private: + StringType& str; +}; + +template> +class output_adapter +{ + public: + output_adapter(std::vector& vec) + : oa(std::make_shared>(vec)) {} + + output_adapter(std::basic_ostream& s) + : oa(std::make_shared>(s)) {} + + output_adapter(StringType& s) + : oa(std::make_shared>(s)) {} + + operator output_adapter_t() + { + return oa; + } + + private: + output_adapter_t oa = nullptr; +}; +} // namespace detail +} // namespace nlohmann + + +namespace nlohmann +{ +namespace detail +{ +/////////////////// +// binary writer // +/////////////////// + +/*! +@brief serialization to CBOR and MessagePack values +*/ +template +class binary_writer +{ + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using number_float_t = typename BasicJsonType::number_float_t; + + public: + /*! + @brief create a binary writer + + @param[in] adapter output adapter to write to + */ + explicit binary_writer(output_adapter_t adapter) : oa(adapter) + { + JSON_ASSERT(oa); + } + + /*! + @param[in] j JSON value to serialize + @pre j.type() == value_t::object + */ + void write_bson(const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::object: + { + write_bson_object(*j.m_value.object); + break; + } + + default: + { + JSON_THROW(type_error::create(317, "to serialize to BSON, top-level type must be object, but is " + std::string(j.type_name()))); + } + } + } + + /*! + @param[in] j JSON value to serialize + */ + void write_cbor(const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::null: + { + oa->write_character(to_char_type(0xF6)); + break; + } + + case value_t::boolean: + { + oa->write_character(j.m_value.boolean + ? to_char_type(0xF5) + : to_char_type(0xF4)); + break; + } + + case value_t::number_integer: + { + if (j.m_value.number_integer >= 0) + { + // CBOR does not differentiate between positive signed + // integers and unsigned integers. Therefore, we used the + // code from the value_t::number_unsigned case here. + if (j.m_value.number_integer <= 0x17) + { + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x18)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x19)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x1A)); + write_number(static_cast(j.m_value.number_integer)); + } + else + { + oa->write_character(to_char_type(0x1B)); + write_number(static_cast(j.m_value.number_integer)); + } + } + else + { + // The conversions below encode the sign in the first + // byte, and the value is converted to a positive number. + const auto positive_number = -1 - j.m_value.number_integer; + if (j.m_value.number_integer >= -24) + { + write_number(static_cast(0x20 + positive_number)); + } + else if (positive_number <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x38)); + write_number(static_cast(positive_number)); + } + else if (positive_number <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x39)); + write_number(static_cast(positive_number)); + } + else if (positive_number <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x3A)); + write_number(static_cast(positive_number)); + } + else + { + oa->write_character(to_char_type(0x3B)); + write_number(static_cast(positive_number)); + } + } + break; + } + + case value_t::number_unsigned: + { + if (j.m_value.number_unsigned <= 0x17) + { + write_number(static_cast(j.m_value.number_unsigned)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x18)); + write_number(static_cast(j.m_value.number_unsigned)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x19)); + write_number(static_cast(j.m_value.number_unsigned)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x1A)); + write_number(static_cast(j.m_value.number_unsigned)); + } + else + { + oa->write_character(to_char_type(0x1B)); + write_number(static_cast(j.m_value.number_unsigned)); + } + break; + } + + case value_t::number_float: + { + if (std::isnan(j.m_value.number_float)) + { + // NaN is 0xf97e00 in CBOR + oa->write_character(to_char_type(0xF9)); + oa->write_character(to_char_type(0x7E)); + oa->write_character(to_char_type(0x00)); + } + else if (std::isinf(j.m_value.number_float)) + { + // Infinity is 0xf97c00, -Infinity is 0xf9fc00 + oa->write_character(to_char_type(0xf9)); + oa->write_character(j.m_value.number_float > 0 ? to_char_type(0x7C) : to_char_type(0xFC)); + oa->write_character(to_char_type(0x00)); + } + else + { + write_compact_float(j.m_value.number_float, detail::input_format_t::cbor); + } + break; + } + + case value_t::string: + { + // step 1: write control byte and the string length + const auto N = j.m_value.string->size(); + if (N <= 0x17) + { + write_number(static_cast(0x60 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x78)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x79)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x7A)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x7B)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write the string + oa->write_characters( + reinterpret_cast(j.m_value.string->c_str()), + j.m_value.string->size()); + break; + } + + case value_t::array: + { + // step 1: write control byte and the array size + const auto N = j.m_value.array->size(); + if (N <= 0x17) + { + write_number(static_cast(0x80 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x98)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x99)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x9A)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x9B)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write each element + for (const auto& el : *j.m_value.array) + { + write_cbor(el); + } + break; + } + + case value_t::binary: + { + if (j.m_value.binary->has_subtype()) + { + write_number(static_cast(0xd8)); + write_number(j.m_value.binary->subtype()); + } + + // step 1: write control byte and the binary array size + const auto N = j.m_value.binary->size(); + if (N <= 0x17) + { + write_number(static_cast(0x40 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x58)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x59)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x5A)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x5B)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write each element + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + N); + + break; + } + + case value_t::object: + { + // step 1: write control byte and the object size + const auto N = j.m_value.object->size(); + if (N <= 0x17) + { + write_number(static_cast(0xA0 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xB8)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xB9)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xBA)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xBB)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write each element + for (const auto& el : *j.m_value.object) + { + write_cbor(el.first); + write_cbor(el.second); + } + break; + } + + default: + break; + } + } + + /*! + @param[in] j JSON value to serialize + */ + void write_msgpack(const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::null: // nil + { + oa->write_character(to_char_type(0xC0)); + break; + } + + case value_t::boolean: // true and false + { + oa->write_character(j.m_value.boolean + ? to_char_type(0xC3) + : to_char_type(0xC2)); + break; + } + + case value_t::number_integer: + { + if (j.m_value.number_integer >= 0) + { + // MessagePack does not differentiate between positive + // signed integers and unsigned integers. Therefore, we used + // the code from the value_t::number_unsigned case here. + if (j.m_value.number_unsigned < 128) + { + // positive fixnum + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 8 + oa->write_character(to_char_type(0xCC)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 16 + oa->write_character(to_char_type(0xCD)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 32 + oa->write_character(to_char_type(0xCE)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 64 + oa->write_character(to_char_type(0xCF)); + write_number(static_cast(j.m_value.number_integer)); + } + } + else + { + if (j.m_value.number_integer >= -32) + { + // negative fixnum + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 8 + oa->write_character(to_char_type(0xD0)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 16 + oa->write_character(to_char_type(0xD1)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 32 + oa->write_character(to_char_type(0xD2)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 64 + oa->write_character(to_char_type(0xD3)); + write_number(static_cast(j.m_value.number_integer)); + } + } + break; + } + + case value_t::number_unsigned: + { + if (j.m_value.number_unsigned < 128) + { + // positive fixnum + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 8 + oa->write_character(to_char_type(0xCC)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 16 + oa->write_character(to_char_type(0xCD)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 32 + oa->write_character(to_char_type(0xCE)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 64 + oa->write_character(to_char_type(0xCF)); + write_number(static_cast(j.m_value.number_integer)); + } + break; + } + + case value_t::number_float: + { + write_compact_float(j.m_value.number_float, detail::input_format_t::msgpack); + break; + } + + case value_t::string: + { + // step 1: write control byte and the string length + const auto N = j.m_value.string->size(); + if (N <= 31) + { + // fixstr + write_number(static_cast(0xA0 | N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // str 8 + oa->write_character(to_char_type(0xD9)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // str 16 + oa->write_character(to_char_type(0xDA)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // str 32 + oa->write_character(to_char_type(0xDB)); + write_number(static_cast(N)); + } + + // step 2: write the string + oa->write_characters( + reinterpret_cast(j.m_value.string->c_str()), + j.m_value.string->size()); + break; + } + + case value_t::array: + { + // step 1: write control byte and the array size + const auto N = j.m_value.array->size(); + if (N <= 15) + { + // fixarray + write_number(static_cast(0x90 | N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // array 16 + oa->write_character(to_char_type(0xDC)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // array 32 + oa->write_character(to_char_type(0xDD)); + write_number(static_cast(N)); + } + + // step 2: write each element + for (const auto& el : *j.m_value.array) + { + write_msgpack(el); + } + break; + } + + case value_t::binary: + { + // step 0: determine if the binary type has a set subtype to + // determine whether or not to use the ext or fixext types + const bool use_ext = j.m_value.binary->has_subtype(); + + // step 1: write control byte and the byte string length + const auto N = j.m_value.binary->size(); + if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type{}; + bool fixed = true; + if (use_ext) + { + switch (N) + { + case 1: + output_type = 0xD4; // fixext 1 + break; + case 2: + output_type = 0xD5; // fixext 2 + break; + case 4: + output_type = 0xD6; // fixext 4 + break; + case 8: + output_type = 0xD7; // fixext 8 + break; + case 16: + output_type = 0xD8; // fixext 16 + break; + default: + output_type = 0xC7; // ext 8 + fixed = false; + break; + } + + } + else + { + output_type = 0xC4; // bin 8 + fixed = false; + } + + oa->write_character(to_char_type(output_type)); + if (!fixed) + { + write_number(static_cast(N)); + } + } + else if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type = use_ext + ? 0xC8 // ext 16 + : 0xC5; // bin 16 + + oa->write_character(to_char_type(output_type)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type = use_ext + ? 0xC9 // ext 32 + : 0xC6; // bin 32 + + oa->write_character(to_char_type(output_type)); + write_number(static_cast(N)); + } + + // step 1.5: if this is an ext type, write the subtype + if (use_ext) + { + write_number(static_cast(j.m_value.binary->subtype())); + } + + // step 2: write the byte string + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + N); + + break; + } + + case value_t::object: + { + // step 1: write control byte and the object size + const auto N = j.m_value.object->size(); + if (N <= 15) + { + // fixmap + write_number(static_cast(0x80 | (N & 0xF))); + } + else if (N <= (std::numeric_limits::max)()) + { + // map 16 + oa->write_character(to_char_type(0xDE)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // map 32 + oa->write_character(to_char_type(0xDF)); + write_number(static_cast(N)); + } + + // step 2: write each element + for (const auto& el : *j.m_value.object) + { + write_msgpack(el.first); + write_msgpack(el.second); + } + break; + } + + default: + break; + } + } + + /*! + @param[in] j JSON value to serialize + @param[in] use_count whether to use '#' prefixes (optimized format) + @param[in] use_type whether to use '$' prefixes (optimized format) + @param[in] add_prefix whether prefixes need to be used for this value + */ + void write_ubjson(const BasicJsonType& j, const bool use_count, + const bool use_type, const bool add_prefix = true) + { + switch (j.type()) + { + case value_t::null: + { + if (add_prefix) + { + oa->write_character(to_char_type('Z')); + } + break; + } + + case value_t::boolean: + { + if (add_prefix) + { + oa->write_character(j.m_value.boolean + ? to_char_type('T') + : to_char_type('F')); + } + break; + } + + case value_t::number_integer: + { + write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix); + break; + } + + case value_t::number_unsigned: + { + write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix); + break; + } + + case value_t::number_float: + { + write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix); + break; + } + + case value_t::string: + { + if (add_prefix) + { + oa->write_character(to_char_type('S')); + } + write_number_with_ubjson_prefix(j.m_value.string->size(), true); + oa->write_characters( + reinterpret_cast(j.m_value.string->c_str()), + j.m_value.string->size()); + break; + } + + case value_t::array: + { + if (add_prefix) + { + oa->write_character(to_char_type('[')); + } + + bool prefix_required = true; + if (use_type && !j.m_value.array->empty()) + { + JSON_ASSERT(use_count); + const CharType first_prefix = ubjson_prefix(j.front()); + const bool same_prefix = std::all_of(j.begin() + 1, j.end(), + [this, first_prefix](const BasicJsonType & v) + { + return ubjson_prefix(v) == first_prefix; + }); + + if (same_prefix) + { + prefix_required = false; + oa->write_character(to_char_type('$')); + oa->write_character(first_prefix); + } + } + + if (use_count) + { + oa->write_character(to_char_type('#')); + write_number_with_ubjson_prefix(j.m_value.array->size(), true); + } + + for (const auto& el : *j.m_value.array) + { + write_ubjson(el, use_count, use_type, prefix_required); + } + + if (!use_count) + { + oa->write_character(to_char_type(']')); + } + + break; + } + + case value_t::binary: + { + if (add_prefix) + { + oa->write_character(to_char_type('[')); + } + + if (use_type && !j.m_value.binary->empty()) + { + JSON_ASSERT(use_count); + oa->write_character(to_char_type('$')); + oa->write_character('U'); + } + + if (use_count) + { + oa->write_character(to_char_type('#')); + write_number_with_ubjson_prefix(j.m_value.binary->size(), true); + } + + if (use_type) + { + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + j.m_value.binary->size()); + } + else + { + for (size_t i = 0; i < j.m_value.binary->size(); ++i) + { + oa->write_character(to_char_type('U')); + oa->write_character(j.m_value.binary->data()[i]); + } + } + + if (!use_count) + { + oa->write_character(to_char_type(']')); + } + + break; + } + + case value_t::object: + { + if (add_prefix) + { + oa->write_character(to_char_type('{')); + } + + bool prefix_required = true; + if (use_type && !j.m_value.object->empty()) + { + JSON_ASSERT(use_count); + const CharType first_prefix = ubjson_prefix(j.front()); + const bool same_prefix = std::all_of(j.begin(), j.end(), + [this, first_prefix](const BasicJsonType & v) + { + return ubjson_prefix(v) == first_prefix; + }); + + if (same_prefix) + { + prefix_required = false; + oa->write_character(to_char_type('$')); + oa->write_character(first_prefix); + } + } + + if (use_count) + { + oa->write_character(to_char_type('#')); + write_number_with_ubjson_prefix(j.m_value.object->size(), true); + } + + for (const auto& el : *j.m_value.object) + { + write_number_with_ubjson_prefix(el.first.size(), true); + oa->write_characters( + reinterpret_cast(el.first.c_str()), + el.first.size()); + write_ubjson(el.second, use_count, use_type, prefix_required); + } + + if (!use_count) + { + oa->write_character(to_char_type('}')); + } + + break; + } + + default: + break; + } + } + + private: + ////////// + // BSON // + ////////// + + /*! + @return The size of a BSON document entry header, including the id marker + and the entry name size (and its null-terminator). + */ + static std::size_t calc_bson_entry_header_size(const string_t& name) + { + const auto it = name.find(static_cast(0)); + if (JSON_HEDLEY_UNLIKELY(it != BasicJsonType::string_t::npos)) + { + JSON_THROW(out_of_range::create(409, + "BSON key cannot contain code point U+0000 (at byte " + std::to_string(it) + ")")); + } + + return /*id*/ 1ul + name.size() + /*zero-terminator*/1u; + } + + /*! + @brief Writes the given @a element_type and @a name to the output adapter + */ + void write_bson_entry_header(const string_t& name, + const std::uint8_t element_type) + { + oa->write_character(to_char_type(element_type)); // boolean + oa->write_characters( + reinterpret_cast(name.c_str()), + name.size() + 1u); + } + + /*! + @brief Writes a BSON element with key @a name and boolean value @a value + */ + void write_bson_boolean(const string_t& name, + const bool value) + { + write_bson_entry_header(name, 0x08); + oa->write_character(value ? to_char_type(0x01) : to_char_type(0x00)); + } + + /*! + @brief Writes a BSON element with key @a name and double value @a value + */ + void write_bson_double(const string_t& name, + const double value) + { + write_bson_entry_header(name, 0x01); + write_number(value); + } + + /*! + @return The size of the BSON-encoded string in @a value + */ + static std::size_t calc_bson_string_size(const string_t& value) + { + return sizeof(std::int32_t) + value.size() + 1ul; + } + + /*! + @brief Writes a BSON element with key @a name and string value @a value + */ + void write_bson_string(const string_t& name, + const string_t& value) + { + write_bson_entry_header(name, 0x02); + + write_number(static_cast(value.size() + 1ul)); + oa->write_characters( + reinterpret_cast(value.c_str()), + value.size() + 1); + } + + /*! + @brief Writes a BSON element with key @a name and null value + */ + void write_bson_null(const string_t& name) + { + write_bson_entry_header(name, 0x0A); + } + + /*! + @return The size of the BSON-encoded integer @a value + */ + static std::size_t calc_bson_integer_size(const std::int64_t value) + { + return (std::numeric_limits::min)() <= value && value <= (std::numeric_limits::max)() + ? sizeof(std::int32_t) + : sizeof(std::int64_t); + } + + /*! + @brief Writes a BSON element with key @a name and integer @a value + */ + void write_bson_integer(const string_t& name, + const std::int64_t value) + { + if ((std::numeric_limits::min)() <= value && value <= (std::numeric_limits::max)()) + { + write_bson_entry_header(name, 0x10); // int32 + write_number(static_cast(value)); + } + else + { + write_bson_entry_header(name, 0x12); // int64 + write_number(static_cast(value)); + } + } + + /*! + @return The size of the BSON-encoded unsigned integer in @a j + */ + static constexpr std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept + { + return (value <= static_cast((std::numeric_limits::max)())) + ? sizeof(std::int32_t) + : sizeof(std::int64_t); + } + + /*! + @brief Writes a BSON element with key @a name and unsigned @a value + */ + void write_bson_unsigned(const string_t& name, + const std::uint64_t value) + { + if (value <= static_cast((std::numeric_limits::max)())) + { + write_bson_entry_header(name, 0x10 /* int32 */); + write_number(static_cast(value)); + } + else if (value <= static_cast((std::numeric_limits::max)())) + { + write_bson_entry_header(name, 0x12 /* int64 */); + write_number(static_cast(value)); + } + else + { + JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(value) + " cannot be represented by BSON as it does not fit int64")); + } + } + + /*! + @brief Writes a BSON element with key @a name and object @a value + */ + void write_bson_object_entry(const string_t& name, + const typename BasicJsonType::object_t& value) + { + write_bson_entry_header(name, 0x03); // object + write_bson_object(value); + } + + /*! + @return The size of the BSON-encoded array @a value + */ + static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t& value) + { + std::size_t array_index = 0ul; + + const std::size_t embedded_document_size = std::accumulate(std::begin(value), std::end(value), std::size_t(0), [&array_index](std::size_t result, const typename BasicJsonType::array_t::value_type & el) + { + return result + calc_bson_element_size(std::to_string(array_index++), el); + }); + + return sizeof(std::int32_t) + embedded_document_size + 1ul; + } + + /*! + @return The size of the BSON-encoded binary array @a value + */ + static std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t& value) + { + return sizeof(std::int32_t) + value.size() + 1ul; + } + + /*! + @brief Writes a BSON element with key @a name and array @a value + */ + void write_bson_array(const string_t& name, + const typename BasicJsonType::array_t& value) + { + write_bson_entry_header(name, 0x04); // array + write_number(static_cast(calc_bson_array_size(value))); + + std::size_t array_index = 0ul; + + for (const auto& el : value) + { + write_bson_element(std::to_string(array_index++), el); + } + + oa->write_character(to_char_type(0x00)); + } + + /*! + @brief Writes a BSON element with key @a name and binary value @a value + */ + void write_bson_binary(const string_t& name, + const binary_t& value) + { + write_bson_entry_header(name, 0x05); + + write_number(static_cast(value.size())); + write_number(value.has_subtype() ? value.subtype() : std::uint8_t(0x00)); + + oa->write_characters(reinterpret_cast(value.data()), value.size()); + } + + /*! + @brief Calculates the size necessary to serialize the JSON value @a j with its @a name + @return The calculated size for the BSON document entry for @a j with the given @a name. + */ + static std::size_t calc_bson_element_size(const string_t& name, + const BasicJsonType& j) + { + const auto header_size = calc_bson_entry_header_size(name); + switch (j.type()) + { + case value_t::object: + return header_size + calc_bson_object_size(*j.m_value.object); + + case value_t::array: + return header_size + calc_bson_array_size(*j.m_value.array); + + case value_t::binary: + return header_size + calc_bson_binary_size(*j.m_value.binary); + + case value_t::boolean: + return header_size + 1ul; + + case value_t::number_float: + return header_size + 8ul; + + case value_t::number_integer: + return header_size + calc_bson_integer_size(j.m_value.number_integer); + + case value_t::number_unsigned: + return header_size + calc_bson_unsigned_size(j.m_value.number_unsigned); + + case value_t::string: + return header_size + calc_bson_string_size(*j.m_value.string); + + case value_t::null: + return header_size + 0ul; + + // LCOV_EXCL_START + default: + JSON_ASSERT(false); + return 0ul; + // LCOV_EXCL_STOP + } + } + + /*! + @brief Serializes the JSON value @a j to BSON and associates it with the + key @a name. + @param name The name to associate with the JSON entity @a j within the + current BSON document + @return The size of the BSON entry + */ + void write_bson_element(const string_t& name, + const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::object: + return write_bson_object_entry(name, *j.m_value.object); + + case value_t::array: + return write_bson_array(name, *j.m_value.array); + + case value_t::binary: + return write_bson_binary(name, *j.m_value.binary); + + case value_t::boolean: + return write_bson_boolean(name, j.m_value.boolean); + + case value_t::number_float: + return write_bson_double(name, j.m_value.number_float); + + case value_t::number_integer: + return write_bson_integer(name, j.m_value.number_integer); + + case value_t::number_unsigned: + return write_bson_unsigned(name, j.m_value.number_unsigned); + + case value_t::string: + return write_bson_string(name, *j.m_value.string); + + case value_t::null: + return write_bson_null(name); + + // LCOV_EXCL_START + default: + JSON_ASSERT(false); + return; + // LCOV_EXCL_STOP + } + } + + /*! + @brief Calculates the size of the BSON serialization of the given + JSON-object @a j. + @param[in] j JSON value to serialize + @pre j.type() == value_t::object + */ + static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t& value) + { + std::size_t document_size = std::accumulate(value.begin(), value.end(), std::size_t(0), + [](size_t result, const typename BasicJsonType::object_t::value_type & el) + { + return result += calc_bson_element_size(el.first, el.second); + }); + + return sizeof(std::int32_t) + document_size + 1ul; + } + + /*! + @param[in] j JSON value to serialize + @pre j.type() == value_t::object + */ + void write_bson_object(const typename BasicJsonType::object_t& value) + { + write_number(static_cast(calc_bson_object_size(value))); + + for (const auto& el : value) + { + write_bson_element(el.first, el.second); + } + + oa->write_character(to_char_type(0x00)); + } + + ////////// + // CBOR // + ////////// + + static constexpr CharType get_cbor_float_prefix(float /*unused*/) + { + return to_char_type(0xFA); // Single-Precision Float + } + + static constexpr CharType get_cbor_float_prefix(double /*unused*/) + { + return to_char_type(0xFB); // Double-Precision Float + } + + ///////////// + // MsgPack // + ///////////// + + static constexpr CharType get_msgpack_float_prefix(float /*unused*/) + { + return to_char_type(0xCA); // float 32 + } + + static constexpr CharType get_msgpack_float_prefix(double /*unused*/) + { + return to_char_type(0xCB); // float 64 + } + + //////////// + // UBJSON // + //////////// + + // UBJSON: write number (floating point) + template::value, int>::type = 0> + void write_number_with_ubjson_prefix(const NumberType n, + const bool add_prefix) + { + if (add_prefix) + { + oa->write_character(get_ubjson_float_prefix(n)); + } + write_number(n); + } + + // UBJSON: write number (unsigned integer) + template::value, int>::type = 0> + void write_number_with_ubjson_prefix(const NumberType n, + const bool add_prefix) + { + if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('i')); // int8 + } + write_number(static_cast(n)); + } + else if (n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('U')); // uint8 + } + write_number(static_cast(n)); + } + else if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('I')); // int16 + } + write_number(static_cast(n)); + } + else if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('l')); // int32 + } + write_number(static_cast(n)); + } + else if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('L')); // int64 + } + write_number(static_cast(n)); + } + else + { + if (add_prefix) + { + oa->write_character(to_char_type('H')); // high-precision number + } + + const auto number = BasicJsonType(n).dump(); + write_number_with_ubjson_prefix(number.size(), true); + for (std::size_t i = 0; i < number.size(); ++i) + { + oa->write_character(to_char_type(static_cast(number[i]))); + } + } + } + + // UBJSON: write number (signed integer) + template < typename NumberType, typename std::enable_if < + std::is_signed::value&& + !std::is_floating_point::value, int >::type = 0 > + void write_number_with_ubjson_prefix(const NumberType n, + const bool add_prefix) + { + if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('i')); // int8 + } + write_number(static_cast(n)); + } + else if (static_cast((std::numeric_limits::min)()) <= n && n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('U')); // uint8 + } + write_number(static_cast(n)); + } + else if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('I')); // int16 + } + write_number(static_cast(n)); + } + else if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('l')); // int32 + } + write_number(static_cast(n)); + } + else if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('L')); // int64 + } + write_number(static_cast(n)); + } + // LCOV_EXCL_START + else + { + if (add_prefix) + { + oa->write_character(to_char_type('H')); // high-precision number + } + + const auto number = BasicJsonType(n).dump(); + write_number_with_ubjson_prefix(number.size(), true); + for (std::size_t i = 0; i < number.size(); ++i) + { + oa->write_character(to_char_type(static_cast(number[i]))); + } + } + // LCOV_EXCL_STOP + } + + /*! + @brief determine the type prefix of container values + */ + CharType ubjson_prefix(const BasicJsonType& j) const noexcept + { + switch (j.type()) + { + case value_t::null: + return 'Z'; + + case value_t::boolean: + return j.m_value.boolean ? 'T' : 'F'; + + case value_t::number_integer: + { + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'i'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'U'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'I'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'l'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'L'; + } + // anything else is treated as high-precision number + return 'H'; // LCOV_EXCL_LINE + } + + case value_t::number_unsigned: + { + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'i'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'U'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'I'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'l'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'L'; + } + // anything else is treated as high-precision number + return 'H'; // LCOV_EXCL_LINE + } + + case value_t::number_float: + return get_ubjson_float_prefix(j.m_value.number_float); + + case value_t::string: + return 'S'; + + case value_t::array: // fallthrough + case value_t::binary: + return '['; + + case value_t::object: + return '{'; + + default: // discarded values + return 'N'; + } + } + + static constexpr CharType get_ubjson_float_prefix(float /*unused*/) + { + return 'd'; // float 32 + } + + static constexpr CharType get_ubjson_float_prefix(double /*unused*/) + { + return 'D'; // float 64 + } + + /////////////////////// + // Utility functions // + /////////////////////// + + /* + @brief write a number to output input + @param[in] n number of type @a NumberType + @tparam NumberType the type of the number + @tparam OutputIsLittleEndian Set to true if output data is + required to be little endian + + @note This function needs to respect the system's endianess, because bytes + in CBOR, MessagePack, and UBJSON are stored in network order (big + endian) and therefore need reordering on little endian systems. + */ + template + void write_number(const NumberType n) + { + // step 1: write number to array of length NumberType + std::array vec; + std::memcpy(vec.data(), &n, sizeof(NumberType)); + + // step 2: write array to output (with possible reordering) + if (is_little_endian != OutputIsLittleEndian) + { + // reverse byte order prior to conversion if necessary + std::reverse(vec.begin(), vec.end()); + } + + oa->write_characters(vec.data(), sizeof(NumberType)); + } + + void write_compact_float(const number_float_t n, detail::input_format_t format) + { + if (static_cast(n) >= static_cast(std::numeric_limits::lowest()) && + static_cast(n) <= static_cast((std::numeric_limits::max)()) && + static_cast(static_cast(n)) == static_cast(n)) + { + oa->write_character(format == detail::input_format_t::cbor + ? get_cbor_float_prefix(static_cast(n)) + : get_msgpack_float_prefix(static_cast(n))); + write_number(static_cast(n)); + } + else + { + oa->write_character(format == detail::input_format_t::cbor + ? get_cbor_float_prefix(n) + : get_msgpack_float_prefix(n)); + write_number(n); + } + } + + public: + // The following to_char_type functions are implement the conversion + // between uint8_t and CharType. In case CharType is not unsigned, + // such a conversion is required to allow values greater than 128. + // See for a discussion. + template < typename C = CharType, + enable_if_t < std::is_signed::value && std::is_signed::value > * = nullptr > + static constexpr CharType to_char_type(std::uint8_t x) noexcept + { + return *reinterpret_cast(&x); + } + + template < typename C = CharType, + enable_if_t < std::is_signed::value && std::is_unsigned::value > * = nullptr > + static CharType to_char_type(std::uint8_t x) noexcept + { + static_assert(sizeof(std::uint8_t) == sizeof(CharType), "size of CharType must be equal to std::uint8_t"); + static_assert(std::is_trivial::value, "CharType must be trivial"); + CharType result; + std::memcpy(&result, &x, sizeof(x)); + return result; + } + + template::value>* = nullptr> + static constexpr CharType to_char_type(std::uint8_t x) noexcept + { + return x; + } + + template < typename InputCharType, typename C = CharType, + enable_if_t < + std::is_signed::value && + std::is_signed::value && + std::is_same::type>::value + > * = nullptr > + static constexpr CharType to_char_type(InputCharType x) noexcept + { + return x; + } + + private: + /// whether we can assume little endianess + const bool is_little_endian = little_endianess(); + + /// the output + output_adapter_t oa = nullptr; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // reverse, remove, fill, find, none_of +#include // array +#include // localeconv, lconv +#include // labs, isfinite, isnan, signbit +#include // size_t, ptrdiff_t +#include // uint8_t +#include // snprintf +#include // numeric_limits +#include // string, char_traits +#include // is_same +#include // move + +// #include + + +#include // array +#include // signbit, isfinite +#include // intN_t, uintN_t +#include // memcpy, memmove +#include // numeric_limits +#include // conditional + +// #include + + +namespace nlohmann +{ +namespace detail +{ + +/*! +@brief implements the Grisu2 algorithm for binary to decimal floating-point +conversion. + +This implementation is a slightly modified version of the reference +implementation which may be obtained from +http://florian.loitsch.com/publications (bench.tar.gz). + +The code is distributed under the MIT license, Copyright (c) 2009 Florian Loitsch. + +For a detailed description of the algorithm see: + +[1] Loitsch, "Printing Floating-Point Numbers Quickly and Accurately with + Integers", Proceedings of the ACM SIGPLAN 2010 Conference on Programming + Language Design and Implementation, PLDI 2010 +[2] Burger, Dybvig, "Printing Floating-Point Numbers Quickly and Accurately", + Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language + Design and Implementation, PLDI 1996 +*/ +namespace dtoa_impl +{ + +template +Target reinterpret_bits(const Source source) +{ + static_assert(sizeof(Target) == sizeof(Source), "size mismatch"); + + Target target; + std::memcpy(&target, &source, sizeof(Source)); + return target; +} + +struct diyfp // f * 2^e +{ + static constexpr int kPrecision = 64; // = q + + std::uint64_t f = 0; + int e = 0; + + constexpr diyfp(std::uint64_t f_, int e_) noexcept : f(f_), e(e_) {} + + /*! + @brief returns x - y + @pre x.e == y.e and x.f >= y.f + */ + static diyfp sub(const diyfp& x, const diyfp& y) noexcept + { + JSON_ASSERT(x.e == y.e); + JSON_ASSERT(x.f >= y.f); + + return {x.f - y.f, x.e}; + } + + /*! + @brief returns x * y + @note The result is rounded. (Only the upper q bits are returned.) + */ + static diyfp mul(const diyfp& x, const diyfp& y) noexcept + { + static_assert(kPrecision == 64, "internal error"); + + // Computes: + // f = round((x.f * y.f) / 2^q) + // e = x.e + y.e + q + + // Emulate the 64-bit * 64-bit multiplication: + // + // p = u * v + // = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi) + // = (u_lo v_lo ) + 2^32 ((u_lo v_hi ) + (u_hi v_lo )) + 2^64 (u_hi v_hi ) + // = (p0 ) + 2^32 ((p1 ) + (p2 )) + 2^64 (p3 ) + // = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3 ) + // = (p0_lo ) + 2^32 (p0_hi + p1_lo + p2_lo ) + 2^64 (p1_hi + p2_hi + p3) + // = (p0_lo ) + 2^32 (Q ) + 2^64 (H ) + // = (p0_lo ) + 2^32 (Q_lo + 2^32 Q_hi ) + 2^64 (H ) + // + // (Since Q might be larger than 2^32 - 1) + // + // = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H) + // + // (Q_hi + H does not overflow a 64-bit int) + // + // = p_lo + 2^64 p_hi + + const std::uint64_t u_lo = x.f & 0xFFFFFFFFu; + const std::uint64_t u_hi = x.f >> 32u; + const std::uint64_t v_lo = y.f & 0xFFFFFFFFu; + const std::uint64_t v_hi = y.f >> 32u; + + const std::uint64_t p0 = u_lo * v_lo; + const std::uint64_t p1 = u_lo * v_hi; + const std::uint64_t p2 = u_hi * v_lo; + const std::uint64_t p3 = u_hi * v_hi; + + const std::uint64_t p0_hi = p0 >> 32u; + const std::uint64_t p1_lo = p1 & 0xFFFFFFFFu; + const std::uint64_t p1_hi = p1 >> 32u; + const std::uint64_t p2_lo = p2 & 0xFFFFFFFFu; + const std::uint64_t p2_hi = p2 >> 32u; + + std::uint64_t Q = p0_hi + p1_lo + p2_lo; + + // The full product might now be computed as + // + // p_hi = p3 + p2_hi + p1_hi + (Q >> 32) + // p_lo = p0_lo + (Q << 32) + // + // But in this particular case here, the full p_lo is not required. + // Effectively we only need to add the highest bit in p_lo to p_hi (and + // Q_hi + 1 does not overflow). + + Q += std::uint64_t{1} << (64u - 32u - 1u); // round, ties up + + const std::uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32u); + + return {h, x.e + y.e + 64}; + } + + /*! + @brief normalize x such that the significand is >= 2^(q-1) + @pre x.f != 0 + */ + static diyfp normalize(diyfp x) noexcept + { + JSON_ASSERT(x.f != 0); + + while ((x.f >> 63u) == 0) + { + x.f <<= 1u; + x.e--; + } + + return x; + } + + /*! + @brief normalize x such that the result has the exponent E + @pre e >= x.e and the upper e - x.e bits of x.f must be zero. + */ + static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept + { + const int delta = x.e - target_exponent; + + JSON_ASSERT(delta >= 0); + JSON_ASSERT(((x.f << delta) >> delta) == x.f); + + return {x.f << delta, target_exponent}; + } +}; + +struct boundaries +{ + diyfp w; + diyfp minus; + diyfp plus; +}; + +/*! +Compute the (normalized) diyfp representing the input number 'value' and its +boundaries. + +@pre value must be finite and positive +*/ +template +boundaries compute_boundaries(FloatType value) +{ + JSON_ASSERT(std::isfinite(value)); + JSON_ASSERT(value > 0); + + // Convert the IEEE representation into a diyfp. + // + // If v is denormal: + // value = 0.F * 2^(1 - bias) = ( F) * 2^(1 - bias - (p-1)) + // If v is normalized: + // value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1)) + + static_assert(std::numeric_limits::is_iec559, + "internal error: dtoa_short requires an IEEE-754 floating-point implementation"); + + constexpr int kPrecision = std::numeric_limits::digits; // = p (includes the hidden bit) + constexpr int kBias = std::numeric_limits::max_exponent - 1 + (kPrecision - 1); + constexpr int kMinExp = 1 - kBias; + constexpr std::uint64_t kHiddenBit = std::uint64_t{1} << (kPrecision - 1); // = 2^(p-1) + + using bits_type = typename std::conditional::type; + + const std::uint64_t bits = reinterpret_bits(value); + const std::uint64_t E = bits >> (kPrecision - 1); + const std::uint64_t F = bits & (kHiddenBit - 1); + + const bool is_denormal = E == 0; + const diyfp v = is_denormal + ? diyfp(F, kMinExp) + : diyfp(F + kHiddenBit, static_cast(E) - kBias); + + // Compute the boundaries m- and m+ of the floating-point value + // v = f * 2^e. + // + // Determine v- and v+, the floating-point predecessor and successor if v, + // respectively. + // + // v- = v - 2^e if f != 2^(p-1) or e == e_min (A) + // = v - 2^(e-1) if f == 2^(p-1) and e > e_min (B) + // + // v+ = v + 2^e + // + // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_ + // between m- and m+ round to v, regardless of how the input rounding + // algorithm breaks ties. + // + // ---+-------------+-------------+-------------+-------------+--- (A) + // v- m- v m+ v+ + // + // -----------------+------+------+-------------+-------------+--- (B) + // v- m- v m+ v+ + + const bool lower_boundary_is_closer = F == 0 && E > 1; + const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1); + const diyfp m_minus = lower_boundary_is_closer + ? diyfp(4 * v.f - 1, v.e - 2) // (B) + : diyfp(2 * v.f - 1, v.e - 1); // (A) + + // Determine the normalized w+ = m+. + const diyfp w_plus = diyfp::normalize(m_plus); + + // Determine w- = m- such that e_(w-) = e_(w+). + const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e); + + return {diyfp::normalize(v), w_minus, w_plus}; +} + +// Given normalized diyfp w, Grisu needs to find a (normalized) cached +// power-of-ten c, such that the exponent of the product c * w = f * 2^e lies +// within a certain range [alpha, gamma] (Definition 3.2 from [1]) +// +// alpha <= e = e_c + e_w + q <= gamma +// +// or +// +// f_c * f_w * 2^alpha <= f_c 2^(e_c) * f_w 2^(e_w) * 2^q +// <= f_c * f_w * 2^gamma +// +// Since c and w are normalized, i.e. 2^(q-1) <= f < 2^q, this implies +// +// 2^(q-1) * 2^(q-1) * 2^alpha <= c * w * 2^q < 2^q * 2^q * 2^gamma +// +// or +// +// 2^(q - 2 + alpha) <= c * w < 2^(q + gamma) +// +// The choice of (alpha,gamma) determines the size of the table and the form of +// the digit generation procedure. Using (alpha,gamma)=(-60,-32) works out well +// in practice: +// +// The idea is to cut the number c * w = f * 2^e into two parts, which can be +// processed independently: An integral part p1, and a fractional part p2: +// +// f * 2^e = ( (f div 2^-e) * 2^-e + (f mod 2^-e) ) * 2^e +// = (f div 2^-e) + (f mod 2^-e) * 2^e +// = p1 + p2 * 2^e +// +// The conversion of p1 into decimal form requires a series of divisions and +// modulos by (a power of) 10. These operations are faster for 32-bit than for +// 64-bit integers, so p1 should ideally fit into a 32-bit integer. This can be +// achieved by choosing +// +// -e >= 32 or e <= -32 := gamma +// +// In order to convert the fractional part +// +// p2 * 2^e = p2 / 2^-e = d[-1] / 10^1 + d[-2] / 10^2 + ... +// +// into decimal form, the fraction is repeatedly multiplied by 10 and the digits +// d[-i] are extracted in order: +// +// (10 * p2) div 2^-e = d[-1] +// (10 * p2) mod 2^-e = d[-2] / 10^1 + ... +// +// The multiplication by 10 must not overflow. It is sufficient to choose +// +// 10 * p2 < 16 * p2 = 2^4 * p2 <= 2^64. +// +// Since p2 = f mod 2^-e < 2^-e, +// +// -e <= 60 or e >= -60 := alpha + +constexpr int kAlpha = -60; +constexpr int kGamma = -32; + +struct cached_power // c = f * 2^e ~= 10^k +{ + std::uint64_t f; + int e; + int k; +}; + +/*! +For a normalized diyfp w = f * 2^e, this function returns a (normalized) cached +power-of-ten c = f_c * 2^e_c, such that the exponent of the product w * c +satisfies (Definition 3.2 from [1]) + + alpha <= e_c + e + q <= gamma. +*/ +inline cached_power get_cached_power_for_binary_exponent(int e) +{ + // Now + // + // alpha <= e_c + e + q <= gamma (1) + // ==> f_c * 2^alpha <= c * 2^e * 2^q + // + // and since the c's are normalized, 2^(q-1) <= f_c, + // + // ==> 2^(q - 1 + alpha) <= c * 2^(e + q) + // ==> 2^(alpha - e - 1) <= c + // + // If c were an exact power of ten, i.e. c = 10^k, one may determine k as + // + // k = ceil( log_10( 2^(alpha - e - 1) ) ) + // = ceil( (alpha - e - 1) * log_10(2) ) + // + // From the paper: + // "In theory the result of the procedure could be wrong since c is rounded, + // and the computation itself is approximated [...]. In practice, however, + // this simple function is sufficient." + // + // For IEEE double precision floating-point numbers converted into + // normalized diyfp's w = f * 2^e, with q = 64, + // + // e >= -1022 (min IEEE exponent) + // -52 (p - 1) + // -52 (p - 1, possibly normalize denormal IEEE numbers) + // -11 (normalize the diyfp) + // = -1137 + // + // and + // + // e <= +1023 (max IEEE exponent) + // -52 (p - 1) + // -11 (normalize the diyfp) + // = 960 + // + // This binary exponent range [-1137,960] results in a decimal exponent + // range [-307,324]. One does not need to store a cached power for each + // k in this range. For each such k it suffices to find a cached power + // such that the exponent of the product lies in [alpha,gamma]. + // This implies that the difference of the decimal exponents of adjacent + // table entries must be less than or equal to + // + // floor( (gamma - alpha) * log_10(2) ) = 8. + // + // (A smaller distance gamma-alpha would require a larger table.) + + // NB: + // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34. + + constexpr int kCachedPowersMinDecExp = -300; + constexpr int kCachedPowersDecStep = 8; + + static constexpr std::array kCachedPowers = + { + { + { 0xAB70FE17C79AC6CA, -1060, -300 }, + { 0xFF77B1FCBEBCDC4F, -1034, -292 }, + { 0xBE5691EF416BD60C, -1007, -284 }, + { 0x8DD01FAD907FFC3C, -980, -276 }, + { 0xD3515C2831559A83, -954, -268 }, + { 0x9D71AC8FADA6C9B5, -927, -260 }, + { 0xEA9C227723EE8BCB, -901, -252 }, + { 0xAECC49914078536D, -874, -244 }, + { 0x823C12795DB6CE57, -847, -236 }, + { 0xC21094364DFB5637, -821, -228 }, + { 0x9096EA6F3848984F, -794, -220 }, + { 0xD77485CB25823AC7, -768, -212 }, + { 0xA086CFCD97BF97F4, -741, -204 }, + { 0xEF340A98172AACE5, -715, -196 }, + { 0xB23867FB2A35B28E, -688, -188 }, + { 0x84C8D4DFD2C63F3B, -661, -180 }, + { 0xC5DD44271AD3CDBA, -635, -172 }, + { 0x936B9FCEBB25C996, -608, -164 }, + { 0xDBAC6C247D62A584, -582, -156 }, + { 0xA3AB66580D5FDAF6, -555, -148 }, + { 0xF3E2F893DEC3F126, -529, -140 }, + { 0xB5B5ADA8AAFF80B8, -502, -132 }, + { 0x87625F056C7C4A8B, -475, -124 }, + { 0xC9BCFF6034C13053, -449, -116 }, + { 0x964E858C91BA2655, -422, -108 }, + { 0xDFF9772470297EBD, -396, -100 }, + { 0xA6DFBD9FB8E5B88F, -369, -92 }, + { 0xF8A95FCF88747D94, -343, -84 }, + { 0xB94470938FA89BCF, -316, -76 }, + { 0x8A08F0F8BF0F156B, -289, -68 }, + { 0xCDB02555653131B6, -263, -60 }, + { 0x993FE2C6D07B7FAC, -236, -52 }, + { 0xE45C10C42A2B3B06, -210, -44 }, + { 0xAA242499697392D3, -183, -36 }, + { 0xFD87B5F28300CA0E, -157, -28 }, + { 0xBCE5086492111AEB, -130, -20 }, + { 0x8CBCCC096F5088CC, -103, -12 }, + { 0xD1B71758E219652C, -77, -4 }, + { 0x9C40000000000000, -50, 4 }, + { 0xE8D4A51000000000, -24, 12 }, + { 0xAD78EBC5AC620000, 3, 20 }, + { 0x813F3978F8940984, 30, 28 }, + { 0xC097CE7BC90715B3, 56, 36 }, + { 0x8F7E32CE7BEA5C70, 83, 44 }, + { 0xD5D238A4ABE98068, 109, 52 }, + { 0x9F4F2726179A2245, 136, 60 }, + { 0xED63A231D4C4FB27, 162, 68 }, + { 0xB0DE65388CC8ADA8, 189, 76 }, + { 0x83C7088E1AAB65DB, 216, 84 }, + { 0xC45D1DF942711D9A, 242, 92 }, + { 0x924D692CA61BE758, 269, 100 }, + { 0xDA01EE641A708DEA, 295, 108 }, + { 0xA26DA3999AEF774A, 322, 116 }, + { 0xF209787BB47D6B85, 348, 124 }, + { 0xB454E4A179DD1877, 375, 132 }, + { 0x865B86925B9BC5C2, 402, 140 }, + { 0xC83553C5C8965D3D, 428, 148 }, + { 0x952AB45CFA97A0B3, 455, 156 }, + { 0xDE469FBD99A05FE3, 481, 164 }, + { 0xA59BC234DB398C25, 508, 172 }, + { 0xF6C69A72A3989F5C, 534, 180 }, + { 0xB7DCBF5354E9BECE, 561, 188 }, + { 0x88FCF317F22241E2, 588, 196 }, + { 0xCC20CE9BD35C78A5, 614, 204 }, + { 0x98165AF37B2153DF, 641, 212 }, + { 0xE2A0B5DC971F303A, 667, 220 }, + { 0xA8D9D1535CE3B396, 694, 228 }, + { 0xFB9B7CD9A4A7443C, 720, 236 }, + { 0xBB764C4CA7A44410, 747, 244 }, + { 0x8BAB8EEFB6409C1A, 774, 252 }, + { 0xD01FEF10A657842C, 800, 260 }, + { 0x9B10A4E5E9913129, 827, 268 }, + { 0xE7109BFBA19C0C9D, 853, 276 }, + { 0xAC2820D9623BF429, 880, 284 }, + { 0x80444B5E7AA7CF85, 907, 292 }, + { 0xBF21E44003ACDD2D, 933, 300 }, + { 0x8E679C2F5E44FF8F, 960, 308 }, + { 0xD433179D9C8CB841, 986, 316 }, + { 0x9E19DB92B4E31BA9, 1013, 324 }, + } + }; + + // This computation gives exactly the same results for k as + // k = ceil((kAlpha - e - 1) * 0.30102999566398114) + // for |e| <= 1500, but doesn't require floating-point operations. + // NB: log_10(2) ~= 78913 / 2^18 + JSON_ASSERT(e >= -1500); + JSON_ASSERT(e <= 1500); + const int f = kAlpha - e - 1; + const int k = (f * 78913) / (1 << 18) + static_cast(f > 0); + + const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep; + JSON_ASSERT(index >= 0); + JSON_ASSERT(static_cast(index) < kCachedPowers.size()); + + const cached_power cached = kCachedPowers[static_cast(index)]; + JSON_ASSERT(kAlpha <= cached.e + e + 64); + JSON_ASSERT(kGamma >= cached.e + e + 64); + + return cached; +} + +/*! +For n != 0, returns k, such that pow10 := 10^(k-1) <= n < 10^k. +For n == 0, returns 1 and sets pow10 := 1. +*/ +inline int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10) +{ + // LCOV_EXCL_START + if (n >= 1000000000) + { + pow10 = 1000000000; + return 10; + } + // LCOV_EXCL_STOP + else if (n >= 100000000) + { + pow10 = 100000000; + return 9; + } + else if (n >= 10000000) + { + pow10 = 10000000; + return 8; + } + else if (n >= 1000000) + { + pow10 = 1000000; + return 7; + } + else if (n >= 100000) + { + pow10 = 100000; + return 6; + } + else if (n >= 10000) + { + pow10 = 10000; + return 5; + } + else if (n >= 1000) + { + pow10 = 1000; + return 4; + } + else if (n >= 100) + { + pow10 = 100; + return 3; + } + else if (n >= 10) + { + pow10 = 10; + return 2; + } + else + { + pow10 = 1; + return 1; + } +} + +inline void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t delta, + std::uint64_t rest, std::uint64_t ten_k) +{ + JSON_ASSERT(len >= 1); + JSON_ASSERT(dist <= delta); + JSON_ASSERT(rest <= delta); + JSON_ASSERT(ten_k > 0); + + // <--------------------------- delta ----> + // <---- dist ---------> + // --------------[------------------+-------------------]-------------- + // M- w M+ + // + // ten_k + // <------> + // <---- rest ----> + // --------------[------------------+----+--------------]-------------- + // w V + // = buf * 10^k + // + // ten_k represents a unit-in-the-last-place in the decimal representation + // stored in buf. + // Decrement buf by ten_k while this takes buf closer to w. + + // The tests are written in this order to avoid overflow in unsigned + // integer arithmetic. + + while (rest < dist + && delta - rest >= ten_k + && (rest + ten_k < dist || dist - rest > rest + ten_k - dist)) + { + JSON_ASSERT(buf[len - 1] != '0'); + buf[len - 1]--; + rest += ten_k; + } +} + +/*! +Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+. +M- and M+ must be normalized and share the same exponent -60 <= e <= -32. +*/ +inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent, + diyfp M_minus, diyfp w, diyfp M_plus) +{ + static_assert(kAlpha >= -60, "internal error"); + static_assert(kGamma <= -32, "internal error"); + + // Generates the digits (and the exponent) of a decimal floating-point + // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's + // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma. + // + // <--------------------------- delta ----> + // <---- dist ---------> + // --------------[------------------+-------------------]-------------- + // M- w M+ + // + // Grisu2 generates the digits of M+ from left to right and stops as soon as + // V is in [M-,M+]. + + JSON_ASSERT(M_plus.e >= kAlpha); + JSON_ASSERT(M_plus.e <= kGamma); + + std::uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e) + std::uint64_t dist = diyfp::sub(M_plus, w ).f; // (significand of (M+ - w ), implicit exponent is e) + + // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0): + // + // M+ = f * 2^e + // = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e + // = ((p1 ) * 2^-e + (p2 )) * 2^e + // = p1 + p2 * 2^e + + const diyfp one(std::uint64_t{1} << -M_plus.e, M_plus.e); + + auto p1 = static_cast(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.) + std::uint64_t p2 = M_plus.f & (one.f - 1); // p2 = f mod 2^-e + + // 1) + // + // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0] + + JSON_ASSERT(p1 > 0); + + std::uint32_t pow10; + const int k = find_largest_pow10(p1, pow10); + + // 10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1) + // + // p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1)) + // = (d[k-1] ) * 10^(k-1) + (p1 mod 10^(k-1)) + // + // M+ = p1 + p2 * 2^e + // = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1)) + p2 * 2^e + // = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e + // = d[k-1] * 10^(k-1) + ( rest) * 2^e + // + // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0) + // + // p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0] + // + // but stop as soon as + // + // rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e + + int n = k; + while (n > 0) + { + // Invariants: + // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k) + // pow10 = 10^(n-1) <= p1 < 10^n + // + const std::uint32_t d = p1 / pow10; // d = p1 div 10^(n-1) + const std::uint32_t r = p1 % pow10; // r = p1 mod 10^(n-1) + // + // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e + // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e) + // + JSON_ASSERT(d <= 9); + buffer[length++] = static_cast('0' + d); // buffer := buffer * 10 + d + // + // M+ = buffer * 10^(n-1) + (r + p2 * 2^e) + // + p1 = r; + n--; + // + // M+ = buffer * 10^n + (p1 + p2 * 2^e) + // pow10 = 10^n + // + + // Now check if enough digits have been generated. + // Compute + // + // p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e + // + // Note: + // Since rest and delta share the same exponent e, it suffices to + // compare the significands. + const std::uint64_t rest = (std::uint64_t{p1} << -one.e) + p2; + if (rest <= delta) + { + // V = buffer * 10^n, with M- <= V <= M+. + + decimal_exponent += n; + + // We may now just stop. But instead look if the buffer could be + // decremented to bring V closer to w. + // + // pow10 = 10^n is now 1 ulp in the decimal representation V. + // The rounding procedure works with diyfp's with an implicit + // exponent of e. + // + // 10^n = (10^n * 2^-e) * 2^e = ulp * 2^e + // + const std::uint64_t ten_n = std::uint64_t{pow10} << -one.e; + grisu2_round(buffer, length, dist, delta, rest, ten_n); + + return; + } + + pow10 /= 10; + // + // pow10 = 10^(n-1) <= p1 < 10^n + // Invariants restored. + } + + // 2) + // + // The digits of the integral part have been generated: + // + // M+ = d[k-1]...d[1]d[0] + p2 * 2^e + // = buffer + p2 * 2^e + // + // Now generate the digits of the fractional part p2 * 2^e. + // + // Note: + // No decimal point is generated: the exponent is adjusted instead. + // + // p2 actually represents the fraction + // + // p2 * 2^e + // = p2 / 2^-e + // = d[-1] / 10^1 + d[-2] / 10^2 + ... + // + // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...) + // + // p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m + // + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...) + // + // using + // + // 10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e) + // = ( d) * 2^-e + ( r) + // + // or + // 10^m * p2 * 2^e = d + r * 2^e + // + // i.e. + // + // M+ = buffer + p2 * 2^e + // = buffer + 10^-m * (d + r * 2^e) + // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e + // + // and stop as soon as 10^-m * r * 2^e <= delta * 2^e + + JSON_ASSERT(p2 > delta); + + int m = 0; + for (;;) + { + // Invariant: + // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e + // = buffer * 10^-m + 10^-m * (p2 ) * 2^e + // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e + // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e + // + JSON_ASSERT(p2 <= (std::numeric_limits::max)() / 10); + p2 *= 10; + const std::uint64_t d = p2 >> -one.e; // d = (10 * p2) div 2^-e + const std::uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e + // + // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e + // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e)) + // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e + // + JSON_ASSERT(d <= 9); + buffer[length++] = static_cast('0' + d); // buffer := buffer * 10 + d + // + // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e + // + p2 = r; + m++; + // + // M+ = buffer * 10^-m + 10^-m * p2 * 2^e + // Invariant restored. + + // Check if enough digits have been generated. + // + // 10^-m * p2 * 2^e <= delta * 2^e + // p2 * 2^e <= 10^m * delta * 2^e + // p2 <= 10^m * delta + delta *= 10; + dist *= 10; + if (p2 <= delta) + { + break; + } + } + + // V = buffer * 10^-m, with M- <= V <= M+. + + decimal_exponent -= m; + + // 1 ulp in the decimal representation is now 10^-m. + // Since delta and dist are now scaled by 10^m, we need to do the + // same with ulp in order to keep the units in sync. + // + // 10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e + // + const std::uint64_t ten_m = one.f; + grisu2_round(buffer, length, dist, delta, p2, ten_m); + + // By construction this algorithm generates the shortest possible decimal + // number (Loitsch, Theorem 6.2) which rounds back to w. + // For an input number of precision p, at least + // + // N = 1 + ceil(p * log_10(2)) + // + // decimal digits are sufficient to identify all binary floating-point + // numbers (Matula, "In-and-Out conversions"). + // This implies that the algorithm does not produce more than N decimal + // digits. + // + // N = 17 for p = 53 (IEEE double precision) + // N = 9 for p = 24 (IEEE single precision) +} + +/*! +v = buf * 10^decimal_exponent +len is the length of the buffer (number of decimal digits) +The buffer must be large enough, i.e. >= max_digits10. +*/ +JSON_HEDLEY_NON_NULL(1) +inline void grisu2(char* buf, int& len, int& decimal_exponent, + diyfp m_minus, diyfp v, diyfp m_plus) +{ + JSON_ASSERT(m_plus.e == m_minus.e); + JSON_ASSERT(m_plus.e == v.e); + + // --------(-----------------------+-----------------------)-------- (A) + // m- v m+ + // + // --------------------(-----------+-----------------------)-------- (B) + // m- v m+ + // + // First scale v (and m- and m+) such that the exponent is in the range + // [alpha, gamma]. + + const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e); + + const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k + + // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma] + const diyfp w = diyfp::mul(v, c_minus_k); + const diyfp w_minus = diyfp::mul(m_minus, c_minus_k); + const diyfp w_plus = diyfp::mul(m_plus, c_minus_k); + + // ----(---+---)---------------(---+---)---------------(---+---)---- + // w- w w+ + // = c*m- = c*v = c*m+ + // + // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and + // w+ are now off by a small amount. + // In fact: + // + // w - v * 10^k < 1 ulp + // + // To account for this inaccuracy, add resp. subtract 1 ulp. + // + // --------+---[---------------(---+---)---------------]---+-------- + // w- M- w M+ w+ + // + // Now any number in [M-, M+] (bounds included) will round to w when input, + // regardless of how the input rounding algorithm breaks ties. + // + // And digit_gen generates the shortest possible such number in [M-, M+]. + // Note that this does not mean that Grisu2 always generates the shortest + // possible number in the interval (m-, m+). + const diyfp M_minus(w_minus.f + 1, w_minus.e); + const diyfp M_plus (w_plus.f - 1, w_plus.e ); + + decimal_exponent = -cached.k; // = -(-k) = k + + grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus); +} + +/*! +v = buf * 10^decimal_exponent +len is the length of the buffer (number of decimal digits) +The buffer must be large enough, i.e. >= max_digits10. +*/ +template +JSON_HEDLEY_NON_NULL(1) +void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value) +{ + static_assert(diyfp::kPrecision >= std::numeric_limits::digits + 3, + "internal error: not enough precision"); + + JSON_ASSERT(std::isfinite(value)); + JSON_ASSERT(value > 0); + + // If the neighbors (and boundaries) of 'value' are always computed for double-precision + // numbers, all float's can be recovered using strtod (and strtof). However, the resulting + // decimal representations are not exactly "short". + // + // The documentation for 'std::to_chars' (https://en.cppreference.com/w/cpp/utility/to_chars) + // says "value is converted to a string as if by std::sprintf in the default ("C") locale" + // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars' + // does. + // On the other hand, the documentation for 'std::to_chars' requires that "parsing the + // representation using the corresponding std::from_chars function recovers value exactly". That + // indicates that single precision floating-point numbers should be recovered using + // 'std::strtof'. + // + // NB: If the neighbors are computed for single-precision numbers, there is a single float + // (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision + // value is off by 1 ulp. +#if 0 + const boundaries w = compute_boundaries(static_cast(value)); +#else + const boundaries w = compute_boundaries(value); +#endif + + grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus); +} + +/*! +@brief appends a decimal representation of e to buf +@return a pointer to the element following the exponent. +@pre -1000 < e < 1000 +*/ +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL +inline char* append_exponent(char* buf, int e) +{ + JSON_ASSERT(e > -1000); + JSON_ASSERT(e < 1000); + + if (e < 0) + { + e = -e; + *buf++ = '-'; + } + else + { + *buf++ = '+'; + } + + auto k = static_cast(e); + if (k < 10) + { + // Always print at least two digits in the exponent. + // This is for compatibility with printf("%g"). + *buf++ = '0'; + *buf++ = static_cast('0' + k); + } + else if (k < 100) + { + *buf++ = static_cast('0' + k / 10); + k %= 10; + *buf++ = static_cast('0' + k); + } + else + { + *buf++ = static_cast('0' + k / 100); + k %= 100; + *buf++ = static_cast('0' + k / 10); + k %= 10; + *buf++ = static_cast('0' + k); + } + + return buf; +} + +/*! +@brief prettify v = buf * 10^decimal_exponent + +If v is in the range [10^min_exp, 10^max_exp) it will be printed in fixed-point +notation. Otherwise it will be printed in exponential notation. + +@pre min_exp < 0 +@pre max_exp > 0 +*/ +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL +inline char* format_buffer(char* buf, int len, int decimal_exponent, + int min_exp, int max_exp) +{ + JSON_ASSERT(min_exp < 0); + JSON_ASSERT(max_exp > 0); + + const int k = len; + const int n = len + decimal_exponent; + + // v = buf * 10^(n-k) + // k is the length of the buffer (number of decimal digits) + // n is the position of the decimal point relative to the start of the buffer. + + if (k <= n && n <= max_exp) + { + // digits[000] + // len <= max_exp + 2 + + std::memset(buf + k, '0', static_cast(n) - static_cast(k)); + // Make it look like a floating-point number (#362, #378) + buf[n + 0] = '.'; + buf[n + 1] = '0'; + return buf + (static_cast(n) + 2); + } + + if (0 < n && n <= max_exp) + { + // dig.its + // len <= max_digits10 + 1 + + JSON_ASSERT(k > n); + + std::memmove(buf + (static_cast(n) + 1), buf + n, static_cast(k) - static_cast(n)); + buf[n] = '.'; + return buf + (static_cast(k) + 1U); + } + + if (min_exp < n && n <= 0) + { + // 0.[000]digits + // len <= 2 + (-min_exp - 1) + max_digits10 + + std::memmove(buf + (2 + static_cast(-n)), buf, static_cast(k)); + buf[0] = '0'; + buf[1] = '.'; + std::memset(buf + 2, '0', static_cast(-n)); + return buf + (2U + static_cast(-n) + static_cast(k)); + } + + if (k == 1) + { + // dE+123 + // len <= 1 + 5 + + buf += 1; + } + else + { + // d.igitsE+123 + // len <= max_digits10 + 1 + 5 + + std::memmove(buf + 2, buf + 1, static_cast(k) - 1); + buf[1] = '.'; + buf += 1 + static_cast(k); + } + + *buf++ = 'e'; + return append_exponent(buf, n - 1); +} + +} // namespace dtoa_impl + +/*! +@brief generates a decimal representation of the floating-point number value in [first, last). + +The format of the resulting decimal representation is similar to printf's %g +format. Returns an iterator pointing past-the-end of the decimal representation. + +@note The input number must be finite, i.e. NaN's and Inf's are not supported. +@note The buffer must be large enough. +@note The result is NOT null-terminated. +*/ +template +JSON_HEDLEY_NON_NULL(1, 2) +JSON_HEDLEY_RETURNS_NON_NULL +char* to_chars(char* first, const char* last, FloatType value) +{ + static_cast(last); // maybe unused - fix warning + JSON_ASSERT(std::isfinite(value)); + + // Use signbit(value) instead of (value < 0) since signbit works for -0. + if (std::signbit(value)) + { + value = -value; + *first++ = '-'; + } + + if (value == 0) // +-0 + { + *first++ = '0'; + // Make it look like a floating-point number (#362, #378) + *first++ = '.'; + *first++ = '0'; + return first; + } + + JSON_ASSERT(last - first >= std::numeric_limits::max_digits10); + + // Compute v = buffer * 10^decimal_exponent. + // The decimal digits are stored in the buffer, which needs to be interpreted + // as an unsigned decimal integer. + // len is the length of the buffer, i.e. the number of decimal digits. + int len = 0; + int decimal_exponent = 0; + dtoa_impl::grisu2(first, len, decimal_exponent, value); + + JSON_ASSERT(len <= std::numeric_limits::max_digits10); + + // Format the buffer like printf("%.*g", prec, value) + constexpr int kMinExp = -4; + // Use digits10 here to increase compatibility with version 2. + constexpr int kMaxExp = std::numeric_limits::digits10; + + JSON_ASSERT(last - first >= kMaxExp + 2); + JSON_ASSERT(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits::max_digits10); + JSON_ASSERT(last - first >= std::numeric_limits::max_digits10 + 6); + + return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp); +} + +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/////////////////// +// serialization // +/////////////////// + +/// how to treat decoding errors +enum class error_handler_t +{ + strict, ///< throw a type_error exception in case of invalid UTF-8 + replace, ///< replace invalid UTF-8 sequences with U+FFFD + ignore ///< ignore invalid UTF-8 sequences +}; + +template +class serializer +{ + using string_t = typename BasicJsonType::string_t; + using number_float_t = typename BasicJsonType::number_float_t; + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using binary_char_t = typename BasicJsonType::binary_t::value_type; + static constexpr std::uint8_t UTF8_ACCEPT = 0; + static constexpr std::uint8_t UTF8_REJECT = 1; + + public: + /*! + @param[in] s output stream to serialize to + @param[in] ichar indentation character to use + @param[in] error_handler_ how to react on decoding errors + */ + serializer(output_adapter_t s, const char ichar, + error_handler_t error_handler_ = error_handler_t::strict) + : o(std::move(s)) + , loc(std::localeconv()) + , thousands_sep(loc->thousands_sep == nullptr ? '\0' : std::char_traits::to_char_type(* (loc->thousands_sep))) + , decimal_point(loc->decimal_point == nullptr ? '\0' : std::char_traits::to_char_type(* (loc->decimal_point))) + , indent_char(ichar) + , indent_string(512, indent_char) + , error_handler(error_handler_) + {} + + // delete because of pointer members + serializer(const serializer&) = delete; + serializer& operator=(const serializer&) = delete; + serializer(serializer&&) = delete; + serializer& operator=(serializer&&) = delete; + ~serializer() = default; + + /*! + @brief internal implementation of the serialization function + + This function is called by the public member function dump and organizes + the serialization internally. The indentation level is propagated as + additional parameter. In case of arrays and objects, the function is + called recursively. + + - strings and object keys are escaped using `escape_string()` + - integer numbers are converted implicitly via `operator<<` + - floating-point numbers are converted to a string using `"%g"` format + - binary values are serialized as objects containing the subtype and the + byte array + + @param[in] val value to serialize + @param[in] pretty_print whether the output shall be pretty-printed + @param[in] ensure_ascii If @a ensure_ascii is true, all non-ASCII characters + in the output are escaped with `\uXXXX` sequences, and the result consists + of ASCII characters only. + @param[in] indent_step the indent level + @param[in] current_indent the current indent level (only used internally) + */ + void dump(const BasicJsonType& val, + const bool pretty_print, + const bool ensure_ascii, + const unsigned int indent_step, + const unsigned int current_indent = 0) + { + switch (val.m_type) + { + case value_t::object: + { + if (val.m_value.object->empty()) + { + o->write_characters("{}", 2); + return; + } + + if (pretty_print) + { + o->write_characters("{\n", 2); + + // variable to hold indentation for recursive calls + const auto new_indent = current_indent + indent_step; + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) + { + indent_string.resize(indent_string.size() * 2, ' '); + } + + // first n-1 elements + auto i = val.m_value.object->cbegin(); + for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i) + { + o->write_characters(indent_string.c_str(), new_indent); + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\": ", 3); + dump(i->second, true, ensure_ascii, indent_step, new_indent); + o->write_characters(",\n", 2); + } + + // last element + JSON_ASSERT(i != val.m_value.object->cend()); + JSON_ASSERT(std::next(i) == val.m_value.object->cend()); + o->write_characters(indent_string.c_str(), new_indent); + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\": ", 3); + dump(i->second, true, ensure_ascii, indent_step, new_indent); + + o->write_character('\n'); + o->write_characters(indent_string.c_str(), current_indent); + o->write_character('}'); + } + else + { + o->write_character('{'); + + // first n-1 elements + auto i = val.m_value.object->cbegin(); + for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i) + { + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\":", 2); + dump(i->second, false, ensure_ascii, indent_step, current_indent); + o->write_character(','); + } + + // last element + JSON_ASSERT(i != val.m_value.object->cend()); + JSON_ASSERT(std::next(i) == val.m_value.object->cend()); + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\":", 2); + dump(i->second, false, ensure_ascii, indent_step, current_indent); + + o->write_character('}'); + } + + return; + } + + case value_t::array: + { + if (val.m_value.array->empty()) + { + o->write_characters("[]", 2); + return; + } + + if (pretty_print) + { + o->write_characters("[\n", 2); + + // variable to hold indentation for recursive calls + const auto new_indent = current_indent + indent_step; + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) + { + indent_string.resize(indent_string.size() * 2, ' '); + } + + // first n-1 elements + for (auto i = val.m_value.array->cbegin(); + i != val.m_value.array->cend() - 1; ++i) + { + o->write_characters(indent_string.c_str(), new_indent); + dump(*i, true, ensure_ascii, indent_step, new_indent); + o->write_characters(",\n", 2); + } + + // last element + JSON_ASSERT(!val.m_value.array->empty()); + o->write_characters(indent_string.c_str(), new_indent); + dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent); + + o->write_character('\n'); + o->write_characters(indent_string.c_str(), current_indent); + o->write_character(']'); + } + else + { + o->write_character('['); + + // first n-1 elements + for (auto i = val.m_value.array->cbegin(); + i != val.m_value.array->cend() - 1; ++i) + { + dump(*i, false, ensure_ascii, indent_step, current_indent); + o->write_character(','); + } + + // last element + JSON_ASSERT(!val.m_value.array->empty()); + dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent); + + o->write_character(']'); + } + + return; + } + + case value_t::string: + { + o->write_character('\"'); + dump_escaped(*val.m_value.string, ensure_ascii); + o->write_character('\"'); + return; + } + + case value_t::binary: + { + if (pretty_print) + { + o->write_characters("{\n", 2); + + // variable to hold indentation for recursive calls + const auto new_indent = current_indent + indent_step; + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) + { + indent_string.resize(indent_string.size() * 2, ' '); + } + + o->write_characters(indent_string.c_str(), new_indent); + + o->write_characters("\"bytes\": [", 10); + + if (!val.m_value.binary->empty()) + { + for (auto i = val.m_value.binary->cbegin(); + i != val.m_value.binary->cend() - 1; ++i) + { + dump_integer(*i); + o->write_characters(", ", 2); + } + dump_integer(val.m_value.binary->back()); + } + + o->write_characters("],\n", 3); + o->write_characters(indent_string.c_str(), new_indent); + + o->write_characters("\"subtype\": ", 11); + if (val.m_value.binary->has_subtype()) + { + dump_integer(val.m_value.binary->subtype()); + } + else + { + o->write_characters("null", 4); + } + o->write_character('\n'); + o->write_characters(indent_string.c_str(), current_indent); + o->write_character('}'); + } + else + { + o->write_characters("{\"bytes\":[", 10); + + if (!val.m_value.binary->empty()) + { + for (auto i = val.m_value.binary->cbegin(); + i != val.m_value.binary->cend() - 1; ++i) + { + dump_integer(*i); + o->write_character(','); + } + dump_integer(val.m_value.binary->back()); + } + + o->write_characters("],\"subtype\":", 12); + if (val.m_value.binary->has_subtype()) + { + dump_integer(val.m_value.binary->subtype()); + o->write_character('}'); + } + else + { + o->write_characters("null}", 5); + } + } + return; + } + + case value_t::boolean: + { + if (val.m_value.boolean) + { + o->write_characters("true", 4); + } + else + { + o->write_characters("false", 5); + } + return; + } + + case value_t::number_integer: + { + dump_integer(val.m_value.number_integer); + return; + } + + case value_t::number_unsigned: + { + dump_integer(val.m_value.number_unsigned); + return; + } + + case value_t::number_float: + { + dump_float(val.m_value.number_float); + return; + } + + case value_t::discarded: + { + o->write_characters("", 11); + return; + } + + case value_t::null: + { + o->write_characters("null", 4); + return; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + } + + private: + /*! + @brief dump escaped string + + Escape a string by replacing certain special characters by a sequence of an + escape character (backslash) and another character and other control + characters by a sequence of "\u" followed by a four-digit hex + representation. The escaped string is written to output stream @a o. + + @param[in] s the string to escape + @param[in] ensure_ascii whether to escape non-ASCII characters with + \uXXXX sequences + + @complexity Linear in the length of string @a s. + */ + void dump_escaped(const string_t& s, const bool ensure_ascii) + { + std::uint32_t codepoint; + std::uint8_t state = UTF8_ACCEPT; + std::size_t bytes = 0; // number of bytes written to string_buffer + + // number of bytes written at the point of the last valid byte + std::size_t bytes_after_last_accept = 0; + std::size_t undumped_chars = 0; + + for (std::size_t i = 0; i < s.size(); ++i) + { + const auto byte = static_cast(s[i]); + + switch (decode(state, codepoint, byte)) + { + case UTF8_ACCEPT: // decode found a new code point + { + switch (codepoint) + { + case 0x08: // backspace + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'b'; + break; + } + + case 0x09: // horizontal tab + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 't'; + break; + } + + case 0x0A: // newline + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'n'; + break; + } + + case 0x0C: // formfeed + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'f'; + break; + } + + case 0x0D: // carriage return + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'r'; + break; + } + + case 0x22: // quotation mark + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = '\"'; + break; + } + + case 0x5C: // reverse solidus + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = '\\'; + break; + } + + default: + { + // escape control characters (0x00..0x1F) or, if + // ensure_ascii parameter is used, non-ASCII characters + if ((codepoint <= 0x1F) || (ensure_ascii && (codepoint >= 0x7F))) + { + if (codepoint <= 0xFFFF) + { + (std::snprintf)(string_buffer.data() + bytes, 7, "\\u%04x", + static_cast(codepoint)); + bytes += 6; + } + else + { + (std::snprintf)(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x", + static_cast(0xD7C0u + (codepoint >> 10u)), + static_cast(0xDC00u + (codepoint & 0x3FFu))); + bytes += 12; + } + } + else + { + // copy byte to buffer (all previous bytes + // been copied have in default case above) + string_buffer[bytes++] = s[i]; + } + break; + } + } + + // write buffer and reset index; there must be 13 bytes + // left, as this is the maximal number of bytes to be + // written ("\uxxxx\uxxxx\0") for one code point + if (string_buffer.size() - bytes < 13) + { + o->write_characters(string_buffer.data(), bytes); + bytes = 0; + } + + // remember the byte position of this accept + bytes_after_last_accept = bytes; + undumped_chars = 0; + break; + } + + case UTF8_REJECT: // decode found invalid UTF-8 byte + { + switch (error_handler) + { + case error_handler_t::strict: + { + std::string sn(3, '\0'); + (std::snprintf)(&sn[0], sn.size(), "%.2X", byte); + JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + sn)); + } + + case error_handler_t::ignore: + case error_handler_t::replace: + { + // in case we saw this character the first time, we + // would like to read it again, because the byte + // may be OK for itself, but just not OK for the + // previous sequence + if (undumped_chars > 0) + { + --i; + } + + // reset length buffer to the last accepted index; + // thus removing/ignoring the invalid characters + bytes = bytes_after_last_accept; + + if (error_handler == error_handler_t::replace) + { + // add a replacement character + if (ensure_ascii) + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'u'; + string_buffer[bytes++] = 'f'; + string_buffer[bytes++] = 'f'; + string_buffer[bytes++] = 'f'; + string_buffer[bytes++] = 'd'; + } + else + { + string_buffer[bytes++] = detail::binary_writer::to_char_type('\xEF'); + string_buffer[bytes++] = detail::binary_writer::to_char_type('\xBF'); + string_buffer[bytes++] = detail::binary_writer::to_char_type('\xBD'); + } + + // write buffer and reset index; there must be 13 bytes + // left, as this is the maximal number of bytes to be + // written ("\uxxxx\uxxxx\0") for one code point + if (string_buffer.size() - bytes < 13) + { + o->write_characters(string_buffer.data(), bytes); + bytes = 0; + } + + bytes_after_last_accept = bytes; + } + + undumped_chars = 0; + + // continue processing the string + state = UTF8_ACCEPT; + break; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + break; + } + + default: // decode found yet incomplete multi-byte code point + { + if (!ensure_ascii) + { + // code point will not be escaped - copy byte to buffer + string_buffer[bytes++] = s[i]; + } + ++undumped_chars; + break; + } + } + } + + // we finished processing the string + if (JSON_HEDLEY_LIKELY(state == UTF8_ACCEPT)) + { + // write buffer + if (bytes > 0) + { + o->write_characters(string_buffer.data(), bytes); + } + } + else + { + // we finish reading, but do not accept: string was incomplete + switch (error_handler) + { + case error_handler_t::strict: + { + std::string sn(3, '\0'); + (std::snprintf)(&sn[0], sn.size(), "%.2X", static_cast(s.back())); + JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + sn)); + } + + case error_handler_t::ignore: + { + // write all accepted bytes + o->write_characters(string_buffer.data(), bytes_after_last_accept); + break; + } + + case error_handler_t::replace: + { + // write all accepted bytes + o->write_characters(string_buffer.data(), bytes_after_last_accept); + // add a replacement character + if (ensure_ascii) + { + o->write_characters("\\ufffd", 6); + } + else + { + o->write_characters("\xEF\xBF\xBD", 3); + } + break; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + } + } + + /*! + @brief count digits + + Count the number of decimal (base 10) digits for an input unsigned integer. + + @param[in] x unsigned integer number to count its digits + @return number of decimal digits + */ + inline unsigned int count_digits(number_unsigned_t x) noexcept + { + unsigned int n_digits = 1; + for (;;) + { + if (x < 10) + { + return n_digits; + } + if (x < 100) + { + return n_digits + 1; + } + if (x < 1000) + { + return n_digits + 2; + } + if (x < 10000) + { + return n_digits + 3; + } + x = x / 10000u; + n_digits += 4; + } + } + + /*! + @brief dump an integer + + Dump a given integer to output stream @a o. Works internally with + @a number_buffer. + + @param[in] x integer number (signed or unsigned) to dump + @tparam NumberType either @a number_integer_t or @a number_unsigned_t + */ + template < typename NumberType, detail::enable_if_t < + std::is_same::value || + std::is_same::value || + std::is_same::value, + int > = 0 > + void dump_integer(NumberType x) + { + static constexpr std::array, 100> digits_to_99 + { + { + {{'0', '0'}}, {{'0', '1'}}, {{'0', '2'}}, {{'0', '3'}}, {{'0', '4'}}, {{'0', '5'}}, {{'0', '6'}}, {{'0', '7'}}, {{'0', '8'}}, {{'0', '9'}}, + {{'1', '0'}}, {{'1', '1'}}, {{'1', '2'}}, {{'1', '3'}}, {{'1', '4'}}, {{'1', '5'}}, {{'1', '6'}}, {{'1', '7'}}, {{'1', '8'}}, {{'1', '9'}}, + {{'2', '0'}}, {{'2', '1'}}, {{'2', '2'}}, {{'2', '3'}}, {{'2', '4'}}, {{'2', '5'}}, {{'2', '6'}}, {{'2', '7'}}, {{'2', '8'}}, {{'2', '9'}}, + {{'3', '0'}}, {{'3', '1'}}, {{'3', '2'}}, {{'3', '3'}}, {{'3', '4'}}, {{'3', '5'}}, {{'3', '6'}}, {{'3', '7'}}, {{'3', '8'}}, {{'3', '9'}}, + {{'4', '0'}}, {{'4', '1'}}, {{'4', '2'}}, {{'4', '3'}}, {{'4', '4'}}, {{'4', '5'}}, {{'4', '6'}}, {{'4', '7'}}, {{'4', '8'}}, {{'4', '9'}}, + {{'5', '0'}}, {{'5', '1'}}, {{'5', '2'}}, {{'5', '3'}}, {{'5', '4'}}, {{'5', '5'}}, {{'5', '6'}}, {{'5', '7'}}, {{'5', '8'}}, {{'5', '9'}}, + {{'6', '0'}}, {{'6', '1'}}, {{'6', '2'}}, {{'6', '3'}}, {{'6', '4'}}, {{'6', '5'}}, {{'6', '6'}}, {{'6', '7'}}, {{'6', '8'}}, {{'6', '9'}}, + {{'7', '0'}}, {{'7', '1'}}, {{'7', '2'}}, {{'7', '3'}}, {{'7', '4'}}, {{'7', '5'}}, {{'7', '6'}}, {{'7', '7'}}, {{'7', '8'}}, {{'7', '9'}}, + {{'8', '0'}}, {{'8', '1'}}, {{'8', '2'}}, {{'8', '3'}}, {{'8', '4'}}, {{'8', '5'}}, {{'8', '6'}}, {{'8', '7'}}, {{'8', '8'}}, {{'8', '9'}}, + {{'9', '0'}}, {{'9', '1'}}, {{'9', '2'}}, {{'9', '3'}}, {{'9', '4'}}, {{'9', '5'}}, {{'9', '6'}}, {{'9', '7'}}, {{'9', '8'}}, {{'9', '9'}}, + } + }; + + // special case for "0" + if (x == 0) + { + o->write_character('0'); + return; + } + + // use a pointer to fill the buffer + auto buffer_ptr = number_buffer.begin(); + + const bool is_negative = std::is_same::value && !(x >= 0); // see issue #755 + number_unsigned_t abs_value; + + unsigned int n_chars; + + if (is_negative) + { + *buffer_ptr = '-'; + abs_value = remove_sign(static_cast(x)); + + // account one more byte for the minus sign + n_chars = 1 + count_digits(abs_value); + } + else + { + abs_value = static_cast(x); + n_chars = count_digits(abs_value); + } + + // spare 1 byte for '\0' + JSON_ASSERT(n_chars < number_buffer.size() - 1); + + // jump to the end to generate the string from backward + // so we later avoid reversing the result + buffer_ptr += n_chars; + + // Fast int2ascii implementation inspired by "Fastware" talk by Andrei Alexandrescu + // See: https://www.youtube.com/watch?v=o4-CwDo2zpg + while (abs_value >= 100) + { + const auto digits_index = static_cast((abs_value % 100)); + abs_value /= 100; + *(--buffer_ptr) = digits_to_99[digits_index][1]; + *(--buffer_ptr) = digits_to_99[digits_index][0]; + } + + if (abs_value >= 10) + { + const auto digits_index = static_cast(abs_value); + *(--buffer_ptr) = digits_to_99[digits_index][1]; + *(--buffer_ptr) = digits_to_99[digits_index][0]; + } + else + { + *(--buffer_ptr) = static_cast('0' + abs_value); + } + + o->write_characters(number_buffer.data(), n_chars); + } + + /*! + @brief dump a floating-point number + + Dump a given floating-point number to output stream @a o. Works internally + with @a number_buffer. + + @param[in] x floating-point number to dump + */ + void dump_float(number_float_t x) + { + // NaN / inf + if (!std::isfinite(x)) + { + o->write_characters("null", 4); + return; + } + + // If number_float_t is an IEEE-754 single or double precision number, + // use the Grisu2 algorithm to produce short numbers which are + // guaranteed to round-trip, using strtof and strtod, resp. + // + // NB: The test below works if == . + static constexpr bool is_ieee_single_or_double + = (std::numeric_limits::is_iec559 && std::numeric_limits::digits == 24 && std::numeric_limits::max_exponent == 128) || + (std::numeric_limits::is_iec559 && std::numeric_limits::digits == 53 && std::numeric_limits::max_exponent == 1024); + + dump_float(x, std::integral_constant()); + } + + void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/) + { + char* begin = number_buffer.data(); + char* end = ::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x); + + o->write_characters(begin, static_cast(end - begin)); + } + + void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/) + { + // get number of digits for a float -> text -> float round-trip + static constexpr auto d = std::numeric_limits::max_digits10; + + // the actual conversion + std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x); + + // negative value indicates an error + JSON_ASSERT(len > 0); + // check if buffer was large enough + JSON_ASSERT(static_cast(len) < number_buffer.size()); + + // erase thousands separator + if (thousands_sep != '\0') + { + const auto end = std::remove(number_buffer.begin(), + number_buffer.begin() + len, thousands_sep); + std::fill(end, number_buffer.end(), '\0'); + JSON_ASSERT((end - number_buffer.begin()) <= len); + len = (end - number_buffer.begin()); + } + + // convert decimal point to '.' + if (decimal_point != '\0' && decimal_point != '.') + { + const auto dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point); + if (dec_pos != number_buffer.end()) + { + *dec_pos = '.'; + } + } + + o->write_characters(number_buffer.data(), static_cast(len)); + + // determine if need to append ".0" + const bool value_is_int_like = + std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1, + [](char c) + { + return c == '.' || c == 'e'; + }); + + if (value_is_int_like) + { + o->write_characters(".0", 2); + } + } + + /*! + @brief check whether a string is UTF-8 encoded + + The function checks each byte of a string whether it is UTF-8 encoded. The + result of the check is stored in the @a state parameter. The function must + be called initially with state 0 (accept). State 1 means the string must + be rejected, because the current byte is not allowed. If the string is + completely processed, but the state is non-zero, the string ended + prematurely; that is, the last byte indicated more bytes should have + followed. + + @param[in,out] state the state of the decoding + @param[in,out] codep codepoint (valid only if resulting state is UTF8_ACCEPT) + @param[in] byte next byte to decode + @return new state + + @note The function has been edited: a std::array is used. + + @copyright Copyright (c) 2008-2009 Bjoern Hoehrmann + @sa http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + */ + static std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const std::uint8_t byte) noexcept + { + static const std::array utf8d = + { + { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF + 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0..DF + 0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF + 0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF + 0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2 + 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4 + 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6 + 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8 + } + }; + + const std::uint8_t type = utf8d[byte]; + + codep = (state != UTF8_ACCEPT) + ? (byte & 0x3fu) | (codep << 6u) + : (0xFFu >> type) & (byte); + + std::size_t index = 256u + static_cast(state) * 16u + static_cast(type); + JSON_ASSERT(index < 400); + state = utf8d[index]; + return state; + } + + /* + * Overload to make the compiler happy while it is instantiating + * dump_integer for number_unsigned_t. + * Must never be called. + */ + number_unsigned_t remove_sign(number_unsigned_t x) + { + JSON_ASSERT(false); // LCOV_EXCL_LINE + return x; // LCOV_EXCL_LINE + } + + /* + * Helper function for dump_integer + * + * This function takes a negative signed integer and returns its absolute + * value as unsigned integer. The plus/minus shuffling is necessary as we can + * not directly remove the sign of an arbitrary signed integer as the + * absolute values of INT_MIN and INT_MAX are usually not the same. See + * #1708 for details. + */ + inline number_unsigned_t remove_sign(number_integer_t x) noexcept + { + JSON_ASSERT(x < 0 && x < (std::numeric_limits::max)()); + return static_cast(-(x + 1)) + 1; + } + + private: + /// the output of the serializer + output_adapter_t o = nullptr; + + /// a (hopefully) large enough character buffer + std::array number_buffer{{}}; + + /// the locale + const std::lconv* loc = nullptr; + /// the locale's thousand separator character + const char thousands_sep = '\0'; + /// the locale's decimal point character + const char decimal_point = '\0'; + + /// string buffer + std::array string_buffer{{}}; + + /// the indentation character + const char indent_char; + /// the indentation string + string_t indent_string; + + /// error_handler how to react on decoding errors + const error_handler_t error_handler; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + + +#include // less +#include // allocator +#include // pair +#include // vector + +namespace nlohmann +{ + +/// ordered_map: a minimal map-like container that preserves insertion order +/// for use within nlohmann::basic_json +template , + class Allocator = std::allocator>> + struct ordered_map : std::vector, Allocator> +{ + using key_type = Key; + using mapped_type = T; + using Container = std::vector, Allocator>; + using typename Container::iterator; + using typename Container::const_iterator; + using typename Container::size_type; + using typename Container::value_type; + + // Explicit constructors instead of `using Container::Container` + // otherwise older compilers choke on it (GCC <= 5.5, xcode <= 9.4) + ordered_map(const Allocator& alloc = Allocator()) : Container{alloc} {} + template + ordered_map(It first, It last, const Allocator& alloc = Allocator()) + : Container{first, last, alloc} {} + ordered_map(std::initializer_list init, const Allocator& alloc = Allocator() ) + : Container{init, alloc} {} + + std::pair emplace(const key_type& key, T&& t) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return {it, false}; + } + } + Container::emplace_back(key, t); + return {--this->end(), true}; + } + + T& operator[](const Key& key) + { + return emplace(key, T{}).first->second; + } + + const T& operator[](const Key& key) const + { + return at(key); + } + + T& at(const Key& key) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it->second; + } + } + + throw std::out_of_range("key not found"); + } + + const T& at(const Key& key) const + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it->second; + } + } + + throw std::out_of_range("key not found"); + } + + size_type erase(const Key& key) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + // Since we cannot move const Keys, re-construct them in place + for (auto next = it; ++next != this->end(); ++it) + { + it->~value_type(); // Destroy but keep allocation + new (&*it) value_type{std::move(*next)}; + } + Container::pop_back(); + return 1; + } + } + return 0; + } + + iterator erase(iterator pos) + { + auto it = pos; + + // Since we cannot move const Keys, re-construct them in place + for (auto next = it; ++next != this->end(); ++it) + { + it->~value_type(); // Destroy but keep allocation + new (&*it) value_type{std::move(*next)}; + } + Container::pop_back(); + return pos; + } + + size_type count(const Key& key) const + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return 1; + } + } + return 0; + } + + iterator find(const Key& key) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it; + } + } + return Container::end(); + } + + const_iterator find(const Key& key) const + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it; + } + } + return Container::end(); + } + + std::pair insert( value_type&& value ) + { + return emplace(value.first, std::move(value.second)); + } + + std::pair insert( const value_type& value ) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == value.first) + { + return {it, false}; + } + } + Container::push_back(value); + return {--this->end(), true}; + } +}; + +} // namespace nlohmann + + +/*! +@brief namespace for Niels Lohmann +@see https://github.com/nlohmann +@since version 1.0.0 +*/ +namespace nlohmann +{ + +/*! +@brief a class to store JSON values + +@tparam ObjectType type for JSON objects (`std::map` by default; will be used +in @ref object_t) +@tparam ArrayType type for JSON arrays (`std::vector` by default; will be used +in @ref array_t) +@tparam StringType type for JSON strings and object keys (`std::string` by +default; will be used in @ref string_t) +@tparam BooleanType type for JSON booleans (`bool` by default; will be used +in @ref boolean_t) +@tparam NumberIntegerType type for JSON integer numbers (`int64_t` by +default; will be used in @ref number_integer_t) +@tparam NumberUnsignedType type for JSON unsigned integer numbers (@c +`uint64_t` by default; will be used in @ref number_unsigned_t) +@tparam NumberFloatType type for JSON floating-point numbers (`double` by +default; will be used in @ref number_float_t) +@tparam BinaryType type for packed binary data for compatibility with binary +serialization formats (`std::vector` by default; will be used in +@ref binary_t) +@tparam AllocatorType type of the allocator to use (`std::allocator` by +default) +@tparam JSONSerializer the serializer to resolve internal calls to `to_json()` +and `from_json()` (@ref adl_serializer by default) + +@requirement The class satisfies the following concept requirements: +- Basic + - [DefaultConstructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible): + JSON values can be default constructed. The result will be a JSON null + value. + - [MoveConstructible](https://en.cppreference.com/w/cpp/named_req/MoveConstructible): + A JSON value can be constructed from an rvalue argument. + - [CopyConstructible](https://en.cppreference.com/w/cpp/named_req/CopyConstructible): + A JSON value can be copy-constructed from an lvalue expression. + - [MoveAssignable](https://en.cppreference.com/w/cpp/named_req/MoveAssignable): + A JSON value van be assigned from an rvalue argument. + - [CopyAssignable](https://en.cppreference.com/w/cpp/named_req/CopyAssignable): + A JSON value can be copy-assigned from an lvalue expression. + - [Destructible](https://en.cppreference.com/w/cpp/named_req/Destructible): + JSON values can be destructed. +- Layout + - [StandardLayoutType](https://en.cppreference.com/w/cpp/named_req/StandardLayoutType): + JSON values have + [standard layout](https://en.cppreference.com/w/cpp/language/data_members#Standard_layout): + All non-static data members are private and standard layout types, the + class has no virtual functions or (virtual) base classes. +- Library-wide + - [EqualityComparable](https://en.cppreference.com/w/cpp/named_req/EqualityComparable): + JSON values can be compared with `==`, see @ref + operator==(const_reference,const_reference). + - [LessThanComparable](https://en.cppreference.com/w/cpp/named_req/LessThanComparable): + JSON values can be compared with `<`, see @ref + operator<(const_reference,const_reference). + - [Swappable](https://en.cppreference.com/w/cpp/named_req/Swappable): + Any JSON lvalue or rvalue of can be swapped with any lvalue or rvalue of + other compatible types, using unqualified function call @ref swap(). + - [NullablePointer](https://en.cppreference.com/w/cpp/named_req/NullablePointer): + JSON values can be compared against `std::nullptr_t` objects which are used + to model the `null` value. +- Container + - [Container](https://en.cppreference.com/w/cpp/named_req/Container): + JSON values can be used like STL containers and provide iterator access. + - [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer); + JSON values can be used like STL containers and provide reverse iterator + access. + +@invariant The member variables @a m_value and @a m_type have the following +relationship: +- If `m_type == value_t::object`, then `m_value.object != nullptr`. +- If `m_type == value_t::array`, then `m_value.array != nullptr`. +- If `m_type == value_t::string`, then `m_value.string != nullptr`. +The invariants are checked by member function assert_invariant(). + +@internal +@note ObjectType trick from https://stackoverflow.com/a/9860911 +@endinternal + +@see [RFC 7159: The JavaScript Object Notation (JSON) Data Interchange +Format](http://rfc7159.net/rfc7159) + +@since version 1.0.0 + +@nosubgrouping +*/ +NLOHMANN_BASIC_JSON_TPL_DECLARATION +class basic_json +{ + private: + template friend struct detail::external_constructor; + friend ::nlohmann::json_pointer; + + template + friend class ::nlohmann::detail::parser; + friend ::nlohmann::detail::serializer; + template + friend class ::nlohmann::detail::iter_impl; + template + friend class ::nlohmann::detail::binary_writer; + template + friend class ::nlohmann::detail::binary_reader; + template + friend class ::nlohmann::detail::json_sax_dom_parser; + template + friend class ::nlohmann::detail::json_sax_dom_callback_parser; + + /// workaround type for MSVC + using basic_json_t = NLOHMANN_BASIC_JSON_TPL; + + // convenience aliases for types residing in namespace detail; + using lexer = ::nlohmann::detail::lexer_base; + + template + static ::nlohmann::detail::parser parser( + InputAdapterType adapter, + detail::parser_callback_tcb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false + ) + { + return ::nlohmann::detail::parser(std::move(adapter), + std::move(cb), allow_exceptions, ignore_comments); + } + + using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t; + template + using internal_iterator = ::nlohmann::detail::internal_iterator; + template + using iter_impl = ::nlohmann::detail::iter_impl; + template + using iteration_proxy = ::nlohmann::detail::iteration_proxy; + template using json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator; + + template + using output_adapter_t = ::nlohmann::detail::output_adapter_t; + + template + using binary_reader = ::nlohmann::detail::binary_reader; + template using binary_writer = ::nlohmann::detail::binary_writer; + + using serializer = ::nlohmann::detail::serializer; + + public: + using value_t = detail::value_t; + /// JSON Pointer, see @ref nlohmann::json_pointer + using json_pointer = ::nlohmann::json_pointer; + template + using json_serializer = JSONSerializer; + /// how to treat decoding errors + using error_handler_t = detail::error_handler_t; + /// how to treat CBOR tags + using cbor_tag_handler_t = detail::cbor_tag_handler_t; + /// helper type for initializer lists of basic_json values + using initializer_list_t = std::initializer_list>; + + using input_format_t = detail::input_format_t; + /// SAX interface type, see @ref nlohmann::json_sax + using json_sax_t = json_sax; + + //////////////// + // exceptions // + //////////////// + + /// @name exceptions + /// Classes to implement user-defined exceptions. + /// @{ + + /// @copydoc detail::exception + using exception = detail::exception; + /// @copydoc detail::parse_error + using parse_error = detail::parse_error; + /// @copydoc detail::invalid_iterator + using invalid_iterator = detail::invalid_iterator; + /// @copydoc detail::type_error + using type_error = detail::type_error; + /// @copydoc detail::out_of_range + using out_of_range = detail::out_of_range; + /// @copydoc detail::other_error + using other_error = detail::other_error; + + /// @} + + + ///////////////////// + // container types // + ///////////////////// + + /// @name container types + /// The canonic container types to use @ref basic_json like any other STL + /// container. + /// @{ + + /// the type of elements in a basic_json container + using value_type = basic_json; + + /// the type of an element reference + using reference = value_type&; + /// the type of an element const reference + using const_reference = const value_type&; + + /// a type to represent differences between iterators + using difference_type = std::ptrdiff_t; + /// a type to represent container sizes + using size_type = std::size_t; + + /// the allocator type + using allocator_type = AllocatorType; + + /// the type of an element pointer + using pointer = typename std::allocator_traits::pointer; + /// the type of an element const pointer + using const_pointer = typename std::allocator_traits::const_pointer; + + /// an iterator for a basic_json container + using iterator = iter_impl; + /// a const iterator for a basic_json container + using const_iterator = iter_impl; + /// a reverse iterator for a basic_json container + using reverse_iterator = json_reverse_iterator; + /// a const reverse iterator for a basic_json container + using const_reverse_iterator = json_reverse_iterator; + + /// @} + + + /*! + @brief returns the allocator associated with the container + */ + static allocator_type get_allocator() + { + return allocator_type(); + } + + /*! + @brief returns version information on the library + + This function returns a JSON object with information about the library, + including the version number and information on the platform and compiler. + + @return JSON object holding version information + key | description + ----------- | --------------- + `compiler` | Information on the used compiler. It is an object with the following keys: `c++` (the used C++ standard), `family` (the compiler family; possible values are `clang`, `icc`, `gcc`, `ilecpp`, `msvc`, `pgcpp`, `sunpro`, and `unknown`), and `version` (the compiler version). + `copyright` | The copyright line for the library as string. + `name` | The name of the library as string. + `platform` | The used platform as string. Possible values are `win32`, `linux`, `apple`, `unix`, and `unknown`. + `url` | The URL of the project as string. + `version` | The version of the library. It is an object with the following keys: `major`, `minor`, and `patch` as defined by [Semantic Versioning](http://semver.org), and `string` (the version string). + + @liveexample{The following code shows an example output of the `meta()` + function.,meta} + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @complexity Constant. + + @since 2.1.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json meta() + { + basic_json result; + + result["copyright"] = "(C) 2013-2020 Niels Lohmann"; + result["name"] = "JSON for Modern C++"; + result["url"] = "https://github.com/nlohmann/json"; + result["version"]["string"] = + std::to_string(NLOHMANN_JSON_VERSION_MAJOR) + "." + + std::to_string(NLOHMANN_JSON_VERSION_MINOR) + "." + + std::to_string(NLOHMANN_JSON_VERSION_PATCH); + result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR; + result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR; + result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH; + +#ifdef _WIN32 + result["platform"] = "win32"; +#elif defined __linux__ + result["platform"] = "linux"; +#elif defined __APPLE__ + result["platform"] = "apple"; +#elif defined __unix__ + result["platform"] = "unix"; +#else + result["platform"] = "unknown"; +#endif + +#if defined(__ICC) || defined(__INTEL_COMPILER) + result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}}; +#elif defined(__clang__) + result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}}; +#elif defined(__GNUC__) || defined(__GNUG__) + result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}}; +#elif defined(__HP_cc) || defined(__HP_aCC) + result["compiler"] = "hp" +#elif defined(__IBMCPP__) + result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}}; +#elif defined(_MSC_VER) + result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}}; +#elif defined(__PGI) + result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}}; +#elif defined(__SUNPRO_CC) + result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}}; +#else + result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}}; +#endif + +#ifdef __cplusplus + result["compiler"]["c++"] = std::to_string(__cplusplus); +#else + result["compiler"]["c++"] = "unknown"; +#endif + return result; + } + + + /////////////////////////// + // JSON value data types // + /////////////////////////// + + /// @name JSON value data types + /// The data types to store a JSON value. These types are derived from + /// the template arguments passed to class @ref basic_json. + /// @{ + +#if defined(JSON_HAS_CPP_14) + // Use transparent comparator if possible, combined with perfect forwarding + // on find() and count() calls prevents unnecessary string construction. + using object_comparator_t = std::less<>; +#else + using object_comparator_t = std::less; +#endif + + /*! + @brief a type for an object + + [RFC 7159](http://rfc7159.net/rfc7159) describes JSON objects as follows: + > An object is an unordered collection of zero or more name/value pairs, + > where a name is a string and a value is a string, number, boolean, null, + > object, or array. + + To store objects in C++, a type is defined by the template parameters + described below. + + @tparam ObjectType the container to store objects (e.g., `std::map` or + `std::unordered_map`) + @tparam StringType the type of the keys or names (e.g., `std::string`). + The comparison function `std::less` is used to order elements + inside the container. + @tparam AllocatorType the allocator to use for objects (e.g., + `std::allocator`) + + #### Default type + + With the default values for @a ObjectType (`std::map`), @a StringType + (`std::string`), and @a AllocatorType (`std::allocator`), the default + value for @a object_t is: + + @code {.cpp} + std::map< + std::string, // key_type + basic_json, // value_type + std::less, // key_compare + std::allocator> // allocator_type + > + @endcode + + #### Behavior + + The choice of @a object_t influences the behavior of the JSON class. With + the default type, objects have the following behavior: + + - When all names are unique, objects will be interoperable in the sense + that all software implementations receiving that object will agree on + the name-value mappings. + - When the names within an object are not unique, it is unspecified which + one of the values for a given key will be chosen. For instance, + `{"key": 2, "key": 1}` could be equal to either `{"key": 1}` or + `{"key": 2}`. + - Internally, name/value pairs are stored in lexicographical order of the + names. Objects will also be serialized (see @ref dump) in this order. + For instance, `{"b": 1, "a": 2}` and `{"a": 2, "b": 1}` will be stored + and serialized as `{"a": 2, "b": 1}`. + - When comparing objects, the order of the name/value pairs is irrelevant. + This makes objects interoperable in the sense that they will not be + affected by these differences. For instance, `{"b": 1, "a": 2}` and + `{"a": 2, "b": 1}` will be treated as equal. + + #### Limits + + [RFC 7159](http://rfc7159.net/rfc7159) specifies: + > An implementation may set limits on the maximum depth of nesting. + + In this class, the object's limit of nesting is not explicitly constrained. + However, a maximum depth of nesting may be introduced by the compiler or + runtime environment. A theoretical limit can be queried by calling the + @ref max_size function of a JSON object. + + #### Storage + + Objects are stored as pointers in a @ref basic_json type. That is, for any + access to object values, a pointer of type `object_t*` must be + dereferenced. + + @sa @ref array_t -- type for an array value + + @since version 1.0.0 + + @note The order name/value pairs are added to the object is *not* + preserved by the library. Therefore, iterating an object may return + name/value pairs in a different order than they were originally stored. In + fact, keys will be traversed in alphabetical order as `std::map` with + `std::less` is used by default. Please note this behavior conforms to [RFC + 7159](http://rfc7159.net/rfc7159), because any order implements the + specified "unordered" nature of JSON objects. + */ + using object_t = ObjectType>>; + + /*! + @brief a type for an array + + [RFC 7159](http://rfc7159.net/rfc7159) describes JSON arrays as follows: + > An array is an ordered sequence of zero or more values. + + To store objects in C++, a type is defined by the template parameters + explained below. + + @tparam ArrayType container type to store arrays (e.g., `std::vector` or + `std::list`) + @tparam AllocatorType allocator to use for arrays (e.g., `std::allocator`) + + #### Default type + + With the default values for @a ArrayType (`std::vector`) and @a + AllocatorType (`std::allocator`), the default value for @a array_t is: + + @code {.cpp} + std::vector< + basic_json, // value_type + std::allocator // allocator_type + > + @endcode + + #### Limits + + [RFC 7159](http://rfc7159.net/rfc7159) specifies: + > An implementation may set limits on the maximum depth of nesting. + + In this class, the array's limit of nesting is not explicitly constrained. + However, a maximum depth of nesting may be introduced by the compiler or + runtime environment. A theoretical limit can be queried by calling the + @ref max_size function of a JSON array. + + #### Storage + + Arrays are stored as pointers in a @ref basic_json type. That is, for any + access to array values, a pointer of type `array_t*` must be dereferenced. + + @sa @ref object_t -- type for an object value + + @since version 1.0.0 + */ + using array_t = ArrayType>; + + /*! + @brief a type for a string + + [RFC 7159](http://rfc7159.net/rfc7159) describes JSON strings as follows: + > A string is a sequence of zero or more Unicode characters. + + To store objects in C++, a type is defined by the template parameter + described below. Unicode values are split by the JSON class into + byte-sized characters during deserialization. + + @tparam StringType the container to store strings (e.g., `std::string`). + Note this container is used for keys/names in objects, see @ref object_t. + + #### Default type + + With the default values for @a StringType (`std::string`), the default + value for @a string_t is: + + @code {.cpp} + std::string + @endcode + + #### Encoding + + Strings are stored in UTF-8 encoding. Therefore, functions like + `std::string::size()` or `std::string::length()` return the number of + bytes in the string rather than the number of characters or glyphs. + + #### String comparison + + [RFC 7159](http://rfc7159.net/rfc7159) states: + > Software implementations are typically required to test names of object + > members for equality. Implementations that transform the textual + > representation into sequences of Unicode code units and then perform the + > comparison numerically, code unit by code unit, are interoperable in the + > sense that implementations will agree in all cases on equality or + > inequality of two strings. For example, implementations that compare + > strings with escaped characters unconverted may incorrectly find that + > `"a\\b"` and `"a\u005Cb"` are not equal. + + This implementation is interoperable as it does compare strings code unit + by code unit. + + #### Storage + + String values are stored as pointers in a @ref basic_json type. That is, + for any access to string values, a pointer of type `string_t*` must be + dereferenced. + + @since version 1.0.0 + */ + using string_t = StringType; + + /*! + @brief a type for a boolean + + [RFC 7159](http://rfc7159.net/rfc7159) implicitly describes a boolean as a + type which differentiates the two literals `true` and `false`. + + To store objects in C++, a type is defined by the template parameter @a + BooleanType which chooses the type to use. + + #### Default type + + With the default values for @a BooleanType (`bool`), the default value for + @a boolean_t is: + + @code {.cpp} + bool + @endcode + + #### Storage + + Boolean values are stored directly inside a @ref basic_json type. + + @since version 1.0.0 + */ + using boolean_t = BooleanType; + + /*! + @brief a type for a number (integer) + + [RFC 7159](http://rfc7159.net/rfc7159) describes numbers as follows: + > The representation of numbers is similar to that used in most + > programming languages. A number is represented in base 10 using decimal + > digits. It contains an integer component that may be prefixed with an + > optional minus sign, which may be followed by a fraction part and/or an + > exponent part. Leading zeros are not allowed. (...) Numeric values that + > cannot be represented in the grammar below (such as Infinity and NaN) + > are not permitted. + + This description includes both integer and floating-point numbers. + However, C++ allows more precise storage if it is known whether the number + is a signed integer, an unsigned integer or a floating-point number. + Therefore, three different types, @ref number_integer_t, @ref + number_unsigned_t and @ref number_float_t are used. + + To store integer numbers in C++, a type is defined by the template + parameter @a NumberIntegerType which chooses the type to use. + + #### Default type + + With the default values for @a NumberIntegerType (`int64_t`), the default + value for @a number_integer_t is: + + @code {.cpp} + int64_t + @endcode + + #### Default behavior + + - The restrictions about leading zeros is not enforced in C++. Instead, + leading zeros in integer literals lead to an interpretation as octal + number. Internally, the value will be stored as decimal number. For + instance, the C++ integer literal `010` will be serialized to `8`. + During deserialization, leading zeros yield an error. + - Not-a-number (NaN) values will be serialized to `null`. + + #### Limits + + [RFC 7159](http://rfc7159.net/rfc7159) specifies: + > An implementation may set limits on the range and precision of numbers. + + When the default type is used, the maximal integer number that can be + stored is `9223372036854775807` (INT64_MAX) and the minimal integer number + that can be stored is `-9223372036854775808` (INT64_MIN). Integer numbers + that are out of range will yield over/underflow when used in a + constructor. During deserialization, too large or small integer numbers + will be automatically be stored as @ref number_unsigned_t or @ref + number_float_t. + + [RFC 7159](http://rfc7159.net/rfc7159) further states: + > Note that when such software is used, numbers that are integers and are + > in the range \f$[-2^{53}+1, 2^{53}-1]\f$ are interoperable in the sense + > that implementations will agree exactly on their numeric values. + + As this range is a subrange of the exactly supported range [INT64_MIN, + INT64_MAX], this class's integer type is interoperable. + + #### Storage + + Integer number values are stored directly inside a @ref basic_json type. + + @sa @ref number_float_t -- type for number values (floating-point) + + @sa @ref number_unsigned_t -- type for number values (unsigned integer) + + @since version 1.0.0 + */ + using number_integer_t = NumberIntegerType; + + /*! + @brief a type for a number (unsigned) + + [RFC 7159](http://rfc7159.net/rfc7159) describes numbers as follows: + > The representation of numbers is similar to that used in most + > programming languages. A number is represented in base 10 using decimal + > digits. It contains an integer component that may be prefixed with an + > optional minus sign, which may be followed by a fraction part and/or an + > exponent part. Leading zeros are not allowed. (...) Numeric values that + > cannot be represented in the grammar below (such as Infinity and NaN) + > are not permitted. + + This description includes both integer and floating-point numbers. + However, C++ allows more precise storage if it is known whether the number + is a signed integer, an unsigned integer or a floating-point number. + Therefore, three different types, @ref number_integer_t, @ref + number_unsigned_t and @ref number_float_t are used. + + To store unsigned integer numbers in C++, a type is defined by the + template parameter @a NumberUnsignedType which chooses the type to use. + + #### Default type + + With the default values for @a NumberUnsignedType (`uint64_t`), the + default value for @a number_unsigned_t is: + + @code {.cpp} + uint64_t + @endcode + + #### Default behavior + + - The restrictions about leading zeros is not enforced in C++. Instead, + leading zeros in integer literals lead to an interpretation as octal + number. Internally, the value will be stored as decimal number. For + instance, the C++ integer literal `010` will be serialized to `8`. + During deserialization, leading zeros yield an error. + - Not-a-number (NaN) values will be serialized to `null`. + + #### Limits + + [RFC 7159](http://rfc7159.net/rfc7159) specifies: + > An implementation may set limits on the range and precision of numbers. + + When the default type is used, the maximal integer number that can be + stored is `18446744073709551615` (UINT64_MAX) and the minimal integer + number that can be stored is `0`. Integer numbers that are out of range + will yield over/underflow when used in a constructor. During + deserialization, too large or small integer numbers will be automatically + be stored as @ref number_integer_t or @ref number_float_t. + + [RFC 7159](http://rfc7159.net/rfc7159) further states: + > Note that when such software is used, numbers that are integers and are + > in the range \f$[-2^{53}+1, 2^{53}-1]\f$ are interoperable in the sense + > that implementations will agree exactly on their numeric values. + + As this range is a subrange (when considered in conjunction with the + number_integer_t type) of the exactly supported range [0, UINT64_MAX], + this class's integer type is interoperable. + + #### Storage + + Integer number values are stored directly inside a @ref basic_json type. + + @sa @ref number_float_t -- type for number values (floating-point) + @sa @ref number_integer_t -- type for number values (integer) + + @since version 2.0.0 + */ + using number_unsigned_t = NumberUnsignedType; + + /*! + @brief a type for a number (floating-point) + + [RFC 7159](http://rfc7159.net/rfc7159) describes numbers as follows: + > The representation of numbers is similar to that used in most + > programming languages. A number is represented in base 10 using decimal + > digits. It contains an integer component that may be prefixed with an + > optional minus sign, which may be followed by a fraction part and/or an + > exponent part. Leading zeros are not allowed. (...) Numeric values that + > cannot be represented in the grammar below (such as Infinity and NaN) + > are not permitted. + + This description includes both integer and floating-point numbers. + However, C++ allows more precise storage if it is known whether the number + is a signed integer, an unsigned integer or a floating-point number. + Therefore, three different types, @ref number_integer_t, @ref + number_unsigned_t and @ref number_float_t are used. + + To store floating-point numbers in C++, a type is defined by the template + parameter @a NumberFloatType which chooses the type to use. + + #### Default type + + With the default values for @a NumberFloatType (`double`), the default + value for @a number_float_t is: + + @code {.cpp} + double + @endcode + + #### Default behavior + + - The restrictions about leading zeros is not enforced in C++. Instead, + leading zeros in floating-point literals will be ignored. Internally, + the value will be stored as decimal number. For instance, the C++ + floating-point literal `01.2` will be serialized to `1.2`. During + deserialization, leading zeros yield an error. + - Not-a-number (NaN) values will be serialized to `null`. + + #### Limits + + [RFC 7159](http://rfc7159.net/rfc7159) states: + > This specification allows implementations to set limits on the range and + > precision of numbers accepted. Since software that implements IEEE + > 754-2008 binary64 (double precision) numbers is generally available and + > widely used, good interoperability can be achieved by implementations + > that expect no more precision or range than these provide, in the sense + > that implementations will approximate JSON numbers within the expected + > precision. + + This implementation does exactly follow this approach, as it uses double + precision floating-point numbers. Note values smaller than + `-1.79769313486232e+308` and values greater than `1.79769313486232e+308` + will be stored as NaN internally and be serialized to `null`. + + #### Storage + + Floating-point number values are stored directly inside a @ref basic_json + type. + + @sa @ref number_integer_t -- type for number values (integer) + + @sa @ref number_unsigned_t -- type for number values (unsigned integer) + + @since version 1.0.0 + */ + using number_float_t = NumberFloatType; + + /*! + @brief a type for a packed binary type + + This type is a type designed to carry binary data that appears in various + serialized formats, such as CBOR's Major Type 2, MessagePack's bin, and + BSON's generic binary subtype. This type is NOT a part of standard JSON and + exists solely for compatibility with these binary types. As such, it is + simply defined as an ordered sequence of zero or more byte values. + + Additionally, as an implementation detail, the subtype of the binary data is + carried around as a `std::uint8_t`, which is compatible with both of the + binary data formats that use binary subtyping, (though the specific + numbering is incompatible with each other, and it is up to the user to + translate between them). + + [CBOR's RFC 7049](https://tools.ietf.org/html/rfc7049) describes this type + as: + > Major type 2: a byte string. The string's length in bytes is represented + > following the rules for positive integers (major type 0). + + [MessagePack's documentation on the bin type + family](https://github.com/msgpack/msgpack/blob/master/spec.md#bin-format-family) + describes this type as: + > Bin format family stores an byte array in 2, 3, or 5 bytes of extra bytes + > in addition to the size of the byte array. + + [BSON's specifications](http://bsonspec.org/spec.html) describe several + binary types; however, this type is intended to represent the generic binary + type which has the description: + > Generic binary subtype - This is the most commonly used binary subtype and + > should be the 'default' for drivers and tools. + + None of these impose any limitations on the internal representation other + than the basic unit of storage be some type of array whose parts are + decomposable into bytes. + + The default representation of this binary format is a + `std::vector`, which is a very common way to represent a byte + array in modern C++. + + #### Default type + + The default values for @a BinaryType is `std::vector` + + #### Storage + + Binary Arrays are stored as pointers in a @ref basic_json type. That is, + for any access to array values, a pointer of the type `binary_t*` must be + dereferenced. + + #### Notes on subtypes + + - CBOR + - Binary values are represented as byte strings. No subtypes are + supported and will be ignored when CBOR is written. + - MessagePack + - If a subtype is given and the binary array contains exactly 1, 2, 4, 8, + or 16 elements, the fixext family (fixext1, fixext2, fixext4, fixext8) + is used. For other sizes, the ext family (ext8, ext16, ext32) is used. + The subtype is then added as singed 8-bit integer. + - If no subtype is given, the bin family (bin8, bin16, bin32) is used. + - BSON + - If a subtype is given, it is used and added as unsigned 8-bit integer. + - If no subtype is given, the generic binary subtype 0x00 is used. + + @sa @ref binary -- create a binary array + + @since version 3.8.0 + */ + using binary_t = nlohmann::byte_container_with_subtype; + /// @} + + private: + + /// helper for exception-safe object creation + template + JSON_HEDLEY_RETURNS_NON_NULL + static T* create(Args&& ... args) + { + AllocatorType alloc; + using AllocatorTraits = std::allocator_traits>; + + auto deleter = [&](T * object) + { + AllocatorTraits::deallocate(alloc, object, 1); + }; + std::unique_ptr object(AllocatorTraits::allocate(alloc, 1), deleter); + AllocatorTraits::construct(alloc, object.get(), std::forward(args)...); + JSON_ASSERT(object != nullptr); + return object.release(); + } + + //////////////////////// + // JSON value storage // + //////////////////////// + + /*! + @brief a JSON value + + The actual storage for a JSON value of the @ref basic_json class. This + union combines the different storage types for the JSON value types + defined in @ref value_t. + + JSON type | value_t type | used type + --------- | --------------- | ------------------------ + object | object | pointer to @ref object_t + array | array | pointer to @ref array_t + string | string | pointer to @ref string_t + boolean | boolean | @ref boolean_t + number | number_integer | @ref number_integer_t + number | number_unsigned | @ref number_unsigned_t + number | number_float | @ref number_float_t + binary | binary | pointer to @ref binary_t + null | null | *no value is stored* + + @note Variable-length types (objects, arrays, and strings) are stored as + pointers. The size of the union should not exceed 64 bits if the default + value types are used. + + @since version 1.0.0 + */ + union json_value + { + /// object (stored with pointer to save storage) + object_t* object; + /// array (stored with pointer to save storage) + array_t* array; + /// string (stored with pointer to save storage) + string_t* string; + /// binary (stored with pointer to save storage) + binary_t* binary; + /// boolean + boolean_t boolean; + /// number (integer) + number_integer_t number_integer; + /// number (unsigned integer) + number_unsigned_t number_unsigned; + /// number (floating-point) + number_float_t number_float; + + /// default constructor (for null values) + json_value() = default; + /// constructor for booleans + json_value(boolean_t v) noexcept : boolean(v) {} + /// constructor for numbers (integer) + json_value(number_integer_t v) noexcept : number_integer(v) {} + /// constructor for numbers (unsigned) + json_value(number_unsigned_t v) noexcept : number_unsigned(v) {} + /// constructor for numbers (floating-point) + json_value(number_float_t v) noexcept : number_float(v) {} + /// constructor for empty values of a given type + json_value(value_t t) + { + switch (t) + { + case value_t::object: + { + object = create(); + break; + } + + case value_t::array: + { + array = create(); + break; + } + + case value_t::string: + { + string = create(""); + break; + } + + case value_t::binary: + { + binary = create(); + break; + } + + case value_t::boolean: + { + boolean = boolean_t(false); + break; + } + + case value_t::number_integer: + { + number_integer = number_integer_t(0); + break; + } + + case value_t::number_unsigned: + { + number_unsigned = number_unsigned_t(0); + break; + } + + case value_t::number_float: + { + number_float = number_float_t(0.0); + break; + } + + case value_t::null: + { + object = nullptr; // silence warning, see #821 + break; + } + + default: + { + object = nullptr; // silence warning, see #821 + if (JSON_HEDLEY_UNLIKELY(t == value_t::null)) + { + JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.9.1")); // LCOV_EXCL_LINE + } + break; + } + } + } + + /// constructor for strings + json_value(const string_t& value) + { + string = create(value); + } + + /// constructor for rvalue strings + json_value(string_t&& value) + { + string = create(std::move(value)); + } + + /// constructor for objects + json_value(const object_t& value) + { + object = create(value); + } + + /// constructor for rvalue objects + json_value(object_t&& value) + { + object = create(std::move(value)); + } + + /// constructor for arrays + json_value(const array_t& value) + { + array = create(value); + } + + /// constructor for rvalue arrays + json_value(array_t&& value) + { + array = create(std::move(value)); + } + + /// constructor for binary arrays + json_value(const typename binary_t::container_type& value) + { + binary = create(value); + } + + /// constructor for rvalue binary arrays + json_value(typename binary_t::container_type&& value) + { + binary = create(std::move(value)); + } + + /// constructor for binary arrays (internal type) + json_value(const binary_t& value) + { + binary = create(value); + } + + /// constructor for rvalue binary arrays (internal type) + json_value(binary_t&& value) + { + binary = create(std::move(value)); + } + + void destroy(value_t t) noexcept + { + // flatten the current json_value to a heap-allocated stack + std::vector stack; + + // move the top-level items to stack + if (t == value_t::array) + { + stack.reserve(array->size()); + std::move(array->begin(), array->end(), std::back_inserter(stack)); + } + else if (t == value_t::object) + { + stack.reserve(object->size()); + for (auto&& it : *object) + { + stack.push_back(std::move(it.second)); + } + } + + while (!stack.empty()) + { + // move the last item to local variable to be processed + basic_json current_item(std::move(stack.back())); + stack.pop_back(); + + // if current_item is array/object, move + // its children to the stack to be processed later + if (current_item.is_array()) + { + std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(), + std::back_inserter(stack)); + + current_item.m_value.array->clear(); + } + else if (current_item.is_object()) + { + for (auto&& it : *current_item.m_value.object) + { + stack.push_back(std::move(it.second)); + } + + current_item.m_value.object->clear(); + } + + // it's now safe that current_item get destructed + // since it doesn't have any children + } + + switch (t) + { + case value_t::object: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, object); + std::allocator_traits::deallocate(alloc, object, 1); + break; + } + + case value_t::array: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, array); + std::allocator_traits::deallocate(alloc, array, 1); + break; + } + + case value_t::string: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, string); + std::allocator_traits::deallocate(alloc, string, 1); + break; + } + + case value_t::binary: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, binary); + std::allocator_traits::deallocate(alloc, binary, 1); + break; + } + + default: + { + break; + } + } + } + }; + + /*! + @brief checks the class invariants + + This function asserts the class invariants. It needs to be called at the + end of every constructor to make sure that created objects respect the + invariant. Furthermore, it has to be called each time the type of a JSON + value is changed, because the invariant expresses a relationship between + @a m_type and @a m_value. + */ + void assert_invariant() const noexcept + { + JSON_ASSERT(m_type != value_t::object || m_value.object != nullptr); + JSON_ASSERT(m_type != value_t::array || m_value.array != nullptr); + JSON_ASSERT(m_type != value_t::string || m_value.string != nullptr); + JSON_ASSERT(m_type != value_t::binary || m_value.binary != nullptr); + } + + public: + ////////////////////////// + // JSON parser callback // + ////////////////////////// + + /*! + @brief parser event types + + The parser callback distinguishes the following events: + - `object_start`: the parser read `{` and started to process a JSON object + - `key`: the parser read a key of a value in an object + - `object_end`: the parser read `}` and finished processing a JSON object + - `array_start`: the parser read `[` and started to process a JSON array + - `array_end`: the parser read `]` and finished processing a JSON array + - `value`: the parser finished reading a JSON value + + @image html callback_events.png "Example when certain parse events are triggered" + + @sa @ref parser_callback_t for more information and examples + */ + using parse_event_t = detail::parse_event_t; + + /*! + @brief per-element parser callback type + + With a parser callback function, the result of parsing a JSON text can be + influenced. When passed to @ref parse, it is called on certain events + (passed as @ref parse_event_t via parameter @a event) with a set recursion + depth @a depth and context JSON value @a parsed. The return value of the + callback function is a boolean indicating whether the element that emitted + the callback shall be kept or not. + + We distinguish six scenarios (determined by the event type) in which the + callback function can be called. The following table describes the values + of the parameters @a depth, @a event, and @a parsed. + + parameter @a event | description | parameter @a depth | parameter @a parsed + ------------------ | ----------- | ------------------ | ------------------- + parse_event_t::object_start | the parser read `{` and started to process a JSON object | depth of the parent of the JSON object | a JSON value with type discarded + parse_event_t::key | the parser read a key of a value in an object | depth of the currently parsed JSON object | a JSON string containing the key + parse_event_t::object_end | the parser read `}` and finished processing a JSON object | depth of the parent of the JSON object | the parsed JSON object + parse_event_t::array_start | the parser read `[` and started to process a JSON array | depth of the parent of the JSON array | a JSON value with type discarded + parse_event_t::array_end | the parser read `]` and finished processing a JSON array | depth of the parent of the JSON array | the parsed JSON array + parse_event_t::value | the parser finished reading a JSON value | depth of the value | the parsed JSON value + + @image html callback_events.png "Example when certain parse events are triggered" + + Discarding a value (i.e., returning `false`) has different effects + depending on the context in which function was called: + + - Discarded values in structured types are skipped. That is, the parser + will behave as if the discarded value was never read. + - In case a value outside a structured type is skipped, it is replaced + with `null`. This case happens if the top-level element is skipped. + + @param[in] depth the depth of the recursion during parsing + + @param[in] event an event of type parse_event_t indicating the context in + the callback function has been called + + @param[in,out] parsed the current intermediate parse result; note that + writing to this value has no effect for parse_event_t::key events + + @return Whether the JSON value which called the function during parsing + should be kept (`true`) or not (`false`). In the latter case, it is either + skipped completely or replaced by an empty discarded object. + + @sa @ref parse for examples + + @since version 1.0.0 + */ + using parser_callback_t = detail::parser_callback_t; + + ////////////////// + // constructors // + ////////////////// + + /// @name constructors and destructors + /// Constructors of class @ref basic_json, copy/move constructor, copy + /// assignment, static functions creating objects, and the destructor. + /// @{ + + /*! + @brief create an empty value with a given type + + Create an empty JSON value with a given type. The value will be default + initialized with an empty value which depends on the type: + + Value type | initial value + ----------- | ------------- + null | `null` + boolean | `false` + string | `""` + number | `0` + object | `{}` + array | `[]` + binary | empty array + + @param[in] v the type of the value to create + + @complexity Constant. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows the constructor for different @ref + value_t values,basic_json__value_t} + + @sa @ref clear() -- restores the postcondition of this constructor + + @since version 1.0.0 + */ + basic_json(const value_t v) + : m_type(v), m_value(v) + { + assert_invariant(); + } + + /*! + @brief create a null object + + Create a `null` JSON value. It either takes a null pointer as parameter + (explicitly creating `null`) or no parameter (implicitly creating `null`). + The passed null pointer itself is not read -- it is only used to choose + the right constructor. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this constructor never throws + exceptions. + + @liveexample{The following code shows the constructor with and without a + null pointer parameter.,basic_json__nullptr_t} + + @since version 1.0.0 + */ + basic_json(std::nullptr_t = nullptr) noexcept + : basic_json(value_t::null) + { + assert_invariant(); + } + + /*! + @brief create a JSON value + + This is a "catch all" constructor for all compatible JSON types; that is, + types for which a `to_json()` method exists. The constructor forwards the + parameter @a val to that method (to `json_serializer::to_json` method + with `U = uncvref_t`, to be exact). + + Template type @a CompatibleType includes, but is not limited to, the + following types: + - **arrays**: @ref array_t and all kinds of compatible containers such as + `std::vector`, `std::deque`, `std::list`, `std::forward_list`, + `std::array`, `std::valarray`, `std::set`, `std::unordered_set`, + `std::multiset`, and `std::unordered_multiset` with a `value_type` from + which a @ref basic_json value can be constructed. + - **objects**: @ref object_t and all kinds of compatible associative + containers such as `std::map`, `std::unordered_map`, `std::multimap`, + and `std::unordered_multimap` with a `key_type` compatible to + @ref string_t and a `value_type` from which a @ref basic_json value can + be constructed. + - **strings**: @ref string_t, string literals, and all compatible string + containers can be used. + - **numbers**: @ref number_integer_t, @ref number_unsigned_t, + @ref number_float_t, and all convertible number types such as `int`, + `size_t`, `int64_t`, `float` or `double` can be used. + - **boolean**: @ref boolean_t / `bool` can be used. + - **binary**: @ref binary_t / `std::vector` may be used, + unfortunately because string literals cannot be distinguished from binary + character arrays by the C++ type system, all types compatible with `const + char*` will be directed to the string constructor instead. This is both + for backwards compatibility, and due to the fact that a binary type is not + a standard JSON type. + + See the examples below. + + @tparam CompatibleType a type such that: + - @a CompatibleType is not derived from `std::istream`, + - @a CompatibleType is not @ref basic_json (to avoid hijacking copy/move + constructors), + - @a CompatibleType is not a different @ref basic_json type (i.e. with different template arguments) + - @a CompatibleType is not a @ref basic_json nested type (e.g., + @ref json_pointer, @ref iterator, etc ...) + - @ref @ref json_serializer has a + `to_json(basic_json_t&, CompatibleType&&)` method + + @tparam U = `uncvref_t` + + @param[in] val the value to be forwarded to the respective constructor + + @complexity Usually linear in the size of the passed @a val, also + depending on the implementation of the called `to_json()` + method. + + @exceptionsafety Depends on the called constructor. For types directly + supported by the library (i.e., all types for which no `to_json()` function + was provided), strong guarantee holds: if an exception is thrown, there are + no changes to any JSON value. + + @liveexample{The following code shows the constructor with several + compatible types.,basic_json__CompatibleType} + + @since version 2.1.0 + */ + template < typename CompatibleType, + typename U = detail::uncvref_t, + detail::enable_if_t < + !detail::is_basic_json::value && detail::is_compatible_type::value, int > = 0 > + basic_json(CompatibleType && val) noexcept(noexcept( + JSONSerializer::to_json(std::declval(), + std::forward(val)))) + { + JSONSerializer::to_json(*this, std::forward(val)); + assert_invariant(); + } + + /*! + @brief create a JSON value from an existing one + + This is a constructor for existing @ref basic_json types. + It does not hijack copy/move constructors, since the parameter has different + template arguments than the current ones. + + The constructor tries to convert the internal @ref m_value of the parameter. + + @tparam BasicJsonType a type such that: + - @a BasicJsonType is a @ref basic_json type. + - @a BasicJsonType has different template arguments than @ref basic_json_t. + + @param[in] val the @ref basic_json value to be converted. + + @complexity Usually linear in the size of the passed @a val, also + depending on the implementation of the called `to_json()` + method. + + @exceptionsafety Depends on the called constructor. For types directly + supported by the library (i.e., all types for which no `to_json()` function + was provided), strong guarantee holds: if an exception is thrown, there are + no changes to any JSON value. + + @since version 3.2.0 + */ + template < typename BasicJsonType, + detail::enable_if_t < + detail::is_basic_json::value&& !std::is_same::value, int > = 0 > + basic_json(const BasicJsonType& val) + { + using other_boolean_t = typename BasicJsonType::boolean_t; + using other_number_float_t = typename BasicJsonType::number_float_t; + using other_number_integer_t = typename BasicJsonType::number_integer_t; + using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using other_string_t = typename BasicJsonType::string_t; + using other_object_t = typename BasicJsonType::object_t; + using other_array_t = typename BasicJsonType::array_t; + using other_binary_t = typename BasicJsonType::binary_t; + + switch (val.type()) + { + case value_t::boolean: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::number_float: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::number_integer: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::number_unsigned: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::string: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::object: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::array: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::binary: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::null: + *this = nullptr; + break; + case value_t::discarded: + m_type = value_t::discarded; + break; + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + assert_invariant(); + } + + /*! + @brief create a container (array or object) from an initializer list + + Creates a JSON value of type array or object from the passed initializer + list @a init. In case @a type_deduction is `true` (default), the type of + the JSON value to be created is deducted from the initializer list @a init + according to the following rules: + + 1. If the list is empty, an empty JSON object value `{}` is created. + 2. If the list consists of pairs whose first element is a string, a JSON + object value is created where the first elements of the pairs are + treated as keys and the second elements are as values. + 3. In all other cases, an array is created. + + The rules aim to create the best fit between a C++ initializer list and + JSON values. The rationale is as follows: + + 1. The empty initializer list is written as `{}` which is exactly an empty + JSON object. + 2. C++ has no way of describing mapped types other than to list a list of + pairs. As JSON requires that keys must be of type string, rule 2 is the + weakest constraint one can pose on initializer lists to interpret them + as an object. + 3. In all other cases, the initializer list could not be interpreted as + JSON object type, so interpreting it as JSON array type is safe. + + With the rules described above, the following JSON values cannot be + expressed by an initializer list: + + - the empty array (`[]`): use @ref array(initializer_list_t) + with an empty initializer list in this case + - arrays whose elements satisfy rule 2: use @ref + array(initializer_list_t) with the same initializer list + in this case + + @note When used without parentheses around an empty initializer list, @ref + basic_json() is called instead of this function, yielding the JSON null + value. + + @param[in] init initializer list with JSON values + + @param[in] type_deduction internal parameter; when set to `true`, the type + of the JSON value is deducted from the initializer list @a init; when set + to `false`, the type provided via @a manual_type is forced. This mode is + used by the functions @ref array(initializer_list_t) and + @ref object(initializer_list_t). + + @param[in] manual_type internal parameter; when @a type_deduction is set + to `false`, the created JSON value will use the provided type (only @ref + value_t::array and @ref value_t::object are valid); when @a type_deduction + is set to `true`, this parameter has no effect + + @throw type_error.301 if @a type_deduction is `false`, @a manual_type is + `value_t::object`, but @a init contains an element which is not a pair + whose first element is a string. In this case, the constructor could not + create an object. If @a type_deduction would have be `true`, an array + would have been created. See @ref object(initializer_list_t) + for an example. + + @complexity Linear in the size of the initializer list @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The example below shows how JSON values are created from + initializer lists.,basic_json__list_init_t} + + @sa @ref array(initializer_list_t) -- create a JSON array + value from an initializer list + @sa @ref object(initializer_list_t) -- create a JSON object + value from an initializer list + + @since version 1.0.0 + */ + basic_json(initializer_list_t init, + bool type_deduction = true, + value_t manual_type = value_t::array) + { + // check if each element is an array with two elements whose first + // element is a string + bool is_an_object = std::all_of(init.begin(), init.end(), + [](const detail::json_ref& element_ref) + { + return element_ref->is_array() && element_ref->size() == 2 && (*element_ref)[0].is_string(); + }); + + // adjust type if type deduction is not wanted + if (!type_deduction) + { + // if array is wanted, do not create an object though possible + if (manual_type == value_t::array) + { + is_an_object = false; + } + + // if object is wanted but impossible, throw an exception + if (JSON_HEDLEY_UNLIKELY(manual_type == value_t::object && !is_an_object)) + { + JSON_THROW(type_error::create(301, "cannot create object from initializer list")); + } + } + + if (is_an_object) + { + // the initializer list is a list of pairs -> create object + m_type = value_t::object; + m_value = value_t::object; + + std::for_each(init.begin(), init.end(), [this](const detail::json_ref& element_ref) + { + auto element = element_ref.moved_or_copied(); + m_value.object->emplace( + std::move(*((*element.m_value.array)[0].m_value.string)), + std::move((*element.m_value.array)[1])); + }); + } + else + { + // the initializer list describes an array -> create array + m_type = value_t::array; + m_value.array = create(init.begin(), init.end()); + } + + assert_invariant(); + } + + /*! + @brief explicitly create a binary array (without subtype) + + Creates a JSON binary array value from a given binary container. Binary + values are part of various binary formats, such as CBOR, MessagePack, and + BSON. This constructor is used to create a value for serialization to those + formats. + + @note Note, this function exists because of the difficulty in correctly + specifying the correct template overload in the standard value ctor, as both + JSON arrays and JSON binary arrays are backed with some form of a + `std::vector`. Because JSON binary arrays are a non-standard extension it + was decided that it would be best to prevent automatic initialization of a + binary array type, for backwards compatibility and so it does not happen on + accident. + + @param[in] init container containing bytes to use as binary type + + @return JSON binary array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @since version 3.8.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(const typename binary_t::container_type& init) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = init; + return res; + } + + /*! + @brief explicitly create a binary array (with subtype) + + Creates a JSON binary array value from a given binary container. Binary + values are part of various binary formats, such as CBOR, MessagePack, and + BSON. This constructor is used to create a value for serialization to those + formats. + + @note Note, this function exists because of the difficulty in correctly + specifying the correct template overload in the standard value ctor, as both + JSON arrays and JSON binary arrays are backed with some form of a + `std::vector`. Because JSON binary arrays are a non-standard extension it + was decided that it would be best to prevent automatic initialization of a + binary array type, for backwards compatibility and so it does not happen on + accident. + + @param[in] init container containing bytes to use as binary type + @param[in] subtype subtype to use in MessagePack and BSON + + @return JSON binary array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @since version 3.8.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(const typename binary_t::container_type& init, std::uint8_t subtype) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = binary_t(init, subtype); + return res; + } + + /// @copydoc binary(const typename binary_t::container_type&) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(typename binary_t::container_type&& init) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = std::move(init); + return res; + } + + /// @copydoc binary(const typename binary_t::container_type&, std::uint8_t) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(typename binary_t::container_type&& init, std::uint8_t subtype) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = binary_t(std::move(init), subtype); + return res; + } + + /*! + @brief explicitly create an array from an initializer list + + Creates a JSON array value from a given initializer list. That is, given a + list of values `a, b, c`, creates the JSON value `[a, b, c]`. If the + initializer list is empty, the empty array `[]` is created. + + @note This function is only needed to express two edge cases that cannot + be realized with the initializer list constructor (@ref + basic_json(initializer_list_t, bool, value_t)). These cases + are: + 1. creating an array whose elements are all pairs whose first element is a + string -- in this case, the initializer list constructor would create an + object, taking the first elements as keys + 2. creating an empty array -- passing the empty initializer list to the + initializer list constructor yields an empty object + + @param[in] init initializer list with JSON values to create an array from + (optional) + + @return JSON array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows an example for the `array` + function.,array} + + @sa @ref basic_json(initializer_list_t, bool, value_t) -- + create a JSON value from an initializer list + @sa @ref object(initializer_list_t) -- create a JSON object + value from an initializer list + + @since version 1.0.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json array(initializer_list_t init = {}) + { + return basic_json(init, false, value_t::array); + } + + /*! + @brief explicitly create an object from an initializer list + + Creates a JSON object value from a given initializer list. The initializer + lists elements must be pairs, and their first elements must be strings. If + the initializer list is empty, the empty object `{}` is created. + + @note This function is only added for symmetry reasons. In contrast to the + related function @ref array(initializer_list_t), there are + no cases which can only be expressed by this function. That is, any + initializer list @a init can also be passed to the initializer list + constructor @ref basic_json(initializer_list_t, bool, value_t). + + @param[in] init initializer list to create an object from (optional) + + @return JSON object value + + @throw type_error.301 if @a init is not a list of pairs whose first + elements are strings. In this case, no object can be created. When such a + value is passed to @ref basic_json(initializer_list_t, bool, value_t), + an array would have been created from the passed initializer list @a init. + See example below. + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows an example for the `object` + function.,object} + + @sa @ref basic_json(initializer_list_t, bool, value_t) -- + create a JSON value from an initializer list + @sa @ref array(initializer_list_t) -- create a JSON array + value from an initializer list + + @since version 1.0.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json object(initializer_list_t init = {}) + { + return basic_json(init, false, value_t::object); + } + + /*! + @brief construct an array with count copies of given value + + Constructs a JSON array value by creating @a cnt copies of a passed value. + In case @a cnt is `0`, an empty array is created. + + @param[in] cnt the number of JSON copies of @a val to create + @param[in] val the JSON value to copy + + @post `std::distance(begin(),end()) == cnt` holds. + + @complexity Linear in @a cnt. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows examples for the @ref + basic_json(size_type\, const basic_json&) + constructor.,basic_json__size_type_basic_json} + + @since version 1.0.0 + */ + basic_json(size_type cnt, const basic_json& val) + : m_type(value_t::array) + { + m_value.array = create(cnt, val); + assert_invariant(); + } + + /*! + @brief construct a JSON container given an iterator range + + Constructs the JSON value with the contents of the range `[first, last)`. + The semantics depends on the different types a JSON value can have: + - In case of a null type, invalid_iterator.206 is thrown. + - In case of other primitive types (number, boolean, or string), @a first + must be `begin()` and @a last must be `end()`. In this case, the value is + copied. Otherwise, invalid_iterator.204 is thrown. + - In case of structured types (array, object), the constructor behaves as + similar versions for `std::vector` or `std::map`; that is, a JSON array + or object is constructed from the values in the range. + + @tparam InputIT an input iterator type (@ref iterator or @ref + const_iterator) + + @param[in] first begin of the range to copy from (included) + @param[in] last end of the range to copy from (excluded) + + @pre Iterators @a first and @a last must be initialized. **This + precondition is enforced with an assertion (see warning).** If + assertions are switched off, a violation of this precondition yields + undefined behavior. + + @pre Range `[first, last)` is valid. Usually, this precondition cannot be + checked efficiently. Only certain edge cases are detected; see the + description of the exceptions below. A violation of this precondition + yields undefined behavior. + + @warning A precondition is enforced with a runtime assertion that will + result in calling `std::abort` if this precondition is not met. + Assertions can be disabled by defining `NDEBUG` at compile time. + See https://en.cppreference.com/w/cpp/error/assert for more + information. + + @throw invalid_iterator.201 if iterators @a first and @a last are not + compatible (i.e., do not belong to the same JSON value). In this case, + the range `[first, last)` is undefined. + @throw invalid_iterator.204 if iterators @a first and @a last belong to a + primitive type (number, boolean, or string), but @a first does not point + to the first element any more. In this case, the range `[first, last)` is + undefined. See example code below. + @throw invalid_iterator.206 if iterators @a first and @a last belong to a + null value. In this case, the range `[first, last)` is undefined. + + @complexity Linear in distance between @a first and @a last. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The example below shows several ways to create JSON values by + specifying a subrange with iterators.,basic_json__InputIt_InputIt} + + @since version 1.0.0 + */ + template < class InputIT, typename std::enable_if < + std::is_same::value || + std::is_same::value, int >::type = 0 > + basic_json(InputIT first, InputIT last) + { + JSON_ASSERT(first.m_object != nullptr); + JSON_ASSERT(last.m_object != nullptr); + + // make sure iterator fits the current value + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(201, "iterators are not compatible")); + } + + // copy type from first iterator + m_type = first.m_object->m_type; + + // check if iterator range is complete for primitive values + switch (m_type) + { + case value_t::boolean: + case value_t::number_float: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::string: + { + if (JSON_HEDLEY_UNLIKELY(!first.m_it.primitive_iterator.is_begin() + || !last.m_it.primitive_iterator.is_end())) + { + JSON_THROW(invalid_iterator::create(204, "iterators out of range")); + } + break; + } + + default: + break; + } + + switch (m_type) + { + case value_t::number_integer: + { + m_value.number_integer = first.m_object->m_value.number_integer; + break; + } + + case value_t::number_unsigned: + { + m_value.number_unsigned = first.m_object->m_value.number_unsigned; + break; + } + + case value_t::number_float: + { + m_value.number_float = first.m_object->m_value.number_float; + break; + } + + case value_t::boolean: + { + m_value.boolean = first.m_object->m_value.boolean; + break; + } + + case value_t::string: + { + m_value = *first.m_object->m_value.string; + break; + } + + case value_t::object: + { + m_value.object = create(first.m_it.object_iterator, + last.m_it.object_iterator); + break; + } + + case value_t::array: + { + m_value.array = create(first.m_it.array_iterator, + last.m_it.array_iterator); + break; + } + + case value_t::binary: + { + m_value = *first.m_object->m_value.binary; + break; + } + + default: + JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " + + std::string(first.m_object->type_name()))); + } + + assert_invariant(); + } + + + /////////////////////////////////////// + // other constructors and destructor // + /////////////////////////////////////// + + template, + std::is_same>::value, int> = 0 > + basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {} + + /*! + @brief copy constructor + + Creates a copy of a given JSON value. + + @param[in] other the JSON value to copy + + @post `*this == other` + + @complexity Linear in the size of @a other. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is linear. + - As postcondition, it holds: `other == basic_json(other)`. + + @liveexample{The following code shows an example for the copy + constructor.,basic_json__basic_json} + + @since version 1.0.0 + */ + basic_json(const basic_json& other) + : m_type(other.m_type) + { + // check of passed value is valid + other.assert_invariant(); + + switch (m_type) + { + case value_t::object: + { + m_value = *other.m_value.object; + break; + } + + case value_t::array: + { + m_value = *other.m_value.array; + break; + } + + case value_t::string: + { + m_value = *other.m_value.string; + break; + } + + case value_t::boolean: + { + m_value = other.m_value.boolean; + break; + } + + case value_t::number_integer: + { + m_value = other.m_value.number_integer; + break; + } + + case value_t::number_unsigned: + { + m_value = other.m_value.number_unsigned; + break; + } + + case value_t::number_float: + { + m_value = other.m_value.number_float; + break; + } + + case value_t::binary: + { + m_value = *other.m_value.binary; + break; + } + + default: + break; + } + + assert_invariant(); + } + + /*! + @brief move constructor + + Move constructor. Constructs a JSON value with the contents of the given + value @a other using move semantics. It "steals" the resources from @a + other and leaves it as JSON null value. + + @param[in,out] other value to move to this object + + @post `*this` has the same value as @a other before the call. + @post @a other is a JSON null value. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this constructor never throws + exceptions. + + @requirement This function helps `basic_json` satisfying the + [MoveConstructible](https://en.cppreference.com/w/cpp/named_req/MoveConstructible) + requirements. + + @liveexample{The code below shows the move constructor explicitly called + via std::move.,basic_json__moveconstructor} + + @since version 1.0.0 + */ + basic_json(basic_json&& other) noexcept + : m_type(std::move(other.m_type)), + m_value(std::move(other.m_value)) + { + // check that passed value is valid + other.assert_invariant(); + + // invalidate payload + other.m_type = value_t::null; + other.m_value = {}; + + assert_invariant(); + } + + /*! + @brief copy assignment + + Copy assignment operator. Copies a JSON value via the "copy and swap" + strategy: It is expressed in terms of the copy constructor, destructor, + and the `swap()` member function. + + @param[in] other value to copy from + + @complexity Linear. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is linear. + + @liveexample{The code below shows and example for the copy assignment. It + creates a copy of value `a` which is then swapped with `b`. Finally\, the + copy of `a` (which is the null value after the swap) is + destroyed.,basic_json__copyassignment} + + @since version 1.0.0 + */ + basic_json& operator=(basic_json other) noexcept ( + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value&& + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value + ) + { + // check that passed value is valid + other.assert_invariant(); + + using std::swap; + swap(m_type, other.m_type); + swap(m_value, other.m_value); + + assert_invariant(); + return *this; + } + + /*! + @brief destructor + + Destroys the JSON value and frees all allocated memory. + + @complexity Linear. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is linear. + - All stored elements are destroyed and all memory is freed. + + @since version 1.0.0 + */ + ~basic_json() noexcept + { + assert_invariant(); + m_value.destroy(m_type); + } + + /// @} + + public: + /////////////////////// + // object inspection // + /////////////////////// + + /// @name object inspection + /// Functions to inspect the type of a JSON value. + /// @{ + + /*! + @brief serialization + + Serialization function for JSON values. The function tries to mimic + Python's `json.dumps()` function, and currently supports its @a indent + and @a ensure_ascii parameters. + + @param[in] indent If indent is nonnegative, then array elements and object + members will be pretty-printed with that indent level. An indent level of + `0` will only insert newlines. `-1` (the default) selects the most compact + representation. + @param[in] indent_char The character to use for indentation if @a indent is + greater than `0`. The default is ` ` (space). + @param[in] ensure_ascii If @a ensure_ascii is true, all non-ASCII characters + in the output are escaped with `\uXXXX` sequences, and the result consists + of ASCII characters only. + @param[in] error_handler how to react on decoding errors; there are three + possible values: `strict` (throws and exception in case a decoding error + occurs; default), `replace` (replace invalid UTF-8 sequences with U+FFFD), + and `ignore` (ignore invalid UTF-8 sequences during serialization; all + bytes are copied to the output unchanged). + + @return string containing the serialization of the JSON value + + @throw type_error.316 if a string stored inside the JSON value is not + UTF-8 encoded and @a error_handler is set to strict + + @note Binary values are serialized as object containing two keys: + - "bytes": an array of bytes as integers + - "subtype": the subtype as integer or "null" if the binary has no subtype + + @complexity Linear. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @liveexample{The following example shows the effect of different @a indent\, + @a indent_char\, and @a ensure_ascii parameters to the result of the + serialization.,dump} + + @see https://docs.python.org/2/library/json.html#json.dump + + @since version 1.0.0; indentation character @a indent_char, option + @a ensure_ascii and exceptions added in version 3.0.0; error + handlers added in version 3.4.0; serialization of binary values added + in version 3.8.0. + */ + string_t dump(const int indent = -1, + const char indent_char = ' ', + const bool ensure_ascii = false, + const error_handler_t error_handler = error_handler_t::strict) const + { + string_t result; + serializer s(detail::output_adapter(result), indent_char, error_handler); + + if (indent >= 0) + { + s.dump(*this, true, ensure_ascii, static_cast(indent)); + } + else + { + s.dump(*this, false, ensure_ascii, 0); + } + + return result; + } + + /*! + @brief return the type of the JSON value (explicit) + + Return the type of the JSON value as a value from the @ref value_t + enumeration. + + @return the type of the JSON value + Value type | return value + ------------------------- | ------------------------- + null | value_t::null + boolean | value_t::boolean + string | value_t::string + number (integer) | value_t::number_integer + number (unsigned integer) | value_t::number_unsigned + number (floating-point) | value_t::number_float + object | value_t::object + array | value_t::array + binary | value_t::binary + discarded | value_t::discarded + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `type()` for all JSON + types.,type} + + @sa @ref operator value_t() -- return the type of the JSON value (implicit) + @sa @ref type_name() -- return the type as string + + @since version 1.0.0 + */ + constexpr value_t type() const noexcept + { + return m_type; + } + + /*! + @brief return whether type is primitive + + This function returns true if and only if the JSON type is primitive + (string, number, boolean, or null). + + @return `true` if type is primitive (string, number, boolean, or null), + `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_primitive()` for all JSON + types.,is_primitive} + + @sa @ref is_structured() -- returns whether JSON value is structured + @sa @ref is_null() -- returns whether JSON value is `null` + @sa @ref is_string() -- returns whether JSON value is a string + @sa @ref is_boolean() -- returns whether JSON value is a boolean + @sa @ref is_number() -- returns whether JSON value is a number + @sa @ref is_binary() -- returns whether JSON value is a binary array + + @since version 1.0.0 + */ + constexpr bool is_primitive() const noexcept + { + return is_null() || is_string() || is_boolean() || is_number() || is_binary(); + } + + /*! + @brief return whether type is structured + + This function returns true if and only if the JSON type is structured + (array or object). + + @return `true` if type is structured (array or object), `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_structured()` for all JSON + types.,is_structured} + + @sa @ref is_primitive() -- returns whether value is primitive + @sa @ref is_array() -- returns whether value is an array + @sa @ref is_object() -- returns whether value is an object + + @since version 1.0.0 + */ + constexpr bool is_structured() const noexcept + { + return is_array() || is_object(); + } + + /*! + @brief return whether value is null + + This function returns true if and only if the JSON value is null. + + @return `true` if type is null, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_null()` for all JSON + types.,is_null} + + @since version 1.0.0 + */ + constexpr bool is_null() const noexcept + { + return m_type == value_t::null; + } + + /*! + @brief return whether value is a boolean + + This function returns true if and only if the JSON value is a boolean. + + @return `true` if type is boolean, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_boolean()` for all JSON + types.,is_boolean} + + @since version 1.0.0 + */ + constexpr bool is_boolean() const noexcept + { + return m_type == value_t::boolean; + } + + /*! + @brief return whether value is a number + + This function returns true if and only if the JSON value is a number. This + includes both integer (signed and unsigned) and floating-point values. + + @return `true` if type is number (regardless whether integer, unsigned + integer or floating-type), `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number()` for all JSON + types.,is_number} + + @sa @ref is_number_integer() -- check if value is an integer or unsigned + integer number + @sa @ref is_number_unsigned() -- check if value is an unsigned integer + number + @sa @ref is_number_float() -- check if value is a floating-point number + + @since version 1.0.0 + */ + constexpr bool is_number() const noexcept + { + return is_number_integer() || is_number_float(); + } + + /*! + @brief return whether value is an integer number + + This function returns true if and only if the JSON value is a signed or + unsigned integer number. This excludes floating-point values. + + @return `true` if type is an integer or unsigned integer number, `false` + otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number_integer()` for all + JSON types.,is_number_integer} + + @sa @ref is_number() -- check if value is a number + @sa @ref is_number_unsigned() -- check if value is an unsigned integer + number + @sa @ref is_number_float() -- check if value is a floating-point number + + @since version 1.0.0 + */ + constexpr bool is_number_integer() const noexcept + { + return m_type == value_t::number_integer || m_type == value_t::number_unsigned; + } + + /*! + @brief return whether value is an unsigned integer number + + This function returns true if and only if the JSON value is an unsigned + integer number. This excludes floating-point and signed integer values. + + @return `true` if type is an unsigned integer number, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number_unsigned()` for all + JSON types.,is_number_unsigned} + + @sa @ref is_number() -- check if value is a number + @sa @ref is_number_integer() -- check if value is an integer or unsigned + integer number + @sa @ref is_number_float() -- check if value is a floating-point number + + @since version 2.0.0 + */ + constexpr bool is_number_unsigned() const noexcept + { + return m_type == value_t::number_unsigned; + } + + /*! + @brief return whether value is a floating-point number + + This function returns true if and only if the JSON value is a + floating-point number. This excludes signed and unsigned integer values. + + @return `true` if type is a floating-point number, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number_float()` for all + JSON types.,is_number_float} + + @sa @ref is_number() -- check if value is number + @sa @ref is_number_integer() -- check if value is an integer number + @sa @ref is_number_unsigned() -- check if value is an unsigned integer + number + + @since version 1.0.0 + */ + constexpr bool is_number_float() const noexcept + { + return m_type == value_t::number_float; + } + + /*! + @brief return whether value is an object + + This function returns true if and only if the JSON value is an object. + + @return `true` if type is object, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_object()` for all JSON + types.,is_object} + + @since version 1.0.0 + */ + constexpr bool is_object() const noexcept + { + return m_type == value_t::object; + } + + /*! + @brief return whether value is an array + + This function returns true if and only if the JSON value is an array. + + @return `true` if type is array, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_array()` for all JSON + types.,is_array} + + @since version 1.0.0 + */ + constexpr bool is_array() const noexcept + { + return m_type == value_t::array; + } + + /*! + @brief return whether value is a string + + This function returns true if and only if the JSON value is a string. + + @return `true` if type is string, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_string()` for all JSON + types.,is_string} + + @since version 1.0.0 + */ + constexpr bool is_string() const noexcept + { + return m_type == value_t::string; + } + + /*! + @brief return whether value is a binary array + + This function returns true if and only if the JSON value is a binary array. + + @return `true` if type is binary array, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_binary()` for all JSON + types.,is_binary} + + @since version 3.8.0 + */ + constexpr bool is_binary() const noexcept + { + return m_type == value_t::binary; + } + + /*! + @brief return whether value is discarded + + This function returns true if and only if the JSON value was discarded + during parsing with a callback function (see @ref parser_callback_t). + + @note This function will always be `false` for JSON values after parsing. + That is, discarded values can only occur during parsing, but will be + removed when inside a structured value or replaced by null in other cases. + + @return `true` if type is discarded, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_discarded()` for all JSON + types.,is_discarded} + + @since version 1.0.0 + */ + constexpr bool is_discarded() const noexcept + { + return m_type == value_t::discarded; + } + + /*! + @brief return the type of the JSON value (implicit) + + Implicitly return the type of the JSON value as a value from the @ref + value_t enumeration. + + @return the type of the JSON value + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies the @ref value_t operator for + all JSON types.,operator__value_t} + + @sa @ref type() -- return the type of the JSON value (explicit) + @sa @ref type_name() -- return the type as string + + @since version 1.0.0 + */ + constexpr operator value_t() const noexcept + { + return m_type; + } + + /// @} + + private: + ////////////////// + // value access // + ////////////////// + + /// get a boolean (explicit) + boolean_t get_impl(boolean_t* /*unused*/) const + { + if (JSON_HEDLEY_LIKELY(is_boolean())) + { + return m_value.boolean; + } + + JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name()))); + } + + /// get a pointer to the value (object) + object_t* get_impl_ptr(object_t* /*unused*/) noexcept + { + return is_object() ? m_value.object : nullptr; + } + + /// get a pointer to the value (object) + constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept + { + return is_object() ? m_value.object : nullptr; + } + + /// get a pointer to the value (array) + array_t* get_impl_ptr(array_t* /*unused*/) noexcept + { + return is_array() ? m_value.array : nullptr; + } + + /// get a pointer to the value (array) + constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept + { + return is_array() ? m_value.array : nullptr; + } + + /// get a pointer to the value (string) + string_t* get_impl_ptr(string_t* /*unused*/) noexcept + { + return is_string() ? m_value.string : nullptr; + } + + /// get a pointer to the value (string) + constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept + { + return is_string() ? m_value.string : nullptr; + } + + /// get a pointer to the value (boolean) + boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept + { + return is_boolean() ? &m_value.boolean : nullptr; + } + + /// get a pointer to the value (boolean) + constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept + { + return is_boolean() ? &m_value.boolean : nullptr; + } + + /// get a pointer to the value (integer number) + number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept + { + return is_number_integer() ? &m_value.number_integer : nullptr; + } + + /// get a pointer to the value (integer number) + constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept + { + return is_number_integer() ? &m_value.number_integer : nullptr; + } + + /// get a pointer to the value (unsigned number) + number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept + { + return is_number_unsigned() ? &m_value.number_unsigned : nullptr; + } + + /// get a pointer to the value (unsigned number) + constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept + { + return is_number_unsigned() ? &m_value.number_unsigned : nullptr; + } + + /// get a pointer to the value (floating-point number) + number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept + { + return is_number_float() ? &m_value.number_float : nullptr; + } + + /// get a pointer to the value (floating-point number) + constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept + { + return is_number_float() ? &m_value.number_float : nullptr; + } + + /// get a pointer to the value (binary) + binary_t* get_impl_ptr(binary_t* /*unused*/) noexcept + { + return is_binary() ? m_value.binary : nullptr; + } + + /// get a pointer to the value (binary) + constexpr const binary_t* get_impl_ptr(const binary_t* /*unused*/) const noexcept + { + return is_binary() ? m_value.binary : nullptr; + } + + /*! + @brief helper function to implement get_ref() + + This function helps to implement get_ref() without code duplication for + const and non-const overloads + + @tparam ThisType will be deduced as `basic_json` or `const basic_json` + + @throw type_error.303 if ReferenceType does not match underlying value + type of the current JSON + */ + template + static ReferenceType get_ref_impl(ThisType& obj) + { + // delegate the call to get_ptr<>() + auto ptr = obj.template get_ptr::type>(); + + if (JSON_HEDLEY_LIKELY(ptr != nullptr)) + { + return *ptr; + } + + JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name()))); + } + + public: + /// @name value access + /// Direct access to the stored value of a JSON value. + /// @{ + + /*! + @brief get special-case overload + + This overloads avoids a lot of template boilerplate, it can be seen as the + identity method + + @tparam BasicJsonType == @ref basic_json + + @return a copy of *this + + @complexity Constant. + + @since version 2.1.0 + */ + template::type, basic_json_t>::value, + int> = 0> + basic_json get() const + { + return *this; + } + + /*! + @brief get special-case overload + + This overloads converts the current @ref basic_json in a different + @ref basic_json type + + @tparam BasicJsonType == @ref basic_json + + @return a copy of *this, converted into @tparam BasicJsonType + + @complexity Depending on the implementation of the called `from_json()` + method. + + @since version 3.2.0 + */ + template < typename BasicJsonType, detail::enable_if_t < + !std::is_same::value&& + detail::is_basic_json::value, int > = 0 > + BasicJsonType get() const + { + return *this; + } + + /*! + @brief get a value (explicit) + + Explicit type conversion between the JSON value and a compatible value + which is [CopyConstructible](https://en.cppreference.com/w/cpp/named_req/CopyConstructible) + and [DefaultConstructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible). + The value is converted by calling the @ref json_serializer + `from_json()` method. + + The function is equivalent to executing + @code {.cpp} + ValueType ret; + JSONSerializer::from_json(*this, ret); + return ret; + @endcode + + This overloads is chosen if: + - @a ValueType is not @ref basic_json, + - @ref json_serializer has a `from_json()` method of the form + `void from_json(const basic_json&, ValueType&)`, and + - @ref json_serializer does not have a `from_json()` method of + the form `ValueType from_json(const basic_json&)` + + @tparam ValueTypeCV the provided value type + @tparam ValueType the returned value type + + @return copy of the JSON value, converted to @a ValueType + + @throw what @ref json_serializer `from_json()` method throws + + @liveexample{The example below shows several conversions from JSON values + to other types. There a few things to note: (1) Floating-point numbers can + be converted to integers\, (2) A JSON array can be converted to a standard + `std::vector`\, (3) A JSON object can be converted to C++ + associative containers such as `std::unordered_map`.,get__ValueType_const} + + @since version 2.1.0 + */ + template < typename ValueTypeCV, typename ValueType = detail::uncvref_t, + detail::enable_if_t < + !detail::is_basic_json::value && + detail::has_from_json::value && + !detail::has_non_default_from_json::value, + int > = 0 > + ValueType get() const noexcept(noexcept( + JSONSerializer::from_json(std::declval(), std::declval()))) + { + // we cannot static_assert on ValueTypeCV being non-const, because + // there is support for get(), which is why we + // still need the uncvref + static_assert(!std::is_reference::value, + "get() cannot be used with reference types, you might want to use get_ref()"); + static_assert(std::is_default_constructible::value, + "types must be DefaultConstructible when used with get()"); + + ValueType ret; + JSONSerializer::from_json(*this, ret); + return ret; + } + + /*! + @brief get a value (explicit); special case + + Explicit type conversion between the JSON value and a compatible value + which is **not** [CopyConstructible](https://en.cppreference.com/w/cpp/named_req/CopyConstructible) + and **not** [DefaultConstructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible). + The value is converted by calling the @ref json_serializer + `from_json()` method. + + The function is equivalent to executing + @code {.cpp} + return JSONSerializer::from_json(*this); + @endcode + + This overloads is chosen if: + - @a ValueType is not @ref basic_json and + - @ref json_serializer has a `from_json()` method of the form + `ValueType from_json(const basic_json&)` + + @note If @ref json_serializer has both overloads of + `from_json()`, this one is chosen. + + @tparam ValueTypeCV the provided value type + @tparam ValueType the returned value type + + @return copy of the JSON value, converted to @a ValueType + + @throw what @ref json_serializer `from_json()` method throws + + @since version 2.1.0 + */ + template < typename ValueTypeCV, typename ValueType = detail::uncvref_t, + detail::enable_if_t < !std::is_same::value && + detail::has_non_default_from_json::value, + int > = 0 > + ValueType get() const noexcept(noexcept( + JSONSerializer::from_json(std::declval()))) + { + static_assert(!std::is_reference::value, + "get() cannot be used with reference types, you might want to use get_ref()"); + return JSONSerializer::from_json(*this); + } + + /*! + @brief get a value (explicit) + + Explicit type conversion between the JSON value and a compatible value. + The value is filled into the input parameter by calling the @ref json_serializer + `from_json()` method. + + The function is equivalent to executing + @code {.cpp} + ValueType v; + JSONSerializer::from_json(*this, v); + @endcode + + This overloads is chosen if: + - @a ValueType is not @ref basic_json, + - @ref json_serializer has a `from_json()` method of the form + `void from_json(const basic_json&, ValueType&)`, and + + @tparam ValueType the input parameter type. + + @return the input parameter, allowing chaining calls. + + @throw what @ref json_serializer `from_json()` method throws + + @liveexample{The example below shows several conversions from JSON values + to other types. There a few things to note: (1) Floating-point numbers can + be converted to integers\, (2) A JSON array can be converted to a standard + `std::vector`\, (3) A JSON object can be converted to C++ + associative containers such as `std::unordered_map`.,get_to} + + @since version 3.3.0 + */ + template < typename ValueType, + detail::enable_if_t < + !detail::is_basic_json::value&& + detail::has_from_json::value, + int > = 0 > + ValueType & get_to(ValueType& v) const noexcept(noexcept( + JSONSerializer::from_json(std::declval(), v))) + { + JSONSerializer::from_json(*this, v); + return v; + } + + // specialization to allow to call get_to with a basic_json value + // see https://github.com/nlohmann/json/issues/2175 + template::value, + int> = 0> + ValueType & get_to(ValueType& v) const + { + v = *this; + return v; + } + + template < + typename T, std::size_t N, + typename Array = T (&)[N], + detail::enable_if_t < + detail::has_from_json::value, int > = 0 > + Array get_to(T (&v)[N]) const + noexcept(noexcept(JSONSerializer::from_json( + std::declval(), v))) + { + JSONSerializer::from_json(*this, v); + return v; + } + + + /*! + @brief get a pointer value (implicit) + + Implicit pointer access to the internally stored JSON value. No copies are + made. + + @warning Writing data to the pointee of the result yields an undefined + state. + + @tparam PointerType pointer type; must be a pointer to @ref array_t, @ref + object_t, @ref string_t, @ref boolean_t, @ref number_integer_t, + @ref number_unsigned_t, or @ref number_float_t. Enforced by a static + assertion. + + @return pointer to the internally stored JSON value if the requested + pointer type @a PointerType fits to the JSON value; `nullptr` otherwise + + @complexity Constant. + + @liveexample{The example below shows how pointers to internal values of a + JSON value can be requested. Note that no type conversions are made and a + `nullptr` is returned if the value and the requested pointer type does not + match.,get_ptr} + + @since version 1.0.0 + */ + template::value, int>::type = 0> + auto get_ptr() noexcept -> decltype(std::declval().get_impl_ptr(std::declval())) + { + // delegate the call to get_impl_ptr<>() + return get_impl_ptr(static_cast(nullptr)); + } + + /*! + @brief get a pointer value (implicit) + @copydoc get_ptr() + */ + template < typename PointerType, typename std::enable_if < + std::is_pointer::value&& + std::is_const::type>::value, int >::type = 0 > + constexpr auto get_ptr() const noexcept -> decltype(std::declval().get_impl_ptr(std::declval())) + { + // delegate the call to get_impl_ptr<>() const + return get_impl_ptr(static_cast(nullptr)); + } + + /*! + @brief get a pointer value (explicit) + + Explicit pointer access to the internally stored JSON value. No copies are + made. + + @warning The pointer becomes invalid if the underlying JSON object + changes. + + @tparam PointerType pointer type; must be a pointer to @ref array_t, @ref + object_t, @ref string_t, @ref boolean_t, @ref number_integer_t, + @ref number_unsigned_t, or @ref number_float_t. + + @return pointer to the internally stored JSON value if the requested + pointer type @a PointerType fits to the JSON value; `nullptr` otherwise + + @complexity Constant. + + @liveexample{The example below shows how pointers to internal values of a + JSON value can be requested. Note that no type conversions are made and a + `nullptr` is returned if the value and the requested pointer type does not + match.,get__PointerType} + + @sa @ref get_ptr() for explicit pointer-member access + + @since version 1.0.0 + */ + template::value, int>::type = 0> + auto get() noexcept -> decltype(std::declval().template get_ptr()) + { + // delegate the call to get_ptr + return get_ptr(); + } + + /*! + @brief get a pointer value (explicit) + @copydoc get() + */ + template::value, int>::type = 0> + constexpr auto get() const noexcept -> decltype(std::declval().template get_ptr()) + { + // delegate the call to get_ptr + return get_ptr(); + } + + /*! + @brief get a reference value (implicit) + + Implicit reference access to the internally stored JSON value. No copies + are made. + + @warning Writing data to the referee of the result yields an undefined + state. + + @tparam ReferenceType reference type; must be a reference to @ref array_t, + @ref object_t, @ref string_t, @ref boolean_t, @ref number_integer_t, or + @ref number_float_t. Enforced by static assertion. + + @return reference to the internally stored JSON value if the requested + reference type @a ReferenceType fits to the JSON value; throws + type_error.303 otherwise + + @throw type_error.303 in case passed type @a ReferenceType is incompatible + with the stored JSON value; see example below + + @complexity Constant. + + @liveexample{The example shows several calls to `get_ref()`.,get_ref} + + @since version 1.1.0 + */ + template::value, int>::type = 0> + ReferenceType get_ref() + { + // delegate call to get_ref_impl + return get_ref_impl(*this); + } + + /*! + @brief get a reference value (implicit) + @copydoc get_ref() + */ + template < typename ReferenceType, typename std::enable_if < + std::is_reference::value&& + std::is_const::type>::value, int >::type = 0 > + ReferenceType get_ref() const + { + // delegate call to get_ref_impl + return get_ref_impl(*this); + } + + /*! + @brief get a value (implicit) + + Implicit type conversion between the JSON value and a compatible value. + The call is realized by calling @ref get() const. + + @tparam ValueType non-pointer type compatible to the JSON value, for + instance `int` for JSON integer numbers, `bool` for JSON booleans, or + `std::vector` types for JSON arrays. The character type of @ref string_t + as well as an initializer list of this type is excluded to avoid + ambiguities as these types implicitly convert to `std::string`. + + @return copy of the JSON value, converted to type @a ValueType + + @throw type_error.302 in case passed type @a ValueType is incompatible + to the JSON value type (e.g., the JSON value is of type boolean, but a + string is requested); see example below + + @complexity Linear in the size of the JSON value. + + @liveexample{The example below shows several conversions from JSON values + to other types. There a few things to note: (1) Floating-point numbers can + be converted to integers\, (2) A JSON array can be converted to a standard + `std::vector`\, (3) A JSON object can be converted to C++ + associative containers such as `std::unordered_map`.,operator__ValueType} + + @since version 1.0.0 + */ + template < typename ValueType, typename std::enable_if < + !std::is_pointer::value&& + !std::is_same>::value&& + !std::is_same::value&& + !detail::is_basic_json::value + && !std::is_same>::value +#if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1910 && _MSC_VER <= 1914)) + && !std::is_same::value +#endif + && detail::is_detected::value + , int >::type = 0 > + JSON_EXPLICIT operator ValueType() const + { + // delegate the call to get<>() const + return get(); + } + + /*! + @return reference to the binary value + + @throw type_error.302 if the value is not binary + + @sa @ref is_binary() to check if the value is binary + + @since version 3.8.0 + */ + binary_t& get_binary() + { + if (!is_binary()) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()))); + } + + return *get_ptr(); + } + + /// @copydoc get_binary() + const binary_t& get_binary() const + { + if (!is_binary()) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()))); + } + + return *get_ptr(); + } + + /// @} + + + //////////////////// + // element access // + //////////////////// + + /// @name element access + /// Access to the JSON value. + /// @{ + + /*! + @brief access specified array element with bounds checking + + Returns a reference to the element at specified location @a idx, with + bounds checking. + + @param[in] idx index of the element to access + + @return reference to the element at index @a idx + + @throw type_error.304 if the JSON value is not an array; in this case, + calling `at` with an index makes no sense. See example below. + @throw out_of_range.401 if the index @a idx is out of range of the array; + that is, `idx >= size()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 1.0.0 + + @liveexample{The example below shows how array elements can be read and + written using `at()`. It also demonstrates the different exceptions that + can be thrown.,at__size_type} + */ + reference at(size_type idx) + { + // at only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + JSON_TRY + { + return m_value.array->at(idx); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range")); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()))); + } + } + + /*! + @brief access specified array element with bounds checking + + Returns a const reference to the element at specified location @a idx, + with bounds checking. + + @param[in] idx index of the element to access + + @return const reference to the element at index @a idx + + @throw type_error.304 if the JSON value is not an array; in this case, + calling `at` with an index makes no sense. See example below. + @throw out_of_range.401 if the index @a idx is out of range of the array; + that is, `idx >= size()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 1.0.0 + + @liveexample{The example below shows how array elements can be read using + `at()`. It also demonstrates the different exceptions that can be thrown., + at__size_type_const} + */ + const_reference at(size_type idx) const + { + // at only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + JSON_TRY + { + return m_value.array->at(idx); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range")); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()))); + } + } + + /*! + @brief access specified object element with bounds checking + + Returns a reference to the element at with specified key @a key, with + bounds checking. + + @param[in] key key of the element to access + + @return reference to the element at key @a key + + @throw type_error.304 if the JSON value is not an object; in this case, + calling `at` with a key makes no sense. See example below. + @throw out_of_range.403 if the key @a key is is not stored in the object; + that is, `find(key) == end()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Logarithmic in the size of the container. + + @sa @ref operator[](const typename object_t::key_type&) for unchecked + access by reference + @sa @ref value() for access by value with a default value + + @since version 1.0.0 + + @liveexample{The example below shows how object elements can be read and + written using `at()`. It also demonstrates the different exceptions that + can be thrown.,at__object_t_key_type} + */ + reference at(const typename object_t::key_type& key) + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_TRY + { + return m_value.object->at(key); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(403, "key '" + key + "' not found")); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()))); + } + } + + /*! + @brief access specified object element with bounds checking + + Returns a const reference to the element at with specified key @a key, + with bounds checking. + + @param[in] key key of the element to access + + @return const reference to the element at key @a key + + @throw type_error.304 if the JSON value is not an object; in this case, + calling `at` with a key makes no sense. See example below. + @throw out_of_range.403 if the key @a key is is not stored in the object; + that is, `find(key) == end()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Logarithmic in the size of the container. + + @sa @ref operator[](const typename object_t::key_type&) for unchecked + access by reference + @sa @ref value() for access by value with a default value + + @since version 1.0.0 + + @liveexample{The example below shows how object elements can be read using + `at()`. It also demonstrates the different exceptions that can be thrown., + at__object_t_key_type_const} + */ + const_reference at(const typename object_t::key_type& key) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_TRY + { + return m_value.object->at(key); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(403, "key '" + key + "' not found")); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()))); + } + } + + /*! + @brief access specified array element + + Returns a reference to the element at specified location @a idx. + + @note If @a idx is beyond the range of the array (i.e., `idx >= size()`), + then the array is silently filled up with `null` values to make `idx` a + valid reference to the last stored element. + + @param[in] idx index of the element to access + + @return reference to the element at index @a idx + + @throw type_error.305 if the JSON value is not an array or null; in that + cases, using the [] operator with an index makes no sense. + + @complexity Constant if @a idx is in the range of the array. Otherwise + linear in `idx - size()`. + + @liveexample{The example below shows how array elements can be read and + written using `[]` operator. Note the addition of `null` + values.,operatorarray__size_type} + + @since version 1.0.0 + */ + reference operator[](size_type idx) + { + // implicitly convert null value to an empty array + if (is_null()) + { + m_type = value_t::array; + m_value.array = create(); + assert_invariant(); + } + + // operator[] only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + // fill up array with null values if given idx is outside range + if (idx >= m_value.array->size()) + { + m_value.array->insert(m_value.array->end(), + idx - m_value.array->size() + 1, + basic_json()); + } + + return m_value.array->operator[](idx); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name()))); + } + + /*! + @brief access specified array element + + Returns a const reference to the element at specified location @a idx. + + @param[in] idx index of the element to access + + @return const reference to the element at index @a idx + + @throw type_error.305 if the JSON value is not an array; in that case, + using the [] operator with an index makes no sense. + + @complexity Constant. + + @liveexample{The example below shows how array elements can be read using + the `[]` operator.,operatorarray__size_type_const} + + @since version 1.0.0 + */ + const_reference operator[](size_type idx) const + { + // const operator[] only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + return m_value.array->operator[](idx); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name()))); + } + + /*! + @brief access specified object element + + Returns a reference to the element at with specified key @a key. + + @note If @a key is not found in the object, then it is silently added to + the object and filled with a `null` value to make `key` a valid reference. + In case the value was `null` before, it is converted to an object. + + @param[in] key key of the element to access + + @return reference to the element at key @a key + + @throw type_error.305 if the JSON value is not an object or null; in that + cases, using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read and + written using the `[]` operator.,operatorarray__key_type} + + @sa @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa @ref value() for access by value with a default value + + @since version 1.0.0 + */ + reference operator[](const typename object_t::key_type& key) + { + // implicitly convert null value to an empty object + if (is_null()) + { + m_type = value_t::object; + m_value.object = create(); + assert_invariant(); + } + + // operator[] only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + return m_value.object->operator[](key); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()))); + } + + /*! + @brief read-only access specified object element + + Returns a const reference to the element at with specified key @a key. No + bounds checking is performed. + + @warning If the element with key @a key does not exist, the behavior is + undefined. + + @param[in] key key of the element to access + + @return const reference to the element at key @a key + + @pre The element with key @a key must exist. **This precondition is + enforced with an assertion.** + + @throw type_error.305 if the JSON value is not an object; in that case, + using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read using + the `[]` operator.,operatorarray__key_type_const} + + @sa @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa @ref value() for access by value with a default value + + @since version 1.0.0 + */ + const_reference operator[](const typename object_t::key_type& key) const + { + // const operator[] only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_ASSERT(m_value.object->find(key) != m_value.object->end()); + return m_value.object->find(key)->second; + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()))); + } + + /*! + @brief access specified object element + + Returns a reference to the element at with specified key @a key. + + @note If @a key is not found in the object, then it is silently added to + the object and filled with a `null` value to make `key` a valid reference. + In case the value was `null` before, it is converted to an object. + + @param[in] key key of the element to access + + @return reference to the element at key @a key + + @throw type_error.305 if the JSON value is not an object or null; in that + cases, using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read and + written using the `[]` operator.,operatorarray__key_type} + + @sa @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa @ref value() for access by value with a default value + + @since version 1.1.0 + */ + template + JSON_HEDLEY_NON_NULL(2) + reference operator[](T* key) + { + // implicitly convert null to object + if (is_null()) + { + m_type = value_t::object; + m_value = value_t::object; + assert_invariant(); + } + + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + return m_value.object->operator[](key); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()))); + } + + /*! + @brief read-only access specified object element + + Returns a const reference to the element at with specified key @a key. No + bounds checking is performed. + + @warning If the element with key @a key does not exist, the behavior is + undefined. + + @param[in] key key of the element to access + + @return const reference to the element at key @a key + + @pre The element with key @a key must exist. **This precondition is + enforced with an assertion.** + + @throw type_error.305 if the JSON value is not an object; in that case, + using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read using + the `[]` operator.,operatorarray__key_type_const} + + @sa @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa @ref value() for access by value with a default value + + @since version 1.1.0 + */ + template + JSON_HEDLEY_NON_NULL(2) + const_reference operator[](T* key) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_ASSERT(m_value.object->find(key) != m_value.object->end()); + return m_value.object->find(key)->second; + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()))); + } + + /*! + @brief access specified object element with default value + + Returns either a copy of an object's element at the specified key @a key + or a given default value if no element with key @a key exists. + + The function is basically equivalent to executing + @code {.cpp} + try { + return at(key); + } catch(out_of_range) { + return default_value; + } + @endcode + + @note Unlike @ref at(const typename object_t::key_type&), this function + does not throw if the given key @a key was not found. + + @note Unlike @ref operator[](const typename object_t::key_type& key), this + function does not implicitly add an element to the position defined by @a + key. This function is furthermore also applicable to const objects. + + @param[in] key key of the element to access + @param[in] default_value the value to return if @a key is not found + + @tparam ValueType type compatible to JSON values, for instance `int` for + JSON integer numbers, `bool` for JSON booleans, or `std::vector` types for + JSON arrays. Note the type of the expected value at @a key and the default + value @a default_value must be compatible. + + @return copy of the element at key @a key or @a default_value if @a key + is not found + + @throw type_error.302 if @a default_value does not match the type of the + value at @a key + @throw type_error.306 if the JSON value is not an object; in that case, + using `value()` with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be queried + with a default value.,basic_json__value} + + @sa @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa @ref operator[](const typename object_t::key_type&) for unchecked + access by reference + + @since version 1.0.0 + */ + // using std::is_convertible in a std::enable_if will fail when using explicit conversions + template < class ValueType, typename std::enable_if < + detail::is_getable::value + && !std::is_same::value, int >::type = 0 > + ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + // if key is found, return value and given default value otherwise + const auto it = find(key); + if (it != end()) + { + return it->template get(); + } + + return default_value; + } + + JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()))); + } + + /*! + @brief overload for a default value of type const char* + @copydoc basic_json::value(const typename object_t::key_type&, const ValueType&) const + */ + string_t value(const typename object_t::key_type& key, const char* default_value) const + { + return value(key, string_t(default_value)); + } + + /*! + @brief access specified object element via JSON Pointer with default value + + Returns either a copy of an object's element at the specified key @a key + or a given default value if no element with key @a key exists. + + The function is basically equivalent to executing + @code {.cpp} + try { + return at(ptr); + } catch(out_of_range) { + return default_value; + } + @endcode + + @note Unlike @ref at(const json_pointer&), this function does not throw + if the given key @a key was not found. + + @param[in] ptr a JSON pointer to the element to access + @param[in] default_value the value to return if @a ptr found no value + + @tparam ValueType type compatible to JSON values, for instance `int` for + JSON integer numbers, `bool` for JSON booleans, or `std::vector` types for + JSON arrays. Note the type of the expected value at @a key and the default + value @a default_value must be compatible. + + @return copy of the element at key @a key or @a default_value if @a key + is not found + + @throw type_error.302 if @a default_value does not match the type of the + value at @a ptr + @throw type_error.306 if the JSON value is not an object; in that case, + using `value()` with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be queried + with a default value.,basic_json__value_ptr} + + @sa @ref operator[](const json_pointer&) for unchecked access by reference + + @since version 2.0.2 + */ + template::value, int>::type = 0> + ValueType value(const json_pointer& ptr, const ValueType& default_value) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + // if pointer resolves a value, return it or use default value + JSON_TRY + { + return ptr.get_checked(this).template get(); + } + JSON_INTERNAL_CATCH (out_of_range&) + { + return default_value; + } + } + + JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()))); + } + + /*! + @brief overload for a default value of type const char* + @copydoc basic_json::value(const json_pointer&, ValueType) const + */ + JSON_HEDLEY_NON_NULL(3) + string_t value(const json_pointer& ptr, const char* default_value) const + { + return value(ptr, string_t(default_value)); + } + + /*! + @brief access the first element + + Returns a reference to the first element in the container. For a JSON + container `c`, the expression `c.front()` is equivalent to `*c.begin()`. + + @return In case of a structured type (array or object), a reference to the + first element is returned. In case of number, string, boolean, or binary + values, a reference to the value is returned. + + @complexity Constant. + + @pre The JSON value must not be `null` (would throw `std::out_of_range`) + or an empty array or object (undefined behavior, **guarded by + assertions**). + @post The JSON value remains unchanged. + + @throw invalid_iterator.214 when called on `null` value + + @liveexample{The following code shows an example for `front()`.,front} + + @sa @ref back() -- access the last element + + @since version 1.0.0 + */ + reference front() + { + return *begin(); + } + + /*! + @copydoc basic_json::front() + */ + const_reference front() const + { + return *cbegin(); + } + + /*! + @brief access the last element + + Returns a reference to the last element in the container. For a JSON + container `c`, the expression `c.back()` is equivalent to + @code {.cpp} + auto tmp = c.end(); + --tmp; + return *tmp; + @endcode + + @return In case of a structured type (array or object), a reference to the + last element is returned. In case of number, string, boolean, or binary + values, a reference to the value is returned. + + @complexity Constant. + + @pre The JSON value must not be `null` (would throw `std::out_of_range`) + or an empty array or object (undefined behavior, **guarded by + assertions**). + @post The JSON value remains unchanged. + + @throw invalid_iterator.214 when called on a `null` value. See example + below. + + @liveexample{The following code shows an example for `back()`.,back} + + @sa @ref front() -- access the first element + + @since version 1.0.0 + */ + reference back() + { + auto tmp = end(); + --tmp; + return *tmp; + } + + /*! + @copydoc basic_json::back() + */ + const_reference back() const + { + auto tmp = cend(); + --tmp; + return *tmp; + } + + /*! + @brief remove element given an iterator + + Removes the element specified by iterator @a pos. The iterator @a pos must + be valid and dereferenceable. Thus the `end()` iterator (which is valid, + but is not dereferenceable) cannot be used as a value for @a pos. + + If called on a primitive type other than `null`, the resulting JSON value + will be `null`. + + @param[in] pos iterator to the element to remove + @return Iterator following the last removed element. If the iterator @a + pos refers to the last element, the `end()` iterator is returned. + + @tparam IteratorType an @ref iterator or @ref const_iterator + + @post Invalidates iterators and references at or after the point of the + erase, including the `end()` iterator. + + @throw type_error.307 if called on a `null` value; example: `"cannot use + erase() with null"` + @throw invalid_iterator.202 if called on an iterator which does not belong + to the current JSON value; example: `"iterator does not fit current + value"` + @throw invalid_iterator.205 if called on a primitive type with invalid + iterator (i.e., any iterator which is not `begin()`); example: `"iterator + out of range"` + + @complexity The complexity depends on the type: + - objects: amortized constant + - arrays: linear in distance between @a pos and the end of the container + - strings and binary: linear in the length of the member + - other types: constant + + @liveexample{The example shows the result of `erase()` for different JSON + types.,erase__IteratorType} + + @sa @ref erase(IteratorType, IteratorType) -- removes the elements in + the given range + @sa @ref erase(const typename object_t::key_type&) -- removes the element + from an object at the given key + @sa @ref erase(const size_type) -- removes the element from an array at + the given index + + @since version 1.0.0 + */ + template < class IteratorType, typename std::enable_if < + std::is_same::value || + std::is_same::value, int >::type + = 0 > + IteratorType erase(IteratorType pos) + { + // make sure iterator fits the current value + if (JSON_HEDLEY_UNLIKELY(this != pos.m_object)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); + } + + IteratorType result = end(); + + switch (m_type) + { + case value_t::boolean: + case value_t::number_float: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::string: + case value_t::binary: + { + if (JSON_HEDLEY_UNLIKELY(!pos.m_it.primitive_iterator.is_begin())) + { + JSON_THROW(invalid_iterator::create(205, "iterator out of range")); + } + + if (is_string()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.string); + std::allocator_traits::deallocate(alloc, m_value.string, 1); + m_value.string = nullptr; + } + else if (is_binary()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.binary); + std::allocator_traits::deallocate(alloc, m_value.binary, 1); + m_value.binary = nullptr; + } + + m_type = value_t::null; + assert_invariant(); + break; + } + + case value_t::object: + { + result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator); + break; + } + + case value_t::array: + { + result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator); + break; + } + + default: + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()))); + } + + return result; + } + + /*! + @brief remove elements given an iterator range + + Removes the element specified by the range `[first; last)`. The iterator + @a first does not need to be dereferenceable if `first == last`: erasing + an empty range is a no-op. + + If called on a primitive type other than `null`, the resulting JSON value + will be `null`. + + @param[in] first iterator to the beginning of the range to remove + @param[in] last iterator past the end of the range to remove + @return Iterator following the last removed element. If the iterator @a + second refers to the last element, the `end()` iterator is returned. + + @tparam IteratorType an @ref iterator or @ref const_iterator + + @post Invalidates iterators and references at or after the point of the + erase, including the `end()` iterator. + + @throw type_error.307 if called on a `null` value; example: `"cannot use + erase() with null"` + @throw invalid_iterator.203 if called on iterators which does not belong + to the current JSON value; example: `"iterators do not fit current value"` + @throw invalid_iterator.204 if called on a primitive type with invalid + iterators (i.e., if `first != begin()` and `last != end()`); example: + `"iterators out of range"` + + @complexity The complexity depends on the type: + - objects: `log(size()) + std::distance(first, last)` + - arrays: linear in the distance between @a first and @a last, plus linear + in the distance between @a last and end of the container + - strings and binary: linear in the length of the member + - other types: constant + + @liveexample{The example shows the result of `erase()` for different JSON + types.,erase__IteratorType_IteratorType} + + @sa @ref erase(IteratorType) -- removes the element at a given position + @sa @ref erase(const typename object_t::key_type&) -- removes the element + from an object at the given key + @sa @ref erase(const size_type) -- removes the element from an array at + the given index + + @since version 1.0.0 + */ + template < class IteratorType, typename std::enable_if < + std::is_same::value || + std::is_same::value, int >::type + = 0 > + IteratorType erase(IteratorType first, IteratorType last) + { + // make sure iterator fits the current value + if (JSON_HEDLEY_UNLIKELY(this != first.m_object || this != last.m_object)) + { + JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value")); + } + + IteratorType result = end(); + + switch (m_type) + { + case value_t::boolean: + case value_t::number_float: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::string: + case value_t::binary: + { + if (JSON_HEDLEY_LIKELY(!first.m_it.primitive_iterator.is_begin() + || !last.m_it.primitive_iterator.is_end())) + { + JSON_THROW(invalid_iterator::create(204, "iterators out of range")); + } + + if (is_string()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.string); + std::allocator_traits::deallocate(alloc, m_value.string, 1); + m_value.string = nullptr; + } + else if (is_binary()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.binary); + std::allocator_traits::deallocate(alloc, m_value.binary, 1); + m_value.binary = nullptr; + } + + m_type = value_t::null; + assert_invariant(); + break; + } + + case value_t::object: + { + result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator, + last.m_it.object_iterator); + break; + } + + case value_t::array: + { + result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator, + last.m_it.array_iterator); + break; + } + + default: + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()))); + } + + return result; + } + + /*! + @brief remove element from a JSON object given a key + + Removes elements from a JSON object with the key value @a key. + + @param[in] key value of the elements to remove + + @return Number of elements removed. If @a ObjectType is the default + `std::map` type, the return value will always be `0` (@a key was not + found) or `1` (@a key was found). + + @post References and iterators to the erased elements are invalidated. + Other references and iterators are not affected. + + @throw type_error.307 when called on a type other than JSON object; + example: `"cannot use erase() with null"` + + @complexity `log(size()) + count(key)` + + @liveexample{The example shows the effect of `erase()`.,erase__key_type} + + @sa @ref erase(IteratorType) -- removes the element at a given position + @sa @ref erase(IteratorType, IteratorType) -- removes the elements in + the given range + @sa @ref erase(const size_type) -- removes the element from an array at + the given index + + @since version 1.0.0 + */ + size_type erase(const typename object_t::key_type& key) + { + // this erase only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + return m_value.object->erase(key); + } + + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()))); + } + + /*! + @brief remove element from a JSON array given an index + + Removes element from a JSON array at the index @a idx. + + @param[in] idx index of the element to remove + + @throw type_error.307 when called on a type other than JSON object; + example: `"cannot use erase() with null"` + @throw out_of_range.401 when `idx >= size()`; example: `"array index 17 + is out of range"` + + @complexity Linear in distance between @a idx and the end of the container. + + @liveexample{The example shows the effect of `erase()`.,erase__size_type} + + @sa @ref erase(IteratorType) -- removes the element at a given position + @sa @ref erase(IteratorType, IteratorType) -- removes the elements in + the given range + @sa @ref erase(const typename object_t::key_type&) -- removes the element + from an object at the given key + + @since version 1.0.0 + */ + void erase(const size_type idx) + { + // this erase only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + if (JSON_HEDLEY_UNLIKELY(idx >= size())) + { + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range")); + } + + m_value.array->erase(m_value.array->begin() + static_cast(idx)); + } + else + { + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()))); + } + } + + /// @} + + + //////////// + // lookup // + //////////// + + /// @name lookup + /// @{ + + /*! + @brief find an element in a JSON object + + Finds an element in a JSON object with key equivalent to @a key. If the + element is not found or the JSON value is not an object, end() is + returned. + + @note This method always returns @ref end() when executed on a JSON type + that is not an object. + + @param[in] key key value of the element to search for. + + @return Iterator to an element with key equivalent to @a key. If no such + element is found or the JSON value is not an object, past-the-end (see + @ref end()) iterator is returned. + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The example shows how `find()` is used.,find__key_type} + + @sa @ref contains(KeyT&&) const -- checks whether a key exists + + @since version 1.0.0 + */ + template + iterator find(KeyT&& key) + { + auto result = end(); + + if (is_object()) + { + result.m_it.object_iterator = m_value.object->find(std::forward(key)); + } + + return result; + } + + /*! + @brief find an element in a JSON object + @copydoc find(KeyT&&) + */ + template + const_iterator find(KeyT&& key) const + { + auto result = cend(); + + if (is_object()) + { + result.m_it.object_iterator = m_value.object->find(std::forward(key)); + } + + return result; + } + + /*! + @brief returns the number of occurrences of a key in a JSON object + + Returns the number of elements with key @a key. If ObjectType is the + default `std::map` type, the return value will always be `0` (@a key was + not found) or `1` (@a key was found). + + @note This method always returns `0` when executed on a JSON type that is + not an object. + + @param[in] key key value of the element to count + + @return Number of elements with key @a key. If the JSON value is not an + object, the return value will be `0`. + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The example shows how `count()` is used.,count} + + @since version 1.0.0 + */ + template + size_type count(KeyT&& key) const + { + // return 0 for all nonobject types + return is_object() ? m_value.object->count(std::forward(key)) : 0; + } + + /*! + @brief check the existence of an element in a JSON object + + Check whether an element exists in a JSON object with key equivalent to + @a key. If the element is not found or the JSON value is not an object, + false is returned. + + @note This method always returns false when executed on a JSON type + that is not an object. + + @param[in] key key value to check its existence. + + @return true if an element with specified @a key exists. If no such + element with such key is found or the JSON value is not an object, + false is returned. + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The following code shows an example for `contains()`.,contains} + + @sa @ref find(KeyT&&) -- returns an iterator to an object element + @sa @ref contains(const json_pointer&) const -- checks the existence for a JSON pointer + + @since version 3.6.0 + */ + template < typename KeyT, typename std::enable_if < + !std::is_same::type, json_pointer>::value, int >::type = 0 > + bool contains(KeyT && key) const + { + return is_object() && m_value.object->find(std::forward(key)) != m_value.object->end(); + } + + /*! + @brief check the existence of an element in a JSON object given a JSON pointer + + Check whether the given JSON pointer @a ptr can be resolved in the current + JSON value. + + @note This method can be executed on any JSON value type. + + @param[in] ptr JSON pointer to check its existence. + + @return true if the JSON pointer can be resolved to a stored value, false + otherwise. + + @post If `j.contains(ptr)` returns true, it is safe to call `j[ptr]`. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The following code shows an example for `contains()`.,contains_json_pointer} + + @sa @ref contains(KeyT &&) const -- checks the existence of a key + + @since version 3.7.0 + */ + bool contains(const json_pointer& ptr) const + { + return ptr.contains(this); + } + + /// @} + + + /////////////// + // iterators // + /////////////// + + /// @name iterators + /// @{ + + /*! + @brief returns an iterator to the first element + + Returns an iterator to the first element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return iterator to the first element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + + @liveexample{The following code shows an example for `begin()`.,begin} + + @sa @ref cbegin() -- returns a const iterator to the beginning + @sa @ref end() -- returns an iterator to the end + @sa @ref cend() -- returns a const iterator to the end + + @since version 1.0.0 + */ + iterator begin() noexcept + { + iterator result(this); + result.set_begin(); + return result; + } + + /*! + @copydoc basic_json::cbegin() + */ + const_iterator begin() const noexcept + { + return cbegin(); + } + + /*! + @brief returns a const iterator to the first element + + Returns a const iterator to the first element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return const iterator to the first element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).begin()`. + + @liveexample{The following code shows an example for `cbegin()`.,cbegin} + + @sa @ref begin() -- returns an iterator to the beginning + @sa @ref end() -- returns an iterator to the end + @sa @ref cend() -- returns a const iterator to the end + + @since version 1.0.0 + */ + const_iterator cbegin() const noexcept + { + const_iterator result(this); + result.set_begin(); + return result; + } + + /*! + @brief returns an iterator to one past the last element + + Returns an iterator to one past the last element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return iterator one past the last element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + + @liveexample{The following code shows an example for `end()`.,end} + + @sa @ref cend() -- returns a const iterator to the end + @sa @ref begin() -- returns an iterator to the beginning + @sa @ref cbegin() -- returns a const iterator to the beginning + + @since version 1.0.0 + */ + iterator end() noexcept + { + iterator result(this); + result.set_end(); + return result; + } + + /*! + @copydoc basic_json::cend() + */ + const_iterator end() const noexcept + { + return cend(); + } + + /*! + @brief returns a const iterator to one past the last element + + Returns a const iterator to one past the last element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return const iterator one past the last element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).end()`. + + @liveexample{The following code shows an example for `cend()`.,cend} + + @sa @ref end() -- returns an iterator to the end + @sa @ref begin() -- returns an iterator to the beginning + @sa @ref cbegin() -- returns a const iterator to the beginning + + @since version 1.0.0 + */ + const_iterator cend() const noexcept + { + const_iterator result(this); + result.set_end(); + return result; + } + + /*! + @brief returns an iterator to the reverse-beginning + + Returns an iterator to the reverse-beginning; that is, the last element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `reverse_iterator(end())`. + + @liveexample{The following code shows an example for `rbegin()`.,rbegin} + + @sa @ref crbegin() -- returns a const reverse iterator to the beginning + @sa @ref rend() -- returns a reverse iterator to the end + @sa @ref crend() -- returns a const reverse iterator to the end + + @since version 1.0.0 + */ + reverse_iterator rbegin() noexcept + { + return reverse_iterator(end()); + } + + /*! + @copydoc basic_json::crbegin() + */ + const_reverse_iterator rbegin() const noexcept + { + return crbegin(); + } + + /*! + @brief returns an iterator to the reverse-end + + Returns an iterator to the reverse-end; that is, one before the first + element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `reverse_iterator(begin())`. + + @liveexample{The following code shows an example for `rend()`.,rend} + + @sa @ref crend() -- returns a const reverse iterator to the end + @sa @ref rbegin() -- returns a reverse iterator to the beginning + @sa @ref crbegin() -- returns a const reverse iterator to the beginning + + @since version 1.0.0 + */ + reverse_iterator rend() noexcept + { + return reverse_iterator(begin()); + } + + /*! + @copydoc basic_json::crend() + */ + const_reverse_iterator rend() const noexcept + { + return crend(); + } + + /*! + @brief returns a const reverse iterator to the last element + + Returns a const iterator to the reverse-beginning; that is, the last + element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).rbegin()`. + + @liveexample{The following code shows an example for `crbegin()`.,crbegin} + + @sa @ref rbegin() -- returns a reverse iterator to the beginning + @sa @ref rend() -- returns a reverse iterator to the end + @sa @ref crend() -- returns a const reverse iterator to the end + + @since version 1.0.0 + */ + const_reverse_iterator crbegin() const noexcept + { + return const_reverse_iterator(cend()); + } + + /*! + @brief returns a const reverse iterator to one before the first + + Returns a const reverse iterator to the reverse-end; that is, one before + the first element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).rend()`. + + @liveexample{The following code shows an example for `crend()`.,crend} + + @sa @ref rend() -- returns a reverse iterator to the end + @sa @ref rbegin() -- returns a reverse iterator to the beginning + @sa @ref crbegin() -- returns a const reverse iterator to the beginning + + @since version 1.0.0 + */ + const_reverse_iterator crend() const noexcept + { + return const_reverse_iterator(cbegin()); + } + + public: + /*! + @brief wrapper to access iterator member functions in range-based for + + This function allows to access @ref iterator::key() and @ref + iterator::value() during range-based for loops. In these loops, a + reference to the JSON values is returned, so there is no access to the + underlying iterator. + + For loop without iterator_wrapper: + + @code{cpp} + for (auto it = j_object.begin(); it != j_object.end(); ++it) + { + std::cout << "key: " << it.key() << ", value:" << it.value() << '\n'; + } + @endcode + + Range-based for loop without iterator proxy: + + @code{cpp} + for (auto it : j_object) + { + // "it" is of type json::reference and has no key() member + std::cout << "value: " << it << '\n'; + } + @endcode + + Range-based for loop with iterator proxy: + + @code{cpp} + for (auto it : json::iterator_wrapper(j_object)) + { + std::cout << "key: " << it.key() << ", value:" << it.value() << '\n'; + } + @endcode + + @note When iterating over an array, `key()` will return the index of the + element as string (see example). + + @param[in] ref reference to a JSON value + @return iteration proxy object wrapping @a ref with an interface to use in + range-based for loops + + @liveexample{The following code shows how the wrapper is used,iterator_wrapper} + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @note The name of this function is not yet final and may change in the + future. + + @deprecated This stream operator is deprecated and will be removed in + future 4.0.0 of the library. Please use @ref items() instead; + that is, replace `json::iterator_wrapper(j)` with `j.items()`. + */ + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) + static iteration_proxy iterator_wrapper(reference ref) noexcept + { + return ref.items(); + } + + /*! + @copydoc iterator_wrapper(reference) + */ + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) + static iteration_proxy iterator_wrapper(const_reference ref) noexcept + { + return ref.items(); + } + + /*! + @brief helper to access iterator member functions in range-based for + + This function allows to access @ref iterator::key() and @ref + iterator::value() during range-based for loops. In these loops, a + reference to the JSON values is returned, so there is no access to the + underlying iterator. + + For loop without `items()` function: + + @code{cpp} + for (auto it = j_object.begin(); it != j_object.end(); ++it) + { + std::cout << "key: " << it.key() << ", value:" << it.value() << '\n'; + } + @endcode + + Range-based for loop without `items()` function: + + @code{cpp} + for (auto it : j_object) + { + // "it" is of type json::reference and has no key() member + std::cout << "value: " << it << '\n'; + } + @endcode + + Range-based for loop with `items()` function: + + @code{cpp} + for (auto& el : j_object.items()) + { + std::cout << "key: " << el.key() << ", value:" << el.value() << '\n'; + } + @endcode + + The `items()` function also allows to use + [structured bindings](https://en.cppreference.com/w/cpp/language/structured_binding) + (C++17): + + @code{cpp} + for (auto& [key, val] : j_object.items()) + { + std::cout << "key: " << key << ", value:" << val << '\n'; + } + @endcode + + @note When iterating over an array, `key()` will return the index of the + element as string (see example). For primitive types (e.g., numbers), + `key()` returns an empty string. + + @warning Using `items()` on temporary objects is dangerous. Make sure the + object's lifetime exeeds the iteration. See + for more + information. + + @return iteration proxy object wrapping @a ref with an interface to use in + range-based for loops + + @liveexample{The following code shows how the function is used.,items} + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 3.1.0, structured bindings support since 3.5.0. + */ + iteration_proxy items() noexcept + { + return iteration_proxy(*this); + } + + /*! + @copydoc items() + */ + iteration_proxy items() const noexcept + { + return iteration_proxy(*this); + } + + /// @} + + + ////////////// + // capacity // + ////////////// + + /// @name capacity + /// @{ + + /*! + @brief checks whether the container is empty. + + Checks if a JSON value has no elements (i.e. whether its @ref size is `0`). + + @return The return value depends on the different types and is + defined as follows: + Value type | return value + ----------- | ------------- + null | `true` + boolean | `false` + string | `false` + number | `false` + binary | `false` + object | result of function `object_t::empty()` + array | result of function `array_t::empty()` + + @liveexample{The following code uses `empty()` to check if a JSON + object contains any elements.,empty} + + @complexity Constant, as long as @ref array_t and @ref object_t satisfy + the Container concept; that is, their `empty()` functions have constant + complexity. + + @iterators No changes. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @note This function does not return whether a string stored as JSON value + is empty - it returns whether the JSON container itself is empty which is + false in the case of a string. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `begin() == end()`. + + @sa @ref size() -- returns the number of elements + + @since version 1.0.0 + */ + bool empty() const noexcept + { + switch (m_type) + { + case value_t::null: + { + // null values are empty + return true; + } + + case value_t::array: + { + // delegate call to array_t::empty() + return m_value.array->empty(); + } + + case value_t::object: + { + // delegate call to object_t::empty() + return m_value.object->empty(); + } + + default: + { + // all other types are nonempty + return false; + } + } + } + + /*! + @brief returns the number of elements + + Returns the number of elements in a JSON value. + + @return The return value depends on the different types and is + defined as follows: + Value type | return value + ----------- | ------------- + null | `0` + boolean | `1` + string | `1` + number | `1` + binary | `1` + object | result of function object_t::size() + array | result of function array_t::size() + + @liveexample{The following code calls `size()` on the different value + types.,size} + + @complexity Constant, as long as @ref array_t and @ref object_t satisfy + the Container concept; that is, their size() functions have constant + complexity. + + @iterators No changes. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @note This function does not return the length of a string stored as JSON + value - it returns the number of elements in the JSON value which is 1 in + the case of a string. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `std::distance(begin(), end())`. + + @sa @ref empty() -- checks whether the container is empty + @sa @ref max_size() -- returns the maximal number of elements + + @since version 1.0.0 + */ + size_type size() const noexcept + { + switch (m_type) + { + case value_t::null: + { + // null values are empty + return 0; + } + + case value_t::array: + { + // delegate call to array_t::size() + return m_value.array->size(); + } + + case value_t::object: + { + // delegate call to object_t::size() + return m_value.object->size(); + } + + default: + { + // all other types have size 1 + return 1; + } + } + } + + /*! + @brief returns the maximum possible number of elements + + Returns the maximum number of elements a JSON value is able to hold due to + system or library implementation limitations, i.e. `std::distance(begin(), + end())` for the JSON value. + + @return The return value depends on the different types and is + defined as follows: + Value type | return value + ----------- | ------------- + null | `0` (same as `size()`) + boolean | `1` (same as `size()`) + string | `1` (same as `size()`) + number | `1` (same as `size()`) + binary | `1` (same as `size()`) + object | result of function `object_t::max_size()` + array | result of function `array_t::max_size()` + + @liveexample{The following code calls `max_size()` on the different value + types. Note the output is implementation specific.,max_size} + + @complexity Constant, as long as @ref array_t and @ref object_t satisfy + the Container concept; that is, their `max_size()` functions have constant + complexity. + + @iterators No changes. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of returning `b.size()` where `b` is the largest + possible JSON value. + + @sa @ref size() -- returns the number of elements + + @since version 1.0.0 + */ + size_type max_size() const noexcept + { + switch (m_type) + { + case value_t::array: + { + // delegate call to array_t::max_size() + return m_value.array->max_size(); + } + + case value_t::object: + { + // delegate call to object_t::max_size() + return m_value.object->max_size(); + } + + default: + { + // all other types have max_size() == size() + return size(); + } + } + } + + /// @} + + + /////////////// + // modifiers // + /////////////// + + /// @name modifiers + /// @{ + + /*! + @brief clears the contents + + Clears the content of a JSON value and resets it to the default value as + if @ref basic_json(value_t) would have been called with the current value + type from @ref type(): + + Value type | initial value + ----------- | ------------- + null | `null` + boolean | `false` + string | `""` + number | `0` + binary | An empty byte vector + object | `{}` + array | `[]` + + @post Has the same effect as calling + @code {.cpp} + *this = basic_json(type()); + @endcode + + @liveexample{The example below shows the effect of `clear()` to different + JSON types.,clear} + + @complexity Linear in the size of the JSON value. + + @iterators All iterators, pointers and references related to this container + are invalidated. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @sa @ref basic_json(value_t) -- constructor that creates an object with the + same value than calling `clear()` + + @since version 1.0.0 + */ + void clear() noexcept + { + switch (m_type) + { + case value_t::number_integer: + { + m_value.number_integer = 0; + break; + } + + case value_t::number_unsigned: + { + m_value.number_unsigned = 0; + break; + } + + case value_t::number_float: + { + m_value.number_float = 0.0; + break; + } + + case value_t::boolean: + { + m_value.boolean = false; + break; + } + + case value_t::string: + { + m_value.string->clear(); + break; + } + + case value_t::binary: + { + m_value.binary->clear(); + break; + } + + case value_t::array: + { + m_value.array->clear(); + break; + } + + case value_t::object: + { + m_value.object->clear(); + break; + } + + default: + break; + } + } + + /*! + @brief add an object to an array + + Appends the given element @a val to the end of the JSON value. If the + function is called on a JSON null value, an empty array is created before + appending @a val. + + @param[in] val the value to add to the JSON array + + @throw type_error.308 when called on a type other than JSON array or + null; example: `"cannot use push_back() with number"` + + @complexity Amortized constant. + + @liveexample{The example shows how `push_back()` and `+=` can be used to + add elements to a JSON array. Note how the `null` value was silently + converted to a JSON array.,push_back} + + @since version 1.0.0 + */ + void push_back(basic_json&& val) + { + // push_back only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array()))) + { + JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()))); + } + + // transform null object into an array + if (is_null()) + { + m_type = value_t::array; + m_value = value_t::array; + assert_invariant(); + } + + // add element to array (move semantics) + m_value.array->push_back(std::move(val)); + // if val is moved from, basic_json move constructor marks it null so we do not call the destructor + } + + /*! + @brief add an object to an array + @copydoc push_back(basic_json&&) + */ + reference operator+=(basic_json&& val) + { + push_back(std::move(val)); + return *this; + } + + /*! + @brief add an object to an array + @copydoc push_back(basic_json&&) + */ + void push_back(const basic_json& val) + { + // push_back only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array()))) + { + JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()))); + } + + // transform null object into an array + if (is_null()) + { + m_type = value_t::array; + m_value = value_t::array; + assert_invariant(); + } + + // add element to array + m_value.array->push_back(val); + } + + /*! + @brief add an object to an array + @copydoc push_back(basic_json&&) + */ + reference operator+=(const basic_json& val) + { + push_back(val); + return *this; + } + + /*! + @brief add an object to an object + + Inserts the given element @a val to the JSON object. If the function is + called on a JSON null value, an empty object is created before inserting + @a val. + + @param[in] val the value to add to the JSON object + + @throw type_error.308 when called on a type other than JSON object or + null; example: `"cannot use push_back() with number"` + + @complexity Logarithmic in the size of the container, O(log(`size()`)). + + @liveexample{The example shows how `push_back()` and `+=` can be used to + add elements to a JSON object. Note how the `null` value was silently + converted to a JSON object.,push_back__object_t__value} + + @since version 1.0.0 + */ + void push_back(const typename object_t::value_type& val) + { + // push_back only works for null objects or objects + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object()))) + { + JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()))); + } + + // transform null object into an object + if (is_null()) + { + m_type = value_t::object; + m_value = value_t::object; + assert_invariant(); + } + + // add element to array + m_value.object->insert(val); + } + + /*! + @brief add an object to an object + @copydoc push_back(const typename object_t::value_type&) + */ + reference operator+=(const typename object_t::value_type& val) + { + push_back(val); + return *this; + } + + /*! + @brief add an object to an object + + This function allows to use `push_back` with an initializer list. In case + + 1. the current value is an object, + 2. the initializer list @a init contains only two elements, and + 3. the first element of @a init is a string, + + @a init is converted into an object element and added using + @ref push_back(const typename object_t::value_type&). Otherwise, @a init + is converted to a JSON value and added using @ref push_back(basic_json&&). + + @param[in] init an initializer list + + @complexity Linear in the size of the initializer list @a init. + + @note This function is required to resolve an ambiguous overload error, + because pairs like `{"key", "value"}` can be both interpreted as + `object_t::value_type` or `std::initializer_list`, see + https://github.com/nlohmann/json/issues/235 for more information. + + @liveexample{The example shows how initializer lists are treated as + objects when possible.,push_back__initializer_list} + */ + void push_back(initializer_list_t init) + { + if (is_object() && init.size() == 2 && (*init.begin())->is_string()) + { + basic_json&& key = init.begin()->moved_or_copied(); + push_back(typename object_t::value_type( + std::move(key.get_ref()), (init.begin() + 1)->moved_or_copied())); + } + else + { + push_back(basic_json(init)); + } + } + + /*! + @brief add an object to an object + @copydoc push_back(initializer_list_t) + */ + reference operator+=(initializer_list_t init) + { + push_back(init); + return *this; + } + + /*! + @brief add an object to an array + + Creates a JSON value from the passed parameters @a args to the end of the + JSON value. If the function is called on a JSON null value, an empty array + is created before appending the value created from @a args. + + @param[in] args arguments to forward to a constructor of @ref basic_json + @tparam Args compatible types to create a @ref basic_json object + + @return reference to the inserted element + + @throw type_error.311 when called on a type other than JSON array or + null; example: `"cannot use emplace_back() with number"` + + @complexity Amortized constant. + + @liveexample{The example shows how `push_back()` can be used to add + elements to a JSON array. Note how the `null` value was silently converted + to a JSON array.,emplace_back} + + @since version 2.0.8, returns reference since 3.7.0 + */ + template + reference emplace_back(Args&& ... args) + { + // emplace_back only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array()))) + { + JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name()))); + } + + // transform null object into an array + if (is_null()) + { + m_type = value_t::array; + m_value = value_t::array; + assert_invariant(); + } + + // add element to array (perfect forwarding) +#ifdef JSON_HAS_CPP_17 + return m_value.array->emplace_back(std::forward(args)...); +#else + m_value.array->emplace_back(std::forward(args)...); + return m_value.array->back(); +#endif + } + + /*! + @brief add an object to an object if key does not exist + + Inserts a new element into a JSON object constructed in-place with the + given @a args if there is no element with the key in the container. If the + function is called on a JSON null value, an empty object is created before + appending the value created from @a args. + + @param[in] args arguments to forward to a constructor of @ref basic_json + @tparam Args compatible types to create a @ref basic_json object + + @return a pair consisting of an iterator to the inserted element, or the + already-existing element if no insertion happened, and a bool + denoting whether the insertion took place. + + @throw type_error.311 when called on a type other than JSON object or + null; example: `"cannot use emplace() with number"` + + @complexity Logarithmic in the size of the container, O(log(`size()`)). + + @liveexample{The example shows how `emplace()` can be used to add elements + to a JSON object. Note how the `null` value was silently converted to a + JSON object. Further note how no value is added if there was already one + value stored with the same key.,emplace} + + @since version 2.0.8 + */ + template + std::pair emplace(Args&& ... args) + { + // emplace only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object()))) + { + JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name()))); + } + + // transform null object into an object + if (is_null()) + { + m_type = value_t::object; + m_value = value_t::object; + assert_invariant(); + } + + // add element to array (perfect forwarding) + auto res = m_value.object->emplace(std::forward(args)...); + // create result iterator and set iterator to the result of emplace + auto it = begin(); + it.m_it.object_iterator = res.first; + + // return pair of iterator and boolean + return {it, res.second}; + } + + /// Helper for insertion of an iterator + /// @note: This uses std::distance to support GCC 4.8, + /// see https://github.com/nlohmann/json/pull/1257 + template + iterator insert_iterator(const_iterator pos, Args&& ... args) + { + iterator result(this); + JSON_ASSERT(m_value.array != nullptr); + + auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator); + m_value.array->insert(pos.m_it.array_iterator, std::forward(args)...); + result.m_it.array_iterator = m_value.array->begin() + insert_pos; + + // This could have been written as: + // result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val); + // but the return value of insert is missing in GCC 4.8, so it is written this way instead. + + return result; + } + + /*! + @brief inserts element + + Inserts element @a val before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] val element to insert + @return iterator pointing to the inserted @a val. + + @throw type_error.309 if called on JSON values other than arrays; + example: `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + + @complexity Constant plus linear in the distance between @a pos and end of + the container. + + @liveexample{The example shows how `insert()` is used.,insert} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, const basic_json& val) + { + // insert only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); + } + + // insert to array and return iterator + return insert_iterator(pos, val); + } + + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); + } + + /*! + @brief inserts element + @copydoc insert(const_iterator, const basic_json&) + */ + iterator insert(const_iterator pos, basic_json&& val) + { + return insert(pos, val); + } + + /*! + @brief inserts elements + + Inserts @a cnt copies of @a val before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] cnt number of copies of @a val to insert + @param[in] val element to insert + @return iterator pointing to the first element inserted, or @a pos if + `cnt==0` + + @throw type_error.309 if called on JSON values other than arrays; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + + @complexity Linear in @a cnt plus linear in the distance between @a pos + and end of the container. + + @liveexample{The example shows how `insert()` is used.,insert__count} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, size_type cnt, const basic_json& val) + { + // insert only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); + } + + // insert to array and return iterator + return insert_iterator(pos, cnt, val); + } + + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); + } + + /*! + @brief inserts elements + + Inserts elements from range `[first, last)` before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] first begin of the range of elements to insert + @param[in] last end of the range of elements to insert + + @throw type_error.309 if called on JSON values other than arrays; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + @throw invalid_iterator.210 if @a first and @a last do not belong to the + same JSON value; example: `"iterators do not fit"` + @throw invalid_iterator.211 if @a first or @a last are iterators into + container for which insert is called; example: `"passed iterators may not + belong to container"` + + @return iterator pointing to the first element inserted, or @a pos if + `first==last` + + @complexity Linear in `std::distance(first, last)` plus linear in the + distance between @a pos and end of the container. + + @liveexample{The example shows how `insert()` is used.,insert__range} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, const_iterator first, const_iterator last) + { + // insert only works for arrays + if (JSON_HEDLEY_UNLIKELY(!is_array())) + { + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); + } + + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); + } + + // check if range iterators belong to the same JSON object + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(210, "iterators do not fit")); + } + + if (JSON_HEDLEY_UNLIKELY(first.m_object == this)) + { + JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container")); + } + + // insert to array and return iterator + return insert_iterator(pos, first.m_it.array_iterator, last.m_it.array_iterator); + } + + /*! + @brief inserts elements + + Inserts elements from initializer list @a ilist before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] ilist initializer list to insert the values from + + @throw type_error.309 if called on JSON values other than arrays; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + + @return iterator pointing to the first element inserted, or @a pos if + `ilist` is empty + + @complexity Linear in `ilist.size()` plus linear in the distance between + @a pos and end of the container. + + @liveexample{The example shows how `insert()` is used.,insert__ilist} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, initializer_list_t ilist) + { + // insert only works for arrays + if (JSON_HEDLEY_UNLIKELY(!is_array())) + { + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); + } + + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); + } + + // insert to array and return iterator + return insert_iterator(pos, ilist.begin(), ilist.end()); + } + + /*! + @brief inserts elements + + Inserts elements from range `[first, last)`. + + @param[in] first begin of the range of elements to insert + @param[in] last end of the range of elements to insert + + @throw type_error.309 if called on JSON values other than objects; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if iterator @a first or @a last does does not + point to an object; example: `"iterators first and last must point to + objects"` + @throw invalid_iterator.210 if @a first and @a last do not belong to the + same JSON value; example: `"iterators do not fit"` + + @complexity Logarithmic: `O(N*log(size() + N))`, where `N` is the number + of elements to insert. + + @liveexample{The example shows how `insert()` is used.,insert__range_object} + + @since version 3.0.0 + */ + void insert(const_iterator first, const_iterator last) + { + // insert only works for objects + if (JSON_HEDLEY_UNLIKELY(!is_object())) + { + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); + } + + // check if range iterators belong to the same JSON object + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(210, "iterators do not fit")); + } + + // passed iterators must belong to objects + if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object())) + { + JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects")); + } + + m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator); + } + + /*! + @brief updates a JSON object from another object, overwriting existing keys + + Inserts all values from JSON object @a j and overwrites existing keys. + + @param[in] j JSON object to read values from + + @throw type_error.312 if called on JSON values other than objects; example: + `"cannot use update() with string"` + + @complexity O(N*log(size() + N)), where N is the number of elements to + insert. + + @liveexample{The example shows how `update()` is used.,update} + + @sa https://docs.python.org/3.6/library/stdtypes.html#dict.update + + @since version 3.0.0 + */ + void update(const_reference j) + { + // implicitly convert null value to an empty object + if (is_null()) + { + m_type = value_t::object; + m_value.object = create(); + assert_invariant(); + } + + if (JSON_HEDLEY_UNLIKELY(!is_object())) + { + JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()))); + } + if (JSON_HEDLEY_UNLIKELY(!j.is_object())) + { + JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name()))); + } + + for (auto it = j.cbegin(); it != j.cend(); ++it) + { + m_value.object->operator[](it.key()) = it.value(); + } + } + + /*! + @brief updates a JSON object from another object, overwriting existing keys + + Inserts all values from from range `[first, last)` and overwrites existing + keys. + + @param[in] first begin of the range of elements to insert + @param[in] last end of the range of elements to insert + + @throw type_error.312 if called on JSON values other than objects; example: + `"cannot use update() with string"` + @throw invalid_iterator.202 if iterator @a first or @a last does does not + point to an object; example: `"iterators first and last must point to + objects"` + @throw invalid_iterator.210 if @a first and @a last do not belong to the + same JSON value; example: `"iterators do not fit"` + + @complexity O(N*log(size() + N)), where N is the number of elements to + insert. + + @liveexample{The example shows how `update()` is used__range.,update} + + @sa https://docs.python.org/3.6/library/stdtypes.html#dict.update + + @since version 3.0.0 + */ + void update(const_iterator first, const_iterator last) + { + // implicitly convert null value to an empty object + if (is_null()) + { + m_type = value_t::object; + m_value.object = create(); + assert_invariant(); + } + + if (JSON_HEDLEY_UNLIKELY(!is_object())) + { + JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()))); + } + + // check if range iterators belong to the same JSON object + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(210, "iterators do not fit")); + } + + // passed iterators must belong to objects + if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object() + || !last.m_object->is_object())) + { + JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects")); + } + + for (auto it = first; it != last; ++it) + { + m_value.object->operator[](it.key()) = it.value(); + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of the JSON value with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other JSON value to exchange the contents with + + @complexity Constant. + + @liveexample{The example below shows how JSON values can be swapped with + `swap()`.,swap__reference} + + @since version 1.0.0 + */ + void swap(reference other) noexcept ( + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value&& + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value + ) + { + std::swap(m_type, other.m_type); + std::swap(m_value, other.m_value); + assert_invariant(); + } + + /*! + @brief exchanges the values + + Exchanges the contents of the JSON value from @a left with those of @a right. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. implemented as a friend function callable via ADL. + + @param[in,out] left JSON value to exchange the contents with + @param[in,out] right JSON value to exchange the contents with + + @complexity Constant. + + @liveexample{The example below shows how JSON values can be swapped with + `swap()`.,swap__reference} + + @since version 1.0.0 + */ + friend void swap(reference left, reference right) noexcept ( + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value&& + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value + ) + { + left.swap(right); + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON array with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other array to exchange the contents with + + @throw type_error.310 when JSON value is not an array; example: `"cannot + use swap() with string"` + + @complexity Constant. + + @liveexample{The example below shows how arrays can be swapped with + `swap()`.,swap__array_t} + + @since version 1.0.0 + */ + void swap(array_t& other) + { + // swap only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + std::swap(*(m_value.array), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()))); + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON object with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other object to exchange the contents with + + @throw type_error.310 when JSON value is not an object; example: + `"cannot use swap() with string"` + + @complexity Constant. + + @liveexample{The example below shows how objects can be swapped with + `swap()`.,swap__object_t} + + @since version 1.0.0 + */ + void swap(object_t& other) + { + // swap only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + std::swap(*(m_value.object), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()))); + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON string with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other string to exchange the contents with + + @throw type_error.310 when JSON value is not a string; example: `"cannot + use swap() with boolean"` + + @complexity Constant. + + @liveexample{The example below shows how strings can be swapped with + `swap()`.,swap__string_t} + + @since version 1.0.0 + */ + void swap(string_t& other) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_string())) + { + std::swap(*(m_value.string), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()))); + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON string with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other binary to exchange the contents with + + @throw type_error.310 when JSON value is not a string; example: `"cannot + use swap() with boolean"` + + @complexity Constant. + + @liveexample{The example below shows how strings can be swapped with + `swap()`.,swap__binary_t} + + @since version 3.8.0 + */ + void swap(binary_t& other) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_binary())) + { + std::swap(*(m_value.binary), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()))); + } + } + + /// @copydoc swap(binary_t) + void swap(typename binary_t::container_type& other) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_binary())) + { + std::swap(*(m_value.binary), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()))); + } + } + + /// @} + + public: + ////////////////////////////////////////// + // lexicographical comparison operators // + ////////////////////////////////////////// + + /// @name lexicographical comparison operators + /// @{ + + /*! + @brief comparison: equal + + Compares two JSON values for equality according to the following rules: + - Two JSON values are equal if (1) they are from the same type and (2) + their stored values are the same according to their respective + `operator==`. + - Integer and floating-point numbers are automatically converted before + comparison. Note that two NaN values are always treated as unequal. + - Two JSON null values are equal. + + @note Floating-point inside JSON values numbers are compared with + `json::number_float_t::operator==` which is `double::operator==` by + default. To compare floating-point while respecting an epsilon, an alternative + [comparison function](https://github.com/mariokonrad/marnav/blob/master/include/marnav/math/floatingpoint.hpp#L34-#L39) + could be used, for instance + @code {.cpp} + template::value, T>::type> + inline bool is_same(T a, T b, T epsilon = std::numeric_limits::epsilon()) noexcept + { + return std::abs(a - b) <= epsilon; + } + @endcode + Or you can self-defined operator equal function like this: + @code {.cpp} + bool my_equal(const_reference lhs, const_reference rhs) { + const auto lhs_type lhs.type(); + const auto rhs_type rhs.type(); + if (lhs_type == rhs_type) { + switch(lhs_type) + // self_defined case + case value_t::number_float: + return std::abs(lhs - rhs) <= std::numeric_limits::epsilon(); + // other cases remain the same with the original + ... + } + ... + } + @endcode + + @note NaN values never compare equal to themselves or to other NaN values. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether the values @a lhs and @a rhs are equal + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @complexity Linear. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__equal} + + @since version 1.0.0 + */ + friend bool operator==(const_reference lhs, const_reference rhs) noexcept + { + const auto lhs_type = lhs.type(); + const auto rhs_type = rhs.type(); + + if (lhs_type == rhs_type) + { + switch (lhs_type) + { + case value_t::array: + return *lhs.m_value.array == *rhs.m_value.array; + + case value_t::object: + return *lhs.m_value.object == *rhs.m_value.object; + + case value_t::null: + return true; + + case value_t::string: + return *lhs.m_value.string == *rhs.m_value.string; + + case value_t::boolean: + return lhs.m_value.boolean == rhs.m_value.boolean; + + case value_t::number_integer: + return lhs.m_value.number_integer == rhs.m_value.number_integer; + + case value_t::number_unsigned: + return lhs.m_value.number_unsigned == rhs.m_value.number_unsigned; + + case value_t::number_float: + return lhs.m_value.number_float == rhs.m_value.number_float; + + case value_t::binary: + return *lhs.m_value.binary == *rhs.m_value.binary; + + default: + return false; + } + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_integer) == rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer) + { + return lhs.m_value.number_float == static_cast(rhs.m_value.number_integer); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_unsigned) == rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_float == static_cast(rhs.m_value.number_unsigned); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer) + { + return static_cast(lhs.m_value.number_unsigned) == rhs.m_value.number_integer; + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_integer == static_cast(rhs.m_value.number_unsigned); + } + + return false; + } + + /*! + @brief comparison: equal + @copydoc operator==(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept + { + return lhs == basic_json(rhs); + } + + /*! + @brief comparison: equal + @copydoc operator==(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) == rhs; + } + + /*! + @brief comparison: not equal + + Compares two JSON values for inequality by calculating `not (lhs == rhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether the values @a lhs and @a rhs are not equal + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__notequal} + + @since version 1.0.0 + */ + friend bool operator!=(const_reference lhs, const_reference rhs) noexcept + { + return !(lhs == rhs); + } + + /*! + @brief comparison: not equal + @copydoc operator!=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept + { + return lhs != basic_json(rhs); + } + + /*! + @brief comparison: not equal + @copydoc operator!=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) != rhs; + } + + /*! + @brief comparison: less than + + Compares whether one JSON value @a lhs is less than another JSON value @a + rhs according to the following rules: + - If @a lhs and @a rhs have the same type, the values are compared using + the default `<` operator. + - Integer and floating-point numbers are automatically converted before + comparison + - In case @a lhs and @a rhs have different types, the values are ignored + and the order of the types is considered, see + @ref operator<(const value_t, const value_t). + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is less than @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__less} + + @since version 1.0.0 + */ + friend bool operator<(const_reference lhs, const_reference rhs) noexcept + { + const auto lhs_type = lhs.type(); + const auto rhs_type = rhs.type(); + + if (lhs_type == rhs_type) + { + switch (lhs_type) + { + case value_t::array: + // note parentheses are necessary, see + // https://github.com/nlohmann/json/issues/1530 + return (*lhs.m_value.array) < (*rhs.m_value.array); + + case value_t::object: + return (*lhs.m_value.object) < (*rhs.m_value.object); + + case value_t::null: + return false; + + case value_t::string: + return (*lhs.m_value.string) < (*rhs.m_value.string); + + case value_t::boolean: + return (lhs.m_value.boolean) < (rhs.m_value.boolean); + + case value_t::number_integer: + return (lhs.m_value.number_integer) < (rhs.m_value.number_integer); + + case value_t::number_unsigned: + return (lhs.m_value.number_unsigned) < (rhs.m_value.number_unsigned); + + case value_t::number_float: + return (lhs.m_value.number_float) < (rhs.m_value.number_float); + + case value_t::binary: + return (*lhs.m_value.binary) < (*rhs.m_value.binary); + + default: + return false; + } + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_integer) < rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer) + { + return lhs.m_value.number_float < static_cast(rhs.m_value.number_integer); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_unsigned) < rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_float < static_cast(rhs.m_value.number_unsigned); + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_integer < static_cast(rhs.m_value.number_unsigned); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer) + { + return static_cast(lhs.m_value.number_unsigned) < rhs.m_value.number_integer; + } + + // We only reach this line if we cannot compare values. In that case, + // we compare types. Note we have to call the operator explicitly, + // because MSVC has problems otherwise. + return operator<(lhs_type, rhs_type); + } + + /*! + @brief comparison: less than + @copydoc operator<(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept + { + return lhs < basic_json(rhs); + } + + /*! + @brief comparison: less than + @copydoc operator<(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) < rhs; + } + + /*! + @brief comparison: less than or equal + + Compares whether one JSON value @a lhs is less than or equal to another + JSON value by calculating `not (rhs < lhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is less than or equal to @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__greater} + + @since version 1.0.0 + */ + friend bool operator<=(const_reference lhs, const_reference rhs) noexcept + { + return !(rhs < lhs); + } + + /*! + @brief comparison: less than or equal + @copydoc operator<=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept + { + return lhs <= basic_json(rhs); + } + + /*! + @brief comparison: less than or equal + @copydoc operator<=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) <= rhs; + } + + /*! + @brief comparison: greater than + + Compares whether one JSON value @a lhs is greater than another + JSON value by calculating `not (lhs <= rhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is greater than to @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__lessequal} + + @since version 1.0.0 + */ + friend bool operator>(const_reference lhs, const_reference rhs) noexcept + { + return !(lhs <= rhs); + } + + /*! + @brief comparison: greater than + @copydoc operator>(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept + { + return lhs > basic_json(rhs); + } + + /*! + @brief comparison: greater than + @copydoc operator>(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) > rhs; + } + + /*! + @brief comparison: greater than or equal + + Compares whether one JSON value @a lhs is greater than or equal to another + JSON value by calculating `not (lhs < rhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is greater than or equal to @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__greaterequal} + + @since version 1.0.0 + */ + friend bool operator>=(const_reference lhs, const_reference rhs) noexcept + { + return !(lhs < rhs); + } + + /*! + @brief comparison: greater than or equal + @copydoc operator>=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept + { + return lhs >= basic_json(rhs); + } + + /*! + @brief comparison: greater than or equal + @copydoc operator>=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) >= rhs; + } + + /// @} + + /////////////////// + // serialization // + /////////////////// + + /// @name serialization + /// @{ + + /*! + @brief serialize to stream + + Serialize the given JSON value @a j to the output stream @a o. The JSON + value will be serialized using the @ref dump member function. + + - The indentation of the output can be controlled with the member variable + `width` of the output stream @a o. For instance, using the manipulator + `std::setw(4)` on @a o sets the indentation level to `4` and the + serialization result is the same as calling `dump(4)`. + + - The indentation character can be controlled with the member variable + `fill` of the output stream @a o. For instance, the manipulator + `std::setfill('\\t')` sets indentation to use a tab character rather than + the default space character. + + @param[in,out] o stream to serialize to + @param[in] j JSON value to serialize + + @return the stream @a o + + @throw type_error.316 if a string stored inside the JSON value is not + UTF-8 encoded + + @complexity Linear. + + @liveexample{The example below shows the serialization with different + parameters to `width` to adjust the indentation level.,operator_serialize} + + @since version 1.0.0; indentation character added in version 3.0.0 + */ + friend std::ostream& operator<<(std::ostream& o, const basic_json& j) + { + // read width member and use it as indentation parameter if nonzero + const bool pretty_print = o.width() > 0; + const auto indentation = pretty_print ? o.width() : 0; + + // reset width to 0 for subsequent calls to this stream + o.width(0); + + // do the actual serialization + serializer s(detail::output_adapter(o), o.fill()); + s.dump(j, pretty_print, false, static_cast(indentation)); + return o; + } + + /*! + @brief serialize to stream + @deprecated This stream operator is deprecated and will be removed in + future 4.0.0 of the library. Please use + @ref operator<<(std::ostream&, const basic_json&) + instead; that is, replace calls like `j >> o;` with `o << j;`. + @since version 1.0.0; deprecated since version 3.0.0 + */ + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator<<(std::ostream&, const basic_json&)) + friend std::ostream& operator>>(const basic_json& j, std::ostream& o) + { + return o << j; + } + + /// @} + + + ///////////////////// + // deserialization // + ///////////////////// + + /// @name deserialization + /// @{ + + /*! + @brief deserialize from a compatible input + + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + @param[in] cb a parser callback function of type @ref parser_callback_t + which is used to control the deserialization by filtering unwanted values + (optional) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. The complexity can be higher if the parser callback function + @a cb or reading from the input @a i has a super-linear complexity. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `parse()` function reading + from an array.,parse__array__parser_callback_t} + + @liveexample{The example below demonstrates the `parse()` function with + and without callback function.,parse__string__parser_callback_t} + + @liveexample{The example below demonstrates the `parse()` function with + and without callback function.,parse__istream__parser_callback_t} + + @liveexample{The example below demonstrates the `parse()` function reading + from a contiguous container.,parse__contiguouscontainer__parser_callback_t} + + @since version 2.0.3 (contiguous containers); version 3.9.0 allowed to + ignore comments. + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(InputType&& i, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false) + { + basic_json result; + parser(detail::input_adapter(std::forward(i)), cb, allow_exceptions, ignore_comments).parse(true, result); + return result; + } + + /*! + @brief deserialize from a pair of character iterators + + The value_type of the iterator must be a integral type with size of 1, 2 or + 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32. + + @param[in] first iterator to start of character range + @param[in] last iterator to end of character range + @param[in] cb a parser callback function of type @ref parser_callback_t + which is used to control the deserialization by filtering unwanted values + (optional) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(IteratorType first, + IteratorType last, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false) + { + basic_json result; + parser(detail::input_adapter(std::move(first), std::move(last)), cb, allow_exceptions, ignore_comments).parse(true, result); + return result; + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) + static basic_json parse(detail::span_input_adapter&& i, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false) + { + basic_json result; + parser(i.get(), cb, allow_exceptions, ignore_comments).parse(true, result); + return result; + } + + /*! + @brief check if the input is valid JSON + + Unlike the @ref parse(InputType&&, const parser_callback_t,const bool) + function, this function neither throws an exception in case of invalid JSON + input (i.e., a parse error) nor creates diagnostic information. + + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default) + + @return Whether the input read from @a i is valid JSON. + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `accept()` function reading + from a string.,accept__string} + */ + template + static bool accept(InputType&& i, + const bool ignore_comments = false) + { + return parser(detail::input_adapter(std::forward(i)), nullptr, false, ignore_comments).accept(true); + } + + template + static bool accept(IteratorType first, IteratorType last, + const bool ignore_comments = false) + { + return parser(detail::input_adapter(std::move(first), std::move(last)), nullptr, false, ignore_comments).accept(true); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) + static bool accept(detail::span_input_adapter&& i, + const bool ignore_comments = false) + { + return parser(i.get(), nullptr, false, ignore_comments).accept(true); + } + + /*! + @brief generate SAX events + + The SAX event lister must follow the interface of @ref json_sax. + + This function reads from a compatible input. Examples are: + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + @param[in,out] sax SAX event listener + @param[in] format the format to parse (JSON, CBOR, MessagePack, or UBJSON) + @param[in] strict whether the input has to be consumed completely + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default); only applies to the JSON file format. + + @return return value of the last processed SAX event + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. The complexity can be higher if the SAX consumer @a sax has + a super-linear complexity. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `sax_parse()` function + reading from string and processing the events with a user-defined SAX + event consumer.,sax_parse} + + @since version 3.2.0 + */ + template + JSON_HEDLEY_NON_NULL(2) + static bool sax_parse(InputType&& i, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true, + const bool ignore_comments = false) + { + auto ia = detail::input_adapter(std::forward(i)); + return format == input_format_t::json + ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } + + template + JSON_HEDLEY_NON_NULL(3) + static bool sax_parse(IteratorType first, IteratorType last, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true, + const bool ignore_comments = false) + { + auto ia = detail::input_adapter(std::move(first), std::move(last)); + return format == input_format_t::json + ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } + + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) + JSON_HEDLEY_NON_NULL(2) + static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true, + const bool ignore_comments = false) + { + auto ia = i.get(); + return format == input_format_t::json + ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } + + /*! + @brief deserialize from stream + @deprecated This stream operator is deprecated and will be removed in + version 4.0.0 of the library. Please use + @ref operator>>(std::istream&, basic_json&) + instead; that is, replace calls like `j << i;` with `i >> j;`. + @since version 1.0.0; deprecated since version 3.0.0 + */ + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator>>(std::istream&, basic_json&)) + friend std::istream& operator<<(basic_json& j, std::istream& i) + { + return operator>>(i, j); + } + + /*! + @brief deserialize from stream + + Deserializes an input stream to a JSON value. + + @param[in,out] i input stream to read a serialized JSON value from + @param[in,out] j JSON value to write the deserialized input to + + @throw parse_error.101 in case of an unexpected token + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below shows how a JSON value is constructed by + reading a serialization from a stream.,operator_deserialize} + + @sa parse(std::istream&, const parser_callback_t) for a variant with a + parser callback function to filter values while parsing + + @since version 1.0.0 + */ + friend std::istream& operator>>(std::istream& i, basic_json& j) + { + parser(detail::input_adapter(i)).parse(false, j); + return i; + } + + /// @} + + /////////////////////////// + // convenience functions // + /////////////////////////// + + /*! + @brief return the type as string + + Returns the type name as string to be used in error messages - usually to + indicate that a function was called on a wrong JSON type. + + @return a string representation of a the @a m_type member: + Value type | return value + ----------- | ------------- + null | `"null"` + boolean | `"boolean"` + string | `"string"` + number | `"number"` (for all number types) + object | `"object"` + array | `"array"` + binary | `"binary"` + discarded | `"discarded"` + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @complexity Constant. + + @liveexample{The following code exemplifies `type_name()` for all JSON + types.,type_name} + + @sa @ref type() -- return the type of the JSON value + @sa @ref operator value_t() -- return the type of the JSON value (implicit) + + @since version 1.0.0, public since 2.1.0, `const char*` and `noexcept` + since 3.0.0 + */ + JSON_HEDLEY_RETURNS_NON_NULL + const char* type_name() const noexcept + { + { + switch (m_type) + { + case value_t::null: + return "null"; + case value_t::object: + return "object"; + case value_t::array: + return "array"; + case value_t::string: + return "string"; + case value_t::boolean: + return "boolean"; + case value_t::binary: + return "binary"; + case value_t::discarded: + return "discarded"; + default: + return "number"; + } + } + } + + + private: + ////////////////////// + // member variables // + ////////////////////// + + /// the type of the current element + value_t m_type = value_t::null; + + /// the value of the current element + json_value m_value = {}; + + ////////////////////////////////////////// + // binary serialization/deserialization // + ////////////////////////////////////////// + + /// @name binary serialization/deserialization support + /// @{ + + public: + /*! + @brief create a CBOR serialization of a given JSON value + + Serializes a given JSON value @a j to a byte vector using the CBOR (Concise + Binary Object Representation) serialization format. CBOR is a binary + serialization format which aims to be more compact than JSON itself, yet + more efficient to parse. + + The library uses the following mapping from JSON values types to + CBOR types according to the CBOR specification (RFC 7049): + + JSON value type | value/range | CBOR type | first byte + --------------- | ------------------------------------------ | ---------------------------------- | --------------- + null | `null` | Null | 0xF6 + boolean | `true` | True | 0xF5 + boolean | `false` | False | 0xF4 + number_integer | -9223372036854775808..-2147483649 | Negative integer (8 bytes follow) | 0x3B + number_integer | -2147483648..-32769 | Negative integer (4 bytes follow) | 0x3A + number_integer | -32768..-129 | Negative integer (2 bytes follow) | 0x39 + number_integer | -128..-25 | Negative integer (1 byte follow) | 0x38 + number_integer | -24..-1 | Negative integer | 0x20..0x37 + number_integer | 0..23 | Integer | 0x00..0x17 + number_integer | 24..255 | Unsigned integer (1 byte follow) | 0x18 + number_integer | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 + number_integer | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1A + number_integer | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1B + number_unsigned | 0..23 | Integer | 0x00..0x17 + number_unsigned | 24..255 | Unsigned integer (1 byte follow) | 0x18 + number_unsigned | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 + number_unsigned | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1A + number_unsigned | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1B + number_float | *any value representable by a float* | Single-Precision Float | 0xFA + number_float | *any value NOT representable by a float* | Double-Precision Float | 0xFB + string | *length*: 0..23 | UTF-8 string | 0x60..0x77 + string | *length*: 23..255 | UTF-8 string (1 byte follow) | 0x78 + string | *length*: 256..65535 | UTF-8 string (2 bytes follow) | 0x79 + string | *length*: 65536..4294967295 | UTF-8 string (4 bytes follow) | 0x7A + string | *length*: 4294967296..18446744073709551615 | UTF-8 string (8 bytes follow) | 0x7B + array | *size*: 0..23 | array | 0x80..0x97 + array | *size*: 23..255 | array (1 byte follow) | 0x98 + array | *size*: 256..65535 | array (2 bytes follow) | 0x99 + array | *size*: 65536..4294967295 | array (4 bytes follow) | 0x9A + array | *size*: 4294967296..18446744073709551615 | array (8 bytes follow) | 0x9B + object | *size*: 0..23 | map | 0xA0..0xB7 + object | *size*: 23..255 | map (1 byte follow) | 0xB8 + object | *size*: 256..65535 | map (2 bytes follow) | 0xB9 + object | *size*: 65536..4294967295 | map (4 bytes follow) | 0xBA + object | *size*: 4294967296..18446744073709551615 | map (8 bytes follow) | 0xBB + binary | *size*: 0..23 | byte string | 0x40..0x57 + binary | *size*: 23..255 | byte string (1 byte follow) | 0x58 + binary | *size*: 256..65535 | byte string (2 bytes follow) | 0x59 + binary | *size*: 65536..4294967295 | byte string (4 bytes follow) | 0x5A + binary | *size*: 4294967296..18446744073709551615 | byte string (8 bytes follow) | 0x5B + + @note The mapping is **complete** in the sense that any JSON value type + can be converted to a CBOR value. + + @note If NaN or Infinity are stored inside a JSON number, they are + serialized properly. This behavior differs from the @ref dump() + function which serializes NaN or Infinity to `null`. + + @note The following CBOR types are not used in the conversion: + - UTF-8 strings terminated by "break" (0x7F) + - arrays terminated by "break" (0x9F) + - maps terminated by "break" (0xBF) + - byte strings terminated by "break" (0x5F) + - date/time (0xC0..0xC1) + - bignum (0xC2..0xC3) + - decimal fraction (0xC4) + - bigfloat (0xC5) + - expected conversions (0xD5..0xD7) + - simple values (0xE0..0xF3, 0xF8) + - undefined (0xF7) + - half-precision floats (0xF9) + - break (0xFF) + + @param[in] j JSON value to serialize + @return CBOR serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in CBOR format.,to_cbor} + + @sa http://cbor.io + @sa @ref from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the + analogous deserialization + @sa @ref to_msgpack(const basic_json&) for the related MessagePack format + @sa @ref to_ubjson(const basic_json&, const bool, const bool) for the + related UBJSON format + + @since version 2.0.9; compact representation of floating-point numbers + since version 3.8.0 + */ + static std::vector to_cbor(const basic_json& j) + { + std::vector result; + to_cbor(j, result); + return result; + } + + static void to_cbor(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_cbor(j); + } + + static void to_cbor(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_cbor(j); + } + + /*! + @brief create a MessagePack serialization of a given JSON value + + Serializes a given JSON value @a j to a byte vector using the MessagePack + serialization format. MessagePack is a binary serialization format which + aims to be more compact than JSON itself, yet more efficient to parse. + + The library uses the following mapping from JSON values types to + MessagePack types according to the MessagePack specification: + + JSON value type | value/range | MessagePack type | first byte + --------------- | --------------------------------- | ---------------- | ---------- + null | `null` | nil | 0xC0 + boolean | `true` | true | 0xC3 + boolean | `false` | false | 0xC2 + number_integer | -9223372036854775808..-2147483649 | int64 | 0xD3 + number_integer | -2147483648..-32769 | int32 | 0xD2 + number_integer | -32768..-129 | int16 | 0xD1 + number_integer | -128..-33 | int8 | 0xD0 + number_integer | -32..-1 | negative fixint | 0xE0..0xFF + number_integer | 0..127 | positive fixint | 0x00..0x7F + number_integer | 128..255 | uint 8 | 0xCC + number_integer | 256..65535 | uint 16 | 0xCD + number_integer | 65536..4294967295 | uint 32 | 0xCE + number_integer | 4294967296..18446744073709551615 | uint 64 | 0xCF + number_unsigned | 0..127 | positive fixint | 0x00..0x7F + number_unsigned | 128..255 | uint 8 | 0xCC + number_unsigned | 256..65535 | uint 16 | 0xCD + number_unsigned | 65536..4294967295 | uint 32 | 0xCE + number_unsigned | 4294967296..18446744073709551615 | uint 64 | 0xCF + number_float | *any value representable by a float* | float 32 | 0xCA + number_float | *any value NOT representable by a float* | float 64 | 0xCB + string | *length*: 0..31 | fixstr | 0xA0..0xBF + string | *length*: 32..255 | str 8 | 0xD9 + string | *length*: 256..65535 | str 16 | 0xDA + string | *length*: 65536..4294967295 | str 32 | 0xDB + array | *size*: 0..15 | fixarray | 0x90..0x9F + array | *size*: 16..65535 | array 16 | 0xDC + array | *size*: 65536..4294967295 | array 32 | 0xDD + object | *size*: 0..15 | fix map | 0x80..0x8F + object | *size*: 16..65535 | map 16 | 0xDE + object | *size*: 65536..4294967295 | map 32 | 0xDF + binary | *size*: 0..255 | bin 8 | 0xC4 + binary | *size*: 256..65535 | bin 16 | 0xC5 + binary | *size*: 65536..4294967295 | bin 32 | 0xC6 + + @note The mapping is **complete** in the sense that any JSON value type + can be converted to a MessagePack value. + + @note The following values can **not** be converted to a MessagePack value: + - strings with more than 4294967295 bytes + - byte strings with more than 4294967295 bytes + - arrays with more than 4294967295 elements + - objects with more than 4294967295 elements + + @note Any MessagePack output created @ref to_msgpack can be successfully + parsed by @ref from_msgpack. + + @note If NaN or Infinity are stored inside a JSON number, they are + serialized properly. This behavior differs from the @ref dump() + function which serializes NaN or Infinity to `null`. + + @param[in] j JSON value to serialize + @return MessagePack serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in MessagePack format.,to_msgpack} + + @sa http://msgpack.org + @sa @ref from_msgpack for the analogous deserialization + @sa @ref to_cbor(const basic_json& for the related CBOR format + @sa @ref to_ubjson(const basic_json&, const bool, const bool) for the + related UBJSON format + + @since version 2.0.9 + */ + static std::vector to_msgpack(const basic_json& j) + { + std::vector result; + to_msgpack(j, result); + return result; + } + + static void to_msgpack(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_msgpack(j); + } + + static void to_msgpack(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_msgpack(j); + } + + /*! + @brief create a UBJSON serialization of a given JSON value + + Serializes a given JSON value @a j to a byte vector using the UBJSON + (Universal Binary JSON) serialization format. UBJSON aims to be more compact + than JSON itself, yet more efficient to parse. + + The library uses the following mapping from JSON values types to + UBJSON types according to the UBJSON specification: + + JSON value type | value/range | UBJSON type | marker + --------------- | --------------------------------- | ----------- | ------ + null | `null` | null | `Z` + boolean | `true` | true | `T` + boolean | `false` | false | `F` + number_integer | -9223372036854775808..-2147483649 | int64 | `L` + number_integer | -2147483648..-32769 | int32 | `l` + number_integer | -32768..-129 | int16 | `I` + number_integer | -128..127 | int8 | `i` + number_integer | 128..255 | uint8 | `U` + number_integer | 256..32767 | int16 | `I` + number_integer | 32768..2147483647 | int32 | `l` + number_integer | 2147483648..9223372036854775807 | int64 | `L` + number_unsigned | 0..127 | int8 | `i` + number_unsigned | 128..255 | uint8 | `U` + number_unsigned | 256..32767 | int16 | `I` + number_unsigned | 32768..2147483647 | int32 | `l` + number_unsigned | 2147483648..9223372036854775807 | int64 | `L` + number_unsigned | 2147483649..18446744073709551615 | high-precision | `H` + number_float | *any value* | float64 | `D` + string | *with shortest length indicator* | string | `S` + array | *see notes on optimized format* | array | `[` + object | *see notes on optimized format* | map | `{` + + @note The mapping is **complete** in the sense that any JSON value type + can be converted to a UBJSON value. + + @note The following values can **not** be converted to a UBJSON value: + - strings with more than 9223372036854775807 bytes (theoretical) + + @note The following markers are not used in the conversion: + - `Z`: no-op values are not created. + - `C`: single-byte strings are serialized with `S` markers. + + @note Any UBJSON output created @ref to_ubjson can be successfully parsed + by @ref from_ubjson. + + @note If NaN or Infinity are stored inside a JSON number, they are + serialized properly. This behavior differs from the @ref dump() + function which serializes NaN or Infinity to `null`. + + @note The optimized formats for containers are supported: Parameter + @a use_size adds size information to the beginning of a container and + removes the closing marker. Parameter @a use_type further checks + whether all elements of a container have the same type and adds the + type marker to the beginning of the container. The @a use_type + parameter must only be used together with @a use_size = true. Note + that @a use_size = true alone may result in larger representations - + the benefit of this parameter is that the receiving side is + immediately informed on the number of elements of the container. + + @note If the JSON data contains the binary type, the value stored is a list + of integers, as suggested by the UBJSON documentation. In particular, + this means that serialization and the deserialization of a JSON + containing binary values into UBJSON and back will result in a + different JSON object. + + @param[in] j JSON value to serialize + @param[in] use_size whether to add size annotations to container types + @param[in] use_type whether to add type annotations to container types + (must be combined with @a use_size = true) + @return UBJSON serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in UBJSON format.,to_ubjson} + + @sa http://ubjson.org + @sa @ref from_ubjson(detail::input_adapter&&, const bool, const bool) for the + analogous deserialization + @sa @ref to_cbor(const basic_json& for the related CBOR format + @sa @ref to_msgpack(const basic_json&) for the related MessagePack format + + @since version 3.1.0 + */ + static std::vector to_ubjson(const basic_json& j, + const bool use_size = false, + const bool use_type = false) + { + std::vector result; + to_ubjson(j, result, use_size, use_type); + return result; + } + + static void to_ubjson(const basic_json& j, detail::output_adapter o, + const bool use_size = false, const bool use_type = false) + { + binary_writer(o).write_ubjson(j, use_size, use_type); + } + + static void to_ubjson(const basic_json& j, detail::output_adapter o, + const bool use_size = false, const bool use_type = false) + { + binary_writer(o).write_ubjson(j, use_size, use_type); + } + + + /*! + @brief Serializes the given JSON object `j` to BSON and returns a vector + containing the corresponding BSON-representation. + + BSON (Binary JSON) is a binary format in which zero or more ordered key/value pairs are + stored as a single entity (a so-called document). + + The library uses the following mapping from JSON values types to BSON types: + + JSON value type | value/range | BSON type | marker + --------------- | --------------------------------- | ----------- | ------ + null | `null` | null | 0x0A + boolean | `true`, `false` | boolean | 0x08 + number_integer | -9223372036854775808..-2147483649 | int64 | 0x12 + number_integer | -2147483648..2147483647 | int32 | 0x10 + number_integer | 2147483648..9223372036854775807 | int64 | 0x12 + number_unsigned | 0..2147483647 | int32 | 0x10 + number_unsigned | 2147483648..9223372036854775807 | int64 | 0x12 + number_unsigned | 9223372036854775808..18446744073709551615| -- | -- + number_float | *any value* | double | 0x01 + string | *any value* | string | 0x02 + array | *any value* | document | 0x04 + object | *any value* | document | 0x03 + binary | *any value* | binary | 0x05 + + @warning The mapping is **incomplete**, since only JSON-objects (and things + contained therein) can be serialized to BSON. + Also, integers larger than 9223372036854775807 cannot be serialized to BSON, + and the keys may not contain U+0000, since they are serialized a + zero-terminated c-strings. + + @throw out_of_range.407 if `j.is_number_unsigned() && j.get() > 9223372036854775807` + @throw out_of_range.409 if a key in `j` contains a NULL (U+0000) + @throw type_error.317 if `!j.is_object()` + + @pre The input `j` is required to be an object: `j.is_object() == true`. + + @note Any BSON output created via @ref to_bson can be successfully parsed + by @ref from_bson. + + @param[in] j JSON value to serialize + @return BSON serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in BSON format.,to_bson} + + @sa http://bsonspec.org/spec.html + @sa @ref from_bson(detail::input_adapter&&, const bool strict) for the + analogous deserialization + @sa @ref to_ubjson(const basic_json&, const bool, const bool) for the + related UBJSON format + @sa @ref to_cbor(const basic_json&) for the related CBOR format + @sa @ref to_msgpack(const basic_json&) for the related MessagePack format + */ + static std::vector to_bson(const basic_json& j) + { + std::vector result; + to_bson(j, result); + return result; + } + + /*! + @brief Serializes the given JSON object `j` to BSON and forwards the + corresponding BSON-representation to the given output_adapter `o`. + @param j The JSON object to convert to BSON. + @param o The output adapter that receives the binary BSON representation. + @pre The input `j` shall be an object: `j.is_object() == true` + @sa @ref to_bson(const basic_json&) + */ + static void to_bson(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_bson(j); + } + + /*! + @copydoc to_bson(const basic_json&, detail::output_adapter) + */ + static void to_bson(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_bson(j); + } + + + /*! + @brief create a JSON value from an input in CBOR format + + Deserializes a given input @a i to a JSON value using the CBOR (Concise + Binary Object Representation) serialization format. + + The library maps CBOR types to JSON value types as follows: + + CBOR type | JSON value type | first byte + ---------------------- | --------------- | ---------- + Integer | number_unsigned | 0x00..0x17 + Unsigned integer | number_unsigned | 0x18 + Unsigned integer | number_unsigned | 0x19 + Unsigned integer | number_unsigned | 0x1A + Unsigned integer | number_unsigned | 0x1B + Negative integer | number_integer | 0x20..0x37 + Negative integer | number_integer | 0x38 + Negative integer | number_integer | 0x39 + Negative integer | number_integer | 0x3A + Negative integer | number_integer | 0x3B + Byte string | binary | 0x40..0x57 + Byte string | binary | 0x58 + Byte string | binary | 0x59 + Byte string | binary | 0x5A + Byte string | binary | 0x5B + UTF-8 string | string | 0x60..0x77 + UTF-8 string | string | 0x78 + UTF-8 string | string | 0x79 + UTF-8 string | string | 0x7A + UTF-8 string | string | 0x7B + UTF-8 string | string | 0x7F + array | array | 0x80..0x97 + array | array | 0x98 + array | array | 0x99 + array | array | 0x9A + array | array | 0x9B + array | array | 0x9F + map | object | 0xA0..0xB7 + map | object | 0xB8 + map | object | 0xB9 + map | object | 0xBA + map | object | 0xBB + map | object | 0xBF + False | `false` | 0xF4 + True | `true` | 0xF5 + Null | `null` | 0xF6 + Half-Precision Float | number_float | 0xF9 + Single-Precision Float | number_float | 0xFA + Double-Precision Float | number_float | 0xFB + + @warning The mapping is **incomplete** in the sense that not all CBOR + types can be converted to a JSON value. The following CBOR types + are not supported and will yield parse errors (parse_error.112): + - date/time (0xC0..0xC1) + - bignum (0xC2..0xC3) + - decimal fraction (0xC4) + - bigfloat (0xC5) + - expected conversions (0xD5..0xD7) + - simple values (0xE0..0xF3, 0xF8) + - undefined (0xF7) + + @warning CBOR allows map keys of any type, whereas JSON only allows + strings as keys in object values. Therefore, CBOR maps with keys + other than UTF-8 strings are rejected (parse_error.113). + + @note Any CBOR output created @ref to_cbor can be successfully parsed by + @ref from_cbor. + + @param[in] i an input in CBOR format convertible to an input adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + @param[in] tag_handler how to treat CBOR tags (optional, error by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.110 if the given input ends prematurely or the end of + file was not reached when @a strict was set to true + @throw parse_error.112 if unsupported features from CBOR were + used in the given input @a v or if the input is not valid CBOR + @throw parse_error.113 if a string was expected as map key, but not found + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in CBOR + format to a JSON value.,from_cbor} + + @sa http://cbor.io + @sa @ref to_cbor(const basic_json&) for the analogous serialization + @sa @ref from_msgpack(detail::input_adapter&&, const bool, const bool) for the + related MessagePack format + @sa @ref from_ubjson(detail::input_adapter&&, const bool, const bool) for the + related UBJSON format + + @since version 2.0.9; parameter @a start_index since 2.1.1; changed to + consume input adapters, removed start_index parameter, and added + @a strict parameter since 3.0.0; added @a allow_exceptions parameter + since 3.2.0; added @a tag_handler parameter since 3.9.0. + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler); + return res ? result : basic_json(value_t::discarded); + } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + static basic_json from_cbor(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + return from_cbor(ptr, ptr + len, strict, allow_exceptions, tag_handler); + } + + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + static basic_json from_cbor(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @brief create a JSON value from an input in MessagePack format + + Deserializes a given input @a i to a JSON value using the MessagePack + serialization format. + + The library maps MessagePack types to JSON value types as follows: + + MessagePack type | JSON value type | first byte + ---------------- | --------------- | ---------- + positive fixint | number_unsigned | 0x00..0x7F + fixmap | object | 0x80..0x8F + fixarray | array | 0x90..0x9F + fixstr | string | 0xA0..0xBF + nil | `null` | 0xC0 + false | `false` | 0xC2 + true | `true` | 0xC3 + float 32 | number_float | 0xCA + float 64 | number_float | 0xCB + uint 8 | number_unsigned | 0xCC + uint 16 | number_unsigned | 0xCD + uint 32 | number_unsigned | 0xCE + uint 64 | number_unsigned | 0xCF + int 8 | number_integer | 0xD0 + int 16 | number_integer | 0xD1 + int 32 | number_integer | 0xD2 + int 64 | number_integer | 0xD3 + str 8 | string | 0xD9 + str 16 | string | 0xDA + str 32 | string | 0xDB + array 16 | array | 0xDC + array 32 | array | 0xDD + map 16 | object | 0xDE + map 32 | object | 0xDF + bin 8 | binary | 0xC4 + bin 16 | binary | 0xC5 + bin 32 | binary | 0xC6 + ext 8 | binary | 0xC7 + ext 16 | binary | 0xC8 + ext 32 | binary | 0xC9 + fixext 1 | binary | 0xD4 + fixext 2 | binary | 0xD5 + fixext 4 | binary | 0xD6 + fixext 8 | binary | 0xD7 + fixext 16 | binary | 0xD8 + negative fixint | number_integer | 0xE0-0xFF + + @note Any MessagePack output created @ref to_msgpack can be successfully + parsed by @ref from_msgpack. + + @param[in] i an input in MessagePack format convertible to an input + adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.110 if the given input ends prematurely or the end of + file was not reached when @a strict was set to true + @throw parse_error.112 if unsupported features from MessagePack were + used in the given input @a i or if the input is not valid MessagePack + @throw parse_error.113 if a string was expected as map key, but not found + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in + MessagePack format to a JSON value.,from_msgpack} + + @sa http://msgpack.org + @sa @ref to_msgpack(const basic_json&) for the analogous serialization + @sa @ref from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the + related CBOR format + @sa @ref from_ubjson(detail::input_adapter&&, const bool, const bool) for + the related UBJSON format + @sa @ref from_bson(detail::input_adapter&&, const bool, const bool) for + the related BSON format + + @since version 2.0.9; parameter @a start_index since 2.1.1; changed to + consume input adapters, removed start_index parameter, and added + @a strict parameter since 3.0.0; added @a allow_exceptions parameter + since 3.2.0 + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_msgpack(detail::input_adapter&&, const bool, const bool) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + static basic_json from_msgpack(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_msgpack(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + static basic_json from_msgpack(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + + /*! + @brief create a JSON value from an input in UBJSON format + + Deserializes a given input @a i to a JSON value using the UBJSON (Universal + Binary JSON) serialization format. + + The library maps UBJSON types to JSON value types as follows: + + UBJSON type | JSON value type | marker + ----------- | --------------------------------------- | ------ + no-op | *no value, next value is read* | `N` + null | `null` | `Z` + false | `false` | `F` + true | `true` | `T` + float32 | number_float | `d` + float64 | number_float | `D` + uint8 | number_unsigned | `U` + int8 | number_integer | `i` + int16 | number_integer | `I` + int32 | number_integer | `l` + int64 | number_integer | `L` + high-precision number | number_integer, number_unsigned, or number_float - depends on number string | 'H' + string | string | `S` + char | string | `C` + array | array (optimized values are supported) | `[` + object | object (optimized values are supported) | `{` + + @note The mapping is **complete** in the sense that any UBJSON value can + be converted to a JSON value. + + @param[in] i an input in UBJSON format convertible to an input adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.110 if the given input ends prematurely or the end of + file was not reached when @a strict was set to true + @throw parse_error.112 if a parse error occurs + @throw parse_error.113 if a string could not be parsed successfully + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in + UBJSON format to a JSON value.,from_ubjson} + + @sa http://ubjson.org + @sa @ref to_ubjson(const basic_json&, const bool, const bool) for the + analogous serialization + @sa @ref from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the + related CBOR format + @sa @ref from_msgpack(detail::input_adapter&&, const bool, const bool) for + the related MessagePack format + @sa @ref from_bson(detail::input_adapter&&, const bool, const bool) for + the related BSON format + + @since version 3.1.0; added @a allow_exceptions parameter since 3.2.0 + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_ubjson(detail::input_adapter&&, const bool, const bool) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + static basic_json from_ubjson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_ubjson(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + static basic_json from_ubjson(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + + /*! + @brief Create a JSON value from an input in BSON format + + Deserializes a given input @a i to a JSON value using the BSON (Binary JSON) + serialization format. + + The library maps BSON record types to JSON value types as follows: + + BSON type | BSON marker byte | JSON value type + --------------- | ---------------- | --------------------------- + double | 0x01 | number_float + string | 0x02 | string + document | 0x03 | object + array | 0x04 | array + binary | 0x05 | still unsupported + undefined | 0x06 | still unsupported + ObjectId | 0x07 | still unsupported + boolean | 0x08 | boolean + UTC Date-Time | 0x09 | still unsupported + null | 0x0A | null + Regular Expr. | 0x0B | still unsupported + DB Pointer | 0x0C | still unsupported + JavaScript Code | 0x0D | still unsupported + Symbol | 0x0E | still unsupported + JavaScript Code | 0x0F | still unsupported + int32 | 0x10 | number_integer + Timestamp | 0x11 | still unsupported + 128-bit decimal float | 0x13 | still unsupported + Max Key | 0x7F | still unsupported + Min Key | 0xFF | still unsupported + + @warning The mapping is **incomplete**. The unsupported mappings + are indicated in the table above. + + @param[in] i an input in BSON format convertible to an input adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.114 if an unsupported BSON record type is encountered + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in + BSON format to a JSON value.,from_bson} + + @sa http://bsonspec.org/spec.html + @sa @ref to_bson(const basic_json&) for the analogous serialization + @sa @ref from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the + related CBOR format + @sa @ref from_msgpack(detail::input_adapter&&, const bool, const bool) for + the related MessagePack format + @sa @ref from_ubjson(detail::input_adapter&&, const bool, const bool) for the + related UBJSON format + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_bson(detail::input_adapter&&, const bool, const bool) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + static basic_json from_bson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_bson(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + static basic_json from_bson(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + /// @} + + ////////////////////////// + // JSON Pointer support // + ////////////////////////// + + /// @name JSON Pointer functions + /// @{ + + /*! + @brief access specified element via JSON Pointer + + Uses a JSON pointer to retrieve a reference to the respective JSON value. + No bound checking is performed. Similar to @ref operator[](const typename + object_t::key_type&), `null` values are created in arrays and objects if + necessary. + + In particular: + - If the JSON pointer points to an object key that does not exist, it + is created an filled with a `null` value before a reference to it + is returned. + - If the JSON pointer points to an array index that does not exist, it + is created an filled with a `null` value before a reference to it + is returned. All indices between the current maximum and the given + index are also filled with `null`. + - The special value `-` is treated as a synonym for the index past the + end. + + @param[in] ptr a JSON pointer + + @return reference to the element pointed to by @a ptr + + @complexity Constant. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.404 if the JSON pointer can not be resolved + + @liveexample{The behavior is shown in the example.,operatorjson_pointer} + + @since version 2.0.0 + */ + reference operator[](const json_pointer& ptr) + { + return ptr.get_unchecked(this); + } + + /*! + @brief access specified element via JSON Pointer + + Uses a JSON pointer to retrieve a reference to the respective JSON value. + No bound checking is performed. The function does not change the JSON + value; no `null` values are created. In particular, the special value + `-` yields an exception. + + @param[in] ptr JSON pointer to the desired element + + @return const reference to the element pointed to by @a ptr + + @complexity Constant. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + + @liveexample{The behavior is shown in the example.,operatorjson_pointer_const} + + @since version 2.0.0 + */ + const_reference operator[](const json_pointer& ptr) const + { + return ptr.get_unchecked(this); + } + + /*! + @brief access specified element via JSON Pointer + + Returns a reference to the element at with specified JSON pointer @a ptr, + with bounds checking. + + @param[in] ptr JSON pointer to the desired element + + @return reference to the element pointed to by @a ptr + + @throw parse_error.106 if an array index in the passed JSON pointer @a ptr + begins with '0'. See example below. + + @throw parse_error.109 if an array index in the passed JSON pointer @a ptr + is not a number. See example below. + + @throw out_of_range.401 if an array index in the passed JSON pointer @a ptr + is out of range. See example below. + + @throw out_of_range.402 if the array index '-' is used in the passed JSON + pointer @a ptr. As `at` provides checked access (and no elements are + implicitly inserted), the index '-' is always invalid. See example below. + + @throw out_of_range.403 if the JSON pointer describes a key of an object + which cannot be found. See example below. + + @throw out_of_range.404 if the JSON pointer @a ptr can not be resolved. + See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 2.0.0 + + @liveexample{The behavior is shown in the example.,at_json_pointer} + */ + reference at(const json_pointer& ptr) + { + return ptr.get_checked(this); + } + + /*! + @brief access specified element via JSON Pointer + + Returns a const reference to the element at with specified JSON pointer @a + ptr, with bounds checking. + + @param[in] ptr JSON pointer to the desired element + + @return reference to the element pointed to by @a ptr + + @throw parse_error.106 if an array index in the passed JSON pointer @a ptr + begins with '0'. See example below. + + @throw parse_error.109 if an array index in the passed JSON pointer @a ptr + is not a number. See example below. + + @throw out_of_range.401 if an array index in the passed JSON pointer @a ptr + is out of range. See example below. + + @throw out_of_range.402 if the array index '-' is used in the passed JSON + pointer @a ptr. As `at` provides checked access (and no elements are + implicitly inserted), the index '-' is always invalid. See example below. + + @throw out_of_range.403 if the JSON pointer describes a key of an object + which cannot be found. See example below. + + @throw out_of_range.404 if the JSON pointer @a ptr can not be resolved. + See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 2.0.0 + + @liveexample{The behavior is shown in the example.,at_json_pointer_const} + */ + const_reference at(const json_pointer& ptr) const + { + return ptr.get_checked(this); + } + + /*! + @brief return flattened JSON value + + The function creates a JSON object whose keys are JSON pointers (see [RFC + 6901](https://tools.ietf.org/html/rfc6901)) and whose values are all + primitive. The original JSON value can be restored using the @ref + unflatten() function. + + @return an object that maps JSON pointers to primitive values + + @note Empty objects and arrays are flattened to `null` and will not be + reconstructed correctly by the @ref unflatten() function. + + @complexity Linear in the size the JSON value. + + @liveexample{The following code shows how a JSON object is flattened to an + object whose keys consist of JSON pointers.,flatten} + + @sa @ref unflatten() for the reverse function + + @since version 2.0.0 + */ + basic_json flatten() const + { + basic_json result(value_t::object); + json_pointer::flatten("", *this, result); + return result; + } + + /*! + @brief unflatten a previously flattened JSON value + + The function restores the arbitrary nesting of a JSON value that has been + flattened before using the @ref flatten() function. The JSON value must + meet certain constraints: + 1. The value must be an object. + 2. The keys must be JSON pointers (see + [RFC 6901](https://tools.ietf.org/html/rfc6901)) + 3. The mapped values must be primitive JSON types. + + @return the original JSON from a flattened version + + @note Empty objects and arrays are flattened by @ref flatten() to `null` + values and can not unflattened to their original type. Apart from + this example, for a JSON value `j`, the following is always true: + `j == j.flatten().unflatten()`. + + @complexity Linear in the size the JSON value. + + @throw type_error.314 if value is not an object + @throw type_error.315 if object values are not primitive + + @liveexample{The following code shows how a flattened JSON object is + unflattened into the original nested JSON object.,unflatten} + + @sa @ref flatten() for the reverse function + + @since version 2.0.0 + */ + basic_json unflatten() const + { + return json_pointer::unflatten(*this); + } + + /// @} + + ////////////////////////// + // JSON Patch functions // + ////////////////////////// + + /// @name JSON Patch functions + /// @{ + + /*! + @brief applies a JSON patch + + [JSON Patch](http://jsonpatch.com) defines a JSON document structure for + expressing a sequence of operations to apply to a JSON) document. With + this function, a JSON Patch is applied to the current JSON value by + executing all operations from the patch. + + @param[in] json_patch JSON patch document + @return patched document + + @note The application of a patch is atomic: Either all operations succeed + and the patched document is returned or an exception is thrown. In + any case, the original value is not changed: the patch is applied + to a copy of the value. + + @throw parse_error.104 if the JSON patch does not consist of an array of + objects + + @throw parse_error.105 if the JSON patch is malformed (e.g., mandatory + attributes are missing); example: `"operation add must have member path"` + + @throw out_of_range.401 if an array index is out of range. + + @throw out_of_range.403 if a JSON pointer inside the patch could not be + resolved successfully in the current JSON value; example: `"key baz not + found"` + + @throw out_of_range.405 if JSON pointer has no parent ("add", "remove", + "move") + + @throw other_error.501 if "test" operation was unsuccessful + + @complexity Linear in the size of the JSON value and the length of the + JSON patch. As usually only a fraction of the JSON value is affected by + the patch, the complexity can usually be neglected. + + @liveexample{The following code shows how a JSON patch is applied to a + value.,patch} + + @sa @ref diff -- create a JSON patch by comparing two JSON values + + @sa [RFC 6902 (JSON Patch)](https://tools.ietf.org/html/rfc6902) + @sa [RFC 6901 (JSON Pointer)](https://tools.ietf.org/html/rfc6901) + + @since version 2.0.0 + */ + basic_json patch(const basic_json& json_patch) const + { + // make a working copy to apply the patch to + basic_json result = *this; + + // the valid JSON Patch operations + enum class patch_operations {add, remove, replace, move, copy, test, invalid}; + + const auto get_op = [](const std::string & op) + { + if (op == "add") + { + return patch_operations::add; + } + if (op == "remove") + { + return patch_operations::remove; + } + if (op == "replace") + { + return patch_operations::replace; + } + if (op == "move") + { + return patch_operations::move; + } + if (op == "copy") + { + return patch_operations::copy; + } + if (op == "test") + { + return patch_operations::test; + } + + return patch_operations::invalid; + }; + + // wrapper for "add" operation; add value at ptr + const auto operation_add = [&result](json_pointer & ptr, basic_json val) + { + // adding to the root of the target document means replacing it + if (ptr.empty()) + { + result = val; + return; + } + + // make sure the top element of the pointer exists + json_pointer top_pointer = ptr.top(); + if (top_pointer != ptr) + { + result.at(top_pointer); + } + + // get reference to parent of JSON pointer ptr + const auto last_path = ptr.back(); + ptr.pop_back(); + basic_json& parent = result[ptr]; + + switch (parent.m_type) + { + case value_t::null: + case value_t::object: + { + // use operator[] to add value + parent[last_path] = val; + break; + } + + case value_t::array: + { + if (last_path == "-") + { + // special case: append to back + parent.push_back(val); + } + else + { + const auto idx = json_pointer::array_index(last_path); + if (JSON_HEDLEY_UNLIKELY(idx > parent.size())) + { + // avoid undefined behavior + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range")); + } + + // default case: insert add offset + parent.insert(parent.begin() + static_cast(idx), val); + } + break; + } + + // if there exists a parent it cannot be primitive + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // LCOV_EXCL_LINE + } + }; + + // wrapper for "remove" operation; remove value at ptr + const auto operation_remove = [&result](json_pointer & ptr) + { + // get reference to parent of JSON pointer ptr + const auto last_path = ptr.back(); + ptr.pop_back(); + basic_json& parent = result.at(ptr); + + // remove child + if (parent.is_object()) + { + // perform range check + auto it = parent.find(last_path); + if (JSON_HEDLEY_LIKELY(it != parent.end())) + { + parent.erase(it); + } + else + { + JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found")); + } + } + else if (parent.is_array()) + { + // note erase performs range check + parent.erase(json_pointer::array_index(last_path)); + } + }; + + // type check: top level value must be an array + if (JSON_HEDLEY_UNLIKELY(!json_patch.is_array())) + { + JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects")); + } + + // iterate and apply the operations + for (const auto& val : json_patch) + { + // wrapper to get a value for an operation + const auto get_value = [&val](const std::string & op, + const std::string & member, + bool string_type) -> basic_json & + { + // find value + auto it = val.m_value.object->find(member); + + // context-sensitive error message + const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'"; + + // check if desired value is present + if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end())) + { + JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'")); + } + + // check if result is of type string + if (JSON_HEDLEY_UNLIKELY(string_type && !it->second.is_string())) + { + JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'")); + } + + // no error: return value + return it->second; + }; + + // type check: every element of the array must be an object + if (JSON_HEDLEY_UNLIKELY(!val.is_object())) + { + JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects")); + } + + // collect mandatory members + const auto op = get_value("op", "op", true).template get(); + const auto path = get_value(op, "path", true).template get(); + json_pointer ptr(path); + + switch (get_op(op)) + { + case patch_operations::add: + { + operation_add(ptr, get_value("add", "value", false)); + break; + } + + case patch_operations::remove: + { + operation_remove(ptr); + break; + } + + case patch_operations::replace: + { + // the "path" location must exist - use at() + result.at(ptr) = get_value("replace", "value", false); + break; + } + + case patch_operations::move: + { + const auto from_path = get_value("move", "from", true).template get(); + json_pointer from_ptr(from_path); + + // the "from" location must exist - use at() + basic_json v = result.at(from_ptr); + + // The move operation is functionally identical to a + // "remove" operation on the "from" location, followed + // immediately by an "add" operation at the target + // location with the value that was just removed. + operation_remove(from_ptr); + operation_add(ptr, v); + break; + } + + case patch_operations::copy: + { + const auto from_path = get_value("copy", "from", true).template get(); + const json_pointer from_ptr(from_path); + + // the "from" location must exist - use at() + basic_json v = result.at(from_ptr); + + // The copy is functionally identical to an "add" + // operation at the target location using the value + // specified in the "from" member. + operation_add(ptr, v); + break; + } + + case patch_operations::test: + { + bool success = false; + JSON_TRY + { + // check if "value" matches the one at "path" + // the "path" location must exist - use at() + success = (result.at(ptr) == get_value("test", "value", false)); + } + JSON_INTERNAL_CATCH (out_of_range&) + { + // ignore out of range errors: success remains false + } + + // throw an exception if test fails + if (JSON_HEDLEY_UNLIKELY(!success)) + { + JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump())); + } + + break; + } + + default: + { + // op must be "add", "remove", "replace", "move", "copy", or + // "test" + JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid")); + } + } + } + + return result; + } + + /*! + @brief creates a diff as a JSON patch + + Creates a [JSON Patch](http://jsonpatch.com) so that value @a source can + be changed into the value @a target by calling @ref patch function. + + @invariant For two JSON values @a source and @a target, the following code + yields always `true`: + @code {.cpp} + source.patch(diff(source, target)) == target; + @endcode + + @note Currently, only `remove`, `add`, and `replace` operations are + generated. + + @param[in] source JSON value to compare from + @param[in] target JSON value to compare against + @param[in] path helper value to create JSON pointers + + @return a JSON patch to convert the @a source to @a target + + @complexity Linear in the lengths of @a source and @a target. + + @liveexample{The following code shows how a JSON patch is created as a + diff for two JSON values.,diff} + + @sa @ref patch -- apply a JSON patch + @sa @ref merge_patch -- apply a JSON Merge Patch + + @sa [RFC 6902 (JSON Patch)](https://tools.ietf.org/html/rfc6902) + + @since version 2.0.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json diff(const basic_json& source, const basic_json& target, + const std::string& path = "") + { + // the patch + basic_json result(value_t::array); + + // if the values are the same, return empty patch + if (source == target) + { + return result; + } + + if (source.type() != target.type()) + { + // different types: replace value + result.push_back( + { + {"op", "replace"}, {"path", path}, {"value", target} + }); + return result; + } + + switch (source.type()) + { + case value_t::array: + { + // first pass: traverse common elements + std::size_t i = 0; + while (i < source.size() && i < target.size()) + { + // recursive call to compare array values at index i + auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i)); + result.insert(result.end(), temp_diff.begin(), temp_diff.end()); + ++i; + } + + // i now reached the end of at least one array + // in a second pass, traverse the remaining elements + + // remove my remaining elements + const auto end_index = static_cast(result.size()); + while (i < source.size()) + { + // add operations in reverse order to avoid invalid + // indices + result.insert(result.begin() + end_index, object( + { + {"op", "remove"}, + {"path", path + "/" + std::to_string(i)} + })); + ++i; + } + + // add other remaining elements + while (i < target.size()) + { + result.push_back( + { + {"op", "add"}, + {"path", path + "/-"}, + {"value", target[i]} + }); + ++i; + } + + break; + } + + case value_t::object: + { + // first pass: traverse this object's elements + for (auto it = source.cbegin(); it != source.cend(); ++it) + { + // escape the key name to be used in a JSON patch + const auto key = json_pointer::escape(it.key()); + + if (target.find(it.key()) != target.end()) + { + // recursive call to compare object values at key it + auto temp_diff = diff(it.value(), target[it.key()], path + "/" + key); + result.insert(result.end(), temp_diff.begin(), temp_diff.end()); + } + else + { + // found a key that is not in o -> remove it + result.push_back(object( + { + {"op", "remove"}, {"path", path + "/" + key} + })); + } + } + + // second pass: traverse other object's elements + for (auto it = target.cbegin(); it != target.cend(); ++it) + { + if (source.find(it.key()) == source.end()) + { + // found a key that is not in this -> add it + const auto key = json_pointer::escape(it.key()); + result.push_back( + { + {"op", "add"}, {"path", path + "/" + key}, + {"value", it.value()} + }); + } + } + + break; + } + + default: + { + // both primitive type: replace value + result.push_back( + { + {"op", "replace"}, {"path", path}, {"value", target} + }); + break; + } + } + + return result; + } + + /// @} + + //////////////////////////////// + // JSON Merge Patch functions // + //////////////////////////////// + + /// @name JSON Merge Patch functions + /// @{ + + /*! + @brief applies a JSON Merge Patch + + The merge patch format is primarily intended for use with the HTTP PATCH + method as a means of describing a set of modifications to a target + resource's content. This function applies a merge patch to the current + JSON value. + + The function implements the following algorithm from Section 2 of + [RFC 7396 (JSON Merge Patch)](https://tools.ietf.org/html/rfc7396): + + ``` + define MergePatch(Target, Patch): + if Patch is an Object: + if Target is not an Object: + Target = {} // Ignore the contents and set it to an empty Object + for each Name/Value pair in Patch: + if Value is null: + if Name exists in Target: + remove the Name/Value pair from Target + else: + Target[Name] = MergePatch(Target[Name], Value) + return Target + else: + return Patch + ``` + + Thereby, `Target` is the current object; that is, the patch is applied to + the current value. + + @param[in] apply_patch the patch to apply + + @complexity Linear in the lengths of @a patch. + + @liveexample{The following code shows how a JSON Merge Patch is applied to + a JSON document.,merge_patch} + + @sa @ref patch -- apply a JSON patch + @sa [RFC 7396 (JSON Merge Patch)](https://tools.ietf.org/html/rfc7396) + + @since version 3.0.0 + */ + void merge_patch(const basic_json& apply_patch) + { + if (apply_patch.is_object()) + { + if (!is_object()) + { + *this = object(); + } + for (auto it = apply_patch.begin(); it != apply_patch.end(); ++it) + { + if (it.value().is_null()) + { + erase(it.key()); + } + else + { + operator[](it.key()).merge_patch(it.value()); + } + } + } + else + { + *this = apply_patch; + } + } + + /// @} +}; + +/*! +@brief user-defined to_string function for JSON values + +This function implements a user-defined to_string for JSON objects. + +@param[in] j a JSON object +@return a std::string object +*/ + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j) +{ + return j.dump(); +} +} // namespace nlohmann + +/////////////////////// +// nonmember support // +/////////////////////// + +// specialization of std::swap, and std::hash +namespace std +{ + +/// hash value for JSON objects +template<> +struct hash +{ + /*! + @brief return a hash value for a JSON object + + @since version 1.0.0 + */ + std::size_t operator()(const nlohmann::json& j) const + { + return nlohmann::detail::hash(j); + } +}; + +/// specialization for std::less +/// @note: do not remove the space after '<', +/// see https://github.com/nlohmann/json/pull/679 +template<> +struct less<::nlohmann::detail::value_t> +{ + /*! + @brief compare two value_t enum values + @since version 3.0.0 + */ + bool operator()(nlohmann::detail::value_t lhs, + nlohmann::detail::value_t rhs) const noexcept + { + return nlohmann::detail::operator<(lhs, rhs); + } +}; + +// C++20 prohibit function specialization in the std namespace. +#ifndef JSON_HAS_CPP_20 + +/*! +@brief exchanges the values of two JSON objects + +@since version 1.0.0 +*/ +template<> +inline void swap(nlohmann::json& j1, nlohmann::json& j2) noexcept( + is_nothrow_move_constructible::value&& + is_nothrow_move_assignable::value + ) +{ + j1.swap(j2); +} + +#endif + +} // namespace std + +/*! +@brief user-defined string literal for JSON values + +This operator implements a user-defined string literal for JSON objects. It +can be used by adding `"_json"` to a string literal and returns a JSON object +if no parse error occurred. + +@param[in] s a string representation of a JSON object +@param[in] n the length of string @a s +@return a JSON object + +@since version 1.0.0 +*/ +JSON_HEDLEY_NON_NULL(1) +inline nlohmann::json operator "" _json(const char* s, std::size_t n) +{ + return nlohmann::json::parse(s, s + n); +} + +/*! +@brief user-defined string literal for JSON pointer + +This operator implements a user-defined string literal for JSON Pointers. It +can be used by adding `"_json_pointer"` to a string literal and returns a JSON pointer +object if no parse error occurred. + +@param[in] s a string representation of a JSON Pointer +@param[in] n the length of string @a s +@return a JSON pointer object + +@since version 2.0.0 +*/ +JSON_HEDLEY_NON_NULL(1) +inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n) +{ + return nlohmann::json::json_pointer(std::string(s, n)); +} + +// #include + + +// restore GCC/clang diagnostic settings +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #pragma GCC diagnostic pop +#endif +#if defined(__clang__) + #pragma GCC diagnostic pop +#endif + +// clean up +#undef JSON_ASSERT +#undef JSON_INTERNAL_CATCH +#undef JSON_CATCH +#undef JSON_THROW +#undef JSON_TRY +#undef JSON_HAS_CPP_14 +#undef JSON_HAS_CPP_17 +#undef NLOHMANN_BASIC_JSON_TPL_DECLARATION +#undef NLOHMANN_BASIC_JSON_TPL +#undef JSON_EXPLICIT + +// #include +#undef JSON_HEDLEY_ALWAYS_INLINE +#undef JSON_HEDLEY_ARM_VERSION +#undef JSON_HEDLEY_ARM_VERSION_CHECK +#undef JSON_HEDLEY_ARRAY_PARAM +#undef JSON_HEDLEY_ASSUME +#undef JSON_HEDLEY_BEGIN_C_DECLS +#undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#undef JSON_HEDLEY_CLANG_HAS_FEATURE +#undef JSON_HEDLEY_CLANG_HAS_WARNING +#undef JSON_HEDLEY_COMPCERT_VERSION +#undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#undef JSON_HEDLEY_CONCAT +#undef JSON_HEDLEY_CONCAT3 +#undef JSON_HEDLEY_CONCAT3_EX +#undef JSON_HEDLEY_CONCAT_EX +#undef JSON_HEDLEY_CONST +#undef JSON_HEDLEY_CONSTEXPR +#undef JSON_HEDLEY_CONST_CAST +#undef JSON_HEDLEY_CPP_CAST +#undef JSON_HEDLEY_CRAY_VERSION +#undef JSON_HEDLEY_CRAY_VERSION_CHECK +#undef JSON_HEDLEY_C_DECL +#undef JSON_HEDLEY_DEPRECATED +#undef JSON_HEDLEY_DEPRECATED_FOR +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#undef JSON_HEDLEY_DIAGNOSTIC_POP +#undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#undef JSON_HEDLEY_DMC_VERSION +#undef JSON_HEDLEY_DMC_VERSION_CHECK +#undef JSON_HEDLEY_EMPTY_BASES +#undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#undef JSON_HEDLEY_END_C_DECLS +#undef JSON_HEDLEY_FLAGS +#undef JSON_HEDLEY_FLAGS_CAST +#undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_BUILTIN +#undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_EXTENSION +#undef JSON_HEDLEY_GCC_HAS_FEATURE +#undef JSON_HEDLEY_GCC_HAS_WARNING +#undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#undef JSON_HEDLEY_GCC_VERSION +#undef JSON_HEDLEY_GCC_VERSION_CHECK +#undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#undef JSON_HEDLEY_GNUC_HAS_FEATURE +#undef JSON_HEDLEY_GNUC_HAS_WARNING +#undef JSON_HEDLEY_GNUC_VERSION +#undef JSON_HEDLEY_GNUC_VERSION_CHECK +#undef JSON_HEDLEY_HAS_ATTRIBUTE +#undef JSON_HEDLEY_HAS_BUILTIN +#undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_HAS_EXTENSION +#undef JSON_HEDLEY_HAS_FEATURE +#undef JSON_HEDLEY_HAS_WARNING +#undef JSON_HEDLEY_IAR_VERSION +#undef JSON_HEDLEY_IAR_VERSION_CHECK +#undef JSON_HEDLEY_IBM_VERSION +#undef JSON_HEDLEY_IBM_VERSION_CHECK +#undef JSON_HEDLEY_IMPORT +#undef JSON_HEDLEY_INLINE +#undef JSON_HEDLEY_INTEL_VERSION +#undef JSON_HEDLEY_INTEL_VERSION_CHECK +#undef JSON_HEDLEY_IS_CONSTANT +#undef JSON_HEDLEY_IS_CONSTEXPR_ +#undef JSON_HEDLEY_LIKELY +#undef JSON_HEDLEY_MALLOC +#undef JSON_HEDLEY_MESSAGE +#undef JSON_HEDLEY_MSVC_VERSION +#undef JSON_HEDLEY_MSVC_VERSION_CHECK +#undef JSON_HEDLEY_NEVER_INLINE +#undef JSON_HEDLEY_NON_NULL +#undef JSON_HEDLEY_NO_ESCAPE +#undef JSON_HEDLEY_NO_RETURN +#undef JSON_HEDLEY_NO_THROW +#undef JSON_HEDLEY_NULL +#undef JSON_HEDLEY_PELLES_VERSION +#undef JSON_HEDLEY_PELLES_VERSION_CHECK +#undef JSON_HEDLEY_PGI_VERSION +#undef JSON_HEDLEY_PGI_VERSION_CHECK +#undef JSON_HEDLEY_PREDICT +#undef JSON_HEDLEY_PRINTF_FORMAT +#undef JSON_HEDLEY_PRIVATE +#undef JSON_HEDLEY_PUBLIC +#undef JSON_HEDLEY_PURE +#undef JSON_HEDLEY_REINTERPRET_CAST +#undef JSON_HEDLEY_REQUIRE +#undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#undef JSON_HEDLEY_REQUIRE_MSG +#undef JSON_HEDLEY_RESTRICT +#undef JSON_HEDLEY_RETURNS_NON_NULL +#undef JSON_HEDLEY_SENTINEL +#undef JSON_HEDLEY_STATIC_ASSERT +#undef JSON_HEDLEY_STATIC_CAST +#undef JSON_HEDLEY_STRINGIFY +#undef JSON_HEDLEY_STRINGIFY_EX +#undef JSON_HEDLEY_SUNPRO_VERSION +#undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#undef JSON_HEDLEY_TINYC_VERSION +#undef JSON_HEDLEY_TINYC_VERSION_CHECK +#undef JSON_HEDLEY_TI_ARMCL_VERSION +#undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL2000_VERSION +#undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL430_VERSION +#undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL6X_VERSION +#undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL7X_VERSION +#undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#undef JSON_HEDLEY_TI_CLPRU_VERSION +#undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#undef JSON_HEDLEY_TI_VERSION +#undef JSON_HEDLEY_TI_VERSION_CHECK +#undef JSON_HEDLEY_UNAVAILABLE +#undef JSON_HEDLEY_UNLIKELY +#undef JSON_HEDLEY_UNPREDICTABLE +#undef JSON_HEDLEY_UNREACHABLE +#undef JSON_HEDLEY_UNREACHABLE_RETURN +#undef JSON_HEDLEY_VERSION +#undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#undef JSON_HEDLEY_VERSION_DECODE_MINOR +#undef JSON_HEDLEY_VERSION_DECODE_REVISION +#undef JSON_HEDLEY_VERSION_ENCODE +#undef JSON_HEDLEY_WARNING +#undef JSON_HEDLEY_WARN_UNUSED_RESULT +#undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#undef JSON_HEDLEY_FALL_THROUGH + + + +#endif // INCLUDE_NLOHMANN_JSON_HPP_ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8a37f1a3ac..22eac4ae36 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -118,4 +118,3 @@ if(NOT EXTERNAL AND ${VTK_FOUND}) endif() # Push up the SCRIMMAGE_PLUGINS variable -set(PROJECT_PLUGINS ${PROJECT_PLUGINS} PARENT_SCOPE) diff --git a/src/plugins/interaction/CesiumWebServer/CMakeLists.txt b/src/plugins/interaction/CesiumWebServer/CMakeLists.txt new file mode 100644 index 0000000000..5314526a45 --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/CMakeLists.txt @@ -0,0 +1,49 @@ +#-------------------------------------------------------- +# Library Creation +#-------------------------------------------------------- +find_package(Seasocks QUIET) +if (${Seasocks_FOUND}) + set(LIBRARY_NAME CesiumWebServer_plugin) + set(LIB_MAJOR 0) + set(LIB_MINOR 0) + set(LIB_RELEASE 1) + + file(GLOB SRCS *.cpp) + + add_library(${LIBRARY_NAME} SHARED + ${SRCS} + ) + + target_compile_options(${LIBRARY_NAME} + PRIVATE + -Wall + -std=c++14 + $<$:"-Wno-return-type-c-linkage"> + ) + + target_link_libraries(${LIBRARY_NAME} + scrimmage-core + seasocks + ) + + set(_soversion ${LIB_MAJOR}.${LIB_MINOR}.${LIB_RELEASE}) + + set_target_properties(${LIBRARY_NAME} PROPERTIES + SOVERSION ${LIB_MAJOR} + VERSION ${_soversion} + LIBRARY_OUTPUT_DIRECTORY ${PROJECT_PLUGIN_LIBS_DIR} + ) + + target_include_directories(${LIBRARY_NAME} + PUBLIC + $ + $ + ) + + install(TARGETS ${LIBRARY_NAME} + # IMPORTANT: Add the library to the "export-set" + EXPORT ${PROJECT_NAME}-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib/${PROJECT_NAME}/plugin_libs + ) +endif() diff --git a/src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp b/src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp new file mode 100644 index 0000000000..577c23b8f6 --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp @@ -0,0 +1,198 @@ +/*! + * @file + * + * @section LICENSE + * + * Copyright (C) 2017 by the Georgia Tech Research Institute (GTRI) + * + * This file is part of SCRIMMAGE. + * + * SCRIMMAGE is free software: you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * SCRIMMAGE is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with SCRIMMAGE. If not, see . + * + * @author Christopher Richardson + * @date 31 July 2017 + * @version 0.1.0 + * @brief Brief file description. + * @section DESCRIPTION + * A Long description goes here. + * + */ + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace seasocks; +using json = nlohmann::json; + +using std::cout; +using std::endl; + +namespace sc = scrimmage; + +REGISTER_PLUGIN(scrimmage::EntityInteraction, + scrimmage::interaction::CesiumWebServer, + CesiumWebServer_plugin) + +namespace scrimmage { +namespace interaction { + +CesiumWebServer::CesiumWebServer() { +} + +CesiumWebServer::~CesiumWebServer() { + server_->terminate(); + serve_thread_->join(); +} + +bool CesiumWebServer::init(std::map &mission_params, + std::map &plugin_params) { + + // params + web_src_dir_ = sc::get("web_src_dir", plugin_params, ""); + web_host_port_ = sc::get("web_host_port", plugin_params, 9090); + + // subscribe to scrimmage shapes + subscribe("GlobalNetwork", "shapes", + std::bind(&CesiumWebServer::subShapes, this, std::placeholders::_1)); + + // setup web server + auto logger = std::make_shared(Logger::Level::Debug); + server_ = std::make_shared(logger); + ws_handler_ = std::make_shared(server_.get()); + server_->addWebSocketHandler("/ws", ws_handler_); + + // spawn thread to serve page + serve_thread_ = std::make_shared( + std::bind(&CesiumWebServer::serve_blocking, this)); + + return true; +} + + +bool CesiumWebServer::step_entity_interaction(std::list &ents, + double t, double dt) { + /* if (ents.empty()) { */ + /* return true; */ + /* } */ + ents_ = ents; + sendEntities(); + + return true; +} + +void CesiumWebServer::sendEntities() { + for (auto entity : ents_) { + const auto pos = entity->state_truth()->pos(); + const auto quat = entity->state_truth()->quat(); + json entity_json, msg; + std::string full_id = "entity" + std::to_string(entity->id().id()); + + // convert to global coordinates + double lat, lon, alt; + parent_->projection()->Reverse(pos[0], pos[1], pos[2], lat, lon, alt); + entity_json["id"] = full_id; + entity_json["name"] = full_id; + entity_json["position"]["lat"] = lat; + entity_json["position"]["lon"] = lon; + entity_json["position"]["alt"] = alt; + entity_json["orientation"]["yaw"] = quat.yaw(); + entity_json["orientation"]["pitch"] = quat.pitch(); + entity_json["orientation"]["roll"] = quat.roll(); + entity_json["isAlive"] = entity->is_alive(); + + // pack websocket msg + msg["topic"] = "vehicle"; + msg["data"] = entity_json; + ws_handler_->send(msg.dump()); + } +} + +void CesiumWebServer::serve_blocking() { + server_->serve(web_src_dir_.c_str(), web_host_port_); +} + +void CesiumWebServer::subShapes(scrimmage::MessagePtr &msg) { + json shape, json_msg; + + const auto rgb = msg->data->color(); + shape["id"] = msg->data->hash(); + if (msg->data->has_sphere()) { + const double r = msg->data->sphere().radius(); + shape["name"] = "sphere"; + double lat, lon, alt; + const auto center = msg->data->sphere().center(); + parent_->projection()->Reverse(center.x(), center.y(), center.z(), lat, lon, alt); + shape["position"] = {lon, lat, alt}; + std::cout << "sphere position: " << shape["position"] << std::endl; + shape["ellipsoid"]["radii"] = {r, r, r}; + shape["ellipsoid"]["material"] = {rgb.r()/255.0, rgb.g()/255.0, rgb.b()/255.0, msg->data->opacity()}; + } else if (msg->data->has_line()) { + shape["name"] = "line"; + double slat, slon, salt, elat, elon, ealt; + const auto start = msg->data->line().start(); + const auto end = msg->data->line().end(); + parent_->projection()->Reverse(start.x(), start.y(), start.z(), slat, slon, salt); + parent_->projection()->Reverse(end.x(), end.y(), end.z(), elat, elon, ealt); + shape["polyline"]["positions"] = {slon, slat, salt, elon, elat, ealt}; + shape["polyline"]["width"] = msg->data->line().width(); + shape["polyline"]["material"] = {rgb.r()/255.0, rgb.g()/255.0, rgb.b()/255.0, msg->data->opacity()}; + } else if (msg->data->has_cuboid()) { + const auto cub = msg->data->cuboid(); + shape["name"] = "cuboid"; + double lat, lon, alt; + const auto center = cub.center(); + parent_->projection()->Reverse(center.x(), center.y(), center.z(), lat, lon, alt); + shape["position"] = {lon, lat, alt}; + shape["box"]["dimensions"] = {cub.x_length(), cub.y_length(), cub.z_length()}; + shape["box"]["material"] = {rgb.r()/255.0, rgb.g()/255.0, rgb.b()/255.0, msg->data->opacity()}; + } else if (msg->data->has_polyline()) { + shape["name"] = "polyline"; + shape["polyline"]["positions"] = {}; + for (auto pt : msg->data->polyline().point()) { + double lat, lon, alt; + parent_->projection()->Reverse(pt.x(), pt.y(), pt.z(), lat, lon, alt); + shape["polyline"]["positions"].push_back(lon); + shape["polyline"]["positions"].push_back(lat); + shape["polyline"]["positions"].push_back(alt); + const auto ps = shape["polyline"]["positions"]; + } + shape["polyline"]["width"] = 1; + shape["polyline"]["material"] = {rgb.r()/255.0, rgb.g()/255.0, rgb.b()/255.0, msg->data->opacity()}; + } + + // send json msg + if (shape != nullptr) { + json_msg["topic"] = "shape"; + json_msg["data"] = shape; + ws_handler_->send(json_msg.dump()); + } +} + +} // namespace interaction +} // namespace scrimmage diff --git a/src/plugins/interaction/CesiumWebServer/web/app.js b/src/plugins/interaction/CesiumWebServer/web/app.js new file mode 100644 index 0000000000..d2907bdc14 --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/web/app.js @@ -0,0 +1,206 @@ +'use strict'; + +Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiYmQ0NmZiZC0zZGNlLTQ4ZWMtODJiYi0xYTY2OTk4MDMxNDkiLCJpZCI6ODk1MCwic2NvcGVzIjpbImFzciIsImdjIl0sImlhdCI6MTU1MzExNjM4M30.cUiEWi_tRRvqkGIY7rNG40aVA9rPKaz8vYF2wQuaLyU'; + +var viewer = new Cesium.Viewer('cesiumContainer',{ + infoBox: true, + selectionIndicator: true, + shadows: false, + shouldAnimate: true, + terrainProvider : Cesium.createWorldTerrain(), +}); + +// model inspector menu +// viewer.extend(Cesium.viewerCesiumInspectorMixin); + +// web sockets +var ws = new WebSocket('ws://' + document.location.host + '/ws'); +ws.onopen = function() { + console.log('Connected to scrimmage!'); +}; +ws.onclose = function() { + $('#message').text('Lost connection.'); + console.log('Connection to scrimmage closed.'); +}; +ws.onerror = function(error) { + console.log('onerror ' + error); + console.log(error); +}; + +ws.onNewEntity = function(entity) { +}; + + +ws.onmessage = function(message) { + var json; + try { + json = JSON.parse(message.data); + } catch (e) { + return; + } + + // dispatch message based on topic + if (json.topic === "vehicle") { + callbackVehicle(json.data); + } else if (json.topic === "shape") { + callbackShape(json.data); + } +}; + +function callbackVehicle(data) { + var entity = viewer.entities.getById(data.id) + if (entity === undefined) { + entity = addNewEntity(data.id); + } + + // get initial model from map, then adjust position and orientation + var key; + if (data.id in model_map) { + key = data.id; + } else { + key = 'default'; + } + entity.model = model_map[key]; + entity.model.rotation = model_map[key].rotation; + if (entity.model.rotation === undefined) { + entity.model.rotation = new Cesium.Quaternion(0, 0, 0, 1); + } + + var position = new Cesium.Cartesian3.fromDegrees( + data.position.lon, + data.position.lat, + data.position.alt); + var orientation = transformYawPitchRoll( + data.orientation.yaw, + data.orientation.pitch, + data.orientation.roll, + position); + + entity.position = position; + + /// apply model rotation + var quatFull = new Cesium.Quaternion(); + Cesium.Quaternion.multiply(orientation, entity.model.rotation, quatFull); + entity.orientation = quatFull; + + + if (!data.isAlive) { + console.log("no longer alive"); + entity.model.color = Cesium.Color.RED.withAlpha(0.5); + entity.model.runAnimations = false; + } +} + +function update_entity() { +} + +function addNewEntity(id) { + var position = new Cesium.Cartesian3(0, 0, 0); + var orientation = new Cesium.Quaternion(0, 0, 0, 1); + var entity = viewer.entities.add({ + name: id, + id: id, + position : position, + orientation : orientation, + }); + return entity; +} + +function transformYawPitchRoll(yaw, pitch, roll, position) { + // get quat from ENU to body + // NOTE: Cesium defines yaw and pitch as being about the NEGATIVE + // z- and y- axes (!) + var hprEnuToBody = new Cesium.HeadingPitchRoll(-yaw, -pitch, roll); + var quatEnuToBody = new Cesium.Quaternion.fromHeadingPitchRoll(hprEnuToBody); + + // get quat from ECEF to ENU + var transformEnuToEcef = new Cesium.Transforms.eastNorthUpToFixedFrame(position); + const rotEnuToEcef = new Cesium.Matrix3(); + Cesium.Matrix4.getMatrix3(transformEnuToEcef, rotEnuToEcef); + var quatEnuToEcef = new Cesium.Quaternion.fromRotationMatrix(rotEnuToEcef) + + // multiply to get ECEF to body + // NOTE: for some reason, we use EnuToEcef here... + var quatEcefToBody = new Cesium.Quaternion() + Cesium.Quaternion.multiply(quatEnuToEcef, quatEnuToBody, quatEcefToBody) + return quatEcefToBody; +} + +function callbackShape(data) { + var shape = viewer.entities.getOrCreateEntity(data.id); + shape.name = data.name; + + // handle different shapes + if (data.ellipsoid) { + shape.position = new Cesium.Cartesian3.fromDegrees( + data.position[0], + data.position[1], + data.position[2], + ); + shape.ellipsoid = data.ellipsoid; + shape.ellipsoid.material = new Cesium.Color( + data.ellipsoid.material[0], + data.ellipsoid.material[1], + data.ellipsoid.material[2], + data.ellipsoid.material[3], + ) + shape.ellipsoid.radii = new Cesium.Cartesian3( + data.ellipsoid.radii[0], + data.ellipsoid.radii[1], + data.ellipsoid.radii[2], + ) + } else if (data.polyline) { + shape.polyline = data.polyline; + shape.polyline.width = Math.max(1, data.polyline.width); + shape.polyline.positions = new Cesium.Cartesian3.fromDegreesArrayHeights( + data.polyline.positions); + shape.polyline.material = new Cesium.Color( + data.polyline.material[0], + data.polyline.material[1], + data.polyline.material[2], + data.polyline.material[3], + ) + } else if (data.box) { + shape.position = new Cesium.Cartesian3.fromDegrees( + data.position[0], + data.position[1], + data.position[2], + ); + shape.box = data.box; + shape.box.material = new Cesium.Color( + data.box.material[0], + data.box.material[1], + data.box.material[2], + data.box.material[3], + ) + shape.box.dimensions = new Cesium.Cartesian3( + data.box.dimensions[0], + data.box.dimensions[1], + data.box.dimensions[2], + ); + } +} + +// TEST ENTITIES +// var entity = viewer.entities.add({ +// name: 'Test Entity Plane', +// position: Cesium.Cartesian3.fromDegrees(-84.395208, 33.785466, 700), +// orientation: Cesium.Quaternion(0, 0, 0, 1), +// model: { +// uri: './models/CesiumAir/Cesium_Air.gltf', +// minimumPixelSize: 128, +// }, +// }); + +// viewer.entities.add({ +// name: "Test Entity Shape", +// position: Cesium.Cartesian3.fromDegrees(-84.395208, 33.785466, 500), +// ellipsoid: { +// radii: new Cesium.Cartesian3(200.0, 200.0, 200.0), +// innerRadii: new Cesium.Cartesian3(100.0, 100.0, 100.0), +// minimumCone: Cesium.Math.toRadians(60.0), +// maximumCone: Cesium.Math.toRadians(140.0), +// material: Cesium.Color.ORCHID.withAlpha(0.3), +// outline: true, +// }, +// }); diff --git a/src/plugins/interaction/CesiumWebServer/web/css/index.css b/src/plugins/interaction/CesiumWebServer/web/css/index.css new file mode 100644 index 0000000000..7646718726 --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/web/css/index.css @@ -0,0 +1,201 @@ + +#upload_button { + display: inline-block; +} +#upload_button input[type=file] { + display:none; +} + +.backdrop { + width:420px; + max-width:420px; + /* height:680px; */ + display: inline-block; + background: rgba(42, 42, 42, 0.7); + border-radius: 5px; + border: 1px solid #444; + padding: 5px 10px; + color: #fff; + line-height: 150%; + font-size: small; + transition: 0.4s; +} + +.accordion { + background-color: transparent; + color: #edffff; + cursor: pointer; + padding: 18px; + width: 100%; + border: none; + text-align: left; + outline: none; + font-size: 20px; + transition: 0.4s; + overflow: hidden; +} + +#accordion:first-child div { + display:block; + /* border-top:3px solid #FFCDCD; */ +} + +.panel { + /* padding: 0 18px; */ + /* min-height: 500px; */ + /* max-height: 500px; */ + /* min-height: 0; */ + max-height: 0px; + overflow: hidden; + transition: max-height 0.2s ease-out; +} + +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + z-index: -1; +} + +/* .inputfile:focus + label { */ +/* outline: 1px dotted #000; */ +/* outline: -webkit-focus-ring-color auto 5px; */ +/* } */ + +#heightSliderLabel, #heightValue { + vertical-align: top; +} + +.backdrop a:link, .backdrop a:visited, .backdrop a:hover { + color: #fff +} + +.loadingIndicator { + display: none; + position: absolute; + top: 50%; + left: 50%; + margin-top: -33px; + margin-left: -33px; + width: 66px; + height: 66px; + background: url(Source/Images/ajax-loader.gif) center no-repeat; +} + +.cover { + display: none; + position: absolute; + background-color: rgba(0, 0, 0, 0.75); + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +#menu { + position: absolute; + left: 10px; + top: 10px; +} + +.nowrap { + white-space: nowrap; +} + +html, body, #cesiumContainer { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: hidden; + font-family: sans-serif; + background: #000; +} + +#toolbar, +#galleryContainer { + -ms-user-select: none; + -moz-user-select: -moz-none; /* allows for re-enabling on sub-elements like the search box */ + -webkit-user-select: none; + user-select: none; +} + +button.cesium-infoBox-camera { + display: none; +} + +#3DTiles { + padding-top: 10px; +} + +input[type="text"].cesium-button:hover { + color: #fff; + fill: #fff; + background: #303336; + border-color: #aef; + box-shadow: none; + cursor: text; +} + +.text-left { + text-align: left !important; +} + +.ui-tabs.ui-tabs-vertical { + padding: 0; +} +.ui-tabs.ui-tabs-vertical .ui-widget-header { + border: none; + margin-left: -40px; + /* margin-right: 10px; */ + margin-block-start: unset; + margin-block-end: unset; +} + +.ui-tabs.ui-tabs-vertical .ui-tabs-nav { + float: left; + /* background-color: transparent; */ + /* border-radius: 4px 0 0 4px; */ + /* border-right: 1px solid gray; */ + font: 12px sans-serif +} +.ui-tabs.ui-tabs-vertical .ui-tabs-nav li { + clear: left; + width: 100%; + margin: 0.2em 0; + /* border: 1px solid gray; */ + /* border-width: 1px 0 1px 1px; */ + /* border-radius: 4px 0 0 4px; */ + overflow: hidden; + position: relative; + right: -2px; + z-index: 2; +} +.ui-tabs.ui-tabs-vertical .ui-tabs-nav li a { + display: block; + width: 100%; + padding: 0.6em 1em; +} +.ui-tabs.ui-tabs-vertical .ui-tabs-nav li a:hover { + cursor: pointer; +} +.ui-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { + margin-bottom: 0.2em; + padding-bottom: 0; + /* border-right: 1px solid white; */ + border-radius: 5px; + background: rgba(142, 142, 142, 0.7); +} +.ui-tabs.ui-tabs-vertical .ui-tabs-nav li:last-child { + margin-bottom: 10px; +} +.ui-tabs.ui-tabs-vertical .ui-tabs-panel { + padding-left: 20px; + float: left; + /* width: 28em; */ + /* border-left: 1px solid gray; */ + position: relative; + left: -1px; +} diff --git a/src/plugins/interaction/CesiumWebServer/web/images/cesium_icon.png b/src/plugins/interaction/CesiumWebServer/web/images/cesium_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..506cc050b7485e8475a2de349fefd7040afa319c GIT binary patch literal 13794 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

-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�AzsUzZRoaBcCRMO3y*%k(UtNr8|~g-lL! zG-VXJiYgVc$&UD?lEoEtHN~yQ0>$)HtX00cwaZsDe^Z+ImRMD}V%fw9e=9%<#hh0& zPu~w?RO;_l(nP7pO3=v(;Ft0*i?U(6*#Y^(tV-*DU>$#nD1=tVN()3UqEVOQQ5NIT z5*wqTB8o;sNma&*Js|IChvHt^QQ7$`vq3WfcfG?w&!}Qw@})mvkSM}&mV>14@`B@Q z;TVnuF2zJ{`+V6wxi2HiUTfJC_8i9oxF&F{OC>00&*zK%T46N$P1i=yW&34X{=oE8 zN+R$SGXv_&Fe4GGP3Ff4aUb1gW~JRt61cz+cB!5E=6IYf9U`;=iOoA`zuk`dTj^!2 z`*S3vXk!>@JyAP`7Nl-Vqi!&f)N zK6^V{T^EWQnCDJP9SIQ93js`I@N5-uyWaigC70>m1yt|&Y2Q|0z%>K$-`{rLju~o? ztsGulfQf!hl%nBSQV<%aO2D>XnvyS{5sM2)J?@|jVs~*udlo}xdo8c;>+XpUArxcv zf$3C|PV4dT5QkP#s-YX@haqrZ7fLKam=swbKd7VCb0|b9C}2< + + + + + + + + scrimmage + + + + + + + + + + +

+ + + + + diff --git a/src/plugins/interaction/CesiumWebServer/web/js/jquery.min.js b/src/plugins/interaction/CesiumWebServer/web/js/jquery.min.js new file mode 100644 index 0000000000..f78f96a12f --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/web/js/jquery.min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.5.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Mar 31 15:28:23 2011 -0400 + */ +(function(a,b){function ci(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cf(a){if(!b_[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";b_[a]=c}return b_[a]}function ce(a,b){var c={};d.each(cd.concat.apply([],cd.slice(0,b)),function(){c[this]=a});return c}function b$(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bZ(){try{return new a.XMLHttpRequest}catch(b){}}function bY(){d(a).unload(function(){for(var a in bW)bW[a](0,1)})}function bS(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function P(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function H(a,b){return(a&&a!=="*"?a+".":"")+b.replace(t,"`").replace(u,"&")}function G(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p=[],q=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function E(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function y(){return!0}function x(){return!1}function i(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function h(a,c,e){if(e===b&&a.nodeType===1){e=a.getAttribute("data-"+c);if(typeof e==="string"){try{e=e==="true"?!0:e==="false"?!1:e==="null"?null:d.isNaN(e)?g.test(e)?d.parseJSON(e):e:parseFloat(e)}catch(f){}d.data(a,c,e)}else e=b}return e}var c=a.document,d=function(){function G(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(G,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x,y,z=Object.prototype.toString,A=Object.prototype.hasOwnProperty,B=Array.prototype.push,C=Array.prototype.slice,D=String.prototype.trim,E=Array.prototype.indexOf,F={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.2",length:0,size:function(){return this.length},toArray:function(){return C.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?B.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),x.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(C.apply(this,arguments),"slice",C.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:B,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;x.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=d._Deferred();if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",y,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",y),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&G()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):F[z.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!A.call(a,"constructor")&&!A.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||A.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1?f.call(arguments,0):c,--g||h.resolveWith(h,f.call(b,0))}}var b=arguments,c=0,e=b.length,g=e,h=e<=1&&a&&d.isFunction(a.promise)?a:d.Deferred();if(e>1){for(;c
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0,reliableMarginRight:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e)}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(a.style.width="1px",a.style.marginRight="0",d.support.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(a,null).marginRight,10)||0)===0),b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function");return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}}();var g=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!i(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,g=b.nodeType,h=g?d.cache:b,j=g?b[d.expando]:d.expando;if(!h[j])return;if(c){var k=e?h[j][f]:h[j];if(k){delete k[c];if(!i(k))return}}if(e){delete h[j][f];if(!i(h[j]))return}var l=h[j][f];d.support.deleteExpando||h!=a?delete h[j]:h[j]=null,l?(h[j]={},g||(h[j].toJSON=d.noop),h[j][f]=l):g&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var f=this[0].attributes,g;for(var i=0,j=f.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var j=i?f:0,k=i?f+1:h.length;j=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=m.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&n.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var k=a.getAttributeNode("tabIndex");return k&&k.specified?k.value:o.test(a.nodeName)||p.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var l=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return l===null?b:l}h&&(a[c]=e);return a[c]}});var r=/\.(.*)$/,s=/^(?:textarea|input|select)$/i,t=/\./g,u=/ /g,v=/[^\w\s.|`]/g,w=function(a){return a.replace(v,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=x;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(a){return typeof d!=="undefined"&&d.event.triggered!==a.type?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=x);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),w).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(r,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=a.type,l[m]())}catch(p){}k&&(l["on"+m]=k),d.event.triggered=b}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},D=function D(a){var c=a.target,e,f;if(s.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=C(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:D,beforedeactivate:D,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&D.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&D.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",C(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in B)d.event.add(this,c+".specialChange",B[c]);return s.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return s.test(this.nodeName)}},B=d.event.special.change.filters,B.focus=B.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function f(a){var c=d.event.fix(a);c.type=b,c.originalEvent={},d.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var e=0;d.event.special[b]={setup:function(){e++===0&&c.addEventListener(a,f,!0)},teardown:function(){--e===0&&c.removeEventListener(a,f,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return"text"===c&&(b===c||b===null)},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=N.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(P(c[0])||P(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=M.call(arguments);I.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!O[a]?d.unique(f):f,(this.length>1||K.test(e))&&J.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var R=/ jQuery\d+="(?:\d+|null)"/g,S=/^\s+/,T=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,U=/<([\w:]+)/,V=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};Z.optgroup=Z.option,Z.tbody=Z.tfoot=Z.colgroup=Z.caption=Z.thead,Z.th=Z.td,d.support.htmlSerialize||(Z._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(R,""):null;if(typeof a!=="string"||X.test(a)||!d.support.leadingWhitespace&&S.test(a)||Z[(U.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(T,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){ba(a,e),f=bb(a),g=bb(e);for(h=0;f[h];++h)ba(f[h],g[h])}if(b){_(a,e);if(c){f=bb(a),g=bb(e);for(h=0;f[h];++h)_(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||W.test(i)){if(typeof i==="string"){i=i.replace(T,"<$1>");var j=(U.exec(i)||["",""])[1].toLowerCase(),k=Z[j]||Z._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=V.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&S.test(i)&&m.insertBefore(b.createTextNode(S.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bd=/alpha\([^)]*\)/i,be=/opacity=([^)]*)/,bf=/-([a-z])/ig,bg=/([A-Z]|^ms)/g,bh=/^-?\d+(?:px)?$/i,bi=/^-?\d/,bj={position:"absolute",visibility:"hidden",display:"block"},bk=["Left","Right"],bl=["Top","Bottom"],bm,bn,bo,bp=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bm(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bm)return bm(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bf,bp)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bq(a,b,e):d.swap(a,bj,function(){f=bq(a,b,e)});if(f<=0){f=bm(a,b,b),f==="0px"&&bo&&(f=bo(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bh.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return be.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bd.test(f)?f.replace(bd,e):c.filter+" "+e}}),d(function(){d.support.reliableMarginRight||(d.cssHooks.marginRight={get:function(a,b){var c;d.swap(a,{display:"inline-block"},function(){b?c=bm(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bn=function(a,c,e){var f,g,h;e=e.replace(bg,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bo=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bh.test(d)&&bi.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bm=bn||bo,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var br=/%20/g,bs=/\[\]$/,bt=/\r?\n/g,bu=/#.*$/,bv=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bw=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bx=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,by=/^(?:GET|HEAD)$/,bz=/^\/\//,bA=/\?/,bB=/)<[^<]*)*<\/script>/gi,bC=/^(?:select|textarea)/i,bD=/\s+/,bE=/([?&])_=[^&]*/,bF=/(^|\-)([a-z])/g,bG=function(a,b,c){return b+c.toUpperCase()},bH=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bI=d.fn.load,bJ={},bK={},bL,bM;try{bL=c.location.href}catch(bN){bL=c.createElement("a"),bL.href="",bL=bL.href}bM=bH.exec(bL.toLowerCase())||[],d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bI)return bI.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bB,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bC.test(this.nodeName)||bw.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(bt,"\r\n")}}):{name:b.name,value:c.replace(bt,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bL,isLocal:bx.test(bM[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bO(bJ),ajaxTransport:bO(bK),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bR(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bS(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bF,bG)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bv.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bu,"").replace(bz,bM[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bD),e.crossDomain==null&&(q=bH.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bM[1]||q[2]!=bM[2]||(q[3]||(q[1]==="http:"?80:443))!=(bM[3]||(bM[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bP(bJ,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!by.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(bA.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bE,"$1_="+w);e.url=x+(x===e.url?(bA.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bP(bK,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bQ(g,a[g],c,f);return e.join("&").replace(br,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bT=d.now(),bU=/(\=)\?(&|$)|\?\?/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bT++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bU.test(b.url)||f&&bU.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bU,l),b.url===j&&(f&&(k=k.replace(bU,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bV=d.now(),bW,bX;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bZ()||b$()}:bZ,bX=d.ajaxSettings.xhr(),d.support.ajax=!!bX,d.support.cors=bX&&"withCredentials"in bX,bX=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),!a.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bW[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bW||(bW={},bY()),h=bV++,g.onreadystatechange=bW[h]=c):c()},abort:function(){c&&c(0,1)}}}});var b_={},ca=/^(?:toggle|show|hide)$/,cb=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cc,cd=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(ce("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:ce("show",1),slideUp:ce("hide",1),slideToggle:ce("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!cc&&(cc=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=(e==="absolute"||e==="fixed")&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=ch.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!ch.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=ci(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=ci(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/src/plugins/interaction/CesiumWebServer/web/js/model_map.js b/src/plugins/interaction/CesiumWebServer/web/js/model_map.js new file mode 100644 index 0000000000..de3e7ddc03 --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/web/js/model_map.js @@ -0,0 +1,11 @@ +var CesiumAir = { + uri: './models/CesiumAir/Cesium_Air.gltf', + rotation: new Cesium.Quaternion(0, 0, 0, 1), + runAnimations: true, + minimumPixelSize: 64, + maximumScale: 20000, +} + +var model_map = { + 'default': CesiumAir, +} diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/0_Cesium_Air.png b/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/0_Cesium_Air.png new file mode 100644 index 0000000000000000000000000000000000000000..49bc23675f4bcf793f7376a235585aefc126449c GIT binary patch literal 464090 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

%Vu>K!g)e9YesXCUq~ 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ख़ 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

{g_HEW^FQn3inI0 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

o}jMT@B-v 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 sNASUwG=Dpq0t2V*j=bpQYW literal 0 HcmV?d00001 diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.dae b/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.dae new file mode 100644 index 0000000000..f74557ce56 --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.dae @@ -0,0 +1,333 @@ + + + + + modo 801 [Build 71114], Microsoft Windows 7 Service Pack 1 (6.1.7601 Service Pack 1) + Plug-in: [Build 71114]; Use Absolute Path: No; Merge Reference Items: No; Save Hidden Items: No; Save Cameras: No; Save Lights: Yes; Save Locators: Yes; Save Triangles as Triangles: Yes; Order Vertex Maps Alphabetically: Yes; Bake Matrices: No; Save Vertex Normals: Yes; Save UV Texture Coordinates: Yes; Save Vertex Colors: No; Save Vertex Weights: No; Save Animation: Yes; Sample Animation: No; Sample Animation Start: 0; Sample Animation End: 120; Save modo Profile: No; Save Maya Profile: No; Save 3ds Max Profile: No; Formatted Arrays: No; + file:///C:/Users/bcoker/Documents/Models/Miscellaneous/Cesium/Cesium%20Air/Cesium_Air.lxo + + 2014-06-20T15:57:45Z + 2014-06-20T15:57:45Z + Y_UP + + + + + 0 0.166667 0.333333 0.5 0.666667 0.833333 1 1.25 + + + + + + + + 0 -46.4516 -92.9032 -139.355 -185.806 -232.258 -278.71 -348.387 + + + + + + + + LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR + + + + + + + + + + + + + + + + 0 0.166667 0.333333 0.5 0.666667 0.833333 1 1.25 + + + + + + + + 0 -46.4516 -92.9032 -139.355 -185.806 -232.258 -278.71 -348.387 + + + + + + + + LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR + + + + + + + + + + + + + + + + + 0_Cesium_Air.png + + + 1_Cesium_Air_Prop.png + + + + + + + + + + + + + + + + Image0001 + A8R8G8B8 + + + + + Image0001-surface + LINEAR_MIPMAP_LINEAR + LINEAR + + + + + + + + + 0.2 0.2 0.2 1 + + + 256 + + + + + + + + + + Image0002 + A8R8G8B8 + + + + + Image0002-surface + LINEAR_MIPMAP_LINEAR + LINEAR + + + + + + + + + 0.2 0.2 0.2 1 + + + 256 + + + + + + + + + + + -2.8606 0.910497 1.23372 -1.00372 1.23383 1.31657 -0.362054 1.29881 1.29388 0.049738 1.28391 1.25098 0.253012 1.20234 1.21153 0.33652 1.03694 1.23768 0.313822 0.830142 1.23983 -0.0377686 0.734245 1.24712 -2.08227 0.688761 1.25057 -2.86778 0.824883 1.24023 -2.87734 0.893829 1.23498 -2.46408 1.07078 7.2 -0.981983 1.28893 7.2 -0.501669 1.32613 7.2 -0.234905 1.30972 7.2 -0.136884 1.252 7.2 -0.133021 1.09323 7.2 -0.204042 1.02148 7.2 -0.456613 0.965064 7.2 -1.92131 0.919687 7.2 -2.4509 1.04073 7.2 -2.46763 1.06827 7.2 -2.73478 0.98687 4.3199 -0.89703 1.24344 4.32008 -0.284744 1.28924 4.32009 0.0546301 1.27143 4.31998 0.184063 1.21253 4.32017 0.208503 0.984069 4.32317 0.102732 0.894784 4.32145 -0.217727 0.822853 4.32114 -2.05394 0.772324 4.32046 -2.64884 0.894826 4.32058 -2.75196 0.980974 4.31997 -1.82772 1.27755 12.3399 -1.14266 1.37151 12.3399 -0.924029 1.38372 12.3399 -0.829547 1.36705 12.3399 -0.800554 1.3366 12.3397 -0.809166 1.26702 12.3398 -0.901072 1.22182 12.3399 -1.13577 1.19922 12.3399 -1.81079 1.22609 12.3399 -1.89925 1.25352 12.3399 -1.89796 1.26363 12.3399 -1.76323 1.11903 1.32571 -1.66134 1.15479 4.31986 -1.59822 1.21115 7.19977 -1.42697 1.33454 12.3396 -1.44222 1.36581 12.5498 -1.21126 1.38948 12.5493 -1.13124 1.39424 12.5493 -1.05708 1.3846 12.5527 -1.03514 1.35582 12.5639 -1.06081 1.30613 12.5743 -1.13404 1.27629 12.5789 -1.27041 1.26007 12.5792 -1.80964 1.2778 12.563 -1.87886 1.29809 12.5572 -1.88183 1.30597 12.555 -1.82073 1.31839 12.5528 -1.36221 1.40073 12.7537 -1.51884 1.39033 12.7509 -1.78367 1.36565 12.7464 -1.82649 1.36067 12.7457 -1.82386 1.36096 12.7457 -1.76338 1.32439 12.7468 -1.44289 1.31762 12.7517 -1.35108 1.33166 12.7527 -1.31778 1.35014 12.7537 -1.31247 1.37514 12.7535 -1.3148 1.38413 12.7534 -1.33447 1.39318 12.7537 -1.54024 1.39134 12.85 -1.54653 1.38737 12.8525 -1.54464 1.38313 12.8527 -1.53459 1.38145 12.8495 -1.57562 1.38 12.8601 -1.64394 1.37529 12.8645 -1.72596 1.36987 12.8492 -1.74827 1.37442 12.8497 -1.75568 1.37955 12.8477 -1.74381 1.38253 12.8476 -1.67383 1.38903 12.8601 -1.59186 1.39227 12.8642 -1.6177 1.38874 12.8683 -1.68941 1.38602 12.8664 -1.61185 1.38407 12.868 -1.67887 1.38087 12.8683 -0.905617 1.38173 12.1163 -1.13552 1.36608 12.1163 -0.799288 1.37128 12.117 -0.75705 1.33624 12.1188 -0.771188 1.25096 12.1182 -0.869026 1.20705 12.1169 -1.10351 1.18465 12.1166 -1.81642 1.20937 12.1166 -1.92455 1.24339 12.1165 -1.92153 1.25251 12.1163 -1.85504 1.2662 12.1164 -1.43409 1.32676 12.1161 -0.124796 0.795794 2.82718 -2.06201 0.73219 2.82874 0.171736 0.892075 2.82321 0.247095 1.03043 2.81458 0.210736 1.16944 2.8096 0.063177 1.23548 2.80639 -0.303586 1.2563 2.80564 -0.938063 1.21827 2.80806 -2.7733 0.931126 2.82084 -2.77348 0.932153 2.82047 -2.73839 0.885487 2.82295 -1.71164 1.13858 2.81301 -0.339043 0.895809 5.75547 -1.98921 0.845889 5.75525 -0.0523175 0.957319 5.75576 0.0367956 1.03701 5.75673 0.0228774 1.23286 5.75519 -0.0916914 1.29061 5.75503 -0.394878 1.30745 5.75508 -0.941198 1.26589 5.75507 -2.61106 1.02332 5.75503 -2.60117 1.02837 5.75499 -2.55116 0.96796 5.75529 -1.63128 1.18112 5.75487 -1.03316 1.31465 8.83877 -0.636319 1.34466 8.83876 -1.08434 1.34037 10.4775 -0.770968 1.36319 10.4775 -0.423033 1.33024 8.839 -0.61116 1.35076 10.478 -0.343606 1.28008 8.83961 -0.550328 1.30816 10.4792 -0.345744 1.14581 8.83941 -0.558466 1.19838 10.4788 -0.425703 1.08333 8.83897 -0.647365 1.14519 10.4779 -0.632616 1.03949 8.83886 -0.868061 1.11207 10.4777 -1.88635 1.01625 8.83885 -1.85139 1.11281 10.4777 -2.27545 1.10828 8.83882 -2.1 1.17583 10.4776 -2.2856 1.12969 8.83876 -2.10356 1.1911 10.4775 -2.26106 1.13592 8.83879 -2.05805 1.20106 10.4776 -1.54351 1.24968 8.83855 -1.4888 1.28822 10.4773 -1.66617 1.33854 12.5513 -1.67004 1.30049 12.3397 -1.47328 1.21266 12.3399 -1.54003 1.26893 12.5711 -1.67478 1.37643 12.7482 -1.60314 1.32101 12.7492 -1.72254 1.38279 12.857 -1.70882 1.38578 12.8539 -1.71357 1.37765 12.859 -1.68495 1.37258 12.8568 -1.45996 1.19701 12.1166 -1.68941 1.29057 12.1162 -1.05275 0.737875 2.82844 -1.01853 0.712426 1.24877 -1.09789 0.773962 4.32159 -2.37274 1.04881 2.81713 -2.42715 1.00191 1.29663 -2.31414 1.06499 4.31986 -1.13064 0.871862 5.75536 -1.15924 0.943296 7.2 -2.21987 1.09201 5.7549 -2.1237 1.12928 7.19985 -1.25948 1.02787 8.83886 -1.35972 1.11244 10.4777 -1.97894 1.18304 8.83863 -1.83417 1.23681 10.4774 -1.03143 1.24216 -8.88178e-016 -1.80986 1.13029 -1.55431e-015 -2.47427 1.02195 -2.22045e-015 -2.90565 0.951746 -2.66454e-015 0.221538 1.23496 1.94289e-016 0.379618 1.13306 3.33067e-016 0.0242656 1.287 2.08167e-017 -0.375912 1.3038 -3.33067e-016 0.472883 1.04894 3.88578e-016 -1.00959 1.24248 0.768765 -1.78046 1.13382 0.774548 -2.44 1.02654 0.783834 -2.86966 0.954235 0.813454 0.378507 1.1019 0.80182 0.235106 1.21245 0.784649 0.0340753 1.2764 0.769905 -0.36599 1.30005 0.76612 0.464175 0.998319 0.812922 0.802604 0.802186 0.800626 0.79115 0.902872 6.66134e-016 1.52101 0.426252 0.799151 1.2793 0.682098 1.11022e-015 -1.04258 1.24092 0.268891 -1.78694 1.13359 0.269904 -2.43782 1.02794 0.273252 -2.89075 0.95396 0.282754 0.378516 1.1303 0.287928 0.224586 1.23175 0.280707 -5.80546e-005 1.28696 0.271074 -0.410984 1.29993 0.267385 0.477022 1.03945 0.292532 0.817732 0.879512 0.284578 1.33625 0.64827 0.302006 0.556419 0.5749 1.16422 1.25982 0.0936795 1.14741 -1.77495 1.12766 1.00461 -1.00539 1.24121 0.996331 -2.43774 1.01545 0.997887 -2.87296 0.937613 0.986753 0.245316 1.20545 0.968012 0.370594 1.07704 0.992194 0.0433171 1.27798 0.973429 -0.361367 1.30148 0.985291 0.433652 0.946967 1.02446 0.692585 0.742334 0.990396 1.48493 0.266784 0.987665 -2.26215 0.0227309 1.21381 -3.09432 0.0380307 1.20684 -1.1257 0.0293466 1.21109 -0.158994 0.0209813 1.21144 0.291976 0.0153572 1.21228 -2.99894 0.3945 1.14169 -2.17255 0.338178 1.20385 -1.07341 0.354587 1.21119 -0.0909936 0.36621 1.21058 0.289945 0.424154 1.21032 -2.9063 0.642662 1.12472 -2.11754 0.561884 1.20234 -1.03728 0.582395 1.21124 -0.0557185 0.599198 1.2103 0.61714 0.971713 0.289664 0.593632 0.915 0.805428 0.609521 0.984531 5.55112e-016 0.538155 0.849247 1.00072 0.341526 0.685606 1.1754 0.488161 0.467522 1.20971 0.770484 0.0278348 1.20968 -0.0835475 0.794296 1.94511 0.207868 0.897762 1.93702 0.274041 1.03698 1.93345 0.227265 1.18529 1.91694 0.0375424 1.26077 1.92726 -0.365 1.27343 1.95025 -0.993325 1.22077 1.96412 -2.78556 0.906751 1.93404 -2.78556 0.906754 1.93413 -2.78161 0.885843 1.93773 -2.07622 0.710495 1.94786 -1.73272 1.12669 1.97112 -1.0373 0.726311 1.94667 -2.37929 1.0241 1.95411 -3.19174 0.790893 1.02305 -3.15142 0.850942 1.00601 -3.28307 0.637176 1.06221 -3.38757 0.393025 1.10006 -3.57829 0.0631702 1.18951 -3.19284 0.880955 0.852467 -3.35449 0.819443 0.896852 -3.55787 0.710091 0.943298 -3.80654 0.502873 1.0093 -4.15335 0.153743 1.11726 -3.27068 0.89828 -2.66454e-015 -3.2682 0.893939 0.282577 -3.60727 0.849106 -3.10862e-015 -3.58847 0.839394 0.279845 -3.8611 0.81061 -3.55271e-015 -3.85333 0.79315 0.280829 -4.19351 0.760266 -3.55271e-015 -4.18953 0.73175 0.295204 -4.55405 0.704408 -3.55271e-015 -4.56703 0.650769 0.341586 -4.45333 0.371212 0.905228 -4.0809 0.667298 0.706126 -3.76343 0.767175 0.601982 -3.52776 0.82619 0.55763 -3.26347 0.886151 0.533405 -1.0236 1.24218 0.515694 -1.78666 1.13354 0.518394 -2.44601 1.02659 0.522334 -2.89094 0.953532 0.521396 0.381044 1.11857 0.52501 0.23316 1.22333 0.51306 0.0212729 1.28251 0.51391 -0.383703 1.3009 0.514382 0.473267 1.02731 0.533666 1.41903 0.571843 0.53681 0.800394 0.863345 0.534012 0.606641 0.956289 0.533823 -5.73511 0.739518 -5.32907e-015 -5.75592 0.677656 0.376051 -5.77664 0.438906 0.935443 -5.7852 0.138785 1.21573 -5.7842 -0.266234 1.38133 -4.17265 -0.31347 1.31539 -5.78222 -0.684009 1.37481 -4.21065 -0.824744 1.43343 -5.79226 -1.01763 1.14128 -4.23828 -1.37941 1.23597 -5.8193 -1.18126 0.824844 -4.24439 -1.65608 0.869622 -5.89864 -1.27296 0.280459 -4.24521 -1.81498 0.364084 -5.8051 -1.32173 -5.32907e-015 -4.23955 -1.84335 -3.55271e-015 -4.95829 0.705942 -4.44089e-015 -4.95832 0.652402 0.351228 -4.95835 0.384324 0.922439 -4.95807 0.0880007 1.1832 -4.95798 -0.321723 1.34974 -4.95783 -0.783534 1.413 -4.95388 -1.26131 1.16805 -4.94784 -1.48302 0.819215 -4.95356 -1.61292 0.335906 -4.95313 -1.63652 -4.44089e-015 -3.63622 -0.349188 1.32219 -3.73719 -1.86421 -3.10862e-015 -3.74929 -1.82472 0.405021 -3.81165 -1.62047 0.86859 -3.77208 -1.46062 1.30218 -3.68596 -0.85913 1.43484 -3.25869 -1.29656 1.42219 -3.18883 -0.843576 1.43534 -3.16199 -0.369128 1.32617 -4.24587 -1.77648 0.545555 -4.95293 -1.57685 0.525992 -5.83882 -1.26267 0.508283 -3.7565 -1.76139 0.560596 -3.26563 -1.82787 0.410053 -3.25612 -1.7596 0.589382 -3.25512 -1.86954 -2.66454e-015 -4.95154 -1.39253 0.994249 -4.24495 -1.54707 1.05761 -5.87151 -1.09451 0.980758 -3.82876 -1.55383 1.06942 -2.32656 -0.363855 1.32254 -2.3663 -1.01102 1.45075 -2.34399 -0.760985 1.41314 -1.23346 -0.844358 1.43632 -1.21598 -0.689767 1.40324 -1.17209 -0.348552 1.31778 -0.174676 -0.346112 1.31545 -0.214815 -0.836892 1.4302 -0.219684 -0.671056 1.39716 0.276873 -0.344882 1.31384 0.248733 -0.85873 1.42513 0.258637 -0.668811 1.39291 0.811947 -0.337501 1.30956 0.77168 -0.971456 1.43812 0.793326 -0.675504 1.38825 1.338 -0.319447 1.30094 1.31043 -1.11753 1.40627 1.32505 -0.683333 1.38189 1.76473 -0.332143 1.30009 1.77251 -0.716442 1.37878 1.74925 -1.29668 1.33343 1.76088 0.0510405 1.15747 1.82686 0.27569 0.970049 1.86313 0.433809 0.780029 1.82495 0.573037 0.518776 1.75108 0.651291 0.262666 1.69433 0.677385 1.55431e-015 2.32374 -1.28269 1.29128 2.32391 -0.716599 1.37027 2.32197 -0.358534 1.29999 2.32021 0.048577 1.13811 2.32037 0.264541 0.972793 2.32175 0.434351 0.773028 2.32243 0.554741 0.553374 2.32571 0.64177 0.28183 2.31562 0.67152 2.22045e-015 1.98355 -1.57288 1.08436 2.3169 -1.53369 1.09386 2.01028 -1.68727 0.855972 2.31678 -1.67383 0.865854 1.91815 -1.8193 0.462039 2.28945 -1.80248 0.479663 1.93876 -1.83239 0.332648 2.28702 -1.82233 0.358958 1.94845 -1.84273 1.77636e-015 2.30033 -1.83977 1.77636e-015 -2.60086 -1.86752 -2.22045e-015 -2.60716 -1.83443 0.418368 -2.61487 -1.81425 0.625889 -1.99532 -1.86483 -1.77636e-015 -1.9977 -1.84598 0.432443 -2.01965 -1.85643 0.660242 -0.0850102 -1.85606 -6.93889e-017 -0.0688008 -1.84433 0.37917 -0.0120897 -1.85112 0.582463 0.443437 -1.85309 3.88578e-016 0.452827 -1.84304 0.363998 0.499097 -1.84633 0.534996 1.18961 -1.84895 1.11022e-015 1.18623 -1.83916 0.346128 1.1974 -1.84054 0.482126 -3.29914 -1.54385 1.5752 -2.99555 -1.39619 1.6228 -2.16425 -1.10752 1.68184 -1.24499 -0.995049 1.66469 1.11399 -1.24579 1.64061 1.46335 -1.4744 1.65748 -0.226847 -0.988566 1.64681 0.241938 -1.02236 1.64918 0.736456 -1.10941 1.63754 1.57409 -1.66247 1.55475 1.43317 -1.87647 1.00763 -2.74871 -1.71718 1.91716 -2.58302 -1.55056 1.93711 1.03549 -1.61465 1.89903 1.11937 -1.80586 1.82475 -1.92707 -1.22916 1.95142 -1.14852 -1.0981 1.94655 -0.218292 -1.10088 1.9186 0.133629 -1.15396 1.91285 0.51042 -1.25129 1.89458 0.773185 -1.38839 1.90081 -2.34723 -1.85939 2.11988 -2.20446 -1.6693 2.11612 0.54271 -1.77838 2.08638 0.641365 -1.98867 2.07001 0.371755 -1.61623 2.10174 0.182194 -1.48514 2.11646 0.0160156 -1.38798 2.12383 -0.229789 -1.27687 2.12628 -1.03833 -1.21199 2.1365 -1.67588 -1.3285 2.13339 0.623186 -2.04585 1.9526 0.995531 -1.97768 1.56413 2.30883 -1.74503 0.683339 1.99439 -1.75572 0.681219 1.36345 -1.87709 0.859171 0.839035 -1.98414 1.25056 0.31702 -2.01904 1.45868 2.29848 -1.78001 0.575016 1.9236 -1.79587 0.593321 1.26978 -1.85662 0.68484 0.647973 -1.89545 0.845634 0.147176 -1.92305 0.961725 -3.28372 -1.67599 1.43261 -2.73992 -1.84123 1.77765 -2.2658 -1.96491 2.10834 -3.25367 -1.73973 1.24801 -2.71149 -1.90927 1.59383 -2.23194 -2.07774 1.92987 -1.21186 -2.1453 2.0259 -1.20886 -2.10176 2.18018 -0.278607 -2.14631 2.02102 -0.27605 -2.0989 2.17175 0.154596 -2.11883 2.00104 0.153417 -2.08045 2.13603 -4.95274 -1.5391 0.663011 -4.25016 -1.72436 0.708193 -5.80711 -1.2421 0.647634 -3.76387 -1.66802 0.739425 -3.25409 -1.75064 0.889448 -2.6458 -1.8546 1.03355 -2.07535 -1.95272 1.1474 -4.9516 -1.51366 0.738678 -4.24794 -1.69522 0.785379 -5.80286 -1.21694 0.736151 -3.79535 -1.63975 0.816476 -3.26059 -1.75115 1.07986 -2.66721 -1.88406 1.33725 -2.11163 -2.01801 1.54458 -1.74849 -2.04412 2.16026 -1.7284 -2.11636 2.01647 -0.728275 -2.10595 2.17846 -0.714072 -2.14646 2.03276 -0.0578617 -2.08807 2.15759 -0.0610736 -2.13943 2.01015 -0.493615 -2.1051 2.17512 -0.492185 -2.14632 2.03001 0.289626 -1.89346 2.1232 0.0835171 -1.81978 2.14261 -0.1388 -1.76055 2.1559 -0.336963 -1.7059 2.16164 -0.592167 -1.66713 2.16483 -1.06829 -1.66025 2.16628 -1.6658 -1.69183 2.15785 -2.17718 -1.81759 2.13612 -1.57955 -1.86312 -1.33227e-015 -1.57606 -1.8473 0.442088 -1.5859 -1.86444 0.684753 -1.6188 -1.98446 1.21079 -1.64506 -2.07908 1.64296 -1.20822 -1.86143 -1.11022e-015 -1.19966 -1.84653 0.449296 -1.20474 -1.86624 0.696518 -1.20873 -1.98898 1.2283 -1.18715 -2.10168 1.66679 -0.894113 -1.85968 -7.77156e-016 -0.8777 -1.84573 0.448868 -0.885057 -1.86643 0.699479 -0.868878 -1.98219 1.20352 -0.812564 -2.07854 1.6361 -0.760708 -1.85869 -6.66134e-016 -0.741597 -1.84554 0.4403 -0.730273 -1.86477 0.690187 -0.677063 -1.97213 1.16492 -0.595524 -2.07103 1.62019 -0.67112 -1.8582 -5.55112e-016 -0.651976 -1.84553 0.425042 -0.625002 -1.86111 0.667064 -0.537117 -1.96033 1.11885 -0.422798 -2.06479 1.59364 -0.572766 -1.85769 -4.44089e-016 -0.555488 -1.84529 0.407473 -0.514736 -1.85823 0.644363 -0.395915 -1.94951 1.07399 -0.252535 -2.05465 1.55948 -0.424052 -1.85724 -3.88578e-016 -0.408286 -1.84492 0.393449 -0.35064 -1.85507 0.618932 -0.201186 -1.93898 1.02938 -0.0429254 -2.0397 1.52364 3.27517 -0.354407 1.28387 3.2752 0.0445303 1.12153 3.27517 0.264214 0.961514 3.27517 0.432706 0.76423 3.27514 0.550048 0.544735 3.27523 0.633938 0.27611 3.27514 0.661616 2.66454e-015 3.27526 -1.8337 2.66454e-015 3.27502 -1.81545 0.350751 3.27508 -1.79522 0.47593 3.2751 -1.77431 0.572601 3.27511 -1.74139 0.680584 3.27515 -1.66918 0.867423 3.27507 -1.52636 1.08873 3.27516 -1.2674 1.28062 3.27523 -0.714736 1.35619 4.21495 -1.24626 1.27531 4.21488 -0.696908 1.33512 4.21492 -0.349108 1.26608 4.21483 0.0479858 1.10122 4.21487 0.259511 0.951583 4.21487 0.421343 0.763424 4.21489 0.53615 0.551841 4.21488 0.621115 0.287761 4.21466 0.650829 3.55271e-015 4.21462 -1.82726 3.55271e-015 4.21504 -1.8068 0.37896 4.21493 -1.78573 0.49729 4.21489 -1.76437 0.592711 4.21493 -1.73153 0.702777 4.21488 -1.65703 0.88355 4.21497 -1.50517 1.10685 5.16099 -0.334675 1.22673 5.16128 0.0554173 1.05735 5.16031 0.273018 0.912027 5.16085 0.424472 0.717005 5.16108 0.535063 0.503273 5.16325 0.613879 0.242332 5.15938 0.633937 4.44089e-015 5.16027 -1.82115 4.44089e-015 5.16304 -1.80717 0.33226 5.16022 -1.78913 0.45804 5.16116 -1.76959 0.555666 5.16038 -1.73802 0.665938 5.16083 -1.66452 0.858349 5.16204 -1.51404 1.08132 5.16038 -1.21146 1.26376 5.16204 -0.687288 1.29968 5.75626 -1.19282 1.23353 5.75044 -0.673759 1.24339 5.74227 -0.338359 1.12047 5.7275 0.0290979 0.945864 5.73388 0.246752 0.83532 5.72243 0.392155 0.676006 5.72471 0.498584 0.476564 5.72606 0.57317 0.242584 5.72234 0.595015 5.32907e-015 5.75836 -1.81554 5.32907e-015 5.76122 -1.79996 0.342126 5.75853 -1.77996 0.470115 5.75953 -1.75928 0.566939 5.75893 -1.72587 0.679409 5.75811 -1.65176 0.856968 5.75558 -1.51927 1.04535 6.38415 -0.325806 0.95647 6.15372 0.0171026 0.840694 5.98493 0.248619 0.75706 5.96917 0.364108 0.595776 5.98062 0.460231 0.403439 5.98662 0.515287 0.194522 5.98932 0.526543 5.32907e-015 6.44893 -1.79308 5.32907e-015 6.45005 -1.78081 0.278627 6.4487 -1.76506 0.391313 6.44859 -1.74091 0.496448 6.44763 -1.70616 0.60791 6.4498 -1.63463 0.773696 6.43984 -1.49448 0.957273 6.4034 -1.17617 1.12681 6.39036 -0.679991 1.13323 6.55564 0.0638996 0.234684 6.32029 0.277982 0.227806 6.90651 -0.250826 0.260653 6.55374 0.0670021 5.32907e-015 6.32128 0.282499 5.32907e-015 6.90638 -0.243252 6.21725e-015 6.1775 0.412324 0.209027 6.17879 0.424114 5.32907e-015 6.19134 0.272672 0.433208 6.39814 0.0463629 0.472167 6.70638 -0.289922 0.541704 6.10554 0.387591 0.421501 6.0611 0.331831 0.56354 6.10501 0.263485 0.571285 6.29041 0.0348431 0.633648 6.57297 -0.316481 0.728907 6.76895 -0.734278 1.02007 6.75093 -0.462328 0.880632 6.78145 -1.16578 0.996286 6.78121 -1.47013 0.857766 6.78396 -1.60222 0.70015 6.77845 -1.67869 0.544409 6.77634 -1.71117 0.453008 6.7793 -1.7353 0.358349 6.77943 -1.75212 0.255565 6.78025 -1.76585 6.21725e-015 6.78442 -0.382815 0.695085 6.89472 -0.360265 0.528334 7.07426 -0.322798 0.231877 7.10148 -0.302007 6.21725e-015 7.09111 -0.809214 0.861763 7.09909 -0.566329 0.768521 7.11288 -0.469873 0.592842 7.17524 -0.433167 0.427439 7.24728 -0.40229 0.232003 7.27297 -0.38898 6.21725e-015 7.06498 -1.72661 6.21725e-015 7.06941 -1.71506 0.198837 7.07464 -1.69246 0.315764 7.0764 -1.66456 0.403396 7.07675 -1.62566 0.495138 7.07908 -1.55326 0.617039 7.08368 -1.412 0.750359 7.09464 -1.15512 0.83868 7.43247 -1.15684 0.640458 7.42612 -0.904291 0.660382 7.43092 -0.703412 0.618088 7.42651 -0.58806 0.497006 7.44403 -0.537645 0.362872 7.46799 -0.512265 0.206704 7.48161 -0.504545 6.21725e-015 7.43259 -1.35994 0.585675 7.4173 -1.65442 6.21725e-015 7.41643 -1.64285 0.169927 7.41078 -1.61663 0.277294 7.40924 -1.58893 0.349033 7.40982 -1.55288 0.417177 7.41742 -1.4903 0.497692 7.67805 -1.15155 0.478596 7.65629 -0.967908 0.501304 7.64767 -0.842847 0.488781 7.66325 -0.753005 0.422276 7.67568 -0.696378 0.322046 7.68583 -0.667364 0.184604 7.69501 -0.661582 7.10543e-015 7.69308 -1.5642 7.10543e-015 7.68202 -1.54997 0.157838 7.66374 -1.52416 0.255308 7.65143 -1.49915 0.313788 7.6406 -1.47163 0.362232 7.64939 -1.42929 0.40236 7.67749 -1.31503 0.446457 8.0047 -1.25517 7.10543e-015 7.95461 -1.25866 0.178064 7.88798 -1.25911 0.268882 7.83543 -1.26965 0.322912 7.77492 -1.28841 0.375376 8.00143 -1.06755 7.10543e-015 7.9572 -1.07614 0.174271 7.89478 -1.08975 0.269981 7.84166 -1.10926 0.333817 7.78051 -1.13456 0.394842 7.91197 -0.898492 7.10543e-015 7.88789 -0.907821 0.172912 7.84109 -0.926293 0.286286 7.79433 -0.949995 0.362866 7.74076 -0.975564 0.426557 7.86644 -1.47565 7.10543e-015 7.83227 -1.46028 0.167114 7.79449 -1.43481 0.258769 7.76098 -1.41842 0.312187 7.72082 -1.41227 0.357847 -7.40449 0.22328 1.30388 -7.40449 -0.120684 1.4003 -7.40449 -0.391762 1.28379 -7.40449 -0.573697 1.01945 -7.40449 -0.603505 0.90511 -7.40449 -0.653087 0.771225 -7.40449 -0.671501 0.70311 -7.40449 -0.685386 0.625224 -7.40449 -0.699825 0.495734 -7.40449 -0.706931 0.264679 -7.40449 -0.739667 -6.21725e-015 -7.40449 0.798856 -6.21725e-015 -7.40449 0.731278 0.440453 -7.40449 0.517679 1.0206 -9.50656 0.657334 0.954006 -9.50656 0.455411 1.37934 -9.50656 0.280634 1.32813 -9.50871 0.162858 1.11805 -9.50656 0.135913 0.96141 -9.50656 0.0960734 0.828991 -9.50656 0.0905317 0.709826 -9.50656 0.0868204 0.647397 -9.50656 0.0791254 0.574319 -9.50656 0.0640795 0.457422 -9.50656 0.0403406 0.248261 -9.50656 0.0647693 -8.88178e-015 -9.50656 0.853052 -8.88178e-015 -9.50656 0.794297 0.528706 -12.6799 0.881117 -1.06581e-014 -12.6654 0.843699 0.288845 -12.6654 0.800749 0.600715 -12.6653 0.728977 0.917159 -12.6651 0.709933 0.952314 -12.6628 0.660162 0.94412 -12.6656 0.618728 0.832053 -12.6655 0.60238 0.739213 -12.6655 0.591821 0.660083 -12.6655 0.585029 0.5946 -12.6654 0.578134 0.511849 -12.6654 0.571259 0.403918 -12.6655 0.565784 0.277692 -12.6654 0.561242 -1.06581e-014 -10.8757 0.851201 -8.88178e-015 -10.8757 0.83518 0.405763 -10.8757 0.755401 0.818182 -10.8757 0.621437 1.30605 -10.8757 0.481736 1.26865 -10.8757 0.405087 1.04558 -10.8757 0.38211 0.914766 -10.8757 0.366118 0.789672 -10.8757 0.356105 0.68813 -10.8757 0.350143 0.620828 -10.8757 0.345011 0.542543 -10.8757 0.338464 0.426265 -10.8757 0.332132 0.244064 -10.8757 0.329029 -8.88178e-015 -13.2782 0.833408 -1.06581e-014 -13.2574 0.818853 0.286765 -13.2054 0.785323 0.519501 -13.3565 0.769894 -1.24345e-014 -13.3351 0.757877 0.283929 -13.2955 0.748817 0.514708 -13.3617 0.744906 -1.24345e-014 -13.3391 0.740715 0.285682 -13.3042 0.735043 0.503212 -13.3617 0.735443 -1.24345e-014 -13.3325 0.71509 0.283852 -13.3035 0.714485 0.481775 -13.3524 0.721203 -1.24345e-014 -13.3202 0.698295 0.281391 -13.2999 0.696195 0.457415 -13.3144 0.682206 -1.24345e-014 -13.2852 0.673915 0.278233 -13.2938 0.686797 0.441899 -13.0377 0.850873 -1.06581e-014 -13.0036 0.838911 0.272784 -13.0028 0.801169 0.532791 -13.0247 0.612272 -1.06581e-014 -13.0217 0.61694 0.277692 -13.0166 0.622344 0.397928 -12.9669 0.728887 0.789352 -12.9935 0.696688 0.811417 -12.9903 0.670371 0.772235 -12.9939 0.650452 0.685009 -13.0091 0.641402 0.60948 -13.0146 0.635006 0.550336 -12.9483 0.618709 0.494255 -12.9547 0.750794 0.735589 -10.09 0.811719 0.476316 -10.09 0.852263 -8.88178e-015 -10.09 0.699124 0.896127 -10.09 0.52616 1.34811 -10.09 0.397571 1.30278 -10.089 0.320317 1.08178 -10.09 0.294242 0.941533 -10.09 0.276718 0.812236 -10.09 0.265099 0.700581 -10.09 0.259168 0.636075 -10.09 0.25394 0.560778 -10.09 0.246939 0.444145 -10.09 0.239827 0.246473 -10.09 0.236618 -8.88178e-015 -13.3399 5.34196 0.0429537 -12.0446 5.36144 0.0872525 -11.2962 4.01098 0.115541 -13.1878 3.97482 0.0569861 -12.9948 2.27196 0.0744643 -10.3326 2.16944 0.154115 -12.8349 0.798942 0.0885952 -9.81985 0.872067 0.180454 -8.70039 0.826069 0.181417 -8.65789 1.45033 0.167433 -5.77449 0.629728 0.183867 -5.77177 0.667045 0.183086 -12.1031 5.40649 0.086309 -13.2971 5.38886 0.0424723 -13.3399 5.34196 -0.0429537 -12.0446 5.36144 -0.0872525 -11.2962 4.01098 -0.115541 -13.1878 3.97482 -0.0569861 -12.9948 2.27196 -0.0744643 -10.3326 2.16944 -0.154115 -12.8349 0.798942 -0.0885952 -9.81985 0.872067 -0.180454 -8.70039 0.826069 -0.181417 -8.65789 1.45033 -0.167433 -5.77449 0.629728 -0.183867 -5.77177 0.667045 -0.183086 -12.1031 5.40649 -0.086309 -13.2971 5.38886 -0.0424723 -12.0121 5.46406 -3.13989e-011 -11.9208 5.40242 -3.18074e-011 -11.1277 4.04176 -4.22045e-011 -10.2004 2.38275 -5.49853e-011 -8.64211 1.63967 -6.00906e-011 -5.72151 0.706272 -6.47318e-009 -12.8798 0.793459 6.4511e-009 -13.0544 2.26367 -5.57066e-011 -13.2474 3.96691 -4.26397e-011 -13.3969 5.35957 -3.20526e-011 -13.3218 5.44265 -3.15534e-011 -9.55623 0.652418 0.966928 -9.8701 0.649053 1.63361 -10.1445 0.725129 1.46672 -9.79686 0.716855 0.804949 -10.4854 0.724387 1.84024 -10.2306 0.672046 1.95281 -10.6161 0.721407 2.05241 -10.3229 0.671536 2.08527 -10.6609 0.719305 2.29351 -10.3754 0.670297 2.29666 -10.8348 0.708851 3.59404 -10.6165 0.658739 3.60052 -11.1923 0.706713 5.47389 -10.9685 0.678882 5.43089 -11.0456 0.736777 2.02674 -11.1169 0.736368 2.29558 -11.2773 0.733151 3.57802 -11.4971 0.727991 5.47602 -11.5576 0.745857 2.01709 -11.6175 0.746273 2.28734 -11.7145 0.747134 3.57178 -11.7752 0.741667 5.47804 -12.503 0.737182 1.97323 -12.4746 0.73817 2.26635 -12.36 0.739161 3.57522 -12.2067 0.737699 5.43364 -10.2792 0.736987 0.786705 -10.5668 0.739061 1.30781 -10.8681 0.738425 1.70789 -11.3749 0.745821 1.60701 -11.1162 0.746242 1.19539 -10.9622 0.764731 0.766429 -12.5469 0.7395 1.49191 -12.5875 0.742484 1.12029 -12.6126 0.753854 0.804965 -12.1241 0.75396 2.26912 -12.1093 0.753659 1.99817 -12.1375 0.753624 3.57301 -12.0133 0.748423 5.47811 -12.0609 0.754275 1.52623 -11.9716 0.758422 1.11647 -11.8972 0.762687 0.761784 -10.8239 0.665074 4.69747 -11.025 0.70503 4.69587 -11.408 0.732226 4.68728 -11.7639 0.74802 4.68226 -12.0882 0.753529 4.68677 -12.2627 0.740277 4.6942 -9.8701 0.607123 1.63361 -10.1719 0.526735 1.34123 -10.4854 0.582229 1.84024 -10.2306 0.612998 1.95281 -10.6161 0.586768 2.05241 -10.3229 0.620127 2.08527 -10.6609 0.588829 2.29351 -10.3754 0.621579 2.29666 -10.8348 0.599134 3.59404 -10.6165 0.633372 3.60052 -11.1923 0.642678 5.47389 -10.9682 0.646024 5.43382 -11.0456 0.590844 2.02674 -11.1169 0.593173 2.29558 -11.2773 0.601802 3.57802 -11.4971 0.654323 5.47602 -11.5576 0.61476 2.01709 -11.6175 0.619354 2.28734 -11.7145 0.629691 3.57178 -11.7752 0.672352 5.47804 -12.503 0.718956 1.97323 -12.4746 0.718468 2.26635 -12.36 0.71738 3.57522 -12.2067 0.71871 5.43364 -10.6675 0.534688 1.30073 -10.8681 0.586316 1.70789 -11.3749 0.60486 1.60701 -11.2449 0.561164 1.20374 -12.5469 0.715267 1.49191 -12.6021 0.705119 0.957511 -12.1241 0.666174 2.26912 -12.1093 0.663115 1.99817 -12.1375 0.678339 3.57301 -12.0133 0.693155 5.47811 -12.0609 0.65241 1.52623 -11.9956 0.633312 1.0545 -10.8239 0.631752 4.69747 -11.025 0.608814 4.69587 -11.408 0.612814 4.68728 -11.7639 0.639153 4.68226 -12.0882 0.682044 4.68677 -12.2627 0.716236 4.6942 -9.64257 0.606208 1.06873 -10.817 0.650414 4.69874 -10.6133 0.646988 3.60112 -10.369 0.647766 2.29789 -10.3155 0.647993 2.08751 -10.2246 0.647892 1.95977 -9.86302 0.632326 1.64031 -9.59343 0.634865 1.00582 -10.7369 0.583773 1.5267 -10.2895 0.57872 1.60006 -11.2944 0.601233 1.44924 -12.5728 0.709466 1.20344 -12.0267 0.643979 1.33106 -12.2663 0.728441 4.6945 -12.3682 0.732566 3.57591 -12.4803 0.731613 2.26683 -12.5071 0.730678 1.97362 -12.5546 0.73333 1.4927 -12.592 0.727832 1.17496 -12.6401 0.728944 0.916109 -11.1919 0.674021 5.49199 -11.497 0.691933 5.49589 -11.7755 0.70767 5.49546 -12.014 0.721154 5.4881 -12.2073 0.727464 5.43754 -10.9564 0.662263 5.44017 0.645216 1.16979 3.64571 0.641199 0.926057 3.84397 0.632074 0.639018 3.85845 0.617071 0.281218 3.69648 0.611971 0.142709 3.63505 0.991716 0.606612 3.83739 0.995434 0.893801 3.79752 0.995771 1.12866 3.62413 0.976467 0.287848 3.71542 0.961821 0.106864 3.63805 1.24521 0.321832 3.71875 1.25928 0.595516 3.83004 1.26189 0.875982 3.78602 1.26174 1.09724 3.61763 1.23318 0.0948773 3.63643 1.68604 0.585537 3.78886 1.68636 0.862951 3.75145 1.67925 1.03371 3.59343 1.67935 0.11587 3.61381 1.68018 0.376934 3.69368 1.84283 0.584297 3.70764 1.85127 0.844423 3.69303 1.83913 0.972652 3.5636 1.82881 0.142571 3.58805 1.82825 0.110878 3.40054 1.83091 0.396426 3.64362 1.89188 0.451445 3.58382 1.90258 0.594438 3.65871 1.89592 0.827547 3.6615 1.899 0.922379 3.55366 0.612978 0.218379 3.67372 0.968085 0.200512 3.69399 1.23917 0.209032 3.70956 1.68543 0.250298 3.71507 1.8562 0.251763 3.65838 0.604458 0.0741074 3.53809 0.953583 0.0495279 3.53435 1.22617 0.0465422 3.52556 1.67851 0.0822109 3.49114 1.82658 0.115609 3.50017 1.90059 0.444739 3.52356 1.85177 0.374955 3.5587 0.243659 0.702322 3.85756 0.239258 0.952565 3.88382 0.281362 1.22519 3.67583 0.219113 0.123725 3.53107 0.227808 0.198793 3.61897 0.232533 0.259981 3.65013 0.236158 0.305421 3.67386 -0.0618419 0.819881 3.83946 -0.093948 0.340902 3.6454 0.109332 0.872659 3.87138 -0.097474 0.300764 3.62602 -0.10172 0.24647 3.59465 -0.110816 0.175664 3.51388 1.48988 0.867179 3.77408 1.48915 0.590823 3.81747 1.48663 1.06719 3.60976 1.47636 0.367677 3.7204 1.47585 0.231409 3.72038 1.47131 0.0996797 3.63035 1.46712 0.0577566 3.50999 -0.380085 0.778915 3.77452 -0.383991 0.364625 3.61256 -0.38427 0.32661 3.59383 -0.388676 0.277912 3.56373 -0.394369 0.219674 3.49154 -0.66024 0.763508 3.7139 -0.660294 0.377589 3.57009 -0.660002 0.340184 3.55219 -0.659541 0.303665 3.52359 -0.65867 0.264305 3.46627 -0.881797 0.752405 3.65785 -0.882086 0.390202 3.53686 -0.88117 0.353271 3.51507 -0.878638 0.327422 3.49132 -0.873774 0.304886 3.44541 0.981277 0.37286 3.78063 0.620584 0.380055 3.76306 1.2518 0.388078 3.78725 1.83413 0.459512 3.68022 1.68095 0.429853 3.74416 1.89925 0.494762 3.62457 0.238429 0.421774 3.73405 -0.0955846 0.470077 3.70623 1.48426 0.40905 3.77823 -0.389963 0.494614 3.66261 -0.659261 0.502515 3.6086 -0.879062 0.508649 3.56326 -1.0667 0.744577 3.60884 -1.05617 0.529561 3.52491 -1.05631 0.413007 3.51502 -1.0496 0.375673 3.48921 -1.04614 0.358777 3.46632 -1.04309 0.346463 3.4296 -1.244 0.566029 3.44621 -1.17159 0.441164 3.49466 -1.13193 0.429783 3.50651 -1.14035 0.546151 3.50111 -1.11946 0.391693 3.47952 -1.11449 0.378359 3.45546 -1.11152 0.37061 3.42287 -1.14784 0.404873 3.47148 -1.14501 0.397773 3.45431 -1.1438 0.392118 3.42525 0.980358 0.329042 3.74587 0.619021 0.330567 3.729 1.24969 0.351026 3.75048 1.83066 0.430437 3.66088 1.68113 0.403964 3.71627 1.89623 0.461199 3.59275 0.238381 0.361149 3.70408 -0.0909255 0.399458 3.67442 1.48209 0.378374 3.74414 -0.384597 0.426051 3.63731 -0.659912 0.43832 3.59177 -0.881496 0.448243 3.55525 -1.05938 0.466392 3.52895 -1.14127 0.479135 3.51668 -1.1994 0.489802 3.50639 -1.13589 0.39715 3.47557 -1.15163 0.434179 3.5042 -1.13145 0.385947 3.45141 -1.12972 0.380274 3.42091 -1.17013 0.484815 3.51208 -1.1952 0.554905 3.48219 -1.16941 0.745093 3.56987 -1.25445 0.744131 3.53658 -1.32522 0.743076 3.47521 -1.24158 0.552753 3.45322 0.981879 0.364907 3.77452 0.61951 0.373284 3.75844 1.25175 0.378511 3.7794 1.83735 0.452811 3.67374 1.68411 0.422499 3.73739 1.90059 0.485675 3.6107 0.239809 0.411305 3.72945 -0.0888163 0.453568 3.69841 1.48535 0.400783 3.7696 -0.385671 0.48081 3.65741 -0.658407 0.493307 3.60485 -0.879405 0.501491 3.56253 -1.05876 0.520934 3.52848 -1.14294 0.535704 3.50553 -1.19253 0.548703 3.48669 0.981164 0.34479 3.75704 0.619036 0.348432 3.74129 1.25066 0.362415 3.76288 1.83453 0.441354 3.66617 1.68295 0.410527 3.72582 1.89865 0.471932 3.60019 0.238809 0.38198 3.71519 -0.0894326 0.421793 3.68494 1.48391 0.38686 3.75543 -0.38479 0.449193 3.64487 -0.659635 0.46058 3.59886 -0.880852 0.469923 3.55931 -1.05974 0.489085 3.53095 -1.14292 0.505043 3.51417 -1.18109 0.51537 3.50581 -1.2191 0.517868 3.49715 0.644428 1.16946 3.15677 0.636983 0.921884 2.98083 0.631151 0.639871 2.94423 0.616573 0.277574 3.10014 0.61242 0.145155 3.1694 0.991464 0.605639 2.96646 0.994346 0.890607 3.02173 0.996396 1.13338 3.1775 0.976693 0.283314 3.0791 0.96189 0.108542 3.16512 1.24645 0.316079 3.07642 1.2592 0.594245 2.97496 1.26105 0.872615 3.03217 1.26238 1.10108 3.1846 1.23302 0.0962531 3.1657 1.68446 0.58636 3.01976 1.68404 0.858219 3.066 1.67909 1.03272 3.2096 1.67933 0.116569 3.18868 1.67987 0.375961 3.10816 1.83199 0.585973 3.10647 1.84383 0.840155 3.12073 1.83604 0.968229 3.24042 1.82498 0.144677 3.21493 1.83163 0.401855 3.15896 1.88687 0.454949 3.21963 1.89229 0.596007 3.15142 1.88788 0.82474 3.14796 1.89538 0.920064 3.24923 0.612814 0.217642 3.12625 0.967803 0.198999 3.10338 1.23912 0.20708 3.0861 1.68481 0.250255 3.0867 1.83738 0.248468 3.13468 0.605188 0.0792413 3.26525 0.953733 0.0517603 3.268 1.22615 0.0482172 3.27645 1.67865 0.0829649 3.31083 1.82757 0.116399 3.30136 1.89653 0.447765 3.27826 1.85494 0.379201 3.24277 0.244767 0.702939 2.95274 0.252771 0.939404 2.94165 0.279458 1.21141 3.1315 0.220032 0.130088 3.27339 0.228405 0.201981 3.18628 0.232661 0.260513 3.15199 0.235565 0.302629 3.12446 -0.0488329 0.794565 2.99918 -0.0940022 0.340714 3.1561 0.121804 0.852916 2.96328 -0.0970528 0.302359 3.17814 -0.100543 0.251243 3.21267 -0.10957 0.182271 3.29123 1.48864 0.863414 3.04405 1.48907 0.589285 2.98944 1.48702 1.06895 3.19282 1.47743 0.348854 3.08921 1.47611 0.229872 3.07547 1.47126 0.100484 3.17168 1.46707 0.0590082 3.29201 -0.37229 0.761946 3.06812 -0.383091 0.366922 3.19361 -0.382912 0.330469 3.2145 -0.386839 0.284852 3.24616 -0.39304 0.225626 3.31318 -0.650513 0.755954 3.12961 -0.658151 0.382801 3.2419 -0.657607 0.347726 3.26082 -0.657358 0.311996 3.287 -0.657037 0.272073 3.33916 -0.871495 0.74981 3.18367 -0.878921 0.397605 3.27979 -0.878172 0.363035 3.29776 -0.875677 0.337832 3.3209 -0.872192 0.311209 3.35924 0.980522 0.360524 3.00406 0.618625 0.371613 3.022 1.25272 0.373974 3.00015 1.82528 0.463932 3.12935 1.68147 0.424916 3.05372 1.89134 0.49849 3.18117 0.236742 0.417528 3.05579 -0.0972288 0.465975 3.08858 1.48647 0.397121 3.01307 -0.38989 0.493978 3.13905 -0.657659 0.5054 3.19915 -0.875725 0.511528 3.25193 -1.05642 0.745624 3.23172 -1.05221 0.524602 3.2955 -1.05202 0.421614 3.30483 -1.04566 0.386869 3.32385 -1.04335 0.366288 3.34195 -1.04198 0.349591 3.37329 -1.23468 0.564017 3.367 -1.16533 0.44812 3.32129 -1.12695 0.438728 3.31514 -1.13531 0.539041 3.31971 -1.11548 0.402882 3.33312 -1.11205 0.385272 3.35044 -1.11074 0.372903 3.37929 -1.14163 0.412335 3.33628 -1.14212 0.40227 3.35056 -1.14316 0.395283 3.37469 0.980058 0.319 3.0444 0.617637 0.322343 3.06196 1.25058 0.34169 3.04433 1.82359 0.436333 3.14625 1.68068 0.402932 3.08724 1.88953 0.464806 3.21182 0.237089 0.355563 3.08911 -0.0918106 0.397023 3.12287 1.48305 0.372372 3.05637 -0.384237 0.426758 3.16611 -0.657946 0.441733 3.21895 -0.878512 0.452632 3.26218 -1.05518 0.470197 3.29399 -1.13634 0.481494 3.30888 -1.19139 0.490669 3.31982 -1.13158 0.406825 3.335 -1.14669 0.443596 3.31782 -1.12876 0.390846 3.3524 -1.12857 0.381568 3.38077 -1.16478 0.486327 3.31445 -1.18915 0.550346 3.33885 -1.15667 0.74448 3.26739 -1.24118 0.744821 3.29865 -1.3096 0.744223 3.3464 -1.23163 0.546591 3.35407 0.981613 0.350589 3.01396 0.617645 0.361728 3.02917 1.25303 0.364164 3.01081 1.82951 0.458176 3.13612 1.68469 0.418313 3.06208 1.89498 0.488698 3.19312 0.238172 0.404907 3.06171 -0.0900837 0.45036 3.09718 1.48754 0.389587 3.02348 -0.385814 0.480749 3.14379 -0.656727 0.495574 3.2033 -0.876025 0.503308 3.25437 -1.05461 0.516618 3.29318 -1.13825 0.528902 3.31606 -1.18582 0.540293 3.33412 0.98099 0.332822 3.03343 0.617425 0.338342 3.04867 1.2518 0.350806 3.02966 1.82783 0.446498 3.14068 1.68345 0.407103 3.07486 1.89226 0.475066 3.2044 0.237278 0.375352 3.07639 -0.0905318 0.418862 3.11131 1.4858 0.377886 3.03959 -0.384545 0.449678 3.15796 -0.657829 0.463131 3.21099 -0.877265 0.472776 3.2584 -1.05573 0.489683 3.29226 -1.13833 0.502964 3.31116 -1.17515 0.511744 3.31954 -1.21284 0.514481 3.32897 1.25807 1.13894 3.4009 1.48184 1.10631 3.40094 0.991784 1.17118 3.40089 1.67955 0.0767061 3.4012 1.85516 0.368481 3.40038 1.9038 0.441158 3.4005 1.89416 0.951444 3.39946 1.67289 1.06736 3.40098 1.83094 0.999886 3.40097 1.22032 0.0329106 3.40095 1.46519 0.0483562 3.4011 0.945803 0.0338504 3.40093 0.598018 0.0560484 3.40093 0.639221 1.21169 3.40161 0.215398 0.103667 3.40109 -0.11495 0.155634 3.40108 0.271834 1.28118 3.40177 -0.396783 0.203286 3.40078 -0.658704 0.255113 3.40102 -0.870536 0.300939 3.40097 -1.041 0.34487 3.40077 -1.10983 0.37007 3.40095 -1.14449 0.392652 3.3997 -1.12914 0.380031 3.4009 -1.24535 0.558824 3.40194 -1.33721 0.743863 3.40235 1.84724 0.212586 3.56624 1.84632 0.176903 3.39935 1.85068 0.207158 3.2283 1.91028 0.654203 3.53876 1.91046 0.658777 3.39514 1.91017 0.654637 3.26237 1.91007 0.551911 3.52209 1.91031 0.572288 3.39981 1.90989 0.552405 3.27933 1.90963 0.524686 3.52333 1.91012 0.540476 3.40084 1.90942 0.525073 3.2781 1.90885 0.491752 3.52757 1.90943 0.498515 3.40083 1.9081 0.492326 3.274 1.90737 0.468451 3.52663 1.90813 0.467827 3.40073 1.90559 0.46947 3.27516 -1.25088 0.571141 3.402 -1.17453 0.447038 3.48973 -1.15998 0.415713 3.44373 -1.15956 0.413611 3.39717 -1.17951 0.454856 3.33635 -1.18012 0.454266 3.33046 0.0623656 1.25611 3.63653 0.0608072 1.30687 3.40674 -0.124719 1.30121 3.40763 -0.129032 1.27251 3.5491 -0.273589 1.28157 3.41082 -0.279479 1.26532 3.5053 -0.411121 1.2586 3.40421 -0.385738 1.25949 3.45452 0.0592082 1.24194 3.17426 -0.122012 1.26445 3.26381 -0.266797 1.26248 3.30974 -0.382848 1.25808 3.35871 0.210608 1.18938 3.06271 0.206179 1.20735 3.74638 -1.726 -2.296 1.758 -1.726 -2.248 1.71 -1.46385 -2.21082 1.758 -1.49206 -2.17199 1.71 -1.30183 -1.98782 1.758 -1.34748 -1.97299 1.71 -2.15017 -1.98782 1.758 -2.10452 -1.97299 1.71 -1.98815 -2.21082 1.758 -1.95994 -2.17199 1.71 -1.726 -2.296 1.982 -1.726 -2.248 2.03 -1.46385 -2.21082 1.982 -1.49206 -2.17199 2.03 -1.30183 -1.98782 1.982 -1.34748 -1.97299 2.03 -2.15017 -1.98782 1.982 -2.10452 -1.97299 2.03 -1.98815 -2.21082 1.982 -1.95994 -2.17199 2.03 -1.30183 -1.855 1.758 -1.34748 -1.855 1.71 -2.15017 -1.855 1.982 -2.10452 -1.855 2.03 -1.34748 -1.855 2.03 -1.30183 -1.855 1.982 -2.10452 -1.855 1.71 -2.15017 -1.855 1.758 -0.721 -2.296 1.758 -0.721 -2.248 1.71 -0.458848 -2.21082 1.758 -0.487062 -2.17199 1.71 -0.296829 -1.98782 1.758 -0.34248 -1.97299 1.71 -1.14517 -1.98782 1.758 -1.09952 -1.97299 1.71 -0.983152 -2.21082 1.758 -0.954939 -2.17199 1.71 -0.721 -2.296 1.982 -0.721 -2.248 2.03 -0.458848 -2.21082 1.982 -0.487062 -2.17199 2.03 -0.296829 -1.98782 1.982 -0.34248 -1.97299 2.03 -1.14517 -1.98782 1.982 -1.09952 -1.97299 2.03 -0.983152 -2.21082 1.982 -0.954939 -2.17199 2.03 -0.296829 -1.855 1.758 -0.34248 -1.855 1.71 -1.14517 -1.855 1.982 -1.09952 -1.855 2.03 -0.34248 -1.855 2.03 -0.296829 -1.855 1.982 -1.09952 -1.855 1.71 -1.14517 -1.855 1.758 -11.1056 0.0986027 0.966023 -11.2919 0.443988 0.899821 -10.6996 0.366392 0.916742 -10.7022 0.0429353 0.977758 -10.1673 0.299651 0.932452 -10.1793 -0.0174495 0.990594 -9.44601 0.0880157 0.97604 -9.56491 -0.0870211 1.00546 -11.1055 0.0960356 0.948739 -10.7021 0.0404628 0.960637 -10.6994 0.360646 0.884423 -11.2917 0.438314 0.867803 -10.1791 -0.0197285 0.973421 -10.168 0.290534 0.899407 -9.56459 -0.0888452 0.988048 -9.44566 0.082618 0.943803 3.861 1.03499 0.00472426 4.04571 1.03399 0.00872013 4.38057 0.654457 0.00828351 4.02577 0.658443 0.00360406 3.86202 1.03503 -0.00483641 4.0276 0.659347 -0.00476437 4.37914 0.653247 -0.00879435 4.04569 1.03401 -0.00872 3.86103 1.04049 0.00473874 4.04574 1.03949 0.00873461 3.86205 1.04053 -0.00482193 4.04572 1.03951 -0.00870553 3.63282 1.03716 0.0040158 3.63385 1.03739 -0.00438379 3.63285 1.04032 0.00374574 3.63388 1.04013 -0.00408418 3.91799 -2.26407 0.005468 4.07771 -2.26307 0.00946387 4.42286 -1.82948 0.00902724 4.08309 -1.83155 0.00434779 3.91902 -2.26411 -0.00409268 4.08491 -1.83245 -0.00402063 4.42144 -1.82827 -0.00805062 4.07769 -2.26308 -0.00797627 3.91802 -2.26957 0.00548247 4.07774 -2.26857 0.00947834 3.91905 -2.26961 -0.0040782 4.07772 -2.26858 -0.0079618 3.68982 -2.26624 0.00475953 3.69085 -2.26647 -0.00364005 3.68985 -2.2694 0.00448947 3.69088 -2.26921 -0.00334045 6.66189 -1.06055 1.22725 6.57348 -1.06258 1.22674 6.41433 -1.06236 1.05177 6.58412 -1.05998 1.05282 6.66136 -1.05567 1.22727 6.58319 -1.05571 1.05328 6.41506 -1.05365 1.05115 6.5735 -1.05369 1.22674 6.66187 -1.06055 1.23005 6.57347 -1.06259 1.22954 6.66135 -1.05568 1.23007 6.57348 -1.0537 1.22955 6.79811 -1.06019 1.22835 6.79759 -1.0559 1.22847 6.7981 -1.06005 1.22996 6.79757 -1.05605 1.22987 6.66189 -0.830547 1.22725 6.57348 -0.832585 1.22674 6.41433 -0.832362 1.05177 6.58412 -0.829976 1.05282 6.66136 -0.825671 1.22727 6.58319 -0.825708 1.05328 6.41506 -0.823653 1.05115 6.5735 -0.82369 1.22674 6.66187 -0.830554 1.23005 6.57347 -0.832592 1.22954 6.66135 -0.825679 1.23007 6.57348 -0.823698 1.22955 6.79811 -0.830186 1.22835 6.79759 -0.825902 1.22847 6.7981 -0.830048 1.22996 6.79757 -0.826055 1.22987 -11.9131 4.73115 -0.201914 -11.9073 4.73808 -0.0931874 -12.0509 4.73857 -0.0882684 -12.0537 4.7307 -0.214855 -12.1932 4.73859 -0.0833994 -12.1933 4.73008 -0.215161 -12.3332 4.73788 -0.0786089 -12.3267 4.73143 -0.201335 -11.9148 4.71403 -0.201966 -12.0537 4.71473 -0.214859 -12.051 4.70677 -0.0883275 -11.9086 4.70676 -0.0932039 -12.1932 4.71471 -0.214552 -12.1931 4.70678 -0.0834656 -12.3253 4.71368 -0.201286 -12.3314 4.70679 -0.0787303 -2.99074 0.59748 4.58772 -2.98988 0.754612 4.58731 -2.37047 0.805194 4.60997 -2.46041 0.465414 4.60997 -2.11494 0.764965 4.60322 -2.09525 0.570467 4.60703 -1.86481 0.759957 4.60309 -1.84912 0.639542 4.60502 -1.6098 0.768851 4.60229 -1.6056 0.704515 4.60271 -1.0964 0.785001 4.60065 -1.09578 0.76989 4.60072 -2.98275 0.597172 4.56178 -2.45897 0.465367 4.53987 -2.36982 0.805022 4.53987 -2.98286 0.75338 4.56186 -2.09592 0.56848 4.54278 -2.11666 0.761576 4.54654 -1.84986 0.637346 4.54478 -1.86499 0.758198 4.54675 -1.6064 0.70536 4.54675 -1.61009 0.766934 4.54675 -1.09705 0.775689 4.54675 -1.09705 0.779268 4.54675 -3.0059 0.577831 3.79978 -3.00504 0.734963 3.79937 -2.38563 0.785545 3.82203 -2.47558 0.445765 3.82203 -2.13011 0.745316 3.81528 -2.11041 0.550818 3.81909 -1.87997 0.740308 3.81515 -1.86428 0.619893 3.81708 -1.62496 0.749202 3.81435 -1.62076 0.684866 3.81477 -1.11156 0.765352 3.81271 -1.11094 0.750241 3.81277 -2.99791 0.577523 3.77383 -2.47414 0.445718 3.75193 -2.38498 0.785372 3.75193 -2.99802 0.73373 3.77391 -2.11108 0.548831 3.75484 -2.13182 0.741927 3.7586 -1.86502 0.617697 3.75684 -1.88015 0.738549 3.75881 -1.62156 0.685711 3.75881 -1.62525 0.747285 3.75881 -1.11221 0.75604 3.75881 -1.11221 0.759618 3.75881 -2.88498 0.719942 6.59178 -2.88412 0.877074 6.59137 -2.26471 0.927656 6.61403 -2.35466 0.587876 6.61403 -2.00919 0.887427 6.60728 -1.98949 0.692929 6.61108 -1.75905 0.882419 6.60715 -1.74336 0.762004 6.60908 -1.50404 0.891313 6.60634 -1.49984 0.826977 6.60677 -0.990643 0.907463 6.60471 -0.990018 0.892352 6.60477 -2.87699 0.719634 6.56583 -2.35322 0.587829 6.54393 -2.26407 0.927484 6.54393 -2.8771 0.875841 6.56591 -1.99016 0.690942 6.54683 -2.0109 0.884038 6.5506 -1.7441 0.759808 6.54883 -1.75923 0.88066 6.55081 -1.50064 0.827822 6.55081 -1.50433 0.889396 6.55081 -0.991295 0.898151 6.55081 -0.991295 0.901729 6.55081 -11.9131 4.73115 0.201914 -11.9073 4.73808 0.0931874 -12.0509 4.73857 0.0882684 -12.0537 4.7307 0.214855 -12.1932 4.73859 0.0833994 -12.1933 4.73008 0.215161 -12.3332 4.73788 0.0786089 -12.3267 4.73143 0.201335 -11.9148 4.71403 0.201966 -12.0537 4.71473 0.214859 -12.051 4.70677 0.0883275 -11.9086 4.70676 0.0932039 -12.1932 4.71471 0.214552 -12.1931 4.70678 0.0834656 -12.3253 4.71368 0.201286 -12.3314 4.70679 0.0787303 -2.8606 0.910497 -1.23372 -1.00372 1.23383 -1.31657 -0.362054 1.29881 -1.29388 0.049738 1.28391 -1.25098 0.253012 1.20234 -1.21153 0.33652 1.03694 -1.23768 0.313822 0.830142 -1.23983 -0.0377686 0.734245 -1.24712 -2.08227 0.688761 -1.25057 -2.86778 0.824883 -1.24023 -2.87734 0.893829 -1.23498 -2.46408 1.07078 -7.2 -0.981983 1.28893 -7.2 -0.501669 1.32613 -7.2 -0.234905 1.30972 -7.2 -0.136884 1.252 -7.2 -0.133021 1.09323 -7.2 -0.204042 1.02148 -7.2 -0.456613 0.965064 -7.2 -1.92131 0.919687 -7.2 -2.4509 1.04073 -7.2 -2.46763 1.06827 -7.2 -2.73478 0.98687 -4.3199 -0.89703 1.24344 -4.32008 -0.284744 1.28924 -4.32009 0.0546301 1.27143 -4.31998 0.184063 1.21253 -4.32017 0.208503 0.984069 -4.32317 0.102732 0.894784 -4.32145 -0.217727 0.822853 -4.32114 -2.05394 0.772324 -4.32046 -2.64884 0.894826 -4.32058 -2.75196 0.980974 -4.31997 -1.82772 1.27755 -12.3399 -1.14266 1.37151 -12.3399 -0.924029 1.38372 -12.3399 -0.829547 1.36705 -12.3399 -0.800554 1.3366 -12.3397 -0.809166 1.26702 -12.3398 -0.901072 1.22182 -12.3399 -1.13577 1.19922 -12.3399 -1.81079 1.22609 -12.3399 -1.89925 1.25352 -12.3399 -1.89796 1.26363 -12.3399 -1.76323 1.11903 -1.32571 -1.66134 1.15479 -4.31986 -1.59822 1.21115 -7.19977 -1.42697 1.33454 -12.3396 -1.44222 1.36581 -12.5498 -1.21126 1.38948 -12.5493 -1.13124 1.39424 -12.5493 -1.05708 1.3846 -12.5527 -1.03514 1.35582 -12.5639 -1.06081 1.30613 -12.5743 -1.13404 1.27629 -12.5789 -1.27041 1.26007 -12.5792 -1.80964 1.2778 -12.563 -1.87886 1.29809 -12.5572 -1.88183 1.30597 -12.555 -1.82073 1.31839 -12.5528 -1.36221 1.40073 -12.7537 -1.51884 1.39033 -12.7509 -1.78367 1.36565 -12.7464 -1.82649 1.36067 -12.7457 -1.82386 1.36096 -12.7457 -1.76338 1.32439 -12.7468 -1.44289 1.31762 -12.7517 -1.35108 1.33166 -12.7527 -1.31778 1.35014 -12.7537 -1.31247 1.37514 -12.7535 -1.3148 1.38413 -12.7534 -1.33447 1.39318 -12.7537 -1.54024 1.39134 -12.85 -1.54653 1.38737 -12.8525 -1.54464 1.38313 -12.8527 -1.53459 1.38145 -12.8495 -1.57562 1.38 -12.8601 -1.64394 1.37529 -12.8645 -1.72596 1.36987 -12.8492 -1.74827 1.37442 -12.8497 -1.75568 1.37955 -12.8477 -1.74381 1.38253 -12.8476 -1.67383 1.38903 -12.8601 -1.59186 1.39227 -12.8642 -1.6177 1.38874 -12.8683 -1.68941 1.38602 -12.8664 -1.61185 1.38407 -12.868 -1.67887 1.38087 -12.8683 -0.905617 1.38173 -12.1163 -1.13552 1.36608 -12.1163 -0.799288 1.37128 -12.117 -0.75705 1.33624 -12.1188 -0.771188 1.25096 -12.1182 -0.869026 1.20705 -12.1169 -1.10351 1.18465 -12.1166 -1.81642 1.20937 -12.1166 -1.92455 1.24339 -12.1165 -1.92153 1.25251 -12.1163 -1.85504 1.2662 -12.1164 -1.43409 1.32676 -12.1161 -0.124796 0.795794 -2.82718 -2.06201 0.73219 -2.82874 0.171736 0.892075 -2.82321 0.247095 1.03043 -2.81458 0.210736 1.16944 -2.8096 0.063177 1.23548 -2.80639 -0.303586 1.2563 -2.80564 -0.938063 1.21827 -2.80806 -2.7733 0.931126 -2.82084 -2.77348 0.932153 -2.82047 -2.73839 0.885487 -2.82295 -1.71164 1.13858 -2.81301 -0.339043 0.895809 -5.75547 -1.98921 0.845889 -5.75525 -0.0523175 0.957319 -5.75576 0.0367956 1.03701 -5.75673 0.0228774 1.23286 -5.75519 -0.0916914 1.29061 -5.75503 -0.394878 1.30745 -5.75508 -0.941198 1.26589 -5.75507 -2.61106 1.02332 -5.75503 -2.60117 1.02837 -5.75499 -2.55116 0.96796 -5.75529 -1.63128 1.18112 -5.75487 -1.03316 1.31465 -8.83877 -0.636319 1.34466 -8.83876 -1.08434 1.34037 -10.4775 -0.770968 1.36319 -10.4775 -0.423033 1.33024 -8.839 -0.61116 1.35076 -10.478 -0.343606 1.28008 -8.83961 -0.550328 1.30816 -10.4792 -0.345744 1.14581 -8.83941 -0.558466 1.19838 -10.4788 -0.425703 1.08333 -8.83897 -0.647365 1.14519 -10.4779 -0.632616 1.03949 -8.83886 -0.868061 1.11207 -10.4777 -1.88635 1.01625 -8.83885 -1.85139 1.11281 -10.4777 -2.27545 1.10828 -8.83882 -2.1 1.17583 -10.4776 -2.2856 1.12969 -8.83876 -2.10356 1.1911 -10.4775 -2.26106 1.13592 -8.83879 -2.05805 1.20106 -10.4776 -1.54351 1.24968 -8.83855 -1.4888 1.28822 -10.4773 -1.66617 1.33854 -12.5513 -1.67004 1.30049 -12.3397 -1.47328 1.21266 -12.3399 -1.54003 1.26893 -12.5711 -1.67478 1.37643 -12.7482 -1.60314 1.32101 -12.7492 -1.72254 1.38279 -12.857 -1.70882 1.38578 -12.8539 -1.71357 1.37765 -12.859 -1.68495 1.37258 -12.8568 -1.45996 1.19701 -12.1166 -1.68941 1.29057 -12.1162 -1.05275 0.737875 -2.82844 -1.01853 0.712426 -1.24877 -1.09789 0.773962 -4.32159 -2.37274 1.04881 -2.81713 -2.42715 1.00191 -1.29663 -2.31414 1.06499 -4.31986 -1.13064 0.871862 -5.75536 -1.15924 0.943296 -7.2 -2.21987 1.09201 -5.7549 -2.1237 1.12928 -7.19985 -1.25948 1.02787 -8.83886 -1.35972 1.11244 -10.4777 -1.97894 1.18304 -8.83863 -1.83417 1.23681 -10.4774 -1.00959 1.24248 -0.768765 -1.78046 1.13382 -0.774548 -2.44 1.02654 -0.783834 -2.86966 0.954235 -0.813454 0.378507 1.1019 -0.80182 0.235106 1.21245 -0.784649 0.0340753 1.2764 -0.769905 -0.36599 1.30005 -0.76612 0.464175 0.998319 -0.812922 0.802604 0.802186 -0.800626 1.52101 0.426252 -0.799151 -1.04258 1.24092 -0.268891 -1.78694 1.13359 -0.269904 -2.43782 1.02794 -0.273252 -2.89075 0.95396 -0.282754 0.378516 1.1303 -0.287928 0.224586 1.23175 -0.280707 -5.80546e-005 1.28696 -0.271074 -0.410984 1.29993 -0.267385 0.477022 1.03945 -0.292532 0.817732 0.879512 -0.284578 1.33625 0.64827 -0.302006 0.556419 0.5749 -1.16422 1.25982 0.0936795 -1.14741 -1.77495 1.12766 -1.00461 -1.00539 1.24121 -0.996331 -2.43774 1.01545 -0.997887 -2.87296 0.937613 -0.986753 0.245316 1.20545 -0.968012 0.370594 1.07704 -0.992194 0.0433171 1.27798 -0.973429 -0.361367 1.30148 -0.985291 0.433652 0.946967 -1.02446 0.692585 0.742334 -0.990396 1.48493 0.266784 -0.987665 -2.26215 0.0227309 -1.21381 -3.09432 0.0380307 -1.20684 -1.1257 0.0293466 -1.21109 -0.158994 0.0209813 -1.21144 0.291976 0.0153572 -1.21228 -2.99894 0.3945 -1.14169 -2.17255 0.338178 -1.20385 -1.07341 0.354587 -1.21119 -0.0909936 0.36621 -1.21058 0.289945 0.424154 -1.21032 -2.9063 0.642662 -1.12472 -2.11754 0.561884 -1.20234 -1.03728 0.582395 -1.21124 -0.0557185 0.599198 -1.2103 0.61714 0.971713 -0.289664 0.593632 0.915 -0.805428 0.538155 0.849247 -1.00072 0.341526 0.685606 -1.1754 0.488161 0.467522 -1.20971 0.770484 0.0278348 -1.20968 -0.0835475 0.794296 -1.94511 0.207868 0.897762 -1.93702 0.274041 1.03698 -1.93345 0.227265 1.18529 -1.91694 0.0375424 1.26077 -1.92726 -0.365 1.27343 -1.95025 -0.993325 1.22077 -1.96412 -2.78556 0.906751 -1.93404 -2.78556 0.906754 -1.93413 -2.78161 0.885843 -1.93773 -2.07622 0.710495 -1.94786 -1.73272 1.12669 -1.97112 -1.0373 0.726311 -1.94667 -2.37929 1.0241 -1.95411 -3.19174 0.790893 -1.02305 -3.15142 0.850942 -1.00601 -3.28307 0.637176 -1.06221 -3.38757 0.393025 -1.10006 -3.57829 0.0631702 -1.18951 -3.19284 0.880955 -0.852467 -3.35449 0.819443 -0.896852 -3.55787 0.710091 -0.943298 -3.80654 0.502873 -1.0093 -4.15335 0.153743 -1.11726 -3.2682 0.893939 -0.282577 -3.58847 0.839394 -0.279845 -3.85333 0.79315 -0.280829 -4.18953 0.73175 -0.295204 -4.56703 0.650769 -0.341586 -4.45333 0.371212 -0.905228 -4.0809 0.667298 -0.706126 -3.76343 0.767175 -0.601982 -3.52776 0.82619 -0.55763 -3.26347 0.886151 -0.533405 -1.0236 1.24218 -0.515694 -1.78666 1.13354 -0.518394 -2.44601 1.02659 -0.522334 -2.89094 0.953532 -0.521396 0.381044 1.11857 -0.52501 0.23316 1.22333 -0.51306 0.0212729 1.28251 -0.51391 -0.383703 1.3009 -0.514382 0.473267 1.02731 -0.533666 1.41903 0.571843 -0.53681 0.800394 0.863345 -0.534012 0.606641 0.956289 -0.533823 -5.75592 0.677656 -0.376051 -5.77664 0.438906 -0.935443 -5.7852 0.138785 -1.21573 -5.7842 -0.266234 -1.38133 -4.17265 -0.31347 -1.31539 -5.78222 -0.684009 -1.37481 -4.21065 -0.824744 -1.43343 -5.79226 -1.01763 -1.14128 -4.23828 -1.37941 -1.23597 -5.8193 -1.18126 -0.824844 -4.24439 -1.65608 -0.869622 -5.89864 -1.27296 -0.280459 -4.24521 -1.81498 -0.364084 -4.95832 0.652402 -0.351228 -4.95835 0.384324 -0.922439 -4.95807 0.0880007 -1.1832 -4.95798 -0.321723 -1.34974 -4.95783 -0.783534 -1.413 -4.95388 -1.26131 -1.16805 -4.94784 -1.48302 -0.819215 -4.95356 -1.61292 -0.335906 -3.63622 -0.349188 -1.32219 -3.74929 -1.82472 -0.405021 -3.81165 -1.62047 -0.86859 -3.77208 -1.46062 -1.30218 -3.68596 -0.85913 -1.43484 -3.25869 -1.29656 -1.42219 -3.18883 -0.843576 -1.43534 -3.16199 -0.369128 -1.32617 -4.24587 -1.77648 -0.545555 -4.95293 -1.57685 -0.525992 -5.83882 -1.26267 -0.508283 -3.7565 -1.76139 -0.560596 -3.26563 -1.82787 -0.410053 -3.25612 -1.7596 -0.589382 -4.95154 -1.39253 -0.994249 -4.24495 -1.54707 -1.05761 -5.87151 -1.09451 -0.980758 -3.82876 -1.55383 -1.06942 -2.32656 -0.363855 -1.32254 -2.3663 -1.01102 -1.45075 -2.34399 -0.760985 -1.41314 -1.23346 -0.844358 -1.43632 -1.21598 -0.689767 -1.40324 -1.17209 -0.348552 -1.31778 -0.174676 -0.346112 -1.31545 -0.214815 -0.836892 -1.4302 -0.219684 -0.671056 -1.39716 0.276873 -0.344882 -1.31384 0.248733 -0.85873 -1.42513 0.258637 -0.668811 -1.39291 0.811947 -0.337501 -1.30956 0.77168 -0.971456 -1.43812 0.793326 -0.675504 -1.38825 1.338 -0.319447 -1.30094 1.31043 -1.11753 -1.40627 1.32505 -0.683333 -1.38189 1.76473 -0.332143 -1.30009 1.77251 -0.716442 -1.37878 1.74925 -1.29668 -1.33343 1.76088 0.0510405 -1.15747 1.82686 0.27569 -0.970049 1.86313 0.433809 -0.780029 1.82495 0.573037 -0.518776 1.75108 0.651291 -0.262666 2.32374 -1.28269 -1.29128 2.32391 -0.716599 -1.37027 2.32197 -0.358534 -1.29999 2.32021 0.048577 -1.13811 2.32037 0.264541 -0.972793 2.32175 0.434351 -0.773028 2.32243 0.554741 -0.553374 2.32571 0.64177 -0.28183 1.98355 -1.57288 -1.08436 2.3169 -1.53369 -1.09386 2.01028 -1.68727 -0.855972 2.31678 -1.67383 -0.865854 1.91815 -1.8193 -0.462039 2.28945 -1.80248 -0.479663 1.93876 -1.83239 -0.332648 2.28702 -1.82233 -0.358958 -2.60716 -1.83443 -0.418368 -2.61487 -1.81425 -0.625889 -1.9977 -1.84598 -0.432443 -2.01965 -1.85643 -0.660242 -0.0688008 -1.84433 -0.37917 -0.0120897 -1.85112 -0.582463 0.452827 -1.84304 -0.363998 0.499097 -1.84633 -0.534996 1.18623 -1.83916 -0.346128 1.1974 -1.84054 -0.482126 -3.29914 -1.54385 -1.5752 -2.99555 -1.39619 -1.6228 -2.16425 -1.10752 -1.68184 -1.24499 -0.995049 -1.66469 1.11399 -1.24579 -1.64061 1.46335 -1.4744 -1.65748 -0.226847 -0.988566 -1.64681 0.241938 -1.02236 -1.64918 0.736456 -1.10941 -1.63754 1.57409 -1.66247 -1.55475 1.43317 -1.87647 -1.00763 -2.74871 -1.71718 -1.91716 -2.58302 -1.55056 -1.93711 1.03549 -1.61465 -1.89903 1.11937 -1.80586 -1.82475 -1.92707 -1.22916 -1.95142 -1.14852 -1.0981 -1.94655 -0.218292 -1.10088 -1.9186 0.133629 -1.15396 -1.91285 0.51042 -1.25129 -1.89458 0.773185 -1.38839 -1.90081 -2.34723 -1.85939 -2.11988 -2.20446 -1.6693 -2.11612 0.54271 -1.77838 -2.08638 0.641365 -1.98867 -2.07001 0.371755 -1.61623 -2.10174 0.182194 -1.48514 -2.11646 0.0160156 -1.38798 -2.12383 -0.229789 -1.27687 -2.12628 -1.03833 -1.21199 -2.1365 -1.67588 -1.3285 -2.13339 0.623186 -2.04585 -1.9526 0.995531 -1.97768 -1.56413 2.30883 -1.74503 -0.683339 1.99439 -1.75572 -0.681219 1.36345 -1.87709 -0.859171 0.839035 -1.98414 -1.25056 0.31702 -2.01904 -1.45868 2.29848 -1.78001 -0.575016 1.9236 -1.79587 -0.593321 1.26978 -1.85662 -0.68484 0.647973 -1.89545 -0.845634 0.147176 -1.92305 -0.961725 -3.28372 -1.67599 -1.43261 -2.73992 -1.84123 -1.77765 -2.2658 -1.96491 -2.10834 -3.25367 -1.73973 -1.24801 -2.71149 -1.90927 -1.59383 -2.23194 -2.07774 -1.92987 -1.21186 -2.1453 -2.0259 -1.20886 -2.10176 -2.18018 -0.278607 -2.14631 -2.02102 -0.27605 -2.0989 -2.17175 0.154596 -2.11883 -2.00104 0.153417 -2.08045 -2.13603 -4.95274 -1.5391 -0.663011 -4.25016 -1.72436 -0.708193 -5.80711 -1.2421 -0.647634 -3.76387 -1.66802 -0.739425 -3.25409 -1.75064 -0.889448 -2.6458 -1.8546 -1.03355 -2.07535 -1.95272 -1.1474 -4.9516 -1.51366 -0.738678 -4.24794 -1.69522 -0.785379 -5.80286 -1.21694 -0.736151 -3.79535 -1.63975 -0.816476 -3.26059 -1.75115 -1.07986 -2.66721 -1.88406 -1.33725 -2.11163 -2.01801 -1.54458 -1.74849 -2.04412 -2.16026 -1.7284 -2.11636 -2.01647 -0.728275 -2.10595 -2.17846 -0.714072 -2.14646 -2.03276 -0.0578617 -2.08807 -2.15759 -0.0610736 -2.13943 -2.01015 -0.493615 -2.1051 -2.17512 -0.492185 -2.14632 -2.03001 0.289626 -1.89346 -2.1232 0.0835171 -1.81978 -2.14261 -0.1388 -1.76055 -2.1559 -0.336963 -1.7059 -2.16164 -0.592167 -1.66713 -2.16483 -1.06829 -1.66025 -2.16628 -1.6658 -1.69183 -2.15785 -2.17718 -1.81759 -2.13612 -1.57606 -1.8473 -0.442088 -1.5859 -1.86444 -0.684753 -1.6188 -1.98446 -1.21079 -1.64506 -2.07908 -1.64296 -1.19966 -1.84653 -0.449296 -1.20474 -1.86624 -0.696518 -1.20873 -1.98898 -1.2283 -1.18715 -2.10168 -1.66679 -0.8777 -1.84573 -0.448868 -0.885057 -1.86643 -0.699479 -0.868878 -1.98219 -1.20352 -0.812564 -2.07854 -1.6361 -0.741597 -1.84554 -0.4403 -0.730273 -1.86477 -0.690187 -0.677063 -1.97213 -1.16492 -0.595524 -2.07103 -1.62019 -0.651976 -1.84553 -0.425042 -0.625002 -1.86111 -0.667064 -0.537117 -1.96033 -1.11885 -0.422798 -2.06479 -1.59364 -0.555488 -1.84529 -0.407473 -0.514736 -1.85823 -0.644363 -0.395915 -1.94951 -1.07399 -0.252535 -2.05465 -1.55948 -0.408286 -1.84492 -0.393449 -0.35064 -1.85507 -0.618932 -0.201186 -1.93898 -1.02938 -0.0429254 -2.0397 -1.52364 3.27517 -0.354407 -1.28387 3.2752 0.0445303 -1.12153 3.27517 0.264214 -0.961514 3.27517 0.432706 -0.76423 3.27514 0.550048 -0.544735 3.27523 0.633938 -0.27611 3.27502 -1.81545 -0.350751 3.27508 -1.79522 -0.47593 3.2751 -1.77431 -0.572601 3.27511 -1.74139 -0.680584 3.27515 -1.66918 -0.867423 3.27507 -1.52636 -1.08873 3.27516 -1.2674 -1.28062 3.27523 -0.714736 -1.35619 4.21495 -1.24626 -1.27531 4.21488 -0.696908 -1.33512 4.21492 -0.349108 -1.26608 4.21483 0.0479858 -1.10122 4.21487 0.259511 -0.951583 4.21487 0.421343 -0.763424 4.21489 0.53615 -0.551841 4.21488 0.621115 -0.287761 4.21504 -1.8068 -0.37896 4.21493 -1.78573 -0.49729 4.21489 -1.76437 -0.592711 4.21493 -1.73153 -0.702777 4.21488 -1.65703 -0.88355 4.21497 -1.50517 -1.10685 5.16099 -0.334675 -1.22673 5.16128 0.0554173 -1.05735 5.16031 0.273018 -0.912027 5.16085 0.424472 -0.717005 5.16108 0.535063 -0.503273 5.16325 0.613879 -0.242332 5.16304 -1.80717 -0.33226 5.16022 -1.78913 -0.45804 5.16116 -1.76959 -0.555666 5.16038 -1.73802 -0.665938 5.16083 -1.66452 -0.858349 5.16204 -1.51404 -1.08132 5.16038 -1.21146 -1.26376 5.16204 -0.687288 -1.29968 5.75626 -1.19282 -1.23353 5.75044 -0.673759 -1.24339 5.74227 -0.338359 -1.12047 5.7275 0.0290979 -0.945864 5.73388 0.246752 -0.83532 5.72243 0.392155 -0.676006 5.72471 0.498584 -0.476564 5.72606 0.57317 -0.242584 5.76122 -1.79996 -0.342126 5.75853 -1.77996 -0.470115 5.75953 -1.75928 -0.566939 5.75893 -1.72587 -0.679409 5.75811 -1.65176 -0.856968 5.75558 -1.51927 -1.04535 6.38415 -0.325806 -0.95647 6.15372 0.0171026 -0.840694 5.98493 0.248619 -0.75706 5.96917 0.364108 -0.595776 5.98062 0.460231 -0.403439 5.98662 0.515287 -0.194522 6.45005 -1.78081 -0.278627 6.4487 -1.76506 -0.391313 6.44859 -1.74091 -0.496448 6.44763 -1.70616 -0.60791 6.4498 -1.63463 -0.773696 6.43984 -1.49448 -0.957273 6.4034 -1.17617 -1.12681 6.39036 -0.679991 -1.13323 6.55564 0.0638996 -0.234684 6.32029 0.277982 -0.227806 6.90651 -0.250826 -0.260653 6.1775 0.412324 -0.209027 6.19134 0.272672 -0.433208 6.39814 0.0463629 -0.472167 6.70638 -0.289922 -0.541704 6.10554 0.387591 -0.421501 6.0611 0.331831 -0.56354 6.10501 0.263485 -0.571285 6.29041 0.0348431 -0.633648 6.57297 -0.316481 -0.728907 6.76895 -0.734278 -1.02007 6.75093 -0.462328 -0.880632 6.78145 -1.16578 -0.996286 6.78121 -1.47013 -0.857766 6.78396 -1.60222 -0.70015 6.77845 -1.67869 -0.544409 6.77634 -1.71117 -0.453008 6.7793 -1.7353 -0.358349 6.77943 -1.75212 -0.255565 6.78442 -0.382815 -0.695085 6.89472 -0.360265 -0.528334 7.07426 -0.322798 -0.231877 7.09111 -0.809214 -0.861763 7.09909 -0.566329 -0.768521 7.11288 -0.469873 -0.592842 7.17524 -0.433167 -0.427439 7.24728 -0.40229 -0.232003 7.06941 -1.71506 -0.198837 7.07464 -1.69246 -0.315764 7.0764 -1.66456 -0.403396 7.07675 -1.62566 -0.495138 7.07908 -1.55326 -0.617039 7.08368 -1.412 -0.750359 7.09464 -1.15512 -0.83868 7.43247 -1.15684 -0.640458 7.42612 -0.904291 -0.660382 7.43092 -0.703412 -0.618088 7.42651 -0.58806 -0.497006 7.44403 -0.537645 -0.362872 7.46799 -0.512265 -0.206704 7.43259 -1.35994 -0.585675 7.41643 -1.64285 -0.169927 7.41078 -1.61663 -0.277294 7.40924 -1.58893 -0.349033 7.40982 -1.55288 -0.417177 7.41742 -1.4903 -0.497692 7.67805 -1.15155 -0.478596 7.65629 -0.967908 -0.501304 7.64767 -0.842847 -0.488781 7.66325 -0.753005 -0.422276 7.67568 -0.696378 -0.322046 7.68583 -0.667364 -0.184604 7.68202 -1.54997 -0.157838 7.66374 -1.52416 -0.255308 7.65143 -1.49915 -0.313788 7.6406 -1.47163 -0.362232 7.64939 -1.42929 -0.40236 7.67749 -1.31503 -0.446457 7.95461 -1.25866 -0.178064 7.88798 -1.25911 -0.268882 7.83543 -1.26965 -0.322912 7.77492 -1.28841 -0.375376 7.9572 -1.07614 -0.174271 7.89478 -1.08975 -0.269981 7.84166 -1.10926 -0.333817 7.78051 -1.13456 -0.394842 7.88789 -0.907821 -0.172912 7.84109 -0.926293 -0.286286 7.79433 -0.949995 -0.362866 7.74076 -0.975564 -0.426557 7.83227 -1.46028 -0.167114 7.79449 -1.43481 -0.258769 7.76098 -1.41842 -0.312187 7.72082 -1.41227 -0.357847 -7.40449 0.22328 -1.30388 -7.40449 -0.120684 -1.4003 -7.40449 -0.391762 -1.28379 -7.40449 -0.573697 -1.01945 -7.40449 -0.603505 -0.90511 -7.40449 -0.653087 -0.771225 -7.40449 -0.671501 -0.70311 -7.40449 -0.685386 -0.625224 -7.40449 -0.699825 -0.495734 -7.40449 -0.706931 -0.264679 -7.40449 0.731278 -0.440453 -7.40449 0.517679 -1.0206 -9.50656 0.657334 -0.954006 -9.50656 0.455411 -1.37934 -9.50656 0.280634 -1.32813 -9.50871 0.162858 -1.11805 -9.50656 0.135913 -0.96141 -9.50656 0.0960734 -0.828991 -9.50656 0.0905317 -0.709826 -9.50656 0.0868204 -0.647397 -9.50656 0.0791254 -0.574319 -9.50656 0.0640795 -0.457422 -9.50656 0.0403406 -0.248261 -9.50656 0.794297 -0.528706 -12.6654 0.843699 -0.288845 -12.6654 0.800749 -0.600715 -12.6653 0.728977 -0.917159 -12.6651 0.709933 -0.952314 -12.6628 0.660162 -0.94412 -12.6656 0.618728 -0.832053 -12.6655 0.60238 -0.739213 -12.6655 0.591821 -0.660083 -12.6655 0.585029 -0.5946 -12.6654 0.578134 -0.511849 -12.6654 0.571259 -0.403918 -12.6655 0.565784 -0.277692 -10.8757 0.83518 -0.405763 -10.8757 0.755401 -0.818182 -10.8757 0.621437 -1.30605 -10.8757 0.481736 -1.26865 -10.8757 0.405087 -1.04558 -10.8757 0.38211 -0.914766 -10.8757 0.366118 -0.789672 -10.8757 0.356105 -0.68813 -10.8757 0.350143 -0.620828 -10.8757 0.345011 -0.542543 -10.8757 0.338464 -0.426265 -10.8757 0.332132 -0.244064 -13.2574 0.818853 -0.286765 -13.2054 0.785323 -0.519501 -13.3351 0.757877 -0.283929 -13.2955 0.748817 -0.514708 -13.3391 0.740715 -0.285682 -13.3042 0.735043 -0.503212 -13.3325 0.71509 -0.283852 -13.3035 0.714485 -0.481775 -13.3202 0.698295 -0.281391 -13.2999 0.696195 -0.457415 -13.2852 0.673915 -0.278233 -13.2938 0.686797 -0.441899 -13.0036 0.838911 -0.272784 -13.0028 0.801169 -0.532791 -13.0217 0.61694 -0.277692 -13.0166 0.622344 -0.397928 -12.9669 0.728887 -0.789352 -12.9935 0.696688 -0.811417 -12.9903 0.670371 -0.772235 -12.9939 0.650452 -0.685009 -13.0091 0.641402 -0.60948 -13.0146 0.635006 -0.550336 -12.9483 0.618709 -0.494255 -12.9547 0.750794 -0.735589 -10.09 0.811719 -0.476316 -10.09 0.699124 -0.896127 -10.09 0.52616 -1.34811 -10.09 0.397571 -1.30278 -10.089 0.320317 -1.08178 -10.09 0.294242 -0.941533 -10.09 0.276718 -0.812236 -10.09 0.265099 -0.700581 -10.09 0.259168 -0.636075 -10.09 0.25394 -0.560778 -10.09 0.246939 -0.444145 -10.09 0.239827 -0.246473 -9.55623 0.652418 -0.966928 -9.8701 0.649053 -1.63361 -10.1445 0.725129 -1.46672 -9.79686 0.716855 -0.804949 -10.4854 0.724387 -1.84024 -10.2306 0.672046 -1.95281 -10.6161 0.721407 -2.05241 -10.3229 0.671536 -2.08527 -10.6609 0.719305 -2.29351 -10.3754 0.670297 -2.29666 -10.8348 0.708851 -3.59404 -10.6165 0.658739 -3.60052 -11.1923 0.706713 -5.47389 -10.9685 0.678882 -5.43089 -11.0456 0.736777 -2.02674 -11.1169 0.736368 -2.29558 -11.2773 0.733151 -3.57802 -11.4971 0.727991 -5.47602 -11.5576 0.745857 -2.01709 -11.6175 0.746273 -2.28734 -11.7145 0.747134 -3.57178 -11.7752 0.741667 -5.47804 -12.503 0.737182 -1.97323 -12.4746 0.73817 -2.26635 -12.36 0.739161 -3.57522 -12.2067 0.737699 -5.43364 -10.2792 0.736987 -0.786705 -10.5668 0.739061 -1.30781 -10.8681 0.738425 -1.70789 -11.3749 0.745821 -1.60701 -11.1162 0.746242 -1.19539 -10.9622 0.764731 -0.766429 -12.5469 0.7395 -1.49191 -12.5875 0.742484 -1.12029 -12.6126 0.753854 -0.804965 -12.1241 0.75396 -2.26912 -12.1093 0.753659 -1.99817 -12.1375 0.753624 -3.57301 -12.0133 0.748423 -5.47811 -12.0609 0.754275 -1.52623 -11.9716 0.758422 -1.11647 -11.8972 0.762687 -0.761784 -10.8239 0.665074 -4.69747 -11.025 0.70503 -4.69587 -11.408 0.732226 -4.68728 -11.7639 0.74802 -4.68226 -12.0882 0.753529 -4.68677 -12.2627 0.740277 -4.6942 -9.8701 0.607123 -1.63361 -10.1719 0.526735 -1.34123 -10.4854 0.582229 -1.84024 -10.2306 0.612998 -1.95281 -10.6161 0.586768 -2.05241 -10.3229 0.620127 -2.08527 -10.6609 0.588829 -2.29351 -10.3754 0.621579 -2.29666 -10.8348 0.599134 -3.59404 -10.6165 0.633372 -3.60052 -11.1923 0.642678 -5.47389 -10.9682 0.646024 -5.43382 -11.0456 0.590844 -2.02674 -11.1169 0.593173 -2.29558 -11.2773 0.601802 -3.57802 -11.4971 0.654323 -5.47602 -11.5576 0.61476 -2.01709 -11.6175 0.619354 -2.28734 -11.7145 0.629691 -3.57178 -11.7752 0.672352 -5.47804 -12.503 0.718956 -1.97323 -12.4746 0.718468 -2.26635 -12.36 0.71738 -3.57522 -12.2067 0.71871 -5.43364 -10.6675 0.534688 -1.30073 -10.8681 0.586316 -1.70789 -11.3749 0.60486 -1.60701 -11.2449 0.561164 -1.20374 -12.5469 0.715267 -1.49191 -12.6021 0.705119 -0.957511 -12.1241 0.666174 -2.26912 -12.1093 0.663115 -1.99817 -12.1375 0.678339 -3.57301 -12.0133 0.693155 -5.47811 -12.0609 0.65241 -1.52623 -11.9956 0.633312 -1.0545 -10.8239 0.631752 -4.69747 -11.025 0.608814 -4.69587 -11.408 0.612814 -4.68728 -11.7639 0.639153 -4.68226 -12.0882 0.682044 -4.68677 -12.2627 0.716236 -4.6942 -9.64257 0.606208 -1.06873 -10.817 0.650414 -4.69874 -10.6133 0.646988 -3.60112 -10.369 0.647766 -2.29789 -10.3155 0.647993 -2.08751 -10.2246 0.647892 -1.95977 -9.86302 0.632326 -1.64031 -9.59343 0.634865 -1.00582 -10.7369 0.583773 -1.5267 -10.2895 0.57872 -1.60006 -11.2944 0.601233 -1.44924 -12.5728 0.709466 -1.20344 -12.0267 0.643979 -1.33106 -12.2663 0.728441 -4.6945 -12.3682 0.732566 -3.57591 -12.4803 0.731613 -2.26683 -12.5071 0.730678 -1.97362 -12.5546 0.73333 -1.4927 -12.592 0.727832 -1.17496 -12.6401 0.728944 -0.916109 -11.1919 0.674021 -5.49199 -11.497 0.691933 -5.49589 -11.7755 0.70767 -5.49546 -12.014 0.721154 -5.4881 -12.2073 0.727464 -5.43754 -10.9564 0.662263 -5.44017 0.645216 1.16979 -3.64571 0.641199 0.926057 -3.84397 0.632074 0.639018 -3.85845 0.617071 0.281218 -3.69648 0.611971 0.142709 -3.63505 0.991716 0.606612 -3.83739 0.995434 0.893801 -3.79752 0.995771 1.12866 -3.62413 0.976467 0.287848 -3.71542 0.961821 0.106864 -3.63805 1.24521 0.321832 -3.71875 1.25928 0.595516 -3.83004 1.26189 0.875982 -3.78602 1.26174 1.09724 -3.61763 1.23318 0.0948773 -3.63643 1.68604 0.585537 -3.78886 1.68636 0.862951 -3.75145 1.67925 1.03371 -3.59343 1.67935 0.11587 -3.61381 1.68018 0.376934 -3.69368 1.84283 0.584297 -3.70764 1.85127 0.844423 -3.69303 1.83913 0.972652 -3.5636 1.82881 0.142571 -3.58805 1.82825 0.110878 -3.40054 1.83091 0.396426 -3.64362 1.89188 0.451445 -3.58382 1.90258 0.594438 -3.65871 1.89592 0.827547 -3.6615 1.899 0.922379 -3.55366 0.612978 0.218379 -3.67372 0.968085 0.200512 -3.69399 1.23917 0.209032 -3.70956 1.68543 0.250298 -3.71507 1.8562 0.251763 -3.65838 0.604458 0.0741074 -3.53809 0.953583 0.0495279 -3.53435 1.22617 0.0465422 -3.52556 1.67851 0.0822109 -3.49114 1.82658 0.115609 -3.50017 1.90059 0.444739 -3.52356 1.85177 0.374955 -3.5587 0.243659 0.702322 -3.85756 0.239258 0.952565 -3.88382 0.281362 1.22519 -3.67583 0.219113 0.123725 -3.53107 0.227808 0.198793 -3.61897 0.232533 0.259981 -3.65013 0.236158 0.305421 -3.67386 -0.0618419 0.819881 -3.83946 -0.093948 0.340902 -3.6454 0.109332 0.872659 -3.87138 -0.097474 0.300764 -3.62602 -0.10172 0.24647 -3.59465 -0.110816 0.175664 -3.51388 1.48988 0.867179 -3.77408 1.48915 0.590823 -3.81747 1.48663 1.06719 -3.60976 1.47636 0.367677 -3.7204 1.47585 0.231409 -3.72038 1.47131 0.0996797 -3.63035 1.46712 0.0577566 -3.50999 -0.380085 0.778915 -3.77452 -0.383991 0.364625 -3.61256 -0.38427 0.32661 -3.59383 -0.388676 0.277912 -3.56373 -0.394369 0.219674 -3.49154 -0.66024 0.763508 -3.7139 -0.660294 0.377589 -3.57009 -0.660002 0.340184 -3.55219 -0.659541 0.303665 -3.52359 -0.65867 0.264305 -3.46627 -0.881797 0.752405 -3.65785 -0.882086 0.390202 -3.53686 -0.88117 0.353271 -3.51507 -0.878638 0.327422 -3.49132 -0.873774 0.304886 -3.44541 0.981277 0.37286 -3.78063 0.620584 0.380055 -3.76306 1.2518 0.388078 -3.78725 1.83413 0.459512 -3.68022 1.68095 0.429853 -3.74416 1.89925 0.494762 -3.62457 0.238429 0.421774 -3.73405 -0.0955846 0.470077 -3.70623 1.48426 0.40905 -3.77823 -0.389963 0.494614 -3.66261 -0.659261 0.502515 -3.6086 -0.879062 0.508649 -3.56326 -1.0667 0.744577 -3.60884 -1.05617 0.529561 -3.52491 -1.05631 0.413007 -3.51502 -1.0496 0.375673 -3.48921 -1.04614 0.358777 -3.46632 -1.04309 0.346463 -3.4296 -1.244 0.566029 -3.44621 -1.17159 0.441164 -3.49466 -1.13193 0.429783 -3.50651 -1.14035 0.546151 -3.50111 -1.11946 0.391693 -3.47952 -1.11449 0.378359 -3.45546 -1.11152 0.37061 -3.42287 -1.14784 0.404873 -3.47148 -1.14501 0.397773 -3.45431 -1.1438 0.392118 -3.42525 0.980358 0.329042 -3.74587 0.619021 0.330567 -3.729 1.24969 0.351026 -3.75048 1.83066 0.430437 -3.66088 1.68113 0.403964 -3.71627 1.89623 0.461199 -3.59275 0.238381 0.361149 -3.70408 -0.0909255 0.399458 -3.67442 1.48209 0.378374 -3.74414 -0.384597 0.426051 -3.63731 -0.659912 0.43832 -3.59177 -0.881496 0.448243 -3.55525 -1.05938 0.466392 -3.52895 -1.14127 0.479135 -3.51668 -1.1994 0.489802 -3.50639 -1.13589 0.39715 -3.47557 -1.15163 0.434179 -3.5042 -1.13145 0.385947 -3.45141 -1.12972 0.380274 -3.42091 -1.17013 0.484815 -3.51208 -1.1952 0.554905 -3.48219 -1.16941 0.745093 -3.56987 -1.25445 0.744131 -3.53658 -1.32522 0.743076 -3.47521 -1.24158 0.552753 -3.45322 0.981879 0.364907 -3.77452 0.61951 0.373284 -3.75844 1.25175 0.378511 -3.7794 1.83735 0.452811 -3.67374 1.68411 0.422499 -3.73739 1.90059 0.485675 -3.6107 0.239809 0.411305 -3.72945 -0.0888163 0.453568 -3.69841 1.48535 0.400783 -3.7696 -0.385671 0.48081 -3.65741 -0.658407 0.493307 -3.60485 -0.879405 0.501491 -3.56253 -1.05876 0.520934 -3.52848 -1.14294 0.535704 -3.50553 -1.19253 0.548703 -3.48669 0.981164 0.34479 -3.75704 0.619036 0.348432 -3.74129 1.25066 0.362415 -3.76288 1.83453 0.441354 -3.66617 1.68295 0.410527 -3.72582 1.89865 0.471932 -3.60019 0.238809 0.38198 -3.71519 -0.0894326 0.421793 -3.68494 1.48391 0.38686 -3.75543 -0.38479 0.449193 -3.64487 -0.659635 0.46058 -3.59886 -0.880852 0.469923 -3.55931 -1.05974 0.489085 -3.53095 -1.14292 0.505043 -3.51417 -1.18109 0.51537 -3.50581 -1.2191 0.517868 -3.49715 0.644428 1.16946 -3.15677 0.636983 0.921884 -2.98083 0.631151 0.639871 -2.94423 0.616573 0.277574 -3.10014 0.61242 0.145155 -3.1694 0.991464 0.605639 -2.96646 0.994346 0.890607 -3.02173 0.996396 1.13338 -3.1775 0.976693 0.283314 -3.0791 0.96189 0.108542 -3.16512 1.24645 0.316079 -3.07642 1.2592 0.594245 -2.97496 1.26105 0.872615 -3.03217 1.26238 1.10108 -3.1846 1.23302 0.0962531 -3.1657 1.68446 0.58636 -3.01976 1.68404 0.858219 -3.066 1.67909 1.03272 -3.2096 1.67933 0.116569 -3.18868 1.67987 0.375961 -3.10816 1.83199 0.585973 -3.10647 1.84383 0.840155 -3.12073 1.83604 0.968229 -3.24042 1.82498 0.144677 -3.21493 1.83163 0.401855 -3.15896 1.88687 0.454949 -3.21963 1.89229 0.596007 -3.15142 1.88788 0.82474 -3.14796 1.89538 0.920064 -3.24923 0.612814 0.217642 -3.12625 0.967803 0.198999 -3.10338 1.23912 0.20708 -3.0861 1.68481 0.250255 -3.0867 1.83738 0.248468 -3.13468 0.605188 0.0792413 -3.26525 0.953733 0.0517603 -3.268 1.22615 0.0482172 -3.27645 1.67865 0.0829649 -3.31083 1.82757 0.116399 -3.30136 1.89653 0.447765 -3.27826 1.85494 0.379201 -3.24277 0.244767 0.702939 -2.95274 0.252771 0.939404 -2.94165 0.279458 1.21141 -3.1315 0.220032 0.130088 -3.27339 0.228405 0.201981 -3.18628 0.232661 0.260513 -3.15199 0.235565 0.302629 -3.12446 -0.0488329 0.794565 -2.99918 -0.0940022 0.340714 -3.1561 0.121804 0.852916 -2.96328 -0.0970528 0.302359 -3.17814 -0.100543 0.251243 -3.21267 -0.10957 0.182271 -3.29123 1.48864 0.863414 -3.04405 1.48907 0.589285 -2.98944 1.48702 1.06895 -3.19282 1.47743 0.348854 -3.08921 1.47611 0.229872 -3.07547 1.47126 0.100484 -3.17168 1.46707 0.0590082 -3.29201 -0.37229 0.761946 -3.06812 -0.383091 0.366922 -3.19361 -0.382912 0.330469 -3.2145 -0.386839 0.284852 -3.24616 -0.39304 0.225626 -3.31318 -0.650513 0.755954 -3.12961 -0.658151 0.382801 -3.2419 -0.657607 0.347726 -3.26082 -0.657358 0.311996 -3.287 -0.657037 0.272073 -3.33916 -0.871495 0.74981 -3.18367 -0.878921 0.397605 -3.27979 -0.878172 0.363035 -3.29776 -0.875677 0.337832 -3.3209 -0.872192 0.311209 -3.35924 0.980522 0.360524 -3.00406 0.618625 0.371613 -3.022 1.25272 0.373974 -3.00015 1.82528 0.463932 -3.12935 1.68147 0.424916 -3.05372 1.89134 0.49849 -3.18117 0.236742 0.417528 -3.05579 -0.0972288 0.465975 -3.08858 1.48647 0.397121 -3.01307 -0.38989 0.493978 -3.13905 -0.657659 0.5054 -3.19915 -0.875725 0.511528 -3.25193 -1.05642 0.745624 -3.23172 -1.05221 0.524602 -3.2955 -1.05202 0.421614 -3.30483 -1.04566 0.386869 -3.32385 -1.04335 0.366288 -3.34195 -1.04198 0.349591 -3.37329 -1.23468 0.564017 -3.367 -1.16533 0.44812 -3.32129 -1.12695 0.438728 -3.31514 -1.13531 0.539041 -3.31971 -1.11548 0.402882 -3.33312 -1.11205 0.385272 -3.35044 -1.11074 0.372903 -3.37929 -1.14163 0.412335 -3.33628 -1.14212 0.40227 -3.35056 -1.14316 0.395283 -3.37469 0.980058 0.319 -3.0444 0.617637 0.322343 -3.06196 1.25058 0.34169 -3.04433 1.82359 0.436333 -3.14625 1.68068 0.402932 -3.08724 1.88953 0.464806 -3.21182 0.237089 0.355563 -3.08911 -0.0918106 0.397023 -3.12287 1.48305 0.372372 -3.05637 -0.384237 0.426758 -3.16611 -0.657946 0.441733 -3.21895 -0.878512 0.452632 -3.26218 -1.05518 0.470197 -3.29399 -1.13634 0.481494 -3.30888 -1.19139 0.490669 -3.31982 -1.13158 0.406825 -3.335 -1.14669 0.443596 -3.31782 -1.12876 0.390846 -3.3524 -1.12857 0.381568 -3.38077 -1.16478 0.486327 -3.31445 -1.18915 0.550346 -3.33885 -1.15667 0.74448 -3.26739 -1.24118 0.744821 -3.29865 -1.3096 0.744223 -3.3464 -1.23163 0.546591 -3.35407 0.981613 0.350589 -3.01396 0.617645 0.361728 -3.02917 1.25303 0.364164 -3.01081 1.82951 0.458176 -3.13612 1.68469 0.418313 -3.06208 1.89498 0.488698 -3.19312 0.238172 0.404907 -3.06171 -0.0900837 0.45036 -3.09718 1.48754 0.389587 -3.02348 -0.385814 0.480749 -3.14379 -0.656727 0.495574 -3.2033 -0.876025 0.503308 -3.25437 -1.05461 0.516618 -3.29318 -1.13825 0.528902 -3.31606 -1.18582 0.540293 -3.33412 0.98099 0.332822 -3.03343 0.617425 0.338342 -3.04867 1.2518 0.350806 -3.02966 1.82783 0.446498 -3.14068 1.68345 0.407103 -3.07486 1.89226 0.475066 -3.2044 0.237278 0.375352 -3.07639 -0.0905318 0.418862 -3.11131 1.4858 0.377886 -3.03959 -0.384545 0.449678 -3.15796 -0.657829 0.463131 -3.21099 -0.877265 0.472776 -3.2584 -1.05573 0.489683 -3.29226 -1.13833 0.502964 -3.31116 -1.17515 0.511744 -3.31954 -1.21284 0.514481 -3.32897 1.25807 1.13894 -3.4009 1.48184 1.10631 -3.40094 0.991784 1.17118 -3.40089 1.67955 0.0767061 -3.4012 1.85516 0.368481 -3.40038 1.9038 0.441158 -3.4005 1.89416 0.951444 -3.39946 1.67289 1.06736 -3.40098 1.83094 0.999886 -3.40097 1.22032 0.0329106 -3.40095 1.46519 0.0483562 -3.4011 0.945803 0.0338504 -3.40093 0.598018 0.0560484 -3.40093 0.639221 1.21169 -3.40161 0.215398 0.103667 -3.40109 -0.11495 0.155634 -3.40108 0.271834 1.28118 -3.40177 -0.396783 0.203286 -3.40078 -0.658704 0.255113 -3.40102 -0.870536 0.300939 -3.40097 -1.041 0.34487 -3.40077 -1.10983 0.37007 -3.40095 -1.14449 0.392652 -3.3997 -1.12914 0.380031 -3.4009 -1.24535 0.558824 -3.40194 -1.33721 0.743863 -3.40235 1.84724 0.212586 -3.56624 1.84632 0.176903 -3.39935 1.85068 0.207158 -3.2283 1.91028 0.654203 -3.53876 1.91046 0.658777 -3.39514 1.91017 0.654637 -3.26237 1.91007 0.551911 -3.52209 1.91031 0.572288 -3.39981 1.90989 0.552405 -3.27933 1.90963 0.524686 -3.52333 1.91012 0.540476 -3.40084 1.90942 0.525073 -3.2781 1.90885 0.491752 -3.52757 1.90943 0.498515 -3.40083 1.9081 0.492326 -3.274 1.90737 0.468451 -3.52663 1.90813 0.467827 -3.40073 1.90559 0.46947 -3.27516 -1.25088 0.571141 -3.402 -1.17453 0.447038 -3.48973 -1.15998 0.415713 -3.44373 -1.15956 0.413611 -3.39717 -1.17951 0.454856 -3.33635 -1.18012 0.454266 -3.33046 0.0623656 1.25611 -3.63653 0.0608072 1.30687 -3.40674 -0.124719 1.30121 -3.40763 -0.129032 1.27251 -3.5491 -0.273589 1.28157 -3.41082 -0.279479 1.26532 -3.5053 -0.411121 1.2586 -3.40421 -0.385738 1.25949 -3.45452 0.0592082 1.24194 -3.17426 -0.122012 1.26445 -3.26381 -0.266797 1.26248 -3.30974 -0.382848 1.25808 -3.35871 0.210608 1.18938 -3.06271 0.206179 1.20735 -3.74638 -1.726 -2.296 -1.758 -1.726 -2.248 -1.71 -1.46385 -2.21082 -1.758 -1.49206 -2.17199 -1.71 -1.30183 -1.98782 -1.758 -1.34748 -1.97299 -1.71 -2.15017 -1.98782 -1.758 -2.10452 -1.97299 -1.71 -1.98815 -2.21082 -1.758 -1.95994 -2.17199 -1.71 -1.726 -2.296 -1.982 -1.726 -2.248 -2.03 -1.46385 -2.21082 -1.982 -1.49206 -2.17199 -2.03 -1.30183 -1.98782 -1.982 -1.34748 -1.97299 -2.03 -2.15017 -1.98782 -1.982 -2.10452 -1.97299 -2.03 -1.98815 -2.21082 -1.982 -1.95994 -2.17199 -2.03 -1.30183 -1.855 -1.758 -1.34748 -1.855 -1.71 -2.15017 -1.855 -1.982 -2.10452 -1.855 -2.03 -1.34748 -1.855 -2.03 -1.30183 -1.855 -1.982 -2.10452 -1.855 -1.71 -2.15017 -1.855 -1.758 -0.721 -2.296 -1.758 -0.721 -2.248 -1.71 -0.458848 -2.21082 -1.758 -0.487062 -2.17199 -1.71 -0.296829 -1.98782 -1.758 -0.34248 -1.97299 -1.71 -1.14517 -1.98782 -1.758 -1.09952 -1.97299 -1.71 -0.983152 -2.21082 -1.758 -0.954939 -2.17199 -1.71 -0.721 -2.296 -1.982 -0.721 -2.248 -2.03 -0.458848 -2.21082 -1.982 -0.487062 -2.17199 -2.03 -0.296829 -1.98782 -1.982 -0.34248 -1.97299 -2.03 -1.14517 -1.98782 -1.982 -1.09952 -1.97299 -2.03 -0.983152 -2.21082 -1.982 -0.954939 -2.17199 -2.03 -0.296829 -1.855 -1.758 -0.34248 -1.855 -1.71 -1.14517 -1.855 -1.982 -1.09952 -1.855 -2.03 -0.34248 -1.855 -2.03 -0.296829 -1.855 -1.982 -1.09952 -1.855 -1.71 -1.14517 -1.855 -1.758 -11.1056 0.0986027 -0.966023 -11.2919 0.443988 -0.899821 -10.6996 0.366392 -0.916742 -10.7022 0.0429352 -0.977758 -10.1673 0.299651 -0.932452 -10.1793 -0.0174495 -0.990594 -9.44601 0.0880157 -0.97604 -9.56491 -0.0870211 -1.00546 -11.1055 0.0960356 -0.948739 -10.7021 0.0404628 -0.960637 -10.6994 0.360646 -0.884423 -11.2917 0.438314 -0.867803 -10.1791 -0.0197285 -0.973421 -10.168 0.290534 -0.899407 -9.56459 -0.0888452 -0.988048 -9.44566 0.082618 -0.943803 -2.99074 0.59748 -4.58772 -2.98988 0.754612 -4.58731 -2.37047 0.805194 -4.60997 -2.46041 0.465414 -4.60997 -2.11494 0.764965 -4.60322 -2.09525 0.570467 -4.60703 -1.86481 0.759957 -4.60309 -1.84912 0.639542 -4.60502 -1.6098 0.768851 -4.60229 -1.6056 0.704515 -4.60271 -1.0964 0.785001 -4.60065 -1.09578 0.76989 -4.60072 -2.98275 0.597172 -4.56178 -2.45897 0.465367 -4.53987 -2.36982 0.805022 -4.53987 -2.98286 0.75338 -4.56186 -2.09592 0.56848 -4.54278 -2.11666 0.761576 -4.54654 -1.84986 0.637346 -4.54478 -1.86499 0.758198 -4.54675 -1.6064 0.70536 -4.54675 -1.61009 0.766934 -4.54675 -1.09705 0.775689 -4.54675 -1.09705 0.779268 -4.54675 -3.0059 0.577831 -3.79978 -3.00504 0.734963 -3.79937 -2.38563 0.785545 -3.82203 -2.47558 0.445765 -3.82203 -2.13011 0.745316 -3.81528 -2.11041 0.550818 -3.81909 -1.87997 0.740308 -3.81515 -1.86428 0.619893 -3.81708 -1.62496 0.749202 -3.81435 -1.62076 0.684866 -3.81477 -1.11156 0.765352 -3.81271 -1.11094 0.750241 -3.81277 -2.99791 0.577523 -3.77383 -2.47414 0.445718 -3.75193 -2.38498 0.785372 -3.75193 -2.99802 0.73373 -3.77391 -2.11108 0.548831 -3.75484 -2.13182 0.741927 -3.7586 -1.86502 0.617697 -3.75684 -1.88015 0.738549 -3.75881 -1.62156 0.685711 -3.75881 -1.62525 0.747285 -3.75881 -1.11221 0.75604 -3.75881 -1.11221 0.759618 -3.75881 -2.88498 0.719942 -6.59178 -2.88412 0.877074 -6.59137 -2.26471 0.927656 -6.61403 -2.35466 0.587876 -6.61403 -2.00919 0.887427 -6.60728 -1.98949 0.692929 -6.61108 -1.75905 0.882419 -6.60715 -1.74336 0.762004 -6.60908 -1.50404 0.891313 -6.60634 -1.49984 0.826977 -6.60677 -0.990643 0.907463 -6.60471 -0.990018 0.892352 -6.60477 -2.87699 0.719634 -6.56583 -2.35322 0.587829 -6.54393 -2.26407 0.927484 -6.54393 -2.8771 0.875841 -6.56591 -1.99016 0.690942 -6.54683 -2.0109 0.884038 -6.5506 -1.7441 0.759808 -6.54883 -1.75923 0.88066 -6.55081 -1.50064 0.827822 -6.55081 -1.50433 0.889396 -6.55081 -0.991295 0.898151 -6.55081 -0.991295 0.901729 -6.55081 -2.37047 0.740194 -2.00597 -2.46041 0.400414 -2.00597 -2.11494 0.699965 -1.99922 -2.09525 0.505467 -2.00303 -1.86481 0.694957 -1.99909 -1.84912 0.574542 -2.00102 -1.6098 0.703851 -1.99829 -1.6056 0.639515 -1.99871 -1.0964 0.720001 -1.99665 -1.09578 0.70489 -1.99672 -2.45897 0.400367 -1.93587 -2.36982 0.740022 -1.93587 -2.09592 0.50348 -1.93878 -2.11666 0.696576 -1.94254 -1.84986 0.572346 -1.94078 -1.86499 0.693198 -1.94275 -1.6064 0.64036 -1.94275 -1.61009 0.701934 -1.94275 -1.09705 0.710689 -1.94275 -1.09705 0.714268 -1.94275 -2.37047 0.740194 2.00597 -2.46041 0.400414 2.00597 -2.11494 0.699965 1.99922 -2.09525 0.505467 2.00303 -1.86481 0.694957 1.99909 -1.84912 0.574542 2.00102 -1.6098 0.703851 1.99829 -1.6056 0.639515 1.99871 -1.0964 0.720001 1.99665 -1.09578 0.70489 1.99672 -2.45897 0.400367 1.93587 -2.36982 0.740022 1.93587 -2.09592 0.50348 1.93878 -2.11666 0.696576 1.94254 -1.84986 0.572346 1.94078 -1.86499 0.693198 1.94275 -1.6064 0.64036 1.94275 -1.61009 0.701934 1.94275 -1.09705 0.710689 1.94275 -1.09705 0.714268 1.94275 -2.99074 0.53248 -1.98372 -2.98988 0.689612 -1.98331 -2.98275 0.532172 -1.95778 -2.98286 0.68838 -1.95786 -2.99074 0.53248 1.98372 -2.98988 0.689612 1.98331 -2.98275 0.532172 1.95778 -2.98286 0.68838 1.95786 + + + + + + + + + + 0.607274 0.0274961 0.794017 0.688288 0.0705105 0.722003 0.660481 0.214312 0.719608 0.490528 -0.541464 0.682788 0.437175 -0.725032 0.532172 0.571196 -0.535615 0.621974 0.607274 0.0274961 -0.794017 0.660481 0.214312 -0.719608 0.688288 0.0705105 -0.722003 0.490528 -0.541464 -0.682788 0.571196 -0.535615 -0.621974 0.437175 -0.725032 -0.532172 0.821756 0.412634 0.393002 0.635769 0.257157 0.727783 0.74263 -0.512495 0.431103 0.501935 -0.472117 0.724684 0.22871 -0.844166 0.484846 0.203526 -0.757839 0.619885 0.0395362 -0.947668 0.316801 0.0421027 -0.899288 0.435327 0.0561699 0.387269 0.920254 0.139444 -0.125159 0.982288 0.286742 0.0605458 0.956093 0.313625 0.151593 0.937368 0.239442 0.904933 0.3518 0.0598017 0.993415 0.0977299 0.293002 0.587175 0.75457 0.0446394 0.93453 0.353074 0.918657 0.368296 0.142924 0.39732 0.915927 0.0567027 0.417943 0.874254 0.246991 0.137085 -0.989546 0.0447848 0.173207 -0.98473 0.0175193 0.461453 -0.8851 0.0604936 0.592185 -0.805563 0.0196376 -0.510899 -0.859115 0.0300537 -0.10581 -0.994068 0.0251639 -0.444208 -0.894207 0.0554358 -0.122943 -0.991349 0.0459551 0.844664 0.53363 0.042217 0.28172 0.959491 0.00343224 0.828897 0.552927 0.0848654 0.26807 0.963286 0.0147857 -0.695439 -0.716584 0.0535973 -0.66412 -0.74264 0.0862003 -0.497881 -0.863698 0.0783594 0.00539105 0.999928 -0.0107566 -0.0999409 0.994821 -0.0185375 0.0269147 0.999635 -0.00252535 -0.096962 0.995028 -0.0227503 0.899433 -0.417027 0.130798 0.876098 0.471063 0.102728 0.858964 -0.495806 0.127898 0.90039 0.421798 0.106694 -0.594088 -0.799201 0.0913117 -0.0812122 -0.995051 0.057248 -0.650187 -0.75309 0.100558 -0.112286 -0.991846 0.0602842 -0.174404 0.984401 -0.023211 -0.184896 0.982627 -0.0160299 -0.574951 0.817631 0.030197 -0.447148 0.894312 0.0162962 -0.152194 0.968664 -0.196281 -0.121876 0.981159 -0.14991 -0.116039 0.976743 -0.180301 -0.0863523 0.985671 -0.144901 -0.345295 -0.567916 0.747157 -0.0986368 -0.814791 0.571302 -0.188057 -0.448231 0.873913 -0.0488193 -0.846734 0.529771 -0.170393 0.979806 -0.104624 -0.143815 0.989275 -0.0255538 -0.138756 0.984868 -0.103835 -0.0980576 -0.993415 0.0592626 0.0304267 -0.997954 0.0562349 0.0284428 -0.998297 0.0509324 0.0173677 -0.998465 0.0525861 -0.00318405 -0.998676 0.0513395 -0.138849 -0.988457 0.0606187 -0.1511 0.988334 -0.0191011 -0.00677598 0.999977 0 -0.117941 0.993021 0 -0.0514295 0.99867 0.00371539 -0.12252 0.992465 0.00152325 -0.202792 0.978981 0.0216985 -0.175051 0.982503 0.0636051 -0.416244 0.905669 0.0806548 -0.309835 0.940314 0.140756 -0.117865 0.992815 0.0206421 -0.0303743 0.999215 0.025439 -0.116596 0.99308 0.0140413 0.00415631 0.99998 -0.00469818 0.999989 0.00431038 -0.00186088 0.0111821 0.0987418 0.99505 0.999997 0.00232626 0.000311178 0.000598593 0.00134681 0.999999 0.265249 -0.0158043 0.96405 0.0371204 -0.118005 0.992319 0.983669 0.109914 -0.142529 0.0573592 0.165812 0.984488 0.711901 0.700808 0.0454386 0.19042 0.981297 0.028225 0.752576 0.658325 0.0153721 0.236843 0.971521 -0.0072072 -0.935046 -0.353387 0.0283984 -0.659579 -0.748708 0.0662683 -0.984379 -0.158862 0.0759069 0.0428974 -0.998924 0.0176453 0.0344432 -0.999192 0.0207015 -0.112207 -0.993406 0.0235538 -0.195742 -0.056746 0.979012 -0.239332 0.348925 0.906075 -0.0867337 0.143152 0.985893 -0.12759 0.28129 0.951103 -0.159856 0.98714 0.000751436 -0.154205 0.988039 0 -0.170094 0.985065 0.0267234 -0.152517 0.988301 0 -0.174698 0.982224 0.0686738 -0.239242 0.960648 0.141131 -0.222995 0.972461 0.0677666 -0.116231 0.993212 0.00446618 -0.152226 0.988343 0.00223172 -0.149633 0.988742 0.000173043 0.126753 0.9919 0.00829048 0.155296 0.987805 0.0111797 0.403404 0.914976 0.00914144 0.428997 0.902981 0.0242076 0.411671 0.909705 0.0544438 0.427372 0.893963 0.134845 0.0853323 0.907695 -0.410863 0.213831 0.878048 -0.428144 0.0288686 0.963673 0.265519 0.0443511 0.957711 0.284292 0.0483171 0.82011 0.570163 0.0622211 0.845412 0.530477 -0.181681 -0.624549 0.759559 -0.0769302 -0.254375 0.964041 -0.20447 -0.657727 0.724974 -0.0996319 -0.332342 0.937882 0.00172149 0.253659 0.967292 -0.000751218 0.257043 0.9664 0.946579 0.32212 0.0150585 0.960334 0.278772 0.00674937 -0.0467849 -0.904583 0.423723 -0.150937 -0.811304 0.564804 -0.269635 -0.876121 0.399635 -0.246926 -0.816098 0.522506 -0.128019 0.48026 0.867733 -0.0345489 0.610944 0.790919 -0.000249107 0.196134 0.980577 -0.000228461 0.220425 0.975404 0.00679354 0.214688 0.976659 0.008081 0.21013 0.97764 0.00304243 0.256714 0.966483 0.00362985 0.254243 0.967134 0.0218118 0.162578 0.986455 0.220679 0.373803 0.900873 0.0401583 0.0503659 0.997923 0.407957 -0.0115632 0.912928 0.0173263 0.281873 0.959295 0.0144747 0.254577 0.966944 0.0147627 -0.00537614 0.999877 0.0318339 -0.766865 0.641018 0.177858 -0.768155 0.615065 0.0251757 -0.901615 0.431806 0.239685 -0.921761 0.304809 0.00352119 -0.999985 -0.00421239 0.00474724 -0.999988 0.0012876 0.00121373 -0.993887 -0.110394 0.00413485 -0.995694 -0.0926069 0.5087 0.286574 0.81185 0.30986 0.642976 0.700406 0.396643 0.193422 0.897364 0.547918 -0.524544 0.651644 0.63954 -0.536141 0.550945 -0.208385 0.267158 0.940852 -0.351124 0.466068 0.812092 -0.3663 -0.127706 0.921692 -0.527694 -0.0493007 0.848003 -0.135538 0.419095 0.897769 -0.2309 0.732692 0.640194 0.0173421 -0.943135 0.331956 0.127048 -0.937742 0.323263 0.0268073 -0.960808 0.275916 0.0977213 -0.980031 0.173175 -0.451784 -0.803957 0.38671 -0.515856 -0.722129 0.460893 -0.511151 -0.657243 0.553856 -0.0538302 -0.944692 0.323511 -0.075988 -0.93514 0.346034 0.00983441 -0.920195 0.391336 -0.137508 -0.955034 0.26268 -0.1428 -0.917478 0.371272 -0.0591426 -0.954768 0.291412 -0.160504 -0.952076 0.260363 -0.134228 -0.626649 0.767654 -0.0893068 -0.98787 0.127033 -0.0619896 -0.815516 0.575405 -0.0169945 -0.998953 0.0424864 -0.0594948 -0.943051 0.327285 0.0386851 0.0267937 0.998892 0.0768449 0.0147511 0.996934 0.0606921 0.0416622 0.997287 0.0922029 0.0282131 0.99534 0.190675 0.274339 0.94254 0.167754 0.367042 0.914953 0.0304011 0.0501248 0.99828 0.000775484 -0.999973 -0.00725236 -0.00824689 -0.991446 -0.130257 -0.00915541 -0.999933 -0.00710725 -0.0350695 -0.996205 -0.0796611 -0.0530364 -0.983517 -0.172863 0.00338741 -0.982722 -0.185057 0.00430633 -0.975086 -0.221786 0.00217352 -0.988317 -0.152399 0.00827118 -0.975698 -0.218964 0.00229238 -0.988874 -0.148735 0.00220849 -0.999876 -0.0155828 0.00616905 -0.999981 0 0.00172048 -0.999992 -0.00351271 0.00455045 -0.99999 0 0.0343822 -0.979925 -0.19638 0.0215737 -0.978687 -0.204222 0.00807946 -0.979306 -0.202226 0.00123949 -0.977665 -0.210165 0.0200051 0.478632 0.877788 0.0156312 0.490857 0.8711 0.011085 0.686877 0.726689 0.0103911 0.689914 0.723817 0.00526525 -0.966808 0.255448 0.00356249 -0.945434 0.325793 0.0165124 0.286481 0.957944 0.0261724 0.290578 0.956493 0.0252499 0.487673 0.872661 0.00624823 -0.981555 0.191076 0.00470062 -0.979946 0.199208 0.00433929 -0.964861 0.262723 0.0160555 0.807657 0.589434 0.0613062 0.832405 0.550767 0.0157535 0.908454 0.417687 0.0504936 0.923447 0.380389 0.0133449 -0.653912 0.756453 0.00558301 -0.865846 0.50028 0.0287166 -0.685787 0.727236 0.0137408 -0.889801 0.456142 0.0870623 0.658147 0.747838 0.165669 0.63916 0.751018 0.162518 0.821362 0.546766 0.00882195 -0.951973 0.306054 0.0396902 -0.936298 0.348957 0.0613156 -0.858724 0.508757 0.13031 0.991473 0 0.183832 0.96588 0.182434 0.319477 0.947594 0 0.393331 0.906463 0.153672 0.139476 0.173108 0.974977 0.109484 -0.238915 0.964849 0.241108 0.238965 0.940618 0.234516 -0.244481 0.940867 0.622291 0.760779 0.184307 0.572108 0.728061 0.377649 0.323767 0.884717 0.335338 0.37709 0.64927 0.660494 0.627736 0.585157 0.513361 0.384478 0.757795 0.527184 0.552716 0.582439 0.596045 0.0763086 -0.979151 0.188254 0.0657443 -0.993269 0.0953606 0.14074 -0.967715 0.209092 0.121749 -0.986573 0.108863 0.388793 0.863221 0.322009 0.357945 0.867946 0.344304 0.405494 0.807782 0.427858 0.349434 0.849739 0.394765 0.321696 -0.569863 0.756153 0.246444 -0.808711 0.534089 0.403446 -0.48991 0.7728 0.320168 -0.740365 0.59106 0.431229 0.882814 0.186229 0.524867 0.838619 0.145715 0.464131 0.885767 0 0.554908 0.831912 0 0.595252 -0.101832 0.797061 0.516475 -0.150964 0.84289 0.548697 0.0464899 0.834728 0.31682 -0.860349 0.39928 0.295448 -0.907434 0.298788 0.445992 -0.765693 0.46347 0.432886 -0.820317 0.373751 0.748843 0.0348095 0.661832 0.687495 -0.0296289 0.725585 0.70865 -0.245234 0.661571 0.651286 -0.255947 0.714365 0.752334 0.185807 0.632036 0.625913 -0.608177 0.488215 0.607988 -0.557499 0.565284 -0.275063 -0.840398 0.466981 -0.182368 -0.623842 0.759976 0.0430154 0.964862 0.259214 0.0332617 0.999447 0 0.0385118 0.999258 0 -0.320661 -0.908766 0.267059 -0.314646 -0.918884 0.238015 -0.305618 -0.946578 0.102896 -0.308644 -0.934665 0.176467 0.00548179 0.993516 0.113561 0.0057762 0.999983 0 -0.00880742 0.992864 0.11893 -0.0294832 0.999565 0 -0.124039 -0.98736 0.0986637 -0.146374 -0.982262 0.117197 -0.123652 -0.989148 0.0793499 -0.143533 -0.985176 0.0939487 -0.992251 -0.0396128 0.117768 -0.909576 -0.0803073 0.407705 -0.849313 0.514311 0.118958 -0.668936 0.625024 0.402331 -0.942283 0.0744888 0.326427 -0.0542672 0.993 0.104913 -0.0775119 0.996991 0 -0.283353 0.950765 0.125524 -0.458543 0.888672 0 -0.335275 0.736523 0.587473 -0.275455 0.89655 0.346875 -0.29752 0.775042 0.557487 -0.244196 -0.948757 0.200572 -0.62049 -0.746838 0.239218 -0.210967 -0.965268 0.154109 -0.43439 -0.89003 0.138387 0.0170218 0.986124 0.165133 0.0064953 0.999979 0 -0.129451 -0.963447 0.234549 -0.1798 -0.935633 0.303748 -0.150642 -0.616844 0.772535 -0.12825 -0.621973 0.772464 -0.201237 -0.976535 0.0766943 -0.184859 -0.978068 0.0959715 -0.226536 -0.973783 0.0206975 -0.1228 -0.992219 0.0205504 -0.172571 -0.984997 0 -0.122742 -0.992439 0 0.106981 0.140431 -0.984294 -0.422098 -0.0394878 -0.90569 0.286557 0.17421 -0.942091 -0.312644 -0.026008 -0.949514 0.106981 0.140431 0.984294 0.151647 0.435438 0.887354 0.384423 0.426078 0.818949 0.24995 0.629629 0.735589 0.505001 0.288294 -0.813548 0.454485 0.375159 -0.807898 0.20232 0.236556 -0.95032 0.254173 0.653501 -0.712975 0.0584929 0.436397 -0.897851 -0.177156 0.648078 -0.740683 -0.259845 0.391422 -0.882762 0.0256708 0.999588 0.0128004 0.0157966 0.999866 0.0043741 0.0310743 0.999485 0.00796874 0.0193006 0.999812 0.00188787 -0.498916 0.865381 0.0468856 -0.406597 0.912974 0.0340165 -0.0141955 0.999899 -0.000298172 -0.0182063 0.999834 -2.99494e-005 -0.000428123 0.999754 0.0221642 -0.183422 0.982194 0.0406291 -0.00435544 0.999881 0.0147922 -0.372415 0.92595 0.0626347 -0.00422834 0.999956 0.00839406 -0.0350345 0.99937 0.00575128 -0.0667255 0.997715 0.0105658 -0.0719217 0.997394 0.00575128 0.0588719 -0.998104 0.0179647 0.0667309 -0.997618 0.01749 -0.0294015 -0.999562 0.00343481 -0.033815 -0.999417 0.00468915 -0.0733115 -0.997307 0.00227475 -0.0869943 -0.996201 0.00389525 -0.127812 -0.991778 0.00634362 -0.149526 -0.988717 0.00895871 -0.0453094 -0.998661 0.0249503 -0.0965465 -0.995035 0.0241526 0.427959 0.82668 0.365311 0.572299 0.759667 0.308836 0.754097 0.112813 0.647001 0.932032 0.0217 0.361725 0.868203 -0.320261 0.37902 0.809639 -0.233871 0.538321 0.661428 -0.698804 0.272373 0.50109 -0.771474 0.392093 0.805749 -0.105682 0.582751 -0.116057 -0.992853 0.0278213 -0.0777524 -0.988705 0.128126 -0.0990283 -0.994327 0.0388136 -0.051672 -0.997025 0.0572003 -0.611674 -0.783384 0.110289 -0.524578 -0.847025 0.0858322 -0.714679 -0.691539 0.104916 -0.516121 -0.853661 0.0698654 -0.0439331 -0.847058 0.529682 0.00735917 0.0137633 0.999878 -0.0552728 -0.770328 0.635248 -0.0110813 0.0320331 0.999425 -0.138176 0.0112071 0.990344 -0.149455 0.350156 0.924691 -0.24952 0.103371 0.962837 -0.228009 0.359992 0.904664 0.0673315 0.393973 0.916652 0.119712 0.843033 0.52437 0.103164 0.404162 0.908851 0.122292 0.879036 0.460804 -0.0123418 -0.348781 0.937123 -0.0501396 -0.405836 0.91257 0.00718023 -0.765751 0.643097 -0.0420436 -0.765125 0.642508 0.199803 0.228017 0.952936 0.117512 0.323036 0.939063 0.208092 0.850401 0.483234 0.148707 0.848818 0.50734 0.294251 -0.0783637 0.95251 0.210322 0.413674 0.885798 0.102361 0.00322548 0.994742 0.082372 0.358026 0.930071 0.177452 -0.972282 0.152244 0.169699 -0.778124 0.604752 0.0843986 -0.965016 0.248235 0.059676 -0.748311 0.660659 -0.191495 -0.633902 0.749332 -0.163465 -0.516383 0.840611 -0.170638 -0.437829 0.882716 -0.15934 -0.375447 0.913044 -0.116955 -0.405998 0.906359 -0.0645549 -0.213521 0.974803 -0.157249 -0.395967 0.9047 -0.152502 -0.285373 0.946206 -0.212624 -0.827567 0.519542 -0.27211 -0.857047 0.437524 -0.23438 -0.702694 0.671779 0.66981 -0.13692 0.7298 0.839412 -0.461304 0.287379 0.541693 -0.559967 0.626902 0.81084 -0.492342 0.316446 -0.163513 -0.256399 0.95264 -0.190975 -0.438506 0.878203 -0.166862 -0.184229 0.968616 -0.428635 -0.172271 0.886902 -0.423685 -0.460219 0.780185 -0.242849 -0.0889903 0.965974 -0.381114 -0.478848 0.790858 -0.685401 -0.53841 0.490246 0.905213 -0.306134 0.294739 0.880856 -0.21167 0.423426 0.574954 -0.527161 0.625723 0.541173 -0.357122 0.761312 -0.175285 0.255 0.950921 -0.185925 -0.0544863 0.981052 -0.222282 0.07866 0.971804 -0.219281 -0.253087 0.942265 0.631967 -0.516708 0.577608 0.300863 -0.692632 0.655547 0.251522 -0.743831 0.619236 0.133348 -0.812846 0.56701 0.14113 -0.764852 0.628557 -0.177042 -0.223179 0.958565 -0.170407 -0.154465 0.973192 -0.16879 -0.30097 0.938577 -0.273873 0.415289 0.867484 -0.209822 -0.014339 0.977635 -0.18154 0.267511 0.946299 0.535622 -0.0847813 -0.840191 0.498198 0.373499 -0.782494 0.850735 -0.0526768 -0.522948 0.857446 0.179493 -0.482254 -0.0525127 -0.740731 -0.669746 -0.0413778 -0.943318 -0.329301 -0.0982725 -0.722066 -0.684809 -0.101444 -0.916211 -0.387642 -0.0692197 -0.477644 -0.875822 -0.093751 -0.486602 -0.868579 -0.114392 -0.536772 -0.835937 -0.13025 -0.51618 -0.846518 0.123 0.829289 -0.545115 0.143841 0.763456 -0.629639 0.067161 0.388113 -0.919162 0.0961387 0.32782 -0.939836 -0.147396 -0.511174 -0.846744 -0.155146 -0.628556 -0.762133 -0.167132 -0.517286 -0.839334 -0.169509 -0.651046 -0.739869 0.00703655 -0.0763744 -0.997054 0.0244824 -0.0167157 -0.99956 -0.0783013 -0.388349 -0.91818 -0.0201662 -0.527376 -0.849392 -0.18461 -0.220457 -0.957767 -0.174041 -0.365155 -0.914533 -0.190694 -0.23706 -0.952596 -0.207571 -0.317741 -0.925178 -0.253653 -0.776888 -0.576286 -0.320823 -0.795514 -0.514033 -0.225346 -0.582675 -0.780838 -0.250073 -0.609752 -0.752108 0.120745 -0.503979 -0.855234 0.163696 -0.846799 -0.506098 0.316716 -0.347918 -0.882408 0.279065 -0.833438 -0.476973 0.284829 -0.273882 -0.918619 -0.25573 -0.347296 -0.902212 -0.209932 -0.349027 -0.913296 -0.349086 -0.61685 -0.705433 -0.484109 -0.302022 -0.821231 -0.334705 -0.268595 -0.903233 -0.392472 0.0571935 -0.917984 -0.276198 0.159859 -0.947713 0.148149 -0.440679 -0.885355 0.383947 -0.465675 -0.797327 0.192539 -0.776115 -0.600479 0.409509 -0.609196 -0.679104 -0.674854 -0.0152493 -0.737794 -0.528149 0.369429 -0.764579 -0.264972 0.377734 -0.88719 0.871184 -0.384783 -0.304927 0.614592 -0.522492 -0.590998 0.883293 -0.269676 -0.383496 0.622451 -0.388695 -0.679316 0.0844581 -0.843913 -0.52979 0.0792561 -0.775125 -0.626817 0.161309 -0.888137 -0.43034 -0.201752 -0.168815 -0.964778 -0.203502 -0.022733 -0.978811 -0.221455 -0.131155 -0.966311 -0.208794 0.218943 -0.953137 0.135944 0.788955 0.599224 0.170137 0.985414 0.0034864 0.129309 0.991562 0.00917949 0.134333 0.990575 -0.0267643 0.148198 0.988914 -0.00926733 -0.22979 -0.970081 -0.0783558 -0.221402 -0.943465 0.246687 -0.27673 -0.958641 -0.0665424 -0.29307 -0.940036 0.174478 0.676659 -0.71948 -0.156467 0.535975 -0.844233 -0.00114353 0.170365 -0.975973 -0.135838 0.177727 -0.984072 -0.00380684 -0.197032 -0.8948 -0.400638 -0.201719 -0.976976 -0.0694829 -0.215691 -0.902876 -0.371876 0.314563 0.849694 -0.423168 0.314692 0.948867 0.0249224 0.99015 -0.139754 0.00846486 0.776114 -0.621485 0.106785 0.982164 -0.187822 0.00878203 0.999004 0.0188061 0.0404679 0.999315 -0.0153768 0.0336565 0.999681 0.0250071 -0.00352152 0.999992 -0.00391518 -0.000742457 0.999915 -0.0130216 -0.000800835 0.998614 -0.0140517 0.050719 0.999547 -0.0300063 -0.00216105 0.996288 -0.068364 0.0523029 0.930272 -0.366325 -0.020007 0.987657 -0.156351 -0.0093824 0.914319 -0.397328 0.0784329 0.96438 -0.249301 0.0884284 -0.714609 -0.697841 0.0484907 -0.714296 -0.682673 0.154073 -0.828548 -0.555995 0.0661664 -0.841178 -0.537826 0.0562317 -0.833731 -0.551079 -0.0346999 -0.931116 -0.352023 -0.0954149 -0.848176 -0.528281 -0.0389349 -0.935869 -0.317495 -0.152797 0.0607586 0.956286 -0.286053 -0.0453209 0.96582 -0.25522 0.0249859 0.999318 -0.0271779 -0.0874824 0.995897 -0.0231576 0.5015 -0.808107 -0.308967 -0.0493786 -0.8964 -0.440486 0.347739 -0.478622 -0.806225 0 -0.300275 -0.953853 -0.841765 -0.377976 0.385442 -0.445569 -0.0932351 0.890379 -0.928606 0 0.371068 -0.192736 0 0.981251 0.613583 -0.726674 0.308967 0.253861 -0.34941 0.901924 0.0493786 -0.8964 0.440486 0 -0.300275 0.953853 0.841765 -0.377976 -0.385442 0.881621 -0.269694 0.38731 0.928606 0 -0.371068 0.871483 0 0.490426 -0.00413716 0.185715 0.982595 -0.00402046 0.183757 0.982963 -0.00516952 0.182154 0.983256 -0.00482582 0.176639 0.984264 -0.013332 -0.0129128 0.999828 -0.0195771 -0.00760133 0.999779 -0.0175128 -0.0126899 0.999766 -0.0125021 0.016942 0.999778 0.00306953 0.999991 0.0029504 -0.00119328 0.99995 -0.00987833 0.000982713 0.999986 -0.00513048 -0.00066925 0.999727 -0.0233604 0.999984 0.00545834 -0.00139924 0.976661 -0.214784 -0.00117101 0.900291 -0.433548 -0.0388948 0.908918 0.0994884 -0.404932 0.89979 0.168232 -0.402587 0.88633 0.236166 -0.398303 0.00883906 0.00474194 -0.99995 0.00844092 0.0163414 -0.999831 0.00804165 0.0279387 -0.999577 0.0123623 0.999864 -0.0109385 0.0191608 0.999797 -0.00618101 0.0174801 0.99979 -0.0106517 0.0142406 0.999672 0.0212764 0.0126438 0.999916 0.00270361 0.00174842 0.998449 0.0556385 0.000726235 0.994099 0.108471 -0.000808344 -0.998255 -0.0590523 -0.000156191 -0.998124 -0.0612176 -0.00146541 -0.998076 -0.0619864 -0.000360128 -0.997943 -0.0641004 -0.0709922 -0.997263 -0.0206323 0.104938 -0.994429 0.00992517 0.272252 -0.961951 0.0229978 0.271064 -0.962184 0.0269467 0.269406 -0.962554 0.0301858 0.221484 -0.975163 -0.00112294 0.265606 -0.963963 0.0151101 0.173934 -0.983579 -0.0481686 0 0 -1 0.00114108 0.00558458 -0.999984 -0.0232891 0.00347837 0.999723 0.0137516 0.0133642 0.999816 0.000433518 0.0100578 0.999949 0.0111304 0.0195239 0.999747 0.00282844 0.0175672 0.999842 0.00366408 0.0100809 0.999942 0.0029372 0.0132146 0.999908 0.00300025 0.00598209 0.999978 0.0812124 0.996434 -0.022891 -0.0814006 0.996011 -0.036552 -0.00242277 0.999688 -0.0248501 -0.0786532 0.994453 -0.0698399 0.271064 -0.962184 0.0269467 0.272252 -0.961951 0.0229977 0.131528 -0.989309 -0.0629917 0.173934 -0.983579 -0.0481686 0.126013 -0.986029 -0.108939 -0.00146541 -0.998076 0.0619864 -0.000520545 -0.997901 0.0647572 -0.000360128 -0.997943 0.0641004 0.00117679 -0.997768 0.0667731 -0.0855377 0.993272 0.078067 -0.0319175 0.996868 0.0723517 -0.126541 0.986946 0.0996195 -0.10128 0.983571 0.149431 0.417943 0.874254 -0.246991 0.309096 0.89483 -0.322084 0.049205 0.998768 -0.00647563 0.0794278 0.994916 -0.0619149 0.635769 0.257157 -0.727783 0.501935 -0.472117 -0.724684 0.499804 0.177602 -0.847734 0.399674 -0.439645 -0.804347 0.139444 -0.125159 -0.982288 0.313625 0.151593 -0.937368 0.175469 -0.554484 -0.813485 0.327809 -0.214539 -0.920062 0.446369 0.349551 -0.823753 0.286742 0.0605458 -0.956093 0.803248 -0.578483 -0.141954 0.268041 -0.959073 -0.0912878 0.74263 -0.512495 -0.431103 0.249465 -0.926405 -0.282031 0.91629 -0.395468 -0.0633805 0.844664 0.53363 -0.042217 0.990378 -0.136302 -0.023924 0.752576 0.658325 -0.0153721 0.461453 -0.8851 -0.0604936 0.137085 -0.989546 -0.0447848 0.461155 -0.882848 -0.0889722 0.125779 -0.990109 -0.0621632 0.28172 0.959491 -0.00343224 0.26807 0.963286 -0.0147857 0.0113245 0.999793 0.0169295 -0.00900426 0.999872 0.0132433 -0.444208 -0.894207 -0.0554358 -0.497881 -0.863698 -0.0783594 -0.122943 -0.991349 -0.0459551 -0.0980576 -0.993415 -0.0592626 0.316225 0.948365 -0.0246186 0.347616 0.937207 -0.0284029 -0.0025868 0.999931 0.0114438 0.00539105 0.999928 0.0107566 0.40285 -0.911042 -0.0878316 0.899433 -0.417027 -0.130798 0.461318 -0.882536 -0.0911904 0.921355 -0.368559 -0.123564 -0.617647 -0.780402 -0.0973844 -0.503203 -0.859629 -0.0884605 -0.138849 -0.988457 -0.0606187 -0.168644 -0.983129 -0.070832 -0.137914 0.990264 0.0188942 -0.100665 0.994747 0.0185999 -0.136117 0.99051 0.0190153 -0.0999409 0.994821 0.0185375 -0.244103 -0.929964 -0.274921 -0.181475 -0.908118 -0.377344 -0.0349721 -0.967331 -0.251091 -0.0237241 -0.932191 -0.361189 -0.0488193 -0.846734 -0.529771 -0.0986368 -0.814791 -0.571302 0.0344432 -0.999192 -0.0207015 -0.10581 -0.994068 -0.0251639 0.0257453 -0.998615 -0.0458901 -0.292883 0.956113 0.00820729 -0.156194 0.987699 0.00731681 -0.338666 0.940891 -0.00547682 -0.155713 0.987722 0.012581 -0.00318405 -0.998676 -0.0513395 -0.0298034 -0.997795 -0.059301 -0.154471 0.987997 0 -0.149633 0.988742 -0.000173043 -0.12252 0.992465 -0.00152325 -0.0853323 0.907695 -0.410863 0.411671 0.909705 -0.0544438 8.67794e-019 0.912386 -0.409332 0.41351 0.9105 0 0.552548 0.833108 -0.0249162 0.801061 0.581113 -0.143556 0.626339 0.778451 -0.0413967 0.969067 0.163961 -0.184462 0.824735 0.427231 -0.370522 0.764368 -0.0547968 -0.642447 -0.0867337 0.143152 -0.985893 -0.195742 -0.056746 -0.979012 -0.0410308 0.0359277 -0.998512 -0.0543293 -0.198933 -0.978506 0.424805 0.903593 -0.0553143 0.552028 0.83292 -0.0388578 0.424088 0.905621 0 0.59717 0.802115 0 0.173207 -0.98473 -0.0175193 0.592185 -0.805563 -0.0196376 0.192642 -0.980435 -0.0404533 0.729899 -0.678149 -0.0857965 -0.0432955 0.998755 -0.0247989 0.19042 0.981297 -0.028225 -0.00808258 0.999966 -0.00181104 0.236843 0.971521 0.0072072 -0.379578 -0.923833 -0.0495265 -0.510899 -0.859115 -0.0300537 -0.112207 -0.993406 -0.0235538 -0.28355 0.958924 -0.00805582 -0.220102 0.975293 0.0189457 -0.278514 0.96009 0.0256438 -0.194903 0.980681 0.0166627 -0.479126 0.794429 -0.373256 -0.309835 0.940314 -0.140756 -0.423655 0.901703 -0.0863073 -0.416244 0.905669 -0.0806548 -0.682401 0.682899 -0.260726 -0.149846 0.988709 0 -0.15546 0.987842 0 -0.164855 0.982384 -0.088001 -0.174698 0.982224 -0.0686738 -0.637791 0.731635 0.240694 -0.237746 0.83257 -0.500304 -0.818648 0.542924 0.187213 -0.223852 0.577822 -0.784864 -0.161857 0.986809 -0.00317977 -0.160643 0.987012 -0.000298179 -0.152226 0.988343 -0.00223172 -0.0514295 0.99867 -0.00371539 0.126753 0.9919 -0.00829048 -0.0249607 0.999678 -0.00446477 0.155296 0.987805 -0.0111797 0.427372 0.893963 -0.134845 0.445944 0.889145 -0.102741 0.0622211 0.845412 -0.530477 0.0483171 0.82011 -0.570163 0.0646979 0.54456 -0.836223 0.0456152 0.513065 -0.857137 -0.300763 -0.953699 0 -0.343215 -0.939257 0 -0.312882 -0.941594 -0.124518 -0.34423 -0.935097 -0.084256 -0.298028 -0.926994 -0.227731 -0.137508 -0.955034 -0.26268 -0.180172 -0.975626 -0.12527 -0.269635 -0.876121 -0.399635 -0.304229 -0.887985 -0.344859 -0.246926 -0.816098 -0.522506 -0.284754 -0.858641 -0.426205 -0.000363024 0.25184 -0.967769 -0.962531 0.27117 0.000656454 0.00108178 0.257213 -0.966354 -0.962332 0.271873 -0.0014389 0.14333 0.543373 -0.827165 0.0472101 0.479485 -0.876279 0.0111908 0.197806 -0.980177 0.008081 0.21013 -0.97764 -0.911016 0.410844 -0.0354464 -0.728335 0.684741 -0.0256225 0.0253336 0.501978 -0.864509 0.0181142 0.699312 -0.714587 0.0200051 0.478632 -0.877788 0.011085 0.686877 -0.726689 0.00733866 -0.999973 0 0.0143566 -0.999897 0 0.0133601 -0.995775 -0.090847 0.0202264 -0.997672 -0.0651198 0.00474724 -0.999988 -0.0012876 0.00413485 -0.995694 0.0926069 0.00731567 -0.999969 -0.00290747 0.0184166 -0.998945 0.0420785 0.137231 0.821359 -0.553657 0.0404726 0.873506 -0.485127 0.0147715 0.47997 -0.87716 -0.0669067 0.880069 -0.470109 -0.2309 0.732692 -0.640194 -0.0676229 0.883456 -0.463609 -0.210865 0.791924 -0.573055 0.396643 0.193422 -0.897364 0.237927 0.131368 -0.962358 0.298983 0.473559 -0.828463 0.201559 0.19924 -0.958998 0.289654 -0.956072 -0.0450312 0.34906 -0.924133 -0.155356 0.63954 -0.536141 -0.550945 0.547918 -0.524544 -0.651644 0.0559821 -0.996648 0.0596497 0.157026 -0.987369 0.0210944 0.0977213 -0.980031 -0.173175 0.127048 -0.937742 -0.323263 -0.160504 -0.952076 -0.260363 -0.204791 -0.883829 -0.420604 -0.318377 -0.939078 -0.129493 -0.451784 -0.803957 -0.38671 -0.155602 -0.983921 0.0876779 -0.10067 -0.994357 0.0334756 -0.166274 -0.985578 -0.0314552 -0.0677818 -0.971885 -0.225488 -0.227789 -0.972657 -0.0452851 -0.0591426 -0.954768 -0.291412 -0.0594948 -0.943051 -0.327285 -0.00201948 -0.96308 -0.269208 -0.0169945 -0.998953 -0.0424864 0.00428243 -0.998794 -0.0489193 0.0304011 0.0501248 -0.99828 0.0151514 0.0272922 -0.999513 0.0135546 0.0511452 -0.998599 0.00714808 0.0289683 -0.999555 0.104634 0.368612 -0.923676 -0.0106368 0.488731 -0.87237 -0.00658899 0.049494 -0.998753 -0.0530364 -0.983517 0.172863 -0.0273253 -0.976942 0.21175 -0.117965 -0.978436 0.16955 -0.0875094 -0.981857 0.168224 0.00209465 -0.999355 0.0358612 0.00188104 -0.999527 0.0306811 0.00217352 -0.988317 0.152399 0.00059825 -0.984345 0.17625 0.0079574 -0.998656 -0.0512131 0.00984367 -0.980356 0.196991 0.020183 -0.980653 0.194711 0.00382191 -0.976411 0.215886 0.00123949 -0.977665 0.210165 -0.000497477 -0.990157 0.139962 -0.00244971 -0.99446 0.105089 0.0032344 -0.999995 0 0.00340481 -0.999988 0.0033886 0.00404046 -0.999992 0 0.00352119 -0.999985 0.00421239 0.00732637 0.811631 -0.584124 0.00700244 0.907239 -0.420558 0.00873321 0.844251 -0.535876 0.00942135 0.932987 -0.359787 0.0251757 -0.901615 -0.431806 0.0318339 -0.766865 -0.641018 0.00414906 -0.891124 -0.453741 0.00746558 -0.730113 -0.683285 0.0160555 0.807657 -0.589434 0.0103911 0.689914 -0.723817 0.019911 0.650291 -0.759424 0.00356249 -0.945434 -0.325793 0.00414904 -0.939625 -0.342179 0.00558301 -0.865846 -0.50028 0.0140417 0.971829 -0.23527 0.0135764 0.999908 0 0.0482953 0.982919 -0.177589 0.0434407 0.999056 0 0.0197784 -0.295936 -0.955003 0.0250837 0.0507402 -0.998397 0.0368347 -0.31233 -0.949259 0.0583706 0.0747159 -0.995495 0.0504936 0.923447 -0.380389 0.159409 0.911153 -0.379986 0.183832 0.96588 -0.182434 0.0823102 -0.669291 -0.738427 0.0287166 -0.685787 -0.727236 0.109484 -0.238915 -0.964849 0.0255214 -0.98256 -0.184186 0.0763086 -0.979151 -0.188254 0.0264154 -0.993802 -0.107983 0.0657443 -0.993269 -0.0953606 0.645601 0.723902 -0.243238 0.659279 0.718801 -0.220626 0.67111 0.741358 0 0.689666 0.724128 0 0.323767 0.884717 -0.335338 0.572108 0.728061 -0.377649 0.384478 0.757795 -0.527184 0.552716 0.582439 -0.596045 0.241108 0.238965 -0.940618 0.382259 0.189822 -0.904348 0.234516 -0.244481 -0.940867 0.378345 -0.225373 -0.897809 0.418902 0.589695 -0.690493 0.483633 0.753851 -0.444756 0.373705 0.668286 -0.643225 0.349434 0.849739 -0.394765 0.380504 0.900977 -0.208464 0.387169 0.922009 0 0.431229 0.882814 -0.186229 0.489837 0.104005 -0.865588 0.46153 -0.19502 -0.865423 0.182829 -0.974949 -0.126683 0.274741 -0.947728 -0.162263 0.18181 -0.983334 0 0.281953 -0.959428 0 0.500356 0.739406 -0.45047 0.68137 0.515437 -0.519673 0.561329 0.443164 -0.698939 0.327408 -0.817074 -0.474546 0.378305 -0.688348 -0.61892 0.968349 0.249599 0 0.916852 0.200541 -0.345205 0.857641 0.514249 0 0.822547 0.488987 -0.290358 0.595252 -0.101832 -0.797061 0.687495 -0.0296289 -0.725585 0.607988 -0.557499 -0.565284 0.445992 -0.765693 -0.46347 -0.320661 -0.908766 -0.267059 -0.314646 -0.918884 -0.238015 0.0698308 0.825344 -0.560295 0.0573439 0.354277 -0.933381 -0.332925 -0.928662 -0.163545 -0.31651 -0.942121 -0.110589 -0.327939 -0.92217 -0.205081 -0.311581 -0.944482 -0.104264 0.0216773 0.939352 -0.34227 -0.0777934 0.938753 -0.335694 0.01643 0.972648 -0.231703 -0.0242659 0.980899 -0.192998 -0.123384 -0.990301 -0.0638691 -0.123933 -0.991222 -0.0460424 -0.136332 -0.988242 -0.0692205 -0.138764 -0.988771 -0.0554576 -0.893313 -0.440391 -0.0897045 -0.992251 -0.0396128 -0.117768 -0.75398 -0.577654 -0.312779 -0.879043 -0.252099 -0.404634 -0.0542672 0.993 -0.104913 -0.0944677 0.97446 -0.203726 -0.283353 0.950765 -0.125524 -0.275455 0.89655 -0.346875 -0.344362 -0.82762 -0.443239 -0.39258 -0.820169 -0.416178 -0.635791 -0.474266 -0.608967 -0.798123 0.101458 -0.59389 -0.152244 -0.985133 -0.0795938 -0.143533 -0.985176 -0.0939487 -0.210967 -0.965268 -0.154109 0.0425007 0.952769 -0.300709 0.0170218 0.986124 -0.165133 0.00548179 0.993516 -0.113561 -0.1798 -0.935633 -0.303748 -0.190432 -0.968622 -0.159711 -0.129451 -0.963447 -0.234549 -0.128546 -0.975293 -0.179663 -0.123652 -0.989148 -0.0793499 -0.202133 -0.976865 -0.0698341 -0.201237 -0.976535 -0.0766943 0.536536 0.729284 -0.424587 0.427959 0.82668 -0.365311 0.118888 0.990193 -0.0733736 0.0885469 0.993485 -0.0717434 0.0227057 0.999502 -0.0218905 0.0366474 0.999243 -0.0130463 0.120702 0.991377 -0.0510103 -0.406597 0.912974 -0.0340165 -0.0182063 0.999834 2.99494e-005 -0.297982 0.954234 -0.0253794 -0.0262938 0.999654 -0.00121665 0.529357 0.843136 -0.094355 0.466256 0.796231 -0.385514 0.119014 0.992699 -0.0195876 0.109855 0.85259 -0.510903 -0.0350345 0.99937 -0.00575128 0.030778 0.999515 -0.0046632 -0.00422834 0.999956 -0.00839406 0.0306068 0.850467 -0.525137 -0.0294015 -0.999562 -0.00343481 -0.0733115 -0.997307 -0.00227475 -0.033815 -0.999417 -0.00468915 -0.0869943 -0.996201 -0.00389525 -0.116192 -0.993204 -0.00676565 -0.0648445 -0.997894 -0.00162559 -0.104877 -0.994384 -0.0141743 -0.0529873 -0.99859 -0.00322309 -0.605958 -0.793844 -0.0512417 -0.573955 -0.817568 -0.046457 -0.149526 -0.988717 -0.00895871 -0.156492 -0.987508 -0.0183717 0.645323 -0.702421 -0.300272 0.69734 -0.6471 -0.308188 0.805749 -0.105682 -0.582751 0.918575 -0.0640083 -0.39003 0.0685407 -0.984692 -0.16026 -0.0503831 -0.980372 -0.190608 0.017732 -0.991408 -0.129597 -0.0379924 -0.995166 -0.0905651 0.253154 -0.919434 -0.300923 0.232829 -0.933505 -0.272691 0.0368961 -0.998112 -0.0491107 -0.439792 0.897307 -0.037715 -0.669708 0.740238 -0.0594925 -0.846413 0.527301 -0.0744218 -0.986292 0.138635 -0.0894862 0.0498551 0.854413 -0.517197 0.00735917 0.0137633 -0.999878 0.12627 -0.063009 -0.989993 0.531885 -0.615378 -0.581728 0.980086 -0.0665317 -0.187097 0.433154 -0.789914 -0.434067 0.513411 -0.851586 -0.105881 0.982175 0.0285821 -0.185783 0.210322 0.413674 -0.885798 0.285452 0.84971 -0.443294 0.520093 0.360821 -0.774152 0.518533 0.804242 -0.290378 0.194001 -0.125613 -0.972926 0.287474 -0.358373 -0.888216 0.169699 -0.778124 -0.604752 0.225355 -0.856333 -0.46466 -0.0897513 -0.670689 -0.736289 -0.126447 -0.61965 -0.774626 -0.088904 -0.413151 -0.906312 -0.117366 -0.450937 -0.884806 0.082372 0.358026 -0.930071 0.135944 0.788955 -0.599224 -0.128625 -0.439088 -0.889189 -0.13152 -0.451776 -0.882384 -0.149234 -0.400285 -0.904158 -0.148809 -0.468167 -0.87102 -0.197495 -0.926928 -0.31906 -0.221402 -0.943465 -0.246687 -0.179078 -0.747557 -0.639601 -0.212624 -0.827567 -0.519542 0.0456884 -0.451988 -0.890853 0.0461094 -0.0262108 -0.998592 0.12406 -0.400215 -0.907985 0.102361 0.00322548 -0.994742 -0.23438 -0.702694 -0.671779 -0.328258 -0.748506 -0.576181 -0.190975 -0.438506 -0.878203 -0.228197 -0.445805 -0.865554 -0.141528 -0.406204 -0.902756 -0.110219 -0.488728 -0.865446 -0.103026 -0.437201 -0.893443 -0.685401 -0.53841 -0.490246 -0.381114 -0.478848 -0.790858 -0.700123 -0.661436 -0.268943 -0.474267 -0.744648 -0.469649 -0.34193 -0.352856 -0.870963 -0.279337 -0.357256 -0.891257 -0.2931 0.0551015 -0.954493 -0.222282 0.07866 -0.971804 -0.157249 -0.395967 -0.9047 -0.116955 -0.405998 -0.906359 -0.149632 -0.416259 -0.896849 -0.125468 -0.436982 -0.890676 -0.188647 0.372425 -0.908687 -0.294704 0.466451 -0.83401 -0.460858 0.0179958 -0.887292 0.908253 -0.320363 -0.269153 0.81084 -0.492342 -0.316446 0.631967 -0.516708 -0.577608 0.541693 -0.559967 -0.626902 0.0812405 -0.751539 -0.654667 0.0649604 -0.729764 -0.680606 0.133348 -0.812846 -0.56701 0.14113 -0.764852 -0.628557 -0.172805 -0.00411783 -0.984947 -0.170407 -0.154465 -0.973192 -0.166862 -0.184229 -0.968616 -0.163513 -0.256399 -0.95264 0.0244824 -0.0167157 0.99956 0.0959983 0.394475 0.913879 0.00703655 -0.0763744 0.997054 0.103265 0.330949 0.937981 -0.0176255 -0.463443 0.885951 -0.0692197 -0.477644 0.875822 -0.0548383 -0.444862 0.893919 -0.093751 -0.486602 0.868579 0.170365 -0.975973 0.135838 0.676659 -0.71948 0.156467 0.178537 -0.810181 0.558329 0.659627 -0.624829 0.417709 -0.114392 -0.536772 0.835937 -0.146119 -0.507933 0.848913 -0.13025 -0.51618 0.846518 -0.147396 -0.511174 0.846744 0.115322 -0.392002 0.912708 0.0534502 -0.426783 0.902773 0.0495786 -0.294527 0.954356 -0.0121894 -0.379849 0.924968 -0.171266 -0.450014 0.876445 -0.182633 -0.407705 0.894663 -0.167132 -0.517286 0.839334 -0.176497 -0.519812 0.835849 0.282665 -0.00149546 0.959217 0.383947 -0.465675 0.797327 0.535622 -0.0847813 0.840191 0.578377 -0.348059 0.737791 -0.216658 -0.249198 0.943907 -0.231335 -0.260804 0.937265 -0.225751 -0.306842 0.9246 -0.240754 -0.267528 0.932988 -0.0712105 -0.636631 0.767873 0.0115354 -0.679629 0.733465 -0.186388 -0.366509 0.911554 -0.16378 -0.455659 0.874957 -0.320823 -0.795514 0.514033 -0.250073 -0.609752 0.752108 -0.449272 -0.774245 0.445756 -0.349086 -0.61685 0.705433 -0.000207657 -0.742824 0.669487 -0.0201662 -0.527376 0.849392 -0.0834482 -0.6206 0.779674 -0.0783013 -0.388349 0.91818 -0.170453 -0.454303 0.874388 -0.174041 -0.365155 0.914533 -0.199494 -0.427945 0.881513 -0.207571 -0.317741 0.925178 -0.078128 -0.618612 0.781803 0.00101661 -0.70749 0.706723 -0.142512 -0.45383 0.879619 -0.136457 -0.507628 0.850702 -0.166 -0.429278 0.887786 -0.190988 -0.366969 0.910416 -0.203502 -0.022733 0.978811 -0.208794 0.218943 0.953137 -0.201662 0.115942 0.972569 -0.221226 0.301473 0.927455 0.143841 0.763456 0.629639 0.170137 0.985414 -0.0034864 0.123 0.829289 0.545115 0.129309 0.991562 -0.00917949 -0.143523 -0.896967 -0.418153 -0.148076 -0.98859 0.0276454 -0.163982 -0.889974 -0.425507 -0.163461 -0.985993 0.0331362 -0.712846 -0.698974 0.0573273 -0.714609 -0.697841 -0.0484907 -0.536972 -0.842645 0.0401302 -0.532676 -0.842461 -0.0807266 -0.101444 -0.916211 0.387642 -0.145927 -0.888752 0.434539 -0.106512 -0.994079 0.0214867 -0.27673 -0.958641 0.0665424 -0.280627 -0.907483 0.312608 -0.377957 -0.924056 0.0571842 -0.383733 -0.891542 0.240627 0.957171 -0.23422 0.170189 0.953666 -0.300868 -0.000621953 0.905882 -0.411257 0.101217 0.930272 -0.366325 0.020007 0.980499 -0.171653 0.0956934 0.682422 -0.19535 0.704371 0.850513 -0.167026 0.498728 0.997353 -0.0172522 0.0706288 0.850735 -0.0526768 0.522948 0.995951 0.0183331 0.0880109 0.995491 0.000585661 0.0948547 0.883293 -0.269676 0.383496 0.990363 -0.106112 0.0890041 0.871184 -0.384783 0.304927 0.942278 -0.303903 0.140551 0.849445 -0.393904 0.351116 0.791465 -0.490227 0.365048 -0.715627 -0.676375 0.17434 -0.833731 -0.551079 0.0346999 -0.848176 -0.528281 0.0389349 -0.448323 -0.439981 0.778089 -0.410616 -0.142128 0.900663 -0.778408 -0.529209 0.337666 -0.702408 -0.0727756 0.708045 -0.11412 0.970792 0.211044 -0.14039 0.989933 0.0179933 -0.138417 0.978777 0.151118 -0.16369 0.986278 0.0214955 -0.5015 -0.808107 -0.308967 -0.253861 -0.34941 -0.901924 0.0493786 -0.8964 -0.440486 -0.881621 -0.269694 0.38731 -0.871483 0 0.490426 0.613583 -0.726674 -0.308967 0.881621 -0.269694 -0.38731 0.445569 -0.0932351 -0.890379 -0.613583 -0.726674 0.308967 -0.0493786 -0.8964 0.440486 0.192736 0 -0.981251 -0.260179 0 -0.96556 -0.549247 -0.11493 -0.827719 -0.883272 -0.462826 -0.0749897 -0.88331 -0.463766 -0.0684465 -0.703033 -0.703547 -0.103759 -0.428598 -0.894399 -0.127888 -0.00516952 0.182154 -0.983256 -0.00558664 0.174723 -0.984602 -0.00482582 0.176639 -0.984264 -0.00472266 0.168857 -0.985629 -0.00242277 0.999688 0.0248501 0.0812124 0.996434 0.022891 0.0901141 0.99516 0.0391947 0.0922258 0.993792 0.0622257 -0.000265294 0.999166 0.0408215 -0.0310662 0.998964 0.0332468 -0.0164005 0.999346 0.032219 -0.0302062 0.997857 0.0580414 0.104937 -0.994429 -0.00992516 -0.241573 -0.969816 0.0331727 -0.0709922 -0.997263 0.0206323 -0.238738 -0.969106 0.0619504 -0.0232247 0.00261209 0.999727 0.013832 0.0134148 0.999814 0.000748925 0.0100321 0.999949 0.0112983 0.0196581 0.999743 0.0023584 0.017663 0.999841 0.00114122 0.00558526 0.999984 0.00149239 0.0110716 0.999938 0 0 1 -0.95579 -0.000516441 0.294051 -0.959989 0.00202241 0.280029 -0.963977 0.00456081 0.265945 0.0922258 0.993792 0.0622257 -0.000265299 0.999166 0.0408215 0.0901141 0.99516 0.0391946 -0.0164005 0.999346 0.032219 0.998967 0.0411969 0.0191966 0.999665 0.020603 0.015647 0.999927 0 0.0120906 0.000748994 0.010032 -0.999949 -0.0232248 0.00261156 -0.999727 -0.0391546 0.00505188 -0.99922 -0.0416617 0.000484792 -0.999132 0.0138322 0.0134149 -0.999814 0.0112984 0.0196578 -0.999743 0.00235849 0.0176624 -0.999841 0.00149232 0.011071 -0.999938 0.00366394 0.0100797 0.999942 0.00304526 0.00559217 0.99998 0.00300012 0.00598086 0.999978 0.00304766 0.00441743 0.999986 -0.00242275 0.999688 0.0248501 0.0812124 0.996434 0.022891 0.0901141 0.99516 0.0391948 0.0922259 0.993792 0.0622258 -0.00026528 0.999166 0.0408217 -0.0310662 0.998964 0.033247 -0.0164004 0.999346 0.0322192 -0.0302062 0.997857 0.0580415 0.385133 0.817155 0.428871 0.399674 -0.439645 0.804347 -0.182811 0.619215 0.763645 -0.0652308 -0.0944056 0.993394 -0.0744458 -0.358521 0.930549 0.423476 0.475816 0.770888 0.803248 -0.578483 0.141954 0.990378 -0.136302 0.023924 0.91629 -0.395468 0.0633805 -0.122804 0.992418 -0.00510635 -0.125307 0.992042 -0.0123202 -0.0872023 0.99619 0.00110729 -0.085896 0.996152 -0.0174281 0.855216 0.509654 0.0941182 0.29623 0.954905 0.0201095 -0.79922 -0.59315 0.0970605 -0.00667654 0.999902 -0.0123192 0.316225 0.948365 0.0246186 -0.0025868 0.999931 -0.0114438 -0.617647 -0.780402 0.0973844 -0.141909 0.989713 -0.0181841 -0.137914 0.990264 -0.0188942 -0.104082 0.994397 -0.0184855 -0.100665 0.994747 -0.0185999 -0.10128 0.983571 -0.149431 -0.076172 0.989974 -0.118949 -0.0785375 -0.477533 0.875097 0.018397 -0.776282 0.630118 -0.134697 0.990573 -0.0249183 -0.126541 0.986946 -0.0996195 0.125779 -0.990109 0.0621632 0.122844 -0.990734 0.0579255 0.105324 -0.992766 0.0576334 0.068146 -0.996221 0.0538533 -0.136117 0.99051 -0.0190153 0.552028 0.83292 0.0388578 0.618406 0.785653 0.0179623 0.588769 0.808301 0 0.462162 0.886601 0.0185809 0.552548 0.833108 0.0249162 0.692972 0.717419 0.0714172 0.801061 0.581113 0.143556 0.824735 0.427231 0.370522 0.700179 0.683557 0.206151 -0.0543293 -0.198933 0.978506 -0.342167 -0.513663 0.786811 -0.0664699 -0.551423 0.831574 -0.41008 -0.350612 0.841965 0.424805 0.903593 0.0553143 0.220318 0.350419 0.910311 0.626339 0.778451 0.0413967 0.211584 0.977294 0.0113697 -0.875171 0.365763 0.316691 -0.82071 -0.0406914 0.569894 0.0385937 -0.998322 0.043161 -0.0944859 -0.994369 0.047996 0.974478 0.220234 0.0434735 0.946404 0.31593 0.0671315 -0.175652 0.984265 0.0192107 -0.161857 0.986809 0.00317977 -0.161659 0.986573 0.0232339 -0.15121 0.988283 0.0207699 0.17623 0.984338 0.00455417 -0.0180618 0.999828 0.00428108 -0.0249607 0.999678 0.00446477 0.436397 0.835081 0.334959 0.488874 0.827955 0.274758 0.445944 0.889145 0.102741 0.0456152 0.513065 0.857137 0.644239 0.764315 -0.0279028 0.865306 0.501235 0.00289479 -0.116163 -0.99323 0 -0.180172 -0.975626 0.12527 -0.312882 -0.941594 0.124518 -0.029941 0.0381407 0.998824 -0.00254778 0.127152 0.99188 -0.284754 -0.858641 0.426205 -0.000363024 0.25184 0.967769 0.00108178 0.257213 0.966354 0.0202054 0.259424 0.965552 0.962607 0.269319 -0.0292357 0.962481 0.27135 0.000128141 0.911016 0.410844 -0.0354464 0.00873223 0.297025 0.95483 0.0253336 0.501978 0.864509 0.0502682 -0.994294 0.0940834 0.0202264 -0.997672 0.0651198 0.0241256 -0.984431 0.17411 0.0133601 -0.995775 0.090847 0.00482015 -0.999988 0 0.00730885 -0.999973 0 0.00731567 -0.999969 0.00290747 -0.0676229 0.883456 0.463609 0.0404726 0.873506 0.485127 0.0147715 0.47997 0.87716 -0.210865 0.791924 0.573055 -0.343826 0.590967 0.729755 0.237927 0.131368 0.962358 0.280919 -0.0205964 0.95951 0.338328 -0.466722 0.817132 0.34906 -0.924133 0.155356 0.251804 -0.958096 0.136552 0.377655 -0.768343 0.516745 0.0184166 -0.998945 -0.0420785 0.0559821 -0.996648 -0.0596497 -0.315101 -0.536868 0.782614 -0.166274 -0.985578 0.0314552 -0.0677818 -0.971885 0.225488 -0.267362 -0.94003 0.211806 -0.122435 -0.525821 0.841737 -0.150446 -0.751504 0.642346 0.0151514 0.0272922 0.999513 0.104634 0.368612 0.923676 0.0135546 0.0511452 0.998599 -0.0273253 -0.976942 -0.21175 -0.0875094 -0.981857 -0.168224 0.00209465 -0.999355 -0.0358612 0.00188104 -0.999527 -0.0306811 0.00470904 -0.999989 0 0.00384447 -0.999993 0 0.00984367 -0.980356 -0.196991 0.020183 -0.980653 -0.194711 -0.000497477 -0.990157 -0.139962 -0.00244971 -0.99446 -0.105089 0.0618069 -0.996392 0.0581598 0.128664 -0.988781 0.0758759 0.00732637 0.811631 0.584124 0.00873321 0.844251 0.535876 0.00414906 -0.891124 0.453741 0.019911 0.650291 0.759424 0.00414904 -0.939625 0.342179 0.0140417 0.971829 0.23527 0.0482953 0.982919 0.177589 0.0368347 -0.31233 0.949259 0.0197784 -0.295936 0.955003 0.159409 0.911153 0.379986 0.0823102 -0.669291 0.738427 0.0264154 -0.993802 0.107983 0.021285 -0.999773 0 0.0680916 -0.997679 0 0.418902 0.589695 0.690493 0.193393 0.401796 0.895075 0.659279 0.718801 0.220626 0.654889 0.630336 0.416889 0.382259 0.189822 0.904348 0.373705 0.668286 0.643225 0.118558 -0.992947 0 0.380504 0.900977 0.208464 0.378345 -0.225373 0.897809 0.46153 -0.19502 0.865423 0.467493 -0.401542 0.787537 0.561329 0.443164 0.698939 0.327408 -0.817074 0.474546 0.562744 -0.306815 0.767583 0.68137 0.515437 0.519673 0.766232 -0.247916 0.592812 0.0698308 0.825344 0.560295 -0.327939 -0.92217 0.205081 -0.311581 -0.944482 0.104264 0.01643 0.972648 0.231703 -0.0242659 0.980899 0.192998 -0.136332 -0.988242 0.0692205 -0.123384 -0.990301 0.0638691 -0.893313 -0.440391 0.0897045 -0.961446 -0.274994 0 -0.989293 0.145945 0 -0.0944677 0.97446 0.203726 -0.256556 -0.777523 0.57414 -0.344362 -0.82762 0.443239 -0.178648 -0.941851 0.284608 -0.39258 -0.820169 0.416178 -0.177527 -0.982064 0.0635177 -0.152244 -0.985133 0.0795938 0.0491658 0.930745 0.36235 0.0278924 0.975228 0.219438 0.0425007 0.952769 0.300709 -0.283075 -0.923139 0.26016 -0.249027 -0.873819 0.417643 -0.190432 -0.968622 0.159711 -0.202133 -0.976865 0.0698341 -0.31651 -0.942121 0.110589 0.286557 0.17421 0.942091 0.20232 0.236556 0.95032 -0.312644 -0.026008 0.949514 -0.3311 0.0565511 0.941899 -0.486426 -0.0476757 -0.87242 -0.00989106 0.0170785 -0.999805 0.261452 0.925321 0.274635 0.250972 0.930103 0.26818 0.278608 0.960405 -8.20921e-008 0.384423 0.426078 -0.818949 0.536536 0.729284 0.424587 0.203224 0.97427 0.0974593 0.118888 0.990193 0.0733736 0.120702 0.991377 0.0510103 0.0438398 0.999013 0.0071053 0.0256698 0.999669 0.00138084 0.0138726 0.999293 0.0349472 0.00860829 0.999729 0.0216354 -0.297982 0.954234 0.0253794 -0.0262938 0.999654 0.00121665 -0.0263668 -0.999649 0.00258889 -0.0648445 -0.997894 0.00162559 -0.507081 -0.860042 0.0565316 -0.104877 -0.994384 0.0141743 -0.680242 -0.730124 0.0647257 -0.116192 -0.993204 0.00676565 -0.109778 -0.954769 0.276341 -0.218394 -0.909874 0.352752 -0.156492 -0.987508 0.0183717 -0.573955 -0.817568 0.046457 -0.472996 -0.825243 0.308624 0.78573 0.00659725 0.618534 0.017732 -0.991408 0.129597 0.0368961 -0.998112 0.0491107 -0.0379924 -0.995166 0.0905651 -0.0233948 -0.999723 0.00273545 0.0685407 -0.984692 0.16026 0.41418 -0.847011 0.333208 -0.995701 0.0415393 0.0827946 -0.953313 0.291757 0.0779239 -0.763465 0.64225 0.068097 -0.439792 0.897307 0.037715 -0.669708 0.740238 0.0594925 -0.138133 -0.813347 0.565143 -0.113814 -0.372216 0.921141 0.535138 0.674212 0.508984 0.974715 0.12827 0.182966 0.466256 0.796231 0.385514 0.529357 0.843136 0.094355 0.982175 0.0285821 0.185783 0.520093 0.360821 0.774152 0.556367 -0.15172 0.816968 0.53389 -0.246669 0.808775 0.194001 -0.125613 0.972926 0.282295 -0.286762 0.915465 -0.0897513 -0.670689 0.736289 -0.126447 -0.61965 0.774626 -0.0969511 -0.920013 0.379707 -0.143523 -0.896967 0.418153 0.0461094 -0.0262108 0.998592 0.0242344 -0.96325 0.26751 -0.179078 -0.747557 0.639601 0.12406 -0.400215 0.907985 0.316329 -0.444164 0.838245 -0.103026 -0.437201 0.893443 -0.0687209 -0.415438 0.907022 -0.110219 -0.488728 0.865446 -0.0624569 -0.563468 0.823773 -0.171918 -0.100886 0.979932 -0.228197 -0.445805 0.865554 -0.125468 -0.436982 0.890676 -0.0676694 -0.440242 0.895325 -0.0794905 -0.555239 0.827883 -0.2931 0.0551015 0.954493 -0.188647 0.372425 0.908687 0.323476 -0.606666 0.726168 0.148854 -0.68411 0.714028 -0.188393 -0.314216 0.930471 -0.484011 0.428309 0.763076 -0.294704 0.466451 0.83401 0.539748 0.763689 -0.35419 0.882075 0.385989 -0.270105 0.00406829 -0.783983 -0.620769 0.0226053 -0.961755 -0.272978 -0.15778 -0.0601001 -0.985644 0.172793 0.246192 -0.953694 -0.0916077 -0.119353 -0.988617 0.293972 -0.164229 -0.941599 0.162171 -0.162173 -0.973345 0.0817295 -0.106345 -0.990965 0.0495786 -0.294527 -0.954356 0.115322 -0.392002 -0.912708 -0.164714 -0.872981 -0.459101 -0.179484 -0.87239 -0.454666 0.0472051 -0.392069 -0.918724 0.0535504 0.0412434 -0.997713 -0.216658 -0.249198 -0.943907 -0.225751 -0.306842 -0.9246 -0.280627 -0.907483 -0.312608 -0.383733 -0.891542 -0.240627 0.0534502 -0.426783 -0.902773 0.0985254 -0.789859 -0.605323 -0.449272 -0.774245 -0.445756 -0.651659 -0.673744 -0.348438 -0.450582 -0.607427 -0.654224 -0.764348 -0.384365 -0.517722 -0.774791 -0.157061 -0.612398 -0.0712105 -0.636631 -0.767873 -0.078128 -0.618612 -0.781803 0.0115354 -0.679629 -0.733465 0.00101661 -0.70749 -0.706723 -0.136457 -0.507628 -0.850702 -0.129492 -0.550949 -0.824431 -0.166 -0.429278 -0.887786 -0.16378 -0.455659 -0.874957 -0.190988 -0.366969 -0.910416 -0.186388 -0.366509 -0.911554 -0.201662 0.115942 -0.972569 -0.196995 -0.0760558 -0.97745 -0.193089 -0.165186 -0.967176 0.118024 0.992989 0.00662989 0.118399 0.873213 -0.472738 -0.106512 -0.994079 -0.0214867 -0.148076 -0.98859 -0.0276454 -0.377957 -0.924056 -0.0571842 -0.400194 -0.910642 0.10284 0.192187 0.834154 -0.516963 0.129347 0.83536 -0.534268 0.959088 -0.256893 0.118978 0.953666 -0.300868 0.000621953 0.980499 -0.171653 -0.0956934 0.995951 0.0183331 -0.0880109 0.997353 -0.0172522 -0.0706288 0.995491 0.000585661 -0.0948547 0.990363 -0.106112 -0.0890041 0.905882 -0.411257 -0.101217 0.942278 -0.303903 -0.140551 -0.712846 -0.698974 -0.0573273 -0.860995 -0.47783 -0.174257 -0.778408 -0.529209 -0.337666 -0.11412 0.970792 -0.211044 -0.14039 0.989933 -0.0179933 0.549247 -0.11493 0.827719 0.260179 0 0.96556 -0.613583 -0.726674 -0.308967 -0.881621 -0.269694 -0.38731 -0.5015 -0.808107 0.308967 -0.871483 0 -0.490426 -0.00313578 -0.231593 -0.972808 -0.004323 -0.231761 -0.972763 -0.00307876 -0.231672 -0.972789 -0.00484849 -0.236856 -0.971533 -0.0116357 -0.00999485 -0.999882 -0.0164143 -0.00976341 -0.999818 -0.0179849 -0.00559348 -0.999823 -0.0135198 0.0214347 -0.999679 -0.0121819 0.00269869 -0.999922 -0.00204714 0.0556298 -0.998449 -0.000850736 0.108454 -0.994101 -0.0203581 0.00540579 -0.999778 -0.0244516 -0.00276512 -0.999697 -0.0155203 -0.0214289 -0.99965 -0.0138455 -0.00270779 -0.9999 -0.934396 0.000987317 0.356235 -0.739965 0.054685 0.670419 -0.933814 0.0300753 0.356492 -0.735298 0.108767 0.668959 0.0133891 -0.999907 -0.00255969 0.0149918 -0.999805 0.0128205 0.00283503 -0.999138 0.0414071 0.00194891 -0.996349 0.0853481 0.0230602 -0.999731 -0.00254746 0.0201075 -0.999747 -0.0101024 0.99257 0.121668 -0.00100749 0.991921 0.126287 0.0120356 0.991081 0.130881 0.0250764 -0.10323 -0.010961 -0.994597 -0.0668814 -0.0303814 -0.997298 -0.101383 -0.0257504 -0.994514 -0.0331617 -0.0266428 -0.999095 0.0901141 0.99516 -0.0391947 0.0922258 0.993792 -0.0622257 -0.000265294 0.999166 -0.0408215 -0.0164005 0.999346 -0.032219 -0.0310662 0.998964 -0.0332468 -0.0302062 0.997857 -0.0580414 0.104937 -0.994429 0.00992516 -0.0709922 -0.997263 -0.0206323 -0.241573 -0.969816 -0.0331727 -0.238738 -0.969106 -0.0619504 -0.0232247 0.00261209 -0.999727 0.000748925 0.0100321 -0.999949 0.013832 0.0134148 -0.999814 0.0112983 0.0196581 -0.999743 0.0023584 0.017663 -0.999841 0.00149239 0.0110716 -0.999938 0.00114122 0.00558526 -0.999984 -0.95579 -0.000516441 -0.294051 -0.959989 0.00202241 -0.280029 -0.963977 0.00456081 -0.265945 0.0922258 0.993792 -0.0622257 0.0901141 0.99516 -0.0391946 -0.000265299 0.999166 -0.0408215 -0.0164005 0.999346 -0.032219 0.998967 0.0411969 -0.0191966 0.999665 0.020603 -0.015647 0.999927 0 -0.0120906 0.0451752 0.000301714 0.998979 0.0461288 -0.0112583 0.998872 -0.0331617 -0.0266428 0.999095 -0.0668814 -0.0303814 0.997298 -0.196212 0.977565 0.0766033 -0.170393 0.979806 0.104624 -0.198499 0.961548 0.189799 -0.152194 0.968664 0.196281 0.385133 0.817155 -0.428871 0.561961 0.484048 -0.670744 0.018397 -0.776282 -0.630118 -0.0744458 -0.358521 -0.930549 0.0314442 -0.984067 -0.174998 0.0359217 -0.997452 -0.0616429 0.122844 -0.990734 -0.0579255 0.29623 0.954905 -0.0201095 -0.00667654 0.999902 0.0123192 -0.594088 -0.799201 -0.0913117 -0.0812122 -0.995051 -0.057248 0.39732 0.915927 -0.0567027 0.0269147 0.999635 0.00252535 0.326521 -0.941823 -0.0797153 0.858964 -0.495806 -0.127898 -0.79922 -0.59315 -0.0970605 -0.882648 -0.455886 -0.114454 -0.650187 -0.75309 -0.100558 -0.134697 0.990573 0.0249183 -0.096962 0.995028 0.0227503 0.0421027 -0.899288 -0.435327 0.0395362 -0.947668 -0.316801 -0.125307 0.992042 0.0123202 -0.137055 0.990423 0.0167044 0.068146 -0.996221 -0.0538533 -0.160919 0.986968 0 -0.15121 0.988283 -0.0207699 -0.115746 0.993219 -0.0108798 -0.156714 0.987169 -0.0306273 -0.116596 0.99308 -0.0140413 0.17623 0.984338 -0.00455417 0.462162 0.886601 -0.0185809 0.246178 0.969164 0.0108028 -0.756743 0.559354 -0.338324 0.409753 0.642373 -0.647657 -0.47728 0.770882 -0.421836 0.436397 0.835081 -0.334959 0.0070019 -0.273482 -0.961852 0.0009889 -0.153499 -0.988148 -0.0213369 -0.323935 -0.945839 -0.0664699 -0.551423 -0.831574 0.488874 0.827955 -0.274758 0.581463 0.541525 -0.607166 0.439048 -0.590895 -0.676816 0.208443 -0.832702 -0.51299 0.208231 -0.914851 -0.345959 0.211584 0.977294 -0.0113697 -0.0303743 0.999215 -0.025439 -0.24024 -0.619642 -0.747214 -0.0876562 -0.910167 -0.404861 -0.0944859 -0.994369 -0.047996 -0.202792 0.978981 -0.0216985 -0.183006 0.982156 -0.0433442 -0.320168 0.928248 -0.189335 -0.184034 0.971994 -0.146151 -0.159492 0.987199 0 -0.307025 0.705139 -0.639151 -0.231106 0.936824 -0.262584 -0.175652 0.984265 -0.0192107 -0.161659 0.986573 -0.0232339 -0.0180618 0.999828 -0.00428108 -0.116231 0.993212 -0.00446618 0.700179 0.683557 -0.206151 0.613964 0.784848 -0.0840339 -0.865306 0.501235 0.00289479 0.0127713 0.304468 -0.952437 0.0211437 0.207245 -0.97806 -0.946579 0.32212 0.0150585 0.00172149 0.253659 -0.967292 -0.334106 -0.9287 -0.160902 -0.272688 -0.560563 -0.781927 -0.170068 -0.655183 -0.736079 -0.150937 -0.811304 -0.564804 0.00304243 0.256714 -0.966483 -0.962268 0.272094 -0.00209838 0.0202054 0.259424 -0.965552 0.00362985 0.254243 -0.967134 -0.562505 0.826666 -0.014551 0.00912705 0.827439 -0.561481 0.00376481 -0.999993 0 -0.00640261 -0.999979 0 -0.0277799 -0.994563 -0.100366 -0.0118798 -0.972288 -0.233483 0.232524 0.748147 -0.621457 0.116136 0.819301 -0.561478 0.245297 0.622437 -0.743238 0.190675 0.274339 -0.94254 0.0173421 -0.943135 -0.331956 0.239685 -0.921761 -0.304809 0.0187042 -0.986222 0.164364 -0.515856 -0.722129 -0.460893 -0.328464 -0.943443 -0.0450204 -0.0350695 -0.996205 0.0796611 -0.0538302 -0.944692 -0.323511 0.0600741 -0.946303 -0.317651 0.128062 -0.948355 -0.290212 0.0618069 -0.996392 -0.0581598 0.128664 -0.988781 -0.0758759 -0.0158231 0.0273141 -0.999502 -0.135538 0.419095 -0.897769 -0.043662 0.0536286 -0.997606 -0.267362 -0.94003 -0.211806 -0.0893068 -0.98787 -0.127033 0.00136711 -0.9732 0.229958 0.00430633 -0.975086 0.221786 0.00325629 -0.99977 0.0212113 0.00220849 -0.999876 0.0155828 0.00600762 -0.999982 0 0.0215737 -0.978687 0.204222 0.00706149 -0.979474 0.201447 0.00121373 -0.993887 0.110394 0.00056366 -0.992475 0.122448 0.00992604 0.976227 -0.216523 0.0103565 0.983511 -0.180549 0.0120832 -0.368162 -0.929683 0.0375593 -0.418601 -0.907393 0.0157535 0.908454 -0.417687 0.0133449 -0.653912 -0.756453 0.0050826 -0.991906 -0.12687 0.00824597 -0.995997 -0.0890107 0.00579197 -0.999983 0 0.00792161 -0.999969 0 0.0900223 0.322045 -0.942435 0.0261724 0.290578 -0.956493 0.193393 0.401796 -0.895075 0.448239 0.556923 -0.699227 0.20644 0.458555 -0.864355 0.0886569 -0.96061 -0.26338 0.0329394 -0.965017 -0.26011 0.493399 0.829649 -0.261228 0.513255 0.858236 0 0.61085 0.64707 -0.456249 0.623291 0.625076 -0.469881 0.654889 0.630336 -0.416889 0.627736 0.585157 -0.513361 0.196769 -0.626184 -0.754437 0.321696 -0.569863 -0.756153 0.470683 0.771808 -0.427515 0.357945 0.867946 -0.344304 0.121749 -0.986573 -0.108863 0.548697 0.0464899 -0.834728 0.516475 -0.150964 -0.84289 0.207269 -0.947646 -0.242912 0.295448 -0.907434 -0.298788 0.507218 0.801059 -0.317858 0.673863 0.677769 -0.294173 0.467493 -0.401542 -0.787537 0.562744 -0.306815 -0.767583 0.686575 0.708696 -0.162371 0.702747 0.71144 0 0.70865 -0.245234 -0.661571 0.651286 -0.255947 -0.714365 -0.315553 -0.906901 -0.279207 0.0491658 0.930745 -0.36235 0.0793432 0.84305 -0.531951 0.010608 0.339912 -0.940397 -0.340812 -0.936385 -0.0838458 -0.324465 -0.940714 -0.0988966 -0.150642 -0.616844 -0.772535 -0.292648 -0.19739 -0.935625 -0.141466 -0.256022 -0.956264 -0.124928 0.872047 -0.47321 -0.1228 -0.992219 -0.0205504 -0.136004 -0.990129 -0.0338639 -0.711053 -0.701266 -0.051278 -0.788364 -0.61521 0 -0.520352 -0.853952 0 -0.340634 -0.939571 -0.0342826 -0.195716 -0.980661 0 -0.169514 -0.985031 -0.0312983 -0.178648 -0.941851 -0.284608 -0.154425 -0.975832 -0.154615 -0.291815 -0.921896 -0.254855 -0.177527 -0.982064 -0.0635177 0.0705385 0.922084 -0.380507 -0.308644 -0.934665 -0.176467 -0.213337 -0.968168 -0.130908 -0.283075 -0.923139 -0.26016 -0.207004 -0.976434 -0.0610432 0.572299 0.759667 -0.308836 0.0971177 0.994288 -0.0442562 0.0208689 0.999619 -0.0180905 0.0193006 0.999812 -0.00188787 0.0256698 0.999669 -0.00138084 0.713476 0.687944 -0.132982 0.131463 0.991019 -0.0244555 -0.0263668 -0.999649 -0.00258889 0.048643 -0.998384 -0.0293824 -0.0233948 -0.999723 -0.00273545 0.0369386 -0.998888 -0.029309 0.0275963 -0.906223 -0.421898 -0.109778 -0.954769 -0.276341 -0.0965465 -0.995035 -0.0241526 -0.0552728 -0.770328 -0.635248 0.71527 -0.685649 -0.135182 0.982895 0.0180505 -0.18328 -0.051672 -0.997025 -0.0572003 -0.890035 -0.449214 -0.077751 -0.994161 -0.0707199 -0.0815043 -0.498916 0.865381 -0.0468856 -0.989101 0.113082 -0.0942912 -0.0110813 0.0320331 -0.999425 0.0269825 0.765107 -0.643338 0.518681 -0.227002 -0.824282 0.556367 -0.15172 -0.816968 0.885515 -0.0514565 -0.461753 0.889182 0.185886 -0.418092 -0.0420436 -0.765125 -0.642508 -0.0371337 -0.945332 -0.323988 -0.0969511 -0.920013 -0.379707 -0.0687209 -0.415438 -0.907022 0.119712 0.843033 -0.52437 0.0673315 0.393973 -0.916652 -0.144593 -0.599881 -0.786915 -0.161291 -0.654586 -0.738581 0.0099952 -0.146706 -0.98913 0.0197458 -0.0861809 -0.996084 -0.0676694 -0.440242 -0.895325 -0.01638 -0.475343 -0.879648 -0.152502 -0.285373 -0.946206 -0.16363 -0.350383 -0.922202 -0.18145 -0.375688 -0.908809 -0.27211 -0.857047 -0.437524 -0.376987 -0.873543 -0.307903 0.251522 -0.743831 -0.619236 0.262479 -0.421421 -0.868049 0.119007 -0.867086 -0.483735 -0.519066 -0.382561 -0.764341 0.316329 -0.444164 -0.838245 0.148854 -0.68411 -0.714028 0.323476 -0.606666 -0.726168 -0.757924 -0.169294 -0.629993 -0.685064 0.31689 -0.655948 0.905213 -0.306134 -0.294739 0.574954 -0.527161 -0.625723 0.0574073 -0.672252 -0.738093 -0.175285 0.255 -0.950921 -0.185925 -0.0544863 -0.981052 0.129347 0.83536 0.534268 0.118399 0.873213 0.472738 -0.0525127 -0.740731 0.669746 -0.0982725 -0.722066 0.684809 0.712548 -0.118268 0.691584 -0.134418 -0.648206 0.749507 -0.155146 -0.628556 0.762133 0.162171 -0.162173 0.973345 0.0601051 -0.766724 0.639157 -0.169509 -0.651046 0.739869 -0.185797 -0.711953 0.677202 -0.269124 -0.268456 0.924934 -0.264254 -0.0729115 0.961693 0.0985254 -0.789859 0.605323 -0.197151 -0.330009 0.923161 -0.524611 -0.829086 0.193387 -0.651659 -0.673744 0.348438 0.0472051 -0.392069 0.918724 0.0792561 -0.775125 0.626817 -0.217294 -0.339908 0.915011 0.0844581 -0.843913 0.52979 -0.129492 -0.550949 0.824431 -0.208124 -0.262236 0.942293 -0.205833 0.224237 0.95255 -0.202984 -0.0299479 0.978724 -0.196995 -0.0760558 0.97745 0.314692 0.948867 -0.0249224 0.485047 0.87336 0.0444046 0.0843986 -0.965016 -0.248235 0.177452 -0.972282 -0.152244 0.0918676 -0.995756 0.00545089 0.177727 -0.984072 0.00380684 -0.400194 -0.910642 -0.10284 -0.164714 -0.872981 0.459101 0.99015 -0.139754 -0.00846486 0.998659 -0.0323099 -0.0404446 0.959088 -0.256893 -0.118978 0.727852 -0.0662329 -0.682528 0.950486 0.0162356 -0.310344 0.999004 0.0188061 -0.0404679 0.894491 0.383863 -0.229205 0.999315 -0.0153768 -0.0336565 0.998614 -0.0140517 -0.050719 0.880856 -0.21167 -0.423426 0.996288 -0.068364 -0.0523029 0.96438 -0.249301 -0.0884284 -0.886053 -0.442586 0.13794 -0.835909 -0.441599 -0.325953 -0.897746 -0.422837 0.123535 -0.85681 -0.378268 -0.350414 0.208092 0.850401 -0.483234 0.0718489 0.968905 -0.236772 0.134333 0.990575 0.0267643 0.0249859 0.999318 0.0271779 0.192187 0.834154 0.516963 0.0607586 0.956286 0.286053 0.338518 0.743398 0.576858 0.172793 0.246192 0.953694 -0.347739 -0.478622 0.806225 0.5015 -0.808107 0.308967 -0.841765 -0.377976 -0.385442 0.841765 -0.377976 0.385442 0.928606 0 0.371068 -0.00402046 0.183757 -0.982963 -0.00332877 0.185867 -0.982569 -0.00413716 0.185715 -0.982595 -0.00365425 0.186344 -0.982478 -0.004323 -0.231761 0.972763 -0.00484849 -0.236856 0.971533 -0.00581437 -0.23931 0.970926 -0.00469308 -0.246804 0.969054 -0.0232888 0.00347833 -0.999723 0.000433268 0.0100574 -0.999949 0.013751 0.0133633 -0.999816 0.0111295 0.0195223 -0.999747 0.00282776 0.0175654 -0.999842 0.00293698 0.0132145 -0.999908 0.0036642 0.0100827 -0.999942 0.00300052 0.00598459 -0.999978 0.0812123 0.996434 0.0228915 -0.0024228 0.999688 0.0248507 -0.0814006 0.996011 0.0365525 -0.0786533 0.994453 0.0698399 0.271064 -0.962184 -0.0269467 0.272252 -0.961951 -0.0229978 0.269406 -0.962554 -0.0301858 0.265606 -0.963963 -0.0151097 0.221484 -0.975163 0.00112373 0.173934 -0.983579 0.0481696 0.131528 -0.989309 0.0629925 0.126013 -0.986029 0.108939 0.000433268 0.0100574 -0.999949 -0.0392858 0.00637072 -0.999208 -0.0412059 0.00285057 -0.999147 0.013751 0.0133633 -0.999816 0.0111295 0.0195223 -0.999747 0.00282776 0.0175654 -0.999842 0.00293698 0.0132145 -0.999908 -0.0278286 0.997165 0.0699055 -0.0302062 0.997857 0.0580414 -0.031602 0.993933 0.105351 -0.0709922 -0.997263 -0.0206324 0.104938 -0.994429 0.00992516 0.272252 -0.961951 0.0229979 0.271064 -0.962184 0.0269467 0.269406 -0.962554 0.0301858 0.221484 -0.975163 -0.00112302 0.265606 -0.963963 0.0151101 0.173934 -0.983579 -0.0481688 0.00114115 0.00558492 -0.999984 -0.0232891 0.00347864 -0.999723 0.000433643 0.0100581 -0.999949 0.0137518 0.0133646 -0.999816 0.0111304 0.0195243 -0.999747 0.00282823 0.0175674 -0.999842 0.0029369 0.013214 -0.999908 0.00366394 0.0100797 -0.999942 0.00300012 0.00598086 -0.999978 0.249465 -0.926405 0.282031 -0.54439 -0.77707 0.315915 -0.244103 -0.929964 0.274921 -0.286484 -0.887431 0.3611 -0.181475 -0.908118 0.377344 -0.0714553 0.990933 0.113784 -0.0182639 0.988944 0.147163 0.049205 0.998768 0.00647563 -0.0855377 0.993272 -0.078067 0.920208 -0.371945 0.121962 0.921355 -0.368559 0.123564 -0.338666 0.940891 0.00547682 -0.412209 0.911001 0.0126808 -0.537756 0.842657 0.0273424 -0.32417 0.945997 0.00182834 0.0359217 -0.997452 0.0616429 0.268041 -0.959073 0.0912878 0.326521 -0.941823 0.0797153 -0.20101 0.979489 -0.0140246 -0.362164 0.932097 0.00561972 0.0314442 -0.984067 0.174998 -0.0384957 -0.988166 0.148476 -0.0349721 -0.967331 0.251091 -0.260665 -0.0606123 0.963525 -0.0298034 -0.997795 0.059301 0.0257453 -0.998615 0.0458901 -0.157258 0.987384 -0.0185206 0.149358 0.988783 0 -0.183006 0.982156 0.0433442 -0.115746 0.993219 0.0108798 -0.00348237 0.00201627 0.999992 0.999944 0.0104829 0.00161475 0.659457 -0.274579 0.699802 0.17823 -0.75854 0.626779 0.894787 0.367221 -0.253977 0.969067 0.163961 0.184462 0.998626 0.00224007 0.0523582 -0.28355 0.958924 0.00805582 -0.682401 0.682899 0.260726 -0.423655 0.901703 0.0863073 0.102795 0.994192 -0.031874 0.192642 -0.980435 0.0404533 -0.635266 -0.320862 0.702485 -0.455554 0.317065 0.83183 0.818648 0.542924 0.187213 -0.223852 0.577822 0.784864 -0.164855 0.982384 0.088001 -0.231106 0.936824 0.262584 0.47728 0.770882 -0.421836 0.295328 0.955259 -0.0161935 -0.170068 -0.655183 0.736079 -0.0541147 -0.109277 0.992537 -0.310085 -0.426605 0.849621 -0.211104 0.276141 0.937647 0.0472101 0.479485 0.876279 0.0375593 -0.418601 0.907393 0.298779 -0.677574 0.672031 -0.361144 0.511567 0.779663 0.298983 0.473559 0.828463 -0.0106368 0.488731 0.87237 -0.0669067 0.880069 0.470109 -0.204791 -0.883829 0.420604 -0.334106 -0.9287 0.160902 -0.298028 -0.926994 0.227731 -0.322123 -0.91186 0.254457 -0.28388 -0.912311 0.295128 -0.315553 -0.906901 0.279207 -0.291536 -0.901626 0.319496 -0.117965 -0.978436 -0.16955 -0.191305 -0.976846 -0.0957851 -0.155602 -0.983921 -0.0876779 0.111889 -0.0107365 0.993663 0.123532 0.00832483 0.992306 0.201559 0.19924 0.958998 0.00156792 -0.999999 0 -0.00380097 -0.999993 0 0.00136711 -0.9732 -0.229958 0.00325629 -0.99977 -0.0212113 0.0273371 -0.99777 0.0608988 0.0079574 -0.998656 0.0512131 0.00706149 -0.979474 -0.201447 0.00056366 -0.992475 -0.122448 0.0162168 0.0349578 0.999257 0.0250837 0.0507402 0.998397 0.00692236 -0.995124 0.0983919 0.0050826 -0.991906 0.12687 0.108602 0.486049 0.867157 0.20644 0.458555 0.864355 0.0329394 -0.965017 0.26011 0.00810883 -0.973517 0.22847 0.196769 -0.626184 0.754437 0.493399 0.829649 0.261228 0.645601 0.723902 0.243238 0.470683 0.771808 0.427515 0.61085 0.64707 0.456249 0.0886569 -0.96061 0.26338 0.161468 -0.942401 0.29293 0.455892 0.595034 0.661889 0.189193 -0.903989 0.383419 0.260355 -0.85997 0.438939 0.507218 0.801059 0.317858 0.378305 -0.688348 0.61892 0.274741 -0.947728 0.162263 0.414765 -0.88304 0.219569 0.811945 0.113867 0.57252 0.673863 0.677769 0.294173 0.806686 0.372766 0.458587 0.869559 -0.269131 0.414049 0.648942 -0.687241 0.326456 0.0206726 0.12311 0.992178 -0.0478021 -0.138854 0.989159 -0.34423 -0.935097 0.084256 -0.350762 -0.936465 0 -0.346122 -0.937373 0.0391366 -0.124962 -0.984855 0.120189 -0.154425 -0.975832 0.154615 -0.854092 0.520122 0 -0.292648 -0.19739 0.935625 -0.310901 -0.537544 0.783828 -0.324989 0.122924 0.937695 0.0197109 0.999806 0 -0.160158 -0.696999 0.698957 -0.331957 -0.943226 0.0113807 -0.324453 -0.945902 0 -0.3311 0.0565511 -0.941899 0.505001 0.288294 0.813548 -0.524248 0.26496 -0.809297 0.111933 0.993369 0.0262641 0.131463 0.991019 0.0244555 0.0366474 0.999243 0.0130463 0.0227057 0.999502 0.0218905 0.0130871 0.999871 0.00930275 -0.0132844 0.999895 0.005851 0.0552155 0.998438 0.00858667 0.030778 0.999515 0.0046632 0.048643 -0.998384 0.0293824 -0.595149 -0.801983 0.0512021 -0.497617 -0.866396 0.0416421 -0.605958 -0.793844 0.0512417 0.646392 0.747876 0.151193 0.978569 0.0184547 0.205089 0.684193 -0.289391 0.669427 0.451239 -0.768469 0.453694 -0.0529873 -0.99859 0.00322309 -0.891308 -0.443786 0.0928684 -0.958248 -0.268079 0.0994732 0.10556 -0.181699 0.977672 0.0275963 -0.906223 0.421898 -0.248214 -0.370905 0.894885 -0.244238 -0.803506 0.542887 0.0197458 -0.0861809 0.996084 0.0373302 -0.39939 0.916021 -0.0180914 -0.391105 0.920168 0.0099952 -0.146706 0.98913 -0.144593 -0.599881 0.786915 -0.163982 -0.889974 0.425507 0.0312711 -0.315755 0.948325 -0.161291 -0.654586 0.738581 -0.176919 -0.898359 0.402059 -0.197495 -0.926928 0.31906 0.262479 -0.421421 0.868049 -0.376987 -0.873543 0.307903 -0.532676 -0.842461 0.0807266 -0.525943 -0.821531 0.220162 -0.198781 -0.327107 0.923844 -0.00632958 -0.630944 0.775802 0.0649604 -0.729764 0.680606 -0.0137919 -0.63576 0.771764 0.0574073 -0.672252 0.738093 -0.149632 -0.416259 0.896849 -0.144497 -0.404844 0.902896 -0.120133 -0.462566 0.878408 -0.174871 -0.400422 0.89949 -0.165807 -0.331805 0.928662 -0.171737 0.154326 0.97298 0.271116 0.378947 -0.884814 0.457096 -0.274407 -0.846028 0.178537 -0.810181 -0.558329 0.659627 -0.624829 -0.417709 -0.134418 -0.648206 -0.749507 -0.146119 -0.507933 -0.848913 -0.171266 -0.450014 -0.876445 -0.185797 -0.711953 -0.677202 -0.203311 -0.774534 -0.598967 0.108805 0.0362692 -0.993401 -0.201944 -0.377169 -0.90386 -0.448323 -0.439981 -0.778089 -0.269124 -0.268456 -0.924934 -0.264254 -0.0729115 -0.961693 -0.145754 -0.369925 -0.917557 -0.170453 -0.454303 -0.874388 -0.142512 -0.45383 -0.879619 -0.221226 0.301473 -0.927455 0.791465 -0.490227 -0.365048 0.568322 -0.530469 -0.628978 -0.190079 -0.253428 -0.948496 -0.0467716 -0.998832 -0.0121633 0.0171011 -0.999827 -0.00729352 -0.183646 -0.981921 -0.0458848 0.691757 -0.699952 0.177597 0.998659 -0.0323099 0.0404446 0.885515 -0.0514565 0.461753 0.908253 -0.320363 0.269153 -0.700123 -0.661436 0.268943 -0.762001 -0.55168 0.339123 -0.903758 -0.427218 0.0265644 -0.114928 -0.986069 0.120246 -0.116055 -0.984242 0.133414 -0.128024 -0.982002 0.138857 -0.128174 -0.981719 0.140712 0.936984 0.349372 -0.000996089 0.936431 0.349565 -0.0300037 0.749929 0.659252 -0.054714 0.745352 0.657732 -0.108803 -0.0158777 -0.00254438 0.999871 -0.00331957 0.0413854 0.999138 -0.00228291 0.0852984 0.996353 -0.0213185 0.00889507 0.999733 -0.0163657 -0.0131179 0.99978 -0.0250261 0.00249375 0.999684 -0.0146887 0.00255066 0.999889 -0.992569 0.000889444 -0.121678 -0.991918 -0.0121586 -0.126298 -0.991076 -0.0252043 -0.130895 -0.00596059 -0.000876228 0.999982 -0.00582191 -0.0026388 0.99998 -0.00339254 -0.00296977 0.99999 -0.00121507 0.00509745 0.999986 0.0141414 -0.9998 -0.014134 0.0186312 -0.99973 -0.0138584 0.00101925 0.00984707 0.999951 0.000572063 0.023324 0.999728 -0.00185071 0.998162 -0.0605786 -0.00168408 0.998022 -0.0628503 -0.000986761 0.997974 -0.0636215 -0.000106768 0.998038 -0.0626153 0.000748339 0.0100325 -0.999949 -0.0232249 0.00261218 -0.999727 -0.039154 0.00505262 -0.99922 -0.0416606 0.000486318 -0.999132 0.0138315 0.0134158 -0.999814 0.0112979 0.0196582 -0.999743 0.00235814 0.0176621 -0.999841 0.00149193 0.0110703 -0.999938 0.0036642 0.0100827 0.999942 0.00304526 0.00559495 0.99998 0.00300052 0.00598459 0.999978 -0.0024228 0.999688 -0.0248507 0.0901141 0.99516 -0.0391952 0.0812123 0.996434 -0.0228915 0.0922259 0.993792 -0.0622257 -0.000265207 0.999166 -0.0408224 -0.0164004 0.999346 -0.0322199 -0.0310661 0.998964 -0.0332474 -0.0302062 0.997857 -0.058042 0.104937 -0.994429 0.00992488 -0.0709922 -0.997263 -0.0206326 -0.241573 -0.969815 -0.0331729 -0.238738 -0.969106 -0.0619504 -0.0232249 0.00261218 -0.999727 0.00074834 0.0100325 -0.999949 0.0138315 0.0134158 -0.999814 0.0112979 0.0196582 -0.999743 0.00235814 0.0176621 -0.999841 0.00149193 0.0110703 -0.999938 -0.00168408 0.998022 0.0628503 -0.000106768 0.998038 0.0626153 0.00197252 0.998016 0.0629228 0.00264016 0.997964 0.0637234 -0.000156191 -0.998124 0.0612176 -0.00014299 -0.998295 0.0583625 -0.000808344 -0.998255 0.0590523 -0.00199575 -0.998412 0.0562905 0.821756 0.412634 -0.393002 0.22871 -0.844166 -0.484846 0.203526 -0.757839 -0.619885 -0.182811 0.619215 -0.763645 0.0561699 0.387269 -0.920254 0.239442 0.904933 -0.3518 0.423476 0.475816 -0.770888 0.293002 0.587175 -0.75457 0.918657 0.368296 -0.142924 -0.122804 0.992418 0.00510635 -0.0872023 0.99619 -0.00110729 -0.085896 0.996152 0.0174281 0.828897 0.552927 -0.0848654 0.855216 0.509654 -0.0941182 -0.66412 -0.74264 -0.0862003 0.90039 0.421798 -0.106694 -0.112286 -0.991846 -0.0602842 -0.141909 0.989713 0.0181841 -0.104082 0.994397 0.0184855 -0.076172 0.989974 0.118949 -0.116039 0.976743 0.180301 -0.0863523 0.985671 0.144901 -0.188057 -0.448231 -0.873913 -0.138756 0.984868 0.103835 -0.143815 0.989275 0.0255538 0.0304267 -0.997954 -0.0562349 0.0284428 -0.998297 -0.0509324 0.105324 -0.992766 -0.0576334 0.0173677 -0.998465 -0.0525861 -0.1511 0.988334 0.0191011 0.618406 0.785653 -0.0179623 0.692972 0.717419 -0.0714172 -0.342167 -0.513663 -0.786811 -0.41008 -0.350612 -0.841965 0.265249 -0.0158043 -0.96405 0.220318 0.350419 -0.910311 0.0111821 0.0987418 -0.99505 0.0573592 0.165812 -0.984488 0.711901 0.700808 -0.0454386 -0.875171 0.365763 -0.316691 -0.984379 -0.158862 -0.0759069 -0.82071 -0.0406914 -0.569894 -0.943308 -0.325339 -0.0657582 0.0385937 -0.998322 -0.043161 0.0428974 -0.998924 -0.0176453 -0.946404 0.31593 0.0671315 -0.12759 0.28129 -0.951103 -0.974478 0.220234 0.0434735 -0.170094 0.985065 -0.0267234 -0.222995 0.972461 -0.0677666 -0.159856 0.98714 -0.000751436 -0.644239 0.764315 -0.0279028 -0.029941 0.0381407 -0.998824 -0.00254778 0.127152 -0.99188 -0.000751218 0.257043 -0.9664 -0.181681 -0.624549 -0.759559 -0.20447 -0.657727 -0.724974 -0.000249107 0.196134 -0.980577 -0.000228461 0.220425 -0.975404 -0.962607 0.269319 -0.0292357 -0.962481 0.27135 0.000128141 0.00873223 0.297025 -0.95483 0.0173263 0.281873 -0.959295 0.0144747 0.254577 -0.966944 0.0502682 -0.994294 -0.0940834 0.0241256 -0.984431 -0.17411 -0.0345489 0.610944 -0.790919 -0.351124 0.466068 -0.812092 -0.343826 0.590967 -0.729755 0.280919 -0.0205964 -0.95951 0.338328 -0.466722 -0.817132 0.251804 -0.958096 -0.136552 0.377655 -0.768343 -0.516745 -0.548734 -0.197441 -0.812347 -0.3663 -0.127706 -0.921692 -0.315101 -0.536868 -0.782614 0.00983441 -0.920195 -0.391336 -0.075988 -0.93514 -0.346034 -0.1428 -0.917478 -0.371272 -0.122435 -0.525821 -0.841737 0.0606921 0.0416622 -0.997287 0.0386851 0.0267937 -0.998892 0.167754 0.367042 -0.914953 -0.00824689 -0.991446 0.130257 0.00827118 -0.975698 0.218964 0.00172048 -0.999992 0.00351271 0.0343822 -0.979925 0.19638 0.0156312 0.490857 -0.8711 0.0252499 0.487673 -0.872661 0.00433929 -0.964861 -0.262723 0.00526525 -0.966808 -0.255448 0.0613062 0.832405 -0.550767 0.162518 0.821362 -0.546766 0.0137408 -0.889801 -0.456142 0.0613156 -0.858724 -0.508757 0.139476 0.173108 -0.974977 0.622291 0.760779 -0.184307 0.388793 0.863221 -0.322009 0.403446 -0.48991 -0.7728 0.31682 -0.860349 -0.39928 0.752334 0.185807 -0.632036 0.766232 -0.247916 -0.592812 0.625913 -0.608177 -0.488215 -0.275063 -0.840398 -0.466981 0.0430154 0.964862 -0.259214 0.0443511 0.957711 -0.284292 -0.305618 -0.946578 -0.102896 -0.00880742 0.992864 -0.11893 -0.256556 -0.777523 -0.57414 -0.43439 -0.89003 -0.138387 0.0278924 0.975228 -0.219438 -0.249027 -0.873819 -0.417643 0.203224 0.97427 -0.0974593 0.0310743 0.999485 -0.00796874 0.0438398 0.999013 -0.0071053 0.0157966 0.999866 -0.0043741 -0.0141955 0.999899 0.000298172 0.0138726 0.999293 -0.0349472 0.00860829 0.999729 -0.0216354 -0.000428123 0.999754 -0.0221642 -0.00435544 0.999881 -0.0147922 -0.0719217 0.997394 -0.00575128 -0.507081 -0.860042 -0.0565316 -0.680242 -0.730124 -0.0647257 -0.218394 -0.909874 -0.352752 -0.472996 -0.825243 -0.308624 0.754097 0.112813 -0.647001 0.661428 -0.698804 -0.272373 0.41418 -0.847011 -0.333208 -0.763465 0.64225 -0.068097 -0.953313 0.291757 -0.0779239 -0.995701 0.0415393 -0.0827946 -0.95522 0.285177 -0.0789186 -0.138133 -0.813347 -0.565143 -0.138176 0.0112071 -0.990344 -0.113814 -0.372216 -0.921141 0.535138 0.674212 -0.508984 0.974715 0.12827 -0.182966 0.294251 -0.0783637 -0.95251 0.53389 -0.246669 -0.808775 0.66981 -0.13692 -0.7298 0.059676 -0.748311 -0.660659 0.00718023 -0.765751 -0.643097 0.0242344 -0.96325 -0.26751 -0.163465 -0.516383 -0.840611 -0.191495 -0.633902 -0.749332 -0.29307 -0.940036 -0.174478 -0.0624569 -0.563468 -0.823773 -0.171918 -0.100886 -0.979932 -0.242849 -0.0889903 -0.965974 -0.0794905 -0.555239 -0.827883 0.300863 -0.692632 -0.655547 -0.188393 -0.314216 -0.930471 -0.177042 -0.223179 -0.958565 -0.484011 0.428309 -0.763076 -0.273873 0.415289 -0.867484 -0.18154 0.267511 -0.946299 0.539748 0.763689 0.35419 0.498198 0.373499 0.782494 0.882075 0.385989 0.270105 0.857446 0.179493 0.482254 0.00406829 -0.783983 0.620769 0.0226053 -0.961755 0.272978 -0.0413778 -0.943318 0.329301 -0.0916077 -0.119353 0.988617 -0.15778 -0.0601001 0.985644 -0.18461 -0.220457 0.957767 0.293972 -0.164229 0.941599 -0.179484 -0.87239 0.454666 0.0535504 0.0412434 0.997713 -0.190694 -0.23706 0.952596 -0.253653 -0.776888 0.576286 0.163696 -0.846799 0.506098 -0.450582 -0.607427 0.654224 -0.764348 -0.384365 0.517722 -0.774791 -0.157061 0.612398 -0.484109 -0.302022 0.821231 -0.392472 0.0571935 0.917984 0.148149 -0.440679 0.885355 0.192539 -0.776115 0.600479 -0.193089 -0.165186 0.967176 0.118024 0.992989 -0.00662989 0.148198 0.988914 0.00926733 -0.22979 -0.970081 0.0783558 -0.215691 -0.902876 0.371876 0.914319 -0.397328 -0.0784329 0.535975 -0.844233 0.00114353 0.982164 -0.187822 -0.00878203 0.999681 0.0250071 0.00352152 0.999992 -0.00391518 0.000742457 0.999915 -0.0130216 0.000800835 0.999547 -0.0300063 0.00216105 0.987657 -0.156351 0.0093824 -0.828548 -0.555995 -0.0661664 -0.935869 -0.317495 0.152797 -0.0453209 0.96582 0.25522 -0.0874824 0.995897 0.0231576 0.871483 0 -0.490426 -0.928606 0 -0.371068 -0.128024 -0.982002 -0.138857 -0.128174 -0.981719 -0.140712 0.829505 -0.549298 -0.100957 0.591601 -0.799311 -0.105404 0.830163 -0.550683 -0.0870498 0.230471 -0.966093 -0.116394 -0.0709922 -0.997263 0.0206323 0.272252 -0.961951 -0.0229978 0.104938 -0.994429 -0.00992517 0.271064 -0.962184 -0.0269467 0.269406 -0.962554 -0.0301858 0.265606 -0.963963 -0.0151101 0.221484 -0.975163 0.00112294 0.173934 -0.983579 0.0481686 0.00114108 0.00558458 0.999984 -0.0232891 0.00347837 -0.999723 0.000433518 0.0100578 -0.999949 0.0137516 0.0133642 -0.999816 0.0111304 0.0195239 -0.999747 0.00282844 0.0175672 -0.999842 0.0029372 0.0132146 -0.999908 0.00366408 0.0100809 -0.999942 0.00300025 0.00598209 -0.999978 -0.0814006 0.996011 0.036552 -0.0786532 0.994453 0.0698399 0.271064 -0.962184 -0.0269467 0.272252 -0.961951 -0.0229977 0.173934 -0.983579 0.0481686 0.131528 -0.989309 0.0629917 0.126013 -0.986029 0.108939 0.000433643 0.0100581 0.999949 -0.0392862 0.00637118 0.999208 -0.0232891 0.00347864 0.999723 -0.0412062 0.00285133 0.999147 0.0137518 0.0133646 0.999816 0.00282823 0.0175674 0.999842 0.0111304 0.0195243 0.999747 0.0029369 0.013214 0.999908 -0.0310662 0.998964 -0.033247 -0.0302062 0.997857 -0.0580415 -0.0278286 0.997165 -0.0699056 -0.031602 0.993933 -0.105351 -0.0709922 -0.997263 0.0206324 0.272252 -0.961951 -0.0229979 0.104938 -0.994429 -0.00992516 0.271064 -0.962184 -0.0269467 0.269406 -0.962554 -0.0301858 0.265606 -0.963963 -0.0151101 0.221484 -0.975163 0.00112302 0.173934 -0.983579 0.0481688 0.00114115 0.00558492 0.999984 -0.196212 0.977565 -0.0766033 -0.198499 0.961548 -0.189799 0.0794278 0.994916 0.0619149 -0.0319175 0.996868 -0.0723517 0.499804 0.177602 0.847734 0.175469 -0.554484 0.813485 0.327809 -0.214539 0.920062 0.461155 -0.882848 0.0889722 0.461318 -0.882536 0.0911904 -0.00900426 0.999872 -0.0132433 0.347616 0.937207 0.0284029 0.40285 -0.911042 0.0878316 -0.882648 -0.455886 0.114454 -0.0237241 -0.932191 0.361189 -0.156194 0.987699 -0.00731681 -0.155713 0.987722 -0.012581 -0.137055 0.990423 -0.0167044 -0.160643 0.987012 0.000298179 -0.156714 0.987169 0.0306273 0.246178 0.969164 -0.0108028 0.756743 0.559354 -0.338324 0.409753 0.642373 0.647657 0.0070019 -0.273482 0.961852 -0.0213369 -0.323935 0.945839 0.0009889 -0.153499 0.988148 0.581463 0.541525 0.607166 0.439048 -0.590895 0.676816 0.653991 -0.753358 0.0689026 0.729899 -0.678149 0.0857965 -0.0432955 0.998755 0.0247989 -0.24024 -0.619642 0.747214 -0.0876562 -0.910167 0.404861 -0.220102 0.975293 -0.0189457 -0.250039 0.95985 0.127156 -0.382916 0.813866 0.437032 -0.184034 0.971994 0.146151 -0.237746 0.83257 0.500304 -0.307025 0.705139 0.639151 0.613964 0.784848 0.0840339 0.0127713 0.304468 0.952437 0.0211437 0.207245 0.97806 0.962332 0.271873 -0.0014389 0.962268 0.272094 -0.00209838 0.0111908 0.197806 0.980177 0.00912705 0.827439 0.561481 0.562505 0.826666 -0.014551 0.0181142 0.699312 0.714587 0.728335 0.684741 -0.0256225 -0.0277799 -0.994563 0.100366 -0.0118798 -0.972288 0.233483 0.137231 0.821359 0.553657 0.14333 0.543373 0.827165 0.232524 0.748147 0.621457 0.116136 0.819301 0.561478 0.245297 0.622437 0.743238 0.0187042 -0.986222 -0.164364 -0.328464 -0.943443 0.0450204 -0.318377 -0.939078 0.129493 -0.10067 -0.994357 -0.0334756 -0.227789 -0.972657 0.0452851 0.0600741 -0.946303 0.317651 0.128062 -0.948355 0.290212 -0.0158231 0.0273141 0.999502 0.00714808 0.0289683 0.999555 -0.00658899 0.049494 0.998753 -0.043662 0.0536286 0.997606 0.00059825 -0.984345 -0.17625 0.00382191 -0.976411 -0.215886 0.00340481 -0.999988 -0.0033886 0.00700244 0.907239 0.420558 0.00942135 0.932987 0.359787 0.00992604 0.976227 0.216523 0.0103565 0.983511 0.180549 0.0120832 -0.368162 0.929683 0.00746558 -0.730113 0.683285 0.00824597 -0.995997 0.0890107 0.0900223 0.322045 0.942435 0.0583706 0.0747159 0.995495 0.448239 0.556923 0.699227 0.0255214 -0.98256 0.184186 0.623291 0.625076 0.469881 0.483633 0.753851 0.444756 0.182829 -0.974949 0.126683 0.489837 0.104005 0.865588 0.207269 -0.947646 0.242912 0.500356 0.739406 0.45047 0.686575 0.708696 0.162371 0.822547 0.488987 0.290358 -0.304229 -0.887985 0.344859 0.0793432 0.84305 0.531951 0.0573439 0.354277 0.933381 0.010608 0.339912 0.940397 -0.340812 -0.936385 0.0838458 -0.332925 -0.928662 0.163545 -0.324465 -0.940714 0.0988966 -0.141466 -0.256022 0.956264 -0.0777934 0.938753 0.335694 -0.124928 0.872047 0.47321 0.0216773 0.939352 0.34227 -0.123933 -0.991222 0.0460424 -0.136004 -0.990129 0.0338639 -0.138764 -0.988771 0.0554576 -0.711053 -0.701266 0.051278 -0.340634 -0.939571 0.0342826 -0.169514 -0.985031 0.0312983 -0.291815 -0.921896 0.254855 0.0705385 0.922084 0.380507 -0.213337 -0.968168 0.130908 -0.207004 -0.976434 0.0610432 -0.422098 -0.0394878 0.90569 -0.486426 -0.0476757 0.87242 -0.00989106 0.0170785 0.999805 0.124287 0.31988 -0.939271 0.000604653 0.021626 -0.999766 0.000422949 0.021881 -0.999761 0.000565266 0.0209008 -0.999781 -0.814268 -0.0906253 0.573372 -0.690913 -0.0732921 0.719213 0.24995 0.629629 -0.735589 0.261452 0.925321 -0.274635 0.151647 0.435438 -0.887354 0.250972 0.930103 -0.268181 0.248066 0.696486 -0.673328 0.0971177 0.994288 0.0442562 0.0885469 0.993485 0.0717434 0.0208689 0.999619 0.0180905 0.713476 0.687944 0.132982 0.119014 0.992699 0.0195876 0.513411 -0.851586 0.105881 0.433154 -0.789914 0.434067 0.0369386 -0.998888 0.029309 0.71527 -0.685649 0.135182 0.982895 0.0180506 0.18328 -0.890035 -0.449214 0.077751 -0.68865 -0.722745 0.0583191 -0.986292 0.138635 0.0894862 -0.989101 0.113082 0.0942912 0.0498551 0.854413 0.517197 0.0269825 0.765107 0.643338 0.518681 -0.227002 0.824282 0.12627 -0.063009 0.989993 0.889182 0.185886 0.418092 -0.0371337 -0.945332 0.323988 -0.088904 -0.413151 0.906312 -0.117366 -0.450937 0.884806 -0.13152 -0.451776 0.882384 -0.148809 -0.468167 0.87102 -0.01638 -0.475343 0.879648 -0.16363 -0.350383 0.922202 -0.18145 -0.375688 0.908809 -0.328258 -0.748506 0.576181 0.119007 -0.867086 0.483735 0.254986 -0.669269 0.697897 -0.474267 -0.744648 0.469649 -0.519066 -0.382561 0.764341 -0.460858 0.0179958 0.887292 -0.34193 -0.352856 0.870963 -0.757924 -0.169294 0.629993 -0.685064 0.31689 0.655948 -0.172805 -0.00411783 0.984947 0.103265 0.330949 -0.937981 0.0959983 0.394475 -0.913879 -0.0548383 -0.444862 -0.893919 0.712548 -0.118268 -0.691584 0.849445 -0.393904 -0.351116 0.957171 -0.23422 -0.170189 0.0601051 -0.766724 -0.639157 -0.176497 -0.519812 -0.835849 0.578377 -0.348059 -0.737791 0.850513 -0.167026 -0.498728 -0.231335 -0.260804 -0.937265 -0.240754 -0.267528 -0.932988 -0.0176255 -0.463443 -0.885951 -0.197151 -0.330009 -0.923161 -0.182633 -0.407705 -0.894663 -0.524611 -0.829086 -0.193387 -0.715627 -0.676375 -0.17434 -0.000207657 -0.742824 -0.669487 -0.199494 -0.427945 -0.881513 -0.217294 -0.339908 -0.915011 -0.208124 -0.262236 -0.942293 -0.205833 0.224237 -0.95255 -0.202984 -0.0299479 -0.978724 0.285452 0.84971 0.443294 0.518533 0.804242 0.290378 0.485047 0.87336 -0.0444046 0.0918676 -0.995756 -0.00545089 -0.536972 -0.842645 -0.0401302 -0.145927 -0.888752 -0.434539 -0.163461 -0.985993 -0.0331362 0.950486 0.0162356 0.310344 0.894491 0.383863 0.229205 -0.886053 -0.442586 -0.13794 -0.897746 -0.422837 -0.123535 -0.835909 -0.441599 0.325953 -0.85681 -0.378268 0.350414 0.0718489 0.968905 0.236772 0.338518 0.743398 -0.576858 -0.703033 -0.703547 0.103759 -0.428598 -0.894399 0.127888 0.829505 -0.549298 0.100957 0.830163 -0.550683 0.0870498 0.591601 -0.799311 0.105404 0.230471 -0.966093 0.116394 0.999984 -0.00545834 -0.00139924 -0.929524 0.354537 -0.101435 -0.920495 0.352427 -0.168772 -0.907214 0.348688 -0.23533 -0.0103471 0.999934 -0.00490441 -0.00988061 0.999815 -0.0165069 -0.00941279 0.999561 -0.0281072 0.0225206 0.999743 0.0027588 0.997791 -0.0422026 -0.0513105 0.995871 -0.0702347 -0.0575202 0.993126 -0.0982087 -0.0636824 -0.00173017 0.998277 -0.0586532 -0.00685706 0.998578 -0.0528675 -0.241573 -0.969816 -0.0331727 -0.238738 -0.969106 -0.0619504 -0.95579 -0.000516441 -0.294051 -0.959989 0.00202241 -0.280029 -0.963977 0.00456081 -0.265945 0.998967 0.0411968 -0.0191967 0.999665 0.0206029 -0.0156471 0.999927 0 -0.0120907 0.0036642 0.0100827 0.999942 0.00304526 0.00559495 0.99998 0.00300052 0.00598459 0.999978 0.00304766 0.00441743 0.999986 -0.141789 -0.975801 -0.166458 -0.294385 -0.944112 -0.148287 -0.54439 -0.77707 -0.315915 -0.141839 0.973576 0.178973 -0.121876 0.981159 0.14991 0.0598017 0.993415 -0.0977299 -0.345295 -0.567916 -0.747157 -0.286484 -0.887431 -0.3611 -0.309007 -0.68747 -0.657191 0.103865 -0.974391 -0.199437 -0.261521 -0.903569 -0.339367 -0.994618 -0.021401 -0.101373 -0.97804 0.189761 -0.0861866 -0.962888 0.252642 -0.0949639 -0.9849 0.139163 -0.102989 -0.686781 0.725463 -0.0451068 0.920208 -0.371945 -0.121962 -0.0980058 0.995021 0.0180864 0.876098 0.471063 -0.102728 -0.826855 -0.551011 -0.112682 -0.982826 -0.14585 -0.11305 -0.880583 0.467227 -0.0792001 -0.0714553 0.990933 -0.113784 -0.110663 0.992402 -0.0537851 -0.170845 0.929889 -0.325759 -0.160161 0.986946 0.0169161 -0.157258 0.987384 0.0185206 0.403404 0.914976 -0.00914144 0.349126 0.937076 0 -0.175051 0.982503 -0.0636051 0.00415631 0.99998 0.00469818 -0.995799 0.088152 0.0247675 0.0920379 -0.309789 -0.94634 0.0371204 -0.118005 -0.992319 0.861473 0.0390037 -0.506303 0.998626 0.00224007 -0.0523582 -0.117865 0.992815 -0.0206421 -0.104237 0.994501 -0.0101344 -0.158153 0.987366 -0.00978029 -0.141525 0.989917 0.00592353 -0.322217 0.845106 -0.426581 -0.239332 0.348925 -0.906075 -0.491694 0.456904 -0.741267 -0.276851 0.926304 0.255567 -0.239242 0.960648 -0.141131 0.640887 0.766574 -0.0403541 0.428997 0.902981 -0.0242076 0 0.999993 -0.00379514 -0.295328 0.955259 -0.0161935 0.0183084 0.999832 0 0.0288686 0.963673 -0.265519 -0.0541147 -0.109277 -0.992537 -0.0769302 -0.254375 -0.964041 -0.310085 -0.426605 -0.849621 -0.017499 -0.978168 -0.207077 -0.960334 0.278772 0.00674937 0.00679354 0.214688 -0.976659 0.220679 0.373803 -0.900873 0.0218118 0.162578 -0.986455 0.00924451 0.922466 -0.385967 -0.358808 0.933258 -0.0169159 0.0104568 0.980137 -0.198045 -0.170829 0.98523 -0.011762 -0.00915541 -0.999933 0.00710725 -0.193758 -0.0511953 -0.979713 -0.211104 0.276141 -0.937647 -0.361144 0.511567 -0.779663 0.418642 -0.529613 -0.737732 0.407957 -0.0115632 -0.912928 0.5087 0.286574 -0.81185 0.184983 0.745026 -0.640873 0.0718367 -0.989451 0.1258 0.00545836 -0.981572 0.191016 0.327364 -0.558231 -0.762372 -0.28388 -0.912311 -0.295128 -0.291536 -0.901626 -0.319496 -0.191305 -0.976846 0.0957851 0.0273371 -0.99777 -0.0608988 0.0369939 -0.956133 -0.290589 0.0143059 -0.962259 -0.27176 -0.0832882 -0.00379158 -0.996518 -0.208385 0.267158 -0.940852 0.000775484 -0.999973 0.00725236 0.00338741 -0.982722 0.185057 0.00229238 -0.988874 0.148735 0.0424312 -0.987034 0.154801 0.00807946 -0.979306 0.202226 0.00692236 -0.995124 -0.0983919 0.00653722 -0.999979 0 0.0165124 0.286481 -0.957944 0.0162168 0.0349578 -0.999257 0.0147627 -0.00537614 -0.999877 0.0102179 0.999948 0 0.108602 0.486049 -0.867157 0.00767036 -0.985337 -0.17045 0.00470062 -0.979946 -0.199208 0.00810883 -0.973517 -0.22847 0.165669 0.63916 -0.751018 0.37709 0.64927 -0.660494 0.142025 -0.850612 -0.50625 0.0396902 -0.936298 -0.348957 0.107849 -0.930611 -0.349758 0.555885 0.831259 0 0.246444 -0.808711 -0.534089 0.189193 -0.903989 -0.383419 0.161468 -0.942401 -0.29293 0.23001 -0.911641 -0.340596 0.14074 -0.967715 -0.209092 0.455892 0.595034 -0.661889 0.405494 0.807782 -0.427858 0.260355 -0.85997 -0.438939 0.524867 0.838619 -0.145715 0.869559 -0.269131 -0.414049 0.983382 -0.18155 0 0.806686 0.372766 -0.458587 0.740281 -0.672298 0 0.648942 -0.687241 -0.326456 -0.322123 -0.91186 -0.254457 -0.182368 -0.623842 -0.759976 -0.0478021 -0.138854 -0.989159 -0.160158 -0.696999 -0.698957 -0.346122 -0.937373 -0.0391366 -0.331957 -0.943226 -0.0113807 -0.169798 -0.939876 -0.296314 -0.849313 0.514311 -0.118958 -0.146374 -0.982262 -0.117197 -0.244196 -0.948757 -0.200572 -0.143589 0.949014 -0.280632 -0.139148 -0.568604 -0.810757 -0.12825 -0.621973 -0.772464 -0.0231197 -0.0565842 -0.99813 -0.0832489 -0.306983 -0.948067 -0.184859 -0.978068 -0.0959715 -0.226536 -0.973783 -0.0206975 0.646392 0.747876 -0.151193 0.111933 0.993369 -0.0262641 0.0256708 0.999588 -0.0128004 0.0130871 0.999871 -0.00930275 -0.0132844 0.999895 -0.005851 0.0552155 0.998438 -0.00858667 0.0588719 -0.998104 -0.0179647 0.112116 -0.993206 -0.031177 0.0953954 -0.992648 -0.0744976 -0.595149 -0.801983 -0.0512021 -0.127812 -0.991778 -0.00634362 -0.0453094 -0.998661 -0.0249503 -0.0439331 -0.847058 -0.529682 0.849627 -0.259695 -0.459013 0.94399 -0.248177 -0.217466 0.932032 0.0217 -0.361725 0.978569 0.0184547 -0.205089 -0.516121 -0.853661 -0.0698654 -0.0990283 -0.994327 -0.0388136 -0.372415 0.92595 -0.0626347 -0.452069 0.890599 -0.0496624 -0.710354 0.697366 -0.095279 -0.703369 0.707415 -0.0695478 -0.839245 -0.539659 -0.0666004 -0.996835 -0.00788522 -0.079107 -0.977298 -0.19767 -0.0762517 0.117512 0.323036 -0.939063 0.103164 0.404162 -0.908851 -0.0180914 -0.391105 -0.920168 -0.0501396 -0.405836 -0.91257 0.621795 -0.707981 -0.334864 0.776114 -0.621485 -0.106785 0.0759725 -0.153966 -0.985151 0.0312711 -0.315755 -0.948325 0.0373302 -0.39939 -0.916021 -0.0123418 -0.348781 -0.937123 -0.15934 -0.375447 -0.913044 0.541173 -0.357122 -0.761312 -0.194399 -0.363084 -0.911251 -0.198781 -0.327107 -0.923844 -0.211564 -0.359225 -0.908954 -0.219281 -0.253087 -0.942265 0.00427573 -0.610768 -0.791798 -0.160488 -0.330979 -0.929891 -0.525943 -0.821531 -0.220162 -0.0137919 -0.63576 -0.771764 -0.174871 -0.400422 -0.89949 -0.0717713 -0.551411 -0.831141 -0.00632958 -0.630944 -0.775802 -0.120133 -0.462566 -0.878408 -0.144497 -0.404844 -0.902896 -0.165807 -0.331805 -0.928662 -0.171737 0.154326 -0.97298 0.067161 0.388113 0.919162 0.108805 0.0362692 0.993401 0.0961387 0.32782 0.939836 0.271116 0.378947 0.884814 0.0828225 -0.964514 0.250706 -0.185222 -0.414477 0.891012 -0.193277 -0.587673 0.785675 -0.145754 -0.369925 0.917557 -0.203311 -0.774534 0.598967 -0.225346 -0.582675 0.780838 0.568322 -0.530469 0.628978 -0.190079 -0.253428 0.948496 -0.201944 -0.377169 0.90386 -0.25573 -0.347296 0.902212 0.622451 -0.388695 0.679316 -0.221455 -0.131155 0.966311 0.279065 -0.833438 0.476973 0.319874 -0.801035 0.505988 0.614592 -0.522492 0.590998 0.161309 -0.888137 0.43034 -0.201752 -0.168815 0.964778 -0.0467716 -0.998832 0.0121633 -0.176919 -0.898359 -0.402059 -0.183646 -0.981921 0.0458848 0.814724 0.579614 0.0164973 0.0171011 -0.999827 0.00729352 0.148707 0.848818 -0.50734 0.122292 0.879036 -0.460804 -0.843124 -0.529996 -0.0908128 -0.753346 -0.534349 -0.383329 -0.841178 -0.537826 -0.0562317 -0.856633 -0.514269 -0.0413293 -0.049093 0.977959 -0.202941 -0.119754 0.977817 -0.171849 -0.114928 -0.986069 -0.120246 -0.116055 -0.984242 -0.133414 0.131528 -0.989309 0.0629917 0.126013 -0.986029 0.108939 -0.0392862 0.00637077 -0.999208 -0.0412064 0.00285058 -0.999147 -0.0310661 0.998964 0.0332474 -0.0278287 0.997165 0.0699063 -0.0302062 0.997857 0.058042 -0.0316021 0.993933 0.105352 -0.0709922 -0.997263 0.0206326 0.104937 -0.994429 -0.00992488 -0.0814006 0.996011 0.036552 -0.0786532 0.994453 0.0698398 0.131528 -0.989309 0.0629919 0.126013 -0.986029 0.108939 -0.141789 -0.975801 0.166458 -0.294385 -0.944112 0.148287 -0.141839 0.973576 -0.178973 -0.309007 -0.68747 0.657191 0.103865 -0.974391 0.199437 -0.261521 -0.903569 0.339367 -0.994618 -0.021401 0.101373 -0.962888 0.252642 0.0949639 -0.97804 0.189761 0.0861866 -0.984899 0.139163 0.102989 -0.686781 0.725463 0.0451068 -0.00808258 0.999966 0.00181104 0.0113245 0.999793 -0.0169295 -0.0980058 0.995021 -0.0180864 -0.982826 -0.14585 0.11305 -0.826855 -0.551011 0.112682 -0.880583 0.467227 0.0792001 -0.110663 0.992402 0.0537851 -0.170845 0.929889 0.325759 -0.194903 0.980681 -0.0166627 -0.160161 0.986946 -0.0169161 0.995799 0.088152 0.0247675 -0.0410308 0.0359277 0.998512 0.861473 0.0390037 0.506303 0.791999 -0.605959 0.0745052 -0.104237 0.994501 0.0101344 -0.158153 0.987366 0.00978029 -0.141525 0.989917 -0.00592353 -0.361618 0.817917 0.447486 0.637791 0.731635 0.240694 0.276851 0.926304 0.255567 0.640887 0.766574 0.0403541 -0.017499 -0.978168 0.207077 0.962531 0.27117 0.000656454 0.170829 0.98523 -0.011762 0.358808 0.933258 -0.0169159 0.0104568 0.980137 0.198045 0.00924451 0.922466 0.385967 0.418642 -0.529613 0.737732 0.184983 0.745026 0.640873 0.0718367 -0.989451 -0.1258 0.289654 -0.956072 0.0450312 0.157026 -0.987369 -0.0210944 0.00545836 -0.981572 -0.191016 0.327364 -0.558231 0.762372 0.0369939 -0.956133 0.290589 0.0143059 -0.962259 0.27176 -0.0832882 -0.00379158 0.996518 -0.10442 -0.256233 0.960958 0.00428243 -0.998794 0.0489193 0.0424312 -0.987034 -0.154801 0.00767036 -0.985337 0.17045 0.142025 -0.850612 0.50625 0.107849 -0.930611 0.349758 0.23001 -0.911641 0.340596 0.916852 0.200541 0.345205 -0.169798 -0.939876 0.296314 -0.128546 -0.975293 0.179663 -0.143589 0.949014 0.280632 -0.139148 -0.568604 0.810757 -0.0231197 -0.0565842 0.99813 -0.0832489 -0.306983 0.948067 0.000422949 0.021881 0.999761 0.000604653 0.021626 0.999766 0.000565266 0.0209008 0.999781 0.454485 0.375159 0.807898 0.254173 0.653501 0.712975 0.0584929 0.436397 0.897851 -0.177156 0.648078 0.740683 -0.524248 0.26496 0.809297 -0.259845 0.391422 0.882762 -0.814268 -0.0906253 -0.573372 -0.690913 -0.0732921 -0.719213 0.0953954 -0.992648 0.0744976 0.112116 -0.993206 0.031177 0.849627 -0.259695 0.459013 0.94399 -0.248177 0.217466 -0.710354 0.697366 0.095279 -0.452069 0.890599 0.0496624 -0.703369 0.707415 0.0695478 -0.839245 -0.539659 0.0666004 -0.996835 -0.00788522 0.079107 -0.977298 -0.19767 0.0762517 0.621795 -0.707981 0.334864 -0.128625 -0.439088 0.889189 0.0759725 -0.153966 0.985151 -0.149234 -0.400285 0.904158 -0.194399 -0.363084 0.911251 -0.211564 -0.359225 0.908954 0.00427573 -0.610768 0.791798 -0.160488 -0.330979 0.929891 -0.141528 -0.406204 0.902756 -0.0717713 -0.551411 0.831141 -0.0121894 -0.379849 -0.924968 0.282665 -0.00149546 -0.959217 0.0828225 -0.964514 -0.250706 -0.185222 -0.414477 -0.891012 -0.193277 -0.587673 -0.785675 -0.410616 -0.142128 -0.900663 0.319874 -0.801035 -0.505988 -0.388429 0.173937 -0.904914 0.814724 0.579614 -0.0164973 -0.80236 -0.287858 -0.522834 -0.843124 -0.529996 0.0908128 -0.753346 -0.534349 0.383329 -0.856633 -0.514269 0.0413293 -0.049093 0.977959 0.202941 -0.119754 0.977817 0.171849 -0.00365425 0.186344 0.982478 -0.00332877 0.185867 0.982569 -0.00581437 -0.23931 -0.970926 -0.00469308 -0.246804 -0.969054 0.00559138 0.999984 0.000880783 0.00546281 0.999982 0.00262279 -0.0138431 0.0120264 0.999832 -0.0194643 0.0120953 0.999737 0.00364092 -0.999989 0.00297989 0.00126045 -0.999986 -0.00509551 -0.00119305 -0.999951 -0.0098707 -0.000669316 -0.999727 -0.0233452 -0.999983 0.00139878 -0.0056062 -0.999983 0.00139879 -0.00560626 -0.000520545 -0.997901 -0.0647572 0.00117679 -0.997768 -0.0667731 -0.0391544 0.00505267 -0.99922 -0.0416611 0.000486317 -0.999132 0.00304526 0.00559309 0.99998 0.00304766 0.00441741 0.999986 -0.0302062 0.997857 -0.0580414 0.0916863 -0.00605075 0.99577 0.0920692 -0.00284387 0.995749 -0.997199 -0.0559292 0.0496514 -0.99636 -0.0675806 0.0519608 -0.995379 -0.0792224 0.0542628 0.0446394 0.93453 -0.353074 -0.0182639 0.988944 -0.147163 -0.695439 -0.716584 -0.0535973 -0.935046 -0.353387 -0.0283984 -0.537756 0.842657 -0.0273424 -0.412209 0.911001 -0.0126808 -0.32417 0.945997 -0.00182834 -0.184896 0.982627 0.0160299 -0.447148 0.894312 -0.0162962 -0.20101 0.979489 0.0140246 -0.362164 0.932097 -0.00561972 -0.0384957 -0.988166 -0.148476 -0.260665 -0.0606123 -0.963525 0.000598593 0.00134681 -0.999999 -0.999997 0.00232626 0.000311178 -0.00348237 0.00201627 -0.999992 -0.999944 0.0104829 0.00161475 0.659457 -0.274579 -0.699802 0.17823 -0.75854 -0.626779 0.151693 -0.530029 -0.834301 -0.894787 0.367221 -0.253977 -0.983669 0.109914 -0.142529 0.102795 0.994192 0.031874 -0.635266 -0.320862 -0.702485 -0.213831 0.878048 -0.428144 0.0401583 0.0503659 -0.997923 0.298779 -0.677574 -0.672031 -0.128019 0.48026 -0.867733 -0.527694 -0.0493007 -0.848003 -0.398568 0.367094 -0.840467 0.30986 0.642976 -0.700406 0.0268073 -0.960808 -0.275916 -0.511151 -0.657243 -0.553856 0.123532 0.00832483 -0.992306 0.111889 -0.0107365 -0.993663 0.0922029 0.0282131 -0.99534 0.0768449 0.0147511 -0.996934 0.00624823 -0.981555 -0.191076 0.0870623 0.658147 -0.747838 0.00882195 -0.951973 -0.306054 0.393331 0.906463 -0.153672 0.320168 -0.740365 -0.59106 0.432886 -0.820317 -0.373751 0.414765 -0.88304 -0.219569 0.811945 0.113867 -0.57252 0.748843 0.0348095 -0.661832 -0.0996319 -0.332342 -0.937882 0.0206726 0.12311 -0.992178 -0.124962 -0.984855 -0.120189 -0.124039 -0.98736 -0.0986637 -0.310901 -0.537544 -0.783828 -0.417682 0.4562 -0.785763 -0.335275 0.736523 -0.587473 -0.29752 0.775042 -0.557487 -0.324989 0.122924 -0.937695 0.684193 -0.289391 -0.669427 0.451239 -0.768469 -0.453694 -0.714679 -0.691539 -0.104916 -0.891308 -0.443786 -0.0928684 -0.958248 -0.268079 -0.0994732 -0.248214 -0.370905 -0.894885 -0.24952 0.103371 -0.962837 -0.244238 -0.803506 -0.542887 -0.0645549 -0.213521 -0.974803 0.199803 0.228017 -0.952936 -0.170638 -0.437829 -0.882716 0.560863 -0.200548 -0.803252 -0.16879 -0.30097 -0.938577 0.314563 0.849694 0.423168 -0.197032 -0.8948 0.400638 -0.209932 -0.349027 0.913296 -0.334705 -0.268595 0.903233 -0.276198 0.159859 0.947713 -0.264972 0.377734 0.88719 -0.201719 -0.976976 0.0694829 0.691757 -0.699952 -0.177597 0.839412 -0.461304 -0.287379 -0.714296 -0.682673 -0.154073 -0.931116 -0.352023 0.0954149 -0.903758 -0.427218 -0.0265644 -0.00313578 -0.231593 0.972808 -0.00307876 -0.231672 0.972789 -0.0392858 0.00637072 -0.999208 -0.0278286 0.997165 0.0699055 -0.031602 0.993933 0.105351 0.0036642 0.0100827 -0.999942 0.00300052 0.00598459 -0.999978 0.0812124 0.996434 -0.022891 -0.0814006 0.996011 -0.036552 -0.00242275 0.999688 -0.0248501 -0.0786532 0.994453 -0.0698398 0.131528 -0.989309 -0.0629919 0.126013 -0.986029 -0.108939 -0.0392862 0.00637118 -0.999208 -0.0412062 0.00285133 -0.999147 -0.0278286 0.997165 0.0699056 -0.031602 0.993933 0.105351 -0.971791 -0.148993 0.182823 -0.930051 -0.282487 0.234961 -0.80559 -0.529259 0.266289 -0.503203 -0.859629 0.0884605 -0.168644 -0.983129 0.070832 -0.171531 0.975161 0.140134 -0.263558 0.881076 0.392736 -0.252312 0.65708 0.710341 -0.292883 0.956113 -0.00820729 -0.278514 0.96009 -0.0256438 -0.457729 0.713774 0.530105 0 0.984964 0.172761 0.0646979 0.54456 0.836223 -0.0200244 -0.999799 0 -0.112693 -0.419175 0.900884 -0.0450331 -0.23009 0.972127 0.0109407 0.99994 0 0.42606 -0.904695 0 -0.0261706 -0.100651 0.994578 -0.13515 -0.990825 0 -0.75398 -0.577654 0.312779 -0.703578 -0.533301 0.469647 -0.813321 -0.391116 0.430741 -0.993023 -0.117919 5.01984e-008 -0.929852 -0.105337 -0.352531 0.109855 0.85259 0.510903 0.232829 -0.933505 0.272691 -0.0503831 -0.980372 0.190608 -0.976568 -0.197797 0.0848021 -0.975783 0.196968 0.0951358 0.504467 0.335301 0.795667 0.175409 0.299758 0.937751 -0.0788441 -0.142219 0.98669 0.0456884 -0.451988 0.890853 0.0973996 -0.475643 0.87423 0.0812405 -0.751539 0.654667 -0.847529 -0.270397 0.456707 -0.919205 -0.201825 0.338125 0.341276 0.758255 0.5555 -0.883272 -0.462826 0.0749897 -0.88331 -0.463766 0.0684465 -0.00558664 0.174723 0.984602 -0.00472266 0.168857 0.985629 -0.021125 0.00274707 -0.999773 0.782242 -0.620566 -0.0547268 0.779803 -0.616506 -0.108755 -0.00331954 -0.041387 0.999138 -0.00228283 -0.0853016 0.996353 0.00197252 0.998016 -0.0629228 0.00264016 0.997964 -0.0637234 -0.00199575 -0.998412 -0.0562905 -0.00014299 -0.998295 -0.0583625 0.131528 -0.989309 -0.0629917 0.126013 -0.986029 -0.108939 -0.0392862 0.00637077 0.999208 -0.0412064 0.00285058 0.999147 -0.0278287 0.997165 -0.0699063 -0.0316021 0.993933 -0.105352 -0.10323 -0.010961 0.994597 -0.101383 -0.0257504 0.994514 -0.930051 -0.282487 -0.234961 -0.909563 -0.246391 -0.334644 -0.80559 -0.529259 -0.266289 -0.163257 -0.939615 -0.300785 0.159604 0.543812 -0.82389 0.238805 -0.102025 -0.965693 -0.196937 0.975409 -0.0989642 -0.171531 0.975161 -0.140134 -0.174404 0.984401 0.023211 -0.574951 0.817631 -0.030197 -0.324558 0.945797 0.0114361 -0.324522 0.945498 0.0268193 -0.986772 -0.159067 -0.0312748 -0.986579 -0.161404 -0.0247068 -0.480763 0.0929639 -0.871908 -0.279568 0.192004 -0.940732 0.750387 -0.249284 -0.61219 0.0304822 -0.999137 -0.0282066 -0.653135 -0.176293 -0.736434 -0.67402 0.38951 -0.627678 -0.553468 0.671427 -0.492807 -0.725777 -0.10212 -0.680309 0 0.999936 -0.0113563 0.00762938 0.999971 0 0.286982 -0.217319 -0.93296 -0.588556 0.762921 -0.267493 -0.62049 -0.746838 -0.239218 -0.238051 0.860157 -0.451068 0.0667309 -0.997618 -0.01749 -0.116057 -0.992853 -0.0278213 -0.524578 -0.847025 -0.0858322 -0.183422 0.982194 -0.0406291 -0.601066 0.792621 -0.10233 -0.977998 0.19409 -0.0764796 0.284829 -0.273882 0.918619 0.409509 -0.609196 0.679104 -0.528149 0.369429 0.764579 -0.777474 0.0818585 0.623565 -0.149049 0.982262 -0.113783 -0.0391544 0.00505267 0.99922 -0.0416611 0.000486317 0.999132 0.00304526 0.00559309 -0.99998 0.00304766 0.00441741 -0.999986 -0.241573 -0.969816 -0.0331728 -0.238738 -0.969106 -0.0619506 -0.955789 -0.000516889 0.294052 -0.959989 0.00202208 0.28003 -0.963977 0.00456061 0.265945 0.998967 0.0411969 0.0191966 0.999665 0.020603 0.0156471 0.999927 0 0.0120906 -0.909563 -0.246391 0.334644 -0.163257 -0.939615 0.300785 0.159604 0.543812 0.82389 0.238805 -0.102025 0.965693 -0.196937 0.975409 0.0989642 -0.324522 0.945498 -0.0268193 -0.324558 0.945797 -0.0114361 -0.986772 -0.159067 0.0312748 -0.986579 -0.161404 0.0247068 -0.480763 0.0929639 0.871908 -0.279568 0.192004 0.940732 0.750387 -0.249284 0.61219 0.764368 -0.0547968 0.642447 0.0304822 -0.999137 0.0282066 -0.559172 0.353724 0.749804 -0.653135 -0.176293 0.736434 -0.725777 -0.10212 0.680309 -0.00201948 -0.96308 0.269208 0.286982 -0.217319 0.93296 -0.588556 0.762921 0.267493 -0.601066 0.792621 0.10233 -0.977998 0.19409 0.0764796 -0.279337 -0.357256 0.891257 0.586313 -0.221706 -0.779155 0.682422 -0.19535 -0.704371 -0.0834482 -0.6206 -0.779674 0.891778 -0.0229646 -0.45189 0.804512 0.0183671 -0.593653 -0.777474 0.0818585 -0.623565 -0.149049 0.982262 0.113783 -0.16369 0.986278 -0.0214955 -0.00314518 -0.231621 -0.972801 -0.00308773 -0.231704 -0.972781 -0.91167 -0.39865 -0.0996796 -0.902593 -0.396241 -0.168281 -0.889189 -0.391932 -0.236076 -0.0103471 -0.999934 -0.00490441 -0.00988033 -0.999815 -0.016514 -0.00941222 -0.99956 -0.0281213 -0.0120905 0.00938741 -0.999883 -0.0183107 0.00949088 -0.999787 -0.00204716 -0.0556275 -0.99845 -0.000850785 -0.108449 -0.994102 0.0451752 0.000301714 -0.998979 0.0461288 -0.0112583 -0.998872 0.000433268 0.0100574 0.999949 -0.0392858 0.00637072 0.999208 -0.0232888 0.00347833 0.999723 -0.0412059 0.00285057 0.999147 0.013751 0.0133633 0.999816 0.00282776 0.0175654 0.999842 0.0111295 0.0195223 0.999747 0.00293698 0.0132145 0.999908 -0.0278286 0.997165 -0.0699055 -0.031602 0.993933 -0.105351 0.272252 -0.961951 0.0229978 0.271064 -0.962184 0.0269467 0.269406 -0.962554 0.0301858 0.221484 -0.975163 -0.00112373 0.265606 -0.963963 0.0151097 0.173934 -0.983579 -0.0481696 0.013751 0.0133633 0.999816 0.000433268 0.0100574 0.999949 0.0111295 0.0195223 0.999747 0.00282776 0.0175654 0.999842 0.00293698 0.0132145 0.999908 0.997791 -0.0422026 0.0513105 0.995871 -0.0702347 0.0575202 0.993126 -0.0982087 0.0636824 -0.00685706 0.998578 0.0528675 -0.00173017 0.998277 0.0586532 -0.00185071 0.998162 0.0605786 -0.000986761 0.997974 0.0636215 -0.999989 0.00431038 -0.00186088 -0.659579 -0.748708 -0.0662683 -0.0467849 -0.904583 -0.423723 0.177858 -0.768155 -0.615065 -0.0619896 -0.815516 -0.575405 -0.668936 0.625024 -0.402331 -0.0667255 0.997715 -0.0105658 0.868203 -0.320261 -0.37902 0.50109 -0.771474 -0.392093 -0.0777524 -0.988705 -0.128126 -0.611674 -0.783384 -0.110289 -0.149455 0.350156 -0.924691 -0.228009 0.359992 -0.904664 -0.428635 -0.172271 -0.886902 -0.209822 -0.014339 -0.977635 0.316716 -0.347918 0.882408 0.000748339 0.0100325 0.999949 -0.039154 0.00505262 0.99922 -0.0232249 0.00261218 0.999727 -0.0416606 0.000486318 0.999132 0.0138315 0.0134158 0.999814 0.00235814 0.0176621 0.999841 0.0112979 0.0196582 0.999743 0.00149193 0.0110703 0.999938 0.00304526 0.00559495 -0.99998 0.00304766 0.00441743 -0.999986 0.0901141 0.99516 0.0391952 0.0922259 0.993792 0.0622257 -0.000265207 0.999166 0.0408224 -0.0164004 0.999346 0.0322199 -0.241573 -0.969815 0.0331729 -0.238738 -0.969106 0.0619504 -0.0232249 0.00261218 0.999727 0.0138315 0.0134158 0.999814 0.00074834 0.0100325 0.999949 0.0112979 0.0196582 0.999743 0.00235814 0.0176621 0.999841 0.00149193 0.0110703 0.999938 -0.955789 -0.000516889 -0.294052 -0.959989 0.00202208 -0.28003 -0.963977 0.00456061 -0.265945 0.0922259 0.993792 -0.0622258 0.0901141 0.99516 -0.0391948 -0.00026528 0.999166 -0.0408217 -0.0164004 0.999346 -0.0322192 0.998967 0.0411969 -0.0191966 0.999665 0.020603 -0.0156471 0.999927 0 -0.0120906 0.000748994 0.010032 0.999949 -0.0391546 0.00505188 0.99922 -0.0232248 0.00261156 0.999727 -0.0416617 0.000484792 0.999132 0.0138322 0.0134149 0.999814 0.00235849 0.0176624 0.999841 0.0112984 0.0196578 0.999743 0.00149232 0.011071 0.999938 0.00304526 0.00559217 -0.99998 -0.879043 -0.252099 0.404634 -0.635791 -0.474266 0.608967 -0.798123 0.101458 0.59389 -0.929852 -0.105337 0.352532 0.645323 -0.702421 0.300272 0.253154 -0.919434 0.300923 -0.846413 0.527302 0.0744218 0.531885 -0.615378 0.581728 0.980086 -0.0665317 0.187097 0.287474 -0.358373 0.888216 0.225355 -0.856333 0.46466 -0.702408 -0.0727756 -0.708045 -0.138417 0.978777 -0.151118 -0.0216408 -0.002513 0.999763 -0.992569 -0.000889411 -0.121678 -0.991918 0.0121592 -0.126299 -0.991076 0.0252055 -0.130895 0.00647233 -0.999979 0.00087955 0.00631962 -0.999976 0.00266699 0.0916863 -0.00605075 -0.99577 0.0920692 -0.00284387 -0.995749 -0.997199 -0.0559292 -0.0496514 -0.99636 -0.0675806 -0.0519608 -0.995379 -0.0792224 -0.0542628 -0.0814006 0.996011 -0.0365525 -0.0786533 0.994453 -0.0698399 0.131528 -0.989309 -0.0629925 0.126013 -0.986029 -0.108939 -0.0392858 0.00637072 0.999208 -0.0278286 0.997165 -0.0699055 -0.031602 0.993933 -0.105351 -0.971791 -0.148993 -0.182823 0.286336 0.85712 -0.428201 -0.263558 0.881076 -0.392736 -0.252312 0.65708 -0.710341 -0.0450331 -0.23009 -0.972127 -0.0261706 -0.100651 -0.994578 -0.976568 -0.197797 -0.0848021 -0.975783 0.196968 -0.0951358 0.0124195 0.41916 -0.907827 0.504467 0.335301 -0.795667 -0.0788441 -0.142219 -0.98669 0.0973996 -0.475643 -0.87423 -0.847529 -0.270397 -0.456707 -0.919205 -0.201825 -0.338125 0.341276 0.758255 -0.5555 -0.00308773 -0.231704 0.972781 -0.00314518 -0.231621 0.972801 -0.241573 -0.969816 0.0331727 -0.238738 -0.969106 0.0619504 -0.95579 -0.000516441 0.294051 -0.959989 0.00202241 0.280029 -0.963977 0.00456081 0.265945 0.998967 0.0411968 0.0191967 0.999665 0.0206029 0.0156471 0.999927 0 0.0120907 0.00304526 0.00559495 -0.99998 0.00304766 0.00441743 -0.999986 -0.241573 -0.969816 0.0331728 -0.238738 -0.969106 0.0619506 + + + + + + + + + + 0.0479632 0.123797 0.0438373 0.124264 0.0477555 0.118963 0.0473346 0.142099 0.0469074 0.144306 0.0441881 0.141553 0.0479632 0.303786 0.0477555 0.298952 0.0438373 0.304254 0.0473346 0.322088 0.0441881 0.321543 0.0469074 0.324295 0.452527 0.583416 0.461905 0.592789 0.451174 0.58569 0.460913 0.594766 0.460709 0.597826 0.467999 0.60592 0.460708 0.603125 0.467831 0.609491 0.475685 0.881725 0.475823 0.881978 0.474708 0.884333 0.47482 0.884473 0.46941 0.891685 0.469527 0.890593 0.474423 0.884472 0.475228 0.882612 0.442327 0.910985 0.442409 0.908889 0.451013 0.910242 0.450936 0.908626 0.143517 0.566775 0.0863514 0.562891 0.143624 0.554248 0.0863713 0.550936 0.086263 0.663864 0.0863254 0.637278 0.143816 0.660299 0.143584 0.637029 0.143002 0.932582 0.143017 0.92715 0.197387 0.926883 0.197421 0.92198 0.142996 0.818966 0.143492 0.813857 0.198259 0.824877 0.198777 0.821804 0.378839 0.904264 0.379775 0.892296 0.442778 0.904819 0.443678 0.89606 0.316926 0.569308 0.317719 0.564221 0.379749 0.576937 0.380354 0.57276 0.254668 0.652155 0.25423 0.631332 0.317629 0.644698 0.317241 0.629373 0.446457 0.868425 0.382467 0.854824 0.446681 0.865842 0.382584 0.85305 0.463885 0.871992 0.471588 0.874684 0.463101 0.877883 0.471098 0.878806 0.472486 0.621125 0.472379 0.620245 0.472864 0.619764 0.472676 0.618645 0.455304 0.870458 0.445849 0.874791 0.45463 0.876518 0.198726 0.634306 0.198605 0.601354 0.254046 0.602096 0.316992 0.605337 0.379966 0.608321 0.380265 0.627171 0.381865 0.863456 0.685885 0.65884 0.712992 0.655535 0.688975 0.668699 0.714143 0.665862 0.765845 0.705751 0.767079 0.694419 0.780606 0.704778 0.783075 0.696396 0.715641 0.706074 0.693501 0.707589 0.714826 0.693704 0.691733 0.695941 0.660062 0.745498 0.662205 0.730226 0.679175 0.747461 0.677181 0.734087 0.661361 0.720262 0.676255 0.725233 0.640886 0.740901 0.654806 0.72694 0.0519206 0.934948 0.0521539 0.927138 0.0857581 0.933863 0.0856071 0.927685 0.0848299 0.814856 0.0847939 0.817058 0.0524942 0.818595 0.0523503 0.819413 0.0525302 0.597857 0.0863077 0.598568 0.0525482 0.637761 0.785817 0.713713 0.799876 0.70894 0.791226 0.721954 0.805824 0.717527 0.787937 0.670578 0.790353 0.660068 0.802522 0.67388 0.804595 0.663229 0.81474 0.676369 0.810716 0.686648 0.800718 0.68347 0.714096 0.675322 0.743698 0.674713 0.743939 0.665277 0.672773 0.672231 0.674082 0.681396 0.663893 0.675199 0.665796 0.683805 0.638019 0.684596 0.641192 0.693801 0.617424 0.692052 0.616235 0.702068 0.548534 0.0459484 0.579066 0.0495067 0.545751 0.0700548 0.577508 0.0727548 0.536148 0.139866 0.538602 0.119511 0.569409 0.136289 0.57069 0.120742 0.489214 0.0960528 0.470231 0.0952983 0.488606 0.0792245 0.468533 0.0789351 0.508166 0.157377 0.508187 0.149136 0.535806 0.155735 0.535846 0.148191 0.437875 0.118989 0.393188 0.112577 0.437156 0.109319 0.392443 0.106526 0.352561 0.106196 0.333442 0.106294 0.35065 0.0933766 0.332584 0.0935146 0.291261 0.107561 0.292097 0.124238 0.273764 0.109339 0.274957 0.131731 0.273675 0.0942226 0.252035 0.095839 0.252338 0.109934 0.252706 0.144474 0.265525 0.145877 0.252541 0.154851 0.264323 0.155634 0.345236 0.179039 0.324881 0.178642 0.343337 0.171168 0.323422 0.172009 0.705554 0.619007 0.690154 0.634021 0.687985 0.616109 0.677835 0.629174 0.669652 0.613972 0.672591 0.605886 0.692194 0.607823 0.553288 0.607132 0.537604 0.609035 0.549408 0.599731 0.533122 0.60116 0.570355 0.621446 0.55909 0.626409 0.252751 0.162423 0.264939 0.162844 0.253104 0.16681 0.267795 0.166603 0.507376 0.594496 0.532025 0.593885 0.508331 0.602345 0.489693 0.162544 0.508485 0.164006 0.489565 0.170301 0.508494 0.170469 0.508341 0.160889 0.490929 0.159355 0.491578 0.157204 0.570571 0.594286 0.570817 0.588148 0.589605 0.59349 0.589538 0.587307 0.622306 0.59649 0.629808 0.597607 0.626427 0.609772 0.6343 0.608121 0.637832 0.620945 0.631792 0.624273 0.619339 0.611252 0.40424 0.177502 0.404532 0.168197 0.420774 0.177602 0.421453 0.16885 0.571764 0.573704 0.590235 0.573719 0.376887 0.147812 0.377304 0.167617 0.369552 0.149227 0.371294 0.167891 0.368043 0.178007 0.368475 0.194301 0.36426 0.17859 0.364572 0.194208 0.636623 0.574078 0.628104 0.57334 0.636409 0.554041 0.627321 0.553719 0.251452 0.0789554 0.214617 0.0797955 0.250915 0.0684883 0.21407 0.0693374 0.215352 0.166689 0.215436 0.162353 0.2153 0.0963864 0.179498 0.0968572 0.178639 0.0803913 0.215299 0.170485 0.178883 0.169568 0.17901 0.165821 0.177189 0.060973 0.14046 0.0621421 0.176414 0.0517629 0.139109 0.0531125 0.179794 0.143543 0.179454 0.153916 0.143924 0.143883 0.143219 0.154104 0.141712 0.0713866 0.119796 0.0727896 0.118865 0.0648182 0.142568 0.161913 0.119628 0.15942 0.120653 0.152214 0.112339 0.0386975 0.114624 0.0476871 0.100543 0.043078 0.103451 0.0499119 0.122568 0.110196 0.122701 0.129553 0.0987841 0.110624 0.098913 0.129083 0.0956615 0.0547859 0.10159 0.0607883 0.106356 0.0574705 0.109927 0.0722841 0.102749 0.0680119 0.108812 0.0650645 0.104861 0.0656375 0.0909045 0.165399 0.0897805 0.16957 0.0777708 0.16253 0.0764811 0.166268 0.059754 0.0969791 0.0711064 0.0925493 0.0654694 0.100669 0.0781378 0.0956222 0.0834097 0.141718 0.0816144 0.149195 0.0716423 0.140026 0.0701362 0.147247 0.0527784 0.0930919 0.0451267 0.100308 0.0456897 0.0876375 0.0385834 0.0959029 0.0472319 0.130889 0.0579366 0.130589 0.0579848 0.120871 0.0545353 0.151079 0.0532032 0.153679 0.0456283 0.146003 0.0440372 0.147838 0.0390758 0.12969 0.0423354 0.13049 0.0395646 0.135976 0.0425616 0.13649 0.0407252 0.12335 0.0398394 0.143125 0.0420022 0.142082 0.633446 0.132896 0.633975 0.120645 0.642377 0.0569257 0.643938 0.0399493 0.579561 0.0349068 0.633903 0.142873 0.633726 0.137414 0.716999 0.134954 0.716561 0.130379 0.776497 0.0715193 0.781261 0.0567442 0.842589 0.0931737 0.848616 0.0838521 0.768009 0.133588 0.831794 0.127043 0.768245 0.136177 0.832421 0.129395 0.858446 0.120234 0.852035 0.119251 0.85866 0.119392 0.851759 0.11868 0.853962 0.103887 0.86337 0.0998999 0.858444 0.114596 0.868349 0.113975 0.839957 0.117297 0.850529 0.115733 0.839984 0.115603 0.842963 0.123842 0.852839 0.121007 0.844046 0.125616 0.85309 0.121554 0.745437 0.068593 0.748672 0.0504576 0.766894 0.119803 0.738489 0.118666 0.766506 0.110852 0.738609 0.109406 0.73949 0.136255 0.739328 0.133735 0.740491 0.151324 0.76965 0.150574 0.741075 0.160801 0.77058 0.159837 0.497969 0.723102 0.600121 0.729171 0.533937 0.794483 0.606472 0.79446 0.565318 0.495459 0.501659 0.525645 0.558796 0.486183 0.499883 0.516098 0.526229 0.796282 0.556186 0.848891 0.561751 0.846695 0.560319 0.852316 0.563925 0.848415 0.610733 0.851372 0.60973 0.848755 0.841824 0.385453 0.841939 0.405077 0.83147 0.388038 0.83154 0.407229 0.843217 0.441342 0.831976 0.4401 0.842415 0.42623 0.832011 0.426652 0.889907 0.418726 0.887961 0.446081 0.876283 0.421406 0.875881 0.445015 0.708797 0.420565 0.739131 0.423912 0.710446 0.427991 0.738739 0.430615 0.824283 0.926938 0.774307 0.921001 0.823964 0.909471 0.774685 0.904033 0.824023 0.890255 0.774685 0.887243 0.824467 0.870749 0.7744 0.870929 0.73206 0.899663 0.732041 0.885993 0.845046 0.354094 0.839894 0.357538 0.844363 0.353378 0.83955 0.356644 0.873579 0.96836 0.849326 0.957677 0.871405 0.965933 0.849961 0.956848 0.871123 0.87515 0.865855 0.904075 0.860501 0.874072 0.856317 0.902222 0.876086 0.849951 0.874563 0.851727 0.866178 0.851854 0.865141 0.852931 0.70171 0.896623 0.70008 0.896582 0.70147 0.885953 0.69996 0.885865 0.707686 0.420665 0.710163 0.428341 0.870431 0.205344 0.870785 0.215948 0.860225 0.205701 0.860532 0.216944 0.871062 0.178589 0.860766 0.177626 0.871109 0.173421 0.860735 0.173433 0.830917 0.205973 0.846449 0.20597 0.832738 0.219225 0.846942 0.218009 0.886843 0.194766 0.886531 0.205213 0.879354 0.194709 0.879087 0.20517 0.888845 0.169929 0.888137 0.174705 0.880529 0.169105 0.880181 0.173957 0.789312 0.175884 0.797894 0.176643 0.789176 0.177524 0.797775 0.178228 0.832329 0.184558 0.831822 0.196334 0.819348 0.185043 0.819646 0.199487 0.789439 0.174543 0.782862 0.174581 0.78275 0.175671 0.894052 0.186904 0.897721 0.188771 0.893779 0.188418 0.897606 0.189299 0.788966 0.179851 0.782402 0.177391 0.782027 0.179477 0.77659 0.179305 0.777816 0.177557 0.777715 0.179359 0.778692 0.177564 0.897329 0.190473 0.896951 0.191001 0.893773 0.189496 0.893555 0.189815 0.781684 0.181555 0.788779 0.181909 0.781695 0.181927 0.788755 0.182184 0.893816 0.188934 0.887518 0.187733 0.887568 0.187291 0.879836 0.186072 0.879819 0.186601 0.797513 0.181585 0.788888 0.180695 0.797582 0.180692 0.775649 0.180124 0.777046 0.180424 0.948197 0.73319 0.947396 0.723004 0.951012 0.732516 0.949411 0.7231 0.916878 0.756637 0.916869 0.761145 0.903412 0.756692 0.903351 0.761147 0.902998 0.750973 0.903121 0.753476 0.888374 0.751887 0.888436 0.753821 0.924583 0.71362 0.933268 0.714239 0.924861 0.724073 0.933529 0.723785 0.875661 0.754138 0.875737 0.756508 0.86458 0.755 0.864621 0.757132 0.901796 0.735645 0.915535 0.735417 0.902662 0.746305 0.916324 0.744924 0.874977 0.733776 0.874927 0.747009 0.862602 0.737556 0.863507 0.748171 0.839047 0.75917 0.836306 0.759084 0.838876 0.758133 0.836118 0.758152 0.935481 0.744666 0.935351 0.743171 0.943254 0.74263 0.942943 0.741353 0.83471 0.756682 0.835488 0.756687 0.835483 0.758147 0.828859 0.745791 0.832218 0.745022 0.831936 0.753049 0.834197 0.752946 0.934997 0.741343 0.942419 0.739889 0.93515 0.741793 0.942662 0.740231 0.829805 0.753121 0.830318 0.753742 0.832211 0.7534 0.952389 0.737897 0.948846 0.739016 0.952156 0.737234 0.948801 0.738496 0.926602 0.744572 0.926495 0.743703 0.935263 0.74252 0.844779 0.753172 0.837797 0.754078 0.8446 0.752004 0.837594 0.753063 0.879418 0.214919 0.880652 0.222985 0.871748 0.224326 0.834017 0.229924 0.847993 0.227442 0.789417 0.170869 0.789525 0.172577 0.782725 0.171991 0.782833 0.173095 0.950744 0.756454 0.951781 0.760167 0.945187 0.758622 0.946055 0.761962 0.854223 0.760664 0.85407 0.763117 0.845796 0.760706 0.845782 0.762352 0.934069 0.706163 0.940736 0.714955 0.941856 0.707741 0.521555 0.485106 0.519035 0.488921 0.515165 0.486484 0.515224 0.489107 0.520313 0.467554 0.519726 0.471479 0.51481 0.467452 0.515039 0.470756 0.515097 0.471969 0.519781 0.472521 0.515122 0.473571 0.51995 0.473781 0.515143 0.475772 0.515135 0.474742 0.519818 0.475621 0.519919 0.474675 0.0586659 0.0437489 0.0597883 0.0439486 0.0593796 0.0448426 0.0611582 0.0461457 0.0575954 0.0447771 0.0578194 0.0512429 0.0552703 0.0465406 0.0559667 0.0505832 0.87803 0.710431 0.871374 0.706299 0.878816 0.701226 0.871792 0.700618 0.721385 0.190333 0.710899 0.191392 0.720039 0.187593 0.71102 0.189308 0.693766 0.209055 0.696206 0.210046 0.693503 0.214391 0.696117 0.214547 0.859945 0.050268 0.858643 0.0529885 0.849818 0.0486156 0.84968 0.0506985 0.860128 0.0405573 0.87049 0.0411094 0.870666 0.0497358 0.875563 0.0410226 0.875749 0.0496096 0.757644 0.943696 0.756114 0.956189 0.73698 0.943838 0.735983 0.956176 0.0473931 0.0537066 0.032815 0.0409028 0.047211 0.0401049 0.0327617 0.0338196 0.43407 0.790556 0.426557 0.786488 0.43413 0.790184 0.426666 0.786205 0.474 0.77546 0.474423 0.775812 0.473885 0.775594 0.474403 0.776012 0.0690325 0.0292801 0.0756884 0.0323872 0.0689293 0.029426 0.075616 0.0325398 0.0664526 0.0250934 0.066578 0.025 0.0680978 0.196536 0.0614264 0.190321 0.0680978 0.190032 0.0614255 0.186923 0.0613279 0.186955 0.0589084 0.18261 0.0589526 0.182585 0.025 0.065286 0.0299696 0.0654697 0.0251315 0.0708889 0.029968 0.0706914 0.424977 0.822933 0.425049 0.820269 0.439734 0.822854 0.439681 0.82041 0.449567 0.820383 0.459328 0.820291 0.449651 0.822673 0.459392 0.822417 0.487794 0.475123 0.48531 0.454274 0.487648 0.454193 0.48793 0.475127 0.34604 0.551275 0.331346 0.546222 0.342162 0.53874 0.332578 0.538559 0.322151 0.543076 0.312661 0.540945 0.322756 0.538493 0.31271 0.538502 0.252146 0.959945 0.275347 0.960768 0.252168 0.962465 0.275591 0.961763 0.413432 0.839159 0.423319 0.839132 0.413486 0.841603 0.423402 0.841422 0.43308 0.83904 0.452774 0.838702 0.433143 0.841166 0.452831 0.840764 0.0363809 0.187132 0.0369377 0.192667 0.0412173 0.186935 0.0411573 0.192209 0.452357 0.76175 0.460826 0.760218 0.453577 0.750849 0.461957 0.751426 0.450936 0.773634 0.460128 0.766099 0.451371 0.770019 0.460398 0.763249 0.461905 0.446548 0.460913 0.448524 0.469209 0.457693 0.468405 0.458267 0.473242 0.46953 0.472668 0.466918 0.472812 0.46815 0.472465 0.466555 0.469596 0.757805 0.47482 0.749481 0.469382 0.757521 0.474708 0.749341 0.442674 0.43797 0.442532 0.442083 0.451174 0.439449 0.450908 0.443309 0.143868 0.402732 0.14464 0.393961 0.0862514 0.398651 0.0863489 0.393151 0.143624 0.408007 0.143517 0.420534 0.198561 0.413449 0.19849 0.424715 0.143017 0.792158 0.197421 0.786988 0.143054 0.779171 0.197579 0.775385 0.143816 0.514058 0.199095 0.510116 0.143584 0.490788 0.198726 0.488065 0.315002 0.778144 0.378358 0.775379 0.315452 0.769988 0.378839 0.769272 0.316749 0.426953 0.316926 0.423067 0.25392 0.41899 0.254143 0.415126 0.380565 0.490759 0.443505 0.482759 0.380266 0.480929 0.443331 0.478418 0.317178 0.735145 0.31625 0.754801 0.380916 0.741762 0.379775 0.757304 0.460833 0.477595 0.468087 0.475533 0.460776 0.467243 0.467985 0.469398 0.472676 0.472403 0.472379 0.474004 0.0863077 0.452327 0.0863254 0.491037 0.143549 0.454211 0.142991 0.684666 0.143019 0.701021 0.198254 0.690311 0.1982 0.705111 0.379966 0.462079 0.442965 0.464763 0.752624 0.759957 0.720491 0.760529 0.751438 0.770271 0.721642 0.770856 0.624924 0.797046 0.645519 0.78959 0.623771 0.785218 0.643363 0.778731 0.677473 0.805115 0.671621 0.808306 0.680258 0.813223 0.675774 0.816264 0.667522 0.812152 0.671835 0.820499 0.798724 0.826947 0.793315 0.818706 0.766931 0.835564 0.763605 0.827393 0.653697 0.786858 0.659496 0.784847 0.650701 0.776091 0.656379 0.774037 0.0863514 0.416649 0.0863713 0.404695 0.0524685 0.41475 0.0522921 0.402737 0.0529056 0.776772 0.0521539 0.792146 0.0855054 0.778637 0.0856071 0.792693 0.0523346 0.519399 0.086263 0.517623 0.0525482 0.491519 0.0523473 0.684421 0.0529673 0.700009 0.0847809 0.682106 0.0853475 0.698509 0.800948 0.806047 0.790574 0.801389 0.78881 0.809873 0.788104 0.809772 0.834333 0.772542 0.824806 0.770871 0.832352 0.783208 0.822238 0.781363 0.854493 0.813554 0.839178 0.801035 0.843875 0.82587 0.828422 0.814165 0.776834 0.7817 0.777526 0.772242 0.751196 0.779706 0.696474 0.773692 0.680272 0.777225 0.69699 0.783148 0.681581 0.786389 0.648691 0.798795 0.656523 0.795914 0.577508 0.252744 0.545751 0.250044 0.575839 0.268396 0.54366 0.265052 0.538636 0.367719 0.573112 0.362097 0.537154 0.35489 0.57543 0.350845 0.536549 0.347502 0.508494 0.350459 0.508812 0.357475 0.535806 0.335724 0.57057 0.329973 0.535846 0.32818 0.572481 0.323124 0.436835 0.273749 0.434556 0.258356 0.390632 0.273068 0.388716 0.258049 0.313191 0.298279 0.333878 0.293656 0.312214 0.286799 0.333442 0.286284 0.292801 0.256166 0.283267 0.247427 0.273213 0.258476 0.269984 0.247343 0.251452 0.258945 0.250915 0.248478 0.252677 0.36904 0.266106 0.369393 0.253418 0.355268 0.266924 0.356664 0.324881 0.358632 0.323422 0.351998 0.296287 0.357675 0.296129 0.35245 0.53196 0.882273 0.551585 0.878678 0.529871 0.871861 0.550739 0.8687 0.587999 0.892005 0.61672 0.901732 0.593423 0.881156 0.629514 0.894706 0.506157 0.914169 0.525342 0.918044 0.514511 0.903839 0.531192 0.911972 0.47787 0.943125 0.503197 0.935394 0.483616 0.920318 0.503219 0.922255 0.476079 0.957075 0.476838 0.949445 0.452876 0.944688 0.452475 0.940044 0.696494 0.943161 0.693811 0.935537 0.670291 0.941242 0.668433 0.933645 0.445287 0.333777 0.44477 0.349548 0.469239 0.338344 0.469978 0.349801 0.673583 0.946847 0.696815 0.945346 0.586205 0.934651 0.569245 0.933567 0.586272 0.940834 0.568264 0.939403 0.556471 0.916889 0.561044 0.932712 0.565613 0.916138 0.553043 0.900399 0.582982 0.900031 0.582512 0.917293 0.604046 0.954437 0.605919 0.971217 0.623534 0.954338 0.627638 0.968826 0.376892 0.357223 0.389493 0.357306 0.377304 0.347607 0.389715 0.347809 0.560303 0.938508 0.561731 0.954943 0.57048 0.955369 0.364181 0.330922 0.358754 0.332549 0.367195 0.348693 0.3629 0.34946 0.358681 0.374022 0.358496 0.358964 0.345298 0.373561 0.345236 0.359029 0.250325 0.2384 0.249785 0.22879 0.213502 0.239369 0.212961 0.229828 0.252541 0.33484 0.252706 0.324464 0.215587 0.334638 0.215761 0.324493 0.177189 0.240962 0.21407 0.249327 0.177937 0.250465 0.215436 0.342342 0.179176 0.341411 0.179454 0.333906 0.175529 0.22114 0.174701 0.210067 0.137408 0.222846 0.136211 0.21369 0.180035 0.311655 0.179944 0.290446 0.144595 0.310473 0.144437 0.290604 0.139109 0.233102 0.116956 0.236595 0.114624 0.227677 0.121775 0.323622 0.143924 0.323873 0.122701 0.309543 0.118446 0.347519 0.0909045 0.345388 0.11761 0.352365 0.0897805 0.349559 0.0791568 0.248889 0.0893524 0.240177 0.0734309 0.241957 0.084255 0.233124 0.106356 0.23746 0.10159 0.240778 0.108812 0.245054 0.104861 0.245627 0.0987841 0.290614 0.0846371 0.293151 0.0989129 0.309073 0.0846013 0.309289 0.0966541 0.275961 0.0859539 0.271937 0.0828283 0.28177 0.0781378 0.275612 0.0586291 0.267408 0.0518077 0.26154 0.0527784 0.273081 0.0456897 0.267627 0.0718799 0.296528 0.0720409 0.309687 0.0644558 0.343477 0.0509862 0.337246 0.0613849 0.350433 0.0475226 0.342749 0.0539856 0.287416 0.045638 0.295235 0.0567009 0.293095 0.0556741 0.32837 0.0566987 0.324617 0.025 0.30867 0.0316596 0.308829 0.0264352 0.299842 0.0328654 0.301402 0.0472319 0.310878 0.0423354 0.310479 0.0420022 0.322071 0.0456282 0.325993 0.633903 0.322863 0.633726 0.317403 0.640016 0.260503 0.638034 0.276047 0.634257 0.328585 0.71739 0.320169 0.634038 0.325562 0.717205 0.317345 0.767128 0.285414 0.830673 0.293404 0.771961 0.26688 0.836299 0.283043 0.768525 0.319171 0.768955 0.323625 0.833251 0.312347 0.834412 0.316233 0.858223 0.301485 0.858446 0.300224 0.852391 0.30013 0.852035 0.299241 0.853962 0.283876 0.84689 0.28945 0.858444 0.294586 0.850529 0.295722 0.839957 0.297286 0.840266 0.298905 0.851759 0.298669 0.842957 0.308478 0.832421 0.309384 0.844046 0.305605 0.742349 0.26519 0.745437 0.248582 0.776497 0.251509 0.738489 0.298656 0.738754 0.30425 0.766894 0.299792 0.767257 0.304855 0.768245 0.316166 0.739694 0.31917 0.73949 0.316245 0.831225 0.464177 0.818797 0.477837 0.837609 0.475053 0.82305 0.487832 0.84343 0.491294 0.863571 0.480566 0.863128 0.462069 0.805727 0.563843 0.805762 0.550395 0.755444 0.558691 0.755644 0.550156 0.713119 0.499004 0.684949 0.504258 0.713104 0.506865 0.683158 0.512866 0.712882 0.547655 0.713236 0.535233 0.682549 0.544307 0.682675 0.535203 0.883961 0.631987 0.884019 0.612771 0.834681 0.626549 0.834681 0.609759 0.894868 0.593697 0.894413 0.614933 0.912995 0.595347 0.910226 0.621733 0.834183 0.584791 0.791245 0.589177 0.834397 0.593445 0.791655 0.595985 0.85694 0.452515 0.854771 0.452475 0.830765 0.463592 0.921351 0.667674 0.922525 0.64872 0.911125 0.663318 0.913641 0.646134 0.909958 0.679364 0.897556 0.665849 0.901771 0.655963 0.755404 0.559093 0.805694 0.564173 0.682908 0.524554 0.681332 0.524438 0.681731 0.512653 0.763238 0.640097 0.791817 0.645373 0.763667 0.63938 0.791954 0.644621 0.886849 0.213861 0.893257 0.2053 0.893334 0.212444 0.887885 0.181102 0.894697 0.180783 0.893963 0.175408 0.847299 0.174008 0.832444 0.174918 0.847166 0.17726 0.832481 0.177558 0.819734 0.179571 0.8197 0.177855 0.808491 0.179178 0.80858 0.177557 0.797949 0.172199 0.797969 0.174865 0.870936 0.186519 0.870668 0.19455 0.879659 0.187774 0.780003 0.175776 0.779455 0.177529 0.819707 0.182083 0.832474 0.181964 0.832515 0.17953 0.778765 0.175861 0.779325 0.175793 0.77666 0.189996 0.780787 0.190732 0.778225 0.181985 0.819645 0.184357 0.832409 0.184122 0.778254 0.181539 0.776131 0.181687 0.775924 0.181921 0.897505 0.18981 0.871052 0.184539 0.871024 0.185177 0.781877 0.18034 0.914646 0.724285 0.900789 0.724821 0.916653 0.749053 0.916699 0.752437 0.944247 0.753903 0.949867 0.752918 0.875609 0.752437 0.926781 0.746782 0.935807 0.749109 0.926948 0.750942 0.864407 0.7534 0.853757 0.754942 0.853951 0.756457 0.941694 0.733739 0.948523 0.738228 0.851838 0.740105 0.843309 0.742254 0.853071 0.750004 0.844562 0.751677 0.902841 0.748727 0.916562 0.74714 0.864066 0.750901 0.875449 0.749931 0.835627 0.759035 0.916427 0.745455 0.902668 0.746774 0.875265 0.747664 0.863731 0.748685 0.902762 0.747935 0.91652 0.746463 0.888037 0.747277 0.888138 0.748543 0.875399 0.748983 0.86393 0.749979 0.834519 0.75435 0.834228 0.753375 0.92506 0.705247 0.832126 0.170488 0.831603 0.165478 0.819314 0.171321 0.818768 0.166963 0.77835 0.172964 0.778624 0.173915 0.779101 0.172811 0.779265 0.173564 0.888406 0.760767 0.90308 0.766412 0.888103 0.765752 0.839045 0.761595 0.839097 0.760528 0.836227 0.761123 0.836307 0.760288 0.509045 0.478746 0.51517 0.47912 0.510478 0.475685 0.511418 0.488935 0.508627 0.485356 0.50806 0.48793 0.504972 0.483918 0.506688 0.473787 0.510446 0.471604 0.505462 0.47004 0.509729 0.467707 0.510425 0.472651 0.507179 0.474155 0.5103 0.473907 0.50762 0.474698 0.510363 0.474785 0.50822 0.47552 0.50791 0.475118 0.0576836 0.0437878 0.0567171 0.0438509 0.833968 0.756685 0.832695 0.755344 0.833262 0.756734 0.831602 0.754748 0.865979 0.704051 0.866098 0.700099 0.861703 0.701785 0.86077 0.69996 0.700661 0.19954 0.702007 0.202281 0.711147 0.19848 0.711026 0.200564 0.694064 0.180439 0.696535 0.179487 0.693927 0.17509 0.696547 0.174991 0.866563 0.0597072 0.864084 0.0606386 0.839506 0.0398708 0.839323 0.0495852 0.849632 0.0415258 0.864035 0.0651344 0.840646 0.0523378 0.834652 0.0645538 0.83478 0.0600538 0.758059 0.478069 0.759038 0.477298 0.749184 0.465658 0.7497 0.465231 0.714482 0.452618 0.686028 0.457692 0.713484 0.464955 0.689775 0.464976 0.447156 0.399999 0.447135 0.397479 0.437572 0.399817 0.437638 0.397488 0.427761 0.397596 0.417703 0.397653 0.42775 0.399751 0.417704 0.39976 0.188812 0.80527 0.167809 0.805907 0.18874 0.807934 0.167492 0.806893 0.342319 0.947446 0.327662 0.952348 0.338391 0.959945 0.328894 0.959955 0.31842 0.955465 0.308878 0.957782 0.319018 0.960063 0.308959 0.96012 0.384646 0.392355 0.38409 0.398301 0.385673 0.392465 0.385096 0.398439 0.351393 0.397488 0.341516 0.397596 0.351327 0.399817 0.341505 0.399751 0.309983 0.399952 0.310562 0.399999 0.310388 0.397924 0.310524 0.397936 0.405887 0.509972 0.409815 0.497472 0.429088 0.510794 0.429644 0.504848 0.395158 0.502374 0.39639 0.509981 0.385916 0.505491 0.386514 0.51009 0.376407 0.514697 0.35557 0.513068 0.376456 0.512253 0.35556 0.512493 0.484654 0.647484 0.484633 0.644964 0.47507 0.647303 0.475136 0.644973 0.465259 0.645082 0.4552 0.645139 0.465248 0.647237 0.455202 0.647245 0.460128 0.901092 0.460756 0.902402 0.468405 0.604509 0.475891 0.878968 0.476114 0.879373 0.469382 0.892513 0.442674 0.584212 0.443175 0.580921 0.0862514 0.544892 0.143868 0.548973 0.0855521 0.85937 0.143078 0.861229 0.0855062 0.889275 0.143084 0.890683 0.252199 0.921994 0.252299 0.917649 0.25401 0.831591 0.254206 0.830376 0.252617 0.907442 0.315002 0.913136 0.315452 0.90498 0.380565 0.637 0.253641 0.865328 0.317178 0.870138 0.253123 0.889035 0.31625 0.889793 0.461957 0.886418 0.470336 0.884685 0.473227 0.618396 0.472937 0.61704 0.444853 0.884599 0.453577 0.885841 0.19849 0.570956 0.253873 0.57515 0.31674 0.581303 0.379674 0.589466 0.380916 0.876755 0.651997 0.679853 0.64888 0.669043 0.656961 0.677844 0.653698 0.667311 0.668358 0.693601 0.669974 0.700121 0.662005 0.696644 0.664122 0.703313 0.660023 0.707159 0.65737 0.699259 0.756107 0.7224 0.781766 0.706991 0.753996 0.717427 0.635863 0.673737 0.646198 0.681865 0.643202 0.671097 0.652802 0.721941 0.025 0.936254 0.0263124 0.927852 0.0258672 0.81504 0.0264921 0.812454 0.025817 0.597233 0.0258232 0.637981 0.79773 0.734569 0.815635 0.728833 0.817308 0.665877 0.786606 0.679552 0.769336 0.676706 0.768003 0.686467 0.743243 0.684496 0.675903 0.690835 0.690486 0.687694 0.689492 0.678155 0.643222 0.704423 0.651802 0.701346 0.649023 0.690921 0.54366 0.0850622 0.52629 0.067481 0.512607 0.0775495 0.509592 0.191393 0.508812 0.177486 0.538636 0.187729 0.537154 0.1749 0.48921 0.116139 0.46996 0.113945 0.572481 0.143134 0.436835 0.0937592 0.390632 0.0930781 0.311239 0.0935058 0.312568 0.0789607 0.331783 0.0792017 0.292801 0.0761764 0.290396 0.0932511 0.273213 0.0784866 0.267896 0.171725 0.266924 0.176675 0.253397 0.170579 0.253418 0.175279 0.324552 0.192587 0.295467 0.190908 0.296287 0.177686 0.582387 0.646984 0.624225 0.649463 0.581215 0.657576 0.625071 0.659441 0.546296 0.633435 0.51771 0.612112 0.650467 0.610097 0.653411 0.602388 0.672612 0.592747 0.654344 0.59778 0.296129 0.172461 0.293779 0.164524 0.552569 0.596371 0.469239 0.158355 0.469978 0.169812 0.5525 0.58882 0.614766 0.595428 0.622767 0.627742 0.610197 0.612003 0.405541 0.147516 0.423032 0.149839 0.376892 0.177233 0.389493 0.177316 0.377334 0.194461 0.389807 0.194524 0.614079 0.573198 0.60533 0.572772 0.613869 0.555141 0.604776 0.555906 0.367195 0.168703 0.3629 0.169471 0.630773 0.591799 0.638253 0.593478 0.250325 0.0584101 0.213502 0.0593791 0.215587 0.154649 0.177937 0.0704758 0.179176 0.161421 0.175529 0.0411505 0.137408 0.042857 0.144595 0.130484 0.180035 0.131666 0.116956 0.0566054 0.121775 0.143632 0.11761 0.172376 0.115825 0.185419 0.0872179 0.179868 0.0966541 0.0959716 0.121732 0.0968721 0.0893524 0.0601873 0.0974455 0.0647688 0.0846371 0.113162 0.0828283 0.10178 0.0731833 0.175428 0.0586291 0.0874183 0.0846013 0.129299 0.0720409 0.129697 0.0574423 0.138635 0.0567009 0.113106 0.0556741 0.14838 0.047045 0.137269 0.045638 0.115245 0.0367601 0.135793 0.640016 0.0805138 0.634038 0.145572 0.717205 0.137355 0.771961 0.0868905 0.836299 0.103053 0.833251 0.132358 0.768525 0.139182 0.858223 0.121496 0.86779 0.122908 0.867888 0.122306 0.84689 0.10946 0.829799 0.11653 0.830421 0.120809 0.840266 0.118915 0.847085 0.130229 0.842957 0.128489 0.720322 0.0848363 0.722635 0.067816 0.742349 0.0852005 0.716441 0.125048 0.716187 0.118928 0.738754 0.12426 0.739694 0.13918 0.717391 0.140179 0.601249 0.424071 0.629049 0.371851 0.673797 0.424077 0.678689 0.371528 0.595187 0.672742 0.47976 0.672742 0.388729 0.555581 0.392386 0.562041 0.49145 0.732377 0.857474 0.340434 0.883189 0.328773 0.863858 0.351311 0.889377 0.338326 0.782142 0.393456 0.782159 0.410214 0.89021 0.382974 0.873669 0.388628 0.781692 0.434949 0.781893 0.426413 0.83431 0.912064 0.834416 0.892417 0.854087 0.854032 0.852998 0.87283 0.83564 0.855927 0.834871 0.87118 0.701331 0.876808 0.702933 0.869318 0.731658 0.873469 0.731249 0.866661 0.857013 0.339849 0.851129 0.940802 0.841775 0.933447 0.853644 0.923617 0.846626 0.918696 0.861355 0.945157 0.738692 0.431087 0.781652 0.43535 0.700199 0.876606 0.710713 0.379771 0.739266 0.374647 0.711197 0.380516 0.739367 0.375262 0.893491 0.19492 0.887785 0.185964 0.847028 0.169463 0.871094 0.168797 0.887232 0.188704 0.847163 0.179825 0.847128 0.18209 0.778836 0.179384 0.84708 0.184392 0.847054 0.184076 0.887423 0.188359 0.879765 0.18734 0.797419 0.182857 0.773883 0.181315 0.947176 0.716119 0.949953 0.717142 0.927257 0.756127 0.927474 0.760732 0.881286 0.730257 0.885978 0.72602 0.886869 0.735111 0.943594 0.747522 0.875585 0.760529 0.864554 0.760565 0.926395 0.743163 0.925645 0.734812 0.926672 0.745223 0.835003 0.758741 0.835061 0.758054 0.825813 0.746765 0.888214 0.749444 0.83481 0.755134 0.837976 0.754808 0.914585 0.704561 0.914274 0.713227 0.846543 0.164186 0.77993 0.172601 0.780051 0.173436 0.886803 0.70234 0.900956 0.703681 0.886387 0.713093 0.900609 0.71318 0.52132 0.478844 0.0549982 0.049161 0.0550422 0.0465359 0.728282 0.180822 0.725842 0.17983 0.727985 0.20943 0.728123 0.214779 0.725514 0.210382 0.725503 0.214878 0.840809 0.0371494 0.849771 0.0394429 0.828785 0.0404025 0.828961 0.049029 0.823887 0.0491153 0.823703 0.0405282 0.757616 0.969346 0.736992 0.969046 0.756114 0.956849 0.735983 0.956841 0.454244 0.804946 0.44075 0.805053 0.441081 0.790671 0.434012 0.790765 0.426506 0.78658 0.480552 0.776007 0.480492 0.775822 0.0689302 0.0328167 0.075616 0.03903 0.0686994 0.0330694 0.0753867 0.0392784 0.0909323 0.19666 0.0909322 0.196554 0.0962378 0.196624 0.096238 0.196563 0.094682 0.0316693 0.0912377 0.0316713 0.0946819 0.0315635 0.0912375 0.0315654 0.058748 0.182611 0.058896 0.18256 0.0587727 0.182664 0.0306597 0.0603908 0.0305475 0.0654648 0.0299503 0.0604361 0.489993 0.424739 0.489812 0.434323 0.487473 0.424761 0.487483 0.434258 0.487591 0.444134 0.489746 0.444145 0.489755 0.454191 0.361302 0.790271 0.36123 0.792935 0.340299 0.790908 0.339981 0.791894 0.346068 0.523721 0.342141 0.536221 0.331411 0.528623 0.332644 0.53623 0.32217 0.53174 0.322767 0.536338 0.312628 0.534057 0.312709 0.536395 0.275903 0.954822 0.276929 0.954932 0.276352 0.960906 0.242649 0.959955 0.242583 0.962284 0.232773 0.960063 0.232762 0.962218 0.20124 0.962419 0.201644 0.960391 0.201819 0.962466 0.20178 0.960403 0.0418198 0.186935 0.041219 0.181713 0.0417969 0.181708 0.455589 0.732738 0.455304 0.735466 0.464216 0.734645 0.463885 0.737 0.460756 0.76741 0.472937 0.470798 0.473227 0.472154 0.451135 0.452174 0.442611 0.451113 0.0857581 0.798871 0.143001 0.79759 0.253873 0.428909 0.252299 0.782657 0.252617 0.77245 0.254669 0.505913 0.25423 0.485091 0.442409 0.773897 0.442778 0.769827 0.379621 0.434666 0.379749 0.430696 0.25401 0.696599 0.318421 0.7064 0.254206 0.695384 0.318584 0.705509 0.444853 0.749606 0.443678 0.761068 0.467831 0.463249 0.460708 0.456884 0.143078 0.726237 0.198071 0.727877 0.379674 0.443225 0.780187 0.762045 0.750742 0.789489 0.721813 0.789998 0.750425 0.798297 0.722325 0.798697 0.683402 0.795829 0.675857 0.798595 0.685019 0.80324 0.622521 0.828719 0.655726 0.816801 0.621215 0.819094 0.650722 0.809417 0.720691 0.825484 0.721675 0.830628 0.761495 0.82242 0.659301 0.806339 0.662317 0.814309 0.025 0.39989 0.0254859 0.41363 0.0263124 0.79286 0.0278105 0.777117 0.025452 0.522293 0.0258232 0.49174 0.0257673 0.680945 0.0278287 0.69787 0.79149 0.795096 0.803457 0.800181 0.845196 0.785712 0.846919 0.774482 0.817564 0.807567 0.827125 0.795106 0.794104 0.784545 0.775501 0.791461 0.697984 0.792687 0.721595 0.780315 0.664869 0.804252 0.662027 0.793802 0.512607 0.257539 0.510634 0.276949 0.541202 0.281826 0.488606 0.259214 0.489214 0.276042 0.572133 0.342446 0.490025 0.319802 0.492386 0.329103 0.508209 0.319769 0.508187 0.329125 0.35065 0.273366 0.349879 0.258766 0.311239 0.273495 0.332584 0.273504 0.281171 0.237992 0.268001 0.237903 0.444848 0.37361 0.470617 0.372934 0.444697 0.357548 0.470545 0.357144 0.295467 0.370898 0.507523 0.880956 0.511853 0.889429 0.551932 0.890012 0.523863 0.897242 0.537978 0.907196 0.252751 0.342413 0.264323 0.335624 0.264939 0.342833 0.318324 0.339655 0.293779 0.344514 0.643785 0.934256 0.645175 0.941817 0.421453 0.348839 0.423032 0.329828 0.677058 0.953282 0.697087 0.948695 0.546001 0.930534 0.538814 0.929615 0.545036 0.936342 0.537557 0.934663 0.605455 0.906695 0.603487 0.920299 0.62331 0.939321 0.604993 0.939993 0.389871 0.326864 0.376887 0.327802 0.371563 0.357478 0.368043 0.357996 0.37203 0.374362 0.368475 0.37429 0.547706 0.954801 0.548489 0.974422 0.554702 0.954858 0.555222 0.973884 0.343337 0.351158 0.356512 0.350256 0.249114 0.217866 0.212377 0.219058 0.215877 0.312064 0.252594 0.312049 0.176414 0.231752 0.179794 0.323532 0.178741 0.354162 0.141396 0.354903 0.178407 0.368716 0.140642 0.367542 0.14387 0.277069 0.179498 0.276847 0.112339 0.218687 0.121732 0.276861 0.104146 0.261778 0.12088 0.261794 0.0918985 0.341436 0.118963 0.343803 0.0651947 0.263076 0.0584655 0.255572 0.089071 0.253782 0.0957368 0.257232 0.0974455 0.244758 0.102749 0.248001 0.0963485 0.322222 0.0834097 0.321708 0.0778069 0.26816 0.0711064 0.272539 0.0764811 0.346257 0.0731833 0.355418 0.0579848 0.30086 0.0579366 0.310579 0.0660708 0.339221 0.0532032 0.333668 0.0500806 0.283701 0.0426185 0.292178 0.0574423 0.318625 0.047045 0.317258 0.0382231 0.28929 0.0319197 0.286209 0.0395646 0.315966 0.0425616 0.316479 0.570089 0.33366 0.720322 0.264826 0.717924 0.282782 0.634737 0.333554 0.717642 0.324697 0.766506 0.290842 0.830118 0.294734 0.76965 0.330563 0.835773 0.320825 0.858009 0.302486 0.867548 0.303967 0.86779 0.302898 0.866617 0.30734 0.857419 0.304455 0.856437 0.321253 0.849762 0.313515 0.830421 0.300798 0.831099 0.304178 0.841466 0.301692 0.847085 0.310218 0.739302 0.284037 0.716561 0.310369 0.739032 0.309353 0.716441 0.305038 0.739983 0.323693 0.813645 0.48128 0.814821 0.492708 0.827904 0.502581 0.805292 0.530971 0.75591 0.533956 0.755326 0.491631 0.755501 0.500212 0.894306 0.634581 0.893554 0.651063 0.906623 0.641213 0.791937 0.636859 0.761959 0.630818 0.761327 0.599324 0.792037 0.608509 0.761467 0.60847 0.834149 0.651986 0.834057 0.652514 0.916314 0.624738 0.834117 0.584133 0.791197 0.588692 0.816968 0.565085 0.816937 0.565378 0.681211 0.53514 0.760555 0.630892 0.896427 0.195417 0.895367 0.205096 0.860511 0.168888 0.819656 0.175443 0.808516 0.175357 0.846787 0.194971 0.86052 0.194497 0.860789 0.185224 0.807435 0.196203 0.807873 0.184487 0.780123 0.17472 0.879798 0.185081 0.773235 0.189369 0.773545 0.181748 0.870978 0.186051 0.505634 0.47806 0.888523 0.756429 0.936317 0.755132 0.854113 0.758148 0.95175 0.736774 0.836172 0.744021 0.83759 0.752731 0.853436 0.752539 0.835553 0.760176 0.834872 0.75974 0.853157 0.750405 0.853321 0.751672 0.833043 0.754396 0.833709 0.755231 0.888362 0.221082 0.894804 0.21859 0.880984 0.164927 0.889533 0.166567 0.87524 0.76485 0.835394 0.760936 0.834659 0.760697 0.52509 0.48365 0.524731 0.478105 0.52495 0.469795 0.524931 0.460829 0.520729 0.457256 0.523675 0.473658 0.52314 0.474012 0.522737 0.474557 0.522452 0.474992 0.767456 0.186719 0.769814 0.188284 0.772029 0.180921 0.0557759 0.0440576 0.824647 0.22241 0.826074 0.23131 0.883373 0.715528 0.700758 0.189825 0.702038 0.187093 0.721288 0.200046 0.725933 0.17533 0.832349 0.0590421 0.867107 0.0311076 0.867418 0.0257741 0.864676 0.0300945 0.864806 0.0255946 0.733616 0.464967 0.749185 0.464984 0.735146 0.452475 0.758097 0.452603 0.714494 0.477825 0.713484 0.46562 0.686027 0.47292 0.689771 0.465648 0.451034 0.412533 0.43634 0.407481 0.427145 0.404334 0.417655 0.402203 0.338413 0.962465 0.361592 0.960768 0.361836 0.961763 0.203444 0.805411 0.203498 0.807855 0.213331 0.805384 0.213415 0.807674 0.223092 0.805291 0.223155 0.807418 0.242786 0.804954 0.242843 0.807016 0.360911 0.399998 0.364789 0.412533 0.384335 0.399296 0.384881 0.405284 0.350095 0.407481 0.3409 0.404334 0.331458 0.397653 0.331459 0.39976 0.307839 0.797455 0.307768 0.800119 0.293082 0.797533 0.293136 0.799978 0.283249 0.800004 0.273488 0.800097 0.283165 0.797714 0.273425 0.797971 0.355525 0.510293 0.376374 0.507809 0.376455 0.510147 0.355521 0.510429 0.488532 0.660019 0.473838 0.654966 0.464643 0.651819 0.455152 0.649689 0.450908 0.58955 0.460885 0.626609 0.460833 0.623837 0.468622 0.624431 0.468087 0.621774 0.475577 0.879535 0.451371 0.905011 0.452357 0.896742 0.198822 0.555103 0.199939 0.547659 0.254143 0.561368 0.255099 0.555356 0.198254 0.825303 0.254009 0.831758 0.442611 0.597355 0.442532 0.588324 0.379621 0.580908 0.318381 0.842359 0.318421 0.841392 0.451135 0.598415 0.451574 0.611248 0.460776 0.613485 0.475725 0.877612 0.476014 0.877936 0.442965 0.611004 0.143549 0.600452 0.317918 0.853297 0.669376 0.662495 0.783992 0.690102 0.714314 0.685005 0.716022 0.73429 0.718822 0.746611 0.664335 0.715506 0.675898 0.719943 0.622791 0.733728 0.0267356 0.53122 0.0527609 0.536985 0.0262579 0.538377 0.0526466 0.543002 0.0523473 0.819413 0.0257673 0.815937 0.0254859 0.559872 0.0524685 0.560991 0.795222 0.703512 0.836378 0.720877 0.820924 0.709171 0.824854 0.678214 0.819628 0.690112 0.613715 0.7141 0.533647 0.0440207 0.508209 0.13978 0.509629 0.117167 0.490025 0.139812 0.471329 0.131324 0.333878 0.113666 0.352427 0.11267 0.252594 0.132059 0.345298 0.193572 0.534897 0.638958 0.661299 0.624302 0.592827 0.62811 0.587811 0.636136 0.48731 0.600851 0.481999 0.592604 0.572133 0.162457 0.536549 0.167513 0.570468 0.157184 0.536248 0.162076 0.570089 0.15367 0.53608 0.159023 0.552275 0.573803 0.527755 0.576867 0.548172 0.559315 0.522829 0.566405 0.636995 0.598526 0.641513 0.605691 0.644618 0.616169 0.40453 0.194432 0.420978 0.194173 0.588987 0.556067 0.569891 0.556924 0.371563 0.177489 0.623124 0.590551 0.615507 0.589633 0.621108 0.573283 0.351269 0.154053 0.358754 0.152559 0.356512 0.170267 0.215689 0.110557 0.179944 0.110456 0.215233 0.175347 0.178741 0.174173 0.142685 0.0811737 0.12088 0.0818045 0.118963 0.163814 0.142167 0.166275 0.0963485 0.142233 0.0651947 0.0830861 0.0791568 0.0688997 0.0778069 0.0881704 0.0890709 0.0737925 0.0918985 0.161447 0.0790296 0.159052 0.0696706 0.106924 0.0800332 0.155526 0.0685735 0.15239 0.0500806 0.103711 0.0566987 0.144628 0.0509862 0.157257 0.0412938 0.150563 0.0359432 0.129103 0.0426186 0.112188 0.0373864 0.12239 0.0326317 0.13621 0.0365632 0.145056 0.573348 0.104978 0.635753 0.109527 0.573112 0.182107 0.57543 0.170856 0.636721 0.172533 0.635787 0.162363 0.767659 0.129682 0.831099 0.124189 0.868163 0.120631 0.830118 0.114744 0.725086 0.0475149 0.716622 0.109668 0.71816 0.15277 0.719466 0.162219 0.611379 0.846989 0.59354 0.422275 0.614109 0.847726 0.831786 0.370561 0.78175 0.376469 0.889819 0.356823 0.869679 0.367552 0.857756 0.398302 0.860536 0.424619 0.739484 0.397842 0.739484 0.41149 0.833558 0.928547 0.824397 0.857163 0.774186 0.862274 0.831783 0.359468 0.831618 0.358585 0.83657 0.944295 0.83756 0.943333 0.85023 0.899216 0.853999 0.853285 0.700558 0.908375 0.701962 0.908302 0.702692 0.869016 0.871043 0.182896 0.860865 0.181095 0.879997 0.179971 0.808275 0.171806 0.779396 0.174755 0.79736 0.183234 0.860874 0.183814 0.860836 0.18484 0.819708 0.183033 0.832443 0.18287 0.808077 0.183935 0.808202 0.182637 0.778567 0.180349 0.940977 0.72342 0.949721 0.747456 0.845609 0.758923 0.934291 0.734208 0.838444 0.756661 0.887924 0.746749 0.952522 0.738385 0.948843 0.739526 0.844874 0.753954 0.861428 0.225607 0.894436 0.171773 0.895343 0.168006 0.79767 0.169689 0.916798 0.766288 0.927752 0.765529 0.864286 0.764018 0.522383 0.487887 0.522113 0.475422 0.0604503 0.0442335 0.0613466 0.0458932 0.0597836 0.0509545 0.728546 0.175486 0.832893 0.0304259 0.835373 0.0294959 0.858805 0.0378059 0.835424 0.025 0.441581 0.790223 0.454729 0.8045 0.0325509 0.0338217 0.0324996 0.0250019 0.0326209 0.025 0.0590729 0.218221 0.059001 0.22439 0.0588636 0.218218 0.0587917 0.224388 0.487447 0.771206 0.487552 0.771481 0.487347 0.771258 0.487458 0.771509 0.0688271 0.0328092 0.0684937 0.0328002 0.0688314 0.0294573 0.0686586 0.0294902 0.0849965 0.0250008 0.0916104 0.025 0.0611553 0.186988 0.0355995 0.0653406 0.0353757 0.0709476 0.0305705 0.0706914 0.474974 0.420833 0.488295 0.40156 0.482349 0.401004 0.479876 0.43549 0.482992 0.444732 0.492198 0.454241 0.490569 0.475078 0.489994 0.475088 0.3988 0.839018 0.398728 0.841682 0.377796 0.839655 0.377479 0.840641 0.256074 0.947446 0.241417 0.952348 0.232175 0.955465 0.222633 0.957782 0.222714 0.96012 0.046625 0.187191 0.046023 0.192736 0.041837 0.192276 0.0411997 0.176679 0.0362493 0.181529 0.0364863 0.17617 0.451013 0.77525 0.460709 0.451584 0.467999 0.459679 0.475891 0.743976 0.475685 0.746733 0.476114 0.74438 0.475823 0.746986 0.46941 0.756693 0.474423 0.74948 0.443175 0.43468 0.452527 0.437175 0.0855521 0.724378 0.0855062 0.754283 0.143084 0.755691 0.197387 0.791891 0.252198 0.787002 0.198259 0.689885 0.198777 0.686812 0.380354 0.426519 0.317629 0.498457 0.317241 0.483131 0.253641 0.730336 0.253123 0.754043 0.470336 0.749693 0.463101 0.742891 0.471098 0.743814 0.472864 0.473522 0.45463 0.741526 0.445849 0.739799 0.198605 0.455113 0.254046 0.455854 0.31674 0.435061 0.316992 0.459096 0.381865 0.728464 0.66446 0.782838 0.661197 0.772305 0.669505 0.801638 0.789265 0.811984 0.66886 0.825255 0.660302 0.826934 0.669705 0.835219 0.662306 0.831934 0.025 0.801262 0.0519206 0.799955 0.0258672 0.680048 0.0523503 0.68442 0.0264921 0.677462 0.0524942 0.683603 0.025817 0.450992 0.0525302 0.451615 0.823133 0.833826 0.813322 0.82252 0.805228 0.839562 0.81002 0.778874 0.812092 0.768223 0.808216 0.788463 0.795435 0.775571 0.52629 0.24747 0.509592 0.371382 0.48921 0.296129 0.46996 0.293934 0.47023 0.275288 0.536148 0.319856 0.569408 0.316278 0.437156 0.289309 0.392443 0.286516 0.312568 0.25895 0.331783 0.259191 0.290396 0.273241 0.273675 0.274212 0.252035 0.275828 0.267896 0.351714 0.253397 0.350568 0.324552 0.372577 0.594595 0.870565 0.638206 0.919106 0.6581 0.916029 0.522399 0.925753 0.521466 0.930361 0.267795 0.346593 0.642688 0.92698 0.626402 0.92841 0.623241 0.93177 0.489693 0.342533 0.489565 0.350291 0.508485 0.343995 0.490929 0.339344 0.508341 0.340878 0.605239 0.933855 0.549383 0.918369 0.553504 0.931651 0.544018 0.903867 0.405541 0.327506 0.404532 0.348187 0.377334 0.37445 0.389807 0.374513 0.56194 0.973 0.571034 0.972235 0.36426 0.358579 0.539187 0.954063 0.214617 0.259785 0.178639 0.260381 0.17901 0.34581 0.215352 0.346678 0.14046 0.242131 0.118865 0.244808 0.143219 0.334093 0.120653 0.332204 0.115825 0.365408 0.0872179 0.359857 0.122568 0.290185 0.0956614 0.234775 0.059754 0.276969 0.0716423 0.320015 0.0545353 0.331068 0.0407252 0.30334 0.0367601 0.315782 0.0398394 0.323114 0.633446 0.312885 0.642377 0.236915 0.579066 0.229496 0.716999 0.314944 0.842589 0.273163 0.867888 0.302295 0.829799 0.296519 0.853089 0.301544 0.722635 0.247805 0.716187 0.298918 0.805222 0.511781 0.755893 0.517199 0.81569 0.52882 0.816167 0.549973 0.863961 0.506717 0.847421 0.51237 0.863659 0.542469 0.850034 0.545149 0.71249 0.554358 0.914083 0.576549 0.895637 0.578443 0.762929 0.591834 0.818114 0.47712 0.931402 0.68845 0.712444 0.55483 0.759957 0.608381 0.760196 0.599122 0.684465 0.503514 0.713017 0.49839 0.733615 0.465628 0.684961 0.472261 0.689221 0.465264 0.18874 0.672942 0.203498 0.672863 0.188812 0.670278 0.203444 0.670419 0.213331 0.670392 0.213414 0.672682 0.223091 0.670299 0.223155 0.672426 0.417622 0.395315 0.396772 0.397799 0.396768 0.397936 0.342291 0.975 0.327597 0.969948 0.328828 0.962284 0.318401 0.966801 0.319007 0.962218 0.308911 0.96467 0.30896 0.962227 0.36089 0.397479 0.353435 0.82791 0.353489 0.830354 0.363322 0.827883 0.363405 0.830173 0.373083 0.82779 0.373146 0.829916 0.392777 0.827453 0.392834 0.829515 0.405909 0.512492 0.429332 0.51179 0.409787 0.525027 0.429878 0.517777 0.395093 0.519974 0.385897 0.516827 0.396324 0.512311 0.386503 0.512245 0.267486 0.684191 0.282243 0.684113 0.267558 0.681527 0.282189 0.681668 0.292076 0.681642 0.29216 0.683931 0.301837 0.681549 0.3019 0.683675 0.45512 0.642801 0.43427 0.645285 0.434266 0.645421 0.455589 0.86773 0.464216 0.869637 0.460398 0.898241 0.460826 0.89521 0.469596 0.892797 0.472812 0.614391 0.473241 0.615772 0.472465 0.612796 0.469209 0.603935 0.472668 0.613159 0.198561 0.55969 0.25392 0.565231 0.197579 0.910377 0.199095 0.656358 0.378358 0.910372 0.316749 0.573195 0.318584 0.840501 0.467985 0.615639 0.143019 0.836013 0.1982 0.840103 0.198071 0.86287 0.772689 0.657052 0.770028 0.667249 0.745126 0.654963 0.742926 0.693303 0.67752 0.698246 0.615022 0.723726 0.648227 0.711808 0.713192 0.720491 0.714176 0.725635 0.654818 0.709316 0.025 0.546131 0.0522921 0.548979 0.0278105 0.912109 0.0529056 0.911764 0.0523346 0.665641 0.025452 0.668534 0.0278287 0.832862 0.0529673 0.835001 0.79596 0.695187 0.79345 0.701053 0.837699 0.680718 0.839422 0.669488 0.826835 0.667548 0.831681 0.696041 0.810067 0.702574 0.654528 0.688809 0.510634 0.0969596 0.541202 0.101836 0.492386 0.149114 0.388716 0.0780598 0.349879 0.078777 0.312214 0.10681 0.268001 0.0579136 0.281171 0.0580025 0.269984 0.0673535 0.283267 0.0674373 0.444848 0.19362 0.444697 0.177559 0.470617 0.192945 0.470545 0.177155 0.266106 0.189404 0.645939 0.65628 0.643849 0.645868 0.668287 0.647184 0.663957 0.638712 0.623878 0.638129 0.651946 0.630899 0.318324 0.159665 0.530635 0.586324 0.505519 0.586899 0.44477 0.169559 0.445287 0.153787 0.502227 0.581294 0.478995 0.582795 0.498752 0.574859 0.478723 0.579446 0.606565 0.594574 0.593298 0.610848 0.572323 0.607842 0.389871 0.146874 0.389715 0.16782 0.37203 0.194373 0.620588 0.554256 0.358496 0.178975 0.249785 0.0488002 0.212961 0.049839 0.249114 0.0378767 0.212377 0.0390686 0.215877 0.132074 0.215761 0.144503 0.178407 0.188726 0.141396 0.174914 0.140642 0.187552 0.14387 0.0970795 0.144437 0.110615 0.136211 0.0337009 0.104146 0.0817881 0.118446 0.16753 0.0584655 0.075583 0.0734309 0.0619673 0.0957368 0.0772424 0.0859539 0.0919472 0.0644557 0.163488 0.0613849 0.170444 0.0718799 0.116539 0.0660708 0.159231 0.0539856 0.107427 0.0382231 0.109301 0.0328654 0.121412 0.0319197 0.10622 0.0264352 0.119853 0.57057 0.149983 0.717924 0.102793 0.638034 0.0960578 0.634737 0.153565 0.634257 0.148595 0.717642 0.144707 0.767128 0.105425 0.830673 0.113414 0.768955 0.143635 0.835773 0.140835 0.834412 0.136243 0.858009 0.122496 0.867548 0.123977 0.866616 0.12735 0.856437 0.141264 0.857419 0.124465 0.849762 0.133525 0.841466 0.121703 0.739302 0.104048 0.739032 0.129364 0.739983 0.143704 0.667467 0.489379 0.662546 0.545819 0.547112 0.545819 0.434285 0.692879 0.324898 0.656383 0.437149 0.669054 0.325083 0.654963 0.671117 0.489751 0.676955 0.424401 0.432507 0.702424 0.321233 0.662837 0.841069 0.368965 0.849298 0.36409 0.854153 0.378838 0.781575 0.367888 0.739353 0.383122 0.731958 0.922105 0.703671 0.916863 0.73194 0.914343 0.774153 0.929469 0.731821 0.922857 0.77406 0.929998 0.774121 0.861616 0.7312 0.866175 0.831943 0.44043 0.843186 0.441636 0.70758 0.400696 0.709156 0.400811 0.70746 0.411398 0.708923 0.41146 0.703241 0.917581 0.771683 0.956879 0.771683 0.956205 0.708526 0.964141 0.70746 0.963482 0.71227 0.956869 0.711719 0.956485 0.441056 0.790462 0.44145 0.790061 0.480857 0.776178 0.473851 0.792626 0.473547 0.792497 0.487509 0.77159 0.487697 0.771817 0.0664082 0.0251187 0.0613236 0.190314 0.0258991 0.0776072 0.0256884 0.0764234 0.0300127 0.0766163 0.029908 0.0759656 0.0353956 0.059909 0.404045 0.820906 0.403728 0.821892 0.365897 0.531097 0.366924 0.531207 0.365341 0.537043 0.366347 0.537181 0.291234 0.538694 0.291639 0.536666 0.291813 0.538741 0.291775 0.536678 0.222666 0.96467 0.201829 0.963041 0.222716 0.962227 0.451986 0.477916 0.452245 0.481463 0.460885 0.480368 0.471803 0.738068 0.471588 0.739692 0.469527 0.755601 0.475778 0.741335 0.471891 0.738013 0.475432 0.741375 0.455618 0.732349 0.446681 0.73085 0.446737 0.730487 0.198822 0.408862 0.197826 0.754449 0.314862 0.781731 0.378211 0.778214 0.382694 0.717469 0.382584 0.718058 0.475577 0.744543 0.475499 0.74317 0.475725 0.74262 0.253933 0.709992 0.317918 0.718305 0.671392 0.780192 0.668601 0.769841 0.774577 0.799412 0.699232 0.800934 0.772245 0.846994 0.683397 0.824937 0.683754 0.830227 0.0262579 0.392136 0.0526466 0.396761 0.0286107 0.752556 0.0533732 0.752767 0.0288966 0.723419 0.0536041 0.724533 0.809417 0.803687 0.807374 0.813934 0.80272 0.808506 0.859551 0.789701 0.818214 0.791641 0.666688 0.791609 0.673295 0.788798 0.534511 0.210791 0.533647 0.22401 0.549877 0.212378 0.548534 0.225938 0.509629 0.297156 0.538602 0.299501 0.489459 0.356752 0.468533 0.258924 0.352561 0.286185 0.292097 0.304227 0.291261 0.28755 0.268817 0.226469 0.284388 0.226308 0.271099 0.216074 0.287048 0.216716 0.420774 0.357592 0.420978 0.374162 0.6885 0.92729 0.671439 0.914677 0.667479 0.925796 0.460494 0.92467 0.470256 0.909134 0.487825 0.912032 0.538273 0.892464 0.502734 0.948927 0.337829 0.336122 0.536248 0.342065 0.53608 0.339012 0.648055 0.951274 0.65298 0.961736 0.552685 0.93759 0.620732 0.926268 0.622522 0.921009 0.40424 0.357491 0.585574 0.954422 0.369552 0.329217 0.371294 0.34788 0.364572 0.374197 0.524846 0.951554 0.523374 0.97201 0.539401 0.9741 0.215233 0.355336 0.215102 0.368789 0.2153 0.276376 0.215689 0.290547 0.252338 0.289923 0.211882 0.208448 0.142684 0.261163 0.141892 0.350059 0.178883 0.349557 0.142167 0.346264 0.119796 0.252779 0.109927 0.252273 0.0944066 0.330589 0.119628 0.339409 0.0929727 0.337182 0.0917599 0.227827 0.0816144 0.329184 0.0800332 0.335516 0.0790296 0.339042 0.067291 0.33594 0.0777708 0.342519 0.0696706 0.286913 0.0654694 0.280658 0.0685734 0.332379 0.0451267 0.280297 0.0385834 0.275892 0.0326317 0.316199 0.0257622 0.317344 0.0373864 0.302379 0.0308471 0.328143 0.0365632 0.325046 0.570468 0.337173 0.633975 0.300635 0.635753 0.289516 0.716622 0.289657 0.636721 0.352523 0.719466 0.342209 0.635787 0.342352 0.718159 0.332759 0.868163 0.30062 0.868349 0.293964 0.85866 0.299381 0.831793 0.307033 0.842963 0.303831 0.841002 0.293703 0.738609 0.289395 0.739328 0.313724 0.740491 0.331313 0.805534 0.483211 0.805537 0.494304 0.815575 0.509196 0.831507 0.522045 0.834288 0.548362 0.713236 0.521584 0.884279 0.649455 0.884284 0.66046 0.892388 0.662404 0.884394 0.57968 0.884464 0.593265 0.792056 0.622179 0.761707 0.619139 0.755246 0.49117 0.891956 0.663439 0.884092 0.661476 0.925138 0.575447 0.920498 0.596588 0.88434 0.579134 0.895585 0.57797 0.849633 0.568758 0.835404 0.567007 0.847497 0.569167 0.83536 0.567382 0.762688 0.591533 0.79659 0.193996 0.787981 0.192182 0.86089 0.183071 0.808286 0.181708 0.84709 0.18292 0.936913 0.759939 0.845204 0.756144 0.845418 0.757623 0.949369 0.740954 0.952677 0.738857 0.942827 0.740857 0.860217 0.163742 0.807844 0.168298 0.94847 0.7099 0.951357 0.711139 0.93759 0.764097 0.51479 0.456225 0.509042 0.457528 0.823703 0.74789 0.828383 0.753607 0.0614584 0.0493529 0.0618105 0.0480377 0.817966 0.227057 0.812554 0.229726 0.819118 0.232476 0.813462 0.2333 0.690042 0.190453 0.690295 0.199078 0.685222 0.199209 0.684961 0.190624 0.866655 0.0650576 0.470335 0.398301 0.470579 0.399296 0.242785 0.669962 0.242843 0.672024 0.362382 0.967751 0.288025 0.960403 0.288064 0.962466 0.338731 0.830433 0.338803 0.827768 0.331377 0.395315 0.310527 0.397799 0.507833 0.645786 0.508077 0.646782 0.321531 0.681211 0.321588 0.683273 0.451986 0.624157 0.452244 0.627704 0.471803 0.873061 0.475778 0.876327 0.475432 0.876367 0.471891 0.873005 0.455618 0.867341 0.446737 0.865479 0.0855054 0.913629 0.143054 0.914164 0.197826 0.889441 0.314862 0.916723 0.378211 0.913206 0.382694 0.852461 0.475499 0.878162 0.0853475 0.833501 0.253933 0.844984 0.661102 0.664847 0.764747 0.742001 0.759433 0.730571 0.0286107 0.887548 0.0533732 0.887759 0.0288966 0.858411 0.0536041 0.859525 0.80192 0.698693 0.846995 0.70856 0.852053 0.684707 0.659189 0.686616 0.549877 0.0323888 0.534511 0.0308014 0.489459 0.176762 0.434556 0.0783665 0.313191 0.118289 0.287048 0.0367269 0.284388 0.0463188 0.271099 0.0360851 0.268817 0.0464797 0.504371 0.613464 0.715316 0.603471 0.637537 0.635677 0.673076 0.579214 0.69794 0.585016 0.698972 0.578696 0.337829 0.156132 0.555078 0.601873 0.607546 0.588738 0.364181 0.150933 0.358681 0.194032 0.650964 0.576586 0.652436 0.556131 0.252677 0.189051 0.215102 0.1888 0.174701 0.0300771 0.211882 0.0284582 0.141892 0.170069 0.0944066 0.1506 0.0929727 0.157192 0.084255 0.0531342 0.0917599 0.0478376 0.0518077 0.0815509 0.067291 0.15595 0.025 0.12868 0.0316596 0.128839 0.0257622 0.137354 0.0308471 0.148154 0.767257 0.124866 0.841002 0.113714 0.504511 0.549473 0.392569 0.563464 0.623483 0.369657 0.627613 0.36623 0.631222 0.37013 0.678042 0.367143 0.681421 0.370789 0.677039 0.369762 0.603769 0.728797 0.609629 0.794135 0.832392 0.939888 0.824287 0.937944 0.781494 0.367427 0.83196 0.940923 0.824096 0.93896 0.824343 0.856618 0.835588 0.855454 0.873746 0.445424 0.861653 0.443264 0.861609 0.44364 0.780596 0.943824 0.441037 0.789798 0.0756507 0.204989 0.0754985 0.218111 0.48043 0.775495 0.0686361 0.0330093 0.0615285 0.186777 0.0681701 0.189879 0.0590778 0.182491 0.48246 0.399978 0.488434 0.400555 0.489947 0.475667 0.487919 0.475263 0.291824 0.539316 0.0366751 0.174991 0.0413082 0.176006 0.468622 0.47819 0.475228 0.74762 0.143492 0.678865 0.0848299 0.679864 0.142996 0.683973 0.0847939 0.682066 0.199939 0.401417 0.255099 0.409114 0.254009 0.696766 0.317719 0.41798 0.382467 0.719832 0.318381 0.707367 0.451574 0.465007 0.476014 0.742944 0.693384 0.763834 0.676875 0.767488 0.68468 0.839081 0.686674 0.852454 0.723521 0.839283 0.72632 0.851604 0.630291 0.838721 0.648386 0.845894 0.0267356 0.384979 0.0527609 0.390743 0.623735 0.807062 0.471329 0.311313 0.352427 0.29266 0.273764 0.289329 0.274957 0.31172 0.265525 0.325866 0.640912 0.889183 0.497974 0.898967 0.253104 0.3468 0.534297 0.92245 0.54151 0.92002 0.40453 0.374422 0.586822 0.972074 0.351269 0.334042 0.215299 0.350475 0.141712 0.251376 0.142568 0.341902 0.103451 0.229901 0.0701362 0.327236 0.0440372 0.327827 0.0412938 0.330553 0.0359432 0.309092 0.0390758 0.30968 0.57069 0.300731 0.573348 0.284968 0.767659 0.309671 0.768009 0.313577 0.848616 0.263842 0.86337 0.279889 0.839984 0.295593 0.725086 0.227504 0.748672 0.230447 0.741075 0.34079 0.813301 0.480387 0.805369 0.482328 0.896566 0.666811 0.909323 0.680194 0.926174 0.57437 0.913996 0.575801 0.760077 0.619098 0.735117 0.478125 0.471125 0.405284 0.396807 0.399999 0.288029 0.960266 0.33141 0.402203 0.253794 0.800434 0.253737 0.798373 0.508623 0.652769 0.434305 0.647485 0.464354 0.869332 0.443504 0.629001 0.443331 0.624659 0.475391 0.876817 0.142991 0.819658 0.0847809 0.817098 0.74243 0.705606 0.679736 0.708434 0.672759 0.70823 0.85322 0.671533 0.575839 0.0884061 0.489646 0.192338 0.723335 0.588097 0.720234 0.594672 0.674257 0.561868 0.699731 0.571066 0.249006 0.0270184 0.0370622 0.154891 0.838444 0.151165 0.852391 0.12014 0.598983 0.672413 0.709407 0.389123 0.862528 0.926204 0.70798 0.388911 0.896145 0.211297 0.826112 0.20236 0.778772 0.175085 0.897717 0.217391 0.87114 0.163994 0.0578281 0.0517606 0.0595247 0.0514756 0.829319 0.21705 0.720009 0.202778 0.731752 0.190795 0.732004 0.199419 0.736824 0.190663 0.737085 0.199248 0.83204 0.0643756 0.780557 0.96929 0.781536 0.968519 0.772199 0.956452 0.708527 0.948913 0.712274 0.956197 0.459974 0.792079 0.460481 0.792497 0.058748 0.233198 0.0588685 0.2332 0.0874879 0.196662 0.0874878 0.196556 0.0662476 0.025119 0.0663959 0.0250691 0.0662723 0.025172 0.0609909 0.190305 0.0347737 0.0764927 0.0305877 0.0760332 0.0252369 0.0599271 0.489291 0.401316 0.479022 0.819953 0.47908 0.822015 0.365586 0.538038 0.366132 0.544026 0.201784 0.960266 0.0419091 0.176634 0.464354 0.73434 0.475391 0.741825 0.446457 0.733433 0.442327 0.775993 0.749928 0.810599 0.773344 0.810745 0.701 0.812582 0.687235 0.813427 0.579561 0.214896 0.489646 0.372328 0.437875 0.298979 0.288602 0.204989 0.272755 0.205866 0.249006 0.207008 0.455576 0.933469 0.501552 0.966273 0.0370622 0.33488 0.643938 0.219939 0.852839 0.300996 0.834304 0.643517 0.931119 0.597666 0.93456 0.574244 0.861712 0.569823 0.857396 0.571047 0.684198 0.551733 0.683914 0.552083 0.50519 0.46124 0.0564049 0.0512986 0.808877 0.232374 0.80825 0.234439 0.832804 0.0250755 0.470891 0.392355 0.471917 0.392465 0.47134 0.398439 0.396228 0.399952 0.396633 0.397924 0.362148 0.954822 0.288074 0.963041 0.328771 0.799482 0.329088 0.798496 0.508389 0.63984 0.509415 0.63995 0.508838 0.645925 0.433726 0.647437 0.434131 0.64541 0.14464 0.540202 0.0863488 0.539392 0.781312 0.70488 0.272755 0.0258763 0.288602 0.025 0.0475226 0.16276 0.883645 0.447304 0.433707 0.790987 0.440453 0.805197 0.426316 0.786844 0.0611961 0.190575 0.067869 0.196785 0.0999876 0.0316339 0.0999877 0.0315729 0.502528 0.420861 0.495279 0.40077 0.497475 0.435555 0.494329 0.444751 0.375988 0.792856 0.375934 0.790412 0.385821 0.790385 0.395582 0.790292 0.385905 0.792675 0.395645 0.792418 0.291779 0.536541 0.256046 0.975 0.241352 0.969948 0.232156 0.966801 0.0371484 0.19385 0.0412621 0.192859 0.0466449 0.176152 0.0468489 0.181584 0.472486 0.474883 0.723139 0.811068 0.667561 0.850491 0.797851 0.765062 0.508166 0.337366 0.393188 0.292567 0.485655 0.89412 0.491578 0.337193 0.100543 0.223067 0.781261 0.236734 0.77058 0.339826 0.933576 0.690876 0.925851 0.626591 0.936082 0.572468 0.681437 0.544407 0.451062 0.384979 0.436405 0.389881 0.427164 0.392998 0.396818 0.400575 0.3178 0.828406 0.317483 0.829392 0.364817 0.384979 0.35016 0.389881 0.340919 0.392998 0.43067 0.504958 0.430093 0.510933 0.354981 0.512445 0.355385 0.510417 0.48856 0.632464 0.473903 0.637366 0.464661 0.640483 0.434315 0.64806 0.616271 0.680225 0.668275 0.71127 0.722934 0.583453 0.479316 0.58498 0.666345 0.546145 0.88102 0.328732 0.0326041 0.0409044 0.426226 0.786762 0.426416 0.786525 0.474457 0.775166 0.0812467 0.189991 0.0878606 0.18999 0.061133 0.190515 0.0254258 0.058748 0.0300589 0.0597627 0.415276 0.789955 0.415333 0.792017 0.276137 0.967751 0.860717 0.776527 0.838444 0.331154 0.167809 0.670915 0.167492 0.671901 0.363174 0.954932 0.362597 0.960906 0.287485 0.962419 0.287889 0.960391 0.310573 0.400574 0.246554 0.682164 0.246237 0.68315 + + + + + + + + + + + + + + +

658 0 0 685 1 1 659 2 2 669 3 3 668 4 4 690 5 5 2171 6 6 2172 7 7 2193 8 8 2180 9 9 2197 10 10 2179 11 11 37 12 12 52 13 13 38 14 14 53 15 15 38 14 14 52 13 13 54 16 16 67 17 17 55 18 18 66 19 19 55 18 18 67 17 17 84 20 20 86 21 21 73 22 22 74 23 23 73 22 22 86 21 21 71 24 24 60 25 25 72 26 26 83 27 27 72 26 26 60 25 25 91 28 28 90 29 29 37 12 30 36 30 31 37 12 30 90 29 29 29 31 32 100 32 33 28 33 34 102 34 35 28 33 34 100 32 33 110 35 36 101 36 37 31 37 38 30 38 39 31 37 38 101 36 37 26 39 40 25 40 41 116 41 42 117 42 43 116 41 42 25 40 41 32 43 44 31 37 45 120 44 46 122 45 47 120 44 46 31 37 45 127 46 48 126 47 49 88 48 50 89 49 51 88 48 50 126 47 49 132 50 52 130 51 53 133 52 54 131 53 55 133 52 54 130 51 53 20 54 56 19 55 57 140 56 58 138 57 59 140 56 58 19 55 57 98 58 60 145 59 61 97 60 62 143 61 63 97 60 62 145 59 61 59 62 64 62 63 65 148 64 66 152 65 67 148 64 66 62 63 65 79 66 68 78 67 69 156 68 70 157 69 71 156 68 70 78 67 69 98 58 60 33 70 72 159 71 73 149 72 74 159 71 73 33 70 72 113 73 75 166 74 76 19 55 57 167 75 77 19 55 57 166 74 76 170 76 78 171 77 79 138 57 59 139 78 80 138 57 59 171 77 79 145 59 61 98 58 60 173 79 81 159 71 73 173 79 81 98 58 60 181 80 82 174 81 83 203 82 84 196 83 85 203 82 84 174 81 83 164 84 86 211 85 87 0 86 88 212 87 89 0 86 88 211 85 87 1 88 90 2 89 91 210 90 92 216 91 93 210 90 92 2 89 91 224 92 94 229 93 95 223 94 96 228 95 97 223 94 96 229 93 95 238 96 98 233 97 99 229 93 95 228 95 97 229 93 95 233 97 99 240 98 100 239 99 101 224 92 94 229 93 95 224 92 94 239 99 101 244 100 102 245 101 103 104 102 104 105 103 105 104 102 104 245 101 103 110 35 106 108 104 107 250 105 108 249 106 109 250 105 108 108 104 107 253 107 110 160 108 111 251 109 112 101 36 37 251 109 112 160 108 111 230 110 113 257 111 114 225 112 115 258 113 116 225 112 115 257 111 114 199 114 117 177 115 118 266 116 119 265 117 120 266 116 119 177 115 118 268 118 121 278 119 122 266 116 119 279 120 123 266 116 119 278 119 122 280 121 124 196 83 85 281 122 125 197 123 126 281 122 125 196 83 85 202 124 127 286 125 128 201 126 129 285 127 130 201 126 129 286 125 128 205 128 131 290 129 132 206 130 133 289 131 134 206 130 133 290 129 132 309 132 135 293 133 136 310 134 137 294 135 138 310 134 137 293 133 136 314 136 139 313 137 140 300 138 141 298 139 142 300 138 141 313 137 140 318 140 143 326 141 144 259 142 145 221 143 146 259 142 145 326 141 144 303 144 147 335 145 148 315 146 149 334 147 150 315 146 149 335 145 148 339 148 151 341 149 152 340 150 153 342 151 154 340 150 153 341 149 152 346 152 155 349 153 156 344 154 157 347 155 158 344 154 157 349 153 156 355 156 159 354 157 160 357 158 161 358 159 162 357 158 161 354 157 160 356 160 163 357 158 161 367 161 164 366 162 165 367 161 164 357 158 161 375 163 166 374 164 167 377 165 168 376 166 169 377 165 168 374 164 167 391 167 170 394 168 171 392 169 172 395 170 173 392 169 172 394 168 171 358 159 174 354 157 175 404 171 176 403 172 177 404 171 176 354 157 175 412 173 178 413 174 179 404 171 176 408 175 180 404 171 176 413 174 179 421 176 181 411 177 182 420 178 183 410 179 184 420 178 183 411 177 182 429 180 185 414 181 186 421 176 181 411 177 182 421 176 181 414 181 186 432 182 187 433 183 188 437 184 189 438 185 190 437 184 189 433 183 188 442 186 191 443 187 192 399 188 193 410 179 184 399 188 193 443 187 192 457 189 194 455 190 195 330 191 196 327 192 197 330 191 196 455 190 195 462 193 198 464 194 199 303 144 147 321 195 200 303 144 147 464 194 199 468 196 201 469 197 202 449 198 203 448 199 204 449 200 203 469 197 202 451 201 205 472 202 206 478 203 207 477 204 208 478 203 207 472 202 206 425 205 209 426 206 210 478 203 207 479 207 211 478 203 207 426 206 210 485 208 212 486 209 213 388 210 214 389 211 215 388 210 214 486 209 213 469 197 202 488 212 216 448 199 204 493 213 217 448 199 204 488 212 216 497 214 218 496 215 219 502 216 220 501 217 221 502 216 220 496 215 219 505 218 222 504 219 223 510 220 224 509 221 225 510 220 224 504 219 223 518 222 226 513 223 227 517 224 228 512 225 229 517 224 228 513 223 227 368 226 230 520 227 231 369 228 232 521 229 233 369 228 232 520 227 231 437 184 189 529 230 234 432 182 187 530 231 235 432 182 187 529 230 234 519 232 236 537 233 237 520 227 231 538 234 238 520 227 231 537 233 237 528 235 239 546 236 240 529 230 234 547 237 241 529 230 234 546 236 240 540 238 242 554 239 243 541 240 244 555 241 245 541 240 244 554 239 243 550 242 246 549 243 247 564 244 248 563 245 249 564 244 248 549 243 247 553 246 250 571 247 251 554 239 243 572 248 252 554 239 243 571 247 251 562 249 253 580 250 254 563 245 249 581 251 255 563 245 249 580 250 254 575 252 256 574 253 257 589 254 258 588 255 259 589 254 258 574 253 257 568 256 260 567 257 261 598 258 262 597 259 263 598 258 262 567 257 261 605 260 264 588 255 259 610 261 265 587 262 266 610 261 265 588 255 259 585 263 267 612 264 268 586 265 269 611 266 270 586 265 269 612 264 268 592 267 271 591 268 272 622 269 273 623 270 274 622 269 273 591 268 272 632 271 275 626 272 276 631 273 277 625 274 278 631 273 277 626 272 276 618 275 279 619 276 280 641 277 281 640 278 282 641 277 281 619 276 280 633 279 283 648 280 284 634 281 285 649 282 286 634 281 285 648 280 284 657 283 287 658 0 0 643 284 288 644 285 289 643 284 288 658 0 0 654 286 290 653 287 291 667 288 292 666 289 293 667 288 292 653 287 291 679 290 294 680 291 295 674 292 296 675 293 297 674 292 296 680 291 295 679 290 294 684 294 298 680 291 295 685 1 1 680 291 295 684 294 298 688 295 299 689 296 300 666 289 293 667 288 292 666 289 293 689 296 300 300 138 141 298 139 142 694 297 301 693 298 302 694 297 301 298 139 142 703 299 303 293 133 136 702 300 304 292 301 305 702 300 304 293 133 136 696 302 306 695 303 307 711 304 308 710 305 309 711 304 308 695 303 307 734 306 310 733 307 311 720 308 312 719 309 313 720 308 312 733 307 311 741 310 314 727 311 315 742 312 316 728 313 317 742 312 316 727 311 315 754 314 318 755 315 319 751 316 320 752 317 321 751 316 320 755 318 319 766 319 322 765 320 323 748 321 324 747 322 325 748 321 324 765 320 323 752 317 321 772 323 326 749 324 327 771 325 328 749 324 327 772 323 326 775 326 329 761 327 330 776 328 331 764 329 332 776 328 331 761 327 330 779 330 333 780 331 334 734 306 310 733 307 311 734 306 310 780 331 334 738 332 335 784 333 336 737 334 337 783 335 338 737 334 337 784 333 336 742 312 316 788 336 339 741 310 314 787 337 340 741 310 314 788 336 339 791 338 341 745 339 342 792 340 343 746 341 344 792 340 343 745 339 342 812 342 345 811 343 346 809 344 347 810 345 348 809 344 347 811 343 346 798 346 349 802 347 350 824 348 351 825 349 352 824 348 351 802 347 350 823 350 353 809 344 347 822 351 354 808 352 355 822 351 354 809 344 347 821 353 356 819 354 357 831 355 358 820 356 359 831 355 358 819 354 357 846 357 360 850 358 361 847 359 362 851 360 363 847 359 362 850 358 361 854 361 364 855 362 365 868 363 366 867 364 367 868 363 366 855 362 365 873 365 368 866 366 369 872 367 370 865 368 371 872 367 370 866 366 369 870 369 372 878 370 373 857 371 374 879 372 375 857 371 374 878 370 373 886 373 376 888 374 377 893 375 378 894 376 379 893 375 378 888 374 377 897 377 380 898 378 381 910 379 382 912 380 383 910 379 382 898 378 381 894 376 379 918 381 384 898 378 381 919 382 385 898 378 381 918 381 384 837 383 386 839 384 387 927 385 388 926 386 389 927 385 388 839 384 387 929 387 390 928 388 391 922 389 392 880 390 393 922 389 392 928 391 391 915 392 394 907 393 395 934 394 396 932 395 397 934 394 396 907 393 395 941 396 398 909 397 399 940 398 400 933 399 401 940 398 400 909 397 399 895 400 402 943 401 403 899 402 404 944 403 405 899 402 404 943 401 403 945 404 406 870 405 372 946 406 407 857 407 374 946 406 407 870 405 372 960 408 408 961 409 409 954 410 410 955 411 411 954 410 410 961 409 409 980 412 412 979 413 413 962 414 414 957 415 415 962 414 414 979 413 413 991 416 416 949 417 417 992 418 418 948 419 419 992 418 418 949 417 417 963 420 420 964 421 421 1004 422 422 1003 423 423 1004 422 422 964 421 421 986 424 424 966 425 425 1009 426 426 1008 427 427 1009 426 426 966 425 425 1022 428 428 1017 429 429 1021 430 430 1016 431 431 1021 430 430 1017 429 429 1031 432 432 990 433 433 1032 434 434 997 435 435 1032 434 434 990 433 433 1023 436 436 1022 428 428 1041 437 437 1040 438 438 1041 437 437 1022 428 428 973 439 439 974 440 440 1056 441 441 1058 442 442 1056 441 441 974 440 440 1021 430 430 1064 443 443 1039 444 444 1065 445 445 1039 444 444 1064 443 443 1067 446 446 1044 447 447 1072 448 448 1069 449 449 1072 448 448 1044 450 447 1083 451 450 1030 452 451 1081 453 452 1028 454 453 1081 453 452 1030 452 451 1090 455 454 1089 456 455 1038 457 456 1036 458 457 1038 457 456 1089 456 455 1096 459 458 1097 460 459 1056 441 441 1057 461 460 1056 441 441 1097 460 459 1061 462 461 1057 461 460 1101 463 462 1097 460 459 1101 463 462 1057 461 460 1103 464 463 1104 465 464 1063 466 465 1064 443 443 1063 466 465 1104 465 464 1108 467 466 1067 468 446 1107 469 467 1072 448 448 1107 469 467 1067 468 446 1129 470 468 1130 471 469 1135 472 470 1136 473 471 1135 472 470 1130 471 469 1118 474 472 1144 475 473 1113 476 474 1143 477 475 1113 476 474 1144 475 473 1112 478 476 1138 479 477 1156 480 478 1155 481 479 1156 480 478 1138 479 477 1122 482 480 1165 483 481 1121 484 482 1163 485 483 1121 484 482 1165 483 481 1160 486 484 1161 487 485 1172 488 486 1173 489 487 1172 488 486 1161 487 485 1111 490 488 1114 491 489 1186 492 490 1185 493 491 1186 492 490 1114 491 489 1157 494 492 1192 495 493 1170 496 494 1194 497 495 1170 496 494 1192 495 493 1201 498 496 1208 499 497 1200 500 498 1207 501 499 1200 500 498 1208 499 497 1166 502 500 1221 503 501 1128 504 502 1217 505 503 1128 506 502 1221 503 501 1229 507 504 1205 508 505 1228 509 506 1207 501 499 1228 509 506 1205 508 505 1235 510 507 1234 511 508 1233 512 509 1206 513 510 1233 512 509 1234 511 508 1193 514 511 1189 515 512 1246 516 513 1242 517 514 1246 516 513 1189 515 512 1203 518 515 1233 512 509 1237 519 516 1252 520 517 1237 519 516 1233 512 509 1258 521 518 1256 522 519 1243 523 520 1241 524 521 1243 523 520 1256 522 519 1255 525 522 1240 526 523 1261 527 524 1246 516 513 1261 527 524 1240 526 523 1264 528 525 1265 529 526 1249 530 527 1250 531 528 1249 530 527 1265 529 526 1005 532 529 1270 533 530 961 409 409 1269 534 531 961 409 409 1270 533 530 1285 535 532 992 418 418 1282 536 533 948 419 419 1282 536 533 992 418 418 1288 537 534 1024 538 535 1289 539 536 1042 540 537 1289 539 536 1024 538 535 1147 541 538 972 542 539 1146 543 540 1272 544 541 1146 543 540 972 542 539 1179 545 542 1287 546 543 1184 547 544 1288 537 545 1184 547 544 1287 546 543 1165 483 481 1270 533 546 1126 548 547 1276 549 548 1126 548 547 1270 533 546 1295 550 549 987 551 550 1296 552 551 972 542 552 1296 552 551 987 551 550 1298 553 553 1301 554 554 1299 555 555 1302 556 556 1299 555 555 1301 554 554 1305 557 557 1304 558 558 1308 559 559 1307 560 560 1308 559 559 1304 558 558 1274 561 561 1311 562 562 988 563 563 1310 564 564 988 563 563 1311 562 562 1052 565 565 1051 566 566 1315 567 567 1314 568 568 1315 567 567 1051 566 566 1316 569 569 1293 570 570 1317 571 571 1237 572 572 1317 571 571 1293 570 570 1327 573 573 1328 574 574 1320 575 575 1321 576 576 1320 575 575 1328 574 574 1335 577 577 1333 578 578 1336 579 579 1334 580 580 1336 579 579 1333 578 578 1349 581 581 1350 582 582 1355 583 583 1356 584 584 1355 583 583 1350 582 582 1373 585 585 1374 586 586 1371 587 587 1372 588 588 1371 587 587 1374 586 586 1363 577 589 1365 589 590 1373 585 585 1375 590 591 1373 585 585 1365 589 590 1365 589 590 1381 591 592 1375 590 591 1386 592 593 1375 590 591 1381 591 592 1391 593 594 1392 594 595 1393 595 596 1394 596 597 1393 595 596 1392 594 595 1407 597 598 1406 598 599 1408 599 600 1405 600 601 1408 599 600 1406 598 599 1415 601 602 1420 602 603 1413 603 604 1419 604 605 1413 603 604 1420 602 603 1430 605 606 1432 605 607 1422 606 608 1428 607 609 1422 606 608 1432 605 607 1437 608 610 1440 609 611 1441 609 612 1442 610 613 1441 609 612 1440 609 611 1441 611 612 1450 612 614 1437 612 610 1449 613 615 1437 612 610 1450 612 614 1459 614 616 1460 615 617 1458 616 618 1457 617 619 1458 616 618 1460 615 617 1463 618 620 1468 619 621 1457 617 619 1466 620 622 1457 617 619 1468 619 621 1482 621 623 1481 622 624 1479 623 625 1478 624 626 1479 623 625 1481 622 624 1488 625 627 1498 626 628 1490 627 629 1501 628 630 1490 627 629 1498 626 628 1503 629 631 1505 630 632 1492 631 633 1494 632 634 1492 631 633 1505 630 632 1507 633 635 1505 634 636 1506 633 637 1506 633 637 1508 633 638 1507 633 635 1512 635 639 1514 636 640 1511 637 641 1513 638 642 1511 637 641 1514 636 640 1516 639 643 1518 640 644 1515 641 645 1517 642 646 1515 641 645 1518 640 644 1547 643 647 1548 644 648 1535 645 649 1534 646 650 1535 645 649 1548 644 648 1549 647 651 1551 629 652 1538 648 653 1540 631 654 1538 648 653 1551 629 652 1553 630 655 1555 649 656 1542 650 657 1544 651 658 1542 650 657 1555 649 656 1567 652 659 1568 653 660 1566 654 661 1565 655 662 1566 654 661 1568 653 660 1607 656 663 1622 657 664 1620 658 665 1621 659 666 1620 658 665 1622 657 664 1609 660 667 1624 661 668 1608 662 669 1623 663 670 1608 662 669 1624 661 668 1625 664 671 1626 665 672 1642 666 673 1641 667 674 1642 666 673 1626 665 672 1659 668 675 1647 669 676 1649 670 677 1648 671 678 1649 670 677 1647 669 676 1642 666 679 1647 669 680 1643 672 681 1646 673 682 1643 672 681 1647 669 680 1665 674 683 1666 675 684 1611 676 685 1612 677 686 1611 676 685 1666 675 684 1600 678 687 1599 679 688 1676 680 689 1677 681 690 1676 680 689 1599 679 688 1601 682 691 1602 683 692 1687 684 693 1685 685 694 1687 684 693 1602 683 692 1598 686 695 1690 687 696 1597 688 697 1691 689 698 1597 688 697 1690 687 696 1604 690 699 1695 691 700 1603 692 701 1686 693 702 1603 692 701 1695 691 700 1701 694 703 1702 695 704 1698 696 705 1700 697 706 1698 696 705 1702 695 704 1707 698 707 1705 699 708 1590 700 709 1589 701 710 1590 700 709 1705 699 708 1714 702 711 1669 703 712 1712 704 713 1668 705 714 1712 704 713 1669 703 712 1719 706 715 1697 707 716 1720 708 717 1699 709 718 1720 708 717 1697 707 716 1629 710 719 1638 711 720 1724 712 721 1726 713 722 1724 712 721 1638 711 720 1726 713 722 1638 711 720 1730 714 723 1651 715 724 1730 714 723 1638 711 720 1733 716 725 1674 717 726 1735 718 727 1603 692 701 1735 718 727 1674 717 726 1595 719 728 1738 720 729 1694 721 730 1741 722 731 1694 721 730 1738 720 729 1744 723 732 1712 704 713 1731 724 733 1668 705 714 1731 724 733 1712 704 713 175 725 734 174 81 735 1759 726 736 1758 727 737 1759 726 736 174 81 735 1768 728 738 1767 729 739 195 730 740 193 731 741 195 730 740 1767 729 739 1775 732 742 1776 733 743 1577 734 744 1578 735 745 1577 734 744 1776 733 743 1776 733 743 1779 736 746 1578 735 745 1579 737 747 1578 735 745 1779 736 746 1787 738 748 1792 739 749 1788 740 750 1793 741 751 1788 740 750 1792 739 749 1796 742 752 1766 743 753 236 744 754 182 745 755 236 744 754 1766 743 753 1673 746 756 1675 747 757 1802 748 758 1803 749 759 1802 748 758 1675 747 757 1807 750 760 1806 751 761 1679 752 762 1678 753 763 1679 752 762 1806 751 761 1811 754 764 1683 755 765 1812 756 766 1674 717 726 1812 756 766 1683 755 765 1809 757 767 1815 758 768 1682 759 769 1736 760 770 1682 759 769 1815 758 768 1817 761 771 1774 762 772 1583 763 773 1573 764 774 1583 765 773 1774 762 772 269 766 775 267 767 776 1828 768 777 1827 769 778 1828 768 777 267 767 776 1831 770 779 1832 771 780 1825 772 781 1824 773 782 1825 772 781 1832 771 780 1838 774 783 1760 775 784 1837 776 785 1759 726 736 1837 776 785 1760 775 784 1765 777 786 1764 778 787 1843 779 788 1842 780 789 1843 779 788 1764 778 787 1767 729 739 1846 781 790 1796 742 752 1847 782 791 1796 742 752 1846 781 790 1849 783 792 1862 784 793 1850 785 794 1863 786 795 1850 785 794 1862 784 793 317 787 796 306 788 797 1868 789 798 1859 790 799 1868 789 798 306 788 797 1878 791 800 1877 792 801 1868 789 798 1860 793 802 1868 789 798 1877 792 801 1867 794 803 1857 795 804 1883 796 805 1885 797 806 1883 796 805 1857 795 804 1887 798 807 1782 799 808 1892 800 809 1784 801 810 1892 800 809 1782 799 808 1900 802 811 1897 803 812 1901 804 813 1898 805 814 1901 804 813 1897 803 812 1770 806 815 1781 807 816 1908 808 817 1909 809 818 1908 808 817 1781 807 816 1908 808 817 1909 809 818 1916 810 819 1917 811 820 1916 810 819 1909 809 818 383 812 821 382 813 822 1928 814 823 1927 815 824 1928 814 823 382 813 822 1935 816 825 1936 817 826 1937 818 827 1938 819 828 1937 818 827 1936 817 826 1946 820 829 1945 821 830 1897 803 831 1894 822 832 1897 803 831 1945 821 830 1955 823 833 1954 824 834 1942 825 835 1941 826 836 1942 825 835 1954 824 834 1952 827 837 1962 828 838 1959 829 839 1964 830 840 1959 829 839 1962 828 838 1949 831 841 1971 832 842 1948 833 843 1953 834 844 1948 833 843 1971 832 842 1979 835 845 1974 836 846 1978 837 847 1973 838 848 1978 837 847 1974 836 846 1871 839 849 1886 840 850 1985 841 851 1982 842 852 1985 841 851 1886 840 850 1999 843 853 1930 844 854 1998 845 855 1882 846 856 1998 845 855 1930 844 854 1985 841 851 2005 847 857 1871 839 849 2004 848 858 1871 839 849 2005 847 857 1989 849 859 2010 850 860 1988 851 861 2011 852 862 1988 851 861 2010 850 860 2019 853 863 2014 854 864 2020 855 865 2010 856 860 2020 855 865 2014 854 864 1967 857 866 2020 855 865 1968 858 867 2021 859 868 1968 858 867 2020 855 865 2027 860 869 2026 861 870 2007 862 871 2000 863 872 2007 862 871 2026 861 870 2032 864 873 2028 865 874 2033 866 875 2029 867 876 2033 866 875 2028 865 874 2015 868 877 2039 869 878 2011 852 862 2035 870 879 2011 852 862 2039 869 878 2042 871 880 2046 872 881 2041 873 882 2045 874 883 2041 873 882 2046 872 881 514 875 884 2048 876 885 390 877 886 1933 878 887 390 877 886 2048 876 885 1918 879 888 1919 880 889 2055 881 890 2056 882 891 2055 881 890 1919 880 889 1924 883 892 1922 884 893 2062 885 894 2063 886 895 2062 885 894 1922 884 893 2055 881 890 2071 887 896 2054 888 897 2070 889 898 2054 888 897 2071 887 896 2061 890 899 2062 885 894 2077 891 900 2078 892 901 2077 891 900 2062 885 894 2073 893 902 543 894 903 2085 895 904 557 896 905 2085 895 904 543 894 903 2066 897 906 2067 898 907 2092 899 908 2093 900 909 2092 899 908 2067 898 907 2084 901 910 2085 895 904 2100 902 911 2101 903 912 2100 902 911 2085 895 904 2107 904 913 2091 905 914 2094 906 915 2092 899 908 2094 906 915 2091 905 914 2103 907 916 2115 908 917 2102 909 918 2114 910 919 2102 909 918 2115 908 917 2122 911 920 2123 912 921 602 913 922 603 914 923 602 913 922 2123 912 921 2112 915 924 2129 916 925 2111 917 926 2130 918 927 2111 917 926 2129 916 925 2121 919 928 2134 920 929 2120 921 930 2136 922 931 2120 921 930 2134 920 929 2108 923 932 2133 924 933 2135 925 934 2143 926 935 2135 925 934 2133 924 933 2145 927 936 628 928 937 2150 929 938 634 281 939 2150 929 938 628 928 937 2134 920 929 2146 930 940 2136 922 931 2157 931 941 2136 922 931 2146 930 940 2151 932 942 2165 933 943 635 934 944 651 935 945 635 934 944 2165 933 943 2161 936 946 2173 937 947 2160 938 948 2172 7 7 2160 938 948 2173 937 947 2168 939 949 2169 940 950 2179 11 11 2180 9 9 2179 11 11 2169 940 950 676 941 951 2186 942 952 681 943 953 2190 944 954 681 943 953 2186 942 952 2171 6 6 2193 8 8 2170 945 955 2189 946 956 2170 945 955 2193 8 8 2196 947 957 2178 948 958 2197 10 10 2179 11 11 2197 10 10 2178 948 958 1857 795 804 2203 949 959 1885 797 806 2202 950 960 1885 797 806 2203 949 959 1849 783 792 1850 785 794 2209 951 961 2198 952 962 2209 951 961 1850 785 794 2205 953 963 2218 954 964 2204 955 965 2217 956 966 2204 955 965 2218 954 964 2236 957 967 2224 958 968 2235 959 969 2223 960 970 2235 959 969 2224 958 968 2243 961 971 2244 962 972 2231 963 973 2232 964 974 2231 963 973 2244 962 972 2252 965 975 2250 966 976 2253 967 977 2251 968 978 2253 967 977 2250 966 976 2258 969 979 2259 970 980 2246 971 981 2247 972 982 2246 971 981 2259 970 980 2263 973 983 2264 974 984 2249 975 985 2251 968 978 2249 976 985 2264 974 984 2231 963 973 2268 977 986 2230 978 987 2267 979 988 2230 978 987 2268 977 986 2271 980 989 2235 959 969 2270 981 990 2234 982 991 2270 981 990 2235 959 969 2274 983 992 2275 984 993 2238 985 994 2239 986 995 2238 985 994 2275 984 993 2243 961 971 2242 987 996 2279 988 997 2278 989 998 2279 988 997 2242 987 996 2283 990 999 2287 991 1000 2284 992 1001 2286 993 1002 2284 992 1001 2287 991 1000 2309 994 1003 2308 995 1004 2284 992 1001 2285 996 1005 2284 992 1001 2308 995 1004 2305 997 1006 2317 998 1007 2306 999 1008 2319 1000 1009 2306 999 1008 2317 998 1007 2324 1001 1010 2295 1002 1011 2325 1003 1012 2294 1004 1013 2325 1003 1012 2295 1002 1011 2328 1005 1014 2327 1006 1015 2320 1007 1016 2303 1008 1017 2320 1007 1016 2327 1006 1015 2343 1009 1018 2347 1010 1019 2344 1011 1020 2348 1012 1021 2344 1011 1020 2347 1010 1019 2361 1013 1022 2346 1014 1023 2364 1015 1024 2356 1016 1025 2364 1015 1024 2346 1014 1023 2352 1017 1026 2371 1018 1027 2362 1019 1028 2370 1020 1029 2362 1019 1028 2371 1018 1027 2282 1021 1030 2379 1022 1031 2283 1021 999 2378 1023 1032 2283 990 999 2379 1024 1031 2331 1025 1033 2354 1026 1034 2381 1027 1035 2380 1028 1036 2381 1027 1035 2354 1026 1034 2330 1029 1037 2381 1027 1035 2333 1030 1038 2332 1031 1039 2333 1030 1038 2381 1027 1035 2305 997 1006 2306 1032 1008 2386 1033 1040 2386 1034 1040 2387 1035 1041 2305 997 1006 2299 1036 1042 2294 1004 1013 2393 1037 1043 2392 1038 1044 2393 1037 1043 2294 1004 1013 2397 1039 1045 2373 1040 1046 2341 1041 1047 2366 1042 1048 2341 1041 1047 2373 1043 1046 2414 1044 421 2415 1045 1049 2419 1046 1050 2420 1047 1051 2419 1046 1050 2415 1045 1049 2431 1048 1052 2432 1049 1053 2416 1050 425 2421 1051 1054 2416 1050 425 2432 1049 1053 2402 1052 1055 2444 1053 1056 2428 1054 1057 2445 1055 1058 2428 1054 1057 2444 1053 1056 2453 1056 423 2455 1057 529 2414 1044 421 2415 1045 1049 2414 1044 421 2455 1057 529 2448 1058 1059 2450 1059 1060 2461 1060 1061 2462 1061 1062 2461 1060 1061 2450 1059 1060 2469 1062 1063 2474 1063 535 2468 1064 1064 2473 1065 436 2468 1064 1064 2474 1063 535 2477 1066 1065 2409 1067 1066 2483 1068 1067 2454 1069 422 2483 1068 1067 2409 1067 1066 2490 1070 438 2497 1071 1068 2489 1072 444 2495 1073 1069 2489 1072 444 2497 1071 1068 2510 1074 1070 2509 1075 1071 2448 1058 1059 2446 1076 1072 2448 1058 1059 2509 1075 1071 2494 1077 447 2519 1078 449 2500 1079 1073 2518 1080 1074 2500 1079 1073 2519 1078 449 2524 1081 1075 2487 1082 1076 2496 1083 1077 2488 1084 456 2496 1083 1077 2487 1082 1076 2482 1085 434 2481 1086 432 2535 1087 1078 2534 1088 1079 2535 1087 1078 2481 1086 432 2541 1089 1080 2542 1090 1081 2496 1083 1077 2523 1091 1082 2496 1083 1077 2542 1090 1081 2548 1092 1083 2508 1093 442 2546 1094 458 2506 1095 441 2546 1094 458 2508 1093 442 2505 1096 1084 2545 1097 1085 2511 1098 461 2551 1099 462 2511 1098 461 2545 1097 1085 2555 1100 1086 2554 1101 464 2515 1102 445 2514 1103 443 2515 1102 445 2554 1101 464 2564 1104 489 2565 1105 1087 2561 1106 488 2560 1107 1088 2561 1106 488 2565 1105 1087 2567 1108 1089 2562 1109 476 2589 1110 1090 2588 1111 477 2589 1110 1090 2562 1109 476 2596 1112 540 2597 1113 538 2577 1114 1091 2582 1115 1092 2577 1114 1091 2597 1113 538 2606 1116 478 2608 1117 1093 2605 1118 479 2610 1119 484 2605 1118 479 2608 1117 1093 2616 1120 500 2569 1121 1094 2617 1122 1095 2590 1123 1096 2617 1122 1095 2569 1121 1094 2621 1124 1097 2626 1125 1098 2622 1126 486 2627 1127 1099 2622 1126 486 2626 1125 1098 2574 1128 1100 2639 1129 512 2579 1130 468 2638 1131 1101 2579 1130 468 2639 1129 512 2625 1132 1102 2630 1133 1103 2645 1134 1104 2646 1135 1105 2645 1134 1104 2630 1133 1103 2562 1109 476 2567 1108 1089 2664 1136 1106 2663 1137 1107 2664 1136 1106 2567 1108 1089 2672 1138 1108 2621 1124 1097 2670 1139 1109 2608 1117 1093 2670 1139 1109 2621 1124 1097 2658 1140 497 2657 1141 499 2680 1142 1110 2678 1143 506 2680 1142 1110 2657 1141 499 2688 1144 1111 2635 1145 491 2689 1146 1112 2636 1147 490 2689 1146 1112 2635 1145 491 2695 1148 1113 2642 1149 493 2697 1150 1114 2644 1151 495 2697 1150 1114 2642 1149 493 2704 1152 1115 2703 1153 1116 2689 1146 1112 2688 1144 1111 2689 1146 1112 2703 1153 1116 2694 1154 1117 2709 1155 1118 2689 1146 1112 2704 1152 1115 2689 1146 1112 2709 1155 1118 2710 1156 1119 2695 1148 1113 2712 1157 1120 2697 1150 1114 2712 1157 1120 2695 1148 1113 2715 1158 526 2700 1159 528 2716 1160 1121 2701 1161 1122 2716 1160 1121 2700 1159 528 2615 1162 481 2720 1163 546 2572 1164 480 2719 1165 1123 2572 1164 480 2720 1163 546 2443 1166 1124 2733 1167 1125 2452 1168 1126 2734 1169 1127 2452 1168 1126 2733 1167 1125 2741 1170 1128 2502 1171 1129 2742 1172 1130 2521 1173 1131 2742 1172 1130 2502 1171 1129 2593 1174 475 2603 1175 1132 2731 1176 1133 2733 1167 1134 2731 1176 1133 2603 1175 1132 2739 1177 1135 2652 1178 1136 2740 1179 1137 2659 1180 1138 2740 1179 1137 2652 1178 1136 2599 1181 1139 2723 1182 1140 2598 1183 1141 2724 1184 561 2598 1183 1141 2723 1182 1140 2597 1113 1142 2747 1185 1143 2582 1115 1144 2592 1186 1145 2582 1115 1144 2747 1185 1143 2640 1187 1146 2753 1188 1147 2585 1189 1148 2750 1190 1149 2585 1189 1148 2753 1188 1147 2756 1191 1150 2693 1192 1151 2759 1193 1152 2708 1194 1153 2759 1193 1152 2693 1192 1151 2598 1183 1141 2762 1195 1154 2584 1196 1155 2668 1197 1156 2584 1196 1155 2762 1195 1154 2741 1170 1157 2662 1198 1158 2766 1199 569 2767 1200 571 2766 1199 569 2662 1198 1158 2654 1201 1159 2677 1202 1160 2768 1203 1161 2718 1204 1162 2768 1203 1161 2677 1202 1160 2779 1205 1163 2773 1206 1164 2780 1207 1165 2775 1208 1166 2780 1207 1165 2773 1206 1164 2801 1209 1167 2802 1210 1168 2793 1211 1169 2794 580 1170 2793 1211 1169 2802 1210 1168 2789 1212 1171 2790 582 1172 2810 1213 1173 2809 584 1174 2810 1213 1173 2790 582 1172 2823 1214 585 2824 579 586 2825 1215 1175 2826 1216 1176 2825 1215 1175 2824 579 586 2819 1217 1177 2829 1209 1178 2811 1218 1179 2821 1211 587 2811 1218 1179 2829 1209 1178 2824 579 586 2822 580 588 2826 1216 1176 2835 1219 1180 2826 1216 1176 2822 580 588 2822 580 588 2830 1210 1181 2835 1219 1180 2834 1220 1182 2835 1219 1180 2830 1210 1181 2830 1210 1181 2828 1221 1183 2834 1220 1182 2850 1222 1184 2840 1223 1185 2847 1224 1186 2839 1225 1187 2847 1224 1186 2840 1223 1185 2843 1226 1188 2845 1227 1189 2844 1228 1190 2846 1229 1191 2844 1228 1190 2845 1227 1189 2857 1230 1192 2869 1231 1193 2859 1232 1194 2872 1233 1195 2859 1232 1194 2869 1231 1193 2874 1234 1196 2876 1235 1197 2861 1236 1198 2863 1237 1199 2861 1236 1198 2876 1235 1197 2892 1238 1200 2891 1239 1201 2882 1240 1202 2879 1241 1203 2882 1240 1202 2891 1239 1201 2892 1242 1204 2895 1243 1205 2893 1244 1206 2896 1245 1207 2893 1244 1206 2895 1243 1205 2897 1246 1208 2899 1247 1209 2898 1248 1210 2900 1249 1211 2898 1248 1210 2899 1247 1209 2915 1250 1212 2918 1251 1213 2903 1251 1214 2904 1252 1215 2903 1251 1214 2918 1251 1213 2920 1253 1216 2922 1254 1217 2907 1255 1218 2909 1256 1219 2907 1255 1218 2922 1254 1217 2914 1257 1220 2913 1258 1221 2925 1258 1222 2926 1259 1223 2925 1258 1222 2913 1258 1221 2958 1260 1224 2957 1261 1225 2974 1262 1226 2973 1263 1227 2974 1262 1226 2957 1261 1225 2959 1264 1228 2960 1265 1229 2961 1266 1230 2962 1267 1231 2961 1266 1230 2960 1265 1229 2954 1268 1232 2956 1269 1233 2953 1270 1234 2955 1271 1235 2953 1270 1234 2956 1269 1233 2927 1272 1236 2938 1273 1237 2929 1274 1238 2940 1275 1239 2929 1274 1238 2938 1273 1237 2942 1276 1240 2944 1277 1241 2931 1278 1242 2933 1279 1243 2931 1278 1242 2944 1277 1241 51 1280 1244 52 13 1245 36 30 31 37 12 30 36 30 31 52 13 1245 53 15 15 68 1281 1246 54 16 16 67 17 17 54 16 16 68 1281 1246 85 1282 1247 87 1283 1248 84 20 20 86 21 21 84 20 20 87 1284 1248 71 24 24 72 26 26 70 1285 1249 73 22 22 70 1285 1249 72 26 26 92 1286 1250 91 28 1251 38 14 14 37 12 12 38 14 14 91 28 1251 103 1287 1252 27 1288 1253 102 34 35 28 33 34 102 34 35 27 1288 1253 111 1289 1254 45 1290 1255 107 1291 1256 23 1292 1257 107 1291 1256 45 1290 1255 116 41 42 117 42 43 15 1293 1258 14 1294 1259 15 1293 1258 117 42 43 120 44 46 122 45 47 21 1295 1260 20 54 1261 21 1295 1260 122 45 47 14 1294 1259 13 1296 1262 128 1297 1263 125 1298 1264 128 1297 1263 13 1296 1262 133 52 54 131 53 55 92 1286 1250 91 28 1251 92 1286 1250 131 53 55 140 56 58 138 57 59 141 1299 1265 139 78 80 141 1299 1265 138 57 59 46 1300 1266 146 1301 1267 12 1302 1268 124 1303 1269 12 1302 1268 146 1301 1267 48 1304 1270 148 64 66 61 1305 1271 152 65 67 61 1305 1271 148 64 66 156 68 70 157 69 71 87 1306 1272 77 1307 1273 87 1306 1272 157 69 71 159 71 73 149 72 74 99 1308 1274 47 1309 1275 99 1308 1274 149 72 74 112 1310 1276 18 1311 1277 166 74 76 167 75 77 166 74 76 18 1311 1277 136 1312 1278 137 1313 1279 170 76 78 171 77 79 170 76 78 137 1313 1279 173 79 81 159 71 73 147 1314 1280 99 1308 1274 147 1314 1280 159 71 73 204 1315 1281 182 745 1282 200 1316 1283 179 1317 1284 200 1316 1283 182 745 1282 188 1318 1285 213 1319 1286 187 1320 1287 214 1321 1288 187 1320 1287 213 1319 1286 217 1322 1289 191 1323 1290 214 1321 1288 187 1320 1287 214 1321 1288 191 1323 1290 230 110 113 231 1324 1291 9 1325 1292 8 1326 1293 9 1327 1292 231 1324 1291 205 128 131 193 731 1294 234 1328 1295 236 744 1296 234 1328 1295 193 731 1294 238 96 98 229 93 95 207 1329 1297 239 99 101 207 1329 1297 229 93 95 4 1330 1298 3 1331 1299 244 100 102 245 101 103 244 100 102 3 1331 1299 10 1332 1300 9 1333 1301 249 106 109 250 105 108 249 106 109 9 1333 1301 161 1334 1302 253 107 110 8 1335 1303 251 109 112 8 1335 1303 253 107 110 225 112 115 258 113 116 221 1336 1304 259 1337 1305 221 1336 1304 258 113 116 267 767 1306 268 118 121 265 117 120 266 116 119 265 117 120 268 118 121 279 120 123 283 1338 1307 266 116 119 199 114 117 266 116 119 283 1338 1307 282 1339 1308 185 1340 1309 281 122 125 184 1341 1310 281 122 125 185 1340 1309 189 1342 1311 286 125 128 190 1343 1312 287 1344 1313 190 1343 1312 286 125 128 192 1345 1314 290 129 132 235 1346 1315 291 1347 1316 235 1346 1315 290 129 132 310 134 137 311 1348 1317 275 1349 1318 264 1350 1319 275 1349 1318 311 1348 1317 307 1351 1320 305 1352 1321 317 787 1322 316 1353 1323 317 787 1322 305 1352 1321 323 1354 1324 325 1355 1325 318 140 143 326 141 144 318 140 143 325 1355 1325 334 147 150 314 136 139 336 1356 1326 300 138 141 336 1356 1326 314 136 139 340 150 153 342 151 154 338 1357 1327 343 1358 1328 338 1357 1327 342 151 154 350 1359 1329 240 1360 1330 347 155 158 224 1361 1331 347 155 158 240 1360 1330 208 1362 1332 353 1363 1333 359 1364 1334 356 160 163 359 1364 1334 353 1363 1333 367 161 164 368 226 230 356 160 163 359 1364 1334 356 160 163 368 226 230 378 1365 1335 380 1366 1336 379 1367 1337 381 1368 1338 379 1367 1337 380 1366 1336 393 1369 1339 396 1370 1340 394 168 171 397 1371 1341 394 168 171 396 1370 1340 402 1372 1342 405 1373 1343 341 149 1344 345 1374 1345 341 149 1344 405 1373 1343 414 181 186 401 1375 1346 411 177 182 400 1376 1347 411 177 182 401 1375 1346 422 1377 1348 423 1378 1349 412 173 178 413 174 179 412 173 178 423 1379 1349 431 1380 1350 413 174 179 430 1381 1351 423 1382 1349 430 1381 1351 413 174 179 398 1383 1352 378 1365 1335 439 1384 1353 438 185 190 439 1384 1353 378 1365 1335 410 179 184 443 187 192 420 178 183 444 1385 1354 420 178 183 443 187 192 458 1386 1355 457 189 194 332 1387 1356 330 191 196 332 1387 1356 457 189 194 457 189 194 464 194 199 455 190 195 462 193 198 455 190 195 464 194 199 444 1385 1354 447 1388 1357 468 1389 201 469 197 202 468 1390 201 447 1388 1357 478 203 207 479 207 211 451 201 205 474 1391 1358 451 201 205 479 207 211 426 206 210 427 1392 1359 479 207 211 480 1393 1360 479 207 211 427 1392 1359 487 1394 1361 460 1395 1362 486 209 213 389 211 215 486 209 213 460 1395 1362 495 1396 1363 490 1397 1364 494 1398 1365 489 1399 1366 494 1398 1365 490 1397 1364 503 1400 1367 498 1401 1368 502 216 1369 497 214 1370 502 216 1369 498 1401 1368 506 1402 1371 505 218 222 511 1403 1372 510 220 224 511 1403 1372 505 218 222 513 223 227 518 222 226 473 1404 1373 452 1405 1374 473 1404 1373 518 222 226 369 228 232 521 229 233 370 1406 1375 522 1407 1376 370 1406 1375 521 229 233 531 1408 1377 377 165 168 530 231 235 432 182 187 530 231 235 377 165 168 520 227 231 538 234 238 521 229 233 539 1409 1378 521 229 233 538 234 238 548 1410 1379 530 231 235 547 237 241 529 230 234 547 237 241 530 231 235 541 240 244 555 241 245 542 1411 1380 556 1412 1381 542 1411 1380 555 241 245 564 244 248 565 1413 1382 550 242 246 535 1414 1383 550 242 246 565 1413 1382 554 239 243 572 248 252 555 241 245 573 1415 1384 555 241 245 572 248 252 564 244 248 563 245 249 582 1416 1385 581 251 255 582 1416 1385 563 245 249 577 1417 1386 576 1418 1387 591 268 272 590 1419 1388 591 268 272 576 1418 1387 583 1420 1389 569 1421 1390 598 258 262 568 256 260 598 258 262 569 1421 1390 600 1422 1391 605 260 264 607 1423 1392 610 261 265 607 1423 1392 605 260 264 615 1424 1393 616 1425 1394 598 258 262 583 1420 1389 598 258 262 616 1425 1394 591 268 272 590 1419 1388 623 270 274 624 1426 1395 623 270 274 590 1419 1388 626 272 276 632 271 275 627 1427 1396 633 279 283 627 1427 1396 632 271 275 617 1428 1397 618 275 279 642 1429 1398 641 277 281 642 1429 1398 618 275 279 642 1429 1398 641 277 281 643 284 288 650 1430 1399 643 284 288 641 277 281 645 1431 1400 644 285 289 659 2 2 658 0 0 659 2 2 644 285 289 655 1432 1401 654 286 290 668 4 4 667 288 292 668 4 4 654 286 290 670 1433 1402 675 293 297 657 283 287 680 291 295 657 283 287 675 293 297 660 1434 1403 659 2 2 684 294 298 685 1 1 684 294 298 659 2 2 673 1435 1404 674 292 296 688 295 299 689 296 300 688 295 299 674 292 296 300 138 141 694 297 301 336 1356 1326 695 303 307 336 1356 1326 694 297 301 704 1436 1405 294 135 138 703 299 303 293 133 136 703 299 303 294 135 138 697 1437 1406 696 302 306 712 1438 1407 711 304 308 712 1438 1407 696 302 306 735 1439 1408 734 306 310 721 1440 1409 720 308 312 721 1440 1409 734 306 310 729 1441 1410 743 1442 1411 728 313 317 742 312 316 728 313 317 743 1442 1411 757 1443 1412 754 314 318 756 1444 1413 753 1445 1414 756 1444 1413 754 314 318 766 319 322 767 1446 1415 720 308 312 721 1440 1409 720 308 312 767 1446 1415 724 1447 1416 772 1448 326 725 1449 1417 773 1450 1418 725 1449 1417 772 1448 326 764 329 332 770 1451 1419 776 328 331 777 1452 1420 776 328 331 770 1451 1419 705 1453 1421 718 1454 1422 781 1455 1423 779 330 333 781 1455 1423 718 1454 1422 709 1456 1424 708 1457 1425 785 1458 1426 784 333 336 785 1458 1426 708 1457 1425 788 336 339 789 1459 1427 712 1438 1407 713 1460 1428 712 1438 1407 789 1459 1427 795 1461 1429 794 1462 1430 796 1463 1431 793 1464 1432 796 1463 1431 794 1462 1430 811 343 346 812 342 345 813 1465 1433 814 1466 1434 813 1465 1433 812 342 345 825 349 352 802 347 350 826 1467 1435 804 1468 1436 826 1469 1435 802 347 350 812 342 345 809 344 347 824 1470 1437 823 350 353 824 1470 1437 809 344 347 833 1471 1438 832 1472 1439 834 1473 1440 835 1474 1441 834 1473 1440 832 1472 1439 847 359 362 851 360 363 848 1475 1442 852 1476 1443 848 1475 1442 851 360 363 850 358 361 868 363 366 851 360 363 867 364 367 851 360 363 868 363 366 863 1477 1444 873 365 368 862 1478 1445 872 367 370 862 1478 1445 873 365 368 856 1479 1446 879 372 375 869 1480 1447 878 370 373 869 1480 1447 879 372 375 892 1481 1448 893 375 378 896 1482 1449 897 377 380 896 1482 1449 893 375 378 908 1483 1450 914 1484 1451 900 1485 1452 911 1486 1453 900 1485 1452 914 1484 1451 913 1487 1454 903 1488 1455 920 1489 1456 921 1490 1457 920 1489 1456 903 1491 1455 837 383 386 927 385 388 833 1471 1438 928 1492 1458 833 1471 1438 927 385 388 931 1493 1459 882 1494 1460 930 1495 1461 905 1496 1462 930 1495 1461 882 1494 1460 931 1493 1459 881 1497 1463 880 1498 393 922 389 392 880 1498 393 881 1497 1463 935 1499 1464 879 1500 375 856 1501 1446 856 1502 1446 936 1503 1465 935 1499 1464 899 402 404 944 403 405 913 1504 1454 945 404 1466 913 1505 1454 944 403 405 947 1506 1467 923 1507 1468 845 1508 1469 874 1509 1470 845 1508 1469 923 1510 1468 964 421 421 963 420 420 969 1511 1050 968 1512 1471 969 1511 1050 963 420 420 982 1513 1053 973 439 439 981 1514 1052 967 1515 1472 981 1514 1052 973 439 439 952 1516 1055 994 1517 1056 983 1518 1473 993 1519 1124 983 1518 1473 994 1517 1056 960 408 408 959 1520 1066 1003 423 423 1004 422 422 1003 423 423 959 1520 1066 1008 427 427 962 414 414 1009 426 426 985 1521 1474 1009 426 426 962 414 414 1017 429 429 1022 428 428 1018 1522 1064 1023 436 436 1018 1522 1064 1022 428 428 1004 422 422 1033 1523 1067 963 420 420 1029 1524 1475 963 420 420 1033 1523 1067 1024 538 535 1023 436 436 1042 540 537 1041 437 437 1042 540 537 1023 436 436 996 1525 1072 951 1526 1476 1059 1527 1071 1054 1528 1477 1059 1527 1071 951 1526 1476 1066 1529 1478 1045 1530 1069 1065 445 445 1039 444 444 1065 445 445 1045 1530 1069 1072 448 448 1069 449 449 1066 1529 1478 1045 1530 1069 1066 1529 1478 1069 449 449 1031 432 432 1084 1531 1079 1026 1532 1479 1079 1533 1480 1026 1532 1479 1084 1531 1079 1046 1534 1077 1091 1535 1080 1038 457 456 1090 455 454 1038 457 456 1091 1535 1080 1082 1536 1481 1097 460 459 1081 453 452 1096 459 458 1081 453 452 1097 460 459 1101 463 462 1097 460 459 1086 1537 1482 1082 1536 1481 1086 1537 1482 1097 460 459 1088 1538 1483 1089 456 455 1103 464 463 1104 465 464 1103 464 463 1089 456 455 1077 1539 1484 1108 467 466 1092 1540 1081 1107 469 467 1092 1540 1081 1108 467 466 1131 1541 1485 1137 1542 1486 1130 471 469 1136 473 471 1130 471 469 1137 1542 1486 1123 1543 1487 1145 1544 1488 1118 474 472 1144 475 473 1118 474 472 1145 1544 1488 1159 1545 1489 1151 1546 1490 1150 1547 1491 1150 1547 1491 1157 494 492 1159 1545 1489 1128 1548 502 1141 1549 1492 1166 1550 500 1167 1551 1095 1166 1552 500 1141 1549 1492 1161 487 485 1162 1553 1493 1173 489 487 1174 1554 1494 1173 489 487 1162 1553 1493 1185 493 491 1114 491 489 1187 1555 1495 1120 1556 1496 1187 1555 1495 1114 491 489 1170 496 494 1194 497 495 1175 1557 1102 1195 1558 1104 1175 1557 1102 1194 497 495 1202 1559 1136 1209 1560 1138 1201 498 496 1208 499 497 1201 498 496 1209 1560 1138 1119 1561 1094 1215 1562 1497 1166 1552 500 1221 503 501 1166 502 500 1215 1562 1497 1230 1563 1110 1211 1564 1498 1228 509 506 1210 1565 1499 1228 509 506 1211 1564 1498 1236 1566 1500 1235 510 507 1203 1567 515 1233 512 509 1203 1567 515 1235 510 507 1187 1555 1495 1193 514 511 1240 526 523 1246 516 513 1240 526 523 1193 514 511 1214 1568 1106 1254 1569 1115 1213 1570 1107 1253 1571 1116 1213 1570 1107 1254 1569 1115 1259 1572 1118 1254 1569 1115 1219 1573 1501 1214 1568 1106 1219 1573 1501 1254 1569 1115 1260 1574 1119 1220 1575 1109 1262 1576 1120 1222 1577 1108 1262 1576 1120 1220 1575 1109 1266 1578 1121 1265 529 526 1226 1579 1502 1225 1580 1503 1226 1579 1502 1265 529 526 1271 1581 1504 1269 534 1123 1116 1582 1505 1122 482 480 1116 1582 1505 1269 534 1123 983 1518 1473 993 1519 1124 1281 1583 1506 1283 1584 1125 1281 1583 1506 993 1519 1124 1289 539 536 1042 540 537 1290 1585 1507 1049 1586 1508 1290 1585 1507 1042 540 537 1285 535 1509 1282 536 1510 1152 1587 1511 1109 1588 1512 1152 1587 1511 1282 536 1510 1288 537 545 1289 539 1135 1184 547 544 1202 1559 1136 1184 547 544 1289 539 1135 989 1589 1513 1273 1590 1140 988 563 563 1274 561 561 988 563 563 1273 1590 1140 972 542 552 1147 541 1142 1296 552 551 1297 1591 1143 1296 552 551 1147 541 1142 1300 1592 1149 1299 555 555 1303 1593 1147 1302 556 556 1303 1593 1147 1299 555 555 1305 557 557 1308 559 559 1306 1594 1150 1309 1595 1152 1306 1594 1150 1308 559 559 1274 561 561 1148 1596 1141 1311 562 562 1312 1597 1154 1311 562 562 1148 1596 1141 1315 567 567 1316 569 569 1052 565 565 1291 1598 1157 1052 565 565 1316 569 569 1237 572 572 1268 1599 1514 1317 571 571 1318 1600 1515 1317 571 571 1268 1599 1514 1328 574 574 1329 1601 1163 1321 576 576 1323 1602 1164 1321 576 576 1329 1601 1163 1335 577 577 1336 579 579 1337 589 1516 1338 1216 1517 1337 589 1516 1336 579 579 1347 590 1518 1358 592 1519 1348 1603 1520 1357 1604 1521 1348 1603 1520 1358 592 1519 1369 1605 1177 1370 1210 1522 1361 578 1179 1362 580 1523 1361 578 1179 1370 1210 1522 1367 1606 1524 1369 1605 1177 1377 581 1525 1379 1607 1178 1377 581 1525 1369 1605 1177 1377 581 1525 1383 583 1526 1367 1606 1524 1388 1608 1527 1367 1606 1524 1383 583 1526 1399 1609 1528 1402 1610 1529 1398 1611 1530 1401 1612 1531 1398 1611 1530 1402 1610 1529 1411 1613 1532 1410 1614 1533 1412 1615 1534 1409 1616 1535 1412 1615 1534 1410 1614 1533 1415 1617 602 1409 1616 1535 1420 1618 603 1418 1619 1536 1420 1618 603 1409 1616 1535 1428 1620 609 1432 1621 607 1425 1622 1537 1431 1623 1538 1425 1622 1537 1432 1621 607 1444 1624 1539 1443 1625 1540 1438 1626 1541 1439 1627 1542 1438 1626 1541 1443 1625 1540 1445 1628 1543 1437 1629 1544 1451 1630 1545 1449 1631 1546 1451 1630 1545 1437 1629 1544 1461 1628 1547 1462 1632 1548 1453 1629 1549 1454 1633 1550 1453 1629 1549 1462 1632 1548 1465 1634 1551 1466 1635 1552 1467 1635 1553 1468 1636 621 1467 1635 1553 1466 1635 1552 1476 1637 1554 1474 1638 1555 1483 1639 1556 1481 1640 624 1483 1639 1556 1474 1638 1555 1487 645 1557 1489 1641 1558 1499 643 1559 1502 1642 1560 1499 643 1559 1489 1641 1558 1504 1643 1561 1491 1644 1562 1506 1645 637 1493 1646 1563 1506 1645 637 1491 1644 1562 1522 1647 1564 1512 1648 1565 1521 1649 1566 1509 1650 1567 1521 1649 1566 1512 1648 1565 1522 1651 1568 1523 1652 1569 1525 1653 1570 1526 1654 1571 1525 1653 1570 1523 1652 1569 1527 1655 1572 1528 1656 1573 1529 1657 1574 1530 633 1575 1529 1657 1574 1528 1656 1573 1545 1658 1576 1533 1659 1577 1548 1659 648 1534 1660 1578 1548 1659 648 1533 1659 1577 1550 1661 1579 1537 1662 1580 1552 1663 1581 1539 1664 1582 1552 1663 1581 1537 1662 1580 1544 1665 1583 1555 1666 1584 1543 1666 1585 1556 1667 1586 1543 1666 1585 1555 1666 1584 1566 1668 661 1560 1669 1587 1569 1670 1588 1562 1671 1589 1569 1670 1588 1560 1669 1587 1616 1672 1590 1606 1673 1591 1631 1674 1592 1632 1675 1593 1631 1674 1592 1606 1673 1591 1608 662 669 1623 663 670 1607 656 663 1622 657 664 1607 656 663 1623 663 670 1625 664 1594 1642 666 679 1624 1676 668 1643 672 681 1624 1677 668 1642 666 679 1649 670 677 1650 1678 1595 1659 668 675 1660 1679 1596 1659 668 675 1650 1678 1595 1642 666 673 1641 667 674 1648 671 678 1642 666 673 1648 671 678 1647 669 676 1613 1680 1597 1612 677 686 1667 1681 1598 1666 675 684 1667 1681 1598 1612 677 686 1677 681 1599 1599 679 1600 1678 753 763 1598 686 695 1678 753 763 1599 679 1600 1687 684 693 1685 685 694 1590 700 709 1591 1682 1601 1590 700 709 1685 685 694 1690 687 696 1587 1683 1602 1691 689 698 1586 1684 1603 1691 689 698 1587 1683 1602 1695 691 700 1593 1685 1604 1686 693 702 1592 1686 1605 1686 693 702 1593 1685 1604 1702 695 704 1663 1687 1606 1700 697 706 1661 1688 1607 1700 697 706 1663 1687 1606 1708 1689 1608 1706 1690 1609 1707 698 707 1705 699 708 1707 698 707 1706 1690 1609 1594 1691 1610 1715 1692 1611 1593 1685 1612 1713 1693 1613 1593 1685 1612 1715 1692 1611 1720 708 717 1699 709 718 1672 1694 1614 1662 1695 1615 1672 1694 1614 1699 709 718 1726 713 722 1639 1696 1616 1724 712 721 1628 1697 1617 1724 712 721 1639 1696 1616 1639 1696 1616 1726 713 722 1650 1678 1595 1730 714 723 1650 1678 1595 1726 713 722 1673 746 756 1733 716 725 1602 683 692 1735 718 727 1602 683 692 1733 716 725 1738 720 729 1618 1698 1618 1741 722 731 1696 1699 1619 1741 722 731 1618 1698 1618 1710 1700 1620 1744 723 732 1667 1681 1598 1731 724 733 1667 1681 1598 1744 723 732 176 1701 1621 175 725 734 1760 775 784 1759 726 736 1760 775 784 175 725 734 1748 1702 1622 1747 1703 1623 1771 1704 1624 1772 1705 1625 1771 1704 1624 1747 1703 1623 1753 1706 1626 1752 1707 1627 1777 1708 1628 1775 732 742 1777 1708 1628 1752 1707 1627 1781 1709 1629 1780 1710 1630 1757 1711 1631 1756 1712 1632 1757 1711 1631 1780 1710 1630 1734 1713 1633 1794 1714 1634 1581 1715 1635 1793 741 751 1581 1716 1635 1794 1714 1634 1756 1712 1632 1780 1710 1630 1797 1717 1636 1798 1718 1637 1797 1717 1636 1780 1710 1630 1579 1719 1638 1580 1720 1639 1803 749 759 1802 748 758 1803 749 759 1580 1721 1639 1576 1722 1640 1806 751 761 1575 1723 1641 1807 750 760 1575 1723 1641 1806 751 761 1582 1724 1642 1811 754 764 1581 1725 1643 1812 756 766 1581 1726 1643 1811 754 764 1573 764 1644 1737 1727 1645 1809 757 767 1815 758 768 1809 757 767 1737 1727 1645 1750 1728 1646 1774 762 772 1821 1729 1647 1817 761 771 1821 1729 1647 1774 762 772 1829 1730 1648 271 1731 1649 1828 768 777 269 766 775 1828 768 777 271 1731 1649 1823 1732 1650 1824 773 782 1833 1733 1651 1832 771 780 1833 1733 1651 1824 773 782 1839 1734 1652 1838 774 783 1750 1728 1646 1749 1735 1653 1750 1728 1646 1838 774 783 1754 1736 1654 1747 1703 1623 1843 779 788 1836 1737 1655 1843 779 788 1747 1703 1623 1755 1738 1656 1844 1739 1657 1797 1717 1636 1847 782 791 1797 1717 1636 1844 1739 1657 1825 1740 1658 1852 1741 1659 1863 786 795 1864 1742 1660 1863 786 795 1852 1741 1659 1825 1740 1658 1820 1743 1661 1852 1741 1659 1869 1744 1662 1852 1741 1659 1820 1743 1661 1859 790 799 1879 1745 1663 1868 789 798 1878 791 800 1868 789 798 1879 1745 1663 1872 1746 1664 1886 840 1665 1856 1747 1666 1884 1748 1667 1856 1747 1666 1886 840 1665 1892 800 809 1784 801 810 1893 1749 1668 1785 1750 1669 1893 1749 1668 1784 801 810 1899 1751 1670 1901 804 813 1896 1752 1671 1898 805 814 1896 1752 1671 1901 804 813 1781 807 816 1757 1753 1672 1909 809 818 1910 1754 1673 1909 809 818 1757 1753 1672 1909 809 818 1910 1754 1673 1917 811 820 1918 879 888 1917 811 820 1910 1754 1673 384 1755 1674 333 1756 1675 1929 1757 1676 1881 1758 1677 1929 1757 1676 333 1756 1675 1937 818 827 1927 815 824 396 1370 1678 382 813 822 396 1370 1678 1927 815 824 1897 803 831 1900 802 1679 1946 820 829 1947 1759 1680 1946 820 829 1900 802 1679 1942 825 835 1945 821 830 1955 823 833 1956 1760 1681 1955 823 833 1945 821 830 1959 829 839 1964 830 840 1958 1761 1682 1965 1762 1683 1958 1761 1682 1964 830 840 1924 883 892 1972 1763 1684 1923 1764 1685 1973 838 1686 1923 1764 1685 1972 1763 1684 1936 817 826 1980 1765 1687 1938 819 828 1979 835 1688 1938 819 828 1980 1765 1687 1983 1766 1689 1986 1767 1690 1982 842 852 1985 841 851 1982 842 852 1986 1767 1690 1932 1768 1691 1930 844 854 2000 863 1692 1999 843 853 2000 863 1692 1930 844 854 2005 847 857 1998 845 1693 2004 848 858 1997 1769 1694 2004 848 858 1998 845 1693 2012 1770 1695 1993 1771 1696 2013 1772 1697 1992 1773 1698 2013 1772 1697 1993 1771 1696 1989 1774 859 2021 859 868 2010 856 860 2020 855 865 2010 856 860 2021 859 868 1968 858 867 2021 859 868 1969 1775 1699 2022 1776 1700 1969 1775 1699 2021 859 868 1987 1777 1701 2009 1778 1702 2007 862 871 2027 860 869 2007 862 871 2009 1778 1702 2030 1779 1703 2034 1780 1704 2029 867 876 2033 866 875 2029 867 876 2034 1780 1704 2036 1781 1705 2040 1782 1706 499 1783 1707 504 219 1708 499 1783 1707 2040 1782 1706 2047 1784 1709 2046 872 1710 2043 1785 1711 2042 871 1712 2043 1785 1711 2046 872 1710 1934 1786 1713 1933 878 887 2049 1787 1714 2048 876 885 2049 1787 1714 1933 878 887 1919 880 889 1920 1788 1715 2056 882 891 2057 1789 1716 2056 882 891 1920 1788 1715 2064 1790 1717 2063 886 895 1913 1791 1718 1922 884 893 1913 1791 1718 2063 886 895 2056 882 891 2072 1792 1719 2055 881 890 2071 887 896 2055 881 890 2072 1792 1719 2079 1793 1720 2078 892 901 2063 886 895 2062 885 894 2063 886 895 2078 892 901 2074 1794 1721 2086 1795 1722 544 1796 1723 558 1797 1724 544 1796 1723 2086 1795 1722 2080 1798 1725 2093 900 909 2068 1799 1726 2067 898 907 2068 1799 1726 2093 900 909 2101 903 912 2085 895 904 575 252 1727 557 896 905 575 252 1727 2085 895 904 2108 923 932 2096 1800 1728 2109 1801 1729 2097 1802 1730 2109 1801 1729 2096 1800 1728 2115 908 917 2103 907 916 2116 1803 1731 2104 1804 1732 2116 1803 1731 2103 907 916 2124 1805 1733 2122 911 920 604 1806 1734 602 913 922 604 1806 1734 2122 911 920 2127 1807 1735 2132 1808 1736 2126 1809 1737 2131 1810 1738 2126 1809 1737 2132 1808 1736 2120 921 930 2136 922 931 2119 1811 1739 2137 1812 1740 2119 1811 1739 2136 922 931 2133 924 933 2128 1813 1741 2143 926 935 2144 1814 1742 2143 926 935 2128 1813 1741 2142 1815 1743 2151 932 942 624 1426 1744 635 934 944 624 1426 1744 2151 932 942 2146 930 940 2159 1816 1745 2157 931 941 2158 1817 1746 2157 931 941 2159 1816 1745 2152 1818 1747 2166 1819 1748 2151 932 942 2165 933 943 2151 932 942 2166 1819 1748 2161 936 946 2162 1820 1749 2173 937 947 2174 1821 1750 2173 937 947 2162 1820 1749 2169 940 950 2164 1822 1751 2180 9 9 2181 1823 1752 2180 9 9 2164 1822 1751 2175 1824 1753 663 1825 1754 2190 944 954 681 943 953 2190 944 954 663 1825 1754 2184 1826 1755 2196 947 957 2185 1827 1756 2197 10 10 2185 1827 1756 2196 947 957 2003 1828 1757 2204 955 965 1857 795 804 2203 949 959 1857 795 804 2204 955 965 2210 1829 1758 2209 951 961 2211 1830 1759 2198 952 962 2211 1831 1759 2209 951 961 2206 1832 1760 2219 1833 1761 2205 953 963 2218 954 964 2205 953 963 2219 1833 1761 2237 1834 1762 2225 1835 1763 2236 1836 967 2224 958 968 2236 957 967 2225 1837 1763 2245 1838 1764 2233 1839 1765 2244 962 972 2232 964 974 2244 962 972 2233 1839 1765 2254 1840 1766 759 1841 1767 2252 965 975 756 1444 1768 2252 965 975 759 1841 1767 762 1842 1769 2256 1843 1770 768 1844 1771 2260 1845 1772 768 1844 1771 2256 1843 1770 2227 1846 1773 2228 1847 1774 2264 974 984 2265 1848 1775 2264 974 984 2228 1847 1774 2231 963 973 2232 964 974 2268 977 986 2261 1849 1776 2268 977 986 2232 964 974 2271 980 989 2210 1829 1758 2272 1850 1777 2211 1830 1759 2272 1850 1777 2210 1829 1758 2215 1851 1778 2276 1852 1779 2214 1853 1780 2275 984 993 2214 1853 1780 2276 1852 1779 2219 1833 1761 2280 1854 1781 2218 954 964 2279 988 997 2218 954 964 2280 1854 1781 2287 991 1000 2289 1855 1782 2286 993 1002 2288 1856 1783 2286 993 1002 2289 1855 1782 2284 992 1001 2286 993 1002 2309 994 1003 2310 1857 1784 2309 994 1003 2286 993 1002 2301 1858 1785 2302 1859 1786 2317 998 1007 2319 1000 1009 2317 998 1007 2302 1859 1786 2293 1860 1787 2324 1001 1010 2292 1861 1788 2325 1003 1012 2292 1861 1788 2324 1001 1010 2302 1859 1786 2327 1006 1015 2319 1000 1009 2328 1005 1014 2319 1000 1009 2327 1006 1015 2342 1862 1789 2334 1863 1790 2355 1864 1791 2332 1031 1039 2355 1864 1791 2334 1863 1790 2366 1042 1048 2367 1865 1792 2341 1041 1047 2340 1866 1793 2341 1041 1047 2367 1865 1792 2370 1020 1029 2363 1867 1794 2369 1868 1795 2349 1869 1796 2369 1868 1795 2363 1867 1794 2366 1042 1048 2373 1043 1046 2339 1870 1797 2374 1871 1798 2339 1870 1797 2373 1043 1046 2380 1028 1036 2382 1872 1799 2355 1864 1791 2356 1016 1025 2355 1864 1791 2382 1872 1799 2386 1873 1800 2385 1874 1801 2352 1017 1026 2371 1018 1027 2352 1017 1026 2385 1874 1801 2305 997 1006 2387 1035 1041 2304 1875 1802 2388 1876 1803 2304 1875 1802 2387 1035 1041 2393 1037 1043 2394 1877 1804 2299 1036 1042 2303 1878 1017 2299 1036 1042 2394 1877 1804 2340 1866 1793 2392 1038 1805 2341 1041 1047 2397 1879 1045 2341 1041 1047 2392 1038 1805 2418 1880 1471 2419 1046 1050 2425 1881 1806 2426 1882 1807 2425 1881 1806 2419 1046 1050 2407 1883 415 2434 1884 1808 2402 1052 1055 2433 1885 1473 2402 1052 1055 2434 1884 1808 2401 1886 1476 2428 1054 1057 2446 1076 1072 2445 1055 1058 2446 1076 1072 2428 1054 1057 2411 1887 409 2455 1057 529 2410 1888 408 2453 1056 423 2410 1888 408 2455 1057 529 2450 1059 1060 2451 1889 1809 2462 1061 1062 2463 1890 1810 2462 1061 1062 2451 1889 1809 2400 1891 1811 2403 1892 1812 2476 1893 1479 2475 1894 1813 2476 1893 1479 2403 1892 1812 2447 1895 435 2482 1085 434 2460 1896 1814 2484 1897 1815 2460 1896 1814 2482 1085 434 2491 1898 437 2498 1899 1816 2490 1070 438 2497 1071 1068 2490 1070 438 2498 1899 1816 2507 1900 460 2417 1901 1472 2511 1098 461 2456 1902 1817 2511 1098 461 2417 1901 1472 2519 1078 449 2495 1073 1069 2518 1080 1074 2497 1071 1068 2518 1080 1074 2495 1073 1069 2525 1903 1818 2524 1081 1075 2523 1091 1082 2496 1083 1077 2523 1091 1082 2524 1081 1075 2483 1068 1067 2479 1904 1475 2536 1905 1482 2532 1906 1481 2536 1905 1482 2479 1904 1475 2493 1907 1819 2523 1091 1082 2527 1908 1484 2542 1090 1081 2527 1908 1484 2523 1091 1082 2548 1092 1083 2546 1094 458 2533 1909 450 2531 1910 452 2533 1909 450 2546 1094 458 2545 1097 1085 2530 1911 1820 2551 1099 462 2536 1905 1482 2551 1099 462 2530 1911 1820 2540 1912 454 2539 1913 455 2555 1100 1086 2554 1101 464 2555 1100 1086 2539 1913 455 2560 1107 1088 2565 1105 1087 2559 1914 1512 2566 1915 1505 2559 1914 1512 2565 1105 1087 2589 1110 1090 2588 1111 477 2568 1916 472 2563 1917 474 2568 1916 472 2588 1111 477 2598 1183 1141 2584 1196 1155 2599 1181 1139 2583 1918 1821 2599 1181 1139 2584 1196 1155 2604 1919 1822 2605 1118 479 2611 1920 485 2610 1119 484 2611 1920 485 2605 1118 479 2591 1921 1492 2617 1122 1095 2577 1114 1091 2618 1922 1823 2577 1114 1091 2617 1122 1095 2622 1126 486 2627 1127 1099 2623 1923 487 2628 1924 1824 2623 1923 487 2627 1127 1099 2638 1131 1101 2640 1187 1825 2579 1130 468 2585 1189 470 2579 1130 468 2640 1187 1825 2630 1133 1103 2647 1925 1826 2646 1135 1105 2648 1926 1827 2646 1135 1105 2647 1925 1826 2567 1108 1089 2569 1121 1094 2663 1137 1107 2665 1927 1497 2663 1137 1107 2569 1121 1094 2672 1138 1108 2673 1928 1828 2621 1124 1097 2626 1125 1098 2621 1124 1097 2673 1928 1828 2681 1929 1829 2680 1142 1110 2662 1198 1830 2661 1930 1498 2662 1198 1830 2680 1142 1110 2637 1931 1495 2635 1145 491 2690 1932 523 2688 1144 1111 2690 1932 523 2635 1145 491 2697 1150 1114 2644 1151 495 2698 1933 1831 2645 1134 1104 2698 1933 1831 2644 1151 495 2663 1137 1107 2665 1927 1497 2703 1153 1116 2705 1934 522 2703 1153 1116 2665 1927 1497 2710 1156 1119 2670 1139 1109 2709 1155 1118 2669 1935 1501 2709 1155 1118 2670 1139 1109 2712 1157 1120 2713 1936 1832 2672 1138 1108 2673 1928 1828 2672 1138 1108 2713 1936 1832 2717 1937 1833 2682 1938 1834 2716 1160 1121 2676 1939 1502 2716 1160 1121 2682 1938 1834 2415 1045 1049 2726 1940 1835 2420 1047 1051 2727 1941 1836 2420 1047 1051 2726 1940 1835 2459 1942 426 2436 1943 424 2729 1944 1837 2722 1945 1838 2729 1944 1837 2436 1943 424 2740 1179 1507 2742 1172 1130 2499 1946 1508 2521 1173 1131 2499 1946 1508 2742 1172 1130 2603 1175 1132 2612 1947 1493 2733 1167 1134 2734 1169 1839 2733 1167 1134 2612 1947 1493 2742 1172 1840 2681 1929 1829 2741 1170 1841 2662 1198 1830 2741 1170 1841 2681 1929 1829 2745 1948 549 2432 1949 1842 2439 1950 1513 2423 1951 1843 2439 1950 1513 2432 1952 1842 2425 1881 1844 2426 1882 1845 2748 1953 553 2427 1954 1846 2748 1953 553 2426 1882 1845 2751 1955 554 2754 1956 558 2480 1957 1847 2533 1909 1848 2480 1957 1847 2754 1956 558 2757 1958 560 2760 1959 564 2548 1092 1849 2508 1093 1850 2548 1092 1849 2760 1959 564 2744 1960 1851 2526 1961 1852 2763 1962 1853 2493 1963 1819 2763 1962 1853 2526 1961 1852 2662 1198 1158 2661 1930 1854 2767 1200 571 2768 1203 1515 2767 1200 571 2661 1930 1854 2442 1964 418 2769 1965 1855 2735 1966 532 2770 1967 1856 2735 1966 532 2769 1965 1855 2602 1968 1511 2777 1969 573 2781 1970 1857 2602 1968 1511 2781 1970 1857 2601 1971 1490 2791 1217 1858 2792 1972 1859 2789 1212 1171 2790 582 1172 2789 1212 1171 2792 1972 1859 2783 1218 578 2793 1211 1169 2785 1973 577 2795 1214 1860 2785 1973 577 2793 1211 1169 2792 1972 1859 2784 588 580 2790 582 1172 2809 584 1174 2790 582 1172 2784 588 580 2784 588 580 2786 586 579 2809 584 1174 2804 1604 1861 2809 584 1174 2786 586 579 2786 586 579 2788 1603 1517 2804 1604 1861 2829 1209 1178 2827 1974 1862 2830 1210 1181 2828 1221 1183 2830 1210 1181 2827 1974 1862 2815 1975 1863 2831 1976 1864 2816 1603 1865 2832 1604 1866 2816 1603 1865 2831 1976 1864 2842 1977 1867 2839 1978 1868 2841 1979 1869 2840 1980 1870 2841 1979 1869 2839 1978 1868 2852 1981 1871 2851 1982 1872 2854 1983 1873 2853 1984 1874 2854 1983 1873 2851 1982 1872 2858 1985 1875 2857 1986 1192 2860 1987 1876 2859 1988 1194 2860 1987 1876 2857 1986 1192 2862 1989 1877 2861 1990 1198 2864 1991 1878 2863 1992 1199 2864 1991 1878 2861 1990 1198 2893 1993 1206 2881 1994 1879 2894 1995 1880 2880 1996 1881 2894 1995 1880 2881 1994 1879 2895 1997 1882 2884 1998 1883 2897 1999 1884 2886 2000 1885 2897 1999 1884 2884 1998 1883 2899 2001 1886 2888 2002 1887 2901 2003 1888 2890 2004 1889 2901 2003 1888 2888 2002 1887 2905 2005 1890 2906 1985 1891 2904 2006 1892 2903 2007 1893 2904 2006 1892 2906 1985 1891 2908 2008 1894 2907 2009 1218 2910 2010 1895 2909 2011 1219 2910 2010 1895 2907 2009 1218 2924 1235 1896 2926 2012 1223 2911 2013 1897 2913 2014 1221 2911 2013 1897 2926 2012 1223 2948 2015 1898 2957 2016 1899 2950 2017 1900 2959 2018 1901 2950 2017 1900 2957 2016 1899 2961 2019 1902 2963 2020 1903 2952 2021 1904 2954 2022 1905 2952 2021 1904 2963 2020 1903 2965 633 1906 2963 2023 1907 2964 633 1908 2964 633 1908 2966 633 1909 2965 633 1906 2928 2024 1910 2927 2025 1236 2930 2026 1911 2929 2027 1238 2930 2026 1911 2927 2025 1236 2932 2028 1912 2931 2029 1242 2934 2030 1913 2933 2031 1243 2934 2030 1913 2931 2029 1242 38 14 14 53 15 15 39 2032 1914 54 16 16 39 2032 1914 53 15 15 57 2033 1915 56 2034 1916 64 2035 1917 65 2036 1918 64 2035 1917 56 2034 1916 85 1282 1247 84 20 20 82 2037 1919 83 27 27 82 2037 1919 84 20 20 60 25 25 61 1305 1271 83 2038 27 82 2037 1919 83 2038 27 61 1305 1271 90 29 29 88 48 50 36 30 31 35 2039 1920 36 30 31 88 48 50 99 1308 1274 47 1309 1275 89 49 51 34 2040 1921 89 49 51 47 1309 1275 31 37 45 32 43 44 110 35 106 108 104 107 110 35 106 32 43 44 115 2041 1922 116 41 1923 16 2042 1924 15 1293 1925 16 2042 1924 116 41 1923 121 2043 1926 120 2044 46 21 2045 1260 121 2043 1926 21 2045 1260 11 2046 1927 125 1298 1264 124 1303 1269 127 46 48 126 47 49 127 46 48 124 1303 1269 16 2042 1924 15 1293 1925 132 50 52 130 51 53 132 50 52 15 1293 1925 94 2047 1928 137 1313 1279 93 2048 1929 135 2049 1930 93 2048 1929 137 1313 1279 145 59 61 144 2050 1931 143 61 63 142 2051 1932 143 61 63 144 2050 1931 40 2052 1933 55 18 18 150 2053 1934 151 2054 1935 150 2053 1934 55 18 18 154 2055 1936 156 68 1937 85 1282 1247 87 1284 1248 85 1282 1247 156 68 1937 94 2047 1928 40 2052 1933 158 2056 1938 150 2053 1934 158 2056 1938 40 2052 1933 29 31 32 112 1310 1276 162 2057 1939 166 74 76 162 2057 1939 112 1310 1276 18 1311 1277 136 1312 1278 167 75 77 170 76 78 167 75 77 136 1312 1278 172 2058 1940 173 79 81 146 1301 1267 147 1314 1280 146 1301 1267 173 79 81 180 2059 1941 181 80 82 202 124 127 203 82 84 202 124 127 181 80 82 185 1340 1309 186 2060 1942 211 85 87 212 87 89 211 85 87 186 2060 1942 183 2061 1943 210 90 92 190 1343 1312 216 91 93 190 1343 1312 210 90 92 228 95 97 227 2062 1944 223 94 96 222 2063 1945 223 94 96 227 2062 1944 6 2064 1946 7 2065 1947 238 96 98 233 97 99 238 96 98 7 2065 1947 208 2066 1948 207 1329 1297 240 98 100 239 99 101 240 98 100 207 1329 1297 4 1330 1949 244 100 1950 5 2067 1951 243 2068 1952 5 2067 1951 244 100 1950 248 2069 1953 0 86 1954 10 2070 1300 10 2071 1300 249 2072 109 248 2069 1953 7 2065 1955 241 2073 1956 161 1334 1302 253 107 110 161 1334 1302 241 2073 1956 9 2074 1292 255 2075 1957 230 110 113 257 111 114 230 110 113 255 2075 1957 264 2076 1958 259 1337 1305 263 2077 1959 258 113 116 263 2077 1959 259 1337 1305 270 2078 1960 277 2079 1961 268 118 121 278 119 122 268 118 121 277 2079 1961 281 122 125 184 1341 1310 280 121 124 183 2061 1943 280 121 124 184 1341 1310 286 125 128 189 1342 1311 285 127 130 188 1318 1285 285 127 130 189 1342 1311 290 129 132 192 1345 1314 289 131 134 194 2080 1962 289 131 134 192 1345 1314 275 1349 1318 274 2081 1963 310 134 137 309 132 135 310 134 137 274 2081 1963 301 2082 1964 299 2083 1965 314 136 139 313 137 140 314 136 139 299 2083 1965 322 2084 1966 324 2085 1967 323 1354 1324 325 1355 1325 323 1354 1324 324 2085 1967 335 145 148 301 2082 1964 334 147 150 314 136 139 334 147 150 301 2082 1964 325 1355 1325 340 150 153 326 141 144 338 1357 1327 326 141 144 340 150 153 349 153 156 346 152 155 348 2086 1968 345 1374 1969 348 2086 1968 346 152 155 357 158 161 356 160 163 355 156 159 353 1363 1333 355 156 159 356 160 163 358 159 162 365 2087 1970 357 158 161 366 162 165 357 158 161 365 2087 1970 358 159 162 374 2088 167 365 2087 1970 375 163 166 365 2087 1970 374 2088 167 390 877 1971 393 1369 1339 391 167 170 394 168 171 391 167 170 393 1369 1339 402 1372 1342 341 149 1344 401 1375 1346 339 148 1972 401 1375 1346 341 149 1344 411 177 182 400 1376 1347 410 179 184 399 2089 193 410 179 184 400 1376 1347 404 171 176 403 172 177 412 173 178 419 2090 1973 412 173 178 403 172 177 428 2091 1974 415 2092 1975 429 180 185 414 181 186 429 180 185 415 2092 1975 378 1365 1335 379 1367 1337 438 185 190 437 184 189 438 185 190 379 1367 1337 399 188 193 322 2084 1976 442 186 191 337 2093 1977 442 186 191 322 2084 1976 329 2094 1978 328 2095 1979 456 2096 1980 454 2097 1981 456 2096 1980 328 2095 1979 463 2098 1982 456 2096 1980 461 2099 1983 454 2097 1981 461 2099 1983 456 2096 1980 467 2100 1984 466 2101 1985 460 1395 1986 459 2102 1987 460 1395 1986 466 2101 1985 472 202 206 453 2103 1988 477 204 208 476 2104 1989 477 204 208 453 2103 1988 424 2105 1990 425 205 209 477 204 208 478 203 207 477 204 208 425 205 209 485 208 212 388 210 214 484 2106 1991 387 2107 1992 484 2106 1991 388 210 214 493 213 217 488 212 216 492 2108 1993 487 1394 1994 492 2108 1993 488 212 216 496 215 219 495 1396 1363 501 217 221 500 2109 1995 501 217 221 495 1396 1363 450 2110 1996 475 2111 1997 508 2112 1998 503 1400 1367 508 2112 1998 475 2111 1997 517 224 1999 512 225 2000 516 2113 2001 511 1403 1372 516 2113 2001 512 225 2000 367 161 164 519 232 236 368 226 230 520 227 231 368 226 230 519 232 236 529 230 234 437 184 189 528 235 239 379 1367 1337 528 235 239 437 184 189 534 2114 2002 536 2115 2003 519 232 236 537 233 237 519 232 236 536 2115 2003 527 2116 2004 545 2117 2005 528 235 239 546 236 240 528 235 239 545 2117 2005 539 1409 1378 553 246 250 540 238 242 554 239 243 540 238 242 553 246 250 562 249 253 563 245 249 548 1410 1379 549 243 247 548 1410 1379 563 245 249 552 2118 2006 570 2119 2007 553 246 250 571 247 251 553 246 250 570 2119 2007 580 250 254 562 249 253 579 2120 2008 561 2121 2009 579 2120 2008 562 249 253 573 1415 1384 587 262 266 574 253 257 588 255 259 574 253 257 587 262 266 596 2122 2010 597 259 263 582 1416 1385 567 257 261 582 1416 1385 597 259 263 601 2123 2011 599 2124 2012 609 2125 2013 608 2126 2014 609 2125 2013 599 2124 2012 607 1423 1392 610 261 265 612 264 268 611 266 270 612 264 268 610 261 265 593 2127 2015 592 267 271 621 2128 2016 622 269 273 621 2128 2016 592 267 271 616 1425 1394 630 2129 2017 625 274 278 631 273 277 625 274 278 630 2129 2017 619 276 280 620 2130 2018 640 278 282 639 2131 2019 640 278 282 620 2130 2018 632 271 275 647 2132 2020 633 279 283 648 280 284 633 279 283 647 2132 2020 641 277 281 640 278 282 650 1430 1399 656 2133 2021 650 1430 1399 640 278 282 653 287 291 652 2134 2022 666 289 293 665 2135 2023 666 289 293 652 2134 2022 678 2136 2024 679 290 294 673 1435 1404 674 292 296 673 1435 1404 679 290 294 661 2137 2025 660 1434 1403 683 2138 2026 684 294 298 683 2138 2026 660 1434 1403 672 2139 2027 673 1435 1404 687 2140 2028 688 295 299 687 2140 2028 673 1435 1404 298 139 142 296 2141 2029 693 298 302 692 2142 2030 693 298 302 296 2141 2029 306 788 2031 304 2143 2032 701 2144 2033 700 2145 2034 701 2144 2033 304 2143 2032 709 1456 1424 710 305 309 694 297 301 695 303 307 694 297 301 710 305 309 704 1436 1405 703 299 303 705 1453 1421 718 1454 1422 705 1453 1421 703 299 303 740 2146 2035 726 2147 2036 741 310 314 727 311 315 741 310 314 726 2147 2036 750 2148 2037 753 1445 1414 751 316 320 754 314 318 751 316 320 753 1445 1414 765 320 323 766 319 322 719 309 313 720 308 312 719 309 313 766 319 322 723 2149 2038 771 325 328 724 2150 1416 772 323 326 724 2151 1416 771 325 328 727 311 315 775 326 329 728 313 317 776 328 331 728 313 317 775 326 329 718 1454 1422 717 2152 2039 779 330 333 780 331 334 779 330 333 717 2152 2039 708 1457 1425 707 2153 2040 784 333 336 783 335 338 784 333 336 707 2153 2040 787 337 340 788 336 339 711 304 308 712 1438 1407 711 304 308 788 336 339 715 2154 2041 791 338 341 716 2155 2042 792 340 343 716 2155 2042 791 338 341 807 2156 2043 808 352 355 810 345 348 809 344 347 810 345 348 808 352 355 798 346 349 824 348 351 795 1461 1429 823 2157 2044 795 1461 1429 824 348 351 822 351 354 808 352 355 821 353 356 819 354 357 821 353 356 808 352 355 831 355 358 820 356 359 830 2158 2045 807 2156 2043 830 2158 2045 820 356 359 840 2159 2046 847 359 362 842 2160 2047 848 1475 1442 842 2160 2047 847 359 362 858 2161 2048 863 1477 1444 859 2162 2049 862 1478 1445 859 2162 2049 863 1477 1444 862 1478 1445 872 367 370 861 2163 2050 871 2164 2051 861 2163 2050 872 367 370 848 1475 1442 852 1476 1443 876 2165 2052 877 2166 2053 876 2165 2052 852 1476 1443 893 375 378 892 1481 1448 886 373 376 884 2167 2054 886 373 376 892 1481 1448 901 2168 2055 910 379 382 902 2169 2056 912 380 383 902 2170 2056 910 379 382 918 381 384 895 400 402 919 382 385 899 402 404 919 382 385 895 400 402 839 384 387 841 2171 2057 926 386 389 925 2172 2058 926 386 389 841 2171 2057 927 385 2059 883 2173 2060 928 391 391 880 1498 393 928 391 391 883 2174 2060 914 1484 1451 934 394 396 906 2175 2061 932 395 397 906 2175 2061 934 394 396 940 398 400 933 399 401 939 2176 2062 908 1483 1450 939 2177 2062 933 399 401 943 401 403 895 400 402 942 2178 2063 890 2179 2064 942 2178 2063 895 400 402 913 1505 1454 945 404 1466 903 2180 1455 946 406 2065 903 2181 1455 945 404 1466 959 1520 1066 960 408 408 953 2182 1812 954 410 410 953 2182 1812 960 408 408 958 2183 2066 956 2184 2067 980 412 412 979 413 413 980 412 412 956 2184 2067 950 2185 1811 949 417 417 990 433 433 991 416 416 990 433 433 949 417 417 994 1517 1056 1001 2186 1809 993 1519 1124 1002 2187 1126 993 1519 1124 1001 2186 1809 1007 2188 2068 980 412 412 1008 427 427 962 414 414 1008 427 427 980 412 412 1013 2189 1810 1018 1522 1064 1014 2190 2069 1019 2191 1063 1014 2190 2069 1018 1522 1064 990 433 433 1031 432 432 950 2185 1811 1026 1532 1479 950 2185 1811 1031 432 432 1039 444 444 1040 438 438 1021 430 430 1022 428 428 1021 430 430 1040 438 438 973 439 439 1056 441 441 967 2192 1472 1057 461 460 967 2192 1472 1056 441 441 1063 466 465 1064 443 443 1016 431 431 1021 430 430 1016 431 431 1064 443 443 1049 1586 1508 1048 2193 1816 1071 2194 1131 1070 2195 2070 1071 2194 1131 1048 2193 1816 1029 1524 1475 1082 1536 1481 1028 454 453 1081 453 452 1028 454 453 1082 1536 1481 1088 1538 1483 1035 2196 2071 1089 456 455 1036 458 457 1089 456 455 1035 2196 2071 1093 2197 2072 1095 2198 1085 1078 2199 2073 1080 2200 1820 1078 2199 2073 1095 2198 1085 1085 2201 1078 1100 2202 2074 1084 1531 1079 1099 2203 2075 1084 1531 1079 1100 2202 2074 1087 2204 2076 1088 1538 1483 1102 2205 2077 1103 464 463 1102 2205 2077 1088 1538 1483 1092 1540 1081 1107 469 467 1091 1535 1080 1106 2206 2078 1091 1535 1080 1107 469 467 1125 2207 2079 1126 548 547 1130 471 469 1131 1541 1485 1130 471 469 1126 548 547 1141 1549 1492 1142 2208 2080 1127 2209 1091 1132 2210 1092 1127 2209 1091 1142 2208 2080 1113 476 474 1154 2211 1822 1138 479 477 1155 481 479 1138 479 477 1154 2211 1822 1163 485 483 1165 483 481 1125 2207 2079 1126 548 547 1125 2207 2079 1165 483 481 1158 2212 1093 1160 486 484 1171 2213 1097 1172 488 486 1171 2213 1097 1160 486 484 1179 545 542 1184 547 544 1178 2214 1824 1183 2215 2081 1178 2214 1824 1184 547 544 1187 1555 1495 1120 1556 1496 1193 514 511 1164 2216 2082 1193 514 511 1120 1556 1496 1200 500 498 1207 501 499 1199 2217 2083 1205 508 505 1199 2217 2083 1207 501 499 1220 1575 1109 1219 1573 1501 1158 2212 1093 1156 480 478 1158 2212 1093 1219 1573 1501 1204 2218 1159 1229 507 504 1210 1565 1499 1228 509 506 1210 1565 1499 1229 507 504 1197 2219 1826 1198 2220 1827 1234 511 508 1206 513 510 1234 511 508 1198 2220 1827 1192 495 493 1191 2221 2084 1245 2222 1113 1244 2223 1117 1245 2222 1113 1191 2221 2084 1251 2224 1122 1252 520 517 1206 513 510 1233 512 509 1206 513 510 1252 520 517 1258 521 518 1218 2225 2085 1256 522 519 1216 2226 2086 1256 522 519 1218 2225 2085 1261 527 524 1221 503 501 1255 525 522 1215 1562 1497 1255 525 522 1221 503 501 1224 2227 2087 1225 1580 1503 1264 528 525 1265 529 526 1264 528 525 1225 1580 1503 1271 1581 2088 955 411 411 1269 534 531 961 409 409 1269 534 531 955 411 411 987 551 2089 986 424 424 972 542 2090 1272 544 1838 972 542 2090 986 424 424 1019 2191 1063 1024 538 535 1287 546 2091 1288 537 534 1287 546 2091 1024 538 535 1280 2228 2092 1144 475 473 1278 2229 2093 1145 1544 1488 1278 2229 2093 1144 475 473 1174 1554 1494 1286 2230 2094 1179 545 542 1287 546 543 1179 545 542 1286 2230 2094 1282 536 1510 1271 1581 1504 1109 1588 1512 1116 1582 1505 1109 1588 1512 1271 1581 1504 987 551 550 1295 550 549 971 2231 2095 982 2232 1842 971 2231 2095 1295 550 549 1030 452 1847 1301 554 554 975 2233 1844 1298 553 553 975 2233 1844 1301 554 554 1304 558 558 1083 451 1848 1307 560 560 1098 2234 1849 1307 560 560 1083 451 1848 988 563 563 1310 564 564 974 440 2096 1058 442 1850 974 440 2096 1310 564 564 1051 566 566 1050 2235 2097 1314 568 568 1044 2236 2098 1314 568 568 1050 2235 2097 1293 570 570 1316 569 569 1077 2237 2099 1315 567 567 1077 2237 2099 1316 569 569 1152 1587 1511 1327 573 573 1285 535 1509 1320 575 575 1285 535 1509 1327 573 573 1351 1607 1167 1352 1972 1168 1349 581 581 1350 582 582 1349 581 581 1352 1972 1168 1337 589 1516 1338 1216 1517 1353 591 2100 1354 1219 1861 1353 591 2100 1338 1216 1517 1369 1605 1177 1367 1606 2101 1370 1210 1522 1368 1221 2102 1370 1210 1522 1367 1606 2101 1361 578 1179 1363 577 589 1371 587 587 1373 585 585 1371 587 587 1363 577 589 1364 579 2103 1362 580 1523 1366 1216 1865 1382 1219 1866 1366 1216 1865 1362 580 1523 1362 580 1523 1370 1210 1522 1382 1219 1866 1387 1220 2104 1382 1219 1866 1370 1210 1522 1370 1210 1522 1368 1221 2102 1387 1220 2104 1401 2238 1531 1394 2239 597 1398 2240 1530 1392 2241 595 1398 2240 1530 1394 2239 597 1412 2242 1534 1406 2243 2105 1411 2244 1532 1407 2245 2106 1411 2244 1532 1406 2243 2105 1413 2246 2107 1419 2247 2108 1405 600 601 1417 2248 2109 1405 600 601 1419 2247 2108 1422 2249 2110 1421 2250 2111 1430 2251 2112 1429 2252 2113 1430 2251 2112 1421 2250 2111 1433 2253 2114 1434 2254 2115 1435 2254 2116 1436 2255 2117 1435 2254 2116 1434 2254 2115 1448 2256 2118 1446 2257 2119 1447 2258 2120 1445 2259 2121 1447 2258 2120 1446 2257 2119 1455 2260 2122 1456 2261 2123 1454 1633 1550 1453 1629 1549 1454 1633 1550 1456 2261 2123 1463 2258 620 1461 2259 2124 1468 2262 621 1467 2263 1553 1468 2262 621 1461 2259 2124 1473 2264 2125 1471 2265 2126 1474 2266 1555 1472 2267 2127 1474 2266 1555 1471 2265 2126 1499 2268 1559 1498 2269 2128 1500 2270 2129 1497 2271 2130 1500 2270 2129 1498 2269 2128 1501 2272 2131 1502 2273 1560 1503 2274 2132 1504 2275 1561 1503 2274 2132 1502 2273 1560 1494 2276 2133 1496 2277 2134 1493 2278 1563 1495 1271 2135 1493 2278 1563 1496 2277 2134 1511 2279 641 1513 2280 642 1523 2281 1569 1526 2282 1571 1523 2281 1569 1513 2280 642 1528 2283 1573 1515 2284 645 1530 2285 1575 1517 2286 646 1530 2285 1575 1515 2284 645 1546 2287 2136 1536 2288 2137 1545 2289 2138 1533 2290 2139 1545 2289 2138 1536 2288 2137 1546 2291 2140 1547 2292 647 1549 2293 2141 1550 2294 1579 1549 2293 2141 1547 2292 647 1551 2295 2142 1552 2296 1581 1553 634 2143 1554 633 2144 1553 634 2143 1552 2296 1581 1559 2297 2145 1560 2298 1587 1558 2299 2146 1557 2300 2147 1558 2299 2146 1560 2298 1587 1569 2301 1588 1571 2302 2148 1570 2303 2149 1572 2304 2150 1570 2303 2149 1571 2302 2148 1624 1676 668 1609 660 667 1625 664 1594 1610 2305 2151 1625 664 1594 1609 660 667 1626 665 672 1627 2306 2152 1641 667 674 1640 2307 2153 1641 667 674 1627 2306 2152 1658 2308 2154 1657 2309 2155 1660 1679 2156 1659 668 2157 1660 1679 2156 1657 2309 2155 1644 2310 2158 1643 2311 681 1645 2312 2159 1646 673 682 1645 2312 2159 1643 672 681 1665 674 683 1611 676 685 1664 2313 2160 1610 2305 2161 1664 2313 2160 1611 676 685 1676 680 689 1675 747 757 1600 678 687 1601 682 691 1600 678 687 1675 747 757 1684 2314 2162 1680 2315 2163 1618 1698 1618 1596 2316 2164 1618 1698 1618 1680 2315 2163 1689 2317 2165 1588 2318 2166 1690 687 696 1587 1683 1602 1690 687 696 1588 2318 2166 1693 2319 2167 1594 1691 1610 1695 691 2168 1593 1685 1612 1695 691 2168 1594 1691 1610 1587 1683 1602 1701 694 703 1586 1684 1603 1698 696 705 1586 1684 1603 1701 694 703 1706 1690 1609 1665 674 683 1704 2320 2169 1664 2313 2160 1704 2320 2169 1665 674 683 1713 1693 2170 1714 702 711 1711 2321 2171 1712 704 713 1711 2321 2171 1714 702 711 1619 2322 2172 1585 2323 2173 1719 706 715 1697 707 716 1719 706 715 1585 2323 2173 1621 659 666 1634 2324 2174 1721 2325 2175 1725 2326 2176 1721 2325 2175 1634 2324 2174 1729 2327 2177 1660 1679 1596 1730 714 723 1650 1678 1595 1730 714 723 1660 1679 1596 1620 658 665 1722 2328 2178 1672 1694 1614 1732 2329 2179 1672 1694 1614 1722 2328 2178 1685 685 694 1739 2330 2180 1591 1682 1601 1740 2331 2181 1591 1682 1601 1739 2330 2180 1709 2332 2182 1743 2333 2183 1710 1700 1620 1744 723 732 1710 1700 1620 1743 2333 2183 1746 2334 2184 1720 708 717 1732 2329 2179 1672 1694 1614 1732 2329 2179 1720 708 717 1766 743 753 1762 2335 2185 182 745 755 179 1317 2186 182 745 755 1762 2335 2185 1776 733 743 1775 732 742 1751 2336 2187 1752 1707 1627 1751 2336 2187 1775 732 742 1779 736 746 1776 733 743 1755 1738 1656 1751 2336 2187 1755 1738 1656 1776 733 743 1792 739 749 1582 2337 2188 1793 741 751 1581 1716 1635 1793 741 751 1582 2338 2188 1767 729 739 1796 742 752 193 731 741 236 744 754 193 731 741 1796 742 752 1799 2339 2189 1769 2340 2190 1791 2341 2191 1800 2342 2192 1791 2341 2191 1769 2340 2190 1577 734 2193 1805 2343 2194 1576 1722 1640 1806 751 761 1576 1722 1640 1805 2343 2194 1583 2344 2195 1810 2345 2196 1582 2346 2197 1811 2347 2198 1582 2346 2197 1810 2345 2196 1734 2348 2199 1581 1726 1643 1814 2349 2200 1812 756 766 1814 2349 2200 1581 1726 1643 1820 2350 2201 1819 2351 2202 1783 2352 2203 1787 738 748 1783 2352 2203 1819 2351 2202 1826 2353 2204 1827 769 778 265 117 2205 267 767 776 265 117 2205 1827 769 778 1835 2354 2206 1826 2353 2204 1839 1734 1652 1761 2355 2207 1839 1734 1652 1826 2353 2204 1838 774 783 1837 776 785 1749 1735 1653 1748 1702 1622 1749 1735 1653 1837 776 785 1753 1706 1626 1754 1736 1654 1842 780 789 1843 779 788 1842 780 789 1754 1736 1654 1756 1712 1632 1797 1717 1636 1846 781 790 1847 782 791 1846 781 790 1797 1717 1636 1862 784 793 1831 2356 2208 1863 786 795 1825 1740 1658 1863 786 795 1831 2356 2208 307 1351 2209 317 787 796 1860 793 802 1868 789 798 1860 793 802 317 787 796 1873 2357 2210 1869 1744 1662 1875 2358 2211 1876 2359 2212 1875 2358 2211 1869 1744 1662 1883 796 805 1885 797 806 1866 2360 2213 1855 2361 2214 1866 2360 2213 1885 797 806 1889 2362 2215 1887 798 807 1891 2363 2216 1892 800 809 1891 2363 2216 1887 798 807 1899 1751 1670 1896 1752 1671 1801 2364 2217 1786 2365 2218 1801 2364 2217 1896 1752 1671 1770 806 815 1908 808 817 1902 2366 2219 1905 2367 2220 1902 2366 2219 1908 808 817 1915 2368 2221 1905 2367 2220 1916 810 819 1908 808 817 1916 810 819 1905 2367 2220 1925 2369 2222 1926 2370 2223 1927 815 824 1928 814 823 1927 815 824 1926 2370 2223 393 1369 2224 1935 816 825 396 1370 1678 1937 818 827 396 1370 1678 1935 816 825 1942 825 835 1890 2371 2225 1945 821 830 1894 822 832 1945 821 830 1890 2371 2225 1954 824 834 1951 2372 2226 1941 826 836 1940 2373 2227 1941 826 836 1951 2372 2226 1962 828 838 1952 827 837 1963 2374 2228 1953 834 844 1963 2375 2228 1952 827 837 1971 832 842 1970 2376 2229 1953 834 844 1963 2377 2228 1953 834 844 1970 2376 2229 1938 819 828 1979 835 1688 1925 2369 2222 1978 837 2230 1925 2369 2222 1979 835 1688 1950 2378 2231 1960 2379 2232 1983 1766 1689 1984 2380 2233 1983 1766 1689 1960 2379 2232 1998 845 855 1882 846 856 1997 1769 2234 1880 2381 2235 1997 1769 2234 1882 846 856 1997 1769 2234 1995 2382 2236 2004 848 2237 2002 2383 2238 2004 848 2237 1995 2382 2236 1984 2380 2233 2008 2384 2239 1987 1777 1701 2009 1778 1702 1987 1777 1701 2008 2384 2239 2018 2385 2240 1991 2386 2241 2019 853 863 2014 854 864 2019 853 863 1991 2386 2241 1966 2387 2242 2019 853 863 1967 857 866 2020 855 865 1967 857 866 2019 853 863 2026 861 2243 2025 2388 2244 2000 863 1692 1932 1768 1691 2000 863 1692 2025 2388 2244 2032 864 873 494 1398 2245 2028 865 874 489 1399 2246 2028 865 874 494 1398 2245 2039 869 878 2038 2389 2247 2035 870 879 2034 1780 2248 2035 870 879 2038 2389 2247 2041 873 882 2045 874 883 2040 1782 1706 2044 2390 2249 2040 1782 1706 2045 874 883 2047 1784 1709 2013 1772 1697 2051 2391 2250 1992 1773 1698 2051 2391 2250 2013 1772 1697 1917 811 820 1918 879 888 2054 888 897 2055 881 890 2054 888 897 1918 879 888 2062 885 894 2061 890 899 1924 883 892 1972 1763 1684 1924 883 892 2061 890 899 2053 2392 2251 2054 888 897 2069 2393 2252 2070 889 898 2069 2393 2252 2054 888 897 2077 891 900 2076 2394 2253 2061 890 899 2060 2395 2254 2061 890 899 2076 2394 2253 2072 1792 1719 2073 893 902 2084 901 910 2085 895 904 2084 901 910 2073 893 902 2091 905 914 2079 1793 1720 2092 899 908 2066 897 906 2092 899 908 2079 1793 1720 2083 2396 2255 2084 901 910 2099 2397 2256 2100 902 911 2099 2397 2256 2084 901 910 2091 905 914 2107 904 913 2090 2398 2257 2106 2399 2258 2090 2398 2257 2107 904 913 2102 909 918 2114 910 919 576 1418 2259 590 1419 2260 576 1418 2259 2114 910 919 2108 923 932 2121 919 928 2096 1800 1728 2095 2400 2261 2096 1800 1728 2121 919 928 2123 912 921 2126 1809 1737 2125 2401 2262 2129 916 925 2125 2401 2262 2126 1809 1737 2108 923 932 2135 925 934 2121 919 928 2134 920 929 2121 919 928 2135 925 934 2114 910 919 2142 1815 1743 590 1419 2260 624 1426 1744 590 1419 2260 2142 1815 1743 2144 1814 1742 2145 927 936 2149 2402 2263 2150 929 938 2149 2402 2263 2145 927 936 2136 922 931 2157 931 941 2137 1812 1740 2156 2403 2264 2137 1812 1740 2157 931 941 2157 931 941 2158 1817 1746 2156 2403 2264 2164 1822 1751 2156 2403 2264 2158 1817 1746 2160 938 948 2172 7 7 2159 1816 1745 2171 6 6 2159 1816 1745 2172 7 7 2168 939 949 2179 11 11 2167 2404 2265 2178 948 958 2167 2404 2265 2179 11 11 2189 946 956 2185 1827 1756 2170 945 955 2181 1823 1752 2170 945 955 2185 1827 1756 2173 937 947 2192 2405 2266 2172 7 7 2193 8 8 2172 7 7 2192 2405 2266 2183 2406 2267 2195 2407 2268 2184 1826 1755 2196 947 957 2184 1826 1755 2195 2407 2268 1855 2361 2214 1885 797 806 2201 2408 2269 2202 950 960 2201 2408 2269 1885 797 806 2209 951 961 2208 2409 2270 1849 783 792 1848 2410 2271 1849 783 792 2208 2409 2270 2204 955 965 2217 956 966 2203 949 959 2216 2411 2272 2203 949 959 2217 956 966 2235 959 969 2223 960 970 2234 982 991 2222 2412 2273 2234 982 991 2223 960 970 2231 963 973 2230 978 987 2243 961 971 2242 987 996 2243 961 971 2230 978 987 2252 965 975 756 1444 1768 2250 966 976 753 1445 2274 2250 966 976 756 1444 1768 2223 960 970 2259 970 980 2222 2412 2273 2258 969 979 2222 2412 2273 2259 970 980 2226 2413 2275 2227 1846 1773 2263 973 983 2264 974 984 2263 973 983 2227 1846 1773 2257 2414 2276 2267 979 988 2261 1849 1776 2268 977 986 2261 1849 1776 2267 979 988 2210 1829 1758 2271 980 989 2221 2415 2277 2270 981 990 2221 2415 2277 2271 980 989 2214 1853 1780 2275 984 993 2213 2416 2278 2274 983 992 2213 2416 2278 2275 984 993 2278 989 998 2217 956 966 2279 988 997 2218 954 964 2279 988 997 2217 956 966 2283 990 999 2284 992 1001 2282 2417 1030 2285 996 1005 2282 2417 1030 2284 992 1001 2297 2418 2279 2298 2419 2280 2301 1858 1785 2302 1859 1786 2301 1858 1785 2298 2419 2280 2300 2420 2281 2301 1858 1785 2318 2421 2282 2317 998 1007 2318 2421 2282 2301 1858 1785 2313 2422 2283 2312 2423 2284 2323 2424 2285 2322 2425 2286 2323 2424 2285 2312 2423 2284 2306 999 1008 2319 1000 1009 2329 2426 2287 2328 1005 1014 2329 2426 2287 2319 1000 1009 2342 1862 1789 2346 1014 1023 2343 1009 1018 2347 1010 1019 2343 1009 1018 2346 1014 1023 2358 2427 2288 2350 2428 2289 2364 1015 1024 2361 1013 1022 2364 1015 1024 2350 2428 2289 2363 1867 1794 2370 1020 1029 2353 2429 2290 2371 1018 1027 2353 2430 2290 2370 1020 1029 2287 991 1000 2283 990 999 2377 2431 2291 2378 1023 1032 2377 2431 2291 2283 990 999 2381 1027 1035 2380 1028 1036 2332 1031 1039 2355 1864 1791 2332 1031 1039 2380 1028 1036 2372 2432 2292 2331 1025 1033 2330 2433 1037 2381 1027 1035 2330 2433 1037 2331 1025 1033 2306 2434 1008 2329 2435 2287 2385 2436 2293 2306 1032 1008 2385 2437 2293 2386 1033 1040 2349 1869 1796 2363 2438 1794 2394 1877 2294 2395 2439 2295 2394 1877 2294 2363 2440 1794 2397 2441 2296 2295 1002 1011 2373 2442 2297 2324 1001 1010 2373 1043 2297 2295 1002 1011 2414 1044 421 2419 1046 1050 2413 2443 420 2418 1880 1471 2413 2443 420 2419 1046 1050 2432 2444 1053 2431 1048 1052 2423 2445 439 2417 1901 1472 2423 2445 439 2431 1048 1052 2402 1052 1055 2433 1885 1473 2444 1053 1056 2443 1166 1124 2444 1053 1056 2433 1885 1473 2410 1888 408 2453 1056 423 2409 1067 1066 2454 1069 422 2409 1067 1066 2453 1056 423 2458 2446 427 2459 1942 426 2412 2447 414 2435 2448 1474 2412 2447 414 2459 1942 426 2467 2449 429 2468 1064 1064 2472 2450 428 2473 1065 436 2472 2450 428 2468 1064 1064 2454 1069 422 2413 2443 420 2483 1068 1067 2479 1904 1475 2483 1068 1067 2413 2443 420 2474 1063 535 2492 2451 537 2473 1065 436 2491 1898 437 2473 1065 436 2492 2451 537 2446 1076 1072 2509 1075 1071 2401 1886 1476 2504 2452 1477 2401 1886 1476 2509 1075 1071 2489 1072 444 2495 1073 1069 2515 1102 445 2516 2453 1478 2515 1102 445 2495 1073 1069 2522 2454 448 2516 2453 1478 2519 1078 449 2495 1073 1069 2519 1078 449 2516 2453 1478 2481 1086 432 2476 1893 1479 2534 1088 1079 2529 2455 1480 2534 1088 1079 2476 1893 1479 2496 1083 1077 2488 1084 456 2541 1089 1080 2540 1912 454 2541 1089 1080 2488 1084 456 2532 1906 1481 2531 1910 452 2547 2456 459 2546 1094 458 2547 2456 459 2531 1910 452 2551 1099 462 2536 1905 1482 2547 2456 459 2532 1906 1481 2547 2456 459 2536 1905 1482 2538 2457 1483 2553 2458 463 2539 1913 455 2554 1101 464 2539 1913 455 2553 2458 463 2527 2459 1484 2542 1090 1081 2558 2460 466 2557 2461 467 2558 2460 466 2542 1090 1081 2581 2462 1485 2580 2463 469 2587 2464 1486 2586 2465 471 2587 2464 1486 2580 2463 469 2573 2466 1487 2568 1916 472 2595 2467 1488 2594 2468 473 2595 2467 1488 2568 1916 472 2600 2469 1491 2601 1971 1490 2609 2470 1489 2600 2469 1491 2609 2470 1489 2607 2471 492 2578 2472 502 2616 1120 500 2591 1921 1492 2617 1122 1095 2591 1921 1492 2616 1120 500 2611 1920 485 2623 1923 487 2612 1947 1493 2624 2473 1494 2612 1947 1493 2623 1923 487 2635 1145 491 2637 1931 1495 2564 1104 489 2570 2474 1496 2564 1104 489 2637 1931 1495 2620 2475 494 2625 1132 1102 2644 1151 495 2645 1134 1104 2644 1151 495 2625 1132 1102 2652 1178 1136 2651 2476 496 2659 1180 1138 2658 1140 497 2659 1180 1138 2651 2476 496 2569 1121 1094 2616 1120 500 2665 1927 1497 2671 2477 501 2665 1927 1497 2616 1120 500 2680 1142 1110 2678 1143 506 2661 1930 1498 2660 2478 1499 2661 1930 1498 2678 1143 506 2686 2479 1500 2653 2480 515 2685 2481 507 2683 2482 509 2685 2481 507 2653 2480 515 2637 1931 1495 2690 1932 523 2643 2483 511 2696 2484 513 2643 2483 511 2690 1932 523 2664 1136 1106 2663 1137 1107 2704 1152 1115 2703 1153 1116 2704 1152 1115 2663 1137 1107 2709 1155 1118 2669 1935 1501 2704 1152 1115 2664 1136 1106 2704 1152 1115 2669 1935 1501 2710 1156 1119 2712 1157 1120 2670 1139 1109 2672 1138 1108 2670 1139 1109 2712 1157 1120 2716 1160 1121 2676 1939 1502 2715 1158 526 2675 2485 1503 2715 1158 526 2676 1939 1502 2721 2486 1504 2566 1915 1505 2719 1165 1123 2572 1164 480 2719 1165 1123 2566 1915 1505 2433 1885 1473 2731 1176 1506 2443 1166 1124 2733 1167 1125 2443 1166 1124 2731 1176 1506 2739 1177 536 2740 1179 1507 2492 2451 537 2499 1946 1508 2492 2451 537 2740 1179 1507 2735 1966 1509 2602 1968 1511 2732 2487 1510 2559 1914 1512 2732 2487 1510 2602 1968 1511 2738 2488 545 2634 2489 544 2739 1177 1135 2652 1178 1136 2739 1177 1135 2634 2489 544 2439 1950 1513 2438 2490 563 2723 1182 1140 2724 1184 561 2723 1182 1140 2438 2490 563 2422 2491 552 2746 2492 551 2597 1113 1142 2747 1185 1143 2597 1113 1142 2746 2492 551 2750 1190 1149 2753 1188 1147 2749 2493 555 2752 2494 556 2749 2493 555 2753 1188 1147 2755 2495 557 2756 1191 1150 2758 2496 559 2759 1193 1152 2758 2496 559 2756 1191 1150 2724 1184 561 2761 2497 562 2598 1183 1141 2762 1195 1154 2598 1183 1141 2761 2497 562 2765 2498 567 2502 1171 565 2766 1199 569 2741 1170 1157 2766 1199 569 2502 1171 565 2687 2499 572 2767 1200 571 2718 1204 1514 2768 1203 1515 2718 1204 1514 2767 1200 571 2778 2500 574 2771 2501 576 2779 1205 1163 2773 1206 1164 2779 1205 1163 2771 2501 576 2785 1973 577 2787 1975 1516 2786 586 579 2788 1603 1517 2786 586 579 2787 1975 1516 2797 1215 1518 2798 1216 1520 2808 2502 1519 2807 1219 1521 2808 2502 1519 2798 1216 1520 2819 1217 1177 2811 1218 1179 2820 1972 1522 2812 588 1523 2820 1972 1522 2811 1218 1179 2817 1212 1524 2827 1974 1525 2819 1217 1177 2829 1209 1178 2819 1217 1177 2827 1974 1525 2827 1974 1525 2817 1212 1524 2833 2503 1526 2838 1213 1527 2833 2503 1526 2817 1212 1524 2847 1224 1186 2839 1225 1868 2848 2504 2298 2842 2505 1867 2848 2504 2298 2839 1225 1868 2854 2506 1873 2853 2507 1874 2845 2508 2299 2846 2509 2300 2845 2508 2299 2853 2507 1874 2858 2510 2301 2860 2511 2302 2868 2512 2303 2871 2513 2304 2868 2512 2303 2860 2511 2302 2873 2514 2305 2862 2515 2306 2875 2516 2307 2864 2517 2308 2875 2516 2307 2862 2515 2306 2876 1249 1197 2875 2518 2309 2877 1249 2310 2876 1249 1197 2877 1249 2310 2878 1249 2311 2882 2519 2312 2881 2520 1879 2884 2521 2313 2883 2522 2314 2884 2521 2313 2881 2520 1879 2886 2523 2315 2885 2524 2316 2888 2525 2317 2887 2526 2318 2888 2525 2317 2885 2524 2316 2917 1231 2319 2905 1230 1890 2918 2527 1213 2904 2528 1892 2918 2527 1213 2905 1230 1890 2919 2529 2320 2908 2530 2321 2921 2514 2322 2910 2515 2323 2921 2514 2322 2908 2530 2321 2923 2516 2324 2912 2531 2325 2925 2532 2326 2914 2533 2327 2925 2532 2326 2912 2531 2325 2947 2534 2328 2972 2535 2329 2948 2536 2330 2971 2537 2331 2948 2536 2330 2972 2535 2329 2950 2538 2332 2952 2539 2333 2949 2540 2334 2951 2541 2335 2949 2540 2334 2952 2539 2333 2964 2542 1908 2953 2543 1234 2966 2544 1909 2955 2545 1235 2966 2544 1909 2953 2543 1234 2928 2546 2336 2930 2547 2337 2937 2548 2338 2939 2549 2339 2937 2548 2338 2930 2547 2337 2941 2550 2340 2932 2551 2341 2943 2552 2342 2934 2553 2343 2943 2552 2342 2932 2551 2341 2944 1249 1241 2943 2554 2344 2945 1249 2345 2944 1249 1241 2945 1249 2345 2946 1249 2346 43 2555 2347 58 2556 2348 33 70 72 59 62 64 33 70 72 58 2556 2348 35 2039 1920 34 2040 1921 50 2557 2349 49 2558 2350 50 2557 2349 34 2040 1921 52 13 1245 51 1280 1244 69 2559 2351 70 1285 1249 69 2559 2351 51 1280 1244 76 2560 2352 86 21 2353 77 1307 1273 87 1284 1272 77 1307 1273 86 21 2353 75 2561 2354 68 1281 1246 69 2559 2355 69 2559 2355 74 23 2356 75 2561 2354 40 2052 1933 94 2047 1928 39 2032 1914 93 2048 1929 39 2032 1914 94 2047 1928 104 102 104 105 103 105 26 39 40 25 40 41 26 39 40 105 103 105 114 2562 2357 17 2563 2358 112 1310 1276 18 1311 1277 112 1310 1276 17 2563 2358 117 42 43 118 2564 2359 14 1294 1259 13 1296 1262 14 1294 1259 118 2564 2359 122 45 2360 113 73 75 20 54 56 19 55 57 20 54 56 113 73 75 129 2565 2361 127 46 48 90 29 29 88 48 50 90 29 29 127 46 48 135 2049 1930 134 2566 2362 133 52 54 132 50 52 133 52 54 134 2566 2362 21 1295 1260 20 54 1261 142 2567 1932 140 56 2363 142 2567 1932 20 54 1261 147 1314 1280 99 1308 1274 126 47 49 89 49 51 126 47 49 99 1308 1274 55 18 18 66 19 19 151 2054 1935 153 2568 2364 151 2054 1935 66 19 19 66 19 19 77 1307 1273 153 2568 2364 157 69 71 153 2568 2364 77 1307 1273 100 32 33 29 31 32 160 108 111 162 2057 1939 160 108 111 29 31 32 165 2569 2365 168 2570 2366 45 1290 1255 123 2571 2367 45 1290 1255 168 2570 2366 137 1313 1279 94 2047 1928 171 77 79 158 2056 1938 171 77 79 94 2047 1928 176 1701 2368 198 2572 2369 175 725 2370 197 123 126 175 725 2370 198 2572 2369 184 1341 1310 209 2573 2371 183 2061 1943 210 90 92 183 2061 1943 209 2573 2371 213 1319 1286 188 1318 1285 215 2574 2372 189 1342 1311 215 2574 2372 188 1318 1285 219 2575 2373 194 2080 1962 218 2576 2374 192 1345 1314 218 2576 2374 194 2080 1962 161 2577 2375 8 2578 1293 232 2579 2376 231 1324 1291 232 2579 2376 8 1326 1293 237 2580 2377 218 2576 2374 235 1346 1315 192 1345 1314 235 1346 1315 218 2576 2374 6 2581 2378 242 2582 2379 7 2065 1955 241 2073 1956 7 2065 1955 242 2583 2379 3 1331 1299 2 89 2380 245 101 103 246 2584 2381 245 101 103 2 89 2380 251 109 112 250 105 2382 8 1335 1303 9 2585 2383 8 2586 1303 250 105 2382 0 86 1954 248 2069 1953 164 84 2384 254 2587 2385 164 84 2384 248 2069 1953 186 2060 1942 260 2588 2386 212 87 89 256 2589 2387 212 87 89 260 2588 2386 272 2590 2388 270 2078 1960 271 1731 2389 269 766 2390 271 1731 2389 270 2078 1960 276 2591 2391 263 2077 1959 277 2079 1961 262 2592 2392 277 2079 1961 263 2077 1959 283 1338 1307 186 2060 1942 282 1339 1308 185 1340 1309 282 1339 1308 186 2060 1942 190 1343 1312 287 1344 1313 183 2061 1943 280 121 124 183 2061 1943 287 1344 1313 191 1323 1290 235 1346 1315 288 2593 2393 291 1347 1316 288 2593 2393 235 1346 1315 264 1350 1319 311 1348 1317 297 2594 2394 312 2595 2395 297 2594 2394 311 1348 1317 264 1350 1319 297 2594 2394 259 142 145 318 140 143 259 142 145 297 2594 2394 304 2143 2032 316 1353 1323 329 2094 1978 328 2095 1979 329 2094 1978 316 1353 1323 322 2084 1966 301 2082 1964 337 2093 2396 335 145 148 337 2093 2396 301 2082 1964 343 1358 1328 344 154 157 222 2596 2397 223 2597 2398 222 2596 2397 344 154 157 350 1359 1329 347 155 158 352 2598 2399 349 153 156 352 2598 2399 347 155 158 361 2599 2400 194 2600 2401 360 2601 2402 219 2602 2403 360 2601 2402 194 2600 2401 360 2601 2402 369 228 232 361 2599 2400 370 1406 1375 361 2599 2400 369 228 232 384 1755 2404 385 2603 2405 333 1756 2406 331 2604 2407 333 1756 2406 385 2603 2405 397 1371 1341 396 1370 1340 380 1366 1336 382 813 2408 380 1366 1336 396 1370 1340 348 2086 2409 406 2605 2410 351 2606 2411 407 2607 2412 351 2606 2411 406 2605 2410 402 1372 1342 415 2092 1975 405 1373 1343 416 2608 2413 405 1373 1343 415 2092 1975 419 2090 1973 418 2609 2414 424 2105 1990 425 205 209 424 2105 1990 418 2609 2414 377 165 168 376 166 169 432 182 187 433 183 188 432 182 187 376 166 169 395 170 173 398 1383 1352 440 2610 2415 439 1384 1353 440 2610 2415 398 1383 1352 443 187 192 442 186 191 446 2611 2416 445 2612 2417 446 2611 2416 442 186 191 389 211 215 460 1395 1362 386 2613 2418 459 2102 2419 386 2613 2418 460 1395 1362 465 2614 2420 464 194 2421 458 1386 2422 457 189 2423 458 1386 2422 464 194 2421 472 2615 206 473 1404 1373 453 2616 1988 452 1405 1374 453 2616 1988 473 1404 1373 449 2617 203 470 2618 2424 481 2619 2425 480 1393 1360 481 2619 2425 470 2618 2424 428 2091 1974 429 180 185 481 2619 2425 482 2620 2426 481 2619 2425 429 180 185 447 1388 1357 467 2100 1984 469 197 202 488 212 216 469 197 202 467 2100 1984 492 2108 2427 491 2621 2428 497 214 218 496 215 219 497 214 218 491 2621 2428 500 2109 1995 499 1783 2429 505 218 222 504 219 223 505 218 222 499 1783 2429 513 223 227 508 2112 1998 512 225 229 507 2622 2430 512 225 229 508 2112 1998 515 2623 2431 391 167 170 516 2113 2001 392 169 172 516 2113 2001 391 167 170 371 2624 2432 523 2625 2433 372 2626 2434 524 2627 2435 372 2626 2434 523 2625 2433 533 2628 2436 365 2087 1970 532 2629 2437 375 163 166 532 2629 2437 365 2087 1970 523 2625 2433 522 1407 1376 541 240 244 540 238 242 541 240 244 522 1407 1376 550 242 246 532 2629 2437 549 243 247 531 1408 1377 549 243 247 532 2629 2437 545 2117 2005 544 1796 2438 559 2630 2439 558 1797 2440 559 2630 2439 544 1796 2438 551 2631 2441 537 233 237 566 2632 2442 536 2115 2003 566 2632 2442 537 233 237 574 253 257 575 252 256 556 1412 1381 557 896 2443 556 1412 1381 575 252 256 583 1420 1389 584 2633 2444 569 1421 1390 570 2119 2007 569 1421 1390 584 2633 2444 592 267 271 593 2127 2015 578 2634 2445 579 2120 2008 578 2634 2445 593 2127 2015 601 2123 2011 604 1806 2446 599 2124 2012 602 913 2447 599 2124 2012 604 1806 2446 608 2126 2014 607 1423 1392 613 2635 2448 612 264 268 613 2635 2448 607 1423 1392 597 259 263 596 2122 2010 617 1428 1397 618 275 279 617 1428 1397 596 2122 2010 614 2636 2449 625 274 278 609 2125 2013 626 272 276 609 2125 2013 625 274 278 623 270 274 624 1426 1395 636 2637 2450 635 934 2451 636 2637 2450 624 1426 1395 629 2638 2452 642 1429 1398 644 285 289 643 284 288 644 285 289 642 1429 1398 637 2639 2453 636 2637 2450 653 287 291 652 2134 2022 653 287 291 636 2637 2450 646 2640 2454 660 1434 1403 647 2132 2020 661 2137 2025 647 2132 2020 660 1434 1403 656 2133 2021 669 3 3 650 1430 1399 670 1433 1402 650 1430 1399 669 3 3 662 2641 2455 682 2642 2456 663 1825 2457 681 943 2458 663 1825 2457 682 2642 2456 674 292 296 675 293 297 689 296 300 690 5 5 689 296 300 675 293 297 463 2098 1982 302 2643 2459 697 1437 1406 696 302 306 697 1437 1406 302 2643 2459 705 1453 1421 706 2644 2460 704 1436 1405 691 2645 2461 704 1436 1405 706 2646 2460 699 2647 2462 698 2648 2463 714 2649 2464 713 1460 1428 714 2649 2464 698 2648 2463 737 334 337 736 2650 2465 723 2149 2038 722 2651 2466 723 2652 2038 736 2653 2465 745 339 342 744 2654 2467 731 2655 2468 730 2656 2469 731 2655 2468 744 2654 2467 760 2657 2470 757 1443 1412 759 1841 2471 756 1444 1413 759 1841 2471 757 1443 1412 762 1842 2472 768 1844 2473 763 2658 2474 769 2659 2475 763 2658 2474 768 1844 2473 725 1449 1417 773 1450 1418 726 2147 2036 774 2660 2476 726 2147 2036 773 1450 1418 729 1441 1410 777 1452 1420 730 2656 2469 770 1451 1419 730 2656 2469 777 1452 1420 706 2644 2460 705 1453 1421 782 2661 2477 781 1455 1423 782 2661 2477 705 1453 1421 710 305 309 709 1456 1424 786 2662 2478 785 1458 1426 786 2662 2478 709 1456 1424 714 2649 2464 713 1460 1428 790 2663 2479 789 1459 1427 790 2663 2479 713 1460 1428 797 2664 2480 799 2665 2481 798 346 349 800 2666 2482 798 346 349 799 2665 2481 816 2667 2483 818 2668 2484 815 2669 2485 817 2670 2486 815 2669 2485 818 2668 2484 828 2671 2487 797 2664 2480 829 2672 2488 796 1463 1431 829 2672 2488 797 2664 2480 825 2673 2489 826 2674 2490 816 2675 2483 818 2676 2484 816 2677 2483 826 1469 2490 838 2678 2491 839 384 387 836 2679 2492 837 383 386 836 2679 2492 839 384 387 860 2680 2493 836 2679 2492 859 2162 2049 834 1473 1440 859 2162 2049 836 2679 2492 851 360 363 867 364 367 852 1476 1443 869 1480 1447 852 1476 1443 867 364 367 843 2681 2494 842 2160 2047 874 1509 1470 875 2682 2495 874 1509 1470 842 2160 2047 852 1476 1443 869 1480 1447 877 2166 2053 878 370 373 877 2166 2053 869 1480 1447 882 1494 1460 884 2167 2054 905 1496 1462 892 1481 1448 905 1496 1462 884 2167 2054 916 2683 2496 891 2684 2497 917 2685 2498 890 2179 2064 917 2685 2498 891 2684 2497 920 1489 1456 919 382 385 913 1487 1454 899 402 404 913 1487 1454 919 382 385 916 2683 2496 889 2686 2499 923 1510 2500 924 2687 2501 923 1510 2500 889 2686 2499 930 1495 1461 905 1496 1462 932 395 397 906 2175 2061 932 395 397 905 1496 1462 936 2688 2502 902 2170 2056 935 1499 2503 921 1490 1457 935 1499 2503 902 2689 2056 855 362 365 854 361 364 937 2690 2504 938 2691 2505 937 2690 2504 854 361 364 943 401 2506 849 2692 2507 944 403 2508 853 2693 2509 944 403 2508 849 2692 2507 890 2179 2064 891 2684 2497 942 2178 2063 947 2694 2510 942 2695 2063 891 2684 2497 968 1512 1471 975 2233 1806 969 1511 1050 976 2696 1807 969 1511 1050 975 2233 1806 957 415 415 952 1516 1055 984 2697 1808 983 1518 1473 984 2697 1808 952 1516 1055 951 1526 1476 996 1525 1072 978 2698 1057 995 2699 1058 978 2698 1057 996 1525 1072 1003 423 423 1005 532 529 960 408 408 961 409 409 960 408 408 1005 532 529 1000 2700 1060 1012 2701 1062 1001 2186 1809 1013 2189 1810 1001 2186 1809 1012 2701 1062 950 2185 1811 1026 1532 1479 953 2182 1812 1025 2702 1813 953 2182 1812 1026 1532 1479 997 435 435 1010 2703 1814 1032 434 434 1034 2704 1815 1032 434 434 1010 2703 1814 1041 437 437 1040 438 438 1048 2193 1816 1047 2705 1068 1048 2193 1816 1040 438 438 1057 461 460 1061 462 461 967 2192 1472 1006 2706 1817 967 2707 1472 1061 462 461 1069 449 449 1068 2708 1074 1045 1530 1069 1047 2705 1068 1045 1530 1069 1068 2708 1074 1075 2709 1818 1073 2710 1082 1074 2711 1075 1046 1534 1077 1074 2711 1075 1073 2710 1082 1033 1523 1067 1086 1537 1482 1029 1524 1475 1082 1536 1481 1029 1524 1475 1086 1537 1482 1043 2712 1819 1077 2713 1484 1073 2710 1082 1092 1540 1081 1073 2710 1082 1077 2713 1484 1098 2234 1083 1083 451 450 1096 459 458 1081 453 452 1096 459 458 1083 451 450 1095 2198 1085 1101 463 462 1080 2200 1820 1086 1537 1482 1080 2200 1820 1101 463 462 1090 455 454 1105 2714 1086 1089 456 455 1104 465 464 1089 456 455 1105 2714 1086 1110 2715 1088 1109 1588 1512 1115 2716 1087 1116 1582 1505 1115 2716 1087 1109 1588 1512 1139 2717 1090 1118 474 472 1138 479 477 1113 476 474 1138 479 477 1118 474 472 1133 2718 1821 1134 2719 1155 1149 2720 1139 1148 1596 1141 1149 2720 1139 1134 2719 1155 1154 2211 1822 1161 487 485 1155 481 479 1160 486 484 1155 481 479 1161 487 485 1141 1549 1492 1127 2209 1091 1167 1551 1095 1168 2721 1823 1167 1551 1095 1127 2209 1091 1172 488 486 1173 489 487 1177 2722 1099 1178 2214 1824 1177 2722 1099 1173 489 487 1188 2723 1101 1129 470 468 1190 2724 1825 1135 472 470 1190 2724 1825 1129 470 468 1180 2725 1103 1196 2726 1105 1197 2219 1826 1198 2220 1827 1197 2219 1826 1196 2726 1105 1117 2727 1089 1213 1570 1107 1119 1561 1094 1215 1562 1497 1119 1561 1094 1213 1570 1107 1222 1577 1108 1171 2213 1097 1223 2728 1828 1176 2729 1098 1223 2728 1828 1171 2213 1097 1231 2730 1829 1212 2731 1830 1230 1563 1110 1211 1564 1498 1230 1563 1110 1212 2731 1830 1187 1555 1495 1240 526 523 1185 493 491 1238 2732 1111 1185 493 491 1240 526 523 1247 2733 1114 1248 2734 1831 1194 497 495 1195 1558 1104 1194 497 495 1248 2734 1831 1213 1570 1107 1253 1571 1116 1215 1562 1497 1255 525 522 1215 1562 1497 1253 1571 1116 1260 1574 1119 1259 1572 1118 1220 1575 1109 1219 1573 1501 1220 1575 1109 1259 1572 1118 1262 1576 1120 1222 1577 1108 1263 2735 1832 1223 2728 1828 1263 2735 1832 1222 1577 1108 1267 2736 1833 1266 1578 1121 1232 2737 1834 1226 1579 1502 1232 2737 1834 1266 1578 1121 965 2738 1049 970 2739 1051 1276 549 1835 1277 2740 1836 1276 549 1835 970 2739 1051 1009 426 426 1279 2741 1837 986 424 424 1272 544 1838 986 424 424 1279 2741 1837 1290 1585 1507 1049 1586 1508 1292 2742 1130 1071 2194 1131 1292 2742 1130 1049 1586 1508 1153 2743 1132 1283 1584 1134 1162 1553 1493 1284 2744 1839 1162 1553 1493 1283 1584 1134 1212 2731 1830 1231 2730 1829 1291 1598 1841 1292 2742 1840 1291 1598 1841 1231 2730 1829 1295 550 549 989 1589 1513 982 2232 1842 973 439 1843 982 2745 1842 989 1589 1513 975 2233 1844 1298 553 553 976 2696 1845 977 2746 1846 976 2696 1845 1298 553 553 1301 554 554 1030 452 1847 1304 558 558 1083 451 1848 1304 558 558 1030 452 1847 1307 560 560 1098 2234 1849 1310 564 564 1058 442 1850 1310 564 564 1098 2234 1849 1294 2747 1851 1313 2748 1853 1076 2749 1852 1043 2750 1819 1076 2749 1852 1313 2748 1853 1212 2731 1158 1317 571 571 1211 1564 1854 1318 1600 1515 1211 1564 1854 1317 571 571 992 418 418 1285 535 532 1319 2751 1855 1320 575 1856 1319 2751 1855 1285 535 532 1331 2752 1857 1327 573 573 1152 1587 1511 1152 1587 1511 1151 1546 1490 1331 2752 1857 1341 1605 1858 1339 1606 1171 1342 1210 1859 1340 1221 1172 1342 1210 1859 1339 1606 1171 1333 578 578 1335 577 577 1343 587 1169 1345 585 1860 1343 587 1169 1335 577 577 1336 579 579 1334 580 580 1338 1216 1517 1354 1219 1861 1338 1216 1517 1334 580 580 1334 580 580 1342 1210 1859 1354 1219 1861 1359 1220 1174 1354 1219 1861 1342 1210 1859 1342 1210 1859 1340 1221 1172 1359 1220 1174 1379 1607 1178 1380 1972 1181 1377 581 1862 1378 582 1183 1377 581 1862 1380 1972 1181 1365 589 1863 1366 1216 1865 1381 591 1864 1382 1219 1866 1381 591 1864 1366 1216 1865 1397 2753 2511 1398 2240 1530 1389 2754 2512 1392 2241 595 1389 2754 2512 1398 2240 1530 1404 2755 2513 1395 2756 2514 1403 2757 2515 1396 2758 2516 1403 2757 2515 1395 2756 2514 1412 2242 1534 1416 2759 2517 1406 2243 2105 1414 2759 2518 1406 2243 2105 1416 2759 2517 1421 2760 2519 1424 2761 2520 1425 2761 1537 1426 2762 2521 1425 2761 1537 1424 2761 2520 1425 2763 1537 1434 2764 2522 1421 2764 2519 1433 2765 2523 1421 2764 2519 1434 2764 2522 1443 614 1540 1444 615 1539 1442 616 613 1441 617 612 1442 616 613 1444 615 1539 1447 618 2120 1452 619 2524 1441 617 612 1450 620 614 1441 617 612 1452 619 2524 1463 618 620 1457 617 619 1464 2766 2525 1460 615 617 1464 2766 2525 1457 617 619 1470 2767 2526 1480 2768 2527 1469 2768 2528 1477 2769 2529 1469 2768 2528 1480 2768 2527 1474 2266 1555 1476 2770 1554 1473 2264 2125 1475 2771 2530 1473 2264 2125 1476 2770 1554 1498 626 628 1488 625 627 1497 2772 2531 1485 2773 2532 1497 2772 2531 1488 625 627 1498 2269 2128 1499 2268 1559 1501 2272 2131 1502 2273 1560 1501 2272 2131 1499 2268 1559 1503 2274 2132 1504 2275 1561 1505 634 636 1506 633 637 1505 634 636 1504 2275 1561 1521 2774 2533 1509 2775 2534 1524 2775 2535 1510 2776 2536 1524 2775 2535 1509 2775 2534 1526 2282 1571 1513 2280 642 1528 2283 1573 1515 2284 645 1528 2283 1573 1513 2280 642 1520 2777 2537 1531 2778 2538 1519 2778 2539 1532 2779 2540 1519 2778 2539 1531 2778 2538 1547 2292 647 1546 2291 2140 1548 2270 648 1545 2271 1576 1548 2270 648 1546 2291 2140 1549 2293 2141 1550 2294 1579 1551 2295 2142 1552 2296 1581 1551 2295 2142 1550 2294 1579 1542 2780 2541 1544 2781 2542 1541 2782 2543 1543 2783 1585 1541 2782 2543 1544 2781 2542 1570 2303 2149 1567 652 659 1569 2301 1588 1566 654 661 1569 2301 1588 1567 652 659 1614 2784 2544 1615 2785 2545 1629 710 719 1630 2786 2546 1629 710 719 1615 2785 2545 1631 1674 1592 1632 1675 1593 1636 2787 2547 1635 2788 2548 1636 2787 2547 1632 1675 1593 1623 663 670 1644 2310 2158 1622 657 664 1633 2789 2549 1622 657 664 1644 2310 2158 1652 2790 2550 1637 2791 2551 1653 2792 2552 1636 2793 2547 1653 2794 2552 1637 2791 2551 1640 2307 2153 1639 1696 1616 1649 670 677 1650 1678 1595 1649 670 677 1639 1696 1616 1616 2795 1590 1615 2796 2553 1670 2797 2554 1669 2798 2555 1670 2799 2554 1615 2796 2553 1680 2315 2163 1679 752 762 1596 2316 2164 1597 688 697 1596 2316 2164 1679 752 762 1688 2800 2556 1687 684 693 1589 701 710 1590 700 709 1589 701 710 1687 684 693 1691 689 698 1586 1684 1603 1692 2801 2557 1585 2323 2173 1692 2801 2557 1586 1684 1603 1692 2801 2557 1585 2323 2173 1696 1699 1619 1619 2322 2172 1696 1699 1619 1585 2323 2173 1703 2802 2558 1704 2320 2559 1701 694 703 1702 695 704 1701 694 703 1704 2320 2559 1590 700 709 1591 1682 1601 1707 698 707 1709 2332 2182 1707 698 707 1591 1682 1601 1669 2803 2555 1714 702 2560 1716 2804 2561 1716 2805 2561 1670 2799 2554 1669 2798 2555 1722 2328 2178 1620 658 665 1721 2325 2175 1621 659 666 1721 2325 2175 1620 658 665 1655 2806 2562 1658 2308 2154 1728 2807 2563 1727 2808 2564 1728 2807 2563 1658 2308 2154 1634 2324 2174 1655 2806 2562 1725 2326 2176 1728 2807 2563 1725 2326 2176 1655 2806 2562 1736 760 770 1684 2314 2162 1738 720 729 1618 1698 1618 1738 720 729 1684 2314 2162 1741 722 731 1696 1699 1619 1742 2809 2565 1619 2322 2172 1742 2809 2565 1696 1699 1619 1742 2809 2565 1619 2322 2172 1745 2810 2566 1719 706 715 1745 2810 2566 1619 2322 2172 1762 2335 2185 1763 2811 2567 179 1317 2186 178 2812 2568 179 1317 2186 1763 2811 2567 1771 1704 1624 1773 2813 2569 1748 1702 1622 1749 1735 1653 1748 1702 1622 1773 2813 2569 1754 1736 1654 1753 1706 1626 1778 2814 2570 1777 1708 1628 1778 2814 2570 1753 1706 1626 1783 2352 2203 1787 738 748 1782 2815 2571 1788 740 750 1782 2815 2571 1787 738 748 1580 2816 2572 1795 2817 2573 1734 1713 1633 1794 1714 1634 1734 1713 1633 1795 2817 2573 1799 2339 2189 1798 1718 1637 1769 2340 2190 1780 1710 1630 1769 2340 2190 1798 1718 1637 1579 2818 1638 1803 749 759 1578 735 2574 1804 2819 2575 1578 735 2574 1803 749 759 1575 1723 1641 1807 750 760 1574 2820 2576 1808 2821 2577 1574 2820 2576 1807 750 760 1617 2822 2578 1574 2820 2576 1813 2823 2579 1808 2821 2577 1813 2823 2579 1574 2820 2576 1737 1727 1645 1617 2822 2578 1815 758 768 1813 2823 2579 1815 758 768 1617 2822 2578 1823 1732 1650 1822 2824 2580 1818 2825 2581 1816 2826 2582 1818 2825 2581 1822 2824 2580 1831 770 779 1830 2827 2583 1832 771 780 1829 1730 1648 1832 771 780 1830 2827 2583 1834 2828 2584 1835 2354 2206 1822 2824 2580 1821 1729 1647 1822 2824 2580 1835 2354 2206 1751 2336 2187 1752 1707 1627 1840 2829 2585 1841 2830 2586 1840 2829 2585 1752 1707 1627 1755 1738 1656 1751 2336 2187 1844 1739 1657 1840 2829 2585 1844 1739 1657 1751 2336 2187 273 2831 2587 1830 2832 2588 308 2833 2589 1861 2834 2590 308 2833 2589 1830 2832 2588 1852 1741 1659 1854 2835 2591 1864 1742 1660 1865 2836 2592 1864 1742 1660 1854 2835 2591 1873 2357 2210 1872 2837 1664 1854 2835 2591 1856 1747 1666 1854 2835 2591 1872 2837 1664 1882 846 856 1881 1758 1677 1880 2381 2235 1870 2838 2593 1880 2381 2235 1881 1758 1677 1876 2359 2212 1783 2839 2594 1887 798 807 1782 799 808 1887 798 807 1783 2839 2594 1891 2363 2216 1892 800 809 1895 2840 2595 1893 1749 1668 1895 2840 2595 1892 800 809 1903 2841 2596 1900 802 811 1904 2842 2597 1901 804 813 1904 2842 2597 1900 802 811 1911 2843 2598 1845 2844 2599 1912 2845 2600 1768 2846 2601 1912 2845 2600 1845 2844 2599 1912 2845 2600 1920 1788 1715 1911 2843 2598 1919 880 889 1911 2843 2598 1920 1788 1715 1931 2847 2602 387 2107 2603 1929 1757 1676 384 1755 1674 1929 1757 1676 387 2107 2603 1872 2848 2604 1874 2849 2605 1939 2850 2606 1940 2373 2227 1939 2850 2606 1874 2849 2605 1921 2851 2607 1948 833 843 1907 2852 2608 1944 2853 2609 1907 2852 2608 1948 833 843 1947 1759 1680 1958 1761 1682 1946 820 829 1957 2854 2610 1946 820 829 1958 1761 1682 1957 2854 2610 1966 2387 2242 1956 1760 1681 1967 857 866 1956 1760 1681 1966 2387 2242 1971 832 842 1949 831 841 1975 2855 2611 1974 836 846 1975 2855 2611 1949 831 841 1980 1765 1687 1936 817 826 1981 2856 2612 1934 1786 1713 1981 2856 2612 1936 817 826 1993 1771 1696 1963 2377 2228 1992 1773 1698 1970 2376 2229 1992 1773 1698 1963 2857 2228 1995 2382 2236 1994 2858 2613 2002 2383 2238 2001 2859 2614 2002 2383 2238 1994 2858 2613 2006 2860 2615 1999 843 2616 2005 847 857 1998 845 1693 2005 847 857 1999 843 2616 1990 2861 2617 2015 868 877 1991 2862 2241 2014 2863 864 1991 2862 2241 2015 868 877 2022 1776 1700 2008 2384 2239 2023 2864 2618 1984 2380 2233 2023 2864 2618 2008 2384 2239 1984 2380 2233 1960 2379 2232 2023 2864 2618 1961 2865 2619 2023 2864 2618 1960 2379 2232 2029 867 876 2028 865 874 2025 2388 2244 2024 2866 2620 2025 2388 2244 2028 865 874 2011 852 862 2035 870 879 1988 851 861 2031 2867 2621 1988 851 861 2035 870 879 2038 2389 2622 2042 871 880 2037 2868 2623 2041 873 882 2037 2868 2623 2042 871 880 2044 2390 2249 2048 876 885 509 221 2624 514 875 884 509 221 2624 2048 876 885 1976 2869 2625 1981 2856 2626 2051 2391 2250 2050 2870 2627 2051 2391 2250 1981 2856 2626 1928 814 823 2058 2871 2628 383 812 821 526 2872 2629 383 812 821 2058 2871 2628 2052 2873 2630 2065 2874 2631 1915 2368 2221 1914 2875 2632 1915 2368 2221 2065 2874 2631 2073 893 902 2057 1789 1716 543 894 903 525 2876 2633 543 894 903 2057 1789 1716 2068 1799 1726 2069 2393 2252 2080 1798 1725 2081 2877 2634 2080 1798 1725 2069 2393 2252 2087 2878 2635 2075 2879 2636 2088 2880 2637 2076 2394 2253 2088 2880 2637 2075 2879 2636 2093 900 909 2080 1798 1725 2095 2400 2261 2096 1800 1728 2095 2400 2261 2080 1798 1725 2102 909 918 2086 1795 1722 2103 907 916 2087 2878 2635 2103 907 916 2086 1795 1722 2098 2881 2638 2099 2397 2256 2110 2882 2639 2111 917 926 2110 2882 2639 2099 2397 2256 2106 2399 2258 2118 2883 2640 2105 2884 2641 2117 2885 2642 2105 2884 2641 2118 2883 2640 2123 912 921 2125 2401 2262 603 914 923 606 2886 2643 603 914 923 2125 2401 2262 2128 1813 1741 2133 924 933 2127 1807 1735 2132 1808 1736 2127 1807 1735 2133 924 933 2118 2883 2640 2138 2887 2644 2117 2885 2642 2139 2888 2645 2117 2885 2642 2138 2887 2644 628 928 937 2145 927 936 604 1806 1734 2124 1805 1733 604 1806 1734 2145 927 936 2140 2889 2646 2153 2890 2647 2141 2891 2648 2152 1818 1747 2141 2891 2648 2153 2890 2647 2147 2892 2649 2148 2893 2650 2160 938 948 2161 936 946 2160 938 948 2148 2893 2650 2154 2894 2651 2168 939 949 2153 2890 2647 2167 2404 2265 2153 2890 2647 2168 939 949 2163 2895 2652 649 282 2653 2175 1824 1753 663 1825 1754 2175 1824 1753 649 282 2653 2182 2896 2654 2186 942 952 671 2897 2655 676 941 951 671 2897 2655 2186 942 952 2174 1821 1750 2175 1824 1753 2191 2898 2656 2190 944 954 2191 2898 2656 2175 1824 1753 671 2897 2655 686 2899 2657 2182 2896 2654 2194 2900 2658 2182 2896 2654 686 2899 2657 1996 2901 2659 1879 1745 1663 2205 953 963 2206 1832 1760 2205 953 963 1879 1745 1663 2200 2902 2660 2213 2416 2278 2199 2903 2661 2212 2904 2662 2199 2903 2661 2213 2416 2278 701 2144 2663 716 2155 2664 2207 2905 2665 2220 2906 2666 2207 2905 2665 716 2155 2664 2238 985 994 2239 986 995 2226 2907 2275 2227 1846 1773 2226 2413 2275 2239 986 995 750 2148 2667 747 322 2668 2248 2908 2669 2246 971 981 2248 2908 2669 747 322 2668 759 1841 1767 2254 1840 1766 762 1842 1769 2256 1843 1770 762 1842 1769 2254 1840 1766 2257 2414 2276 2261 1849 1776 2256 1843 1770 2260 1845 1772 2256 1843 1770 2261 1849 1776 2228 1847 1774 2229 2909 2670 2265 1848 1775 2266 2910 2671 2265 1848 1775 2229 2909 2670 2224 958 968 2269 2911 2672 2223 960 970 2259 970 980 2223 960 970 2269 2911 2672 2212 2912 2662 2273 2913 2673 2211 2914 1759 2272 2915 1777 2211 2914 1759 2273 2913 2673 2215 1851 1778 2216 2411 2272 2276 1852 1779 2277 2916 2674 2276 1852 1779 2216 2411 2272 2220 2906 2666 2281 2917 2675 2219 1833 1761 2280 1854 1781 2219 1833 1761 2281 2917 2675 2291 2918 2676 2293 1860 1787 2290 2919 2677 2292 1861 1788 2290 2919 2677 2293 1860 1787 2310 1857 1784 2296 2920 2678 2311 2921 2679 2300 2420 2281 2311 2921 2679 2296 2920 2678 2311 2921 2679 2300 2420 2281 2321 2922 2680 2318 2421 2282 2321 2922 2680 2300 2420 2281 2292 1861 1788 2325 1003 1012 2298 2419 2280 2326 2923 2681 2298 2419 2280 2325 1003 1012 2336 2924 2682 2337 2925 2683 2334 1863 1790 2335 2926 2684 2334 1863 1790 2337 2925 2683 2350 2428 2289 2351 2927 2685 2361 1013 1022 2360 2928 2686 2361 1013 1022 2351 2927 2685 2367 1865 1792 2368 2929 2687 2340 1866 1793 2345 2930 2688 2340 1866 1793 2368 2929 2687 2324 1001 1010 2293 1860 1787 2373 1043 2297 2374 1871 2689 2373 1043 2297 2293 1860 1787 2335 2931 2684 2337 2932 2683 2376 2933 2690 2375 2934 2691 2376 2933 2690 2337 2932 2683 2383 2935 2692 2358 2427 2288 2384 2936 2693 2364 1015 1024 2384 2936 2693 2358 2427 2288 2351 2927 2685 2350 2428 2289 2387 1035 2694 2388 1876 2695 2387 1035 2694 2350 2428 2289 2315 2937 2696 2314 2938 2697 2390 2939 2698 2389 2940 2699 2390 2939 2698 2314 2938 2697 2371 1018 1027 2385 1874 1801 2353 2941 2290 2396 2942 2700 2353 2943 2290 2385 2436 1801 2399 2944 417 2404 2945 410 2400 1891 1811 2403 1892 1812 2400 1891 1811 2404 2945 410 2406 2946 2067 2429 2947 413 2401 1886 1476 2428 1054 1057 2401 1886 1476 2429 2947 413 2416 1050 425 2421 2948 1054 2436 1943 424 2437 2949 2089 2436 1943 424 2421 2948 1054 2446 1076 1072 2445 1055 1058 2448 1058 1059 2450 1059 1060 2448 1058 1059 2445 1055 1058 2456 2950 1817 2457 2951 2068 2408 2952 2066 2430 2953 412 2408 2952 2066 2457 2951 2068 2461 1060 1061 2462 1061 1062 2466 2954 431 2467 2449 429 2466 2954 431 2462 1061 1062 2413 2443 420 2418 1880 1471 2479 1904 1475 2478 2955 453 2479 1904 1475 2418 1880 1471 2465 2956 2701 2485 2957 2071 2470 2958 2702 2486 2959 457 2470 2958 2702 2485 2957 2071 2401 1886 1476 2504 2452 1477 2406 2946 2067 2503 2960 2703 2406 2946 2067 2504 2452 1477 2512 2961 2704 2510 1074 1070 2461 1060 1061 2448 1058 1059 2461 1060 1061 2510 1074 1070 2498 1899 1816 2520 2962 2070 2497 1071 1068 2518 1080 1074 2497 1071 1068 2520 2962 2070 2475 1894 1813 2528 2963 2073 2476 1893 1479 2529 2455 1480 2476 1893 1479 2528 2963 2073 2535 1087 1078 2537 2964 2076 2482 1085 434 2484 1897 1815 2482 1085 434 2537 2964 2076 2544 2965 2705 2529 2455 1480 2543 2966 2072 2528 2963 2073 2543 2966 2072 2529 2455 1480 2534 1088 1079 2529 2455 1480 2549 2967 2075 2544 2965 2705 2549 2967 2075 2529 2455 1480 2550 2968 2074 2552 2969 2077 2535 1087 1078 2537 2964 2076 2535 1087 1078 2552 2969 2077 2555 1100 1086 2556 2970 2078 2540 1912 454 2541 1089 1080 2540 1912 454 2556 2970 2078 2571 2971 482 2572 1164 480 2565 1105 1087 2566 1915 1505 2565 1105 1087 2572 1164 480 2590 1123 1096 2589 1110 1090 2573 2466 1487 2568 1916 472 2573 2466 1487 2589 1110 1090 2601 1971 1490 2560 1107 1088 2602 1968 1511 2559 1914 1512 2602 1968 1511 2560 1107 1088 2614 2972 2082 2574 1128 1100 2613 2973 483 2575 2974 2079 2613 2973 483 2574 1128 1100 2596 1112 540 2577 1114 1091 2619 2975 2706 2618 1922 1823 2619 2975 2706 2577 1114 1091 2626 1125 1098 2631 2976 2707 2627 1127 1099 2632 2977 2708 2627 1127 1099 2631 2976 2707 2642 1149 493 2641 2978 2084 2607 2471 492 2600 2469 1491 2607 2471 492 2641 2978 2084 2633 2979 2081 2632 2977 2708 2651 2476 496 2650 2980 498 2651 2476 496 2632 2977 2708 2583 1918 2709 2584 1196 2710 2666 2981 2086 2668 1197 2085 2666 2981 2086 2584 1196 2710 2631 2976 2707 2674 2982 2087 2649 2983 2083 2675 2485 1503 2649 2983 2083 2674 2982 2087 2677 1202 1160 2654 1201 1159 2682 1938 1834 2679 2984 504 2682 1938 1834 2654 1201 1159 2693 1192 520 2640 1187 1825 2691 2985 521 2638 1131 1101 2691 2985 521 2640 1187 1825 2646 1135 1105 2648 1926 1827 2699 2986 527 2700 1159 528 2699 2986 527 2648 1926 1827 2667 2987 503 2666 2981 2086 2707 2988 2711 2706 2989 519 2707 2988 2711 2666 2981 2086 2671 2477 501 2667 2987 503 2711 2990 524 2707 2988 2711 2711 2990 524 2667 2987 503 2713 1936 1832 2714 2991 525 2673 1928 1828 2674 2982 2087 2673 1928 1828 2714 2991 525 2718 1204 1162 2677 1202 1160 2717 1937 1833 2682 1938 1834 2717 1937 1833 2677 1202 1160 2731 1176 1506 2433 1885 1473 2730 2992 2712 2434 1884 1808 2730 2992 2712 2433 1885 1473 2452 1168 1126 2734 1169 1127 2464 2993 2069 2736 2994 2713 2464 2993 2069 2734 1169 1127 2727 1941 2714 2581 2462 1485 2725 2995 2715 2587 2464 1486 2725 2995 2715 2581 2462 1485 2728 2996 2093 2729 1944 2716 2595 2467 1488 2619 2975 2706 2595 2467 1488 2729 1944 2716 2732 2487 533 2721 2486 2088 2398 2997 419 2405 2998 411 2398 2997 419 2721 2486 2088 2746 2492 551 2723 1182 1140 2747 1185 1143 2599 1181 1139 2747 1185 1143 2723 1182 1140 2725 2995 2717 2587 2464 2718 2749 2493 555 2750 1190 1149 2749 2493 555 2587 2464 2718 2752 2494 556 2753 1188 1147 2755 2495 557 2756 1191 1150 2755 2495 557 2753 1188 1147 2758 2496 559 2759 1193 1152 2761 2497 562 2762 1195 1154 2761 2497 562 2759 1193 1152 2744 1960 2719 2763 1962 2720 2686 2479 1500 2653 2480 515 2686 2479 1500 2763 1962 2720 2558 2999 2721 2517 3000 2722 2764 3001 568 2494 1077 2098 2764 3001 568 2517 3002 2722 2772 3003 2723 2774 3004 2724 2771 2501 2725 2773 1206 2726 2771 2501 2725 2774 3004 2724 2791 1217 1858 2783 1218 578 2792 1972 1859 2784 588 580 2792 1972 1859 2783 1218 578 2789 1212 2727 2799 1974 2728 2791 1217 1858 2801 1209 1167 2791 1217 1858 2799 1974 2728 2799 1974 2728 2789 1212 2727 2805 2503 2729 2810 1213 2730 2805 2503 2729 2789 1212 2727 2813 1973 589 2815 1975 1863 2814 586 2103 2816 1603 1865 2814 586 2103 2815 1975 1863 2825 1215 1175 2826 1216 1176 2836 2502 2731 2835 1219 1180 2836 2502 2731 2826 1216 1176 2851 3005 1872 2848 2504 2298 2844 3006 1190 2842 2505 1867 2844 3006 1190 2848 2504 2298 2869 1231 1193 2857 1230 1192 2870 2527 2732 2856 2528 2733 2870 2527 2732 2857 1230 1192 2871 2513 2304 2860 2511 2302 2873 2514 2305 2862 2515 2306 2873 2514 2305 2860 2511 2302 2875 2516 2307 2864 2517 2308 2877 3007 2734 2866 3008 2735 2877 3007 2734 2864 2517 2308 2881 2520 1879 2882 2519 2312 2880 3009 1881 2879 3010 2736 2880 3009 1881 2882 2519 2312 2884 2521 2313 2883 2522 2314 2886 2523 2315 2885 2524 2316 2886 2523 2315 2883 2522 2314 2900 3011 1211 2902 3012 2737 2887 3013 2318 2889 3014 2738 2887 3013 2318 2902 3012 2737 2906 3015 2739 2908 2530 2321 2916 3016 2740 2919 2529 2320 2916 3016 2740 2908 2530 2321 2921 2514 2322 2910 2515 2323 2923 2516 2324 2912 2531 2325 2923 2516 2324 2910 2515 2323 2924 1249 1896 2923 2518 2741 2925 1249 2742 2924 1249 1896 2925 1249 2742 2926 1249 1223 2948 2536 2330 2950 2538 2332 2947 2534 2328 2949 2540 2334 2947 2534 2328 2950 2538 2332 2952 2539 2333 2954 1268 1232 2951 2541 2335 2953 1270 1234 2951 2541 2335 2954 1268 1232 2938 1273 1237 2927 1272 1236 2970 3017 2743 2968 3018 2744 2970 3017 2743 2927 1272 1236 2939 2549 2339 2930 2547 2337 2941 2550 2340 2932 2551 2341 2941 2550 2340 2930 2547 2337 2943 2552 2342 2934 2553 2343 2945 3019 2745 2936 3020 2746 2945 3019 2745 2934 2553 2343 41 3021 2747 56 2034 1916 42 3022 2748 57 2033 1915 42 3022 2748 56 2034 1916 58 2556 2348 63 3023 2749 59 62 64 62 63 65 59 62 64 63 3023 2749 50 2557 2349 49 2558 2350 71 24 24 60 25 25 71 24 24 49 2558 2350 79 66 2750 80 3024 2751 64 2035 2752 63 3025 2749 64 2035 2752 80 3026 2751 67 17 17 76 2560 2352 66 19 19 77 1307 1273 66 19 19 76 2560 2352 43 3027 2347 97 3028 62 42 3029 2753 96 3030 2754 42 3029 2753 97 3031 62 107 1291 1256 23 1292 1257 106 3032 2755 24 3033 2756 106 3032 2755 23 1292 1257 115 2041 1922 16 2042 1924 114 2562 2357 17 2563 2358 114 2562 2357 16 2042 1924 118 2564 2359 119 3034 2757 13 1296 1262 12 1302 1268 13 1296 1262 119 3034 2757 119 3034 2757 123 2571 2367 12 1302 1268 46 1300 1266 12 1302 1268 123 2571 2367 130 51 2758 128 1297 1263 131 53 2759 129 2565 2361 131 53 2759 128 1297 1263 17 2563 2358 134 2566 2362 18 1311 1277 136 1312 1278 18 1311 1277 134 2566 2362 143 3035 63 141 1299 2760 96 3036 2754 96 3030 2754 97 3031 62 143 3037 63 149 72 74 148 64 66 47 1309 1275 48 1304 1270 47 1309 1275 148 64 66 82 2037 1919 155 3038 2761 85 1282 1247 154 3039 1936 85 1282 1247 155 3038 2761 61 1305 1271 152 65 67 82 2037 1919 155 3038 2761 82 2037 1919 152 65 67 163 3040 2762 165 2569 2365 111 1289 1254 45 1290 1255 111 1289 1254 165 2569 2365 168 2570 2366 169 3041 2763 123 2571 2367 46 1300 1266 123 2571 2367 169 3041 2763 169 3041 2763 172 2058 1940 46 1300 1266 146 1301 1267 46 1300 1266 172 2058 1940 200 1316 1283 179 1317 1284 201 126 129 178 2812 2764 201 126 129 179 1317 1284 209 2573 2371 184 1341 1310 211 85 87 185 1340 1309 211 85 87 184 1341 1310 190 1343 1312 216 91 93 189 1342 1311 215 2574 2372 189 1342 1311 216 91 93 221 1336 1304 220 3042 2765 225 112 115 226 3043 2766 225 112 115 220 3042 2765 7 2065 1947 161 2577 2375 233 97 99 232 2579 2376 233 97 99 161 2577 2375 238 96 98 207 1329 1297 237 2580 2377 218 2576 2374 237 2580 2377 207 1329 1297 6 3044 2378 5 2067 1951 242 3045 2379 243 2068 1952 242 2583 2379 5 2067 1951 2 89 2380 1 88 2767 246 2584 2381 247 3046 2768 246 2584 2381 1 88 2767 44 3047 2769 252 3048 2770 1 88 2767 247 3046 2768 1 88 2767 252 3048 2770 164 84 2384 254 2587 2385 44 3047 2769 252 3048 2770 44 3047 2769 254 2587 2385 255 2075 1957 261 3049 2771 257 111 114 262 2592 2392 257 111 114 261 3049 2771 275 3050 2772 276 2591 2391 274 3051 2773 272 2590 2388 274 3051 2773 276 2591 2391 278 119 122 261 3049 2771 279 120 123 260 2588 2386 279 120 123 261 3049 2771 285 127 130 188 1318 1285 284 3052 2774 187 1320 1287 284 3052 2774 188 1318 1285 191 1323 1290 288 2593 2393 187 1320 1287 284 3052 2774 187 1320 1287 288 2593 2393 309 132 135 274 2081 1963 308 2833 2775 273 2831 2776 308 2833 2775 274 2081 1963 297 2594 2394 312 2595 2395 299 2083 1965 313 137 140 299 2083 1965 312 2595 2395 323 1354 1324 299 2083 1965 322 2084 1966 301 2082 1964 322 2084 1966 299 2083 1965 332 1387 1356 330 191 196 331 2604 2407 320 3053 2777 331 2604 2407 330 191 196 326 141 144 338 1357 1327 221 143 146 220 3054 2778 221 143 146 338 1357 1327 342 151 154 346 152 155 343 1358 1328 344 154 157 343 1358 1328 346 152 155 354 157 160 355 156 159 351 2606 2779 352 2598 2399 351 2606 2779 355 156 159 206 3055 2780 289 3056 2781 363 3057 2782 362 3058 2783 363 3057 2782 289 3056 2781 363 3057 2782 362 3058 2783 372 2626 2434 371 2624 2432 372 2626 2434 362 3058 2783 388 210 214 385 2603 2405 387 2107 1992 384 1755 2404 387 2107 1992 385 2603 2405 322 2084 1976 399 2089 193 324 2085 2784 400 1376 1347 324 2085 2784 399 2089 193 374 3059 2785 358 159 174 408 175 180 404 171 176 408 175 180 358 159 174 417 3060 2786 418 2609 2414 406 2605 2410 407 2607 2412 406 2605 2410 418 2609 2414 417 3060 2786 416 2608 2413 426 206 210 427 1392 1359 426 206 210 416 2608 2413 431 1380 1350 435 3061 2787 409 3062 2788 434 3063 2789 409 3062 2788 435 3061 2787 392 169 172 395 170 173 441 3064 2790 440 2610 2415 441 3064 2790 395 170 173 453 2616 1988 452 1405 1374 423 1382 1349 430 1381 1351 423 3065 1349 452 1405 1374 455 190 195 462 193 198 454 2097 1981 461 2099 1983 454 2097 1981 462 193 198 466 2101 1985 465 2614 2420 459 2102 1987 458 1386 2422 459 2102 1987 465 2614 2420 450 2110 1996 451 3066 205 475 2111 1997 474 3067 1358 475 2111 1997 451 3066 205 482 2620 2426 483 3068 2791 468 3069 201 444 1385 1354 468 1389 201 483 3068 2791 444 1385 1354 483 3068 2791 420 178 183 421 176 181 420 178 183 483 3068 2791 491 2621 2428 486 209 213 490 1397 1364 485 208 212 490 1397 1364 486 209 213 471 3070 2792 448 199 204 498 1401 1368 493 213 217 498 1401 1368 448 199 204 502 216 220 501 217 221 507 2622 2793 506 1402 1371 507 2622 2793 501 217 221 510 220 224 509 221 225 515 2623 2431 514 875 2794 515 2623 2431 509 221 225 436 3071 2795 518 222 226 441 3064 2796 517 224 228 441 3064 2796 518 222 226 381 1368 1338 383 812 2797 527 2116 2004 526 2872 2798 527 2116 2004 383 812 2797 519 232 236 367 161 164 534 2114 2002 366 162 165 534 2114 2002 367 161 164 542 1411 1380 543 894 2799 524 2627 2435 525 2876 2800 524 2627 2435 543 894 2799 537 233 237 551 2631 2441 538 234 238 552 2118 2006 538 234 238 551 2631 2441 560 3072 2801 561 2121 2009 546 236 240 547 237 241 546 236 240 561 2121 2009 566 2632 2442 568 256 260 551 2631 2441 569 1421 1390 551 2631 2441 568 256 260 577 1417 1386 578 2634 2445 559 2630 2439 560 3072 2801 559 2630 2439 578 2634 2445 586 265 269 572 248 252 585 263 267 571 247 251 585 263 267 572 248 252 581 251 255 580 250 254 595 3073 2802 594 3074 2803 595 3073 2802 580 250 254 600 1422 1391 603 914 2804 605 260 264 606 2886 2805 605 260 264 603 914 2804 609 2125 2013 608 2126 2014 614 2636 2449 613 2635 2448 614 2636 2449 608 2126 2014 595 3073 2802 594 3074 2803 619 276 280 620 2130 2018 619 276 280 594 3074 2803 601 2123 2011 627 1427 1396 604 1806 2446 628 928 2806 604 1806 2446 627 1427 1396 621 2128 2016 622 269 273 638 3075 2807 637 2639 2453 638 3075 2807 622 269 273 630 2129 2017 645 1431 1400 631 273 277 646 2640 2454 631 273 277 645 1431 1400 639 2131 2019 638 3075 2807 655 1432 1401 654 286 290 655 1432 1401 638 3075 2807 648 280 284 662 2641 2455 649 282 286 663 1825 2457 649 282 286 662 2641 2455 676 941 2808 677 3076 2809 671 2897 2810 672 2139 2027 671 2897 2810 677 3076 2809 661 2137 2025 683 2138 2026 662 2641 2455 682 2642 2456 662 2641 2455 683 2138 2026 671 2897 2810 672 2139 2027 686 2899 2811 687 2140 2028 686 2899 2811 672 2139 2027 456 2096 1980 698 2648 2463 329 2094 1978 699 2647 2462 329 2094 1978 698 2648 2463 693 298 302 692 2142 2030 708 1457 1425 707 2153 2040 708 1457 1425 692 2142 2030 701 2144 2033 700 2145 2034 716 2155 2042 715 2154 2041 716 2155 2042 700 2145 2034 738 332 335 724 3077 1416 739 3078 2812 725 1449 1417 739 3078 2812 724 1447 1416 750 2148 2037 751 316 320 747 322 325 748 321 324 747 322 325 751 316 320 759 1841 2471 762 1842 2472 760 2657 2470 763 2658 2474 760 2657 2470 762 1842 2472 764 329 332 763 2658 2474 770 1451 1419 769 2659 2475 770 1451 1419 763 2658 2474 726 2147 2036 774 2660 2476 727 311 315 775 326 329 727 311 315 774 2660 2476 767 1446 1415 778 3079 2813 721 1440 1409 722 2651 2466 721 1440 1409 778 3079 2813 707 3080 2040 706 3081 2460 783 335 338 782 3082 2477 783 335 338 706 3081 2460 710 305 309 786 2662 2478 711 304 308 787 337 340 711 304 308 786 2662 2478 715 2154 2041 714 2649 2464 791 338 341 790 2663 2479 791 338 341 714 2649 2464 802 347 350 801 3083 2814 804 3084 1436 803 3085 2815 804 3084 1436 801 3083 2814 822 3086 2816 821 3087 2817 794 1462 1430 805 3088 2818 794 1462 1430 821 3087 2817 831 3089 2819 830 3090 2820 806 3091 2821 793 1464 1432 806 3091 2821 830 3090 2820 828 3092 2822 829 3093 2823 811 343 346 810 345 348 811 343 346 829 3093 2823 841 2171 2057 840 2159 2046 843 2681 2494 842 2160 2047 843 2681 2494 840 2159 2046 850 358 361 846 357 360 861 2163 2050 860 2680 2493 861 2163 2050 846 357 360 868 363 366 850 358 361 871 2164 2051 861 2163 2050 871 2164 2051 850 358 361 842 2160 2047 848 1475 1442 875 2682 2495 876 2165 2052 875 2682 2495 848 1475 1442 885 3094 2824 887 3095 2825 884 2167 2054 886 373 376 884 2167 2054 887 3095 2825 900 1485 1452 911 1486 1453 901 2168 2055 910 379 382 901 2168 2055 911 1486 1453 917 2685 2498 890 2179 2064 918 381 384 895 400 402 918 381 384 890 2179 2064 874 1509 1470 923 1510 1468 843 2681 2494 924 2687 2826 843 2681 2494 923 1510 1468 885 3096 2824 926 386 2827 887 3097 2825 925 2172 2828 887 3097 2825 926 386 2827 933 399 401 934 394 396 908 1483 1450 914 1484 1451 908 1483 1450 934 394 396 901 2168 2055 937 2690 2829 900 1485 1452 938 2691 2830 900 1485 1452 937 2690 2829 865 368 371 940 3098 2831 864 3099 2832 939 3100 2833 864 3099 2832 940 3098 2831 921 1490 1457 903 3101 1455 935 1499 2503 946 3102 2065 935 1499 2503 903 3103 1455 953 2182 1812 954 410 410 950 2185 1811 949 417 417 950 2185 1811 954 410 410 956 2184 2067 951 1526 1476 979 413 413 978 2698 1057 979 413 413 951 1526 1476 966 425 425 986 424 424 971 3104 1054 987 551 2089 971 3104 1054 986 424 424 996 1525 1072 998 3105 1059 995 2699 1058 1000 2700 1060 995 2699 1058 998 3105 1059 1006 3106 1817 958 2183 2066 1007 2188 2068 980 412 412 1007 2188 2068 958 2183 2066 1011 3107 1061 1016 431 431 1012 2701 1062 1017 429 429 1012 2701 1062 1016 431 431 963 420 420 1029 1524 1475 968 1512 1471 1028 454 453 968 1512 1471 1029 1524 1475 1015 3108 2701 1020 3109 2702 1035 2196 2071 1036 458 457 1035 2196 2071 1020 3109 2702 951 1526 1476 956 2184 2067 1054 1528 1477 1053 3110 2703 1054 1528 1477 956 2184 2067 1062 3111 2704 1011 3107 1061 1060 3112 1070 998 3105 1059 1060 3112 1070 1011 3107 1061 1048 2193 1816 1047 2705 1068 1070 2195 2070 1068 2708 1074 1070 2195 2070 1047 2705 1068 1025 2702 1813 1026 1532 1479 1078 2199 2073 1079 1533 1480 1078 2199 2073 1026 1532 1479 1085 2201 1078 1032 434 434 1087 2204 2076 1034 2704 1815 1087 2204 2076 1032 434 434 1094 3113 2705 1093 2197 2072 1079 1533 1480 1078 2199 2073 1079 1533 1480 1093 2197 2072 1084 1531 1079 1099 2203 2075 1079 1533 1480 1094 3113 2705 1079 1533 1480 1099 2203 2075 1100 2202 2074 1085 2201 1078 1102 2205 2077 1087 2204 2076 1102 2205 2077 1085 2201 1078 1105 2714 1086 1090 455 454 1106 2206 2078 1091 1535 1080 1106 2206 2078 1090 455 454 1116 1582 1505 1122 482 480 1115 2716 1087 1121 484 482 1115 2716 1087 1122 482 480 1140 3114 1096 1123 1543 1487 1139 2717 1090 1118 474 472 1139 2717 1090 1123 1543 1487 1151 1546 1490 1152 1587 1511 1110 2715 1088 1109 1588 1512 1110 2715 1088 1152 1587 1511 1164 2216 2082 1163 485 483 1124 3115 1100 1125 2207 2079 1124 3115 1100 1163 485 483 1146 543 540 1169 3116 2706 1127 2209 1091 1168 2721 1823 1127 2209 1091 1169 3116 2706 1176 2729 1098 1177 2722 1099 1181 3117 2707 1182 3118 2708 1181 3117 2707 1177 2722 1099 1192 495 493 1157 494 492 1191 2221 2084 1150 1547 1491 1191 2221 2084 1157 494 492 1183 2215 2081 1201 498 496 1182 3118 2708 1200 500 498 1182 3118 2708 1201 498 496 1133 2718 2709 1216 2226 2086 1134 2719 2710 1218 2225 2085 1134 2719 2710 1216 2226 2086 1181 3117 2707 1199 2217 2083 1224 2227 2087 1225 1580 1503 1224 2227 2087 1199 2217 2083 1227 3119 1160 1232 2737 1834 1204 2218 1159 1229 507 504 1204 2218 1159 1232 2737 1834 1243 523 520 1241 524 521 1190 2724 1825 1188 2723 1101 1190 2724 1825 1241 524 521 1196 2726 1105 1249 530 527 1198 2220 1827 1250 531 528 1198 2220 1827 1249 530 527 1217 505 503 1257 3120 2711 1216 2226 2086 1256 522 519 1216 2226 2086 1257 3120 2711 1221 503 501 1261 527 524 1217 505 503 1257 3120 2711 1217 505 503 1261 527 524 1263 2735 1832 1223 2728 1828 1264 528 525 1224 2227 2087 1264 528 525 1223 2728 1828 1232 2737 1834 1227 3119 1160 1267 2736 1833 1268 3121 1162 1267 2736 1833 1227 3119 1160 1281 1583 1506 1280 2228 2712 983 1518 1473 984 2697 1808 983 1518 1473 1280 2228 2712 1002 2187 1126 1014 2190 2069 1284 2744 1127 1286 2230 2713 1284 2744 1127 1014 2190 2069 1277 2740 2714 1275 3122 2715 1131 1541 1485 1137 1542 1486 1131 1541 1485 1275 3122 2715 1278 2229 2093 1145 1544 1488 1279 2741 2716 1169 3116 2706 1279 2741 2716 1145 1544 1488 1282 536 533 948 419 419 1271 1581 2088 955 411 411 1271 1581 2088 948 419 419 1296 552 551 1297 1591 1143 1273 1590 1140 1149 2720 1139 1273 1590 1140 1297 1591 1143 1275 3122 2717 1299 555 555 1137 1542 2718 1300 1592 1149 1137 1542 2718 1299 555 555 1302 556 556 1305 557 557 1303 1593 1147 1306 1594 1150 1303 1593 1147 1305 557 557 1308 559 559 1311 562 562 1309 1595 1152 1312 1597 1154 1309 1595 1152 1311 562 562 1294 2747 2719 1236 1566 1500 1313 2748 2720 1203 3123 515 1313 2748 2720 1236 1566 1500 1108 3124 2721 1314 568 568 1067 3125 2722 1044 2236 2098 1067 3126 2722 1314 568 568 1322 3127 2723 1321 576 2725 1324 3128 2724 1323 1602 2726 1324 3128 2724 1321 576 2725 1341 1605 1858 1342 1210 1859 1333 578 578 1334 580 580 1333 578 578 1342 1210 1859 1339 1606 2727 1341 1605 1858 1349 581 2728 1351 1607 1167 1349 581 2728 1341 1605 1858 1349 581 2728 1355 583 2729 1339 1606 2727 1360 1608 2730 1339 1606 2727 1355 583 2729 1363 577 589 1364 579 2103 1365 589 1863 1366 1216 1865 1365 589 1863 1364 579 2103 1375 590 1175 1386 592 2731 1376 1603 1176 1385 1604 1180 1376 1603 1176 1386 592 2731 1390 3129 2834 1389 3130 2512 1391 593 594 1392 594 595 1391 593 594 1389 3130 2512 1402 1610 1529 1404 3131 2513 1401 1612 1531 1403 3132 2515 1401 1612 1531 1404 3131 2513 1416 3133 2517 1415 601 602 1414 3134 2835 1413 603 604 1414 3134 2835 1415 601 602 1423 3135 2836 1424 3136 2837 1422 2249 2110 1421 2250 2111 1422 2249 2110 1424 3136 2837 1431 3137 1538 1429 3138 2838 1436 3139 2117 1435 3140 2116 1436 3139 2117 1429 3138 2838 1446 3141 2839 1448 3142 2118 1438 1626 1541 1444 1624 1539 1438 1626 1541 1448 3142 2118 1453 608 2840 1456 609 2841 1457 609 619 1458 610 618 1457 609 619 1456 609 2841 1457 611 619 1466 612 622 1453 612 2840 1465 613 2842 1453 612 2840 1466 612 622 1479 623 625 1478 624 626 1480 3143 2527 1477 3144 2529 1480 3143 2527 1478 624 626 1497 1658 2130 1485 1659 2843 1500 1659 2129 1486 1660 2844 1500 1659 2129 1485 1659 2843 1502 1642 1560 1489 1641 1558 1504 1643 1561 1491 1644 1562 1504 1643 1561 1489 1641 1558 1496 1665 2845 1507 1666 2846 1495 1666 2135 1508 1667 638 1495 1666 2135 1507 1666 2846 1523 1652 1569 1522 1651 1568 1524 3145 2535 1521 3146 2533 1524 3145 2535 1522 1651 1568 1525 1653 1570 1526 1654 1571 1527 1655 1572 1528 1656 1573 1527 1655 1572 1526 1654 1571 1518 640 644 1520 3147 2847 1517 642 646 1519 3148 2539 1517 642 646 1520 3147 2847 1535 645 649 1537 1662 1580 1547 643 647 1550 1661 1579 1547 643 647 1537 1662 1580 1552 1663 1581 1539 1664 1582 1554 1645 2144 1541 3149 2543 1554 1645 2144 1539 1664 1582 1557 3150 2147 1560 1669 1587 1565 3151 662 1566 1668 661 1565 3151 662 1560 1669 1587 1563 3152 2848 1572 3153 2150 1564 3153 2849 1571 3154 2148 1564 3153 2849 1572 3153 2150 1611 676 685 1612 677 686 1626 665 672 1627 2306 2152 1626 665 672 1612 677 686 1630 2786 2546 1637 2791 2850 1629 710 719 1638 711 720 1629 710 719 1637 2791 2850 1658 2308 2154 1655 2806 2562 1657 2309 2155 1656 3155 2851 1657 2309 2155 1655 2806 2562 1633 2789 2549 1656 3156 2851 1634 2324 2174 1655 2806 2562 1634 2324 2174 1656 3156 2851 1663 1687 1606 1609 660 667 1661 1688 1607 1608 662 669 1661 1688 1607 1609 660 667 1672 1694 1614 1662 1695 1615 1620 658 665 1607 656 663 1620 658 665 1662 1695 1615 1604 690 2852 1683 755 2853 1605 3157 2854 1681 3158 2855 1605 3157 2854 1683 755 2853 1688 2800 2556 1589 701 710 1689 2317 2856 1588 2318 2857 1689 2317 2856 1589 701 710 1594 3159 1610 1693 3160 2167 1694 721 730 1694 721 730 1584 3161 2858 1594 3159 1610 1698 696 705 1700 697 706 1697 707 716 1699 709 718 1697 707 716 1700 697 706 1589 701 710 1705 699 708 1588 2318 2857 1703 2802 2859 1588 2318 2857 1705 699 708 1667 1681 1598 1666 675 684 1710 1700 1620 1708 1689 1608 1710 1700 1620 1666 675 684 1718 3162 2860 1716 3163 2561 1717 3164 2861 1715 3165 1611 1717 3164 2861 1716 3163 2561 1613 1680 1597 1723 3166 2862 1628 1697 1617 1724 712 721 1628 1697 1617 1723 3166 2862 1727 3167 2564 1658 2308 2154 1729 2327 2863 1660 1679 2156 1729 2327 2863 1658 2308 2154 1667 1681 1598 1731 724 733 1613 1680 1597 1723 3166 2862 1613 1680 1597 1731 724 733 1602 683 692 1735 718 727 1685 685 694 1739 2330 2180 1685 685 694 1735 718 727 1591 1682 1601 1740 2331 2181 1709 2332 2182 1743 2333 2183 1709 2332 2182 1740 2331 2181 1745 2810 2566 1719 706 715 1746 2334 2184 1720 708 717 1746 2334 2184 1719 706 715 1765 777 786 181 80 2864 1764 778 787 180 2059 2865 1764 778 787 181 80 2864 1749 1735 1653 1773 2813 2569 1750 1728 1646 1774 762 772 1750 1728 1646 1773 2813 2569 1747 1703 1623 1754 1736 1654 1772 1705 1625 1778 2814 2570 1772 1705 1625 1754 1736 1654 1790 3168 2866 1785 3169 2867 1789 3170 2868 1784 3171 2869 1789 3170 2868 1785 3169 2867 1579 3172 747 1799 2339 2189 1580 3173 2572 1795 2817 2573 1580 3174 2572 1799 2339 2189 1770 3175 2870 1801 3176 2871 1769 2340 2190 1800 2342 2192 1769 2340 2190 1801 3176 2871 1577 734 2872 1578 735 2574 1805 2343 2873 1804 2819 2575 1805 2343 2873 1578 735 2574 1583 765 2195 1573 764 1644 1809 757 767 1583 763 2195 1809 757 767 1810 3177 2196 1580 1721 1639 1734 2348 2199 1802 748 758 1814 2349 2200 1802 748 758 1734 2348 2199 1582 3178 2188 1792 739 749 1816 2826 2582 1818 2825 2581 1816 2826 2582 1792 739 749 1825 772 781 1824 773 782 1820 2350 2201 1819 2351 2202 1820 2350 2201 1824 773 782 1828 768 777 1827 769 778 1833 1733 1651 1834 2828 2584 1833 1733 1651 1827 769 778 1837 776 785 1836 1737 1655 1748 1702 1622 1747 1703 1623 1748 1702 1622 1836 1737 1655 1752 1707 1627 1753 1706 1626 1841 2830 2586 1842 780 789 1841 2830 2586 1753 1706 1626 1846 781 790 1845 3179 2874 1756 1712 1632 1757 1711 1631 1756 1712 1632 1845 3179 2874 1831 2356 2208 1862 784 793 1830 2832 2588 1861 2834 2590 1830 2832 2588 1862 784 793 1856 1747 1666 1866 2360 2213 1854 2835 2591 1865 2836 2592 1854 2835 2591 1866 2360 2213 1875 2358 2211 1874 2849 2875 1873 2357 2210 1872 2837 1664 1873 2357 2210 1874 2849 2875 1884 1748 1667 1883 796 805 1856 1747 1666 1866 2360 2213 1856 1747 1666 1883 796 805 1875 2358 2211 1876 2359 2212 1889 2362 2215 1887 798 807 1889 2362 2215 1876 2359 2212 1898 805 814 1897 803 812 1895 2840 2595 1894 822 2876 1895 2840 2595 1897 803 812 1906 3180 2877 1904 2842 2597 1905 2367 2220 1902 2366 2219 1905 2367 2220 1904 2842 2597 1907 2852 2878 1906 3180 2877 1913 1791 1718 1914 2875 2632 1913 1791 1718 1906 3180 2877 1907 2852 2878 1913 1791 1718 1921 3181 2879 1922 884 893 1921 3181 2879 1913 1791 1718 390 877 886 1933 878 887 393 1369 2224 1935 816 825 393 1369 2224 1933 878 887 1942 825 835 1941 826 836 1890 2371 2225 1888 3182 2880 1890 2371 2225 1941 826 836 1951 2372 2226 1950 3183 2231 1940 2373 2227 1939 2850 2606 1940 2373 2227 1950 3184 2231 1944 2853 2609 1952 827 837 1943 3185 2881 1959 829 839 1943 3185 2881 1952 827 837 1968 858 867 1969 1775 1699 1955 823 833 1954 824 834 1955 823 833 1969 1775 1699 1925 2369 2222 1978 837 2230 1926 2370 2223 1977 3186 2882 1926 2370 2223 1978 837 2230 1939 3187 2606 1982 842 852 1872 1746 2604 1886 840 850 1872 1746 2604 1982 842 852 1879 1745 1663 1996 2901 2659 1878 791 800 1994 2858 2613 1878 791 800 1996 2901 2659 2003 1828 1757 2001 2859 2614 1996 2901 2659 1994 2858 2613 1996 2901 2659 2001 2859 2614 2007 862 871 2000 863 872 2006 2860 2615 1999 843 2616 2006 2860 2615 2000 863 872 2016 3188 2883 1993 3189 1696 2017 3190 2884 2012 3191 1695 2017 3190 2884 1993 3189 1696 1964 830 840 2017 3190 2884 1965 1762 1683 2018 2385 2240 1965 1762 1683 2017 3190 2884 2024 2866 2620 484 2106 2885 1931 2847 2602 387 2107 2603 1931 2847 2602 484 2106 2885 2031 2867 2621 2030 1779 2886 2027 860 869 2026 861 870 2027 860 869 2030 1779 2886 2033 866 875 2037 2868 2623 2032 864 873 2036 1781 1705 2032 864 873 2037 2868 2623 1990 2861 2617 2043 1785 1711 2015 868 877 2039 869 878 2015 868 877 2043 1785 1711 2050 2870 2887 2049 1787 1714 2046 872 881 2045 874 883 2046 872 881 2049 1787 1714 1915 2368 2221 1916 810 819 2052 2873 2630 2053 2392 2251 2052 2873 2630 1916 810 819 2060 2395 2254 2059 3192 2888 1977 3186 2882 1926 2370 2223 1977 3186 2882 2059 3192 2888 2065 2874 2631 2052 2873 2630 2067 898 907 2068 1799 1726 2067 898 907 2052 2873 2630 2058 2871 2628 2059 3192 2888 2074 1794 1721 2075 2879 2636 2074 1794 1721 2059 3192 2888 2070 889 898 2071 887 896 2082 3193 2889 2083 2396 2255 2082 3193 2889 2071 887 896 2089 3194 2890 2077 891 900 2090 2398 2257 2078 892 901 2090 2398 2257 2077 891 900 2081 2877 2634 2082 3193 2889 2097 1802 1730 2098 2881 2638 2097 1802 1730 2082 3193 2889 2105 2884 2641 2104 1804 1732 2089 3194 2890 2088 2880 2637 2089 3194 2890 2104 1804 1732 2113 3195 2891 2112 915 924 2101 903 912 2100 902 911 2101 903 912 2112 915 924 2119 1811 1739 2107 904 913 2120 921 930 2094 906 915 2120 921 930 2107 904 913 2124 1805 1733 2128 1813 1741 2122 911 920 2127 1807 1735 2122 911 920 2128 1813 1741 2126 1809 1737 2131 1810 1738 2129 916 925 2130 918 927 2129 916 925 2131 1810 1738 2116 1803 1731 2140 2889 2646 2115 908 917 2141 2891 2648 2115 908 917 2140 2889 2646 2135 925 934 2143 926 935 2147 2892 2649 2148 2893 2650 2147 2892 2649 2143 926 935 2138 2887 2644 2155 3196 2892 2139 2888 2645 2154 2894 2651 2139 2888 2645 2155 3196 2892 2149 2402 2263 2150 929 938 2162 1820 1749 2163 2895 2652 2162 1820 1749 2150 929 938 2156 2403 2264 2164 1822 1751 2155 3196 2892 2169 940 950 2155 3196 2892 2164 1822 1751 2166 1819 1748 2177 3197 2893 2165 933 943 2176 3198 2894 2165 933 943 2177 3197 2893 2187 3199 2895 2183 2406 2267 2188 3200 2896 2184 1826 1755 2188 3200 2896 2183 2406 2267 2174 1821 1750 2191 2898 2656 2173 937 947 2192 2405 2266 2173 937 947 2191 2898 2656 2182 2896 2654 2194 2900 2658 2183 2406 2267 2195 2407 2268 2183 2406 2267 2194 2900 2658 1853 3201 2897 2200 2902 2660 1851 3202 2898 2199 2903 2661 1851 3202 2898 2200 2902 2660 306 788 797 701 2144 2663 1859 790 799 2207 2905 2665 1859 790 799 701 2144 2663 2214 1853 1780 2201 2408 2269 2215 1851 1778 2202 950 960 2215 1851 1778 2201 2408 2269 2209 951 961 2210 1829 1758 2208 2409 2270 2221 2415 2277 2208 2409 2270 2210 1829 1758 2240 3203 2899 2241 3204 2900 2228 1847 1774 2229 2909 2670 2228 1847 1774 2241 3204 2900 750 2148 2667 2248 2908 2669 753 1445 2274 2250 966 976 753 1445 2274 2248 2908 2669 2222 2412 2273 2258 969 979 719 309 2901 765 320 2902 719 309 2901 2258 969 979 2225 1835 1763 2226 3205 2275 2262 3206 2903 2263 3207 983 2262 3208 2903 2226 3209 2275 2229 2909 2670 2230 978 987 2266 2910 2671 2267 979 988 2266 2910 2671 2230 978 987 2221 2415 2277 2270 981 990 717 2152 2904 780 331 2905 717 2152 2904 2270 981 990 2213 2416 2278 2274 983 992 2212 2904 2662 2273 2913 2673 2212 2904 2662 2274 983 992 2277 2916 2674 2216 2411 2272 2278 989 998 2217 956 966 2278 989 998 2216 2411 2272 2220 2906 2666 716 2155 2664 2281 2917 2675 792 340 2906 2281 2917 2675 716 2155 2664 2290 2919 2677 2292 1861 1788 2297 2418 2279 2298 2419 2280 2297 2418 2279 2292 1861 1788 2308 995 1004 2309 994 1003 2313 2422 2283 2312 2423 2284 2313 2422 2283 2309 994 1003 2312 2423 2284 2311 2921 2679 2322 2425 2286 2321 2922 2680 2322 2425 2286 2311 2921 2679 2298 2419 2280 2326 2923 2681 2302 1859 1786 2327 1006 1015 2302 1859 1786 2326 2923 2681 2343 1009 1018 2336 2924 2682 2342 1862 1789 2334 1863 1790 2342 1862 1789 2336 2924 2682 2351 2927 2685 2352 1017 1026 2360 2928 2686 2362 1019 1028 2360 2928 2686 2352 1017 1026 2368 2929 2687 2369 1868 1795 2345 2930 2688 2349 1869 1796 2345 2930 2688 2369 1868 1795 2289 1855 1782 2376 2933 2907 2291 2918 2676 2375 2934 2908 2291 2918 2676 2376 2933 2907 2377 2431 2909 2378 1023 2910 2333 3210 1038 2330 2433 1037 2333 3211 1038 2378 1023 2910 2364 1015 1024 2356 1016 1025 2384 2936 2693 2382 1872 1799 2384 2936 2693 2356 1016 1025 2390 3212 2911 2389 3213 2912 2383 2935 2692 2358 2427 2288 2383 2935 2692 2389 3214 2912 2393 1037 2913 2392 1038 1805 2345 2930 2688 2340 1866 1793 2345 2930 2688 2392 1038 1805 2363 2440 1794 2353 3215 2290 2395 2439 2295 2396 3216 2700 2395 2439 2295 2353 3217 2290 2404 2945 410 2410 1888 408 2403 1892 1812 2409 1067 1066 2403 1892 1812 2410 1888 408 2408 2952 2066 2430 2953 412 2406 2946 2067 2429 2947 413 2406 2946 2067 2430 2953 412 2400 1891 1811 2440 3218 433 2399 2944 417 2441 3219 416 2399 2944 417 2440 3218 433 2444 1053 1056 2443 1166 1124 2451 1889 1809 2452 1168 1126 2451 1889 1809 2443 1166 1124 2457 2951 2068 2458 2446 427 2430 2953 412 2412 2447 414 2430 2953 412 2458 2446 427 2463 1890 1810 2464 2993 2069 2468 1064 1064 2469 1062 1063 2468 1064 1064 2464 2993 2069 2440 3218 433 2400 1891 1811 2481 1086 432 2476 1893 1479 2481 1086 432 2400 1891 1811 2489 1072 444 2471 3220 430 2490 1070 438 2472 2450 428 2490 1070 438 2471 3220 430 2423 3221 439 2417 1901 1472 2506 1095 441 2507 1900 460 2506 1095 441 2417 1901 1472 2513 3222 465 2466 2954 431 2514 1103 443 2471 3220 430 2514 1103 443 2466 2954 431 2499 1946 1508 2521 1173 1131 2498 1899 1816 2520 2962 2070 2498 1899 1816 2521 1173 1131 2479 1904 1475 2478 2955 453 2532 1906 1481 2531 1910 452 2532 1906 1481 2478 2955 453 2538 2457 1483 2539 1913 455 2485 2957 2071 2486 2959 457 2485 2957 2071 2539 1913 455 2543 2966 2072 2528 2963 2073 2545 1097 1085 2530 1911 1820 2545 1097 1085 2528 2963 2073 2535 1087 1078 2534 1088 1079 2550 2968 2074 2549 2967 2075 2550 2968 2074 2534 1088 1079 2537 2964 2076 2552 2969 2077 2538 2457 1483 2553 2458 463 2538 2457 1483 2552 2969 2077 2556 2970 2078 2557 2461 467 2541 1089 1080 2542 1090 1081 2541 1089 1080 2557 2461 467 2575 2974 2079 2580 2463 469 2576 3223 547 2581 2462 1485 2576 3223 547 2580 2463 469 2591 1921 1492 2577 1114 1091 2592 1186 2080 2582 1115 1092 2592 1186 2080 2577 1114 1091 2563 1917 474 2588 1111 477 2604 1919 1822 2605 1118 479 2604 1919 1822 2588 1111 477 2613 2973 483 2575 2974 2079 2615 1162 481 2576 3223 547 2615 1162 481 2575 2974 2079 2608 1117 1093 2621 1124 1097 2610 1119 484 2622 1126 486 2610 1119 484 2621 1124 1097 2629 3224 542 2628 1924 1824 2634 2489 544 2633 2979 2081 2634 2489 544 2628 1924 1824 2637 1931 1495 2643 2483 511 2570 2474 1496 2614 2972 2082 2570 2474 1496 2643 2483 511 2650 2980 498 2649 2983 2083 2657 1141 499 2655 3225 505 2657 1141 499 2649 2983 2083 2670 1139 1109 2608 1117 1093 2669 1935 1501 2606 1116 478 2669 1935 1501 2608 1117 1093 2654 1201 1159 2660 2478 1499 2679 2984 504 2678 1143 506 2679 2984 504 2660 2478 1499 2647 1925 1826 2684 3226 508 2648 1926 1827 2656 3227 510 2648 1926 1827 2684 3226 508 2642 1149 493 2695 1148 1113 2641 2978 2084 2694 1154 1117 2641 2978 2084 2695 1148 1113 2701 1161 1122 2656 3227 510 2702 3228 517 2683 2482 509 2702 3228 517 2656 3227 510 2708 1194 518 2706 2989 519 2668 1197 2085 2666 2981 2086 2668 1197 2085 2706 2989 519 2711 2990 524 2705 1934 522 2671 2477 501 2665 1927 1497 2671 2477 501 2705 1934 522 2674 2982 2087 2714 2991 525 2675 2485 1503 2715 1158 526 2675 2485 1503 2714 2991 525 2721 2486 2088 2719 1165 531 2405 2998 411 2411 1887 409 2405 2998 411 2719 1165 531 2437 2949 2089 2422 2491 2090 2436 1943 424 2722 1945 1838 2436 1943 424 2422 2491 2090 2469 1062 1063 2737 3229 2091 2474 1063 535 2738 2488 534 2474 1063 535 2737 3229 2091 2730 2992 2092 2728 2996 2093 2594 2468 473 2595 2467 1488 2594 2468 473 2728 2996 2093 2624 2473 1494 2629 3224 542 2736 2994 2094 2737 3229 543 2736 2994 2094 2629 3224 542 2732 2487 1510 2559 1914 1512 2721 2486 1504 2566 1915 1505 2721 2486 1504 2559 1914 1512 2437 2949 550 2421 3230 2095 2745 1948 549 2432 1949 1842 2745 1948 549 2421 3230 2095 2748 1953 553 2751 1955 554 2425 1881 1844 2480 1957 1847 2425 1881 1844 2751 1955 554 2754 1956 558 2757 1958 560 2533 1909 1848 2548 1092 1849 2533 1909 1848 2757 1958 560 2438 2490 563 2424 3231 2096 2760 1959 564 2508 1093 1850 2760 1959 564 2424 3231 2096 2501 3232 566 2764 3001 568 2500 1079 2097 2494 1077 2098 2500 1079 2097 2764 3001 568 2743 3233 570 2527 3234 2099 2766 1199 569 2765 2498 567 2766 1199 569 2527 3234 2099 2602 1968 1511 2735 1966 1509 2777 1969 573 2770 1967 575 2777 1969 573 2735 1966 1509 2801 1209 1167 2799 1974 581 2802 1210 1168 2800 1221 582 2802 1210 1168 2799 1974 581 2787 1975 1516 2803 1976 2100 2788 1603 1517 2804 1604 1861 2788 1603 1517 2803 1976 2100 2819 1217 1177 2820 1972 1522 2817 1212 2101 2818 582 2102 2817 1212 2101 2820 1972 1522 2811 1218 1179 2821 1211 587 2813 1973 589 2823 1214 585 2813 1973 589 2821 1211 587 2820 1972 1522 2812 588 1523 2818 582 2102 2837 584 2104 2818 582 2102 2812 588 1523 2812 588 1523 2814 586 2103 2837 584 2104 2832 1604 1866 2837 584 2104 2814 586 2103 2814 586 2103 2816 1603 1865 2832 1604 1866 2849 3235 2914 2848 3236 2298 2852 1981 1871 2851 1982 1872 2852 1981 1871 2848 3236 2298 2857 1986 1192 2858 1985 1875 2856 3237 2733 2855 2007 2915 2856 3237 2733 2858 1985 1875 2860 1987 1876 2859 1988 1194 2862 1989 1877 2861 1990 1198 2862 1989 1877 2859 1988 1194 2876 1235 1197 2878 3238 2311 2863 1237 1199 2865 3239 2916 2863 1237 1199 2878 3238 2311 2882 1240 1202 2884 1998 1883 2892 1238 1200 2895 1997 1882 2892 1238 1200 2884 1998 1883 2897 1999 1884 2886 2000 1885 2899 2001 1886 2888 2002 1887 2899 2001 1886 2886 2000 1885 2900 1249 1211 2899 1247 1209 2901 1249 2917 2900 1249 1211 2901 1249 2917 2902 1249 2737 2906 1985 1891 2905 2005 1890 2908 2008 1894 2907 2009 1218 2908 2008 1894 2905 2005 1890 2910 2010 1895 2909 2011 1219 2912 3240 2918 2911 3241 1897 2912 3240 2918 2909 2011 1219 2958 3242 1224 2974 3243 1226 2947 3244 2328 2972 3245 2329 2947 3244 2328 2974 3243 1226 2959 2018 1901 2961 2019 1902 2950 2017 1900 2952 2021 1904 2950 2017 1900 2961 2019 1902 2963 2020 1903 2965 3246 2919 2954 2022 1905 2956 3247 2920 2954 2022 1905 2965 3246 2919 2927 2025 1236 2928 2024 1910 2968 3248 2744 2967 3249 2921 2968 3248 2744 2928 2024 1910 2930 2026 1911 2929 2027 1238 2932 2028 1912 2931 2029 1242 2932 2028 1912 2929 2027 1238 2944 1277 1241 2946 3250 2346 2933 1279 1243 2935 3251 2922 2933 1279 1243 2946 3250 2346 42 3029 2753 57 3252 2923 43 3027 2347 58 3253 2348 43 3027 2347 57 3254 2923 49 2558 2350 48 1304 1270 60 25 25 61 1305 1271 60 25 25 48 1304 1270 51 1280 1244 50 2557 2349 70 1285 1249 71 24 24 70 1285 1249 50 2557 2349 64 2035 1917 65 2036 1918 79 66 68 78 67 69 79 66 68 65 2036 1918 68 1281 1246 75 2561 2354 67 17 17 76 2560 2352 67 17 17 75 2561 2354 96 3255 2924 95 3256 2925 42 3022 2748 41 3021 2747 42 3022 2748 95 3256 2925 106 3032 2755 24 3033 2756 105 103 105 25 40 41 105 103 105 24 3033 2756 27 1288 1253 115 2041 1922 28 33 34 114 2562 2357 28 33 34 115 2041 1922 24 3033 2756 23 1292 1257 118 2564 2359 119 3034 2757 118 2564 2359 23 1292 1257 23 1292 1257 45 1290 1255 119 3034 2757 123 2571 2367 119 3034 2757 45 1290 1255 15 1293 1258 14 1294 1259 130 51 2758 128 1297 1263 130 51 2758 14 1294 1259 93 2048 1929 135 2049 1930 92 1286 1250 133 52 54 92 1286 1250 135 2049 1930 143 3035 63 142 2567 1932 140 56 2363 140 56 2363 141 1299 2760 143 3035 63 33 70 72 59 62 64 149 72 74 148 64 66 149 72 74 59 62 64 155 3038 2761 81 3257 2926 154 3039 1936 80 3258 2751 154 3259 1936 81 3257 2926 152 65 67 62 63 65 155 3038 2761 81 3257 2926 155 3038 2761 62 63 65 165 2569 2365 163 3040 2762 22 3260 2927 109 3261 2928 22 3260 2927 163 3040 2762 121 2043 1926 11 2046 1927 168 2570 2366 169 3041 2763 168 2570 2366 11 2046 1927 11 2046 1927 144 2050 1931 169 3041 2763 172 2058 1940 169 3041 2763 144 2050 1931 198 2572 2369 176 1701 2368 199 114 117 177 115 118 199 114 117 176 1701 2368 209 2573 2371 44 3047 2929 210 90 92 1 88 90 210 90 92 44 3047 2929 3 1331 2930 4 1330 2931 215 2574 2372 213 1319 1286 215 2574 2372 4 1330 2931 219 2575 2373 218 2576 2374 208 2066 1948 207 1329 1297 208 2066 1948 218 2576 2374 232 2579 2376 231 1324 1291 227 2062 1944 226 3043 2766 227 2062 1944 231 1324 1291 217 1322 1289 237 2580 2377 191 1323 1290 235 1346 1315 191 1323 1290 237 2580 2377 102 34 35 242 2583 2379 103 1287 1252 243 2068 1952 103 1287 1252 242 2583 2379 106 3032 2755 246 2584 2381 107 1291 1256 247 3046 2768 107 1291 1256 246 2584 2381 107 1291 1256 247 3046 2768 111 1289 1254 252 3048 2770 111 1289 1254 247 3046 2768 254 2587 2385 163 3040 2762 252 3048 2770 111 1289 1254 252 3048 2770 163 3040 2762 260 2588 2386 261 3049 2771 256 2589 2387 255 2075 1957 256 3262 2387 261 3049 2771 274 3051 2773 272 2590 2388 273 3263 2932 271 1731 2389 273 3263 2932 272 2590 2388 277 2079 1961 262 2592 2392 278 119 122 261 3049 2771 278 119 122 262 2592 2392 198 2572 2369 199 114 117 282 1339 1308 283 1338 1307 282 1339 1308 199 114 117 287 1344 1313 203 82 84 280 121 124 196 83 85 280 121 124 203 82 84 234 1328 1295 204 1315 1281 291 1347 1316 288 2593 2393 291 1347 1316 204 1315 1281 312 2595 2395 311 1348 1317 296 2141 2029 295 3264 2933 296 2141 2029 311 1348 1317 319 3265 2934 320 3053 2777 307 1351 1320 305 1352 1321 307 1351 1320 320 3053 2777 305 1352 1321 320 3053 2777 327 192 197 330 191 196 327 192 197 320 3053 2777 321 195 200 337 2093 2396 303 144 147 335 145 148 303 144 147 337 2093 2396 346 152 155 342 151 154 345 1374 1969 341 149 152 345 1374 1969 342 151 154 353 1363 1333 208 1362 1332 350 1359 1329 240 1360 1330 350 1359 1329 208 1362 1332 289 3056 2781 194 2600 2401 362 3058 2783 361 2599 2400 362 3058 2783 194 2600 2401 362 3058 2783 361 2599 2400 371 2624 2432 370 1406 1375 371 2624 2432 361 2599 2400 386 2613 2418 332 1387 1356 385 2603 2405 331 2604 2407 385 2603 2405 332 1387 1356 397 1371 1341 380 1366 1336 398 1383 1352 378 1365 1335 398 1383 1352 380 1366 1336 354 157 175 351 2606 2411 403 172 177 407 2607 2412 403 172 177 351 2606 2411 406 2605 2410 405 1373 1343 417 3060 2786 416 2608 2413 417 3060 2786 405 1373 1343 418 2609 2414 417 3060 2786 425 205 209 426 206 210 425 205 209 417 3060 2786 433 183 2935 376 166 2936 434 3063 2789 409 3062 2788 434 3063 2789 376 166 2936 435 3061 2787 440 2610 2937 434 3063 2789 439 1384 2938 434 3063 2789 440 2610 2937 444 1385 1354 443 187 192 447 1388 1357 446 2611 2416 447 1388 1357 443 187 192 303 144 147 315 146 149 462 193 198 461 2099 1983 462 193 198 315 146 149 446 2611 2416 445 2612 2417 466 2101 1985 465 2614 2420 466 2101 1985 445 2612 2417 451 3066 205 450 2110 1996 472 2615 206 473 1404 1373 472 2615 206 450 2110 1996 481 2619 2425 482 2620 2426 449 2617 203 468 3266 201 449 3267 203 482 2620 2426 429 180 185 421 176 181 482 2620 2426 483 3068 2791 482 2620 2426 421 176 181 490 1397 1364 485 208 212 489 1399 1366 484 2106 1991 489 1399 1366 485 208 212 493 213 217 492 2108 1993 498 1401 1368 497 214 1370 498 1401 1368 492 2108 1993 501 217 221 500 2109 1995 506 1402 1371 505 218 222 506 1402 1371 500 2109 1995 473 1404 1373 450 2110 1996 513 223 227 508 2112 1998 513 223 227 450 2110 1996 516 2113 2001 392 169 172 517 224 1999 441 3064 2790 517 224 1999 392 169 172 373 3268 2939 372 2626 2434 525 2876 2800 524 2627 2435 525 2876 2800 372 2626 2434 365 2087 1970 533 2628 2436 366 162 165 534 2114 2002 366 162 165 533 2628 2436 524 2627 2435 523 2625 2433 542 1411 1380 541 240 244 542 1411 1380 523 2625 2433 532 2629 2437 550 242 246 533 2628 2436 535 1414 1383 533 2628 2436 550 242 246 559 2630 2439 560 3072 2801 545 2117 2005 546 236 240 545 2117 2005 560 3072 2801 565 1413 1382 567 257 261 566 2632 2442 568 256 260 566 2632 2442 567 257 261 577 1417 1386 559 2630 2439 576 1418 1387 558 1797 2440 576 1418 1387 559 2630 2439 584 2633 2444 585 263 267 570 2119 2007 571 247 251 570 2119 2007 585 263 267 580 250 254 579 2120 2008 594 3074 2803 593 2127 2015 594 3074 2803 579 2120 2008 605 260 264 606 2886 2805 588 255 259 589 254 258 588 255 259 606 2886 2805 613 2635 2448 612 264 268 584 2633 2444 585 263 267 584 2633 2444 612 264 268 596 2122 2010 595 3073 2802 618 275 279 619 276 280 618 275 279 595 3073 2802 609 2125 2013 626 272 276 601 2123 2011 627 1427 1396 601 2123 2011 626 272 276 636 2637 2450 637 2639 2453 623 270 274 622 269 273 623 270 274 637 2639 2453 630 2129 2017 629 2638 2452 645 1431 1400 644 285 289 645 1431 1400 629 2638 2452 638 3075 2807 637 2639 2453 654 286 290 653 287 291 654 286 290 637 2639 2453 647 2132 2020 661 2137 2025 648 280 284 662 2641 2455 648 280 284 661 2137 2025 643 284 288 650 1430 1399 657 283 287 670 1433 1402 657 283 287 650 1430 1399 683 2138 2026 678 2136 2024 682 2642 2456 677 3076 2809 682 2642 2456 678 2136 2024 686 2899 2811 687 2140 2028 664 3269 2940 665 2135 2023 664 3269 2940 687 2140 2028 675 293 297 670 1433 1402 690 5 5 669 3 3 690 5 5 670 1433 1402 456 2096 1980 463 2098 1982 698 2648 2463 697 1437 1406 698 2648 2463 463 2098 1982 692 2142 2030 691 2645 2461 707 3270 2040 706 3081 2460 707 3080 2040 691 2645 2461 700 2145 2034 699 2647 2462 715 2154 2041 714 2649 2464 715 2154 2041 699 2647 2462 738 332 335 737 334 337 724 1447 1416 723 2149 2038 724 2150 1416 737 334 337 731 2655 2468 732 3271 2941 745 339 342 746 341 344 745 339 342 732 3271 2941 760 2657 2470 761 327 330 757 1443 1412 758 3272 2942 757 1443 1412 761 327 330 768 1844 2473 732 3271 2941 769 2659 2475 731 2655 2468 769 2659 2475 732 3271 2941 773 1450 1418 755 3273 319 774 2660 2476 758 3272 2942 774 2660 2476 755 3274 319 778 3079 2813 771 325 328 722 2651 2466 723 2652 2038 722 2651 2466 771 325 328 735 1439 1408 736 2653 2465 781 1455 1423 782 2661 2477 781 1455 1423 736 2653 2465 785 1458 1426 739 3078 2812 786 2662 2478 740 2146 2035 786 2662 2478 739 3078 2812 789 1459 1427 743 1442 1411 790 2663 2479 744 2654 2467 790 2663 2479 743 1442 1411 798 346 349 800 2666 2482 802 347 350 801 3083 2814 802 347 350 800 2666 2482 820 356 359 819 354 357 807 2156 2043 808 352 355 807 2156 2043 819 354 357 796 1463 1431 793 1464 1432 829 2672 2488 830 3090 2820 829 2672 2488 793 1464 1432 827 3275 2943 828 3276 2822 813 1465 1433 811 343 346 813 1465 1433 828 3092 2822 840 2159 2046 841 2171 2057 838 2678 2491 839 384 387 838 2678 2491 841 2171 2057 846 357 360 838 2678 2491 860 2680 2493 836 2679 2492 860 2680 2493 838 2678 2491 864 3099 2832 854 361 364 871 2164 2051 868 363 366 871 2164 2051 854 361 364 875 2682 2495 876 2165 2052 844 3277 2944 849 2692 2507 844 3277 2944 876 2165 2052 883 3278 2060 885 3094 2824 882 1494 1460 884 2167 2054 882 1494 1460 885 3094 2824 905 1496 1462 892 1481 1448 906 2175 2061 896 1482 1449 906 2175 2061 892 1481 1448 889 2686 2499 916 2683 2496 888 374 377 917 2685 2498 888 374 377 916 2683 2496 898 378 381 919 382 385 912 380 383 920 1489 1456 912 380 383 919 382 385 887 3097 2825 925 2172 2828 889 2686 2499 924 2687 2501 889 2686 2499 925 2172 2828 932 395 397 907 393 395 930 1495 1461 904 3279 2945 930 1495 1461 907 393 395 902 2170 2056 936 2688 2502 901 2168 2055 937 2690 2829 901 2168 2055 936 3280 2502 864 3099 2832 939 3100 2833 854 361 364 938 2691 2505 854 361 364 939 3281 2833 944 403 2508 853 2693 2509 945 404 406 870 405 372 945 404 406 853 2693 2509 844 3277 2944 942 2695 2946 845 1508 1469 947 3282 1467 845 1508 1469 942 3283 2946 970 2739 1051 969 1511 1050 977 2746 2947 976 2696 1807 977 2746 2947 969 1511 1050 962 414 414 957 415 415 985 1521 1474 984 2697 1808 985 1521 1474 957 415 415 990 433 433 991 416 416 999 3284 2948 990 433 433 999 3284 2948 997 435 435 1007 2188 2068 981 1514 1052 1006 3106 1817 967 1515 1472 1006 3106 1817 981 1514 1052 1001 2186 1809 1013 2189 1810 1002 2187 1126 1014 2190 2069 1002 2187 1126 1013 2189 1810 1025 2702 1813 1027 3285 1065 953 2182 1812 959 1520 1066 953 2182 1812 1027 3285 1065 1010 2703 1814 1015 3108 2701 1034 2704 1815 1035 2196 2071 1034 2704 1815 1015 3108 2701 1042 540 537 1041 437 437 1049 1586 1508 1048 2193 1816 1049 1586 1508 1041 437 437 958 2183 2066 1006 3286 1817 1055 3287 1084 1061 462 461 1055 3287 1084 1006 2706 1817 1070 2195 2070 1068 2708 1074 1051 566 2949 1050 2235 1073 1051 566 2949 1068 2708 1074 1076 2749 1852 1043 3288 1819 1075 2709 1818 1073 2710 1082 1075 2709 1818 1043 3288 1819 1080 2200 1820 1086 1537 1482 1027 3285 1065 1033 1523 1067 1027 3285 1065 1086 1537 1482 1054 1528 1477 1053 3110 2703 1094 3113 2705 1093 2197 2072 1094 3113 2705 1053 3110 2703 1099 2203 2075 1059 1527 1071 1094 3113 2705 1054 1528 1477 1094 3113 2705 1059 1527 1071 1100 2202 2074 1102 2205 2077 1060 3112 1070 1062 3111 2704 1060 3112 1070 1102 2205 2077 1106 2206 2078 1066 1529 1478 1105 2714 1086 1065 445 445 1105 2714 1086 1066 1529 1478 1115 2716 1087 1121 484 482 1114 491 489 1120 1556 1496 1114 491 489 1121 484 482 1119 1561 1094 1140 3114 1096 1117 2727 1089 1139 2717 1090 1117 2727 1089 1140 3114 1096 1111 490 488 1150 1547 1491 1110 2715 1088 1151 1546 1490 1110 2715 1088 1150 1547 1491 1154 2211 1822 1153 2743 1132 1161 487 485 1162 1553 1493 1161 487 485 1153 2743 1132 1167 1551 1095 1168 2721 1823 1140 3114 1096 1123 1543 1487 1140 3114 1096 1168 2721 1823 1173 489 487 1174 1554 1494 1178 2214 1824 1179 545 542 1178 2214 1824 1174 1554 1494 1150 1547 1491 1111 490 488 1191 2221 2084 1186 492 490 1191 2221 2084 1111 490 488 1182 3118 2708 1200 500 498 1181 3117 2707 1199 2217 2083 1181 3117 2707 1200 500 498 1133 2718 2709 1128 506 502 1216 2226 2086 1217 505 503 1216 2226 2086 1128 506 502 1223 2728 1828 1176 2729 1098 1224 2227 2087 1181 3117 2707 1224 2227 2087 1176 2729 1098 1209 1560 1138 1231 2730 1829 1208 499 497 1230 1563 1110 1208 499 497 1231 2730 1829 1189 515 512 1188 2723 1101 1242 517 514 1241 524 521 1242 517 514 1188 2723 1101 1248 2734 1831 1249 530 527 1195 1558 1104 1196 2726 1105 1195 1558 1104 1249 530 527 1253 1571 1116 1238 2732 1111 1255 525 522 1240 526 523 1255 525 522 1238 2732 1111 1245 2222 1113 1244 2223 1117 1260 1574 1119 1259 1572 1118 1260 1574 1119 1244 2223 1117 1247 2733 1114 1262 1576 1120 1248 2734 1831 1263 2735 1832 1248 2734 1831 1262 1576 1120 1252 520 517 1251 2224 1122 1267 2736 1833 1266 1578 1121 1267 2736 1833 1251 2224 1122 1277 2740 1836 970 2739 1051 1275 3122 2950 977 2746 2947 1275 3122 2950 970 2739 1051 1278 2229 2951 1279 2741 1837 985 1521 1474 1009 426 426 985 1521 1474 1279 2741 1837 1276 549 548 1277 2740 2714 1126 548 547 1131 1541 1485 1126 548 547 1277 2740 2714 1169 3116 2706 1146 543 540 1279 2741 2716 1272 544 541 1279 2741 2716 1146 543 540 1290 1585 1137 1292 2742 1840 1209 1560 1138 1231 2730 1829 1209 1560 1138 1292 2742 1840 1296 552 551 1273 1590 1140 1295 550 549 989 1589 1513 1295 550 549 1273 1590 1140 1275 3122 2717 977 2746 1846 1299 555 555 1298 553 553 1299 555 555 977 2746 1846 1302 556 556 1301 554 554 1305 557 557 1304 558 558 1305 557 557 1301 554 554 1308 559 559 1307 560 560 1311 562 562 1310 564 564 1311 562 562 1307 560 560 1313 2748 2952 1293 570 570 1043 2750 2953 1077 3289 2099 1043 3288 2953 1293 570 570 1318 1600 1161 1204 2218 1159 1211 1564 1498 1210 1565 1499 1211 1564 1498 1204 2218 1159 1319 2751 1855 1320 575 1856 1322 3127 2723 1321 576 2725 1322 3127 2723 1320 575 1856 992 418 418 1319 2751 1855 1332 3290 2954 992 418 418 1332 3290 2954 991 416 416 1345 585 1860 1346 586 2955 1343 587 1169 1344 588 1170 1343 587 1169 1346 586 2955 1335 577 577 1337 589 2956 1345 585 1860 1347 590 2957 1345 585 1860 1337 589 2956 1337 589 2956 1353 591 2958 1347 590 2957 1358 592 2959 1347 590 2957 1353 591 2958 1363 577 589 1361 578 1179 1364 579 2103 1362 580 1523 1364 579 2103 1361 578 1179 1377 581 1862 1378 582 1183 1383 583 2960 1384 584 1182 1383 583 2960 1378 582 1183 1400 3291 2961 1397 2753 2511 1390 3292 2962 1389 2754 2963 1390 3292 2962 1397 2753 2511 1393 595 596 1394 596 597 1395 3293 2964 1396 3294 2965 1395 3293 2964 1394 596 597 1412 1615 1534 1409 1616 1535 1416 3295 2517 1415 1617 602 1416 3295 2517 1409 1616 1535 1422 606 608 1428 607 609 1423 3296 2966 1427 3297 2967 1423 3296 2966 1428 607 609 1429 2252 2113 1421 2250 2111 1435 3298 2968 1433 3299 2969 1435 3298 2968 1421 2250 2111 1445 1628 1543 1446 1632 2970 1437 1629 1544 1438 1633 2971 1437 1629 1544 1446 1632 2970 1449 1634 2972 1450 1635 2973 1451 1635 2974 1452 1636 2524 1451 1635 2974 1450 1635 2973 1464 2256 2525 1462 2257 2975 1463 2258 620 1461 2259 2124 1463 2258 620 1462 2257 2975 1471 2265 2126 1470 3300 2976 1472 2267 2127 1469 3301 2977 1472 2267 2127 1470 3300 2976 1484 3302 2978 1483 3303 1556 1482 621 623 1481 622 624 1482 621 623 1483 3303 1556 1499 643 1559 1500 644 2129 1487 645 1557 1486 646 2979 1487 645 1557 1500 644 2129 1501 628 630 1503 629 631 1490 627 629 1492 631 633 1490 627 629 1503 629 631 1505 630 632 1507 3304 2980 1494 632 634 1496 3305 2981 1494 632 634 1507 3304 2980 1511 637 641 1510 3306 2982 1512 635 639 1509 3307 2983 1512 635 639 1510 3306 2982 1514 636 640 1516 639 643 1513 638 642 1515 641 645 1513 638 642 1516 639 643 1530 2285 1575 1517 2286 646 1532 3308 2540 1519 3309 2539 1532 3308 2540 1517 2286 646 1536 2288 2137 1546 2287 2136 1538 648 653 1549 647 651 1538 648 653 1546 2287 2136 1551 629 652 1553 630 655 1540 631 654 1542 650 657 1540 631 654 1553 630 655 1555 633 2984 1553 634 2143 1554 633 2144 1554 633 2144 1556 633 1586 1555 633 2984 1564 3310 2985 1571 3311 2148 1562 1671 1589 1569 1670 1588 1562 1671 1589 1571 3311 2148 1612 677 686 1613 1680 1597 1627 2306 2152 1628 1697 1617 1627 2306 2152 1613 1680 1597 1631 3312 1592 1636 3313 2547 1630 3314 2986 1637 2791 2551 1630 3315 2986 1636 2793 2547 1645 2312 2159 1646 673 682 1656 3316 2851 1657 2309 2155 1656 3317 2851 1646 673 682 1636 2787 2547 1635 2788 2548 1653 3318 2552 1654 3319 2987 1653 3318 2552 1635 2788 2548 1661 1688 1607 1608 662 669 1662 1695 1615 1607 656 663 1662 1695 1615 1608 662 669 1606 1673 1591 1616 1672 1590 1671 3320 2988 1670 3321 2554 1671 3320 2988 1616 1672 1590 1595 719 728 1605 3322 2854 1681 3323 2855 1595 3324 728 1681 3158 2855 1682 3325 769 1600 678 687 1688 2800 2556 1599 679 688 1689 2317 2856 1599 679 688 1688 2800 2556 1693 3160 2167 1605 3322 2854 1595 719 728 1595 719 728 1694 721 730 1693 3160 2167 1586 1684 1603 1698 696 705 1585 2323 2173 1697 707 716 1585 2323 2173 1698 696 705 1704 2320 2559 1664 2313 2989 1702 695 704 1663 1687 1606 1702 695 704 1664 2313 2989 1710 1700 1620 1708 1689 1608 1709 2332 2182 1707 698 707 1709 2332 2182 1708 1689 1608 1584 3161 2858 1717 3164 2861 1715 3165 1611 1715 3165 1611 1594 3159 1610 1584 3161 2858 1723 3166 2862 1614 2784 2544 1724 712 721 1629 710 719 1724 712 721 1614 2784 2544 1653 3326 2552 1727 3327 2564 1652 2790 2550 1729 2327 2863 1652 2790 2550 1727 3327 2564 1731 724 733 1668 705 714 1723 3166 2862 1614 2784 2544 1723 3166 2862 1668 705 714 1603 692 701 1686 693 702 1735 718 727 1739 2330 2180 1735 718 727 1686 693 702 1740 2331 2181 1592 1686 1605 1743 2333 2183 1711 2321 2171 1743 2333 2183 1592 1686 1605 1717 3164 2861 1745 2810 2566 1718 3162 2860 1746 2334 2184 1718 3162 2860 1745 2810 2566 1763 2811 2567 1764 778 787 178 2812 2568 180 2059 2865 178 2812 2568 1764 778 787 1617 2822 2990 1737 1727 2991 1771 1704 1624 1773 2813 2569 1771 1704 1624 1737 1727 2991 1575 1723 2992 1778 2814 2570 1576 1722 2993 1777 1708 1628 1576 1722 2993 1778 2814 2570 1789 3170 2868 1784 3171 2869 1788 740 750 1782 2815 2571 1788 740 750 1784 3171 2869 1795 2817 2573 1790 3168 2866 1794 1714 1634 1789 3170 2868 1794 1714 1634 1790 3168 2866 1799 2339 2189 1579 3328 747 1798 1718 1637 1779 736 746 1798 1718 1637 1579 737 747 1805 2343 2873 1804 2819 2575 1677 681 690 1676 680 689 1677 681 690 1804 2819 2575 1682 3325 769 1681 3158 2855 1810 2345 2196 1682 3329 769 1810 3329 2196 1809 3329 767 1802 748 758 1814 2349 2200 1673 746 756 1733 716 725 1673 746 756 1814 2349 2200 1583 2344 773 1582 3330 2188 1817 3331 771 1816 2826 2582 1817 3332 771 1582 3333 2188 1824 773 782 1823 1732 1650 1819 2351 2202 1818 2825 2581 1819 2351 2202 1823 1732 1650 1832 771 780 1829 1730 1648 1833 1733 1651 1828 768 777 1833 1733 1651 1829 1730 1648 1835 2354 2206 1839 1734 1652 1821 1729 1647 1750 1728 1646 1821 1729 1647 1839 1734 1652 1840 2829 2585 1841 2830 2586 1762 2335 2185 1763 2811 2567 1762 2335 2185 1841 2830 2586 1762 2335 2185 1766 743 753 1840 2829 2585 1844 1739 1657 1840 2829 2585 1766 743 753 1848 2410 2271 292 301 2994 1861 2834 2590 308 2833 2589 1861 2834 2590 292 301 2994 1865 2836 2592 1853 3201 2897 1864 1742 1660 1851 3202 2898 1864 1742 1660 1853 3201 2897 1869 1744 1662 1873 2357 2210 1852 1741 1659 1854 2835 2591 1852 1741 1659 1873 2357 2210 333 1756 1675 319 3265 2995 1881 1758 1677 1870 2838 2593 1881 1758 1677 319 3265 2995 1874 2849 2875 1875 2358 2211 1888 3182 2996 1889 2362 2215 1888 3182 2996 1875 2358 2211 1893 1749 1668 1785 1750 1669 1896 1752 1671 1786 2365 2218 1896 1752 1671 1785 1750 1669 1902 2366 2219 1904 2842 2597 1899 1751 1670 1901 804 813 1899 1751 1670 1904 2842 2597 195 3334 2997 364 3335 2998 1768 2846 2601 1912 2845 2600 1768 2846 2601 364 3335 2998 364 3335 2998 373 3268 2999 1912 2845 2600 1920 1788 1715 1912 2845 2600 373 3268 2999 1931 2847 2602 1929 1757 1676 1932 1768 1691 1930 844 854 1932 1768 1691 1929 1757 1676 1941 826 836 1940 2373 2227 1888 3182 2880 1874 2849 2605 1888 3182 2880 1940 2373 2227 1949 831 841 1948 833 843 1923 1764 3000 1921 3181 2607 1923 1764 3000 1948 833 843 1943 3185 2881 1959 829 839 1947 1759 1680 1958 1761 1682 1947 1759 1680 1959 829 839 1967 857 866 1968 858 867 1956 1760 1681 1955 823 833 1956 1760 1681 1968 858 867 1976 2869 2625 1970 2376 2229 1975 2855 2611 1971 832 842 1975 2855 2611 1970 2376 2229 1976 2869 2625 1975 2855 2611 1981 2856 2626 1980 1765 3001 1981 2856 2626 1975 2855 2611 1877 792 801 1878 791 800 1995 2382 2236 1994 2858 2613 1995 2382 2236 1878 791 800 1857 795 804 1867 794 803 2003 1828 1757 2001 2859 2614 2003 1828 1757 1867 794 803 1987 1777 1701 2007 862 871 1986 1767 1690 2006 2860 2615 1986 1767 1690 2007 862 871 2010 850 860 2014 2863 864 2011 852 862 2015 868 877 2011 852 862 2014 2863 864 1962 828 838 2016 3188 2883 1964 830 840 2017 3190 2884 1964 830 840 2016 3188 2883 1962 828 838 1963 3336 2228 2016 3188 2883 1993 3189 1696 2016 3188 2883 1963 3336 2228 2030 1779 1703 2029 867 876 2026 861 2243 2025 2388 2244 2026 861 2243 2029 867 876 2032 864 873 2036 1781 1705 494 1398 2245 499 1783 1707 494 1398 2245 2036 1781 1705 2043 1785 1711 2042 871 1712 2039 869 878 2038 2389 2247 2039 869 878 2042 871 1712 2049 1787 1714 2048 876 885 2045 874 883 2044 2390 2249 2045 874 883 2048 876 885 1970 2376 2229 1976 2869 2625 1992 1773 1698 2051 2391 2250 1992 1773 1698 1976 2869 2625 2059 3192 2888 2058 2871 2628 1926 2370 2223 1928 814 823 1926 2370 2223 2058 2871 2628 2064 1790 1717 2065 2874 2631 2066 897 906 2067 898 907 2066 897 906 2065 2874 2631 2074 1794 1721 544 1796 1723 2058 2871 2628 526 2872 2629 2058 2871 2628 544 1796 1723 2082 3193 2889 2081 2877 2634 2070 889 898 2069 2393 2252 2070 889 898 2081 2877 2634 2077 891 900 2089 3194 2890 2076 2394 2253 2088 2880 2637 2076 2394 2253 2089 3194 2890 2080 1798 1725 2081 2877 2634 2096 1800 1728 2097 1802 1730 2096 1800 1728 2081 2877 2634 2087 2878 2635 2088 2880 2637 2103 907 916 2104 1804 1732 2103 907 916 2088 2880 2637 2112 915 924 2111 917 926 2100 902 911 2099 2397 2256 2100 902 911 2111 917 926 2118 2883 2640 2106 2399 2258 2119 1811 1739 2107 904 913 2119 1811 1739 2106 2399 2258 2122 911 920 2127 1807 1735 2123 912 921 2126 1809 1737 2123 912 921 2127 1807 1735 2133 924 933 2108 923 932 2132 1808 1736 2109 1801 1729 2132 1808 1736 2108 923 932 2117 2885 2642 2139 2888 2645 2116 1803 1731 2140 2889 2646 2116 1803 1731 2139 2888 2645 2135 925 934 2147 2892 2649 2134 920 929 2146 930 940 2134 920 929 2147 2892 2649 2153 2890 2647 2140 2889 2646 2154 2894 2651 2139 2888 2645 2154 2894 2651 2140 2889 2646 2162 1820 1749 2161 936 946 2149 2402 2263 2148 2893 2650 2149 2402 2263 2161 936 946 2155 3196 2892 2169 940 950 2154 2894 2651 2168 939 949 2154 2894 2651 2169 940 950 2165 933 943 2176 3198 2894 651 935 945 664 3269 3002 651 935 945 2176 3198 2894 2186 942 952 2182 2896 2654 2187 3199 2895 2183 2406 2267 2187 3199 2895 2182 2896 2654 2192 2405 2266 2191 2898 2656 2188 3200 2896 2187 3199 2895 2188 3200 2896 2191 2898 2656 2194 2900 2658 2176 3198 2894 2195 2407 2268 2177 3197 2893 2195 2407 2268 2176 3198 2894 1851 3202 2898 2199 2903 2661 1850 785 794 2198 952 962 1850 785 794 2199 2903 2661 2207 2905 2665 2206 1832 1760 1859 790 799 1879 1745 1663 1859 790 799 2206 1832 1760 2201 2408 2269 2214 1853 1780 2200 2902 2660 2213 2416 2278 2200 2902 2660 2214 1853 1780 2221 2415 2277 717 2152 2904 2208 2409 2270 702 300 3003 2208 2409 2270 717 2152 2904 2239 986 995 2240 3203 2899 2227 1846 1773 2228 1847 1774 2227 1846 1773 2240 3203 2899 2247 972 982 2249 3337 985 2246 971 981 2248 2908 2669 2246 971 981 2249 3337 985 2256 1843 1770 2254 1840 1766 2257 2414 2276 2255 3338 3004 2257 2414 2276 2254 1840 1766 2232 964 974 2233 1839 1765 2261 1849 1776 2260 1845 1772 2261 1849 1776 2233 1839 1765 2265 1848 1775 2266 2910 2671 2253 967 977 2255 3338 3004 2253 967 977 2266 2910 2671 2247 972 982 2259 970 980 2262 3339 2903 2269 2911 2672 2262 3339 2903 2259 970 980 2236 1836 967 2272 2915 1777 2237 1834 1762 2273 2913 2673 2237 1834 1762 2272 2915 1777 2276 1852 1779 2277 2916 2674 2240 3203 2899 2241 3204 2900 2240 3203 2899 2277 2916 2674 2280 1854 1781 2281 2917 2675 2244 962 972 2245 1838 1764 2244 962 972 2281 2917 2675 2297 2418 2279 2296 2920 2678 2290 2919 2677 2288 1856 1783 2290 2919 2677 2296 2920 2678 2309 994 1003 2310 1857 1784 2312 2423 2284 2311 2921 2679 2312 2423 2284 2310 1857 1784 2322 2425 2286 2321 2922 2680 2315 2937 2696 2314 2938 2697 2315 2937 2696 2321 2922 2680 2326 2923 2681 2299 1036 1042 2327 1006 1015 2303 1008 1017 2327 1006 1015 2299 1036 1042 2337 2925 2683 2336 2924 2682 2339 1870 1797 2338 3340 3005 2339 1870 1797 2336 2924 2682 2346 1014 1023 2361 1013 1022 2347 1010 1019 2360 2928 2686 2347 1010 1019 2361 1013 1022 2338 3340 3005 2344 1011 1020 2367 1865 1792 2368 2929 2687 2367 1865 1792 2344 1011 1020 2293 1860 1787 2291 2918 2676 2375 2934 2908 2375 2934 2908 2374 1871 2689 2293 1860 1787 2333 3210 1038 2335 2931 2684 2377 2431 2909 2376 2933 2690 2377 2431 2909 2335 2931 2684 2384 2936 2693 2365 3341 3006 2383 2935 2692 2359 3342 3007 2383 2935 2692 2365 3341 3006 2358 2427 2288 2389 3214 2912 2350 2428 2289 2388 1876 2695 2350 2428 2289 2389 3214 2912 2316 3343 3008 2315 2937 2696 2391 3344 3009 2390 2939 2698 2391 3344 3009 2315 2937 2696 2329 2435 2287 2307 3345 3010 2385 2436 2293 2396 2942 3011 2385 2436 2293 2307 3345 3010 2399 2944 417 2398 2997 419 2404 2945 410 2405 2998 411 2404 2945 410 2398 2997 419 2407 1883 415 2402 1052 1055 2429 2947 413 2428 1054 1057 2429 2947 413 2402 1052 1055 2423 2445 1843 2424 3231 2096 2439 1950 1513 2438 2490 563 2439 1950 1513 2424 3231 2096 2444 1053 1056 2451 1889 1809 2445 1055 1058 2450 1059 1060 2445 1055 1058 2451 1889 1809 2431 1048 1052 2416 1050 425 2457 2951 2068 2458 2446 427 2457 2951 2068 2416 1050 425 2462 1061 1062 2463 1890 1810 2467 2449 429 2468 1064 1064 2467 2449 429 2463 1890 1810 2478 2955 453 2418 1880 1471 2480 1957 451 2425 1881 1806 2480 1957 451 2418 1880 1471 2470 2958 2702 2486 2959 457 2487 1082 1076 2488 1084 456 2487 1082 1076 2486 2959 457 2406 2946 2067 2503 2960 2703 2408 2952 2066 2505 1096 1084 2408 2952 2066 2503 2960 2703 2512 2961 2704 2461 1060 1061 2513 3222 465 2466 2954 431 2513 3222 465 2461 1060 1061 2521 1173 1131 2502 1171 1129 2520 2962 2070 2501 3232 2949 2520 2962 2070 2502 1171 1129 2477 1066 1065 2530 1911 1820 2475 1894 1813 2528 2963 2073 2475 1894 1813 2530 1911 1820 2537 2964 2076 2538 2457 1483 2484 1897 1815 2485 2957 2071 2484 1897 1815 2538 2457 1483 2503 2960 2703 2543 2966 2072 2505 1096 1084 2545 1097 1085 2505 1096 1084 2543 2966 2072 2550 2968 2074 2549 2967 2075 2510 1074 1070 2509 1075 1071 2510 1074 1070 2549 2967 2075 2552 2969 2077 2512 2961 2704 2553 2458 463 2513 3222 465 2553 2458 463 2512 2961 2704 2557 2461 467 2556 2970 2078 2522 2454 448 2516 2453 1478 2522 2454 448 2556 2970 2078 2574 1128 1100 2579 1130 468 2575 2974 2079 2580 2463 469 2575 2974 2079 2579 1130 468 2583 1918 2709 2578 3346 502 2592 1186 2080 2591 1921 1492 2592 1186 2080 2578 3346 502 2563 1917 474 2604 1919 1822 2593 1174 475 2603 1175 1132 2593 1174 475 2604 1919 1822 2571 2971 482 2570 2474 1496 2613 2973 483 2614 2972 2082 2613 2973 483 2570 2474 1496 2618 1922 1823 2573 2466 1487 2619 2975 2706 2595 2467 1488 2619 2975 2706 2573 2466 1487 2627 1127 1099 2632 2977 2708 2628 1924 1824 2633 2979 2081 2628 1924 1824 2632 2977 2708 2614 2972 2082 2643 2483 511 2574 1128 1100 2639 1129 512 2574 1128 1100 2643 2483 511 2634 2489 544 2633 2979 2081 2652 1178 1136 2651 2476 496 2652 1178 1136 2633 2979 2081 2669 1935 1501 2606 1116 478 2664 1136 1106 2562 1109 476 2664 1136 1106 2606 1116 478 2676 1939 1502 2655 3225 505 2675 2485 1503 2649 2983 2083 2675 2485 1503 2655 3225 505 2682 1938 1834 2679 2984 504 2676 1939 1502 2655 3225 505 2676 1939 1502 2679 2984 504 2641 2978 2084 2694 1154 1117 2636 1147 490 2689 1146 1112 2636 1147 490 2694 1154 1117 2701 1161 1122 2700 1159 528 2656 3227 510 2648 1926 1827 2656 3227 510 2700 1159 528 2707 2988 2711 2706 2989 519 2692 3347 514 2691 2985 521 2692 3347 514 2706 2989 519 2711 2990 524 2707 2988 2711 2696 2484 513 2692 3347 514 2696 2484 513 2707 2988 2711 2698 1933 1831 2699 2986 527 2713 1936 1832 2714 2991 525 2713 1936 1832 2699 2986 527 2687 3348 516 2718 1204 1162 2702 3228 517 2717 1937 1833 2702 3228 517 2718 1204 1162 2730 2992 2712 2434 1884 1808 2728 2996 2951 2435 2448 1474 2728 2996 2951 2434 1884 1808 2464 2993 2069 2736 2994 2713 2469 1062 1063 2737 3229 2091 2469 1062 1063 2736 2994 2713 2731 1176 1133 2730 2992 2092 2593 1174 475 2594 2468 473 2593 1174 475 2730 2992 2092 2612 1947 1493 2624 2473 1494 2734 1169 1839 2736 2994 2094 2734 1169 1839 2624 2473 1494 2455 1057 529 2720 1163 530 2415 1045 1049 2726 1940 1835 2415 1045 1049 2720 1163 530 2747 1185 1143 2599 1181 1139 2592 1186 1145 2583 1918 1821 2592 1186 1145 2599 1181 1139 2585 1189 1148 2750 1190 1149 2586 2465 3012 2587 2464 2718 2586 2465 3012 2750 1190 1149 2753 1188 1147 2640 1187 1146 2756 1191 1150 2693 1192 1151 2756 1191 1150 2640 1187 1146 2759 1193 1152 2708 1194 1153 2762 1195 1154 2668 1197 1156 2762 1195 1154 2708 1194 1153 2763 1962 2952 2743 3233 570 2653 2480 3013 2687 3349 572 2653 2480 3013 2743 3233 570 2527 3234 2099 2558 2999 2721 2765 2498 567 2764 3001 568 2765 2498 567 2558 2999 2721 2774 3004 2724 2776 3350 3014 2773 1206 2726 2775 1208 3015 2773 1206 2726 2776 3350 3014 2795 1214 1860 2796 579 2955 2797 1215 1518 2798 1216 1520 2797 1215 1518 2796 579 2955 2791 1217 1858 2801 1209 1167 2783 1218 578 2793 1211 1169 2783 1218 578 2801 1209 1167 2796 579 2955 2794 580 1170 2798 1216 1520 2807 1219 1521 2798 1216 1520 2794 580 1170 2794 580 1170 2802 1210 1168 2807 1219 1521 2806 1220 584 2807 1219 1521 2802 1210 1168 2802 1210 1168 2800 1221 582 2806 1220 584 2829 1209 1178 2830 1210 1181 2821 1211 587 2822 580 588 2821 1211 587 2830 1210 1181 2817 1212 2101 2818 582 2102 2838 1213 3016 2837 584 2104 2838 1213 3016 2818 582 2102 2841 1979 1869 2843 1226 1188 2842 1977 1867 2844 1228 1190 2842 1977 1867 2843 1226 1188 2867 1250 3017 2870 1251 2732 2855 1251 3018 2856 1252 3019 2855 1251 3018 2870 1251 2732 2872 1233 1195 2874 1234 1196 2859 1232 1194 2861 1236 1198 2859 1232 1194 2874 1234 1196 2866 1257 3020 2865 1258 2916 2877 1258 3021 2878 1259 2311 2877 1258 3021 2865 1258 2916 2893 1244 1206 2894 3351 1880 2892 1242 1204 2891 3352 3022 2892 1242 1204 2894 3351 1880 2895 1243 1205 2897 1246 1208 2896 1245 1207 2898 1248 1210 2896 1245 1207 2897 1246 1208 2888 2525 2317 2887 2526 2318 2890 3353 3023 2889 3354 2738 2890 3353 3023 2887 2526 2318 2905 1230 1890 2917 1231 2319 2907 1255 1218 2920 1253 1216 2907 1255 1218 2917 1231 2319 2922 1254 1217 2924 1235 1896 2909 1256 1219 2911 2013 1897 2909 1256 1219 2924 1235 1896 2957 2016 1899 2948 2015 1898 2973 3355 3024 2971 3356 3025 2973 3355 3024 2948 2015 1898 2957 1261 1225 2958 1260 1224 2959 1264 1228 2960 1265 1229 2959 1264 1228 2958 1260 1224 2961 1266 1230 2962 1267 1231 2963 2023 1907 2964 633 1908 2963 2023 1907 2962 1267 1231 2969 3357 3026 2970 3358 2743 2967 3358 3027 2968 3359 3028 2967 3358 3027 2970 3358 2743 2940 1275 1239 2942 1276 1240 2929 1274 1238 2931 1278 1242 2929 1274 1238 2942 1276 1240 2936 3360 3029 2935 3361 2922 2945 3361 3030 2946 3362 2346 2945 3361 3030 2935 3361 2922 39 2032 1914 54 16 16 40 2052 1933 55 18 18 40 2052 1933 54 16 16 58 3253 2348 57 3254 2923 63 3363 2749 64 2035 2752 63 3025 2749 57 3364 2923 72 26 26 83 3365 27 73 22 22 84 20 20 73 22 22 83 3366 27 63 3023 2749 80 3367 2751 62 63 65 81 3257 2926 62 63 65 80 3367 2751 88 48 50 89 49 51 35 2039 1920 34 2040 1921 35 2039 1920 89 49 51 33 70 72 98 58 60 43 2555 2347 97 60 62 43 2555 2347 98 58 60 108 3368 107 32 3369 44 22 3260 2927 22 3370 2927 109 3371 2928 108 104 107 27 1288 1253 26 39 3031 115 2041 1922 116 41 1923 115 2041 1922 26 39 3031 22 3260 2927 32 3369 44 120 2044 46 22 3260 2927 120 2044 46 121 2043 1926 13 1296 1262 12 1302 1268 125 1298 1264 124 1303 1269 125 1298 1264 12 1302 1268 131 53 2759 129 2565 2361 91 28 28 90 29 29 91 28 28 129 2565 2361 137 1313 1279 136 1312 1278 135 2049 1930 134 2566 2362 135 2049 1930 136 1312 1278 142 2051 1932 144 2050 1931 11 2046 1927 11 2046 1927 21 2045 1260 142 2051 1932 150 2053 1934 151 2054 1935 41 3021 2747 56 2034 1916 41 3021 2747 151 2054 1935 80 3372 2751 79 66 2750 154 3373 1936 156 68 1937 154 3373 1936 79 66 2750 158 2056 1938 150 2053 1934 95 3256 2925 41 3021 2747 95 3256 2925 150 2053 1934 30 38 39 162 2057 1939 113 73 75 166 74 76 113 73 75 162 2057 1939 167 75 77 170 76 78 19 55 57 138 57 59 19 55 57 170 76 78 144 2050 1931 145 59 61 172 2058 1940 173 79 81 172 2058 1940 145 59 61 201 126 129 178 2812 2764 202 124 127 180 2059 1941 202 124 127 178 2812 2764 44 3047 2929 209 2573 2371 164 84 86 211 85 87 164 84 86 209 2573 2371 2 89 91 3 1331 2930 216 91 93 215 2574 2372 216 91 93 3 1331 2930 227 2062 1944 226 3043 2766 222 2063 1945 220 3042 2765 222 2063 1945 226 3043 2766 233 97 99 232 2579 2376 228 95 97 227 2062 1944 228 95 97 232 2579 2376 238 96 98 237 2580 2377 6 3374 1946 217 1322 1289 6 3375 1946 237 2580 2377 244 100 1950 104 102 3032 243 2068 1952 103 1287 1252 243 2068 1952 104 102 3032 249 106 109 108 104 107 109 3371 2928 109 3376 2928 248 3376 1953 249 3376 109 241 2073 1956 100 32 33 253 107 110 160 108 111 253 107 110 100 32 33 10 1332 3033 256 3377 2387 9 3378 1292 255 2075 1957 9 3379 1292 256 3262 2387 263 2077 1959 258 113 116 262 2592 2392 257 111 114 262 2592 2392 258 113 116 276 2591 2391 277 2079 1961 272 2590 2388 270 2078 1960 272 2590 2388 277 2079 1961 279 120 123 260 2588 2386 283 1338 1307 186 2060 1942 283 1338 1307 260 2588 2386 201 126 129 285 127 130 200 1316 1283 284 3052 2774 200 1316 1283 285 127 130 200 1316 1283 284 3052 2774 204 1315 1281 288 2593 2393 204 1315 1281 284 3052 2774 293 133 136 309 132 135 292 301 305 308 2833 2775 292 301 305 309 132 135 313 137 140 312 2595 2395 298 139 142 296 2141 2029 298 139 142 312 2595 2395 299 2083 1965 323 1354 1324 297 2594 2394 318 140 143 297 2594 2394 323 1354 1324 320 3053 2777 319 3265 2934 331 2604 2407 333 1756 2406 331 2604 2407 319 3265 2934 324 2085 1967 339 148 151 325 1355 1325 340 150 153 325 1355 1325 339 148 151 344 154 157 347 155 158 223 2597 2398 224 1361 1331 223 2597 2398 347 155 158 353 1363 1333 350 1359 1329 355 156 159 352 2598 2399 355 156 159 350 1359 1329 363 3057 2782 364 3335 3034 206 3055 2780 195 3334 3035 206 3055 2780 364 3335 3034 364 3335 3034 363 3057 2782 373 3268 2939 372 2626 2434 373 3268 2939 363 3057 2782 388 210 214 389 211 215 385 2603 2405 386 2613 2418 385 2603 2405 389 211 215 401 1375 1346 339 148 1972 400 1376 1347 324 2085 2784 400 1376 1347 339 148 1972 409 3062 2788 376 166 2936 408 175 180 374 2088 2785 408 175 180 376 166 2936 403 172 177 407 2607 2412 419 2090 1973 418 2609 2414 419 2090 1973 407 2607 2412 427 1392 1359 416 2608 2413 428 2091 1974 415 2092 1975 428 2091 1974 416 2608 2413 436 3071 2795 435 3061 2787 430 1381 1351 431 1380 1350 430 1381 1351 435 3061 2787 436 3071 2795 441 3064 2796 435 3061 2787 440 2610 2937 435 3061 2787 441 3064 2796 327 192 197 455 190 195 328 2095 1979 454 2097 1981 328 2095 1979 455 190 195 302 2643 2459 463 2098 1982 315 146 149 461 2099 1983 315 146 149 463 2098 1982 447 1388 1357 446 2611 2416 467 2100 1984 466 2101 1985 467 2100 1984 446 2611 2416 470 3380 2424 471 3070 2792 474 3067 1358 475 2111 1997 474 3067 1358 471 3070 2792 477 204 208 476 2104 1989 424 2105 1990 422 1377 1348 424 2105 1990 476 2104 1989 422 1377 1348 476 2104 1989 423 3381 1349 453 2103 1988 423 3381 1349 476 2104 1989 492 2108 2427 487 1394 1361 491 2621 2428 486 209 213 491 2621 2428 487 1394 1361 495 1396 1363 494 1398 1365 500 2109 1995 499 1783 2429 500 2109 1995 494 1398 1365 508 2112 1998 503 1400 1367 507 2622 2430 502 216 1369 507 2622 2430 503 1400 1367 516 2113 2001 511 1403 1372 515 2623 2431 510 220 224 515 2623 2431 511 1403 1372 430 1381 1351 452 1405 1374 436 3071 2795 518 222 226 436 3071 2795 452 1405 1374 528 235 239 379 1367 1337 527 2116 2004 381 1368 1338 527 2116 2004 379 1367 1337 533 2628 2436 535 1414 1383 534 2114 2002 536 2115 2003 534 2114 2002 535 1414 1383 545 2117 2005 527 2116 2004 544 1796 2438 526 2872 2798 544 1796 2438 527 2116 2004 553 246 250 539 1409 1378 552 2118 2006 538 234 238 552 2118 2006 539 1409 1378 548 1410 1379 547 237 241 562 249 253 561 2121 2009 562 249 253 547 237 241 551 2631 2441 569 1421 1390 552 2118 2006 570 2119 2007 552 2118 2006 569 1421 1390 560 3072 2801 578 2634 2445 561 2121 2009 579 2120 2008 561 2121 2009 578 2634 2445 572 248 252 586 265 269 573 1415 1384 587 262 266 573 1415 1384 586 265 269 595 3073 2802 596 2122 2010 581 251 255 582 1416 1385 581 251 255 596 2122 2010 599 2124 2012 600 1422 1391 608 2126 2014 607 1423 1392 608 2126 2014 600 1422 1391 614 2636 2449 613 2635 2448 583 1420 1389 584 2633 2444 583 1420 1389 613 2635 2448 594 3074 2803 593 2127 2015 620 2130 2018 621 2128 2016 620 2130 2018 593 2127 2015 616 1425 1394 615 1424 1393 630 2129 2017 629 2638 2452 630 2129 2017 615 1424 1393 638 3075 2807 639 2131 2019 621 2128 2016 620 2130 2018 621 2128 2016 639 2131 2019 647 2132 2020 632 271 275 646 2640 2454 631 273 277 646 2640 2454 632 271 275 640 278 282 639 2131 2019 656 2133 2021 655 1432 1401 656 2133 2021 639 2131 2019 652 2134 2022 651 935 3036 665 2135 2023 664 3269 2940 665 2135 2023 651 935 3036 677 3076 2809 678 2136 2024 672 2139 2027 673 1435 1404 672 2139 2027 678 2136 2024 684 294 298 679 290 294 683 2138 2026 678 2136 2024 683 2138 2026 679 290 294 687 2140 2028 688 295 299 665 2135 2023 666 289 293 665 2135 2023 688 295 299 296 2141 2029 295 3264 2933 692 2142 2030 691 2645 2461 692 2142 2030 295 3264 2933 700 2145 2034 304 2143 2032 699 2647 2462 329 2094 1978 699 2647 2462 304 2143 2032 694 297 301 693 298 302 709 1456 1424 708 1457 1425 709 1456 1424 693 298 302 718 1454 1422 703 299 303 717 2152 2039 702 300 304 717 2152 2039 703 299 303 739 3078 2812 725 1449 1417 740 2146 2035 726 2147 2036 740 2146 2035 725 1449 1417 749 324 327 748 321 324 752 3382 321 751 316 320 752 3382 321 748 321 324 763 2658 2474 764 329 332 760 2657 2470 761 327 330 760 2657 2470 764 329 332 730 2656 2469 770 1451 1419 731 2655 2468 769 2659 2475 731 2655 2468 770 1451 1419 774 2660 2476 758 3272 2942 775 326 329 761 327 330 775 326 329 758 3272 2942 749 324 327 771 325 328 767 1446 1415 778 3079 2813 767 1446 1415 771 325 328 736 2650 2465 737 334 337 782 3082 2477 783 335 338 782 3082 2477 737 334 337 786 2662 2478 740 2146 2035 787 337 340 741 310 314 787 337 340 740 2146 2035 790 2663 2479 744 2654 2467 791 338 341 745 339 342 791 338 341 744 2654 2467 806 3091 2821 793 1464 1432 805 3088 2818 794 1462 1430 805 3088 2818 793 1464 1432 823 2157 2044 822 3086 2816 795 1461 1429 794 1462 1430 795 1461 1429 822 3086 2816 821 3087 2817 831 3089 2819 805 3088 2818 806 3091 2821 805 3088 2818 831 3089 2819 810 345 348 829 3093 2823 807 2156 2043 830 2158 2045 807 2156 2043 829 3093 2823 847 359 362 840 2159 2046 846 357 360 838 2678 2491 846 357 360 840 2159 2046 861 2163 2050 860 2680 2493 862 1478 1445 859 2162 2049 862 1478 1445 860 2680 2493 872 367 370 865 368 371 871 2164 2051 864 3099 2832 871 2164 2051 865 368 371 876 2165 2052 877 2166 2053 849 2692 2507 853 2693 2509 849 2692 2507 877 2166 2053 887 3095 2825 889 2686 2499 886 373 376 888 374 377 886 373 376 889 2686 2499 896 1482 1449 897 377 380 911 1486 1453 910 379 382 911 1486 1453 897 377 380 888 374 377 917 2685 2498 894 376 379 918 381 384 894 376 379 917 2685 2498 925 2172 2058 841 2171 2057 843 2681 2494 843 2681 2494 924 2687 2826 925 2172 2058 883 2173 2060 927 385 2059 885 3096 2824 926 386 2827 885 3096 2824 927 385 2059 934 394 396 933 399 401 915 392 394 909 397 399 915 392 394 933 399 401 908 1483 1450 900 1485 1452 939 2177 2062 938 2691 2830 939 2177 2062 900 1485 1452 866 366 369 941 3383 3037 865 368 371 940 3098 2831 865 368 371 941 3383 3037 879 1500 375 935 1499 1464 857 3384 374 946 3102 407 857 3384 374 935 1499 1464 949 417 417 954 410 410 948 419 419 955 411 411 948 419 419 954 410 410 957 415 415 979 413 413 952 1516 1055 978 2698 1057 952 1516 1055 979 413 413 988 563 563 974 440 2096 989 1589 1513 973 439 1843 989 1589 1513 974 440 2096 994 1517 1056 995 2699 1058 1001 2186 1809 1000 2700 1060 1001 2186 1809 995 2699 1058 981 1514 1052 1007 2188 2068 966 425 425 1008 427 427 966 425 425 1007 2188 2068 1012 2701 1062 1017 429 429 1013 2189 1810 1018 1522 1064 1013 2189 1810 1017 429 429 1028 454 453 1030 452 451 968 1512 1471 975 2233 1806 968 1512 1471 1030 452 451 1020 3109 2702 1037 3385 1076 1036 458 457 1038 457 456 1036 458 457 1037 3385 1076 956 2184 2067 958 2183 2066 1053 3110 2703 1055 3287 1084 1053 3110 2703 958 2183 2066 1062 3111 2704 1063 466 465 1011 3107 1061 1016 431 431 1011 3107 1061 1063 466 465 1071 2194 1131 1070 2195 2070 1052 565 1129 1051 566 2949 1052 565 1129 1070 2195 2070 1027 3285 1065 1025 2702 1813 1080 2200 1820 1078 2199 2073 1080 2200 1820 1025 2702 1813 1087 2204 2076 1034 2704 1815 1088 1538 1483 1035 2196 2071 1088 1538 1483 1034 2704 1815 1053 3110 2703 1055 3287 1084 1093 2197 2072 1095 2198 1085 1093 2197 2072 1055 3287 1084 1100 2202 2074 1060 3112 1070 1099 2203 2075 1059 1527 1071 1099 2203 2075 1060 3112 1070 1102 2205 2077 1103 464 463 1062 3111 2704 1063 466 465 1062 3111 2704 1103 464 463 1107 469 467 1072 448 448 1106 2206 2078 1066 1529 1478 1106 2206 2078 1072 448 448 1124 3115 1100 1125 2207 2079 1129 470 468 1130 471 469 1129 470 468 1125 2207 2079 1133 2718 2709 1142 3386 2080 1128 506 502 1141 1549 1492 1128 506 502 1142 3387 2080 1113 476 474 1143 477 475 1154 2211 1822 1153 2743 1132 1154 2211 1822 1143 477 475 1121 484 482 1163 485 483 1120 1556 1496 1164 2216 2082 1120 1556 1496 1163 485 483 1168 2721 1823 1169 3116 2706 1123 1543 1487 1145 1544 1488 1123 1543 1487 1169 3116 2706 1177 2722 1099 1178 2214 1824 1182 3118 2708 1183 2215 2081 1182 3118 2708 1178 2214 1824 1164 2216 2082 1124 3115 1100 1193 514 511 1189 515 512 1193 514 511 1124 3115 1100 1184 547 544 1202 1559 1136 1183 2215 2081 1201 498 496 1183 2215 2081 1202 1559 1136 1219 1573 1501 1214 1568 1106 1156 480 478 1112 478 476 1156 480 478 1214 1568 1106 1199 2217 2083 1205 508 505 1225 1580 1503 1226 1579 1502 1225 1580 1503 1205 508 505 1232 2737 1834 1226 1579 1502 1229 507 504 1205 508 505 1229 507 504 1226 1579 1502 1191 2221 2084 1186 492 490 1244 2223 1117 1239 3388 1112 1244 2223 1117 1186 492 490 1251 2224 1122 1206 513 510 1250 531 528 1198 2220 1827 1250 531 528 1206 513 510 1257 3120 2711 1242 517 514 1256 522 519 1241 524 521 1256 522 519 1242 517 514 1261 527 524 1246 516 513 1257 3120 2711 1242 517 514 1257 3120 2711 1246 516 513 1248 2734 1831 1263 2735 1832 1249 530 527 1264 528 525 1249 530 527 1263 2735 1832 1237 519 516 1252 520 517 1268 3121 1162 1267 2736 1833 1268 3121 1162 1252 520 517 1280 2228 2712 1278 2229 2951 984 2697 1808 985 1521 1474 984 2697 1808 1278 2229 2951 1014 2190 2069 1019 2191 1063 1286 2230 2713 1287 546 2091 1286 2230 2713 1019 2191 1063 1281 1583 1133 1143 477 475 1280 2228 2092 1144 475 473 1280 2228 2092 1143 477 475 1162 1553 1493 1284 2744 1839 1174 1554 1494 1286 2230 2094 1174 1554 1494 1284 2744 1839 1005 532 529 965 2738 1049 1270 533 530 1276 549 1835 1270 533 530 965 2738 1049 1297 1591 1143 1142 3389 1145 1149 2720 1139 1133 2718 1821 1149 2720 1139 1142 3390 1145 1135 472 1148 1136 473 3012 1300 1592 1149 1137 1542 2718 1300 1592 1149 1136 473 3012 1303 1593 1147 1306 1594 1150 1190 2724 1146 1243 523 1151 1190 2724 1146 1306 1594 1150 1309 1595 1152 1312 1597 1154 1258 521 1153 1218 2225 1156 1258 521 1153 1312 1597 1154 1313 2748 2952 1203 3123 3013 1293 570 570 1237 3391 572 1293 570 570 1203 1567 3013 1077 2237 2099 1315 567 567 1108 3124 2721 1314 568 568 1108 3124 2721 1315 567 567 1324 3128 2724 1323 1602 2726 1326 3392 3014 1325 3393 3015 1326 3392 3014 1323 1602 2726 1345 585 1860 1347 590 1518 1346 586 2955 1348 1603 1520 1346 586 2955 1347 590 1518 1341 1605 1858 1333 578 578 1351 1607 1167 1343 587 1169 1351 1607 1167 1333 578 578 1352 1972 1168 1344 588 1170 1350 582 582 1356 584 584 1350 582 582 1344 588 1170 1344 588 1170 1346 586 2955 1356 584 584 1357 1604 1521 1356 584 584 1346 586 2955 1346 586 2955 1348 1603 1520 1357 1604 1521 1379 1607 1178 1371 587 587 1380 1972 1181 1372 588 588 1380 1972 1181 1371 587 587 1367 1606 2101 1388 1608 3016 1368 1221 2102 1387 1220 2104 1368 1221 2102 1388 1608 3016 1398 1611 1530 1397 3394 2511 1399 1609 1528 1400 3395 2961 1399 1609 1528 1397 3394 2511 1405 3396 3038 1409 3397 1535 1408 3397 3039 1410 3398 1533 1408 3397 3039 1409 3397 1535 1409 3399 1535 1405 3400 3038 1418 3400 1536 1417 3401 3040 1418 3400 1536 1405 3400 3038 1427 3402 2967 1428 1620 609 1426 3403 2521 1425 1622 1537 1426 3403 2521 1428 1620 609 1431 1623 1538 1436 3404 2117 1425 1622 1537 1434 3405 2522 1425 1622 1537 1436 3404 2117 1447 618 2120 1441 617 612 1448 2766 2118 1444 615 1539 1448 2766 2118 1441 617 612 1460 1624 617 1459 1625 616 1454 1626 3041 1455 1627 3042 1454 1626 3041 1459 1625 616 1461 1628 1547 1453 1629 1549 1467 1630 3043 1465 1631 3044 1467 1630 3043 1453 1629 1549 1478 3406 626 1481 1640 624 1472 3407 2127 1474 1638 1555 1472 3407 2127 1481 1640 624 1487 3408 1557 1486 3409 2979 1488 3410 3045 1485 3411 3046 1488 3410 3045 1486 3409 2979 1490 3412 3047 1492 3413 3048 1489 3414 1558 1491 3415 1562 1489 3414 1558 1492 3413 3048 1506 1645 637 1493 1646 1563 1508 3416 638 1495 3417 2135 1508 3416 638 1493 1646 1563 1512 1648 1565 1522 1647 1564 1514 3418 3049 1525 3419 3050 1514 3418 3049 1522 1647 1564 1527 3420 3051 1529 3421 3052 1516 3422 3053 1518 3423 3054 1516 3422 3053 1529 3421 3052 1531 633 3055 1529 1657 1574 1530 633 1575 1530 633 1575 1532 633 2540 1531 633 3055 1536 3410 3056 1538 3424 3057 1535 3425 649 1537 3426 1580 1535 3425 649 1538 3424 3057 1540 3427 3058 1542 2780 2541 1539 3428 1582 1541 2782 2543 1539 3428 1582 1542 2780 2541 1558 3429 3059 1557 3430 3060 1568 3430 660 1565 3431 662 1568 3430 660 1557 3430 3060 1563 3432 3061 1564 3433 2985 1561 3434 3062 1562 3435 1589 1561 3434 3062 1564 3433 2985 1610 2305 2161 1611 676 685 1625 664 671 1626 665 672 1625 664 671 1611 676 685 1627 2306 2152 1628 1697 1617 1640 2307 2153 1639 1696 1616 1640 2307 2153 1628 1697 1617 1657 2309 2155 1646 673 682 1659 668 2157 1647 669 680 1659 668 2157 1646 673 682 1644 2310 2158 1645 2312 2159 1633 2789 2549 1656 3155 2851 1633 2789 2549 1645 2312 2159 1664 2313 2989 1610 2305 2151 1663 1687 1606 1609 660 667 1663 1687 1606 1610 2305 2151 1602 683 692 1601 682 691 1673 746 756 1675 747 757 1673 746 756 1601 682 691 1683 755 765 1604 690 699 1674 717 726 1603 692 701 1674 717 726 1604 690 699 1599 679 1600 1689 2317 2165 1598 686 695 1690 687 696 1598 686 695 1689 2317 2165 1605 3157 2854 1693 2319 2167 1604 690 2852 1695 691 2168 1604 690 2852 1693 2319 2167 1700 697 706 1661 1688 1607 1699 709 718 1662 1695 1615 1699 709 718 1661 1688 1607 1705 699 708 1706 1690 1609 1703 2802 2859 1704 2320 2169 1703 2802 2859 1706 1690 1609 1593 1685 1604 1713 1693 2170 1592 1686 1605 1711 2321 2171 1592 1686 1605 1713 1693 2170 1671 3320 2988 1670 3321 2554 1718 3162 2860 1716 3163 2561 1718 3162 2860 1670 3321 2554 1632 1675 1593 1721 2325 2175 1635 2788 2548 1725 2326 2176 1635 2788 2548 1721 2325 2175 1652 2790 3063 1729 2327 2177 1651 715 724 1730 714 723 1651 715 724 1729 2327 2177 1671 3320 2988 1732 2329 2179 1606 1673 1591 1722 2328 2178 1606 1673 1591 1732 2329 2179 1686 693 702 1592 1686 1605 1739 2330 2180 1740 2331 2181 1739 2330 2180 1592 1686 1605 1743 2333 2183 1711 2321 2171 1744 723 732 1712 704 713 1744 723 732 1711 2321 2171 1718 3162 2860 1746 2334 2184 1671 3320 2988 1732 2329 2179 1671 3320 2988 1746 2334 2184 181 80 2864 1765 777 786 174 81 735 1758 727 737 174 81 735 1765 777 786 1737 1727 2991 1573 764 774 1773 2813 2569 1774 762 772 1773 2813 2569 1573 764 774 1574 2820 3064 1772 1705 1625 1575 1723 2992 1778 2814 2570 1575 1723 2992 1772 1705 1625 1786 3436 3065 1785 3169 2867 1791 2341 2191 1790 3168 2866 1791 2341 2191 1785 3169 2867 1799 2339 2189 1791 2341 2191 1795 2817 2573 1790 3168 2866 1795 2817 2573 1791 2341 2191 1801 3176 2871 1786 3436 3065 1800 2342 2192 1791 2341 2191 1800 2342 2192 1786 3436 3065 1805 2343 2194 1677 681 1599 1806 751 761 1678 753 763 1806 751 761 1677 681 1599 1683 755 2853 1811 3437 2198 1681 3158 2855 1810 2345 2196 1681 3158 2855 1811 2347 2198 1814 2349 2200 1812 756 766 1733 716 725 1674 717 726 1733 716 725 1812 756 766 1819 2351 2202 1818 2825 2581 1787 738 748 1792 739 749 1787 738 748 1818 2825 2581 1761 2355 2207 1826 2353 2204 177 115 3066 265 117 2205 177 115 3066 1826 2353 2204 1827 769 778 1826 2353 2204 1834 2828 2584 1835 2354 2206 1834 2828 2584 1826 2353 2204 1836 1737 1655 1837 776 785 1758 727 737 1759 726 736 1758 727 737 1837 776 785 1764 778 787 1763 2811 2567 1842 780 789 1841 2830 2586 1842 780 789 1763 2811 2567 1767 729 739 1768 728 738 1846 781 790 1845 3179 2874 1846 781 790 1768 728 738 1861 2834 2590 1862 784 793 1848 2410 2271 1849 783 792 1848 2410 2271 1862 784 793 1866 2360 2213 1855 2361 2214 1865 2836 2592 1853 3201 2897 1865 2836 2592 1855 2361 2214 1783 2839 2594 1876 2359 2212 1820 1743 1661 1869 1744 1662 1820 1743 1661 1876 2359 2212 1858 3438 3067 1867 794 803 1884 1748 1667 1883 796 805 1884 1748 1667 1867 794 803 1888 3182 2996 1889 2362 2215 1890 2371 3068 1891 2363 2216 1890 2371 3068 1889 2362 2215 1895 2840 2595 1893 1749 1668 1898 805 814 1896 1752 1671 1898 805 814 1893 1749 1668 1907 2852 2878 1903 2841 2596 1906 3180 2877 1904 2842 2597 1906 3180 2877 1903 2841 2596 1905 2367 2220 1915 2368 2221 1906 3180 2877 1914 2875 2632 1906 3180 2877 1915 2368 2221 1922 884 893 1924 883 892 1921 3439 2879 1923 1764 1685 1921 3439 2879 1924 883 892 1933 878 887 1934 1786 1713 1935 816 825 1936 817 826 1935 816 825 1934 1786 1713 1907 2852 2608 1944 2853 2609 1903 2841 3069 1943 3185 2881 1903 2841 3069 1944 2853 2609 1952 827 837 1944 2853 2609 1953 834 844 1948 833 843 1953 834 844 1944 2853 2609 1961 2865 2619 1960 2379 2232 1951 2372 2226 1950 3183 2231 1951 2372 2226 1960 2379 2232 1969 1775 1699 1961 2865 2619 1954 824 834 1951 2372 2226 1954 824 834 1961 2865 2619 1972 1763 1684 1977 3186 2882 1973 838 1686 1978 837 2230 1973 838 1686 1977 3186 2882 1982 842 852 1939 3187 2606 1983 1766 1689 1950 2378 2231 1983 1766 1689 1939 3187 2606 1997 1769 2234 1880 2381 2235 1995 2382 2236 1877 792 801 1995 2382 2236 1880 2381 2235 2002 2383 2238 1858 3438 3067 2004 848 2237 1871 839 3070 2004 848 2237 1858 3438 3067 2008 2384 2239 1989 3440 859 2009 1778 1702 1988 851 861 2009 1778 1702 1989 849 859 2017 3190 2884 2012 3191 1695 2018 2385 2240 1991 2386 2241 2018 2385 2240 2012 3191 1695 1965 1762 1683 2018 2385 2240 1966 2387 2242 2019 853 863 1966 2387 2242 2018 2385 2240 2024 2866 2620 1931 2847 2602 2025 2388 2244 1932 1768 1691 2025 2388 2244 1931 2847 2602 2009 1778 1702 1988 851 861 2027 860 869 2031 2867 2621 2027 860 869 1988 851 861 2034 1780 1704 2038 2389 2622 2033 866 875 2037 2868 2623 2033 866 875 2038 2389 2622 2040 1782 1706 2044 2390 2249 504 219 1708 509 221 2624 504 219 1708 2044 2390 2249 2051 2391 2250 2050 2870 2627 2047 1784 1709 2046 872 1710 2047 1784 1709 2050 2870 2627 1916 810 819 1917 811 820 2053 2392 2251 2054 888 897 2053 2392 2251 1917 811 820 1977 3186 2882 1972 1763 1684 2060 2395 2254 2061 890 899 2060 2395 2254 1972 1763 1684 2052 2873 2630 2053 2392 2251 2068 1799 1726 2069 2393 2252 2068 1799 1726 2053 2392 2251 2059 3192 2888 2060 2395 2254 2075 2879 2636 2076 2394 2253 2075 2879 2636 2060 2395 2254 2071 887 896 2072 1792 1719 2083 2396 2255 2084 901 910 2083 2396 2255 2072 1792 1719 2079 1793 1720 2091 905 914 2078 892 901 2090 2398 2257 2078 892 901 2091 905 914 2082 3193 2889 2083 2396 2255 2098 2881 2638 2099 2397 2256 2098 2881 2638 2083 2396 2255 2089 3194 2890 2090 2398 2257 2105 2884 2641 2106 2399 2258 2105 2884 2641 2090 2398 2257 575 252 1727 589 254 3071 2101 903 912 2113 3195 2891 2101 903 912 589 254 3071 2095 2400 2261 2121 919 928 2094 906 915 2120 921 930 2094 906 915 2121 919 928 2125 2401 2262 2129 916 925 2113 3195 2891 2112 915 924 2113 3195 2891 2129 916 925 2110 2882 2639 2111 917 926 2131 1810 1738 2130 918 927 2131 1810 1738 2111 917 926 2115 908 917 2141 2891 2648 2114 910 919 2142 1815 1743 2114 910 919 2141 2891 2648 2149 2402 2263 2148 2893 2650 2144 1814 1742 2143 926 935 2144 1814 1742 2148 2893 2650 2137 1812 1740 2156 2403 2264 2138 2887 2644 2155 3196 2892 2138 2887 2644 2156 2403 2264 2150 929 938 634 281 939 2163 2895 2652 649 282 2653 2163 2895 2652 634 281 939 2159 1816 1745 2171 6 6 2158 1817 1746 2170 945 955 2158 1817 1746 2171 6 6 2167 2404 2265 2178 948 958 2166 1819 1748 2177 3197 2893 2166 1819 1748 2178 948 958 2188 3200 2896 2184 1826 1755 2189 946 956 2185 1827 1756 2189 946 956 2184 1826 1755 2188 3200 2896 2189 946 956 2192 2405 2266 2193 8 8 2192 2405 2266 2189 946 956 2195 2407 2268 2177 3197 2893 2196 947 957 2178 948 958 2196 947 957 2177 3197 2893 1855 2361 2214 2201 2408 2269 1853 3201 2897 2200 2902 2660 1853 3201 2897 2201 2408 2269 2208 2409 2270 702 300 3003 1848 2410 2271 292 301 2994 1848 2410 2271 702 300 3003 2203 949 959 2216 2411 2272 2202 950 960 2215 1851 1778 2202 950 960 2216 2411 2272 2234 982 991 2222 2412 2273 733 307 3072 719 309 2901 733 307 3072 2222 2412 2273 2241 3204 2900 2242 987 996 2229 2909 2670 2230 978 987 2229 2909 2670 2242 987 996 2250 966 976 2248 2908 2669 2251 968 978 2249 3441 985 2251 968 978 2248 2908 2669 747 322 2668 765 320 2902 2246 971 981 2258 969 979 2246 971 981 765 320 2902 2249 3441 985 2247 972 982 2263 3207 983 2262 3208 2903 2263 3207 983 2247 972 982 2266 2910 2671 2267 979 988 2255 3338 3004 2257 2414 2276 2255 3338 3004 2267 979 988 2270 981 990 2234 982 991 780 331 2905 733 307 3072 780 331 2905 2234 982 991 2238 985 994 2237 1834 1762 2274 983 992 2273 2913 2673 2274 983 992 2237 1834 1762 2242 987 996 2241 3204 2900 2278 989 998 2277 2916 2674 2278 989 998 2241 3204 2900 2281 2917 2675 792 340 2906 2245 1838 1764 746 341 3073 2245 1838 1764 792 340 2906 2296 2920 2678 2297 2418 2279 2300 2420 2281 2301 1858 1785 2300 2420 2281 2297 2418 2279 2304 1875 1802 2318 2421 2282 2305 997 1006 2317 998 1007 2305 997 1006 2318 2421 2282 2323 2424 2285 2322 2425 2286 2316 3343 3008 2315 2937 2696 2316 3343 3008 2322 2425 2286 2320 1007 1016 2307 3442 3010 2328 1005 1014 2329 2426 2287 2328 1005 1014 2307 3442 3010 2336 2924 2682 2343 1009 1018 2338 3340 3005 2344 1011 1020 2338 3340 3005 2343 1009 1018 2347 1010 1019 2360 2928 2686 2348 1012 1021 2362 1019 1028 2348 1012 1021 2360 2928 2686 2344 1011 1020 2348 1012 1021 2368 2929 2687 2369 1868 1795 2368 2929 2687 2348 1012 1021 2287 991 1000 2377 2431 2291 2289 1855 1782 2376 2933 2907 2289 1855 1782 2377 2431 2291 2379 3443 3074 2372 2432 2292 2378 1023 2910 2330 3444 1037 2378 1023 2910 2372 2432 2292 2365 3341 3006 2384 2936 2693 2357 3445 3075 2382 1872 1799 2357 3445 3075 2384 2936 2693 2391 3446 3076 2390 3212 2911 2359 3342 3007 2383 2935 2692 2359 3342 3007 2390 3212 2911 2345 2930 2688 2349 1869 1796 2393 1037 2913 2394 1877 2294 2393 1037 2913 2349 1869 1796 2395 2439 3077 2396 3216 3011 2320 3447 1016 2307 3448 3010 2320 3447 1016 2396 3216 3011 2405 2998 411 2411 1887 409 2404 2945 410 2410 1888 408 2404 2945 410 2411 1887 409 2430 2953 412 2412 2447 414 2429 2947 413 2407 1883 415 2429 2947 413 2412 2447 414 2441 3219 416 2442 1964 418 2399 2944 417 2398 2997 419 2399 2944 417 2442 1964 418 2413 2443 420 2454 1069 422 2414 1044 421 2453 1056 423 2414 1044 421 2454 1069 422 2436 1943 424 2459 1942 426 2416 1050 425 2458 2446 427 2416 1050 425 2459 1942 426 2472 2450 428 2471 3220 430 2467 2449 429 2466 2954 431 2467 2449 429 2471 3220 430 2447 1895 435 2440 3218 433 2482 1085 434 2481 1086 432 2482 1085 434 2440 3218 433 2473 1065 436 2491 1898 437 2472 2450 428 2490 1070 438 2472 2450 428 2491 1898 437 2423 2445 439 2506 1095 441 2424 3231 440 2508 1093 442 2424 3231 440 2506 1095 441 2471 3220 430 2489 1072 444 2514 1103 443 2515 1102 445 2514 1103 443 2489 1072 444 2517 3449 446 2522 2454 448 2494 1077 447 2519 1078 449 2494 1077 447 2522 2454 448 2533 1909 450 2531 1910 452 2480 1957 451 2478 2955 453 2480 1957 451 2531 1910 452 2540 1912 454 2488 1084 456 2539 1913 455 2486 2959 457 2539 1913 455 2488 1084 456 2546 1094 458 2506 1095 441 2547 2456 459 2507 1900 460 2547 2456 459 2506 1095 441 2511 1098 461 2551 1099 462 2507 1900 460 2547 2456 459 2507 1900 460 2551 1099 462 2553 2458 463 2513 3222 465 2554 1101 464 2514 1103 443 2554 1101 464 2513 3222 465 2522 2454 448 2517 3450 446 2557 2461 467 2558 2460 466 2557 2461 467 2517 3450 446 2579 1130 468 2585 1189 470 2580 2463 469 2586 2465 471 2580 2463 469 2585 1189 470 2568 1916 472 2563 1917 474 2594 2468 473 2593 1174 475 2594 2468 473 2563 1917 474 2562 1109 476 2606 1116 478 2588 1111 477 2605 1118 479 2588 1111 477 2606 1116 478 2613 2973 483 2615 1162 481 2571 2971 482 2572 1164 480 2571 2971 482 2615 1162 481 2610 1119 484 2622 1126 486 2611 1920 485 2623 1923 487 2611 1920 485 2622 1126 486 2561 1106 488 2636 1147 490 2564 1104 489 2635 1145 491 2564 1104 489 2636 1147 490 2607 2471 492 2620 2475 494 2642 1149 493 2644 1151 495 2642 1149 493 2620 2475 494 2651 2476 496 2650 2980 498 2658 1140 497 2657 1141 499 2658 1140 497 2650 2980 498 2616 1120 500 2578 3451 502 2671 2477 501 2667 2987 503 2671 2477 501 2578 3346 502 2679 2984 504 2678 1143 506 2655 3225 505 2657 1141 499 2655 3225 505 2678 1143 506 2685 2481 507 2683 2482 509 2684 3226 508 2656 3227 510 2684 3226 508 2683 2482 509 2643 2483 511 2696 2484 513 2639 1129 512 2692 3347 514 2639 1129 512 2696 2484 513 2653 2480 515 2687 3348 516 2683 2482 509 2702 3228 517 2683 2482 509 2687 3348 516 2708 1194 518 2693 1192 520 2706 2989 519 2691 2985 521 2706 2989 519 2693 1192 520 2705 1934 522 2711 2990 524 2690 1932 523 2696 2484 513 2690 1932 523 2711 2990 524 2714 2991 525 2699 2986 527 2715 1158 526 2700 1159 528 2715 1158 526 2699 2986 527 2719 1165 531 2720 1163 530 2411 1887 409 2455 1057 529 2411 1887 409 2720 1163 530 2735 1966 532 2732 2487 533 2442 1964 418 2398 2997 419 2442 1964 418 2732 2487 533 2738 2488 534 2739 1177 536 2474 1063 535 2492 2451 537 2474 1063 535 2739 1177 536 2597 1113 538 2596 1112 540 2422 2491 539 2722 1945 541 2422 2491 539 2596 1112 540 2629 3224 542 2634 2489 544 2737 3229 543 2738 2488 545 2737 3229 543 2634 2489 544 2615 1162 481 2576 3223 547 2720 1163 546 2726 1940 548 2720 1163 546 2576 3223 547 2745 1948 549 2746 2492 551 2437 2949 550 2422 2491 552 2437 2949 550 2746 2492 551 2748 1953 553 2749 2493 555 2751 1955 554 2752 2494 556 2751 1955 554 2749 2493 555 2755 2495 557 2758 2496 559 2754 1956 558 2757 1958 560 2754 1956 558 2758 2496 559 2724 1184 561 2438 2490 563 2761 2497 562 2760 1959 564 2761 2497 562 2438 2490 563 2502 1171 565 2765 2498 567 2501 3232 566 2764 3001 568 2501 3232 566 2765 2498 567 2766 1199 569 2767 1200 571 2743 3233 570 2687 2499 572 2743 3233 570 2767 1200 571 2777 1969 573 2770 1967 575 2778 2500 574 2771 2501 576 2778 2500 574 2770 1967 575 2785 1973 577 2786 586 579 2783 1218 578 2784 588 580 2783 1218 578 2786 586 579 2799 1974 581 2805 2503 583 2800 1221 582 2806 1220 584 2800 1221 582 2805 2503 583 2823 1214 585 2821 1211 587 2824 579 586 2822 580 588 2824 579 586 2821 1211 587 2813 1973 589 2823 1214 585 2815 1975 590 2825 1215 591 2815 1975 590 2823 1214 585 2815 1975 590 2825 1215 591 2831 1976 592 2836 2502 593 2831 1976 592 2825 1215 591 2853 2507 1874 2851 3005 1872 2846 2509 1191 2844 3006 1190 2846 2509 1191 2851 3005 1872 2869 3452 1193 2870 3453 2732 2868 3454 3078 2867 3455 3017 2868 3454 3078 2870 3453 2732 2871 3456 3079 2873 3457 3080 2872 3458 1195 2874 3459 1196 2872 3458 1195 2873 3457 3080 2864 1991 1878 2863 1992 1199 2866 3460 3081 2865 3461 2916 2866 3460 3081 2863 1992 1199 2881 1994 1879 2893 1993 1206 2883 3462 2314 2896 3463 1207 2883 3462 2314 2893 1993 1206 2898 3464 1210 2900 3011 1211 2885 3465 2316 2887 3013 2318 2885 3465 2316 2900 3011 1211 2916 3016 2740 2915 3466 3082 2906 3015 2739 2903 3467 3083 2906 3015 2739 2915 3466 3082 2916 3468 3084 2919 3469 3085 2917 3470 2319 2920 3471 1216 2917 3470 2319 2919 3469 3085 2921 3472 3086 2923 2518 2741 2922 3473 1217 2924 1249 1896 2922 3473 1217 2923 2518 2741 2973 3474 1227 2971 3475 3087 2974 3475 1226 2972 3476 3088 2974 3475 1226 2971 3475 3087 2960 3477 1229 2949 3478 2334 2962 3479 1231 2951 3480 2335 2962 3479 1231 2949 3478 2334 2956 3481 3089 2965 3482 3090 2955 3482 1235 2966 3483 1909 2955 3482 1235 2965 3482 3090 2938 3484 1237 2970 3485 2743 2937 3486 3091 2969 3487 3026 2937 3486 3091 2970 3485 2743 2939 3488 3092 2941 3489 3093 2940 3490 1239 2942 3491 1240 2940 3490 1239 2941 3489 3093 2934 2030 1913 2933 2031 1243 2936 3492 3094 2935 3461 2922 2936 3492 3094 2933 2031 1243 48 1304 1270 49 2558 2350 47 1309 1275 34 2040 1921 47 1309 1275 49 2558 2350 36 30 31 35 2039 1920 51 1280 1244 50 2557 2349 51 1280 1244 35 2039 1920 52 13 13 69 2559 2355 53 15 15 68 1281 1246 53 15 15 69 2559 2355 86 21 2353 76 2560 2352 74 23 2356 75 2561 2354 74 23 2356 76 2560 2352 69 2559 2351 70 1285 1249 74 23 23 73 22 22 74 23 23 70 1285 1249 92 1286 1250 38 14 14 93 2048 1929 39 2032 1914 93 2048 1929 38 14 14 27 1288 1253 103 1287 1252 26 39 3031 104 102 3032 26 39 3031 103 1287 1252 28 33 34 114 2562 2357 29 31 32 112 1310 1276 29 31 32 114 2562 2357 25 40 41 24 3033 2756 117 42 43 118 2564 2359 117 42 43 24 3033 2756 31 37 38 30 38 39 122 45 2360 113 73 75 122 45 2360 30 38 39 128 1297 1263 125 1298 1264 129 2565 2361 127 46 48 129 2565 2361 125 1298 1264 134 2566 2362 17 2563 2358 132 50 52 16 2042 1924 132 50 52 17 2563 2358 141 1299 1265 139 78 80 96 3255 2924 95 3256 2925 96 3255 2924 139 78 80 146 1301 1267 147 1314 1280 124 1303 1269 126 47 49 124 1303 1269 147 1314 1280 56 2034 1916 151 2054 1935 65 2036 1918 153 2568 2364 65 2036 1918 151 2054 1935 153 2568 2364 157 69 71 65 2036 1918 78 67 69 65 2036 1918 157 69 71 160 108 111 162 2057 1939 101 36 37 30 38 39 101 36 37 162 2057 1939 22 3260 2927 121 2043 1926 165 2569 2365 168 2570 2366 165 2569 2365 121 2043 1926 171 77 79 158 2056 1938 139 78 80 95 3256 2925 139 78 80 158 2056 1938 175 725 2370 197 123 126 174 81 83 196 83 85 174 81 83 197 123 126 206 130 133 195 730 3095 205 128 131 193 731 1294 205 128 131 195 730 3095 5 2067 3096 214 1321 1288 4 1330 2931 213 1319 1286 4 1330 2931 214 1321 1288 6 3375 1946 217 1322 1289 5 2067 3096 214 1321 1288 5 2067 3096 217 1322 1289 225 112 115 226 3043 2766 230 110 113 231 1324 1291 230 110 113 226 3043 2766 234 1328 1295 236 744 1296 204 1315 1281 182 745 1282 204 1315 1281 236 744 1296 100 32 33 241 2073 1956 102 34 35 242 2583 2379 102 34 35 241 2073 1956 246 2584 2381 106 3032 2755 245 101 103 105 103 105 245 101 103 106 3032 2755 250 105 2382 251 109 112 110 35 36 101 36 37 110 35 36 251 109 112 248 2069 1953 109 3261 2928 254 2587 2385 163 3040 2762 254 2587 2385 109 3261 2928 256 2589 2387 10 2071 3033 212 87 89 0 86 88 212 87 89 10 2070 3033 268 118 121 267 767 1306 270 2078 1960 269 766 2390 270 2078 1960 267 767 1306 263 2077 1959 276 2591 2391 264 2076 1958 275 3050 2772 264 2076 1958 276 2591 2391 282 1339 1308 281 122 125 198 2572 2369 197 123 126 198 2572 2369 281 122 125 203 82 84 287 1344 1313 202 124 127 286 125 128 202 124 127 287 1344 1313 205 128 131 234 1328 1295 290 129 132 291 1347 1316 290 129 132 234 1328 1295 294 135 138 295 3264 2933 310 134 137 311 1348 1317 310 134 137 295 3264 2933 317 787 1322 316 1353 1323 306 788 2031 304 2143 2032 306 788 2031 316 1353 1323 328 2095 1979 316 1353 1323 327 192 197 305 1352 1321 327 192 197 316 1353 1323 315 146 149 334 147 150 302 2643 2459 336 1356 1326 302 2643 2459 334 147 150 338 1357 1327 343 1358 1328 220 3054 2778 222 2596 2397 220 3054 2778 343 1358 1328 351 2606 2779 352 2598 2399 348 2086 1968 349 153 156 348 2086 1968 352 2598 2399 360 2601 2402 219 2602 2403 359 1364 1334 208 1362 1332 359 1364 1334 219 2602 2403 359 1364 1334 368 226 230 360 2601 2402 369 228 232 360 2601 2402 368 226 230 383 812 2797 381 1368 1338 382 813 2408 380 1366 1336 382 813 2408 381 1368 1338 394 168 171 397 1371 1341 395 170 173 398 1383 1352 395 170 173 397 1371 1341 406 2605 2410 348 2086 2409 405 1373 1343 345 1374 1345 405 1373 1343 348 2086 2409 415 2092 1975 402 1372 1342 414 181 186 401 1375 1346 414 181 186 402 1372 1342 412 173 178 419 2090 1973 422 1377 1348 424 2105 1990 422 1377 1348 419 2090 1973 409 3062 2788 408 175 180 431 1380 1350 413 174 179 431 1380 1350 408 175 180 439 1384 2938 438 185 3097 434 3063 2789 433 183 2935 434 3063 2789 438 185 3097 321 195 3098 445 2612 2417 337 2093 1977 442 186 191 337 2093 1977 445 2612 2417 459 2102 2419 458 1386 1355 386 2613 2418 332 1387 1356 386 2613 2418 458 1386 1355 445 2612 2417 321 195 3098 465 2614 2420 464 194 2421 465 2614 2420 321 195 3098 449 200 203 448 199 204 470 3380 2424 471 3070 2792 470 3380 2424 448 199 204 479 207 211 480 1393 1360 474 1391 1358 470 2618 2424 474 1391 1358 480 1393 1360 481 2619 2425 480 1393 1360 428 2091 1974 427 1392 1359 428 2091 1974 480 1393 1360 488 212 216 467 2100 1984 487 1394 1994 460 1395 1986 487 1394 1994 467 2100 1984 495 1396 1363 496 215 219 490 1397 1364 491 2621 2428 490 1397 1364 496 215 219 475 2111 1997 471 3070 2792 503 1400 1367 498 1401 1368 503 1400 1367 471 3070 2792 507 2622 2793 506 1402 1371 512 225 2000 511 1403 1372 512 225 2000 506 1402 1371 514 875 2794 390 877 1971 515 2623 2431 391 167 170 515 2623 2431 390 877 1971 370 1406 1375 522 1407 1376 371 2624 2432 523 2625 2433 371 2624 2432 522 1407 1376 377 165 168 531 1408 1377 375 163 166 532 2629 2437 375 163 166 531 1408 1377 522 1407 1376 521 229 233 540 238 242 539 1409 1378 540 238 242 521 229 233 530 231 235 548 1410 1379 531 1408 1377 549 243 247 531 1408 1377 548 1410 1379 542 1411 1380 556 1412 1381 543 894 2799 557 896 2443 543 894 2799 556 1412 1381 535 1414 1383 565 1413 1382 536 2115 2003 566 2632 2442 536 2115 2003 565 1413 1382 555 241 245 573 1415 1384 556 1412 1381 574 253 257 556 1412 1381 573 1415 1384 582 1416 1385 567 257 261 564 244 248 565 1413 1382 564 244 248 567 257 261 578 2634 2445 577 1417 1386 592 267 271 591 268 272 592 267 271 577 1417 1386 599 2124 2012 602 913 2447 600 1422 1391 603 914 2804 600 1422 1391 602 913 2447 587 262 266 586 265 269 610 261 265 611 266 270 610 261 265 586 265 269 617 1428 1397 615 1424 1393 597 259 263 598 258 262 597 259 263 615 1424 1393 583 1420 1389 616 1425 1394 614 2636 2449 625 274 278 614 2636 2449 616 1425 1394 634 281 285 628 928 2806 633 279 283 627 1427 1396 633 279 283 628 928 2806 615 1424 1393 617 1428 1397 629 2638 2452 642 1429 1398 629 2638 2452 617 1428 1397 636 2637 2450 635 934 2451 652 2134 2022 651 935 3036 652 2134 2022 635 934 2451 646 2640 2454 645 1431 1400 660 1434 1403 659 2 2 660 1434 1403 645 1431 1400 655 1432 1401 668 4 4 656 2133 2021 669 3 3 656 2133 2021 668 4 4 676 941 2808 681 943 2458 677 3076 2809 682 2642 2456 677 3076 2809 681 943 2458 680 291 295 685 1 1 657 283 287 658 0 0 657 283 287 685 1 1 689 296 300 690 5 5 667 288 292 668 4 4 667 288 292 690 5 5 302 2643 2459 336 1356 1326 696 302 306 695 303 307 696 302 306 336 1356 1326 294 135 138 704 1436 1405 295 3264 2933 691 2645 2461 295 3264 2933 704 1436 1405 698 2648 2463 697 1437 1406 713 1460 1428 712 1438 1407 713 1460 1428 697 1437 1406 736 2653 2465 735 1439 1408 722 2651 2466 721 1440 1409 722 2651 2466 735 1439 1408 743 1442 1411 729 1441 1410 744 2654 2467 730 2656 2469 744 2654 2467 729 1441 1410 757 1443 1412 758 3272 2942 754 314 318 755 3493 319 754 314 318 758 3272 2942 766 319 322 748 321 324 767 1446 1415 749 324 327 767 1446 1415 748 321 324 772 1448 326 752 3494 321 773 1450 1418 755 3493 319 773 1450 1418 752 3495 321 729 1441 1410 728 313 317 777 1452 1420 776 328 331 777 1452 1420 728 313 317 781 1455 1423 779 330 333 735 1439 1408 734 306 310 735 1439 1408 779 330 333 784 333 336 738 332 335 785 1458 1426 739 3078 2812 785 1458 1426 738 332 335 743 1442 1411 789 1459 1427 742 312 316 788 336 339 742 312 316 789 1459 1427 798 346 349 795 1461 1429 797 2664 2480 796 1463 1431 797 2664 2480 795 1461 1429 812 342 345 816 2667 2483 814 1466 1434 815 2669 2485 814 1466 1434 816 2667 2483 827 3275 3099 799 2665 2481 828 3496 2487 797 2664 2480 828 2671 2487 799 2665 2481 812 342 345 824 1470 1437 816 2675 2483 825 2673 2489 816 2675 2483 824 1470 1437 836 2679 2492 837 383 386 834 1473 1440 833 1471 1438 834 1473 1440 837 383 386 835 1474 1441 858 2161 2048 834 1473 1440 859 2162 2049 834 1473 1440 858 2161 2048 855 362 365 856 1479 1446 867 364 367 869 1480 1447 867 364 367 856 1479 1446 874 1509 1470 875 2682 2495 845 1508 1469 844 3277 2944 845 1508 1469 875 2682 2495 878 370 373 870 369 372 877 2166 2053 853 2693 2509 877 2166 2053 870 369 372 893 375 378 894 376 379 897 377 380 898 378 381 897 377 380 894 376 379 906 2175 2061 896 1482 1449 914 1484 1451 911 1486 1453 914 1484 1451 896 1482 1449 902 2170 2056 912 380 383 921 1490 1457 920 1489 1456 921 1490 1457 912 380 383 832 3497 1439 833 3497 1438 929 387 3100 928 391 1458 929 387 3100 833 1471 1438 881 1497 1463 931 1493 1459 904 3279 2945 930 1495 1461 904 3279 2945 931 1493 1459 880 3498 393 883 3278 2060 931 1493 1459 882 1494 1460 931 1493 1459 883 3278 2060 936 1503 1465 856 1502 1446 855 362 365 936 3499 1465 855 362 365 937 2690 2504 849 2692 2507 943 401 2506 844 3277 2944 942 2695 2946 844 3277 2944 943 401 2506 947 3500 2510 891 2684 2497 923 3501 2500 916 2683 2496 923 1510 2500 891 2684 2497 964 421 421 969 1511 1050 965 2738 1049 970 2739 1051 965 2738 1049 969 1511 1050 981 1514 1052 966 425 425 982 3502 1053 971 3503 1054 982 3502 1053 966 425 425 952 1516 1055 978 2698 1057 994 1517 1056 995 2699 1058 994 1517 1056 978 2698 1057 1003 423 423 964 421 421 1005 532 529 965 2738 1049 1005 532 529 964 421 421 998 3105 1059 1011 3107 1061 1000 2700 1060 1012 2701 1062 1000 2700 1060 1011 3107 1061 1019 2191 1063 1018 1522 1064 1024 538 535 1023 436 436 1024 538 535 1018 1522 1064 1027 3285 1065 1033 1523 1067 959 1520 1066 1004 422 422 959 1520 1066 1033 1523 1067 1045 1530 1069 1047 2705 1068 1039 444 444 1040 438 438 1039 444 444 1047 2705 1068 1060 3112 1070 998 3105 1059 1059 1527 1071 996 1525 1072 1059 1527 1071 998 3105 1059 1044 450 447 1050 2235 1073 1069 449 449 1068 2708 1074 1069 449 449 1050 2235 1073 1074 2711 1075 1046 1534 1077 1037 3385 1076 1038 457 456 1037 3385 1076 1046 1534 1077 1032 434 434 1085 2201 1078 1031 432 432 1084 1531 1079 1031 432 432 1085 2201 1078 1091 1535 1080 1046 1534 1077 1092 1540 1081 1073 2710 1082 1092 1540 1081 1046 1534 1077 1098 2234 1083 1096 459 458 1058 442 442 1056 441 441 1058 442 442 1096 459 458 1055 3287 1084 1061 462 461 1095 2198 1085 1101 463 462 1095 2198 1085 1061 462 461 1105 2714 1086 1065 445 445 1104 465 464 1064 443 443 1104 465 464 1065 445 445 1114 491 489 1111 490 488 1115 2716 1087 1110 2715 1088 1115 2716 1087 1111 490 488 1117 2727 1089 1139 2717 1090 1112 478 476 1138 479 477 1112 478 476 1139 2717 1090 1146 543 540 1127 2209 1091 1147 541 538 1132 2210 1092 1147 541 538 1127 2209 1091 1156 480 478 1155 481 479 1158 2212 1093 1160 486 484 1158 2212 1093 1155 481 479 1166 1552 500 1167 1551 1095 1119 1561 1094 1140 3114 1096 1119 1561 1094 1167 1551 1095 1171 2213 1097 1172 488 486 1176 2729 1098 1177 2722 1099 1176 2729 1098 1172 488 486 1124 3115 1100 1129 470 468 1189 515 512 1188 2723 1101 1189 515 512 1129 470 468 1175 1557 1102 1195 1558 1104 1180 2725 1103 1196 2726 1105 1180 2725 1103 1195 1558 1104 1112 478 476 1214 1568 1106 1117 2727 1089 1213 1570 1107 1117 2727 1089 1214 1568 1106 1222 1577 1108 1220 1575 1109 1171 2213 1097 1158 2212 1093 1171 2213 1097 1220 1575 1109 1228 509 506 1207 501 499 1230 1563 1110 1208 499 497 1230 1563 1110 1207 501 499 1238 2732 1111 1239 3388 1112 1185 493 491 1186 492 490 1185 493 491 1239 3388 1112 1245 2222 1113 1247 2733 1114 1192 495 493 1194 497 495 1192 495 493 1247 2733 1114 1254 1569 1115 1239 3388 1112 1253 1571 1116 1238 2732 1111 1253 1571 1116 1239 3388 1112 1244 2223 1117 1239 3388 1112 1259 1572 1118 1254 1569 1115 1259 1572 1118 1239 3388 1112 1260 1574 1119 1262 1576 1120 1245 2222 1113 1247 2733 1114 1245 2222 1113 1262 1576 1120 1265 529 526 1266 1578 1121 1250 531 528 1251 2224 1122 1250 531 528 1266 1578 1121 1269 534 1123 1270 533 546 1122 482 480 1165 483 481 1122 482 480 1270 533 546 993 1519 1124 1002 2187 1126 1283 1584 1125 1284 2744 1127 1283 1584 1125 1002 2187 1126 1291 1598 1128 1292 2742 1130 1052 565 1129 1071 2194 1131 1052 565 1129 1292 2742 1130 1143 477 475 1281 1583 1133 1153 2743 1132 1283 1584 1134 1153 2743 1132 1281 1583 1133 1289 539 1135 1290 1585 1137 1202 1559 1136 1209 1560 1138 1202 1559 1136 1290 1585 1137 1149 2720 1139 1148 1596 1141 1273 1590 1140 1274 561 561 1273 1590 1140 1148 1596 1141 1147 541 1142 1132 2210 1144 1297 1591 1143 1142 3387 1145 1297 1591 1143 1132 2210 1144 1300 1592 1149 1303 1593 1147 1135 472 1148 1190 2724 1146 1135 472 1148 1303 1593 1147 1306 1594 1150 1309 1595 1152 1243 523 1151 1258 521 1153 1243 523 1151 1309 1595 1152 1148 1596 1141 1134 2719 1155 1312 1597 1154 1218 2225 1156 1312 1597 1154 1134 2719 1155 1291 1598 1157 1316 569 569 1212 2731 1158 1317 571 571 1212 2731 1158 1316 569 569 1204 2218 1159 1318 1600 1161 1227 3119 1160 1268 3504 1162 1227 3119 1160 1318 1600 1161 1329 1601 1163 1330 3505 1165 1323 1602 1164 1325 3393 1166 1323 1602 1164 1330 3505 1165 1351 1607 1167 1343 587 1169 1352 1972 1168 1344 588 1170 1352 1972 1168 1343 587 1169 1339 1606 1171 1360 1608 1173 1340 1221 1172 1359 1220 1174 1340 1221 1172 1360 1608 1173 1373 585 585 1375 590 1175 1374 586 586 1376 1603 1176 1374 586 586 1375 590 1175 1369 1605 1177 1361 578 1179 1379 1607 1178 1371 587 587 1379 1607 1178 1361 578 1179 1380 1972 1181 1372 588 588 1378 582 1183 1384 584 1182 1378 582 1183 1372 588 588 1372 588 588 1374 586 586 1384 584 1182 1385 1604 1180 1384 584 1182 1374 586 586 1374 586 586 1376 1603 1176 1385 1604 1180 1403 2757 2515 1396 2758 2965 1401 2238 1531 1394 2239 597 1401 2238 1531 1396 2758 2965 1405 600 601 1406 598 599 1413 2246 2107 1414 3506 3101 1413 2246 2107 1406 598 599 1417 3507 3040 1419 3508 3102 1418 3508 1536 1420 3509 3103 1418 3508 1536 1419 3508 3102 1432 3510 607 1430 3511 3104 1431 3137 1538 1429 3138 2838 1431 3137 1538 1430 3511 3104 1439 2260 3105 1440 2261 3106 1438 1633 2971 1437 1629 1544 1438 1633 2971 1440 2261 3106 1447 2258 2120 1445 2259 2121 1452 2262 2524 1451 2263 2974 1452 2262 2524 1445 2259 2121 1462 3141 3107 1464 3142 2525 1454 1626 3041 1460 1624 617 1454 1626 3041 1464 3142 2525 1469 3512 2977 1477 3513 2529 1472 3407 2127 1478 3406 626 1472 3407 2127 1477 3513 2529 1475 3514 3108 1476 3515 3109 1484 3515 2978 1483 3516 1556 1484 3515 2978 1476 3515 3109 1488 3410 3045 1490 3412 3047 1487 3408 1557 1489 3414 1558 1487 3408 1557 1490 3412 3047 1492 3413 3048 1494 2276 2133 1491 3415 1562 1493 2278 1563 1491 3415 1562 1494 2276 2133 1523 2281 1569 1524 3517 2535 1511 2279 641 1510 3518 2982 1511 2279 641 1524 3517 2535 1525 3419 3050 1527 3420 3051 1514 3418 3049 1516 3422 3053 1514 3418 3049 1527 3420 3051 1529 3421 3052 1531 3519 3110 1518 3423 3054 1520 3520 3111 1518 3423 3054 1531 3519 3110 1535 3425 649 1534 3521 650 1536 3410 3056 1533 3411 3112 1536 3410 3056 1534 3521 650 1538 3424 3057 1540 3427 3058 1537 3426 1580 1539 3428 1582 1537 3426 1580 1540 3427 3058 1554 1645 2144 1541 3149 2543 1556 3522 1586 1543 3523 1585 1556 3522 1586 1541 3149 2543 1561 3434 3062 1562 3435 1589 1559 2297 2145 1560 2298 1587 1559 2297 2145 1562 3435 1589 1615 2796 2553 1616 2795 1590 1630 3524 2986 1631 3312 1592 1630 3314 2986 1616 2795 1590 1622 657 664 1633 2789 2549 1621 659 666 1634 2324 2174 1621 659 666 1633 2789 2549 1624 661 668 1643 3525 681 1623 663 670 1644 2310 2158 1623 663 670 1643 2311 681 1637 2791 2850 1652 2790 3063 1638 711 720 1651 715 724 1638 711 720 1652 2790 3063 1641 667 674 1640 2307 2153 1648 671 678 1649 670 677 1648 671 678 1640 2307 2153 1669 703 712 1615 2785 2545 1668 705 714 1614 2784 2544 1668 705 714 1615 2785 2545 1679 752 762 1678 753 763 1597 688 697 1598 686 695 1597 688 697 1678 753 763 1600 678 687 1601 682 691 1688 2800 2556 1687 684 693 1688 2800 2556 1601 682 691 1597 688 697 1691 689 698 1596 2316 2164 1692 2801 2557 1596 2316 2164 1691 689 698 1596 2316 2164 1692 2801 2557 1618 1698 1618 1696 1699 1619 1618 1698 1618 1692 2801 2557 1588 2318 2166 1703 2802 2558 1587 1683 1602 1701 694 703 1587 1683 1602 1703 2802 2558 1666 675 684 1665 674 683 1708 1689 1608 1706 1690 1609 1708 1689 1608 1665 674 683 1713 1693 1613 1715 1692 1611 1716 2804 2561 1713 1693 1613 1716 2804 2561 1714 702 2560 1606 1673 1591 1722 2328 2178 1632 1675 1593 1721 2325 2175 1632 1675 1593 1722 2328 2178 1728 2807 2563 1727 2808 2564 1654 3319 2987 1653 3526 2552 1654 3319 2987 1727 3527 2564 1725 2326 2176 1728 2807 2563 1635 2788 2548 1654 3319 2987 1635 2788 2548 1728 2807 2563 1738 720 729 1595 719 728 1736 760 770 1682 759 769 1736 760 770 1595 719 728 1694 721 730 1741 722 731 1584 3161 2858 1742 2809 2565 1584 3161 2858 1741 722 731 1584 3161 2858 1742 2809 2565 1717 3164 2861 1745 2810 2566 1717 3164 2861 1742 2809 2565 1760 775 784 1761 2355 2207 176 1701 1621 177 115 3066 176 1701 1621 1761 2355 2207 1771 1704 1624 1772 1705 1625 1617 2822 2990 1574 2820 3064 1617 2822 2990 1772 1705 1625 1576 1722 2993 1777 1708 1628 1577 734 744 1775 732 742 1577 734 744 1777 1708 1628 1781 1709 1629 1770 3175 2870 1780 1710 1630 1769 2340 2190 1780 1710 1630 1770 3175 2870 1794 1714 1634 1789 3170 2868 1793 741 751 1788 740 750 1793 741 751 1789 3170 2868 1797 1717 1636 1798 1718 1637 1755 1738 1656 1779 736 746 1755 1738 1656 1798 1718 1637 1675 747 757 1676 680 689 1803 749 759 1804 2819 2575 1803 749 759 1676 680 689 1679 752 762 1680 2315 2163 1807 750 760 1808 2821 2577 1807 750 760 1680 2315 2163 1680 2315 2163 1684 2314 2162 1808 2821 2577 1813 2823 2579 1808 2821 2577 1684 2314 2162 1815 758 768 1813 2823 2579 1736 760 770 1684 2314 2162 1736 760 770 1813 2823 2579 1822 2824 2580 1821 1729 1647 1816 2826 2582 1817 3332 771 1816 2826 2582 1821 1729 1647 1830 2827 2583 273 3263 3113 1829 1730 1648 271 1731 1649 1829 1730 1648 273 3263 3113 1833 1733 1651 1834 2828 2584 1823 1732 1650 1822 2824 2580 1823 1732 1650 1834 2828 2584 1760 775 784 1838 774 783 1761 2355 2207 1839 1734 1652 1761 2355 2207 1838 774 783 1843 779 788 1836 1737 1655 1765 777 786 1758 727 737 1765 777 786 1836 1737 1655 1796 742 752 1847 782 791 1766 743 753 1844 1739 1657 1766 743 753 1847 782 791 1864 1742 1660 1851 3202 2898 1863 786 795 1850 785 794 1863 786 795 1851 3202 2898 319 3265 2995 307 1351 2209 1870 2838 2593 1860 793 802 1870 2838 2593 307 1351 2209 1860 793 802 1877 792 801 1870 2838 2593 1880 2381 2235 1870 2838 2593 1877 792 801 1871 839 3070 1858 3438 3067 1886 840 1665 1884 1748 1667 1886 840 1665 1858 3438 3067 1895 2840 2595 1894 822 2876 1891 2363 2216 1890 2371 3068 1891 2363 2216 1894 822 2876 1902 2366 2219 1899 1751 1670 1770 806 815 1801 2364 2217 1770 806 815 1899 1751 1670 1845 2844 2599 1911 2843 2598 1757 1753 1672 1910 1754 1673 1757 1753 1672 1911 2843 2598 1911 2843 2598 1919 880 889 1910 1754 1673 1918 879 888 1910 1754 1673 1919 880 889 1930 844 854 1929 1757 1676 1882 846 856 1881 1758 1677 1882 846 856 1929 1757 1676 1937 818 827 1938 819 828 1927 815 824 1925 2369 2222 1927 815 824 1938 819 828 1903 2841 3069 1943 3185 2881 1900 802 1679 1947 1759 1680 1900 802 1679 1943 3185 2881 1946 820 829 1957 2854 2610 1945 821 830 1956 1760 1681 1945 821 830 1957 2854 2610 1958 1761 1682 1965 1762 1683 1957 2854 2610 1966 2387 2242 1957 2854 2610 1965 1762 1683 1973 838 848 1974 836 846 1923 1764 3000 1949 831 841 1923 1764 3000 1974 836 846 1975 2855 2611 1974 836 846 1980 1765 3001 1979 835 845 1980 1765 3001 1974 836 846 1984 2380 2233 1987 1777 1701 1983 1766 1689 1986 1767 1690 1983 1766 1689 1987 1777 1701 1858 3438 3067 2002 2383 2238 1867 794 803 2001 2859 2614 1867 794 803 2002 2383 2238 1986 1767 1690 2006 2860 2615 1985 841 851 2005 847 857 1985 841 851 2006 2860 2615 1991 2862 2241 2012 1770 1695 1990 2861 2617 2013 1772 1697 1990 2861 2617 2012 1770 1695 2021 859 868 1989 1774 859 2022 1776 1700 2008 2384 2239 2022 1776 1700 1989 3528 859 1969 1775 1699 2022 1776 1700 1961 2865 2619 2023 2864 2618 1961 2865 2619 2022 1776 1700 2028 865 874 489 1399 2246 2024 2866 2620 484 2106 2885 2024 2866 2620 489 1399 2246 2031 2867 2621 2035 870 879 2030 1779 2886 2034 1780 2248 2030 1779 2886 2035 870 879 2037 2868 2623 2041 873 882 2036 1781 1705 2040 1782 1706 2036 1781 1705 2041 873 882 2013 1772 1697 2047 1784 1709 1990 2861 2617 2043 1785 1711 1990 2861 2617 2047 1784 1709 1981 2856 2612 1934 1786 1713 2050 2870 2887 2049 1787 1714 2050 2870 2887 1934 1786 1713 373 3268 2999 525 2876 2633 1920 1788 1715 2057 1789 1716 1920 1788 1715 525 2876 2633 1913 1791 1718 1914 2875 2632 2064 1790 1717 2065 2874 2631 2064 1790 1717 1914 2875 2632 2057 1789 1716 2073 893 902 2056 882 891 2072 1792 1719 2056 882 891 2073 893 902 2063 886 895 2064 1790 1717 2079 1793 1720 2066 897 906 2079 1793 1720 2064 1790 1717 2086 1795 1722 2074 1794 1721 2087 2878 2635 2075 2879 2636 2087 2878 2635 2074 1794 1721 2092 899 908 2093 900 909 2094 906 915 2095 2400 2261 2094 906 915 2093 900 909 2102 909 918 576 1418 2259 2086 1795 1722 558 1797 1724 2086 1795 1722 576 1418 2259 2109 1801 1729 2097 1802 1730 2110 2882 2639 2098 2881 2638 2110 2882 2639 2097 1802 1730 2105 2884 2641 2117 2885 2642 2104 1804 1732 2116 1803 1731 2104 1804 1732 2117 2885 2642 2125 2401 2262 2113 3195 2891 606 2886 2643 589 254 3071 606 2886 2643 2113 3195 2891 2132 1808 1736 2109 1801 1729 2131 1810 1738 2110 2882 2639 2131 1810 1738 2109 1801 1729 2119 1811 1739 2137 1812 1740 2118 2883 2640 2138 2887 2644 2118 2883 2640 2137 1812 1740 2128 1813 1741 2124 1805 1733 2144 1814 1742 2145 927 936 2144 1814 1742 2124 1805 1733 2151 932 942 2142 1815 1743 2152 1818 1747 2141 2891 2648 2152 1818 1747 2142 1815 1743 2147 2892 2649 2160 938 948 2146 930 940 2159 1816 1745 2146 930 940 2160 938 948 2153 2890 2647 2167 2404 2265 2152 1818 1747 2166 1819 1748 2152 1818 1747 2167 2404 2265 2162 1820 1749 2163 2895 2652 2174 1821 1750 2175 1824 1753 2174 1821 1750 2163 2895 2652 2158 1817 1746 2170 945 955 2164 1822 1751 2181 1823 1752 2164 1822 1751 2170 945 955 2191 2898 2656 2190 944 954 2187 3199 2895 2186 942 952 2187 3199 2895 2190 944 954 686 2899 2657 664 3269 3002 2194 2900 2658 2176 3198 2894 2194 2900 2658 664 3269 3002 2185 1827 1756 2197 10 10 2181 1823 1752 2180 9 9 2181 1823 1752 2197 10 10 1996 2901 2659 2205 953 963 2003 1828 1757 2204 955 965 2003 1828 1757 2205 953 963 2199 2903 2661 2212 3529 2662 2198 952 962 2211 2914 1759 2198 952 962 2212 2912 2662 2207 2905 2665 2220 2906 2666 2206 1832 1760 2219 1833 1761 2206 1832 1760 2220 2906 2666 2238 985 994 2226 2413 2275 2237 1834 1762 2225 1835 1763 2237 1834 1762 2226 3205 2275 2233 1839 1765 2245 1838 1764 732 3271 3114 746 341 3073 732 3271 3114 2245 1838 1764 2254 1840 1766 2252 965 975 2255 3338 3004 2253 967 977 2255 3338 3004 2252 965 975 768 1844 1771 2260 1845 1772 732 3271 3114 2233 1839 1765 732 3271 3114 2260 1845 1772 2264 974 984 2265 1848 1775 2251 968 978 2253 967 977 2251 968 978 2265 1848 1775 2269 2911 2672 2224 958 968 2262 3339 2903 2225 1837 1763 2262 3339 2903 2224 958 968 2235 959 969 2271 980 989 2236 957 967 2272 1850 1777 2236 957 967 2271 980 989 2275 984 993 2276 1852 1779 2239 986 995 2240 3203 2899 2239 986 995 2276 1852 1779 2279 988 997 2280 1854 1781 2243 961 971 2244 962 972 2243 961 971 2280 1854 1781 2289 1855 1782 2291 2918 2676 2288 1856 1783 2290 2919 2677 2288 1856 1783 2291 2918 2676 2286 993 1002 2288 1856 1783 2310 1857 1784 2296 2920 2678 2310 1857 1784 2288 1856 1783 2314 2938 2697 2321 2922 2680 2304 1875 1802 2318 2421 2282 2304 1875 1802 2321 2922 2680 2325 1003 1012 2294 1004 1013 2326 2923 2681 2299 1036 1042 2326 2923 2681 2294 1004 1013 2334 1863 1790 2335 2926 2684 2332 1031 1039 2333 1030 1038 2332 1031 1039 2335 2926 2684 2346 1014 1023 2342 1862 1789 2356 1016 1025 2355 1864 1791 2356 1016 1025 2342 1862 1789 2339 1870 1797 2338 3340 3005 2366 1042 1048 2367 1865 1792 2366 1042 1048 2338 3340 3005 2348 1012 1021 2362 1019 1028 2369 1868 1795 2370 1020 1029 2369 1868 1795 2362 1019 1028 2337 2932 2683 2339 1870 1797 2375 2934 2691 2374 1871 1798 2375 2934 2691 2339 1870 1797 2382 1872 1799 2380 1028 1036 2357 3445 3075 2354 1026 1034 2357 3445 3075 2380 1028 1036 2352 1017 1026 2351 2927 2685 2386 1873 1800 2387 1035 2694 2386 3530 1800 2351 2927 2685 2314 2938 2697 2304 1875 1802 2389 2940 2699 2388 1876 1803 2389 3531 2699 2304 1875 1802 2394 1877 1804 2395 2439 3077 2303 1878 1017 2320 3447 1016 2303 3532 1017 2395 2439 3077 2294 1004 1013 2295 1002 1011 2392 1038 1044 2397 3533 2296 2392 1038 1044 2295 1002 1011 2420 1047 1051 2427 1954 2947 2419 1046 1050 2426 1882 1807 2419 1046 1050 2427 1954 2947 2412 2447 414 2435 2448 1474 2407 1883 415 2434 1884 1808 2407 1883 415 2435 2448 1474 2449 3534 2948 2441 3219 416 2440 3218 433 2440 3218 433 2447 1895 435 2449 3534 2948 2457 2951 2068 2456 2950 1817 2431 1048 1052 2417 1901 1472 2431 1048 1052 2456 2950 1817 2451 1889 1809 2452 1168 1126 2463 1890 1810 2464 2993 2069 2463 1890 1810 2452 1168 1126 2475 1894 1813 2403 1892 1812 2477 1066 1065 2409 1067 1066 2477 1066 1065 2403 1892 1812 2460 1896 1814 2484 1897 1815 2465 2956 2701 2485 2957 2071 2465 2956 2701 2484 1897 1815 2492 2451 537 2499 1946 1508 2491 1898 437 2498 1899 1816 2491 1898 437 2499 1946 1508 2408 2952 2066 2505 1096 1084 2456 3535 1817 2511 1098 461 2456 1902 1817 2505 1096 1084 2520 2962 2070 2501 3232 2949 2518 1080 1074 2500 1079 1073 2518 1080 1074 2501 3232 2949 2526 1961 1852 2525 1903 1818 2493 3536 1819 2523 1091 1082 2493 3536 1819 2525 1903 1818 2530 1911 1820 2477 1066 1065 2536 1905 1482 2483 1068 1067 2536 1905 1482 2477 1066 1065 2504 2452 1477 2544 2965 2705 2503 2960 2703 2543 2966 2072 2503 2960 2703 2544 2965 2705 2549 2967 2075 2544 2965 2705 2509 1075 1071 2504 2452 1477 2509 1075 1071 2544 2965 2705 2550 2968 2074 2510 1074 1070 2552 2969 2077 2512 2961 2704 2552 2969 2077 2510 1074 1070 2556 2970 2078 2555 1100 1086 2516 2453 1478 2515 1102 445 2516 2453 1478 2555 1100 1086 2570 2474 1496 2571 2971 482 2564 1104 489 2565 1105 1087 2564 1104 489 2571 2971 482 2569 1121 1094 2567 1108 1089 2590 1123 1096 2589 1110 1090 2590 1123 1096 2567 1108 1089 2561 1106 488 2560 1107 1088 2600 2469 1491 2601 1971 1490 2600 2469 1491 2560 1107 1088 2604 1919 1822 2611 1920 485 2603 1175 1132 2612 1947 1493 2603 1175 1132 2611 1920 485 2617 1122 1095 2590 1123 1096 2618 1922 1823 2573 2466 1487 2618 1922 1823 2590 1123 1096 2623 1923 487 2628 1924 1824 2624 2473 1494 2629 3224 542 2624 2473 1494 2628 1924 1824 2600 2469 1491 2641 2978 2084 2561 1106 488 2636 1147 490 2561 1106 488 2641 2978 2084 2632 2977 2708 2631 2976 2707 2650 2980 498 2649 2983 2083 2650 2980 498 2631 2976 2707 2583 1918 2709 2666 2981 2086 2578 3346 502 2667 2987 503 2578 3346 502 2666 2981 2086 2673 1928 1828 2674 2982 2087 2626 1125 1098 2631 2976 2707 2626 1125 1098 2674 2982 2087 2659 1180 1138 2658 1140 497 2681 1929 1829 2680 1142 1110 2681 1929 1829 2658 1140 497 2639 1129 512 2692 3347 514 2638 1131 1101 2691 2985 521 2638 1131 1101 2692 3347 514 2698 1933 1831 2645 1134 1104 2699 2986 527 2646 1135 1105 2699 2986 527 2645 1134 1104 2703 1153 1116 2705 1934 522 2688 1144 1111 2690 1932 523 2688 1144 1111 2705 1934 522 2695 1148 1113 2710 1156 1119 2694 1154 1117 2709 1155 1118 2694 1154 1117 2710 1156 1119 2697 1150 1114 2698 1933 1831 2712 1157 1120 2713 1936 1832 2712 1157 1120 2698 1933 1831 2702 3228 517 2717 1937 1833 2701 1161 1122 2716 1160 1121 2701 1161 1122 2717 1937 1833 2727 1941 1836 2725 2995 2950 2420 1047 1051 2427 1954 2947 2420 1047 1051 2725 2995 2950 2728 2996 2951 2435 2448 1474 2729 1944 1837 2459 1942 426 2729 1944 1837 2435 2448 1474 2726 1940 548 2576 3223 547 2727 1941 2714 2581 2462 1485 2727 1941 2714 2576 3223 547 2619 2975 2706 2729 1944 2716 2596 1112 540 2722 1945 541 2596 1112 540 2729 1944 2716 2740 1179 1137 2659 1180 1138 2742 1172 1840 2681 1929 1829 2742 1172 1840 2659 1180 1138 2746 2492 551 2745 1948 549 2723 1182 1140 2439 1950 1513 2723 1182 1140 2745 1948 549 2725 2995 2717 2749 2493 555 2427 1954 1846 2748 1953 553 2427 1954 1846 2749 2493 555 2752 2494 556 2755 2495 557 2751 1955 554 2754 1956 558 2751 1955 554 2755 2495 557 2758 2496 559 2761 2497 562 2757 1958 560 2760 1959 564 2757 1958 560 2761 2497 562 2763 1962 2952 2493 1963 2953 2743 3233 570 2527 3537 2099 2743 3233 570 2493 3536 2953 2768 1203 1161 2661 1930 1498 2654 1201 1159 2660 2478 1499 2654 1201 1159 2661 1930 1498 2769 1965 1855 2772 3003 2723 2770 1967 1856 2771 2501 2725 2770 1967 1856 2772 3003 2723 2782 3538 2954 2769 1965 1855 2442 1964 418 2442 1964 418 2441 3219 416 2782 3538 2954 2795 1214 1860 2793 1211 1169 2796 579 2955 2794 580 1170 2796 579 2955 2793 1211 1169 2785 1973 577 2795 1214 1860 2787 1975 2956 2797 1215 2957 2787 1975 2956 2795 1214 1860 2787 1975 2956 2797 1215 2957 2803 1976 2958 2808 2502 2959 2803 1976 2958 2797 1215 2957 2813 1973 589 2814 586 2103 2811 1218 1179 2812 588 1523 2811 1218 1179 2814 586 2103 2827 1974 1862 2833 2503 2960 2828 1221 1183 2834 1220 1182 2828 1221 1183 2833 2503 2960 2850 3539 1184 2847 3540 1186 2849 3235 2914 2848 3236 2298 2849 3235 2914 2847 3540 1186 2868 2512 2303 2867 3541 3115 2858 2510 2301 2855 3542 3116 2858 2510 2301 2867 3541 3115 2868 3454 3078 2871 3456 3079 2869 3452 1193 2872 3458 1195 2869 3452 1193 2871 3456 3079 2873 3457 3080 2875 2518 2309 2874 3459 1196 2876 1249 1197 2874 3459 1196 2875 2518 2309 2891 3543 3022 2894 3544 1880 2879 3544 3117 2880 3545 3118 2879 3544 3117 2894 3544 1880 2896 3463 1207 2898 3464 1210 2883 3462 2314 2885 3465 2316 2883 3462 2314 2898 3464 1210 2890 3546 3119 2889 3547 2738 2901 3547 3120 2902 3548 2737 2901 3547 3120 2889 3547 2738 2917 3470 2319 2918 3453 1213 2916 3468 3084 2915 3455 1212 2916 3468 3084 2918 3453 1213 2919 3469 3085 2921 3472 3086 2920 3471 1216 2922 3473 1217 2920 3471 1216 2921 3472 3086 2912 3240 2918 2911 3241 1897 2914 3549 3121 2913 3550 1221 2914 3549 3121 2911 3241 1897 2947 3244 2328 2949 3478 2334 2958 3242 1224 2960 3477 1229 2958 3242 1224 2949 3478 2334 2962 3479 1231 2951 3480 2335 2964 2542 1908 2953 2543 1234 2964 2542 1908 2951 3480 2335 2937 2548 2338 2969 3551 3122 2928 2546 2336 2967 3552 3123 2928 2546 2336 2969 3551 3122 2937 3486 3091 2939 3488 3092 2938 3484 1237 2940 3490 1239 2938 3484 1237 2939 3488 3092 2941 3489 3093 2943 2554 2344 2942 3491 1240 2944 1249 1241 2942 3491 1240 2943 2554 2344

+ + + + + + + 0.579497 0.00127973 -0.0249472 0.579806 -0.0167014 -0.0178633 0.579385 -0.0251153 -0.000927925 0.579613 -0.0180048 0.0170259 0.57921 -0.0011469 0.0254235 0.57956 0.0167761 0.0183625 0.579323 0.0252538 0.00150061 0.579754 0.0182184 -0.0164528 0.441826 0.00544639 -0.126761 0.441816 -0.0856837 -0.0935702 0.441687 -0.126814 -0.00514698 0.441564 -0.0935618 0.0858865 0.441451 -0.00533508 0.126949 0.441494 0.0856245 0.0938597 0.441592 0.126896 0.00563812 0.441747 0.093865 -0.0854254 0.348691 0.00748689 -0.171067 0.34867 -0.115727 -0.126202 0.348562 -0.171105 -0.00718546 0.348435 -0.126174 0.115913 0.348342 -0.0073698 0.171216 0.348369 0.115652 0.126463 0.348472 0.171177 0.00767422 0.348605 0.126488 -0.115469 0.230145 0.00935127 -0.211065 0.230131 -0.14286 -0.15564 0.230057 -0.211074 -0.00904417 0.229968 -0.155573 0.143002 0.229907 -0.00922178 0.211128 0.229923 0.142741 0.155845 0.229996 0.211119 0.00953102 0.230086 0.155911 -0.142602 0.11035 0.0103852 -0.236429 0.110345 -0.159949 -0.174405 0.110321 -0.236431 -0.0100751 0.110288 -0.17432 0.160048 0.110269 -0.0102359 0.236445 0.110274 0.159804 0.174584 0.110298 0.236443 0.0105476 0.110331 0.174668 -0.159706 -2.28882e-005 0.0115762 -0.251821 -2.03848e-005 -0.170749 -0.185432 -5.36442e-006 -0.251821 -0.0112734 1.09673e-005 -0.185348 0.170825 2.28882e-005 -0.0114187 0.251821 2.06232e-005 0.170602 0.185597 5.48363e-006 0.251821 0.0117221 -1.0848e-005 0.185681 -0.170526 0.586611 0.01165 0.000882149 0.58758 0.00683232 -0.00588417 0.586612 0.000664189 -0.0116386 0.587587 -0.00598656 -0.00666094 0.586612 -0.0116256 -0.000290394 0.587448 -0.00684933 0.00634241 0.586612 -0.000506744 0.0116377 0.58744 0.0062408 0.00702143 0.589514 4.66257e-005 0.000209332 0.520681 -0.053487 -0.0584283 0.520622 0.00337 -0.0791893 0.520482 -0.0792618 -0.00305414 0.520435 -0.0584446 0.05371 0.520253 -0.00325374 0.0794268 0.520368 0.0534423 0.0587583 0.520394 0.0793532 0.00357294 0.520615 0.0587384 -0.0532222 0.0819987 1.50573 -0.548035 0.0819987 1.31258 -0.919068 0.0819987 1.02998 -1.22747 0.0819987 0.677197 -1.45222 0.0819987 0.278261 -1.578 0.0819987 -0.139636 -1.59625 0.0819987 -0.548017 -1.50571 0.0819987 -0.91905 -1.31257 0.0819987 -1.22745 -1.02997 0.0819987 -1.4522 -0.677181 0.0819987 -1.57798 -0.278245 0.0819987 -1.59623 0.139652 0.0819987 -1.50569 0.548033 0.0819987 -1.31255 0.919065 0.0819987 -1.02995 1.22747 0.0819987 -0.677163 1.45222 0.0819987 -0.278227 1.578 0.0819987 0.139671 1.59625 0.0819987 0.548051 1.50571 0.0819987 0.919084 1.31256 0.0819987 1.22748 1.02997 0.0819987 1.45223 0.677179 0.0819987 1.57802 0.278243 0.0819987 1.59626 -0.139655 0.0819987 1.72406e-005 -1.43051e-006 + + + + + + + + + + 0.375564 -0.680793 0.628866 0.464123 -0.599494 0.652071 0.393764 -0.0396944 0.918354 0.488357 -0.0375631 0.871835 0.263915 -0.709302 0.653636 0.282678 -0.0415301 0.958315 0.173285 -0.725129 0.666454 0.184367 -0.0426182 0.981933 0.136507 -0.814627 0.563692 0.138404 -0.042904 0.989446 0.999961 0.000423538 0.008851 0.944464 -0.240347 0.224101 0.946071 -0.219551 -0.238216 0.927527 -0.373562 -0.0120521 0.758974 0.437929 0.481847 0.944044 0.21863 0.246943 0.828612 0.55889 0.0323162 0.927235 0.373377 0.0287306 0.573739 -0.602485 0.554829 0.626506 -0.0333326 0.778704 0.464161 0.701961 -0.54019 0.574335 0.604887 -0.551589 0.480004 0.0919864 -0.87243 0.62825 0.0352355 -0.777213 0.375519 0.623575 0.685668 0.463912 0.54078 0.701671 0.264112 0.649809 0.712737 0.17259 0.664548 0.727041 0.13776 0.762356 0.632326 0.760966 0.480991 -0.435407 0.94565 0.244804 -0.214049 0.574587 -0.553881 -0.602549 0.76166 -0.439379 -0.476255 0.829723 0.0278574 -0.55748 0.573481 0.552518 0.60485 0.827941 -0.0240847 0.560297 0.375698 -0.926022 -0.0365235 0.479703 -0.877272 0.0167086 0.264279 -0.963648 -0.0392281 0.172686 -0.984109 -0.0413275 0.137799 -0.974461 -0.177306 0.926888 0.0227215 -0.37465 0.927959 -0.0180694 0.372243 0.759678 -0.477068 0.441922 0.375743 0.685844 -0.623246 0.375607 0.92572 0.0442841 0.479709 0.872468 0.0931557 0.264312 0.712931 -0.649514 0.263954 0.96349 0.0448863 0.172698 0.727257 -0.664284 0.173295 0.983864 0.0445048 0.137813 0.632432 -0.762258 0.136493 0.98638 -0.0917789 0.627569 -0.777948 -0.0308931 0.829027 -0.558863 -0.0196505 0.627187 0.777956 0.0377047 0.363711 -0.685185 -0.631059 0.367388 -0.0128745 -0.929979 0.459709 -0.600514 -0.654256 0.24539 0.042553 -0.96849 0.264136 -0.653317 -0.709513 0.161544 0.0431997 -0.98592 0.17337 -0.666176 -0.725364 0.138445 0.0432902 -0.989423 0.136535 -0.563254 -0.814925 1 0 0 + + + + + + + + + + 0.526906 0.422304 0.530068 0.419783 0.530496 0.425509 0.532671 0.422287 0.52347 0.425683 0.528081 0.429513 0.520313 0.429132 0.525766 0.433556 0.517439 0.432257 0.523562 0.437254 0.541127 0.415986 0.54133 0.415695 0.541412 0.416179 0.541569 0.415895 0.540288 0.415438 0.540834 0.415793 0.540115 0.416188 0.540693 0.41607 0.533243 0.417809 0.534858 0.419499 0.542684 0.423797 0.541519 0.420524 0.545829 0.422177 0.543576 0.419433 0.534714 0.42755 0.535821 0.423845 0.533443 0.432042 0.532253 0.436499 0.531171 0.440606 0.540575 0.416822 0.540931 0.416275 0.54513 0.417727 0.54195 0.416519 0.541282 0.417142 0.536915 0.42055 0.538094 0.417496 0.537081 0.417153 0.524118 0.418203 0.528307 0.416495 0.519666 0.420883 0.515808 0.423845 0.512471 0.426543 0.541212 0.416425 0.540925 0.414977 0.541043 0.415562 0.536408 0.416548 0.540301 0.417486 0.543867 0.427483 0.539297 0.42823 0.539267 0.424369 0.545167 0.431974 0.539297 0.432897 0.546458 0.436378 0.539366 0.437491 0.547723 0.44042 0.539428 0.441732 0.541326 0.416989 0.545911 0.415573 0.542166 0.415782 0.53923 0.42083 0.539189 0.417712 0.551563 0.422094 0.548066 0.425379 0.548345 0.419637 0.550565 0.429392 0.555083 0.425392 0.552908 0.433327 0.558319 0.428783 0.555081 0.436915 0.56128 0.431864 0.541677 0.415144 0.532427 0.415683 0.536149 0.415802 0.549992 0.416357 0.554196 0.417918 0.558749 0.420469 0.562734 0.423351 0.56614 0.42604 0.635417 0.872055 0.534508 0.894426 0.5 0.5 0.431247 0.889918 0.332672 0.858837 0.245499 0.803302 0.175671 0.727098 0.127945 0.635417 0.105574 0.534508 0.110082 0.431247 0.141163 0.332672 0.196698 0.245499 0.272902 0.175671 0.364583 0.127945 0.465492 0.105574 0.568753 0.110082 0.667328 0.141163 0.754501 0.196698 0.824329 0.272902 0.872055 0.364583 0.894426 0.465492 0.889918 0.568753 0.858837 0.667328 0.803302 0.754501 0.727098 0.824329 + + + + + + + + + + + + + + +

19 0 0 11 1 1 20 2 2 12 3 3 20 2 2 11 1 1 27 4 4 19 0 0 28 5 5 20 2 2 28 5 5 19 0 0 35 6 6 27 4 4 36 7 7 28 5 5 36 7 7 27 4 4 43 8 8 35 6 6 44 9 9 36 7 7 44 9 9 35 6 6 56 10 10 53 11 11 51 12 12 52 13 13 51 12 12 53 11 11 5 14 14 55 15 15 6 16 16 48 17 17 6 16 16 55 15 15 11 1 1 60 18 18 12 3 3 61 19 19 12 3 3 60 18 18 15 20 20 64 21 21 8 22 22 58 23 23 8 22 22 64 21 21 21 24 24 20 2 2 13 25 25 12 3 3 13 25 25 20 2 2 29 26 26 28 5 5 21 24 24 20 2 2 21 24 24 28 5 5 37 27 27 36 7 7 29 26 26 28 5 5 29 26 26 36 7 7 45 28 28 44 9 9 37 27 27 36 7 7 37 27 27 44 9 9 7 29 29 6 16 16 49 30 30 48 17 17 49 30 30 6 16 16 57 31 31 58 23 23 1 32 32 0 33 33 1 32 32 58 23 23 62 34 34 61 19 19 5 14 35 4 35 36 5 14 35 61 19 19 18 36 37 10 37 38 19 0 0 11 1 1 19 0 0 10 37 38 26 38 39 18 36 37 27 4 4 19 0 0 27 4 4 18 36 37 34 39 40 26 38 39 35 6 6 27 4 4 35 6 6 26 38 39 42 40 41 34 39 40 43 8 8 35 6 6 43 8 8 34 39 40 56 10 10 51 12 12 49 30 30 50 41 42 49 30 30 51 12 12 5 14 14 4 35 43 55 15 15 54 42 44 55 15 15 4 35 43 60 18 18 3 43 45 61 19 19 4 35 36 61 19 19 3 43 45 64 21 21 7 29 46 58 23 23 0 33 33 58 23 23 7 29 46 23 44 47 22 45 48 15 20 20 14 46 49 15 20 20 22 45 48 31 47 50 30 48 51 23 44 47 22 45 48 23 44 47 30 48 51 39 49 52 38 50 53 31 47 50 30 48 51 31 47 50 38 50 53 47 51 54 46 52 55 39 49 52 38 50 53 39 49 52 46 52 55 1 32 32 0 33 56 51 12 12 50 41 42 51 12 12 0 33 56 57 31 31 1 32 32 59 53 57 2 54 58 59 53 57 1 32 32 62 34 34 5 14 35 63 55 59 6 16 60 63 55 59 5 14 35 17 56 61 16 57 62 9 58 63 8 22 22 9 58 63 16 57 62 24 59 64 16 57 62 25 60 65 17 56 61 25 60 65 16 57 62 32 61 66 24 59 64 33 62 67 25 60 65 33 62 67 24 59 64 40 63 68 32 61 66 41 64 69 33 62 67 41 64 69 32 61 66 56 10 10 49 30 30 55 15 15 48 17 17 55 15 15 49 30 30 3 43 70 2 54 58 53 11 11 52 13 13 53 11 11 2 54 58 60 18 18 59 53 71 3 43 45 2 54 72 3 43 45 59 53 71 64 21 21 63 55 59 7 29 46 6 16 60 7 29 46 63 55 59 16 57 62 23 44 47 8 22 22 15 20 20 8 22 22 23 44 47 24 59 64 31 47 50 16 57 62 23 44 47 16 57 62 31 47 50 32 61 66 39 49 52 24 59 64 31 47 50 24 59 64 39 49 52 40 63 68 47 51 54 32 61 66 39 49 52 32 61 66 47 51 54 1 32 32 51 12 12 2 54 58 52 13 13 2 54 58 51 12 12 9 58 63 57 31 31 10 37 73 59 53 57 10 37 73 57 31 31 13 25 25 62 34 34 14 46 49 63 55 59 14 46 49 62 34 34 17 56 61 9 58 63 18 36 74 10 37 73 18 36 74 9 58 63 25 60 65 17 56 61 26 38 75 18 36 74 26 38 75 17 56 61 33 62 67 25 60 65 34 39 76 26 38 75 34 39 76 25 60 65 41 64 69 33 62 67 42 40 77 34 39 76 42 40 77 33 62 67 56 10 10 55 15 15 53 11 11 54 42 44 53 11 11 55 15 15 3 43 70 53 11 11 4 35 43 54 42 44 4 35 43 53 11 11 11 1 1 10 37 38 60 18 18 59 53 71 60 18 18 10 37 38 15 20 20 14 46 49 64 21 21 63 55 59 64 21 21 14 46 49 22 45 48 21 24 24 14 46 49 13 25 25 14 46 49 21 24 24 30 48 51 29 26 26 22 45 48 21 24 24 22 45 48 29 26 26 38 50 53 37 27 27 30 48 51 29 26 26 30 48 51 37 27 27 46 52 55 45 28 28 38 50 53 37 27 27 38 50 53 45 28 28 7 29 29 49 30 30 0 33 56 50 41 42 0 33 56 49 30 30 9 58 63 8 22 22 57 31 31 58 23 23 57 31 31 8 22 22 13 25 25 12 3 3 62 34 34 61 19 19 62 34 34 12 3 3

+
+ + + + +

65 65 78 88 65 79 89 65 80 88 65 79 87 65 81 89 65 80 87 65 81 86 65 82 89 65 80 86 65 82 85 65 83 89 65 80 85 65 83 84 65 84 89 65 80 84 65 84 83 65 85 89 65 80 83 65 85 82 65 86 89 65 80 82 65 86 81 65 87 89 65 80 81 65 87 80 65 88 89 65 80 80 65 88 79 65 89 89 65 80 79 65 89 78 65 90 89 65 80 78 65 90 77 65 91 89 65 80 77 65 91 76 65 92 89 65 80 76 65 92 75 65 93 89 65 80 75 65 93 74 65 94 89 65 80 74 65 94 73 65 95 89 65 80 73 65 95 72 65 96 89 65 80 72 65 96 71 65 97 89 65 80 71 65 97 70 65 98 89 65 80 70 65 98 69 65 99 89 65 80 69 65 99 68 65 100 89 65 80 68 65 100 67 65 101 89 65 80 67 65 101 66 65 102 89 65 80 66 65 102 65 65 78 89 65 80

+
+
+
+ + + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + + 1.91915 0.684061 3.40932 + 0 1 0 0 + 1 0 0 0 + 0 0 1 0 + 1 1 1 + + + + + + + + + + + + + + + 1.91915 0.684061 -3.40932 + 0 1 0 0 + 1 0 0 0 + 0 0 1 0 + 1 1 1 + + + + + + + + + + + + + + + + + 0 0 0 + 0 1 0 0 + 1 0 0 0 + 0 0 1 0 + 1 1 1 + + + 0 0 0 + 0 1 0 0 + 1 0 0 0 + 0 0 1 0 + 1 1 1 + + + + + + + + diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.glb b/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.glb new file mode 100644 index 0000000000000000000000000000000000000000..7d2ca273c1e60ed46b04a5bf4514fb160195364c GIT binary patch literal 623993 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
b8bJ3ba)5l2lvB|mMmy{x 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%0AAr--S5nwmOtg|4U;Z1os(J;I#LoH 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 z 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 71{oH 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 z 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

^<@`gFS!)>pjpE+x)mAZcs) zy5))_YiO1zuAEr4IU5N*=+7_tZx=(~9Mm{ch)~B%?OOBUTn9blEFe7SY~S@!Jis~Y zk}z^kNor5=j2Wxl*EdI^GCPWL0xPO&8=nznWCI)dfIahx@hB+tHDu+KP3w3qelYVu z)$aUpTdzj`%}E+LsNI-b-Kj4Rm2r^CZOPiB9bMEzBTIOsXq99l4U30wF%?S*m*S2l>U&(lv(scB>$Swypi zt--cx1ivnX3s?{k1%tjHe!jCmivNS2-4DuDY7^r+szb%Ig*cZjmO1}ZqYDMJXknlR zZ%mww^q3RH%qJzkt}?DbEnec0CYP_W$8eZCv8v)Rtv`3}`m(24-^lJ#lOia;L!T>e z|6LMsy-B6JycoJ8XZlm<50#+GPw)s97XJsJGW ze@?=)q3`4BaiTEoU8`4EYY%v1%eQ1<9p`Jt%4`Ct&`S@b`Fb|Ksh$_Uze58tx5grQ zUjxvb-J}W(=FsLn)cr^q@E3~HJ=7@Ygy8(qD>x74MB<`XU1%9jE7@l5_+|+{W+8dV zFB;`6>Jn(B^j(Tqr^W$ao@fpTPtyW>O8B*poe;8HZLGD5IJ-0Sufufa=x)`mhkuzo z<7Cw=tlM$EAUQN7#tN?9asxES>vT!ecoN#wFbQf)9eVTm0TnXO-HTZEC4?mOnDrRD zd+cOaWEBM37}^{CE*Rqn8<0{9sa$WENH<5FkIVH&%r?2YW$EoJ*$GCW>e6-syQzhY z@te+i&9fev?=&83l-fV>^KJCeV*h+8@c@q(y*_3P$rD0IF03v`T)8UX4nYk{;d}`{ zYUQ2(KMRn-HJJcDvIAmwUTQ{V?(@^N=ae_Zd6`>INS5drk|wqYRlkdJ*4t{SRC4u2S)YEG9u~gj=5l7!pbD za%KOr8+kCzFdSuDQ}$mX-^65tH~WE7n+<%PTjX*a$q_cYU3u(BSkPh>fFJpWcVS{^ z3-_PswK#69RsQYAH*$f(o0)zzy}GrQ!ffre+e(RqPOy{V?AVgNIM3s*mk?eXQoF+F zzDe4a-kVo5np2$Ku%4SYjU~rMufdT7u8?mDoI#8q9M?>UsGo1ck1Vm*MBzkj_;6q1 z@|a8e!EyXgvMfxdm@LLLC)_Y3PsYDi{9j?)qvUo4j&9@P+JWhOLtEt-v5adaI3qQ6FnFF@oJat%RsTpLxbS-b&6YlxF$zHAv`Odn zagcREl2yS@pmwUxH4y7Cm_mKgX+f|TVZVLU zfEdZ)oUI$BA=NzHB4ix|C~{hPlcMVN37DUS@ zEM}g*{weRyx0=@07{fA`JV2A$ON3^8~T4hS!IM6&{3#_*0ScU&eJs#Hujk zmh!fO0{pq*laSt5Q;hKI0JFNaQX^P$`?s;3&}pa zy;TrBERk&&jY&=#W;{H6j=|JN)H0k@xRc=9)iE$-e;A?EZNP-AH6)yNhUV6;)i`(jH?kVf~>U}|MR_-6^6M)-yv=mJ%5>oswp zEp)aFjZifBsy?m^0PC9m=@LGgTF7p}kx1=e4-!wmZ^FA)UhG~tT~?@ZcC#{mh1n~H z5yde44-s~NyGM6EciGIIkHZ;=$m@w1lm5YjTBF;CuP%M3Vk^A=+bX>A2@;e)AFz

V z9MFAI)h-WnbNFG0RM;gm_3LK-hpt)x(|yj{Qww6NzqvTlTnNkrX=oQ0Xx-E%F&&K; zqCR7H{a>z?f(?i>FVJa_QrgrX@!N}3F?Cvakr+|BC(iZ8TMmO;<(L;UW)2k@7paI{ zNAe20T7CG*Gm`nWW-44yyAKXqmi2DBMSLOHLg7}@&elrr3l?TTLeK55NE$J;6{C3S zl(w<9SH734zwioC9wtsvR`tNe3kqbv~#+?aWQ|k0i$KuzjaUw4$f-=a7vr>*`F4L z#HNaSHyC3w+MD>bo8y;J)+9ue|N@fRl=okwTgktJ9D= zGsdk8W{kSffx6wlwOC+}#C>zuTUoRCB!7rUoE|=B*+huzydF3UZXCK_uWPHdYsJ;H z{eHK6hf_4o-L!SqZbwV~*I7F56{QQ#eln?k{>8TgOYQm2R}y^v zqiqt|ashV=Qg)#2WaSI>#P~5Y8?ht2TE1Nh^dDBFFpDeis zrf*kb0>Ix1;8BMu;K3inFj~xf9{J5(AaE{(b%(>&Ia+8xS8|vYY zZdrWlm?Jo-?m#6^re!tbk{RsqC^zKrnE$Z+x=&Tz6S1ro~g%;Jco{=0ip0 zoE&TcQCxohoc^v3v)g`j#)nIqtU==9DJrDGp{+)2-n`^-BM^hCVvqPpxG$mq#Y+db z%hAhzBkh+Gq~!v)VLppg^aUX#7>zm~k;s{_0>=nD*m|VX+=A#Zf)3=AS)Gg9S0O9@ zGR?;T)Y$4m`3Ns0IXgB8KgNHVgoi&|on=AX)?BxBiPqcu-)sK?xUCFpJ@sY%hC5Z! zAy2f7KYK=uFeND2t8TPNN`)&Pu}fiS4ypKq+cTqV2j^R*0gyRp0W4srAQ`o;(iBq*DO)=nPQ+Y5oxb94~+G zEhqeVYB+fTpIJ)2>c}q{0RK`We-EBsP?DnXHtEo{v?I?z8XOxzR@Ti5UEd@?xj)s5 zT+C}s|60cCY-`vW9Kh)#b3F?Ac?@w0flS8Fav5_biLO|lNvYgraJeHj36gmHi}2DgDzt=Cf$V614z<{J$@Sgy82dI&V{uxs#U_f z-JQ}?ryhH~X-L`tqo+SFecxgZ}a{ z3`srY{H9qfaj(Ge*P!s}^UAI_3X$hG+)J0uISCqap4e^clEpbf8KIs6@_~4vYq?0F zkH%T&A{Wd^M^Mc7NRIq>4Z5XnZ>+4#YX8`|*(IEc4RUbqRJ}M~Rx#oY$e@Y# z?E@p&-|h6{mV2Sryg%`VSV{Rc`-6pL84wO0U-_wlNhrv3n^SBoQ-L|nH6$;E6xx+`B_HAzPtK!Br{jQpQ%qEx&6rg z{9En4VTD6Sj`Zh_B+9ST$7bOz7Xd!t?~%f4b`DS2_cXK-zMO~u7THIy7*|~4er~&W zIXH7+ZBDh2WIKm^3h=}IHosiw-J+y;;W34AASC5$&BiBJ{0))=_hiJ-!#O zE{cVOf>f8*Y)7K7oY?{2BU_k~?F4>MyPJLzeBKBC#O1qbAhrGY3J@yP$+v@E=Nu>1 zq--=8&Kt1z>llq%Jxn48998^E8MGW)~ zP5H*!*plG9RQRb)cVu4nR^A+V^zT-3956E(8^De$^mB5ttE^umnu!egxW;tVK*j-8 z>l#8r$7miigA}vfVyKnF=GD6i9W~R-HvrxeJ_c!i@y>-qAQXj0oXei}j&W3&7a82x7 zGnWyXG2fFm5r?dlcg~$>^)1t%H#^dUG<`#m^I@+qQKq#}^ybb|%h2#{dqXCusv>Ui z@5Ij=<=z`wxtGR>7g^J);ZXpCL1QT{ynl`h$5w}AhKXUSD;$Q> zgVc{UJ$fA^WS5D)CY#;c>agODynTxS3bKMQV_~@D?qlLa1_H zh@s-g$mHbHX5|(8_YH?He&*0gGwk&|HWuU*J1qW&1Q}Q-o{_TN7b-u7E_wu--A+%` zD+S*CJx-j<#bC}{udPfV&+;sh|5@TZ&rX(1^&FJTS=Ut~E_iE?m`l=_9s^gS4{TWwsi0X#sih$!B}?9lR@gv z_r*eA6AM0m<|Rilr*9ZiYh;oh$#Olh`L$_$hV=0?`MmX68y0i;-u{I|*f>wO>>Y3y z4^@quRTTK<=>d80@SmLp#;l+r`@jzFOR7yB$OYZKhy!Y5p4T${diVF)73jDNBhl(J)Y&QA>m~Q zaw-xE^$kS4_rrARVu#+v^~%7>#5XgeFkD8D4s>Up;^x-kNOUzR<76F1sOI+f5Fv`U zCN0z;4w1?DM%0#76n3`Nm%qcBB7Ad{&~Yz>+HxZDJWb3f{k2SL*x$ThY}VjcQX~M) z!%WH})b*!_ozFv$IR#yOJNn;w{Lqm_+&B3lGoFE2ZeokWNDcSB`+sRNq`wI3CxB3= zI^kaWg5~0t1V&Z}!&~f{e{WN$h2JDJRWGX0FV@5QJX5ArL^pTh?rG<3TyV5a*{v9f z>s(t_WC+&}gUGDfywXi27 zVFKK}esE@5|%j7 z2szMy*SRw!l}bLDkiXos;M}$+NW7^OlhE?MR9$zzgD_`b6+$q|b<8PaoRl}Db{6_y zLj;Hqc-TT#y}ev4MXl_dhmnvO(IgX#?HMB+mdlyChN4e9Y&AK;sYLBCF03OSX@*E& zyO%jQ35<6MyT30jr`u`}%sbq9s6o#owI}7upQ(+jZXg!PEJcjvHpWJdN=&ybq@UK; z?d98NUB0u$MwA9t`RJwXzZ+D#GOiH1;cu$~8Juwgtlb_x-Ee&>N?Fcki0sI);Js++ zn=?=`I&!KfGha^|L(0-rdNl4YfhcX-l*-YB_q${qUCf{8Ce<4*bu|$ii$G--L#=F8 z{(psl*O*6J*jHC36ZgSyV`It@bBPkih9ZeJ8Ouo=k6#BTRBt{dhh!C)H_Q!?E)+d9 z7sy-R{@ns&vOXTLowExma3Rh(yOjigG5&SMA6d3oIrGe?9wJO^4!gHDlDz*=&9Bd_ z;fA_$3N3aq&&$zdgQ|Sm^Q@6#XD_okL|(M>e6q-|6$Lifo6sXZZW)fr2Lo>K;L)nu zNygw@hqgX5^ZD$SCKz5F+03Rn+_uRea0*6L3SY8(mKB$@!&C}iCjD^8GRiwX;*1II zfs!509`V}ebDv&=6ESD~^~8PevydU@46xGAc&yO&+o_ULTTLg003A+e6Q_lL&x0C= ze-fR96~@OUahwT)Pv3BniFV8zG?qQ!KQPu27%WVeP>~*p@{W894TxiAXah0m5DM7> z;iJPl&i7rqsyEqJ82`!4ezw)`DzW11*+C4`lU>Qx`SZtmT+`4Qi@kO>{etqUIJR~{ zkUs!4(t2`Gk7k2e%{I1vI~)(vifAV z3jkj|&3s+-QP9|;${_$pH-{9rwa}rJX7Q1*81Z0~n>XAuUvoPC7N? z@Oyu@9H%;>xacd) zHu&TUeLmEaLt3bLVWd7NAJol}c&B{~)z+Q@u0WnKMkXbKj2(^rM`K-Ecx#GPFo9fnweJ?OjUwUF?P2qO?l2=G(E`>S?Bv zdWZ3JQ)?rv+>UD&A)%P=T0DUlYZG2kIi7Bc>ZIY(llsds8inJp^K08JM4;52LuxW~ zcwZAJ@8Xculc?>DKpd<}U8L}6Efo9*@bQ@+5(h$;Xw8#8g8kS#TLxFIaxwJ|Trp_X z|JpSIRn3dWAoA6iV>$Zw{R(^E7=`z%clEYQZ=S$GK)O@-Z7ReMezXQQ<`3m&SlL63GDm4obRW4Cmvl8BKem3EWKqa1(BMfzZE@3avS}DlbPpfvHMc z)tG41&O$ddzt)8aCnr$&h`&eYFqs%ysC5)Q-Uo*8|1pD5U6U02p#FMq20{L{e|v+E zmoRvQKrYBTYNAFB;isCvThXnq5>&(61_KHTIrebV?+0!=7n;7+ZFKew+*pKoR|Gl9`}+T z>{Plo>zhQ-;Or`DXCm|9SiJK`{6f6{i{| z(F2ZAx6EkQ0bg(kZ0~!N#=krHC0%yKxGTlknc)8+0|jk38O6w64ApxT@5%2?_7_6! zgIPV#8y>vX;tEw4)hiIvTI!LTZFI#0T*dejkFpq+@}wssUFES+9rK^J*L8Xx=fg{4 zyUf3K(2PA=4#CPdurKGblEk3uKK|>H#)hj=E(gB8q<#dN3}dN_Yi-y_ed??EGWb%R zcHeS#x-9I-B1Gj%Cfn2t((`2DVKAJ|_zBmqqp`GL%`lt%QnxHcPx=f zhwv9Y(P(hF*TTIMgES$EsN27T`nM^abEZxZo4c8VksH&_~czVFs$X1JnAxSu>|igQ#7E)2hi$5*6v_?lg%8!|(&R#}6&KzM1E z%Fr<_X>j4C?GO|Jfm3zElLv@r;`gt?ZA@m=N?Dl6_-Dj;Si62l9&}{3q&g`SVq7?% zOJ!L>oO(xWPT0LmF^d~gbNjETX--hxB$qCQT9HSHaVuCwk=1m5(K_;1_qVDR{nAAb z<(c6Bk%Ue3H3X)m&c$_8BAAABP{UGqWb5vMY+8^|Q?^j&Z$lWXazuk*y(~??z)}-# zeL5e1*1%+N?n!EZLARzTHVL!(_H=6>oZE=|o`rU2d|atdv9BSD z+@^yup9y=n72=o+j72wp_4S*Y=&fz9O--m_lH+H;ExiCUy2Cty*@rf+;?PH zj`4p0jNb=WUvjlkPsGzCP05e`5)F0VU|qjRDv&R-rtao9MQz}{DSABHS$;TcyCIqw z{qc0t7Evd!0LfGx!oTsj67w!G zrwi!j@=cI$m4zfOj*n7XXdE&gT-nwQRb${x32!xBS_m?_vYh1tEo6}|p$ULKo;|*U zp&87#=*klZV-9-yQvB#$DQv}YL9AJ<7R|ToK?4&U+Vq(Zo5u|WqK9k^izq3e2)5b= za&T7BJ_TMPL1!1-|Kakcej!A>Tw4YktYZTz`3AQ)5p&#-(uC)s>`GWxy|=)e{5PleK>$S zqQVchqyIk(0FT_UY&JEBapuRlbF{vlj~|+zBgvS_u(JxB3KCh-z7}?u8z*A~5(u!y zn{8e})vQDFl67?#TO215|keJaiah;Z(M!X;8BrBCfISfQtyS>|2gT^q{ zCEfSlf4RZr6kuhIZ0h>qcwKlc7T}fC{`@%=_)`IV)8sdSq`-^6VW^gLr9Nk!Z3gIOfn%FT!hE!7It!gbA z*#4}6VqP9rZ~gL(wIF>1lCJwfe21UH?9Kd9W{MY)MUM;eE`k1{#b*~hB_n&I1>So9r@ z38BLIo)7=8(eJNj_XXC2^QyVj{q;Ou-N>+u6H0Ke8_zi$S{?nKiAuF7NiVce3uP;! zpn^d)^F$RQduPETsq03{<<#%mlN}f+vG?PaRZ0Q(3Y2Bc6LnfWNH1mWC@(2kS2_6Z zTql{d!X*!GgA#q(o}cTW`%&Cw?87#khd}S{xtKX7+LYN)w7;8HY35|Ks8l?un_o8^ zObrCu(tkhZ4He%?)OBMP&*T7#RP3E?-(U+kbq29e(wumSW;9~`_3)P$Zg_ZmR-JJT zl`;oJLrfTRsUC}2?_&!Nr}J=*rohQy6gXP>QopH7~1V5dEZ-ii@7djtI zt6>{Z2Vs(jyW+mMNPI(|-RC{F1^*@SL=`^ksGDwyDiffJGr=ekS zdNZ3&ibRoMbVomWyUeQPgqcRSKdt&?+Ez71x6^-aXJ}tvA;+p1zbA{6xG5{&o%({q zR@&Mj7lBEqi4B9Ey~0P*dN^q{CqmNP#^f>CJzWZ=wkY8ZL7gFa6g#d0vBdg3AI$``uer_ z)|@BU0QRuec=%wX@|ar?`tlR=>aA3u%42H5$^%;E>AGVJil5J$Uc`;=h^y^E>`PY) z|Lt|xiM{MZNoOtoow*vvrvp#6(=G1xnJv@O6cKMM%@A;!u&@5CBi@9C`t(ri3M={` z=s}B*z~CZSrP5w$SvSw?qOFAL-}Oppo&@X!Xyv}bbAn0E%$)km1`Wq*n6LR)U`$_) zS0M2PgW1@-I!62MpQZ>*kvfXF>?sMz(5!V&VSc<85}2{x=RO5-gQ`l3m{z4{IFL4n zYkOSBK-{G#wjW%bHOy$I>8@vJkKd>Bk617Xi!qjGs5DC zg(9)?D}LhFhObtMYk|a?=@6LV>J*&rg6Wf)cy7Uzp>4A*k9X`+sk&sarp;;;Jk1?5 zPx!@3+yaIT*52+C^CW?_ROn}zgI!jt5 zf)%cvCY2iqm+oxp@j=4-DRh;cz}Df9*7|(|ikS4lzl70aw+<@y8?XQ*VIun{78Z$} z;dV{r+tc!v>e9g(i23W8i|avUyDICdu}V?fTMix616(9-E?yYBZjZcKDg+{zc&SrG zIR(X5>1%aQh!hr{IM4FWxj-5}gDws-cCH|h+rC)eMwMl-$eJ=zvIJ`PL#E=8M99~* z2f4Wlx(`nOvOaPc%v)D{?SE*xkeMR2vMqOl)L&e8;Nanc+DI-K7S1``?rEHAbb<6% zJMgLs`KpF%BC~Ls0{nrB(tkZ~8Le<^pY{vC#a#VXYkDb;E)s^7QYYWANH|qPcMHep@TbuD+HMA}9d%kWs{`N)B9k-dY`YT0HF{mWfhcku)8t$c%~^cw&>*Np>xF^{;G9 zjogmGxq}6`T7k7sMipIE@>btsUjTT(eGPa{5%GYjIgy7--F>n0#btH1W%{4U7|&Er z>2U%7956;gTVULHS&8cTfZ1*3hLoTse=_O4D z+eFb4D_TH9f9PGctw5+~>QUj4p4)VnU&3>bh53axq@ULJ4EJKZ=jp&2E!HRJS#bB; zT$2R`@UK$aLzWn4@~y^?JO4V8{{F@}Ne!K-UB$)fevL`H7`bGhe5hwT%_-83nN&S= zk2E495z`09_W98r!4=6qBw4bfHbM?`ealPW<+(HrQ5XcTIK7*qNk>b>f(=rHe2*F& zv3lFZp?A=V+Ks8@*b3;WkKseNSQ6tG+AqZ?L#JaJdT~iyJcVq07O7=D_!Z0e_?>vD zx&C-U9$lZ8f0u)(QohFf=3HicWaj@rbR5q(jVOZ<6}df}761NHb^42a)pIu@ssS*! zaQ5V<2TFm~a!?*^5ZWfAz_)lU$-S#uz$jac z3@}yiD+|IC5guw032@v0jIk%lVxc@PKX-1UksWc~QXUBxII4g1I9}iyih+)$2LJU) z-l^WaP7bMwXM3l{*?ns*{McIXsHKF_4KWEBM>kUbd?1_a^;>;7Oj?J+Lf6rZk*>RConu|9!v5&zr$C*l63zf8W5KKtA9nrcz|_;RF$^ViY~i|orH3`ypz z2xG*nQC8OrF}#@_Jcr4Jx-kj_R;8D65Vfz!Hzpr}S1cZ`Eqy9_3GS>({pG=2cpvIs#L0MkbMpmi&xEB#}9yy0<3GoGuBipyF-2P#g_Y zN9Vq&p3?an3&DAto=>9|^XQk6qFz7vP`6wzmK;9VuHMaK{I8|8qL@Mq_eBSr<%?bR zf1I0M-4a+mtibJd|0nWeiYo12R@G(GmHvhM_ZgE>Ax`wdB8rl(j(bJzPA{DpM9rfW zlAlwqmhq7hx{ZEEzkJdSc=Cy7ZYnnn$sr$7v|xV0@Z=DasZi#f1Q|37)WtJm7kE&H zy=|Kz-GHo>Sa>({u4*)X1{YT9r%gBcmN%caJNx3BC{vX0w-$j%ABkU>_pBFD(s1c@X23OMbwT z*NeNZ980ikQMe1i^W3+1h<{>U8^@9`H2i2ZO`>D+RW5)@78EA$$1EdkM)fJ++VR&Ix%eAWD99l(FPEH-FA=~?LD z7~*W=Jh3kN7Pz{w;m-%&0xV=jU=hu|gz#&phn?T>5gz{{xIN&!jRQ&u{me2=l?JKC zhP}Po*D_z1vb5S_xjRtwmulln#Ap0aAW_LJ0m!JF~tJ3ubodS$t`lk-5sdT-YIyBIF?8+}tK+Gi| zyTulZ8*m3z&Xg3t0$sQf7_gb3FtprOa;aMA`x18@zc+KvFDE<$JK~z7KD8o=(d_d$ z5dpXnvSqs({@w&^^T&L>wVEesK@;QS?1w)uUcO(P0HI8gqsoZJQE#F$qHQ&K~{0)9YX7gl= z$-3T@_`8r$J6LAH$BBrEM!zhJAE=-9vCb5gI6v6i^YMc7BQQd3CkBQ6s`3G=uX;Q4 ztvNCLFO}NcQEw(1y`-_;xhmrv{h)eYgnXl}iPtB(e(8kR*P*pul~#{3>LnXmy0A4# zXBiwDh~t_^TU~6cThR6eNJLo8%$$}KVF$2#l4cq_ed8&#PQ_tUzxqvR%(dbNiyPV( z@AA6RR-qZo!S1|ng5&v%g3`dQCc5?l0r`cFeC^djERDCLk4u*%~;!QErgXY0m9z~S;_DrvO=@1RqK31e944PkwmmO#ciW$sH;ogjXae_uz)~uR98a z_l)Y{e(pSIFiCDB#K#KHt=i*oEs{}ZX1YxQ?tM_B>IuUX7ooy)rtd&9RwD$jDv%{z zZs<`g3?ez6e>f6sXFt5I)=)^FZ8{%h6&7`aJ>R3~Hg(GA=0AXXj^?Bl&)^GXPqLbv-#wltBy{E zOc_#~L*s-Xzq?wdRU9<=z|auRqDdh~`sRd-J^?#)#w;l>XqhDa0c@Mo5$BpZnjT43 z_nuRVvu#CmbDft(I#aqnyTsw2;;X{aG?ouV?;)k!qA$d_e#o(W?;H|UfjD4bDR;Ui zrPus!p<4e|$`}>ld@10!B@Kp^Rpk7SFZ7B zNvQ;9ZTJ$BZoujkJ0H+0ew|X?nCFq2Aw>c@ZZA9kzHdXK@dSo`pC+N?PduyQY`d;?7mX)1X1GK@d$T(N?B&F#x7Od}Qa z6-BeYKsw~_Q)VtM-o_|#z1edFVW;iNI2!d1)%#8Gv3~PR4&$AqsWt%86!QBP3dK^I zQext}y)5uI%&Ahh19&(&`TP{&HQoF=c~MDW&N+SX{JLj5z-je!dP%zZPj=RiRr40z zUmPCJYDk1Tqi!kBlK#wSQzaIrk774#mDZ#ESY1DXA6|y_#IT!ZH{2YXI1A(qXP3IT z%#DQ^5#e2_B9id%=wlwd-9lv4jAYs-KVWpMT^sxll+czE&yJR(;g(^=4P)jsDs{K^ zA(wWgg<5lt_#aw2>kFSc>4M{}U5$m)DtA>Qz96WH8YRj9LRDoEF2?Fl?aQzgXM|UO zFD?*|$RgpYg$|3oYU|$KJYZ{g1R4I6h}FTQGaGYT21c*QgO|_o2GPzc_7|-4_oqoG zFHg@;3=6E=0h>x=PA{$|`iKaG*#pzS7ddhPCcNE`YJy_P5A_9ysb`0(H{`GsNRZzk z#|~PcEKYuyE$rX?1HwZ8Q!>~pH|Pt~$NAM3%bjNq$@ndjaNpH9@KjijOZc(CK{HpZ znr=13Zi|T`r|)+5GnKgmt$M|(+CYt82E~nzrTGS}tNQ^*-xB*nS}H&XmwF?xgvni5 zPMRjoN9#T@k)0?=;513j=$!LyRNteoT$3u%=Zj16Zxc^K$AMT*4*t{`C>NI~LQ1FbZ zu!{x)P^C9$1-RdzgrG%O31-5@Kx3;6bBvy&q0D39jyQq}vhJml^WPI$YX0itvv^eN zVt?$V#5g+Ko?~(EC`bAc--T*V9ZuF9Jf7FG9{y=lT-t^27eLY(ceBmD zXD^7O2!EZC@SSvIWf?nq=U;O5+WVy*V`35;g;%YE9H0O$_ z+|F%mTF4XwbywQ2yVchw&|0?@u?PEeIfPz5-^+n4l6Rn$M3ksNqo6hMeI{YaPt zzsL&y3(fkGa)Zs&2&NSPyjtseacpQprojx6`P6%_!}b^4m?{=+Dh0y#XE4Mq5Fu9X z_o~Aqe~!RtG@7oRZmw)7kWLiAxauIb)yvpppz~)i24$r2{$veN_kEXt^%pj^|bR;gx|9VENcXD0VWiO5N=5f@@LK1A3#0xV2e5bQ zM4`n7;DEF6YJ zVUAzC7^)i&7B84>!pmFa?{5bWYWyHajYHfrE0NjOwJbz@5Pp*97!~d+*`@1)x&pM@L~HJ_>tf_fRY4q0ht?aq#V4 zebQatOjUUdro;}od4ejc%ar5)_#|*J+*ZK@_blcK^DM@efEUx&LP@i$0)mDtdu4iS zYxl2`u)@4(V4MNMr0-k%Lk@TuCp4&Yo^}kO+T8fkCoE{#=t@1r4E8A0nRSeg&G%^E zSm@g!eD7cuj81bk$?j*CPs~+sB9cR9F(2gTF3XsA(IFp2Zi6Wr?t7#3zNmTj%N^tr zbSW(b;JnJ-7 z;gGw`(1Sqgbh%!k<(?WFK>Nmq4yY+SsZ^xm-DMmvR(ofu%5-etpf?HbgM-bUIN-RP zcPR~K=UT3dX>*_P=cjV&@Adn@k=Q_+R+X8-1bw#X!I6}gsmALNQ>>s)Ys|bMAWVL4 zsa6l>re!;J2B;mrO9Oayg#7~A&M<>GHd(H`_P!+X3`{&(H6Qe|5A94obMpR$eRZB3 zl8fZ{DGV*l09z}x7%O2&!@>6rQh3BoFVTrkP3{8FT_8@A;PqamY_4Q zs7-cUmU%-igz&*jkku5<)4R&mod3tvcgMr^1%2=8qK8BeB8Wtd=skjnARekW%bS~(aY+KZSR%e^Stl7pU=J5AI{u4GjryA&)hk4_@h$! z*g-sqBIAeSD>Y!>OVH{Do4sD=6?>wpk(Kh@0&^P&5F(4_j-zin&9&wpnf)a3t6dTw z|73IPk@4)Z>`3I8^3?N;=}4W0s$o5;=?w`|{g6eh;HW#p^FN1`mD;SA5DXM^cI_94 z&k<18OQF_is@0ul$dwjgXU4B*6BV;FXR_6diItn0zHQ!JH5h!2nA2RQVTku1koV{^ zqNrVllli({1P!OgF+6&%rgn}{Xo`m437^t4OA1vyAIfMlkL2(}KiJZ5X_%SL^nf!Q z_HvsiKT#S_-s_2Wzhvxj@FBj$u}nC!jYZB)Ss&EnXPhc5a`8JdO4|J_&VU0lu#s6{2DSDN$sPToAf4?q3s$kiS4T>t=aLt7$2x${?5*d#j&UhR+e? zcYAgvMm%XIEvRZ^^NtMYwR}3w3pJlG^=ZXxQ@Z*pu#`BShj}b6SBfEJ=lJizR;ee!h+bE!qQ9}{r#AmP*QoxoQ19X6=Db z%hHO%jPe6J=FPhf8=RcfzXvP6QhgsuKeuz3u6G(@bGNM2_VRu53r}gV%ZKtG8->d zIJtMb*3HN)C#`Lkn=Y?h@B8La3{1G|xfpzw4m_#+QJ}HwW&UCLBfWZy^IAVtCVgGg z+FzBVa9q)em5-`?!`iX`UQJG1@8_lFx3h53-`p%(rS7w{U<19|FEnH+tuiAt1AQ$8#p2=+C=vj~w?ar{IYK!Nx5d zS7twyO4W7Sbf_vMpNHe@GEbLlJ0{mCyb#yH#pgki_@+p*GFZ^)jc+AgrT(${B=+!O zO*{{`R{&-3hvxg0+}#QzHVq#`vc7qaK8}0wBM$DbsmbJ<6-R4vnn}5I4cw;DDI`1V zBT3BsRP0nXqjPw9VZVOR#P^^(($@c*3y{29wmk$`q=f;HB@Qzk zWZB>fvAP3CYtR^w?+?O6fiiVa(!xmPmG0wDSP=|TuOLuh3e~{%62P?5VqNX$s2}{O zV!UymV=gjZo8je;DV|#YzG8hRK?fK`BKTpscUeT3E2&lC7JP}G+pB!u%3RM+x&v4m`WTaCvK4zx?l3bL@U15GCV84Ncrn9J^YVz1y{T4|&!pKZyb<;ik~5)*DV*(+}cwN({gIZY<@m|Qbk z&KJk8g$G&OJ+=NgQh*-*t-j`K!L>A~&Yys0{*BBU?s^U9a}W6Q=7UsC&!RQY)5qgz zOXGpHtXXyPhrgqCf8XNNnpu9p> z{|}rCXp_rZ?06eA?B6&I3w5yju6Qea>)ZwvqoPV=7xj0h?`xKn-rLtR#k6oX4m+zk zHz@cwD#n!0NhK|TFGc+hKUeyvc2a`gL9tL_S2d3r@sz>0(Z)ZFZVnBd98b4d<5Cug zu6OPk^L)7exPeATebMa~&eNFepCEekQhsIWg0{oaPv_9ONKI7*^IS6a#~C_{@V@cz zdQ#L)i_LEyYKAAc_qCf`NqZ6?ScQF_`}v)%l?=n^0E!>Fo1fel)I3U0j=ZG$Q$`wM zYfEIGwzPs~ugmQiQN&4e3%I0TlE3=I!mrYytivX~7W^V4)jcs=n05KC_-Zp_`j~h> zBX|4xjgICJ~}QWa{vZ)(EVd zLoJ5#{5@N-@fQjR_TbW!Yb`I?mL^+=zPS617xz4NK9A^qbhL=Q4!ZkgSW!-};gJDB z&a$QQF#aU+y0BQWLEOok-3hl$;XfC6jPjOxjGMtAmIpg`9hS9 zeb0YR!NYI+Pk$(^P1Hp=8j23*f;j_abTm|1OB z1ls#)e6T>~tT%E~>MU#66QeaE2wJD=a=Lc#h{BToSkCJy8vc++rSfM@p(&oR-f0OG zy}Z$>{>8S}-EnZq-)nj&qn*x|#(C<+P*w)ISS{ljGo$Sn;FJn*j{|E@!C+G%MQl76 z=Pnh>Z)4TDcxUL_xu=4fl`kU-L@+lrUfkdPnGhP0kC9kI44d+KwZwrusmMU82k@Ed zk^#(ZLLhmUy0z*+pQmbf)+X-S)&&jBHS`@uyHTF2j35}b*Z92kM*CRz!#SYN-tj)q z3R-1#r-=h7?&aj3u;Fm3{+q!jz&d4v{{@v{mbDv|OL4Ro?8^JM5%EGqYFLkzVn+z> zD3q2GuiEph)TgQSPDMa&zTA1C?VqIEj)BU~Jhab?Z4ryh*OOnk2Mf(q&P*rLc zW&K|m`Cf^EYCB#i{Jw60V{pN5#}-flsP*IW>4%`0EB4zp{l ztFD;sk?);o8a^BA38sA-qvn*+ay^gv+R$`X0~e_b<0f1?W%e+}E9ddDDL+3}g!omZ zmVqFWaLGlSzDrMR4SVM_B!M&s4D{AkiQhL`y8Pf>kqH=yU^DMCiY>&i?110NFnw9jG zFF*dsj+GCs13n*6=f2mNxrDpx-@`cdt7_s|c6R*l2NP_V-fH%B28|c1#=i6=KpwmA zSyc3g5_irhquyw&!dIv6T(U*<{lkk|kH@e6K6d<=qfs99n#<|V2h;t9aDr->Zx%rk z|LrD3Q><6NLb~M3V14v&<);NTW7UP%RHfx4KCyCGKr^*pmFOVgXLwW}(}Qdcg(UqVpnw<2r$2FMpi{Uhu* zANdD5_pW^UBk@7KD~`$iR(0I;ypQmm2%Di%ShWak2J)dJNBbo3Nr7khgQw&^zd8{i zQVlgI7nxB9u;9Rd*}ukbi{5C@6)KH|OGlbJQE35isHNbZywBzcHAvc?DMZJyG&BSp z*B4LC;Z|}JAu3P10Hxf>9z?kC20}Ef+Lc}{6fn(D=j!_N^?uWr*Xgr%rJfM?q%W>J z4$uSTuUMc+HFvOfqsLwEWW6}*_}QL z5WG5?UU-OocFhmOi!!Gy>*vA54xs@t!YTrTu>;&t8!Vel9|JQY#g>!C!;$>8^$t* zYW692!o0zRZu5?**dgfP+5QFWIv4-RJC$TALJ+?nMe7r@if__w$ydFPCrl0RMRrgIABl+)KR167XlkzI`DCl_+8m8sRYvuDR0ShX* zYV&$S38vEa@kHyVJF0S+Dp*9cMThFmvvAdm%m)TzDpjp_751bi)T&gjt@W-Q`JBV1 z)oO)+4_Imq*nAcBK#ZJ>36Z zzVcqZm*~0KS9!`u2QQu{!bFI;1k(3>Bo0{dhrUut-VJM6xxoa+bvBPo-F2XOo)zcm z{)96(unoI=oZl3Xd+n$rMyUC8&Xn|5ps5$$|4<8hv@6FC_g;1a z3;IwV07CvDGSDhCai=P@B;sY5D)+A7)bX+kU6kDIFkH$O`$B}@qncR>RwZk%;FZaf z6PS;kX7>v&X{F7@H~Uv*IT*$Pv9+q^cEa=?m4y8S%b++?Xqcb{}k(6Y+!$N^MEb`<@-)mftAJw7B~3jUY04e+_3GVyj|Mc0#r2V zm7p0t!lWZdBYf>Fw3CkgD`>YF|I*gmOsv$?>J?Ibh?=i{SGEOZoAJE4HGPFu@=`R5 z>~IGG-SWqS=`KO<64G${jXgMaGvJ!4*qwqnKRr-?^6S)jH-0OSl!_F9w{L=G5!x3A zxTlr9EX3d@a$2L&cM(bvX&zd6CFfu?qbnSnP26ImZnHPE(2M7*V}pFs33hJ4zV_8M zh~y_$7M)vaJ>ZkwHgbqr%AQI!u#e|%nWC_OBQ=P#9~tEkyenJ{zCzptf^V9m71Xn~ zaR+XGn;bjcSBTFIY=wj~db%Y4(O zr&qal$z}Y`x#i>G!bwN?$EPnUC!6X6B=l_K@W=}WOyCxs1;aLc`q^E z@nh5BpC;KYcPY~pM9r;F@s#&6ifrrUo(mFsm{3*tEaHCFts^9`EfJh z%gA5NWqzXf?Tr+#RmlX-WV*%4CLDlp-#WYvUfg#1Wi#YI>C>u8obL~P=(POQ- z_KQ(}->2#b*4EN6pd9gRR}7PQ7Az7IcA>r_xH^D~I_Xx3VQf~QpZ5~)&AyE)b}=#a zxSMwRWp)Ach+@=$+4?;4t0Nt7u}}8R!OD_js+_4rbV<2$c9%BS-g(ozIQLB#Vjqf zStB0gYuA$Hrqnu{m)Un}Jg6^rV-dZUx=mITX|X;+0Fo>vG`q{_B2eAkTDfQ%Aem-r2Kz z-rwzm#@^hM>;A=!Q%MF*OQ-)^w4gCcRN#J|)D*~^g(aEKCpC$IQ4TfAMCX>9n1VreOo^KX0rmAG}uv-xj+yd-t<# z!uVSUwp{=Y&Z-K2R{@i3zu7CGq(>^;P%MV0ZxUL+*#9jUu!x7o9Xu##rPsgBp}Hxi zr~(`fY;O_}e^mt=)wku_qjKzRK(5P2US8|GLJTozD&QXm^f7S+zbz-oPW$3q6LKS} zM-h}W+t*+a{QfF`u{`pZ{t#AZx;e5P<%N6%4r5Z2{#qlRsO=Urs|x| zzb=x=6vMAV-vY)d>_RDvF^JJCmk*yPJ^otxMo|9Z<*CbeOL9dpdio1VY2{gW3&`~W zPZzLGx5j1P3BvP6<}A$?YEAB>nl_Yai?Z_0us|V6S9S64sTfVeaV)6G?(`cOQFwfFJ!W*66Qrm>au7q%a@@`QC{K`@T_k zMvBmW%hh_rD{PtG+iRv)-K5cP+}jZ8DB^mCSU(w9*?h@IimVm+Jq)wCtOY=&6(r|X zcj6l6fRZ=KA~P-S=`xmjb>?Tvp2Dka@O_ca-8rMI!*Q7ROqX+cj65>zMP3vrB88J2a)-aj4!jcCTk!skHFE6(8UCxbWK5m=F zW)^cfE(fm#=E{9<<_G$iLIG-r0bZAOcHLZR=l&pCGoJEuGQSIv#n^xGv6HMcy3n-( zt+&4Rc*Q*|BIXcJYan2FD$f6gNUF{ET;*D`)glAdHnY!!q`vyUTVv0*a_X7QE5%-7 zKNv*2v)k?`h|=p4k6&F|k6rG3sd@Q3vutzH$){cAWYt5t{pUHw0}oBY5GChd=9pQ$ z!?>o8aF1C7+59(0v6d?r;XsCr=foH9q+?VWz3Be4i5a0$&r+YSdgt!?3p!gGC6NIy zC)=qs`?!-4PFzTA6|iRm2a`KeLBrpES(m;FD|GkalL7%g4fv+Mt3#2{Li>eb;>9f} zGl7_zl1mI?kO?uUcMYWUo)4n5Fickd(K6rWG+VrbbpLWDp@7WX&lg2)Q<7@U=ZHkCHU7HV#yheD!i&Lxmr|w1!lb9LNS7Sk^9s@YX4iYELZb zbuMyYusb#XY!1t-EJYY=$)W_U2IyODMVAc{UV4UJ4f&eHM&HW0b#v?71s^(F*HWKO z3KyREKFg;`Nc9JQ1AH#Qav9@2tB6PT|j)ey7Q)!(FDCza|7a6t=88g3?^x(R&RGMmOn^B%vcps*$0uuzCx%zpSZMWNcg-i@_?|Pxcfaw1 zp05rPK-Av>COe^;ddc`c8qRDrX3BvMNugU9rs>fa1{X`Rx~!`A{cI%Cbcz%+@4PCg zLan_=n|euiGdg7Gj45(KH2FX=6a1(j3N>{{^x4l{u2%_eLx`6pHAl-kE^Sycx%XZ* z>VApStF~U`(jG5+NJFcdwD88AIM#Fg{YIteo%vty{*~pYeK#iQz-*rU1nobl@}aG^F;u|`H4rk| z^yN{6lSRB^aAnJ%^SL0D8hU1pOuPRhDA>Op1LZ5K^YK5<@QTs7fi-sc+Ggxv6lx7C z^7(6Z?EcPe^I@%1^ecV6kqc!)xqH0d1XdLLzB$DDt!?7wG231eV_{wG7l)UaE=efLX;Yh7U9tphT7e|K{%slM=eNpp-GR zbm{!ubOxFe347Df{tBy2<@>vV2OeBFf^QCwvrD_>@S@x9N~g1%O6L2-OFkcZ=v*b^ z+P#H^7HoK-m4dlLyP>XqyAsq?zrev z8Gu&8kqj}wKI0x^aokRbJltPmbKtFWIGz50&~34 zK-(7SL9;4L+UEZlx4plNEB$loNAUZIZ5bGx2oNkUvKfl>D1;Q@A5>JNT{E%l zZh3pm#N})2@tHp!q1Vmz_K&R#=sg$&>oJS<0t#s`A5$9IG4tdGP<2iVaojgU>oQhuakps0tV$JYITvKi)bjM~^ zWXz-opG(k)LiCZ~npkNfh-5X0+)!|o$@5NoyiS`40<}J{&zaR%$jga^4yTJux*-t; zWmYMYOEzYW(icYhYM&}6$7*hKadKA#tPs?;)yjG zZJ8t=eqYT~RZ4h+@odTzNXcdDPJb_Rx$5%W-oL%r$uw%|XCN;!fm@p$g-%rWw*B>r z#A5SiFIx-7@yd2qdAr=N9wW!;nut^heSz)@tj4OnYgq%&sEX3%;XrdfO#?@mgOy|G zQ9ge2i~aQGs|o#5b;{{9y!_E3uku(kX}A_PYKcx)OgjnqbOQu0kMqY=D|!oxQQp%f z7~+3q8{^VSBe#W5Yv^5)^G2b!A~DyzFbn2>=_sKnxB-rxVvm3~PcE;rHB{)%UI?y4 zd>q2dsoKSajP^wG6=bcDc#!mIvzkf!W`ri|Zp=Q=geG|${ZvzW8zBptiCFbyYP@sqrVbxv0$kn`inBhohX$Q!0lA!8m4=awE#;yf zd>eZJZx*XA?!AK(A&oLNdcMqx$7UwTa}H#Lls5Ouk_s&Xoj6IY?;Q|mE?DH(5BKx1 zPdDX$!H#IVWZxR{$>Fw2!17)SDf^`@cJ3UiuGnHACxS4Qy>cJ#xr9uFaoXG_YSMrR zpJ}ud>>o7jc58Bt{K8A(ZD!flq4tCa?oOp6Hj=Fe8{Aag znZfNLy_wjIuM2)x3xCv1V>JFe$a)UT+m^HOfz`MVXPr1f#6VX`+YZB;MsHds2@=}% z+gz8SxGGQ8!VZgAeGf!UvT%<#|5JQOac4tE%}B?%#e?sPd-55gK|zecjxyA9`^3CP zZuKIFigBqQY?zxoaNJ7J36jKH{}E`?#S7zRc^Qt~7EdmzZ{G_atVr&|gLXtPcdQOz z{gaGGyb#`duX=_vM!SgLtPpTnDw6ipYOF2H8Evw)Y;0*}He`N(HmcF!8VKb{XiAPh z34Za8pz=Ymb8~B?80|3C9NUr%oxI8a(iL?-+4fJ1tN$s&S5s&{mni$8uk6c|i9?fw zaB=4}ZxKWm#w?7QU@Rk|&zA+Y9tQ96toKK*zza%I!%ur+t`4Y)eNF z6d&^NZrpN&zXr4}1qG#O)x)u!aX$2bj9A33&yI^@HcuS4rdW3b+US(rkc&qJ1b&i% z+eNsr_Jr2;Dq2@%FbE|)Po5=CCE$W8rf~@owI$ey?J6TTL_#y7#np;=uuzxxRWt0LJp>Tc6QoK#gqhAk*LAsH$o_%P2!y%8qr*hby*vPP2&)S%;; zsBjr-QL<4Fj%C}36Vh$BudI)Gy5Q-!^<)WZ7wN>C`?D`}=q6W<A|}lhCQB1QDVMOK40(2D0-u(^k!!Apd#|S0hT|cyf!v{#-8P)U6b6 z?aNEXeVI~1MWs6wZAEoVygn|dO@YaRj)m`q(TZw6{WP=Hv^V`OFu7K}iUzVVudcpi z*%Kbs;Y5YhJ1l_s-{OZo)!#X}1naLY3CPM#iibLJ=AWo0;gpkd7$WRF+n<+1I@HsADEQnfXH#W0_}K)4g9aeWkVLkiS7io_(H6u`6QKcW6?C2Q-&>gMN~@ zX2ZVDF>p8==-E>{wCbivDsi{v^>p$XnJ!acxF?LVps(7_pdUrHWNpjAXS#N#`>@qM ztrw35iGdwAjgt9|=3D8aK^u}!?5Z+Q4k5dhE8<@rXsW`fKp;{@HSZHl7yqsA zv0I{>9Iz@A?>t9uM9t|+{X|o8hPom+IN<%U%(+n-1*a9lf8o4&d$&iKatTv-;9 zJW^l01nN`Z)g_XhSj<2gWKHK9hA;l4m03B)*^M4#bwRHoCo}f~4 z&d6QQXe~Ml9!ys`Ev#7{Valz1_Siq=NMkx_QZYfmPt&oVtwejU>k0^ToXH5r=y$ek z?GaftZII;oPJ=-L@Tc+CVLsl4$}cyGTsCSzBfaJ6Wi0O{{=-IREOYfy5p|C$j`##3 zcBy9zOE$%sH5c+%X;mOpYU~C`!{KgCqBnmy-K~=#OoeP87k+I>OB*c5>}fiAyh8zn zit)1J0h@SP|XP zY!`j!$jEnvSnj`w`wYR}2#-3jUeFsnEF{ld(p3CGCf6>JizG9iH@Qu%NMr456+x&m zLVzlzd&?{$Kk0e1!cn*T^$XfIOm93^p0T4usG&>NNh(=_RkXu4Xh~HH84&QB69^QZ zP^=((HtHTC2P9ke8|d+7)8?U5$%ynhvY8wxIWXIAV-K;P7h)FZahY6nbc*roraMO0 z_Q9&R`c(B$j|O=aUxPsSLU@E{jkT*-A}Y5b2Ohz|!#))wlKx<0S1(>JW=e@Kj zX~wgc9(Q7t8WYK6=Ufuz)?Z-MHdT$Ot|yDkC4`x}m7sK|(uXFC|8RpmjgAq1y!6Mm zTOp&F%dMI8GKtSK;2Y7pm;gRB_w-1Oq%1jhoJoP4VRJ<(oI>_9Mj4 z-h+^$g$OIPet?dqKTa1f^fcOBsWtAdv%}unSs4Zuy$y8^C+Ar0Ybu`qrugR7kcHb_ zFlbIO;dzk0xvGxc3F)1{iVTB0m-7mCU!K&5Jp_;QKB;$-$_M8J^s#9Ocm3VG?8+}OTqxKVz zy-ouHp^98sH7i5rhyi|tABwJ)O{Yx_n0K|Cwo^ZIX96wZw$K@|QYLbt47ks7 z=%~|?hEPL~Cl8i#&%vrYJCA1VsbDSy&bQ%skVNVk5rn9^Edaw%Vx6+Dp`2J2%b`P` zZJ#50FGsjO-e4-o1f8s*R?q467>+wEhcs*$;MPeOy5CCxP3_LwqdZ@@-kOOfWL6@W z$jN)qY{wtPTi=|k+CwGR3-G%S`YtN{QZTVJWWM1ux6OBH7(oFv`o}&8kXBm&8OAVW z^34b2A)}5pU8bg8`fHuE{I_hY`411Y>nbA*Hx~<9E-mo+Xlf|B>I01aXZB;x1N(^{ z1BW_L#zx&EmPUbjH@0jM%JRmM6@i-36{~97#ghk&aL<|}@Xk+ekk|}5#pa{9P&_~Y z1k8HC51A(Nx~}Qawz}}hsg#&&mDnmiixV2>FF{_cuzeG}&_(vyEdNLn>JyU#2i-es z@t^JcH3s?{!AOoKyA8iisz%cZpWj2Jt5(sK@JU0vL6wl4$gSpHR?%A!Qc5qKF85i( zf4x-`>>%^|@~%0_!d&&V6lm@xqVkS2W&772Q}ny>2DT+lSY;9|dd6d>4-<7!; zF`qBLjx;!7*(Dn~Qv4&tbw+K+oM2^#m|QTJ>Iy>cPiSnyl?kia|P7pdsa1>(HOrmxXJZZbnT3uQjNfsvYTr>9n^c!gNyU zeXJBd;l!u$wFu7|M`penBVrx5Yzp*)NFOcG@ISfp-}r+yg^wLg6#G%2&LbE5xVU^H z`>aw`6A+81gEC#B;bzcKH?*eWJYs^n$o$EqqwsKLc-Z-~SO1gW_~(M2B6FPQL52FX zK#u<+woO7w;d7|R#?}w|EIL1i?Zdyr^}az zi_AM?zm6`$5!G?UT&!0iN!4NIy?j00M-g^?Ha|1eFWzK}40Hg1i(`&n{UnUYfTm zwFi|?VhQEXuihDK1Lny85docLKA~7XT;pQJtl~2b*QuUzmU$TSK57HKwXg9ST8c(H zhCbyRBhmzwE`dxe#VGE$b!hXj$jhC{;h!1=zkkn82f^Gf6LRDqAfj=65ZJ6NZKbJQ zYk&nRr)C({>2HBDv6Q2ow(e&FVXBQqcItnqk=2ZGDVng(khAXmv&lQi+hjAPv70a# z$X~@@P+m|CX_g5*qi-j%0d1c<-$v%iC0jxC*@9ZCM%^h}>=phJb@c`QZ%53j4_I%J z`d`=OZN$_=v&2Jx@*lz=2xQGtrwpr2buXXSU2-nO2&TZDS(D6RegM6hgUedMV7VwF z@?$j4$o$ia*G~%Nye*s1L7r%VNL2FZDlr!_Ji7><`GHv^Pv6|>&#qFo(<5|>9-w=z zQ-9tZ|BA&5r~$3#*mJEeM!f=b0~3Xv><5?_ZNl>Ws4yiVgz_y}4pT@xQM$3Z^zD}dBVC-vfpZm?+S%yHHc_96b>O28FNB87DkwlKt|(*fK;^TRqu-GyIT$yJrP zKaD~ondt)`gL5S#+#3#1`Pa+-^uG?1u%a3kR0X|vBvz_Dfb(tGo8!dMo3IR8PY5RE zD0T8w3S8e&VQiT}N8;N!nVvS86TeMnT|p#*8UxSRIa3X`q$KRDYfXYqr31lhaDd}V0H|lYMytd zZ;$2hJo2_&oH|WoeGH#bYB$jQpG%tC$k!#aST+$=OEH%x?N22BN{$ZEDW%K=;bS2% zX`wdt8{ggVAw%hYbEYt}_rV!dCXEhE%`OmQr3;I>kv<8vA>fM!Ax$;_J=7V|o5CjX3$*;Z927yI4BJaT&)a$)G2UKnnE$#@=zZSJILOv^!NI``h}B2l_dHM^*W z_B;Nx*r*1(Or^@yJ;@XvIwPY2ZglwZ32>ap!Y*q&EgtbW7NIW5KP+3jI|wUGY?Lio-@}A&DVS&kjqQSn8qYJ!lOExFzLo5F6+r! z<-7fk9m+N)729Xn`sE^^h#iygGsgMCVw9GN1Cyso>oyR`r4bFyP9+qWH@b-+#3AiKHAAcJutSQh)f&#>7J} zW%wIH=MgEt#=@?YhzUK&hh6Isv@xDYCedi`8Ed`vht^6GI~$_WBr+;UVO{O z?#v;%G-P{=d9rXv`Wa0=oj`TzT7YPqMco5AO#68VqnX|7J0G z`NvU^Odghd3y0Tu?Q7d!tqB_{6(-lvA4HBOP)Jv$28_b1s3kUWDu+#<=5(N!YLdY{ z&mO#}LK@?G>3t@+-kwdVcEAO2b+*7(hF}JcI8KH+X)5TF*|L;3$pWY=8D>27N;NRiSS zh)4#ULkg3(E3wXGu5O!dPrRX35d)hiIJ*~wA9sqOtESI6I`Nr0GII0(Ayjs~igBH& z8^aAO!2d^!3jqPcl35zUN9Rnl>`B%u2>v6ExA&(s#pQ$Of$eSOc0vgi*4!*pJ6!eU$}#EN8s@=N%%inBml^?FJMs!va&nSZqSe3`&GQ$)5uqhxn> z3%02C4Tua1=tH{p(seCEvue{Q#EYxw=QwD7aNHv2jY@>~@Z6VWFPqfEXNAlyrLb{5UgCpprAXbGa-qsSlhs_T!{6(`^LXaf!%l?ov9YcMi>{3HZj-uvn5Qrn-0HH5Ley-HYHqYnAkey&hAcoCf1UTlM31NBcQS%%&jd3# z?@rOvh#zo5#F)KU0P+7rj61rd*+M##ur0k%kFtQP;mUc3S+(jE67BnbdW4o)gDDL# zcbaXRv-uw}R-+EHZQ>gcxXw@)5TIR-b_ z@PN_)Fbdivz<(M$;h!K%UpH8mg(mvBoCRNF0uBLbs7)-t-Zg zyfu>GK#mF6)l(NL08szeIgtvnPX+Q2%v&uUu)L4puhwcKEUr=vGK9rnM#WA#GW>0w zx!s>dgb3CLgdtQR`kc(zY5RjlH0zx_xE>tf=s)j1>!%Z0Y0DCC*h`C+l3E2M~;?$T9>IPE4n=DMC^yC%VuBFzljo)a%cw3{ots z{@c<=JmAN|l$2*=&Tey&C#C9d`u(1Uj@=GEH)jZaA>6Xrfml2BXkS^;*;F(;9J=4- zOziLbbql~@jGq~XevHYuWMs*_?MJhPUkkULRG^v;);mMXaLu>zK+qTn)|jx@> z?b+tiWSjK9Z z+IirUN>kqGa9+s_v0dc&Pc%_w7bgUYip_{~V=_;S^49f0mX zGtq!r(xARUs*xnF7C~x%aEShr*Fe6mC$oy8av_@G+EX8BpqG&`gsp%Vh`Lq}3( zqz~AId35^FqYS6EHK#Tjwib(Odu^xiU-QWxQxkk$5>-FWXTK z+h7JBctWec?t7EnE+9fAVf#@l#Uqa>k&BmM(Syi=GpYOE%qe8kdAW;f3*zd-aGCY*#gmI0?*jP(+I_b3{D;YU zQ+FEk4qf=_f7=~#1V)DRC1}**XiIDG`la#sy4qP&x5qyQ8Ns~lokz!Jsr0RNtKA`b zF{H1)?_mJhe;5EwR2&tB>u(%R#&r5ToT1T<+2O6>AKP$*UR=63XA!BX;Ej2cT4#>l z4MRg30Ki`7OX9<=Fv9aZCTOejJ*OHNE6AJN{pvE(d&*V9m5OH!+nwElYt7+Kc}O$5 z)q4>Ld*V&H=_pUxj1(vX5WzY&@TskW_XRV6z; z*76)eCL2OQ37v;~nsfFr#N*;>BP?L<3Eio3J3(Zd`Ud3>$M%d-cX)-m6BY=C zfU=G{ISa)Huyo|7a%Wurr>b|D(a-OLi*}l3NgNBute2IWPMoXVIkH#_WP-LdDQ zx;Pg?_iC-x9$Cc3=so>yE#L&j)j8c%zUqJU6fY=90*1qXq^u-fn%P;+IgSwXU<*3w0?o^|WIa$ojrP5qzmOYF!ca)sBjXm1UK(3Y~D`p_*! zj=pcM9^Gl0$H;~vB^%Yhpxa=KpAileA#9Tt*K(8)##1&R1?Jg>$x72_KotW{Q{?N0 zoafA&rDw~F|5PF+c?!FFSykW(B#)F>>$i7txNHi2a9Wl|<N-rHx2!+a-LE{yWnYO z^mZ*$S6)Usy;;4ald5{^Q8AOWQdhfOkw%pwL%+B0#vi`bB<$p2$+w>jnyR z+$zU^Iu$Er3)aWZoM1#~FW~~1^X9%l-iCi<+wqyIL$68pP#c_%`G1QXU4`jwR}I)E z-#TE4vFfDw-w-IONZ-&3{Wc_~-b84Qs01vhHd85T9@@D-4}O1GG%lro*m7}q%QWPj z3~P3EGKIBHCSr1<=*ZGij3IO3c+8Q``X{_=(QnBnZ`O0z0Nip^b%t&KM}_Ruxy7O z%n3z>*VQMh*{-#Ig&k4ce>MBhlmF*iOk$Er*i|y$bL9*Q=E<1;?ijp}g~w-XHHiZ& zUR`CYb?#Jq$`M+mgs77dDs6Sx!LlqS6JwuK;Y3Yt*qxpMq0K5O` z&}HxjNMc%&)X6%dds} zb8NAEx~Hrf5DxEXYg8EaxkeTmjUVl51%l}|gIoO==W_8RxZKFY=XC`fTMmV@qR4Zn&d-d@A2H!1$z^&EM;#WKrX$r6rg(ktK6|{Gz{sN{2 z^p+L>F@#0vpbGILaWslLgAPayk=_E%!w%hO(6~YMGGt5Q%$5IhaIkBBz!<6S#!T=X zt`tK*PD=>fd8Xzvbx*n%6iZjVqiJxed=LJDZfKtGxy>($`>D(c2S%yv3d|Cx>LeLn z-n&zJ@Du(=W;xf#zU`?ePy=-T$8X52?%rwQ!>^3x9SKiCpN}n4`P`fnVtlPe(yhBn zFmS6vO32=!{LxE@@y-nGe8J`Wbsrrc9?~4jJb+lF8#*@60)YfU2Dh~zO8)`@AW}J* z_N`VY5diHdtWKRo>IU#C*!6*&zTOjwFNhldLD=YIAU3}yk7O|Qf0+92c(%Xqf2&Gs zwyI`HwOW0vQEC&TXx~;@AT|R@1=nEJGzem zbiphVfx!MSQb&W2E-GB9Q(-LuHBpwP(@uwbPN?HL2`eD;r;xaP^KX>0jr7o@!-c_( zX-~;FnN2?A#7GcF{aATRPt!&Sq!Lpy;D3;<`FmC$%O2o+OONbZ<5dx+3-!Q0S45xZ zv(-z=yycg1>#ur)P%w0IRlPaCF)D#?IN`qv6ALm=u~{xu^f0_*&cCu8G+GOOD<}<| z$e;TNPI>bt*OB6APd?umz49Kq70T`Jkafs|$P{7**qhE5jtmQ-Y*n4dHq4gKW%2fC zdqh+wElK_KpAerCEB%1x0pZ>v{m9nFa46UL70-hh|KEwF%t)**soGvhM5F24hoYdz zVe)S3#-$dADBMM|*e~|Hh-6CVeB{fj9LndZo)B7NXynKD8M#N%#8>fT^O6 z;-^yA?kF2+DIXC4CT0i5)Nui(Xk$=Ildb`zkNjZwy58r4h(kbA>|naQipKYlmqW{u zAG6I&`r6&N?p?uT@@w{CZFysB-YE1eN)QLz1BOU1Rx2cyf^J(RD2OTiPX~Zs8&f{g zTau}`?Ni2WN#bmFBlZ6@9ojR-k1=3e#E<(uo}1XFII?Nu;p}--2HQk(>T}tan?1UR zm`-n6oaDkMZ2{}_uZBfR6f=-qsfxv^bfF>3Sqc>l9?oU);qF|KV0-Yg3IyIB-{seUzao!CfM;Ok%2F&|+Vx|ORgGk=n zu-Ed=+RL?IX?!@eM1IZvehU57$~AYEO(kDC8rdzIo?zXZMqjbu?SMPXR&)uA1axYw zY2F?HQEbHb8;8ez$qjWoIqnAx;Bqkcz6}CgFEBijT!X8mmwnNOV61bc9_|yl8f;c$ z1*S$9e0!_jfO*5iw(6{YSoP)3jAtA=Tx`Mc;W8gHVX8n3>Tp-C0`e!^iSj{UdwfUs zKxX`91G4EA=Ea6s0gBv1;%UFn{?D6(uNtO#Am9#6IWUjuH6HFgJDyvdiD? zj3f{~h#b1m95$q;MTnJq?#>0P*Ey^!K)=weZN@f!SenL0wVNFC*G=vv`u!R^m-mMC zo>aKq&UFI$wb}nxD`lcaukbq+#PKCfvJy;S2zm+pR*iTYH}e_rA{>v;Jlsf|Wd%fi z{PvUf@D639(>$Di?9I8G`Ji(W60_R9?8n{6w7aK@&Hk622?s|BL^hs4pxpm8idyznJny zk-y|3MLXt)vUk!FZC7kQe5Rt&19<@u8K%9!$s}_8FJ#tImM58j?U4|Ha3^LvvOJIMU<&$Y|(=yO34K+iSvx%umpl z7$=(7j{7LlNfH5_S10?tY~&kfQ938UqwReE@|m3;cSXp-w13nk0%^w|ZjCRh%Usj- z(l%6-8BKmMd@1~26DECctV-&!vtcg;f8I|{)@ZfbgZr_z?3K%BJcb-tMB&N~hX-WaxRyS9XD7Q^INP)NLK4(fv&=Z#^d2*N{FyDXpl>Sfw z)Z89i@=i^L(NY>WEmS9rlcT~239BS3a53)Y4sbuRg|gH z24)+z7$M`{@5V2B3P}Shg@Eh01I)XY)rOQhjrYL5-7hKNem=?u7hz9HKdXD9FU#i8 z8@DULXHZ~dKcbP@Ak%aXN+JVR^L}QDuPZouU1@PBGB07y_x^;bB(pxKmFe`d*@<@c zVE1d{z8=8O)bNinnk_zr>BCTO4e{c*IbGKP%NE*RZSaMCOR>gtMi~ii$Gck^cj4+v zF}ROFkmx0s7WACR`*4($!@yVfz?(3`I&#`|-jk;pzv8}XIyK&uW>zb^ zB62*XiKul%Db4yoYW+Q1ngA~gO<;SQQaQ9DW%!$KERdA8V>(%zkvl-r9V#7$7c&O+ z>SKOl z?|+md`Dt54GyrT6!F)t}VECtVO!S>O{NkOCE;lVB`^NlmhIr!UQ0v}%n%%BtO8fq; zr8ulYVobu&_Zas$L}^ejRLD*3-!C5DoFXw7s1@>W71B;w0njd%aOViwaNw6L(8m;N zl5;BsbsdK0Z})JBG^+*=o&dLD;#n+@PkrQ?=~B4*($M&xqW|j4ok$k+DqwA|G6XT5{s7B2p;P!I9s+Il6M`mK+o8@RfP8g zB0O}`V?wsCJn0UQ4Lr?&yliYd-u8UTNHa^B!Bk?n7Q?q6ZrkkS6<)b=?yKi3 zU|KAJ`|QE=m=($+#UoHU{`LY;;oAs z|2XM;>7%4447dpB;gOmsxtY09Ul%K^B6%EWyYzJ#YAT}-90o@6j~6|8E`ODt>{r}J z(PEX(U%RzDPsRH94MXsrQ`g@}HJ|UW4tJFQJVB=&1|&G#0&ygea_sA9swnRh_#J5I znGpfM@825S9R|Hv90m6XGR6rzas8mK6~euM6gF`gaZA z-x^=M)JVIAH;-{vv76VRn9g!b<(vc7>~gU1edm{{d*(z! zmW|>>(1MkLy)je)7DU&3qaE+0O$u^l;c4@^zAU41Y!cFNCzS1Gqzl5uPD6b97;&a6 zDxvBur`!xtiT_374pH+LSs0k`uaqNuEzV`EqPq9@PH#|5CT@Mxie6~^PLgY_KeT>} zbhq)#VyPhQ8s#hpOb}oDC2;1B;P&NTh@q-fXG^sX`d&kc@jg-cW+H!dgc4ZEvC`ed zr|Hh0U>ZVOl@+)@!6;Q059q*pJyo~+Azkk7#gNbyT$OXYK#BE^>X8_Mv4pqcg&Q#HYcg{DDi z9C#Ra>d>vno`cSIkbP~a3dbe0nOhLyNK7H5cJ+e@Xfs*)o#e~keFxl#J)l6X|5|e@ zexzDo_ks5J(vniZqBLqKiJP*fWU#M(#iXf$V+CDU5x=TVV&BvH!)+;o+ZS3xfz;gZ zGRFY|3DM>95Y{^;p64MUul)`qrikV@U}9A>c5y<0q^&mkBMI6E2Y2aVOittWG1-jEiZE z(PQ(sTJSV!{#xNvsw@pG+yxjc`zu%2^`ixfa~7eT)VHUv)3vpA1ezw2*KUpaCZBw4 zq7RKyhk%<)@3w#c_92eBe6n{%gjI8kX=j21XAp1#tkyu{60RcaRK3N z@J8wVwX)XQU)MO|DZ7%1FD&a)X86f*G*{0YM7u=r0|A!5UdRCI5J)z`H8NW>uTH`qPOO z8F_7x5|YW&geq&8IESWpFUg}75kFfvl3Tel4sPFd?z}wr8mOO(9sD$2K)^-`FIvpnbbS{ikY}fjKi95O1a@R z5uqwSosuFXQqw*%L|^0lkzUd~u0r=TzrC!Q;~Y)EF7DL=@EK*E1bI;n@0>V4=u?6R zusQRnMxSRwn>nW_T7(*pYekpsE9MtRXk0iMg-ihO7dJS8#uxoUfPGdVaX z0OgIc1sX4SaLczvT{Zglk$Dc9wK(SwRh5YE#gTqO{O@7Z_ByR&)9yZ8NB*)C&eI^8 ze%zxcgRV1q=MT>?PudawoEboag&L3<_a$fVb6gKsmR+UXZhQ>-M3uK zM#5^B#F{^$(t=Vd$|<}Zze&+_L_724QNw!SAD@E3-r5r`3T#atmzGl(nE^|N7ttNi zy`k!Z_5Trr2$g`xj!gYLJ8BB3vazdg8xrT7uzDf5Fxau;5FcnhRsi>M=zOS$IM0{| zC=tjx%+>Xu?+ExrwUTj_BUqa->NV7z$+q|#5o7EwzVa?R_8sJZ>!kRvE`b3Oe?Ps+ zXBn%vwL<H%nh03hX@?YJze0^BVOQj{&4q-#JA!24aYRpMSZOF! zwpoJqChO8*MR7`z!4=>`{+jAT&3r|>8Idqi?xLR0%8X&9u zavGzdYS@anDz4k|xa3{A!B8meaF@1;Q2|r?-RdllUHfYHm>NsN1N+Ya#`C)0k<_q0 zwH&aDK#4z49Hhc|X<%B64J?%FobxphKWrIJ^&NB`0>tS-0pKbk;=#oZ*9>2p%-%Pe^3M&IGB=W%C_PI*2KT@qJ z#(4RNvpwW@(2Q?I0l%Fy#b7>J-N$HmZ)fcWj9G1$TChWy;q@l5<_EXu@5U}ZHhz!{ z3WI=IhIc*lv14!~k3Tpz*rHGSf#kQe47TJZ%9saxcDx^QpvsFNViMU_HNZ@B^BZxf zi7IlQ8G}5Y5al>L;dyauWxT`?ncza5HYN5`C zbn+T*y~(5|bV6*LcdVd>A3(zE>f3d4UXopx&W#Fuwahx z#tWGz~?Ic7;2k&xJQ;MLJ?9^)~lj}7ZK)er2rl&DL{JuCM6 zHk?@Gfl2Vk0|=^IKqj|Why>l!wb?&$nkho^cnp_o#vE}xiYy$m?>*%vCHJUaNy>W< zGq91Sbi82X&XF+jLkU%0yG=c2K54S;_T!4wP=9ac*`CiSP}G=v^8JjD*Uiq<<&eD; zIvW|23;I|7cj;&cc7i6+$+%|NKTw!5DsmkNkDJL%7eNPfOvhBB!P<2D>z~0$J5o*eP0gw3uc(9~ z=f}$Mw-UW%;Z-E3%7;VfT8 zzS(*!>3N|Y6Z6bvJv*O~+qoy)>^^E*csYkTmb@)SWEPp zo;TdggXSPl&d}ejaD+?b51%y9^0L42oVKZ~U~xB8GELMR^uDq5!!xQm6IU60l<12# z+1J(b^T9Rsz*LS2$woNiKs${&oh%J0HlfI8-Xt-woHMg>0n_@Be&k#@-5-U)r`2pMM zKm+hAQQxe0Z9<{5%{0V6Gxip1WOhLS0E0#6_g9(Qq0n|#kCP$DrU#M{)ltu_TBh#q_z#VVSlP)C4;Q=d zJK#`HgSk@ax1(x@pA2O7_`+Ph+jZKu^`iBiXEcO=Te<4#v>}`-cZAYs_8twoND*o8 zp=xc^WWkE4jMU+YlQwyT+LX6)(g49fg57sdx9h>9BmK+#E^mFN!+2Q{@}2Spgvw-~ z7`e%Y%VT&#`=|?dD)~EHlYzrb;GhKIX`FwFH%+6RbgtNf(~${o54W6k9dkx0%>M zYnbR#I<)n22ynQXz-ggT2Gy?^XLq)(AtfBrG8lH#^{ApD+Jpjtx1Vf#*Yw z3<#lHbEnRzu*}!QXgR)BJNl*bk5BhUm<3*A)qEhny?RO~M&OfhZ@@!%!B^a^@)-ANpW@_MrM^XtR`@OrDU3f0|);{kcrnxvMzCjsAY8u2D*=` z)ekFzzJH+cQEYr@pkx~vLXX0la*3@GEVF2|lLn&7PN7r^9&&2}|AP}hJocGsFf~Nt%uydGYbp2-TVa|guT&}rn~telXchE+TyiCkX$K1GOzdIQA{czLIV13 zw7?LJ1H&pna@mz!7Uam~XF7T@*UGMbh96`|JAE&$9AzXC^q|wTSZ4qGT|#NjJX6sw zpQ)LVcXZS3h;`VnD%I&PE5Dx_P*S(_b~ZnuDcBEAE~e51Ae z`exVqRd@FzFYhUkhK7&+!6N)~;Id=ym>!R|k^h9=aTm<9d{%mS&rH5laK-L(E}ga9 zdde8jwR1T!3i1UgvN?>i%i48JQ0jrLl~sWCO|~{e7iQ~r{uOz2h9ERdBK=rEh)L@a zAmp2nLoy>9fEqG`}?+v$#{g z8%PmLlnlNrvBbEAT%~!@e}$(L1ZimNyel&L0KtPxO#Re`1R@QOGfKcGT)}T}m(C*i z{6o0}$6p5smD-#k8`rff9orMwFpJwXr;!u#N_7vv(J(cgIYHv}ZxWrx2+O=X+J};D zzJ~XSm1pfBkLt2{mqw1QAV-xgD&4D!MAYj`2rLK{dFr=D+Ehib z^TK4sB-mzIWgDE;dtV626X9&^C568VdF9}*FwsK-CHr&3r0aKSjp8dGG{3fL8OdY3 z?L(gPQYQm>A~m~`_9uZS4rDZhB68^hdmD|EIz@Q!O$_RT0QySaKPJuj{*eGZ=gTq& zB~)S2kBy_W+)&#jv=vqYFBz{Ca4)p9fN{Nb$$-*$_{JH}XIPsjRo|wzLQ+_|lw&+6 zg7(NQ9U9*D8-9Gp-F#*UUi5=^N9t*xB`FpVZ{{t$97n(wfZsd5@+C`@7cRJg*3oZk z_-Mi=3sBXs^#X`e#}Kp|59Yaa3cuk%l|+Gd;YQ(XcpPyYc~Q!5Vqb_>EjraM*W(oj z5A^@?G3OPb8(h9O{p-#vhCKF4>w( z|MmQ1jD9?|(I@J|a^V~P$L|EC0m=t@C=9L&N}nYSwl1DUoJ1LIX>H`NX^|!_YQ=8s z9-F~)MjTpEzOv=O;S)%Zil1uyUaRYsRW?O;n#q(eAGoW5o^@(TUwh)%BB2@k(T|t? zOekB;8)W?E#uJB@){bS4*AUB8Fj!!7%r+=4pug(}oW7x%!~*R1&#fWRS1Qt%6TaRO zoVAPwAJjS9<w#^?a4(z;qcE>w_1;;pr;7G$1ed+8$k&lYr+#q2M}5Tv z3zZHfkEsb}Hy5pWIuQt?hoPpl-R$u*>mQ2A4;pc<@#N)CP+R>Sv5qpN7timF?BM6j z63jip=Lbyv#|w2P`#M7zLH$5nDtV+rqQ2|!*f8h%3Fs1$usk`E~uFcZLor%#&w?IAv zsB2au8z1xuG+td8CT$USb|*`aE|-jN_g}i(2utUI9iMdqDi69DxEF~2%nyEEs79|W z)+u)lo9T-sox}xEeSgk+uFyk3+cc$m~pSYlHEIGaA}U86IH>49{%_y=TaEMO5zu zd!J?i%z)tZT^UL9kT7p^NuS-*f~s6BG2R;PL&~j^Fzrs{7;ou)H-$eRgi|E6TZV<@ zFBSmc66{G!E^xy3HHstACfrW7&XQm_nMAg<8(4=mOx)a2kHx|jJiZNbY(s2UwV3=X zBE+i6!^NYAY?*q|BSDV|_qoC7`=gJ^{mGh@xKcX+%GnPH4x3Pktd1a+X4O-cpr5dK ztO%hcfS8+qROX(-J7nq2{DOUoHf=coH5ak)AMZT8H1VOSkVi2_W-4PxuayW}CVipD zJhsjE{q%L4D7*|9hbS~dGp1LDA>U7UoX~_E9D`x411Vx_yR|#a@g1fCB%Wy|!XY&V z6mfP6HV}v--wDH?hj>`k1@~`5h)D5ss}Pst_xad86dN&bOnK(u$@`n6xBFSV{D}t< z(?4co>6AK-EsVz%B{*mPS}Oi)|~0Vvf2VE!NKiV{b^*-|dg$yw4Fb{zNOcZ>vopAvlFpPRIG>Bh<) zJc02x+eVBxc?SSKS@|mr%MQ`S5%Tkq-7yA`dwRy3nmx>-%Qo1Tynr%tsDy?szz55o zB`;ynq&s2!j$zdqbJs0i39a4w9Yl^}j;)ni@^?@UOo=~&5__`e7$!7l)ush@h9Gd7 zfL`?y(=c?l;7G9dWUrZ?u*Mfev@1zmdJ26T5(nF?vs%v>*dkPR-wXbwb;3nqST%P2 zx%DH8k>9lzv=4bRjMx3lAv$cg#3u?c7U6N^kn8=(&gfk=5)6YyCTvPXY38JB0?57fYC$r^^y%^}L`O zHLU?U-W>~Mm%c#nmK#?PNqeMkq5mFi|3Dc}nSC%0gCrp>OiL?fD;^>T;hN!xcJH>9 zADX{K5nPdo^fU;Se`>#8JHR{)t!F5Lrf34Rhcm?fO{N8ZQt2AG&v}^Qy)Xi-cS!+s$)@IiF$rA!DR;*oZ(Q7&?eipWSibT;m zneVFDh>TxZ@|;MP1L&{)GWeq@%c6SmS=^|kxs4$IezD@9?y#LhUq^J>iK4qfmD=E} z%8LdIvv-FD`sMDS(8a&1pG`g72T<=jqh?qPnOGxiIs*HN&4XUi=}x$YFKRG53cQ&P zXVZHnQS_9Ds`WkzO|Brv(cF>x^ zV@ubDEZJ9T?VT|0)35$rtHdAtU?mF4t(@hxmh6pb^R$sTH{2Z)p4=KrH+zyBc*Vc_ zkp`sOMB^0!?kTNt8t{^IA4t+XVeWF@v9)l$cEp4_b{<+%_dm8e6(bvkU#|cdhbEveMF#UAo%n}0 zJ7qja6zAYl@A`SSmlkx6w!>679Wbjr;YM*|C2@B>1ssetz_HQ*6v1*49AoXL@KhT| z?@gYD?`jZhdVl~;0oolIKes$qs!@=VD#;`&3C1X$ELo{jc)_S}Y{5anU~~Z3`=W6N zIdBNRgiLnMo+Zd7MGEc0zo@^a>qu||u%$J0AK?7}cI4Vz-x3p+yl;T-q2>%(2ONgB z&(3Yiag>df6E$Ah5HDhNL&!zYPZ;sl+8CxB&(oJcxpTjWpQe5Zj646`QFiHp-3k-N zEyzixF~xBgqDq%Dk33g=nJzpwEW1!TRzTNgZ?;BKq=N_Sgs1d4CwJaKFCcUC4J+{) zMM*54(9VC#&j4w>OY+4!0Q*jTetHTxs5Rq$4kwEiD;WT^ub^YPCwGM^F*7njcCJjK zDjElCUs5P;1EY`(9)~u5ZsHi$NLdU%*k@C$tf^N99yZYxr2LXwA|D(o9B_PZh_#W06-aUr}%dRFx3>h3NfFn4lNoQ=*_)6 zs5j!INd(}9#|ka~!hZa~M(?R}+ywx+fq#IzF2HJ7!oF8>`Nm&4A*c~`mmq#Topj$h zTp{Z55twNOE!bIm%O305f)Q%4IX>t_96yyj#*|+aFGkaCZ@A354B0tN$;X^5&SyVC zBWGs#`LwSw-d~RQt!O^YboWtd3vzi&2bsUn?2+RQ2OeM76!x=vUpQKRj=D*xvkbg@ zYM%y#-2Sct^qy-u=#3mlzHylI(CaF>Wl{fAE!Rcd=(c#FzyyZGxdlsRZBrIr*9*T+ zNMb!i!YnUNRkm z;)tNcD4~8ckt3n=S7x@t61+|ECyRMGoGU#zse9wcu`_$Nkei4^SdDP1u8?c4p{6zo zuP>4iv0j#bW_ZLo^E^z4NKtK&`As;!=OuDa2K$h>sXc9V5K+bggN54V)vPc;zQ_|R z@X<<}?ULvBP`uHXmxgLtd$$Jk=TxHgPbElOfE>gHLw0M^1%WCT)&h-rWBjG)>R_at zM|5;~{r0fxt~})K3>rdpp4qn=GZ{lwLd!K;H*L}{nnG1%I425shy9asRx1wegs@zt z^f9}Me{utVO^V3G@7io+zAfQQ;aWsZ#$*v%1^I?;%eX73EXRgUq=s?#A-Pz+S;Km( z3~~;A)ZQ#)S)I*>oq3zjkb9^58XMCrK_o4Qo2B!`Z*B&uEHnwCWGFBPf&fYi4P8z< z?QAD5?Q#1`Ca9CWPcLnIK8Ppc3DKz#*)H(EGhjo^mj6JtQ{`IW@!ReqoWNa}6C%O6 z<|ORTK|2rixE^t+?B+}VS=Fv#LeVeU87r6!@_#7Ia2GixJXxy))&@>qwnd;Ix}Epb zjJEl#v_<3x5wXbCbLXgbvd~UmZ&9q%3d8A|Ne;)?JE!t;;6Vp)43-0(hV?X$(=tt> zoCXktOrd6YoNL0APjH$WZM^EoRl0IAycd3FFY&GwQ1Tq3Xe{7q+k6Y(#QJh*kk%B( z6auP;%GsIkXnP^*d|jkfbTOWCS*MLrprq8Wk~LHwnXqcJLp=Q(=H2Yn(lqu9i91t- z8{4hM{B!s~t^c*@a9Npr1TXE}Qj>x1TlnNH(Z<_xTh@3U7GF{vrZTz1#wSY-@H?1a zI!n=;!V8*~xZ&rchaAJ^*CUdfoo6LBv@>QTfW!lWCANHDjBrQNHJEpuQ6|b^)TxUNC%xzy1|8&EOmkM$PD8P_~o_y3L4H+nTi?eS%$u z_4xl5;%Rq>qUBUNl!O}#+(iM{HctSIL=Cz*fp3h_pzOhyOAE%e-JHe8BonSpF*wq8 zM$h&DDkbQ|s??0eBvI&TC=cvy3Jl0t3ilG)?9=%ik27)Wjdkte=Z={JWvUu4rw50w zLq65Uhhk?Q3&HzZD)=oSq;No@hXS`u8%eQ;D7fD;EYd~Uo+gZH*t32oS&WnjR?Ss{(AXU)=XbtR93mvuk(CWMUvXt!r;xUx~y5eB+{GveUL`u{qB*8d~ll&pgIiaY^)+H68fGKlQ&syL$9`T3@ z?XS{A;Q)tS?b|W72|AaP(Qi*j`c0m=52EZad~D^;MUku`N>H#*%(r%>OXabKNmZVx zs0%Z6ov4W3H1b=urO%RdSnJdz*Z2LPPr!TJ7QN(sZNT<%0hYlMrf`6FxL+J}WDO!1 zBm7(xjT_yP%e`eDJw^uuLcvJHll|L=FEYg+X~OvkaJ0d5x7~O4s*L=HsewTY7}a&) z*rrjY>%1$QDJ!G-d}-y3GA?Gdz{F}q?}_{=&tgHir)2hQXh!AA+vfu;CKKxCB;x%m z)b*~{`K}cbq_;jV5LEf@Nl5>9J-HaDt(o3~B=0*BcV*hp5iTbAz!CL*p4cp%tG;YX zO`4Oq^dfg+l~OlT{|qIwY;=55aedbe&oo~Nm@h^EX8%8@;&jiuCcdUh zR4Epl|kzlOnX`C2&tT!s6-M>^mMp?=^1QQogLbVmkrKX=M98LMcMui3nwN zsB~VPf}ctdDE+`~RYq1l9@c~NZ!mLkN1)&iccj`yX0YTe+ zUe8`T4SbRRN*3=cnlj&#zoZ!VdKT_0^Mpg>NeNi8;TDjzPd2_c?-{Fst7E*4qt#)*Tfp_JzXOlDB9Mu6`JtdJ??f8Ey$>`>>2S( zKG}`_c0c)4{DP$0s8F*Lf7IfQ)*_m~`&8)(&qG~vS~n9TA=!{SRWDa%n6>ol9CdDZ z`N->BH1~#6?idClMLWj4)c%cum=qnT7)jH;#M9sK(E>!N`oTo}Z}%;PYN248xJl)x zkL^Eet-=rOfA}&xe1tXo>A=Lg?hr2Z@zH7JD;2yEszQ587XTGKqpgK1XuHuBxBQ#X zwwtU?E8*QL-Oe(#!==z0M8}W?GA6$+7J~%?=JeCgWAji=#Q1oKDc+gM)cK^7_7bEl;}k% zH?Z(eQ>e`R9cVkd$L|J3HVqob&6a5ql4l6>Sob;KryUz2(gQ*@P?4{qo?#ttF@tHxVo_Xr>!VCVX)>rZ>DIF9#iT*G@H zM(-2c2HmPnQgr7PAT#X(bM7MC{bR1+f#0z}g`myXbc?d_6Yj2j1|;~Hyhghw3JsoF z6QgC!I5^;#P4GibM;ClbIg3UrN`EPb9z zTdg?reuetYlnwI_?K_}r|0}S}_AEkG4J|v(bDE74d%N$Ml6d2wk4yFsSD7%x*{K)+zfjsPX&!O_7S;z9z>YaVi&aMGu zsP))0b+;l-@gTo`ZgjP^-oOjJ>^-~*{nH|j->a+`(2P_v^O4!LNP(sqrKL;Lo}_e-*n z-b8qx8U$1!D&fV1IN(I^+V#>nWFiD;ZTOUF*IFYkliMs&Q*~cWCgv_vqMg8=7H*V^d^X$hC;h!%l{IK*?+T*SFKxj^qrTVqr}7*a1x&#v(fTvs0&V#NgF< zK_&8j{jD{e&c3@Zgt?VGXg-RSg7bM*1Kx>K)&n3E9 znCUsF8MjlWsGoPKvtcmCJ88Av=Nk?T>Hc>u=JH>E5Ic}_9|Wpo8djTk^G_r=&oXxiUH zO8rkgtfW}uxmn;}kX|UM#|f+Wu&;4DgApG@IVPQtP~6iG#cHISEbgP1Jfqr#h7HLrap z+MPIUH`v&yFJiKN9fm|yUC)hI_UAPqLouVu(t6%WJ(%e99Y(gGAFuLiM}rM5rH~+zRg0t4Hl_dX1G&Cq zAp7XSHH8B2ZwWb}p~6KY?V4|FyPOhwzicl~I!k?zdqZW@PwQq;CDD>*=}b-lY))N;Jl7R?^JoRW zTpv&WkR7_iv4Aw*x>J$&Py6m!6^{QiZdVB9UoMvBOu>%nJGPS?jm}U&b+F$K&aHFr zR}%M{xR+|v+2q_lKvj`_h$;gQ)e&=zm<6;FMR`1tEY?{MBTS&n>8Y z>l610Yzas*=@w)FlV3HlHz4$5wx>-g-Mulh9QA<(p6y%ho;i4vId;@=4wJHXz#70{ zp$^79fMPa_(33`jA(2BN!KOc*jX0dq-9Ue(f+uLNoai07C}_ORQKyuNPD`q7C(3ah z@W6z6$}nB}A}vL0O+8SiaO-3s*Kz5JV+wZp8+RsB@bwR}`o6X{aZY$@ZH=i>Hp|^5 zWN5+;3BkApdZkPkEr$|%ob|@CqIQe{+(JhGziSbCB0aRD#ZWY^^bliw9y(uZ!E*FQ z8k@!ih7e6#hbp<^E}pP{wv~zI8qys4$TreE$-CFEa*cMD6XrvTs}JSRo(E8%cK$#TiU%5DMQtN4Q*SUxvCyNn-9jnwVg>IWUn9 zr0~@7e6=}Jyiyk@On6Ut!OFs18x9}T;>5|UDS&S1Hk02&RdurVf##9Ol;+JM9VvnZ zGsaEq=5c8iE}t9bV>|2}r??yekvFlLnYXBG-9Uoa7Rd{>sNbCIk<}dV0wv8c` zOwFdxDRuXG!g}pi*MMex&r;TP9cOnXhHrOr-f&5=6X#+8eRJ}lFTXcshazzO^t<1e zfAzlJ{-k`fT}Mw$?!fr~Bn`_NHzT>*cnts-zCcwL^m#VY1Ws!oS`g{XZX$nSC7X?@ zvFpT)RHt{HVtcZ@T!ISNJCX`LK7DqFcol=ydE5cq16OsItVoGX@_QxIHZsQem# zI>|;j%L3%ej>HF8g3^JUv34~SXdlm_w;=or2;qbSrAG@GD5=RyoX+S?cD0c{CrH)a z{rH7|4gmfQA9zFYcT^L;1bO=plQX}{Rv7&doVEXJJ>mzGFj;%CJ;?zd$W|mS_i+WL z*XPTJOlk3DG&fdH9P_<(o`o1uE2eU?{QUNtm4dxQ!EY{t(PnJMhb|NAE~+;X*~n0z4w=4SQ1?ZGF>rbf;e})JJmn{ZwN3<+?363yc0{% zT(;Ct93?PU7bRCkQxeS4i2;-iugWLbdj z>&v?7Uh8KT`4{(G#T;&`PrzK6XWMMgMQ&8$6haWGOHJSW?JO(28dzxDStcmacu`r`pdk;$F#UE(c_Zce&cLpuide!oHZk%6ub7_XfFYa-P5381ow6cv5@Fw#p~R@v(4 zT`~Nxk#=!yMmf%zxf8^I0fr3*=v@z7E~#7l#GW;UHHY6T=H~+!A(yQ6GQRTljh!yc zu9u$3$m6k=;@#X(EN`;4vQNc` zz%sDFUni0ZmVP&wDJ?N)|=I^kv5C zEp>68K1s>_d@leWv6C|-9~JkL+;u&;H*-;dY?|^EuG!wW6!X+oK%x`v_Ir9V*FZvQ zRN&&s{p! zFfQFwZDnGb$hN%P(4T4Tr)&*Q_ZOs`8fBwx@$6Lj`edy*wK)91X(MktUbw&NsMD6&+_r*oiS zR7785WI~lKpSH?LKD!F;@q1iGMj4|SrpOzA& z>EQIpY7jB0g&4q~^a^*_& zkTwrYDqH{J8H#KI%{RV(dtYe$-#OnTj`6|0KP_w#I3-R2;HCriz<1^~h)N^;63Yx) zJxBZF!@-m2E%@GxjH719l58J%fJBKJ-o>dY3)H@y(Zb6eJGx^yhVGTn!7;0o_Z^wRbx1#v-Pw2Zx2vL^zyCk$E*a(r@G_`6&{mc8AngOJtgKw zb4XqnqWxH1F^072?uh#2)V`nogue34>{P*-{rW9=4?HEa>)CjNV&R_R;%N1E=EUBM zB?ccuzL9A}YWTN3K{*_-3qqq0d|Ilt|Frt&)zf5JYiQps@aYlL$zS(*%<9OuO_?8DIl9%8y>xMUqDMknfTA=Os^gzz`F`BvYaQFy zit7AUZmCz*%UVmc>*3dj&vZ5ZAf!(Mg8Ef^aHBOouJY(?8E7xo)LhYt0#&q26{4W14d)O6%9?d zBRlr>4zQnpjiY29mX8m6t1Fh0?`c^J}V}-!SiK_Agl9#(eC(B)FgPP4SJ=B+;2^p}2WpIP}?mMR7w(`-L8;%)&yw%g}Q z$e;0Nq{SF07nNiICpP9;mIEQ5YkXrRZ)bL1A+V$dWgVdQ{Z-eC&r2`3PcnR;Jtm)= z;$^(KccD_2yQZvPXwUpWQvC_-69lqYo*(+EzQ3vZIAx^WKlJ#dY4Ip)?xa*I3HC%W zYW41whlyXrm$hnbQOo1QXTC&gkgZGabNMe%w!*$Fjt=ESmz&l$dJ*z1 zElWrzATe05z+j=`W>ZHspZP9c-dJ{I7!{dTKKZ($@Zhit-=m7UaaCVW&TpV%a$D4j z0qH?gU&)DWa#}g=R=?>lN0Q@vK4Yv|KuA;JOv?Xj@5|$%Y}=*H>pUc#QN<(kRA+H(-75K=|CJdFHinGWhx#O8LU7FWtsB?I zQPL${+}ig#`-zZ>ZHKvYMZ09lww+KjODYmH-Qd9X9echV{O8b#e}D-LVyjdMYDq6Q z-_q-SQeD>$vE*9xt#`8Uf|v0C3dK~|Y9vIZT&GL(x(@P@9(R#5Pq%2v+&19r1%%6p zid`OKi!B`~ghZ*O0TBsutMzAo>))`zfG2#@Q{E1~2z%*6$+M&t` z`a)`MeY5(5AK+q7iN#r^+u!p{r!AEhjNObL>2b|PvHH9SQ&Seo-KlU_c`KE{2ZXTI zs;8wa8;4ST8?i5ZtyZ%*9FZvqg&O?o*@vis36VWX3%r`*`TPLXqqA>Oa5r=i7`}2@ ze45vV4wztnE#b6k1r3M7obD*Mbz1H?=E&N#mK&QF)smN`Z*s7JRhoW0zq{_ zEzh-9-8DjuEq&L>IMAayBoN2s%K%M@^)CF{v?D`aZ2#hpa2UOzS=Z@A;&>NFj3}q; z-meSozH+<{=!9-sN(NgT;(XcC7~_3J9@WrEqL`1Lw3HE?(l%1uY$B)blhUCym2$?; zdc1IxOlU=5;bpeJG%9!=Fx}yixb}r*y@!>#;oc?$ZJL0DFrsVa_1z9n4?H)*8J`+#d9g*(m5E({+}QzMAX74pd|Rx7YJOKos{n zqQm1+n`XoTEo9M05@=Fw89TPo)wyTEcafjd3Je`~bBZ{Q=~x3czgsrW6SI3#WmD7Z z_DsV(Y@HG?=_TLM3|%hx4X;_K^+<(DcGye-?*PZNDZVq*S927{dIHfy@2iZqaa*a* zriv7Rp8su^fQ89rsHAuAN-Z6dMwI?0Gp<-^$#|}YU*wd6d zJG*TI#*WDYewCX98hXbaMSHNqD!=dm6lLV~tfqUw{(+&@A$O5l zfTP^`a(vPrl>@ZnV_AouYY67FC#k>cCL-gKJB3W?rKZ*7px>063B~^P5!M&?SXK?D zbwH2e@KUVi1rYBynet59@^Vt3#ZT8@o)oFnB8hah6cMq_9M);daj5`(=a^21HnKZP zx{Rzdd|}6`O?IMkt2kV!>Dr_WsNSKlyKF9l@#6!kE(I`+Jp?LHjM^ZvYPtBBFFVB> zxv21&pz*bVrUPmPXnINka`EY8VcG}i6 zw1!Zb&y1jODnsyNoYbs62bS(=vZ22Tax!(`W_YQp2#IS{pa1m%fHJ^E7cSs5>^d)X zLi|;z%!aV*eolyRZn#{2SL+=yg&W8l>{WV=Xe-tqI{COT? z6u(rf(Yys0h4$MBCwwe>jGvrY+SGewd=T<(i-R>81maMa{5 zoA(a)0Ik zAQ9ZVCiUQpGa`GDc{q#?H2mdAnuH7dZc>v9@59h)g~n93sf^gK=aPlcCOl(PMOtXbwt#~$>aUn{<|*{sM#jIi+oFY4*!ZO*;A zg^4a!D|f6*89FnAlmCd+byUd;Ry-GoVCw<6vUU4e_G=s$ux&@>pqM1zNe-WiF+J?Y)lBh?T!laLR}b9d1X8U zcP?AGFK3xwUpH&M@GNd$ijr8RA7Ng2AbCGn5L>)pB!=z*E4YI2)UtT4>R4dLGt$F{ zwjx?{4N4 z!oJrYC&2h#svwN zr<0F-cTaS;X{@#`UBXHeWDf-6hulil+~4+sk_N(Vs||V?=1$)HpnnY#b?xn%DiUpm zhMROWfv=w(DheZ&tb7yqffk`9X)a8yrf!uD@VM91DApNROxN#iD6{iyjp>}o`#_E? zLpLDE4v})3F^rGiIA;BZTNjiUEqi*yfuJ_ljGFg%IHCFgufSQT;UKJaI!b3Mu%_vS z6%t+32bg2;MG2^Rp7nE*+9LK*)R{fbGhEaAbfAmdv3x(r1&lL?#+4_&#tU!v>Q02- z%RcpWd8gS#@a{eCVJoR=?G{7-=t;Mcq?<0nRU@DD+#W!)N~PPt@lRaz)4RrkKOyt@ z89AJ^vYt+Z$JL@;xs6HZ$x1;oZ$jmc+*r!V8HAAL>yufhn~p0(a>8VfCOXw?Ep*h0 zwxw+aSBdRD1&*8uQ9ru2Gme}cop8Az<$KnUL#`~>?Zg`(FHH)JzO(m3B(5{kFiB|Fz&lM zU3b>*wlwqAA`q&GBI}(oMkSeSC99ji6DM2^XwVAW99%c_gu2wjk$_8i;LIETJU3{4 zX)$9dmGnNAG;_koWr{EAKxlrrTF_*CHQPz-j|l8!Ge-ugcb45GP=EPSy(TxIvc~_r zr{pD2BL}F~ye*)nI$A_9hD3ZEqbz?R_>7a`|?B)`5_2mYMt!B!sc|fy_#4ee`amaU(-eS za}DpX0`-Oi{n=`5oZ5tqzFUBy(=F8rCBqUON$rIeT{mP@R*CS?aUu6?j6h3~;Eszn z^s43Q886t*e2l2~#S#K2xw#cMXZ&$WIKpZv@%5 z(5$RdYP0Z7H@0_>dCPCiIi$yW(fg1#dp@gSRvFoMTIQPggH?p|g+H944GR6(D z5eNi74y>Fu_LpyyIVlAgsjKn1WuIZXdAh@1?!;`cMOEStl?Rz`xR`pR_?5%veETO} z3X~%szciM4yB0Q0Vfb+4`c(iKHo!%<-%!CyCwd2nh(ep+2+q+akVCeDFNsa+(D&;~ zXget9&S`2EJ8h_!W(#s!`*JTgI5_n6MDSG^vMr`OnwdL7X=>G~b>@wC#n-)^ad8v! zg01S+dv&Q$FY>b>xZ|@ed&!E8=hioOG2HuORk1jJB+r;l#tPZ}>|DOGa*;V^!x}N9m5P#jUHJuUPuBE*0=)(TXs8)vBSG%~wn(S$f=13>F_b zpjE3#XYoAwS;xlkntc)RR$G=6_`JA76{S8Vf^dfEN#=2?|J`iLG=+b%wrB2ixo#@1 z`GnzZA?=`P!BfH+TgXET5ggPWlKC8Hh} zSeW%4BlX2qiUp1^i!KL)hFUu+S3?^d7`n@5teJ;RPiV@qhaenTJe{_57jZ(Io(Hnx zh8TVk4snp53sjB@x}tpT{B^`cDkJH`SS!of3*Hd<6xJt&l0_;BGK9`apTO=9!~5E^Ms;U zFUsj;bZycdTIEP_{Zkv&62myCth~qv4y!5y!K4hLa2yNtDwlv*sIwdY>b?q3TOLAO zfW0myEL|8ybO(;Fw95f_)ftgog3--la1m5#_bsk29F#DCTalyrQ1<_mP@mm!zbG) zGUhs|)=wZ^5KCa*nWYOmfgr%j5u5RQ=r35p-88!IA)EHxZvy8-r9l{y8Tpjzn3=LJ zO>#vgEv!rI-PHb$9eOg8j_NKJBsELP8*vJYLr~sTJG9a`IN53HnZ>kXCQMA{}%omujIE z2%Gb*qc)8sM>lyKzd^mUM9X(0=vQ@~afl44Ad_|dDO4aiLN{OfmRZbKMJn}4ZDMiQ zS#l*S`N@YIxIT-{%a#=WQ@7PHfG^ZW{8Jh0T(1_*I^whFCdG?esB1%0JIHu}E7Wk+ zA$OK4HU@?8E&$k{8y>;bTczkw2;$>$GG|65s}A9{aPs^>B2;R2(`6#}1jb~61hOf2 zjWvG2$xnA5VNBFif_`giC>DHvVy&>;3QKG{Xl9?#hoT_^rW)NcXW`XG8EOTr<3N#`o!j2bv$c zoz(V<Mz=|Tq4bww?nD?8^DYXmYDh=GXQ{%IS*vsgNr3h zIror2vw5}_EYwB%uWyBDxP;Zz<|JLtPRW+y4vtT)CZD8BQj#uH z+{hUU>>lmS*~&_LO;zl<8G(Tx(lyZh4qBk;L%X>U2UbznDED%Q-_dEg%UBaP zs0wXX+&DW=UjfZJ&-mU*DCp8k{5NWCKko!hI0UgtD;jZSPKm{<07*8v5J|8QmaX#$ z(_?XXl{9;rsTED0mEt%+gxfGAnGq`T+|SE(f|c zgqtpm5Ma`qBe^wiGz{!#92klJBw2Lw5KYalRHCFnxdfOtZwqDzih>mwshDVz0_*-Y z41}o<&;i^$t?{j{3&Lw|{_bL#!mA)cZ!_18B=-pCroxr3@kFNw`}czd!GzB>weV6a z`6E>DG9_5-OXVw&jc7u^eRobbZ{3$1lYG^YtFXzgUbn*`%q-u+hj`YSJek{W#2U zV{OP^bvx{q#(PEjX7noz_@uF*7Wfh0T%d8bt4zk%G=3&$L>}GU@Dub+L*pXvrDrK| zR(ZR^cNE*>s0`Mhch%E;Co^QZ-cqGYDo+aahF4H;je%Ve=p^4@Y*hMf&cg0I1VkoE z^!TRCaj9`b$U5pm+V!gXZRwJsT}q%%0&1{<%8}p^Ol!71*sIzA7hNdFORK3BywbX8 ziKAG*4t_pl@6vLZgXNXgI2gqxax+&s%0{<~=p?0eQtixahqBl?_1n|p=V%@MJjPq7 zlHMa9Y7-zQY^m;~liO61lg4-Bkca(EBifHdSLZBHXuy|Dbhgg(tYfYwDEDL12dj=rc0 zsud7eW8FxMrEl$L#HhzM1qm`tJ$Am*8Ru~x@r8A+F`2tu4A^|*7W|Bx*G=l~IY?OG zDX>D}>X+AQi@}-Cpua?te`ABe`oOL#a$Yst;8a2$>wasF{iK@%Lspfc)bFeQlbe;S z;RVj>=PPx_wJ}rgmIhbKHlUf!wx|8E-s~tAzN#-w-Y!gk%JH#!vF}clRa4uVY;e zkl+H`(#p%&^&8vi*A=g6EMg}r8;o$m9_*DP3yl&^Ii=7x4m~S)K>~b zSD(a~=63paVl7^7{n?mEk~*R(d{!kJPs=pianAiDPEz#28}BQZ;y{7g|JauGpg=&H-k zmsjs9{@7fFLC8?8H2vq<%leFP{b_?U-1DyHr8-*FR{|6H^-8%_ zcpX`LU<2HebeN8L9n*n4UROSBCJoxbIUM`GMlj(ftDpA%%~D4g{N#PV+e4n#4k*il zDF5kTu%eQxAk8MS`C@M9w=fwSl31=?7`N(XG=wXJ#wA^QdNR>PRchj%5$9EF<)fU;`JdfBAD-1J|vA z(-&QsIZBGyv|iEN z?Ir|{3*B*M)?%g>*#2%|unHm2!S&yN^xs9@*A>2NbROob-P0P!N|wdr98cT6cbLJe zot})SJ4b}FkKO7P1B^B+zWdCn9jvMhg$GR7@Vy*LhUABR6r*9@qdIbR$l`WQZY(r+ znMv-LF}8GpHs5YDY${1p0XI*qU9?gX}@Vmb`*tjFS(2O>v02T=qfkBCqqCQZWweKlMU;=f@_=}DD>_S;rS>Xg=Q^~={oyCHRmuk`s3lXj zfO09Aj(OKRMALkLb+;>7T*r)IYylh(`PkWEJ z0JW66)c9ROfPPoL_UhU}#BIpXS31W z0+1k1oZD<6s1@?nR=l6w5p-cCXXTXpHGkwA-0WS+I)fCpR5s*32)g@IpQ`4-wID`{ z8Zq7GQUct?jyFpKNkvA6bhdUanpHmwVNnV$15OXxs-i)SEz_Pb-~j zrM51xIrZ3SD?AG+i?JlmSz2W=Wyc!BNgc~dPswTnt0B&Kx~Ny^fl&JZ(^J5ukLCGbni$d9Mys2axuwxZm_jS z${sg%fim^7SFA*a$rw|`mM*Z`8qE-fHc4)H0di@@~io3;=5^f5&(l~+Tia+rXv+)re=0WzZpFt?(iGgGKGz&L}v)A$zFu*kli z+P;vh>>qjo)Oyo@oYa#@_~H$_6wSG0d`Zi=; zojFbo4$&1Jf*93cq>1q#E^rp`*2T9R4LtqXIDF$>$e;#1r`5r!Bj5j6Bs6BjYAx<- zf&Wf@YCNp_Quml(m|TWWj21SChzw9ZkYFFI^bsZx-fA|ogD$DrshxU=_us)NS=W?1 zA5l$%OW$+|`2x)fyrZT}c#!)o6F>FBtueiavnwk_hNHDXFZYU0masukPE|r7$C8j` zL`*lPbWP#)*5+`TJYc7Mdlj6%By(PrcGJx%It~xyy1nGEaTewO3mNQ^se#Q@l9v$g z)VrMTaYP6H?zMx)_is?bsTt(`Y)?hHP`BI`yUtU8z}WK9j-RfMKdY#X!z`~|becnV zx{i-+W^H?3ROE@+td0uFJ#zE4GG0ZWvHT&n0M6W`y%#mmzTmR5r!xk89@JL3?6)N& z`=h%FC$UEO91i3lHQ;pWN%O%Z1(fHF^hI1lr};?nj*wg}MLP+-D^Kh$_4T}amJeiq z7hd~(--{`(Xb%!dWgZ@4&-ZvhO^vP>5cYiDmq7ZEF@vMMdhKNZ13+y7F1nq2zcRHv zk2brK6Z^rXGficU@Z4K4j&8f+k;&c02Nl)Vu{RPi$VcSGj`b zv_02^=x-22)6q7`pi8*Dp0#to9uIJexK+-z&oS>0ThVDC0*B`vSS>hXeH+;Gd?7TC zZqn@9l*IM`_d2}r=Q^Qt6pNAly2eByc6fE-!~LR>Zb}nE4TEAoX0FEigXaH3BKjjp zqz}7O`gG?{1umggj_${*KTT*>PHQ>6Jv;Mg-3bh?7dSzFYfb_b#S-Zr5UqT*VcK)8 zU^feEtzF^I>flVk@E&C>TkAH6r*`u!;k%(&u(x!E^Ju-Z0M(~ z3;}X&F>37Gc-P_OX(T3;y`@1&Yu)qPCB0xMvN? z;!fx8C-3#aN5yU=Qlk^Ns8~mt_CzdzP<53S2gGCZ=ZI_&%PH{xKGW=eT$DU8vXNhn zz5(0NQNe-lq_Iqv0y%*#5^1^h7^-sv)}*dKUtyM3=dSWf$@_y_uu11YPHEAObualo zSwCmhH+9^e)zL}M6N6r+f5!eORGo0)t3v+_(ieLh*h>7t{!DS>Q?xn4$c^ow22DA( z1&MEAsyT7>l9%~XUi;aOWw=gL=mX5iM}qu9zP;j~?rgEq2u$ne)xPPq66+KW;n_Bt zhop*FJni=6KieSIO~6ydCqzbO4A{GVU@BunlioFqRScOeb9UWCK5|xZ)|c5C%h3tV zQC~*s$y%ht&uCaFs+X#>1}Zdv{PpOEbP`i^a}!c@54xM79q}iOE3CGwV%VdT>Cw&4 zCFArXE)mTEi`KJ%S7ulEJ8P9@AURWfi2!qbL;#Q285VUH0}}LuN3x^$fSZK6HeKSl z;RV2y0PJ@821|v|{BdV_F(>mU&J6oQiBm-i*4wXQy;m~Y!<_-c6um}hdA0N>J2$10 z{_gauY@un=HwCTGQjY7r-5c1nX3^=eDr8;6E|JqM9E$>S++=!ngIh!43y4?*%Qs1Q01=ch-WiWe&XjK6z&>y`yzEif! zll()L74OV52^hUoDo2zewf77ljI&1gsK!ft>UGM_6?zC zFT2wh;08;xH2*cXn1g$`Py4gD@l2V#yXp`yi3%9*92p?PuEef zYni$-6BN}9Q7)4A{l2JLlFV^pfc{!KRK`TCUm8(B7pNO*jNZq8JUv5JH5TCTBy>*Gw17!4=c( z_DC7_(_{=_lPI)}XXY8Kj3vo1+ljRnxFd(gmB4+EN|(oXWloBvOxut+zZ~UoiVQl^ z+?umlxm*~UQ$j$^*M)+|YFq~S3fKmCrh9Vk!~0SV-74EHxd|VsMnj5h!c#H~W_DmB zwnZ-(ty~b80)LWNg1)ZJE)elYZ*C=5`4wKn+Y?s37PHIAa3wL&{ym;AHYdJu~^?z$G=h%^kQ?lGsKtJRyne_pV9>VhA$)8p7sOno7)8gB7VRtqoXXV)Ci;p^A;{2 z&3yY6Y0FU6mwURm{3PKc(d`9?4IrgxX>jTi2arV4di#c0T&I(uX3%IPhQGXl`~%_QQ3%Mdg`eGLp&^>?(q6Fj`It9bFKbbb zN32x{&-*R{fCMrh2H`4`6#GRd$ntj_D6BG!^lkf`N2b2M)!m}^(q1f$KvF;-AoTcJ zIKt4)FU*sr--Ns0S5DOlBDlTVuoce72pKlzAUkBWZ$1qNw5d2h;Q?V0Any%6CK&D0 z&q>gnQ@68}m2DNLP=iAN2ftX_zPodi;4Z4u$dF*|nXY}i;pDU%h$|ORHXMrYo1-rM zu#gGId!chZ*c+a+K5G~?B5r0yL$C4xhEKfjQ!3?~XhJ&&^NfHWMu2Wr;JEgT<)mo0Fv zH~-i^Jyou1eVTH&@W_D@Zo26(>Ox~6Ps`(qJ31emFqph0#hb6jxg4fAXpC4j2N zT`(nf0|?YojgOl$XIUBOhtyD<<@xq=h&5l(-wNDnZwx3B?B3^G^`hji>Y`5n^TQcTT-)$LwPKb~6o?N$>dQSI73*&_m4-N% z)9Zq3$S1E2h7oo1FAC0$(S@_4*u3e%4<;OB33I0G)T|GWW2h@IgDA0xrn$$GjwBzoOY0U>ifCzxX}{6ZvCTnXLb8D0xfik#1f=63JA~{ zl^Yb3K9kkHfEvqdJbsP5S7Ji^loQ@sTpj%8xvOY{=fwwW z8GKFrJR4b!?`*;~vp%-d%okeBCyErqNvZLoxj^iL^*IXef$0tzn1TsO+y)8b+qe9a z3Ihk|q&q*c@70VE`ai}W4UMB-TT!QiN`MyCbG^ozUlk4rm{jLKi@fIo>5L|6rQdOuig%K*SZxmfBJsq!5({J&$3mNj zc{S_+!wWHv;u)r9nAQVy@lee&glHtxqHo zOO#90-Wno=s|+R9R~96<92mkXC^{a!ykaRWZVSHrQB{JD*NOB#CNX^`+|fX0evdaa>hdk5+Tl2vx`EQK?5m`26H$p4^+NrEhFK zCzq-4qFc9eHvs0e0f3;}SLvgpJ*{8ARf_yo+0`Hzo4F`do%qg#yK*1_<2C{y#PjAZ zSs-%MZNYLh5VRLaEb#f_&NBJ=lJ`TXTh+{@43ioAj~GAj$981%Oz>n$D+zN%)67?O zQ_>lRt{_%65oMqD-e;pz6gVv(|3iKY`xsEY3V`BZ#3O$ig4wauM&J!xVx9@PLr&*$ zJ-R2pDwodHF{=U0+O)|iPN(GK#C}hDpwkXm_P@25D`-67+m^X6xOHZx zSy5aB2#m+-^wuy9`Cx+YYu-qX5ID0q=bYN;c#K3NWVnFSlkxi!tEQ&Db49sCKakPN zK}5f%5Vj9~S)Fq?iH>asTH!2PKwhdAJU=?cN%@it)gl3hVgMy{(>D3 zG^&)WF#}do!|fE)ay3?sciN_H&5f9hX-csIk7#^^UfoN@yxz#kt|Kws&Ba23i%UOj znQFUH2@F$b7oWp~o-56^h17WDux=EjpAC~^$||t+QJtvF?A_e5qBD^@)!2A_oOpBn z0@FAA;b~4a@C-ZPtu`!jdp@sXCchpC zp)ltX#Pqjg1jj;-hG@m&Iy92fKVb>et85HUEBns8+guw(Ly$iyTen4ELP(W*o zY{K0QX)62yy<-{4Np4JcAr?Z_KT`E}sc*MwkA9rW1xJUulYeUt3`tl;m5A@DKWsst zS_!&9Qp|82bp2uhbARm2vtbg#bootE3$U?i0X|8$^TmMS?b-#-fz70wliKizibm2K zmT4n1lbJv>@gH?uSO;`^94xWoiIos%t`Zw#m;7-6rQR1E!TtVl#^9?AKGERM+zwd9 zFQk2yS)o6Bp`*a)^EnJgf>FE3_YwANmd_ww^e9FcC_4CTjwefam?Ql6`)Sc3@yor* z!GwNrfxYGQeK*Z%00lM&V6}Mgw6Z@k2TLcwk)Zukx%)u)c9Y(q?sBi3>GErIvJf1N=Ea;Nj2VqI-DvpFaBkZ{crf{!7I+|Mz{-pk9!K?Zo` z@9F9U6ch2a_3(Cg^pVpN@wawxb#n6eb^OO$pusD^3tw+Xdw+LZpMShL{Pe*q7gtYL zPe)(hgU@-nI*54Kx_U|;++7fX0FMqJ`U#JS+8;NrA&!!N0(s$}+QCQcz1+QgfFcL~ zNXkfE68Zc3tIQwp{a2-ArT!}Q4`BbU0Ce5Y-^Wo-OY*O7Uiv3S4r>2d5orHky8K5g zQbEBXBEP5s9So9m@bZ)V*{e$jJv;yy_yvHtZ~*v0V~71Yta4FJUqF%*vHcfH{ReUXI}!ia1b0OQ=3KCC^_exa}Lv0-9t_iC1;R0WCR3Ma?Uvk2q;lNvV`d#KuL;7Py_@N zML-Y*BnZO4R#Cex=7_fE-v2(==UHd1ch|06yV8EUdp708#>}fYd-5AT5v%NDpKHG6Ecfn#_Nw`A;T*nw;5!I*Zlh ztQOSFjn8D}%AB(S*{vqi&iQZ-IjknjKRFosI3vkSQKz^&q9Gjpn zU^SV!6a;br9GjZVHOv96fK8q%EJf2aui6(PAFHi;G zIi@DlUKOYYRJWR31E>kq0%}`Lt^?Es>H)7>O|B0#02%^~tR^=GngFi>O|2$31DXRZ zfR+z03j z^aJ`^O&$OY1l|A!Sxp`c3<2H*hFVP?1`G$@0^YWo{0=Yz7zvEBnmig91B?a6Sxp`f zOaLYVldL9B2BrX0foWEgrvo#9nZPWo$+Lkuz+7OS)#UlW0$?Gq$ZGOpUXCQupQW8 zHF+nn3-}n=Z8dohuou_|L|IMt0|6i!*l#uY0B{ia1o+fy@*&_ba0EDNHTf9u8Spu9 z+-mX{zzN_>;H1^$Q^0B94DglJw_$l*WVS^BRe-8ildD-9b7gL9C$p_OPy?uGHMy3x)dttGn#?xZ>H_twCbNyU zSAqIgliAh)Xb3d2n%vmhI5x*(JDF`wfY*SgR+F1qTXS#=tI2GmttHUPYBJksYYnuq zn#{JgKs%tl)#MHUZ5*3pQIp#P9f3|jXRFDt16_cwKsT$&-GLrJPax82axZJ^4enz# znQgT71^QV{W*coBn`2Rv+14Kz01UL6{D!p+0uQ#D%r@GF0B>4NW*coofnipY*)|+_ z3wYaV@;lbXu{jpo$!r?|j08qmO&)D+W58prCbNyUalm-1$!w!-0x;2PGTSBrlYuE# zlc!qS2r$QDJDF|Mfa$;ttI0F1Z5DX8)nvBK0p;%7OTlyt!*24yVYd2(Y6EFX*HQ`v~g^XMNMYg zF5qKex7Fl5*0vYC&uTK;q5wY-u$mkV(6%2qU^O`a&~^~`#A-6zX!{g6WHp&>v>gVH zSWRXdZOoOqQIpwr6gUQaW;OY9Yda49!fG5?M`VTVfyykko4OD?lli5aF1|Xx=WVX?k3CL_UnQd8stUxxa$=QJ%0LSK7)a0B%E+99M z$7*t3Ys&}DZ#9{1v=smfT1{pfZH0isR+HIATM?kB)nv9612{Ivq9zvyN&qE+QdW~o zTU!}$S*yuxqpciJ-fA-2XsZBJw3^H|+A0B+ttPXLws62>HJNP+(16!!vd`L>D|2Hz znQak36`-os7xF1cx@xavNxIkjyHQ3`@O-^Xh6!s)mlj++Gw&p+!fSTMAXa%$e+E`6) z3$z2;10Ad;cLX{Coq^Y_CU*h40^NY_R+D=GJ%LD|m(}FnKp&tl(9ddee_#MG5O~9C z@*rR^Fa&thYVuHE7%&`o%WCr5z&pSQV5HULQNU4ycAdl zEC=4Rn!Ey739JI%x0?I`uo_qcthJiF4p;!fJA6re{4eSB-0{g5cM*)5y07P3&-VYoA4g#N8P5u-(1RMsASWP|(90NWBKDU~D z9QXn_0eopS`6O@(I1QY!n*0^;HE^7p_M;0NGG ztI1b^pMYz?b*srYfS-Yzz%8rEzW}#^UxDAOCf@<>0{4L5ttQ_G9sm!4M^=;n03HKR zfIqD!KLxVlY&`?Bm{60mfntGU191Rqa%R}$g5v@40cvsrAR&+lNNhDZ36K|%Kwco9 z)#Us@0iYmI$ZB$7pa@VDC}uUeI8Xv836!#$TpB0?lm*IJO)d{q04f5NtR`0m!T}G! zwWTI!0u;0cyZ|-X2Sfl>fT~uLs{z%48bEgRr6zM9YeLroY6H~dIzU~Z9`LHwB?*kuLO>kV%rO}ID8M#qGJP5Q81R|ZWRAhup99COCUXq-`vN#& zHJM{D_Ll(LsLAwY?32JLtH~ULu}=eMtR`~|_WKI>+G;Y#I179OoU@vI9$@SXz_(VD zIR;~21TI-k<`|cO?||>ECSL)50Dc6nT1{pijQtaE&1y2oVC?I_4Xeo)#Qi3Bj68!ZPaA?J_eoue_Bm` z3NZFFAS}*vP39Qv7YjNzKuzWtj2#D>ZPaA8Gj?3)cmOq-V=#7n=mY>YnPaeDLLiaV zWRAhui2=4zlj+OYNr0qQlQ{-szXBw)n#?iSFFBCHYBI-Q?34i8sLAwY>{LK%tH~UL zvC{x)ttN8}_Dct(x0=i`7&`;NHfl0`89O78$!apkU~JY1)&y!Y$6&v`(0+iL%rO|7 zb%AZvWVSOlYXoZoHJM{%2C@KIttMv!vI98)wo#Mmn-jB|^JfnrvZ8H?@3ff81e8H+JW0&Jru z)0Z(y0i~@bGZx#+0A;NvGZtf%1K37QrY~cZ2P#-iW-PW>1S(lgW-P|246u!wOkc(b z2Rv4j8H?=-&{mTfi!rVKtet*j@#wYBia$7^51%Hfl0`*^hCmTTQM3 zu)QWw%W5)XF-C2GZPaA?vJd;#v6@^Ls0X|X)VG@40B8s_0@y}Prf*}Q3GkZL-%`4lovD_OP1V6JS5ajI^5E3t%j^i6-|3 z7>hCcSWWH=FcxF>vzpu=U_ZtjU^RIlz*uY(O@0GlEXEvUHF+?=Sd2NuYVw-^`!VKF ztI5Lv#$uaj@^FB$81pTw$!`OU#hC9{O&$TTA7hTRnmh_%EVhXzj|LcvF~?X<9t$uQ zV~(?$JRV>_#++a^c_P4AY!gkM1TYq3PPUpn1(*s<1EyO|o&n4RW&yLUCeH!p+Go+^ zdBA*N0kF_&@*;q-7;~}J27s~HCYt;qz*vmA(Q5K0 zfUy{Jv(@B}0QO_dEmo7a0*u8r(d2CaV=?A-tI0b6#$wDiR+C!;?8lfLtR}Yy7>jM9 z$(;elV$7~qle+*rfnC7IR+D!Fd+f7l@?P6UpM6%7qX20WP4?S1`UI>dM+4F(n!Mk( z(dU5GvrF z8^F(2lQ{~|k{U^SUzu-`*~ZPaA?GWH{YZPaA8Gxi_AW2?y=gZ-WWe_BoE z80_~HU>h}=zKs10U>h}=?Tj6UKa|7*sL33I{bEDM0jS9wgZ<({vyGa}cE*ke%{FQ> z+Zj7PkN}`2bBu&QA|SEVf9zy@1bZGGj4D1i&_GGJP4N3Q*N*GGnp58c^M8 zGGj4D4S;RbWco5jO`w+5WX589ZJ>_TWX58Qx&Yg#$@FE6dcdnzlNpQc^??RflNpOK z8Uk#iCexQO8Uc;1CNmb>n*gs_O=c{{XbP~6noM8zW1MDIlbZu?(F$N2 zHJQHb!@jMpCbt3F0_}kIR+Bpb9f3{&+o;L(?F_sQbg`P;6<~Wepu5#%#$t>f0Nbd^ z^kpCR?P)bR5@34~pt#j!#$pWK2ewg@>C1k+8@vnDWX9 zA7f6onmh$yKemY`PX!o@ZKBE30LEg>=~k0x0PM$@Gp#1i0@#mjqRF!X#$uaj@*IG% z7;~=G0?UBqzCO*FY5z*uY(O&$O+7Gn;wn*0W^2iObjvziH{0Sg!qRF4yHu@a0ntT|LHqqoGwv9eVttKA>q)jyWGuuX=&#fjO z2c%6j`3u`dpA%M-zXYUBH2I`$qt7X;$)^En6HPv2+vxL^)#R@MX%kI83w#5d1I}Ab zz5sk{pGA`|+BW)JvYLDukT%ie?`#`=cqV8g^NdKFXfn@8zkw;$wTwO0^-ErL?T5)K zWmsx8*nUa6QurRclFlj_D6&+u&1)emo$_XH|TR;#LJ z@l0tjP8}NgNBHt;Wjv>==J1U0B=`I@`p@vbU%u~|`*l|}C(dM5=fifYX8N&e-nUcK zh6^)P_l=#@h^MPO*J4jsVZSd4U)p7cIVf6?v5tXj1wHKo-PDMKzlG1}zfOhq z@2Q4XUavm8GgHkAU#A}aP+q;8FOEK1H-~ByH?jT|+zkBbkZ?60_BG&HQ{mS(uIe1U zQHAZ@6rL{5A$7J{1@*MjVO1h+0_EL!SS??k*z?=mSJjX`J=Da`_0+GUCj{47*1gud z5o*oksj60!)GFbxGlS#JYql~)o+`pN$M_D%!UcYhoueqxvXN|~UcYF}%q zNBqPt=Q3xH)GF-olJFy$tE&;cz6zK9mGfJxdqWj?nBF6Cq@V1+>6d3waZlX6Q-b$G;>4Z*isx|h@v8F=@jN4rcUN*w_4Tx6`pWn{NTBfb0+ru{&V3oVto+2cXGZCuFc@daVwTb<{^2@ zJ(Yg>_niwLalD8}?y=n8+EEJ?&+DsT-V3=OWZL^4ysW0Y`_MCE{ROop^*gFq`q+9v z$4TnR#NXB1iL)xPHyFH6T`9Rs70Dc?+l+WW=ogsM%wz5ccp&aa^JdA+Jt5OB{UnaW zmpEdVJY-z)%kt*$YSjGHo*f5L=|u}tdotWfq-#Z-^^D6B$MFAK?H?h2p}&bQ&*nd^JPuCuJWtgozR3G83SMO#(#KGAAnolk>xOX`^Hi|mv1lQ_~( z;z-?)Iw5sI>b2Zkxuw0JI zmiq3(jylVQNMkRcyX)NbhnQ!!$GzEApFh`3CwSUIUjg5p`&ggZGrt6_#*rQA1Bo0gyR!v+OLgEptph-!2T`l4VuI^_7dO=c%G3no_QVt=JVxW z;+W?XU_KYv8{3SV0ep?m=tu4g|4oR?e&h_D27U z@gmWG7{+6K8IR2IParPslbrGT!v6y7l5fmB-TdAD%yW#Buf!$SLf%{-u8a6_{oHkn zxn5tRy~#h!_dMF8u&&(@cWaFG?cvOq^C^e=KNyrkK`qJGA_@fyUtwynB%dX=UCQ(<8hrh z4$tMw#*=f+@wQ|AWjsDVb?$+?-&_Y7k8wG#f14lMxt{+v9_t0`6`A*0?lqbBop#nK zK9euw`7rMBB{1t1>lE+zHhaHW$5^juXMN%G0;gW_*{xTsZzWJ?7(WL%=K1CRa6evl zo;c5e*jHI^uA_Tj<@`#0kad-PlYTMRNzRGvPt5bcapivU9LoLZi+ouJV(yRB1KCHn zznm{J^Gxj2MLCy}pX4QZGmgyHt%s5a$8*mQ=Og3E{dr=~ot*nUIG2AnUT=GUWIQtS zVLfxtCD%pHGxskR=EL^t*3NTJ`))Av=e=Y*>$^P1oR`}!=b!bLcFvD1_nmPhe_20S zx0mgw>Qk8Sfq6@4QdEf3&;zjnBMiZ0Gx(&%EdCN9Hr@ z0H4Wx=Dp{0@|sW8FL>UJ`+o}@=G=d_^Zm~CbI+ID3wJ&EUUtuooTtC5&oTFr@#UOy z{p9oIR($T{=S=xLDxX8y&d;O#T*=Rw{JhD}m-6|P%+I9<$Mp>|KhH`(i9@b)yREU4 z<@2tLm-#{?^LaNrnDHbZ$&Y;O5#G6oLvDSvkM6m+is7wiUJK?YpMQrG?x7b~Y^A41 zHPb7>@_AW4KX1+6NV6ZAab#Zdd7Az3^NePkVPN@u%{csAE%TOnP6_nXi*L5m!`t-H zrC;r2_{yTedIIdjo(v7Hv#gt}i>yPtcujO=^sBR?nTaFoBI`gq0dp4bf+I9f}i^(&zrDso!r#;4OrhY_`N~)v3#0ln)ciq8tFaolX=TJ(ayN^<2W*J zSto_>5qWW;P;DZC(G*A&9Z6nlkXXM?>98|eBh)v6KnC8{_IElp7Blf zu1_)szo+o~3csJwzUr;y!EwWUCG|G=k;P8GM}tf1fweOQ{Und$^~&n@IkM>=hBnfj z!IGDJAKKTTsUCuUN8y(ucaq@uCC*dgUVE5K)9*4^@{)O6L)@h3m-w5~`gE;AhP{<@ z=-vftYhl{?d;$FUY-z(!z|u}`|HiAPKbg-Jmozn80nGko>@%5hn!-<*{xW`sDaDO{ zMzGk)l8?lf@n~m!$tw-|F)o??V&=(lX_xV3UK>x0^o;MDPm`D4{$3s5w99j{{27(L z&s*v%u(ZoFxmVqynttSmk@57xv4spb+@4QI7T>ArS)L2~TczV^et(qjk>m|?BaEGV z;oHofVn>JSv#Ae-Pa4==FPZ1{6sq1$55F7E_Ey6fs= zR(ZavJV*~}v`~GNx1a70{;hV!U>=eezdxsVTv|&!i9aQOe0?MFMfC*ZkR_hPkGpb& z;y6>j8ml-C?e~v(bVAt4(k}k)_jHc8WN=lT)H1)npMADe)t+)PIG&8ZVn|%w2==|b zXQ+*R2L#8H_%&xuQMqn+*K=}CQBhG{gX2mbwBH$`^$+E0>lAw;%(xuSJEo3alBArT z)xW+DpHWGNV?UjULHdPMw0CXU3F zacJl7ATkb_`OA89ojG4Je;=WpEYH#|>qEW})-#xgoOdtI=aD%1gXdJvEtz&Xr{vG^ z%=0SDb8FTww_QK*psnq6m-Nrqk1X-zoXb6=o%hnLJNii+GW$s!x!^KyLt9NgbKU>R59^1d>@+z+|85?9W}BAge-mvMf;{fxjpTxaj2#Fz1S zKVu&%t$80O)%>dt$ar$Dc;7Y`9$@ZYgUy43=aBc0zt557JPXq<_m9l`CihS7qx|kC zzwePNZpC*M+_$n|so%U$mn!zsd2qk>y!mGE_rP#_zPT?v&$2(VU$VbEH&Tz~+&bP!(wSAZ#cX_2cw|JP2yLPoo^M3mv(>|wuIoP=XuwVOQmCUoWOZ=UYJ$3UeyFACY)z!N)?ea8fGgLR9y~D&K zyZ%Y9>`)1YmeQrvu3&tLTQF}WW2Zm;N^ZjZKL6Cy=s{h5__I$v>8lRa*IMm1amnxXPP*xEYrRc@rHad zO}z`=l6RZGe4laQ_=fUnt7OC5gnGpU(WTaji|C8`Tf7I0% zw;T)~k*c1~R$xLn*R|ZaIc6L(VowQ>oQl3+8n8~9eNg?b~pNu zeiqJs+`D3d>30&$ejPh6Hv6awE>uIXkL|%Xjz;R_`LlV7wXLg*C(dThP3xXZOg}RF zeR^-{^K;{dlLP;kOpH()q$BsANl9=&Nr}P;tRiTD4NN zXKB$|WjS14_j$jtr_F|nx_+gio;7PK>hS0$s`ghMw$W{W8K4)m8*`{#S?lwQ)_5_;mZcpT-jDRR;pUDb|wRrD7JB0Obc zSJ6veudlW>?rQvAJJdzzcrr?n8+7QR9$c@g`;_*1hFz_yiyW)3axd?0=5cRYHyu@Y zjQRtdCU$34Jy2awPv!9(-&vZdX6V5qo?d>tTsPuX5vIGYo>=5nxM#I;_UMZ`Kmo4f^ zeYvdu!QVt3>egCsLmfQc+-K?}`2x<-wEFnm2KJ}{#$@-J`^K)p}_i-Fkmo)jUN{{ln3;rXTN9?ai(9HE_c} zYU?>S+N<3cYUv!A1}TN-s8wTC;Xmr=$P&rajo*9dJe87}e!Rbx8n@Ds;6KmT)lUj_ zR-3QXG5zl1d0yNxYJbzZ`iG_Q)%s*T^=E71n|=Y*m!v6M>5Jec+g{Zt4s=nkBzV>I zn}uh!Yn1A}u&%B!<*BE6!=C!^vZo%dAM4SH2Q76euxC#L-Fad+RjNn>)2|$!`=1%9 zZf&ir6ZW|6*?>B^>z&)4{qVnsx)_E2tdG&)x~RYLFn$kkr-v2I`n2s{5$Cs?y4|O; zUWI&yWepG7+aoUR*^t-Njaau28mj$UFfVZB#dURL+S;l*>S~(wwN3nUcwdyjx?BU# z#AlBSSeFZ4W#aL93f5(B%es2Zo(Pq%VWhqg6=C}E{ltA}3$9d1n|(N0!)yBSnfnm; z8TO%IWwotmq>fvxvgyb7VQcLBe(=1sKHUWS9ydjV={FJ2-1oIB@cm+bX_d2aq~5Tk zwAqI|cyIGODsX~0Rm}Mtx2THg$7i0qV(shb&r}ihaf(Pirb-cY=p26IYCcqr$k$sZ zJ@KZx_Iht!;QM~YK4Knu>QoXD4CLU^@BYO1JS&p_c{!j9>Q?2W~iF?^fHM-kZCtZMh1^@6yO;z3f zL(Fscoc;8Zi*?mW*vo9Ks|w8-VxFJ;)K~8z4e?QMws@fJR{Usorjs{t&?)%S@bqRLz=skIKhVtw1!91^?rnak7lk(^j?U$)%*YfIB(`T!19yKxj-u?sq>%Z*A4p5RkgAlyzGVEW%)nNFumuv*25%AnWnU9A=m!0!epK2j_Dq}8oYZdM0wrqlUSELSU2X4EqR z%hc>V>GWlc+pI_i9XH(qwQhSS6YrO^9Smpsrh|z~JLAvZnMrpWvqr^fnNi<3x<%bB zo>`yky-ex&nRN51^Hj3L?M=U)VEWg2H;ay2b*m1)@_(F3k6$=UO^(c> zyMo83$f~c6oTPGR&8&Alourb3Tb1pg2Ed-Zct@3JeNWwBZj_oczL&0jC`uI?*-KZM zpIVVG|@2XCh>ZjYr3aF_?`sp)&h3$abf@e+ z)WGBe^yOUvRW;E7-E~<$-S}*7D|@fv#5YR1V2B%v!$3dR;>oF zekD@Xn?FPs3XfLJW)9Ii5bx)23+a{c%l~CTeR1zN_4q_VU3gb_m7)uN)7~9W8QTxl ziI?ZoNfH$`@v6)!tWR{Fpi+ZZcI~2~BZlj`aRO?8_;7vXaX!5`Z92UP^Bw$qdb2*K z>ZaF`pG`F9b;IHbhOaz+T^)e^>xG@v$t+#;w~zAae7U>mj?erm@T{wzR@1NgKkBOI zzLsCN8k^DV@3VXv^#|)GsoUUV=R2tW$GhtfK8;ct4tLkT&C9P3pzeH@{wuW-b!NxH z?^JP|pEc#aQ(JMK!tR_=KcVhiJ9Shw#(BE<$x$^Mb*FZVed=eNs|ow|seL`P-gWX@ z^%Okf$4}IP8a~5az_ho+`5iUxvN_MC7M(HYc=z$6>HyAhns1`itLds3|6*YJ^M2Hv ze@QjQeL0@+jJYQh?i^Kha8DkN2&i*+sv7@K!1Paz`}gVei)tnAW7S%x)nnYlRi%%q zI=F|W8tqs8zNl{e$@FI(xH;!rQx`^!JZ0{G@3HX5y}x+wfNHt4rtvQara$XNq4^g~ zJ-Ku2q^TRfoIYmi#opMTsJlaJ8-FtWS*N;WKCMQhPCbl&QC&fOoAc>KrBUx9W}H^T zP`9pT`&|8udUty2XU1=L*H6`K)V)H8*STdG6DL`#GA8cK^5qQY05kqE)Yrq~E~)9L zx7jkEQIAn)>pniFN~6wB@EuUC;#V;KkK$D@{;b~{8eUd$-p;2ZmY-3FR6ZSe>zMip zbv$YLX!XPQ6^;KaFyq(3`=NcD@67w+>fdT^Bz+PuIJUgoA}iXe`Vue3{3yb zcu#E@^qqNceU|Gh^M14xohdyii<*x5 zvZqg0H63**JM64GNmN5M4EE7g8>rQ&BdaH6SFA5=pN;2D1z%MIP&Xd*&860(p3vSH z&tFujqn@Eo3~rxS?Lqx`2X;Q|CN&l7!{TB273)Pi*fZlfd&TOe9?ULTK(Rj1J{Waj z@#t#i{wJxQUtK{xpnWUqz)!DNSGjTDS3b(4c>fQ;o&?XW_S96xaj!?O&8c|bIc{M* zFHTZd@m|NlGtW`|@SN%j?(gJt+0%XZ$|P4gS5 z9M#I}6MO6Vo>ocftB|us;M(0qzK{F`d_x`$2y{!;&G*BdT0#Bl-CEJhs}|4~R?YW) zfBn0F^zB+TY4nnufk29#35@@_k%^)U9GvK7oY*ttMgO|Kfp_qd3_<n!pm^yKliZmvYsF1sxZ%C4AzOdZu z)Y;7QeU-MI3yA%@B-NtB5`LzkC z(Px{_^fG>l0vG)w=3n;GUwr<|kjCvBaOUgXoH|8dSGwgs&gF2%hFN*@0Xkn z-WO+0yzW?TOy^v=YwND(3un^tclXQnf8ne;W4&;{oVi3x&OFaD7oIU$6Yisvzk81Y zvQ|9*a({WR-TigziNt3ua`#L6a__{4IY?h>H>P{{rT%cu#h>w|4scK18sgp^x2Cy1 z&Y5}Pez|>JA4k7%r=0us!Z~!t3OF%e=J*%$2SL!G0k5g}7_-rQi z)4Xf``n>c)?G+#1U$<7fHBjz5$CCTbm{K2D8%48Lh!0~*U)Bn@=A3`8wl4pDzkR)S zX4dIewB9%Mc5Zz>cU8T3WU0Lu*Vb3Qbwl;GQ6={l+*)6Kxpt`k#;L6MyNA+CJ{c2L z27ON*=(lgsuFU>?iIYXuyOTcZ*xI4`ldpb?I@05MRI>tA^~|fgqn>nW;osEsfNFbg zcT{w@7XG0v4@8YR_fyok-q)kD<*VxdKGu#s)4~V)+aDPd^|7~yzxvw;)Rc_zqPp}* z?;pK9n@*oDuK(AtA^vBT-cm<>^Y@P0o6NtlZU()$TpIlV_5_vRQpaP>505pqwtqtI z-kt_$GwYI``u^0N4(+R1E{%W1y%zpvqoVgMNE_GRzD9q4mX7n)xt#H$7VOUBkD7l= zy#fFIcU$WLa!TIUi)M3^Emb>$G$Js=+^sc-ps9cW4zZ276=Z{yS2L6#g zD(SkR{wuL|?wNvhZg*si>a--bKT-00{#CP5=%MGj>4N^#Q5-82?ez73yC<3dX`KxE zcKI}ZXZ`($`VaJPd1J1c9MOJXzkHSarKjN zNB(vncJZrI->UMX=I?D$r>Fny{zIxnmG=AYP4DafF7qbE{6o=BU(bq-UHlV{f2%%@ zo)_M*-cbM7Ig{-B0(m-Gm8#X>|E$G)6`eAkdRX)|Pl9%R_1PR7qe9VLCY1O44)0XI zKFy#*(bG;&-j@!4`}72=MunnxWW2m@$e_11=N^i7VyaN|>&So9k)3Mh(+vJl^wFBH zd3IxchG*HRLeU%2hx=c-IYDJzkX?tOucr?8du~inzb?t{4@Ea$U&H@%Yo#hZ&Y(ll z8S13)Kic8-KTW$aDipnJXfc1${bl@-*soCZ*(4SHi>{XNbH75-60=pHstQG~{Gf(^ zb!DaQ#mVRoMHjA}!oP8s*Z)q+jVcs9=ko^oSe7*AyoI7U&*%S)Fn#__7djtnU-mqi zqVC)su0zp#e%!Dp!?SnHdWND$Uyik}U!hDu&@zk44eN;_2B*4qGtXy z+{`r;oj?B%QJK=^Q}1=`;15Mld*Jo2uUNppa&q?aq3Dx&e~4O=I-g40se=wh=fd9< zCr|Hd@()E9e1Gj0S(8xo;cT0tdZAv2Z^>Fd6z#0P$;poOQav1JVQ2WL%Jd6GKYFK8 zNgLB2ihk?aJNmuwQG3`Y6z#;+q3A#JUyW+oq`huBs-y}<4=Qvu>RjXYy74-y1t{>6lmS^nYAwjjz_XX(N_)$`eif=l$$P4_vj;ce-$HqX!qg6ZAQH;Ah`} zHK~Gj@$Xk;l~2b{8{w&WFwp+~24B(lQW$-)->smgPlDq)fs`k zpLr|6et)vM-YK;w1tKm#h^9_DyRy&G(Mt|4^wD0qZ+%z$ilj*$L3@WLe*`2BeX_^< zGwA=t;K#nfMJsye<(%Q|w)LUW5nuE$`tvC@BdF;^O`jWa?--wi8=4qRyJ*Itey{1z z!8p_shkeCA{;X@kaj7M~^qq2koryy`wTxTv*7o4I)RHrOsKsCAmA~YwfcRwjIm&4I zP|LjNBk@0ea>Qu*P)k1am$^_&{_HFHQ;UC`ArpiC)DpkovEjk^qPcF=k|+ITF4C9z z(C6`mhrXR1PxuD)dq1!@-S57nvCsIj-&zVJ!}T1EJgHr~XpSX5u9o;U`k(SK2l~I8@~lsMhL=hm%=63dQ%)8)hd$Jd&%Tl;V@jUvOYQn|zP$VNXa2nJ)MDqjVwXJIJU!!;_1rq_npb>=_n#2V z^Ulf9!8NCk#HWwM7dz+9n35;^2G`U2b6#ae958X1e}%4Zn>b=;4q~T%RC06heblDc zhr#z3HES>5gY=>1doYdv1LMQ@9X0KuX6K&D=LD|5d`_Td4%{R9$a|mrB|g;R!@ZU`)ULmL2B5#Z_ZeU8)cuVQvzKTKru*{pIrjwR{F}{aqjCApX?i@Al<+;CoH>n(s9^ z4}7o5dEk4^^^x;HA2|<p$nw$r*^9)eS*`SZBU4Pe3&9#;HKIbT( z4XEX_0e$520Ou|~)Z)W6lsMF`KXYTvp}%|{V0^Jt|C?RvGe2WXt>fo#sddy+pXnoY zlAqzFPEt!W%Bt= z>N7u6N$ut5H>tP$+$BEL;^W%+`AuR{yM0}Msmbgsb(rIdom%Yf_i@qgcXocScfZSv z=J$8`ZqD!E@_n4&)7|g;?st6ZK&wU({Ju{g(QZu9%z>Idu6BPnU~V#&X!^@<5u)9B ziDn#X`nX!=PCN5-bN;*ea_*8RYx^tnH^B_L5FJkAo zvOex_KJI!-ZqnCXb6HP!za)S9b6oM^noD1FOK$AT-2?s{323qrHxgcXOPY zKKg$*^j#l+v!%xGu}0h9Z+-Nkrcb*J=gjZD)Xwj>MoVA%P}7I`OJ6rmhJ0mA%rYa! znz@LN8=rF&yX!x@;0a@AUpJ=no3n5Ck&z}of0uUqI`(Kszc3d!2X`!2yD|Ge8t;Ad z(OG;(8SA5uXxGObD_xJ&KKd{>x3A+9?fAI*g?Tx@x0`XfRxxv+kBsG>JvUD`2louS z+VydAbIE`C<%=0E^Eautc-0}AaulW3(79X7d{b{qtGXB(z zDgM@ncSn3&ZQ@HD_q@4xhkwhEJe|L5xPSZbx^~y!y_;@sPCmT9FXU$P5B@#HoeS@> zdrsW*;OJ<_$7s73uJ*Zg$ed9QZ!v3&TSHg}I7j-pHNov0Gp5u= z@saw;y^9>)=vrzV28tb6`F(>#%#aox9`Ke7CkoJGn(me8e=`=3sn8JL?(ktf%|; zHKUmu|EA{DF{5e6+@s}=(8sw)FZesPF50PMCO5l=FWB9DoV|F#-}P~0x^>UFQ!nJ^ zo=-P7caE;zsUgu$?Rp_+HwV|ptygYtZVv9Y-a(%$cVT&#>Gb(Q+o;Gv=NR=Pn2D8v8nR=6}TGSiFx;O)y%oYRU8D?UlaUN16of;^X%1GI*me``9+d$Mtvf;ap-}Y-8r) z`gcsR61gd}w$vP#d*{YUzT^Y^UAlhINBrHK-I(nPZt@+U(A4<5eYsyBeb?0Nm+Nz& z^D1A&7ap_M)XafrX2$Z>z5(6p1?}SF=3KDXCf_TU8yg>{=hCue|K_CoAD1JttS z)Y;3#Hv9WggB&l|<*crLGnY@!Dz%&qvGc4_%ekVC+cdU0tNkCnXqP+1apg`?%bgNC z?-aG%9ct#uJH42ANC!2HId0D*PlsV z$gM&6E5_b*+1Fmt_abiuMAN<^UP4pfR=*k7oFA!mR}LjM_Ub!Mc}4FSb2T8E_O*H9 zoA_gYe&ls);~R|=8hg3VzwnCwVDa|>(X>xG9@osbbLHD!x9)YA6W`by$NStX`oO76 z0nxPAt{c~^Tf2fkd)@k0;zm4UFMR))SM-vD7XzYc=eV&@mtmT{?NT(NV$ ztS2&GsV$rrwak}V<|}rtGi!ycv(yc)C$+3IwXCz)-M-vw#+1FL<~ellz8jN!O&{*H zYZuM2#7EAC`11^N?sA5yd5?G|sd)}X%lQ<$yj#=t$Y9>xykFFE*Y3|xW;E{?wY;yz zpYM9{7azHs^p|%oedG?(F7NB_uV;9vkDS%Q8Ing!JxRVKfzhlXF}2hg+NFlX)N+Q; zWlk6^b+6vtxJI+q#ne&{X_p!pQ_I=TI3QlM)Mt(>bvve(x=p*(>X=&I%gj^WM_e~~ zPsP;oKB8UTBQdqSXSts8UgN&VdoZS!_bl!5K8mU3JaZpo#*wom`F~zHS1^BSH@@3f z=13oz7qy#%%#n6ChnM-tdv@WTT){osUcO*(k78=sBidz;VrqG}Uf)?Tc$O|*E*v~d zF}0i}+T|?8)bie0*S<*b%yV3Mx5m_R=4qERA5+V_m3hj&=DNwdHKvyPOS|0Jm|EVg zTu*tQe)UO~Xg7a%TzSu)+M6l*W$#Tlro1a#c1{~D??Ki*w{FNganR*gqFE>TPGp^Q z>xR7h9=DDkE$=nfe76qBJ8op$SkdzS;ycB?*YYm=^ZuW~_Y~h*?md-vmc(I=WgPe3 z$-7DNVGU=d zd$_R|ypSN`#F?eubD0lDQ+Mf-+(&=0w>q^ydh6o{_}|kM^HMX8==Sf&j@TThm9g*X z8ZY8<)C%v=L;IttPhCvrqrcc0vrnuCzLEKw2J;a;@?cnmH}#vwUhi(~h+kKKVDh1s ze8kTA4yu3Omn~g?vp&p6^rsh|`es)eZ|oJz#KPLH^>VGKWv#@{wc3#6KE5jsH*3x~ zqN|<#)3>1RWMfY>DJr5@{`Th0hx<&eQKG&YR_E*7ur)C`PJGJaP zwd`+%daiFRP3Lp%j49`knsImzspT9}%Xwoy)RK?bIbXR`)QrRXMJ;!STJ8eZidxo6 z>}UHPH#xV82=_IM{M?MyykaH%_h|ka*PY9)rF)Ej@o($+nzh|b=L;Pd@9TC;9YyY?R82Tc5H-{gIvZhXCMm$7e}Qw;WQW?X95UTj9d%(u_T z9Qbdq{8b+=#@=P@hZp4c{nE0LnLD*>-!R#4)-7^KHlJG)()f28dxBr{_&)lsmRUn; z*UoWyK4n~~1B_2C zo#MOc>c)~r^L|mwy)!=cokhFcJKE))MZ3qov-Zw=ZfDJWna`#ACA~cJ(Ri1=zb~yB zm-T^K>ISvc3Tmkdu8wH`+|KvK@=Qrg9M&spd4Ew$?V^_2s=0iL4k@e(zidx=Z)KdScxxaj8xti-kJKtZjM|@9F%lnI3-dWT< zGkj;cntMUJ?1kHx`_7p4vyCw8#yqJdPd7g8lCvA1cF8~HSdx$HQ~A<6#-I1%*L2g& zxLjvyS!ZflXKGnzSNHm9s!JI8aqn!7PRUH1=k@ll_lSER_r|+p-Vvn1{MTF%hdzGdA2i1mA6Eza#>jy_%#$&LI))GXice67 zkSFI(f94ZYb1bpDI_NJez+C#HKk*bfy4v+AhCSM4?@1`yiDUlzKF?$Qwcebc>jTYa zKXQnAiDqu%ga78vUw8A#lV>W~Cs{P%tTWEk3qDbf57&WfP9JktW9H|qE%#2=EvA;W zrQOv*e|HUS{<6+y{#^5y_{ciY|KHY7)=fKW_;*_Nm;SDH&mn6U(SQ$ALE?J2+0Bfp2gp- zGcT+wq24bEK*>~9&;~#S!Wp2*i@hr){%enGnypZ%u z@|3=E_JZfbj%Dnwep#Mzx3=;B9)EjOtOVOtDB78ehIY@Yt7X2yyf_bMf91^lUpo)? zQ5Sx*H6;}NvNQ9-`u~6X`9aoG_WB>sjGL!Z-}sr_>;Y@F>m%nBHrVB#5iitXr^d4H z3x3k$d0e~;o_{7cJ~HNWpTFwsi{t;(cN2-uzJK+%=S|Kw*C*ujAIe>DeXQo1^PC6I zv;7SDKWep|tG{cyoZJ74mYKTqd{NWmuQm8*9jf17qdr%Ezqc4G#-7J~mN+l7hlO3P zoKJVz6oGyGcm3hh8oJkU{QvX7KcQ&){ZTQWj{8xB$@Aaz!lyO-<81s;^qV*E|HBXe z%)VJnhobx6sATe34F6E{!t2lDkGfUNABvuJ{dxRJ@DD||t8zE$(+&~3(b_926de|E zS4DJ;(7E6ricSgtD~R88-Ib_N^l;?U9{w}oAByJMKmX@t=j(skzemlFYieCsSSb37 zL}hh`u;-sW|4na(FY_r6|4?*6o5w!n6pH>ic9=gtYK;fK35B9d#R=1I#|rbWidEJh zip~`$%-=RvnEn+0q3G_2-vB6u`G%tZ>t0!Zv!;E$L^Rp15 z){g(b>Sy>&a?SoW5~B7y{{O0F4F~&IZv8L%xi9~3DC--lA7h0Q?=K&Imt*wb!J+7T ze|=}vp=ictPAA_lUgp2(=f2PT{{Ksdo>K{3Qb#y(wHq}|t=ibAr9aoXqAJtZPoio~Xk+R{ z<2qsBzhd&YBdH6uk7w}%dhZv{qTIf2%w*r!jG7sLm|htx$Hz?*7mK=Gy`}E*;7Qc` zvDa6=|Lr?EPDE_a`bK;AmHxAXZg%D8DA&jB+a^P7|AEq9c>cKC(*HcCurTKMVVAv8 zfXcMErQh{=W9#SpN+gS|H$7|VPravLRAeBY{w`}%ziZF?UD&>pu|BU{{o?cgj{oyD z8R4HCtN1>^oYj^=N|1H9JMOrV1Fq3-9-hWQmu*SZ&bOdf6NxYC*!4` zqaNJp;J=)ssjfY$P}H&Y@%$LijLUVZT;c!p_9k#Ob>IJZqX>mG5K&}GrEa6{Jv;O4 zF{Fu*dCXjfROb1SArzSBeS9qLQ;{8(SPlA?#bzXp6B)be4gLy_3!mM z&Uv4;_TFo+y{2>Sy<2NCF@81QAJ*-^xt8{62>+kJ*FGDVkeYiB~>pmRSN(5;Kp zlJ+|bA z)2u*Eh4lVEv?Y@H!kB+Qu0(z!8J9@=l#b=JuN|k`&YLcd(IrxOu8+E<`1r=3o^7i| zq&(8LlJzAL8z2%JAX1*gozEx&ZHjpLhd`3v$d+4qzJl*C%AZK@OYE>puWYUoTP0GS zE?Pg+dumn6d*_9d*Q>g79W^!FCbV2Yr1vHM!sNvDVY-y~6p`|j?Y*PCqpd~im-!Pj zoA%t=tP1Y^M1LZ^FNp&jvwODYOb3!!!AW^Gjk4#RI{A~7TNPZQ)(yq0Qh$=>phcwj z#dyQcs(8b(vs4D@9NC((aaml0u?WO7j>R>}eHO38`_gME52uPNOdr)`1Dz0vLxjbn zZKhh}#3z5U+Uk~4dS4Yk*!n1>v99HF4MkU2lPriklIwKIwa0_E(foy!@r0eFu@P*B zhqyvme34u$B-hF}ZB6LyG6V9)#-v)@1DmH18!$#lt~tpyFZw7uOXC~p4cC$Rw&a@W zs_MRKT*}6k#wb<)l*J~=wKy)`SIw8QvoyA-=0zp*W!K_-@xB>v`^2}Bx*P?ymeWr6UUrY0H z(Q?7pPWICveFpl|UC>9?;|hqWzw@=Ut(523%_bBMl5q#VN2AKue`spBZ_u*i-FooC%uL>6>~R{Z<|S(y=|~3VBv5O}E;0rzL613dpnV%!;5s`<>Td9jo%J^qR#- z(T64Z$X$9Zv1g^Ut+f9-D)~G7p+T2fcoQvEu|bU4G|xm0m}T%HZMPUhnXyO(CE5*VQ7jkJYc^t=e;M?pAOkC;C%Z3+$7v z#q0t8^i#Gi_b{)5mtJqU(S*W5Iy|c6UkBRr0iOPZzf)1|T9R9<>UXx5Qu(FhO7bja zYt3}U;=eR+O8ayjoxz>i?oV9DXYkUTD2*Gcc#AcQB;Tb=QPq9iFu8a`n71MaAq|g>X5}vsh^7VtfU{7k2tB{spO#&c`ye_ZCH{=l#*PK zF1;`1m)f>UZ+)_mJ?RQ`jgsVE43l^$CUV!mQYItjm}b@YT`{!9MC0gt!%2@ zm()t|e^UOAfj%q4Nz8LQMGVCImLQkWA`L~M=BxCwnhVGx&4{$2i9LDgeP5`X%08qk zXTkHC^m)N0Z9JLxDw>Cby9qq+8x-*a7N1dkYV1uOK|CMU&W4xXhd7Awki|TSZppJR z2IMQ$USC_Akhp`oWIx2ZMvdEXKWh|mx$t~8dT)kOdY|b-?_&>sjmoze7Uw5^|4yY( z%=aq&Q>K6Eeb!3sXXXiA+H6TX{#{dVVmLsEMeCLcx@Uaq{e#R@lv&zm5GrI6jB~(+isr%=?l>F2>l`s#zwybSx8Rucp6z8%|{kSa~Qk7 zyyLexDizK9`qL}-D)_#W?W)~}br)+lw(i&un}H3);!vpdLLoL!03H`hO+^~~|Dqf8 z7tlX6Bi!n4?8!;*v-r#6FpI$~F0(#ZoM!I}Sgi*KuLEMl;Xz-WPyoW!HeqF&W z7-h#v@3((i!P|jPDIo^4Sj_riv6;nO7JFF?eo;`thrx5jk43ipThNtjxj(7<;+8^s zUmBNK-NkAyR(naumCl95Ts9W-NvI2X_AJBvUaSGx{lwe0TyRbW*BtJv@l>^C^MpC$ zvy4ymd7bOyYO91ec>4c<*Ms+hCHG1>SE zt+Q@o&N_arf*$~W@TjdF-#Ji2u^4mKUmpL&lW0`LuPzBBpCCR<-d9leo{>G@!*gD> zSdmfePj@%cA~B<~l+x>pCf+m`^4I9bHege~x8CC3Ge7C`5miBLcLYItaY>av2};sM8upWy@r@i#QY_xPnaFzdnT0~V*F;Yd@|Hm)4^YRK+ck0*X`v` zRz0oYrcbitB<~)XA911|f$!k^Gv+%hUQ}>(z%Qq)w&kVQkRyngzr^o-vY0BBQ#ux_ zAF+;vTqudL)pC=x&uoZI{i6K|J4^G9)Mr^76m=)fFH)a{dV+`Ag0R{`nn$GmxEtbl z#AgGt8}f)WUr2q8*%#Uw}*QKThN+PI=BFYy0*?JAW3UMPHw3PC7)JfbT?*(mJiV z`d8R8WPV8>9Kz{E$4N|$c4VT-}53&5sR?dE7 zBu7_I#PJuzzvX_!S&-OSEf7DRHH7HbG~n)CuZehj%1z#|9oT=X{p}|-dro7_S0_wQ= z8ml)+|D->aJGKT>``b&Ae@k{+ddrauXvC3Di0hRuI3Fk9 z{=^{NjQhU30m`>_?GrBQkF#9E27?f{rT4h`ITJ{oDLYbFe{BHI1w7?=Bw}@XI~D(- zw(&^svQLZDJ{`^V@86%Y_J-?9__i(j(Z$br9ABx?kgv1}rETk;#rb=fZ{=NT&87o` zmm>b!#F8#v+lekQbVGjMk5Rn-h1qoJxt1BMzlgZDv}it|nR%wjU*5I_bsOMGa}w-v zJ#w1<#UGzCifXQ(f$i%BXww`W$UmoYP#>?u9`To~N7MHk4W;xluP55RMDLyF7umrO{Q-y_DA`=5+3s#_Kc<3 zaoLDB%k&hja>D7A_dG<*zjv68Y6xAl(BMy0Rd$CF7_-HL9W>(%AfQd zPF5ZLiQ}o$%LXVtYRQL@fe~8B-#2<3eVW>UZ~6K*@@v%TOA991@_ok&{-jPH=sB03 zshzLXuQ>wwxoKh4&*+)*==WK;ewRkgrF&?O^1>`(zUp+-kMn5%W>1t>CZ0I|lADvL z#i2TU-vt!$>o4bvY0P@)(iWyGapEI$28+D91IYv(~IA3 z;1fUW;@4M3XM#xl$E!$RQNIo;TiT91xu}Wq#K#(t zm+e~;d3`;^>h#IiYmulldvYw`JI=p*(P}R9v;m!&-4pp+#s1)WlvvRMdo#r9^iytO zigE8=@p|@Sklt>bDOne1Pv5?Jg#A6sY)AH)J5%@9L5S7qi_clAb+<`b%`RbH8GRvAXcZ_ zjWr~1npu$z$wL0D-F!V45obuZ&Fq2vmyTK~c3VE>Puh<|tWF=Zv?f_I%$hEFAjp^5 zq#@mSa{#d|JJbaI7w{&)oy*$BGOSK#n9;?2k{vmRj82Gzxv;+odJpgt309})0=b~8hcKUMzvn~Pd;=s{oqiYS5fb{YIj3EcA5LJh;(C?JJX~wnd{>3l>4MyXu9>{~ z776@>_0#E{la1l4u@R(alLY=5UZ7|=Vrf(eB_(QA`_$x5K zflURhPWNt34)O_XN}t_A2V|R*MIAL#On0fYb^Ms`GtxvGWJo|~o_3Uh$x72~CRbgyZOd(VRrtJ9yKi&E6on#_d;&qaDKJ5TO;2m8~Z zv)E^25hPu2EoXCJ9KV0ew7;c)*`&>x%r)e)y#)Ro(wh6|KSQyyi6DQEA>N$L9|6kg zP-n3I)ai9)THMOC23+6Hg8a^>*MhCFKcOB}$A>TP1l#;g|0`#CHU556^Q+O9mTjqq zhi@3_B5nU&$H-NR-DZqVmSW+W{VT|GC}9TJ`ft2){IY8OGrpI#_oXz({fLA%{}=w& z(7;XFr~9if)np9n*R@K<=r=sb$NCjyc=?8d@qgny&+hOY;@>!{*+h`{H_lMQVn6@= zS?G&zTo3dfK}LtLb%+0>MdHJMkQI?*-0ZJd5pywzCACMiBGkA5`NoN(9kPt&W3!=z*?(>udJM z!`Lpe^f2n#yTfV3J?%~-{%m4ejb9wE*}P1oi}>(4jM3!Emv(snWw~(n`#2i$y%OR4 z?B+J|bm@2pJ3V@m~nif2a^t~#Hs-flof zb)0gH`QPvLiF^J6aod+Ka9y=tjz+wsfcf!nK2a`q)`NFqPvJ9SM*q5Xsfz*NM=G4& zslQ8237zrR1N=}$x4Dqv{1!f2{;9&BgNL}}05yqvxbB%ziJx+84|_dPd*ENC_W8^Gxj{?>rcN-*n>9lG0=!cRkB{y+y`rgdiOq5f6&MUTdWVSgh3A9wUH?||*m z_i*GNk3f1UTr++4-sXlF=0Yw57U#$O{u|(|@57PKeoM-JAG4}{0`|xJn(0U6hw-X@ zJIdsPz6ta}o61e9+J6MxneXPr=*;)n9K`l4PCfpc{(7tC%j|~P&$o?Ps6Xa=;9t~t zWhi21tIwhRoz5I$uvY^1N_Soq@)3($LTq9qR*g^U<`yS2%dTQVQk3vIfDI}0RJ6HduzbwC76xHVvEUu>o^`8i;a1} zss{E4>qEZ4F*&_9_Q&+a=ogA1rpUn7S@@7mg>6)3oIt#Hk+l94Ws6FFC? zxBN?m`b0dJI7J|zcn(#ouYzl>tJaTYh)`dxSJhY9pM`pb7A&qtinvblYpI7xZA7IF3bm6OlR#kep}|k@&n`v#Ec)}9}(jt!_5GT z@qOo7;}mVcg3m;df<_%uY5<0qhwYQ{+ork$PEg@4eQ3%JxHgA-Y`oQG=d0oOUs|WS z0*(C^j?tOicO~}4@-VYUP3Prk56oX!Jkw}e7cr|FZb|rAox z5S!2+*1Q$`;mGU$xu zB*OY*{4Bq*n8)xA*PYesgN)6Enpf?%IymCRM`RXG!J zjBETUCLiQ1#OJc-IWvCH0pen1Q^ZnvS&S6vV1cj5xqzbuya^%X5sLeC>pzD(54HTrT(w6BOuw z0be7yw>&x(*I$)iNK}}RUo3$p#14TUY>DM-GWlpD!CqAT<$QXM_Qd*PePZ{}Kh#>) zFso0PZePq;f_XsH{kQn_XwS?aS&s3s^F})3WmxP_oes4QVSPH=JwSe@2euw%8K+Pl zaqhjudJH-O-BsD+b$ z#?_zKiw9TF+k47|d<|!mKhaId*KkIBwtsbg*6%6MpA+be$FP5_c#lC zvN2l}>`{u<>C4|+x=874zQUi-e)IGrupaDBz+q2kLS6kE|GpOQ{hPDcMv(V+pZ_gp zpLK|R;Q4>VV%z_Ayx;tR^IN8lP3TOY!oF`zN5^mWu7=g=ZTnZGi~)YOPaNa#Z?VTk zcc1vK59+H+t6jDoIhG>oTbbvA0vPEBE?E@~ZcKLAVSQS>MvzZHjf<1UoujJ>#{%?Ec)x_~lr@`KV z@9oIvxdK+FZ=O-fhrP2Sedi1GQPV5AU}(QX)t&&}40x3atJ7Bj-5=;DRrIWBmD~r| zAFd)q=ugBy)bKyi^FZEGX#Z8k&u|IgFA^-J=c>_beJoex#J}LbcN~rLA5&JYI09J1 zL%{0vBc)$wWzi;xI{l2QW5AUS*KT2M-|4|iIr>nRBf59#q&Sd3_Ua2Q>ue%5W zd)<-ijYz7n-(3XkkMy7PZpXZ;=Cr^4!VhV|q9s`%GL z_>*m4jCmRCRma+|1UwqBhYG9H*8=?p&}~%o`G9+Cm~cn6G|>L80-m5}!tH^5?^u88 zbQ_@Cd^6@!VV^rj?*#ZZ;AN`*S^?(17;^Wb|6W&@R|U!PTDR<-}Hah8@dVSDchbBJJj z>LK3Lw!8_G>!0Xq{N&$a_HL6s6Nv5q8_eFpN%^JEx2ku+RrC43@SJ&*lIP<7eZuz@ z>ON_mBJAfUV0HTZg}t4n^!L+-K;6&&1pfEa?yKSIbbIL#8A%{zp@WpswBxuM1~*|F6O&Dy&X_qN2Z6 z(ODZd-nrM?*m!U);6sD5S^p$LW!vLa_46(j?y17+bk?S~Wl=R7>T5YgvflqmXX6Wh z5%gq}NPc469OBSr8ovJ*u@iBqhSlkgT}qG+dl2#ypuMU;lA!8u>Zx3FCYw5)VK$z~ zKYWEI&f8yg9=2kU3JYg-y4ddb8TL*|&T-n3oO24sqijrp#{LzsI(>Drzw_2)e>M(X z6kVZ);*aXm%c<;PYg58LCg z8ofY;EsEOX`~FWs{ope#Gh%(mQpxxW0Ve@IbXUOY^j|>V3G_`_0{yohaK2S~{r~Ge z+XE5yKZIByjQ_u4HfN!&(EfkL`(Z!Gh2R_7u%{Vodj)Vmz_1S`Vs-jrpu_uYdLH)i z{XLc_!@oHTZ5HK*;d+aG*6>;HB3}Q$oJ(PE#V-&8yqzib$M#x;eHO_Dn_1xF@OzDa zpvP!+P<@Ud$oFLYGxRG_mdx=ZtHmE-4gTJLB3xE`hYBzp(W z`ilgdQ}FhruL`TvW8uEho3|(X0G}wYcm3|7J>$J&wW@#TPMuz9#&jdhkLBC(kPl(s z-$d5m|BA(a{{1X&=oTmCeoz&?CK(_*V z7ZtxSrZD$&Q3#OksvrM?nJwu7V{5aa<|JC2f0w=;7Oftc<6z&=kUXChZ|ZJW#{9y4lVyzTwC2dA&GfIQ!PS*;RrduymC--eMplMgGFd~J^78FUXNI$>tq z=;DKjJHZ~ECC__u#WB5*zuxh|iZcmeWTj=|-_EDu1b5=Fpac1C9gOlW@XF&}dyXdQ zN1LF$pXZJsUY!fMTRm-29^*NoB=4`&if1MUNOwOKMm`q@D6V@S!|`WK?(d!kGT(cB z1IJg_-_IWo#8A_Xq`qI$k`=!)ZyxjKYoW!53bulb>VcC=bRG_Tb6 z$oCU|ziI;CRS(W@?4cVMlg`>(e6&^UdlyC~td7I+)yG?X!j;_Z>qst}zCw9|hiMW; z7hlqCpcBq#Y^TBG&}&0dBPbBtFO3>Re&*C8&HTn8R;Rx#7)*YAHz20*!;rpaQ7AF8 zN>nDcF+_cIdlp8P+shQ^=N(co`7-v^;~Gv4C9zSbkY8QCl6M*;2!4CM>qA{Zp7oz!k-{q4?mVP{^n>iWrjx;Co zY5@G7kDr^NzQ&b@kv-N2l;4tDqCB7dLWySo`kZ%z(>R_l_(L)5MUuWV3jIM{-m(NI z!j6=0A=qBuyc-v}CWPoVv_X01JU_^N^`Arv3x(fbojx5xc1`Whd2|Y;sE_dm$B**1y1x;O>(GpSEEZqU^ba=eQm-_P(6 zQfS$o3n*=e^QkD9KyrH=;o{>LAg%+pJutDvW5*aPl=sTZ^4pgR_WEvh9L^`F-7=idaz$gD@8w5M#MlA8bF!__9qn8B zlOwhK$*&Q1DDVAAzQoQ*lg!y8*zcbMLWy;1qT)o)hDf(84I?G>Toqn}_u}~Z&3dCh z7QVTW&icE(X;q3;U(q`qh-|1EX|{jU8FoJ~$$(s1;ziz!=#Boj8+>!f=i20gwk_(f zFYG;<~HAELT*6F2x5P=J?eLf>u7Q!J&#+^(H!SvFf^2`8hBJ`U}%gucz+lP=;EU| zWtfcmlf-KrPqYK^oDQ)#2x9W`okBdmp()%>FudNx)PdnyE zX5Gp~OiuJrXeEG-Mp)o{hxLh&|J6R6Xf@x1{Xb}MlmFwwU^3xKCh{8|9GgC?Je=e^ zM^q5-bD#OkRzs|w~&jlx1 z78as#j&(wQ3v)}V;r~irdAmDeZH?Y^U3sDWlxb7M%b$kRg*h6EC5tzpJ*@ydtw2Mu z?xQ>6(r9b?^ucly_()AMt9_ZLF{#kmSv;`yAn+NFu~`Ikr0VWIDNAA?SE zHlL{SQS@SV5%0b~811e7xh#J85HD)G_yX$h^r|F&Q_&#Wy#zkf0{;9ZANXK<9~u;} z60vbs4H~||j}DL9gZ;I9u17=Q_x^u|86xg^EGnZ}VK{{|;v?xTl*-I-%1!@@M2Oh-nXDzWJ=7+NR z1RHC@`a7hkK?WK<o--qBDL#F}7#gWRnNITWmLC=uGvh-^aIx#*JR8-?HVu5hYJW|w~A>>fE{ ze>1QC;9O_?l3%}SAz=}BVk3gvAkSs;Dia#wO~;#aP?olqZ#!+34qYABASZo=^= z1K$5$L*cDajP~_YHjMmO1$$tTX1E?E--nV9@3lz7g`ZG=+0RaM-WdVp{o@4Gcb#u( z9PE)smbJW#I3_5co7iM1xhh|U*s_}j$%FkAmRvu4n(5;q?15adB7k^!C=s*zk>$%y zA&P3>+Z=I5hPc>vFXpLMT6GXdLw)%t)R*JrLVg$>745-}NXRR!{|T49Bc>>wggH$tK}n zI)3!)j^oX@bi{QT((A7j*8cT(Tg7guC-<%r^7H)%9mvR`CiGO<7yM=x6(Pqj}MDO}zkvAJ18<&&T8y!XZh*uSOR zOU@3h@^HkPvV6FLnKlX+UE%kbQBcpEgL>xE`B7*;Zy^`<99Qbm;cb7!-rx^x53l5c zo2XB5{0+0lBVN2nIFEjG1##i-dYmcDe|xM@AGdAnC1;1OYWyGC?G+Dd`f{0?!uUP> zU-Nq&$8)6)!u z^_X_p9pz>9=VO?U_42-m`$7G-;bH@>p}X+>mk9OU%!Vn7DNTByKA*MNjdH&Xb;t9V zU$%;wU@teKh3Ai){q8g?vnIJSOt6PN9RK(H5X80=y6xC8n6M6joNP_OkG z>ZWL3u?PFV3H4n1;3UP<1`W|Z6Kl1?brSU$>D3wQxfg}P^HuLHJ?NlT&53Tyw`lKi zw$9Yc(TUtVBKX6fF)e7>`K}~7qX_A2y<)Q)daS$k9p~!_^<3zxx*peIZ+T{4ld_C( zysyr}_kAtn2P-nb-@UDb`e$Hw8+zHLA<^C;_;XBbBN`1pf740u_bKc3>Bph)e_4GK z;z0=1YkTMVDqbZD>pKzZxq&B+C_l-JalF=Ui%^f9%>=)1H{FEW3h^K>(J?li;s;W2hKF--hFtA^BdL7fuwnQ$)DYHLwe@2 zLQbY>%V$g)fw)P5H^~||Sbnu(ZNxE)97*46{vGFp3*$90twTOe?wV1?c_aN5>`|Zo zvK@cW`Um#kqNWSknbF?kN2Ltu1~W>)Uz>7A?+N*|f&WzU=g7f)SF_#7AM%$g=|s-T z{Y-@X`~C8IZrKMDF5&7-Y`;ot0a@WzOWEI3u!j-PoJc{6m4cm_zWT23!OeD>t=zg> znE$*-(@E?jdv5ElDC|FUn*-5|dMYPGnD4#?@myD%8T^RGldyeQtRMMP;lS-q_=Wt+ znT}*p+9Qv$HNt#9CF_yY$S(ZGg+l&1UD=O3E*YG0smv7HH(X#t_{=`(+6_6x6Ze}F z+x8RW{oMK>ZnUTeIpp}jxxwLAGCPn9*kbHym%A-8iy(iXorW`yOIW-;Kny zXd~bF-U0a&@;`Gs@+{tLAnPEo!K^wt7`p z5az-3v##e7?(4S#Mc1?JGtLOoYhySu9yUR7SX@e$=p@JO@FTXsDxVPKLzpnKF+aKH#MqZtWm%op? zgLH$!{-k*RIlhzAYos@F38PJewUp~my+L}Ue;~EnQNk%s>_V*fIDp#vS8~4`LNZwY z-YMbq;vr)>w~Rx&$q{XGZ1@I#f7?HBKHJY#a1Zv{^M;*aKVjex>7+wa-fPpD`u2#U zEnaXZ&o-sow+Y|xi@scg25s>p9TMU&{utEPp|jvSH66c1DOvlK6E$Jm($oBg@E~l@ zX5FfMDqr?+-2+Y9?seJ<8g zzHta6#aG^9|1VDz@%_f1Sp)oxo__F6hyc^ogmrlAh zl27v$_P4n^b}%h}9>@Q2_#Ljt&K7;?^YgcP=ll7Hvyw)TxXGp5?sh_d20s4ebwh2E zaZ@#3YuM|-WS_G4vqiW*l@$x|1xK0u8b3Ki-Ui}AU_+^XF{E^3zT=-m}KBznA5x?oY zA@MMALHgnGxA}HIS`#N<;rY{KY$f;NVE}F9CfNUqRVCc(;eoX48^J$3W@{+Edtc`s z{w3_^#%Aqf6U`m#J{$Y<+!3rekk^9f8+AoIqH&&lT(p9?KZTkXOY3UqB@4ONG@wTHDsb_qO^XQgB z-igQ$+@@Og>IE@>73D>_xgbwYJ<4f&qz95cRFpTUkp3Lnjc#Zmg zu+ERzS9o$Zx)q46X#iROBZ)h6U)aCsuRwniXz+|%w{ip0zdiA#ofqoR3+11&zfUmM zcfGH?Rg^GZ$g?LNHK3+oXC|+G-_u+I49U*Bjo4T!r@{tUs^rk#hEaqtm&uSg&*+Iai(l??Yp5q3}NB0K6Ar{q?-*K=%DA<05|4 zLi}ln5gBV)jcX_3tGp@`mN-O?0o326(0~M9N3dF58j6~ zhxa0E{0XF9MwgGiRQrV<;z7Al8TH_O$d9}z^zUswv@`Ush0_zoR!YX-Y?!~&0^Wyw z%@y7cR%~CL;R)|QV$z49{w>d~&gcmE+~;Aqezlfm@!Q~ijnBCY9BY5xtb}jB#hcEu zjYK?i>uLU4r$O}Hs^^Gn?#b{Vef(%IA7MYSZI|NG*Y@zEM*{?Wxq~$g+Mmro3>V^c zkhKS$yW}ZAH&7w-`!hO&0Q1MXwX?x7G%b#a)E=F*~-Wx=&vfKzw=$cv)pQdHXilV?az-d_U6& zu*;~UU<>Rof~0L8O1{MEaW%bu@ra`W$bnIvxeMLiBYqCg`tH+Lc(8-fi?%{6$%*4O z#GOa_iL2pcJDcWdDYk5WgZ3E!v3FxLlZ;t& zg!&)_>Yal=l|0D`!FXfn7f6ThDdDZtcOif8HQ%_bK0#dnSw57FziqY_*{+koIkXV` zxwK4&c-%H1`e}l{u59*>oARa=sXM1J^7m<=L(L*!&+a=>7~hUV{WEHdAN{&N4*iE| zA<-g=yH_COk2{+y~+pZKpUW4JC3gOT4X;VoZ3=_XfC(Fbuz*KEH1Rx>g) z!Va;e{v%$eg#$_bVvKn3q*Cr@(g?cAUXx?xp+LNC*c=1u#P>mKqM z^=&q42<5xRa%(N#A$|hyCH&z3MJb3Eo^Q?P44{4XKjGS%UqSjusBh*PY18QILVtr3 zN09vKrF=v z4s#u*Z1H^+_CE{in=qTP@@{+nME!(A{nPoHmSSvf59l)jzLgS2&r}vEpJrs>dXz^% z{bNL+tuWrQ96!4JnmgapTiCzxldm70S=ycNzDe-MA;-h0SJp;F+3k(kzijr_{#<$3{pv6mV5qm8!;ckrxBHY;y2TD$Va0Zw79b% z@9bHH+^VQnbf=;4{`nfKMIQT-d#%4HnZD%OU-{b6!^yjVONb9&A4=>#Rw|Ef5}q$D zJ_V4_{`P$9XyJW(>c{{xaMCXRM@A;D&nmeOSvU3peOU z51eQ-W8=`7hwN? zFY0kcs4t@ZSMn3#^OZx(gnHsbBW<}I)CZfAh5DdgYLwg@>W9=cp?*+$`YT+ZUa+|; z)C;T3N;q@K|LyIB{GSw_#Z|)RCB-X-*S9AGy9(s0WN%c#u~spYn;GLVj;+ zXH87u^N!ta}YNFsV_Sdo9LJFfe(cIyW*@3AvHr3Nlrq3&uC&! zo|qNMe=Za9`MBcFWO8V*Vns)Rzh>reQuEKR@+0Yj{}0P^BtM^g;@Ub3`MM^2u3_P> z3;RC{`TY763sTp%P~Ns&$k&bGbBmSJzj7t2e0{F&UCy?JH(CE&$ge5637kLJhpCu< zJy&tX@cF}vNkYD5{T)1BdZP>d!4Fdg0+_-T-n?yh+ zxIc%4goNOlbnUtn@G=;0CD2zx+qG~%62{#C_oMItxq%i#@^WK=wi{&F3-=E|pK);i zFdikv$ANZ&$Ye=CONRba;rCavtXRtaQ{9YG11vT z%Ykunf%Xi>$%p%|V4MQDUx)|j2WX`*P8rb3VVo~;|2vHH1MX{hT3Km%9yzS#*|n>V z=a3<~p5w;V@YK+#=?VIT`}%m?yio^ebv;Xp4S-h96Lbvs8+giOMsVL4kB|^kpqY7s z-htNGGb7y`?l<+!%WVqxn|t;wIWFt?tzm3St(>EzPO;pELp zpbz&}><-;{(moFAs6oeN{YM;8GxqpJ<&ON?L{{N5F;PA#lpJbuM0TUViz`~N zAu)ga{Qtn-(+|nk$A@uoI>!_1mxquc-{NJ(OO|pL=E;eL-Qjx`AqQpOer)30$hE|m z4d#&PBjRN9U3YRG9*+`d%$-GgI319=1jcipEeaCj&d(q>2ket+hNg16E__dHUKvDY z#_g5enGgTh&vlKY`?^77!>wJiYb1-S+20_kY2L*D!0%4%kaaxxf}0y@o)pk;EOE-) zE}Jpq4L9b2MUrNtG2~UBXxZfW&s?2#ZIbp58A(FIx5_lY5BitbB|S_EAT{F@2eoIeUj15U*`ve4En=L#3 z+J!v-Ixne3QyJmSC&_qdH(z6MQcLJZ9lz2ZAsg!1jWoNqJjuR5V?3@eNvCc4al5z zoXi6B5R|epX%6VcZmx&yxwS9JOxl!GYEz5pQO5KLdQDR4wHnSgwUTjpqexS|?Mar- z@43+rEM#n5V4aet!8&dK(ojbCjwe>Vb|xt+vpJpq1~Lm+=Z&{^C0&AbpR-v{*0FLj zsn>N+(zFSenVmQ?I{~{%Vs`WRO_^iLhiPQP=Y2`~a}&8v9*-QSgPlzq5tkGOb{F10 z!}0EhV6tUleA45DRh*f5vg13jQ?T2lLabEU|`LP4@WAN)F=GWuq7IxVE0lxqC>Uh%N^+)7C z5@)nwaRA~%lJj?iQ?o+~Pl)vV^+z(ssNw)?zj(N}asW*@$@+f_{g2odq0H+k!~uv4 zNo5Tl{0Ck>y>B9u{|U%{V~a6wtcnXoFu$Q4n)6l`OA^`qYYX$|Z>Zuze3K(dmkPZ2 zW|_MZnf?p~{qfqWI4~IW3vq!T(>^1S>3_4Jf8J6R2d2XMKwRL@y(vp%>$hH5KYooW z4qSuv)eTMMgEs3WxxxC^f%OlWaGC$nPlyBS!9Frc79aJcVUiN;rzzOarOIr6B>4R= zvoXXD>}%nSH~d3WtE7%#f2Lr6cFynl&MLp3E!Znn$L+wrbFF>pg``cg&tTs(!T!yY zyy*mp3-iJLAAx_|a~VYW1M6jdz&~Dr|3Dm|Qz0%i2LH(h{~GnS4|VlfBhv=|sx9~* zZ2@tC`Cl&hr@v=6+W6XXnLGIB8Sv*b97ktDTxbLStd4`g|BtyW^I={}hzlPe{uv&rOMPQI$%a7un+$rGHMKS!4|-`1 zaX}m6=cHI2`c&a8WAPL8%Hk{2E5?C*h`&?f;W=_$8ySngju4+G!nzEGIG_!2pb+A> z-N6_9m`HQkNQmFCt}?c+u+B0T@73`P$PYK?XYjGtHDnJUKY*RE{J}3%#f5H=Uz`Ht z`5cP^$Agexf*}9Q06Q~=xG)pq!W+m>Wj{9Y#^jpgE67h?kiTAmoqlaB#04+NZ>!?N z_!T0Ic*@;A%xWdYtwZHNmUATF@{KWUkba?`{~4lMt( O`rwK~-2-BM@c#jCk0^-% literal 0 HcmV?d00001 diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.gltf b/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.gltf new file mode 100644 index 0000000000..f7340dbc7f --- /dev/null +++ b/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.gltf @@ -0,0 +1,543 @@ +{ + "accessors": [ + { + "bufferView": 2, + "componentType": 5126, + "count": 220, + "max": [ + 4.7648983001708984, + 20.011093139648438, + 12.621799468994141 + ], + "min": [ + -8.7491016387939453, + -0.01790618896484375, + -12.62190055847168 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2640, + "componentType": 5126, + "count": 220, + "max": [ + 0.99999219179153442, + 0.99399518966674805, + 1 + ], + "min": [ + -0.99999213218688965, + -0.99998617172241211, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "componentType": 5126, + "count": 220, + "max": [ + 0.99998611211776733, + 0.99999213218688965, + 1, + 1 + ], + "min": [ + -0.99388492107391357, + -0.99999219179153442, + -1, + -1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 220, + "max": [ + 0.57329881191253662, + 0.38729551434516907 + ], + "min": [ + 0.026701522991061211, + 0.019138336181640625 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "componentType": 5125, + "count": 432, + "max": [ + 219 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 5280, + "componentType": 5126, + "count": 1250, + "max": [ + 36.769699096679688, + 54.116901397705078, + 22.485799789428711 + ], + "min": [ + -36.769699096679688, + 0, + -22.485799789428711 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 20280, + "componentType": 5126, + "count": 1250, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 3520, + "componentType": 5126, + "count": 1250, + "max": [ + 1, + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1, + -1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 1760, + "componentType": 5126, + "count": 1250, + "max": [ + 0.98539358377456665, + 0.98462557792663574 + ], + "min": [ + 0.024301454424858093, + 0.016620691865682602 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1728, + "componentType": 5125, + "count": 3258, + "max": [ + 1249 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 4, + "componentType": 5126, + "count": 131, + "max": [ + 2.5 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "componentType": 5126, + "count": 131, + "max": [ + 8.1460314049763838e-08, + 1, + 6.8779193895807111e-08, + 1 + ], + "min": [ + -4.0730135708599846e-08, + -0.84432774782180786, + -8.1460314049763838e-08, + -0.5 + ], + "type": "VEC4" + } + ], + "animations": [ + { + "channels": [ + { + "sampler": 0, + "target": { + "node": 5, + "path": "rotation" + } + } + ], + "name": "antene|anteneAction", + "samplers": [ + { + "input": 10, + "interpolation": "LINEAR", + "output": 11 + } + ] + } + ], + "asset": { + "extras": { + "author": "Sabri AyeÅŸ (https://sketchfab.com/sabriayes)", + "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)", + "source": "https://sketchfab.com/models/8f57ca27d2f24ae1b73986f132edede6", + "title": "RTS Radar Tower" + }, + "generator": "Sketchfab-3.24.3", + "version": "2.0" + }, + "bufferViews": [ + { + "buffer": 0, + "byteLength": 14760, + "byteOffset": 0, + "name": "floatBufferViews", + "target": 34963 + }, + { + "buffer": 0, + "byteLength": 11760, + "byteOffset": 14760, + "byteStride": 8, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 35280, + "byteOffset": 26520, + "byteStride": 12, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 23520, + "byteOffset": 61800, + "byteStride": 16, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 524, + "byteOffset": 85320, + "name": "floatBufferViews" + }, + { + "buffer": 0, + "byteLength": 2096, + "byteOffset": 85844, + "byteStride": 16, + "name": "floatBufferViews" + } + ], + "buffers": [ + { + "byteLength": 87940, + "uri": "scene.bin" + } + ], + "images": [ + { + "uri": "textures/build_normal.png" + }, + { + "uri": "textures/build_baseColor.png" + }, + { + "uri": "textures/build_metallicRoughness.png" + }, + { + "uri": "textures/antene_normal.png" + }, + { + "uri": "textures/antene_metallicRoughness.png" + }, + { + "uri": "textures/antene_baseColor.png" + } + ], + "materials": [ + { + "doubleSided": true, + "emissiveFactor": [ + 0, + 0, + 0 + ], + "name": "antene", + "normalTexture": { + "index": 3, + "scale": 1, + "texCoord": 0 + }, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 1, + 1, + 1 + ], + "baseColorTexture": { + "index": 5, + "texCoord": 0 + }, + "metallicFactor": 1, + "metallicRoughnessTexture": { + "index": 4, + "texCoord": 0 + }, + "roughnessFactor": 1 + } + }, + { + "doubleSided": true, + "emissiveFactor": [ + 0, + 0, + 0 + ], + "name": "build", + "normalTexture": { + "index": 0, + "scale": 1, + "texCoord": 0 + }, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 1, + 1, + 1 + ], + "baseColorTexture": { + "index": 1, + "texCoord": 0 + }, + "metallicFactor": 1, + "metallicRoughnessTexture": { + "index": 2, + "texCoord": 0 + }, + "roughnessFactor": 0.33708079270000002 + } + } + ], + "meshes": [ + { + "name": "antene_antene_0", + "primitives": [ + { + "attributes": { + "NORMAL": 1, + "POSITION": 0, + "TANGENT": 2, + "TEXCOORD_0": 3 + }, + "indices": 4, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "radar_tower_build_0", + "primitives": [ + { + "attributes": { + "NORMAL": 6, + "POSITION": 5, + "TANGENT": 7, + "TEXCOORD_0": 8 + }, + "indices": 9, + "material": 1, + "mode": 4 + } + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ], + "name": "RootNode (gltf orientation matrix)", + "rotation": [ + -0.70710678118654746, + -0, + -0, + 0.70710678118654757 + ] + }, + { + "children": [ + 2 + ], + "name": "RootNode (model correction matrix)" + }, + { + "children": [ + 3 + ], + "matrix": [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + -1, + 0, + 0, + 0, + 0, + 0, + 1 + ], + "name": "d41881aed2fa40e59dfbc48a1b196a48.fbx" + }, + { + "children": [ + 4 + ], + "name": "" + }, + { + "children": [ + 5, + 7 + ], + "name": "RootNode" + }, + { + "children": [ + 6 + ], + "name": "antene", + "rotation": [ + 1.6936573032921842e-08, + 0.97814762592315674, + -7.9680219755573489e-08, + 0.2079116553068161 + ], + "scale": [ + 15.750349044799805, + 15.750349044799805, + 15.750349044799805 + ], + "translation": [ + 397.03485107421875, + 850.523681640625, + -3.7137939929962158 + ] + }, + { + "mesh": 0, + "name": "antene_antene_0" + }, + { + "children": [ + 8 + ], + "name": "radar_tower", + "rotation": [ + 8.1460349576900626e-08, + 0, + 0, + 1 + ], + "scale": [ + 15.750349044799805, + 15.750349044799805, + 15.750349044799805 + ] + }, + { + "mesh": 1, + "name": "radar_tower_build_0" + } + ], + "samplers": [ + { + "magFilter": 9729, + "minFilter": 9987, + "wrapS": 10497, + "wrapT": 10497 + } + ], + "scene": 0, + "scenes": [ + { + "name": "OSG_Scene", + "nodes": [ + 0 + ] + } + ], + "textures": [ + { + "sampler": 0, + "source": 0 + }, + { + "sampler": 0, + "source": 1 + }, + { + "sampler": 0, + "source": 2 + }, + { + "sampler": 0, + "source": 3 + }, + { + "sampler": 0, + "source": 4 + }, + { + "sampler": 0, + "source": 5 + } + ] +} + diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_baseColor.png b/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_baseColor.png new file mode 100644 index 0000000000000000000000000000000000000000..fee102e5a4128f181c659697df10f28b6c3b50d7 GIT binary patch literal 260424 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%0A$b&EYzF=jKGoX_TnIWDfz_IS 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%0AT1d(Z}#O$jk{wGFED@TVH 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
I zf;X@c^5C&|DDj$^_tc{@Qwyx61fh>Rb`U4F%$Z_X7L`6|i(m=zn-9G2_kAtbA5g<;7W$LXZ3Bb-BU??QbI18$W8x# zwGe@PBm=c;r+j_M{ENEoz93lOW!y`T>q&n!)c1nZ;QAp#7~h1XImX|JT(3EcZxZ%7 z!m;T7@d`5)IeCw?rKdl4b?RSW26x;oi$GWk+Ya(+uOl- zgEh95W{HP8C!ZgmIQpLY9A6PaWdx;FoVo=uGBrVNza_A)QOV-Ru0!)ayJvXp_+=z6 zLLJ=n1^Lq9yhVT|EXVQ_d9nirI&xX5(0lut4r^7+uv-k`d^}q#S!YTVY068=G#r0P z{c$Vv^P{^=i?2~;37`A#{cE;TO2udQu94-uPE43}ooN{? z_8F+$K{y}w)|j&mEbWY$U}^CttCA8eww6S0|-hjVNvHz5;ga<9mVL_bBWwEmDI@K9T^iFW08xFt)J z$Nz=jUt39Vq;g4^qOd^2#6WoKz?ZuyhV`44vus4-PXrx7sJx{4{1bBdnO`8RA>~s` z_9elXrvFzz41sw216`GS4^H1U+neQyWPWt)iFN#SM|LJX1G8UP*!T3FG5TV77_~AZ zi22Epi`agPU~yjT6D9iU@PVfhyj!Mc;V~w>N6f0J3Z^GM?ax)5SG1w@eG1rEe{>tl zI~Uyi6>(%0n@1E<&Z`qC-o6*HE45X1-MV=vs z^=2tOGyT5M6$)T+7^f4=g@=hv%KVxL9W068v<3#1q8blhTghotqWZZ^;(sI(`*kdo zZaXOFI#F{)ZdD3|&j>y@?NN}}oy+Wd`UMb15yaK)gX> z|Jr%)V7v5X4G!we^c2ti-t(+g>ra|9O2v9M7RfFjq&;A}g3p3*xO?QqmzYoOZO`p+erj z^!n_XxGqcpoF9QTQ2%;iR8-(LPVk~cb{`&%SEbeLF*|PVgd;y?sme3ia$GoDOZlkP z=TE%cKf*dI)CLw$=cDgM9pk*0QLB-u4@XjTMPrm2xbm(VxrS*&RN*BBfeJo;L86Tf z1n{n_#^b(yz!h^^;D0WBe4;kSjyYbxKxFA-Upoa63F(<%%--BKx-nn}YtR%EalX zy%h6~l&u0i7=OLpET#lim4YpWzj?j`^@Y;wB%#a7R3zOm*_Pg|g(MFmDdf~!Qg~H| z#Vi_6LXzmNy^-%Jd%vl~nIU$kB4l{pi*am6W6DDY^@8Ch(x9nd9?uS7ZY7rToM4|5 zOvd&vE+eoeGxKtoD{^1NbW!{hI$9gxETZtzhh*4tOl!CU8V2cAn)&h_p@f(o?JSNMCLztg?@RNJm# z*o!xHO^CEX+vGx8%mtD-4tc^Fqr==rJVevr{C+Rr|Kb$Pkh$cpZO{A7KO?cY_HZn0 z@*7=TTg6N!ZkjDe%5TlX?BEt?L^p2d)x0oM9v(p+eM|;Aj|6QK`Cd6jRPF#$YTZS& zlX)!1I|*xZW#<2x(l<}zILrM#tr!U8Eywvg%tDg40g!cag3Wc#Oo~!{O>F|MQUQJe z2o1sT1;N}^<~=KA%FDT}!3Ou>UR(o~`{HMGfo`g`O(Q;eb+4@+k$uF|Effvz7Z$s$zDc=!H%EbY32Kl300eFI@_mMeH|Jfi-D$NR&ydBK$j(US{`y7gYFUw6U!uq=LA}e}f5IBT zGs0gbIp6Y**;j$k5t%H|(j8uI%NMTZIGtj-oYQS3z1~nZ+CLqfQEoN&Skfe4{nYhh z-j60bh9k-PIO1RHwRmN11hiV5-{y@!IxLTWB*ZTe=hPbcnLk!0LA8qW6a8-70rQue z6#<83F9%w7HhD#JQ5@AOCoE<1_#b2+hEi-F^>bs8$ruOksoH(i(N$j-SUV7VM4GWJ zb|jc{7=v)ePCvb>Yg?WCb%eROcHC*TXr3v^EGPR#o57?s2C|3A3U$3W{UO?aoV*{t zaqo3$9X)!G&C{~l)Xh~(VyQhwIvz7++gvSA$u1Vo9EXeJRK!X$XMN+FJ6xs3rzW|e zSn=~ogO`Sx2nVTB^Rwsnl<={!7zf;n(Vxva4wx0aASOn*xU}Qnu|9CKfB?aZ@JCry zAGZ%yra6~n;%QvZV`)5+yNglBnRC62+?}`&j^rG-wL>a*3^LQxavdri7FT9^n9Wco z2oYh-%zQ>h`lu6G8GXaC8}6r;W{a&{ljjEhm4_V>)mgCPSt@sHTdmin8D0- zgyNn+Z*dGotWi?Fy(}l0lAQjvzjWs(%eX%L-vv>E_Psyg?aE2l;WOs+VZG>yMi-|P zP2{rU(U%UHnwC|Sz&3%eUy9|QZt~v0gR?p{i*2%8(e)UzB4fqTGsAhdR~AH0oH{~3 zsilQA2Myq!vlktHfg8=lUcH#tShNI=XcA{5RT)b|N$SPRspx;#F~M`iq<_ZuyKYnn z*C3kDx~6(0RsqRW*0JZ**Re=FfAOpLg2t=Qpw@5i;Ar}EfY}p=7ab!D>-tFcWB&qhMm^ywXEYCSn2qi8q+UNdPRhG(~lnH$-`Bq zIDFd(03t>ecEBVIuc#LCig|EjsGI_*n2cMwL-3e7?41u2d6&r1vB#s{8wIk5Gsh_A zV7vkxn}0*>0I@%YE1|zrG$?mTq0Ulb15FPo=~fKO2>AJ)`9uADwbm#Ofb$cwrYams zuzSZF7$|pQVt*jPoDCzLR%ppFlgcaHo=@=LnRqgI!iGKP2ZjPEpiIA7qXAevp6 zN6M$~g%KUNpV0zMD2z|gA&o#eakf9|b@)n!vFC2-N73_*#gK(Xa8<`#+>K4C^d(ou zaAAg1!E6SjWwDlZr@AhE8G7FQCGZN`t2=TfrZ&+H!Znl<#9;jX8AkW zO*8&b{iKgCLcU_dFX}VxGljspMX{4RP4;lLf3(EldW7!Z0%W0-|7b5siV3!mN;oPJ zmBu8n7{K<}lyH)ij-dDEZt*?Uoq(fP54dA+gT9&EF?0Q9g!64TASmc`Z#g!aV3mWd zWn*Jz^H(jVywJRba`?D>n%>I8OA7&O0yjOew?&v^uA0(umnNTkfCa<$FlQ@$K9}fn zo_WfPtH!e}zo0`=rt6HgGHA!MqpGW;RZ3&zRaejIHzek0Ta+?q-(Gp2n+B+7JXrrU zQ6MuZ&V`0}#$`HnjlnEsgCLg7$y+iFFI~uW@K(@Jow&@i=q`i1)a+K}Bln!)TB3J- z3}3TWhY@qMG=%C^CWFfq=$1#WRgixN9jxVa696+sq6K9 z`S(}Y&!zV)H)>zFYbWTKNN3f004Z9sVxBDzB}XL~rBF<&J~s>!T$6MVbEpfiZ5S9n zYBQG+F)hgs|NO?RP#fTo5nLeK*c9r#nhrDh{?Q||TYhFS*$eXhXmxP1S1|ko&;0LM z(X{djvZi&*I`B z_)nDW?S2;Ex7R(G8HCwfn7oSm@x{z}x+JacZK2`(jc+AGxCIrDB5JwOiYsWE5!lsq zrp0c@Hj}qXwD}|H{mU(iqi_Ke^v%~YT+3`EYYQ8V%jlNAS0%+yeX9;->Ss`Ud)H6z z!Q7Tj8{CE>9%iPwhynjj`q~TsVN)k0&~>Q3(CVw=Ij8!q=f$w1Y|}`)L(1?e%6inY z6zZj}&G*E9s=Fcus*{ddDqr>+sx;HfrwU=Rip$v$=$qr4S<>z+I@4>Gi;Q^$7HdR+ znbZpgP8`A&!E!;fAk1ae3j}ydu<`P^no~)_M~!x#0boy+o%t3%m^|)=yB3udbx~WF zaoRp26pqY-pAcpu%Q?~G(i1C4)p*_$2fT89%W*`dxv%z>zroyhlDxB4b{_suwqD~O&{E@_oLu(4OMK%@UXIwv6?+Pp-73992+}A}oKiuRMl|%?#pSdHO9G_Bw&~pk(afi5}Z@>DPTum~q9byy7OnJK{z@=i_eqz4g{u1^! zfR)r97#5VSeRA%$U^vn61wy_aKD+hSwlMn%?XDS~?!9&U=OUvyLD>E0xD|Z^{$?0b z=YyVap?{rja1OyAyCrECGHA+4L0pIhY=`Lgg~X+ZFQ-Nk>S=$zJOAMedAFv*(kr+$ z0uO$%YQ7!aP7A|M%b_nvFKmNGMvh08J4s|N5Vq^cD4x3W7Ta-?Wk{x-VN~IC6u~+y zNMN9)KduGG?@i%zRl!&&EZ6M{bfeG`Uxl^s=5fb|O6gUpQTNMVD>fvV9N zgWP6Ri$c0AN}@fhmf2)5Tk<7BPGG%o&tWsrvx7y4XMO=mettw_D`YGiY|LHuB}?)i zGEfaRv4rl5!$6P0OHeZbz!JY~QY8nVAff=I#8shy{@spAz7IJ*+nFnl4+6Gb?_2OS zQW7xC?YMB){?E3h1F=8u=HO|COKwgkm-<&SEw>4a^NOMsG!Hj=F$u}4bs0Qxh1=T8 z^O)`=f%6T={;+7;M?T^kTsh@#B76GPM|+&^t1MPYHE7wqxu{g~xl>liC+SJ2|CV*a zy?z~_BMFNZU%S0UZm6zIH*6skpfGlT8BM@ctf76_(2A>Qf8VTrb?#K_jIQ63gwF4Q z{t3xl<}Cb(-Y3zm<8s=3cCj?yJ`OJ?D6$Z9NL65R(-g!1M)>Co|G3OoDIty%fjkd< z=}59j{n^kEz=sR1xQ4D(gFRPrv~}h<5v2THIW<`Q*ed&T5^8%kVogJ-$)&xEvZz?z zZSzR$S9I`Y$Nv!CPWbu{Fn{Xo;@n6psMNF;Vxl;^e~BBLW%1t17i-&{nOrp*FhH{N z#kufMOs=7`*i3vobL*+ANb%lI1h_ntHAK+*-@r7KBlu5qI3O*~P6pnLaZ;`g!tB$C&>6 zp&c6Y0{8Dw)4l%(UEecF23l;j5`bXq|L|;{G%RT!n{ykF`@-+w=G?rsqbehu+^cyG z+;?N2^}qek{L_DIMJc%KQ(^e96Qgtgvb}2!EwBC6TO0Fx==;^sPfOny5soaguSNT7 z^!@%jmHcRVAx98wN%s>B#f5GRzuCvuUX|V4RmUQf(=Q*esttC}#SN6n)2`2S-C{^f z?_kY1D|zIgH>MQ(KqexiBs`HB~deRnYWJ-l+u}?s*iGjU)2% zJ%Vctah3gdvouNQ)~|-|77|SFgo4sn>K;4_k>G1)EFdCfWUrq*z*qMHkK#;5F zD#kqfpZJkPwb}_xiid?VzhwD>OG?l_;6hG4e#nHkUp`t#9p5C{s7E*FFnMgM508{N z&6GNb_6h2s^Thu2y*OghP>5MJ<0r57|B7uq*i0}a zc*k9rPnO>F_GZI>m0r4h73`AoJINn?856uVI$sqwaK*~bGc9fed(bqg9vJZbW33^C z!LOsohv50Pc1tVbnJ|LdC!b5)fwJS*J`PSgz06^_@e}%8#e3#62U_66+6Q<*Y0t|D1)V*l;P5>qD3)^`?}mvq~&LB!?R;b!3O{#-`-y=ss!;PX8kqF1Zy z?}Gtgp)k-rFl&o`{mT1iUsB+rvS8jN!3oY|`1>HL&oK9g5KstnM|i;P+)KIpUNtlp z-g`*wQNEv*PQdvMsE60@D_xMbrUhcaD0UY&JGXxyiNt+mS?{~@;B*iju|H7LnVx$f zmE|}+CKbJP3O?I#hzAl`BR7=5jHNZ3DKRiK}vKVpVkXY-b}#}39yg3 zr2saq!vM50f*cbFjz7~jKMYU#qXYb45n#wq0oeBU=8)FU=7_+S*Cjd-hP#94Ay($Q z=e#!8hN8yh&S=d^K=a})0vvw(Zgi0vWOAQ1503K75}u;wEWaQK^@0D7>@ zMgTr~e&(l045tOPLmwM2le1Zu_S3slMJq9oVYdK)0IdOiuejjF#GoRb_}5+1zQW`s zk4|^ZH;ep{0^lOxkqCUS>=p#>VP;lpBki(qJeTf_A_xJvs67DaY;XZLE}ePCGp6pf zID*edfkhWOO(&Nr03i05#&jfAcC3Y&3fI;Chj!1?w+|tHZl8Y*x;i11{^6qY8Vff! z0JPQ~a(nxW^oLyofFdPa;HITLc`GmD-mgdqkxVun*z7`2(i~i~yw%aOXmRD!%%2)<#7OPoN@( z6mfV7%2jTs?D$4DHLT3fqf2pKkW1j(6m@Irp>HO^8X*>E_EFfUC4sbyg4QRdaH=JR2B0>umsB@=mtPRu38wSF9CGp zS=$XL0Cd~-kWt_J%4)%Nq4nmHfB2m3$_jh~UhDt>@)Kl0kySfkj%^lBqEL0$pXamj zK?@t&)WQRWGPAP82mVxX4J0-KeCHdYojhN3IT%{X6-U^ z(5O5*%kYG5QTqcx2}t1r*cJfq?EoGcDhmU06JS%Eq`-oA<1FSl3kyDA|K*a*rO{2i zQhD8$z8qmd0{>%)v5h8%I4SoRpR~0y6N(eycwW^ACd==v&YV@!!DG!~AV^%k(ImEb z@BoPuau44=j6qu#e`Dq_f1V?2;|%CgNph+j7g%_C0q~%WI&n;R%c-0pQz!9A|y%V7hL;Z#;3Oj7CKzd@DJt=^yo8wHF<0Qg6`vFjD@wv2!L zf^i&m)z{U_9VA%)VM3)+fp8oJg!H;ljhUwrkWBvb%57y33EcKxm;=B;CpyS5WXqQI zgZolfE@-z0e5a`Bpl^Hs0P)!;2rvxdTdQ%S?9dtuIBMCke>_wj3%oPYX_;ke>&`{K z#EIiwo6M^m`Dc1rD9@0^|5y0Wr2`OPLEO0#bO^t*AprkIy$&0wPk8^8{R3RUb&_1@ z;VJVR%1u1_kH&8^wExjyqNnNnkcVzB1;M@t74KXiZe9GpwLTsKdET&WFDxj?#JO?z zKMKDv!Ud-SRzXUgGzH53VE!nGmYdO2x~^TU3bo~j%I2qB$XV6~aoB%Mlas)r`Idr< zJdL$6*&kDazV?y~0WknLv1tZ%W&4i;Zm5v7nt*~{2nH>n3IquaQ2O?HptgT<6YqJv zQdueMnQjj20GLuMAGL_?aJVyQqBYyAEJS7qnLprEo}raBE}M zRwRt3y=%7gka5e$_aX*lsk8}dh_i49q>+s(6|YAai2g^t@BC43IyGEC;s-7UXwlT! zki_TZB*>n=kv$440x_K(d}G8OP!ItBDokAig`N@)zM~KszqXe{;M$|Tmoq!}|HyL5 zG`kSw{}Uy7-+G^s;*YwvKUvlQ9^ve7(}J&H%9H*K7D^rLt<}jKm@g`ffY|#e{2{#c zSQJ5}z`g7PInxj9tGguEz(~*{$Bo0l|H+pvBm%ZJj=1)VpmS);MBrRBHn)fEL_yU2 z2|;(An_ou-2>t;lyDiIG>)r|e+K_94W1G9@TUY1*_~ted02n_8Zrj(giDi<3JYYbB zjv$%CpLqHo2I8}ll;vfWf7CNwe&Raq(NU$7#nd{NdgS^o2`c8`&yB3E7xl(V*@YI{3h! zsA}$ZTM`Hn*`%zMsXo_q2ZmT4!$Gac&2OP+XM$eA$HTA0+QA07x%Dlm;qA0BBU76JW90NB&2iLmv2L;LFw#kd&fODk`JKN*I;-CLSV3j@P zAV?qV9vKru!O?)f{D@Qie^q@6T+G}1|Cy#ji!4c@#gerYS)y&oc5P+PR+Fe~)fEY; z53b_cvZN3dZn7mrAvIU1l**P6O_U;(h)T=<{hZ1DegE@%-F#-|e9n2!v%a6_IiI=q znmkmFhM6!ytbymjn0t(f1sKD&GD80x9P;I%A;3z-gxUj7x?7dSHt0=IQO6+hawZ!V zyeMwd8bd)v_e%I&F8lnDu#qO4mTSru{huBK+A;R%TvfG~|H$>t*R7yF>fKm}o*sr{ zuw?Q6S6};%@z;>-B7E}Ajai?=o-E)SN8#VXEdwNP$jsE^M) zeay)m!%2N_5(|f)2`PGb+|JG8lU_l?DJWqItkMN+^ErC4w5)i)<~y)N>Q_)C^TjLy zO+R`94GNo=(5?&M@0GrsRUVyOT=jRtGw*+c*ZcmmfnoaL9+t49vG16sYpXuTr!N`8 zo;~S}J8pPFl|f$HAyo;7o-E9I9m`A|&wJtjVstaPX1dMhS$8q7WR^~me8t5^HF~4t zzoFzUI{bO#v~p<9GfUa^5dj9-+R+o*q}0qiaeZ)n$}F-diNoQS0#;q|_%?`a3)weL z01e3pKG)hWtTtZnYk2eBCQ#{ihF$zKc=Skc!~oN>~XW)2iSO5Ij25;obfFND*b#^8Nw&(3Z>r5Z+?yA&{p>sQy zspYpH9&qz>;4-t+2GK8`2Aw12WJ>W4ubkMBp6 zN-54{!7nl4U`b=3sYW<-@Gqs~_4NXBqlqy>_8N(B$ zl|29w!SX*Fyn95*)QhUtk8jJlIK7+Lr|kHZw(yCuG;`m%w^v&)_0($g+t~|ZVk<7j zlh;}8c1(E*>uY0wbvNFL08@H{xfVlJJP&u9p!xZ1>OPm->o_VRmoOj1vnLlvDu}e1 z?*t+*F17fXAMBmw9zQ^06&XX!Gq)o7;^hR)uxcV1(_NM`Grdt)7}SPC-m8%K#T#!_ zowm&|)#yj`D9xW^-{I9r_E+PB9iobF14&YBwb`yiAgfm_dpI-wqy44{$8)}&Z%gh` zstQs`56sUt#>+y>t--XeFhduwYhtHAvfRHE4v@I%+=^xE>OCLU{6J3TWpcLXcD-Bd z!o$xcn3@~P)Cn3gli?Q(#2vy084(pVa7q(slTl?EEJ6ua;d7r(W}DU=)R%3nabv+# zMV-X?<)>iV%D|^A0?CEd(}afWw`ku9-GRQpsTne-ntrw|0<@^TCM(Z8Ib5c07vpar7!8`S6aW3sm&?Qd03@`2??Mv>EtEM{cK6t#KD{k;d4Jt zX6Z+6t22#7qgGjVK}I(MB3}sQOW5~u2s1u*1J-Ssz9q?o?WX&WLEvLI=njoy^yZ|`D<~<5s4**>t_k^K?V=(M%3Sf&geT$ zNSEq=k#~m4Wt5%#c`~Je=x&ghjcQh}ul2Y;5mhm;Mmsfe}ST9!=-FlF|Ekw!5gDU=GTTMXb#{rYqQU zj)lzoFqvg9x_|30RpE7DQyDnM%-{;ys%aV$`4j{H;QAqqqk%28S3#AD{KG-#`eVOh znf?;8X`fX)f;m+dwt=2#}!&Qo$afU6y4myvfwYe7e%e!XY@Q-~Dj0jfqV-|+1e1T0a} z&o+|Y4#!egdVe_v2Fcnh5Vhpd+eJX2y4hTFO+A@xD>Tz*>i~(3%No~f;7+&N%OG}z zb8Uaog=v`0XKbK-Cc$a{v{iGJBAV88W46bJsmdRS?lEP91ba$=ssoo1EWnHWvC|%0 zOz$kt|7KjC!L$wXpWuVgOZW3US35#5he zkR2iS>OWRPk{7WCe@7oTIxs}qj#QEj7l^3V;!RHR`e(Fc;Pp&TJ+m?D#zR&woL^-3ZK*mEFczC|D#G zn@0|i%z9e=_GnB){s|}=!NTYPaNNSQ^J!nHdOi)w6&?>t;IOYpO_Uq2T6 zb?U~<2Z8Z;$$%OYlumhzst@9+OSVO!K$}S$KIKO01a}5+nW>YGm^mT=T(<=8g!rz* z$-ukJ5@O?AYh!HO^2)Q;?I1PEKY@JsgRfFT_F^W#*mzhLM?pyHiuIm^jbOW*9(J=- z@hn{PLOXi-ym2&{?5Hji+9lf{WXt;#qd#NUCxf54vBzsv$Zttj;$}k-3sk1d$iWmw zsz9NVUTF+rr()SoQN@oB*zG_U6LN$IMo24xI=BiGq-2t~M*V=KA9$>TN>m8x?B!Wo zmAL%47q)G59>%iThP70{6OLB88VeIX<%%V>4~rV-(vk>O5Iu5)lfhl1l6b~u#WDS! z(j;Z;atwjp$SxGUR+XrOWVMmL_t+<&;8UHp-NP~orc+!avdWdEEZOV6U(LP6AN0HZztjVK#AC{kCDiT@_jbtr1hqNpX+skh=Ghhhk0E?vCdqqrH6Rqw&WQp4gq zDBflC{>-NS%s!w4wB{%maaMhVinYhYQeXE^xN#!IFP{_S4{lUzWEbDMV_{+^k0T*d zL`S2!(8nXH)+~@@l<=yXQ#S|!@xz5r$% z*hvJP$~CuBm61EXzNB8A$v*#B<$cEYP7I5+T>megzpu!^xYrs6zNVUtNH}|5L@!H3rpTWg{S_p zA{L(|GWy!pQA3hsk+V;f*_Y}fmLvRI%fk!q z)&8u==3z!Cn_r{E%q0tGkFt%J61Wgn&uQAMmM)<*Ej$R*x3PGvtPiCB75y<1|Vf-bJ&1mH-{6ie71vg`c6h+#KUo)WjD zgD3)|Tq&6}8knu>&OAG5C0ACIXES?Y%K_cryv%EOKAr|Ut%*4g6&p76+#K_S|6)oZ z;@i`b;LRvId_4BvuLP+rusYr+#=!>T>7Jo(>>}s>Rjrz-Ej^$_-WrX9tZ?V(k7E*>=k>uH85fm?uvt+tJ14-j*S)x; z94Y~sv&>ccrv-1Z-*m3(-8}Eb$zm}R<`Dg?snlUF*WzVPFO`^&bG^G)Nt#J<&Ttf{ zErwBRYVgJSFt*0Ou}8%_RGzRKX5t`b_W_V)nK5 z#-Y^6m3+d6?0q70veXyzAKjUR9XL%0)R4&rNKn5Hlwl5+DVwpdTp7_5!EQA&0s=Xj zEV=Zne{!xe8(QXFeCv`SDwP!IqxXKCB|OmVQ8nx4rx7Y~*=?qhK{Z~Fo};8Y9#<)I zH(QKMbHJ73e)7-#c8W4DmDGlq-o+a#uSm`3MSyuVzeL>_CX_6 zDjNF5lp2;3i$*Wr)?XC)!{1t4#8NYh3%YhvM_5AFg$Ywe1VmF#zy&8exb8|PNf0
v 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 PE&Rv$>Eq(ZO1J($>@W8! literal 0 HcmV?d00001 diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_metallicRoughness.png b/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_metallicRoughness.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf6ccfee5a8dbc863fd684c349334e1ef54d7ca GIT binary patch literal 264619 zcmZ6yb9h|c`ae9eGf5gXZj8oktj2a4+iYw!&cuz)#%gSvjcwbWH|KZ056*jCYxbT$ zX6?E8S+{nWf}A)CA|4_D06>wH5LE&I;NQQ(1K=UwZ+v~CX74uydkM|&007j%e?Aa( zo=R2#XapTeQ6Uw#rIR+TGMhyg!kH%xt8?%1V(#0Rl?G>bLU%MOaZovyuBI|>HNx;T-~2E#AlCwH_j?& z&ws8i|0KYY98}zun{34`K885AgiOoA*)~XMdAV9D7d$#I+M0X7GH_+FkI_<4yd`#nl+t3HMx+(f}8T{!ZyP)Huho@D9XPXY7wQoFii8g*15 zH0bxmj56eIW#_ZAFrnyq@G}oDR~)Ve89KV9$i$4Oekk|rQEwOgnbtTqKhA%D|9+hk z7MeAesitsIA*Srh5!YMC!rp71&~frX`~5@Qq;OiO{R%e{|L<)M0!12p z4(&8{ZwL3m_;O!!5gZu^&Op`QJ>^269X1~0fpwuf8pI(y=znjiriuHWpn5KoCMV!S ze|m7xzRT>^@CYF@?l#ILhaGlu(R2L!i+Jb)(DYA7T$GzCzqL>LiNIgmdo4)o#@ooR z;J0?{(+N;OLl(|<{9C2y13+v*XJFpQ(A$UqNZ>y!{qvSWGxgfbpvZW1J}Ohs3xc8V z$d0ZoS=Sm_lmnd^gx`QgDMA1V{Qp~_Hu42j-+&uLP;${FE!gRsqR4xQ=?eEm*;<23 z9|oE_H35D+Fn^H&T@5omICLj^4WQ(EjZJ_!D29?D{P{s!tQYkH-i-ekU>E&SeLN7K z1RKC*AtL%;g5Iwya7yzu^S99X@m?!%UxItt2w3xSPO1kG=O8GFU^M_6T?;bbeEy~h z&L27wT^kI2>*21hdDG^WuF4=7~J_QEQc>ed3(KfqO)b~%P$nJ}0pfosG z&a>^JEVJPa{k(chqe;wbLNgZNumO!YF|SnrWf(rdO;E!GU_JUK5a|JEp@+&&^Kl@S zH6h#(hnc(e?(7lTN4$*bgaoXJ|FwZ6G>}9nyk|{h80z56kE|Poiu}@CFzT>VXU3@E zPX(g{FGm%ivlyRq5saKeg8P@SdJPmW_~I9Q*^?xT?t2G3W9GQjTNgu*b z++<(!^>0&Ip;PjP^cuYdxP;~%Vb4METg3Qw*tNKc_K16q{B#?A-|!)Ws%C;F_S`P> zACUvP@c=+FpuPw33b^U1@IW^p)IJ>=k?OP!KL!ejCZ67S|FI7eAZ}v3^o$wg_qQ0& zpoRoc_>+14ylTv@bRu^Y6#%_mf;xF{lc4)G9UJLx?#}dPxU_}O0Q=_e!T#XCEE;X# z#}0uNu^ADdK6`CvL(h1F-eDSz<76;W1Nz;7Tu`wAZVP)+|JooPJj4Al(}~FMtSuzU zvJu`8GMUa^c=bxq6?ZGg9|j;d5ll#fqUC0keq&&yIrM4WwvSNDwce z%?TrV=$)reMeh_20zFvn;oiOzqW{I#yHgyisO>`Bq=(B>07*{I^gDLLJVG8JkUhM~ zvy-oE9jw!5VwI1|pk%C}-dWWDUlyZhzEU#qK{s=MvP*;$^hhPS3-K&czsb2-F4ihJ zh08sHn1d*U;mR~Hf$-b5*yQjBk2;b6r3)^SX*0NbF(SdoYYtjLIMcbPqW?fe*gzQB zJtF-4yg$dsfQ7d5cLVS|sQ^KNS=;>nA{#A4teMBTA=X)UPb;Ehz=vq;cS#|8-J{A*zW;gt+uxXT26cEQSUSdvFT>{tS_C_lLF8CO zY`-SLoq%e$hoJazSDqF4Ibd=`YQO^=+`x8Jrthdx|9RLE?2msbnJSdc@%MN6xaEC_ z{5;PaxG$N|)mTI&>KhM>zH<iTV{w)GoarKK6X|ab;6zI%jGEjHS5%1r zM8v9XJuHA;BiQ|(arG_cfj8nIas$E*vPD$$In?zKDjk5}UA<`o!plB`*k3;2ppoC) z&)Dw;I5t|7+<`Fn^5UDie$mAj`F14Q<-gpRhrweH77I?1jGlw60toV7YF1x&`quno z(Qx7=6Tg1~^($`y_GP`3s3U-bLcJAn<#(Io>he42+3@)f5BwXMVg%dJMi73_?5;eE zX}Ayae^U@3G2SJ!eVxX4%lD3B19KQo^AMEvKX|9Hzz5tfGe%%yRYHCDMn3SxJC=!a zNgCty40rne4Y47R%21t|b1u5T4L2_UT>H5}_sd6sG{K`V7q49Gs~O?O04qN6mv?Ah zpu~j&|E)VB?CHTTHh~_1G{Og2pix&w>#htlC?jR5ooKut~!0^ zI+)#oUwSd`f&@@mHZ+)lPwoEA{Sz*aftCH|NV!Zte!ttF(M?31s17Ov`tLGB7<~PF zAF>X*A9<@qWm4aQfd#5LUqT;PVjU5QDssGC zv;oghSM8J+eHV+TxGY8~pOEgSENF;UEGvbsqh`2i6K7PQvf3`X5D&s~1oZOu? zohMD-Gb{aL`{L1$58`*HP?Hb8+;e|;wg63#%6CL)e;qjJP3m@lS-;6J5!TZm887?L z7jg#_MJ)7RWz8*Se_eLG|6>#UyJ2K)WOxa~Of&62{|B42x8_HM^E> z6r+Iz{goaXiM%VV7Zgd zJFX^NaOS5>cl>Z3Y>rTV&J33=8_wyI>0&W4zVBx0SGFA+8H67C7>Nk6JFBkkoPDH=_nQ^*cC4_{da%|FXoX+v{b^3e+pUrgzTZ$^{KVHd zfr#8GZzqn|!LOuJB1BRsCv=yx_dr2Znj_E! zzwulkraLX2u0G9Z0`y1HSpMalQ%0m2tpz}UH~RYXAQV>#cV~QVCQhfdcsW+|<$0J_ z(%JseV`qK}S}bbD&jNG>XWQ0RR9^%ohW`bZjdu+2q=`fvYwKxRQiOrl|-7F zm)*9wj4~>Yv)vM3j8$AEc;z};jr!unN`x3T&5w%n6fwH9DDh%K^-U+|;f z8&K;!2<2K{$Y9jxOw#ZXkGa(=P53nbe3M2_f>m455aI1ARSj}k>{wmY>ngba6eWq| zk6?^=2ud={YnXvDMa+ldGpoR|@;}{Dz8YWih%|HVmQsF;)puXpsd`! zD}Y6|Va3~IH zWg{ncb@w{V+w7c1CA%F+U-5?)P(|@P@o%moWwCaPo&dwFVDu+|i?eJ-Zes0a&eAP} zN)o7dt8b(yH208<-Ce!R6vOw(C7>+X#Q$#glB`8>5<6mK&CMUUh8`A&rN6 zYcllJdXxEVY9B*K8j@=$Cd928^ooZq8}<{LGN<$2ZQ3#3VwSq#GymS2iTa7JCnbRr z>Vd>CFyD=$d4;)kccr%QBn01)Z&9N|YDXL~U>TbzG_(6wgKattl|zj0NMuRf+-z04 zR-c6SYx@*A>?LeP2Qve<_{$x+xO?Rv#Fq}(@kb)Lzk-Wu*HKRJk(?zY@pq!mapvPf zRu4ALxhxfV3Rsw*=^%~T-O%UV&$K=^Dp1YM!Xin;lww3Zo{NRyIQtBlzoTHYvase8 zs!2>ZHE^rf3tHt6Yna(I*tZI3@^h>eXFvTU=SB|N_aKuxjVeh}s-m4D=#{e;$s+uG zr`PW!eJ2EY#?#-i|Afb=3tgjAAu`3zt_GIkNpQDDP4U1+(7lVqeha&5U(}FZR_Eha zIYu57D)9I2ly$VMtjP>kg^^e~{@OYW0n)DSXK3mf<0Fz9v9!&f%_>Wjb~cwi=xbExaWaZ->1@%=Ph`+nYb zDoD_#0zq~44i%jTA;7X1)>OnQz9F7lQe{49TZ%mZTX!Zl zHTd6tXba8OWwJ!!^JE&)XMy56C7IPynPZC|^1sA#SP7cATqW#&2xHNVw(yJ?^*sJ1 zY4x4<%KLXp_&>+3Xyju(jvKN&ApW4qW(8^vZbK|KNoF`#Utq-Yw~1FNbd>*;S;C%1 z9u0&d^8-y|LRyQy=3wxo0-1dyJv+mtQ6dfw<6eWJ=^qM))hI_J(>^AX3YIXe$LjkU z-56`*(3KXmi59SZH;Z%(Zn{Va~%bR6ub z{`yl`dsu@98KyOL`8XxLA9jgeg``VtduhS)mg4;Ispxg{6aMZ^Xsk{+flmdOl6#Q0 zb%2G$>%OVwU}C9}e1sD*yIOEjo+nKFLuC9uqnr_Z2FX#jRzH8)A_4f@4x7wg0pbfr1tWAg2DKldO`?Fzvwvik^FMV+=N5NNrz4vF8)DVH(uftE?5#J zaj$&2BeKNn*q)UAN5^lYvF^dxp@s0o>|Tl4ke{VcA`>Z2$z?8!r=CAb`&lhELvzm2 z-S|wXck?rGQ*j+?Ez$N%i)$b_%hM{#pu9|!vc$O#JAMBZ3&Qn!nW=MsA@0m)0WALl zH1PxIx1LICUGd%&hRi#e1{IyxcPDB$4Yas3XI_nYNIYsisxr3M{w&>kQ~hLD6G@FO zBpX~9W%SKz-7HNOwOFHr%S3Q(D^)lV#8 zWZOoHq2J=4{;oZ7aqYFVEjrvdWP~ShgG{sB2X{l*N&rNzCo?cFY7y&uftvCSI8wQ zfwUa%XR4H;mSoXVtcQi$x_s6w$4K|RZ+S++CqFhb^0x(4LlI0JZR?}(*6E83QL!WX z_g43c6B0k@`Y8P@%I%sIuMxIQjf!GlV2@)NEfR`}sC~6w43i|lVu)xb?RpDp?2Uj9 z`k=%-taRewaxT4g%8}NL?|Q3S4e{(t`@cCp!Zo4ZdA|3%Rv%jo-r#3qs<+tU)&ERO zQ4GewkMvk}Ui?~Stt*V+x{I_BCXSsWc0{5PmejPSUD3ye#XhU=lz`F8t6|n z%Pu?#!q8I)B)yv|p}C*L#2Iw(KCStq$}yCGf_+MtWxF9z{7(+;+2?hi#QTX@a80gl zzT`1!S4O#OMq2RPH2Q{d;%IRM8BIQZm1RDbL3R-q)C5@kmSy%F_TxcF``afBVmq&b ztql)LKqI?A?PDUxcbbi`EKv}Syf*cKJRYA9-rHHm3%t*T0hWT}}rS@wZDZ~Zj(ENPm@A_%` zyJl6+74GGF3I^r#5)4VEynIcpY~T4~0vMY)szIT(IB5Ru-~!=4ebaL23fD!qFr}%T z1xA8MNO}EBgD#H{_|`5wp8-riUj@QC!BY%v5aSQD|HKMRN}MQ7>6s#E zdE(9j`-h>EP-)Y>rGWXcW`Ou%;@3Y`kk{pYI(mzI`tc)i+mxjcqdrk%lc>u93y5Cfa_ z=lAGiJo~=n zZ=_>LWd)65;J@-Ah0ZSrjEk`L`uu(kF#t2qjq|EGooj8?c zoC4M94EGjMw8Z+_0-|oqu?igM?!Pgnx}_k(*F=zK&*y1YM>{yQ1)n9BjIEB{rD^GX za)jDx+@I&kh8#zzIH*NDehdR-j z*IW+@b?7bnTQYCtANkB!QC3quZrjzjKNVZUdG74a3>Mln>S+SxwF!6?+VeEH7EcjP zg{8@Q<%Vwj05(=+V=33Vz+RIlh2g3(MFG+0>|4X(g|d;$xFoI+Nm&l9rUX-6^bI8! z8qlGk%{H<`OBL2sa?~5_0Oo`Izj_p*%lxz2?i6tTyWkS$@?;u4UGK}d0*ktUY?twVK7 zeL0)m3DjGQd_*B4<2<_47$-%(m)9fcd1>z2GH?E;LMo)g*dTouk4K!n-E=wb{vA)J z;&_|>SLxA@pKKkG`TeHc#AISW4y_$>=Sug|ebTZ-FZ%--hm&xmgm1eZPL*nKTxVG3 zcw#Do9BqPMP?2jEMja`4q}P_3yQ>#(Ff@N8gP}Y+>#W4=1&=9^JNXtY>WN8ceGRL` z{Au|_wdYfQW`48>7W+L!n5wuj)>>Myv>?yTcl*lsN{JF_3f{5%aIkItAN^Xx!H|#} zQ0VeE=2l;k&4KAxR#q_G)#{!iMXiR?<)(FwITO;rHO0Czu}qv}&BUbxr6!_%uL`Q%L4-%oY-NUCOkR-JB#s`{b2d$L97G zxZx{pL9b0h%)hs5rd(q~s|E?#umiSGA_`fvUvf|R*u9ihYUe>Ga$|00w@%^OJ|Fzy zcO>6wro8YTLCs7}BYD@JOCG~XC4xXPNEaCtr$ zo@M0!(UHL#A>n)p8u3YkakWeP%nq*PFI#IMZx2fC#>e{%fq<>!OcOSO!M6A1NvcD1 zl};onC-OFDH7M`Elifmz1EsWtN;~e^{T4eObfEb~X~?VdHbY#lkPVwSTT83^J!7W2 z{ihbMluUf4c7Fh+P^nwNfrVdIRy)$isAjN%_0>>hgKRcK=_zk|*R>~|Ucj&*Ui{G0 zCT`@w{!?VQcJws#l6Y0~Zd7UePXj9Tsbd=RCh5(ltr@JgxX2~gQS)Ij7IDQgZwg!t z6K4qmiRC+}Pt<5_bZrl?D>9+H){mn<+{}~(@>bihIk-Ui0s3_tC=0S2;29q`Gt0I{xCd0d49@(pnwiZ(a(V(%qyR?*f zEP(S+{zo7I$;3Cd_q$M`xo_+wjKdNl_^EBwTd`(6=VEZ@D(09w8#lUhuoBE75X$^2 z0SmskMZz~T@ZG<}Q(%&w>^`g?scxL);ICXvhbMk>^UC6=)T}d`VTUAJWmq#l#+h?{ zmK~k>D*melw&p7n0@@kYoshF^9nh9G81)0>Br?=`)0KP&3vK{=P_m>-<+L?0CoA}S zog%B?xdj`uwwn2zV#9S+tc|jBCEjgq|CPM%mP+(zd678&@X%=fc+lC0fB@oe2dFuk z=DqCOparmE&}%;yUaHR2$!zD57{0h|q7Aj(?-eDS9&c<1TOslqbR!dR~LQ`anl zgJ*W_pmC3p;wtk%b@lB0vIQFGi#=|df*jDzLrOI_@o-K=4BWgCg=PHawJ)c80T(#7s zLDBTW97=ZF_1LuAb8je7Bo|qV{}d*uq8|BHuG_r;7u~|OR9scqchwGc6>-rN2Jzxr zJIqpenRu`POMv1br%)PRrbFvpO!fk zmM-&MV80chKcAe&+_}((@xU>)-Pea`;kKTJVfNHpRUw&|$w5`#liQznH4^kn3l0&+ zz8Pv9_N$9oO*iL)?{di7BW^zq;wqw6^4b|$3F>38s}Y31eWdu__^Pc2a9Jk!`lPN! z8{ETpEUhMe$yA3^*tUlb`|qUC4J~$BYU4?dwG@d}sT5 zS9+TkJRVk}@BSy1M z|B0lD2=?yXulXJUv}>*0;G%#c+;Y_gE~C;W$}M;gdPG3uz)7gmOq6iT;-6p_`K!4) zCcJvyZ_V{t!D#X)xr(;x>cs#&w$FyXxSy*{e5RQEgK zx9E@4=~Ohjcr3`Ia%;3M^M|n2VEhNbOiNIjxnY~0Vnbu@^_jK27PSK5KJuZHNFoi) z5c#ma`50+LNgKe)*ixZ|w2Ta=j zZfkV5$}Hu{_TRyw2X@-^&88y#RN*1cCW54VDH7OTzmFWjwDwtwfqelv^|0Xxe-beT zUXG$nDYt+sGAYn}@lbOuhD4ldZ;PXF`j7W6O-n8UDw0G;ItEU~nW7AX2O9dgyBUyB z47%m|7N*ytH5`^#2rHiypbp(CzH1mDqnr?bVv97*;TL&;15tbqgLdrA)=fr}WGlU?QUYAGZkXe|bx* z0ul?NJ}7Wv&d_5nZk!lnrLOm1pnLGP`32NX3K zGSc9=tO;4X?%M&;XiAX+)Fic1+6a#1Bng$JqjS5_94A^$3cIQ@X%a$^bF3^ec8>)x zeoaxfDyVo_aSYU|Ga-7&I9&!enSEQZ{bZ=d-8|bsu11evo>ew509!KeuOH3INf_CbvGkg~W~zv%i=cFA+-PU1 zkb&zz9)}sN>_JHDnHd?a7E@*pm(22h$|GV}kJ1zG0{^|$H|#DG?j zhcc3Nt+?i0JM#c#d);hFglEZWZLjg;5U}iwaa6l+6c6=} zVa+A}NDQDIYrNv3B-*QZnkw;!*MTb7I%GcL*^GmKl?m7RTr)W!RyX>ppp)Z&{oIf` z((EI+dnmcKF`l{>JEc2qssjOvAXrh~04pkjIXf4Pyiq#nDMyj|YRx*4-=`;Aq0rOU z4VmF=9bVhGd?EOHUXC9g8jfXp*?soJFUIY*8NKllU!>2sS0g9JV%B=bU@q8O)p)bE zJ^UZ{nZO(sSeh5K+ftV*7v!7Tmr@Q40Q*M@Z7{hhn2dp6^vOpX%v}Li^m^ESsL&g@ z73kC=-r5CjFEVcJwZww?v6C9#bX%WLyb`J!yLZ1Z*g3os;Bdwyxn_3Av+DZ7Ja~Vu z$mVQp?_+05Gl=~pIOlPC-21rx%XTYq3Gc*k3$BX*7b8iuhHL+0;(sS8lKmF-9%Az> zr1O7GUgr{E3Dudnp;uXNwR!cV?~@I;hu4*n9>l9xDF*a}m1EF2T=%l^lish6TflkR zBHTLBmlQTLm)ivA5_W6zD~8u)lA@L#?Q1F^)`&})JP(&*$a`KIi+JQa8w0tS@D=)- zjOM<2{qkTP$Phr9;5vD6r#R4^M^PB6I?$M1EM6l-S<$IE{6#oBx3MH*A+;mu?^j}ZI@qFJ^Qz^}7-aEhxA&l;jf~d_hcmQOdavrKiA*a>x1?h#@3OlZ5wltM&?iNnxj=KxutJ0ZfBZ+m=kTf*iK)Jwcq$j}Q z%NLu$b*0xAi1sD-6x~kZOOJJNEqgAfW|p9=my+S~YN4=2ZkJAx+{lQl9{zAtj9W)6 zmF9!V#`h5q*T!N`DWSfZuZ%+$y3on13CUb<)$`Qzt5DV9y7UH^SslV%g?A71(Mo5x zlpeFP;$ocMl+odt;xm6p!sQKF>#fd1cTuBTPy~$Weka!WT9;?igZ-x2=*z0KHXXFv zE7r?IM`Xt{(nDtD#@4%CbbJp4zhbSud8dQXN88~TJN)PE$lAo(yZg>JPB7H%>@T5{ zvNp=IdQvu|-Yrbq=<+KsnEmrwcN*~k@te_P<(9fHk)!{9rG2&F8~l}3GDPzBH-|^q zYy2HX5x?{tJCg9U^WIa|LDqbn$&Z+W;n2Uh8I6@#t|$ogaAWV_9#)!T|=fAP)9f68T?)9J7$&1d*oEJ4hrQ<|;IlIOEW$Ln; zH#jk#boca;HO4<$O^1)pEr!u!T0`;YNpPfFs$6cJjoghWUI>Aj(LKh46IWJ}@uc#` z>B3MxzHAPQ+S82LNPki|+p#!jz@WEz-nh8BgNli|A^M{WVuGBzSD2?#gmZ|XE>Nh; zAPnYUg?4yW<8!2o@^9Exo_apEdWk?(thJJ9nB!9VQ6htp)1B-mkGk6)IvoFJg%^Q0 z&~~f@VAbuKpp*W>^r7A1(?j=iBQyhp{T<@twS?Y)jD2iO=Jts)xjrhdESE3Pcl-X# zbR@b11im)Ou!)Z-pzrj(VAu-)Z?pT{;vv3_2!PJto*TXVZ#Znh(5AjHtQ+)A%Ney> zE-5HqdcO9bCfUE*th{~TdWK1dxI$%U_m5`X3()Gb>Z{vIL((>B9pu8%rdQVgpt~yU zC%rL?V-KN?gw1GwjrfHO0ei`@^-)Y7;EXJ6OjlOPoWwW_srZWoLNg;(H=xB>_qOaf zA6#Ub^6?pLtm~cUxP=Kr`d`n*3+c}L4$uz=b}Hq%Q?qrvY_)FdCMr#MJ0Xu2x6_8> z7T}O@{U$N>EI8zdDa_?djq(T4`PLt^Wotq&WS%LFhDj*&&D`+@ykXi!=7#NG>Cw3D zyj9fxlrH#^M3hj?{K4pB30M};`E}~FnN+mhc&{8kxomHER^Mh15Q;6mtdS%63grgV zsVNJ+s&P|H4FNc@JeBt+M5^YxhH5;B{q^S+AfBItlmN?y8Q&7 zFt&7u)t~w9u(JxZJCWUb5Uca+-=rIRy3 zM|RuM8|VsH>1{#wOX_MFbLAaKqjGyi2WaoKgx~9BZX@ALYH7nyf1JMGK54kzp?O<6 zU-7;a@B#WBZeL{BhxxvKX*Y}Nc(4IH6rcAe`C@)CdK;0*T46umve{8@RBTn@MNi*8 zJNw=><{4v^udV?=9EGW5VSpw!(>7fJ=soXWUhz~v=*6~&6(LAo4AI*HR9l|_5nskD zF7{xqAUTo9H`FrXKHWLXrJet#K^xPHcsXF1)lZSp*NKAsoIX>bZ3;9ukD8=nN0^wH zIv>;N;9#?cUj_Vk1op=>w|gWi;N}saZKyM5z^}x6P|RH_LXo9NIcWJH`Vuix)krR_ zd83rdCWUA_MR|Zffl*vjpQRJHG|2EV-;~-$!Zci!umn!LHbmN#N(rl>NcR51Gz8zF zTWBY@GvUmei?T>VQ~J&qHXX&tI*H~K@w4Cg4SD_Qqdtj-4BsZ|1Ivt;(2Yv)7mrAznMQY)tFxKj zenrGW&^X^;T#0!~$x;z~&w!BXjgPb!T3lf7Q4Cw(XIrH9?>`R-?cVU*AoCmSeGtYP zl}7!WHk6p*O!pgGJ5RB&)!kAY^4wA`PX$6BD>rWGMeW~Ayq;RnHts&^dK0}v_6tnK zxPvF?SZfrsA)MSbT=2LXaNNJ2jpv?sTUlv>Mi$0wzutb8ke0K5g zNcR-T6I;T#Na%A>m$R%1>~a^t2dz1TKcb?3@<*Y5qM_#g_C^CYRft>qk%T$Sw6sG^ zSO)99#Gwv=`y|umW3B=<$Im$wxc@}QF$wC{jp{4vM6quteXR`t$)iUv2-9wKVr_Q~ zAeR$de4AP+n2GUYG#j+q_=?_}n8R00gdVJltz61 zP8Lgdb<0uqq1hV{%Km4v%$-3O79)Vp$ovM)SVd*R%GpyYL>n_p>&XG9zeHVkvwt~2 z#{sEQ_}zQ`udsx}$3{w^a=wUo%%uFbNFt*8j~_b$oRq+G*lj!m5zF?}Fv&=37}~UN zgE0I8J$*1YcoP_V0j?AF^__YzcdN7QH_&=5$gc4dIvetDOw$eaj|dFVq>V$#2ms?g z{CAjj7lvhE%`9yB8tYFb&pguD+-K>DV9O5! znM>P?{2sPn-zS->W;wngnwx*mELCsRmGw?NB4xFs^WSf)(vmbQWkQ|} z;w-fN3ipxrnQ8*=a~Eo|8W9pQr?L%YMUJMadx)KEQ4ri7AX)0Q0nSOq>?CaCdHe#H zvH9|a-z^aM!RL^|wjBw40^A(w_|YoZ-0OR3V^&IgNwwZ}?R1~nT88A<)I8$I;}d)7 z*}w(Y&Nk4(I=UXz+JB1NVCOdhLA)te{lHS;i^KSVU()Rr52=sc9#)$!Zexh2v9+&( zzpq?)ZGg&5qgB)gW(aCTf!`+%iw2lqG??TU<;i@CUF8B8JUX^Iwl^zG#1q1qOqF4xR(?` z9Hf&>ca^D@)v{bxi(8O+qI4B-eDsSI`E`_7SssUPO4sL$eA+Wj<_P1pF{ITL@8!Gg z#za=x(yoHZ&S>-oXlQ>jSBl_B`!v=~RsUhh;NiXB`3pr~J>(9h?HEh1)Oj3W0f;eHnvfKm~BG*;2S zQD2+k^phY4OY-8UK$PC|an09n+8?*p>H?VOoT6-u zrsLP%FzJ7Zc)0nv_QHR$XS-TrmSsi<=LdO6;DIzo#uzWnuvQ-Ub6N+}w_JxZ87ksq zO!mjPoJZS~3H62)1Z;!|nCz@D%p7^sT2^M)qc@4a)H((Fe@U*LkqSIcPh+dpJ#o*4 z??((`B(jg>Yv|slPDZ_$Pd&7m>Yxb7Oo^!8E6hYv#$9;RuI=NC9#BODwRDoOqw~cS zdGd_5He{dIck{G9osgNxRfAC9xlDAV0$pb#WJVcTj0YM(hDo`2G|1vu+BL^>>KQRg|H_3 zP>0`|c44;OGogoib|u-r-t=(g+}V*n~=VYbCQ6nQz5PM=`z=+?^G z*!D%#dzQbLvlI3Ox&h@`Dp+;BaZDM{VV}Om`oAE`>urivO->l@7id@;BF7s`;E7Hz zH2h(EQGJyv_Q5)1&k-0=fC;XCkvuCQHpAo=M#yz-f;s(4y=-GS-F9c^zpNVLpYdtr zNQ(9Uj^OAI;#m-AvFty8ht7VG5E1iv-L!+67h%{SaMO)Ja{oo5GK6U1pkH<4Z-O${ zEfledUNH>oSLC3LML$TS`DY_e42qSmpM$gb$1mNK;{}Dvd&ZEt`|8(=_a>_FI{(BtaQ9D-1t$CIsRNrWD@s1TO@3Cp!}yza44PsrPlv_ruRN zM^_5*PaRZuzN_PvP=Ij&glz~vpiG+(um;d$!i+-w_CGWZFR4rQ2lm`jG z=yjA*9uha)tv)b9H?Wbu9bWL5*%(&CFINoF|6SveR~X^O!jEyV*K(w*mL}0^Nqq4F zo%d(Kxub5s)dTf>zVmiC)u8V8I=$|vB}(aryHh?U`RhYU2q&>uPFN4qIk|kRd1c=E zgaTnjmp7`+O<)kf(jUKHuK2 zycA*eGV(tc7|`?f&w7LOxx;^G$lSiu>w5Mj)B`I&%z_DOJHi-Wkon#H<*^_3kP+OZ z{qT7|j6xGLTyTp(C&^#3i0BC=$!dGu?WB@C%Kb3QQ6MQ7e%ATk_S!NjLn1imzqcRv zl%yIPXHu}$lH0`@qqRYam5d_zUtRy!qm}Q00DK4rekYJ(_D)v=gO{YHsZu6e zC(^cit#7|mBy`{^UE?A7av~1xQT7CoObG=~vtb~8{MrX~Lik;qvoXhcJG@*=F{l_h zNZMgoOu0Z7w3t_eCsvF;P(o-a{jAeyWZi9$n9n1i<5QCA=B@#?QExv&uRib?j@SsB z32`1-ZE@_J%A0b&ItQpa#`LD89>D{AVIoZ;=!YMXaoi#e zH^Ac;_-=4~>u2uTGeT+?F-pjm65hc;<_1;fmP_#na5QPr4NTDf82>Qs8@}!V%6i2F zyaky(!T^i`Gnmf{w;~7Aq)2 zRu`yQ1(AlaLM^X;SUheGs(KZ(E_A^h7Eyq7`pwL@h!u^pgqtRYu2^w!)cbkbdDj9fl1|xG7g*P*JxSIuKcAC5}zQYcf$7eX?EmBSV2-F ztzuCTwn^=N_~J>V|Yf(S}6iC0t_DsrF~xcoptt1PRc zZ~{#HGS(5I*YyTKzx_sEoAM~A+gje9ygqwE(bJaovvu{F8DrZlZgSF!hmy+%i@%t=v&>bJG| zur{w8izce#gmgSR-5dAS=qgQgIQ-x9mp(5){T|MD9lD! zmUn1|FOgM=uT9t#yLd#A89VqwPz{;vc?opD@&0oEuu>3yvmb0bC^>fgiA)TfuS^8K z_+zJ1q6>xC`0Aci;~))v{|qPzsIDPX-ox8>Y$=ww4t;++$x;FPli%WV96G+D{B}ib zQet3JQD$LB8lvB3`?d#-$IY;#!X8fFcY37c38eDVTXr0}j2Prrq;$AbC!OTQZ*x-@*4F8!@m4s4F4tP|KsW#*fZU>W#f)*+eycE(y?vZ&KKLZjgD>Gw#_e2 zcic&C@8|5b&b{|9yl>4>bJVC&6Yft-`pW{`pFb3Se{eqEv4#rLAVBkSj%s2y@b|o2 zB+90MWrBC;m4N#pz#CZI?r4?HKHmIVyH{itJW2_-bI|s-8l<9-YXY?kNJ*iNJpqO* zqa;i^9Qi=3h`HhqFlTpoH_^~W372Y@uTs2#{}Ck5{nMBI&&0H|dXfdBYy(X7X$KK0R8UV_)C&gB>!(x@iPpmxM zWU^}D5Wn}RW1|IH^1+wRW7&erWtzs?PK)nN@nPue!p$oo`0S14j7;~TUa%$mM;u*i z)dlLGHN-lgm^aC#gQ6xz>r`L`?*IpHA zDkuZp$;|1Y>qsb#zc=k=v=qEzTi*NKLz!+z-;Dwlv)DH*Le@$dWuhA*&N5x zX2$hd49q~Co80Bu?3@+Tx@{}nKq4Bn>of%Ts$)`XlK`hxPxN#-{`+<_ccxjo=|Xek z0_6C8;03}T{@Wg*^1waz@l-~|Cv_WI%pbUZ)mhj6zhV4dVe8nJi*i7}7Q6v4-93I* zx>CnqD+*4G88DxH*>mIfO(AR1o&LM|2RhMRI@1AvFIyTg3VUOhL;*eoudo_*_isAw zlk;ZmJKT+jwt;vfwoo%32TxMK*^NC$@b7L`Gzuw>XN&Fc>V_LFifGQ!ZEc(zgj0Kc zTJ!&~Dg7Slqe8yCiJKkMTib`VD)?r?WvEj%kn&k~&I_adKFcdwPqwe$1Z?FQj>Xg7Rq9q2?Dn>j#Z}3Rd=9WDtNn|M-}4%saQ9lBAnU?vky9So({OzBl+j=h%F&u&<{d zRpb}}ZIJ$lc0MWhocc9~d*Le{&6zE&fBHA9_5SQ*k@SxVMo|fdm%M!73Eg6UZJDj? zZS2TgAG$vh_Hup`nu{arm%WL?DT#apR8i;8a5NJBlK;1J@$=`)gb$FGHGmWLhe7;v ziMB~qWt=@__+|5*)Bz{J2cf%d5@g=oQ!{;So_JA9PD{kw3GwCNoPC4A`2#v*`Aj*|nymXV*0muJ*gJ!P}^clC7I1g+?yPwiPc zA&&LJlZszP@ZEsjdxCBU-i6qdKII)`Xr~N&6aD&NBeNW*mS$<6H7z31-i8bh@~XHP zJ@ERqyt4%&=>1xU7*PgGA(Y4|7o41v>1m*F|=^5j1E4raGvO<@GIZ zG!MZfi-~WAO@Apl^0vwvJR+T^UI5#Y7-*e~Fp(41tcA|}Z4Pb@Ca`QCxmy;JThfr_ zuwFNPdXSl!##l4JL{uTcZPTkjkD>Zx=S)v<(_V;V7!U4 ztua1yX+xw+ezhP2Nu9HuN>$ec4FzRhX`0gb#OwOqH#^JeqYfGjXk_hBun*djxwA43 zU&VoPAB9g`OM8XMBR@i@m$b=!w?Xy2Mbg;D;G&Rf>2>q0IpWD|%gPF)uR9JY<8Na+ zwBHp<;q|~B0e(bS;m`ZA+%#8PgL(UWx9GcE@>jR50aK`w4s&Q_`D5yNkB)s!H_`>y z{etUvrc%Of?r@W2jv2)!sxO2N!iGipW6VGm@eb31x9R@WD%QuEXMxk3(IcJ^qgThc zg6GAQ>+sSOfDm90@;`Yu;lZy`t(%R<2(+O6IF8`-0Zl6xAFFqeHdY0{4j9-RnfgsE z8Y?U^rj-OCt^1Ug?Vg$gik^=5Qx?yKnDt?wn~zA{(5iXs{J1yqoD)3T(b~q+j0`%9 z-Q#FyIiog>s=2JaF(2V|*_Kw@vabgP8z$Z zz=ViDH3Fw)sqKvni_Lr))O+}POZtoIhOs0 z!gu7ktpOA$)BbCx>yy-Gd9ij$fH;WZ7PVdaySCm~!QbBx|LC-PMrJF(oe75-s)2H~ zHPcaWbZ^q%H*U~Tci(~K_I|k0I@-VH$^KInj10gZE#yl}DMJLYe$wBIaLJhMI)KCN z8&lxBvZ6mLR2|JQ-0e;>kPh9I;z!e_{1)ao2_i%NNq*TxV|>Lzun6B{tEdOOH&Zh+ z*~smmvR{~^$_vT*BBASgs`o<((maCR&TB-r_vR>zEZ)r6>@K_US05kVyR{0$A4*!L z)NA}@@1Qv-RaHQO0P$VPFy(pe`c0h&KC5ci+!FIpzDpdN-j@a~< z4}B^f>;@~xg};Sk*(=jBPC8<4z?}95RkmTWx$|_67D|^bi1>WRs5?*Xk_o!Q0-c4p zrSh?3zU$-gskP4gF}9n}ese52)MP<4r_by1{L~izj1~p<-x!!rBf4DeWV{B!6&*lk zUN=0Q4%7+5NozWlCqw1aPOZH9L;{&LHbOd}GU}Tl;IPqi$y4)IBWyUTG@or;5E<=# zj~Wtxf_Qx>Ack2typT(x;}jtW^W)%Gw%h`t7WR&RpPO{4ho1%yp@i|QUTZ;^MEs4W z+MAmw!DD@s>XYrq4Z+QW6D0LhCyFM!k4A_E+s?q`h1keY&AJk~zrlvfg$=xMVrivq z7=$v%iprK+#mpZNjiVye#HCY>B5O{w;3dUYYR`E3Q%3jYMvLm|?C!q~{{@eaXhtn= zof9}pL#UiOV4BUqrvbPFQV$t+n#_*{ne$o|xhsscw=clqU+?aR28)66$_|E5?gtx& zLq;qdDfI4K1I~8?t!vt;s@pO(hJ3uHpzZKnDxZ{GHRAg!tBY$#hE^SC{2%=Yhp@+s zJ`}Z`+CB3S5WRs5cE0a5$s7L+y26(dK~R6SGU%tEf!#dV?T^qtec8I@{vs{*ocI)c zp4E=UvT;qhQW5nb7GP4f`o;*Vq=#t&T)_p5^oSa_GN~>q;c;g-xR3` z(5q-KrZvsWd7}!y=#S)-HGp#jEwvAWX>kzzoS6WkD?}nn^#EyfVX@!yRZ%>eh9I4r z&2b1ep||#`m>ZRT7`!v*E>^8RRt?0mG1X68BG`?tODCghcV$);9pa+Lwxy>U$!7yn z50vIFo0!*vc!xc)i>gi)7Kk@dpBH?}t&^(-`F?S1j4;`2%MrYX&D61=G6qZ;y#}^q zn`%+*(>MxLGgJ$^d9|HIf*)~J_&=8xWy#O4BIZros68ESv$y~FtsYrupaT1M%Sx~t z8htv=4s$@{R^Zi3sSPwQo~cr5Nh^*5Lm*&WXCA;jHPjZjh@1;oyByDrJwp;5^CiD4 z`fvZVI+mgW%ZV2MvlS)ciN5*Iw97t)Bb;tF=Ng_+z|a0|G|+yg`Q0!dO0*zt0&eF& zi{HZ{93lwCnpG#l&5Ms>DEG7*B`boVZTxMg?)f>OhHG$lzDC3q;`|zaRtNQn#M{ST zf;wlL_FYZ}9KTE|=d@L2nq1UB4W^5z^}G3M5iq3NZM^aIV>162Q%u2C6(5_#%274K4l77MMS{jX#AUQD_?-H1W-5K# zitli?EzWSDqSDv*G6N(3?zhoWAZZjA`ZTew~4Rbo##eQqZLclyKafgeVzt9w1GbCcw3z(!(5 zwW6)-)a&POouK~>a1#2hkS{4icfId6-8)=_#_{H?b^7dvqL!i|$oKv5g%;NEVC2$B z60;rO>9Lbube00AceIlYmuHO!ozmSGs#HXTWs@Go;3&x>M&U|ZVW;yL`pso8Ni5M7 z;C3gY@4ak7RPx&0x?2HZAf|}lLOvorS?x3yg)+Vb)3VGwU)(ov!vgbUs#IJCtlirC z9E%9WlM;@oKaC1UTncVYj9}{`s>jX-Z^F3E>Fa)n;JL8Lc7STtQ zOA}=ut?08#p_1xajR6zJSgVK|XQd^nAR;2GO&X?Jg?Ee@6j_&V;2L2OKRvydfHB#P z(Y#&zZzqLt!2y#pS%j;d>ZtX2qZ&C93#|VUPh>~Ub8lz5NVxeGG_d*KqJf0?^9Y0* zNzV+?;ejifP4!jGNnG3i8Nm^5Isk6pM^b1VPCIEiOkuO_b@C%2N>oYfeQm}`oyG~q15ssk4;(LZ~$R0Ga{J}x5aZ|47p{Bn~ikV*2?Buu`hLh zzSab;lE+pjKz9#1X>0!gvtR*e!n)&MQ$_v~+Fvb8IBi3Nwge{ELlSM#daI=2~3 zu}>%({zL;H6mvpq{K>Ju^kdUHA-L(3;ZwxB6i6V!(xD`Q!;vzbTzMV0bvNyXYRM0v-t&E(*jsiM<>9VmV)^1(Zfjso8Gu zb441oW{d8x8r{Z$CgbD@G+u9;Yplg;(R!iO8Q@HB0;`DM?D-m34jra3w`7uweln}~ zen(mXe@iTje;NG|pr`Cs_oH&>os?L`-R(OJq1;jZ?**0^ymuM$G^9q|4!RHuP_5h5 zh0u){ab8-~AeXf|*QP+rS{pla!Dh(ccvHwbL+Ft2ZCyo6Hp-bn)F-95V=OcF=8WZ( zLvxI#ZC7G$&yU#?#wy8=3H5?RLQ)@n>*uh~sEpvl{A1uJJb3d^m{2N&{ya7Lg!P04f_75$duaUR4wG0eJ zyr~twvpAd}N1V{+04zVbqzVkys0C}}cNZ09CO*7)>63``15j4xd3xAbAo zCgH|Sas@no`aJA45-OczvK-gY*57xtXBH+A3$E+7ce?H((y|E^k)QU}U^YDxQnBLq z`n(YQkfnM^nE-L(=SO|o@ssk0sBDTQ;=E=pLeVHYHgAP=aH2xnW4fevhZVY;SmxW} zn9O14z2W(W#3Rs|k+J>EdD=q&hk8_p5_``imMKL5!C^^-|FD^Z*$M|i?`NtRA5+f6 z;lg1osyfr+6KeV$%6F~8?&Z`&kvp-w$jm*h%az1wmkxJc@2Txx@^hwl^+Qf&1oiR{ zvlK&;0r9fa77Mn(;v9MIbvO=h6HuG~8Y1`@rxnUdOVQi$`t3s%Rq!e6^xgYP16NH$ zhC@(-)}E#BzKL3c6K)ZP3UV6L7I)e`DNnq2v)QDu4@&ZGSZhc>1{(cd{z*WjqMz%CuJn(d^ z0ZFXEFCHj6MQjGN$>;4jQrr&z_Ww`h&K6DOn5-y`pesOX>jY;w8(dkI8|N3V_0`$< z$W&N$6zTfJzWzK1O{NBP^&|mG_Q7(6zsF4H0X;t+a@a#gqEW@6m2v~NOEnoYjIlp0O;bhMtK~b(xJAQDBJi|a~e0E%3nwL#XrtJ zcM-^oK5tqEg5D-;CzgiWo9IH*Kq!h?!(-_w$DhZ!nA<~PGV@)`vu5vjjX#PvD-y#C zj@ixo2gz)BR!DGRA5cRyJ7YZ+rzmRgx5{&3d@Vavv6Qy;eeV6 zeh;&Yv1H|`qz&jzgt}moKi8J8HJTReQ&ShbW33nZFQ+*gDCAHJ4+d?qbs+Gi&E`~8 za7ErL!6cWsY!qS2Btpv)cTr%R*1H4CU0Vst!U)^8@DS|zy)UF=mutlzhRe$nhk0|^ zep(&{SwkyA(0);5*XaZ5b|zi!UM8}cm~KH>epyny@8Osqgom&p>#J7k)K-{(veFJMeVA3o3hFTR|{)1W!0H3 zya%&oqsX!T+Xn1p&EpYWb|9)LgZn~t*blttl z&)-UxXq_{%gpBP8fIdE5DHfC1$z)usGr8)^h|CR_wYPqQFH(g{XG!Z{FY-hg?qL8W z!;h7D;G5*gohmC}4>_GbYlu!FslG|euvGVmZS(Z;NM8%sxy-psG*7&ovhv3gc0(g@ z=N((74MSlDm4QSJ>(VJxScI7kB5%4SZ>C z47W+$XoEv=k|~C=C^^Y`47pLNxCkY{Gq}pnIp%>Beu6J+doc-JfW%}gd?y5dLNK+V zl{lyli(dA(M`y6EERuJ3keJybDG!u*l!%v5shX9zi?tW>(c_Ggqx%}NLcOxZ8b>;( zds7`Y3Kp9uaV8b4nWzDK7>~%hNXoinuNqvx_AsbifD23>jz*J0hnrc_nWgYF$Ei>R zQs7nmFd-$|iLkg_700UtdJ_eX8~QU3Q!52hra-I<=!!~^$RFu>ah7-?K0{#Ny*8>E z{cZK-*6#PBX(a;2yK?6`8|zs}4d6GT_Lz=gt<+RN0aWkeBB_=I>ogvFkjDL$-I%@a z=|j*pr_|bW{hc}4bVpfE_`f7Cm!pkh2(#WWT1ep?4j~h#Y8wj0BE0IN_=8>>YFLhW zc8Ez$=b0YqODlI<+0m;)7Z>BCft(BT2cV9l3V%ou!+sboYshJF{xn2vi8G)VA6Q;s zKNmTbN)h<8%EW;H149hi%vNFinySUVhNCZ16JA5MP!KTkfjOjxkFmAB#FyBc)U;UQ zp;wIF!Hw4h?Hj)hz4*N3?W#T({+VWR4Lv1}3(4Xq|$8|2)uK6`C z|KmE)(j`*XAVo_3M_V~obW`4e!fAVVO&|1a4GV2V5V3_!cL63HhGnvElZ9%Pg89-) zs$1pn#0O1fTko!tf5sZ?1Y%#)70t`YJR8Zg&BqJXhG^ykyw8Kk6cnH&LxtHiLJa1{bSkOJA7T0NqbpgNKXlgip9 zM2+_3F(8~7Q3e_Wn9g1>Svb;*oXc?0=Hd3;OO+|gR-aXmFGMMqnh;#8$!(i&$n9N< z{Y1a;@zh|GUbI^Cfj4haA@AGVBQMq6)fxus%?ofGbnBM>X5Nk$Qnw9MQJ+;)(yt2=>nQG zkqli@qP52~0eG%fid;mciyIkP%wb6na>ITOoYdR4sqRgRpThatRUHQ)Q=P9PYqWWG ztQWXtC@svwN)Lo>^~FhZcH`D@zge${O@7)7)v_M8I#x^dn8dqtS<|{b>I!aMeNi{j- z-zh9rA%)js1({(uijKwM3X>(T zaJE=(WZzssrxMIe1D{bY^!o>yv@B0M&u#4=jnoT&Oy0BKd4JQ))I;PitZ}M%?aqSv zZ7-SD6~~6ZvDN!QUpWqOMMw;aFZ)&(R1igiUQI;3REYPJr{O(Lyx5*5F4m7#zpM5&G}{@R3|1uY z?antwS!Li_-s-~ys8$&o2iO~7$KN}=k? zm{2}YsVhmS%?@_&2?pTo7Vc599ZaCv62PtdDy)}&TXp+eH7um4GiTS(ejD*-+pS(H z!96xKD5FOHuU(KveiC&5A$23UWg;wnTL0Q0lJ3&@u%YB^xD>RfsO(Pxf4OCjk)o1b z8f5FS2n*?yrS&(dF%(Ye+&tX#p4&`TFZIY%oj%4U+5BmKGq)`j)iK7FzyzffIaH~{ z_SD+zZ=@V5K~&CDgeh}2aK1!-aU_NaOs#R^6zaI8=-%eJY-hp4EG!&3+#@_N=bH5P z%xB};r)7|}mGx{%Y0AlGA`-&4;^~`3+ljwuXbtFhy&B{i1J7cO!C6L-Q}d@sBlRDR z9$hPVtBR%V6AA_*+K&9($N-tj6Yb*Fer;aed_hq+EA-N3u2B#Q=_Ug5Kig@kAdlk? zL;iqDNPgTprZ4m=tpe(r%fz#5*)!xilmaw*WE-tLkWJbrM;=Ju9iZ=YaV;l9t^T|f z>KnPU8E7!6-?TTwG!^EcsMnpxE=ojPc6QCl{G)6)*i0+598kFFuP~^(fGr$EJM%t3 zGpiJ%fz$4wX*_YIj8gKrs|>$ZQSO zw$FeZhf>oUJv}q>cK$`ZbpgGwACSeFWrBBS zP*Jxf@e?hJQ5+|kH$hXJXa+VR;@wkK5LQmR(%R>k%~>l<5@f8!YJ)DKG0&SO;(m?U zuGBrz2m!uvYwKwh<-Q~^F$Ty{b)j!no3ap&s_;#4Y%P-U685M(6Upus_V+^v9g(;&I{UfWK~_4m{@E=L1R|r^itav2YNNH5mt8gsYmp-!QS+tssZDVfK|^}wefrGn*a9knnt z0`b-qRtwdtonwl|8or^;BhD_4?zI zTya2wV>yl6J`K%tjvbRotacp|5uZ#P!Y6{*o^&)&E?N5*BAuXXi&w~2g!?TO>%oAe z81a<9QEjn*T+;>4;mMnO&dgaY`H)*Jl<_IAMkA-(n~Yh(A<^!-V(~y`jH2*EHl2v$ zc?`O(4^ZJg;=}&5%~&mO0WqAE=E4I>y8gn@RSK4%NoGNl4V%X*%QwbJp))a#h+JXGJKj2)f0-X;ztE^=%!xq5<{mDQkhu zaC&7ye=1gZ4Y5Ih9a70TL7mP?p8PFJP{Q9V((r$xw@F7YOhMZJs#ns+mu+`i`0smu zp>k!-0rEap_RDCPWIG8xfC*|I3}G78=jJkDu2%H7ap-k_gvO>)G8SKN+NXry67i%G zk5UNb`A;N#o}^TI)@F+z#^1w9h_t~t71KNB;AT6l12$XZ#9fZ0Xw zqCYc)#2Cxhz?CdZ+?T^6*2N)m;6{C*jA2)bxM5nj(R90Z%Do8GI$J@PjSpc*BARS; z(H0*yq=Ia{T$d1?Jw((9 zKiMJuY+|(fo`7-ZGMT;4E&N9Bj3&Lw^nv^*-|#UW_qh2v{GQhX-oh;?mTg0E9d4e~ z<{#s&i9;Y&SRh2V*y%Qlh41Yky0W40s$L-mha#A3nBfF#}Ybhn)w6GmcNszyyj&z`6Cd1eJ zc}AbkfAJ*Aw$1NoErfqQe{|9~VISv1?!*d5dci@xL!UiMfe_`{f61RdkSH{={s5hU z9acB6vsD~M>@=)R@>td^OJBBAYfK>Z(I3%477?0WP+)JLR&Nh6w+UQDnL(+T&~mt` zc32dLHEdME9Z)rEvYZ)|sTb-tiMuJpg~LAyI6^BvBA-#015#YftF0lD1tW?Q_&WLf z&0On&jVTHmo-KbNHqZeDy(U~a;Sj`dueH5Pd z5i{l+4E-+>maAgahQ7_y%te@My*O82Ksn+`{g;-886A}oK?r#DiYtQjdb1g$M5FnM zJJ7SMboki^cMuF1T7q5hi9*`B995r{qr>f>i6cD9n^32(o8+?dcMPi~jx;%Ys|i9) z#W(mt)s-A@iBR!TC&QLn_Pznu}KpM9FA8V9e3zTYLA~Blx8@Q7xeaN^+)skpvN+K#0 ze1YQpE!GT3E65uO0&bM9S6-tW5`oU-HQl zX1C0B7TVoAbMtvd?9W|QngSz-%FGdTwr~1B10+N~+87E)(~MjXW7R7NQco(XZ{Aus z+!UAqUH)B_+&nC!OzL!WK%z*D&dv8A-ysJgSs_jkkbkBoPob~;lBTvkur0$;crth> z)u{QXcE>3v+t)b6-Xbe2kupI|>aO_Gfnt9*>BU9@WhgB%p(Dv}`GU)WI=u0vO;k1h z`d-MS7Dyg<6&y$i;UMheA1?of_;w7~KnFc+su-tuU(2G@VN8p?Bhko{B^Yw2KTqzuTn_~<-~3t#cT*86$qYFrtlUCb#qLD)maHYz$8!pyiCKac zHPRqaCs4fI2&3O)vRwuE*%)c6gabFHpfLGTA>K&Vt#)$J=Zq0nr&#U zbDs7-o=d3hM0afkIOVKog!dcLiD8Sy^uuyN7>@;FFWGf&G4!J-iHMMf{)tL4c*TH8 zB(}BO3a}$ak`)^yBSAujIgPao@?a@aZ+yg2=aoHfQWC+-pdjN)4YZ1?=-|}T6tuJYR-sG>B5t(0!62u4 zX^-jk(-8uG!q6Y1Z2pYS?L1g8h?x!K(6I0F6`WL5uXEA$>3j5F))mW2da@5lrI=z! z%X3_Vrywi2enJH@H6@zwrF*?d;v7Ir*IF5LBEN`F{BrNBo63JCq-cm?DeFQ;x94ES z)ZIWL%Om1|2V;}wyLstgdeUdts&knAY#R7k#W?>3 z3~iXR2z2e}QcaWNk6#$2A~)NeRrI!05;(n9X$K9CYpweDw)iQ8qw~_5s*qRj=no^a zw9I?akuIVcf~AlK;H!Rfd|vx-BPY%XvyIDf_%jy#I&&!*ur=ORM+Ul7CimZe^spQ3 zccrXtonzM{PvUxzlqTF}o$`QQjbwEHk;x`azSROE`*$eCjr;$nK0HKsOsx z!{4u&9juMX`#t12EX=uu32RL;j3lG-#+lr-*)-v@5O%84ey`h2y$GxaX)W25+NPa_ zibyLiWBfkGx7LJ7iJ8*^odC`ZX{wQNx5hqlSo0v2C zt|TS15_n;2W^RALu$I$^H3)=AD{64>UnUcvKd2Ud*>Uc~X`mG>e!q-1BC}xc{|~(X z^9{9U8NkK41fQfTI4I$~$NSZ%rxXpAc1q4Fm z6IcX(17Eov8*c6K`F*X|rOVu69m9CLS)Yns6(3lj*%sV1n7SiT#j zJyFc8Y8DZ|R9Oq9S+xRuZBCx8CoHFj!lt-c*Y1oa}hSXK?UE$A`Bza$AYg zqo7UVP(qKB3F|4GwJWYSTzPlrbGkzQHF@eB_Vau^^aS5scvyIq^7o!z{X+wIB^iB7EGo;A5vdk``L2jDrr>4X+zgVRLnWO^$1)loW zNd(AQsK3Hx<0vs8-ST#kXzR8$;785_O_)~8WkO@hHKdW~B%cWk#@ujynR~4geI!ob zM*jz09uJ)ioLcZhuq7`RnL=Bpi{Kr6xK|!#iYc40)5f>7IlKTkmct3RuAOV-gM`3n zD|NzJQBuWY<=@(&LSa?4jUP_B)Ob+J<}qr&Vs5$;5;6!0A#tG7m~F8|rp?9yN78ky z=X=t9LE$0nx^}e!PXHW)Wyfn{#Vp?45LIY5>|}EF3siNg;fq>K2|6)Wm9#b&(7Ku8 zww^V=4ToG)FM0sDeC1J5W~icf-DY-JwZL6%^+l|LV|Wr1BPlsk;nxeXg|HDt$m8FI zRFMHxZevyI{6Tl+`d@h6Zc^hgphi$oe6GF7_t*&mZP+WBH{1GYk@RLKLEJ+i8AbvB z1>R=!lBXe-D5$A0+GG1I3MnL&hoxI)D-tQ*IfrOOx%qwEmGxq|8_Wj0-X)24VU9bF zMFHv!-=cL9O%^y@2v<}s78cb|WjM!aLyWxBLDWy`*{rr%@>Qx#C@nuJfSIHpY4L1~ z8mN#fLK(bU;7FSN@22ng8 zVHc7jn>QW3`gy6U`C-bjq+=i_u9*~j=hSy)JYLD&O`a@Y`_SHqcJIr=GA`XU$m*FwOUl#`^Wg}(TnYSX^y(~=6#c4ADUVT} zsE#PA79%t{mY4iR|L(tUD^okzBdSq##`>+Cf9Yl^;e$^-UmW|XUwM;pv~J~hMrm84 z!|;g94n5Od1&J=^;NUQxWXRee>8n)>kgf_a%|0Bkf1))cqt{j^D+=Yq%f;(j5N(il z(i|08BHYjNxOhE99hKY;m!e)>fmAc)ah+axCOc zxcwiO)leD#Wp+6ohv(TFg52%bYHrGzlJNKiZUN79Vu8ZExmyuJ(6>madn|pr05ZjK z>v5ql=iZ^b$OZqq-*hkr2*qags*(ifR=(sE+bklIlGPqmr#%6JiD6zPcfEMWxgEfH zYcTE@ZwNvU>HR%xrf)O{EcGiOrJ00c?Je#r#aM=d0a5F@=v z2a4B7%=3!EbvI-?Sn9lB&?9AVwb^SBa8pU@(%L+>X56rk43sSdEtmn7%C@|I9pIY1 z8l!{+@-?qH{3Uf>=Ri~&Pat%Hr6d&l6(deXJmq^KpeIX-`T`2u=4VnhP-bGfKT{M8 z?aiWW1`!Qdewao%fu(*anzB;+D&hfndPScB3H@{GOU}$aYJq7i{0I#-LnV?0^|gDpQz0k-s+`` z%(tG&w4Zl4!{OG(PPC|s;^ypw15aX1xJPv<+|#L{AZ8kHDt4F{$t^H*I8Cm-RR?8f zRs&z2@1?73IF=Cb5CDeCFn>D<`QfemO6=AUAc`n%CqPS4SvUx#?R{jULIjKfle_RM z_PCE^gQ)h{I(7aGFi~#!G(ExXj#1Nr5Zz1VY6%(s7Ih&jQ?Sc;A@FB zkLVEH&;TR$0CIH<@4*U^#9~0=k*tx5$4UED^)=Cn^0m8lS6mn!dY$Pr1d6ucHI488 zkGc7lPNr{-kdRL@s}4I+>}yJkbl^^gag_|K>g|`7iNef_5q2W>dYu#$5CRWpS6qV8 zJ)wFxSz8HY2%(ON$m4EHnU|^sX5yS7vp`CV;oP2O8Rq1iGn@vhpLvf(rUTN!6haMa3RF|JW`r`eATJ+P&XIH>sQR zxcBh??QLG&xj_RkIcW3FE%VGtW+x{S!s|oK)Xy#-vb!eaybl*sPB+>>*_c}yCA!mR zHC(+}mYAM7t=A`bv1+k7HKj(?(|bnFUDY2W9h2VF>ZG{6%1e@jBzEgc_uL46a^IRu60ZSnpmyp z*P#FWW6c(mxOvAKyNwP7H}>1>jKrrWa1UEwBx@y0ibUOA8ty z$>R~$I1hGYxLN{c5f=Q40FeVW_{a&t6pJS#F_^E2cAP|APNKhi$eVic`ZS2H-VP zTJep4q|x779z?*j7X87gdir6; zOyxpS?~UuUosSj(y&#$eh6Zv-Sgewov<<#kE5#4>q&XZFT2i>TVF*DRtd@lo!R94`<{5QX9j z4tr2wsw#|O@Sn*Q?Y#?D$pp4P+}h0f@*Ph$>eq;_M(Pv)x6pZ~UG0u=h3B^EW;LUy z2MIp)%iP4p=!mO3$9GyRaaCx^9j-`i?`Wbp*$oO*rOh9;o2961>73C5$fOgDy-`A- z*#WH=i766QyIH&mNz)|Eqy`ejB1@mxGR||}9ysTFcFH6PlbI~Hhv{alw_r38>%pq^~QboV&f5xVm3uVmB+)YQ~{AOUnGYPA?zC0IguC#7174t8T7>KA)uvG+QMh)@qVHC zB{~|es>8j7OGil8@oOAWh7ria8qWV-?Z9txr-t~#HPqotG-XTsrU;PqVHpZTZ1-!M zvFcRQMCUn@nywnn@c;CaCW3`#|r?^*Pky3gIa6E&_-pgp3X}(pU2g#W+~1zarX*B{kI)QDqRK18I=58*1@J8TN(O ztx5S&({d^9t6PW+kFNg)%*eVz?1GW%gX>Pfp-iTnrI5jF>!kVhhv5C)P|Mvs(Z@F`m_H$fzunG37Y{oeKF@ki3Ds%dv zzK^Qdif*5cIf0mm3g%smp0B}Y7jd=c1lhZKuj%-%u24L>T5Fzz z9&&4y=+3L4*66Sl!=ve4kwHU_sVqaUAPi;!wMdnM;8BbVYy(d-z7JnPaYBk8axI!2hzy>XN(WuUZW&Usm z(G4F&EUy}Bn_ke)=|k6B?BEN#M*qiUbc#YV*zen@5q%ww{s^qyx(Gc@gP7y@yS6ew z4SD{QM0ed$(em^JM1!HELAJwvG`PVD-PR=q~ z&;x;{VW3PyApgjB7MqL`;063SEfE>npLN?+FsM&DV<2J_vRrF~KD= zVmgwaDX50ORT=LmDC~G8w0k7LB?8Tk?E_^NN6Hg=vSbLBFd~a_yzhr5FW#7fc_@5E zIH^y1?Xwf9Le@f!dYR>C$|~=~0PO3TyrL(3x%rvAG5%6~3hYmvmnWYaWyxm>ZF!Wnhkcqt~pxk$-B3?#OH$7u0R z43+)V=ilZe>}Nc*YyXxP%fDfF&1fK(zZE~=9Up^e1MW^q=M6O@uY~va*-Vg^Fjmww z>MgD7qLa{k^>ZR07mwg#QD?jv1_2(_Od{*u^S4LoA&&kffJS5T;8tSICSNy@0(r+U z!R{l>E(|ni_y1B*noNs`x(Y@adwi#ckm+Wm$G-xYGNH+Sj(<)Rp)yDSSH99H$nE;d zbD+C+p?W>R{kU9E4hjYD{OUrgetLPXGJ;Ab5YgsrNzAU2Sah2Ar`-s6Z`UW8yvAcl zQ{ca9CRw$!-c;grg%APYeS+slFa%UtdM{}^XN7&BX6VEb{MH$g7zep7jY%)e#L{syb__0Aj*Io@%`6-_Ne(F9 zgY|BfQZmP{2E4iT*s+s>dUeotSx{eTnOGHA-u?P^nB$6LmaIJCL01jO3s1hBVt zZ>J|Y2$EAug9n0H4}DZlb+Fn~s@mrZ zu2+)uVu-M`T@;C_L#Ft!4uXBZdto$P&Vczf$T;y!Ot*mF1!hxR^7#(&z$Pd?ezIB} zg*~{fNeWg~fU~|U8tJ5(-82nLzQrl2bmFrTU8 zSkg%HE=mJCL{T_!1;SMZg6k-}S{Er5_ozEz8-6TKb;x!IdwtE z0SG<|{%qh|thd(C;pa9jhbyW)WJvXb0JD!a(74V65{QJkTD!wwG=;h9=$9d)^8Ne_ zvr`9$=wYt7{U55nGAfQXTeop{m*6gq1$PN<0fILU2_a~3cXw-C zg1aSH;{MWhlnkq$Ahm zsFk)G9TN*VT+sEbjTOZWEjXNkf-E2}Fp6;E$1TC&wSbr`$S# z0vq6Wlg*5?*y&QB#3KI<5N9jycS3jb{vHV&ua5|3#HYFc@$c5x41$y<8w~vC} zU;D*l8@o`$Ev(hE8Ejtp-`3pLrzn30R~by;0hk2YWP1gFkl&2opH(Ua$*b`{qUsHE zD-|i_gr>Bg)mK~7m}}w6N2b+NQ|GgR`iX2&Jy<`iL_h+Q1X_}3&J`_*_+5XQxS6-- z(~73pMt#b=jljmLQi%!iL1;WTWol#I9}bv~>x175KNvghIqi^3wfx3Jp$Poa?AVdl z5DK3oc}TfVs5vU)!lQ3;xM0@bAfc?JfGVOnGnW9w7j{BUHVC8?oog)B`A&9eLPecmXKfB~1gNx(bVJp~ zw>0BvY?;KcdnQEO>P@bvac)v}uzK^^T5J-g#;XT9V>x~vVXybsYXSf~Al?caV52@$ zP~iOe+s*WK6T`*zU4L95#ndpT59HBo&nOGKw5K>`M1g3;3~>uP4<+>-7dfmDtmEkf z>3SeS5~jNwC{X=)s?w%6!_rS%ElqOBCM4gnf}E~??FU5;Fx2BOr_V6Ae5FPEFQxc* z2LW0U?wc8z`UWaAorQWWzn#r*!lw+^+(qAE{X&>(g=x8?nyQ%ae(K)t?en^5^xJgN z$|I{8qw(-RqcG;LL_@2RYSn8-Fh$n9ce|OT!T81{ZdCAaGFq3EJd!nT3f5N@4LcPEd533*Zg=Qw##LXx9c9osQUDEy)72LImY`@ z2=|{83^l{UC7Sh-oriLh!cs^90qH(6t;qSn=yJWX&c|NbT?SoHOEw4c`ZOcsnt!)6 z2eWbmth6;HXL@qEVG$n{9Ln(Yjwuy?;tfYZ$;htR2+jq~%wMj6xaYKrAoi^7T#!uo z1PTw=&2n#>o2cdPx55Jww`HHsZ@Um5TrKzCiM8o4JfkwHH)>Ux!84X)0`S&fNAnBw zr(N=%*Dss2>>aJ7KlE7B7|oaOE6zw*@NBQpFHG-967uW%b~#HZHb+wT*NKp^MTVX< zNOFl*T1_!!zHjYDv%##F5VjXdwoI7J}++Ex`eGlNxdCWKN|W7-iScg>8m zx}1!h^M9Z;s3XGnPtng=P3KkqgVS4RJEK&dwqVzdg<&Ghh*b6dymE}Xyl?4y!H8{B z!ru2Zpg)fWcT9#>#MJ0?sXh>QbsVW!(i7LWMR_C0Qlh3>CWlG1v(QtgpGxjTdNa}a zJNVvfvb^sL<0jm%NTQ`{OaLY$g-LpHy{b2grNwtDG5 z@$OQ<4f}zk#5Zfp&E@AH(xZLlcOb0*g}3E+#Z0e3e^AJ5JI)LuKyNGM+vK@*W0Xqj zji!4jOz8Kwspwy$_)Ki0ms_$B!*}P3!tth9T=S|hb&*pEQKHfc!Nc9~kjIbnl&m5H zEut6w+(B*|v#ccZCk35AX)0Yp=ZdhZ+V>i1{)+xL$c|3jm6LMQBfnv5xrZ0vhDPwN zKq{;!`fbfI;qX+x@fAQ6a=f1v5bkhkDHHEftlSBQ_22#)ucm>&I zLT)_~jxGMI{-Ze{54X9!WXc|0$%E!TLR{`$tw7zQ!zu;5+@FlS*BHL=SJ| zl<_7yozpS9F*{BpFzI0}!VsJrrUy-Fc!E&>5Rj<0=xUCp8NTe6(2-~^E~RT$4`g;_ zU_(EdAZV(fj6dbttMpWW$Q=3!?1wc-&oE-shv?aTV@qp5o)HL?R&67y7#hSeic*ic z(q>G@%i6P;32xV11|SpUm+%3K`Tm9MpJ|*q!2(*@vKES*3POl=12y7NkQ3!gWnGDL zP`^V`OlXDo%#>yn?MA5)aaSIR;X z!Bfq1IAbAfQC=)Z8g7Fq_BoYXGDg4Zxqh!M@6eyqju2^O@OJNy=)_@^xx?(3Xg7vv zDr@Tht&Hf++Qi-4BfU+8RIN6=IdrewyS!vS0NltQIGRwOd;Rw_GW(P*MnWHgXFo2% zXPBHh*?0fQ5jqAcV3T)`{HUGjL_6#u2kpxAqPuaR15^|E|EuHgEww9st@LDyHhg7U z{RJp-Kd&Age80ITX#;D8+Y^2IU7R zHtFO6?Mfab0_y&E!s{s|o)~}m12YjjbEFrx-n9ueC`_!XyQ}M!4ws@|fuTj3i;2RVCV=G4JdGyDje5M8li2k`Q z?ELwQ)2?%-DL}ZzirD0T1UhdDhBE;OxyMrKN#~=E3SwP|IhzpnNXFcWpR}4T={YPh zpvTv}sqHZ(s+l(41_VpkN|!gutGdRgJSOIak$!lm)Ugle{|UX3l_C^j+sKvDO0drk z)!S{4blOgL*$`Z*Cwk7jw{fiRE3cRGXB7V~A5&UiG%i*WYa3y@+;ok36@`Q1_XcR7 zV_rz{W7A;?17~vPPrBKj{#sAcAhUIOPzR>FO~?v+p8=%S8$svwRz!T6?^CMxc^`Hg zxo>H32eVrAxYO~H5VPq^*}Ep!TnoW+ZPgY}tkU&DGTiwV&H79kSIs2Dg|dZ!p}Hyx zBzYpN+Cx7;>pP9dJH(DAR$E@MC?_(37+%OV-6)yN;3WOXmgybl4OK&L!zu7-m&yAB zDTUyQ-#}%xB*6#^f%d}J@RtklVdo>;o^xCQZDZ+{kzTZb3c6$es@bjjZ$38RlQlMs zz1eKb_po&$_K*>K5>XukP+^y!`|H}qQ|#mY_Q695)5zfmYbpPmLQS^6srK&k6+=cW zN2x@b;#J;OEfsQ3i8&6U5yoSg3kiUx1bbsS*nijP^FXqa&OIspVJa4P4+Y8n$_g5^ zAlTCU>$;-hN^f28ofFxTZ$+ZgkVa**O$r+iNgRw2oFaL!06y~mxht9!>P7x)^#=;H zvTFZ<=k0zkR8!Yj1J*1^L{U3sl77?;0UTMY&>t5P93;pMuxH8xqs1n$Qu^ktL!BzD zeCzb3SfZD|2bcp($AV-_Wfxy+&|H-~Mc~nI5-B({l6VmrzkaWw&9sWgm2^)dDlE|J zDpqSEL?Bn+E<BlcKVkzMtS$Mz-ejvP`B|-C)wG+7 zemPLaFgktl6)riOwZqr*xzZ;6eH$8HA3k$fDTRRe-l!M;jkpV+wK$T7;0PWS`W7WT zZ$4mLcdhr#1zLG7E^E{@61~uwk0zd1V)!~Wk_{s3_P44WKtHks522lmFs8dzW5|s ze>z-nIBqVCjPI%{Q z>-?_@n$I#q@76zxo)dx7$ad9Iz9V&eJ(|5V5lbxX0VjFUTYwzw1?i}5;e}a8R&oh* z-OfoBUUGAfBBR&{uSG!nS!x@_YB+nsg-{TS1kEfOUe5P3?>pmx(2vpjd3HY*jw`$zvI|UuaJtRU|QZ zU|Xq>eDS5v?)v)WeO=U0F|wW$-9_q?`E5HyRFkZ34Ar}rNW`Nn_w{>z*TBVHc_x&m z=CQ~%&{J(0Hrwk$o!aPUM@F-j#Cv`*A??PY)=ct=L$!`)YW;Z@5{v`2zC9n=N1ks6iB30V{mIX4R{=2%xh*Fk!gdf@5l;#x&Jvax_aU`+*0=DN ztP3+~v`jL+u{_M5V;(b4k97(z?li8*fsCzbQzaohMX4}Ff%%ryqdtv|DN7KU+!)m2a+f-q}HsQqs2m2meY%;aan&6@P+cF4lUHy~x=@7=W&mS&F*4#~MMrt)8C1;~(V-FKqw$5WQW_*G-n5EVI)1f?HpVAWL&ze|q z4eEo*UpLtq*8E0}`gbqkj$98eDiOcDAv6DytDYx`DPWz!~C z-R9C7pg9&PcYLEs_Z-&aiCn4D9SWjkcp1TN;WK(~4esDEBCyn*fQ;QB3Ku!znZsPa z7G3<@Ac@@L!wZDu7^;gdA;o_~45bNAuGOh2?4}yio}hM1;B~KYSrkFp&|>6A-OS-v z84t$jOJYhzkI)QCKmV}sCpro->)C_2F9L6I%MmqOQCCVevys^CV|I8Jx{BNYCd)!^B zM(#E}R^*n)7tr~d20w9(xZk~}-UIu*d5sEcr-3duK>338{u{_b{*yFcc|Y%Q1`9*W z{m;qHsK10el63|PMTcesJ>K-w%{*Q4XyM^u(kRx9v>C=O7EOYg^+P;F=Sj_NXQR^9 z#h-N5ND6J%JA$iN_7MnbCRn?d0~7E7+qXQM{!;v+_9K*pG)NdcT|$Pk9^AjO&Dcm% z*Hqh`zcG0Hu&PFAnvqdv^{+6b;L}mzr^@@1Tj$WzM9jpDLe<-`9ZQH3(Ns|I+X2y~ zZ%@4vDm6-u)V-|x1>=de*DT>{C@@vDSmjK$VwiSh*q@(3{6Qd6x{3NWHDNW;Yj&@Y z)oP(MIOW`5;?vb>>n?-YoG-D;pEiP6R?&BS4KHDz8*Nu+mZKWz`)qmeP(veRqudOM zr0{;j2h)kj2Wb|$kg0Ep=B;1ehvL2NxD_@nr`@9)MmG`sY)doeQAW838e*L|)#uWo z=h&sD}J*HM)>Q+7}M@2?*FI=6qpgtmCD`^=K91kPiPFqiG^+a_-DHAkK!`!#Z zb#z#Lm6gQ1uPas=>(Hva8ct7zMsz)L*QM^HjW_L`;m;C`md+56lczDzZsI>_i)h!V zQcZPZ;E~na!9dcUJ*Yrkmcuq)%?H*WEM?0c7R{ zKP1rUT$n!-9%T)m8kI&nWV^r6zo|W2*s_6?>dWpwy7qBvFdm>(CB~L&ikZ76)w1o9<*GrLP3%+m^+!k^xIP3z;}o9*hX3WbaecRQWrkoxtXQq%?G*Vu~T{PENj?Ot>5Au zzfRv>3snEXL&Tz!F^xy&r;&{Pt@w2{fU!_RQtprH_ZUH60w+gGFst=hS7?bc<~p@5 z5RE>82uov}-iY5S6|BrV&56k(ax~5Gf<`?mXf@zygGOA1q$wQUGMjwO8T3t;u#@=j zhQDnMF{XqYs<{u6Si_}%UX+peO@lG^wV$^+C+dognH#3=Y}X%i2}N`gNFKI&hrv?$ zfd4@xF-Dw24=qI7uObCaY-?-F8}6d|uk+v3iT}{NDU5SGT#i_u#x@`RntJK0$IN?Q zQn9_4-#aq%le_b*$<;7PJ@qAyxWm^A+q-O&XRf*B%Y5k?nUFB%F!*EbP}Pq%)1R{c64r#=qTwN{mMbO=|Id&rf`dq`>F74x~;vsPFn zq@-e_(_zemn+;;RLWt|A-NfKj%E)2SU^3GtY~3~KJyd$Nx&H>%g!2E#kIiEZ)`an= zx9%`ZLMiQ*>-tU*0_BBJGWClh=Vi50+?WqVYYWD3IokKSITu!u((TmHWLy}^D9p@q z>hO$TyW#2cOo}Tve@UyNjPFGZpu7tNin=MA|H$dB4ZvL7yPJf59k7_OIqV8bR-uB| z=nEboPWdY+QTnvNZ}V;ii|66Kp4@lM1=Vz}Ni!v+Z1^e${m*-xRE$36qzo@w(wAwc z&RrZ`qPn-uY>M-0&^a|+HtEIp-9al{k+$?obz~`14vu72Yp$%i*0+Mz6u>$J~*mff0KHpLPCKK1!iGJ z3cG1z+@L?IduyC8IW6X%Y?>*-Fav1|rW zb`U>=)+Se4EV`+!0Ii4S>|G19`2_WwKMP;y_U*=|>~U7~tGLt*EwZplH?3$X@cb-Y zAjW{;Q%6^{Y$2(Y&Zt&YA1E=Mu8Jn8Ots&Hpsm9vz!Oj9qn}^st@$UqSTWt0Rul;J z;q$VTft01b?-3pMVbKKxwnrLu8l(nDrV@ajbRyAO5q5m?mywArY~EO~arEc`q3unH zoYou7S6$;AbmcW&`4aR63u3Ml9(#ZvEalVaZ?J_d>WG{iNIq^fp$HI;^NP zbi#~G8qRJ^Y=8Zh6MDmi>_M4#FjF%tlWJDzdqOMwE zQg2B|#)nS2Sq6NZ@oYbU%dt3ONXetLI5cQ-e7lw-G57(SfsJ#`^)A=GXnsBl^j*L9 z5Mbu)^^zV>JA@6c8_166HVC8XX^kBPSY~%jKT8Xxr6Ds$Il12GZjom_FsM$;Eeepzt)b%m-mR>X-^ zF^tw_Kwal+n8vi8V9=xKoL3mQx+JVyzv@y@h%}83N8Zvi$|+&<&q;N~TWTr}q-q|; ze8Vn_4#*J?l0migGE1VzTgC@?X}FDd3`axO@j@@es1r+>3GbtuwP`g{8aWr1NYr| z#Rw|jT`Y1~WcBQ~PPd?wIW8qj(LN22w)XvJC#hFS%>}z;MLMJ1@RZ*KtH~yS;3D6cWr0a9GQwDYGS8q!u}V@W1JF`ga3SURZU(^6AA6d_@BTsS#$22YZL4Q z^=v5KLY?hE7zEb`onCn(74DiS-(_J}y_f-7$pHa-Nt>;FYsv9u>@)4)jvol+x4r9yq&>N{3p=;45=1SdRW6&g#6?Fda3R36*5+ zZL=2d4oUAm*%2WtYSE7*V+z|2!!XFQG#l&f@eWoCSZB@4c!bPcJ7e#DQvGq$r829? z4u%)26I&6*yY2~}l4@_ork>c=_yGA+YMvVJpeJ9xv;QdP9%tG@-y*D!n1)?nEB_D^ z&Nv0bK}ThXQ1b3p5(Z|F*x|48>?%`r`lPJ2L|c``#12cQ64z_Z8Msa&OqHo>Ol zP4lB&BN)u(kMdmewOq-tzwiro{bB9*kddWNvO`Q627e%KAQjrRs=~yZ_%d(Pvio+^ zNEO?+tv?K^%lG^J-6KZ`xJOl;%bT?%ftcbWIOiS-Pe?+8SS>5rJEmU8m->yx8fV^t&LGt83xQ#oo_fXRLYiRhCg! z2)U8t(rx16{?ysNmj?$(50ym({>Fz(388bg9I?CdUs&FiBT*^Mf2}N_AMbcj)LKno zN>2Dq+pMhJL&nj@N>?QmA56xra3^_egIG0LrBX$Kh3f?+W!ZLqXCR8mSD8TJ5|RP= z#7gMIVMv2KvUV&F8N!A6_Mz_NOSVW=J74~*p=Qwa>!)GX)R&KVC8VxWCMC=yRaTYi zyqbtCBF_j$W&?;JC7)=I8?CM@5xf2|qlk`a=hW)1Kl>TqO($Ky!u=@*ybgTM4TovN zVuEc8wr`E2^hTrfg8qhkI-~TyyS|Oucs(Cd@JMm&qM!=pof9QJPkk`yyGQSB8{xT3 z9YjV6#1Y4yV8&HT!HM{3b17zw;rYYJ*BR+S>(2-4Kv73QDXyAcl>xCy-Zuz(M7-?o zran0w-KhO6eOvS+qnAzY$z-Fe38ilXzcK!FVeIFPImUQPq{io<_b$<-Q<%07t{cuF zX{w7Ha9%|TFm5+l_6s$Qa6=ewC__sd92=F{{;87k?W(d3R<8DK8P`H-mxdx|dv+S7 zAFUcO;;$o1vc8K)ybOk?^x1x%jPBiB6Wg{hRIht&sCy1n?H(z+W3r= zw{`yPyGZ_zDHZJ>gj)&{hPBa|oC+M@qihTFyS*RMJEnjdc2oKWZy=u{`0ahauP3@Z zG3r6OfVsOIi@QXkG^@F2a1h@53hZ4^W1cqCsMcmkG51hY5z zmwe2pJ?*yweX6ODBnCu=DLR|xZ>I!6l1NPhdQ?0Y(35rScOk!M6Lp0`mlA|}WCB}D zx5u)n_&2g~qRnBv%gyjEzULWK8rH?{c}USpP@iZ4J!sILWKt3Ue{sJfQ+iQ~h9@jR*xBq}1x$`u7$ z*&(M7pxYZfBG(dSapUUerRAVjem>w_MEJ0rLXw2fWSWGJoP_`7{|F-2-z{q5zSQi` z58%rIV=t%T*Ex2B#w_*3}SkPFhfCGfwGWWR6PA`oA zU({yYp#1CCg5I#31`&){)g#LZ)6I&VqeAE3z|{E}Y{dPk9b4Fb#ZH?NRx>xvziW5h zeBLY+Jo_}4rL8#HDE@egx&zW8KTE$yfPS+tS(94L^SsB%(jAgAQ6A~m@UF#|3SRe; zm7foheB0u^Oy#pDGy7VV9Sj@Z-mJSu3U7ni|H-P5*`6A?cw#aaV>$Y=3Iv0NVMTp6QMo_C!3^qe$8vc%8cm?->N${cJL z*m#p?!HlIoBf93Jp=`w;zF8jC_f2UF2ezKluRjIKzm3yuz*!xyM4;v{%>u)znkLGu zs9pdy{0qUu%;Ryz2ThmgQZCkqcR{O@=~+L35pa{KryH~Z!*h35VHkJX~*snO2QWo=*~L`JrQ4?{7oBxh8;>M@}6ReCh5pC&DA zTB=bJC4&%{M9WT2a>+<7l4fy7O_`~ zml!ZrmvH1j*W-GeI8^O2=I#=NwIO;EynJ-anYWK3U73M!77onc-E{PC*Ww7Qw zfgv|d+c!pcjR@I*Tyv*Lm}Jud;4Ugl^hLl|X8>?=}LYVSkup zby5Hpc3UC1vnfUJ+-G|hCDw=2O6Tl5;au^C_1IRGD^2sB&TEFXTl6U40(T#PTza26 z-+&=@H|PAvif@lm9(_WA_OMe|i3Ur-Iv?eUKbp(nNzz)5Ns+FWy1RUHWsj8Ot?-f- z@SHPXs{H9i)=@P=?#HW=LLVXC_Q39b;$ii1?%FD#2o89K(HgNI~{LAOKi?AmXV~ymu^*K6;YLlDgnxr~iv6|szLZ{crb}iV6wysqV z!(n%sy8=c(bMD{r(%uMZaaU$`TiPi<80=isdyj=qtNSU3N> zcBF@y%X>}r&0nGvB5@DIx!#ME`NPw7pPk8vTd2MXvsbAg?j6x73j?V}UL5bY*M(~p z4~5s-Ua>7wT7Tm!8U=)Q(1=`4@O7E+yl3ASgciF7HgHE5NFx7i8SFS2tA;(b z*mYT?()5S@JzOM2ibXOOaX(eNy8|o^X~G3CSupf7M`rlzoIdnwlkuXhLGxkP)7msy zf?bVq+pzgKgprxM&96T8e5KFvL<--mA~gYt{&L`RWXbQFICUJ3a7#ufxJ(u9kIgRG z2NXv)^z9{BfFKexhv42a<2QSILnK0@#?sJ%5XU%$JJXD;=YXL zHSeY2=>=4c{TqGyp~Vv?Z#cZbUfg6*P& z6us%LjK31`lq9j-QP*!wp9+)(es}1&Amwxi8dAyWphfzl^oD|amMl0jkC%%o9au^) z^cgBcW{3kTvyM)llUtm^WI#z%Z3ox?px{u(^VlhNOkAk*|)1-G}rX^m)4 zT7Jfb;&L{KD2Joi0QS@8&?&>zJ!x3CEiTHUyJn2Zl}lHH$xbhF7dNK<;*^#J#5SYe z1$_L}mVi+UnpjYhuzq1?iAuJq|1Z8?fF$jk(d~a5rdOlNHNUZ!S1(aFsIK#;?FeRy|1&{B(jlYvNr%!et5$l>M&p zlho?F%_3uU$$*7mn9GJxE4T0?_v#pKS}AzH()6`!#w5O0TAORSb*RMl&-P1qX%f$I z_d5$?5jA07A8B^U;udxT%L)j<-)E7mH^;Rl1-@Vtp6m(O!EwSX4m-|7?}q-QQG6(X z-bMG3n!XMrt;{j};0#5;2(O4o+S7+vHD6+1#|aC8!-_V)mJg!JeVw_>4|gz3Bo=>~ zdt0n5363)2f?wTC2r@~*^yENpMr9QJZga&gob4k-_rnovcZbWl#J)`1foK=H65F&A z@*;f0EUZ3femcdQY&V23Fpo=*MIdj_B^7&pE*nJuU@SXu(XfmTSNR5dAd~*1H*fd~ zriJ|`8lcu5Bz}!Nfo252ch{`bL57lifLVW~KBW|Kl-u~o1T`$Ua(4NJwGjp|ejM)l z{N)`57f>-iEsHM0e#u&&6dqf2kr=)HToduxp3FQz1dJ{CUEd{J;V$YO;=4b~2ET+* z^7(bBs@WpO=e(xY&Rj=W!8qUBS$8Xf)hG>%HUY-2RkoCExN>Xj@+y2AlC(eHA47D% zhJC%C@9LvC)rn*jsim%ok15JDoIB@zy(-T+>tZsTtM!_enkD^>SLITYZvZq8yWRo| z^EA4Ym4n*kv}p&vrUHUlVTei4rZQK+Myd+z&@?@F9 z(y||}xVw!aI>e0|9>wTFZz`l3(owLCpz9LTyG^OEFiBxtcKa&K7>>jk^uW123S)~C z?i?Q+o(S~Ad=Y(TwHI=s717H&Q9D}GE(LN@YD`?aWW+jvM`^0ETZ@OvlKb|76K^XF&?emx;bv@6EEw~i#VuwY$G!A2tc{E-lvyuKTK$-uExXJV(l^5^w zI5%wOECk|EY~QaHYv~mX`0lmSjk>i;{Pm=z6YEQ0NT(eA1*jR5ldLEpGkNH}NW>Yg z$}k+^XpJV`GR#njGH&b=j6Iosn6vC?SNlihtQ5vCsQ%yhx&o)jpd!xZW$y9VZ?vS; zsBSfJqXOR#%?K)QGM}z=bT0up!D@@deTk$R@Bs(gCidi3<| zR~MA-g^#>sqq2mj{yO5P7>gwqVU{1TESUwrOYL8y)eEPYI#Ie4+j&{@6xy5b=t43f^>7{taib988#kw zZ~hFg?@wrUT53%ImZeFantc{TD2?^*Cv=m4)7cY=5x%=p`kn$V&l$$C91oB8_P)EI z`0F=>ftac5PoUd1DLl?80m1!w*nQ|L;I8A(&;&cvE1L1|yH1i8g;5A{__App3H@^P zEsYsA`CBeC7<q0NTEeE;r!#_ELA5y*?U;xh=e^np6c2iG>I^DHr%nV_n72o`BHv-Dxw#7! znuE#Vo~6J_`;{z^MWRZ~hxA9Z0L7b6d@;1cakHNXB{CYF1Dzv@p2j>1ah{W*1qVSd z)Lg0g#$xxq-l5hst)fT)D{r3 zr=8aXv5v#_GTg5rJGGN~MMmqJuWlk8=T&I(E*;tS70X4%&Z_yAGIt(}ajJm&bN;`_ z^c)Pl=VB#mW~weEqppc3j!Urb0OTOE;`<_hTl5`1GN2oClEYuD|3$8D0B>l+zAdiv zk?`f=pp=KBOYU446=u^R6K(oaf%gb@F5vu|X?XTQ7F{-ptbK;y%l;o*_G6F;&}*S0 z8Tw`1g1Ul)ShqO5M>EfoZQ`63i@;NfDZLAGsd^=A7vn;#^WdjQ9iP>D%?$kKsI%%1+LJ<;MEC)|>oUGA!xmb@ys( zPbhlPAW8bK=fdC}5eoJp^@t{~K2oqj1^wrDz;GX}!!^Nc3@ z9;_7P$UGDs`G$G~I*KBgXGpXAr6<8I$xe(>1gAtBO@znvZI~ymw}2abcH84=VjRP@ zxW4@k{L^TJ8S>0QuBE&88kN|DH_Q#D7DQOE=dFFd%_RScKIXVWvQYh5+iuM7F5Nm{ z_Z~0(p5eusd*d!PL<@{tkSN>Zh}_(5I{h~h?rGzosjyvg7jJl3hgWdx!#0OIjyQB* zmxw>Kb1vR^p*V{K<-seo99bv&TRsiQ14zDaQ5Lp_mXK{>J))Q_WuC93hl=(4DC>+J z70K}}rK!-X9y`%4csPk99*CG(US`?I@m|(S$HRH}BsL`IMG;ZA|AXNO>}-871D^=2A5nL4J`Jq0>8I`;IFZMv?O{64RIN^5Tp*VzhT0x-i#^~VZr31uDftN z=nhDk33dP7Q)g_zga82ak^|{{N6ru1_~(Gy>1F;q-@A&~_uFr9*+AsM-cW9J{LEb& zx;LWzAs#R!PQ;vQQZYa_Ef+mlHORQ%W-s(YCLl{Ji9K?%z$^C^{H%wJratW#3u9*6BhSml!5zC)e(gu+1nq0a zURk}zus!ju7J0e654Sv!Pe>Mdo+>l6%#3=6eoFlzE);d0O+^^EA^8I-G?KY8q^?z> z*g|e_)tSI^EhIJ~Pd-*T^cN?lcaP>QGAwm9W>_r#&ab7bz>s8xBked_k-XUox>@`` zjYqg&hoI`r7p5ptD9NLa^y#yY!rmRNLEu&xuVzGV%u)j0{=`gWO274!dpcA{RFuRA=V;ob%j|rYFD1i^Oq2be2TU0Epl-M>CsI` zN&;#CpqL6#Soik53o9fyJtOv`Rm9xY{d|{I;S6an9+LCAjYFyF0ETW`6#G=pf~P?u z$6bS{HJ3dcG$KqZTe4$wEWI4iK_eThxJhVk=9>6!aGgH{$}7|RshSN8mbkNA9Hb^k ztmg{gxIecHlh%qTZiVdEYEZMe?b^}$m!&s&?uUf8g7*-oUc_|IEQ6QHgJzvA)O%S{ zg>ClGbK8V(p&}Q1xcPqM)OwEk^tviM^z~Phzwjl7;Q%4dSLkr7&sKDA{I>3Y%+jru zZ72F0mww_;h+_AsFH@o-NQNkPVhdICA_YZ_K_}~whZ`3*{MttgY15^dZ|Q1i%nYq1^M>k>R@DK5v&Fvq~bl5 zK3C2350OpM%rgYH5jWEK(3SW&U`sig$08;P+rn#WzHVyoTU%=c7q)Bym1B+eT5Djl z@5cNu%y{TkHVY7UX7+X}B*(T7rs3PC8~qr6Qs328dY6uk9l{o^VfQ)JzAJX%MTMz^ z=xfxsdYAnATY|Aq2Jh8clh;C((SI>2le9O{m&9vFW<0u6(X@}Ocj9~`nO^i~;9w(7uurMM!|Y=_&=@F>pl~@qw9UM?s89mGJ$vZw%ofPJ z&kLfFG3xbm!vKJ6?$lylYS#SX@T+h%KhLx$*Y7_hYSxhO?P&Qk;L&JHztVdrjJ9z@ zoc-CBPyJ4+oV>FgWJFcQKJSyO{djE*e(ze0*s(_ zFkW>>J)=@UyI6Rsav}-GIls2m!WllqO4=K>a-HPxdxNL|7JAcHgbtU(*Wk<%lqn;U zvnxpz1MHE{H@3YKZ&e6bOX3msX5(3v{dcU??a#DBzsn0FS*45iNaO1Q_ZLm~7mD3a zZMVGcM;t$Vk^PSCw`|tq%J1PYs$M4^`tFf7?trn-6^hNf_TyR#zommMBwyIh7lJlJ z=#b6VJS;z$j+3x=c9wf#J+LBniFi>5;+*<(y)LNTnX9uOmDtVvj743kcBg;BDNOqd z@M2q-t1`@BjJxLpAI1Nmz*)n{YEvM8T$X|_6xNHtI%>^MH0KgZv6gSE*aef`QfNhz5=1_>16Rwd}8?~t7PAtc23pmwd< z>5|wHNe?R31Hv*gAuh1Q6TITm(S|AD=gR0iy(H%v6JLy zn~yZvve)@{DUl5zVVy(phqXBd~8yw5smI628bqIX3lq0P38H?ii7 z9^ng99`F4F%tptJ%Hzqoh*%f)nhb--ZNF0OGt;6E-Y^9>XO9w4`Z_g$t3@uC)>V65 z8M1dZ_ZHlWaCN!+79fQ%lNiJfDO2}lwu#`-QTD{N94M+!a6xIRfYD!;-~@L8_iNzf zxFu=Ju|kNFKuTI^vlk>kwYfS=K$3irrHIv@+TbKj3PQSF(1>@d#QSJ+bRO<={6(3N z#}5q)3m@0<$TPHTlYE>0GH4MY{ljb^R_#bRQUM)xepIcJ+-uD@19TIf>rPwqR+vM| zh-lO-Er{4m6Nw~qv>6;*$qFbb#O>RDaMIIx%$tDcTSJD;-+!cdz;2n>gPQi})Q-E? zew$8mdmrSBzaQHUKD1rDed?I@oiXj(2;F1^HQoU6zdQHlHCvg!7%xMeVdAegIrogl zciij7P!N{a!t=@bPD)J|<V!Y>$IbWRtS zdn2ru%(f3ffo;UpcRj)_&-T1F7ucKFSH*lppSld1buTycAyouy)@n!(ewH=W#_s%7 zj&39ma&X$`G3O)8e`JfPH0ISREXrYemi6LM8%KSUTOR+XH}Agn=Km-&uGS0>L>>21 z`VXY*_Y0TiowyuN*d3c*m-hpJO+gr=;5HNh1nGWMZCkLrAZ|0pI1uZ}?oFWYL`48F zenowGlmkE!Cbq&h@}WQbjQVJeN*AJELuiqK;WK8GeY9xW9J^F>1L6|N?~%w)9MhBL5a>q704}B(aW(NhH+jc3J&mFGBZsbc$cbK@{qM~h3W|uz;cH5JhJk&P zt-;%SZ}K-U(M#NjSiSvLAv=~UMPh2+#f@~K&R#67P2KP|ygQB!uAsv;|07#Fb2@#q z7D6Tl{`e6gyy3Lm>%M6Aoe}Q<-R2))TmujMVcTvRpl%&Vet)BUYH}{Sx|F=WJ-=dJ zmeHz9$gznYed#J1C zV&DlJ87c0Kz5qp4!+3f|&Xu=c6j7(qK8wex-3|bhCAIpW0klG&>0xor2Dpc3%~j@P zykd_C1s@>MFdlFVuPx6|I(zQHW=jFEFyQ@14sQ79N+!D-LW^LV;>3kQ!FIe$?$v~- zV)z>a<)?z63KqY9GglgwxVh@@C5CW z!gQqtVn{>H!THA67tPi~uEZW8BSo6H2lCYTgvd!VdIHpTX$-p_mcK8sa+=wndOad3 zZpLRm(?mM1?PJ7fX;g2uPC_5FrG;Gh-^B^OZCL#!eMzi-n%1N~2u)2|r*~MicqWtk z@&CyB#_&qpCF>m<9XlPTW7|mwosMnWc6Myr>DcbrR)-ziw!Oc+XU?3N@0wrF|9a}G zd(~Q1s~TZ%A44JO>Q3wg)=b8mwq$^6@`ce3SWgH76(Xgri)Lhyy{6=Rws~YH9uI2G zV75M(O5gwkSDpdQ2!nozJWP1Q(RtdONE7HJZ>SC3<@2UsSiJGE>s)fE*|j;Y=In1w zSIYSywTBn;8EIPrH>?*qk%;-I4Ha$mmgU5sh$HYCxi*$zs%v%16-Cle{m<3c&s#b+t{n_Ycs9`QOkT>VhOzU;92!ko z3_8v2`a(k9bE3LRHWIcQM}qcR2p7# zJ|Jo1T4GZ=h04=KPB<2Y#*?ra)H2i$7C*$x9%}|s#PM(?``t!!ANEquYsY>|rDoiq zfkYSo+@zq~)|sXGMvsz~EavJlzw=6(hmOqPoglTR)~`gqaiM>CN>ebmFNUQENlA37 z(6fz>zF^R5wmdCDg=gI?SrKEj`mI1D8ZYG2kUV0A@Bx`pUT?YSs^@R$M*$q*S2!4- z%ruAwu}&-WRuSuSj4ftugbllA{Ai%|4p`~&?Hb`zcxc~@Qc*?!-yP_BZTn%r&uK}1 z|Cky`?WuvdSM8l_E_VQ?3%tf#(D$<9DFXXC&`y9G=RM(Zrx)RAPw!lgqvq_&9JEJD z4D`G7o|nVy=Gl2`UGz%Lk*fVcop@9%G$b{BF@^Q%GAa>`TJ}?i^hx+t3s{2_;}v;G zDVJZ*w-tdc3|IT{phcM8FOV&#BPrK5#ekHdEdx>eR_KY1k?^;iQb}dvO=LpU-t4&Lmz%+z=c&rUvtdxV2U`O`k`+3uT1>0h2vPITzFnI8R!<)-Y5!csBP z;JV!9WNuS;lm+!|vO>CC*?zoiby_Y|=%b;ZBv-0J{EX6bx-GKp8Cma5pvXtdxUfAW ziWmd)BTHGXx%rOx5G!gNqJ+}Z`h-41jxsKtt;~yE6n5zpl3lIUNMnCf31zFZZ<%=co{3!1yw>C^g%+rAyiUNECE8pQI<_Yy`uGZk6Q{*};I-WbY zn433{qfb*o!~IqLR@tcl1C5D-CPK=NnI(KgK0LjIbiooFX|UGR!JN%fixi}8pDV?( zwBTAOrE1#4VlhJaV4P5&(mOsDmxEF=w30Vl7m!3r`P;vK>nE~JWi-h#vVkSKN6-FG zBWUQ&C|dV3(85e%!=eLien4qeB+@sDcotE~5gK}n&btbSSW23?(P~yf8^96Q_eXRol6Mf75>yM;XSbt)~%XW_I)|K3_e1~86&1NI{ zau|*_bGp)YW}4pn)}drczx*L0ce0IVUv;=K8D#WS{f86Kf7ef&|6huwYw8&XH~_R+ z!s&ZG)e*CK#iC1B8gc14SAq(ErJcCi(*3dj$+-%?p#IZf`Vf*owWVHD={g}Z|4?Ls z$j2{+(0(3`nqjNRyMm_Ar3jmDcm@GW!$0X`$Vw3S!Y)(W6E*Wa%M+!ow8^OMRbYU=Vw(PbwLoQy0@y$ zp|g!6?#u31T*W<|`0!TV%I9shrA*UjP>h&XE$x$JNIhPQ2#3+PMj_3=4d_3Sx5lM^ zP1vehh#Tx%XJ67nmAfD!v+nGFN$xgW^`eNfX;FdVh@uz!HMm};u^NI$Uyc06v_KlZ zF4oC@Qt+6YV6;o@{e+Pdyh+jx`f2FV9r)?8^WA7gwG0j-%Q6s_gI6bAJbC5^IILPJuYnTg9XNPe6(c+VhH16x#`KX_XNr)Z~0`no2e*tfl*3Q#{^HuP=at$yS9 zsCN9}=@oFcLp<-)y~}qeLXH%WWa++K#=Ll2~J+e67Co-x@Tq^V5fevV8lR}A;gepYRCf0oau4VkKE}{@~NuIlA@+3z3 zwm62yyy*PHg0fMtjOWzV&h3lZ++ua<5AfgBzhdlXsnVc2;!q-oV-+%dnj)RXi&bQQ z+NsY#?eqM>d9NWf0tk46zV%MzcC7*J??7V$P6OV5>=@k8UxshKmY2X*n8h%c?E8MH zw=ndu_M-yv_5(6enB??W|4$g3vKatZRk=JsBQOAHA@piku#-y@&K_k60_v%QuQy?^>XN9ia?g*>B3_40Or+^0Emf!^ApmfwGJBBd zl-fY<^WdeHx^xdV#$pPHO)sgMh0P%pbJ>b%F&6P;thvMQz(!iPlX=VWf3=kxdm%CQ z5063bu<5x5190!04y*YONRP$k^5g2ov;H|X7(O`)V4z*BEm#{*VSl6NpdkqCc<5jE zL%CUAmzFAhiGkF)q$wc`-^u&2;Z9OF&y}p3BAn4;?#C~34eRYJHi7MynpWkl{)%~Z zxm{KO@Dv{bYPQ34w3#|mG-JA%8qflCWan^9=gG^m0<~gg4wYI_zH0f+fBd7HmxP&> z;96CE5*IhX|H$X<{943-7O-D}P6QS@@ijoW&DV6O8%4j(k0STe+}%}OA5I%4Sy0*M z*bkp0Cd2^KS8lqG*xJ#VmcW>hVc~>r0x-W_LYfo^U*r5{v@`v{ zP;c_v`fOFnqz_n)0wI>4>*iQSM~b@m7=Y70qdM0VsEC2DkyQvW?G)y=`JM;K$9SDD zPf%r?$=0l{6Cq2!b!i)=L<(9Rwa&)Q*@!=fl^H^2OKxQRZBYGZr=XXbSKS^`f%@L! zzk%x#zV~yX>e{e(u_ma}i_J_x?CmpqE>X~GMDF^x4atN3p?{VvKcD@7Mh^Zn+P=;Vq#yb|Aszb9 zUhINyVN%lF5DZjbClsa}cWWt^%VEc_rgekDEs^!$N3eCY%i6P1gZI7yReyTob=daS z+i96gNzs|P(=Dvxzgfn-GK3v-=(c*Ab$-|_`k%}&hf`JRNbFI0=KG#Z!Qrea144n)AEaZs zDh%IFri8q3v$xvbEj&FG5wa;pFVJOrI_Z9;MDvrE74lnW(bWIGZez7BgYMlw`^5xT zi*yeo>EbE@AUkfxavqc-29k>@AVhgj{mV}2QSe?G_CuB=R9|jR*xUB}k7E9dmwNu= zV#&Y*J7#^0$xBs&^dO31`m{YvAHXn%y1Bk`J>ImkvEN;vp7Ee#{i6{-efaZ9Ckovw z7J6Ld1YY(1`H-CAiwySM(tfy@OyA8m8wf$bFZa6rsswo0F7amf{OzfW z^J;PP3?*iV8;AL@|px|pX+L*s0U^+v33kGS@+cgTjKGrAJ+Erv9GvBkFhM97ix6{ zpr-$(esp8KZ>mCGVF-a*hKPBCu1#aa+qxK7_57B^f$ezN8c1<#e?NWiR98Nywf{5Y zRn_Y3sc?SIw48fG@iYny%YEVV-IjjR^92WV?Sp+VU;WkXb$gq1b4moBstE%Dq@5Dm zJB)QD3KL&SQ14_?G0;WpV;E9;j-rC?iHX%e9-)W7Z74BqOW=BF*JWiO0G9|1uGAw# z$~$xdS2wNPeJFml7FD4#LX%~7O#kKKwpBO8RGqw;sCXPtILLz^k`j6b7qGgi@aO1& zY)@2#&UNjqC;EcU3LB;e{^E;&g$nLk2^E3^j1OYa15jwaX(BCSh|TT%eFomR&YykCjpt6LSnIxYkk{T=W|-uXkwDrJtK32CE|}Nm4gO8w9ro4+%Fbg)gx<9P$ol-ox`in#Qucx$ z9wVxyyK1Zmk8RH{?d)eod9PJE(q6mMq>Zw3(NDtNqp_YK9|LkDJdFmR^r!YrZIM^~j{f-9UQ?g*hG`hzXCbl8`3K_7+Emvf26;7OtD zsFj+vBPCLU|4ffPY7DW$CSV9M($eOoA;|gR)f94N>2|xDkYA^n!o{ZARI+^^{HhOs z>j%BH8!w+Vwts1Xix+F~$ieB)c9&K0kHn~dI<4+^Zt5W(;+H8|PwRDgyFvXZOV`C5 z1HZTF&s9qs)f6K{Rz$%6;CI&C%sVpdIrTnp=PNMR9;%DoM3n1m#=&Ng5A4+k_SK8l zou%jl5eaIbyPEl`>MYd^hba1@3!r6ke;92VMbhqJJWIaV7uUQ}r6%Mw=x-#PQKs(}M8NUZj-oh&zql zIr+J<4p+t#N!-t{4r)zXF}SwGI#^2T_yyLx`*QV6y@ets(bvqjv$nQ39{gF{66L4A8cc&# z<^IErc|qR~?e_^aT5!OWue4o7kI@{hS`1ri8c%gmEh*cp{9u=q``V!G2vkWq^GVp_ z2xncmVR`)ujJO*jz^QWG{9F16{ZERaIFfkW<5n+u=0gobio{`V(T(2^VO-tXtM}J4 z`csB+F44Qz5jpkTOWcC!!dQ6h{01D_tC#5W=HG9^h@9u*eTW_d`8C&qNAlfGyr-;L zIn+6q&W=gdg&u}HJ`Y845X7owKchVS->r-ie%j+u#*#V{I2h+qpUoQ*zV3d(C!HrH zkN~9n@!|G;_d3;?o7tDhbtddSECLMC#QY#Wol#Jmtn#ph64KTM%lA1G{I5@RT|Qbi#3L#rtsTrH-CT~gG~R##@d&W~a~1JGV@J>Qqud~nVtdF8 zt(lWN)(%JEd@4CqG{)KG#6dbGZrQo(?GayISfB3UqQYOJB>-xH5Dj-D#N9br9z|PR zNRi1rG-J>5%@uc|%)O+xt2u7kw05(x2P|W&+S98VPYNHk2}wLzRfZrx!B_v<;`$-p zwxM*qvqtN1T^}OG2=28Q=1H^$xfm|+8)Ffkele*1fo8LV!|XkmT);V|5>&nKf-5;W zRq%Ggwnpr7O4d){AYILA%HDH;-d72&ZuQR==YKrvvnMZf6pc*654JL1pnDcUv`gJF z5_*tth~CRn!|!stW*=3n>XUAB08Y3Sub;$gge!{I?neM7-qqUxM`js$+_3BVhcFOKp_X4Cg zo3AkV)K>7cN4|`gVbEE*7OLEeCxO-`GQ8O;AiM{)h`}c*hHj=(Sgw~&EP2>Sb?rq` zftIb|(n`=~6$Qw=b9rE1cBu{(!z|9E7d#fD-te1^>n=AVZ_`-sYB6?g&D4-*X|Afg za4)e|%zkEIFE!zv>WjZXEHn}b<$ve25JQdK`m0)fW*La=-QUWPYF(*iZTuz{kebSn z{Qg5O$~p_Q6~g=JIJJPrfJmTOUiWLe9iTU%-m9}OF+1K%i-=x5s=73 z9Wjl^nU*b!1nR`MY^{F)mQzjcND|z3JlCF8$d$=N zbHR>M+aW5u797BtkTZ2K7~j0{=7KP-Y**c?e2*vFslO-51qg!FGjh1O?aXMDI_g8n zTpA7`wlBb#XUbU?D)uZN8JpqZ&9_F(RFRy!r;Q~vs^piFfeLyh`}1oyd9gK+YwoYH zFhE~a;E(9dP7e6zZG(_cre=LXfBmHvk4Q75O$_Y;R0++sP2|Q(H56$+#IbstGWFjm z!RGS-k(Xf;Mmc1BT3}aSHtvc z04q;=e~>oCh8py^kvHM`ln$@khL^I47PE4fjn>Y?r@c)?tIlIeowpuKTba8W0ziX1 zhM#P=7Rex>$>TNT{3J#hko9U=VN26I=ZMdCu1KddhNg#RX}{$$rm*6shqOJY9yOk*0@Nw zVlM)~vb&81S4s7fTW2#3Y>kE@hj?F{IjI0F!N@ z$TouLY%wKhz_{%E-@zRY|T55&!VJp5|6QvzZ>yWE|a>VNe`wDU$~ ze5e1lH3k21ET|!be_m&5SL%qvK{D|rg5rbh?o9)_A`>>;%6)u-y169^E$%zlrq4A2 z-@an?FnU$a9<@iGC7>eCdQ(=XxQpc{_k;d9ZA?1<8Fp|7rA%xaAT;4iVT`;0MhWzC z`_?d1ApTJHX=#NlX4dp>&gWwJ1tMXC*6$zMGMonkmb`SENF0=l;&PU}Cgs^5E!KGq64m+W&1VQZ@|ui&lMtHrBcH%bJ2&Lk6%b4A{9VqUW6J^AuO72fYN z{aCAX8u0W3CoKH}|FenEWMI}+2oRzrdP33*RO|l2_%7%Eu65N5!rA|nVZL`%uAOeg3$^#FBFZoK`P~htsn@K|#iQrC zDNVPi8DghDtp}Q3RgJHUw(T~#or@Vxf4GMUVrw2hd{lpQmGf;hga@~Teh><|RUaAC zXmqOUffamt%d_3wA|lbh*a*@1NUz5?8oZ$AC?G%h&hv-xAjHlMguLb`VMbzkSz+2M zj~b9dy&`q%WNHL`NpD4tLfX^*Kx1zoK(`NW>9WW+oO)+0yGeVTfxC zEXn(_glkjGFMMW9m!T#=Jqv=Vn+yO>bHZJa+)wSwHB&PHnV^M?Ci_GY_~vo63CG@q zb3*Qblxw4(ml?9(OYRSMt%lgdaP*^LAt1s1g}yRb$_f+$0E;WgdN+&lIXe@A!TVF& zvVA*HbaL1IvDa4J1$%I_sCst$5eFH?avUBqO@>}rB12_O!eoJG`u(B_2&Ta43>BBZ zD#3oGfg~CGaJF5>m*gcw3_L2GuOEDR7hKr5#H#Zym3UA~{6XgdfF?UKt2XuQjczt^ z?_3=`H;m1hLQsvBHl5s}hHH31Z6*L{I|cDMOlDIznqo7pyk(%h^dG$Zq6AZ_D53a~M3|Wm15~stN8sRwOzol5>$8R_?scDDl@3XAKo+;60%e4@zuC%Du>BZS?dz zW#t6=%K;-2K}g;A5Kjf1*ST+QPn@8g=r(_2_csxFZkp}YH=(BDZe!}w4adsl;0)2a z_^293cp7vnAcGu9qp%bX<`W)5`&w6Dk*4`uKv&{>=nn0cv|XGV+efw*w+aJ6JcyW0E-&yUi~pAQES99~*Q z)yRn3_miB>w~fi`5Y^5Q?U^bx`JTpai_5;<-NN`-mHMpV-~6oA(iECge?Lcx$M}9| zj9k#D4vM4I%g%=QNAW_44ja{G^B3@li|bK(AD~slkG#w2;SeqIxUHUnpx*DC&9Ro= zNMtj8ZsKZ2w~nzgI1}`QB_FI=p2p&`(T#kFR@TIZ+Ok7#XrQqp%7bwtFoJISN8c|> zk@de(JRl0Q9klb}r*dqP5lFC7*03hh>r0Dz`dM^Ma@bIDrD=-YmwM?&Ey<9j_T1ng zEdG?24qgs^)ExeJWnOn;%jn zzY#TlESQ9`bBu7x79!{TPF~MDe`Z~6@vS=5WcGJC^BF}d3MnVTMp;gdUk8tDMpEYG z(>{mi`xy(iYLlbfYZbo@5H=|E$il_{RE#U@aQvZB^wdI@SLyM?dj&1G@f`x?T!Gi_ z*INGc*pXpH>&XWbdkbcBOb1-_q>ln~y`HG^qrD?Brwj2|gdRu6r`rQ#*FkJ~)&X1E zAc9CnLS}N}g&LsN!SXcaK&p-ttG^yy#3?F%QR6o9qBrZis&92Diy2pa-_+4xOoPA% z$)WJAly;k^YIcd;mAsd)s9*q?6wvv5o`!yZx^v%I;;@{tZ?U~coJptmPCVnxl7Wr# zWT=X$e$nM0-{vp#0Q}1Od^~-;6!Gx_ywBYJEDAlI(4QrtXYhxK!Xlxbv5@yYAs>`2 zDq1b%e=LysW9E@xkCc4z)?NX%cRzz{kvG)TE;ge>9W=x&8x+Reqi;4>Q$m8| zLkm*Yjm))NsVTIZ;n{ChroR;aW|O?{u!MD@TjJpPFhQjY4uJ7 zeK~p|T4z3XAmUmJpT^=lp=EEEtdwN>PWh2@MkQ0q%5NK1kxscu$$!0;F!$ z>GOz|*4vNgjl~)~NrRPJ289az%E;KbxR`jFV-8Av<9vJr62w{S^Kz=Ta+D|X&yPjQ zNl|fSQBnx>EQsP7{d@}ih6(exrwgM!MFtBlIvRbsegTAPK?0Qkp>iWY1G=#Q9ZN<@ zj_r1g!YK+PLIIr_q)@KNR!A=dFvJDkugT$X@o~7d;tTZAv5{H>ZsHdMKLjzH{|e|c zhfr#p5Z&@@hp7iFRTPCFXo9^D+q6UaA~0YF|}MWek; zwpz)z_I6B%jdZd|Lic92a>bUDlAbsAB0NC7Fy{NJ(o8ZBmzVPE){`O?5n9^@C!CPc zZEffvhfa)B)Th4z^`s8+F*BR#tX3vA21d-G(+Ie7)4pFp;di6&>HsQ{@7ew} zUi%*KAl%(ICx;J-YkrXQcWV1=V$VAHrx)I*;`TP9+Q!H@aN$|wv}ktzc@6)vYH9nu zj_rDq4~DRyQF4^$F^-ilYpIZ99J$|JXRBRET0cm`uTaD?rTHmZmUn0t>EsG8z$!;1 zT!WKKjW(r4H&7OC6JU-DJ5AT-uTV9n(~m_(om)NUQ#ywa(1dO;qJ7HU@Nf<874I7z z!P8flb{?cT|4ExFLW1_a6Y*<9N5R9lz?wdJBmQtbDWywJko1$hJ#tlzTZNZ zoR)kjH2Cj>M}^*)Rzl^y_`@Xzunrepb8?r1F+eFGF(KsRZGnG*{-;U^>0i2fWm|XD|yx-x5&SBe|mMibEKdEw$6dzREJM)-C@9IO|KL|UxZ6wK(~Y1GG^@%)bw;j z9HKBpSk}AZzTo_yr0#7gvUHiqLHTuL$$}3r)lRI69ebOuC=|b|hS#XyMR(Gzfmhc_qq>P9aTdebRHHVP z$?hY2*Ez=@X6e_8IuB_0`WfQS@4o;>Wyv(eEkH83^s($K6iaQT$(rDK;jy|p@)A3)06U!#u z3miMCP~m?sGg}zfv~aEDb_N5TyVrx*n5&T78w`QaX=h3{cTfG@BnMc_tF^aiF--Yf&b}!o?KjZw+_e|C^;f^Fv_JfU)B@WjbE>#xbd$XsA!7$-n{o z4d)r}2^aQhvi&JQuJ`g8{A~zj7u|NJvu4-m(C!TBYnldDMxMtk&2R}h!N!^+CQ-6- zX_Ll8T5;Y!c5B8Zt7Z6z{Et|SC<+>+OyF;L0Z+$LdM%5xGvjabPlQ9MgQ4-F^u#+M z9UXrq4Nkd9}P{Askc; zHdKHMuQl1ywBNY)@^UpLyvY&NhoQAyJd~!!k2``gp~vB11Yq~wUGuFuuJqhuO`!t{ zr2hQ3VGY{Ld%|KkTZ*U#eyz0x&jJ69atTmOkpO4<6k>*0f=~jdcpIRz)~6{=1CW(o zZ*xb8pgVf56Z#=;M^A&(+Sfv>r;FIFSSEpUxvk5O0VnZYxy`=V^%^YrIX4$&IyyzY zdKwElr`X9Z@+KZ7`DOLQWKvf0Jq+miIw_-!uQ*wgNx&s?O{eptI6GC3H(@n7bJ@(m z%%ArTY^@wALQUTf%1Ll9HVS1Vc`h~$9)cK}_yyE6h+^W;x{$0?JKzbYY~zGOuwYJ> zTk2O=N6ib9eY&H~Y&z+T3sY@f`g3*CgNZCCOBUI&bHq%bA$d0uGmR02WsT+n{9FFAoQ<%7W`6vhm+wSP#`7dXa}M%{HV{Ofw#y2Z&pP#`k^?+y)VxPh!J=PR?LFx z``0opG%aL*ueoDoM!qnDJSlb2PcqB1YMxe{7bv*4PZa8dSQ!vMTZh*bJG1slAKM|y zFeU&g;=eFfMVJ(rUro1@#rb;`#YeA?_jAe4rSH@8!xk+F)%QKMCo0$DEh|s`l61ob z26V#wF)c&q4;3dHZ%e}5bsuO)_vPd5a+t8s&KFkjdh40d4vpv<-w-_dLO7PYunpxJ z)BQ*NSGYEMgrb7rObeB2m&!T)@}j*We;SMBV(Z^o5h+vBpnE1d^gTnbxpbco!ho%D zTQ7I&@b(fRVI9;&tk~;lDPA`^HjAmU2T+{@tRDO(w?5W({y4G8;42HxaG!h-AmnQT zI_TGhL_dQJgc`^C*w0)Ac__^rE<}NtW~LiNR}t4?T*r2QvH?2{;X8@SZRE6+*=tXZ zq=T#Jmxo_7JRyJD_T%3rIq=fBPlu}}Oe+hcW%rpg~q+MFDz< z+geM`-(&6cJs_y2uIz}msfc$^Hz9e1Kb*JTpR{TW6yj#EY5g{R0vJ8MPzB|B1_^$U zPU3LdZk@sT?h=6Zz`EYL2OmFd-da-~vadk`y)Ze)uZbZyM|vKd&s$Q`h4dzyiBE>< z`Dy23j-dg^B%afGn7ey3N}Qv-8leL-zvLUZI3+BwQrBte133|FV#kIWdoT^A81_@e z4!^~w544V4Xv%hqu+AzvHX8R?>8kH+Cvp~TTuPi=Y;vmI$t#UbR2>yH zLO_HN7d+%a0E(PqQFujVR8lg#Qaj<;;K3hD_4?4-sD?ZiW^-|re#A=@kX~7LMtw{u zO9|1cY~t3}pVlDr&O)zZ1&8V?mUIk-w>dBiTmqql3PIA=|MbGTo5NX3bX4o1>++x* zhG!1VT0-GzwXlBC=MQ5lnKk?SaLPQaBx6P~|{;U9XuNPfO=PudQQ|-CUEY>wVqsL9q;*zeHr^99%hsNHjbmX?X35 z>@~v^qt8hYDf5*Z95~bh)8}MZf9!{nhv8F2q7$Csge;j6P1)R&gKN#HxW+OaJzH1F ztGLRk3{i9Yl(`wy)kSkeCNm$>GTvKTxC8P{*riNts~hZ0lKnM3 zS1_`e#P(5v8OMgK5WA_vo@|2Sh`cTCvi*y$bZmT8c6pvsLTfcncam$35ITepz4DbW z&AsCDda}cnwxGaLb6wuL3jcfW66WH(a^ZKV%H@GNv?7v{M-6C(Wva}?i&mr_2S|Wx z&qsgqM{0{(;aqn|5yBQCR|B@RDv7d&L#Arv)V`&+w4skl6*T?01Ktj8suLX=DWd(i zFs2^u|0yQBFxP^>{kWA^PCW=eMql)g^A$ibspo`9+U3gEMGi?Y+n=X6=gKzSMfLoF!xEs{AAv4zQGQ59 z`$R(Q|NXk+8imL+W{w_p?=9J;*>be@j3nSaHI3pO1pfFs>5e)FJd7d1R`z`c0-50! z!Lx&KRq7YxT0cPfUNk_LhDP}yFa{st09XiXKUj!=Hwj#(e=NbhTc7%-dgOdy0UIyr zPg^h*f}QWkU8f8i_pMy-E_@ycz8{yn*aAp^t^-UyL+{6RON!q0@t2$dd)SzMQkK$< zy(f{OJq8AP;L5%wwpeh1k;gVdeBd$q3m+v5$pnoA^Wd8BSdXvxtOh5xCAanTSg8?! zg}%8J6}QUaLDt&%v?7_94}-=YoZiJv)h=BoGaa(#0H+x=lwoY}y-hH>4d*!Ytx?>feivSIsd`r0eKl|xh6L&>fE*q%<^&4vH4E(7TZ@+Us zlZ)c-3cHxZ03M<@afN{kZKS3jnWgYLb{QCp4VmV z19&Y(A$@WQ|HamBwb=WC`T6>m7))&V!d$k#4pDAbYy>QR;N6hDP3yscT|RkFzh39G ztHXc)vh=62d_*v<_Z)%FUS_Q)jy*2Pq3QWo@$!wIqM^Vd6c}Gp*qD~qR?O^sv#LLT zy~vUDNl=y8=9wVO-(0WyzU2w12j0=G>|=wt%#UT!16SKnck|JWO}=WGGzCe>KkbpL z##*!eP@IC!V`NX!CGpLvjc#Vv@}VJ+UFxSBDb1E8<8^!O%PQRX_hIv-d6O)39M-G* zNU0DkZfo|Vfw9S|M$vJKr)ZTuQI_9w&&`7hK5As^ku&8)X$)?nwXosnDLW4);u{QV z5{3!h>I1-fKT?;_UV;9vD`1a7FPnT5-E2o2d|7;@Q{tixa^-4sw_SQQay~x=K0(*+ zkijkXgLy_B$tU9auUCoyA%+J4i1zvPd-=>Y7NHXN`wEA5m$j!aYaNkxx)wm+ZMj`C zAU^10eI6SKLVDXt+zyG)yWO>Rlt-uaXuOex&K7pnE!huVI-=tovO2wG_>F|K80|nO zM86)w=OV|IM)yawyM#IP{LDyOu(Ef82v=_H1TjT9cq}nS^Y!Hd0lg_EPyv!kb88Ou zDH;C64o_MoqwspRfn?JdhKu90Be8{e&Zapm*;iK2L=C2&wR}3=$-AsEm}F`@=ONX% zHHCtANL?J|1rm|6ho|~%+OX$FLy1346cO1P##{=4xtNq$FS>xdic0BSEi%|GLbhdU zXej)wzF3vK`$(Dbe(t1fd;X?(e}^*eXz6clW?WAlG@!}sEph@JU@=%WG3X>y{Bbz{ zpkaOfT;KVJ(haIH=f@4lW^wy2@p7q(L=YIqC3j{=lf>Wuot0M(=3oF|fo=o_)pptn zEHcv-JLt<30qCKiM=8;fnX8w!%xoBy`y2tn*Vn{aP@ zi+A!NHVY#F)+_F6R$Yd>bf(x3!|mJP_^Rw^CJ;)&n8D5XZ~X=(Erms<9!T1Vk^;Z-foe@ksob_fFqT9r(NFgV(OF7W!0N zgHA+i)3kaf)kf^Hr0r%(MbsnuKCGsnO4x&DNo$7m6BA1D62JY&U4nqCc)789+DJmZ zNnPZ_dDwo(*ZDsSWP-T6y0>f^e|eNb#b(zWwkTf<3cxMoeI{{7{}#g7w05P2g96cn zjOvikZl@tWg}e`-e`u=Adw1;ww{4w_qmqtIpLzhtCD)}T^VQ4Gai&ix27%w~_VE$+ z|4UVtuuWg}b9Tq-R$ZZ_WA|Jaq)VVGJ*;i+&IazrHOs~$_z|4%HoH#iQ<0Xt{igEO zFM%!>rvABEJB4Me&xgmrj9`XjR8eE}b@Ff?05L%S<6+V!K(PZ8aP(+@&_-iOmsxg_ zUn{+pa!>Hy+K;@uNfs*N<5qCXg@d-^=80$hLz$ltUl37uF{SA-GZVlY{Wu}ZoaD)9 zvb?;W!do-?yPCy=__X0Ius5?eZD;VQdv0K2&VKIGnETz3H(Dq3UNaBbv>=S@fahNK z;A6b~N67nAMuRSfAXPs`=x^PO-zB3V7G_QsWv}e1!b#+YeD!R?U2}<%v&I;#tAX6E z-+5&Zk^_=o)9Dhk&@n&UBHCz;PHJ@Kbm{hD(r>AS*||-U&1PNGyO+0AZe`0oxja z-a@m$BbLDZuXm=v5P)6^%1phcTR4>(<|FW_s8onVZF(13IA!}srwxa}zbpDgJr?Po zuZ)M<$bXZ2-NJ7wp&fHVoxLLgGjU^Z6Ij{5fg;8d4-M&+^m;8RaJE_#9eXHd%;OF{$b*DHk!i%ah~3 ze+@b*1>oZAmkW0A>+RcEb3`pJxwSS(HoXA z1v%7d=H`%4J#Z!K;4Kvw`WRvU4~mP1YN5<;^O zv$T5ghS#rFw5MQY_IfO6tjm}eE>tv7#WjbjO`3%W`Lo!1*_y2I^xJDkxRuW_ms@UQ z;@JlVIdVtEW$>e31UF&KH|@R8K#*B-`>{=(T`mWyE{ko;6K3c26BC6^(?8Va6O{1C zK8b+mt?3bF#)3anM91dRhc|8R7RhUjQ@V^-mr`uPl5TeHxYKzc|MCeBjs>+RnV5bJ=3 zV)lj1mdVeoceh*2g_L{ZNCZs?Tfc4QrPBZ$H^oi*QbZ}}D*bI&SnoF*i6-7t*DT>Sp`z~UIqxny)6vpzBAHlMbW3raS!U?=Ki9CUur?vEsMg@ z>wIycA|VB6NJzDN2V-1K#D&3F84m7(6n;F+IEbG;c~r&U^^O~unW%}+V*0PBJvjCH zmSO@%C8NcJE8~7K85et?(fu5CE7UZ|WiyN)XqE>Ox`yS~*%&KKfBm~n&kx`7V{>9T zF}^2IQ< z72|sM6wzq@nsNlT=r^6}HeyWCfiqr6>%%mo_v(2$$IW5a+M>O(N3kMjugU$)p9z^O zDE%J6yg}M6a&E93Zj6az^TRaRnv?#)s+9|5cQqV2!R5MW!M65^*V!-hvlmTl(aps~ zI0Ctr*fg~Ll9_~#*^v78rF1U_WD6x-Rf>+rc1p1*%HT)8ia-<>7S2o2qHA)M2YU63 z(vEQF(h$8w^Vw6J!eRoY@BoC^HKZ>mI#Jqq$(`fRwn1R7tw3;cflsx8k{ zJ}oBd#P;|jM7*UYtk+OWea*~u-hU69!ft+!f@>aee|JQ@5e%^_Hs}JK71_I*wJS*JSr`JPoL^yzLEH?RLUO5jk^5IaZf|V+x?=>DrYE3 z(fUCa7Np+p+qkGMWg9%iZLVEGD}g`!rqHOa!>ZoYk)ADln>h7I1f`JEbYOn`1|YCC zz4xmf|4XU_9WX#$Qhi7LU({B?rxM4XTZVr8cc1TfD4`B#AHb=~k`%G_pI+x*3jW5H zK82rmI6hj&;OV#LLfO+meapQCiq_H0a%=FDmq5zoghoCIS_ADH4eKNNTA#={NLOiC zks|I{ON4kfnh5JwxTP{(S+J*HJFP}lh=F%?Tx9pTC%HExNqf@E{Sf zFS>0}Ls2XGQ9SG}#I?ge4f`3!MEmRStLrLe>{wgl5N0W_$r({=6+i+5hBc zDOhcpUAOLd`Y46p>{KUZO4gvO$~ppVcD`YV88ESuRH%7etI*rO&Yydpq)Vh2gV$(k zZaAcYvo}ICxpLpfH11zIe|o*yMF;s>V`#P`h-~0o`UuRtDcL8+2T^c&Tou zb^BU%7W6!9`_B)H1!PF_FJaiD1MGgu(P%;y~}_o(n-)7?J&!q{q)tqw#_M(ilvQEK0a!dr)Q^ zs!3v6Z5--bb(k=yLsK%|JGz*WoaH-WyG9yW7yP|hArNbs;iJWwApc`(MiOLal;7%1 zE;Ag(`@2uR+ni~L-zCmWi{R5qq5uVufTaalD|jxgWrFaHakG>;72y7t&T0cJjE%#A!Z!ymv^n9}|kWGmr+ow(4zXW1_|xxb2#4OUTp`p zSOhm(I~9D5y3aach}bN$Xb+X`$#Fh$r;NAFM#wu~lBh{>COhp#3+BweSo^*s=#PZW zYN^|ehoaAHnveqCmm!kjX>8@-en%Z#NVMqV)k&*Ssd_{0tBw)KG*Gy}9mY;Ic9FTC z3VZnOPCLKFuQPA@r{#T0Gt{EG;y69ixk;vp=Hq`M6x{!&bre%MV6?%eTTKlO$SZ!p zv;7cIj+-f@I5s2mNk9xpup<8Mh{-xvD4pDy@DVpln})b;D&5}N`u}LU2JSkyu6ttJ zNn_i#lctT`*tYGYF`A@}ZQE>Y+qRAKo%`PVjd6a!dG^?QVXisn3MsfzVZbdEt@UQ( z3jDrH2Smp^O*r@#QQQ(J*_aRTB*co03ca2pFsJSk{ zg^-ir>@j8ZK<>o*XEgr5mTs9*KKA`}oLX7*|^4p|}-!*gjDiKkpAc8NhA;mjTX=R0==)oWO8gFR7~xNGKZ-YmqfI zuLv>XYB0)WbrGaLkBaNmv#GTMFvsbnfhrq@;Osx~#~bAE>-l^0_ZdZocsw)c&_}u- z_IqJZzgJQ`hfM6jSNuvBoC@*Yq7kph*A({6hdaGhF+`@rz7pMG*W}*kAycU%cn-8O zMC&Zw(tmGN#x}-$#fJ!HVvey=R6wdY7*0xg7xK8v#iC(=|MaaX3b$et{O-lA=80+^ zku*nd9Vg`_`gBGJ_3C(kE*wh+APN6k9wGhFnU)sZ_cO9_M}`v*nS-Wvm|6*`MieE^ zDgX~e>-x8k>xo@Llhy-MyoDW^JPfYgqR{}1d=G8vIxyLzaxbl&FHj{-gEW*cj}-mk z7F)q;RG?dwjOdNrQDthA322TK{P9P#EYiS4;a1xD1Xm5bYE)HNo&6Gzx>*$P30Q^t;RIy^Ty`a1rA z{^6li#;LShPLS3Xj$XUMm-ZXvg$@f}2d9J9s>Q6svSUIZ>(3nKZles$Y);Oo1LJ}}sa`S$GQs5`O&9F7OOC%t`h6a@j>Oh?cN;00Crzu44Iro84JU z9N^Zk#wW!o)x^e^`AvbAU;Hv9KdD6+A`44SS^I)Z9|F54U0Rv(M_#2R0yeler=pID zT9O%$OQ)~Dd+9*C8Ky23t8{k4*ddz{hoQbAGhTNX+Jf# zIMIpC7t}O3u=P=hp|yYpQMDM3`fKX#SVq=%ZK)LFVtm~Ib*^0b_JfeIq%YFTOf@;H zRH8zJvx^Xzv?J+;&W~HYpEAJWJ+jgd^lwf$+UoNirOu{|cM!gbMuD7qG=6@V3jpIb zcU6dSegN73pVjT^&R11{W<49+%yq9Xf@M(`rT?#(hw}A7O~l5em@4?(#9Ai91opAw6eJ)snmFn4l|67)v`1bh>3Er-{E>#KsBb^zP{h;&YZk5sJ>6 zkUkPVzt!dEafm(cWcu=?5wf1HGSeIlH$46Em10A$<9}NZ2ro^LdK-u~@6S`kXgFsS z3l8b>(SLo()VW(S&b5jXMI>3t$ukkeAlO~%()X>BCSA-+ACVCY&lE-oMo=LaVGGGo z$JKP?oDDOwSTcS1BlQv!t)+nN!Q0^7dX%b6A(d_# zv~Kj$y+!WKWZ61qR;-{)KW{R*whWLDZoqcALN28W!IMh70JuXAQ$qT;@bckljl`+M z@6kSmT$y(4+AbnEr9klCPAseO5Q$23{*`c0G@QUCUk-FuA_F8$(76VFaSIL{a`jFb zc(l*-_3V1}U0m&$XNn1-lgxk5ikywPJxkF>v*hNA(JI%e+i_jpKDHvU;9JLVS#M!mr!Pz0 z#!}7eS@Gk|k>*?&xdS$!VaYJ1-RcBnC8K)Z*}KIn=KZp-_^RX=MKz{vE6POyJ8CNJ zqy^1o@*(Gzr8_4^OFT0yB%tM4rRQ@{U}vknBEa?Z2MR}J5w&I+LJpiJYAe2%UbKZg zzV@h@hR&S2RcNW6Y^%FtTsh&e!kCcPYUXEb`EoC`hg_W)GI{@FFpd77>XzWEF8(RX zy9(~nRf=H_=QDP7_@>oxMkvPnjf>z^vze@e>X z3kvvGPASj$;UNG@OKLwe_ClkXb zHVv{FZq15XWz8#xSPfrr$%gDNh3|TmO%Up)sy{8lw^7_kcBjzej)>YQy!xZ80P}mP zk_|aN6;x5WV>lEAwzM4DKacv2tfE)~yk0={FVz3TdYj38YQF$hRK~M(PmC{wwEpLB zLuS1=ikX9xK@9OL5p;V}4`n6$oFsM33jz#sS~6;eDJu!?)=1fh!_?&)Z;acjDylUe z@f0S%G%LVYIBz8hjTJvoas)+j{gn}Bm;Cu4F01V zj2rYroAr_<98%k_)SEN<)J-4WE9I})IiRA8v~zrJlq=o8vzYH=RIa)XJ*7yFGvm;S z1ln%rK8l6XObbOblEOC_nx}U_iAR9{Gqg1D$2r$Pr$j)B;iVM63lHadMB=Y6Q5b4W zG9iyPw&axYE50!fA&odcJJdIzZ3s|3?XX<-tesP_MfsXc+T!Eef5;G%7EMLA3(L*< zh$y?~xI97CAMfP8vT8#dT-bGvfXFGrLWa>Bdnr&VHWi(Q@K5 zpN2&&x8=bG%TZMt<$>^KOTSFgTN4w@v639p9WoeOcX&W@L=)Va2vG0>HoVN(>SZxz zgxidMJUksr&OJWfBu0q$;C5DD9_cV!!DES$^aW4mo0YW&?(E^*Lm~-I99265gmn}x zz9mpj98%Ok{C14m_n2j9u(OYkqG`IQW5a|jwOr`((Fo2aXjc6BC+pIE#V-&MR5P9R zDw6O2a|A$x6VQ`)s;`Z}#TzVZLQ=K~n1tty3a)X`Q58os+1E}K^)ZPdqs}*sne?NJ zKxz7uBQ;NE?HHtrDN@o#Im@LI$zSeusTIMTutN;E_>H@3>V?j|xYTmaL-Jh^=N0=> z-~=mRVu*Jr+wpFDNi&)ccFnBvt>&Y??&rrQ+X{}M7|!Vzc6Z^g)mO`B4L|1>lN@D1ums#3r|-7aQ+25JOzpu1uSBfZkRCb~ zraJEq7%fcTh%A_=%ZodXE>#tMbq#rY2Mpv}X%(S(iV9K_>z$ZgBoxrLjpZe`UsHav z9uoY??AN1(cJ9CTuYw3k1mJUeT>2S)o&$(i^7K%(Lxt9|zAocZih*0ev}nD*gP_Sl z_kj)qS`rQz_*kFyA z2kuc??b;rjlJeu1j;V=7Ak2I-Jw$QS1;s+E!D3z#lE2*8v1Zkuv}ztEhq4250>{+J z$zZYHZyk1zvc1quTza-obM5(JQ1i{i%URuL%ihS0(ILodVVSma(DvJQEhuN)44Y7= z^>-Twy22@6$)U)u`FNWQL$>}#s@F%|}4V~;-k#D92C z{HZtpCeBur{(yp_ad;86P~r;C5GW0R;Ffq6op{oK@tK!&jZxRbz7;B%;9((aDX_#& zo=W53-o8DLYCAx%#SM?3tpCA3i_5N=Bo7<+tw+raXemT@svLjDQhD#=WLDm4x1B(n z{e{ME5$MBVMhJr7jco@z&My9I?O8101!;U9{B=L>q=jOEpUJeKjRA2M9d8V}XxQI; zU%aD^k7CIzX7}Ti_*tv6m-AwYLcdKn zzA_YSG&BZyzwnfNYHbWB)Wn(?qe0hRo9;a?evOqJ(gdEEEc{L)vv6s<-Ra<&vE`r1 zqH@)pty3(_ECRZ+wQ;X`{^eh0jQ=2xMzE3CX}z+@1R}-eoB^S^A%1iQrhv@m_{)Da za3~*+-6^OeggLPWWk!*D&D@YB<@WuG0_Gr5RSeK7`Af!d%M5s8Yrj~HzH4mEWE;#) zs=gwVb%{yV(vhCiV!P<+6bdgusK$wKqF>;tpj=ODG9m z&RNR;{?oVBpva+r)=ml4Q2CE_r#q)YeW&~bb)tB>G4>6#7@UC}Th?N+{AUWPXHi8V zZ+;F}$+86{WA{Q{i0YIfCN0*1c>(rch;19mGX_bl0dyWHy_)Y@BcHjJ=9hDtGHztf zaTfg?Sea4DyJupiySrR^1+1H3Re1Emn-vgGV=yoH_o>4!4o}`z8_ml62PQHXzTmfC z-e)+}vgLARpexls$fu`=`;D{Y@wDEL=^Da}m^ETcqOhKxMph4a7;5PD)Xj7$_tcb; zj4KG}ZJi9gYs&pv+43s7Bvh9?D#BbZ%!p`GO-u8PKh-n zP3V{VrcBfi{ir3~lHGzF7LsX1tpErRnbR0>r*X1!*j!(IkM zMc3L#nfR29?{@Sng2iUz0}TX3llR-cB(S9Md|57FF&u_DzDbp=@zT|fADG!ccH%-e1M(>L@nz}_Sx$Jv<)V^ae38K-nTBk!gIQU7d zJfW+$z<%89JRlk9U$;s#8;Kw{kkPmZt_=f`M$m|x#nkC55h2Z6wchiKA-cn9q=tG_ zSt(sTeNuFqBY3;C7V7n|UNEQ%sO2)28+$;7g8xV7Ad+eFOdoe*#j#pqo=fs4QwMWh z_F;#D>rYggHBD+dLX1wpqG~uVomL#hK6!g;NNV<-R~88&UQ&Unu2rntCgZowSg zp%Yc7$;1l(v&6iatJlbVx^0mS0=H3PyoY?dVmPDIL#kOlPH4hvlizTl^~n15`{R-6 zIPFqxN@wCWPXv5GFQMF#hQ%>w!??#sKihR}9&7-DQf3kv`Zc(NvsF4{FeK+{0us(W zMG4dFEKt_j+Po5cJhCYM%zWDBTpwmqgWMT!Er;yGzZIQ+tdR(LVH0r1=vaD^5XGK_ zD=6w##!wY;UT)0DF`4!=)aOKX4|TbgY<6CbBm#mftXfBBo5%~05uG9H9&EZn3H_t| zvAo|DXzB)wJS`Fwa;(!UtgcmvZ}$@Bix zm$4G`LabQ!TnB`v?{4hhb7qe~QP)+(U@sN)C^wK=7l<#;6R4(z#So%dg8wb4grf9T zlVVN_D;*Uc(`Ld8D}h3=idJ7tSc<03voeiuYA3J#b@FRT!MO@ciMTFPY;3R}cG&;|{>Ovxa=)qIlnd%m8wpFLOHUm}ajYTUC4qF3 zwi7{%zJ(y?Wfu-oyIu2NN9p0g@*ycNq0@qARgK`>Drke4fJ5!bV#5qAdVcFF8tdS! zZzcLwpI&548Brd9rP@H97N}qO^p@*_9C7;ir{OwplqHL!Hv7-id$m+++8w0?Ic?x5 zjfQ|VrklDSqunV)!`Y4g{I@8AYrBd*v~u&c=Rm(IGs@y5dHQ| zG~CR_Y4|UwCXOPi5MSKcn>fBm{x_LB`*}b@53p!t7vPovjAHrErhF<#2ifeJDNzh3 zNiF_x0a&M#!KQ`Twh^cOF&R0LX_HpFqp3%ubWQy0S?|_~T9vFiEH0jep7^c-)4 z9~(_Yol)c(Em_z>!+UJ|J`^CyAtJe5hSv^LuLCnjCIA-+pbaS z=b)@dHH*gXP)EMj;%tM$VDuClpoS$Z(>LYQ{;~(G6j0daB%_PVZLRA%-T)5xu+Ej@ zV*}Cl5#t)TL6gnc3cNdcCXndnf8)8sb=XU{IMGJNT+A%H+i#v0hjz+r1h&UE6x4a@ z!a1u*xcF}!pPk<}_k)}@+(k|CgIvJl&1K1Q{k~IIQbwy1!E?T4!#k!+>04BG&&UWc zH@xw-{2dAM3^WT{w=YcRgtBV!h1iX)C19$%<$3Kydd1oOpyid0@0ja$*$nKyi3SUR zKstJ6!mpU&K0Vg{96Z^#f?(?UME|D}EwHN$|2XS$4MwKg)9QiMs6m@xEdQJHr$5Ot zaDt_)3iUMvN~q1})0qx=Qj!6Cl_cf#mz#yy3l5AQowj z*URL*yG=$|IODTtkOhI%2#&NKj+{wul|z)!m)4WRuZ%kr5O@jkxtZ zFza#muml}{4<#Ua)f+<8p)Mwv2!drs#bzeub&*#FF=E=+tN|*E`;h<{O2S6*?P9vX$VtbdYb;=5Su~)aLyg3hJA9*g~Min%nmeQ z0jesG1u>GR+T07|$!ac~qOde{fGSL)dnA4(BnO9y-#8#$-9HtQgR3LRPTgbBOGI$c@4^ecp*@?s)+fo#!T3!uqJu^*(2rciM1e-@k4TI11fB5(_So52;!Ym6Lsz zIcd*M(uXf5_Gm{)c$B{v-lO!;MZA$+YdUOE)309IxXR7pQoFg8I^%M+suv8=EhqYt zBhY)}-WbmpqB9WjAtWi6tC}j!%k~^gqGE+;2w?EKW6Qcj5AW>MvHT_J8i> zL;^?>4bt?vdgnVLYZHo)B~~->3c(w4uZ_2Bu9ZKgqzQc?Kqm+bIzh|E+}M8~vyR{w z89>kMbuM3EiHYp&>5)zR?L>kcxy~Y6oKxjvd^C$l|AL;0Iui#kzH~M|zH6UY>K5Di zLn~w10Og|c0L3hCs~(`XDc_h><9pQ}Q>y~lF8Io3c9JM#X?Rc$mKWWqY!r*5JAAkH z!lbxFfN{5g6@*XAc0#rZqk$Xk#mSM^_HNsh+&Kwk#)yTvJK4?&Di<5<$rQxrI13q35Dh@-AG3<;Qf{2QteCh zO@Z)>Bdyn4iKxfa3J@aHMJ4=ZvBt1oRGR{;X+~xW5~oGkqxShFcY}N0UkcX%C7qS| zzfm*&&wdUtq1t3ASr+o?I;aH!J6P9<&g~T$q$D}KquRb{bW(7@;iDJKQlo&&S(>gF8$L?Damf^Tm?UIt z`|&4KbM>e%$99nXfi}3spiB<~5x`G4`=e?4d8)iP*4_{6$_MHQ5wHZe1zL7+!^I#JX8$tmtoL~a1YE=3gQpNn zQLRJXg5R@ct-}aHpiN$FzoNeoO$NGe*={MK3;4A%7xH1#7rrbIS2o_0F^@Ua{3j!Yu( ze}Tf(;Wrony+dGOci8&&sbG^|D=g42ix!6<-Nxh<l{PcTRMb_lp3I!+6ezZUZ<#|%Bdv&Z*@Jx&RLsly;H~o7K z*OXGh4Z+J}Y62{r2Xu!_4o)x1&2v&sNAT5W>hrsO&kE!FI}jeQbq(jyk_sr#YsMf)_^APmzFn(TZT2FuzFC zG!x&?_(~?2pC>AqOA=MrtOt44uVry;%I#BrTQ9pNqtYp3u!G|}AP9IZ2K(R*_ z@At{&nk;HkTMkC7MuRmSh|CTT9kyzwCIpP{sp1S*qFYe3V(g&!!}}ffUtAc84vxSZ z;Q@||Nx5{?rsP}mroI{`k;n1Lzw9zw6KIZq<(P7^luuR=*PQ; zg)CpLJ$ilwQ&DOr`QMe4%nNXd>4v@q8Ivmg>@yGej8I{x(3@c|^8eH%~={ zZF1mrx#Ny~o_n9appnFQV_pk9MgZ_QORPFA7wNwjTW)5lESJgv!!K$s*1+qz?8YW@ z=zJ-SZBelRf${>8EInXc#(MujW709fNC3r7WBtfXTfGbM$+MIAzu1JK163wKl?kDE zsbjf7V@$kbx_ZD8@1pFf25)LD0yA4(RoawEj7h>fLbR=(=NJD#F~TZ9JV*R@`+7Nk zzEhw;f%Sg1yDaQS(y=h^h>Fb>QrZ{S?MhC|b6OJsAPjUG=@}z?3nkLy8&9LJOsy|7 z)8HDDM~sI{GvK$$?T21u!LESMlCd6Y-683$G;(yyOj}<@|Mwp^hgZGn{%|LxPEuw8 z*U^p_n8imV+dKXs57S`k<{N(>SV*4%LIFb^m@HO+4^Yr&g)svH&f|)FT{kFzAY>@o zI)q)_Py#a5sV^Y??6g0B!-cA60Y5d#Q; zCjB*7h;u{sL&<-M9}WdPCU7KG?9YleeJX~hQE4ZKc@-_u#F}k)rf!BwPvJ(*Nl}pE z=nYUS^ng<{O$&5W_7=8b`W;LzH^mbA(sUL6dEo}%_O_c8c;VnTH>ay*11n*Py-aLA z7rLK6dR^Be_*A7cCIeoUAK~s_L#oH?@-FlzQ=WV_lFaQNk--7$H-8!5BrK}S>J@Uj z>s!rGaT;#X&n9 z|G`32uCyrj*Qvan5jVp(VT{@rEiT7iQ&G5DRFW(N&saICi^hu?`P|D%_R~cz7Xc(! zo8;+QO|x;s;fgjKk$8zr?(hwHu}56+d~~CYfa+(4^%tH=IR7&>kaCcxeVI6Gx0ijN zS@M;V!4GQ+04*Qry!{YO0O*XaKYNzG8cOX7fx5OHU=wpREDq)PNc?~oC2 ziV}ouI#vZJ)PqUCb`I6!Xy4D6FVEz*qUio1uMcRpRh6#5!e&j&_@M(e#46x9OhW+$&+ zARn^>FhnH{^|Q^KYpuYrqaF;|%eWsPZ4lqi!b_yUZ$DogAdzv9oL^0-A!LqV`;EEc zq}QVv6DW@cT}Lb$GIX2-Z>MGreUh+%GXkaj&U3@&|4HVDeg;1P9H^Q?pG~plD=jIR z+ZoKJ8T{hsZPCMwb%+faapF0w;9Mb=yWs11k?E6vuS4`PPIgonpt zzW$8|Y!VN&@FLqUa;htqa?h-fS$Lq^e{rzDvQd^`VWVSSNVrlbc3mN_xa;r)+6H0HNMo^@bVU?i7@Rj zrLwm2g|Gu(cPi?cP&e6cgG%(;nISWxoFX@iYxa8)w5rH>BH<2&KjFYs!i;r~Wb zqn2?Y%?`rx%Kt-7zOcz7H}3fFFh2L9Y)^8o`z~Ihs@m$eDuoZv$c4rV6F|D0K+@E& zF4^?`%+*9n@RhX-YfPqN>hvV^+zr-row+Hpc)2X)*TkMn$wx?9%E@f5(x(x?Q!3mL zwmwoQs{jkT&Cev*%x{qQ4aISo0}=>r&>|SLPu-zn6hLz>l$gIP9n2GXbMWY+Irx8K z`yKl&w42O8Alj>~NP34HX6%1_Ckk9;$9W*)#QS=q8Z}?*YbiVZ3x`;*4czWPbn)i% z2i(&g0r7JO!E>N@eGG*LY3QFb@QK^h+e41H&wynhl60{kGq^(sx53cD@G!pHZi^L9 zl4Pg-=I0#}B$I>oyU)+wfD-6sFh}%%ZCiNuJ;j1T7G2B+JkXnz&$E>t=} zhR6uHA2Wr^Qion$I{vInHbIotJ3N11ol2yCx)h{yM0tx5w{vK`wmRqGetWcRJ{g9|ajm+kmB1Cc5zVlF?QcXJ3B2TM?DIR27`S1s(ql=+VYz#v|WL?D2 z5F}MFyALJ}vYN{`km1poye3MKj4rFO>Fux$#_^2<`a}IHuiUG%di)+om-uN&jW-&E294~TR?V(<|pHW2!$7p{QG{(U1+3mLYQVP2Y~e-plCr<>*}Trn$!qr zM?t&{C*_N4Y`yqZb9Eo)s_xe?(dZFp$3Jm1`ZNvM-ch9#Zj>sY9Q^HW;1d96zu5QL z1HmCblxuH5{AXk8-Wrck(BiZ`SerG@#@S#&$el&~?}ns+jdxS(&9j*iBeSq|a4{xn zLaKV0V9RDtlG}@pG;GT!-|IIOCNzX*VH@x1vlEB{tZJS~%8zqlYYdKy$BlJ~_hOya z?5i_PiB&Q@w@fCTaL=Y<#Hyut6V0aUuCAYf<-v2W+2-xOlpsn!V-n4O`6G8iR~nMb zEwQkPncyuvO4iO(LM|y-oG;IJHP4=1!5Dku*eyAvDfMy(pQ^)=lbr(rZ#(pyVmTe@kb3(@HkMkUTs>UkiSq;REmgezX!wpwkheIE_7=eIp18aejY$7 zfC3)2q10a~RG3Q>+HDF|UQw9NDZX;G)_n#y%T%iNK*Rm^qy5%~7#E%ow&tyLS(AE% z?Csn-V*VYy;0Q~F@OSP{@C3thW2jlpb}2PUiR7KpCR!-s_S4~WB`~fa<@49$5*HRE zBoclDpt&dUh;B#rm31{qzxNlZOW^kJYAb)Gr`e!t2VYHtsoF6E5s;dozx2QE!CP31 zkc4U3-@^OW$ysRZzBS{7=Z+~0+&gMuT7`gKeGj3=WKU;p`9^!q{%Ng+ z+`XW1(Eby(@KcYeue?Bwx@O}KsZ&ytl6bx{kU~gSQ<_P!Ea1=x|(S9^5&Sw@A zK$vV}f5qGv0j#x|0$r+h#*hf*VS>CxctvRyao2)7TQy~(!VREeAajpI2L35ZQ6-==>Q(rUGtFfZ{Y9y6XC3yXDY^{3KkG{X!P6^~M~CNTI3 z_%$JKq}G{@E<)Ehlg~K0Q4O~ud>0R7UkmZ`M8%e!wi@G3(9c1V3d`~43lFt1S-PFZ zJ;*4@y@PfJs>z}f(XrFLZHoEOTPH~32~oIbS6IDiHbbGg;j_;nJrXZdVVny|$idly zcveV-z$ZF@NT`1>XYO-C0MQSFR&_&u1{bvOv0NM+9uu1>anLuluV6|2YyIcV#YsrA zcVZh((=A;n(r-r3z4%dlU1g3XL{0Wj=C17leLo09HU7QIg zr7ePjo)L?X-ofbSTT+T7y%v_sy%cS~a#pA86KIXad$7vT+*QZaP$b8YZ_Z`hL%XAV zQ&v$ID@Ii(Zxp6egwTo4OqV-6^%F^Ctj&SxJ@>6V|_xUK#EPBu~gB|L)^^c z9%3du)vnV8L%6r+8)Gf@p+`2_px!{^zVol5|AdAm^nZm+=Mx1kn9spmiXV4JpJro( zkl<_mIfvika=!Xkxx^7y)DNfhjoLV)5=2Jx`@71ELRU_|OJOzSUJjmTVF%{$)`+H4 z(iVL+=RrwpAmS`37YDgGHeuJRN$*g=O5MX|Biu3H2tzJs?34H zu@F7-dbU!;Wj3UF0#wR0udWD4cL7^0^VjT1zExl$6Fen=x23{YtHp%o@TH5GU@K+~>Ip>3r z<{zM?C8;di2KV1n+om>pJ|Xn<5=v=kNn>BtWEGGbEc5?M@?$i+v8ufY)0uHS`!u$* zh!CS@J{lC|JXaWH|1N+AM74Kinb}^ED4CL1=|cGlYo1@~;pKQoM?O&Ywpy8lEeCAZ zb2+6~IgUJ_%H=n1*@ylTL4ymK!Ts-R2?qc3lTfD46YqaPf4bVS1=3b^qg=ILIeuYZ z+zvBSlijGYO53z znzN8PDyDY4drtpoeA&&pl(&;ddY zqY*nEKwe~s*^ZGYSr^8s%L`TcG3O|YVTP*U>Vf{fD#X+ z+?l7_OgeHfg@Cgrj(EPAcvAo7Nr;H?^qyof@z&Tzv{;s&$>r3$|4zlJD5rCXdNFB- z`E&k`^8?DRBbvH8y3igT@J>6o%vRH1gIWCkj;SXJeV;MHnWU4mlK>G~$Y(}}E z>Fw!%m)g<<+3c3qmJ>O-t$x_+Ip8~i=cvVJaq7oE6#Z&MD#Osyx%)kGY`+AnfLF~} zZYFH{o~7bLLI)TWxK!;v5#Z=@g>JSOp7eTBGpd&ZUX5(KvAJ}zwT-Wy?xwj}YNdaj zr;M5Z+kUJ)waba1qxS1c6&MBb#>hlU|F5bsWnO-QI2eCAt$UqI7lwGo6}sJiLA-x< z^%{mM7B4?maB$;y$meg_ZIIu z7(KM;GBTs>JG))qxV53LS$>rcRoMPavTnD{q_HN3 zxc-HOmWz@d7|^WOfBST)JM?_bd}*w&rYlkaQKQ{FBivh>u&2cCx9QQa5_ZFU5so3k zHXbwoW*-{)v6dJU3mZlHDPj38QKGL1weGB#xVnOO;v>Moj8#*Y4FDR+ZFBYaWDZyIl+4$2IzMcHdpaD zAGKh2dOWjb%)I=lAf&Vma$cM)K#CJ^EmGMKQaXDRmqW7aO5T_WMsy`t`;if;B&iLL z;gFdn4UX$^g8%%b8OLA{<}uE8t3T$+016K2qpto{B02Ij`^MS*&TZs#$~B~wi1Jhh zu%ae0fk8n&h@u1$f((P^;?INHQg@8!32ObksfnFyIU_N5k$} zp~a>@*cBC6vmr+10)W}nG$!9!g)s)~HDsV#Z zl`nv}L)eSvtuNI9+~-Pn$|3pO9cj;Zz}v>V|Uo{%*Yl5`SI$J3yuRj&KdSg)9u^{q^T4%qWV`xzI-T9Pv61v724b4m3sS^LrOLb zzzf+G$parn&;gGbiJ&8~LQSKRvodwisnZz*fuGhG7HU}+mzA$|mr~`kCJJ4yyp*?w zXf`^gIB!%$kW5_ZzNT_s!TdTjJXe44D-9897+h>@PHhgZ*==tL^=fSNx^G^5-7H4hM2oW0ulnnw>4IKC2UrBx zN9g_JcC40UHK{#5ZQvtZC?-ck*;XsBfF}Z<%of^OXPU|)-f5l$+osxaG$FAc(#4}8R2X;z< zYVD>u&}{XePOyo+e>_HI@5#L0E;##&b$^Mk`{G^K)BSEkts2RDUq@B7wn)lsi?H4D+JN(9vU zUWN7Kh9v7qFL8(4T3erY$EmXru|%@>A=657kB4}uMk zKIQ%43n^&y3qVs?`FT@F^`_={HgDuvjG%-2j6rf z-1)|6QC*ZOB*ad5S?gE89+;hs_?Kj zR1RL(GkRr%PEV+ot4Rmnz;xl%JsE@pwbjoC!1k(H03!6nTZnj*mI4u#Ja?%{L=z$+ZauoLmw=~Ecir7paYCl; zSB{eJl=))`gzNa_@6IRZ{;P4DWa3Ne=pu^@#0H9Tr9wi8D2C-+OzLBSJx!_A|J2Qf z&U*U)wbU$jLcEGvwq-}4Tc&~nE{mJm7tvi;T%gD1i%2D=%iG73WWSWE@b{M5>N4gWg zHecqjj&T#PLH$|wksp>jx|T%XBAwj?WnC|H_oO0tS!ZwG;Jx}M=b=z8%L_r%!cm3w zh_CYsCA8z{(}CpnXJJ#w`5%1p!az-ahQG941%Xa704Q+&6`GL~p+3M51G_9{{r_AL zzWtUuW+4aoAVW_wJG~TNcFubEv2dXWj>swhv0S!j@6YjV4Hjs8T+8$sS|0Gd8_Vji z>lIC^5o(I9fF{5W8p{{+H>joqsL~Y}GEGb0{CG+U$G6E$J=a8zYlSlrrhU5un zp_JNIpnURp(;QIl5jg9~v@ zwVd+ssJ3 zwd+*7xW^9H&A;Mb(z?zri(q7Xyf1g7^!~;P`*dYDa15n+b1sI7en(2ddzGE{5%GAh zyCHh%9QMDAT0Lo2#k<{LBZ0?R1b(|qM&4lY1DeF8GLK#UahZ$1H4o3{}!5btDzcvC?lcrJ@N|dg9XUq=Ym8uj|*3nS$utf zi87RbYt8Z~3mrKO-rEE#+=7K@x5Amt% z;k3iJxek*ntXq6?c+C36dm#Rlbn?XCE>b^cQ?>x_GW6Xz;-Dj?8G5fC7*&-9IWp4HW9| z)$4~%dmExW$siIkut5B)XOts>)k=+oshfnUz6t%o6`Y-!D{wz(;rqKO;H$n5+BLl1 zGpB&iP#n*WuvY;cOz<20iYvq! z@#IZLFGCc-0w`7KTECECG;4!S8U%A2i$ zN0(^Qr{(v9qBWHx3;t3xZfn1?7-49Rpw6sGkmeh1w7*yqxN{#?%yk-rFG+hU7q#gH zW!vAIqqKJRZk>HE5nTQdE|qaU^X#ZS>b*NZ?qj@ZzVJocevq9-2c$q-hq@!$?NGc= zH-?y5{whjX1Q|ywDW6mwGb-#iy+CPPfRPr_|4@gPuROflP3GV?n1sMy-xDy>knhbQ zkUmGu6W#ZJr$93;knu5a)OOti?^nRqpnFHNF0WzNL1|gwc7aHp&Jd?Z5yP$KTld$P zhx>gZ!t@7y1&K+I)%s@g2U>!jXGEQ$8I$rGo;10x7De-MkqhBq--`D?G1()@`LaK9 zHj(p?w}Yn+&lf5Z3UFFPJ^Iu%D86S8t-NUwDyz4Z_+`mY8SWq<zG{JI2>2JjtiqNT3Fp0{6q^LZYw&;8nuKtEoHJz8 zb5VFlWhMk{c`GcPWi}g6Lkp^y8fg6x8RL!!i&YT+7PB?{;ID-dKjM9OJri+W94pCA zpuw2UV0}13X9<2$y}seUjD$FBJUcB~u*(1Bifcm+U30{BCG6yX*lYL!?R&`SbF3wq zD|GP4`&h8R&o3gEJOFp6Id40K5^I9pUblz3mtJpe8tjKOabsCdf=6t``WDZHp7QfZ zRw9^1)dV^}pg*qi_BYhgfLyc%vV&oYzS{hDtQ;SaIM`Z4$En$y>(E6yRqv-D{1cc?y;)L3$ z{M^zx*(!TjeSLKqH#(>0H1$pQVmU56UHJp#nnX$gE!spweVA-tyJX2y>K&yS#s1Rm zh}1@SMfM^`cm1ye%@udCX}>_4+~9NJfVEUZC>`u~#xuO|3sFFohQpn*N;XG)8+wGR zHwmhPI@J(9G{E8CCjeVP9X?<<>57ON9NMjPnF*=!r+^4m!yaN=fC820^CJ@!4x z{Q3WAy5`5a|DRjitL@dcZQEFF`_{JIuC}|{)@s{WZR_bi`#yib{o&@FoSdBGl}z*7 zV5EM-lsVB*XU#cN@vOr&AAPcN>M3MZl|8&?Wyxi<(uow65Xvj`n$;_QjgRl%k~e-O z%7RAd{809@S)M+Fq~V5)9QcH7z6yK<-d5|=Z;L(++S1(Jq4c@iJHIsvbUEm=bio;U zZBBhEL3FKyoUF*s(^nkMC`^_anEm67zDO1MAO#Iwq$)i)YfG9 zZMhxsp!8|RUj~1&4Khz8Z5m(Wo#*(@G5RSAL{X!j^DD2Xu%ao?pKoZ!xOV1`A z;ki>03I-USvU#UTd95Hj&u2niTx<^A@ar8%sCHYJ247S2@_`oO4+mO{z75dVfHFZD z=fWO;TBj{C(svDCH#-kfofbs7r~aW$@CO-{iW=o(M{4*`TCXpbzh8EHmD1;9Z-GR6 zD~sM6x`y_;hM@b}i|&DT4X0@8ag_K7R)78C;_-4r)iqGbswisbfa|F3Y-k04SgIO* zHB=HR%xQQskxP%|vq*u{#JmX9cu62he^Y+a0g)L;gU9>S$k?5SrQSf3`$tp1PfV1?3GaAl_6UV!tO&9FA8@LVM9Tx=wzpPtwQ4`6UaF@;s|s!{jvbNN^{5 zwS!7c?lPSu?i5fX?fTa|zq1Q7UT5sl8Sb^Tx^ji}jX8IUt6Wn<-%DQ7zNJp+t+(rw z$JX37pF6?K`SdpK^N{64%%1iO>+9_)zspu_hxbwY+mwD$I(%NV)zeZ*`SNs*Ce`1{ zRkgz;=h~Tp6`G$kQb^e87?{u_D$UU+vAX*l`V>=FV@Y8TYJS%GYlE(Tz%!ISJrTxw zn72I{Q|dFDrZ#{tP0OX|B=ZpRQu{tYTfo=1o}CJbq+@lUxC{$f;*todLE~0_zW!h& zfC76-{euh<*S`199M|KZfVA)nFa?P3)0T$@UD)t%&k z1XdStam)1AS)R=9@{oQ@k$vmNd@@0dujRE@GE;cAhh3@&`S?L%O>>M34KFBBPG#~z zVw(-@t36L^1dv~F4FCCo1=Ml+wF-J2NDk^Kip)Oq>O=c!M_>8pSrfZyD&66S5n}UK z{Q+nH-QJDkz{8?_jNBF+%kFgeO{3V9IONJh*^Q`kS~+Pame)*Fws{ z8KrFJ@qkF{*>oE{eg#g5j*NFXuRDM_CklZO?j0|MX8 z_#(E%B7Xy!jI$I@e6mQ4uNs{l@~@jbhyJsR!#EHmSCQ`3N0xS%K}Cgsk0SAT(-wlM zq4xT)!Q;u?vid?PgE?<|fjN$$CHPffNUK@|PJ&vfK9@;DDyB@N1$+qdYh8{O@dSUItq@#e} zMgpsHc5^nCj&I1P+Sb(+cN*$Uug7S0=vvg70N$Em$44)<8t+-{`T|T@K4h#l2+Aqn z#VxqwqaG=i)Z5T0+Q$-gKco7+KlUxrW;D;oUZFHV=ut1NEy(JpEkz(`FI3TT3ng_& zi5P7FPWH8D-C1t?sB;pa*9xQwTaJjVq+n^Q7`!HuXX$ofF z_v4voF0Lu})j{C3B1|3^hNw?0mU=~Hzpj8GkoW#1`l9TM zL;rSL+K&``0PjZS{Q9(loyJ2F{B=p-X#bcRAuSoY{;6xu@A8rL>Sb9yO6oCebdg{b zMUxs%rp;a>^Y%HlnJGT%s%rML+ndA@@Vprb$cV3nU?CLqH^CSJ0fjKa2#o5b3qtxs zls;Oat5;FpW~J(~P+onasw=EsQ(bP06F1#MNWNy!)55?utpO2)3_=qpAd%|=+h5z7^^AyW>2G~J`!&Vs_0)7%vn9;JO++BMyXNKW<5-pg zGwIjR7a3hyQl?<6)aOD;9CdYLbG;9Gcq6~PUn9A6`NS^qa@CJvLQ#%XCh~RPb%_9_-Z_XyeY)KN- zVM{dv*mwiF`jbXPO^srpDrSMTLK0;dkae$W-9;d39GGQ4GM%gdU-@hc43x!pa}pPm zou6B|Y7b}1)*%Ic@?9NPl^$9ljX2SMXftl$kfWjEEchEczSQHeRPvDd?XJeraPnc?|@ z@iy7SbX8+h!@KR7O-i)pC!X(BWWVV#t*(gVNT^yx)?$ot&$wN6fT?(L@ z;V{eOr@z`?$>0Q$(^leMHo4Jl4+oyIT>IB<;qwcSaOQ?jW}CWC!@iZDqRx-e z7YDJc=VDbTglXtCU}$Lq&xd&%Z~%>CtV+Y_F<`)SEh{DfM-5oAR4nLW%S(ynV2+}2 zC4KNctvt9^@Qkj`C&ow`8%|A0cTpeONU5O31SekSSRqM-Q}<#@x|7o7lqkQ`D!ln6 z@~Q&B!#GhWyHcQA^3Ai6gtxK7e>js&S)(BZ?EK7a?vWPx<$48qh}2@5f~p3&IZTkf zwR!4mVrZ6>a7ZajN`P>wHATk!9bN24M))83EPWEM!vG6bZ7+dx_-fJ|$ZwRYv@wNc zmzbBXEOJ(IO$So-r)Mz^#Whtr3IJuv^{CTqNbUePum_=yW=HDz$cwy&mi<%JLeqD| zsXa8WEp0kX0#=3fyPAa*8Hm8%?fi4=H(_df*Balt6koJM2nI~Jkd1&mH=shTECV5J zSgiS%O#o0qOg2?esrEOO@Ud=JUsiZbUt!qF*{@dzWt~=%G_1z%Rdy(P;0b0Ia%@aM zmi;RJPVH7u?J3ArG@;i$lDJsZ8tQZ7nU61+DE?snq=r)*iG()j%H%=Z=kVVj|p$S_zk7WzZ?=JZl>R7&h*Ovp7k#CXnB1S-l!7lFA0oDy)u{818lPd^%iG{ZzC^EXV^3b3d0Be}PnW z?Bj+~rul)b#smeG*LZ;sWdmUO{9Fapiln>k2&z6`xBmbQ<{nuKwG~3ZM9ad{Ai_Ze z=CL>2Mv`5MjjjXza~3gB;bWkY$z0@DxnXvOCoH$p@yL+sI5>Z6>6(X^+3VS4B64HM z@Uu~2<1vnQTlm`P0qxD?WRWb}32c+u3wR_|7NsfbrRk!=8^$Ew_?NTecy@wjRZ$5! z7NpY?`B#Z0U9bvTQnKJCd#P+`@^nweVY;J9->9C25~n$%){0J}6jbt^Yxb*oob-;= z1xSwf_IU!68|1IS1U|pqruf^8^fN0razRhlvP5vb=yMZaJLw>D?%2 z4qAar=VtzAL)0wbLkOs^-M;W&;Re?qL1Yhf*MXH1?cxo>b%mGk3?znJ@8oqX;h|c# zxE<%e*}jXqrMo-hfz83_Oafi$y(ir)p)c_W9JtAbO3WJyV`~-+_1G?T8FwXJ-4}vO zq&n3k4kB(@hy`Qy!dcW=2gVN}Uu8qs1*gBM;hQsRwb^slT#A=>Ki>w;>c0qws4x62 z=AG#mEG}o{A&$pTcacxjUMlm)d-m}#wcZe|{`nF36zg(^6Qm_SWcj(xI0c#7hT-$xlVEv-Wg z`sVXtGGu9?R$ISkEJX=_*Xp*G7pZSRytMmTbP7b zQSmz8X*WVg>MI>Hk-Xp1K+VvH9Rp?)0l1l8EAU7SDI>ez7m~q|KwJQstD4c#3xkYe zw+7i>+(AIEsbG5Q)gvKj4mP(y>y~@w<}b-yYFW?0up!*wLZM82$v~FAe=gENs69!_jn3Y3l*}(yLJ|1NlbIdt0bpE)+omz}>*oU;5KD;H-RV@OnSF?}@6j z^3m{Dv$@s9cBA+OXT6~tBzjU?XX7|~WqQUqcyGTM&0-V_zP~pXv=#Yn-R`3%10xk=r zl2L<2BsD+n#L4>%m#eh{oCc#`Vw#DJ$D`G?7fNS{>Pd;MQRy@qVHPk*g6~;sj~-K2 zNbT?z?TKWUpfG(yH7ne_`oX4GPSnFsHUz&(ic%)qV>YH9bNu*ohu{wqDdfMdb`$e~=>*UZyH=OW6o^^Hx2v-SpBn_?93elQ?qv#T zIGvo<8*WVzyMW1fcL}&a`Hp-8HX$oiNags!u?Q2|Iz}q@yVxHV{i6~V#HNTGs`8{w zJ(vG?)CNa;=vc_GOP5-v{B`*B>a~>z5NnS3*V(0{CseHg{2h3UExyywp5kuWMY7c~ z-BpB|jq2DT*01n{ZVst!1!nl?W3VS{uKwrEku{8;P=#%Y5M9Prto{?O{Au3DaSeu% z55XfLYM`ntBx{bNu_|^+&2Hc64O2juE-Je+cUxeDF2%DU$9?3y?I@u!h%n_8QFFk% zr>PB?zUGyoe#Dy`+!+dN8BKI^tM1qn z%syV+KM}AAUHjbe@bNaCL$A4dH=)bk<(BTa|H0?HWZL0N)Tfm-@w5FKtmt0E?a932 z*HI*rN?;?0uyy|ZnE`Qhk<{Mpm7xabe#-nPSmlIBNZhDo!+j(Nm=F~~K^~n>>@nGy zsE(>Azv5n2nqtbqh5L%OL(87;2o9KmUB^TYm_^oR2nz?a@^V$rqh;F33- zpC<`+yxTk7ZQSu1?51?svwCN&c~dc+b)rOW+Pg%i;!sl=MnrGLt|P=NJi>uzRv$F5 zPC-b3+MR0&t1c*|zRl@yDE>EQ*w-B@XxI5Xw?zAVzY6?s958bXSagCr_h2eHUAn#r z>NN-<&t~X{u6wg|^=gvLmufU4LthvLnUOx#K7?iPkAG6m`}-W0BRb#b3fhXP-Eyd@O=YvhfQvP@jCL?Ms$?y zrG4C+$**&`(Gqr3eb9b?CS7F8#(+HwjaRoOHq`3unT#?r{s!SBzFm@MWPN=kQ;Ac| z;M6>LuUj?uv8-%W7;&%re!p~I9jo82BoiI^z4BdoFPnH%ZJa=G5dHS~wVt@g`+n9! zU%BlotPGzN2n@BxV@&12z+@roy69Q2G4ZBr!-wMt2gIrt@I|QSrO1%TC7p%wZ@{** zGzK3DXBgfj{Cr2&f)_Fh7m1mf2`s_|KydvkyodB*tFd5Io{)GTfM*HVLTE6ppC%Vao9@9fgXcYV+M^u zHE%uUFn+JlSF^i+O=p1x2$vvaf7X#sx~Weij!bjafKi`M@lL~UNY z^?a@Y12}_nZ}!s?4E;BMTinjtrR4GuUI~BoWH~|X<73L7JN!5sRe$63TG{UA^-l>8 zL%aF!z}oV=s8F(@N;K4bA8K$EL@QShj>koXS_%HtL3y4)*qgKspy4DJ?#S+gug_!c z?#4bXZBOx;QV1Lz+&b`^iSA;Lt4G=xj^0{OLyrlU!>2$PY44qF6xS(3g+O(4ktVv7BsxI-m(;%{lY5i&1TRkep2@-Cow=5(da$>5iy( zEUAM>-VWq65GLSfD0c>*UE2Yvmor z$6_BFcVU%jqWK>c&YFc1enFAUUNs(4+26G?6Vf5%0Kd@ypYp9v;K9L8?i2ibSD9jx zth${!4{=zAz71OYGmgh4^E>E?e*UZ~%zm{%1Jbgk%DfuhC84%>h9B|uGo%|)2fQxi zI|^2F{WJAY0haU%zm3bBA@0zN5ze1G$6z?%UJYrcJPs11W=tpz>=<`?wLj(epWL*g zalXnce`FVkf0aZCG>IH=gDJN8lpX7ZJ9iv5-n87=mRQm~nUx1U>xFd9O%|8iS>!!Y zpUGvDLK{F->Ae1g2K^P&r$zQ8zZu;!%}f$hcnE&ZRa!^wSX2ESh2jnAQsJ>nzR@x3 zCis=_oYd!B#`cA;8DRaMnF`3#)}Mgw9+%X|Ud;Pw*u{Xf1YA5#vpQ9Grt|Jam^7jI zacmq#6nW)~CAUIAtq;~Ux4Hc8H2ra3gctOdje@3S7Xj));&^l`6bY`+=bs0;pyfSe zXENIj)dIXesq`Ju;C#ws8TMNYo$8jRD!E9FSzl&e{cl3x$s+%awuX-AFXW42fssk* zxASBBM=l^w3O3%Z6E!_7-CI4!AsL=*jwA#M240kG*3NW?TObFvCx zYa`X)5M-9i?K{(?fDj1z%oaG5+LxxR2sy8^uLc$kl1DxVsi;P{5<@YVTC#6L=_2J^ zN<>ZXUeEn7nhwB<8#iB&3BQc^r7;kVR}Rqtn<7@!VY3pz%j!>HTqQ$ z{Vlh%L;kFZ`^HiQeyuy2?t6+#R#_ud&HD%w&vI#0r1?@k7T|DEYMI)1+&PMOCgD8K zDRmx6L6#&T2lQ9xf@~n`|{1s{vomw!X*yvZ<5rRLT%;K+N-~dn$dGg#Jv(M&xd## zTpQWDGlcETF28&H$w9Q!@7`u@P*y|p&pfO^@W)5(Q?u8~Hj}?v2u@p)rJ6scHTPog zwkA!ICorq?VWkg|d`6kw8MP-3%ao3je*kSqA*>g!;wK%Ld#$V#|T z-(cQIR;^O)Vf1CecDR1)DBGi>J1C{C8w2hXg4KxzRxF#szqzEp_D2$>UqTeCp}}Fo z`Lc^0qhju_Pmc{gJ};JLS=CTwK8L3I_~R-h!)yVZRRvfEszN?H@!`d}&E?W|9%u{x z7rD^2r_)A3^RznNdL&6eKAH!hCc2-sX1fCJtcgE*%$3wshl(d-$yZ^JiH1B|2QqTzoIM9 z_@YO7V_8y>R?BG&Ax=fwE+bN*f3(SjNCQsC9;&Uo<1&t>780v1YX(z!VBG z6wHbn@xA-kZ%qEAJt;>TnbRS`qdf^ImBd+ew^d$p<;}|m(EnWZ7PXbAZ~iE^ZSB=- zr9v~ZqiKRzd|as@OLw0|_^=JX-2`gx;W6ST>~zK)ek#In4?1Ljyg4>{kH^KZTVC5+ z_&C#WI3hu7`3)WA(Dwo4aMQDnr>@46&@nlR0%oy1r*ndqXs_rD4@cb$VZCpYmA0Vf zCGkL9*+r~}b(zKF(=Bc*y(cs;$x9={(3spr9 z_`dX_E3TNtpldy(a4T6&Z;07xnA1A%|ick-!6rV~Ia+==a zC=AMK@$6OW9}>*-k7+6r)QUOJjd<>81l{1Z{Yz<0-wLvT2`9&Aa5tB%8QcT@Z0OojqQ$x$ zC|Vj`XQ;zGPHeWZl(XB4-)eyoi>u}NBIoc*+`33n5BWS;FDK8ecmGpG#`S$ZRM|7C*Y~C8ni)^ zLkVBfOSi6V8??!wYfk34d&mBx53Q4E{?@2gof>$FzG;3pd&5&!fO#{UZ<=v2pYw)D~{7K-`hLf@ZUWf4E|9rNOve z2E;q#2{p{r2aUkjvoN82-wG5JMFeHbuzE*>3Q?F+*$NxKHG@7fL5R0sgDl+@TZ%O* z>3XmzW^(lBlm4M3lW1P~cx{qL<*)Y^AlkIiR50@cUCnAK=U?z)Fq^IOyI`%;p~Ei)5(XJfAg7ALr9O5@qbiynJvoQ+*8;5xEN6&B$j0h3gEg}&k%Gz zx@tLR52#3?6<69C(gx7LTSAcQLn<}_KHi2zjM`_h!e991nrPXJGypfpPwdUz?oK7>0@(_WryljEP)B!gFP ztf!xLX9u^#Y$U~G3OKoh3&D!V^^d4hALTU^p5K+);|$|$b-qvdraMzU=M@G`o4b6{ z^4zcX70h*bL*H5y$?k18&-KIEIRgs6ErhS6`epNeMUS1#(Ked7*%(M7(eGLFbpH_} z1dXqCPshCy@p-fKbAFeF_8Nc*Lf`=M$iA=JPa!`sqOH=F!(Af(gNwWxOj$?)@lLiz z4We3BnRAv2KAwCg(nWZ?=XE8mGzH|zr|=7Wjy^urn%z?-QxPWUE7r}|5)}>(N58{p zgz)|bh9IvGC|!BV^w^Y6n7&JWDqP{Tgd&xP-RStSNDF$4DD~RUoc`9qyUATd({>Jb z@dO|kbDNG&E3@bAtWeVTsaUiPi|RaCfRQXfh6Zm=kH~@$`cK?^iCMjAFN^Y3!A7Tp zaz85-6qK(ZH9FLvxpCIm;yOjU5Q%b|pRm{@g#!blFeoL?QdvJFs5C0TGwd-<*|T^Z zw3@;~qV_AJ+N{kDL}$*?Sh6P2zjivzyZ+76Ayo!sw;l$QKu(~Ta1g@!j2Q@imFO1* z5tsBsU#~wWKe~x=1hOEOOez=c$(Ctm#~HJy!1WO9yye`C=oNDW!(KCCSj6=^0N8$6}wtsy~cD$3u>X#3jA-3IheqExruwb7OP0}>kFyRi7iJOlj=ZQY{c%Zqx za`-gqZ1$R>@8QM83Eer^S3f>^+E8jzyX-^NnG!{dWQOm z-umtqND|>fp1)jmTu>~%Eve4f9XGxN}cHXwapX- zE9R)zQ~P*4b~f%Xu&@Du&H+2XfFW}S%g;Xszds*3iRF&ZspPnjBPIV#n5X7kk0yVS zV$7x(>yL9FndN_!kk1em7wB5mE1~%=yi;8mzx%=agr*i7(Jub`&Vl(*C*-zv#^j=^rGa!ra%hCzi}iS>eE z_ipAA6H61|baze5A{eX|-B!ya{cbp!VJKGCi-;c4EX`E6Ze{bDEk85Hl8gMBRv8MvM3Sl-dDA`YnM4KX&(8hM3EC` z3uc5a6^nr8`Rg&*Jialrz4X#jM3|LKAaORiP7IWjz(!Q7(4}++kiY^idNNMKxODjJ zRZ7jQfbn5z_-ptViu1UmL*o|Qf&5dd|TO@?2H z6oJ_8Zet}y%!>~AZYCXxsCm1mm$-pxAP~|0XhP-)3dZ-1kB{t-L1fKZ7wrk{ev*y9 zsR(q)^*iMMlCa-St?J`=%G{03pd0$0*bR4*dq4jk^QTAHLo-T~t$Q?xtzVu9yvElp zj3lx|6~dHjtwk8N7%Ck1)VN+N?I?`21sOI_4{_06jTD3&T&Wt!!X3HZM=B_hE$NkW zA%`+FtO~Nq=*Z#bnc#bR?dgCbvY$ZPJBx=!beYA9Mp{qvGZSVV0D9l0A0~+PPG@$n z=vZs@!4^J0`BymUa;b5En&~}og;w&hgL!3k({u(OTZNOW70pUsb_+URdMm^VrF~-E z1#c9{fhUb@yW*m9E0j+RP9@4|eVVF0Lc|%>ST>3m$nn(ugjobtP0wQn@Iz6HL73Y^ z5}$ui)qTeqkP!GiPF$4E<#0g*kMkph8T)UWR}RcNhdH;YHGSm$SXbnq^2S#C4FM=x z4w2V7R@kKk1TMgC5;H~S);S1@Z)*o8xZf5R(Cc6y&EZ|S|oYH)o z5$3){B}m`GP20U?s&-MHSdo$hx7ov<+radwS!v!DP8b8zB(kaLiuxpG24{}9RXEC@8Wdwo5)XBkiDE;EKrWgVj3wbUJ{;=!|E z_OcW0cDE$x=^IyUA{YSkX%@r2^1BsVqX^riZuA22&o}s#58_8<+HC_&h-5Sv>LGD7 zyq(ij7+Kx#7Z_kFWzZEkY9C*@I^$&t{?wO8NV)$W2Zj#v{6-aN#1Gm#@jmSB{>YVl zbdM9}vn~e%;1$@fe=AD*T`FywVvAYLn84tVnV{gyx zQtuCxu-UGy(zAlNiVPN3S?26?>Z+n7W5^_vRTQG()ixF z%>G$kbzlqyQgLz@kfP7y?7d`ycJmlUpGY`+pLZqifFj=I64cyjnJfHM@@Z}r<)SD9 z%RYsuMVZa~^H334hQ(F z=YdADn7&ad)84w7hh(A^6RZC7D;SkWWORzW+4}Qlc2GZo@T3#u-C!FJcyu;gpm-H3 z_$hEz%L>f43?yiCxUUf!1~~qvG~9pf42rG&m6QUrjtiNtyV_0&;Y;ngJ}$pnN+Q%G zs$?uj;hB}ZOA?~QqQ$pa``@dzA_+mF58=&cI<*7Ig}>A+aH zMaV1ax%K9@6_Q7GPP?eYll8`gQ_Vi$8@gZo9$$N2N=bp?#gfK#p^Bf3&-+j$(67;T zQ!N`Vi3kG0Gy+|t5eYjC#tkF&{FNdA@JV!b&(0R2Aq`bDo^$ZU?ep=UEH6>m*?Ub3 zUMwSMUGe8%$v7}i{|_hUzp`h0YidQxo7#P_p)(M9$j@z1mlmVJIy|n^0GpLSoG!Vs zy>UQySe)NZ# ztj{8ilzJYzvrcx~fdC7kX)t|bAH*mtOlSfeX&ct5AZW|QEQ?X|d0y_Rt)}SV^swRX z1Z8htN<@b%bjgIry^VxX`<9!rOBI&Q5pPTMcPe~ub(6OD=29kmXDg#B`p5b!->Ym5 zSdNRA;MlmYp0L=_u^Q1zSZ~t#pAH{F@R+E z?iEM3MqD5UR@U}h^HYBgG}M~~ynr-1m7VWANvCTb?m!Q9F^2WN-gTF-3S?fWn%(U9 z8z+0)_*Y;9%zd1!J%#Vfkm9qW+vRcTnC!5Q21;t?%ZM+cGv$~gQ{(*8{KleD#gB1U z%D$^e$i_u&aNa-5zUuiI&toL>K7lsi__m6rUz5h&?j)x~02H18a?%Xn)J$fheSc8T z$?04b8(5%{1}7pe{eG_lCBfKDK^4 zpW#>fTV_>b5#z7uwwRV0UNhKVcV@MG`vGs1orBU4!V*|hnp%|kAUiuySK@Wb@5RfD zQdNWFF}fR;-t0tzg4Qe}8ucpaoGz^gA{_cYkvAT{1-gCOVV3esuAsI4{Ke4H2Qq0k zldq>_v-RA~qjr=X-Kn~`(HC*jafzv!_CRK*dRtN>F|4Mt`lZx|YpbJj+rwMO8Gur4Bqt4v>FGx5?&hG!KbpknoJOzJ9Eh=cLKw+4>JdQhj{D8Ob zme>vqQAg417CL6*6DrB|HxjbS7zs>bVvB43Vb$vtS6vfcxY)dpaGtXu;$0z-Pwo

RuaXvswMT`BUlz&dDzt=qNUPca=?eutgFj7Z6Dn{I~bEN6R>(qRG&wsRB#A1f| zIrD(9b1mNd`10BZ`mrs!?riRL>GQ0|=QN)9cHP@5yOF%{Q0U)RUfp8ZkWulXq&=?~ zh#m6>BL}tU`P;XWcvY!F360gcD6ttHZnZ(Yjqs?tXvC^3AB}>!xRC7JY8K0u+Mp#v z%7w$4xMdYX-*O?LWVJ4%W=z`AdH<{*e@j2za0y3&;k&K>G=C0cLj*sHjy9jGHdZE4 zte54bDnv_DbA z$;kQYeJF9dQ7~Vtr`z7tg9VYV)j~je=4#t=g}hO3E(QD3*}t0t`~6hUuKJ@=IccrQvVduVs22VqB6f=h6_mG8K2f8P;Lj{eC1LD4rGN9 zL7hm6(&QD5|Ja4=rP{cHW?rV$#^9e7S7mS3+!@T15puPx$RsfuOYotzllUj4Mbdl4 z+jdwyN@hqePP26hy@}8)yG>h@<;Q0&wIj~^PO)fHP;(CC0V{)97#Ub(JK5f>6ZkO% z@Dr(Yb2O?-5UO!luUN*$&^_w6J6M*V+l80)jtG!V6BBdpLBT|EDHS-lTTNzf^Ne(v zhjtk3UOO+Gv8_7HI8mg(z@RBOfslLJ=ntz@EbDCKVawh~H$~vA&Z|F3|fXS+)uhNy&32CR^_MV^2%o8^I zE`28*&E?avvy4qh*{4p;@j5p*d3gN_e4!I!!V%!}<9&(wA)aS|Q=Idq*k%Uw=$%@t z1TIo3qs(FMVIR1opf~!Kv!HxwCn>qY8d?Y1i-ooP1tw=Nm{GAYEp~ZWTv0 zOxTF$^~~bqMGxaJZuo;ew2~L?bbL=jx)8|aK|cIM>0XxFIT4^Bfu*A1e++XQ2GOw> z{33AvQ}58V(yKjV`|pT}0VYx9VadkzpEHZUni|6kM?5Z&w#r~9-;_e|pl9kW827R5VogJL zsX_lrMiBi_M0%3Tf8|xfI|mRBpqKnqS-YR+%NO~us+DjSPa_hXy|Wr#4lT$XB~~pO zKe9eI*6`b)X=ClZQO7Bchr;ipR=|g2IN`X0fbM@uuUtZie1BF)B@%MzMjcMUrgY2e z>WBz4501!1_iTO9pqLi$Ab8$(a^DTk0^m3XtxEBWo4gV*xUR)n7A|74^UNGsQDyP} zObkW!d9*$e_xRMACQ+3zM*f~ckmI1tWW+Y`h(g6H8-iG_;#-Zk=!z}5y?Y&ZTX{qX zZQNsw_uayD93d9b;0c3a6J$nDGeSiG+9hAzv^=$_Y}S3^^xQq!8hXp29U36^n`?{y z1pj<)jrp$`!UN;}smz8+bzXQt;V#vNu%@ax~uVmi$+Fp#H z!{XvRO?(R}bXore1cfNux_Mvo5cA&-GA8nw5~P4{)n_q92wRO%TGgv^GM=OPD_&i2a5Xw3xMi?V%eA-HA1o`JNxvq-Rd(qyHY|h= zRHWTE=^p$ODQRpyKC0Z(I4C6&a0{DNF<3bMugO!-X{!a45+<{eMS1p4`dW>>nAh~@ zDO|4fxd$hecs8$Z#V_;2FT{RjYv%B+YFhhktsiAA5EWzJW85KJ3N@-tErC$Q8kVXv zo?sF%Y`>!oxtsUzQRPpv(HtL&d=0OI@GA0D^icP#7}v9fEZ-@X69^TFNOdY~8hKt( zh;*rI1eDd9-lo*MX{SBiJwroby|iKfmqmaTM|gk!H?N0DcE$zicgO8xDRF0H$qCQx zKf1=@Q)s7d#r||1>%>@?$JMr4G%oHFk@R-2bvj`78aXd|ce5Ong{61+LbDaQHYw4% zdS){B_85M+$mOjWbgwAhYB#I9Q)CiLZ+ObXx99_$q(VenHjnM`#^K$>-W>#A<0nw> zdV?t`R2ALVkk33H^zNc{OBz5LMQM~Mqc?uXNFM8OqKLqsGfKYqSZ9yyg>N(kRzWSn z$KPxgb*^ysDG8skQIX32q5W~E|0r84s<6yHI%5(mW9g%ih_#VN)r*X_kFT>$tXzTu zWMa)erk3HIkLIj(A91Y; zBWj*R9m`~B`f6g7X}NE$%zdmc3cM0h<^NZFh1>sXRF0F{{)ewg%Pt6hA1Q>HEYO@g zbvKY%*ZLm5`uVm;E6o^KM)w>b-@G(5uf{J#CeSx*e+U;jvl^@~)uV-o)aZm=AO^qh zR=i0ztO^daRN{D0=7~mZD<}AC^JJA+QQF=G``~D@Nmk54K zt8B+*>qbTK$36$cBS{x4PIu2T#vQVt&o5!V2CJAdC?1>-Wbpx#7oIY?rbKuP+XoV- z7nI+*-a35y3?6mJkTw2&()E!)qb#MaBYN)S-7-0G+tCSZ@7#(a-Ni)*JQ{l-k#{L^ z2-B6PyP<(aPkruU6qiS&^nEi2aMpeLT^ewsFO{$A*Ur4om+IGCI5AmF;%;$J=%^n` z1vJb&RbDG?Q4_1|jXtgCdu}s}HE7b2wQTnv?=J|m#&+PXT|V`QHvDVAX~g++G%&+O zUt!40jDu0yUv}S19G}SM5wE8=)?K)dEtilzw715j2-|p2=&@j4=&};5bvXN$cA}e; z%@sPN?F;!Xo=E2)jyEycF=2&*RwY2ZgQjBi|D*~%2p=63PO?UZG;z&peNG&hIPTR8 zkHS1*Hggwy0HZ01CaH=l7mhA-7{O~4vC4XfbRynfk-{Pp=kg2eL~$K;#=Sq*JwoGS z@BQ(iji&njyBz^60(5I3+M+AHBT9m%Kouh6uWY3N*{hf`WhpV z_X_+3A;mn!5{I?@k|i{!qyEh*SqWVwjX>Ri$MX^C9n~Y4AcGQu(-2+&qTwd;uh1Q6 z7!;@5cR$$opEph;rh)btl!hpyKhIp+9m7atFyD$6U*vi-5jSLbTWQ}zN%gV13ol7h z&7(}4BZGjbBbmvPbg4>*VN2Z1e`?uCHvEbc5J&YSa$v&mC_}Me@7tE#Ft?e9u;-z( z{oHL3xn-Q+6fKX+i-Uq`bRb7DP8LZs?*;KBH><2QOFo7up%nN1nS8|LMXwxtwLQw? z?Ds0?PtVjD3QJ(*$X}nT|D=7fF>DsY{LIc{N58cyWI5TZPhbfB zYTg&^^fSg)+}tpijE`Q?FvyeAZQa@r>eI{OUIn09(^&*N&vi~sBZb-s)}-g`b3=r9#X zV}IqS&XexjcV;(yFaFVeNg6rE72|s$Q~ll(tFo=$pGVgXUgis$&*-KdP4fwHqmr+6NAzjT2|bKOWbDL(2YGDmNlX`pnJIk! zToz7q<|AwaJGS8Ab~9>PD=j@I1#;ow_vwkGzLA)DV?%c3Kh^PI_M>i1j^NB9DB7ZA z;_32gL2e}KOfR#yM%@1B=hw2)==tEwulMc-(g6I7LL)-7fZw}+L~d|=lqhpv064wZ z;!L9luB#yk{wzRVHE_i?JXP$yjYWmtZ#MQxZ-WB2TOMr{(g+S`1}2CVO(uKPu!OKA zKk5 zE&_1~(mbItvo&~0{v~UHh7xfbST0ts?0@OWAN)fgdxI}91omYa_A+Jv1T4`E%O4*L z$xrj8%YT3^m*4wpSAn7&px!J#CI8tVlX;X6E_EdiVGBMqO#}1>tk4UOs!^noB%u=h z$l(|cPMzpswX(#z^mxDtUko6>;$t-c|E;H-nwDm0O<(n0!@{nbX^GB#G}PnFVgEPJ zOYp>H3H=^;Dx-IpnQ!FO=T__Mq|A(U{km4{?~CZUJpuwu80qP*Lc7$L4NX3ehSYBa zw!pZu&+9X?9?~~_epxe$#)FMO{x5 zT+Qi+xtNQ-if+xQju>ZU6ccapD%SYnyy$Y6R-sr-goCGKI{^*wV(nIxoOFefer|)4 z#erQMXeB2K5O#y5$*j8{u^61(DD}2@H+yCsUaxm@VZ2?aW~%?;Iqs`^JFohHsT)oO z+Vr9Gy#|VH_Nsg8xFF~cb;}d;^vvc~Z{wq$u*00~&J@MlAoB(n@S$vszlyu_RGBbV$>U%|Y}O398YB7tb=EOi$i za<}7lHFT_eH5=&ATl_1{Jh~|!ztDKL8@nzd9cEsrL<60n}E z-MN_eT8>+eFZi`Ea8tn3=O0Mf`QpKUuq-lJZt#B`S|o2Kf;qx#_mQASbfcNn z3fAEz-}#ojxBDNQHW+U@&V4I$M!-j<_Lj!k{ron+{;w-gI@^fuOI@1ZVgw#V9%Yd% zr!DYD_nw{X$DBny^6=DkoM8pSE8AN&D9~`R~G$ z_B@;P80buh{y36Now>|sJd|>vSs62uM?(E1=Bv1=n*=yhY_4ij&u3n zD((ka{}p;Q?*(?f={kr0L-OEW3V`oBTW*ht-HfaKd#`$}ec!;P*daC}U15oCql7A2 zztux;2RsZU6TkkA+0MM0bYGk^sHaCyg+r-?)(^x?&N(zC#sb7GPr&Dc$=8k7+86Jz zVhwg)i2_7=%{L-cNVy_kw0yQr&uj0vqY?_SlqAB0)Qq5 z@ys64Z*{H{(vUa<62N}RczW=bvTR>fWt$l_CYQRh$))p!?p66vib>jYrlj)$Sl&v< zCmI1%p&7;#)!zF9LRcd*4R~{AQ4Fb%d&hL%N@F7QsS`c4-r9t)pUYML>2&`k7&S!M ze^Y|5CoiGx1;BLISS4C~v3U_p+rc^Xxu}AbEy83Z?jw4m+2D3!PY*TT^ymsT_=z@2 zueO)$CK96)ZQ44g)!48L1-|d$Wc-tH5m{)nJZ-Y#aN9-g{Iki5la97UM*G@9DrxO* z_()?8?XTAhsY5~SEB)t-$O%L)==PpnZj9Vq8b8Xo+;L9txrRyTaRv!Oae|z^GTv5( zVL4SDAUqtYfSX;trVS`Wu2+L$y~DG%cH%)~~i)N>+rVipHD zOp{0#gd_7)J&az?u_UKNcBu2}kU|eQHy+U?9`+~ml?st9$(x}`fJzyC2DtooX;os^ z3J2}nvEBBTL=q}I%DC-~E4P1zZ{5kqpGX3DruF|G`GrD0QV((T((v$TRyTc_aM|&^ zIB>rpUrW$yhc#7(!V$KiO0%DBkZi;lZxnY9eX={5rUDh+zsk2AU(6p6{-{O8=^dF$zU}zM5)VR@RG}`^YHwKTFYmys%9=9XWGm9#;!^62hs;P9qt++_}HJ^}YZHnKo~W zBrmjE-9%qh`E*vxSxRCcU!JmLw`3AO5P7tASv&O_Va@e$RQ3NlZJ=eno;;}>K0mPL z=6ZKO{DD(ZK}&6A{2_whOzKO_d~N-GkNcQ=W=Fb%+J|)g5Lp91qUQ^1&*TNJzf)uz_1nA+YQD^b*YH*fis88Cav$LAvLBE*j`QCm|eAj?O&JgUmG}k&A-x| zU}mx!{q+OBdj&0ZMjF(Qp6=5&5|&V&8{%mg`evZ-s12dn`|(RMTa|{+zTIkzwUVeI z!*4EeZGmFDjKD*0P0 zlMeZjggoK`wTk5xN)5VlSAK~3k_8m(+VZ^+$l9rcgxN0`h5LfGF)-G8j@t&s*#J+s zn6dY?H^cSmo%aS}kge#-gzm@hGM(>4GFa>i0NITbPx8wXv-a^X{^(gyGXM@K7P_Rc`+M}5DYa-qb@Bd2-r{=ff ztg_6xUWetg&Jq9}t+^kq{Bmwa5>l3$kG+6y1JC8q87_{p1Buqk)g=wNVM1F~-`&h` zEB?wQCTz=t_d3eyOG=nh^Oh1{_B~0MRp`Q-QQ=?1Brv>LoW>h6BF^v^ey;6g*uXL@ zyPm#y?D!4!6KO_n|Cr@kk703yuzy@5F!nAdQ#h~Dbh@8<_ZOSOwr^p5CAY=URU%8N3r+oU5X7Rw z=hlPr&xW@)@9nlk2-(cZcL?4W+y4?;fDJ5aE&qi&K4ujJl@<#q9u8zD{w@eEP<*<1 zn2E=AdJ#vMb#%7Z{{zmQxXt?}0>LLWk{e&G1FX{NrB&(c32IrwsAY*Y1 zr{iY&;cmZP^;I#&ulS?AMk@NQ-dGR^x0AzGHFgind)7?Pit89{Oc?RvP0uC%E+%xn zYZPldi{aPFXXyrFak)TbaSY$kei;7NDNO1KkZ3w`b-~*O(%TFR!Uz!!8iLww2xIWE zQ(2z!+k4LVrhLd3iDl-ry6Calcf8@rwoMWE9hKP~(OkQ7HnuDyZef zue}j7Nw96`br!HWm^C&~7Q<+$B(AT?2ocgWFjpF^YB_S0XL^5@%B|g#r~UJz)ju1( z_D`2U3R0~*)c!R_{)m2Z(r5IZX`e-pg=TxUTjcyCJNMdsnR*arVH6n=QPs~%ku`;gvD;XI9p>D zmM5xGfx}%urMGi(~UR6*gcURDITGZ88f+-kC;pnlRshupxo#pi2$4* zExpXGgfka#V3`Mu;GR(~9xOcL^)0yqoWia@fr=YV=^{v7^YVXEk>CDVpEYTRoZ1TR zGrETUXgo*3BC%~!7ANp-^K?qnRj{1-%S|dR8+UL7x}^=l|BEDVL!J^~O`K8Bs@*8K zyoHp~U?BH27uN8y4VHOpDc-@>{7}QK{%_Ww1alQ(@xN&~3oD+d55W$OGb{sVpFK~U z`WJp5%f%RS6KzzH`E49_m?>@GX5AT*S#hHhJ`bY3pCpreXZV~pae2&Pn_bTweeLj* zF+xC@hOggx=qEEnj2d^oM!~1jsU>&yJH7K_1ap*fUqJ(R^K1KcMQpal6cDiFg z!NFh?9|MNm-CXqelxe5Su$TVlBe%{D7TJy5qCN%1TyjMTkeD`u`LC^8EXP#6!pbYO zvref}32Ca@+X6tm`ZkF(Q;dh*9QMZ+ohk>Dm$dENLTjO!3&(HP|3w%t(Eo<%NLWr| z$N)McKyQNU#FaZ6+20-k08`{`%4OC>kKehAW4|981lFead5x8WZJ5zCVm}w^SF#!A zA!xfZYR)mIrs)9PbTt0>F`m2w{6Y$CR-`qtxCCg~zUmR%KvU?|ZFlfm6XmH_1Cr)^ z=^_^MM-QpxwnEJieV`>^gi`9=%T0?@t2>z1F`t0qqLT{3K-pHEp}KK zn2R&%jJ)nopk+L)a)_qMTtE6QyR!CJv3a7_27;2pa>M#~67|Mzn&A6*U>c>dL2YEm zkVYAqaEA!8u=aS-;X9Q{>0c@FVyFLP=wS~QR1lP9O>%1tpWxC?D&&$?pnq2&ms*rSJuPX=SaD4+%k)PKWL=D# zLgLCdR}rcn!qN3DMyunV&M}>YxKcqy^Tkp-px#6FkmHgOOf#r>dZN=+Ff;h-D8GGc zwZj+|$4r%cvK8sO(GGO?G$k=eDUia5d~Q0g5k3_>=fOvXcxSoK2^!c|gU?C0bl&KU zG@%bOkTT2Ojqr1|WRL2-{nfm)MD6*tw#-lWNORlt*xfhM)b3l|Qz&LQdX4szc%D^Z3RP5GkI%>4k#R5; z@8pkf$1VQ5C^fxG2b(XCw>hsQOC;roKtb7I2Oqs=Bk$ejEK-i}D?p^xT-+0wxS*@H z$5IygUCrg-0m0X@yT}HjZdZda0U#kh2N|b{WmcpXI-Rxl{9@f9a7{rt@> zp7qMY3~X{W>;(VAeQ`v*&zN`rT85V_;v|rgS{_U{sVn}N2W<=t0)C5yjqXBPP<-ZD z<7@j^S9Y8?uv|n(_E7^K6gWT9e9C&~xc-|)qVoG4{j;rTVK*c(^cy-gSJFM!*F?jv zusPU9S_=poyx4yjWH*uBtt}cYVk3EG zQug;*XGq<&G1kvIsNrk76*z}bc?UT+Dqb)4-&O?{0b7GE&4eQO@~4VsA0LQgWKKKz z9#$LSx|{z@ZMLQ)uB*Tw2_5lfs9a5y&HBZZ2*8&&_zAFaS)NK9C!v;W5>SaxKyviO zLW@;^$+DmO(|$(^{Q8z%SFD0+Y1+-Tpg?H4G95Z1lU?%zNyV&g7z0!^gk+v!AzAKVS|0JD61aq@Kccxcg z$e_A&#u&U;JB%U)GjRvj&~R#?9ZFus>tDG#xoND(rbFGSX| z?7SGAG*#RFf`vF_{ZdztCIMc0GH|v7*FWZl9KFI1hi}we-!e(o%z)nM5gFV%GCk@i zxM;sDzW3frj(1IO1~96d486Wmf5y38aesbTQP;QPaOF@aJV0%pX{o5=ILzTVaJQ1l zq+cU0N%-DcLKXFiao|85Ny~7X?p#4{Gq58C@>{|9`8vbq@ql7+VkW=v)`JNs{Uv1> zn0TWp@p6LNd9Zoi2HakRnRX2zlTPKkLhaLu)l(>Jw{fWp4l4xt+}Wy;n2!04ensfU zn2xCe2Yttu2#jxf+_toSSs0TCoU21#Ch_z)l^;GL)h5nU$l}mnvj) zZCIsm1C4+Cjy_j%N~o%D_)w4;Jiz ziLi#|af)%;US}oJNgSO_f9_j;Wk^=d#d3S>OSie`>{hSdP(q^umM#DPuvFx`Q__Wq z%HFyT?lJ6OhU=m!A*dalEqfAZ`HP~ZCctJ2cUHI4gB#$HH7-%}gH4q}k0^AF9# zas)8-7bi5yciUC+B5mW`H(5a^P|5vuGdi`k(xn;sX z|NI`i4$)Fc^`XDN(>?uu8fkQGu^V=aAQl97Oa1+euBNVqQYNnMeFOh+qTX|(;JNbG zossv~>B&TMOI6nRTyIy%4Xsh;+K+fgagLL8^1z?tAxDwS9YI1|XmXzFGJjv`U@oJn zNkdVn@7O)#{eFkd$KPa8n*&fTP3J3URE%w#caK;4$-#o^s3hz<;Q3CKki!N17$*)u z@oF`duNT_bP^OkK4QhT*UNCD+g>(04`qFI{RD(UOW;*y|b6*oQpprp$?1Pg zan~oJYKx-gbRT7~jq6pMBQ__Ez}b5@vr48S`0yvySZJzY=F|F`S&4`J-8=h;fH&1H z$qAoS^3Ztp)KezdsmENSMeBD^$|UY{yrp#5??rxnn?I2$2Q4GFGmHx5f*+I6;Yqy# z+R5LO#KMJs)79|y85p;V*TVwK0QOOhR=*bCspu)sj&MxC{jZ|^X`c8mfu8k!76IUI z7T6W)=PGL^BeH8zYIz<$mCe}|OdO-%G9F~O>jfRS3!Rn4^;-2QzSAWX&$!fadfGma z;~(Yo_Fh?-DuaJRg4rO8UOvtKz1w-DKuw6!^f~RR+B&CR8cnozly{Q)biE}NSQFN` z#@*5;7&P7%a9Wn1Q{%ZKn*ZLU?Yw*Pgx`Lm1#aV?egQPSwhPiC@BkM3r)rSj!k>wk z&8>Ub&iwMH%G4jx2?ZBcgHVZkV;=g3OdWLmTKH#8nzevCd(9w^`Bblja_(9 zvpQ|;88{7){xA7~Zb{BWXXJCFQ9n60BdDn$THB+Q|#n( zV6gCHhU?m6{eq>1N~DCU0NUXSIbQ1zBa=a250%B!F{UL=b-60hv+2YRR){G}SM4aG zVAuPMK^0qVo8Ic|nS>oIQ6uK>@8S;lFI92JWH#x&zCe50iSc3w8%8h&EmY+)E^9<- zO0mk8siFGgze!Kq?>yScs@<=drgwRic;&a0?=`{{Eu7-M32X|z@@)0wnT5g*?3+i7#NOCUJq9KMi(J%@QqVXK2ld( z!rUA_c%4I=k*UY(gee_eb|LLr@3*$t1*a~J7I}j*#W%Me@C%l{=86j`Yh~dgGHkcY zyhpIslxz9)4j}EOk7S^PxUNvD81QFObRY27eB!=%=Q`Cl3&>zT`Gy+Uu7@z-?!Dtk z=)|hRFpd&xTCb^RK&UR&EZ#F~t}gxk#9nJF(EV-a$&vBB`5!Oc);}kkeYVb*Vp~So zF5?y(;<0^tuMG}k2Mkvm82SMzM?AV}`(VbAT^EruD9*1C_WD+-FZ~#|sX7U4i2`>0 zpT<5Zaag=t?_A6ek7X8W95V47((?_<^UtAhx=x)}?c!kqcnaBu%Ah53X}s+{&CF9TdDaZQPxc+NO1ePbjA%2~K6Mrn4O?_dT?XE0iO{uwj~Yf}WQyi5>Q z6wN%YO;w?%G(^Bz5EVLEvr7ym-gnq)F-tlt=n~_bWB&I>+{RhEjsQB^e%b1)@w zU;Uc)tmZ?1HOL^afFR~e8Yp3%94Y$Z#UbcfDL8OvY$)k4A`>1r|W z&^?Bsv;)$BzbCJG%F^*0BGES%+B_Q7)@?lK_QoXJ*J&|4!3Yx8@8)KIH2{pHACLS; z2Nu$6HKrXHYO&sG_G8XQCt1YDJ0s`)4;Q_uw{UQ-#}-}g z#EYl*N~fK=>%H>_J#l>9;PV5CBz-<#XJ2IQKegp{AOBptrz-TtTLgxAPtN3TgW0lt z0c|-em`7Q2=jJ-31lptoL7ih6#4)AY(tQirx{?mL*;i70f=6%245-W6V)}B_4j8P9 z2DSUtbsu3wVxFHCJhq%CUPU%#A38pqo3h*`dr8Xw-go@&>m_=tN>l?We)R1Dx1(!C zAKr-TXK}n|fvS4Dh$&N5>~4^!VSu`E3>d$p)BnpGsu%fz1C}5Wkbf z4z3<3Z@UcR%)<1&qIPA+u2Gbx-1R5wd0PDI{dgs50K1Mcv%C{!pWt=Py_Ym}jB{|f zE{*Sy2!_W9c_4A5x5(7#gV8_RkFnmCs9{AqQpxSCl6Z6a=pYnw{z}VEGF5PwY;t}b zW}Qw%`k^Gs0h#C1|LNN6Dj{~UToQG6yqG(IQoxGVsw*UiptwgI;-Eq%WFym@(&Yd zSk-tH4vpXcUK%c=-miLrylhX3c30P%@?^U7)0ydNf8N<0r9DL(=|*>LC~v^N{nb#U z1z$Sv18!QpB6q&~ZGV;Q4)`p%uL!owSE$kKg-hbV-EU^SwdNt>%-o|F=I^PPi~sh; zRtdcx^g%yZX&j)S?%aLxM#`>q|HW`mw$lUO2|;b0eH`!~&1pg0p9_a9GdOsgAPi`Z z&RAIAh;_!%pg~f)%7HYgny|IAAZ^qozC5=c6|GU-#_(n3TJ1A9J*E$HBn$a7M6gXW zi>o}X23);R(P3X;%Tt8m{b_KUuVx^`QOo<{lD%xcJC5wa;oz`Y8*x}m*q{6JeU7zB z&r0XjBfT(2tQC6?TIY)}x9VB`Z52lCqWt%lzgWko0j=NPV|=cwjTR`6FRC=Yx2kjb z<-N%IBNy?vj_d|#Wmg0sf}CM^FtQ-f8P37lHBc}3ZROm=ApUc-4?|UCQ#dmGBV&d6 z?&%VlIWtDrbR}7pH02%YD1R(7k5?`eyYavr0z+bQF+aJ=MC!Tiqc6Mh#ErO0Q0yqu zuY}THTHQXmQQ03l8uiA}AV19Ze*p8yr;v!R9AN*zbLTFv&AH7b1=IQdXj&JVca_T# zViT74mJvB>fK|TPa{nfm`%jZo3^bSZEySLV+1Zt&!^G<=asF@ZF8AoRiSEPrlE$M3 zqnpCY1S?7eE8N(s54$QQsZAZV*6#xyH?$N=SIc`n?V_w~zBsl!>;K5+<0mmOEiCS< zQ$;WcCPe9w3rp}k)SucV5kLvnX2Vf7kPoNQ{h@8CIFwm4#fEPi;~IYzomy%@(zqk) zpnA8mo)*HA2DjuVo%3u+^t{qo{sXK1*t*s)?Y!V)-WGWyl>A?9>#_s-=L%MXU1!+A z^=H7Z&0ORD@j9i|C)PMd*~&Le&XMDCShXJUy!RjRht@q^|j7Vhlb0v9I57&TheqIHjL)C^0KHXa6xlmU&=#VxLeT70Ca_VbgdS zAXJ*04dSmxa>_m26Nxe!Bri{VvlD~t`ICC9^tts|#VKg1(NpDn;;h|tZ0X~{&cSZ2 zE27E#QWbADhi9GFB$~yCMK0d%f^YO~=SlW>Ymqf7BsB<9ya;XXRx67+PLztJ5fMD+ zl%Je1-M%&z*jK%$mChfD4v*@@SDroE?lN&_s;J_84F$i~)Om-Jl^Iev`JfC(ABl!qA1{p?@6UEeKC1VlFVJ1GWSy#CK;AKRtBMSbu~vKqYotbpONx#) zHL|m`O#E;eW!N;i>!iM~ZVn8WtTAI2Me4N5_RkTUxd|V_$d&AEv!t+x!A`sU>-Lv* zsP3u*oq9TK+vR_dD$;*Vil;;(=YCrnj+M|$yPtFwCX_BEZC>Y-HlD`Tiq2Z2-F77} zJ;pMIZ4QEu16YKxpo}fmBP^-C)fi)Zi_k~6gc==%IPDha#EpWQ4t2;ZpJ@7)fXBc`m>CD= zlof4O+71*+E)%Z9vDzBD(zuS-2`+8Ugl%^WgWqx-Zx(3I9i#9bd|4_HGl=Dt!~D0V z5k6#?NL`Kq5q^Kc#Rx8#fImAGA`OoZCxi}28(d*u3(m>YF9*?REs~2ob9IuobOT@q z4wVBuZr-w3O_z}vKCr+5C}F^{Z@?CM(98YhWtf+x<(b{Qm7@Hz`SlA^Z&FAz6B@F)Hy)Cx0=y2uI-ygMYYM+(nW2+`PS0 z;E#6ChffRltnY_(-QSR?0hjIf%+Ed32nK-cPyzY@;n{K=qZ%iDBP10h8e`2t{axiC zS0?k_{$oPyDV%)`6R|b#HK}&=c9eYT$(d`mLWhTLoGm`6Eo25}-mK_;+4cb1;R7B~ zKGb{fD8q>Ip-vP*_;(U<&cJPp9CoU)#cuq~N7sNeEJ#?+Lu~DUx(M zU7_5bIj}aZw!eQ35ym`y6$@$2NS?nWqv=D64wO)`CA>7 zQ&nSueL5)>M|_oB0{8k${vZN8ge6v;fp-NX%2c+x-0!SY4>rhkf3WVyIIbIy{TI`7KtwByyu&}>w;kgy-n08 zFoD0{9=gq(%S45vM}>hQT+j4NJyGO`VDX-Xjasp}#SJOsZap7VBTdVSK6SglbkF^m zt!XZTyOmB`RF*goy+%Ico}Gt88*Y?*TR);6vNBYKTOH82_J1T_mDO&UtqXq=o5z{W zv@EN*-87kM5AQa%QpCXN|2Eop1Cm;1vtk(fMWL{@cK0){j|B@57m$f{+<6o~^O1&- zpNCim^VS$$uiy~SiX-+m{Ge(hGk6>{_(?p4$AtF@+=~92j54wL3j!`&@P8Xs;meTl zFj2+Qemv^U4DqLyP)8F9Ip8G`w~Cbh9Ho3g-XV0y0fL%@H9*c4~WY+8k#TQXw5 zOppVqE}qxY4}9z+^?*!4x5RIx!@~=EP5UgIMnAW~T;b7a4bu z3kJT03-7KviDOpc)}c)B8>aJbntZmwG=57{F00c&^-~AF(ky6@%|+tXN;Nt2MH^85 zpe@Ny}lVs?k=W$v`bPHvU0)tb4JH7+-&_gphssGXOyyX8=G4;BIn1 z_*BqCGQwBAy6aP%x+ue|fW?NjN!=$V#@OH`;>8?)@W$?w8Yfe`JUA_J5)RoEp5(zu zefL5Pc(YgwQ^5uAWNaVx#J-eW&QK4iLkafNiM#eIowp#u0mH*9tB`E+hx45300W{B z#b)PfytfWP&Pe_gwJWwZt(jn>@v%BdccfaeDC)KdLCI)guq78fNY8ZmezVW0b~oz8 z;KZ#jFMwZjGp|kJ-=?a>{({WuEU@e}Q)lP#?&+MQt(GUqt}y2k zxxXMnZ9KvJ9s!Vf7p21IW-b74(W~cXnzUV>4Kp zYpVsvu)Ww~<}gkYiXL!7C9%&UmT`G041IFAbT+Gy$l{j^!!R_^$#tpvOj$c+=8pJAO-gA zZj0%VJoY7vGpM)GXWQEq>tTRmdYamFUi$i;(`E4Y396$s55L5c)oko9@_}4!p^rbj zi;q4gxtcKyA=wp#@DQeLeuMs06g_Q~OX3&P5YDS@3o%=xp0P56)V(e$Zbn8L9KLG%QR!QY^u>ZKR+Ta zAeVYNoWYep6-`W)Qa)d3+j{=2xKy2p{xJHg8!oNwQ#Tz06i`hILD;h15^(W;+eV5KRobY#RN%!!a?rR8~&^y5I8(f{U*WE_{d`oI4=yG%L za{_3&WcFcP9j3}|de4P-M~Y}n!{{DRU<8-@P1jM;Z4#g+G=cM&v5bjw?G;PM5;qMK z1$j>7gOppqPxm|Jz!-l$*Aq0c%hgP{O`!7fZr~*IZpZ6~)qqI{@KoYo&8_sGg2dt4 zH5g~V8S0b{-a3yhuDAHXwbStl6!49j^aoEQ;wUxQ_9T0-sX!Uqn3 z5yhACxN)G@YbdrY!L=(VMMuGX&O>EooFhKxlnp28fpOtObO8zMTI2x_n?)Q_ZxNdc zwZ90v03Sn0U4lmSIPn3t0+a-V0IgwvgW!}9@jsGzOp^|IuI~JDNa>_p4!@9ajEhy= zoAC>V30Nt^l-x{WEl7|mJ*eQ!p2#3S5^oCn5Vjb%8acNxB#1ZfYN-=y2fvD}R+hQbBhceO}-m8ePtjI-kwBgfC$f*D#m8qe(i3+0Q_k&#^Kpoo|i*>cH?f{c}I8 zF%qY?rFj@Z0us1w#X6!ADR;&&y$@)%&K56g_5%a2+sJU-3uZ z$wx0wb^9lbK8=1HHDqQ;cAf6R9kG8DLZkwqD2D_s?|-Jb-MGxv*8#9gaMvEjIN<>n z5x%&*kmYXwfd3zAkOIBeMn;?>nvw;WH~rB6+=%PKNcnQ0h8%o-leE5c81)xSOfCK_pHszU*^dPkCNsbfnnv3*;*_v@R5CKC) z$N-z~Ur=&xKKgkv`QH@TNG(wf)~V80cYbusOQ&qt%KtFm)WQzrF;VRvC;;L|yYg&P zbNHUs1`yu$;KH6eTrGrwoN{Z6un(O(haeRBy%kze+%gsPhy#)V#N`U0#0KI_zr3k| zFrD{cH*OAWQ*|Hi`dJDXLQ0GuRKyx0v(=liC1Mrl?Pd-#>mI8H|8(!6K~ghf2LCo* z=9>W!oO?nFe9&O)1WUF7!_{LCHx?lBOa%2s?D_cRNCKmMKY?^gJA9yCkhjf!y(_gj z^N^fjaOY9_LZfc`CDlPx{`#fj_6;(?>J10^cK@EPn2Y$Tq&{>Q1O!q7?{z(i9P%eD z^U_bVV8;z}a!qg~$t620txMU{Wjj;41?5dpIl%v11Vs8TJ(W=mI7_|={yANp#=}NW zhrv@OLossApgQX&{Q2##BDPm{wS8_jCvRm zgnCowOp0h2(k>bNh=CJG&uEm4wU4!c=%PQeWln>af{tw>z_dt_nuaq5G7H4&-lv!U zpy|H#zUZ#;le!Iv)+r^HQ*Z|nPyO?}t58m~vl=RcRko-s-W-dMC zJaId#79|kV-(!FZ`kMprPzxibFa_-c6R2T!`|w216Gr1IFn?vH@0hv9h}gmXr~pUH zxN-ioTUJ28o~6Ht9p6XzagB_@aPxTYb3D0IH%_AQO|c*IIK*gKQsK(#J4e?ef|q@? zcT*M@xYQqLwyE#)3{%~D~_u>(mkBo_fp{=2GxWx z!`;KdL)V@!ZxXlKEGEGsadtJ)6-OXBH^Wc)oOD=KP?yj4i3lt%wR z##qo1G_O!R|Hdeh`@{d|Gg9VQvfMN-=&lFw01UBYmqZ?0Kx?{-sGd=p70K}@JA^tg zdgKVC;dQUfr@ysb=-1Ce04i>LaE%ep^lg^j<(v-07Ht}a)_F)B77W{?fX-q(5OYym zH>UgRv6Z|*4w1eSh>PT4^{5C`NNxzD0%z&uvK zrYhhe=HC~N+J1IcYZXnbaBO(Ez#joyN3s>A4fCK-UPyNbb!_v_UOkDC$^unSI8f9w|1MCG0kp#S|(pUQ!Zbx_a{=EE}=l|d}*55~jb^Fw3{ z%?lZ4APMP~E%++O$)NB<+6LowpnlPc;54z1Q{=#VuR!F3MQ4qai8{39c=DN{{+)>|jLoCw$~;ewuKpwUNIXwg|kTY+9Q< zRe~WV{ha;)ef9U*n{GT2rB8yDC?aO1chn0qI(eAH)DPsfgDo#=&*Q4_09}P|=!7(% zBi^|n0E~NxoLUM z<1A>CTpbDCn|-UbySO8u4}JHWvdGXUtyiPH?L=@Gd#E&d6^MTyJoGK8x6b1ck0fTB zH3BhSa028owH;ftbFm?Y4hXpQ6nif;ki0ga)AwaaI5UxjGv3uku4@YMxP$e1bd0?!GET?4_#zSxGhm@@Cnbxn{0-EV47bu0}5;agF; z!BR^>obZ6C*XZSG7w*!`23QDk(NZtc1&mNN5l*yt!V_xKnU*=AxMOLn5pP_U*P9*Zi?FB*QyM^|ecUPl;U&tzjXbP4T zYvFg(^8&lleZpJ&0ma_NB7^0!^Q=9muSjH7a>b(ysu%$NAm)ul-4=K=D(Q&?J4l$) zRmck`?0#T{E|25zQ5d)g)@E)KT-$4f)6w#iB4!mV*7_mqrx#s4(camxEgazb)GJ&& zhx78fPyxUIA4YKViO)TUc(o3rhymYx?h20_uVBxP$X$p-_^R{3H?#f?aY)$V>TESD zVB_h7&pqrGj7~fz8H>Vi#*0_!V7kY`C9CYjju|zr1TYtW+9*;$t`^Oy?q-EcYgx}X z$^h6S=grcH2^h60={^7~}U5*aeY%MD&$yu86YJb3-1rwINaDiBC;U5ajPY6)SAE5%XLmH*HR z*)+amdVBPKw+}(AH7)=JvGe*M+4{V<()FCB^W<Ly>dD zsp1fpCD(1#E*LxAiAupKx>2P2tKN{v%KjX)h8=T9*f+`PjA`u1I(%|#9x>xy zxf;0OCsZa5iaMQOuSo=R=X;`ra=73t!A3gdyA+~X=}VfCTY3Z60bJVwWRpHLfLQd8 zw6Dnk0QqgQ(S;@Ens}t%B`V;5bucQ;4qV7O{H4(}NOi7r$YFZBj;BswVyZ*#BWYFbKO zN#%ib0t3=vb~1a5MTM(1G8BviS$mG)CdwCFN5PW%UI6-@81UNvz>m)gMXM%e-B_JK^i(AEp*cOr+XbnSJ;>Ociv3wFnMb%cP6|z57hz*pp>^P=F99>ISc7)pNJ+aD@q;_sf~35 zHRrT=^Y24eUvVb8E}LQLo*5kHs;6aLM)AS5fsyWr4Y=deOF4Au>n0a+A2$*4Q5A8C zQ%AOPLLMgIv=EKE%~{B;GlSlhaBmzmna>ooIB1oE{@WZ6u#AwJ&MIXvM_p9}AAa_z zFZ+K1*A^cA>lqL%$K)ZQ6}rvd%33@sHzoCTa+_%16Y?czW~KW_s|R930TW zeDaAx1yn^oo|41>n%UrFBl{FH#ykcVKB@#~fv-BB0CtwPdsHvdbR=PFikqfWTC(O; zCC}CF;`&UmsdQNNY2o3xSNF%bR$n|p9X3#5J;d=ON`VhhX&!5@xe>jdaMN-StNRdQ zpMDl$-N;YqY~6j`IC!C_;>}r;#eWO@96u{WWc3HN!6>EI&agjx9eeGTnu>bScu_^D z67!-MilZj;dUM-D<8?U@00G6fIy#&-9lHI#^R)G)mV6dJYp|q=&&DE z5J)Hi_2;liJDXHbRn0OX!&r%oX&Un;Sx#OzZp3_L{yEwrb^L2Qg!ADyf+#P#=b1kC z71GbcqdtZe$f4(GNPPiuI~h8N@6TVicUeJ{&rj)GCaqzvWblAa<>y1*n+9~igkSOT zf$bW)3A#xoyvO)uS7*%P1Q+Es-t(PAB0b){VO(O)bSy&G zeAO|I>uhAg6Yblk!O0syNX)M^U^kb`)dsF7dmg7yFN zZgbpMHk@M9DGpXPOAUCaMp(17rj`cH9)cn7Kb%zJOW7-t-3lRj&U*UVQBJJ5)=VX& zxPQbD&lp5+8@Vi78L#Q=w5lU7N!^1tSj(6&XY_|vojV&?_4a5R_p@%_7}5srYE$tG zH$qWpBqr{#d+b7fL2Mh^if->(DvcxncNs%Ddggmq z@V{ILF?0gw`KL?YjMC-t{1IMmZ>kyPh|iwZ>Ksm4p`r(xcQk__(+_rXzlladS^HcM6u7HSi>-}CJ)yr@zs8p z6Hf`db?i2RR@T>E9s2QFe0_g`Btn2eC4gS04m#lKv}h_EA4=;PnBhstc9Ae`@FoRRscp8@fxp3bo;Qwwh2QQDF1F-2i|zUUF9BEmdq-;SAQ#1; z0$`hZ!%=seopClalNN3W+`@0WOCU);zjyCxS+WV3JaIj_2J=bAt3x=UzjMGR7lV)F zt-wYR!>oqv(o@!1kSUoVcVSwiLZmkQd>RU=qVMsAp4BqK*2dKdS}SHQ8_7h&OVLM1 z{(}`}KIq6xX12>079Wkow%|$2h9WapnlCI)4L<}txY!!C@#J%sy3czL_3lTPc!c@!6iO4rJtxWV@8{j3_8O0+hy6g{tr`c z8P)dsL<{5Y#oZl>26va>ZpB?g@j`KTD-gVa;u54tDemqGPO+jbS_-9H-uIq!{`XV9 z{npB?d1lY-*)u~!Tq;FLn&!T05bn>{A9Z$w#}jPO{`2<%KKf*MF4NPje<)^WBY~TY zqHw0!j4Cz>Jvk!6jeWn#m#uwVv#)X}2>(B~kAdP(O^A=-9@`@r_MWb5`{E|E*@M2h zL`4p^>GVg24kdiHH?pKB>ZK|1>q`}1z|pVECGB0F$NM&~;TD;wH|Q7J?jkY=#c?Ur z?`ap&<8tF`9Dg;Y0?5kyGRN*Fch&6K8?}6BJLo$;Erdrz6A5A4vaFhRomh1d%Gmo#NAq0C({?-$D?xE592TC?~gAGtoC4GJA;zH@NYulLo54KXI(Chzb^U;r(Au zo1Vag%0Vpv1sTch3~v^MDyt?7*|Lgn1+KZucyYi~-(89QS?Ql&eV#bI45h2f`xs*q zv;YXi)#h(RjqG~tihXjL7H!?FhZ+&=*aM;9rb5MP#LfjqzPo0l+*X{0K6|*(2ITH%EOohfnYPl9JYRvj3V)x7P;m-+pS5x)+t|; zD|QqAY~48~j(OGSCAjTdB%h|7u`kGXy81}&8^JsG$L$GwU*Q$ECuPTr+7?d``s>vO zF=j?AzSKV3t64LNCI%v5>4Gj+3U?V|Vg^RaVt9d{pj(c=L=3!Z@K48^sipT5Q&Ftn zKsLW;pDM897cWOXKzv9_g&mn|-eeVXTIIrS5$_Dc4+nW9Qzh0zpt^|v813g6L4SDP z4)!A)2cfD4&t<&#ahtQqPa`$zq%j~0@l0J=_0DvY%v8FMDI{=G2&AZNq0YYl@QWG4 zh%18v4SsYq(GQbpOh2F67U;nfjvKy1qZ+wr6>~YMI6J3Y2Qls>(D?n#1EM$&_fIEv zthE=<7~K=!iV7WY*9mg~&n&-Y_cHbGUfV`dZ0yg>!ZaJJZ%Di_Zq81keh-W1Zt`}f z=}o&jc}PX(?lrD>IhY%(94xB1N{j)Els)p28E1B*Emc~JON-`h-K)b=K{k<-SC1Mk zXZw;ni&nWs8HZk9qKIU{Aqdoq;s@&pLf3z44rX6J2a$ESY1?L%3!L=r`gtG}@R zNOlAecD#SDzSwP#6r70gf3ZB`{}P>OGgT<*FaO*uYnR%a-aSy)e0ZX8MY*E{{T@k1 zsnxCQmek|iP4cO%??2R?zX zYjefk8LwOzkoacpyO6eHNlMLH-pcFzFyEfZOoY$$}h+8K2e zINB@Jt-t*&d0ggW0&o-~_wSz>IA>}k{bALELSSUI-P?gm>))g&B1?%K z6&2^KDCSF^r@YZPeO+eE5h{N1$@F@nZEmM3#38?brus+XayqMFZ*i_T{C5pY%yb(! zk=vC@?Ta_k8PMuLX)W}x1;WC+;HLT~I-j35_V^ECDr_3m5A@*i%J+Ia;9sy7+!NhF z`DG9JEXC~ED|OL634Ps4JXEou zUMb!*#kc@*`~K;6L3gV=UIJ%PJtybirS{)p!TucP*=i9Y|I^_W)rhy2E$xHXAgH39 zeh{iC;%CPc6AhpVPh~>&a^IA$c+I-0E1@5xsIC}gZtSAkc@>^!A$EbDnJi1FjFgakSST# zPS>^>m!S%f$~=VM^yo<_6-5>fnfO7R_81&Lhlr3M6GV--3=2x;sd{ zeD;BH4|Ucwx$1lRO7xkgXqtx;_CGX0T^!lzdu7R;%Rvr&1l7N&v3+lk6~_G9S+SG~ znBRu6te1N(Si4)Oomo@0Gg5TAgG5A&?W$M@4-0CXdGkUFmJB{8_X-;ZJl3=a0{o9H ze7#Rnjjg_{Ws|dfTaa*5Ok8igCQgYfPT6@$go6QSpW^XF+ z%IjEwwQHsa)XvRQiEO3Y_W@4{xAP zd+;5s6n?%50BbRs6o(vys&P(>Nw`p1-bAZgf1*-|m)795I>3eV29P(qhU+ryGH=Q2 zPsGl%j114MI#K{AOCe>+nWNxsJJTxy3>LnV$JgC?|fxp@)rGn$N z8lF^54O+(Iz&Mz7ve(=NnnyfC7j`C(c5=3ndEP4#-#{=2hC!pOL%J-62)yxd$s=S#)k z#s?O6X=?gEwCQMT7VTe@-aKr|rXm@h_fYMX zA&Sum)Hsz^jMUbTwkzkpVrH5y6IllGlLbqRe-|7lEi!H!fQ-wT0+%IE&x}w_SBN3Y z=&}YD!ntT_&gjkjR0@#alT=d!puUsnuWkXxG^!1Fdi5A<=%s$lrvint(5?lC-PEj8 z?aHnlh2W{5jtzWHv=y}k-86&mDVi#=PvDSR+lO5J;gt_!ZsU2K9^YQezAY@fU`P5V zm<75M_J_A572zYiJ#LB>YVOnE2p^Q^{{mNZ0RDPkd7!anx4AZN+|vi^siJEd@`pMS zR#)nkS0<{iBRBF&FUtfNDw-sD%cdJ$UFYUDd?6RU^-i+JYW@L*mpUL2?6UBQ+)_g>2E)>gQOg)xry{c=7s-4(r=@x+Qvb|}@yM7?P zwyiHovW;J66dZl=QkUwdJXD#Y`b*k0GUJD(6D&Nx(!+J9Wf&lKLHD{c1K%yGO>XB!VEwRpH9 zv=b(B8qqQQVTQXSyde}E{7Wz2)q;$wU|)Ql|C77ScUHm>osY>WTU!3;;c{8kgE|7v zfo?7ge445pvF5na9T46`a2sZb@{iAGlsQ`bL?) z3uvSdfD8z?jzv(0r6)%ns2)2biml%g&d#zF(XiKaA=8n=N0khA z2F6`1!A0e+;25su4k&JxQI4LK6JX!7j_|`tJEMZp7?zCe-jJHPH04KY(!@I;H|H{L z$3wCOtBD(Ruj5RCNv5+QS98Hxj`7Gm%j&kpd(K>{HZLMYCcyhe^s zn)MU?(i@B9ZOC*q_OXZQ&hP+bC@Y#ObkIeBt^_wISgfE_N}uRNmJj8k^HXCvWgN6; zU+&t?((ltgsM5a9r^z8wxjb~5P}#zsXA`jCspAKVJ#5ZsljVrR{CR^p7nDztFIhB* zH*t~TY*qhjMy&yPBFa|1EWKQQ5y=lGs&UHc-cw%?$Rnji`~MnOn{ z-PXV5!E5ad|FyXol)kYJhvqitu?6?A@?d7*Zp%9#pw>RmZroU{7z`i0o^+gQA3#&o zfI50LG5(-8(K2M`fV&bkG0_=K%L)8RFG_6&$EK&ALEX6)h(CuSEs1?Bc+qUeFX;<$ z8g@FPJCxV15GW zGzx7K^y?*kdd5+CiBI9t2l_}JOHI0KsK7oI4}SqiT^O~LOC?4{Vvk{ZS*~^kZ36x( z(-6m#52LIQ-?dOJvKz&B0p%IxT6Nz;=%BsFFg!!dN#sNE%fpAJ08r?T^PX|`qruD;78fPjtJ7IUZE2S za??9Sszk*cSUYbcR|u{GYYduytif4g*?HoDDf4{Rsbz&GEI5*8`;5vY}Kqly~Zr`wF$y5T{oXhXV-SG#6(v< zHod%47swxzl?PV}HhKv%@>_@NrX}s_g+pTIaW#B-e4rF);qSh2oaPn&Cqxea4kd$? znte?PcNAm2=|6`BbH+@J_BgyCj|e2-a|!eO;uM1Ki%@L#dH?Gk%`dDO)E^}y(rH;O zi1FnAq<6B`Qi^=mADWyzo3+R?S=%Qo+fVdm|GHj12!R_6om{BUNcC*=V(lAR-F7WN?)n9?sRlp9@D->M1u+jqipl8D#A z5_dTR!n%G497f7A8;1oq+sV|KB498|z(*1?JHvl29Tc4InoWW|2#)i?>8F@84{HM**~NJwTE5P^lK zeE=7379XD#`|Nt{r|nvfLr6C@m5V!+rnAqd{EiCU5S!}5+XJY%{Adca8`lQLRlj>S z}Xo}9{BOOsK7)yJY z1%=vpB#hgZzLZUe5ZO@x*ux>T?D!Y-%9nA^VYV8XUO{I1y$giHb3g0im$bJZ+!t@t zn7gBq#UVh-Nb#S^5n1{sB}Jb;rqM0Wb7K+s_gt{|N}x@(K^7KorP@tYI%+yIAz6D@ z?WQql>sq2o{;hpd3;pIkASVTv0Vm0_0Q&p&x)ZA^LHvkf5kR6gR6qkrtAUsxH16Kk z=3D=J2F2@NPqVW1AxndBmRq?bu5q|cb3m38Y;a0_Eh7YDKq&K z!P>3JbF1TzSd-a;SbQO+N{jcFmAh;n70!oQ?i)xHCqjHnzw2#k{gas;JE0r}k7hPj zpGjKd2ZHS)JjNw%FUv@`!9r7N#Lo`8f9AP;1+5!~RqGOpw4+c6(x(562KbNG1aFu~ zQ|&6hL9Kd3Lwy`hSnUG7dF1Nm+2-+eu}x2_+*A6`p5D|ikjvD+<+A)IBV?82N&J=B z9prr3IC=JqwXFK{dXU_P$t{X06UW5Rv!VP!ywpye6JlaB$m>YNwX13tDZN(6Qk_v& z6``W5%zhr(t=lxoU;EbTgRmUivP&NklwHP@^^VoYRk)Hdp@|sdtHzS0# z!raEGbpDi6+nDu4{^t_(ZIpYQUJ1?NT1Gj8Q%mlAet^}4`%q)%29!3Q7VqV{I3Jd$ zbYZe$m>Qs&FxE%XvA$d1D*_jl3Sh8m6OD6VQ#Kr4mhm^WM3LwNGgmbAy0(}g+c~K! z`vL?JmH7lU)RcWq&LDi8iTQl&OG-j~^wrljJj?fctll#X!I}vcH&~~%_2IU!fcYg_ zjbzVlh-~~BSF$j#=E zEe>E0v-({x9E@FKq&be=x8m(2m(kSjV<^b-^u!D&qLVD;_;Hk)!VDkBc?0tOY-7M+ zuRvcck2}9gJhaak0BW=6>>u5h&_{R(3)w-OYpf!LexQQ!;)z zp&D-W+N|>2KtPnvBTjM?fotVQ$se4~DoV5$?T+nmqoXRqknz|gwu~svi@6pg%LNef z%Rp~3moCc}zC+jsj=z)acsdo;b*Af2urL6)5M$xw(E@19Ec=-|M9EN5+m&#l<;s-T6e^r^4K|7-?(InBMiduij;l#fvZu%@BS(3~V zsxI7f^I|B%z_Q1WAKIAT664^x=+S;Z*W#hm67HfGY2~apN?hMZ z6x8dy&aTebuNg|0(^YGZQBEm)S9;atn%WfXG2`M9ydyDg`>iI$%;8#&IhKEF1f zcI9VhfXJKkJ12wIxhLC$&EHU?CnSTfl4f}v0Ix*lru?FNsTbE$NUC%C_=s~z|6ZLj z%MuqULyAJ4D%@yHtkbQ~_h9AI&1S;_y$cIR)}O%Tv}P%=nAAH+i1q{HnH4%ybbBujf(}h&`BqBSrS$dKH|_t& zh`}!iEm)X?Aj{Ot>nE>6exutzqu>0j9Sc64f}JaTtk>tMoQmzH7jo=`!zZ|v7TUX4 zJm08?eKO;W7>P$V3{!N3inOXW^ty!>DTPP3o`GPP#RSC3jhf{PPno~fW4T;>UD@7j zHDCEkQYn9p@4Dridj*KQM$wgYAT39!83HU1t~4jG@^3(u6%uv3J8qm4B3$ z?=tE~8{(stoCf(`Zlm09OA-pi0$dVKY7k=&+Nb?X=Q9$abxWqvVY=Y>xdk~&saJSn z4lH&zrYX5G6Ym8dg=fXrryXv`?VD1X#C&ci)SS1oEVG7?nZ`~+QU{|gCMP<=1Z> zurlX^_hY-E+Oe77W+A zc4ilp5G3@!TxSP`P+e}(Czca|+enr5ZzDiMuphiHPRHl6HpIEv+ZEe6w>P8Y|0$>Q zM-$&cEFbodi401lq_Ur%J4}T>wvZS<<=QOGOrmHyo6!+G+JHosxgmeXVUh~9RLfAJ!nIkBqC1$a?pp%jievgum9IY9$Hg z{!@IJ{y!F!;LXyG{KwUm@VVkj9Gzw=!^~l2Nk=42Pi6#Vm^M$k>)UmcqlTT?WlTRN5sxt7$7{^#` zlxTeZswZYOA(}A!uOOk3BSy#Bsmnw70RCwT1Y z^OYlo%oYxQbZQ0VQe1GA`L?$W>+Tmiij+}*9ZvIwicPr6yV;9*AY9u=QW)vB9nWZfD^4i% zwc)~1ZE_Bnb(E|dExHVz%GClWeN(uXT<{P3hn z{i#pRf)}bU7b^bCwO0xH5s;mlk*s-%*vJ_1xvZpJI2qZc=iHZ}Wee5`Tj`bViv(B* zc)10Vb-%4DyNYF9JyoS=K&(@YlU6wv_ZySi^%tD`${R3KRkn}## z9#{ccf2RJ-&-gY;bn1VZ}=FvU~w{>`?Y? zO-HPzv05SC8yMrQZDGC~okO*G_{%F0i!N~Y`^5Xdp4|Z+?W37AS(;c$b($+1=kI)c zp`SOtw&N#kEI`CucvMp)f<^@cP8DJXmN8G@|wLE-t5BN2|J zI0FC$IgKc`8G!pvH^=s~stwVy2C%h`%Zee%eayQOXy#OToPp*hdwC-_q%85WtbM{~ zY^%Z5zZ#$2Me56M6KGnUe|W~l?iB5QuxQJd@wwOu|HnQI!tw6Owvy30`B3z z@tf7^m#Th6%;e||q1Z4!p740dA!XY$0mr&U0K#wnr6NS+{9!ivIaxOt?=LxJxQgAedyGvXl~??Z`&)UA zq2?fRYxA^lMRkGBX$(TqW=6zm4(4U9-myCpaX}&>n+HdBF>W6CQ5$!6H;vzrIjq2- z{?7g*&^n&1`uN%CJX^eS|Ja~mgYNBFs%_h9=)w-g_x2fx6LH7VE#2lVcnCy;qK?mnGSX%)wNu`O;DQ7K4{V0 z(WW+`Pi-Bf&8VNrgIm&iQMOf7pj}`=)W4mgkt;WipyuqKo*R!UB~EqyU!8 z`u8FDONJ}m1@9f=);H#6PrSRL?wpRT*jk(#A%V_k?o*!V6}3#Yug7hp8^oar{6$&U z?fdZBH~SPlq*^eQ`b~tzAAQP%EC!qb#;Z@t5>Kx5hACKX&0EVl3H~&S~5#yj@+KJf4{%sFq{IrbI6!2I1A#~>HXwU zh4j|BBimg6fLVzihWO)lDuO0skOVK>*DRnQxWQ6(=)X$(6JeSPpS9O#(9p_=CNtP+ z$D)7IJi!=ygn=Rx&bf(PMqC&|jN@{=g=d_Dbs203NAuHT=D|hQ^Ld?XXvg^%f7P43 zuL8RxWLv)}#%I+vKjuer+%%wPMk!N+eR7-mQt{m_mCAu6MF7_N!$O&s^^K5*Z4BU} z8El%K)p(w&r*ytfYdx-3lhG0-b7#V^5zk{LBz{muR3(F6{CDao(8eCIR=>g(E&O3( zd?gfG*lKh03g(7#YtTF9{L%~Gw9t;tESYW##*Yr|ay`v_>JA8J6Q)AwsCffjEh@#8O^8SQ zm$TLqo@vmV+oDi2k+5L>oeP;N8~Nf}#5!eW#_NU_YgA*s@(pE9(b}MsDu|+{CRu4B zUG<~mbP);KduEn_PQ18{?%uGk#luNzPbkI30{}z8Q9TM!odg)$=+~e9D!sM{F%Vlmyu3+XkWD?M>OBdTwF(8Zj6=aB%3b*|4qOrU&jbdpG zCW9jaOk2G|m?uDeG!`ZH4v#|K#C;0K-rF1!N~kO}kWUJ=A-~8Ax@UQv@=z$8kdbS5 zp=qIqz>_dSw>wniG~Hl^our$87Ns%YuC(DZOu#sT}5KXh7L3D>Q%Fa?;vZZdgn;0f~mX+OI@$NeqK#CN=*)K=Fu{nR!2s1xBW9el zDV+w>-(&j18hue>CF$2BNA_wkVv~9dY^>S3JH#D^L?GoPTz)hNzywupRue4c{Lk@b zNVS6a!td*y4%E`q2YC-@GMkUsY+$vApAUndXD=LtWZ0T}ZiF9(6{ErNmIo6s---I>LV3ao;|Se|?H6jr~knXW@m@ zn(2NQ`}F4No#&KpkQBs2TZcQCW<$|Wh7XNL#!R?8e1uR!TMk;dx0x9d(En|XFFk$I zzhl6s(T_4^lzL30uzH`T>bj4!ZzBh>Y>RUTr~GQI!4*8o`VjuATk*O9Leidc$;Ks5=>C@j9`nv+ zK9nN==!p!MH6fiwYvHeJ%ac(eVeJOyK_6PJw@#)#QEMo1I;qiJ3NvaxY5TVeZ#3hV z1tFzqLFJ9?HSx57Xl~d0){|N0k#@k?Ch&|a#rxJ&8J{4PtMKvSA++;0!_Lmn7Ncn! z3+4i3Zi@b!^I(2H0JLv8nn})1+Xq)*8Bw`z3b>VUS$r5k%vMDj+*?SpB zuKHKc#H~3jR3E7CnejJ|Mw_cTH?1m8Cb=WNWPip^fjl-bH5ki~Ix05n0^ED`6TM47 zbknx(a-|QgXSIa6==;EZhRa#Q^7{M9?V*srB0tvX0VE55z_lAl$C60&L@S|NP0!!`DswSoQBt2#i9hGd;eYIur!Q z;g#~TRq$pEu{k}DaWmWoRKLSbl4}a#1q`6(E+Dyq6kOaF^*o<5b(VL;8FX`Cxd4Rf z9XZes0cG|Ozw6$S_IxeXdC^s}^kkyHgtTuq$>~mkKwC#T+(7k4R^a1TVx$R;>$J*1 zhcHRvk;74je)$?#HqhS){)p^)^}AQb;Ec0G#FKFXQ_>;JfzY`^QYkZn1{aisxlNy& z<$i4_hRpTN%;1QW* z4F;uqy9vr)&Zs_SuB)#Knpk(-;u=~c0Y*+l5`!IR=^a!5;I*&WKoNXvm`6XC_MCu~(*BOe!gEH^WT2?}!{g_aZDTUiol@N! zaM$56;`|%LFeI<6`&_VJCN02sIS8t1o--(R3(Uw5>Z7^D%7a%Tjspb22URh>6<=hD zT8$gB%*SErEhClnLvyC&L;bK0Kxa?qr{|AbFN(GCnySc&m}-BFIaP%QxZyE#Cl6GX z#Px$_mwIo_n`ldRK2NU>o)7YqUE%IoBS5V#_4ziOF7RPwF6-2q<^H+UuitkU1u>fq z!}sR-^_zO+E3GR69F3lcwoz9g1_7d(b5^V%q9@@M#ry~|ZjaEN zFrKHOrRZS9#yF1)64Sy+W#NGyO|a9n32mEOfB>z}%EI~bnG4(9q9XT|EFaDYj;6e8 z!sj)qRLnGb%8W{jWMQ_SKZR#SzUqU>Ot&8qMzn3nLg zZS?DFdn?L6vZ0rsswhO!hQR-Cp%R12=?=MTImE(^I~!K8ikR z+!`5-Jvmu}w7{FzN^^UHM&*&tOeEPNS0GCed4guO8KUpiTOXE;Tl7jmfS-nwhYG8u z>6qbUe&erc<_cx145x*YbzJl9y3Mt7TupEpDcri2`2(jNYKl#?u2g!G&c@mOwfAbf zVfr8ez*IpQW9Z01)ozzYn06atM&iVlF^tbN1)q{}Ek#FSkKASaxIQZy1Xi1mYZk762jSrdQkZ(#n)Bi)9F3! zfzeOJ|CL~f$fNqyO(BTka5QjNenw#)Zu!ddD>tx017`37%oT9vuj~D=a>%*Lk>zV{ zH>!@V46Mmy4ej%H>|q)>b(_p=FY{Y#|5H98nCk71E0%{7%;hF=lJgy9b)VbCg6*UW zOThDuE7s#-7E^wdo~csU0)rY)WgiiqKX+;n)+xUseY|U1iD{^^Mqz~FR5Be8u83B1 zMf3V)$#Gzf3+OdW@8_tay6||B6tzBy%6L+ixfh5z{%XL#Y&rFE+gB%evh- z#%~!){a-Kg*zT&jl2g{h*L**KtXazGBm)!)R|`XJBl#q1Rnp>KpEjxb0qzL2(@4QQ zt>OQSUm!)$wv*wA9wYSm&u&-Ae+Vh=EG5Z=h5PVOOvN(ep|p6pbf)jZ^V}y94egnd zqE)ysTh+#B#%UaRnhQpqUxON%Z)e8*4-X+ju6}!*%O$#Q`st-<%g$I-U=K=qQFRU1 zAh>&=v~S}#8w)|^^*1ki(aa(XP5tj_!sO8)_Gw`s?~cerf>0Mw&zH<~SuH>w3nd@c{x?C<1ES`fXz@ka4Z01@?@p7%D% zVSGPz;(f=;_rPCVHu{SrN z1d5F){{tKJeBsmCk+g;g)_`^j7|Pcg5NUN1XKiuYh8h=11{$C_^-6dsM|A-*wOvA% z99u_4u6EzHR=*n#b(>y0Yf!TQ3*9CJxC+uSuT(UdPok!oY?5T~+FDia|a z5k`(F#t>dNM4hRqv4tB!JGGztF{-?^dEpH2RwqYGNJ7DAE&wX9-MK7Mw}SF* zkE*|K_4K5&R0>N$W93n8jV)&z=O9|mv@rhcxvL~*4>^8kiHr19&jUixfol(O@VrqC zQ`;O$U7)N+bnGVy@&ZeX*NpbsIVZ7%1zfq?Kz3Sq1`qUg7)H<39L&haP^aRZqb_XA3` zVU4~Af>!j+hYm{qf0nsL$XbiDlA^myyr^7AP&wV2)_^pm#0WUQSGiTi8-Ar2(KayK z*mMxrApNT03&`s1G~U+$kfpm92iW6t$c)=jIMvcPa=dE1svo@QZqV z2jzQTDwir6h9@cu)Qcfe%zqh^m0?*vYjGQy^%IR}|Id1SdNZA{p4nFI8j7MSmZ$?S z=%r=8%Vea@u6P;|Dv2JbKu?c}!dxXs?MxcaZS}n6xeiWS_qPDo^u5Ne;=)BrvT$@l z)v$N9yZki;bk?m6LEE_Xht>XAU)e5Aw*yX}6c6?(02~J%;Z1OtA}El~wb>wkalqQ% zL%ZB~xV^s~og66>nN;G+f^Xc85M0MGZW7Nt*cRf)r=k+3p=+6Pzf^mQOuB$v~u9S~utqjQ_liyS(L8K;zXMOEF3drVPJNwacGsi;0 z3S99UjP}IR)GQf&pO#cl&*yT*+Wxq$R?=)OC)vz@__OR@NtjCtOD=0YeZ{`UiVhz&0Y^El(}oM8sfW&_AvsvV@`*pI z{(k1Z@qmfmPUX6@_7@919_6=FTn~R7C-r5&=IvygLHPI$(eDDVp*oVN%a{`LwonW# zpf0t14PUVgoiD3P5f;Ew*+*OsWLV!mPbFjPQkMFb z96XwlMGK@J*x$;g{xW|5#r0UutR8>Whz>ds>k-NTPtxf=1N1|B4(#y=(X4?PX`5w; z#ugZDYlbZYGZryIAhu?EiLSIjyFy}rHUw+b!46~EA$`|Z-At*;Of8pTsC&DqY-^T{e``Gpsdv1MWsCE7|VUrSZf4CIO$LDNHct+_VxagB%rx(ldtdJ|c z3z1YctX?=j*>wG#9`GG=NXbSzq|@;|1Wjon6>cF0Pd53D=u%jFA*o*vhFmCtai8n( zIQ!VAe))-YNfIXOo2dDwASnIbopvb_D*8kY4_t)Bk1_6%chUv z@`pZvDDkE1okP9}OnzemHP^mEwV<+2pHG3$xtKl{JS97VhP|DWe{aTMPN;RW2GF)R z3a)JU1l4T~V+!_RC{G+Kkv59v(i%-i2xGR`a3g+@;{Flok>=x^6~51r=mHDA^IyCc*|7V=QtJhIT?qpWJ-=Aj(mN6EE+<@TUj6CbAucUwz5 zFA{`fkyo7~cIXi5zNE0P+VyP92%jL9TNt5yIsWkeOC`o1ZJN+rJuS|c(=4xQ7}u_R zs-}v>tKdAOWe%#`B{ibB>olxzPJW>DeQ7D6vvZg4FGpOs>z`9|^8nPCIi_}42M#&w zx+H+s(2}Y4Bql`3EORXv&|a(Hz{9E5lN9a2C+pwq8fmXa>@Mb(PH8t|o6=;Y1~3Vn z?2kD^SHGLUm?j_}PHr~)HCf@hj5Hot%5(tCHJ(VFx{i9SnsyaDA&Knv)b?^Ab(14_ za$;;^1{wIF&E#-t)xb1Ss4=CZP8<^uE9ti9!}WTBEwbr<)mVFUPm5_Q?`LHeu@3c; z*#c*6jvVPmmr=-N9{Ct1%cIk6w<$9ZfZ}3$H54?|Ww!8lmXRaVBgMtfmsd$u=le6L z$at%XNAIw_EL<%~+1lj1VB}qL=O|=u=;bstaoCW~@qK<#2p8tW8J4%kVtnSRC#P!W zB{leN{Gz4Qw)LWtbQDAPVo6yxX*Xl!@g9$~E+Ma4TSsr5e8&3x>dRI4w8f{?Qu}pQ zeVV*8tjDo8P=?IP0=_K%e70R7iC3TY);<*lyD0*SD=EJ^bPJ8T%DVBkbrHb1FrqU8 z?c%ap6GDe1D=9c?0#f~|1tsir+5`mJ@RVaHN!EdynQtUg;ja@;2#)lE&cuUuM1=r? z*J!??aGLNCy~L}q9|+o7?+%=a{{(&;+`P2xGu+W~U-_@305&^yZ54?(l~t6gtNIo_ ztitYC8KUskd+~(bv}0TaQS=9q6GQ8zPci`P1c$TG7FuQq}=1K zYe(Y}0zm8i&2c$ghhM_b$CTqy*Bs8S-fdZqp*0q!9R=52DNa~vwwd+>zYxX5CBlmauG>t4NzZ#PhOpV@6EfW2=Tgls;HUW2W zRJd$BCd@!u>-;Y+9SZy$$73NpF9QOOxz1h&l~k%_xe2JXpSoumo?G<#t^$v>eMz|} zN`xlBBha^6IP!28-x z+I?X6Pn-Eq^Z+y7v>?%UdN*6*OUha?i?O~x1qZJlJCNuH{+l=Gdw@ykKN>=Bc@6w4 z=c~u0hNDm&BlR-Q)T#rcz70ZjiDnGTtVOK7`D^+uU0{=d+DwbX4>;#PnEl7NiNiGX zluyVGiUZ}D-a!_GY9{LUFR1W)xXGt7y8g;FL~DEQO(Rply;D+Y%7;3OM#TE6(X6As z92Re=T#I&)H??%t>Tk+?UZ`0wC|WuiRz}g7n6K*1I3%?|m#c3X^kjFN>(43h!EiPN zIw<0f^EWe}f1@!ccII8Ia86Ud5y@hpNMq`>Q>pP)y-nlxjBacFwXCl(fKlLK3V}?g z8!a{ycxQ=>H6RB54hQ+*=0XXUle`3tKWu^yv8GwN0mCO#CqUD^W(f^~naa{~!89PJ zfKI3dtHb5&<_KNBpAFfECW(@tvPZwz%wd9%8=P5<9KH@a>Yfvpg1-=dYF(`V2)(+b zp2huqF{m)h|6%Ga*y7NZrcvD8-F0=t<0!b|7IPny zSxRFc(g7Z#9X}-)4?>6f*Iwq;wH4~+fpz&MGu|cCN*Jt4&aJH8hwG273cgSOm861O zTq2+#9NetOM(Hh;r#8ok0DlU3P7t%{b2q!c(~hCWYdlgzc9cEJ36(vp(4nRxryp2E zHCw!K&Q>*MT99nWpdYS~&di6m&MO_%X2fSVU!ynA!mcR&8cpb)kQ0TP)g$+WGUOJ% zESta7Ol?YNj4`)u_mPz+xs%RukGCBk&vZ@-+p0>VRd>tCFG7eFsLba5L{;Qso)@ac zXzxz8l(jZ;2x_RcIw`JEdy zxs;#X$cX2N3u#F4vnhoznb)4Sl^4wWMQT(8S1evx++Y#R@_9l~L_}ha2$S1M$Mz1_ zyTu=bN2$Iipgf9on5j9WLTQknU5dwy&FTop@sc$)1!F3=;={%?l+nRDhjexC(+mm| z!r=k{T$=F?%ShTeyuq@gDfU!mw2KonZy%7$T$a?oW%bTehkxnynpW^)&B$U5ctJSD*z;e-y!g$r?ZcQg&XWW|amTX{HINHcD)ra=iONfp}-ah+~`NIC1 zxDM1m3?B;nFGaYFIQKW7_jIb3hmJ=m^U4k%ChntJUwve$e~hWqt4v?N z=NUNb8tlyx9O!6K`aY21xMtSmfDro*d}kTQoQtY#5?S$J1V(W}edS09^LdKM7I%hh*S+U7$9JXoU8cj6U zn}Zew_ofM#ucmU$wkR7itwePOgsO(ufOG_YkFsCF>M&+GIT!QQphR#>&6q04xzPY$V|7FP|qQQm(e-7JC1wkocX&FfPz& z-ShPi2M=RR!cY!QL>D8LO7GMc8xy*;k>hm)7`?f9Z!i|22PJa^u5`BK-B$q*9TiH= z#LIaKy8jt<3pWh=7dW*;5dWA9z(mx0!Cggf3hUzd zvD$vUnWp0+JpOz~ICdzi4g7ZWp`R)3q(?|B-_CV$r@H~jSp2$dL%oU*Cow<89q+2B z{wWalX%X?jvWZSaRRqtf zG{p)KYS=yPNJ%<)UMgBtd)0g=PKkA(Rgix{zIbL@!f(|DpTdGX2zQLe_aoQ0bG7R8 z56#3c0!!r*3!155O@l;p`8}b_M!ehe+pBVx@HJ2G={?ird^5Hg0Pd3JCwQ?q<;zr8 zJj+j*GA$!Pcy#pp%LfV~3zFx*D%!jT|CBydVUJw8^k}CW@e&nsXZH(Rvbfat`v5nW zx8f&LGcMKErY<2f%fxJWx4C9`CD9oE0Z4+rwFihIJq}~q!zK!%ys0HkEqfdXnaZ`X zYR07`!|HA`y!OWqnJ=Lk1R;TI2{H&sG96Z{SGfXAneHI@mr#H3Sn3zlR;$q(Y3 zJ&Yk#!An?OIn#qZM!r(|4q^`HG=lCB&w6mN8N6QJg_$px7(@R5VSQeQ{z9a=cE=t70MJ7JXo>o#=%}NJG_B(CaTum zdq6=R6Tha0g$*|gy()g&{7C7MA2rgw7$)9Cds+-Q7^HpTu|1Hs7k2*yQ{hLdH`Nf2 zG#h0O839di4F?R$G*`v{r_q(gF9iuPlC6wqlRD}`?~4tFGl!yf>q2A~ckz>F&~#_S z<>fW9!;aH-K*XrO2i4UU6GfS;+bM)RKd#bawyC}&WFcJ%OjdjM%w8?Y@#tr zZ6&r=CYKj&eBqQ!MP5<(yU^rhcX5M?Eyi4|=VK)SCU84yNJi&+%5t1r+S`pA_IdQNTX;GJ=(^;%@C(cAfAG_c&fg>9c zN>tIfEIMz%Hwy^;g{HdR-SuV|V48}bXWxd1@(b#vF65NN>;b#r8RoCuQ3>Ny`YGQS z>w_w^N2IkD=C8j}QLD#4Qc+MscT*F#oY@^0pD^!I{I?u~wR0@c-$~LKFE^KLCPg?Y zNGVtw8qDgKE*~u>8HD(aZ$=qyIk~nC8+OZ;4%SSg?hjw;w@NKdVL*u~s7E={Wo~!U zjT!p}jhz_?(JcZ%DX4=+bq#s9hhhKVGT98KSe1!km!M=aqske2P_*pO)F&r5YzM`D zdDPB&5tBIpluK=r;}(;L!ikEFUA;y=WH~T42ojV1L7|$H)Yd7l#UQ|jM+5^($e|84 z;j1l{8J!)$D%A+(QQ%TKq{j=ULqv152Crgi=XFCdNjge;%F^$Q(|II<7G~xU$jW+j z;uxJuD#Eo`bFWhV21wpl9WSbHH!ZL;@Bm+HakE62PYt5eXYlvG`FT{B>+jS(9Qg52Bl|u8^VpLo5d%8 z%kZqYVo9VQ%s*l8FFV&Gf8w6ANb2hPsckk-dSkj`3@n>%{!U- z3Jba?=2+w>WS^*=Im6|y7uKz2nB2O>k3~U_+FL0{gLQHA8@Ru9MN3QI4#B`l1zuf(d&cx(bDZ0I62 z0|AN2U3Ts?9lKvg=1eb2eK|7%jvqn(9xIw&o-k|W$3$U7 z3I(l68UfZH$wpXBnPunAV=piNoJzCQWr6nvCw6;^rz6#Y2c?qlMfV_72==YYe&Qjb z@QeU1jQdj)cB=yotxysVX95Z>m9BQmpTNg$THO?qF+3rp-sI$;wWlLT*0?0D(}bT4 zpu*GI5S)UkHer9{eHmg=C(GS>VB(^t-V;oNR=tBN^1)&Mv!(hgIVEKj!OM+{pva29 z(g&@h80+IuH*~|2*izz$ng0dJYc{*)gP9ek!Kj&fqD|_W7xeyGpH-8v@X_KSc2*9( zd9jJuEN!T+1}}viK>|}WCC?-ZA|riUYKOPI0B=f5NpV@mW_(pRTVLy!AKt?!I|`zM zYWh#>rY}G?=gOvz15fp+6>p2fMP1J5hvg_+pK>m(+6v zuV^{N#sjV|<#;#+Q?c--!q+!__!)Xae-T@8%hs-5F;niLIpcY{EoO)I!LlByx$~T(O~93yR~SB&y$M5TXne_#J(@% z58&E@nMfgEWLaMSqm)lEy^uBY)$lTyy&JjLlP?%Pk)L%t39Uxmp>o5`hFa=mg~EQ= zOqC;yZj#q$MHfBWzq#YM=zy}ki4G#{+Y9HJnkm(JEkKGRaiz!&cGFyTP>sufeVo`- z^RT60soC*6bGyxu*QWs-&Vi61Ff*D)5!BZg%q!uB3|t!kP32QC0A#w&9isRF`#jSz zq4<9<^?wicF+{8ik+xQAQq;!uBQBd0`fRcF9kMnIxyo{RHj>MQl;AN{LcV8rP3}$#h&TRS8mMlfw?_%3J{}Y#-P1>0F zfIs*eVW78}+$3yZN+6#&fcd%h@dydhuMRDfhR zkn_U0Z;wN`_8rN)H}=dd)7xi0J-rSjK{tD+Sm(EUHU^pwe_#`-)ZBLsUdLW{!Bh{l zxVR|_?byj$W%VtU!j}a^Ow!$(BJ;AoXr2QM|ki&;POE~ z*vLmiB?E#HKJEVtRjTCYqZ?T)h}aY&XiIZG56cDfU`jN-6FBeE(`JN;ORcb642tS9 zd{=I7i?;94EcGrzDE@^6GGD(Nk++k2Z&|QBb&*I zN%bK=!FhUQ2}6JBFp?kF=~{1!;WT$kyCy{!-%RK`Z@f4Ro!MRo%mgiPtmHkymUn-k zxJg+~YzE9Pap(((01u6Y=U8}P-_k8|*T3=~^o>{7D0I!6c(>KH{3OV7&#tK$KQ2h0 zaOO(j)L;<27vtEhCh~M>7bOpOf2?LUJv{v_x#=It@MEaW?-UB^TXU!ywVWJIOuC=h zm(mGIYhC z;42w>HqXSQ0jof^;WPpxff`y)1G~XSCNPc4Vk$inQ(BExtUiLn;d!>}^mxKLXsy?S%xaC)qMApJia60UB>E;RTyaM zOx}f4A)-n965U_4O=veh&>QDeJ|e{Q6QVt*SlRBf%!!uIVUYj2Yt0 zGV!!mT;S^UfFP75?-Y2siKo_e zh{C4BvTlj~6KSAGh{9UEZoN+QCLpsTx4slssl0)R|M8Cp@hRuTVNov|77;-Zv)_$U z(2s0~hdAubQn@!0#)6meZxTM6g+H3Eztbo;&VT=bj84~)P!~95@W;#oO_Xt)0haCn zAsmClH)z;t-htHc`nJN95n{Rd90QL5MZ^Li-~SxYJ)qS0F82qr7h;rK{67%9M+}C> zhCnapWaat{ZSPY(2v?mIBQv2KRV*3CXRLSy(4Wc<#VOU#FI>mg0dFj8n>Fjpsc#qA z^p6|vUaYQNUXE%p>k!sWmc{#QTn!v=n`j8~cV@M#yIS>NdzB{9lARX<#a~Sqyf0(l`;VtMK4QPH z;T`MdWf18Fs>)yM^o%)5B?I#Ec!aZ`&GwB_Q&Ib7-s#QN*?4`~K+SKvrlq|ytx*4< zOON~}B_su#zjEyRTcaO~Q%99z@@TbY{r4@F1$e6Zl6a&Mm%hP);l`xo3R(7p$zpQ( z_^;<20Db#`xs9}8o+A#8z5v50Un4&ZZ;vQ#dx8jkASdD8>ra5!sDchK3!BVIo058l z#)cgv;Y77d<}wz${zo@A4E5Fb9_cIU?leqXMe-p>p`bMr$0#hY%1f-mPXOoY)}xiG z8vmxKWX~0}?C?9yT+O_b`2LbYsaBKCU%yL$aeHUA*e1~mx-mDks*J@X>v*7!HY!zu z#Eom&lO}SP$VWSZkz+_JGu}fe8!7V=(^b9yEy!hx&`NP<{{5Vz8_RQ>a9_;7$xKA) zl3Qb*k=CC?pX5~h0zKEgazWfI6Ib!^#7as2A zKE^wEX%>^`Xw&JAb?ns=&c+{J0SG{1R8RqHnG#<14)rivi`Hm#>t)RpH}>0JJq2jG zLoVaHJO3>BsZ#iUr!nM<@4PWr>{=bL3in})7X&@p7Q%E{;L1_>5E!AKh*2B{{ihzp z`bi)MwR3IcSzvQ;YkBMiOo4Hd(Csr`z0%uPzGq?u%emrT1&w>D)vi#b3TU$;>@UYx zewrQXNxKw?{j|nV?BJkYpK{i++%7fdf@*0&@Zw>ud`&@TQO%4i`*-fp4gAXR&6=hE5*6-K0)#5tBnk2K#x=B)kiF zBl1s}#?F{|p_V$fJ76|01Z#6q4A#x0FS766NCq6%)9?dhC{|Qz?;qI@sVkWfH z!%d%z-tip_-Azlt_ts@^8{j~u-E75FN`$Ce$n>lB(h4lCZ#h^SQW3}gG5z}xC9)0uhvnNdEmfcx$kYmSPM0-xeXBb$-vqNn(egOp}qNc zMT{$H4)F6imQzc&_4v7~J(GmME)4=m%H0Y zBvrygI-2>Os4n?A&H*FsO$?rPUQl1*vN>*qMrVKQqek5?y4%n(IV{7 zyUi%fs}!U)u-@=zhzyD>A74AU@WQ8IXc;Yj<16iSyhbmUBN#IwAzGevGdXJ^I&E8P z20gD0%q%IZq7bZl0qu!_tu+PJrcOM}$fL`4R%FRa1@m{j2c?3lVqqF#{kEF^aox1+ zk3=G5T^_CN$<@ak5wQin`d(LOl-|$FAy|0Kcxb-QX$pB{i=)=yHPUNO@@ppBr{m2_ z@(sTr-N>X33S45**v!k%Z0jbJ7{zQcZLwa0GN#O^n`+fzh#vU)E$}O|u5hLCgCcH+ z@NA|BFn_*zL;gU$~0@+-cb(d zI3q@X6wR7maqBeviT_EtG4UJbcRkA>wU>Zr`p~)J^m{?*+5X*n(tkOxGlc5ZMF^Z@ z@TojOsPkmlwMORxw@$k_Y7_;E1|MEPJnIG2pdc!_i@!fu2Ns8u?ikgAvg8;~eV_`V z)d^+^q~loX5TWm&*bC?&{Z0k&vEgJXsAi0}(%%uZvX{TQo`fXnHeh>2i2!1K0>9ci&HG1|=+= zB(E%+c^KY|tZs12M@L4+AI^b-7=(e0^-6taWU#~SW+q9ItQdz8s|c3lD#vb{A18e? zLlMb>B?{(WNvtqF$1w;K3leCrBt-DGQ77Gf#&&aH!6B#d;LX^I8c_?rN=bSX5e`n|jshH9;X;Eug3 zB^A>t1~8r)63~K5&;1=2D_zN8R zkpBS375-HNbkK#49a|k`Y1k%rHWRxf5SyELl^`6&oY%Q z1xMU^Z=T}8Ha%SGGAgKjxVWTc&CAXTBN5w^L=9rdyj}f~BQEww6bB*(wyvdm_O-1g z5bbZlg~Z0TVMERgsb-oG?>rR>W{s#n$LYuhQxHaD+M6Wl2uiBpHQF>k#^QLIs2^=w z{k2B3Zn$|m?*SaG*r!w9ipC=1v)&DX>Ql5&k+@#J(6zey3Go~rK4j(2#Myu90Cg#x z_I*6qlM5fU^%UIg_*iJ3zD{$Ij>^EU7!jjG&<1yUGhXl))-)Y-M;IGe#9;DXz+!tF zUc3{JEP4yH>n=@N=i@%WqtEiYQQLd=To0(s7UDd4ojUyLfgo27T3TZa78`p@faz24&rkXS_B?0crdbF~9Hh&Eq!k=4)wRwYPW1y0KDeR1f?tx1G7`K}IMZeomLQ1{_Kwi+Wf zwVWt0OI;h1D2H>lV_npHyeZFQmL-0og-N?|JRprP1aszoTOgQtMXr)ZY4@S!)1STD#w^8w6AgN$&j=F55=?AB zzXY$Nw@vKUnr()vtnbdZ!!&koAv!B-^usD;fkK7&47SqyOx7H!D*WhFX>TPo8P_LP z!h2En9N9sAfV0RO%)KnL!Ip{ViE2&V$)s_I+otmp)T5TM)95zg3-?N+lvPsevy#~Q zxlb=)ULJWN1rUcNcTWtv$3d@PjyG+-kok=A zwk{h+km$89o8+9a}Pr)fs{0^FVCrZVmE(?ee* z>oHkBmNc(;V|!>3xEc=X#icjc8lhE$Tl|RB+v+eI`WeAwOZneCyGSD?v;jN9vzz83cxYc>n@4fg3~L*l=6;x_Vj zCQMR|dxBTQz!dt0DL6^UEN0g52#8==;dg~!sCAMZ9vp6qydAma!Qn7kuiNr%8{pK} zN;`l{W!wM;_?^4eESc(9)60+=vDjVD&)B1+ks|J9j>pR&mRL7nrNY8dH_!89)$ zv$mU>cNrG%=jlUKx%_amwN86iVpR)O*QJpXnpU?Q1Esy^hl@RN&o_T(t};P=uS-c! zQk}Qdrw)Ly-9246qD8zN6964Xs6TZ!qax25N40-BkK!;@ zRfPTQAMc&J4W{-JG8`7vke~37V zYE2SuvAnZhmpk1S4)MCtzVU&noffO^Jiuw`Iv5)gE?Zu@Qhl$}3-kF(Lx|EFUY4ym zi9#3wX1woeU6Lldu%ix{M$ar(5ipOE3NvwoC}=2rkfQMG9`4r$9ASQjQi}PlAwLj+rH53 z46SWhobX+wYF*x&Q|ZNZvmA&H>k87&)9&DHI$f(@orO!+m@bhBlRuB&NwHTP?y>yo z6C<=@3H2Qdnn-K-#557v0F$M~valVlV_mjJF@=447#I2W@wyfW_cU3zf|;Uw2cxec zs2>C}Lfc~ApE8zMGv>^u&fs^riKc-FAveRkZGSvXCrFC4z~(prj3!gNS}P$c{pEH(>^8S`%B9u@2nZ=_>|db<$R08d!1Su=Mis zsMnu%Pu_WAoFYzo_uJY7H$yK{;V-D$FjiUCthPh7Z{+3QchquGq{POEj4?*to2AsH za>{(BVD?Vp3df||WI_)EXbvKba2>yJ!!CZu57Wh5akYF6A2qW5H7|UR*B&Dk2jNP1 zYG%PO?hr4h6MPn-{pir>wt?paWWzsHp?RW7f6G8OpKhe4_^JUE31o7mJ)#Jg*9kzW;uT(eX)$VNDXy1zgteLeNPuYqpu3#1TM_>;cC&wl=lnCEjLvjbp2wr#@(71%LO5gsskq~+Rin83ZD*}w zH`XClY|{qlE{ZW9-0%f$QVyJJViR=~n!S6igI*;%6p(DGcG|jEJLlwi9 zK>%JvlLnnKPcQ;s%g7bZb?-Cq#_HNkdF3h4tqqW5Ijc!x%Gi)`(np+ z*S$wu@ftlHMzq9l@Kay@hRLaIvS~4e-l!`!mgE)z!}flVW%Q8yV#hMiHIyM`+vJoV zs2kz>{(VT;+R^iecQ+qxUldHt|naIG)SSz`vdmmJ<={X?c{Gz#frnY!ZiUN}M( z?5zGkuz_}r-YAkjkJ`4kE-6TNUIst-1z`o6Q+DcCv&g>;%)w&Pa8N2nqdE&$5jtvi zA5KaS_hqsOYiRq@U1GqlYuizU3dK2;D~dsZg+w@13G)wC+;a~iXB9)&@IjVyOTIaM z8f}^3+2_MAkI`;q+0^O-4H~1Oc)ASb5ooRcC>Q%60;3l15a2p`&)cuedelR?^W>&d zA8#7i3k42qN9(z}g64Z}ANXB4=l3`rcjAnC!$$B`-;9+OnyS*_oyL@zl0mc*^gqh& zHrlo#R1k+W>)cwSNyA4AsM|UPs&%Z7^IWj01n09mW2tv4;uSk+KNu^7Qrd(8_W>r& zP=IpWS|i_2AFFP;iB9aCq6f~F{33m z(m~?OB?@mf-};r>QRNc6j31q*d;*mN0p zzRoHTY{hL)-4wwCB=GM1T^l6N;p4QPYb|$oV5zb=iBC$GEJpJ%m#9h{mN*3tnM9I3 zy41tGf)n(WMIO^Ec2a4|0cfC#b9 zB)d8(GBYl_NWeIbq!mO@0%^QY?WCP71Eo~2G{SV{Ab$uoY-Z0sAkNW5}y%5 z2NEN`VVuqtEg%q9b6TOt^5EjEEEAJ`8Ae*#^5%Tr92iaGDnt?bfV3C$ABQP84c_9A zb1`Z7?gLXE#y6owC5ioQ4ThiqGu)d88L?&$@oRMPLu7DcmkWT?{L|-dGAN*}2u3*m z3@m&+d-nxB^5iMJUoPy5LfTIxbhM??Z_bugMMgi+JVl=@FM#4?Lqy~6%EkwqNhRMq$)#9EZ+GU#@Mh<2W%t;}B(BG5$RYYl0vK+2SYlGoK)yWat7y4K6*N_<+AELvOrCPcO^T=Llz{2l4t>#vCMvgFa7;aZ6F zrBy!8EPkQ$z>}*wMG3S)0{!p}eUsRVwOi}m99^YBgMg$$?16GlctaOle7Z?mE_*!G zim&+{*s;JLS40OHA4IzyE9+LwPfX$t+mT`*0jmvaEO$f-CFs=?8Vigx0AuvX0|-5N zneJ0pq{F#;lR~0<6IAuF;Ltfm!m!(&NCb(Aa%2 zC#*ElhYIU@=vNI(4Jw^Y4^%+!xuz*&UQs3Ya%Scl6by%^H68XItWuKs05b;%3v*mi zB>mQ)@b;Ex@Z+#Du@E~T%=we7wF;J!M%CXD3(x9mp@bz8{5w^JGHxY?awFaWE52}5 z2-Lg4T6lDQf60Tz$|pka^sTzEcXXr+@~>zuw(afEZ_M62;&zHP=pHigGOD*w|8)Y|i)fp7vTJ5F4~SLjm4z_54qbsQFI{qAtc zVU`;TnT4svYExWCv+QLF-aCR`E$bwxDOOOy4I41eRobnj7=N&<%Y*BTZ1Wh|?AD+V z?e@inCi)n12{mZb@s!dp{7fr`smT{=@gq#mJJh}ro+Qt8uZ$O1Y;}Y_PFC&LSgWgQ zjHk33IBeWZ%6{FfuxMY>aC+c?h9mj{BxwaF9qBNT;-=KAtIn*auM@ETxc>y9>QJAq z_1dA?b&e2Ko5NFLm5ePs06^bCs2e!)uGBTYMiB;2LK1(wumN5kXTy5oNHuWXf z9+4AXqIG|qs{7Upv5$9bBioZ;b@Bp56Nw%JGWc1L(SwC|>08v(D2 zta$^L%h1k)yIdDk-NvRRmwBnI(Do~g!Xm897I=nw)^n~92A6c@olAt&VtIbqTGr+o zFG(V*s6reDh0wXnOz$>>lYY87>65*kSp6j2j;3}2TT`k!GeOJz>r+h8ZI>Y@luhyz zvTw7AI_!x3ffEmQt^T-9cb{%V`)*;*f?cwt;=pe@$ta$I(f~KJj0XB9TRIlaf)u#9&}^AI1l9Am9^js!54STHP(+k!}bZ)=oLr` zWTm0z06(>SS7d@M&ePooV&jh75r^Oq&KWW0XPH)rSNG;y!} zMEzt#Z(-BS8I{k`H_Z03>H{?(WfaNrm!&h^wTI>u*k~?bnXz)4hKUT>{Ta@;{a&3@ zA-{GXg-`6(J@#g?0v~(6A+8-*JnGZ=0^?h8{R@*|jk~ICQo=?~@PZCV1EKRg|1=!~ zbjpL%IYzci_jtYfCpOalyZKe^RYNr;oawNpa;3gEe>i@K_&6KZlT_J%{~+{}JVe)X z!nc}<(26Kw@7%B6wV{y_2n_L$P(kJ;&O4Wv+MbEw_+e&N+oO{X_G}fDvR>Pj#IT=f z*z*?q)p-B*1#dKQvM|B`UrMAa%x}s-OxT^rfH<~#cl1%Xk5+)>z(RtfA&?tB%L+k} z;Me2^9;HnA&@1kCT}k#*+*Y3=7tx57OxucxNv?!6u4gwZ?et#B4H`YhPX>}4bY*~=!) z`ZEChKGSXuH4z8LWrjNwyWz2F)oVY|H{-Vdf(ui-j$Eo#a<-_s79fL9!knhF5|Z{f zaSmhQSP+XSjZpFU2#~~MlLSD~h6xFGR6eKSne$kcff||3;EN9=bGErbbK>`j$A2_-hV__N+nl?izjW7z6 zZCt_JVYaCDdn0A`m2l3N?z*UzK&wN}?0oc5&N$?k!WUA_g8n7;TWh+VwOwI#vj8;_ zVJR3doeHnXiMOafR}zd&;TZw{g`)j2R%<57}x5Sa_KEzTip<==ZrI8pzt zt(gn9H#YwCKg$ki$Y6YCqAhTTYdr-^I6d!VYjuKjwMp#S>;|58LnDJ7=pm@yiiSLw z6p}!d6c;~nH1HX_+r=dH)eSLRfK(SOWcKVNF_`@tNV1-Kx2Nkr&t%fZed@#^^u1Z7 zjf|u3V4l-EU&*dNOxENN(J;gQNDUr+R;5XW$AcaSQSy+h=+j;9THE_ub1kYwNd3OJ(6A2KyO+NX zDPe^n?jvv*!t9!*84z&^8LnMiX+dVFZCii^aV>_pyLtsnpr^~5_F;N@bdo640>oVy zzn*Ogepi`Q9e8g3jv2k&({i|74CmWLtJ7J9m19*2i}~A~XO04av=z6H1)Y48XowhT z7cv7DfQa}d9~aray~kNd$cr}L(xiP|ehGp}H7euw7b|G^xf-k_>=c1~50 zIhfwQE$jW7sa+3vbT#&)d_jGlIOj39>y2xM^yc}WX#Mc^B7A zAHn8SO<8NATjI;$oiiilds&8PPnEycf)KKIIQE~)h~n$!?ayrQCTmJ}P59vv!9}ZC z8}uPLFiNwfw8J*^qdDlnQ%_X1o5%MPz@=gF-WXhGc7PCNZE=5=!(kgkQlk3vC zjN~#milxA3|J`Keu^>Q0kOFbgO6Y$@n9FFdV@Ne6)FN)7u~79Z#~LqqI|v#=wbvte z?fcGO!i-HJLxx(XN}siTzy9h|YiJ2{uq~Ni`Khcrh?`t)HG?=XQIFnMt&kV0yVh;r z9`EIN?*x+XS(<}GLpHG9QJSfkJ4BCiKn%CXsLb9VM5x>CWAf6UqdWn2<}g}+vH9@3 zvgm7e5|k6tt#kG=9hV%GPy+Di5+?@YpRga3ME^B8p1= z;dmmhnl?hpJ6PlOFocfUW<)%bW%tc1Nr!0JkmH;9<8MIQ8y+hp%`lO4*I#WgiR!?% z${+Qwt-E?RYsP7K1!Zlg#1iKU_^j6ZDT~NtNJ4578Cnt_`s0;``KL&& zLy$-7g7&^cbvNv{`wQf2i+s$+T~Bs%mH>N1{#m7Ye6LK{5L{oFw5){qLnGr2r|d0! z@6Q6ukOT#@sbRtiu3X!uA6ziQ&=j~gd+FiYpT`*N=Ptj_ly4uXMDyY7SxSiilF4i~ zWL{bk{d~f_$lNJDu?{}H%`$LNzj1B<+36KuUP?e2zKP+QVS5vOv#Sab1#D<7yOZ;B}Lszf%?Gdun4mjDq3{3E+2(g zju~oZoQ_bGx~$Ha^(x7wGwI)CViduPiBlnG15Erg4g0N09Qtg6iU-zEJGgt97wFlD z|1_L75w518#jU<=TxS`yLG*eL8Swbhb6cL+En+!@bf^`9ue|MVwFvi!Yl`e!uMKILumBlxTw9@jJh3|Vmdks8QJmg4bew&mEZ-3Cc_8m#aQ-b{!nCN!8otZIeVG_xQc zIC<)4X*f~PV7UStz@VQqzS_{eZj3LEucREY=E{DFJlLU?%A&TN!lO9?0zWIjTxL5C zQ``sA=tib9qosbdxt+`ckiqMp8e50XpLP5RI6A)asPcJFSeyz&Qk}3iSuY@M`xyUq zCqUQECPoiUJN~AUbD6EOG7{M>6$YD0>KWYYOmfrgmR(y z1h#ZtTOWeL{k_D+iSwK34L62?NU+=1_cxFNCo1?iKGQ2ma`4Q!7hB;BBp|k%-)jM$4 zxpr;CE4JCBu^ZcNV>VbxW7}+OHfU@+E4JO(wv)y-)|YoYd+&REf8oM8=fSgh2lxw> zemk+(yf)B`!8r;S`V)#ogwF80qLDRcmleziy&GrM8~kbzhujz0X9c2tS!pvAId~kY zl@hJqp3mw{tKZzLiD_LtFB6wjPF89I9wO)A2mNUr)>SJ#8aGscF{F&G^q)J>sA7h!2^0J_5e+c=sD6fZ8nTT&<~ zb;v7p_vaQv9giX77JM0hljGFlyu&{hrJ$WU*8?SkbaTDa2^@Y#x#mQB6HyUB!mK?4 z1p@W9LuzC+0Aw@Z6wT2HgOcJ1Dp8m1R)QCp3cv};Mk1W06AcS&qOCXItf659hgcFm zy*0!5qUJyzBNWLP;Ky5~W9i%rr@2}$Y{C?bG1Vc4BAO?CV5!#QGi1}gbMl|La&6P; znLlzJ&P##P%_ruz6-^L<0wf#S0V6<=N-lT%E;yF16GXpC6N`|ji z(v>oe2A0OqLFt06xACLhjg&r`8*8YR6EkQqtCUT|fQ9{90w*c000O-Ha7nqgFCshA zI;-9n-JPriOvF^OcFQ`?AHTfL!wl$hxd8&(Co0sG0B#0?^s6hUn{W}K@quUr%c5aC zx=kdq)WBbu*vJ4h3U6n5_Af*DtQD}yZw|?O)j9g-rliZ1FBZ#*SH`32iwnt@YQEzg zrn+s%ICrbnRbLr&dll%Yen+S!pdl%RYoL2jHFcMWawOwGCYL)H_{9jo=zs~ zjq67MJXPC~-B)zJh}9)!C#1-tqqKgl}4utIz9s_Hui?g#q0+Nns$?@mlY4_Z2U(B;Q@n(#3&7JEx5iv6g`CF ze%Iv$3ySk{rW_f8jB|~#BrRaJ*&J^iP1Ao@R3A>TsYLgw%i|T^eZMH~#avAkWObD= zXQbt}5P)6)p-aeAO~-k;kxxN1hatm-SX z2zw&UpM6=FJz^B0;IF8|jRIm1n?1y%Ow#>5MHUS$K#%a3iU2&l`(nltv8pAZ*sau`fAZxyM^o0 zs4FMxGLR_iq!K~7fWh&I?h1>B{IlbX=7i_ekAQrY*!@^z<=XleS;gDcydP9)cmBRr zt3f>)Lpf&Pov2$F8PVDzUUV?IY4o6+%er6~IvufV&^=x`H#SoR*HjLRwyw<#6wtQJ z0Y;01rHi0QqQ6dDUwr(R$l7)-4aHu{`PlDjV!b{b6uaTk>l_2zjCCAmh@Qcqul+Z3 z^Gdc-W@hj)(Pm!`+1Lg21J*@Wfiuv1Xnq>qZjn8G%0pBlotLm}vdX=p<`BNEb)`Rv;J9M=RFKTuPmdAz zVrX)egbnLo6bkDe)BbCa+h$z3n@b!I+4u6SVG|1vCH{7VKx>&b@VJ%j(FgcVN% zY;S9<<-TEx%55Z5$!$})T(73{d!om;=*y8dQmavRo}pI%udK7_;j(^aTh?LKKQoUi zS_U{JQxHjY%hL$GFrlt=;{`@+c=%RtCN3srb&qGyxZFcOaL942Zj}+3=9)l z?zd7pg-^ZnyIs(1H8luSl8LU$(4BEvgW#YqgMwlwMi*zx;-=_3udx7IO`rS!krjjL zkh~a1jC>V-89piv7F+SFk?CeaiE6i7G9w%%;yfWSSRbD%V(%(w4okG2^7{7>1J>}J zJoL62Zs0mD`_M#bvCA@ zg_R0nR}?{BV4zy#HlHcwGct)Q)cX@1#RiS&3dRcBVrL2X6+D@n-W1DAfy8eAtmty6 z<$o4mg7ii%)821DEGX70vNi`l)U`o}zJ7m4XAZ-|$@KXd+FuFf-Ct2&58(AUF1 z*z~Fyf1hfPG<~C|V6Ko8ZvH@|Ya=Vg{WRQu9aiG+;K23ur8KG|o2R093r%AjSAfXA z7rr#vI%aK-HO00I3d||9$;4-4NOi*^30znJ})2DiaDzP;E4dHSX`=I7Sr1>3DV)rTD;KX}sJ)YNg^lu+Hc7^vtkn zgJcwb#+%_fp(^qN`_@+*gWnt7uxr=BoW z`Av!9)!jK>pgfJNAW-)1bnnNdZ&{>wU}&9_L{yEjHrHBsc1=8II5&3AX<@KfiMHe; zr2mjZ`E1HW6n4B~k29dvNNPLTsEk|ySeEx!q)#wulv}VX#B_4kJb%H+;=(1i2;_#o zqW1GlCRw|7A5SMWx(~JWEB1lz)Fn_bF*U1L%g?*iM9kvyxdN&eeQ7M2D1JS!{@NLm zhK;bR=2=v$%i~Uo3KWRjSAk5~>5-Jqb~A}> zh`}qhn*4s8BE*aZ4V<*mkj@msO+!;ZKsd1p{p7??eI7&X8DfPma`i~SP##oH!)B!H zhM9Jf3RrmYHEHqz3DljC+Cos=nz(MLuP(bWw3nf{g;^}%3s(i1z1mNBoo-EcAc##Xbv)q_OL# zuIHqKo`nGu$C{cwD;&jj*iiylA-g2-62G0!$Pp#U8$W(UfF=oC@!lb^>J= zl)_kb4V(wPb!ZW7hUMri*^|X01F;uRA|6JdE-qYrJKaIX8PDju$19ynn}RNFlZ#F} zr+@4aQ}vGX!;B2`x5Bzxze1XTnwjN*4px?qfYz9OJ{ z?bh6NWcbu)AS>faSkuFMYEpS)C0K&rJZ#DT?;yHC&}v4`qC~Qw11Y@xKzT9KYAmrh zh8Ks~e2By9I!;Lq8f<%D+;@fwBbc={UB0Bg*ku9(?Yh|FzBg;YIap>10RdIt0>Cjq zIavn`cpM+s8LeQUxUq>_&foKiU7lUOA0tzR4SeYAH(dNEk;BT)wQ7j_BJ!{rF0e(P zO!glF?UWYi=xYKeRhaVz8?^{&hJKFQD<^p`cM zg-8~ckxekIvY6qrEqGg#uTCt#9B~|xz9WQRKJa>edOxOp$U@DL@m0&u79mB*BMUFUnr+Xkt z-XUC_cEg~HM<8&c%NnVC&s^WgDwXcqv@#g05lGwkNfHbnZ3KD~ry7MjNV#@AJ?@^n z(9y;#hCp}4gdR~nQxyiEKXjA4z7=#*ldo2Gk`fV@zxlZpHa`+QTIpT0x!^6~>|wPP z^+0txivKqacC>o`pEqa3`)LXt>pa9}ppESksI98QOdQU_!X{TwP=H$R{wHw&oRGrHJk?WEUMJsI0%VAhR9m+c?g&h+%1V-2qsDCR)#W-p*C{y|sw@Q&QiUKP zu<_NZ9D92g!Hj-&UuvouGPTkMh8y~LkTw@8zR!0CY!De-eR)nDNpe>OrL!bOQU`Lh z(i>)BUoPlm3a0Nxv{|p-O%*H|*c#s9>hBl#bBs`)9xGk{C5bZ=UwA5f9ad~+L$NnU zWfN>(9nGsdf~&H8|12yF*%g|!&T^Jc-{p=5dMrNyMNywS7yuszB(b&AWLy(O#Iz;5N`+a^wl{%Hh>CiEGZG;AT6`m zB?p9Irrf-C{X(j6zy;sdMXTKer>ih`_GI5Mw<4^1p=++U)m73qk2_qe3#U_!z{{Uj z&5zFmn=Pz#&*1tX2l86e$DeI=8%nGDn@INU89UA8*PstYe7A~ZM@DG*qgklAQi7w2 zjqPYjQe>x#3BBLB9F(7@YV(CKOBL0iuEp^OxvA&J+&z7p6V_tV3eNTFTU2;(sKzu3 zmc@fr44S1)w67g#S+W?E*y)ISXYzrBe&oFH_`jrne_O9-0-#plBlf5ZkI~ZEgH<)0 z<4$OL71rCsfw|!@l{`wvnr9q=?xHRhnMKVHe)G4(V4h90mz=2xQ4y1AY^ZD?N$MR1 z1U5d;RP*k9LjKa?0EI>Qird#VaPcxcNRB|n5zG>e)MwbVtNBb)w#UBWTkD}2VO1Lk!~JK#!tZ9Nsu%+DB-m1{|MK1t zCu72ndJ}@ANm-Bzs%%lQ+C87-hN(4W9r}tk?fM$=74}tyB%vEgJ0aVQ8c^x0>Ct9n zj`#nAXID&@#8iITnXxH?EsrkCw%VyIS2;Bl#Gc*ZDOIiHK}Mn%$yBAC$v#4Wf8l2oWUV>Wu*K_qh?u~#f?dB z!jLu<#7g1)o2M9-lvUumsAEGevK^{6v(pVL+9%!1qa@oFIqZo7bkNXf#6wpMHs920 z0sE&V{3%Etzu9K3C-!p2%30Ke)1ZQsu}yLDTvQLK$CnH>T!Bdm22|Q#c49>@HbCkp z!73R!unIT@!*RGriT3phZ$89yqX9mkBH9+aW@F4%$nwh{{IIx|BPKG8yIaNV@m>a9 z4J72KHPm7|tWBPy3v%{<7sLz5iw-EjxNiO0k2Vo$&AbW^CSzurkbZ_DkmnE+_620< z&9oBC5K*N;q=vju-`hw%S&qlu_1Sz61$@Z(WkMX5kGPRg6OMhg%vXQ8_;R@b7%ijQ zz|Z&sek3f-5}H~BJ$@jh@r!51ed{n!lKC<4wzR;i0Gzl@``@#)`=odQ#)K+7`gR9S5#&wlsu{Fi z9usZ&Q`pW3p(7wPErZshvM5NBJK>rxt{32O8;dz3-=ZMaO#xrE>w3Zsyk{}2KZtBG z=1ivBxXZiv!{a29c)F*vE)_EKMP%(!fHh2e4xpd<|0)4mfcN&Dr3UYh{qUi8t> zXM3JU2BkZ6kp^h?uDr=UR31&(d)(l2zO7r$09GV>^WC%}e~V}fgL_wV=Zw#B9$Uxj zFZ?c=G_MAekh`s6kBR;Whxv;NX-K=L3hk~ews#NyO#{5VH^QPlj#zaII>!E|0=Y*r zhdc{+<(C_(rU2#PUi*-;p0jHJ4m z!_s|ttqfWVExgy500};c+jUGa6+(J(K3rXugkYL{_#~o2G&M;#+DZ3nF^O2XP(lLn z!~|e=fc`fuQYybkAHo-XcNb0-^I28URG9mFW*guzawB$ALdxfBvt=YKp1*Coxeh>y zbOe1pOP4KsX!bA0FeZfg@hM~GrqP7V7-fUkmZ5>sRvl+Vjg>Db-VFFX^=Rp@oc)0T z2f33_SRnq#`T-vf3!e?Mm9!oRzUle3kq1&4HObDR=mK;B076h*b_Am5qI(g9O?j?` zx^Mm=+!#oV*uEU!mU|-fMJ1%$w)sWk-qHRC7TaOk_o2IGPFjOJt2>w%{0sbIQS3Pb zF8Yef-9fVkqP##}R*qQhBnz8|CGjX<3k6UJ|73@H_t}0%DS5e8-kaGXX_pO)bXII|x{=|(s zaqK7l<>m9D;FZPPm~@FLj7P{XPt@Gix>6>A8PO@z+J#-_ea$y#) zLM~yThePhtzT+{Prug$C!P`#Gy?vRUmwy3gdF@y8v{pwQahr>~q;$Lzvwj+oE@pJ8 z0K3c(PGF<3YI`tq)_IbrzbGf)ee-u&9@*kQWR+wUt2BGHj`QiJt{&JiogX5?;nF7R z)pwNv4k)_muZT-G`a-J#4}N3cg&J9~yIjl{HBTd8Tq(zvOOg|T%rS;-C>lWqXgho- zV$H)y(y#Vj7^m`3$m-n9v~%>DezmS;whOZoDPjUaMO`x!Nf%AV-RvK|AE5}Ov+nL! z-VQGr&f6`e!~>hAYLg2{GLS_K?fC8AD38Epv8n%3XN#eWnSf^ZS)o(oGP-)-F)L?! zlo(x~L3MY!(w}yUFH_j*c;ZPdcOg`#r^FgAI<#MdfqtfLDksB!_dN5?0NM+EKoe5d z@!@I3b3!cBv;;Q%TeSw787CKVu(f33CYw72dby3%kZ5z;j>wD2$gZCgH@ycP{D8#N zue~11KepdU!raDm#)}M(m0~o8Io3SX}MRD2T107Qwtck5Q;{ z@;m${FGf3;sByY5+VXpK z4$GIBGBeb*Eb$|nIsz(g(?X;jP~cQSlTPBZ{qyP7sc?Kw&jg3a@=<1Ydsx4xu%Q7b?gO4u$DuDH>Upc4w(=6fWHt8J?ASSlJf>))YQs7Hfs zQQ@Jq9gnbM_N6zydv9K}H+58F9V)dS8Go-tc$I%E?ezCmG z3V{9X{CIjK_(E}I(=pL20OB((J1b{_<)iJLOj*Mr8&gpTR10QfeAPjbemsq(V!nHm znlv6{yHV@c;R*tne&igFQ%lb}8L4jnV(7K`<19tb{PO8&$w@>(ArS<#SSsxooJY5< z7ENZ!97ta{9~d849~L$WOoFlAz3e&n?%qptmf-tK=i~jnC3rFZ)=%&s4=Els<40mO z<`1gI<6o|l8jAv;{T&1joSUj%m;{lywpx`a=(k5?Bdy1MXiCSc6mRqzHrAhQD`*EC zo7&Hyzz{#{A-e6r+jq#=-L5{~{X~$u=sg(6JB~r`MHZbI!rU^;(v8Tb; zmBg>hI`9(b5!#DP2=2U0`zkYffO6i`QXiKU;05Wk1yx?B!0%SmF4ig_4d#v*`mU$$w~;4CBx~hK<1x0t{Dr)>p_?<<56nB@{o}1QJtjOYuc#Bc z;cD{lmzE#u9+;#p6F^&*71v!5#A(gK;}fjQFv{~=>st<|R!b-)p-#5wNXy1s)wf+w z)$~>B#zIfp&t2jscN(s|O^Z3Fj@0H`u(nvH$4g{Gl)XtIPS1IW!1;~6){uOT-dTzc z<`B8+gt604)%=~_(Aw>u8ddFi)_54$(11c=pQbZ-M!IQZqanF9iyI$$n16m0A8VgE zqG0DocJNu8&`$?33a1L`BK_94>X&dI9oGNcgQ2@w2!7Wycr+b=QKK}#+|4hPjmOE# zu0uhyyOK{=?y+JcK+RfF0f|2&a5@YSzc?cf)1Hh+vh$)+{YkeqEn&PLOq)>L;@Dz>xKBPt@R-}!u4~usICEwv zd8Ad{vh#!7?H`jXZ!+c$Y96gUg3cQy0k<+_r)V+S;$b`&MjhC# z@Tz;>vD{{38x1Q(g~LDc$c1v>gA?|5s|VOP4J5#kBtG>d+cH z=nCT8W$x^&aV9gODd#5Pn1kq=4Q_7jAh0az+x=Ow?$F)X%yAog4FQ&QHwg*#(O(u& zRv1R1$YBo!?AISH1GcUhW75&5=vcDfAK*y4?YiAUau@cUjL!S- z?G{i7mrzV*wajGm<1DJygp!q)`esTbBIP{XaQP2KF>Y{x$*9?MrYmTSngdn_4h<8bhg&~6P`$Acf0<3<0MLxU#h)JnH=~UYusc#< zY4^17+F_e}M0q6jqx+3~mR$S1C z^4aZsvmk1~@D0vm^xpLPZP$xw9_eE9vToUE>|G;ZZF9XD-(1xaq&7qUv+Os!0 z-jwLR{!+r1+}63%VHeHc3%bpiPRbp&kblpp742!SnCzDvvxS`2%yX_ComSbd#Uefj zhdH$EkU`1k{PFG00;DVd{kCnBEqYemnnoFMj;9G}zze1Km0x*PB74wou~_}jG4Itv z$asGdw|A!l4bn(V_d|Cvwb5biapgf=NG5%+;&-MW1N2lk3`5O(M7tGJ$T^<8Ock2# zsQB)bZ62+HOT0WxT?kqF`ium#pBpdHSs7g2+hub_#fU!B1xseIzw{* zeyo{SxAN_|y4nG55Wg8Ec$?fgf5Cgs=&T3kws)k+7ZIQ)s7*AIC|$tMG*M`8LAbAa z;$5Z$l3kLXOso4HmoLY(ya$=j-EUL5ZykL@wyr`a&oT*A@D<`RP4D}}Hfg}WqF%mk zl4?a!VgFa2`Xd*lOA~|{xpH#mTYM#I=B9$H(4ZsVbjt`EmSulGgEv#vDQ_|-1pzk#&|r+9Hwd*2yMf9U4CKy2&lu?2!7&}j~i>K;cwb?4)V)3zVTuP6y4IjIEAy|=l^2;Tck!vfjo zNc#;>J${67(l-(ecM+0{`}sl&;s1ow)G9mMTzm;l@GJjLPJ4kVnB4?mpo~=EUO2UQ zc{#pA?pcH3Hi37#NMVX%3K|hXk-&q$wG7ysqESwhS=~N{ojDF4yXlw=@FSl~9eJ{k zlcD4}H7ZQ|4OB$=wcc=iMB$I`Upp6Yt7*m&!+3k6`SSi{TlF+Y>9Cbbwki?tvT^J8 z=9jK=?km^jY+bC+0mMacQ^}D@T%sA;(olat?!TELcl!2vhS5KJ9v?XoH4J?OD({Zi zn-l7DSb*o_ZGK&_f^NXO?s{i`fAGzZ|L{_fbM@%sp0XmZ$4JJ#hj&P|ZT(|4NZ-k% z25?Yz_2(N|R*|u6{N=M+m+Q7nK-PIM|LG*mct%vC|xsnKUuTpVM@n&Rkvgl8dgThIL$q~QYn-picLsKx#4uhpwiwU`;2^jnX0 zg6M|?Xiq^7uFtq^&lNkaa+xRa^%k9deF{6F9Phg}8uO>A2_}4!Pi>k?jDz8A~y zFfOiE+We_xecK1TWrwOUN*aIOV>9tRtRnH2XNAHBpGzy#ziY?C+H1ZHNS4{aLQX>y zibZ*d_EqR6N80XpzvKDL`?rPL4*NOXz5`xe(kJ!&H~p)|53?Iy?%3)MOnbf0{606e zUyroOzw(p=nUg5ruofx)lkRNq2+F~up6v|f_ezA8;dE?makVEaoq=D1=kw?eB(;ht zXoG@EqfGdn@TpLa9_lL*xq1`&5`6$@A?0ql#sU|~u+6+AIvvuHS6D1_q8%w zz&fN`i@!BnMMA2Vjgu_4X8s`8LW^~6skd^PYKL)GuR~~I5+E199KvW$TeXoN_=;p?u6V3<1IGzTR0xx_SY0rL?_>x6_Mz{v)KMt!IUh(4f zImnzjY;e?XDDq?lts(tpr7f<^L5U$sL5%eWy8n{*-QIhlnc8vMYQ=5CQo|x?z+vrU z*}a%343kF@V6RbE;&c0u?zCx4NSiOI4$&p%4^fj2{;b|RgMRa?K86g)*H*fBw42vH zQv}lPP3|JXwRBbaTMyCjGXqfBbY|77L_(+8js=zt&)fdP>fi_05p>#B=%_JJ;{Fxq z7r&L~*b$|&;dZ2Eyy%*Lzooy);g33nA%X~V1NpVhjvxyj!!+wlVvZ36hliUnqyl#c zm6tu|tJ~z2S^lwF?4(i>YA@C(R9l|!GsatdBJ~oSI~B|f4=36;mJSzNDhopDi&-)E zP{Cg7fwBHRTQjlKaU_=w+*1^_Z};<&&Pof`CIT`4jXU#Blp&mI3@qvM!{J9_SiN9 zanqJa;7dUe;g37MeyFVa*zek|6NSr;NSl8KwRnoOuWCK(60a5aokS{k@oa_QZF%oS z@+zuR>A$c-RREmq`Qa?}W`t7YGGJ^vt+T<^CNK(?1Cwu@WrO6J!B^?k2zST)NETlHdX#8E^;`QAP`@v_zDEZAd>L7!~)yP$6vm$cHamk0Ye&^M7VrmnMA zaoSz=7fT1==4NKR<8+<)qENeS@|PF!k&5a#*x1M!0BI@b!?)hEWBXYPQXd?y0u5zJ zorz@9SA@(rXMXI&blkAgzl)|OnI4c?TwE&t%vx;vkJCHD%4}r)-_A-&;r!lEq}xn) zPd4c&HxU1G!PUTB@Ih?h2BK*-fRD1Td|$QdbxOw@D?mT}*`h_@d$!N}EhiV{N`J1R zR^Yk%e6_Onp}IP9K7>9oTv8 zy)-i^8v^2eMjPbGkJw_>MqWU#hMi*bXM%Poicw2jB^B>9hWI|?(`sebd1J#KjvWF# z!V&!;te9Rc=ebW#Y;lY{CQ_G4BkZP!vfrMCA({JP_8Q8s20YT*KrF3CKXbM1@57FF zm;#G#$nB&%)A)|{cX@%xcv|C8u4hhX)uRhYR7g0;HMAdgYf&<ysXkMS&8Iv4COj;3|TF36U=BsZQF+N=ck#x;Zr@x;Y_6W7n%`(MG zaNQRLJZZgX(uXt{uaihlc0O5B*QT}wgU+KKiO^d&S8 z^+smvRIjeok9M9?iZxpd`Ib@9 zTe+uDf%^9flPexwNs3vMEg0Ga-FEhZVggm96k|*njuU>b=9i z8e0P>oq2$@xVOhWKe0T6`uW98|4l>)w5y=``H@zu7TJ>ny79Jz?L1qsSRa5}P{scE z^gvU7WBc4h*K+Ofg;1@Mzds1tx>D%Tjx;$n#@Z z?t27M!A7KY`P#dkf`!Md9_ke@OAPVib(m*WOL+%_v-W`j_eyp`=5-q1u4hxT1<-_S z97P5ht6#qc{L)e^E7+zOT5C2?!uv~n=d1%6%+X@550$jW=!Rp|g|$fsD1p zRB2TtkAAX4lN|SX^%8=rXidyZyP~$`J`%5;KWIIfj8X8lB+Ymx_QqA*Ep}$%1oBS0 z@C~>n8}I)D`AV~8wk0{seP5>ZFxgFKrRPelX_oP_#q9k)l8g7}(;6vkC?*PCbX@hH zg7PAyk0K%J^9k(tEu+!8dpnO}xl88sPB2}%t~hJWWVfPsf7?OfH@lBJJL)*4+Kmc0 zl>SfJ4hnTk2EZ>ts2|Z8*ZuJCf^bn`=B0NA^IsBOE`FlO8U4zh@54gx@60Uom=&LB zA&ks7ixJZFyK~E0c9JgV;?VvgK$mrpi8yG~wE6UNgk@0HX>j#Ro)u@}Kzz6`$@b6u zI<%-psAims53BcKo#p74QES}wq+NU=J%IqZFnW-O@%a&&Fr+Z%1{eO5zW}4D6yt-X z8cz^D6m33TlKwLSr?RN{kjr-DdSGQb{=EfP z;0@`g;4C%0*Ynaty723;%%R&>c~dJKYoV1c*8)|_##9mM)fwr3WFpFjGNj+ti|C!; zW6>4-t8cdf#oMaRvgFpMN5$^0Se?8}#I@3>Y7?pnFl7*VJ?4E|bIb|1Kk&SN?Q_WW z^IL~7w=)znR*uKcbXyRE?v3l*T{Lby!SB?l!`Ay?D>vmd_nU@X21RT_0mvbpT+taR z+g$Zu`!CU^mdl(cl^*T_q~#-e7UKRug;CX98&zaWQ^t7IDk*JK%P(i>IOq5Rf0fz{ z&1Kf83+!+We4v=1Xh$7sxiv#-(M@&Yh`j%d&MQD@j#dVGpLn6aAT~?ST6!IYrtWfa zXjG}j-eW8#;P>CdQX-x?n()+s^|=4&r3n-QgaLYfn~g#M+F|gl4UA!&%Be|wqx4T7HzTNQ|Hx*{Lkl(p`@A>_OC4)phhc{hof zsy^-F+YV`kQr_|KA9;6ZGxhZC^E^IYJbAZixm5*nw!3n|Q7XL%?nEf0zP1 znUnQi5-fXG`74$l?nalf(6*Q5j9a1a>gGX&FTMn2hw@Zg;`yLjE3^HbE^ui+5LP0v2Iy~o7g5xY)Cvi@_^U3* zycje4J%iq>oZ(`r9D`@WGtO;&AN8io+8Vh0P7}4`b%p4kSn`u)Ix*LGUz|eSucApJ zZ7tCH6Qnz8kYPkxIZb0u^1EHfAw`M~3r*?U8vZ-zb<4(!-VXRi&Me zc1uI02Hwz}Wq@km67Efk3b|83-7pl>1v|2`7kar@fFRZ*cMc>8;XPP@AUoZ-yX&FP zg*YC34|bM#iR#p>2|H}1-Tr>Yxv1HS8}_Io=63;2qVTKn^=A;xCwh&taAeo*LH~!e zre^)L;V~-Rb|Bm8$xoJhn&PA9wb7hqn&xw4rM}0-#gX?>F=imS!PU)u*FR|34j~VG z)uFrGo8*Tx^DaCNd)JaoEqulz4EZ5y`mSq06&VF;snTkh7K}wyh034SgWu$*u$sfH z0C=AUi4_A3+&P`M0|#RiU#|3At)Uuh>0P%MR9mrcQnBA(OkwS_ItHV(0hbt$({t9X zRH=r>na&lkKkYa)or20B$hTgky}5ed8JLH{G~(c1;m;*t zFuhXKL4l%a$lN&27X783hXu}houzHGN4B)NxcV7h{xuA$9cEUY{NZ1nM)0fivuw{~ zH{9Ee(7U*x+`9v$9`@$2a7YJW^4ZMiHUYon7$4Y85BIwv-KBU#h^i6_q%7TWS2@lj zHCxCh#YNQA6{96~HmgoZ5&*oj&6ZmGy!=lPWQS1XXA`h-g1^~Q73G_%BH={e>EgZw z4c!|NR&9^O&>gdSUq@p{Qk>z5@#7FyMXl=v@ zLzk5gLeF}@+p79lMrPILb^WVW4SbLDmG_ZNSNHP`h7T*j@`t%mnFEnUt{f5EY<&>) zM*w@mthI03nB4aSoYoO(m9@Dr5F3v6Z6x|bZ!5sl01(5ij?%HbPKuX^76N_yA6%qo zu^2CX)?^rJ0OuG}(8QQ}swL@iXb;G{IHBQhi78tf*Tmn{O??M7Lq$ObuoNxEL zQBmYwrW?g+y)bJoco%%ICZvN(^x*z=<0U02OZVr5!lq!%2Z5|i3Q6mu_KNa|th(&( z%NhlVs3t%k{cPrX-1o-=$)5I6;Zl^;BqNp!6E;&r4noncV?*;nZ96;J=LwG@(rsSgOe>g~Wm0&WBPt7ailiG*(Ou1z1ChiS<4KY!MB{fFpt||_&PBuncV+nb z^KYFd%PUKP8nbB_GxAYAXYlti4+FkaTUU9p0bg!~FR2y`Ao<DbJTI|H1A zNMQg;la?2gH8?ctRsF&jkab5gZ~>Wq`lYHX?6(ugzgf~l&s$h-Ae!cZ=;n1NlIyOTI=GKw+*=lc@pg4WI z=V6=uwUT(-Iogs|h7pGJy=eM=h*@^y=M5pGUGty?$}}_4tZnp-6z)U3)u<63 zY6L?}G@bJf;ym)_7|1 zSVmn?H%Z2kf@!J{8B9xs+vvoje{3dtwxwhpRe4%zYRb7L|GTYFLo;vrs_rb}m?)lZ@J3gZ)Ngbwvtas z@|amFezAw^Sv+IwEOY9ba5}x{w$ti=w6!97xnYN#wn6xOMTy>X1z!OUV}TU$mLaJEjD7o~qN^g2-xEN2lE;OfWiioqz= z1k0aOI`)+o@0q*1?z4qCB>8PZ-&>s?4C!?f%LVl{M@Xqjs|RJ~)`NejbDIly@!t7j zwSHZAkGsR|rf_Cvct7+pE;e4iek0eGUhXXW_f)a9>NHna9Plk5oQDNub(QrvX;PTJYL;57g|^%PHcn0O6u~qTD_=@ zEe%!8ai8WDavdYnCq}*!Z?R=cwfp=B@|t3rG61wzFS=K>V&#&`p3MD_uP~2Vb#GQt zh!9?zs@a-zu~8A_M~UH4>{IQLVV|9z6dk z36GfYtGGch(LLHp3>5N=6b8JU20n#x0SlxcI%XV8)zvS3{S86Ebv2!;7rvHc-;DI1 zZU;ZC4krXs5BGT8ydCm)7FvF?xt%}gZvNPmDOsx*gX3Ec>ow2GNX}~~>ywV7&><@@ zd8Djhrh-n+m45DS+;^B=)+_pi|NAGw=_51eTV#85a^s49HpJ3T@Raq4^P)_Nf2luP z#eIN-yul>PM}VA8^GT{n&%Tm}gS>zYYwz_{E=BQBu1WfLptE7(k+g^(O#90&;p*H-p z8Q=Ea1k3MuKekRW2`@SF$nS=e)NfEfkk-BuvVq|<9qPLUz4>bMcm;-=+&qphBaS5$A!e2o)%zV=6E}N}PaQ5t|NrrH zl>u>V&2ks_;4Z--xCYliaCaxTFYd4q+}+*X-QC^YC0Ga^Ai(3^-0%IJUo&U=R99Em zISnsM%fIlbmtapR>-g5ifJMej-*&3TsYV7Ey!M)4(P`>P(WHSJ44Y;kEn?OjH|2Sy z4&lLHSpVED&Ok~qwNnAD(Qrx{Oe3|T&2SovEDx$PGMP!-0)H+q&lI8}m#nuvJuByK z!|>psXPnB`<4Sc2^mK@Sbe}y`)`IuLh&nyd}Ds+l=dnAlojZ3b+Sb<-<-AXFWC_{e?}QVRHl~9EtRk+WZwFvY=$f(X=@O!)7%whY})35Vgf(a5; zo(emI7GG|kA38rtu$U9Z5s;cy{Qa!Jq)N&8hL;!SS_6CRH&l@9C&ii!K~4BP6Bc?$ z>Tn<~!AEQtlpr($I+pc=dL838)|_=aR+Y+#`LZb`E%Oi$wHyz+reO!UWfN_u@aJR~ zC6ICsxu6ZC1p=RCW=t;8ux=|q?W6lK^hs(!S}vgC@#KLBP3c2f&G<(%IVUvryTRhb z8NRZPy6V+s$W|Y~hVSdifaOeskoPA(+sVEVS@_96Jl8iZRZB-?ef+*7CwAeTQjNWJhfMpGq7J7xYC#97N}T1xOEwORi3Sw&VcuO zI<76~2#rEYwp=+iwuG_Zhyb@0ZBGo6-RQ=sdpB>*c^%lWW^8t_K`=TH&3+j6CLhx&|? zVtTwVI~8MlUE&pk`T)9}6j1NS9sg>#?ZhQx;~$h|PW$V*PXYEw8)XeybM+px8QhwV zbMhgHrTqbHN$8w3j;Eqjlr*ZT>mN6>-De_pK^rt~Z3e;p|LpFYA%QOdYugNyehNhr z6KMkr;}n%cWkDw#!Dp3OA6e}RkIbbJ&KD$$W4_so$@wKp3Y?W-?Yg;z-+-TXeisp6 z3@5GEP8%4=jf#@I_ZD+HF{znQVwdhkBC0(O=4R>+*I8MK-War%SVp8o-22C#6pDgX z$Csq0?g=g^IV5C+){nVn2wf;B0w)#clNQCV!tb?*c$vQ|FMH!ChYmq5i0=G?$| z)8B+!n4M14U{w{Ej*N6qie}cq4&M|q>D^U#>Makzyfo7LFmyMe^H|gS1HvR^Xtze7 zcWew)CGYD&>vpO>B^rK8R*2|YhSooJv^z^mG_vDMO3KCs)1v7(^r+28eP}#oYnzM> z%_Wqz5~Yh^YnBe55@Byyg7=5|QUQM#i>bEv4hV zmhG#BJ+W1-#Mhv~23-;OJ}kdm^mn*F7d?r9AQ|$#BrKN> zmmeWopb0;JH>xbnv7J|{D5GE{i)kv&r>I>{yA2b*O5oO)ES?f)Lyqp>{efr(@s4fp z@iYPHm{Cx%VTp6C>sn=TS|8+3-snL_wqN!-Md!#6bEf$K65iibZRd zMOy1s1G=F$!cYD}M38@y`)i3>NBeD={}(r8Ph8D6@89Hh2>7V4N)XfF<3-shzx73Y z;|t>OAO1<{e4$7}GruXCl4}|)e0Zj`%W9z?7C~G=d$xDsY`}jPi_0bK5e<-EQu~ld zXG4U8Xm1ejw-xB}lTuW7lPAg{y9O+SD6%#%eeZ6Ukgx0G0+hzyHoQYVUCl<*)IgYh zvbQ@fiW9X-ZKQX_q=cyuB<*$69D>HxB;$&swq5P|zG+9j2Y}&y?VoaC=8;x(k_E35 zDukBpnDPzn$rImN1YOMb?4o{SvXAA(VdO54$8@a0*f+C83XVwIoLN_De$ z&O?#p45`C$8XGSyN2zrZlt0VWT)V2wQusnNJtq;%sXUeBK1!mK@v!Zrd$-A<=wNE3 zy;syY0BC_y6H&08ysiSbLuUn@p*W73{tR#mayKU+zPtFjH9X&ZSEfNt$^|)9&Py2D z0Q`hgXKstB3T0!biPM-^L0L=rLq}F3-HWw3R_Rj>i1cf)5!?Ugg5nemU=7B+AQFkV zCGlcO>dQ1wdSHZg)sH#lpM23KTH-5Qz&X>s^ zDpgjR@0n;AegjOu#lCa~p=rMo!O`SeOQX zSxs05rQ*eDL;NVP0L1OmX8!{K>v8`~O&v9|Gn??+eDEUsN&`IofHIJ@C=& z_R2v(7)KV$zRi`WJ3T5WXLBGndHo}KO=WWE)SU!b#^gCg zQu|Os!?laTW@MC> zSsfd=z#@o;RL>p7Y0UJnZ2{f|Hpu0PYJ-EUqG9M1T6={% z;FSPL>Ig&4D0g9j{=1}ywT>9JbF3(2%w|Q6*(^1s9{ohr7p?XT7k+O^4b_KFCBsT1 zK_M8NBXvFLjbfW*I6dyF9nc^G4G2UdPi44^_J$R5*U0J&%-+s~*p0nQkTvoY)IUX0 z|85Fkuqm6f>RnP^^2LUzn?Z+Em;-&hTh$C{D4DCuP%+!0(5}YP&2k59G3+4}upmf2 zi{suVww65GD6XPObO^xPy`XAF?r&?uY3Wl=GNp6K`rgH(y7MkUnvpid&CZLEeq9A9 z%dJ#&ADT&>Q$Ru}s9`OZu{>fl3)J1^vwUBOvaHittVy{KH)FVi9-xRYUW*{Ks9?t; z)g7@YC{08ftE_L=3cz+%^f*h0xdb#eBzW}Ylg586*i@iIE4u~2x_Aj-%S9trf zs{GCSux_P6ereJho)1V2p%1kM@qPn%HwSvSxm5BjU_pm!p)l7m#Qt8p<=Axedwcw8`x6CaC1*yg6i(l+Rw1mveXU1SARN-A3D)5&57PQ)xHv;) zaT4LJhTg#Y82BIBexX{C7GMaCFIyqC7aEQ9<74N4;3v1o$C8N1KD@BT@i9iIDYrZ2 zHAnXWou;VsKV-1u0U}vzVWQTQew0aWVPl}O31vD<#6Hrp1=6yL`z4C=9v_vBdV+#` zjXT5H+Mwj3Os66K0$Fnv zby7rs>Dr<0{eDz^h}zi=DF zidqM*VF)*W}-l-Y_4wyRy0r<}=hVK*@5OHIn&`Q=_@SnRpllqKSD+Ejw>v zePhx-0b*yY#;h?$TO_W z0R&C-FJ9|bv0$U_9pHboloN3EAnS5TI}!+_HJo4aU0k3v(fEFmyKzla?n|3?T)UR& zoIB`|pDOn;vxjZonXVG5?nacz%*w{hl>W;QTC&}QMG^-c@za+V?d%a!j0k!Nle-O* zBFE97f3&>H z@;PK_a!#%XvfrI7{`ugCFeB6fXaY5h;;%6F z^|jRz9l{{5#UI#o-ldm%C0uJVrEnoosjNAEM3#*Um5iEa1d;*JleeQ=LqbtT$ClCN zGEcB$Xxeb$bqk)OT<820ny$*~S|J0hB$<}I*hD`?%(#90NKVS|;2YjWD8!0!63cqrBSww%l-gL`pbNjna#oHm!fx_@@}+pDi`LNL)@$WR ztLa1>IhH3qPl8+%-g3>I!Xko!o_)z-8m~H=y9(omBGlH7Qe17&W>4y!*)SPHJyg6g z3{sWdckUPy0;pBNE%Mf5RHF390*{|n7+$G+><5aJ*(!1qoe(Bprx$T(TLo3VI?*Zg zTL6NMvi>I(e#J>5-?rnC%vCh@ozdSaO^X5EgNT;o7Iq)+>4T-We_~8ddbWRr-3+~{? ztn4Zbyd&H+ld5s|H52-yBN^x&Y(GCo7%(MJXlF}QXl>x8**9=0a=U)OOr5;JdYeM# z3bPqPt*2f}?;5uSn!eE@Y(U;30{Zkxp)d#iWpWpEj@rl=^FJnl6!8^cy?q;9Tltpj zYgoXWduUGRxj5JqDt05^=wPKuRPfytSj>os`7Y`)y!8BOw66dKPc$H>pV?3Q!R$m< zA0Iq+o1in0K|+0cjw%zD!GoM{YcUZ*sy_xC4Z%1UA;YC{(<`gdWjd4Z((}1RD2qq$ z9W*RG@l~or=KrBTxHL4=UVX$I^M1byW2Ca=`)r=1M#HOI#oLJ7({vXv&dAzd>TR@dOnn58e-+%+;Y;_x8+p@V-}TJ!`l6$p^S@Q$&LbM(nXj zSuqzrm$=bPw}O>#?YVc^K`!6>VzfT_DeqLAeh8<+1LSiQMo~T-Q;2VCauY_)?#h7w zRiaQJjZgvcROrOg_ptk#au~4Ia%<`6Sh&9SvwTHL%2sf)`aZbmLrFgNW}TA?-FeHB zo_T)?E87pvg>H2m4@Y-33Z&;ikV!l17Ju+~3)miLshP@tl zv^R>^hs1??ij7n)R#ry$n*$OL<4}HAgpyOjbP>AVHM}*9B2#b*=HiiPLJSA&L&%RM zK#^GiF@#I_6r)r=emGHKHHS5ui4%cJS;AvfmEMcea@XfVldSc%g+|NR? zQE6)QS7$;2q@x1{2MP(K@6FPOsU&M`Pd^djg7?*iMwGU{Bkh&My# z-F@UTBrN=g4+)!Qm5ExG`7JuuO?_C7G3Izg(N3VXBjbEBW7wktB3AR`AxBi0Nirc< zzMhFobct*bVs|IjpxThOpC1`z#C;cGg|axdUz`52m${314Iw=eUS$0;P`2jE_R-8> z)IWyvabCh?{Z}G}&vE_?AT(;WjOR4XRGWxg<@F?!Mog*z2Z0ZfYtP3MhI?q9RQT#L zn#sPn=O$;lUju~_vWV#?ehuq2Euj4LDH$xbh};q$C;x$EYlkQk9mM5=_yO);iM(IY zkOo*oH!nDp^b#tcm5#%@&1mf%*iLcTN;`p$0keTge^fC0^^|XBWsW9EQtU|gobUEp zfrqqvWo{hHNCnPjY5jABZ#le3LS-!ZXJ2;{rc)6tY4{*xg_X}J2G2oAS-*qS)&SjNN;a}p!wS-@;zar|haIQAnebS%Gg2zylRg%}=bDRAL zaB%tNNU(YBoeg}*bJ<=~2B30yEF9U)4KRBNr#xxtW@$`RF!2IO%Dqi;UNm4$IYY>*B9t@KYw5cd zpX^HNB$E}XLR(Hn625zEYGbF(8rR&BD88Pu+JOTi#NpGCjURa!;;cdBKQ|&+pS-Z* zE~Le6B6!g?>z|zQ{Z(@#)Tm@a_)=>;Auc7g68=op8=|5UWcn3pTJi={TXhCTHh#}5 zwaa^%#k>(cs;N6#zYU6Pzt)RkIjGz|E3Wt?mNpfoK7G-QxM899a4M4R&l8V#Fp+UR zh}id{J;tG|T$8F^wvKKU#Z&dFbql|g%OE}zcfSwfY6@y!e3uj7qacbPNZ`GmRFi6m zt`i(#bR;v+In0rYO;dohF__P!w5S1dvfMn&TwJf|0Trf_t%ILW31rW%-;w06cGO|K_vn znBb2N8F?LHpGhv3Xd@hC5#11wn#pR;tdn~J(^6U|9I2u1aNXUnhCG&XRzWeb!6E4A zC_rceDT-GL<{TD#6LZ&K2UEr}JrbYcx4sIXhld=#>Z|#BD382!EA9#V1p}cr=s;s! zW`$=CO)j!L!aucf+>Ylm3|q{6bA(6BV+cLeicC`POHK7{sksaO{KV(n(nsE+b+34b z23o$qt+@AP;e#+}F7lPR{7oXxVDqY8u~1P72afT6%F8-_Yr_rX`sKJ4n;0?Q=#0U6 z?(tpqcj>qsOGTu_jmV_DR*aF5ItOSZWWu0*ZtV1-5Vxk1PBmZ2x_6poLKFLKM)`o+ z@yA6BWJ~Q5>{NQo2yygCmJs^IBAp$#6~f)ALZPsh4ea+dd^!GNddoFJ$CjjwQeKwo zF|)-$yGruFqI&^^lH)RVMdC~}3&2u>mxQ*?ie8%L_{(^YnBD|7d}HlWdFOj^ND0`W z>L8LamC)U9X|1izlhk6+o>93urg7arhh4mE{Gs3H6!eK5uaTi=*(BJA_m@-ezm?7g zlGA%oG$F9|7+Rv#333eOq0(z>ujDXD7^8r9aJl;Nm}kl09a|d?DJOm?ad7Ep;-#Bh zQ7RsJz(Lt#s*|4;#&#z5x6WH=VJlVsspED@#>=P5yjO1WEOuo;3V*{iozDaTf^AGz zj0-5p9AXY&9EzOgiV~*&ko*`^o^)xLq=^_L&XrIjr~b|$k#9H8hZ^TQiT3Cx{4g|c zlse48*u+}Lc`k_K4U-(kjtqXa$lxVEsKPi6ljrHqTUtp^ESsg>4*(5~`G{w-I~>v6 zrHz9g%Q?awYBNN9*4?K!Bb@+&|U_xgrIAHK5xFFQjot*DdAL( zVa0N69?gjmjc5ho1#ek{^ zYRj5+b#x&!Uu6hyUPKNGebrmrM&aivI&Q+fV^b-F8^tK=d(k|aq}kz+7G2vn;&D=Q z!8~FV&uDMhJ+8qH;J~R?Q`L4c#)DAGpQ60stM(XO@*vxR?o+nKk^E^^fPiY%%Acc} zsg<&aJLtYdh42E2tlEum>g#QaNedi~-OUmk$TE4^-X5TyLf|4K|6eBt1rs003_CA) zlzHjeQ{RWHPx@RJK#4C2=`oIGSJPYAWwy3Np6NA@;=RGnKjKivtxKy(0jHRW4XtFZ zURKGJE!{+*tbls9g){4@|}s)RVbrrc62F|yFl+zV77NwbXi0z4z8`QT6N zn(&fCa;1_&ej8KbWw?{PuAo{hIJfQYN2#Cmug%ONo!vW0QWE@tZxesR$Sv$}h`Ua( z)?&elXG<^#cx~PkIBRcBj+8eYTAQe z9ECFW!|uwH$V4YzIevv+^3qoJ*FRrQ@c&=}c~GnRqS)c;nwT3tF&eP00h8wnhX)`;RZ}NbnOY_Xh3E^h4kM_iAYQG$9K`TyCSBw z#K*+u3v?qMN@T?H>rO)r&LjwWZ|{+{O9jsY#OkG~)9R>}zb_?Rl{1vPczwGisr!mS zfU_(NIOFS~hMp36ZoT@_tMyh8vTk}YNQrF}(I_M6y=E}d?DC~7Y`+g~IVbk%bcZ|4 zjN68XZUy$hG}OAk8QUXfYbX;-i?5HEGvahj>f`CheN zH%$y&lin~fET;Zx|2I{^>KD}1V#5Vaj&L)vLmd8nW-fA7^3WO%lF z$l9Xm60>aT^ZTF@m&2Pu8hIl+EAtRN(kWjB1J7<=X zLY}W-gXba?C#118!GWDwg9zF;V`gi|p`poQW+m#oW{YAUAOSj1s5KNi4pQ*L=+Sll zD2Zg7Fj;%A(r(YQQ8-+UIHOcGpZp?1W7|4}nr{4WHq_4tNBeeHxHI7Y+6A&}Gh$Cj zZem_i^F;be8WY|UCraEootTSwmz31&?-9P?f-p|!Un=Gua!b)0BTVXGXp{`6EXF2; zXXkLzx(lX*ye;y)04ayhKkw=t=&zF`Tt(0XihD8`GW|OEQiCHidYGE%QX4TjtP5OH zMjQII;R|r>PtFN>Del>Xt*r|Pd`LMz#UaHEYJ_Zb&m_29uXjSp!QpKDkU0BVt)U-& z^EtTSL~1a(G70eO_iVtt?(s%?i2Ugxl&JW_hz#0B+v1wCdE=(@uqN=`Qlh~I{7;Xm zRoD1AH!#z>DCcVu+{e2<{H>s@Nx+yi^m`RjYNrfAnX-i)2y0<(HPux zvj%LcRl`X6V@{&fUAqi5hWK1>_YXm1ar@lDli{L4pu)5U#wc(C$}1#ZW2zzM{v%2g zzt&>OXzWNcdhh|JK(=6dWum4-5(PGNdF{a^d~M@xLw(~)ehp%2{}g`9505KZb1<0{ z!*}B*T<1IE{wMuykZNiWFOI;J2K|&Kd^;%s5wxn|GVj>67TNmfe)eP*U87^5`qT8$ z$|j7>c?0^24lw|5i19BOuaStdk9Y;5TpL<{utIXY=`PWGVyKNPZu2IFQ#k7 zY;Vq(y`I!AGnFg$G+0yZP7Y-zLhjKWc9{BIP8pvG>Xnv&w@(HZ&Swf*kN5gg7jK7h zfxiz2p_Ccv2JyYAS-jAbcN#Kf9<(mY` z#3fA#x*RU?mK8mmNbSmz@nVtDQ+^mYnsg_eJJ&b$H%ti!!pL&=S=Sd$z{%v-)y&qy<9NJ@ z*m+nK$wi8Lj-%X530N)eXAb^rm+%CMXbV|hhY5#lnsSB?Dho%8se!mu+J?Kk7+I0v z*s4{nuW9hZ)%V(`2+0RkRZ~N!OQ&q~9?}s!6j!WLCi0_&k@d;l=x!!{%C^ZDKQ!P2 z532Bss;=gkd$%D$CNJ_4`58f5I_Zp^no>^SeM^~A?;zO8q|<4#r_~ENq1OpRU)Fvl zZbIdK+q-vu`j3CdXGIFCXKVD;y6chzXVA^LtGsFJRg}R5a#2~82cO#OMjHp|SDpMw z8ti&{#MAP<*9vW#bwwlrEa+GKC`z{2&5yA7t)#Z06F||YH@aE`U#%9IL#o2JmWfsA zc7k(^$c@b-f|m0~?2On*ZZ@%+h5nO+Dw?sS_SavMPIMf-OwN+`gG3cur(U(zOzlt= zjB7w`rEBRTmXBA6=Qx7zr&Ad1X67Bb66F@xCG%pIT%<38)FP%dLggu76}~0^(sa;ABHyGOV8ZB}$+=ULNx`K?k>wN87QbUjyKS1@;1iSQp5UuX7? z{`jy|sbY7iR%`WqT}q_!v2u=k)Mu;JT!()9r+I9euuE67$)Jcu5#*F*qYR)cc0(v^^=r{w~ z6$Qi7cG=0$h0zB-T&pkBG3elW2$bQb9rnLMM*EO4R1ZMDxijWv*SqC-p~@zTFd)n3 zK&>8GetabbGURx$@62i8(a?$R252Nu(8oFX!gslreslIs*MZPg!Ht1*EbcnY+GFha(o3g^|Ra{RKAJW?oq8)zD zoSk3}nklGr9w9^Gi}&);0=eEnNCxJ=^4iEXWoWEXzfRDxo?|9!!?9b-avYcLvM~GS zlgo827eIwwsP^nLPlp-zy+>(UqSQ*({d#znE-JDtny{|wm(k!nTHoqxD5Qj*R%{X> z0@pZlOX=GV6+q85irRFddb}hWPbofjf{@qhBL+Q=sp`BbKbss;LOj0ki|vy=^&V@u z7;cX|D2RPED20I%U$+ALfCb zs)rUTSl-rCMGM=)n)Xur6LQb2*GgMlo4D-^{nYqrw|w2r-hJgLqHXfMA^^PTxKT<5 zh$`)G&a~ktlTHfGN0bX&I6G*TAS2-9vgX(UUii#;6j+4E=Xbf`$m!f zd!zL}2LdzG)3-zh!tTRd6Ma@dv>vw)^9oj<^;8(&6~DW-om8StUdm4HV8XtKrCUVQ z=lP{1$TU}9MBc+2Mz*r3e00+zTN}-L$(zsAlROhHcrDz|m4f;}6Nm2MNdx~sTj-v* zjvT?ulwS9LPMdHlI=Bcd00kj};b|6!5?tE5=Aq+>tTbHxzJg}-6sOd?HFlfKKH-7p zw_j{}48~fIX||?Z+JX)MW2uwO4T6sCc1VOb!jnM0ySBf8h5jxzMjZYY%zi0JAN*|h zk{-IFT5}dl;0RF8NvUXkL_LPemiG3U%HaOc^*%sK{#!2h;%y$#V8VwX(|b{0uLx03 zzotaMJxv{e?K8X}HkPCtWE5UrbNyqCE|(I@Hg#NDy!A9?(t+Je3+nqHjJAeX)qDT? z&s7v_BFIeUst||#C6|mpf|MaZ@B4UUXfvX5=wDmuSKo+QO4rqFWUJ}jAD(=U2P$hW zeOriE^{y9kTaZMatktm28%cL6clRL#|=5~Q$ja1&08#8IrntksJBAj-iF+5 zde_w9+@_PigL#M5w>=c@QjC;-#*DbpXXhOOZN1}Se(Yw&B3rVsdeT0ORtT-7=iyz& zm^-E78-9VhFyoof;VN0g(iI-rjR9GF{8xS(8bUYY@3yCNpPS>&mzVP!Wy zLFDOvY;E_ABkOq5U-Ppunqd$BSqymEix7&hnw3hh;%Ej@P7J-o4z|+35_ut;Ua#kL zwTCpdM20mEtKOUB(HY$WW~rM#E}rdw!$_tW85`a{^A6<7FiwKD*~Q zUpSF-){=QkAr@h~hZOG~Q+J!?bRWK|D{W+?mMygil4Y<0GB$c2Z_d=aMBSz$(_<9K z_9Du(jqYULFq|b1;uRygWj9v)G3G3hHh#9Tnb?U@Sm>TRjiv3Kcz%KJd8d8-|Jmm_ z2OY`?%K3UnBV5A^PwlJBj{6pA}Vuy#lOli^o^^@8tg2E6>cmrZ>+ zThNZ8$wu>y*ERhF7p^>}Ql(9;N;e!_yK&)JnZ5))3HNZC5!Oe~k=bcy)cDzqcf1BuVeN^10rX0pMVNW`n z%{`qplk>3BXayRh=vlrt-z_Jdw-dGwFJ@tc={cD2x`41k;Hdzzh% z81+b#Lb^q5cKqT(ErcfyWsFAAd)~HZ)^G&;$9}(}kGo@0A3+w8LyFs@?ZMmb;eqX_ zifUA6eTef4-27d4x@aO^Q9CS6w;w+cGwf!5)82HTzA?1;FpX>hUNT`p&N*$?Xf7-g zYfr3C{&eRHm=0Lw>CS>ZcRW?s$lQkqxrQz${oW|cZ_;hSanjk&@rd4) zH2D2>Q}L}BmeMAv5m~X1i-&^31Qltd(4l+wbz!V#-(5F{V3Q)Xy=?>I?7JN_G{s?- zlcNDUE8p%ph>?nwXnzhE1(XsILR~9k}!*Lv~*V*b=L#}Fh4(B&iZYC zSc$@uqa_zGZ{zSt{M?PTcDsU~`1n1UL%P9o!B(?yU&8#Or{*TI@SbF-WSxhSDYw|WKeV8@<6X|oG$KyF}QHKb!u!st2WtgYn&(PlVx(Rj%AO6uu@_hoNjT{Q4=@9&`DgYsGNUM>zd~@qPL*YQ*V6wsy`?hp^;}?mvTyIs z|2a(1KnL-$n7r0In@~r&Z$Jw;Xea}gPrWC)e-(t)LZEHkKxHa z9`v2Tz1DI@^XAxTe=-{pnH%MZ4`!G2(2R5#v*bI>>5Sh~d<)%}aaOH_*vxIn(EAx? zE?ny^lCgt~)E~#8vYN41l>ut#H z9g6;*pcT-yU|?Vb?li8e`!e+1;dD3Dop}u^wo61y6Jlf~FXuvrp$gKj3rfPrTy?2U zjwnQ^1sOJ7T2zjQWVmbf2^c#eQK*J;5~3Yi=RqwXPxuWY5XvOR#A3T?i0s(ON5Vn*EWbC=^BdkT0*6!ABe-Ml!;05hvzzXDGey8cbCDG@LfT3wK2b`RIKqJE#AC8xJNdvw4uCddUcbCt1nRpjvAr3$CR(E?o z5dZ7~Q+J~P9)9j(gYIGUo;ualeO~dvbjq*s02sB1>FQsFOn{!}%YDUFpP3722vBd> z>xXl`HcP)!`Q-Rkm)YP?63mRllXQ-(HX{u^>x6?-2nR-vYCFGZ{z2Fj;=j$t{hb}C zo&oK9Rw;1ntEQ@LK_;xhaAY6hHDI1E>;gpCb8zV(8v3+qrGt_d2KzoG(sPLTNldj_ z=`Jvmy3X|c$UHnR4ne{JU|fN+QQxLk>~>{U)%80tdOtI9XtL6iM*i0hzuPTcWO_Go zN$A#EWkt{78fC*EuTH18vR_IYdsHRO#!oG{7%N*(@ow^ z5((X!*A>m6VJcYrHT=F8KJKaS8Li>!Ht$>50^*4)3Z= zI{D9-6mTU28Q&!gQG`sVr{+bVefe5x_YCXHP%@U*bp*C0(W9Ap%TW0RS-jhE2mN6q z2P97RPiAZ-G;tS;whvw;P(WA9c+gR z7_2Sb0V-EiU#MV-v;3X$2_)TItQ;2HAg_WR*!D?k4TCnd1$UG)@;Ude-kXb#*wSi1SBZ}WWe26 z3yKi(L-t;$bOstDuKcIOH*yGUApmfC8ekx)VK0glO#Va>i`~%~i>-YtESDVfhho3ws(!%b&kuKE(N}Qs!#n9C zWGgRh$oH_p*^^g!M2<0?tQPa3@gRbco1`qX@BG93b)2}b$L29n(47!|9Wt9ATJEZ< zy@hMA6XGL1Zbwi5CxZSP0N^3HrK5*smyM43SB{WDhY}c0pI%W90@}dnz757(QZXgkfYY|n$t=G zAOj0@`=9K&@|g<=YBAVl#!Wlceixwt&g4mZAwo`*K$*>XzKwz1kpWH%Ft>pflAj4_ zAVg#WH3Bl2Tm6&O+H%03k zDpwGHTF%G_6nB?jkFDHT{r}+sNz?)2e=X>-U+i zXiOnYAp8XjBl&l*Kpy%eTBpWeqU{2EkJ5Oxn|jS?V1KJs(+5Q2Rr!t9x0`}5jI>L@ z8oF4mZ+$47-YrK>g$xZg9R51rL{LT}H20@#_7<3Y;(KOtNOqc$q07B7s8nF}(JvlW z9SX3&7MKlo2xaTbWE#GS*4Ou{?%4+?C%HK~>jvQo^v>md+)X-dZV- zwoxQ!6l(`&>EueEc4gPwT+7hxub z=`I$Fpw9gU4RR6CK?L}5sbvL2kV19GWN10*R4(ILy==8)>&Gdb(^1w%`{`y|;NIPt zmF3yn9#nBOaOZkoJ-fpQ-qfph0A4o`njStG2_WB}=rL{6=MNfFw^PIbgttNDr*Mzw zcBz`86QI)t0;uUwgN}VngEh@RP)6oT7Q7w4dOK`*N7X}&R3*K9gSLhH7fH~TWWe)) zfA&=hUIqZPVI5$6AP`zFOM4E%z`dW;!=mUsx%RV$9QK)Z4p4wW!9y7JN7G!N3tUNw zxmr|{Qt=jk^rw4li;%pSS>o0p1P*$qPI@f6U25t@-7nzVt3#mbtlMGx z!>@A|wPW?=jE=CI&w!oCMdzV?tu1D~@MyVT9Z&C*rEwAa!U%rC?UYwLW=C{cES9o+ z&wbVbv$OGs#)0&ZMU6a~Bq2vUq%V72Ak3gWWD8E?VwL@1&uRB6dSruO|22UdnSvnR z8{HB1PSboPy!<;Li2&~?$Q3UIoSV^nJCh*z#$$Smq6bjWfFBy`h{JlnvIL5w~eL&mQXSP)ZSwuWRMdE zC{eE>Ly%NSu6Mc*Tr$}}@;YyipgMS^z3k4c{-_F$iKTISwrZ}2@TQK*K-jpRE0X)2 z+332`n?HrH!Tw)9a_=dGC5#g76*-?Djlba`^z`3RWk$Zfz$qUa+kWD4)ySIpK+&EPfN=BvR6-!hGpnetNHu=7Pu3YZ{VA@ z#>`hHMwp~WtDuZb=?}>=T$Q>oJN|fKh7z9nN3nS3_wf$P^iY~v={=5XImy3DmkTf& z0OGp8$>>>3b-ZN>l6W0=Ap(z&vhO<(dpWmU`pX93Cq5KtGD zM!_$A3Q(52El+zld=K|C#t>R_Z``F|-b3@5g+k2@7zRa5I3SWv5*Jy;@6!jZA8!%% zGU`n}5R9$fZ_qVmOJi!+2VZQ)|BNPm?~qxL(c+*|0jnf?J?b~2-FyWeHx3H)89_fy zF*|B=@Vt{ut^e32XYlafV8Qt(SX%ICntpsc=Mh91W)84y_{r2nwJo^xUFB`Q)*LL0 z>Bn>UTie~k=u8lP+I$If3#fz7X+D0KkrvUn^AYg)F;y;yPwY3@Pc&lH>JK7SCq;Z=Od%{0~3F{|#tsP+L)dBM}#2y9mg;i$Tp9;*%Xu1k6eXDRTqn`9EbRVjt%F9W|TSGQYaiSvjq?B}r!&#I36zG`~wD!9LX}J|aN{9OL@HEzB z(aXLwF|TduqMiAAyJ(v~)2g|VHEvcTA(mBG+-P7xbe5iNeS56*G2NijQ7vZ~GeOgj zH@g8bf5=u2s;nO3If?`0zg9(200sbM7--l_vx#&GIu|q@2bOSN(fa!|_0R@&JPhKp z_tYo=RLO$gZ`f6<`JJ{TEv)gT-6w2;$Z9c3VdBL~kZ{48oz+C*@dYjd!T{oToAcNw zz&FLzXVuZn0Ik@fmAA1 z%ORF>W~UwNKk#;s`d2ZEqTPi8_tzdv6azoDxrA90CBdZN@FTxJ;@BwR0!wm?X;2I{ z%G8GL8B*ZqY@CbDG<1yPjE0VB0g#|}Sleu-91B~sBgz!8^AECD+=e-9J2A}kTYL_k z@xd#HBmk@(5amhz{nK&T0HuB^L~D7yVx4sjou*4ogE1=gWi;QJqgE>o?qi;#)~@Ls zz_OWShEdt>aRIGU`y7o9)c=ooQA7Qo^%)oUZ|y@@$9uu>TQ+6ac-{z9uO^OU+6$m3mw?==JgvMw~(&sHLtFycY$e?Ee5*Mwa(`UlO{%8}HQ?Ab5& z30ph$(KxL+@x=7yi-G2y_>{>V4Kp!V-gBi*6ii%Ah)A&?d8liJ&8CAl-|T)L4O=!6 z^=bO)omJ2q&#I=velUYJh5nnSYgyj27#9knwj5;7suZ;Cl`B_};pKa}DulYc%aOj? z+?)fX<^qgM_9U+G8nujnZr=q@{~t})7#`Q!wI{Z1t6^g`ZrG@?8rzLMv28a=W7}?Q zv&qD^IbY5>@AqfVuYFy6)_Rujbw34+T9F(z*K=hIVV0+s`WrR8Vl6ffq^c{=YW+Tu z(jXJC3{Pi;2Q`jw3~&~eSEOEWy~3$HuHxwFgHo9?(u50<=#9D<+`La8%8%phddl4Y z@o|jROos6lBbgt^&=vK6IRv)ChfjQo{W<+)d&~(4Ci<9I#k2XL8cb4ej=p1Q%+0eA zk}o%Zn4qHrbfNLG_TGi%H`j zkw}{sTp-g44DNS>6WH*0tpcfN)Lt>&BtWA-(}@&_e-AV2v)0Zuf$vZ3N)X&%l6(* z*Rhu=bSUU5R@JO#(7tM{DJMJ`h=b{r5nMh`Cdvw!ggq%~03ne_et8b#5x9*J!0b$7 zuH|OjV^1R9E>GJPKA`Gk%OLw-o4MJT!!$wtH-7x@ONj^V(j+?*+L+kUNn>h~X<#qz zTFq&0Jvr}Qy)W7%_T{u92uyUv^9KrJZHrfBX6oGiO;@ zQOuRmGDU4)sdV)POIDT-$w&cp%RNAQc}}bv8j7vV=+u>A&AiIO z*jKzUsOkSN>a*}dfE5gx|!SNlh)( zBTg80cNNjVHB^N3w;tY55QbA^?tgnJrb?Fsevmm}R+Ee4S_$wHL=UedN}AC^HPOWp z6BgCaR&0-C5)H^vOM zwuR0rwHo!*#6`7;+duJ1Dw{Z?Uv>dalDX&(i>G3uw?SDO0zg>lP)PDXSWVT^@XFGt z%#9BcwV30H3Hcuqs42n@MBUCA2{-|4jP-_;bX2!+dd+89u*L%JGu{G>VWN$#&8LsS zDWd*SvMFwM@^&^no(C-kpPx!dE;LV4=ABv`H-4&fw;wt?$Qo2se&ohaL}dho8QK3# zaEyEY8#ZzN6FMCG*@7ow=_-jD`9HZ>N|cN+Q@kf_M5@eEvHOYVI?+TsPC<#=NLZ&c z6wad^+)--Pem93|5()M6!_9-Oj7#d}Zme9mS$|I3JL=f;?Z3iZ{m}W6xjh6KaoeKAw17W8Sl9#v?uNR1aXb%$z|fXCO;Br_%!sRe{-?89LXv7 z(L_N0FQMoca{Nf-`^Cty3+%oMKtV3!R;p*yGt730d`HV*Z~E)g_^3lIQOs&3N7CiH z_pLN8(^b%#Z46~6muceZMV-8zVxloK6Wn?ativ!^WbnNXC?f~?wDT4jQIUP|x zrVTOniS+?or+IP2_Up={e5Yhfz0DCComp{eevy2v`|lKFg55IZRZ%lNoenSjjW$3DH6j_)tFlB_GmFCvqexV;IYE4Ca z4Qaob^sYZ*SJFUeJwQS0sUz3th)2ZFc#qvRGeB}4zE%Rus;|YH>7EHNtcCeYSW?uz z;&q_Y{K4lGkz+&rVhNl+c$YpN5XaxtnPd3i3UE;iqVMI}lh^&uA@%7vt~YNKyLa6j z&_@c&if8A+=+yS(C;1`xr<_&HvG{@ z$Wj8}W8PSGt7VH|N$wULr`GQeFlF6hNxCk6TwfjTr^WGByvd`yrhX5Sc-#GU9d6S( zZ=M1Ybo84&SDc6u)f*MNN}^wSo~B-{oMb4T=B?)};>@<6`+btsvp*&~S!MRpzFz5) zC(rGbM!*P4>aiiRJ}CV8F9zKX{~tx&`*377%j^oJ<72@ugqMfqke%=`Jtt{vGt#HS zHq9vs*bI$lHulis_+p*HGi#V~p+OUkxK}=ZlQtgPtc=R8ULVL*y!wKs#B|vTMs|Du z?0b44zpO@Exw~EDS~C`fA-gjJSZw}i2*>$=73drlgp?;nb=0}gCHxoYvxrxbWonsZ z{+hOx6d$NPX<(LiELb4aQGNO;$@7quDaRT5yqWbJKIVYE;2_3SQZHC>r)D#w+r^bw zr2<*N#0eGB)9ai!;TCcloPHu|6>?X<_nq%wf+n7S{UTgM0EQ%gdZjUv^f*DIZJ{ZQ zoOE5!z2d20v`$425aqM2ckiLTASe-MWgLZ|m2%iZpD~`+(l5a5TF3AGZ#S7e*$$l_ z0ol8_<|{V~i^Ijm)`k?3=}Sm%Kaw9w?%T^_bZo}x-y6|=@>MaXo9S-U9@8n`7Cw}? zcl7|+!-n#v0E1zN1&yz@R{GbA1t;W{_4~;taVRy}&nv@;qLR7_*6?`B4$GkRjyfDB z8Op`7&sRnB!s;StXyH|m@xv6IMuTrn3%A&&A0RU_5$Q#>&1CDDb$|`Q+UFyF8n*3O zj^^l(jtLavM}+v$ZRY=Ui|XaGbHP9Tc8H66MCqw+NVf3nNe3sHHD_MjKKmwezqON_ zvLOitaSMl@6@HK}z3m=7eBCYF8@Py&lD}lh7uzhjDm`|W+9VK1fhsa#Qg5=Xiz!f< ze_cRrsQf+lL8Dq`VS)hQZVaWV^KprU1BRXw7Jx=%ox3Jwl_0HPG7&voJz6TI7KhTQ zAi3`6-&#v3;}a0#v-enJlFKaE=Ys031EJW9 zC%wmR;XwOW#mikHbfK8;m(4A4VTfnm%f`oq3$Z7F-`mnXc^Q?IRfyzq93Sk^H!Sh^ zj!Nyxg=znu5nmWv_3>D)VpO58{qGfb}X9;%j_0i=_eTPiUXibIR@! zDT7c)I#D9;c;NQN%{m6E%vFc>+bjCd#a_C4ozx9B-F7nngGuoIK1;&_^nZjeEPxX^ z09RyW)KC%=z^w6Bw-Q~-u<)J8R=_3qWRh0EaGk7W>=Oo%y$;*H4}$uXgbz-+$&bLh z?(a`Yt#ePR6IsH7CXCPgx?I+OA5td5+t9_AGX!U7tPIl^w!ywHxqkxvfZ)5lYf8V< z;;R@i20g}x|AOr_>-Lb}TUp%ZJKp6Ec#gEf$4eGKeoV>-Ey7^e$Vm8$js4sem&v)a zAo)unnJv`NdvC7e!#uR%ZSwWMVg9lw?Xzws~Z-k@O z{dn()N+5CJ7|5kXznq6D?q~*`HK9Mznv$?m$=Z|6{8}86(Q$^SNcpRQ!>6(yjphhP zHHMY@EGnzd0Z2P%29ehBBvx3}s5bEJ0}o6YJQR-2-)@3-19hl66Ll_}T`tD?d%h%& zmm_Tg5tt96hb`X5vAHregK@Xb59k|nF%CKxV~zWd^xlbG@d%@Sc+~{54vv4G(q64m z{a>5slvxn&BN@`9zfk~vGw9+*SDGtOA(Y^aKqjAP=XjTmp{*#K*X6YR(tph|`%CzP zyB_UX#aHH9v5zlLFmrw|Op;L*r7{CXs|Ip0yONjm$Y}lfE%cr5{g!9zN&|H7^m;r6 zDnPrcWZh17+d8%FxFy?qS~7l8tbIl3xUvNSbKg`*p7hM!PuH#CI)gGiR_?myyTNi^ z&%kwnD0JQKE-XFg*1J14-u< zEmd7;6mX0`p^mdC{zteUa}foJn)smtrBUlyeG?*{>*Edx$3%ju4(=kQSu*`A37hE% zLT@dCV0BLjk!p_UXF(-{rszhGQbEOk(3+8X#m<#nY94 zP&q4`TQ`;U=&8lC*P_qVD2l$2Nassbg3c?r{n~3 zW~ewdQGx@6dgnWH^P>8N=N0SrmHvEt)hVgp>)7QY)%tU03mBv0rP$FCkydwONKyDt zzm%*Y>L4&cnFbh_2gxY{2_J%}v~rW|q2yvqkEm+FBNGW3Y%!8TlG)(hJw5-bV}0n^ z%Wo@5NTYsycd>a*_sr4+w&Nxmc%W&47E(=IV4`Nnnc`a{DDu;FB>I(g1w1kL6-}olZ z*y>0r0Ew(j!p=>1+%mR{Hk-%{!3sG9P*Y)~abhjLz%ApP`RqzWvQ2E^A5@`*YDb!;`($z_64pxd`EF>FSqAx&Haj)>}ep$4%SjImq@gTjU^}^6+EA1 zWf3>IK-&r-HrM(08FwY%W%{?-JX8BIvQlRHq=b0QRZ- z0%rDtBBpx2Qb-8x+N0~5oHpjPOj z4Lpw@{=GzhAz0ZT>73tq@3Gx7|D_*E3l9bvPyyK9LRf`p8^5K0Pr{{C)00#9!rA#~ ze6||rysnb$I%oLEcVI4Cv@?bfZGHwSYuiZN%D~fSP@Mnj+)wVSxZJnQ=BkwX`o-GP zW+~R|3|GjnsDxW_38C~Uw@1TDxYBxb_$H&V3l3w%pJfDc5`E*SkYQyuf?@)dU5xq6 zQ!=BiL9o~}Y~niw`&fc9H#aS!!aWVab|U`Y&ASC&-+(=s_bu_)c!9_5?ohIq-g~z> z5-&1KV9gmuhZpUw=-C;qRt&|!%{Z(~#U)7dPu9qBGM1cCdH+aqOasa| z8xDDdM8snCYgi6mb~e@t#ql;93_r8vJ72ho?vV1#4EA2sIp1@-{HD=s}%ZbV|haDhGP|GTF}En z3sg_VK^fj+SyE~k44iHQ%gx!R&6A(`%RdO@bB_x5AhEy0#zS<*FzE}c|FBwVsFY(w z3reQ;m0%m!%#*Wd`I>_5;n)SiJ9__iVB<9e_N07=Mf$~N|#dzoun z8@_pIzn%N~HmHIB3+9kGRw!um!R@lNJBp_Z@=XC8 zUg}p}P&6axG%WYsN+bgGs7Sr9$f?pwYi1TUj$4~Wk}+qH4cPB^I=4C5t(kdZ=4YB7S4&i5_4rNgoLuP#}mlMZS0w1S{x2+c#W=v+4ongWcatl)8Z{{h* z+o*+H@G?}tAl!T*2v<|X5)SegI9s;ME?nXLSIxHUBCcO)OB?ZaNe5~t8bFoLkMF$(s08*a)FutM>mI4=uo9=>$ETb z#4YIUsEuYOhlbWU$QcQW=1#^^-n_+!bu!8Oyuwml!c>eVVl}SkRQy>u@mDk>zFy^VjeuuuhR_fbQ)#3pLlfQh@2(ffVkp=_IM04&+%r#RlyI zv^RLtx8}#?Apl4~ILI`-`|9Qqts8Mj>Tyedk{K-e6Tm?SU}@ja@BQLo#|hNkWIpZ; zQ+13m3rSXU@~w*gs~FAKt0JjJ@PM%J-A#A;ww=C}uxPD05dfrE*I&CTq=Ip& z%*;l8q|Oq?WNmR}WI&+=x%G(Q4C^DmMSBMC4o5N&brlD@$lRu2+ zdLK6KIYhz!Cqkw%6!4P{+@m%UWGXL9IR}p3(cLDCNYDW09u54*)X+eNUccwqr{&>u z(u3p6XGG8;w*n&5#g;mNWV|Kw<3s4%HB32Y%sB+)zvTT+IlN9&KXo66ITdHrhwv47_zRVCeLCH{Q z;Jyv`6&_xKMmkdMul<}1DuWiC39lS&&KkR%^4C0^iF5gado>%$4-_3_i%j#-vVDdY z6sM_&Hf$I9z9e<0QK1;m-i(I+6GO*czx&P$5t;A9MK2mS<0yA6o!9??8^OT{k)(DB zg&a_Up=x$J*jWU@TX!x)STTRS*^r|qF?kv}D&9dVdh+zjc}=XbQ#-7_pErD{sO;;$ zVjhq(ColuIoI|E61;;30=h;&x05J;*(tJ(M2+x)-C%A(t9eW5!Sbw5CPP8KKu>}ol zI*gS7>KL$yn7Qg_Qq=mgaSk0z(#=x3wuYPc&HJL?QHK^mN&jS!$bFa>!he2A80i8! zdJqf;G%-`40nG^R1m@KNP!Ur`5Fmn-o^5RN?&!VGm)tQ(#G8GUNPreE2-qC5on$|M z94d4L{h?03fB|tq)Fmk<_Md~a$mrM3va5V4jkk7=q)U|jK{FmzAwFI5nZ`^4kSGZ@ zlbqg8v!6_8FiZumfQ5l*Q~}g;@@qejPrV(_{UF+2ZDoiZksO(rPS+C9=M%chU7A@l zK45&*s=Hz2TB}<0JP4XA#5V5TlWYuEJnOxzf@JT9_Akbde`q$|H6CAe=%PdoW-pi=-5pv=)eAi9s!g3t;r`Tr_Xm>#7BdH zDNnbJa>2OG&Yo<@3+(`cNJyz3hMh=8U=2XXDSSyIniyaK3$aVwxy)u;y;dZo|HC#?+-F;rPe8e;2y`4y6Ag4K~cPq`>TgV8})+_ zX}AQM>sjKRl+sv>GFl?Pet?HbqP($!nb~|0LKM(Jr!pt;LAv;U@r3AoN8`JTB|x8m z0|ET)Sa}yo*pwd=d5hnw1G2oE*n6pcHnB=7WhXq@?7o2T1(C-*?-WI$5(Iv(gj7W( z5zUlWuyr838u7@JvNnBA0-JO3#a&-L$0{mrqgnUi916Jy7Y+;xfY&N9%0?NCfQSB;PYst z>qHGLPdupLZ;KoR1__b+;S0YB>+5-&`wKs3Kc0d^+Jz(hZuK6^rgnIK$jNB?OhHY*)IL&+ z`J>l(0=w^ZLYsK6&E5p(ekLWt{vuulS5|eA5CS=b8Y}>dsxPMP!!)#<2mn=B(<<*~ zIZ%4`zFr+tScv8fljIn04tiH0?*7-6S+Kf&gAoS5>7juJZDe0f3M?>j6)5fbEVp4w z@g03g5=;eZqV+DuJgcxI7~xeNB?q7vCQs@zv6yp*^D)N78dmg3BmoyT-*=(L3I5UB zJ>DeTKVw86CEi_l0RD4jICVpo&pVt$&s~-;)oV!&T5j2Ik+DNvPBqV+Kw_RR zFBK}zVYhI*UEX6MzURheA+|~ujRq9o@%p$q8?4%eY*_P)*J-nUJ~*~Tn2%YaUPw8tyMNPenP1S7$WEb6CDGMAq%|s zsVwRt65gM!<<`ISX5(GW@{z9hUaNVZW?nM-ePx{uqk2R0Wm78Fsx=Z>CT1S6RxIP}6}xLAUxTjR}w*eWoZKlc2Qyj$R>%G%z3*$@;s> zr-0gPdm;DF;uUudXPsk-FG8go^7bMTBgr=a~&N7tZmQ+T?u=}6Y?8>265Eg?Ga@YL@I*Znw@j7JUfA_KvZZclZP zkv;7$&}}|p`tD-9-=tnqgD@ZCrMfJK>kwUH!kn&(zZ62S2S%I306QX!IiDyWBO6c4%;pDuIpRNd z5JLpDeId->v&2ukp2ryI4$+~c`{Iaq(R0l#`0CaJMn1Uc+g_@5kD+lG)SONh{`(mn zh=-&L$%^@rWC1w_&mie~XdHSqAz86CA&_4eq%^qY(^pu9IN-Ky7Si`)GAAvV=R~}< zFf7M#weJmbt{g3HbgL19#)~q>K#^fmpfOmD+;UPGE zkdtDyL$W-5dZqB%QB-P@;H(PnJj;jB+Le0sA9dBrnP~;mL!}?1H6heYoV3cnn;)rH zC{@VK#}eF*gXrrPlrP^|&*G6{My&Q~V~`ktoZkXRyL7wXTe_%5{KhT`d)Jg=pOI_b zJRgij=EK7mr8U|Y4%K1xZt?f#hd-TYJhy^iw!f)=q=Vj+VZCpr(CpBZ{F?r-LJtvT z?ofVuLTXSuy$u%fsXJ2B$F|^cw@WYXs=%nir1B&%*eo{y-Dk4G!-gAu){q#XG*nq~ z^R3<8BY2JM&&<-!z4hZn?ABd3mxFKpAYOyS#1T_w9J5H`|!PW)x1Qy@9;6;0& zqVSRo(-?m7;u#>u+-J)E<>qk&Jm7}B553WvQ^oisXn%Sd2m5Qc9A!;#*k48BlhaoX zRA3ONFz|!a6A2_X?p5P*so4@O?q!kXmzJp&#+%vHU=irtff4?c=Y(hOA+40emM&30 zsyQC49y+Z~uxKQp02I*POXPOoE&E|jZX(;wW`UAt5PBzhzH zfQR)keC%*K(v!cl;(nAI%^x^cbodr|URq*5gor6X6jdLh`+Kze6zkR%%p^XH61xQn zrwA{a`xWXTGV;0(5QwuCoa%6bc`#K2h(Xk4hkq0%)yD!LVJvN~w%|?N2uJpNm#`zy zDNJ6q*5a`J!1v_Jv$SO9RB0I>Zq8Ogrz^C7-au^9cNp7gVS6Q*Y4FKHpKNs$+&4J{ zIoZtmoiL$sFoLhZkg?hmW0f*Qz=1Fl2ATGAuFL= zH6y*Qv2N3Ckh(-H_+FSko9}F9m zWZL&r7-X;O+!N7Y!CeeP9E0mluIs`H){^jWp0fn}Dg}(dHSUKRgM#UiRNKaa!+O-I zg!V==>s!n*0Y_Gwl`yZg^^kD;FT#rL-T!KW-a+WY`JXa}bw7~nkE!QOa8i=@2dR>A zoxlTA{4X}UW5I7{O&_3?ThTQ_u{hL>T7FiB_jZ()$eg6-a`W)f6Sx?`g<@a)vk zsaEMlE^}GvEShqXvgGQMvrINLSQvoLA6jS2vr*sS$z)dKWL~Dr7Bp`n5{^e^e~5=v zh}xX%=cdF0=Z@X%7NH(K-*>u&Kag#8e(X#5`+0}>c`W7;Bwv0+5$J)7uRRx?!TMk1 zJPO7*_o2*cCc*n~jMV!*YLZ^b$}!H#^Z{`fhe_ab;#D@!(%YcI-3EX;^LT#7Mj19@GT?@btif+}b)W&++h+K26dK4RDT6-wr z%XoS(uf1n3)O|Ki3!gUlpInHT2kYM;@CI@9;6XAkCDg`0U+KpR3~>0S5iTQcdZwKz z%ZeW>O9Nwl@<%fQN>e$#P3#6_t_9w_`}D)FfSKmEXGM8&SIRazXKH_g?x_T*gj9Q* zLk0gg)5=v)Z-9*#bkwtc^97729Yl!XiRzb@!Vw@9LDrx2?g|zpv2lv7@YC|jwWe>( z2{91}z(x9cRUr9o-8>Vj#jzcPJ0^iTxu7JL5uy47ohK8!w}w}#0UAD6dMA8eipc`( z0~3zgV6{%qXC=tIh_xE$aj`i!O+s^qox*#+uSZC^CuXTZTAt087Y* z6DlY0wCaP_GE(WAGGMi)zccN)1h|38WBhnFo{-$%P3a*=<&rLX%)yX-1n<3Y z-@gPklmb@bDf#IAkwExMzbz@hx>}4vf41h~N#x~vy9q4}Xj`@9PI08vPsUv|HOcA%t@(Hcv=XV4O2r=pt)4Wf^Qe98u zbX$?Rs)aSoTAE$z!T3>Q!%xy%zoR13{=kMV|4A_(ailiZigl{0I{y;experX={3PI zco_S6-}7{6wR53L<)xx?QP(MkkJPDQ!^^tLi>*t*@F z#UaOIXilk$=LGz!?L7Pu*ZemohD;b|p3PFVz)CPInnoO#xnNe3u~v<=0`O~tk?K{I zWjL7nJGlyTY+?}IrHRq!0cl*x&akqvZ}giNaiL>ta$D8Z#S8o1dZLcm znrr*rc{lYl$e6hjs|#A%_2@+3x|KuBkJf*;AT=^#+R4z0MEQm9$Ou~4{wD23cTCg8 z&@bB*g&Z|ZJmD>SW$HHzv?4<~qF~p?U)3L5$+1=|G-Dqbux*3tkWA7`z_?742J2ey z)fQcwAZ+*YwrrNAjEOyjJ6 zvVA9B+{b_Is--q%`8;hVn_a_-OAK!!luHDv!7FB5dzCVEpvU-yg7(xPHsvmfG#7~V z&-t+UcY{yGbX5-Kn*8KTb03}$48#iepqJxN3olWZ3K8VwN&4~)hGU>)tko@?k&&qo zWrCAh8zve{Dklb%ATL{fxy&QN!cQW-4Bt`h;BD~z%|R8W(f%pfMOVCQNQN)7cwKWX z>6|=d@{_T(%yhALA;UE(cWx#<8Su^AW)qVU}U+f zA4lb9Qb69>tI8Wc+JmCSH-1i7sq5Oxh#VlcZz8pAZjYHtPzVX!wz?fR)~i?~CjJDB_p%D)GLiaPKgX$CwROL;pEE;>r#7OVu7@3$Qb5x9KZ;lwlO<)5sa zIWWnMRITCC?9JO$zD15|%Ztnm*CE3^?!>=v<2N@zN9UwH{u$yvF=k{BNvYT`<=sCr ze;qoLgJO%%|Hm!O3g-BTLE>9ZziR^TDF7-;z#Z0G<#1~EDWvmL_MgtdW;0~M_9L(K z;HESjL%Hae1BQNBdvw|jb%_YXGlmo3nmjpM9Z*@ZbwZ!{=bSdJT^>Zw`pJZo=c$?+ zRLxtd)&f9XMszXb>*A9r^!O-!fNqRhc&7aVZtrf4UAng21cHhAO1Zjt3Ui0<=Y>EM z4AG;F+lt_md6%G*(5#<6T8yv5TIElt^Ve36A-a_r9~V7h5g?!}ui+{h$$wg(m|)-Cr&S9-~! zhZ~qAz4D+Gn)Q-BlU{8V8mp0{nKb9TCP{(!4v;6yegUpE6S7(53qFBO@)-R2t7^fU^M|Mo)qy%cYKrY}a#HQ_MAOMOS=^Vi3h@lDQoT zViPhp5%}kB>puqw5nd!gz763oVgSb!t1_cGu|>JGza$%8NQ$FrCCe0rf*%BItPj3- zbNh?NpAQk8U|T?WhTNa3$+PLNZ|?~}ST8DmaxamC2Sb4n~T>Q_HQtvuMhH5K=yPgib3 zFrXda?f{N9s9d0S5_@7mPkwtjIv3;#mA@sLMw<9PImx@p;{4&C%6qO7k>^Nv zYg}Sdv0E-k9>A!3ly0K&Y2$KucW#LB?rw_fQ*qf)ij-g;Eb+Lz0uHbbooD)JfoXe6 zh2FJ%)HYgZQ=D)yCUm0yu~`vN2<3m`L-)JIXDx4M2+p?R>AKPhgT6PRZY~46+&2e$ z4~2OOtr0!yVy(zieM^rzV*9k*fp&z}?UO}SB6En&KRN$$FS%){wmXd?3owiVDRtLk zG^w{L5WLA|uE`RH8{dupzAKSb)uVMwl(#L>ck42=D&av~1ao7Gu*YWVd78euUKUOn z{Ecz+C=cSMUo?L#%0Y0Tg4oslY8i73x25?K!9q7IxhvBa(x-{Kc=5D>XZP2*4}4$t zurxGqQM~3mQ2%x}Yu1&)HQj^-Q-@lI>0_fd-ZMuy^GCh@aM=`M;u)mKjmfz3BU97) z!px)-(D7+w2d(F0H(OQwRN*kY@oQ6g>*hGZSahm=sX|do3)ewhuQ|NGrak^o?^_71(faA6gx?TJnuVd2)-Xc%57U3eg59NpuLiWS}mHP0)r55 zdJ9WyeLWEqH@3(Tz5rV6Bzl_F`v%FP-yoj=3M|$`jD5siq%X>tRV0F?lBvSyY4GT| z{&EkO>b*9XsPm9^`DHW2?>^!B+4yQSV`!5Sxu$>;y{Qt`qNw!4kmm#AdfCNwNHiI- zfeuV*`Pb!Jt$nXb+r-7Pev!bP^+iM%?N9EUs6!F9-}m>n%t0r$(B7mZN6bl z=vfOM?}=vAAQF{d{(57z?!Hl9$hRV~BCU}^C8qh$0qO+PV|)Z-?i496Q>`^~{;v2# znQi{G*%U3OL}TVBRhr^+)~myg`WcdS#T2{*s~`QVRZbHEyJGADNR@`mA^m@&`8kEf zU9jZr20Nd7wOk>o6~-;Uaq~*J@?26?=J`^gSinT-{)J~Kxc}x+Y!F2|qQmEt{5P+; z#*%3Q)}vU|CLR%l_JUl~_wQ7luGO2FSq#?0G;T3=qIjs<}u zgUwkI(Vb$G&h%(u`9LE>H`s*)QOTLM*@d#LPXxxIs5(tpmX$g;`rc^o=fdreZ~dF$ zxnS6?TX?y?73Tf%QEqR+%Xhs#z?7?ynhg#t{aj}=JQQbrt@Fd4ksb9!c!npYW_jE9 zh;^EgT2{}6MY<%pS9f*^w;6LUyU;brJ<*h&FQDIHgxYYwpW^{{1u?G?s`{)8O*EhE zg&1K48MF0KLTla{dYUGxv7*BefyQES@BSj>=$HQp669*^F^*@xGCIRSM{43 z@0SPURA-i!R}<4Mr_!k}vtKJUw4cVE70;jnaUH{Dp2AlIJ=fXiEa}FKU5|+l~3*5hXGY@t(PPK$IIXbTuQ*0CB za%!dq$IS9_|CBA|2mUx!)8orb%Wpl^BgC~9g4AjiTY@2%RXrBe94kxI*0XQgLL|ta zyd!~9SPPe>CSySk5w3B0M?pS^V{QxXl^Hm4P44Zi!Gki)Rsmg6VZW*v{MGG63BSt0 zrZ&+3(6@ahBGEQK_E)j(t@DKef}R(UM6oOIsdLuIWuKmv!j4A!ZD4m5U}pufv?L zI17hoTBmzoUXB+b?p>vIP*}@~)<@7~u!WO(=!HK<7<<(`aHjSwP)dV84k0`-q%!5l zlPgTvJ1Lc>iGN*Ajq%H28_{2`6c~(Fdg=1-H&ShV*G&oM?=kVVT87*|jaQbRwWTEA zywc+$`7uSb?FbQF#S6O=Csqv@z*WQan{w)HS~U5f{q1PAD(0K2De|uR2zu$(s*ARssc_Um?ivkNX!7J zo=_$aDqT}g8Q+DgUG7I0lw7RsA=53f;(S-|wN4{2ME@KyBm80NgR*MKfh)?!zVP1NAML*hS>janUr5n@$>GU*i=;z z_R;|w)eV(Hwqs+5-@jJvF!rxihkRJIa|q4#`Dvs@kI=k1?&x2EmHY;jSnf27eQz!V zyMQy2_6*&k9GpKf7s=66XV;8`vwt?r z%c;ehQ)wq2Vo^MYkKOSf%gK&v@o`=Gs&zNrkfo8!)rl=tplg<`*8lz@K!D;HHxPS^ zNv5yQQh-fv^yb)NpK-5U`{EK6u)toe)slMY-Y?~QezV}>1GZm3mI?tswYz@l!(9M) zF~Ib^S^=smmF5*ozqzT1CPyjcoT~afgrO z9PCm!qbMqk;wt;fZ6T8|y~_2!Cn*G9Vm zi>>L!`W`Lu&y-UkWce#$OLO{uW}7%E^#f&u)L{7I=~ruE$V;K;h4X`7ute?#5lXT3 z*^wi|%l?LCpDEQhKyVwO=6)Y$+I;E%uubQu*19|8gJ;J~dU2t|LxbFN7qEc>6~|rB zH@#_W?2uew{Hb1GZetJ%SISB{r_tnTUxkU&WL}KyoU4xia_L7`agWTG^tdg84b`vX z88l1`enYeou(H&9-^2K5W#0P{T4RYjD*5+@RmoatTf{bm|FczO%75xwBAD%1;yu&w zXq0vt#g62r_78YN0E9k%W@mFQXv`c>P;7)Lj{eXLW4s6OWi-HAg!xXO7T>BbyME2a z8&a;bz$Emu0d{a9uS1>dpW;)Usi(S`Dz>MH*-hdWuYJk5@wM_-bI4YEP99bZuCluXQn zOyW-UX6af=kE0;{s_DK(+aDbW`x>`=Uz^$+ew{xXa;vyXncPr5W~VNMG=^?nDJ4HA z=VV~r_5BP>6G>ImlwkSR--O9eB{#hR7tduXUCj>Wg&{s#>K8mf7wf+^i@&khKYf-H z$z$SrIN)oxEe!!pyDdaT++m-ob0tJ4brw42&Lqj}J>yifIg+^G-_`GCZHDrEBcSb%UuBnu-v1qvA{&*F6si2F#h*P&Kjpc z={BwKTga>vE>bQLna|Y=~sEmo)R%>7IV?Q8pm~L-fLV| z2%%O*0b-MrR=s;2E~C*-=mRdHD~DT5F|HSfG)BY**01E_7%&OG^(#UdpIRqF&f>=B za`(qM&Ol7B#;T;bf8o&JF+7Cx6~9bfUdtFWpLFAERxDXxwOY6mqW4gUo54vw1!&j7 zwlDVb6UaTHhPeM?n$f{wfHaXS=ZonwS(=R=?+ir4_lKhR&t})TgMvlK9Ts?J0l*9+ z#k;Oh7`4ugkptb+NT#lX8@whL>c`Q+vZ@j6dhX~LO@~%FDXbBEa<1L;)Z?@u)ie7; zU-s)RB3TV~4AaSM90ZG|IT?$G7ZYfkn8DdjEriB=RSt$abPDU0>=I+SzdC?axLWGp zLn{lv@2b9MBWOPfudHJQZ3bx)@W9_q9l+kg#ux#_1hlm2aW5N_>Qlal#k^gGH zNDTkV6@P}a$afY$!X1#28q4^<9*Td@orLB`{goQI=P2~{VpnCNd0D&MFgB6qoo(BC z6TBSV|9?z>Wu3j(Irsm} zpMLs#ySlo%T2Vu-QHRuBYlxL~siO3y{r)nQ6pU**=zCLdQr%Iei;Qlq{%8#YsvyW7Ldh6Dq!cv9-qvN@6a~6I{gQ`l{kxZ59x*0m&SCP_EJ|ZS|=XxkJ*Y8YYed7tddd_b#v5m1>sJ&KGl=;`uk# zTeY3OQ>@7MSF?bKs8H^mX{unP$n`Q(DO%f#zNQH(?&{Ua84Xm_yQ7k_X3T5-5?M70 z$)ZXI+z0~qllV{f02}iU-2@705SSd7^DO9Kz>j2X+p?%A#{$XfwqV1F>$VHp&Hk>L z(3Yi-FE2`{@1QJ*Djw@j$M8>%{b{RfqSCgOiu?DVhu%eKR5Qk=r4%c9Gn=Am zygd==QsM7|%jiN}`KX{pI>y%&@#q2>rn~JR0*|pE;ArAa(p>OL(eDR+8x4{(G~8|& zz|bFKE=Nk-Zt!~9yzybw0i8En0NxA3<>(h}S7-Zy9q&m=mCMsms?M+LDJ&whyP5jY zhYELA)jDU|ISv}t+x180@~;Z9zmoV>=L_iE7SQVf7kKn3bU}H;;2r{2R4ei-i5&ye zA~-?|@oqN+niu}y;>`&6u4yNn*cZ27Z_8X7ia_1YPyYpCC_Gf*=E@}XP7LuMXcoK6 z7oEyaT);u+aYCV$g_Vsn-jf_SMEfigbS#$r%d!V6(s76hA`l-2cISb<%p#ATGBxuo zD|o8d(4r^a-9hoQUyXwgn{GAg=runM!WgvYD+zvD7>y|}{L-UVETH#3!x^E8GAiMR z5GWHF2Aaa+MnqV8CVjS)JXJ6`BCpXSB*f)vd7X_7|1w8hYnZ>KWAN-7z1YXm4J$Xo zmHk#g-~fJpmgS@yqz~R*5bg`bi^(@cc+*qCitp1^lN}ZxM&M;+O~wa(b^2b2K zV6yvPcw!d=zMf3p3kdY{AXA)bO%66+fn2B9sTY91;w2BkZ0wA<$B1Sox=8->7Jbq} z{}3FW{WsQmj}{KyMvS#|C!WbOs)wI5xeV9DF6pYFZbc zUl+t@%#M9u{F@hL9#Z;JeRxMrDo)B-ec&?hc!t1~SFCIi0fbd|cDf?^{%teUpf6bW z&9gD@j_=ahF%}62e~xfUxa<19>98U3x8|0iUPl4dUMF~Z)HMqzP#$a=9-^KKCfw9h z&J^hq_;DJa9VHDl>;9z8V0gl2YxB^^KWkHT)mWah^La$5mi^6YWm$%s@J?lH_ATtC z#C8QT>Im{Kj=PS!NTWTj!pn_;1to(?nk>EeZepDU z-}Vh#6DdMT^X<=XE!c8my0udws}$IT&M;(_5h4yQVEe24(E4pMy-doYD;-8Wi_1u5 zv#=(`+M*)p5>u-MceTsqRL1qpj{EfkFN6)AVWg?Tb=0!wdgX-F`8kGTqQ3%`1scR@ zt;UR}%+VOKuW_+`Q``M$15v#^RxNv!`%vyiey3Tlj2#jYq6;Be+YQ8-G2CUQ9Hc-gUva{Y@=p(K(6om=p1`+wQu;!EyudL=w)6OZ5zO{Liu zF6*6iKFY;Hao}GtufaDCmVM}l6R3Y5L!Z1yD}{#89uWp=E@NN0Wc>Re!P>{xe^RrM zajoDWvaOm`pNwFxJ_3cF-ws2JnSyqXfkH}P1*pieq6u0Ka4+RXj1gfnYqnhH0)!?e zXCc^wfmsN10<%fGC5lM+a7hf-u(N-$lw~gZEbe^{8SkShrrCMzCw(aKSnRmvkz&6Q zl8DZYK-=`OQ>eF$v|(#f1>$l!+aqMYi}!P4rAw{x%}wr1hI{?gmco;ZBhRcbvkX8z z7m%$ag;{XdRfxEUXuYZ1dhc(&VBNufKf&}r?(PHlF+&Ac-C5auZoE{FI~Pf?Xz`&iCrB`8 z+(Ip2uf#;Hk()>W+@Su?I3E&RI{5Q-TK8pe+HezIIjpT;FgSGFK?*6Jxi(j(Hg^kk zH5;jy-Js>IRa3!OO z8MlF4RgarE*!HH6ZElB2cafuwMdW_n_WSWZ*W-)-qM^g;nK9B;*WJegfJDt3%$qk{ zoxtI#fEU`6^}x0DN4_L_m~h++gg<07Yt(VCpt9PL)2r0OL_*#r1leiX)>>uP=*3g6x0ijkE0^bhP#TghEd@vblL7(*#H;Z0WEgqI8hQ zRi#>VRfJ`)KrB#4z7l4JvU*@9f(GO9l&)J*5m-^ObW{c4#q_8u1UEBh(ilfsF%ZQg z_V}pxxy4A7G$6F8csoI7SnH+=i|=fO5q*aFRD_T?^P?t-hUf*8rvhwoe!HZ?(W>zS zuh*g*4|qoMW%g+;8WtGtwhCBpPKdhKxh;E<>TJVwG{6mQ!91QExi~^g9%FvJz>C`k zb8>^*B{Mvn$X2lgQ_Trz%ZZuw!7I|&#Md+Q0ZI;-u|Lh!Q20g{tu6P4694d0I*Ik+ z8%vaY=`6YO>i1quzj@U;u$%~4Q=kna7NGA)SXecOjk|nc^Vv3h*`R_5I#8J$_L=+Sp>^f^@m{ZD-H(948J6#@suI-!sbHUV8uLN-U2= zv#>8yR1V_QE1spFjnuRp>fKIhL~*t*&q#_mnh3JmP?p{rJ)WA2%7F#9F3_QoZ_X=q z7(X?L(%bsnzb}ZfcOh{9d5skN_`P}vl?N4L(^g8A|9lh9eb~N{VYorPWo+~$vgaG} zyX@;o+@Fhy9&~D|0x*ky)F9olS+J;{H=AI3}lD+b%XVKARJQn z=JHz9g9yGk`S@X-%lLYJjH!hK{nPS>upgjC3t~D_`j*$OYtEHKQ;&yZq&i?p_@}E8 z&Wn?@wpe4dnrqyS>sy$SP6Sxqx#O|O90OA7lxND)XlQ!Rbg5anqS$0VW~Y2l2aUX| z5htsu!ZM816sezbf(ocoXttj4pbHTbkPiCaOq?PA>}l}77u^Hu^<@bSHf%amaUoeC z0Ib%HK4dpHBFsUT>bBq_ET-@dWlOJGRE&y|V`PE?3usrB!3g*Vx30{Bqr-WCSBoqB zRsLmV#rDk$UC#m4=5L5vYd7R|Pm0+=a8tRoL2|o1Nxu0t+Qo@qgIu@Z5@|Z`TvgwfxLeNjLMubnL-qc|<*%kH^;>Jod~c#G^$&>b!~v;gLQdryah$2DiwU z_wxC64;nW8%km>Q0m9coY3#ZnZ5g_cLWD=?7{sC-J#=~7{vb*eoD9+f_kDA+ zab8CJaLX0a9vSRQ2I;rX58~G$Vj{em)+0mxc5V^ejG-2j;0g@m=-XEHNBk3kr5=!R zg4Qk%Fj7hOjasY}xlmrMfR@7Qkg1_|=%r>5eh5y)F54bKyC-*c%)HgHx4m@9szx*o zE~J{QS=-wxqw!Cmd|e(QDO;6&UlK>SgKSOU;PuY*|H3Uu28k$?f&=vyDG@xLM{NP9**UK2I9hF3FvF4@|qhW+3TRd zooLHTvM~44Kw8=^Wo9|S1tYNfFt)zeBg>eTeZO7av0~7`Q;^Z(k`8Lx!W;vS@IEW3 zZCBh0j_3jUCN&aF&Taei<2%yJ>1j4q-JoiJC{_V}$m$I)COOI{?jei1xv?&I9hsl- zLUT3&o5L&eB1)5_bvFe&O{L$@RETOAg5B(GjLScd=Ze*8IB}yeZJo`768XapCMqYS z2qEyTN-Wdr7v23bO6nl~Gx+{2n24Wq3lJyh<|lLQ`1^}kd7J*mQOzlI8&;?EL{I-n zy!gaxnx7>aRRI^=Pid4GI?9ap>k||>xK*-lHG=1j)C%Bx zm9Sa~S!(TUuXzyZ0==`phsEfUIjCFUC-ImoXy zxqYf3!^6xK+fu3aGG1!9h=n@p_(T;W%6XT}!QL;$+=s`xj}(%Ws|^DfAt`P{!UXU@ zb)U@2F47$Gk_TKdt&9CSM=Nu=pd9784z@4uq-w>lA_o^lpEMh+YRsjI>2=L06tS7q z(pvx=t>u0cYE$L6OD8y+WOS>@Ei-??_G;ezG=ULYMTjxQv?hXHHi%#5T)A)FW{@{b zy-Z6*Oq&p4+QrhZzLWLWs_cn4*G$sNfqx;uNxy9JS3{A#C1%TdSKf57IZXM{oOSfI z(RO_OdppyAc?j^~AD>b)q+oJHz_du<$_R86OdB-UeR(=AKty!r+2bO1NRllaUK3A8 zUWI-V9z&P>S4+0v_QB&-z!``YBLKj{;Ro*}$hgpLCKN>37pkQb*LQ zCNWi*M#%E35_cSYaC(9ek&gT|GZ- z#@QIFiT9ARE&$pkEM&50kCy<+X)O}JG4Je>->{GC%~Gp%%+{8xRNBsh*HIw1=SFvK z)d3bFC6|7Jx0;LD6*ZeFx}h|cEK0T$PQPXdI){8Euc-`H_%*xPLMBcDm~LOY;afL>m6LN{Vdz{v(wN*!C6#ls`OwSA80R&hq5R=*myQ80o`Fu-nszZ3t{%_$`^+ zS-eDgKdPUMXKp^)Fk~&V2B;Ih3n>H_DTOTkRAz8OZLO0VB}X0ccPU2WoxUX|u-?2Y26N-r&C9*MW|yVDYf zb=DF*{kt5n<^c-%-&P7%Kj@Q|HzwBJOoPv%#}FD1(;|9hdr*X*NNrtjt_D1SL*trDCK@6(`LDO1#LT4-~HU3mpZ z&@C{@sV}I)f*zkHFxt4Xip{3%Cj#xfF&@ELd;Yn{HwRL@A9fMM zvtKTyY{y3epd1}Co{j8iDq?!Z2DyFUEVN`jS>mDn!%W)tbUCBr!W?}vDzG<=TZOf6 zaUO`&Mg#mA^Fm8I!tL#t68-d!JB9#Az5kb5QsfMf;CeeU5CBa}f=`1 zGXHWrmPN(^Gy|nVb*W~Zm?eX*I#jz^aenNn;PIkv07?|SKF4Z*_8cBMLvG~0q9valf~FIzm|Wo(aP zxIBMllfwlnW6MUM2>Y58h!TEtEE_A_kV&>9NzYQoC6+x^uIpEG`kQzkt6Cl9E3W-5 zv!iwGXzbuTpOB;bQI5JJQP%9V&a5C&p_Um||I+dIuW{$*LmN<}ek>CQgaE!PK}dTv z25!;WP!xFYpV@a%dbE1GIl~VZ4j$KqxrFg5ThkE3%?`YJ6|*4$V=Fc`sD>IS3i?|h z)=*duE@-G)lIvw^sBfT)3}7u8E08dV%Simi~W1Isa!W zi1%rM!_)C$!ViHYnAHp+>L^hYkpH`gIRh1st3!PuR-;o9#}+WzEOXL3x|#*seddZX zIi$UTS+;5>assQ;g{ehOR^hoz*dFHgv5LYv*P7z43eGupz`ICnP3C7WT3 zaM~EtFOxhpq``>Dc5`UuoTzt}I%ufi&31gsz5~KFgVV%d!v;e1W|RhPzBa=aOG*?^ zxMFcqs^a4E&rg>(;AQ|7n2yNs6Qbo0L)3@Q)r}k>Xa&m8_q>9orYLM~p}$S!!JPgu z{>oN8F>2e#?0f4O{=4C}e0Ty5qTcd+jSx2On+7hCP#$iinfNA5?HMUFfj$GHkVm_T zmjyGk@R|wWbdUTAa$0frDNXFY%lnS$(g>lf8^L_uK| z#J03kBVz#i${FQ*Bz}lizm(VnjxS-Sf88ovR8$2vT2xb?M@ifn!055$pxT8Had0On ze39&#n%CT&vvOijz+wi`prvuAK1M=7>1-#hFGJUR+JW1eZS$Engz~l@UpqqaS%AJP zx!3BA3evtWnSaa4K?(>EBQ|4jgbk${8ivNT>2yK&+(`}n0651rw3Cv zeThr1wSym-CE)`Sq*hspKt>JSgmn$LZ&*FA-!E+h*rHNz3)qJ%sWlA)(ZJqI!P>c1 zikJx7_A?xq|G(UL`J`CZkv@X~Kt8L5*$9?q(8jmXML2^S-eULe8l{mCsRQQ5h|m0P z%<*7MyJ(@%A6Yn$Xknj%FfUm*F5`<3cGy?IQ!>E98(^~$#Q!2`Tc%pWwo*#FaL$Jf z_pT26bA)-!W3905{>;;lXxadmR8w7ZkSty*rNVzr{IuGceNi+mkuR;RSv+y^^)FeywsGoC z4d(nce-AoMrsY}|{j4z_ipS?LdIgv%w2uZc-|ouz4xyw@)3|CRMUwSv@fOqDclKb5 zmfvE)n2-_{VXbJS6-MQJu#ey_Ex_5o`n`XsI=JuNpu}BodH^s7niD99uf%Ox&^zW9 z!{oJYnyQ&Ci!(FS6H+FkURr=a9IU%f zvuEL{ST<(1yw}@$U4;A1aH4f{_`AX@!M^Q=uN$>q(mVgSR%WO-(bX2HzaSxVmT&!4 z^z43!>d+kb_O~puslVu{{Qlw}&>!ImEBSPAYjUkhh?+C|0}v_S+8r{)exIJj#aY3R zJ&(Cr(wGT+9Us{C+;2)o?Z~`gY0zi2go-?xu^5#xK}#$;gohT4;19a0IUmxFWbJVh z-T4V-vBq7}0bvJ@;CtO>hfOOr`)lLmTXFwio@hlUAn;)^)NQ_;qR_N*>#X6r_C7sp zdFRgoRb&(t~4XQ<$aOk}j{Ww6E)?3?s! zL9#cEpIpIJI_GG?0`FU@;%y6q9E|$vl4@_EuD;>|kK8WBiZx;x#Y`r5hj`#G_tB(9 zQgNCs-yg;gelU{%>^?az4K^DAhISJi9PDu@J!v!C zeET4q`j7YE^Aq>;8%Ae&&+?-X6DVer^ej*se;E-oE{}dtzfd1Qe%rs5ee~X*HDkpx6b9pFhyMOgxpUXM;pN-Qx3V{by zaPws|7q1W126@ytYU;_xgVupn&Ad0QzS@OZV-D%$Jv8QRohe^jk-~f%XUfri!OP=c z@?Rf9if}S{9j$*7IbbPw+5HR=+n>*;^HYy(9K z5erb2_FZvVfI=$=qAZc^%5Li8w_iP8`mcgZ43lg?na-KD7K5?bwUbuL&)@iwd(g)1oSza_yyUWVp(rr9q0(Fko+{4-U3M za3B*R2b}gy{KSg?|BKO{_y9yL{dZyCVu3z}!=+XDCt`h!r;&rKQC(ObjVpaUa$O|QL2YNdDv@($M8R7U2Q;0{00%B(Ld5&~ z7;z92?w1GoEc8E_vbwZ|=2dWJ!Q?XiQ4RGunC;Fn`hQg!4d3CNS?@!62D=Ya#Q9 zNEU{F!=8*YX}Lr7`4lCZ~gzTmq~LL_C8;7+OV zQSMS9#)TH{kEF|BQOKib9?cf2H9R4t&%F(Dc_at4^fbS)Oy9lleqFv;t*$v%BkjcN zE|u=kp=ZLCMorI!x*f%nDkv`BMTMjE$Z+od`eqNseUcZ05R*?}iU@+|c;l7nep1*d zs0v#nIT8fv_7h(1#g&-?G+68Q0#v-~0babycc+YVNT*EhgMWRz2^-W$@;T+1=-`&M z$ARaD>};c;0K=R~(uLi~jp;t3quTcW?_~~wQz3Jf{71!AqU(t2!*)8iBFmL$Y8GUN zirchg*R)?FZ%Xgb63r$ZgQy#_F#&ZCiD2ojhTU(6B-k2K)W!bB&NzesW(&$2a zMLdRS5w$R85VPrQ&IHw|AEy}YPi(E7XCO?>=PQ}E1l*i^HMklHqGVGlA(v1!i-LEbn}TRV=ao zFMmXgAyJXr7zmu8f;*gA!}a}tz9{e_`Q906_%&JS#(@Z{8YpOaI)a81PB@yqAvJ zK*gG0?K@yuqlN8Wb%YGvvJxm0Jbu@|7%krQ{*3uUvAVBfDB;-~<%{CYN_-4&_&`Qc z>nh(dcDFKeC(N;@H?`K@RIJL!f2We4(|^wayFq$Xv}N?P;fyJnmUw!Od-PhuEl-N{ zj)wIY3*DY^4w3P&bidEj?gMl}%1Ttxx3oI=d7LztGkLxc@5kJ^jkgmA<(2^xmo~p!cT*& zkIDu!9AlsB5x48D#JW?wY?;tb1f3GoB>QJ8yb=G_vAbm+C9Z65ncoeuBSgW2rGI~L zDv?kFhFX|V+NnAe)4s*z$VmF(UDzdirA_2sGX6!Ap&s6$k{Mh z-~UxjepWh=C@LkmU*FA0T|CTv|8z^UYZcrB;)WKIi;bqP5qUv!b8OeTK~?i@B^AQT zMB(C#Ql2iR)iO&Naa;WF$KUb}5Q-cFez+e)5TCmNl6=(&!^SvFMRX3Lp}n$MOqMva^S(JUgzUs#BsaSGHr`5x81T<_HMw4CdP4a zY)tHN-0a*)x!BF(DbyIK z#b<{M9_m148j?BjuT{x!P6_=AEnEL*$Kx}aA|juh;hL#W6Y}*wu-sg}U+=zb61ya% zYjIN^tQv8%avK)!fOuXuGzlu97XqX1Xf-B%V^NcPDq7dR%zrI9J~v3KmL9njJLt^h zPN!BJn^H7^>m9^$(Os;i`euNh(}b2D-$AH(K^fn#T66piIO-^%uuB+>Rm8I^x{*fG z8^BXjiYOJv<^5@&?fk@b;!!qBo(VHlv2}(bP2?|pPa1JK?YVYGX*Y!Pi|h#+4IS1d zC&bS|&oc^$Y9687643%&Jf%RF?zdHc2N(VJCbIpdK_18W>Gk?(7ZX#{2OW3vs^0AP zjig7eRfB3g0zGiyDQmfhua*DRqq6yq;I75~w`JO5&o4Uxt`BWV19O%;+g=nqdEWI( zk|#{r7bb+Vr21T@{7i>4WwY!-H2=g{CJ(|N1hCaq$e$!!D%a;r7ao849lv6A>(c zU@JyeK6*(`>}9;`^qC`+D zU^$n6C-jh3CD%v`xZqpPj&`NDa!wWOsRlQHA&=&>opjv)8mqx0kBRF6G5spAJ^8dz zA3|9n-I5;f&;Ds5KdGYwRzT&Miy$A|ZWoT(w4IAP2E6wzzv@8}uUFeHqd~?QfiF;^QbzRhfA5budm2^d4wdTF`x^c^qN8AF zG7-ZQ-#;ZEpO)u7S$srS?p;%KRYmW)U&i9>!;Eq_n3Ui?^>A`^6JA5up#~Z7cdjJD zhM~@@;PP4P($G8;t)vjxvBz*?a}uVWRglxv+kLO;2UOHXo_@oT{;kVsn+qLoQGWlP zDqcFOWnBq5;@uKbBS1b}R}xldNQJKw^uZe$YeGY;^12rCTu>E-;aO);v#)$a>0zqk zb}sz|!&r-nPjFooOiqm5);X8BccWhTb8+_{{sea2Um^+wEqww8(hcDDWeDQFYkqQ~ zYmtI4YS|d;D|M(FM{7*upOU(Xh|Q_AZHwG(Y7}iQrvh^o{ymf>Ew{a5-CF7&(gXt7 zfI&x&CE`s?B4tPOh1s**H9E4cU@!kF!^f=u9)GysDE0Zb<%6H5dpVz~S~f?cN*#o@ zXShicgS??RT|B>w;8j+eVq?!D-rWrDsU0D4&)_pv<(p7`S4zC;g&i4C? z1b~=J-EB*|Yusb!zVbHOL8URPEgURxPeZjCH?+3!xn7fu3)lT?KTJtzYjfq7YApuh z@pi@@_$?RMEdwjvwQD`^AnLu502w(I=nMiA#L;Qqj2Co4x?>ifW&J#e&f_5(J}U|E zTG9?Ip$!%hE{u}tEbXxj>IW=eu2-|=X)AJ8!6fbOWR?P46{m-Ynqo{wTmf&|T=Gch z2TKHM9imk{u)PU4%9;6Q@-_AvdzcI<5x2ivGL6b&PO*Eub8IcokAe=9F)aVqf$cvo zSrlP$P2eJy=M|q@?~3^s{{Ery8;WYav+C;aTa3zBkaR$)0@2oR*hC}Sy80`c34;3iT+IOPYrRu1{%tOXK?w@ zqC{+Kp8R7H`t$8W))xl1SWZc zPlC03WoS0K!=JB|2$1ZeuP2LoSh@B)=DP)phHU&f8aU{-k-rLD*6ZnoD1mqQ$ zI3)QttHm|JuHD86qs&LmESr^B4QcDK3iYKd|9bZ+Ip4wx#8CRZ>jeqk(h^*{e0l zNWJxDKGM9N@&W98@jye!8aGc|quhcnN}czj+S#xroLG5qy+j0TKC=P#m;Umm$9H`i zFPhT3sn50yuPoEunmi+SZrBVMianpE1q537XG4ECK2={KF|kd% z&Jf1&i(hS-ME1p2H0#AY?KFNM~f!Mdbax%xVPma=91et=_;s$NI5tcO4ZJ z5z)rfqVYbn=GyrAOXm^qdJ{-sTH$zQQQYY$5_1kFUZC_4z?J#9TcrYM`{|3tn4dnt zR~01%y+nG5djzSTn;FS0cMu?DpJ!#jf4;Xm8i&)ch`TSrVJFmtmc4*s%qCP~2zAy^ z)QUAdSET*7rdd2LpQ4&1yC4zK29F5c(`s*TH>#SQW?6ealNo3`PcVu%&ji$L0b5~C z$^utfRnO1W@CpfQ8&?;0a);qx0fT6Up42^HO)EpL$a6jkl?K-++`B~*a;-J9DLIQPMH0wPaQasZ&ux*;8hgl@3f0dm8yd!gg$L( z*;H8lwyvs*r?Mnl`y);cQGVCBZ>b0SG05cz4DHH`*kIkx=k;S7k{bC6L7P?Rt{nK% z==z6YR^nNz?*N5TkQJUBlk_aj8e~jgZuvntDan`^q99nFTU)OKT{a^{@)R9msc+)3 zB#-0+^h9qx#Uw{FOozt9M`ciNpO2fkFeh7Cv$6MlVF~Y%WYb+xm3Ojd0be3M)11@+ zyP3TSw@rpC16MLQJrEDoUn=FaD5z<#$Ml;o3q_sDO~hSj|Kf@~2r(03!@)^3QqA~m zPaJ8l1m$sk@&!eOd6IMxVPTlPrR0?n*<{`lfn&M~zuJuGfWt$&vpvolEqn=_BRcfo zXPjhukTVYEbD#jKOxM>>nrv^?aqW(1b|8I_@&Ef3JafZrafI300&)Ix$8x)K{8s0C zY}4=c$d(mPMWRr(#$T6sN`30m7M~6#XI3Jh)=k}wB6TYuwK15v@gUDr*rSqRuT@ZE zl0L~=YrDdO9st3TLeq1kTc9uQti^(Qgv(+M^RI0&1xX4D0h*B~P7jvEg3&!?BOxUL zo3Hn*ZhswhTT4bvm?9<&U*N-={a=`}{(1vV@S^;XCSEY9x7fRqKbZ2pRs6A#|^<+UtYI z09nvlV2XX%>scX`YnG(-Qg3(~^;vzAq&Gvs*A$7)L8#2ctl9* z$&00?7a}0zmLT#IIU-8ayM_rBwf3bC`Z_wg<_yS0S1WU~C+Imyh{(`A3OMKgE>zVx zN{|O2IY89OL4HlYdWM-2zB?0q9Lcj`ZaJPg0&PI$c4G-YWC5;>1lz31sHOTmh=>83 zkUq-^jJfJbBW>_|&J4u)9>&c%jfX@T_R;XO-5aWghr4(c-B+lg{cr}4#O^mJj6c%C zX(ey#Y%3HlXowhAR-PBVDBoMN00F2UF2tdSb=4Ur?rQ^?)B%i0)VMlCr0r<*lh(E! zI!x8@LtW_LOXsX2_bAQe4Qoo(ib6j%h2OdXX<5WURM+E`9lKl;4}3^h6JR>*51MnZ znRVoQb++|+O(&y{tdutBrN6KPMez-4HDWXhIsU9n=crtQdvR|>IRpgF$HP?dT~n&R z|8JR;?_bb?C2#^54|t<@qVl;8XPtMIDD^ydN^`m=A`E479`^ADlK(vY9_y}y?CB&? z8^&56U#)o^G(~+Kxfw7sB7Do8aJjpO{G0!V9Qk@QGCu}8kTB@nz18+6QtUWxr2T8;j(O3jk*i|`=WY={b1z+({(SJ7coAt_iXC_z_+i!j zlrec9XTqY$WOr=MQ6Z48HoD`dl3?c`X9^2yBRIoafY;|`i1y>ccp5Hot#)LHcmBd4 z5kiPtC9rM_QHBw`emBpCfYZ*wixUtDSk5K*`6SUhbjea0UHgR$d6{bJ#yU~MaWC|p zW4dDB!65nlA-HqbupC}(Q6>myur5rC@ZSmoc^@ht^XVORpV7TSLG6%7UbT8~ALA_g zUW-G*Lf`3vqxwtp0^c6n2Sp!xNH$r(Bu z{|lyG*nROwcQXsd`Mv3be+To}LpFdq%LEv~HA(TO08gv$4=+xO;`PF;lx@L&fop;h z_lJ*h{jGLRf`b=&yEU70T>{x(VwH|UK9ng0hF6afCdA(tP-E1P3%EoVGPJ}^+F9r0 z$x0p*i*5a2F`r5ib;oSbOr!MuWgPjR{VeG5r5yePrSXTRqozYcnVkMZszX>S=zmMg z5>8|a0-q`}fU`%>6|9@~&uwg41MQKCjtQRPMY7(Q)bXZlyhS2lJaev29C4(JCi>$! z72STAV*X25lrweKxOUG??qz@cM{=~%+w#%X^ULGyKjoP{9t6U@!oJ)qBN8mzV6TV7 zQqKX{+JU8d85h9MC-9fc?y$uqo)-Jr1BKe91$0`Cr|Apr7Z_|MUb9j;Esjuo(T#9* za&gXbF9{q3aBm^C7ikkP=!X2nMoVSUH*`crGc!C+-AU2Z8unzsxcQ=eA$5>oOrV{M zOc>)%KF1+bPjRY-4PQBx#f*H3HasL94^u!yi^ug;MY4$lTkyq7xx8(lk9Z- zc9a3xp7%cG!NkGwAF{T-RLr_fs{0HFt}^81@86mL^9aPQsQ(N1P})S7^Qx|HtRJ4v z9IIHQ7}ESUD8T^C4ZlU8DFqDfx};WE`Yh6+8vj6ROlYqDPlPTir^Q;!dv)1sqRU#vv<~v*6Ggf)f<`kKopWDwZj2;^?j#Jph zQce~}X6>5Zse>}}$~*ey6YbPA-`}XI8@~CvErBwM$x8h~k4NcsTD?D;Fc3YlR_x{% zo)U+aRP1>(U_sngg}UzQ%?A;_A; z3a}aXXu|ocma1QDba-2FJlHtl;!yz(h*(LR47D;c6>_~Uxs_N`#CRUj(vFO^H zT!-)jp4EEGNWzklgmXgbu27BOk{LWxd+~>tVn9DtCBCvn*5b}{f ze)aPCuQ=fG4}||;Frn*uxy_(Cv@M<>runO9^la)YTupb>jRuO`F{Bohp%MKi{|gWG zJQ5H~YH-H}0lUVg`=ow3Yw@ShxF(WGTqm{?uy*p1^re6(9>kxF6noF=Yxco6WgIC) z65s64TT~iCB!6LIlRqDZC~mxbgLh(HB3E+j{B=Ij3XTAA-n1^!G^KNhVWaK%kXL}s zjxfp3DGc>5@VN#vaAXzMLi9OVFfiwPz6Sm1H*f4SI|5WwQ&ukr(Z!ck;>qNnnbe|= zX%N9`dxy`5G*uJgGGEpH4J?RpfM7I#zM<|{f$&^l6kPdX+)>Q! z?ILeIX$t}Cm)W>Fws!?ZFY=p&jp*}f;KXKh=k8vw?+)LGw@wQ-H?+kblYK-fs!68y-o%ITJ zcAXL%NSpg5xd$pqEj&S(rFH^D1R@`m{={6=j(f3v6R@KeV1wW>lylAzo>rqIbFgqJ z?bU&1M9BWE_PHna%o;1rw+4v*TK^@DKN&m3dV`4gd8Fzc6SuB*AdQ%v__+Udi`$Ux z?I=2%S8!~0TxC$9W#kh^R^!KCxQJS@==Cn8tSkLj;2l!qSAq1(?hXDv5c{_5hMb!A zE;{mc?+bS1bCfg>RN&S7U|!(EE3e7hlh^j&SZrxS2g6tNAdE{t>YLN6#c)UlSmvC) z12+a7`r6EtrnM%z+A90x+oxZZc#PJYfNQdouOJVK?dmqrv8fh*{QAP7wbh_TwMMY| z4ha^7?V^DeuMQr0&$4lalrJ8~p)XeF1T?&`H+KM8Al8$RSM|BzH$I_^81gl>G`uh8 zLu`z07|qU+u|82Tdo;WY;UnSFS)3p$)kN4QK_Hg(7B@AqB@^{C^ z(yZg8`U6|0zXs1<S+0zv{p`js>-vwDO#7mo4^W+mp#sn`Ykme5C#qqs~V3dI>V~aKZRN*pWwd$Po4`)&jJVJ} znpmxuRVYXzRrodn;1Clf(i}TXNQ0=IMbvzuFwR)@A3ENK?}NG6qvk>aJ;;6Daz}AE{*Ol*6(P_K{zq-D=m7L zFg!xdyZfWbDa%gtsnbi8G=TlV_*#CrjFV8g93X~+OZDrv;NDeeO@+Ow%*j24FMp#` zXX`*Ob!-KqR!{_;#*}eTTOlP)s>l^k8Wte}uJz(=%qx&yy2}#o$a2WG%TV;5Jqqy+ z{md}>mL#!huMsEM&ZcwU_N}qtj9QCzHoGH-58(pw{=$6%qR{Q#$cI7Tn89{p_;NXC z`bT^1K;ys|mc4pn-yQeAMGF=HxJD*Au)uv$@_^qEL~?MqOmn{;Bij+!ldV;iwn>)C z8Bk1x=1Mz>Ye+eu^t=59^~OqQWcmM?`pU4V!miyx6bulNZUyP?E~Sy~E=N+jI~0)` zk#3~BYiLQS8R^a;q#bGo7-r6V?{&WSoFDu5zV_PdS?gZ+y`Ht&2R2DnNIa>$>6-OD zcG;5}R_v#^c5D4l9@c;4l(_|HQRN2|uWo>3`#@5`Xhmm1}rqw{8{ zsG5Qy-rq~F=h!u-ja{TSjDq3(w`CBhqa1AmrptYQW z>m}%+W}d>#<9XOavUK*c=b7B{+d2=gaGy|^>Xu#4{%SpX$8(F7pnjb;C8t7@5z>B& zFNFU0FSJJ()0aJdvA`AFl%A}>L31~HuE+ZD0c4?{g(@@uj0U`U|I_5`FHR2ycR zymnrGdGk0QsS?c+PD3@aEUnK8MI1h6wd2c<-#`J-$%S=8!Vf?=C+uhG=~u znM6y|^s5bacpu_dpXBM5v%0m1JZn=acE*zBo3_hcbeOO^#jGX&_*6t3QV+bv+L_(p zT;(vtSHAFzcK;oxjbSCj_n>aHs06Olv%~?Nflc+yk>`P*IZ3@<-ARp}NJW{lefZPZ z!&>Q-4;gkLZ~yrnb(ZB~(QY{-naJcj{@Z_Zvuo}jD^t$Lr2dNUt$GJRoTQa|Y{pTh zA=a>U*moCx*?TMQGV1}B4{xd^*QHOFhX^arZFshMoU0G1XOg(kUfxcD2(sqqRa^fX z2sZI-19BqsDt^1BQ3d>1i`FKry!Q8Qkd|EOa(o$+{?)*Fef)%h=mW9H!h_ckCO_MR z!yz%nDpyF21a5x!7Z%?SbU7znXZ!d!%5zCJi=X>7@0}a{ppZO<8dVq6v|ZQUr2lRk zsigckh*YV&zfp5ymBJz8hYDlV50}_MFjKV;u2ouY3mWPQE#@Z~I#F=ps;M!Fhc-m+ zUkY8pf{K%AqcxxNi$vmBBoNOFNfetKG;$8VeQ@`<X^VVfem z@3=G0O-S$kwj20E0B%};M`vJbQ_W|77Bj#)H;ztSA3ttN6qkmA}9;#)n4bhoS zroB_Lw^P-)l3IGaS7nWp=R&EQGS zh|*_0&@@+%M&nxniORE=?|qHh_ICCr9sAxX)@1z5Ova^B{J4eyVgG(rSIL8&=J$f^ zYs4Tqr4gH>pI!l8<*^JPx9!G!ebR@=qd@F?SP)n6}|T&x%x(t>V#FV z|Cz9H_p;{_K@Rzo_=I9f$L9%e7O#hY5Jy*@Z4QV2I|nj;Kyd1>Jeh4^Ydj!wM)sAu zEEYs`+{E88EC1GBf84*V^nQ(;MA?>pGw)YjksNc7TVv-KSJpX;>~mUHec22F@5#dV zYPo-DuLP;Zz9vC7ynV8~UbI>jH}Hj5OEy2ewH7Ls;-aA#y0!z!5(FfkJp+}za_1ee zPLRAJ-4T*O#GYKYb4=>u#QO04H$c~@j0Bi~H6vkf4WhA^dRVL^ue zo20m~IXwFW=>rb!caqCO?GF2{1a^PK?O$fBKt80iC4}R%Fjg$$bu#p4Fl1SI@`E*y zn|?Bw+5CGqNs7EffdadGFky%on3yGRDS6a_!G_m;o{Nyl9OsTkHSWVqMm&MgZoWB4 zO}XmN=r8+*o&rP;AG*EYSJet(JCgoG_!Pj}$L?OqoqmqvStFmmhUW9r$rjH2FKG}F z9*w=1CU)2{U%EE62=>R7E+Z1?n>|%e_Wj4AB}Mh7KZb<;$+zI+;T$!)j=irf*cAR% zHHW~QeBtp)Z{<_LIOM})eHotFSefg+IFh>wCe#j7Nk!PDjSn?8=xj(TcSL#PyO~9X z4-Gp!fJ; zlOyRn|oB3$p)q;5jec}p_=RPZ2T zyg+gN)|@3V2YM#^HRCO`Zku27f8FS@c@VARr0j|(2CX^F{@NZ7_Z!dk#o(9-R4q)i zHA@yu%JI}mj#)L}>#M~4UTAG0|1)1)#? z9yL3PT))eCks&OOEb<2>wpZ$Xnd@$&Ar@#B-x{*|Q`0+FRPt9vv{hEraKBRV=~bkb zkaojhbVp3H7hd+W=t)KP~m@tHkh);>TlGjUf|E zA^_HYP(%V%UCI=v2VM?=l!CBEE-&!0`7*_S6^sbyZ&;6c^BN~5zPqsF>*xExy*SFg z$a-6^ATE;oAEhSzqRjKlvTnJtiqSdhMnwSXvYg|PIw=E@SODHP$`D>0x%$WlQa7k?nI?}Oz~lVBtnC3i>Adr|I)dMvc`95;=dTQm((5dO^G?4aBY3otK_1-NM9du zw4QL(CuZ+;@;mzn@8X<)wZ@$W@EZy9?u}k@i|u(IRe#KB)4iro7!XYdH^?Wx>KfX zz-}Iv&LOZ8*~4jt{!&HRZ~4IK&UE&ao;M!jZSC9;@mA(HLf?FP%Gh?47*7Fy7+(bt z1~D`JaB$(ROLUSY45pP9$i>H#jDH~07?vr?RM8l;>Rf)6z3^1FEUV7V?sIY+xGi+yDCF|;{_ zy&w~j6qL&Lp`BmypvsB75~Y-C;W@!KoBWlzA8qn_ zVxhq|y;JOej6Tm{s+t9z z-w5?_grQ;Aja?UUwO(AGQZtB8s^_;bE~2bacrAa(pvj+4E=gDW<7Ijm#z~XHlTSUz zK7EK&Km30g+6c3F?9nOzkdSqJX=&&!8;o2!6&GIk}t=A zU8CaL46eoRU{Ry{&EFo2sUd8m&!(5Tsg_4vh}cwF;lVGJuRG{|Mbi%YSI8R^8v{kX z>)mWRiK;>fl*;9Nk6p~wYnAQlK(Ck0ap0Ko{K9wJyw$qSA?cbFCr1LDz$&> z4G@2J=znz2ef=dMDxYOOPAF_c_VS_C=$TpY;H|V~3r>Q9YUvFKh zLY>^o-%ZyxlRn<#X9bK#n2LJr@H81xzx7@2NukG<1&1Q!I!EbI_1Oj;OiC_q9FV0* z{qfZL8;en<%Ejhva^=S-$HS8=A2-NVqgvGX$K;!pczxYMWHxOdEV{Nbx_hgous-BSnkr#ObGu1d7kd?aGFqzk;wSvpCXKLDH8wdG<}4>;CO&H8v}SEC~>h-#!Lph8!g#h z9+mDcPCA>x58L!X9*-ku7)E5#IxqhH<3=8eqZiv?C3Rc0{%P=d_~!E-cry@}BC_9F z{)Z-iIE(7ck`xH_%|&{*RCA~jSB_3Cf~Ma?|IWbFs+;b^g+lx4>hLe(L!r&hf;9Zq z+s_EJW`H49{@FqMNl<^2KY4h)Q=`*~ztp_O)u!c;#X7mk_{q}@a~Hz9*?G1}LWC0@ z%9}^S^NiJuFkjHC{=>UcrGx2g&3cQh-evU}C83XTEiab~=ef2`28-zyHfqDF&lI82 zR00W;H0Sa$`x9@|EKqdZdE5-4S^Wi#Q-)XX;HxAnx65E2f#|B|VnhTwsK_aa>` zC;yHxV<*6Ak>sk$pMq^vHk$Ic^jAg61y$Ddl=`zxtgvNOnDVRZ3zxQ++7-JhHjDu$ zE>)ka-sdn!R;PKWwDK?XqE^RWZBAMN!ox5v#;BL;K@`20oyb~Af99x&M-fnX)&gwK zZChx|u}2IUu+=@GL|`4O`(c2Z!k5(pJ?IJqfaq{q9)5oVQW3NK?mVW}`c`5EhhSva zQ^3NdUyAE3-E($=$^988A#oM#RGq^S8}H4=pSt%}dE!w%R#XR4O&v3qFHRMj+rXA70imynxGJMrtCCBAP zJPwhbTSmaqBr^H}a6L~kVfAOO99&m!w}hSO>^6S+MaWl8^W+(o4u0=!xKN0qvj2C& zQH3j-?4^(Q5IsBBHkM>_S<>BG8YlvuBVr_6-svmJ8~s%KzZ@!MUqcYUyDjDTW1l<| zLz!RM)`bl>cDV%_bgMQ$d#KL%BXGSdO{KPDh1Do7+zBUSwqNc1V@1~M#PUee9Gz!k zZ#I84 z$eKXn)PSFaKDBt7V@({qKWQnJHlvE|8-W#soyA4RrfDU73xT{&pvJ}PS}tsjMoth7 zVf|qZrCFR$4+@@z=03qE0$xc^cNJyROob2~S}K?#uGd=U0{U)K+-|4e!!+Db$5!~^ zm}71vzSXY{3>m<`y3Y+G>{XoP>F|2>i`=>g3Rx&fVj=$#XrqN;aYsTxQEkj#gq8p8kjgfSi>%-s31UC} zDxBf}^I(m>Bs_qpjT46-^0{od?NPbJ(#!9U0S@m7pv?Gw9spk?VJk`g()E+(r#G*s z_orr58XO)`UXPPdS;SK7bXzF@8q(&r9cYcR3fSnqAhq%@{ljAwg!@kzb(Y`nM?wyQ zb87v&#*iXM3Rsb2RsNs)BO4xM@Yn*5+^k6Lv!62KRE9yX&b-c;%#Tb(s!4|46etf=NZ-ZH!VRyuZGi)m}Z1aZD^mxXCq~sp- zWWfb_KP?sGJYtm$S>C!Qxw4N=J7VSYOB1B0IhK*l6LC5hPN`Hb;=K?1{hD~gB4GVk zJL~eUKnkmNl#P!YGI)^>;tam}hd4931rLaiKk*uTNa?#>KX85Pw46vCG+#)n>!K|2 z<*hnLzNOWR$Nn1@s5n+A2vxQoZr|$#&lANEgl^HivWANnm;I(9=*od-Jp$yE?AzqU zy^SR_(EpP1xOv`>r}EwOgtQ3Zs`(}5VPj2WTB1f|rs7)H8&B3zYcpdz(;Ag*-~?xG zj^Fzn))jKkVrC*7tD362U+@KlK%1CF+%UCOF3+q&Rm@S4|3-ZpSs9Krf>K+gK&96@B6IW8!xm4{4okexN4yK z^FNX5xXuk7Z#CRBm5B1ISazVORlS|B(r%*st&M||PFmzgEnRFF$A~qh{ThhSU8AAQuf_Z#HO6>Xv0@QO?m&c4=ZZXcGy(q4sEq z{B&e~+<7#Pej#47{Hmti+tInzc4-qlN!79p$Sywj+ZceE>(FR1zz(wItRCQ61wBk4*sCsyYEUs=MRf zzcKmULC<`dC5Z-5b;H0su306vkdmED zlD9&iUN<#es^mP)Q@m6q>7^>aC+!WRWP_eg^$!x}%EC{ohUWS%>L~$94qhK2nVEuK zJT!k(za}IQ7Ia47{Q*$-A?DcUU(h%Rbr@}+Tjnusb%IpmheCrcIo-e_?)3Z5UGPN= zc#NT8UTma!*GnfG-3nQF?RITfb;m5cZx8BsU0hV}MzDh`JY{@YT3s z`XBGhmWnsD+?oe-)oK(z_-Cukjam40>{VJ|>?nUDrfpV}@D2{#`qAaF2M+-NbIJAR z;mZ@?3h@E|tBRI`fKnA5g~3;zaint23k1gl^Hu1LA;+-2b-pa>N3sDZ%NNKhx>rk{ zgk=jhfjf7=#F2fEYxljVbYKcE$Zup|9C^GOyj?`=K}Af&1hLf~tgohGGc8uZ@`+xF zIfqqByr1a7u30LsN#P~zT#f!2hu(CX%lZd86sD7ecWk`Qujj00Kazgh|0LYDh(4)V z4q5#8$>?@n_${~MQB-+%nXc66c$=1{Q(Imcs4{BgZIbUZnx;){wdz>j-XNmXf zqy0+-AZ_2Jz1!TU^^A^c=>2e`r>B{4oF>-B^CAoWBG3o3XisfC0Ki>W7u{orGEv;! z`UKZ=KAG|SwD{L)$J&G3UOalhqZL8RpP}ZKYf3@$7c3%7l&$ngWX>{AY8bO+4`YyO z4~XZ@ielj>%gyBaSLHU6PCuzYGS;DTD+$>?_T5p2mu#UNMyfFA+c@NE@^4~4e2=Oa zUaR2?dk>T0@)(`i!uYMffj8`oA9ZCl&N1eMyxe6S5=slb4)W;F4oSHc8nDsShiY?L zyU_(oGw#RWK0VWUFA~BywPz%%2B4NI;<#srtouhNQt>fI^b=npJ9m8X?d_+FRW+-8 znGgB0B&5kx!IC=S3B}QGx#ps0y`N@Dri^`=^grK2Y$P!Bie7a0Vs6BG zovr~R4n>T8`?)p4=BvGbFPBaBvXi~kboMeu3}*>1Kx$?QOI~Z+0f4zUn7fF&O^cq$ z0@z!pvzMfd)*)!lNcvjn5)Zylm39T{r6>LRjS%!2we%D$$^{esd z#OigI(@P#7pHHSrZO%Q`nc|bR<_Wk(mCwl+3ykT+Pfx($kt6*BAv{jWoE5FT#f~5Q zE+5~AUHhXQdquuaHTPBh#WX3ds=?38W#mYRt>~4cGM2JuN}Tlu_w(X6ZqC^(e-jfI zdD4=p4P>_^DEI7V?OzB$>$Y}h>*!k+`!%-CXSFxlTbn9PLtYCLrQ|*9oo5NuSwsHr_D3)z;6sNu z&}Q(F`~=LsJgR76IR6&i$v=^lm&kCReo9lD>$mJswv8SlPfSzo&(Gd7QlM8uR37;@9Ov1b z%GTBvCx5?n@cq+QK2+h-e8DBBZr1<&_y2?@g+cx@Kvtf(%)RYQ9|pYN{76gShGRdd zHo)ED-{ngFWTVsYk5#GR-ik|Cp+Tn7fljLq+L661&u2o9M&c@Vb4nBim$D0A&kdEv zP{bY?de9#Tj7|B++n9$8z48=){#w!NGw{cewPQa53@THbDCx+Xn<{YJf^tzLjzE2w zEREE(lg$VwYw1B6pQ@?#EW7$f-OsmtTK~4h@f@SOW>b3DO;HZMW>Pmr<@&AViQajVC0yM6-LC|7r~Z6r+#U>vjfNvF$=Ykf~Mh zGw3}GIU1D27`pdsqHLWFW+<_TlAU_dp5wO;PuIkndY&g4Ht*AontIa)HP|@0d=q}u zB`0d&e$oD=%$FkNFq1nAw0jK>(Y2tl#4ZHWe%3A0G(Sywx^vj7OI~oWM7B@3-)s&x z%kGk)Ysr7UoqpnbKh4>H-3X}B!7B*y%p=4-Z3N%|`o4)zKM#Kdw5x*VsN+9?c7=Ig zIQSWg;)EsBZb&Y2wPZUaK$R|_@1Hf@7I#nronjsf?V9JI&Z>(1L-`n}GBsIbvJ%*} z9y|pC?^$7TapP=p?X<&+#O$D^93tI8lN7CC;tAE|{PG>+44TnABbR2dO_Aa|o`Zul zbD=PiLp6i4y*CFf>g8((E$@_z6cyNwe7#*4P%QAcsjDZ|=E%5t_q^@XSEr=#v?l+b zF%)?4X+BG;A!lG$%67|04TQ4g3~bun>6UQE+akScnx|?gcCnLfz5*qK_rJ>1fM34K zQ-kXh???Ib*uH?To_!MyW9HE%V1zK@@eVtm#gx&H?AC$o0*Jg&S_s&d3p)Sc+Hkgn z!O_XhacPUs@4+bdq4exLI-x>y@Gw7g$5LVNu7_Xd##wMw>y#WWR_MJcRi*_UFyIk(Bj>)xXjSe%G^d_AWB5SYvCt+3G|G8wv<89_MvptSVRtWmaP+i zZ>6zVhq#evnBuM{A3PUh&~?Q-0$Q&U2Zt;?^WYrPT9-wC6v^r7`UFdadB!o_n`PyU z!X(sJUMWJ7Vt)fIYB8!C?pIn(3l-&(y^74en7OVJu!(sHY-3Zp2w znJb4sq`Uf^s>!r7yAto7>Aj219y+NJk(x^R`dZYeRfW(hiQ3TZ)H>7BbV|xM=ma3I zM}N|EBoi(_;3k_$oYYx2v*=l*K|x%zHU$=#;?QVGZvOWtMeaPlO5OFsFN`UsQA}6w0<5tR@qjDMtt>g#>(GbTh305QCKU40xYI^(M z5A@X9%6dei?)P0^8m=*AoBy6S+ghAU!vO#i701q`$MWY;mu57xwYlECvrAW-M^ysF zGdeY)5PLyG9beG$QE6b2JPfpBy5fAfTyxt^-n&$+Y#Q-Tff$ho_^^ zB@o+|Kh#UFq#$LXpa!?r7nD2SzAdro32;eViikCOr@%TRUyFu0>HY?KvAq`V%}DnF z47$Y88E^m=lz4OpQeu|tjF~bGoLn^>O``LwdY{)3l{9nV=vy)uPv_6*+`$^|-=330 z@Ho4B{A-7cWiASAYUQ|caO%Y(Mz<&PXds6zun*~m-7;T()eM|U0PqH6=%Sk5U4AXP zaotnR4bO2CSSyR(x|mv}kyy~ry2Yz}vc&T9pE)A$5FFzA(%59dIgdlo+G+pqd(5=$ zp#YtaPdL6F5Wq4nmE9e=KrULl7tHzb;%4WIA5(V5b1%`<7i?K>f~I*mPWAwWI8}h- z)>B@~h}F|U|M@Q91ONaCpK1$?LG*U(Q>C9|yvOO+?m(Djc`y?ee8)#wcI)Ff# zpKIh%1gnW_EI8(UA{%4sr~C*C5Iq*D$%E>_tmY+74zK4(~(uda&b-q3+&@IQqw2NodRBJ5;9v>zPpq4_shB1 z-w5JCw=Fo=KAK}duJO`d(EZZt0Ux})rA6egrvgu`Q9`ooVI3)omWv}ME3YnGg0eNK zgsLTf?d^HNrl|z^S5hr!cLl4vOSv?_$wx|;`JxLeF&+6E$$$P87xuM|^b(n-b1we+ z;?iCfX{E}5HQD9t5LJ%_aP>zNZ8vQDKu|?5eWZsC2bf5*5}4zsxYIz&E=( z(qd%n*F`0^9%Gvk24UFoEyJp~J*>qw z;A6UUPdww02^KdH8PUEE8JeuL+lBz$!C|U{~G*}&4QtcbrScWpN%9Dl>~hTR5UXjg1Z}9DfS++oG!;+oN^08yn{fh09|3&GS1@tf}d<6LRHyr}d z1)cb%hs4P*lb)R`a($8o|E#lxmujBim5BJz2>ImCru=e&*d`suzFfF2+5I9b^^ujW z7`W6tEdt|J_7zxNpb{(f3@HX4K=zlz^g>&m1QR=wm4te|ZjVC$x&|XHCrf@h(q49+ zJx*H_D`*c>NCEB^i`*|9-8d=6dcGKPKMZ{}*;dzFRADX)I#OoFZ){ts#98z9)!Pl(U&yBE_Qs&r2(4B!esT);= z2xly{=?mtUTmp|W5==#;tK5Q`LxtT!mmzxFk*n0nvfVH)^jtkUO5@;|;wxxIzuBp_Vo|3AFWh+e zbygJ)pOYxA^)Gh6gZwe_ft-yXR+)e>wANWK4KOb(qyrqf>Dr|`Jj2eT8}GT&O#k(W z#Et9Lc_R|tAa=Szi=f-f^jawP+vFMo_KbRmks*2X6sVy@wA>DPF#A;iFvSOJTeTsh0syST5=9?r3#X!1lU4P6mov*|NZCOQ4!n3t z>S5u@#3oa*gW+KS7 z%s(gHCEs=np~O6^yJGM?%ZRPt||*B zAVvn<+s0?c#s&b8LmBv+@wx?>`;)xsj8e8qd}yF)qDfZtf_ z(Pn$-;>Ht2dUMpaMe z-^Jdw(H!S;AOKO(u2biSo#!sgZPAzaCq&7Gp3lwgjsx^k)6GRWs~n}vdJ)w(9J11^ zyinJJWd<21y5sfqLV<=lhcy=o*-xckj#}pu_?`j)n}2iZPPB8ueSSWGb93&ctgbdk zR8q=tKz>T8M9~$Dw)cb!eZ`kYHRxQ#98^;QWg&mgYE{ovDd)NOJ=9RJ<|Ae5Kqbn$0U2HG=+8_C+T@`_44C)#VZHyt zL<@G5bam+{C%BfZB>MY&WUfKY;Y4INIIru%N7Kh+v=sE-_nyID20i60_=$b4rOnv* zQE^rhsxuE{rWg#(6$2qJ?|&0BbkXd$4ZlX0?n;fp-K3>MF(3=0XUKKQvT0NxE!(Y6G!Y7h_1XE$H_mFz{J9Iw^&2H4QcM(6##JYogp)xkm(`4ik~ zLzXSWHiH4oI`5sjAI-dqt*XK3lY*FHRR$>cLJhLb59C(jy5O;sibUf;@!VSKMMS7G zYR<}m*3UdBP|Jr-hZr8w35N$^iw$Tlr2+wV^0PiM=xp%D=Mpn=#_d#Y6n1-2rUTey zwLIBv(3W1S3)Q!pI9(GR&zwFgIx-Z>I8^R+YO}W|W>*5H6y0`twU~sTH(uD+=EROy zbjBP8Id$q(nS}2h8W(qD4d|r9Sv1zjQcfOBwn!EqOq(|w|JM14L)|PER-5~Xt>HNHcj4 z^sA^@>o~O2)vHqqp!;piXI<}tU1>?TyO7e*c5vXzLys`nhnI}U{7;#Bcx8=|wD$-T z>-{O=I+glw?DAu8>b7C5d~8rrOw2w${LtrVfxrkbQ7E-VcK-$kG<2c@8kTLW=6oO6 z!o=bjw&Dkvtwn9eOU#_uFMgMBd^yFI{)J{bwrb(yr1LXeedq3Bmqz3-AN6%#!tiB5 zIj4-hbJ8{Ux-k2C91S6E!5yQ$5 zN0A?UDYlO4hVS}~#9>}-hkc8S$!}*MhU5CdV2Ew##y2x|`hB)KYRg!y)v6mZRs$nJ z#6cNk=*b@g@d0VR_8fNPv5c7O;nt|s<~hHJY;OVT+Ck=Z((3xUMv2jn*BUHLt}E*yL7V3 zoOyu<_s{IQBrom@v)>Pjaj{7>a8E@KU@-ocN7KvdNDybVS zz7Iu&MPbHbErkbl4X$PhJ|w|yH_pqDr{2@y*`D8o$jaMqu`@~Dp^oboX19=#eVAL1 z2&S6>c`FvgeH!K!{5Jvl*KOzmBc`N?DiVcl^wPc|Hil=`m=f9lgh-<{X%Z9*Ho~+d5K^4#AEh4e0i&4%Dwgp;r(Hh zQcC(K-g$1Kw8K8sRV|%k>koI~ZZjP}0hf+v%a$Ci^dE7SO)BrNPk!E?uEQ$m0RSPHq-?X2=BX2|GV)i-yn3@5GeFWfFgx zBa0csB#>|TST^4$i1spXpwa}k&m}G<=G?ke1b-$skq*6z_3mCgy6qF+h4tL)5t-c-?NSW}xgxn$NxDq2S@`re2v)c!-rKdIo{|8AGXz*^fMDz?e$~ z^U#M_NFi^36Ssv5L(q<>Ex+MiFF4%>Jq5-}3NzY{(t}TAd*p3r=f_DZ2EzsLn(kn# zgKXHdMQpf|tsjq>Y+fd_D2Df%+7sIox6L3oa>kG7H=2Zc@Y|PQKvEEmS^so%=(EzU z!N#Xl8g<3MvXoy}y`!8Jr>K1UkvpSQ=iC_ySykVv`wT>C;_YEJ{+&eDp(QQ-S|}Ew zo30n{BbFYgeofo%z}-YioJ)>*q+!DlBlc18Acx^F_R5bnjc#jLM#?`zGZKf>e4c!{Xe@YV^6iADd;q-p%b#aY58QxdFll`$}<1TiI*8X z6W?2iwO^&D;3A!IQ68_KSX4`K+c1sQISS z;Pl$Bv{VXMWz4sZInErG?Y^&bL8|+dlTpdyYaz9HYF;NK<8x z)6wyrEOq==%_LlRm*wYm(8V#3e<5VZ`kLi~qba65=pqty*-Iej!usq_AP`V!L0&L9 z4*1L^hgFPrATAHY@G8Wg^4$wr)|k1MWZXOJ+#n%A~sLt{^Fd@79>lu!pXYLSubuawTM&8oMlgl{nkO!xVYS8#dabZjOY5zo_1V!{IEAFyMI(UlKyEo{(C zI-jWEGOT#6Yo_*r=gV5)B$w4l`hG{gm&IX|=T=}Mwe6(^@Qj^iY>xImN%+v4L#|R? za%q1Y3qJ-8^&aNt=q=a4%vSL+JQhWD+nTVO!E*Byq z)t?)f9oG>1(JZs2^Vy7va}tU+K$K{F}hFp;E$hLqwLZ3T64}cG-HrUKdC%w4;wGQ zEYc7Yw=vRNoGl$t-bM-F5l4{@1Pi|DWn%=HwtTK8 z-(0BxjMXG;YB5eywz|Mu4hP-$-C#pk9&OsxowK+&yELz|OE`3ous+pYGH z@nSp)V*SShx)7Qvid}c0L5dz8nY%KWUzmvQ;F8;*cZ!Wg>5A%}X!*qkX^+XPtS z*j6nmyft5LYd&;)PaJ^eqnb_FtJSDas{^T9dNp;o3ndvNxU48lv3pExf_fv{rw zi&?FQYiW_eZ`pJQiv;qxYgzE(jY2crN^2Abi)bm>W3dRT5L-?p@X7S<9+6lRD^iIo z?!Y7Xaw>_0Zj2$K`E*#t&6N^+yjj;POT*8f=g!CPe&L+WEi)L z5O$Yi?>Xs|F=tBRF`{T|R2{~rYkwnt<5p|?1|!n5>zg8;r<%ls$3BKFLe9V>T4l(; z-Ton@vYu`%{8Nz(oVUH};`Ssn9vIgs^o*;rRLpN;kXKH=BK^=a3ixfZzp;|JJx-QT zYZGbGHoV{FDuL#;vbh0qyUa>yFv(@UR%q%-)V-Z=e3+$wp1IHa!0cb>nN;f7z1%!e zR}t{cqt@9^PUuH?X6V|~){Ote*g$VU-|O+Co~G89c9m6sByaq)2vbYPa>5^3nbNGX z*S_nU;ryO;hdUp~LV)KXiG}CmT_5=vxz!Qa(my|dGCx4g(QW2 z?7(BsXbUZ$Qsmz>#Nw3i)w}XLbi7xy_q-yA7;%WOYrcy(sZ~mJsb^99gJ>1o zq7l}O{oc{wULCzRmvzCfLlN`#Tn0?s19x-CitE~A(XVm0l&GnyQgVnGVc?_J&&i^8T7_J}tRh)6VIvy(! z7)8TELh`nEr;f`{XcY&W?BUkN8}zyZ(bNo&*b8H%Vg(dCIM{QTO2o!t-tPjovr}>!+vT63Rr8_%UOdjM9v+06*(!KuChNQA3PV(wJWu*gRR;bhgeU!O*Bn`ccLNg z9y$@t$=4!A;X<{Xxe%X|iAVghp}e|-MBUsy(jyxoOg;bH18!ntkY%8vV0QE$FZfpa zwzS{&xknd96Sa7+Ld*cBz!G%WQ%0PG4>zZ(3l8c+cfxA0@;+i)Y6xgqb6*BDL;7pd ziF+Py4o(j%F6;b}t%actu+2#Bq{Q&^DF36A-vd~};49F)_-09#7qp#guT$(XUr;Il zNO%&-!<4J6MojET3XYHY9Z>qkD5%%-Vz7EqHQPn-LHC9AWm@6N+(zRoL9MnUzVhQ1 zXB94PcB=TPGX&>D|5T z#(JHV2xSj9QnbszE!6X>yHo} zEDH($u!Es3U2kGf@*aO<~) zI?=_jgrvI@+37YFxCmB(x4^UJ4dDX-`uL^i{|B2lX=xilO{0V$0C%!(>RmB)4^Bm5 z>{BcjheYj8ybJ2!sW6&gY2~p`H-|)PT(|@a@^Uq1eYCURb$Rtl(e5x_Dtn+iXL4JY zZplp z5M3#*5%nGcM_gk534Rs+G0|sS)Bebt)ikJ{hHY;`KnJnr+b1n|%!XE5;I;IRepc^W z7QwGVYge2DoNRwli}Q3$pQx-f@6L6qz-!}>!xzY`6%X-PUdv&q%->f8DI#}U0U{bV z#dva+Ij4mIkdgcz5~xz}VJNmr-HBOYhd^O)AVI7cww^_(1z+1J3<}eghV?*Fo97BN*XB(l}Meg@rRJ0@5crGRtFRGw+FFbnV?}{>$SGL); zKh=VO7MEeCx{IEUz%?ir^?LH5r52$ZkEzQvI8J3oITk1hR39x?nmtJ#g21{1-l!VD_^jN<=*K{un<=!kb396 zd3}az0w2+dBBIA>d#}YpPdo;r6wfBIv3jlRMF!^y-;G}FG2(DAsW(7Y##?kfh!u|= z3oj`xhhJ@PJ%bOA!{_Yb%K^a$0y1zXRBIDu7jXb75%w#IR=vFGRuvckyCQ26ZXw}e2|@V)4h+mZfujN%0(NMfi;Tz4=^Adewl z62QpVO$q81lF_rc*#-vB=)n^OPC?{A9H%AIQfE7Ytf;PBf>TRJ6nYgZUdknBz>UA> zW{GF*{=*)iM}looz{e)p2F|vBkRgxnQ$EFxLfJ^*DJ;NAKus8PwMvlc$VnKTK(>)% z*3~%t7OM$sG(-1h=Sr)1M6^zJmvMSEipsnO+hj?A3Q5}nBPUHUI;6xzUZiz{im`Rn zgA1}W#PC-mg6z>CY^?6>s4nq`=3-Gw8`2%qVX+N`0_atj0|*`eS54SN|9Jby{MN2!{7P3$=Rig99qN?)+A z-NmO)FEX(6^QiBq-Ls=-y*Q6X-rJsmgYG!?a)#?{syR2mcuop)5@ssV14X1~YmvC~Q-k2dEfZHn=Bnhb z9-^}D}>BnJ|Z|*U+qPtYRLTKyL#n2 zzKykMDzpmrFCT8y`L+|)T?g8g{Tbg~dqiJ72EtFASYM_#)#CEpVnqC9r#ill#$HO< z&j+{0mS(hH^KGvx-;^)w)bHR@JzI4kEP18gfaz1(scotC%eO3-Q!H1u8pzXI*ZO-_ zcI?-PF43-~`;;;o++<=lcPL!^d`)lV+w{(r4J}{){neem-^Pp|f4`*S(v#ysfn}Qs zDeAF!GC|lD9D9mvOA4GIl-eThaeA20-sZ^NvA!l-(!Csq9;rI!V#4u=u^7Ab%mk;# zLak*sTc>Z`?y%)a{fU{E=3W2wbH)mvoQ|bk`&0WyeLt}NTY0kL&#f1NC#*nVxf75ORD|#Pcy+ly4~g|YS=OZ0WR{^YD}7#lhC)Vl zSLf8&JoDQDPd6X@XyJ8lTf~#Bsk0VXulQQ4<>$WLJ^PN9#MR=18^3%T{!-THdi&;O z0WBrEZ#@#slJ80`F>Sh;l(yOa!xg9ZpSCQJ^-!5ZF2G!vv~yxZf{epVHkDud74|gb zUWV;NnzA)v;lzmy|c9Q4UAAB7E z?3~f3^8Hp{pWcKOy)WFe{RV!l9LUT2>-MPr3hxmk{3;xMY8(~N5)B-;Ja?l)Q{_JM zs>>ZKp6Ar(_}6C-beb-G-jFf2+(YMp_^l7)a-W6>{GRu&M4Z~wFB1JcaU#iYTDs5I zvRpJuf|rjNF;JO6E8EvsTpFLm9IH-vJKtgdTE)#eeet=O>A#x1TYqp)DN2{^o#mmG zq>OIHNMOXBdl!6szi9Pry6|l9Bx%q^o<_*b+(L!dDI(I=V_}{sz<&KpBb07G2-7Q z`;Mm8L>b;}v=K=ADk&28&Dv*;mcPlV{w4AWZ+@0Pxt~1nV)tV$rRRMSzPFp!JB`jB z<&W0i`!yqEe-`WI*JaFc$bRBv7w6~t@W=R@`S-q#*_E<((Tx&7++b7zn-e@It$E2c z&eJ`NlLRucE4rP=*Jr5L82#4s*9pxvoagR4BkXZ|ewxkik87>>qnp#DHw?TcF6qbF6O8*toI3LT zy~66ECXF>+ej>r|2{jp)(UZ6(7`T|9`lxc!XO}ATGhZ@{?pBuAaB^qdb~pQe_}8+b!dhWG4?-GrXB_wBw z6uHVgn?e$QxvqW=r!#q->$*w zqD$_b)2dbU#gbCq%Ixp>BB%7|b@G6mi*jZ3%zFmDewl@?Dj757-If=(y4Bc31<~4@ z$K}k|UtY3u_&bNxB_OzaYT8 zT4|Y!USMI;fYvsv3qiImF=?YqE^ummJbL8*GSm{tfE-l`o%#9(yBZ2N@Hj!6{4slz z$H0@&yu>eR^N@)m*H~gzOQw4-xAiX z&hC$r&$%BrlyN=TQ@BU%NtyQH)L2d4x+8rpyUna+B~O+xQ0XWaLSEk?GJC)2H}`59 zuCLmK!*Z{Gyr0sYvFWd_w2xAjchzp?8J9XK36@Ob3j6?)+?K&k&zW}xw=Jrl%hhxp zwr{|p7A+hdl~>WH6ZK@<^9_zT07Z(_Prk_<0g{VSB7=KE3O6=8Ncq8oi!&P=-@fK* zaO1l4rc)b<7wM|WSvjQgID{V(*b$rk`F>OB5#>4QrU(50@=R z{ntuCXfyW>%r^{{8>Kbj$+Cv?FB_6%gqEK-JROg7Bo>I+tq&9~u7q39mkcU7nbYTf zDSb-PiFHnY#ajLJpR}FX>X&uA!D_XVI);z#=ycY+beyy=dS}TY`Yzc$`Qclt4?l7E zyRt+%H{5-bB$GDx-uK({#E7t+_Ec`dtjF&gNWg)Jk}1*~itUvIy1Phwn8ckt$FGBe z0#|z@U^vd_#JFY?>NA9gTjzb1>?>L7B%O5!fy&lrr?~N|vWloy?PnE#^;xYCD;T(E z^D(;Y!9|OKr@s$+8_l}%q*kK7&(gOjV+p>EQuAR6H%{K{)OD9mlbNo>8UG1Q%q!8B zS$m`&)~1;5uRhdvh>I;fxpP?bbe5^x5XLbI5#D2wPF14%pTbM}BX zDX5U}+}|rTXSe<;bgdPa>Uk{||9iOv$Zk2wscD+?7>cehth$icu=~wJD9O0(&|gI- z`*R%OZ$WLXDPba~FsJQz*LW1PiKTSEzc|yOCr|7`QsQyX$FqLF8VB?4UMxlQZ>xl! zlP`GH^;p-|z9_l&tgP)Q?w}M$s=pBzJugw*MZA)QOJ-3!*n1kpkH!vyi=$0uZS?H} z)7E>JIQs7R?cf*8_WqhtmSjE!aDmp)x|rs5THevuqNYVm$|Cla?`yKxNu_G6ZkXlQ zPna#uFPEcQK;9TU5=3kA49)rP+Gd`oVL#}w$M_97yoJoAD~Ahz#bPMCV^Q?u?tn$Z zz?ZF>t1?WhF5K0nX!(ahPzU*O19Fp2 zgL3{Z*q-*}6?1q_@jrw9k>s~HBwOWT2_m)fPzM4#w)9O7^1t#c(t zawxdII%XGfb9UV<$?tIQ$jWkpHk_Y9Gfm@ivd4?HuA6F8HF9nBrfb>PzTW%j`u!}G zx!fTN8xGbk^ttMlAza*07+2Fb=GRYHp?%pq}E4Z*dx1U4MT`~B)=(o3oTWrfs z!|5>{XOhH zjpGF>(1>6X$VpD0;BtT9r+IF4Uwcet*{pW)Fr?|Lx)AXYNq&;SG;YE2UwvXyX;xV` zI_yKeh~p`J=a}iD$noLm3o-? zM;;ZnqnnGYpD*SRCePJ(%=$Ddk)ZZdk<(~K%ONYZWH;PWRRa7LN${mFwVxbk^?a+6 zVBE~O8ZW1to8$LqrXjcPaQq&f!&g91U?XPyv zbI2t(%k;v2|6YvI+d$%>qCI1d8s8vPEY?xF+U7U>@X0dFlPqU`ox}9Qm=ENVy={pV zOfF%+WMp9k89NU#)((F?)J?`#7s%@uW*Toha3Tip_th-)NwthmN`eD*z=8JFA7C9w z9O-sR!N9&CETwN~`DLGyVA0OwUv?=8+S2d0nEA3ja~=krH`-%p%&j{+zN9V$2pZWR z)SNgmfpfKPyCIDViwmXeeyy3Bd+@=IcWvX=rm^b5$}~Alyn!deXE+=_XdZrdS2}F> z!AdF8YB|7_qU)|QhB)p^FZ@AuBurP6ApV-%V=phY}-)DqVsLb7f&bT&6D_{iK2qXBzoV; zRfZ=1V`~@Mt*_qa!}8P$o_tZrl1l~&8!LuML#MxM05@llp3k2|O&{NRPm#2k6?cDD zxJJjrZ04MaGoUQVT|}<--=uN7=qJ|@ zA@(ADGwENP{=Sx`k<^m4;DUF?n(*I#3aa5^>L?YGv&UEVv=CHDfx+9I#0rXO6k z6Q2}azW8s>-N=r$GEXh}+pG-Sr>#w~$huK$82Z#vG5kL}Ti`-?R?}cJxi-EIYZ{=rp9H~)$IrYn4P}m0+rHsMi z$akJ~`fa|4j>Hu1$bgMKlx@M!-{F}JE)bCdGuE{9kk^F@)9nlr+l|`r$!thC_i{q( zIs8fnUc%j21gXFBZNqI~)|LNbQXK&Q!7N_yEvvj0S0~w zEG+k;`v7&Edtl+=Iq9Ij*#aPrpkp+$A9=K?gZHb(aO9DgQAM9Zj4$+qMPrzZ6>kt3PY zuFCq0p1aIcnZDj`;Hmr<%gs^{^3>-;{8!aW@Kt6y9Ol0B>}1tZ7Q5qJ&%9En*eu~b zxQ924)np~~^?QDeCa>0YS(NXC?3u3D;-gyh(^)i;`bXJ9&isU<+QX#%>0RyhKrM4Q zHMdeTt*USSPeA^YPf9Y(OtVrGB0h9cgyYs9D%N@goZ%&$4HIAAt?OxpB^}`8R`=ie z*QU%SCF)fFds}v^>2Cs;s_}hOD!&9g>UbzB?UBH-3~I)O)E^#e|*Cfd}dDtgp#jJd_tadi>k7U)GH#G)$;Zcs_o#Fz`NMzCo*F`c5S(n(x zhf5fgAMcyRW%;fS%Y<-6R|kB8fE3^vd>;!FWxMbVnw6fEeAiDe%2wpA{=4c|M{(adCxU=mPN z%mhHF_*?EX=LOzhCC}7U;}%(pLGf_EZ_6E_H=s5G{HF zqU6q~c?HMJ6tP1YQ*;kTPb~iN$%(8a&%yYq5=9y(#V}*kQt0{G z(HCTG<>_*5t^dt(+n(O5hxOE1%Tfr#Ohmr{u_&@7XyEHjNrNF($kxu-k|!gs!w&Kx z{+xMVE_1cGaVPue*Tk3)kz8_T1J-e=(;J^}xzZiaUzLF(h}5l;*~H=IU}7`>dE0x| zv0=tHt(H>J7zaX2dWsCk`18=WIp-v7*GQLEnw^S?7|%wkvF|y^UH)fnp`(KFX@!`r z5AGg%3pyQPV)xwreJB?xX z-qL%m3)06f*L&k<)ftG`8gGFNX_|+218Lad?^zvIU`}4Lno@4F_y#`^@O{|U}5+(LfX8s zq`)X;{iX*Ht=-7hYqN>J$1#gfhc0o7D$o8~Q-rTyYC&Vf`K7`7Pyh1fdPh;`bb-ks zk(4-1Jv5u7JdxcdDKH9?gK^O|7=_<*XEk|Y=Oym=%MYi56n+MdxrTNEDN5|`7{)@u zwA6p32tR2*aApk<&%k5yV$tUfN`iixuLg~kIUnKxdC)KeW5kLTgBerPW1m(2@LWtM zbi>4kKVPjqfJK9jaOzackGu#P)E3j@!cSQphFG@|wcPJWN;pmQ;93DbGZtaH09V;hfpOU;L|2F~iZ zrN0OvEH31!7()JSJ4n0_-q)U4x1Z=vk}jy)^WkSJ`bFLuEWv_ugbO3Ien{PqYne5^ zc-#_3zY{j%Jj?(;gF$PXU7X@|ABx{QZG`5DSIZrasu(D>y*rTE_jdFMwklVZrpDvH z3W=l5NFsvz124j{=+Gy452FpuhVxbjq7 z7pOfVZO*bKen>)vIwn&Qf$1Px0Tma1-)PO@KMkanpf)!at zuN|26;SqUpjdjKAG(HQ{+x++mrnn*GAa3LU#gWhIs0#|6gTc$EyoxxC9%ZeVCw+!mOx!n%`Eg@+2XOmb>_!%ZtuY&j zy?FfT_jEbnU}(i{jRc>7M8UWiiby}AZ%ERB&VmB)#yQtOZBN{hR34c7oXqk6ehWgo zFTC0xT;K31R|DFNI^BPPwRvUN#!o;?z^LxH9**qk$&iIK6A@zxQDn6qfFu@! z&ca|4a5gu{H=p#VoK3^s>!e8CuL|dqRY##t!9CrHrTe4~T!cu)f|F?|Y(>Dua#&|d7czS{<%)CfJ+HG-XFqQ8I>eE-<(Ec>g=Lqgg9Q3aa;r+CG{36-J%a4xT4X@O#fL4 z+XMcg5_jsn4gqx*7qEu2AWcdNt-G2VRh{Ejw3`gNg0Uz_rAP~6ElOgsCD29^}dq;j5a3>jQ{}w_e;(m@p8x z>TEjiX~XuB82nhpa~GZ$)j%xP*C|J9!h|or6}=Kuz?W)1CaoCGTK+coa^aIHfdEdA4k z)Zm7X@JH*&%2h(r!f6Q=AQR4#c<%or(SafpGBvWrSb9m%DB2)q(s0XvIc_ILwP^CR zZVf`zg;z9rE4ET=p&)DT>6(S4)#y?A{E6Ry2+P>H@1c=+6^X@X!sv0{_qk{qe078i z8-5;`O(=2^=FPimFzq-gI{x-GxoKRkWZ~!Jja>b}by-6Pj6`(^a{C5+iGUcmp7{F8 zE>nM&(WYL|)DDsyUScvdlv+w3W|i*zrig$;d#h_+Z1i#tCvXo%PT z2?2DkVB^G-4@n78G!Hg@xMo_|G?ZVrPNzz{H-odxzlELObLDR{Z8xF|hyXto1*K z^)K;wDhb)4c{+dd4mikoNNdOzA}PqHQGSe)w`mrfoi#@`J2EHkplWM9dyuwb1~E@g zN1;%c=1}Jv8k=Yf5+0>P2OQUGXnh@nhEyzVnAjUCksg{HyeBPv-DLPkgNEW1I~d_x zx&5e+mlk(bw?2cRS|0FD;g*><{}{bRN$d;F%|DFa2h{CS0z4ENIL}vZVwD9 z9t@oAOOIYZu!8$iY_5LxamctN^9QcwF@lei%u@@15ShV!w)eaQIbr3o%3z5%nNsbxLxvbz5Yma1HvtAKd>_aeVqOtGs=v^4#)TlJy^+sk{Heu&&xiy!N zz+IFXo*E^yTU%1y`4}rzmhAK`ap#Ps3liEm!A74OzKX@yqU*(j{|>Rn=&oj~-~KDo zzTipSNw^k-ZQq!Aw~f=#@!88Jo|ca~Ap;vOj%w#H;pPsRlhTKC(M_f6q+81f_q{&N zvGo=9>JU=~{s0-A!-*B)^yVCL_1Ew5cw0UcLu>Bxw=^nc{B2F1*+CZSZN+MY8EeNe zaD1X9u&?FnI&lo@>)cfkBI$6CQ<5s}DPcM^)P=m^SyA;}UJ!Y>r##tcoq?#Y>`MKc z040GJC2zQAh5W)=e=Q6p!rCCqR)n=PsCCnIc98AG`&3c(-7X5K8jjo!~( z=3A3qgc|2iLY{Tb<`AxxV98=~xU)3Qw<+ZVM zBzZIrt{U~05QWH_$NC)Y%j%{P5_92Dh^XTQQ9rFiq};1sP*V6+ZHpQ;sX;ky)r9>@ zeFP;WEA|T9?f2aEn$0a3WD@auXK0={pXfT<_f4I8sr}6!&Xwf9wRqNx^a)Wm#t-}% zY4bd;nB|UR`zynZo1}aKtSZK7@w|gM1yrPUuYE+0khHL{S*=#D`m_hkZ!C3_{Mi8P z)phCqjzWGrR1eyQ#M#<`7$f`@ON9CK>M18$>Ei zrpyiM(){dsv&os?UzIR`H&l!$!%|3RxROAqSau-9*&*$jS?!1HG&w?kJkdB#&5iGb zvk=ntAFt1`*lM-d#r65H@V?%?IfM=gT<~?caN|UIG7OomX zgx~1Lni>OX{Z*-zP|d=Xgams#_J@H8=c)hY9tNYjtzL5dv@!aQz|&@9;c|fmjfsMy z$+$PCbsTqir{Hl1)($Bx9K$VG+6iAJHJ2N>5x46P@}=n z>Pb~06JjJO+TujL_4g1W8ZmI7BRUaJ7p%^V7lN`65R%d)4CD_%n2-J>=7LCArNvu! zwKm)zmbrwGuT=6@jfZu6zRIM1*^C64Q6)i`&-JUM$9d&-&Hc{Ed)miq^=-WaBO>3Z z97*DBycbLd{d}MqpO?za_dt%VxBSOS-x@Z-Z2;9-7}&YB<@lxZhC6jBpDStP6WpZ9Qb2V=k6RNNy5_T#oy`g0yq z%C}4)Oi%CYZ8;o47-(9Uge18^G%hIPf_F=REUP@*YJV&rH*MBBE+NwFtVfU{qvuJA zio2Q19ZRauML{lisWyd&o3q#$`(_HR)Or2N%##BWfgEL@AjBoOX2A)})d-A7Re8aa zM{TQ)R(eF{-NKm0O(@}fsHyRenwUfk2M_TNq8s4K`6uprM=D2#}M!1mSw(OeYRG@yP{Q%)g;4y#GXDV|T44v$I1KavPNJ80-x`@VNx zqangrjI)n)L3Ep4%b0(g^%Hb5k^@uh$TAft$iU5)be4qIsx*+G`@vOG9sY zgX2sDapJMECHYy%xFDKt<7RP)Dz&z`?zQdy4HR6j%eKRRspNW<tx;^pm z{z(W~bR(!B%pW-^OJNZkB$(Rmh^n{jpF7I%SRBkpSX}sm(ggbgCLoN3GR=;%*Ijb?*jpJh|p%?bP1qomdLY|$lmsg{a*?vLcba!fT93fOOwh& z{rf0-yF{&1y`;hF*^FlGq*`U>jbZ8wwYX+#hxm*M_V`DMoYK&Tc!>t)cC6y?t*DW~ zS4L&Qx+l=*%WjngmnKMPe28w_Bto^f;Z9RHOtmdar0f5cNWWZ~;7!P8(9M~o$G9e`nA2T!dLH~Y+Ri2iXN8IcxyK)ItR-NS(Qza z`I1C{)Q-IIUd*KwQ$J)&BOcwVBxj;Mw}Kw5BmEB%c{e07U%#3Tbp5<#2q$!WyzP!e z&AVXDqf~2XbU9DulH_woaqqiYpg z{x!#Jg3}};TYsn?hSITrE_!WWkcI{od3Ca_^wY!u7z(>u~Y zaO|DE6`#BE{c08bkgL+xKYm0dypozT6I^LjAO(bQj$T{@07d0^2tNze9EFe1j=Cob z8bg>xH2Y*i;wNi2cfR%;&6Oen_Na#5>2cAONL@TXZ&99?-%faMWA_*oq^96n!R@LQ zkW`r|TZA`Er!Dm`)?U4b5|Lh+sTi||RzZuU3tAQB9RI6=W)qUjn*G_s@~tf$XADx; zbII`KpibC5v(0xW3N?8a8tkA}FWdx9(_8Td>7sFzm5C%{SZXlP)ig@+dk!hx9osn1 zSN=4|d7~_e6Qk-ft0@#y=;2wx**OVt5?VvgqOSqZ1c(6>8Pj<$ux%x)^1C#&f9{UI z>l1Yg$yNP0A*HvF3YyhwD1`KSj5xFq*_#Mw&aBn^q|8K(=HjYlCXP;#?m5qkmPHimjf7muPuIQ39VLZ)Gi;=i+D=l7^e5>^+x8I5W(H9&z zruH&yv|%ksJ2)p2c}9;;(|KA+Af!55t?vM>4$!6$Pp8X*$MWSeZP@*;qyW^gvRZQ` zMHilG)8abmt#1;CgnClq@Onc*9FsAJc8`ugQ)0$p;nb%?p${mt8wULzg|x8nv!11q z8QN{fxx~5QlLlaCQm4ajx+{&?CAojZFl?{^ zd!9HL{so|ltD8~Fy4b3a8*vx>j7qpf{V@KYph{G*Qz%KnY$A?zvWnr%m`i;TDIKZa z?QX}!4tvh2Pj@BmRO~>X&6k?BsJ?as5~W3^UN=m24~@DkgkjeI*JOJ!iIC@1{UpV< zY-^?6BGiT>aTS+hWler9eDhmRQr%77sYwdmjt{R8*4;;4hXB401JnfM8czgq1Dzp; zM7P6HT0{j2xQ-9jK6R5M%)$^aqx~650+XcAwW)pW8M00pSCYtlbR|2Rhba)U=cQj{ zhG^XWf-o)gkE~hMy%)U^ee7n|(>4VvO`h-=z`YQ^urPc*HIw0V&>n3`Q8J?8TqAz} zV7I}?w+kV9*PmPhopUL9K2iMLd>E45ewF`|CB_4s3^KbVQ3Gh5XU2>% z==q8WT#x{rKX2KSXjs~?^$nZftX%OWgP?TZvcBg5?NJYZU0c~MKwqo@M(SQvb5BlMCCKvfnlq5)ED~Q^0Zs;D_x+)M^%IT@bLwr z5?dR8uQ(CpPX=obmgoh5wQF^G`0p1BYX1cTiMv^{!38VV z)ii%h*W$fG{`g2A{!;cbZ za&nKt)nAA@%kU@WWi?TfbNl=Ac8eb|3tSAN;(C{3Qe3P#(6L)0;nk;o>K-Y9BI z@^de5Jx#Mwo&8SC=8w{9s~uEjaef`O`#uLoqv#@a8)nMFh)5gz2xFTJDb1Y=>Y$TJzMn zjn9{?g&{lbGv?TsM&%>^e5L7M!|9@uU~}blU+VVvtttZBd8ussUHbB zc~)G+aF37!dk%_~O3tK(18)aw+iNnTx-cT0QWu93>Nt`UZ5vpu-w3tQyS&MHM^1$q zN)Yu6gjxMI5wYy8!%M5KD@b~J22qD>@CH?<0ek{ zW5CrHCMit^*YN%zdfG8z>eleF?k97!gI0_fp3(Ukc6Wbery3gm+>$^nd)Q6C?a`w!Ym{ZMc;i~mpl{Twa0Gb2!91j)_Y+32NHK)aZ1Lu zB(!}EqyB~5jb!D2IJN~29Kf=qXUd3e>l~8-2+2Oo?rbn2At5$7#3wTn&U710AP4vc zaWvYr3u(ThJuTt)kTduzla0g5h~pv~UD>H7|J z8ImLNKc6pm$Z*yFFC~Prq)r4f^iW1lPfbmw5Au&5es~D>LuY!y66J_o@Y<;;Bf)ZK zFjV%|cngl74JFP2a->ncVOL33UwtLrlVDyi2MhD97B>6V|M>Ai$X$e*vG4;Ln@F&|<(vJF{NK>dfi6>!&r(VPt7$a=r^0u0TN%edhhO zvs%2QK*c?rr`1_d{xoWNMOU_6-&e&YTPEXzvBB)6e_0d2A7$TdHdF{R#mU}Zw7LJ_ zdsVe;%0mh%<0L>OQ9X|a$<7#Fi%o7eE`>!ia0cNHttQsQlVfTdqzgh1C=xzB&Qla1 zH}hZGTDn+Z?5sdOf#JD)NVnbm$R5c}x#!yCmRs1UGKQROSY3kXopso4v4 zARimRgtV_;8gz-Une}paZ1jlQ(YxMu0Kr-)Y~oLu)DiPs9zO z*t$!jw*FwUDPx?u!W*H^lWnBab^v(pVVgQLXoE+%O*Rn*QRyj65&+iKlLr-O8(!0gtC zJLmH#V0mhx0?_df;LS6&AOEu%#oi@6>@^V@u@hU6dl?DzYs@Qb+}9L-o{@?Tp3-W3 z591kPZSiZr3;$L4%sgs9g7DYF0)Uj&t;uIvWoW<=fNce|SmMJ7P-_FuG<{Xpl@xT1 zs~X(Tic_bo%yqrnq4B4fkzHWHA&2RNc=4Ce=LYvEBEHVCKpCTS0C;b3pTb3S`2nDc zqf^*mEfR7x?j~&}i6^`0-_{}QMwt3Fb|SV^g;91+P}obG28uBYB!#l&ap%RcxmUXw z@)JFJ7TMeQ!vY1D!d}koP}HidZQjXUQ-B5MQ96&Z8ES_XZ+=u>yEy;P&b)e2UcQQ3 zen-_!abj|uF4vv>(K{pqn<35;*wm$PMso?h&szoOr#PYLg!@^1{>x8P1ipfG>>@TGGDGmW@XJ35A-ME&aHpDQ)Ep(Eegs{GQtZ=05 z%fV!=JbA#vSL1Di0=uyT2UWSGdeu~|(GDV6uYv{%A{RCNJ<{k8j7K6J1*=H5J-NkM zMi`wHTzZMZqh0V9{wSo5t!IoRc~S;1x=`EePQWLOqQY7^3c4HsEl<&@Bq`)gD2uvU zPWi)b0_xTuxAuD1j2udL!-|g4K}tpvIuE9=h19&2W4a=}i-h4&z6cVK__=#FVt zeN~!3mqcbNo%nO*i}oWFtQLjS%iYNd{Q-GvU_a|pW7&pz<+16wzn50ebbA^#E4+}# zdP+Foo)QrHJaUsaq=9?}8t1WbjyzrjxN(S0KENp7V;1cK%DjL9#AJKIs1lkYM2=!a z2^AeWE{N?fuD(a?I5eZxc2VUKil69MpSO|g@x&$izKSN`!`7tPj6p0=r?-@%zGP2* z9~S!z8+B|V-h!^*{wmrYYVzR{{$iHA)rjWXq7WN>c=Vxy?U{rAE(V&>$}efm=)6pK zCrq7=0kV*G#Bc0iRT||;!4*f6xY-ReIlaw}()?XujfybLCoa=dniO2dKvHx#X^9*y zrfEYLTg(O6l=u)kJ$8Ylx((|LXBN|89FX07gmY2?8&Fk)29DAv&Y6E3EW8Kj)ZY3>kh>{m!kMTD(-o;d(zZRK-Tb6Q{Qd*I zz!o~ku@OShtfLMu5pkm`32-BB5r@==z-MmI0wN%h&>D~4B&4$G&c|^mig!?nzWmVJ z6BOkowdG`%GMzn>WqJ;(aCVD@HOjgd==+-Cu+RY`9LW7h`w@a;2Wq)WKFjaIPMKnM z>CMd^0JfCPSQkIUMWiHTmXVvXsyPQf42{$t-9Yr1W|lnpKSpr|f% zC!mmL5b4UzaEh6ZMjsZobXFk8m|UdKxY5G~w7u_P)>0{R9qYcFh}#U`#>_diAy|xT zV24eg#`ebVu?Bma-OH9}08aKqn zS5plNCQvC2zs(O`-LmS%YzEEcTV&uxQsg8H%F^{mvAv5&aPo zgs^7-`0j&yNH2#`ufDSmPm&82ir&ZRp%HP`HYNZdQzSRoN77(x5~Ea=lz2;;rLrfP z{MVX;lS6g*me`v4z&pYp!*kffV56xaXt3=P_FNHd&afx0Tny$PSQ$qcwmZkuq2Tz= zVvG&&PLkNL7IGGy%p`r&G&v0Ue)I>ZRN5I`D02aIdy6$EOC`ztF?L9dd)r)<`a zNx(ru8Ft;>Yo!aO{Y2}4O)l(CJ^6@JKrHZjMBSFT2Ol{{osPBU2h;pyc>Nqe2sXan zv3aA++(8Z0_#puslUcDN32!DPkm$6JrRch%r2P@ku z5!*&Na88+4Hs@oL!bvl67Hj~{y%3`4tp?;=UMqs^O0=Mdsht3?PBG(cvLWlifeDh zO8al1WyM9*GQ-TT7q)Qz93fD82T^oU3RE!@!sw^=@;NlRv`)em1uU66Xy_RXY-sjL z(<`;U4YI_5ZlLIOUFETz(2U!S9&lC6nlEpW`Lhv8s8iAQ&6m{A;`q|p#$S}#xoqMa z`y-fh!T<$LpB@c&gld$TH*X;5Z-fDfbVxRyMm548k!}Nav4;z4?|Fj9sLuacTOCls z>Tf(6X7FhNE*`La$31|kru*dc@Rjbl6EN*AsEp~KnTWUlu{;ZKxM3u7|}4rtP#iiK3WQ%lYRICw*4JZ;&FlSvl3c*OHJ6iwe0M^rIL&ou*cc;EdG) zikGKYOb6{>C@{-##Boqun4C|X%eSU@Y2O$QQKwIcfJks&YbAZZ@R>3b0fg#ZyoH|L z33U%g5PAN3Fsc$cS}>EkJ6*~QOxi%)ln4)kEF5g6*%CE*z>V>QsULL`w}!n<6vYJ~ zD5zfnD>q=Bd_;ghXC3z515z^3;)!XYEkwmjyA-|DJE%Zi(*MS+O7Bv=HrmMtR*n)U zok6%wG$KXZ550)So2 zkDej6vj#)-SR-y{rT&}0)GLWF>)AO{|KLZ_U>88_ir^2zrtdx2gkNzS%l{I^0 z8b_U-q^|+7-e-9lYsw5`VWT#kSHPv_z-OBl&Y?=!*6R06a<@x+W?%cEYDMqm%WH2- zkkWlPboU&2m7Jx41$%}}4~!9W@v6lin#fF-S!IA0n1hX(k0M#z%4mV$aQK z80uYyE7Ch90|rErgXx9IDRhs!g3z6iW!V}_E5goVKNg3xNRGr;DSB6JN|P9D)eYI7 zD1jhl85;g;EPx7I5io<8EPp`;Fd5>_KNCNT5o&(q0yV7->`I+Sys~l3>_4FuMCcIV zfKx-+ITio2lbKD1X#=um?@NPK3@ef*Kjux@P_0Q$3$DwpUbR(>__OBy=_3)Z-ykde z>@@6*i8Lu@ZwBt5jp!%}4N1hbSdMl)YLFlrmx*NPzF`G#{hlcZ9E1w$?~O+gZAB_7 za`z+t)Ttwt{JaA}yu*39O{}d;%i5DSYjzkK&m(iE(2?1p5AiEO^GFFZhHPeV(y+cC zckfu!HK)QXgnKQ`#YDU=d={~Qh^QYEekk`gv3RC57w0aD;4>^Of{$rli|66fj0yNd zl-J6Vs5wvr?LH&fJdT4Bz&>hyBCfk0B-0mDn`r}5N+^Q^)gjco>^#~a`9j0!X#`l!v zWd$ylMGpvZ5-8;8G#-*Tn~4_+QYA%yWvHX2X-q#0+_uR62h%IqAuEjb^6!YV&YCiv z%UH6SUHdnt5YA!Wuh;aASH`MiR45EHhV_jvzlauN2|3Hi=?ruAJ;(RzAmgJ0_-6VsB# ziRz6VvJ7M<+|Mp-LpftI#mUv&Ruh~t)!PrAi(e@S`qpyBJcn50Sm23#e(2?g1WY+p?1xfbH% zE3?d+!Tb{AAkgCck=;k=pc$-H)#e6^H+!x?PBf*)LF8^?8IcBk&usR5er-6!PPyp3 z#w9|zu6e{x`W~kUbHKL0e!N12%p&` z?R!dQo(1tHOhB_d#gYw1;Y_>AB`H%bX z%Mkr}HY&Nse3G{8rpMuyu`*Z~nTl_EAZiE)_o^DB-)=sh`dy67VTa#xGv;jK#@*!% z(br{V=q%}8jht^xO|SP9U6q+S?*Yp}=oxxB#Cll4?qM5*4{xJ@KfRgU+kvE~j}Ql?>#@a@EioVz|~iS>bI-brE9l z+LgE_GFvUVd|UaeZ=)p1Zgu=Th+YWhk{r{o%Q~h&jXpIzUqK)oYpf@+60$E~GZ$a7 z49Q%yijAbaRkw!}eH++GcE2<|H5R22IJ0`Q>)s)qlsscR3bG2P;8x9uV-(vwc5!km#Ajz}{o zwWlV=y@sLVl8r%AJ?t4#l=|FqR|w_0-NT_=ol%LgcloL4m<->~5*{bjM0J>{RJ@bNUN#fCn1?N&D~O;j^(#AIzmC|s zLLMP`t|JQ{1z+|C!J8=b_(CwMQSdQV0dulsNhsmTxk#rNj#*7q{a<(R19`dcbw zYosGF+D;_-L#;&K&DYt}*#2SP?E$@~nm{h_h9(p=05S z)8VYVE!)9=@zr%Moi+t-U-gxx=+54SmL;uCGI~eVCjAaTW$t|n}#+7{e z(CM(tBf(+UgDoV5E4~{)Rh@azQEC)~M5+#yE_}; zVCe(bqJU-5)6i=M%tJT8jBW_X)pzuwZwJFaP7n(<7+_O95RcB_$4lRAK8rnsU|!eW zm$fu~;TZ5xLkood^#9q;FofO8D{-O2vm@Xp91>J9RNBP8z1Y-xvd`{j&56AzH3+bI zs-{iCz32^%y#m1k3L~gPmo|o2XF)kK?b&HWKKK}a>3qsPno-qbjc;5WtW~VpfSSis zMvm$Tp0=>mI~y`2CEli(u`ED=OY#paKsS^=vewI$Z<8Ai{8;W+Qfr%25j9CNi>~YS z*W7d!LI!qi_?^T56OvltDMPlgAFAiGl26T!kH+_0>Fk>%7z+A0-1z;c;Z%?#l{YR8 z8)HM6ctMNL->^v+98T-!VM(0*`OKI1XQ_=ZzI!eo8o?S@67Zg6f7TA#ceJJFS~$Iy zBzPj7D4UV9#;L|Uwo-!?@r2zZ8Xu=A)5@nR|dNXG-9BccEhs*)VGU6ux zf#fdGr|wIZm=mAWxzu>k2iMPk>JqB=^P=fZ46$ptYqyZR4epqj9`)I_u$;^67Lp6V zfmq)Z*!nG{t!(**StS4w2G;|8U+S25g~xZtclIB;z=bvnIdt5ifQEupTEB4W_yhw< zcjN2lUr4Ylxq9Nv+qS#uaOKZWLge(K94?>K-rct7Z*aKvN+W}TV*4}?kyAIwne4EEko3zF;(JDbVR*cRm$6F4Z56wMC`RV#WXgao2-oYKrvzK^t?9`|+m3Y9cz(Q({% zOTPqeqQZ)oLtemopb#qB5yo7kWYpn-?NN@a7kahbYK0%m+HZ%eM+-m&I~QmqedjgK z4m6>%TFoK;F<~1!JT>`HubU&Gom~U)aQ=v0NYt6Rj=klGVeiPu)^c?D_b89{G?6xl z0G~xCRYB@xeIzz#zc_^B2|Hmp#{YJZu%7{+t;bA!%_x$+vITo5eVv^lw&@&0n360t zt{nAe+A26iqu}6~`&yJx*kK|+LtcY;>hjcq&G%fNcD+52n)h&Pg=aV|T;|=P3cR9TkOf?Kl)*;0y})Pm=#?R+8dY4tm~&%``FXvm5ef5{B}en$E#%ZC58oK z!Ed-XHI<(oGI^Pm1jQ;m(TRNfh?c;-M_LmRF>U{xHA$^6d{B9?IfB_hz8hbLwa5Mk z{9VFKy3_t2o#Uxl%k9Pij0(-~ul~tl?z6cZ-s?q*lpbYW=`ij(^jC>GLZ-Faxxobn zU=ik&3r*!R9 zkFEuuK5%8G8O_NCe69gG+u|r?#Hh`wRfx%I2F}ra@!dznr7y)oCkftF%Y?n>(%Yn) zAne73jZ1Nx2C!=ih;>V|u@hT*>43*QJHz&0Othf*k$diV|+@v zNXbahkhvvKi{4o%j!5>bJ*9F#WNvs<#?IY2kmn+Mvi^_r=kHP5S=Bmeq~1Ifsjt<3 zv#1R-G7&Hq!7mz%1~3aS<|;`MxtExQ&uA;^K1kD1y1|E9*5!A|s3<;CewFw;efzI6 zWGKLsTi@ID{L0*1!8kgwz%s~@M~#%G`kVPMr@QHLqw=-}~pCNCeEcyfp5M*B!Xyw+XI& zk66ykvkD>Nv`C`Tvf7bqt1yw_;&98%(>-24=#5uc(2Nzc;NG65Oq>y{4*D?ft^JjN z)yqjzl)=bxm;8|sDg3K+#i3NAK%3#x_H(;3Trb~pzJDjqGN{&i#0eYf^064{l9~p0 z@awABP`oU)V0T7W;qPudN8HN?hWSh}l?`!|gVaG+^NKRE*`IQy84LkQA}Oje7A;{~ zZqRBl3KCH=1$q%g|H*92p!#!_I&`2z{Wfmh<=FZL2k~wTpL_%Yhd{{dZjwpEy-$AdBBislSeTO1tkPp_Ytp@{GpRLA_rO29qjUtvC zfJ@wpHjM>t*wr6@xjZ)s(U~sLjN%I$CgJVPDadyN^ad`~#RuN_04fzDP%p*Q#xycyQRVxdu(>3`PI<1 zDZTh?vp*78_iSeDZaKvag!^jhV26{Wp{{7-w!LODHYs5E>r9MC_Txi}ITrU-FawZICr_mTr=532D(z(h`bdJiH|IY76N6w3*SD`Qn`MW?kWTVxvu*7 zkuC&s8Tfe_a``OqkZXBl3p}p4JT`$rAQZR2e`g>`DYOts-XE%u6!pEvS1@K!^ZCSu z!+DDW%0iwPrKLyFWwWoX%@*ItXxZFY@4-eOwK$!h?mPfFt1A)ulZ{{xKLuen22%?598eynf~M$CJN6A%JV}{ps_+LCAXeZ@rM!@PFnn zPnv;1ncm*(;Du-RI-R(=))>v+k`E(Q3^6@eoitBap&n`@85u;n-WGDGXv5r+ZzS*# z+)9M%y@?JA=G$FoA=4S4pKhRPkA|^Rbwl-k&@`mdXdQ4_YK#y$dJz3OnW0}pbRIoA zaati*OdcAJADe=)d6IW)am2Df1Mq%%qmsHxd6f4$5;JD$(XVi3qXRYf%6A_b5?jA? ztL~5Xn>a4Fv6Tv~BTmR(m{;u-twQZl2X8^D2?XLNdIoY3BamkGBgi-k1Jo1o`TWgq zt+m@`>mL;45UWE4A(&W~!6M)vs9{-eyhOuh5;sH}`;?Y+aAbySa<+F5!;9eKa*mDC zICfuH*z^SS8~C?K6q$seYSxXfgl_`bEqD)GOpg3jH5Y5 z9wy+cgK@SW6JpUSD_ zmXrAXVKZ+}<26j0%*sw@YkB9fM34BICARit@A-hvIZ#MW1KKkivjppE%U#`)a=%?Q zL<4=Vx!dmb`P@kIz;V#+75(_3k} zsavXmeFb$C4b$mTc&u)=TD16TFwB<#vnzEiuE&!FoEEA+e`DhU?e3+bU=)5ZoZ(V! zcYAK`oWhAN^!*#W^&h3MykyqOt?Bbj9x~U{w**10OzTO#Jv05QHntCqb$~kZMPA%q z)$+xk9As_R##=bkr>5*Zl#ni8?NO|on2H?Eqg8TeWt|^wka3Dr;!`0lzLw2b4ndA8 zxT?q%_UXKafgX5}o>B-AWcXgWZV7e9EcbK-=bLjS!-l+`;V_3q@Q$=p^xo1?b8*Od z*(jLpto{vPQzUy|vN&kr@c@r%Tv9PKny)6jG?t>dA!?d9ZU8UYP+ z>MQbyBIWh^@+w`p;m(})YS-${M7jAaa`Ba|-_nv_6%AtVTTk$zOoZs+uS*ExQ+;Xs zM$~zLmY*&s7vu!3P#YkKbrPfLvG67yqU&7tg0(7j*NQzn(`4kV_)?Ot-7$NeLq!QK zOx^qv*gKJ@b4b+7FhM~5mYxcaSd6BHJ13<&h^EvIA#+lFaxk6bJD9W>mxApdMhwre6s@et!2}m1K1$=ud)KWFI()aa zF?JP~1{Nn3P8RT+70xR4#FIIM``}9l!Q`Qh++UeU^%bdj&@Em`a;NE#+Fk0GvMl+m z>ig5yTL);E*Xl+dFpDbJpEUI^H2Jyn3s?|a+|V*d;qAyO+})^a2X!7)xa1PV>QPlm z+`M>Ac=Os4LH~9L%3i-b!2oy6J3?Gk4+)8+a{)z!L@j2X4~#(h-oyvDq6~R0dG^+! zT}~?!VLWpxcEWaOi|eU&Vr#p-MV@PE4$xql)s078jNdz_4*Rh%qgDZoLrJj;%tdmk zXU$^#WbqJ_-2H=dCU>A+(*6{`HdgftB!l>=Qm`t;CmQ#(O6o54&`F5Z()Io?DH^Pv z{2qFlhD=_@jj^#WHjy@UFrk^}k)v|nDi+9;jEnPs04#1;Q*+KrPEcUn<)I3&8#gEV zmf8;b5WP}g*R{;x;koIgK}C79h&$3ucOZde?~kmF-MSJOw|7|7GO-M!$9WthNsE%3!cPg+_#lgP@QLkZE(ECke!@W%`|+-g4fyjTq`X zX+`3bU*fjn=n019p_QHz+cXCpOG1rmNYrT!pho$g~e{F?~fNO6ZW1y8+0lvi9~#@@h!hQh6Ad|`T0M>SDVsL z)w!ZRdW#0I1aM8C=X!VgYf0tw8At~j3AjGJ0b>=oa_@nj1zh%zPoMt{Le|57>jhN9 ze>=nfznvlX84%_!f7EStAQxfuX!Ddc>M>EK=76{W)JOtWmQ=}HoOlreX$u0yY-2@(@^`_PPPyA5{~Zi3l{<^e+3xX+vZqNhaS( z3lf%oo?@0l*C3F{5MWA-;|5Ve{_Gw-4@|4T_5VVCv8O$g*53^0%s|wSU`LG^uFp*% z_c{(Y)#u>?64!raUMHtMN!{}hrYV;jBMrXwD31~uUYdNj&yGC?xZnu*d=-`(;X@oR zFrun`koUzzrl=3_I&FTNLyGR z-d@Vi`eRrKGGNTh)0@;f){5!$ji0h~Ox?I=p0|EuTJ;FY>x}d9sJi? zmcMeBZ%n_vdkwdX@F|d^>)Ef#s~t3#q917rqenfZ{_t_0aN|hgz$I_}>r^tO(94yKXJzjeSMM$odMK{~r&J8Wql zC~9A;m}HP6Xp~Gu6c~Bd)FVwwj;b~<{BWure_;G~Ks^{}M#u(N1_WOqnInxHsF1XPY$ znZKe!`>*;4gCUwrlLq*cIo63-SSp<|Rafp;?r7fNmN8|2r*wEtxfT=IDX>y#>6Md2 zS=Bl}HRd$zdpYAUB8v8#qwpkM8XC2HG`^ANcf#u&VeYz21v=)(eV=U$87=^MqpBX* zEhV0f`qkf)SlbJ&xO2(wrR{p+YejVFAa|O70O^|%HW{&`l_8g)HBbDdA`q1$#{BJQ zJDFMNpRq#XUxA#{1memU^sRa?&-oqqBrS|A!&GOH>(O-6%IgpujnSPub2wfa=lu>s z(b#xpQ_Ne!SH$G;kYXjACymfaGkj+rm#9wFmW&L6!d0k}_hn-1O&--AuV9~+N+dw< zjMQXb0vO%B2iZtS8mO)gc($?gsj_asOmd;fUyyWy*;}&do6wGEe}%xSkT$lSKE1rl zd{*|%e{D8O8io4S*F<+#o67rc?o1k)9Uq6l&^|xk*;P>LX>?k3zu`4-@YXNxLHtD0 z6JeeAI{}_P$(x@IZIgiC5J1eU`}SJgMZ1^O*Q6%BZq|W&?$6Bi8p5ICZ1mq$@1FI; z%J)!L*(1hE+r*csOetWUc{Ea#p2@K~I^BqaEG*0QPOJ4#H}a4db?$=McrXOgnDak+ zc8gDNbucV=$aS}le~EYF?{~x+w&MEOz@_j4dgNM91>M?eH({W% zAbo=Q=sT0NMKAOL)-r8^w(8id{Q2Turh@vAF3jI_ zHKJ8Op;mJ0?Y4UI&@V?`E3n`|K54C-fi!OZO!$6CZ!051LsvgH`K`%(`AfoA&V7FW zjb??~-MJ2T$A^fN(+K;%1&q~^R7R6Wv!?;f`4K=PW_t-tN0Ny^D$bQU_0M*8phOY6 z|HF`!GdJxrh{V)aAC?aRL(;|^0@#Ldp=>323@bmOY>>n?DoXo(ycmPTg z!&_!2`{v)Cdx-#tNs;nk-O~yyfUXj{%`m*Kzm~n5fUaPw6+6{}gl5&31Ow}hLM-52 z)s+xJAO&n=Wok$EdD4JfN-7T}^+D?nR_yDZ1J1;7Zn1KNM-PAnl5JAy6+!Z^|MH2i zi=UQdxa6+UM6?DlpiRH1dm{`yBf~v;Qv-f+#*%PaAKn0LZ*YP~a18WF){>RhnE|xl zKB-2?ArXk-MwOeuilq2l{?eqfIjxe%-WnBgKaFAU9boTi1;Ee{7soCYF@!+s6xWfG z(4y=Cwm@N2CN2W-is>kDE|L`Y8LB9~<*=STZ__Q@VTar3MhCorIoS&XiwJN&njT%4 zRi&Fl`3{ke3JiHox#JClj^jxutwl7H*8wJ`_fOfw(6;e~DVolz+ zDeihhq2^ljAyDEjeX@hzE#OE`OBkROi2F<(ogNnYBQMNNGCVYt0i#%0KjpnNy!5RH zHCJuaMfY#j*bR87WGP@XppWdy&>LZh?sqiQD6m4@Q}Mmc3!jL0F5Y1-6m6qusfc#F zdvnAxV0+#Q6KU-QIxE@AvK6@I`=pcsz7CUJGpo)%hPK4+xvb>*k5z_d%>hz&S?1Y1 zn1(GJf+zql8?XedHoK{I8DulrE%S#IYd>Fy!U;27tfW7>&V74lv3qFv%Tz)In}lxM zS3{^D$xI^q0UN-e)}2$~l5K9@Rt*@B^YdfOElsQ(s6NuidgjyR@$4PL zv0l4vA#!@)t{bPjVzZ;1XCDvf6GJ$w%Z(@1wK4xveu{fo{!J8v$5-_J64jp8%UE#N zW%90P@)3Y>quE;f4nj#H212CY`gaOg*N|Gw2DYV$Q%;>MONa|-TnBtY@(QpQP^2^6 zd?wE=p=|c`$rg2x= zydMU$`jl>m?L9s@r4<(DK5*}s{zY=e&Kl!+_L=#k>r>viA!g=14d7&iJlO}nU{Mmq z3A#P{UdTgPpzTK>KED%QyEs$SGPFM;eJO`NR!c{WH9n(fZ{L#8gw1pO0nReym^rtK zu-XvFH;=T5+Sb&it`D(WB^*{xIMmmR;4_o+m1o_?CH=Nbrbg=o#caXqMK;0TC>1EN zHyYNJ|J+n=O`@ZZ@%#8OGRL`yekx6)%Ax4y`_318aaJxe#5P>u1rudDGxF73|QPkigLGnlk2SS>x?| zNId+1+F(%xAm`_Gfoub<*P%ZQ^ii_8@>8*+|2_=jV?Aeq@F8rY4~SLH8fI%iwmhB7 zC6_uvg|nmCSiAFQT=q~_;W-Jd{hqFi7<}ArC928oMZcB-n?XwesfWIVc<^N&Yyu+B zfO^R&-d^V{%Ij#!^kL=f0CJHg4fH{A1A16W5|i*ha?z>;Jih!GCv{kVBk z%8k0*yeFS?2d4M$BcVDLj09b#fOT}hI(BK$0&q=+m!SDnFy{K8OY3)~`=u+${F`J{ z+t08cW|EQL(eAj_+6kSkc3;4PT=JcAX{Hb6+3$Q}sXI}VIOc>1LDAXqt0(^;Xn)VAwPv_PJl?*L%QzR*0aXvg@t;-ohST3nH0$? zw~)CQ9hQ<2HuH=hy)l*3`LQ&(CkR+YF;MUV46PhlyH zl@qAA^w3a6J9>cVG#44D-}EMTerRY)K37ON+ostVkij96M*uNMWJOPg$nfuq4J>(Z z_NDE1n2(Yn%1$9X{it~P_nFOgC3#e?+4G;9L2)QyYtPuOcz;JW%*tN%xMAK zN1i9UKChDKiv-wBDH{V<<1B&Mk%MkGM5PQ;p0=$=kn)WX!`!BqtGKuGvy(l%`8@c6`k`pV7q#hDA zC^yIdFc8TPfBmD`p746qLbGc4tJO+LH4aP?e}d{*ND61T8O=7IfPZf2zo#$*$6`oL zlAa_2hJdb}v{LHf&i@e&iwwOzl!1^pYU!}l8hAyuwf0nwNCOB0k^JM78_Q@mrDE3f z1SJ!^_VIPnXzek=7NyXgtwh|w5D?XqR(LAtiSpQz=f~b|(QGxsO-(=>Stb zBIjfa*y2dRDz{CV-=*o47vhnN(@}i;MzN}00rSu00Rfqd_7UIR5T^1YvJ(P5-4Z>b zoqE9(L_nn~;4IkKH}t#Ei4q?{4j!$q38Z&0<1mDe$6!qZ-Q z<8%$?WxP7yRMOu|aylwNMqKVB0Qi{WPm$Ijs!0JpBpYJO-Ya7zwJ|pZfYmm3V9~|B zdyN5GALlHWu&R}zb~E|`$c!I2D?wC7Ui&WEZ1*396Bbd}lf;ks0Ki~TU}~CPI9fv- zFJ;hkr;7sK5U8Cl2<`xyATWJ_*Z90 zh@E>sUjZ})0zo=aY+~u=JuO?AuAauJV*($UGlQvgh18>!xi3mNF}2PaHdG0E`;3b6 z15CGr-RHD6Z;cLLFI^5N9`$-_(9*QV%6(5aGxYIIDTO1n?yT^9LY9|gcv1Z*rl)Gc zSG&#b9N=83K=%rP1Q^{^Qi#vV#^>qaCYxslUzd?sI{MZH_UDCJ-69#H-PCmSrC7s$ zw20q z@p)e}5$zVXlUzx>%{{**QN@-6JkvXFq8=MW7YG|fh(6fPjB6|URd|T42ZnA;yVqBd ziG*wgsC6um8&gHk1opP7TE3&FoEe9gNK~zP*x;WV@PFt=+1Gv9Tss+-!E5(g`R*<~ z8##Ag{@B(WZpc6TO{6F7)q!oXxw5!%vLIuyQ1--SfrXmlTH9FVwMFI@DBb*-|r>u)V=*QNVMiuiSzh zR0P-xt<63_P`%kaQm7xIyH4YS8MLr3N{I-7Igqt7R!!toX%M)a#tq@HN1}$Q zmslw{UXMSbprA>u-Fl7|VJ>H=;w;+pI_!wR;CGWLA_!2cS|YN4h-cz1l3^l15h z%K5Zcu~-%8YSd$?90ukWxH1(%CAi66uAmzk3gK5^dn@Jjd-D4bFK@TRc1h>u2lq3sqorTyNQh@P^jM z*@ob;1XQyY+EKQ)4uNyTt>NoCp#nAI7yXuO&Am$`rU<#VlUM;++{xRyM+ZfkKAo^* zeBP>djViQQx8r3}oRGu!io~{VS;w|t=9LmgPF0)}5sS^w#l!NCG^GyyaZ5?{Op2J} zqQ1EpfOC%IZD$1Xk1SB?qSjwLXdUu7JmzfP&5!pfJ^hGA+sdzc+p@~b_J5Dz|98{C@X>xZVh`+D^AOqza#9nrJh7SFpXc-#S?zy7dreUO+8CeY`I*C%#9o zM7^CMnpiPae6hEJZvSZBP-efkvg#oO(p$~8&uJ>~iX)V<{h@YkjW?J<>T)#}DybH4@HVf=tv@_P?xG57~!>tQ`0QCNE&YgD-_`h8b zZ)rMJgfBpq^rK-?Tmy=S$H_a{`S0>IVwF?HU-XAPlVR?{V?1}4HGOPjb8W1?d+&*U zw5g9!7HN@G*|j`=9Zv<;K|l|JLT8zh@$3KFZ-(9g-wf@O>C=0+D!scyt+uo^86{hl zIFQTL+R~g}DK~Pms_C=+tacna4;Udw4Ew+)#7_L!IC)3@40qd@-M&qRP$VlW#tHMb zdVvz?;#1kr1Zr;voqQKSl>Dd9W4|z5Np;oU(cVdasH)keoW8rCNqQupp}m#%%KinvkzGoE0FMF}orLs+g7Ij5 zAD!c!jMoX>kvmI>M_p0j&hENAdXc2GdKt5_yJe4=b?YT3xzzF9!Q-$o(a4iJM(Ul zWrkGSB-E_Af@doAPlMJ9h)k&RUIbtKG=@Kd1Tsen;4BqX4RM{ryj4&vVTY45BQ>Ab zc}vA)zSoD~T~EMn;+NrmP`4WvHLw`LXMwg`^z%Nq0&orMX$xBFmO-#jxKxIPTS2Bu zCBsx{Vo46QTG3sq;~G)4;Oj1kfbNbFVpl@{j6#p@UAbz*qr+HxJNgWbA2%=!%9SE@xiZSHH5sE>X8-CquyZ)x^8<@B}Ww@XneA>Uq$0nyIjTOVP(eDV}TWrZi`4u zNu5KV%pzR^cz@nq&WJ+nEegoLHQbkm#rEL;f;ltzt(a9dNSl*pAnU7T zN7UxEJwrOhGa8(CZg)A^cCQNYx{y_VIf~iK)bB2*sv->j2L{D&vEP4X;Ow+Sq(Wb# zNPnpsN21@CxAi^_BXx#Ta3)l)nC<5=wI1gvn!ASN{TI(bQZF>TI|l)z=~cfrD$W6t9_jbDn=&yC5(13s<*f( zVwZc&EL;WxSY9KymR-5}x|d^O%_nN|{lx^>URCnw-j9i0c~;Z>16=nK0{eG}U`Cn1 zaK56V&T$7*D%zMc56_>_Zd$mu(M{PNRvu#o&HI?}F zj9_s0&Oe)E3G2X9B0xg?=c|gs7s{8YsURsMZUYh2X78;h#`sTBp%mUe0lDkS{$?Po zdUcM&2d~|2l~?{Kk2_|}?j%=O8GN1BxUB@@3cPFZN|rwYJjqr)!c z@KUSE&m|V-`jq&b+P1^og@a;_>Ur;)yUT|1Uf_=G7a*{2<6O`!b%|=yjo#hNXEqZ8&j}D4s+08N(O|*ZgAfM zh#z*R*|vAUF)rXUzoRVo37hJib@A1CPKb+Qfd{AI^Cs1=$v?rf5lAD<7xEcIm7vI2 zkR5?|U08M?YcZ~dm9kaxNq8SPe_VCG!gqn1_C@3)%lN z#hS^Cd$Rx_Amh8}R*)j3mlgzu z*l2MGaG!5Cr(ZF*e1R_0;z~&Y@{CsNI~iax&^8=|fr#XM;mjdk%Bws8fF@tv+ex`E z%xTAl=&B|=^4C*GhFz_U0m_9k&|)i7nC8j6eI6U@C@^L-N#@GzH&?+93RcB6t?Ao7 ziM$3eTrjM);n=jO%`6#6{a-*ls=_qZ29i~0{zSVmQrkpdNF4Jt71{xrNxk=5R}T#? z$8aaac{*FY({|_ay_4f(%0#8tPqm4NIAb8qEK>eO z1)!QXk#|2$GfCz+&a|!wY9x-=BCqVbt{!{2;!du$H`)2deq8}kif~rx>c00zeeQul zCl950{G5R_1FKbSULX@R{7tZ5Fy?lU-iLSvVz zQ##9q!yB64ye-R=E!CX_3>_6?m}ZaP$pg!Qw!t72r2PIzjiN5@1S;qL)a8Qfrg__= zx)fSv8Lvj@^}zMUaz*eFI2NNFpG(dlzf!E$b?@TkMZz`iX!z#Yg6u=QI8He;E8Cdm zB~9b0L$;Y9?)J-XiYdgM&TX(T3IQV&;5WBUmHz-mAsovN)D##q-qq>6Q#12F~K27wQNe?4B+Y!(OphY*$rL#p{*7eq{O zOKq-C!Ndmf^7&1VaYReuJm6cb=5FYUNa@o;r7>j@@v zHLw`f>t^K%Q*e~OMP7T(0eV$n&S^mz(>30mjYYk+_#p7@IIh#6dYbR?oM&uUA{i6+ zZ%o#7>Q{xK&a~+iZbRNhsGlBpI#akEvva!0f@!}6fg$BD=^&4{YW_SExDCXFYv_Z= zWkrthr-Py;Lg45aZ|yMk5PMS+s)>og1F8HVbb68%7;WU@Z)BHLN}H3$U}VZUytTx$U)aL+^Jc+F?rY-+`sAFUc-Uk6d3`;Dp1R8{zb32gIhVD-@R3D=Jr z6A(x1s08rj84@6Rs)+aB=v0L{=a*c5orO@C7RkJwv7-+pxF>UiIHpzDKv+OPeQkyF zCQh3d3LACfGVj5ftPLk-C2e%U)r08MnE0#4@PcagQ$x!ikWW^%4;g{RPUD#jZz44a z6u|JCoO$eG2#W;j{h2?E6gfdDiWn58!sa=M>fq*Y#{bZ~oyo%N=%#ZnFdgWw({Ho`zBg;D0epuFX!EyS zlvoo@6ZHg{)642}9d-;mog~V>2eD76?I)01m4L413!sS_-~Gr5A7DwWY!dr5^YM9Q z$1R|%R^{vqc+o}9APT>0g;F+)h-wq>KV0V1kf)!++|m-sg>Fzp4kUW=ZiC}jD ziMX zWdD5^#4vs79thf4$fd6yBb8V{ZM9*)!?XM*Qjfj;_SgO^A|S(!R1ZO*K$GZ#Byr+y z6A!%aTwrG3!wFX)oHM&ug#JBLpKF{3(6(-UTZer46jyW0?73UaDu-DY*}@9H#}B1q zx1)Q;q755o0yE>JHUFBcYcDKo;=T|1=f+>B&R}RQ4ootZ;-U?!hG;h>t}dXzDo0kN zbAa45DE!s{-#d1&9ldt*f+~G?NU`3IH+|qOd$MrHr+!}eSj_N!=BHPqbQfGLJ2g2e z0Zo2It~~+Ik|7Gyi9ulKJXOAv9X%wR^HjdN{}$wNzgpaVei0>M`s(JeU2>&o-b%Ru zz}5MU?NE?d+D+H(wN=^e8p5uoC8u0ypLFg&#W(f4w|%&GNKb0w<=Xl?=CQ6$0kbsl zaxVKzG*vDb%z^8tsZZoyY`ol+GvhZdoQ0_B&Q=b(D?rbEDzc7B0)QX~siy|Kb(JFK z;rkQ^rE`J3V8`m1cY$*Z=bko4UT)w#Rm4Bv#(@}gc#zFvWz3Udjxw<>V?n3&Gl3dy z+&{Ho;`#?m&k~RBE4>8z=q51l^$UrS)$YGx4M-T6_+(TR;vziq<=nLTjA1x1 zGJ)kSk@2^Dmq1vE&BI?wcDSjhhHoL$z!xz6x8FW*SKSjF`+RB~s^2_CswG-)mAz%X zy7jWtAjWhpD6z0~i;HrQ>{f7A5L2VZ4>9kp_Q`+P0*O!16~zK6tg6{x;^O`Tj1w!+ zX*+(u`6q(QPHf$me6rCM`CFThKtzFw@BJIjHFn;F_yv0xi6V{PwyS=Pb=D)BdFo#Z zPhNw71MS()!4lKr{_nqw+uO$=20xlqFdGTpdLBUyq>jl^`U{6)z!b-0?gI2N6RMh; zWGET3aCLrp)>i?4aa!*97~^MP=+Fa4wg}r^r7F`q^}Y#m98cprb2|H3+Uv}hx!aAD zEO|XRb%9RCDXaEWz^YRp?TqLCp)tS&3G@5JZuKIo=MONy0(M? zlr`b@g!sWe+b9f}UvK!p@ z!SdH|f?K_aNn}BBWohWShA-y#?NTGeHhPu>rQeE8Jt0>#tJk1(5P`G_fsiQoqtSJy z56!>WY&o3;BG)r9>6c;kK3Nhbot?qC{IeJ(s&hw`%ej(z)}KF)c^dXe+|>h_Y($^- zWbq}Fj8sg)xB(a8t4=sg%~zQnV;fzOOturMA8nRAms%_hMo4(B+*`S645vLQBz!Yis7fBdxa0gB~=`s-Vc9wc}Hb`uExPhtQouf+( zLu)&sB6j}sl+(u}ypNDc*m6&cG}{j#U9=GRN(Cv)knSqvaD!}!{Z?ee)d+0Y&Yaky z>7L+i_@zSva<(th`+@^sf;V%a;j+G_C{uMT&Rs%_B(_YWBr{cDvinSndjxaVl#$=7A9aY_I^HhnN?l1>8h4tO#b@#>}2ZA!IBK~mP9Q+u7rv9q=^@I_5j3? zhOl`Mbr)CKs~uBWA15VKRjoLv##SxWHd51J`Dw(3MDvY^JVT2&?LU#o(O-&g63cVm z3-E$COO)XUbytg&Dv_WtQ<&3yX}IY;pJ?*p*y<+ht&0H8Mx#?trhd|!7oecvOM3Gy zV(0Vve#v(Lp24%^E))KVjqc#{Ms}|d~&k5)Zxs#PdDfs zkaT$rA$@i`l08*1tlj=4IGW?wU9HLwAN?Kv2sYYz_vsT}TDw2@py z{|r?46SzYHjpDS$8j$axC8`dastc28v+(_L%%!>Hrx8IKmX=m2H?3de4p`PO-TJp1 zriu)GhwOFuTMbm?eOh`hoAPAT#Zo;G7Q=qCTq^k(dDbkJ zW6#fZpAU_WV^BEhxT|QN((#r#4TY1O(%cfIz@#JBhj{DV9`MeaBkSpG&r?V2KAiuN zKAaLfrzl=$x(EIp5n#f1;2kor=8|OY8q2$VM73RfqS|0W4QHaE61R~0@NMTE3yrnY ztt2)43jR+n2Azoe9jD7m2`Xs6Z`a`0uNHu2$fepXj9g zIy(WVDN)06cMRsFgBs6X>?i)F!SC%swp{Q1)lu&B)yFK#(lgr?qyH)zeOPWpI>AX9I1sEh~IV zVMo85wyOp(U#oq`QMJ@aIngmdV2bRohI)An6I}h9I7d#^at&lUAa4Q2?LMH**!EuK z<>?k_)xYMfn+iR;pZ#HI|AKr@<@Yy0-7>Q85rVW?vgOvl>{(d;zOcl;Avujw#`jXo zY_8ENVrO%)jhWz>pvMF8Y7Nr!7UL=5XCk$=yejl7=UHQz1GFypQBI1D>z~$2e&Z~A z>(>JZeHpLVxXa8j&gGM7g*13KU5`TlJlpfTYRhkW@|23~^+tO*cs-g9K*v4+d+0g_ z(tb`_WV!0>5uu=J%FDN5A@BNl;Xt9O9}dnLE(1T_921Z~+<_|iaX#ULcsY+hY_1yk zHDQ#=yZDT2Eo!T_cC6`ZU0Ui*Q71;n2tE8auctYj?ah*he5+vADKhfG+v_}dB!GYS zDRU@jeXXsui~AsAXH(lFP6%wsHh|s<;&o*$b%+WRP-SGkI2ACDJajgyPfK0P{LHA5 z6LMIc5H&M$r#GOAZoMJk=*Skfa}GEm{%l%mpXIxi12sNYZWy|=ueEiY+&A49-+Q_2 z>-C6-ct`g;jBU;`Jp;1t6zHF6g&v(l6-%`o{))EeO@68kpl-FrnZIAXZ^jBR0kCl& zNKhMpocNUCYKMnrWT0L9(ly@xE_Hoxnc7}T$eMC7@9Wn!Y#glvf3l2c9+^m6yhD91 zkcRsa-PF5QiTKPcuUyCS6+h1eDAZW*qQmXe^#0k9OGP|1y}7wZxxf4B)VgRV!M;+& zGIF`Na&sGV=ZkrcU20VG6Pqmhl$IrlYb*dKf#8Sm)AvVv_cIsl>po`tOd%Q9=8tVl zx0m7!N5*Ue+<7DR=SKKxLLA2a20`(5HTKx2Z4%NPosR6iJ7)sN4wmcf@%HPpwosF8!_7~LsW)epqcp{x7z=$}CGeP-6B=c7mmA;-q6e5LwYL3n+6gA7 zy~#2s;z)i;MRl!!NUX;;Ar~a#Qk?Q27y7#M2# zU?RhUXZ!Q#Y7ZB`l*6CAi}D>JsxYSoob>g+Ic(wS^zmGL>I~zYDk(dBJ^a9Nc)RE@ z*g9u3=jCpb1FZgG{2itvSKk}OKx^2@=Ws-K!p?j$TjMV0zaRq-IjmpZ=_?Kj68pbv z+cQ6VPS>*dOj1(bfZe?Bt{S{9bqJ;t*GbA12{K&bYcEr!Z9g$NsdiHvlLiy|pE0)y zLso?A29S-DllZ9s=|ZjkO!QuBGL(2YG*opJ&4e`P)^ZluPsi%YC8?`Ogy5zuEKyHh zs^ZpKm;9G2iYLsZd!pvc#j9N=KeP??%hYQbt=D__RaP;Y5u&03wyNJHJcewjy{Z*Q zeY}pfk~-d~bR#6C2YU$`iioQ=nO(k$^)C6UYZ1Kp6PeOV6%~Fdr)4h}Hky5lhWl#i z1y28Uk)RaRam$!-#wYQ|MxDzPy%`gr9|RiR07g1l6?pGbh%x73jTz06vZIb^lt2I)h52I3SI9d5oU$J!ME*Z-0v@Q zbqd!Lhd1#Ba6b{LTz-s{D#&=p=G)e)*v(aHyZcfGo`^{l;2zEi&}`fDiFI|rJ=pCP zSemugY(D?+M^EtYcUC?xyFJ9{kg+bwmYXX!FB4@km{k5#_Qyqu&I@nIjE|myOrwsD z2a29anp`bF5QpPXsm>T$eX8&#Tcq22hC91J#Szb9Rb%gcmCljYKcfAPpn@; zPlO}kU}xAxlv&_*p93`2g5Z(?carH*){G^MkoFXZ1fw9+Lvtbq%k3MO!vTeQ6KwU^ zT&MVzJ};IF?FwVJrs*B%hvGCj)*Npzre;pGVY;8$qT4U>Q$|Z|M}He}qHs}E@%Ex+ ztjZ7ad$3P@610jiquF(NP0BrKr@?(41vQw}?*95N z<=P`OYNy=_Ewc86eOl&!o$@lnM@j{mmtLd&_jmT_hmL*6@Qn8}T*vI-B?>32_}JRF z2WuC-q~It2$Pl;p2B;LI)FY#?((*oLw(|e{(j`vYdm`>ls5!aogiY&RpVD{(EmmLN zROMQWkbyJV94BwB#tt`aHA#T2j@aFW6-l|r{k5tR>lHAJPnJk z=;uCMJrFlRXQa#Vys42uWV)+n=|8@zs8Xv*C-uOdI4AfaK$zd%^Paf*0c;1Mk^7Hrs4(Xb-9jl7cqbi^Zws^!-H2_P}FgyB}6F2rWWy1d|X_+JPn7XqvlAAZz`C$z_8%|7JRk*_!9=qe4ZUdwJ z7}rXg{thNNXXfkqRU^lQRQbA^v4|eZao)6d3&xiNWr*HZKGKBw{QyQYZkmX)*+wNc zX6}UchhJD|VqELpo;0{3HWV=Qq}d9Sx3{zUB+DrJZ?p{VVP4k zv?gW>K!bKZc(}4?TzTlbGMkK)>RzM|ea@QJ{=U&0C(~fA^DoyUQ3YT_#sWEz26Ea| zs$Wv|%x z>=78zE`~W<(Lu2(6gEe?wC^LAhF-VF3O@bGr!p54e(T~t#=CB!KIQNu&JkrO*4}s7 z@P6Nh{x8+#rxcc-U7ZTDDTllk7j|~ED#}N{<}ug)BFUnf{J_NVCoriJiS7=xS|7hH zrJ+4u7U!5rTpVhCzG0HXz#gLHKdxpnUpdfc4j)vX(Ry=7+c|E;`5)`{>kb7MIs9*4tp3TDBF1^VCb?-aSjRZUW8EbU$TA(2 zaj9|SKi84DhXYobp&@Pcv@s(&2u)8n2d1Vh7gmd>d3vPJF9v`8~(yz9-Zl=(hM*ACG&gQpv2YsE+0=o*N=x+p1BrI z#3y(G5;R^=0er12Kt;({|C$Gs_;@i!E${v9ph(YTQ8&}UlkR6+1Z(q!cR^>S?)}d) z^uDv~Np}{Ip}h{7A@CE5X#r>FMDLQ^>+N6G91je(-!(ust+FW?mn~cT5xeM7~>SZrk! z5D{dM*lI*kp{UG51Vu!I00F|7U^xncgd#Et0ShR~6p?ud0g*|jB0^*gGDU(AAV3mG z^4|Rh&pqef=X<_;|GdwA$R9y;XSw%UzqQtHuf5-uLm0ZzMqk`=*EyrCv*(Qc<>%nK z(fG(U;D14apLt&X)t~1vT4Qk&G&*-Q?D27@cEh)?E|94KVLax3`h`9D=W*sgy!{5z zpdQv5UpbdCmplVV)+ z(97|yen`8C3v8eWb|hk4?qbdQigecLg3!^nRSjpH_X%!2#;7PB_QzUW>#3N3AR2I+x5t|wDL!Ctcyk6??Jc6uujEVnd=KgF`t;9RC91ST^Y0FGHTWAV6 z2iP(Bf1Xg#TG-F%I#0N7qLME~vc*6AU|7k2IN z@TWIXU&QVdNzW{KY98b@n|OfTcxzg$>1kwQ8EN|HN@TW~<+0t{X40?MGw+6!Xwq8o zzTbzOx`^8zc2VZDuX}&_iUs^PFOLxq`tP3GzR{bQ}@nyIJ4vOkGLQhfKe!Q{l0pt`U=hSAXR&jlCXS#f;=ZX&IJ9CmYGf)J24lN7slFH4u z|I;$C;BlT3{G;J0yTxp5kNE%L9_L3#*@nX7vfCt(ykQJh8cYxrDwfCn(_0Z(<++nfYkv zu<2;N3B$(g<2jipO&Vdzy)?We(5Kg^kP-o#^i?r7^)8`n$iIZi z^LtusZR+wdR{P1N_hAy-|8e)p)ukXm0cSeyKs(dB2798Gnt{3TWy;`ADlGqw@qi*) z81QE>Dxi&cDAuSI)#o_!N2-mnrLixmNrP|V`L4N!rK}zR;$k1^D?1Ngsq6tq^$kB6 z?Z+crr{JR*X4b2(<~;{n{MHY|$EUf$Qt>jIv)+cR^_8g|QeQS}xyWklofvHUnlW_# zVW)bUN?KL-uX`N_a?c0QQ`D`>^_GF~*_0-P)=rDp5!a97=Q)YAx@Rs81FL-DrJ5vD zWl8v8rvY~mmfz6#xa0L)2lYE0#lq#moc3kmxxfT81noud*tWb_Ti2fa)&N~}rR(iW zC;5BbZSU?+tc$-!V6&pW$};yBJ7>LCIzKlkczRp?;AWipawt_MTpoB?Z!NGT%=JR5*6? zLaGaCXYk%vM-$#H7q~=JKl%O@5K6t^EdFc$y`2@oMOC%OE7NDL#lTF>(I0kSM35RG zc&_hz$us{tUA9TM%Y6cU^h#C@IDh8&|Do zo4T;;`6-z<%29L5rqyRWNe~<286?3XHIIv|#t*7YnY-)SBj$PP%DOAzIn+`TQm~Gtrp_JUs;R;ZXs<1@qhQ zFP|^XdQe^lyjSiY{9(9^|)|=lra8 z>Q5VE?@))kI8Swt$@UqWp(C%ITuu?&kj{0$O6-xQ^hE~KJ|7B-* z<=J0hnbGhY0{Pxgf5evSzrIe8T5jrHZb~eh27{R@kBaI#&%5*Po}U!vW@~HN_2*xbElm0&7nQPke_(SK z98NbgH{AqW4qM7S9B7dezg>b1QT-E$=Qdz<~GsEK4S9-Jv4?STvN@BK$YUhRHCHHY%x)1E`?*&X5 z7*AD%kFd%tdYDZ0p|;>(aw;mrU+K!olA)gHUsWjfX@A`Qg?UM&=*vfbf#p}G_cYBv zrEgCYx8{BJDXYU}EU!ZkZc+~EeYfMG&EI~HHc#6xe+Gj=eBz3ey;4Qlbbe%Di67+p z$nDGnPpiL{`{re4q@7NSj><2H6vBr-kJ`mMdW4K~7;hBL-8h8(Db~U5VPW$7hxW{b zn(~$GBWI3Av@T!WuBV;36D@;1A-(3FiW#@ij@T`;?Sr=VABb(+c2)%ZB6F|+_rl>4 z2DLZ#!py#n``9s>w4GJ{T`Q-4r_Q&>`GVpdR;P7%r*+gO`1GJXiqkV8pl@B2sTY{N^$=;+b4nmb?| z3${m4J-zCftbey3(Xf)Snxt=zGjAzkhj#g$%a!l5ol-(2U?ppd{(>(YZjLA7jp~Eu zw6Kz@LmeZ?Omt{iO-13Z89%!L%S^F|Hi?pcX6kp~uxAedPy~a!JlbSl+u3V|!a1YE z{cFPY4$DK-+lM+FXLR!94YJQV%)h<>ukyGOVAC5#;uALBVMeA2ekGlPropwzM7)z+ z=Toe`ja4yr%5lo2+SbUYIfgDN?jkaJd|q;DY&)`mCiAsE#dE>nmDPtq0{hPY49H02bq?>0JKDs|Ji zly=bcw4_IEzaF?`GCm5s;Mj5j&E1odBac!uWS6Z4m0^v&YdNf^$BO6Fk|k90Zc2}q zzdj3e$N2=`uaoHYYED_ePx8m89q*0OFeeP{9jv!wgZI-q)U2wbRhC0aybi!hJXezSN@wDCD!s;Y$TEN~kGP1sH{>%K~pF9cP=#bp8Nu3DV(+ zyF0{Nh*^1Qrwmo4(h|Dmy1YY2Pr|c+oiCamzS?DNIeoLg+Nhw|#CU9<#m-hptMt*e zy|E+tIc)|pqiYSYy+xy)1BX3%!ZnVcq^f;~jQj=Mp6+!3YQGM{y}=0wL0^Fn-qqD0 zYc1l(l)+p+*9WppQ4*^50So5Ia^ms&%Gk@*pU=2C&$yXDsb?h8i$qZ3ECGc_qzsX| z)?4}&^Bmt-J3RxY>Hb)i4onm1{vzKs4cna%Rnn^mraTTm{Tz{EBe7I2V9m%I*axh1 zzm1D(odcFBjL4}e%pn48c+PvlP%;7PMg#>@Dr#*NjXNxJvyYOaFhpGZ886T>|FuWw zWy>sjUT|fp%K@NhF)$5;){8)OJb~q4V5&J}#mv+!K4DmYNpts&V;5qBV+=uSiK?+0 z*Z&wzuRFGYJ7W+7oN<;p+1uTo8-Ta4)2z-X20Q1rNf;cBpRimY52YQ=j z?oBN$6jZ;;y>4r@y>#C*t4EeIpvwqqXd%c7L>%L&N35hBM}T4`OD0?%Owu0+Atn2jx3LCkU1lZ)g&ouhYK<~nL%A)k8oR4$7P?Jy`# z2`Ki9QCU9YDT+@FxM^HOO1BM%Fr?;3v?kR~POs0IruU&-G}Nbl2L6RgP+B(Mczg$_ zqX&-tb)d_W1x^oI3)>*bHsvLf+;g0Pm#fK6qxR2+UF-Aq6ah-q7u#7AJq+Qyeerz4 z6>nqXvDCvC+>&zTOIpq%lus_hkPx8g5&c30^-i7vD!J2`ebxZrJV%N0GQ*E9_ zyR|-nQ%dnk!Pj6mf6<8a8bJzd`7aKsps5~dcS5=3x!-;eo*bHsVU;MJ0dGO7{58^~ zcW6S+bF8~H94Jpbu8@b&sJtT?-1GZZ03Eq!O?SZeo0H!G56pN^G5UPkthk$3LH>npwnX1+TRS2{#l?t2t# zI25ZJrZZ@;FW@q;O~AvqhRF#BW9kOSj(~JDeh{8SoR#EKc__WZz^{z?iIfCfoyK_D zSom_X?ks9Q08?Oz+W}y2)0ba=i+ECk560okAq~@nnC?0S6O&;Bg>o=uk3?5zQ$s3& zy}D*4a@{|G;J+`BtoaLL`j<}wZ(JZHgHT3(bUxC~MYUO1%ddc_G_4Xi6fW|w&Ee>} zfB{bnCFua~o;me+^9qZWqKw@)?jB~UTubOyY*zBBoM(g8nZ&@tPez)9hIW`Kl}lwQ z)r8~2A#8u!{_UkhEmrn3Zl~X>#$=bzmKy`KCe(Q#5I3LD>4YI~D+7Dgn$i$K@9f%5 z`{P0?(>y<)sFoM4L~gcrQG! zV(mG65&Bj`OxzX|xM)SomQBZ_4?oHyx@bt`hmx!|HhGFZly3E|`+84Ep z{L+AbN%Wf0?48>I5kf{*?gk~%U>BP=HfvN8b}HLxddwqu{^L@A^Si72Cj8U#pI_=W zKq-rFz|o1{$+-_)=I>qTDg#-63*f#zef_ODq(onJ_ehWE$(lke=$h9?v#;F_kA^#a zocwWRXvqOr?~7;A)z(`}Ju&j+!|IV9#6DN&RtFq*Z1(m(SS3e6C_!9YG$Jbm*vHBj zUGaDC@7M3H=y`T`61u2E3|0f=sf{*lvm2<63%A3JNU9u*N7oC%BHuRatco*+<1N+$ zytKP4^HQ6YDw!&mh_02>dx6x39@sR6b>z>;+foLwY1)^WO_QF9)ss-14mrEi&5-bW zY}w!@cM?scz>8xRvN|N*T?wTG179>aK4&1LYbUB5X6qfP4E ziX+f)^l_vR=?voJU`F@Fryj(D{1`WL2~_>1+fuOV!giS$?LxeKy;hk&Uk-R`K$)}$ z_j(=nxX3Wr4Cw%K@ZBwSqhmU-D~cXEu(q;%W5b~)VyA9eZAMAwEUjJ74E%_kv;INKR@j z%&&==*6oRBF3%Pk$}^UZ&#-NitMirmf|%ot<-$?#-lHg>zP_J;`U)R9 z$gQf+A+-E_RFq# zv&7NEvsA;I7FcsZr6|_;(!e4ahmqfP z@AAPrJFVbg#evDT8V9Cy%5s3xh3PTf9`zX$tdlJA`g@PZA1XFjE~uKYI?lD^tF<~5_0Eg4C3YB z+*14yrUgfR2_@c1Ye0o~;YyAiKMUjEc{g32r4ToCZX4y~3!>k?>2t>jhUCmR_Dy+q z@T1u01xh5vwI0w9uA5~)M<1&@@_}j;_HwMYpI8C!s-;f@=)Ggm_5|)pfoABr8y2pZ zz3GD&e?S+?Tb`bZPDk+Lc&jHI&@LphV`)9HS^{(_BygO+3$5^YYUj~~M z9S^sxh>%|`Lco0!jqc?MyK3XqE3JvC7nUbjv~}qOB`Tqa(7UkeJuj~4$YO~brauEQ zIIQI#h^xP>_Pp)>xo2%6E^aMJowi2Q$gVz+HJnN3k1Soy$=`D=(`?(F*wC@LH_{lw zQPYHMN~a))SKg}JWG3X7^;>Bu2jguIXLd7lEcacEZPrM3E1m;gbj$(dtD`fplE5V; ziWU|~A0yKRp*ErVg{#1YG$p=5*j|j4Okm$A7>drZ5t9f#<9DQDLYV|wwz*4aVjI6% zC)M^073rXiq(%op^iBkOrjJ}GPpRLsJKOk$v<0JsT`nvgH1ZT+%@VK@stkFS<4RBO z;D`MqwZqg(gDTG=(3r{xd|3;fxVBk8&k0xmzlA$AA(R*l2)?pzOt|i zTVv8xpKqo)J6nUfT;g|E8G@e3%T2q2|PX}6G-wI40mI#W}j6Z0t7FA zl@_m`w==7e_h!s~4*52=X?pqUrTs+USh2xZHlqmAy@*g2LUADPQ5=yOkqazN1HSdr z430?W=hu_`IYaae45W1}NP83?I8fjj$*W?jCHK`G&);j|zWVWa+@WBTcsJQq9ttw_ zGdGZ4D&CFkWiE{D8>1epB9w>bxJ}9efuKPQEKq!bfK&oRZe)LwTs%?VedlGK?4=ms z2p&!fohdynv;Oj>b{ZYelM|Rhp-mPh^tr59>)f{9`kJG4INajZQbOLOn+{0$h_OM$ zV!KpPTf5Bo*CWIB-bE+OtDonbAV*o8G3q%(nqtw}Q}X>vZ!I4q4|hbKGn8%h_p2X3 z(o`=A_~k-M`4~y?F_P4XCzsyc2iB5VZol(U}GZB7=RL32>rhV;tKCQ3-krL z1B-qe)d4DS5i{^3Cz?6lM)-|2bS8ZRmlmQN>lsgs>R?XqKP$>&);(Do`AwCy^^{mg zD^&jSu&3ZMXe3vyq9i3TU+x(xpfn0R1+}DXMl09@233PqBT{-(7Bc;f*pFf*Nx^X9 z3DxzY+-`-i#QX<-kM@eW1#6#cozzWhb`?r^3LJp5yd=1j2?X3r8iu@K3F4BoGkD9& zNJlj7416k04H3vOS|Lym%J4#($krLRLIrNX3w^5`jne=*(|z3H>U_oRJ;-4}WA>1W zp&%V6#zD`r$N{(_*!iLX;ot^Wt&3}Yuvt^Av{yydc8}VD-XhmMbue7i{1sD!xaHi( z$TV6M5ccNw+CsT-sjgf&-(_=;gArdKbG*w%f`Z`wY~y}|&K(;Lgw?ersIf6}nhvTPz0}8qH=gz5yRTC34RW8Vk}E;g)no zj+}MdoYBSWqfiErTA7EF#rl{xGnD&Oq)}EgHN-2@2{HUTzn>~JU*}4b#I3b zQ|*$PpJ2@%3acNXN?A%4EyUF}ZRl@siv7tBb6`8acppqr1l?Fm$)$eEzv>pr>F`cz zI$!7ukVUXh0s+Z=(q9jN?QJuU5{5NHnZt<&Ltc%SCw0w5h5{q#uU8KDuAKr}TVw;U zai_w*MmRq}k2w{JXFhd=D;)PMT8vC{)^6>GdQ_8RZ8M%VH@XIEx98;;r#HJQ1W2s{ zmyk|a22pQAE|Ov+#;Ftw9d#XtpM=}Y{f@*Gw<0d77St&=xqbEOC$3qw;~kbU<9SNS z@s4TB>L8t>_|{;ZxMt&gxA*-#dx+a$58Yhdj$7L@bUXy|;KFD~)uBEM; zmW9+-ig7Tz7tpiLn7hqF;0;<2!Q0}Xod1MA27hofoiq&&O!m20In}U^{yVz6Pa5xQ zy$vjs@0P&C>G7vPAi$7Wdsw6Mbh`YAM<@^2#mA*?+cpIEvtVrO*Mjm3z2?27{yD%r z&m>Mflm{xz*O|%l;N7;|q>FhlUE~3_#E`?sL}%jyd~le>tD#kN^?M2~V8J~R@Z4mF zWu|C>)Wn>#y=s>sp9;ZL8M;4fmh&jbzQy&CbX3Q5W3GupUT>KSBe+`QlGF>$Wh`wS z7h1VCpx~%DB3D5kWPzR5qAVOvOs=7+oJ1v1?jac_hD@&Jbj?nbR);v-lw{2CES*e9 zR#B723XDPHl%({0N+@~PiGyD?Gd~%aC|`J4TtIr-^h$#zWin1S$)&$g;Bnqf&!*{jiHS-fmXdub08w)s<{~?Je19l@!yC=01;bU9(BM zl2i(&h=8ZtL)m?`Jmz9!T%(}8J6T`?bWs2lV*TN29;8(t_(S``{hh0=Xd?j)vukp; zQ)OKGz1oC&DE+MgsLEer`Iqn(xlC7{Dx?{(zr({>zJIzAY-;jKeLEQ?8rW5ir{Lh2 z{UWx0fEs-hU29N<3thZQA(Tq(QwP-i)(?mXsWm!((sSN2Y4?Qd;e*0TlNoe-%WGTEaChW7grP}PbcX|*w79f5A!_!JORtfoh5M&-5++^;=wIom2 zeZ`AcS%I;ctsp92o&FBduw$6dpwZpjw0`GTcnL}%KXRB54DY2mL}>?1M&aRt zENJJ9ycN*Y;XQAcXUj}v8ST1z+3~h>^cWSxCgD7#(X%#^f)5>S0*3w@emuLuef&Hw zzGfcv78SEl=u8ND6`*(6WOfP4IA~>QzRZ8AmUUrn67aWcN3`;FnE7V|_yT)K-e9ce z6S}O1TxVEC!1`c{YDJXltrxilCJ=7%^DX49t4TM$>4Xgv8)WLPOh}g9xifNIxS#L2G_o{CF6G%gltnv~T z@aK-w5Z{-!UKsonRKhq_p6>E91Y- zJGX~A(2+>^^r3XHyRX#Q3CXaTkq?lKwRARCPZ3L856WoykBp*3xLQQ0rPorBVK0a2 zivD_?pcXkk4cAW{pOfhu>CtVy`B+@tNKjCn0g1|xesA>%#Jxg5(PnR6iGS8SF~1uL zb~VHdY&U9(zjiMx+M2aaY7{sC${Vstc@O*sq*a{_b?EO-`gb{ief#~n+4*u|o)yo( zK1|O%=UnFvI67T1&1XBb^07q6sgamy`T00Ffkc4>f*b19a{`jaPQmaetRo40@PJR( z$BA&>+5zGHBMr*dAWLml*Fn`yQ;)C`#9mz04Sl7OW&UpV_>I0gmDrjvjy;6Ka8;G; z1qA{dPLy~BoJOub2ZF=E<7>7q1Yx}5m;h&kF>gKNo8V1$;t7ypH}))Ix%}0^q%oJb zC^OQnvZXj=HO~eaR3?AX^+^0J*??6SPeD#U*jmZe2U4i|pB;~$1tLwrcM#aRRPQG& zYxNO0NGZWBkA2cP^jSeK6&zNb`6`QRWuuPgbnD0Ff9f}nbg$V|Z5%Rvr@UCFtww|pi9heI0AfD?^g1C`9i-U&`GNLCyAOtar zGdAA1c9l%CKYAEm@P63oc5=j1#CTfo#D%Z8Y}08ugA^1o5a+}0{}>7Uz$LT;uLzF~ zhsVa2TQM9UI$E$wpJttiRi=5DD~t@`eabmz>h?E)t2FHV84RworLI)A5;E}uWw6De z4A0_nFiPO>9YHSxTQ}9a<+2S=Igs#e#ZTZbeU`$OoZy%4pPN4syTSinpz+I5_}2(Oz2$T&ZzFo8=O>n8g)&5<8$QR(vQIX5eVDw4j+Vng1w7K|Nq;tk0(j}+u-m= zU=)a6|FyCI9~e?tmC+@dp~>@Wz|rk1vNdDUdq<<^d%CX8DT8_ek+^pl`C#qbn?&of zgEfHBZ0`5L(2Ug~_TVCJat0qVKXcB1jBOC16eF*=-X0MzB!`tLdbcL2&n78KlUP!b zE?O0FAPphL9|FrKt#Gf-wG47+@D#|5V(@%|BE5oKX9{B+H?+oh=CL=Y&t|pQgb8W9 zR5Zj-A(c(Gk|j}=j^XcXN=o2-0YGdImvZWnbz{QbbZ8CToZ}mA+gx}@Y@J;zR1G&n z9|_MUKqKh2pY7>$lJUhAfn*#KdRwfB0w0bz4>q>e@A~8f(R3L+bk$igFW4@%4dr3F zON)c;bjXi{|Ab(L{ zy{lg+YQq;&9`UblML+e0t^e!m(szAfb~0bst~R`N0Iw|pTRPanfyfoMd|@jdh=8ya z6SrdGR!rQAiCY{AbjsS|iCa1Vp Date: Mon, 23 Nov 2020 16:53:16 -0500 Subject: [PATCH 3/4] use FileSearch to find cesium webpage --- .../web => data/web/cesium_default}/app.js | 22 +++++- .../web/cesium_default}/css/index.css | 0 .../cesium_default}/images/cesium_icon.png | Bin .../web/cesium_default}/index.html | 0 .../web/cesium_default}/js/jquery.min.js | 0 .../web/cesium_default}/js/model_map.js | 0 .../models/CesiumAir/0_Cesium_Air.png | Bin .../models/CesiumAir/1_Cesium_Air_Prop.png | Bin .../models/CesiumAir/Cesium_Air.dae | 0 .../models/CesiumAir/Cesium_Air.glb | Bin .../models/CesiumAir/Cesium_Air.gltf | 0 .../models/fortnite_radar/scene.bin | Bin .../models/fortnite_radar/scene.gltf | 0 .../textures/antene_baseColor.png | Bin .../textures/antene_metallicRoughness.png | Bin .../fortnite_radar/textures/antene_normal.png | Bin include/scrimmage/common/FileSearch.h | 2 + .../CesiumWebServer/CesiumWebServer.h | 2 +- .../CesiumWebServer/CesiumWebServer.xml | 2 +- src/common/FileSearch.cpp | 57 +++++++++++++++- .../CesiumWebServer/CesiumWebServer.cpp | 22 +++++- test/CMakeLists.txt | 1 + test/test_find_files.cpp | 63 ++++++++++++++++++ 23 files changed, 165 insertions(+), 6 deletions(-) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/app.js (87%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/css/index.css (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/images/cesium_icon.png (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/index.html (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/js/jquery.min.js (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/js/model_map.js (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/CesiumAir/0_Cesium_Air.png (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/CesiumAir/1_Cesium_Air_Prop.png (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/CesiumAir/Cesium_Air.dae (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/CesiumAir/Cesium_Air.glb (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/CesiumAir/Cesium_Air.gltf (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/fortnite_radar/scene.bin (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/fortnite_radar/scene.gltf (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/fortnite_radar/textures/antene_baseColor.png (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/fortnite_radar/textures/antene_metallicRoughness.png (100%) rename {src/plugins/interaction/CesiumWebServer/web => data/web/cesium_default}/models/fortnite_radar/textures/antene_normal.png (100%) create mode 100644 test/test_find_files.cpp diff --git a/src/plugins/interaction/CesiumWebServer/web/app.js b/data/web/cesium_default/app.js similarity index 87% rename from src/plugins/interaction/CesiumWebServer/web/app.js rename to data/web/cesium_default/app.js index d2907bdc14..ea6fdf30c6 100644 --- a/src/plugins/interaction/CesiumWebServer/web/app.js +++ b/data/web/cesium_default/app.js @@ -161,11 +161,12 @@ function callbackShape(data) { data.polyline.material[3], ) } else if (data.box) { - shape.position = new Cesium.Cartesian3.fromDegrees( + var position = new Cesium.Cartesian3.fromDegrees( data.position[0], data.position[1], data.position[2], ); + shape.position = position; shape.box = data.box; shape.box.material = new Cesium.Color( data.box.material[0], @@ -178,6 +179,25 @@ function callbackShape(data) { data.box.dimensions[1], data.box.dimensions[2], ); + + // transform orientation from enu-relative to ecef-relative + var quatEnuToBody = new Cesium.Quaternion( + data.orientation.x, + data.orientation.y, + data.orientation.z, + data.orientation.w, + ); + + // get quat from ECEF to ENU + var transformEnuToEcef = new Cesium.Transforms.eastNorthUpToFixedFrame(position); + const rotEnuToEcef = new Cesium.Matrix3(); + Cesium.Matrix4.getMatrix3(transformEnuToEcef, rotEnuToEcef); + var quatEnuToEcef = new Cesium.Quaternion.fromRotationMatrix(rotEnuToEcef) + + // compose quaternions + var quatEcefToBody = new Cesium.Quaternion() + Cesium.Quaternion.multiply(quatEnuToEcef, quatEnuToBody, quatEcefToBody) + shape.orientation = quatEcefToBody; } } diff --git a/src/plugins/interaction/CesiumWebServer/web/css/index.css b/data/web/cesium_default/css/index.css similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/css/index.css rename to data/web/cesium_default/css/index.css diff --git a/src/plugins/interaction/CesiumWebServer/web/images/cesium_icon.png b/data/web/cesium_default/images/cesium_icon.png similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/images/cesium_icon.png rename to data/web/cesium_default/images/cesium_icon.png diff --git a/src/plugins/interaction/CesiumWebServer/web/index.html b/data/web/cesium_default/index.html similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/index.html rename to data/web/cesium_default/index.html diff --git a/src/plugins/interaction/CesiumWebServer/web/js/jquery.min.js b/data/web/cesium_default/js/jquery.min.js similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/js/jquery.min.js rename to data/web/cesium_default/js/jquery.min.js diff --git a/src/plugins/interaction/CesiumWebServer/web/js/model_map.js b/data/web/cesium_default/js/model_map.js similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/js/model_map.js rename to data/web/cesium_default/js/model_map.js diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/0_Cesium_Air.png b/data/web/cesium_default/models/CesiumAir/0_Cesium_Air.png similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/0_Cesium_Air.png rename to data/web/cesium_default/models/CesiumAir/0_Cesium_Air.png diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/1_Cesium_Air_Prop.png b/data/web/cesium_default/models/CesiumAir/1_Cesium_Air_Prop.png similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/1_Cesium_Air_Prop.png rename to data/web/cesium_default/models/CesiumAir/1_Cesium_Air_Prop.png diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.dae b/data/web/cesium_default/models/CesiumAir/Cesium_Air.dae similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.dae rename to data/web/cesium_default/models/CesiumAir/Cesium_Air.dae diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.glb b/data/web/cesium_default/models/CesiumAir/Cesium_Air.glb similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.glb rename to data/web/cesium_default/models/CesiumAir/Cesium_Air.glb diff --git a/src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.gltf b/data/web/cesium_default/models/CesiumAir/Cesium_Air.gltf similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/CesiumAir/Cesium_Air.gltf rename to data/web/cesium_default/models/CesiumAir/Cesium_Air.gltf diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.bin b/data/web/cesium_default/models/fortnite_radar/scene.bin similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.bin rename to data/web/cesium_default/models/fortnite_radar/scene.bin diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.gltf b/data/web/cesium_default/models/fortnite_radar/scene.gltf similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/scene.gltf rename to data/web/cesium_default/models/fortnite_radar/scene.gltf diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_baseColor.png b/data/web/cesium_default/models/fortnite_radar/textures/antene_baseColor.png similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_baseColor.png rename to data/web/cesium_default/models/fortnite_radar/textures/antene_baseColor.png diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_metallicRoughness.png b/data/web/cesium_default/models/fortnite_radar/textures/antene_metallicRoughness.png similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_metallicRoughness.png rename to data/web/cesium_default/models/fortnite_radar/textures/antene_metallicRoughness.png diff --git a/src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_normal.png b/data/web/cesium_default/models/fortnite_radar/textures/antene_normal.png similarity index 100% rename from src/plugins/interaction/CesiumWebServer/web/models/fortnite_radar/textures/antene_normal.png rename to data/web/cesium_default/models/fortnite_radar/textures/antene_normal.png diff --git a/include/scrimmage/common/FileSearch.h b/include/scrimmage/common/FileSearch.h index 6707c8411c..460becedc4 100644 --- a/include/scrimmage/common/FileSearch.h +++ b/include/scrimmage/common/FileSearch.h @@ -62,6 +62,8 @@ class FileSearch { void find_files(std::string env_var, const std::string &ext, std::unordered_map> &out, bool verbose = false); + bool find_dir(const std::string &dirname, + const std::string &env_var, std::string &result, bool verbose = false); protected: // cache_[env_var][ext][filename] = list of full paths to files with that filename diff --git a/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h index a158a952c7..2ff848b14a 100644 --- a/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h +++ b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.h @@ -69,7 +69,7 @@ class CesiumWebServer : public scrimmage::EntityInteraction { std::shared_ptr server_; std::shared_ptr serve_thread_; std::shared_ptr ws_handler_; - std::string web_src_dir_; + std::string web_src_dir_path_; int web_host_port_; void serve_blocking(); void subShapes(scrimmage::MessagePtr &msg); diff --git a/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml index 6cdd2ffb25..4629c4c057 100644 --- a/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml +++ b/include/scrimmage/plugins/interaction/CesiumWebServer/CesiumWebServer.xml @@ -4,5 +4,5 @@ CesiumWebServer_plugin 127.0.0.1 9090 - /home/crichardson8/gtri_repos/scrimmage/src/plugins/interaction/CesiumWebServer/web + cesium_default diff --git a/src/common/FileSearch.cpp b/src/common/FileSearch.cpp index 192a69a633..180dd8ed27 100644 --- a/src/common/FileSearch.cpp +++ b/src/common/FileSearch.cpp @@ -216,7 +216,12 @@ void FileSearch::find_files(std::string env_var, const std::string &ext, while (it != endit) { fs::path path = it->path(); - if (fs::is_regular_file(*it) && path.extension() == ext) { + if (fs::is_directory(*it) && ext == "/") { + std::string fname = path.filename().string(); + std::string full_path = fs::absolute(path).string(); + dbg(std::string(" ") + fname); + ext_it->second[fname].push_back(full_path); + } else if (fs::is_regular_file(*it) && path.extension() == ext) { std::string fname = path.filename().string(); std::string full_path = fs::absolute(path).string(); dbg(std::string(" ") + fname); @@ -233,4 +238,54 @@ void FileSearch::find_files(std::string env_var, const std::string &ext, return; } +bool FileSearch::find_dir(const std::string &search, + const std::string &env_var, std::string &result, + bool verbose) { + // Find the xml file. + // Search order: + // 1. search could be the full path + // 2. search could be just the name of the plugin (e.g., QuadTest_plugin) + // a. Is the file located in the plugin path environment variable? + std::string search_filename = search; + + auto dbg = [&](std::string msg) { + if (verbose) std::cout << "find_file: " << msg << std::endl; + }; + dbg(std::string("looking for ") + search_filename); + + std::list filenames; + if (!fs::exists(search)) { + // files[search_filename] = list of full paths + dbg(std::string("not an absolute path, checking recursively in ") + + env_var); + std::unordered_map> files; + find_files(env_var, "/", files, verbose); + filenames = files[search_filename]; + } else { + filenames.push_back(search); + } + + if (filenames.empty()) { + dbg(std::string("Failed to find xml filename: ") + search); + return false; + } + + // Use the last XML file that was found + result = filenames.back(); + + if (filenames.size() > 1) { + std::cout << + "===============================================" << std::endl; + std::cout << + "WARNING: Multiple dirs with same name found" << std::endl; + for (std::string &full_path : filenames) { + std::cout << full_path << std::endl; + } + std::cout << "Using dir: " << result << std::endl; + std::cout << + "===============================================" << std::endl; + } + return true; +} + } // namespace scrimmage diff --git a/src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp b/src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp index 577c23b8f6..37a6c74193 100644 --- a/src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp +++ b/src/plugins/interaction/CesiumWebServer/CesiumWebServer.cpp @@ -34,6 +34,7 @@ #include +#include #include #include #include @@ -74,9 +75,21 @@ bool CesiumWebServer::init(std::map &mission_params, std::map &plugin_params) { // params - web_src_dir_ = sc::get("web_src_dir", plugin_params, ""); web_host_port_ = sc::get("web_host_port", plugin_params, 9090); + // FIXME debug + scrimmage::FileSearch fs; + /* std::string model_map_file; */ + /* fs.find_file("default_model_map", "js", "SCRIMMAGE_DATA_PATH", model_map_file); */ + /* std::cout << "default_model_map: " << model_map_file << std::endl; */ + + // find dir with website source + const std::string web_src_dir = sc::get( + "web_src_dir", plugin_params, "cesium_default"); + std::cout << "web_src_dir: " << web_src_dir << std::endl; + if (!fs.find_dir(web_src_dir, "SCRIMMAGE_DATA_PATH", web_src_dir_path_)) return false; + std::cout << "web_src_dir_path: " << web_src_dir_path_ << std::endl; + // subscribe to scrimmage shapes subscribe("GlobalNetwork", "shapes", std::bind(&CesiumWebServer::subShapes, this, std::placeholders::_1)); @@ -134,7 +147,7 @@ void CesiumWebServer::sendEntities() { } void CesiumWebServer::serve_blocking() { - server_->serve(web_src_dir_.c_str(), web_host_port_); + server_->serve(web_src_dir_path_.c_str(), web_host_port_); } void CesiumWebServer::subShapes(scrimmage::MessagePtr &msg) { @@ -171,6 +184,11 @@ void CesiumWebServer::subShapes(scrimmage::MessagePtr shape["position"] = {lon, lat, alt}; shape["box"]["dimensions"] = {cub.x_length(), cub.y_length(), cub.z_length()}; shape["box"]["material"] = {rgb.r()/255.0, rgb.g()/255.0, rgb.b()/255.0, msg->data->opacity()}; + const auto quat = cub.quat(); + shape["orientation"]["x"] = quat.x(); + shape["orientation"]["y"] = quat.y(); + shape["orientation"]["z"] = quat.z(); + shape["orientation"]["w"] = quat.w(); } else if (msg->data->has_polyline()) { shape["name"] = "polyline"; shape["polyline"]["positions"] = {}; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3f26f82e7c..8582c5a7cb 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -6,6 +6,7 @@ set( test_collisions.cpp test_delayed_task.cpp test_exponential_filter.cpp + test_find_files.cpp test_find_mission.cpp test_id.cpp test_params.cpp diff --git a/test/test_find_files.cpp b/test/test_find_files.cpp new file mode 100644 index 0000000000..4ad07be27e --- /dev/null +++ b/test/test_find_files.cpp @@ -0,0 +1,63 @@ +/*! + * @file + * + * @section LICENSE + * + * Copyright (C) 2017 by the Georgia Tech Research Institute (GTRI) + * + * This file is part of SCRIMMAGE. + * + * SCRIMMAGE is free software: you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * SCRIMMAGE is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with SCRIMMAGE. If not, see . + * + * @author Christopher Richardson + * @date 31 July 2017 + * @version 0.1.0 + * @brief Brief file description. + * @section DESCRIPTION + * A Long description goes here. + * + */ + +#include +#include + +#include + +namespace sc = scrimmage; + +TEST(test_find_files, find_files) { + sc::FileSearch fs; + std::unordered_map> result; + + fs.find_files("SCRIMMAGE_DATA_PATH", ".js", result); + EXPECT_TRUE(result.size() > 0); + + fs.find_files("SCRIMMAGE_DATA_PATH", "/", result); + EXPECT_TRUE(result.size() > 0); +} + +TEST(test_find_files, find_file) { + sc::FileSearch fs; + std::string result; + EXPECT_TRUE(fs.find_file("app", "js", "SCRIMMAGE_DATA_PATH", result)); + EXPECT_TRUE(fs.find_file("straight", "xml", "SCRIMMAGE_MISSION_PATH", result)); + EXPECT_FALSE(fs.find_file("straight", "xml", "SCRIMMAGE_DATA_PATH", result)); +} + +TEST(test_find_files, find_dir) { + sc::FileSearch fs; + std::string result; + EXPECT_TRUE(fs.find_dir("cesium_default", "SCRIMMAGE_DATA_PATH", result)); + std::cout << "cesium web dir: " << result << std::endl; +} From 6ff5b6c8a2f0541d56740eb8a7ab6128c906e706 Mon Sep 17 00:00:00 2001 From: Christopher Richardson Date: Tue, 24 Nov 2020 15:17:20 -0500 Subject: [PATCH 4/4] add readme info for cesium web server plugin --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/README.md b/README.md index 398a716120..279da22aaf 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,41 @@ local system and sets up some environment variables: Note: If you need to build the dependencies from source or generate binary packages, see [Build Dependencies from Source](./3rd-party/README.md) +### Cesium terrain + +Scrimmage has a plugin that will visualize entities and shapes in a [cesium.js](https://cesium.com/cesiumjs/) +web application, allowing you to run your simulation on a global 3D earth model +with satellite imagery and terrain. To enable this, you need the open +source c++ web server library [seasocks](https://github.com/mattgodbolt/seasocks). +There is currently no debian package for this, so we have to build from source: + + git clone https://github.com/mattgodbolt/seasocks + cd seasocks + git checkout 5cc8f38d00999d49562b36f9982fcd582b868cb7 + mkdir build + cd build + cmake .. -DSEASOCKS_SHARED=true + make + sudo make install + sudo ldconfig + +Now add the cesium plugin to your scrimmage mission to enable: + +```xml + CesiumWebServer +``` + +With a scrimmage mission running, open your browser and navigate to localhost +on the port that CesiumWebServer is set to (default: 9090): http://localhost:9090. +The next time you step the sim, you should see entities show up, and any supported +shapes drawn from your plugins should appear as well. Currently supported shapes: + +- Sphere +- Cuboid +- Line +- Polyline + + ### Build SCRIMMAGE Core $ mkdir build && cd build

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