From 3fda33afd4709787c22bed04fd790abe12797efa Mon Sep 17 00:00:00 2001 From: David Duarte Date: Thu, 29 Dec 2022 03:43:46 +0000 Subject: Remove sl4n Only the bluetooth facade was compiled and this depends on some code of the native bluetooth service that is removed alongside this CL Test: TreeHugger Bug: 263885771 Change-Id: Ib85586b4b5b5712badc945e52c01b08e2e7fbbe5 --- sl4n/Android.bp | 61 - sl4n/LICENSE | 113 - sl4n/README.md | 50 - sl4n/base.h | 59 - sl4n/facades/bluetooth/bt_binder_facade.cpp | 409 --- sl4n/facades/bluetooth/bt_binder_facade.h | 62 - sl4n/facades/test/test_facade.cpp | 234 -- sl4n/facades/test/test_facade.h | 36 - sl4n/facades/wifi/wifi_facade.cpp | 205 -- sl4n/facades/wifi/wifi_facade.h | 49 - sl4n/main.cpp | 115 - sl4n/rapidjson/.gitignore | 22 - sl4n/rapidjson/CHANGELOG.md | 79 - sl4n/rapidjson/CMakeModules/FindGTestSrc.cmake | 30 - sl4n/rapidjson/bin/data/glossary.json | 22 - sl4n/rapidjson/bin/data/menu.json | 27 - sl4n/rapidjson/bin/data/sample.json | 3315 -------------------- sl4n/rapidjson/bin/data/webapp.json | 88 - sl4n/rapidjson/bin/data/widget.json | 26 - sl4n/rapidjson/bin/encodings/utf16be.json | Bin 368 -> 0 bytes sl4n/rapidjson/bin/encodings/utf16bebom.json | Bin 370 -> 0 bytes sl4n/rapidjson/bin/encodings/utf16le.json | Bin 368 -> 0 bytes sl4n/rapidjson/bin/encodings/utf16lebom.json | Bin 370 -> 0 bytes sl4n/rapidjson/bin/encodings/utf32be.json | Bin 736 -> 0 bytes sl4n/rapidjson/bin/encodings/utf32bebom.json | Bin 740 -> 0 bytes sl4n/rapidjson/bin/encodings/utf32le.json | Bin 736 -> 0 bytes sl4n/rapidjson/bin/encodings/utf32lebom.json | Bin 740 -> 0 bytes sl4n/rapidjson/bin/encodings/utf8.json | 7 - sl4n/rapidjson/bin/encodings/utf8bom.json | 7 - sl4n/rapidjson/bin/jsonchecker/fail1.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail10.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail11.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail12.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail13.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail14.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail15.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail16.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail17.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail18.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail19.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail2.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail20.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail21.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail22.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail23.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail24.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail25.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail26.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail27.json | 2 - sl4n/rapidjson/bin/jsonchecker/fail28.json | 2 - sl4n/rapidjson/bin/jsonchecker/fail29.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail3.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail30.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail31.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail32.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail33.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail4.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail5.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail6.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail7.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail8.json | 1 - sl4n/rapidjson/bin/jsonchecker/fail9.json | 1 - sl4n/rapidjson/bin/jsonchecker/pass1.json | 58 - sl4n/rapidjson/bin/jsonchecker/pass2.json | 1 - sl4n/rapidjson/bin/jsonchecker/pass3.json | 6 - sl4n/rapidjson/doc/Doxyfile.in | 2367 -------------- sl4n/rapidjson/doc/diagram/architecture.dot | 50 - sl4n/rapidjson/doc/diagram/architecture.png | Bin 16569 -> 0 bytes sl4n/rapidjson/doc/diagram/insituparsing.dot | 65 - sl4n/rapidjson/doc/diagram/insituparsing.png | Bin 37281 -> 0 bytes .../diagram/iterative-parser-states-diagram.dot | 62 - .../diagram/iterative-parser-states-diagram.png | Bin 92378 -> 0 bytes sl4n/rapidjson/doc/diagram/makefile | 8 - sl4n/rapidjson/doc/diagram/move1.dot | 47 - sl4n/rapidjson/doc/diagram/move1.png | Bin 16081 -> 0 bytes sl4n/rapidjson/doc/diagram/move2.dot | 62 - sl4n/rapidjson/doc/diagram/move2.png | Bin 41517 -> 0 bytes sl4n/rapidjson/doc/diagram/move3.dot | 60 - sl4n/rapidjson/doc/diagram/move3.png | Bin 36371 -> 0 bytes sl4n/rapidjson/doc/diagram/normalparsing.dot | 56 - sl4n/rapidjson/doc/diagram/normalparsing.png | Bin 32887 -> 0 bytes sl4n/rapidjson/doc/diagram/simpledom.dot | 54 - sl4n/rapidjson/doc/diagram/simpledom.png | Bin 43670 -> 0 bytes sl4n/rapidjson/doc/diagram/tutorial.dot | 58 - sl4n/rapidjson/doc/diagram/tutorial.png | Bin 44634 -> 0 bytes sl4n/rapidjson/doc/diagram/utilityclass.dot | 73 - sl4n/rapidjson/doc/diagram/utilityclass.png | Bin 99993 -> 0 bytes sl4n/rapidjson/doc/dom.md | 276 -- sl4n/rapidjson/doc/encoding.md | 146 - sl4n/rapidjson/doc/faq.md | 289 -- sl4n/rapidjson/doc/features.md | 96 - sl4n/rapidjson/doc/internals.md | 351 --- sl4n/rapidjson/doc/logo/rapidjson.png | Bin 5259 -> 0 bytes sl4n/rapidjson/doc/logo/rapidjson.svg | 119 - sl4n/rapidjson/doc/misc/DoxygenLayout.xml | 194 -- sl4n/rapidjson/doc/misc/doxygenextra.css | 274 -- sl4n/rapidjson/doc/misc/footer.html | 27 - sl4n/rapidjson/doc/misc/header.html | 33 - sl4n/rapidjson/doc/performance.md | 26 - sl4n/rapidjson/doc/pointer.md | 234 -- sl4n/rapidjson/doc/sax.md | 475 --- sl4n/rapidjson/doc/stream.md | 374 --- sl4n/rapidjson/doc/tutorial.md | 517 --- sl4n/rapidjson/example/capitalize/capitalize.cpp | 66 - sl4n/rapidjson/example/condense/condense.cpp | 32 - .../example/messagereader/messagereader.cpp | 96 - sl4n/rapidjson/example/pretty/pretty.cpp | 30 - sl4n/rapidjson/example/prettyauto/prettyauto.cpp | 56 - sl4n/rapidjson/example/serialize/serialize.cpp | 157 - sl4n/rapidjson/example/simpledom/simpledom.cpp | 29 - .../example/simplereader/simplereader.cpp | 38 - .../example/simplewriter/simplewriter.cpp | 35 - sl4n/rapidjson/example/tutorial/tutorial.cpp | 151 - sl4n/rapidjson/include/rapidjson/allocators.h | 261 -- sl4n/rapidjson/include/rapidjson/document.h | 2114 ------------- sl4n/rapidjson/include/rapidjson/encodedstream.h | 261 -- sl4n/rapidjson/include/rapidjson/encodings.h | 625 ---- sl4n/rapidjson/include/rapidjson/error/en.h | 65 - sl4n/rapidjson/include/rapidjson/error/error.h | 146 - sl4n/rapidjson/include/rapidjson/filereadstream.h | 88 - sl4n/rapidjson/include/rapidjson/filewritestream.h | 95 - .../include/rapidjson/internal/biginteger.h | 290 -- sl4n/rapidjson/include/rapidjson/internal/diyfp.h | 248 -- sl4n/rapidjson/include/rapidjson/internal/dtoa.h | 217 -- .../rapidjson/include/rapidjson/internal/ieee754.h | 77 - sl4n/rapidjson/include/rapidjson/internal/itoa.h | 304 -- sl4n/rapidjson/include/rapidjson/internal/meta.h | 184 -- sl4n/rapidjson/include/rapidjson/internal/pow10.h | 55 - sl4n/rapidjson/include/rapidjson/internal/stack.h | 196 -- .../rapidjson/include/rapidjson/internal/strfunc.h | 39 - sl4n/rapidjson/include/rapidjson/internal/strtod.h | 270 -- sl4n/rapidjson/include/rapidjson/internal/swap.h | 37 - sl4n/rapidjson/include/rapidjson/memorybuffer.h | 70 - sl4n/rapidjson/include/rapidjson/memorystream.h | 61 - .../include/rapidjson/msinttypes/inttypes.h | 316 -- .../include/rapidjson/msinttypes/stdint.h | 300 -- sl4n/rapidjson/include/rapidjson/pointer.h | 1313 -------- sl4n/rapidjson/include/rapidjson/prettywriter.h | 207 -- sl4n/rapidjson/include/rapidjson/rapidjson.h | 654 ---- sl4n/rapidjson/include/rapidjson/reader.h | 1452 --------- sl4n/rapidjson/include/rapidjson/stringbuffer.h | 93 - sl4n/rapidjson/include/rapidjson/writer.h | 395 --- sl4n/rapidjson/library.json | 12 - sl4n/rapidjson/readme.md | 129 - sl4n/rapidjson/test/perftest/misctest.cpp | 974 ------ sl4n/rapidjson/test/perftest/perftest.cpp | 24 - sl4n/rapidjson/test/perftest/perftest.h | 131 - sl4n/rapidjson/test/perftest/platformtest.cpp | 166 - sl4n/rapidjson/test/perftest/rapidjsontest.cpp | 360 --- sl4n/rapidjson/test/unittest/allocatorstest.cpp | 83 - sl4n/rapidjson/test/unittest/bigintegertest.cpp | 133 - sl4n/rapidjson/test/unittest/documenttest.cpp | 552 ---- sl4n/rapidjson/test/unittest/encodedstreamtest.cpp | 310 -- sl4n/rapidjson/test/unittest/encodingstest.cpp | 426 --- sl4n/rapidjson/test/unittest/filestreamtest.cpp | 109 - sl4n/rapidjson/test/unittest/itoatest.cpp | 158 - sl4n/rapidjson/test/unittest/jsoncheckertest.cpp | 99 - sl4n/rapidjson/test/unittest/namespacetest.cpp | 70 - sl4n/rapidjson/test/unittest/pointertest.cpp | 1458 --------- sl4n/rapidjson/test/unittest/prettywritertest.cpp | 161 - sl4n/rapidjson/test/unittest/readertest.cpp | 1354 -------- sl4n/rapidjson/test/unittest/simdtest.cpp | 68 - sl4n/rapidjson/test/unittest/stringbuffertest.cpp | 150 - sl4n/rapidjson/test/unittest/strtodtest.cpp | 123 - sl4n/rapidjson/test/unittest/unittest.cpp | 37 - sl4n/rapidjson/test/unittest/unittest.h | 107 - sl4n/rapidjson/test/unittest/valuetest.cpp | 1356 -------- sl4n/rapidjson/test/unittest/writertest.cpp | 377 --- sl4n/utils/command_receiver.cpp | 69 - sl4n/utils/command_receiver.h | 41 - sl4n/utils/common_utils.cpp | 33 - sl4n/utils/common_utils.h | 28 - 172 files changed, 31730 deletions(-) delete mode 100644 sl4n/Android.bp delete mode 100644 sl4n/LICENSE delete mode 100644 sl4n/README.md delete mode 100644 sl4n/base.h delete mode 100644 sl4n/facades/bluetooth/bt_binder_facade.cpp delete mode 100644 sl4n/facades/bluetooth/bt_binder_facade.h delete mode 100644 sl4n/facades/test/test_facade.cpp delete mode 100644 sl4n/facades/test/test_facade.h delete mode 100644 sl4n/facades/wifi/wifi_facade.cpp delete mode 100644 sl4n/facades/wifi/wifi_facade.h delete mode 100644 sl4n/main.cpp delete mode 100644 sl4n/rapidjson/.gitignore delete mode 100644 sl4n/rapidjson/CHANGELOG.md delete mode 100644 sl4n/rapidjson/CMakeModules/FindGTestSrc.cmake delete mode 100644 sl4n/rapidjson/bin/data/glossary.json delete mode 100644 sl4n/rapidjson/bin/data/menu.json delete mode 100644 sl4n/rapidjson/bin/data/sample.json delete mode 100644 sl4n/rapidjson/bin/data/webapp.json delete mode 100644 sl4n/rapidjson/bin/data/widget.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf16be.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf16bebom.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf16le.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf16lebom.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf32be.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf32bebom.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf32le.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf32lebom.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf8.json delete mode 100644 sl4n/rapidjson/bin/encodings/utf8bom.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail1.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail10.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail11.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail12.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail13.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail14.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail15.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail16.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail17.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail18.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail19.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail2.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail20.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail21.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail22.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail23.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail24.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail25.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail26.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail27.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail28.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail29.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail3.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail30.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail31.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail32.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail33.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail4.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail5.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail6.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail7.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail8.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/fail9.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/pass1.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/pass2.json delete mode 100644 sl4n/rapidjson/bin/jsonchecker/pass3.json delete mode 100644 sl4n/rapidjson/doc/Doxyfile.in delete mode 100644 sl4n/rapidjson/doc/diagram/architecture.dot delete mode 100644 sl4n/rapidjson/doc/diagram/architecture.png delete mode 100644 sl4n/rapidjson/doc/diagram/insituparsing.dot delete mode 100644 sl4n/rapidjson/doc/diagram/insituparsing.png delete mode 100644 sl4n/rapidjson/doc/diagram/iterative-parser-states-diagram.dot delete mode 100644 sl4n/rapidjson/doc/diagram/iterative-parser-states-diagram.png delete mode 100644 sl4n/rapidjson/doc/diagram/makefile delete mode 100644 sl4n/rapidjson/doc/diagram/move1.dot delete mode 100644 sl4n/rapidjson/doc/diagram/move1.png delete mode 100644 sl4n/rapidjson/doc/diagram/move2.dot delete mode 100644 sl4n/rapidjson/doc/diagram/move2.png delete mode 100644 sl4n/rapidjson/doc/diagram/move3.dot delete mode 100644 sl4n/rapidjson/doc/diagram/move3.png delete mode 100644 sl4n/rapidjson/doc/diagram/normalparsing.dot delete mode 100644 sl4n/rapidjson/doc/diagram/normalparsing.png delete mode 100644 sl4n/rapidjson/doc/diagram/simpledom.dot delete mode 100644 sl4n/rapidjson/doc/diagram/simpledom.png delete mode 100644 sl4n/rapidjson/doc/diagram/tutorial.dot delete mode 100644 sl4n/rapidjson/doc/diagram/tutorial.png delete mode 100644 sl4n/rapidjson/doc/diagram/utilityclass.dot delete mode 100644 sl4n/rapidjson/doc/diagram/utilityclass.png delete mode 100644 sl4n/rapidjson/doc/dom.md delete mode 100644 sl4n/rapidjson/doc/encoding.md delete mode 100644 sl4n/rapidjson/doc/faq.md delete mode 100644 sl4n/rapidjson/doc/features.md delete mode 100644 sl4n/rapidjson/doc/internals.md delete mode 100644 sl4n/rapidjson/doc/logo/rapidjson.png delete mode 100644 sl4n/rapidjson/doc/logo/rapidjson.svg delete mode 100644 sl4n/rapidjson/doc/misc/DoxygenLayout.xml delete mode 100644 sl4n/rapidjson/doc/misc/doxygenextra.css delete mode 100644 sl4n/rapidjson/doc/misc/footer.html delete mode 100644 sl4n/rapidjson/doc/misc/header.html delete mode 100644 sl4n/rapidjson/doc/performance.md delete mode 100644 sl4n/rapidjson/doc/pointer.md delete mode 100644 sl4n/rapidjson/doc/sax.md delete mode 100644 sl4n/rapidjson/doc/stream.md delete mode 100644 sl4n/rapidjson/doc/tutorial.md delete mode 100644 sl4n/rapidjson/example/capitalize/capitalize.cpp delete mode 100644 sl4n/rapidjson/example/condense/condense.cpp delete mode 100644 sl4n/rapidjson/example/messagereader/messagereader.cpp delete mode 100644 sl4n/rapidjson/example/pretty/pretty.cpp delete mode 100644 sl4n/rapidjson/example/prettyauto/prettyauto.cpp delete mode 100644 sl4n/rapidjson/example/serialize/serialize.cpp delete mode 100644 sl4n/rapidjson/example/simpledom/simpledom.cpp delete mode 100644 sl4n/rapidjson/example/simplereader/simplereader.cpp delete mode 100644 sl4n/rapidjson/example/simplewriter/simplewriter.cpp delete mode 100644 sl4n/rapidjson/example/tutorial/tutorial.cpp delete mode 100644 sl4n/rapidjson/include/rapidjson/allocators.h delete mode 100644 sl4n/rapidjson/include/rapidjson/document.h delete mode 100644 sl4n/rapidjson/include/rapidjson/encodedstream.h delete mode 100644 sl4n/rapidjson/include/rapidjson/encodings.h delete mode 100644 sl4n/rapidjson/include/rapidjson/error/en.h delete mode 100644 sl4n/rapidjson/include/rapidjson/error/error.h delete mode 100644 sl4n/rapidjson/include/rapidjson/filereadstream.h delete mode 100644 sl4n/rapidjson/include/rapidjson/filewritestream.h delete mode 100755 sl4n/rapidjson/include/rapidjson/internal/biginteger.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/diyfp.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/dtoa.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/ieee754.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/itoa.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/meta.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/pow10.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/stack.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/strfunc.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/strtod.h delete mode 100644 sl4n/rapidjson/include/rapidjson/internal/swap.h delete mode 100644 sl4n/rapidjson/include/rapidjson/memorybuffer.h delete mode 100644 sl4n/rapidjson/include/rapidjson/memorystream.h delete mode 100644 sl4n/rapidjson/include/rapidjson/msinttypes/inttypes.h delete mode 100644 sl4n/rapidjson/include/rapidjson/msinttypes/stdint.h delete mode 100644 sl4n/rapidjson/include/rapidjson/pointer.h delete mode 100644 sl4n/rapidjson/include/rapidjson/prettywriter.h delete mode 100644 sl4n/rapidjson/include/rapidjson/rapidjson.h delete mode 100644 sl4n/rapidjson/include/rapidjson/reader.h delete mode 100644 sl4n/rapidjson/include/rapidjson/stringbuffer.h delete mode 100644 sl4n/rapidjson/include/rapidjson/writer.h delete mode 100644 sl4n/rapidjson/library.json delete mode 100644 sl4n/rapidjson/readme.md delete mode 100644 sl4n/rapidjson/test/perftest/misctest.cpp delete mode 100644 sl4n/rapidjson/test/perftest/perftest.cpp delete mode 100644 sl4n/rapidjson/test/perftest/perftest.h delete mode 100644 sl4n/rapidjson/test/perftest/platformtest.cpp delete mode 100644 sl4n/rapidjson/test/perftest/rapidjsontest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/allocatorstest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/bigintegertest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/documenttest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/encodedstreamtest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/encodingstest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/filestreamtest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/itoatest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/jsoncheckertest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/namespacetest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/pointertest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/prettywritertest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/readertest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/simdtest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/stringbuffertest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/strtodtest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/unittest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/unittest.h delete mode 100644 sl4n/rapidjson/test/unittest/valuetest.cpp delete mode 100644 sl4n/rapidjson/test/unittest/writertest.cpp delete mode 100644 sl4n/utils/command_receiver.cpp delete mode 100644 sl4n/utils/command_receiver.h delete mode 100644 sl4n/utils/common_utils.cpp delete mode 100644 sl4n/utils/common_utils.h diff --git a/sl4n/Android.bp b/sl4n/Android.bp deleted file mode 100644 index e515d4f..0000000 --- a/sl4n/Android.bp +++ /dev/null @@ -1,61 +0,0 @@ -package { - default_applicable_licenses: [ - "packages_apps_Test_connectivity_sl4n_license", - "Android-Apache-2.0", - ], -} - - // http://go/android-license-faq -license { - name: "packages_apps_Test_connectivity_sl4n_license", - package_name: "Scripting Layer For Native", - visibility: [":__subpackages__"], - license_kinds: [ - "SPDX-license-identifier-BSD", - "SPDX-license-identifier-MIT", - ], - license_text: ["LICENSE"], -} - -cc_binary { - name: "sl4n", - header_libs: [ - "libbluetooth_headers", - ], - include_dirs: [ - "packages/modules/Bluetooth/system", - ], - local_include_dirs: [ - "rapidjson/include", - "facades", - ], - srcs: [ - "facades/bluetooth/bt_binder_facade.cpp", - "facades/test/test_facade.cpp", - "main.cpp", - "utils/command_receiver.cpp", - "utils/common_utils.cpp", - ], - shared_libs: [ - "libbinder", - "libchrome", - "libcutils", - "libutils", - "libwifi-system", - "liblog", - ], - static_libs: [ - "libbtcore", - "libosi", - "libnl", - "libbluetooth-binder-common", - "libbluetooth-types", - ], - cflags: [ - "-Wall", - "-Werror", - "-Wno-unused-parameter", - "-Wno-missing-field-initializers", - "-Wno-expansion-to-defined", - ], -} diff --git a/sl4n/LICENSE b/sl4n/LICENSE deleted file mode 100644 index 524b58b..0000000 --- a/sl4n/LICENSE +++ /dev/null @@ -1,113 +0,0 @@ -------------------------------------------------- - -// Tencent is pleased to support the open source community by making RapidJSON available. -// -// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -// -// Licensed under the MIT License (the "License"); you may not use this file except -// in compliance with the License. You may obtain a copy of the License at -// -// http://opensource.org/licenses/MIT -// -// Unless required by applicable law or agreed to in writing, software distributed -// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -// CONDITIONS OF ANY KIND, either express or implied. See the License for the -// specific language governing permissions and limitations under the License. - -Copyright 2015 THL A29 Limited, a Tencent company, and Milo Yip. - -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. - -------------------------------------------------- -msinttypes/inttypes.h - -// ISO C9x compliant inttypes.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2013 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the product nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. -// -/////////////////////////////////////////////////////////////////////////////// - -// The above software in this distribution may have been modified by -// THL A29 Limited ("Tencent Modifications"). -// All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. - -------------------------------------------------- -msinttypes/stdint.h - -// ISO C9x compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2013 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the product nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. -// -/////////////////////////////////////////////////////////////////////////////// - -// The above software in this distribution may have been modified by -// THL A29 Limited ("Tencent Modifications"). -// All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. diff --git a/sl4n/README.md b/sl4n/README.md deleted file mode 100644 index 8bc2603..0000000 --- a/sl4n/README.md +++ /dev/null @@ -1,50 +0,0 @@ -Scripting Layer For Native -============================= - -### Introduction -Scripting Layer for Native, SL4N, is an automation toolset for calling Android native Binder -APIs and accessing the HAL layer in an platform-independent manner. This tool enables remote -automation of these layers via ADB. - -### Build Instructions -Building SL4N requires a system build. - -For the initial build of Android: - - cd - source build/envsetup.sh - lunch aosp_ - make [-j15] - -*where `` is the root directory of the android tree and `` is the lunch -target name* - -Then Build SL4N: - - cd /packages/apps/Test/connectivity/sl4n - mm [-j15] - -### Install Instructions -Run the following command: - - adb push /out/target/product//system/bin/sl4n /system/bin - -Library dependencies required: - - adb push /out/target/product//system/lib/libbinder.so /system/lib - adb push /out/target/product//system/lib/libchrome.so /system/lib - adb push /out/target/product//system/lib/libevent.so /system/lib - -Optional library dependency for running tests that exercise the Bluetoothtbd service: - - cd /system/bt/service - mm [-j15] - adb push /out/target/product//system/bin/bluetoothtbd /system/bin - -### Run Instructions -a) SL4N is launched from ADB shell; or -b) To enable RPC access from the command prompt: - - adb forward tcp: tcp: - adb shell -c "/system/bin/sl4n" & -*where `` and `` are the tcp ports on the host computer and device.* diff --git a/sl4n/base.h b/sl4n/base.h deleted file mode 100644 index d0ccc8f..0000000 --- a/sl4n/base.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// Copyright (C) 2015 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace sl4n { -const char kCmdStr[] = "cmd"; -const char kDeviceNameStr[] = "deviceName"; -const char kErrorStr[] = "error"; -const char kFailStr[] = "fail"; -const char kInvalidParamStr[] = "Invalid parameter"; -const char kMethodStr[] = "method"; -const char kParamsStr[] = "params"; -const char kResultStr[] = "result"; -const char kStatusStr[] = "status"; -const char kSuccessStr[] = "success"; -const char kTagStr[] = "SL4N"; -const int kFailedCounterInt = -1; -} - -namespace sl4n_ble { -const int kAdvSettingsModeLowPowerInt = 0; -const int kAdvSettingsModeBalancedInt = 1; -const int kAdvSettingsModeLowLatencyInt = 2; - -const int kAdvSettingsTxPowerLevelUltraLowInt = 0; -const int kAdvSettingsTxPowerLevelLowInt = 1; -const int kAdvSettingsTxPowerLevelMediumInt = 2; -const int kAdvSettingsTxPowerLevelHighInt = 3; -} - -namespace sl4n_error_codes { -const int kFailInt = 0; -const int kPassInt = 1; -} diff --git a/sl4n/facades/bluetooth/bt_binder_facade.cpp b/sl4n/facades/bluetooth/bt_binder_facade.cpp deleted file mode 100644 index b764ef4..0000000 --- a/sl4n/facades/bluetooth/bt_binder_facade.cpp +++ /dev/null @@ -1,409 +0,0 @@ -// -// Copyright (C) 2016 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "bt_binder_facade.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using android::bluetooth::IBluetooth; -using android::bluetooth::IBluetoothLowEnergy; -using android::getService; -using android::OK; -using android::sp; -using android::String8; -using android::String16; - -std::atomic_bool ble_registering(false); -std::atomic_int ble_client_id(0); - -std::string kServiceName = "bluetooth-service"; - -bool BtBinderFacade::SharedValidator() { - if (bt_iface == NULL) { - LOG(ERROR) << sl4n::kTagStr << " IBluetooth interface not initialized"; - return false; - } - bool ret; - bt_iface->IsEnabled(&ret); - if (!ret) { - LOG(ERROR) << sl4n::kTagStr << " IBluetooth interface not enabled"; - return false; - } - return true; -} - -std::tuple BtBinderFacade::BtBinderEnable() { - if (bt_iface == NULL) { - LOG(ERROR) << sl4n::kTagStr << ": IBluetooth interface not enabled"; - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - bool ret; - bt_iface->Enable(&ret); - if (!ret) { - LOG(ERROR) << sl4n::kTagStr << ": Failed to enable the Bluetooth service"; - return std::make_tuple(false, sl4n_error_codes::kPassInt); - } else { - return std::make_tuple(true, sl4n_error_codes::kPassInt); - } -} - -std::tuple BtBinderFacade::BtBinderGetAddress() { - if (!SharedValidator()) { - return std::make_tuple(sl4n::kFailStr, sl4n_error_codes::kFailInt); - } - String16 address; - bt_iface->GetAddress(&address); - return std::make_tuple(std::string(String8(address).string()), sl4n_error_codes::kPassInt); -} - -std::tuple BtBinderFacade::BtBinderGetName() { - if (!SharedValidator()) { - return std::make_tuple(sl4n::kFailStr,sl4n_error_codes::kFailInt); - } - - String16 name16; - bt_iface->GetName(&name16); - std::string name = std::string(String8(name16).string()); - if (name.empty()) { - LOG(ERROR) << sl4n::kTagStr << ": Failed to get device name"; - return std::make_tuple(sl4n::kFailStr, sl4n_error_codes::kFailInt); - } else { - return std::make_tuple(name, sl4n_error_codes::kPassInt); - } -} - -std::tuple BtBinderFacade::BtBinderSetName( - std::string name) { - - if (!SharedValidator()) { - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - - bool result; - bt_iface->SetName(String16(String8(name.c_str())), &result); - if (!result) { - LOG(ERROR) << sl4n::kTagStr << ": Failed to set device name"; - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - return std::make_tuple(true, sl4n_error_codes::kPassInt); -} - -std::tuple BtBinderFacade::BtBinderInitInterface() { - status_t status = getService(String16(kServiceName.c_str()), &bt_iface); - if (status != OK) { - LOG(ERROR) << "Failed to get service binder: '" << kServiceName - << "' status=" << status; - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - return std::make_tuple(true, sl4n_error_codes::kPassInt); -} - -std::tuple BtBinderFacade::BtBinderRegisterBLE() { - // TODO (tturney): verify bt_iface initialized everywhere - if (!SharedValidator()) { - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - bt_iface->GetLowEnergyInterface(&ble_iface); - if(!ble_iface.get()) { - LOG(ERROR) << sl4n::kTagStr << ": Failed to register BLE"; - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - return std::make_tuple(true, sl4n_error_codes::kPassInt); -} - -std::tuple BtBinderFacade::BtBinderSetAdvSettings( - int mode, int timeout_seconds, int tx_power_level, bool is_connectable) { - if (!SharedValidator()) { - return std::make_tuple(false,sl4n_error_codes::kFailInt); - } - bluetooth::AdvertiseSettings::Mode adv_mode; - switch (mode) { - case sl4n_ble::kAdvSettingsModeLowPowerInt : - adv_mode = bluetooth::AdvertiseSettings::Mode::MODE_LOW_POWER; - break; - case sl4n_ble::kAdvSettingsModeBalancedInt : - adv_mode = bluetooth::AdvertiseSettings::Mode::MODE_BALANCED; - break; - case sl4n_ble::kAdvSettingsModeLowLatencyInt : - adv_mode = bluetooth::AdvertiseSettings::Mode::MODE_LOW_LATENCY; - break; - default : - LOG(ERROR) << sl4n::kTagStr << - ": Input mode is outside the accepted values"; - return std::make_tuple( - sl4n::kFailedCounterInt, sl4n_error_codes::kFailInt); - } - - base::TimeDelta adv_timeout = base::TimeDelta::FromSeconds( - timeout_seconds); - - bluetooth::AdvertiseSettings::TxPowerLevel adv_tx_power_level; - switch (tx_power_level) { - case sl4n_ble::kAdvSettingsTxPowerLevelUltraLowInt: adv_tx_power_level = - bluetooth::AdvertiseSettings::TxPowerLevel::TX_POWER_LEVEL_ULTRA_LOW; - break; - case sl4n_ble::kAdvSettingsTxPowerLevelLowInt: adv_tx_power_level = - bluetooth::AdvertiseSettings::TxPowerLevel::TX_POWER_LEVEL_LOW; - break; - case sl4n_ble::kAdvSettingsTxPowerLevelMediumInt: adv_tx_power_level = - bluetooth::AdvertiseSettings::TxPowerLevel::TX_POWER_LEVEL_MEDIUM; - break; - case sl4n_ble::kAdvSettingsTxPowerLevelHighInt: adv_tx_power_level = - bluetooth::AdvertiseSettings::TxPowerLevel::TX_POWER_LEVEL_HIGH; - break; - default : - LOG(ERROR) << sl4n::kTagStr << - ": Input tx power level is outside the accepted values"; - return std::make_tuple( - sl4n::kFailedCounterInt, sl4n_error_codes::kFailInt); - } - - bluetooth::AdvertiseSettings adv_settings = bluetooth::AdvertiseSettings( - adv_mode, adv_timeout, adv_tx_power_level, is_connectable); - adv_settings_map[adv_settings_count] = adv_settings; - int adv_settings_id = adv_settings_count; - adv_settings_count++; - return std::make_tuple(adv_settings_id, sl4n_error_codes::kPassInt); -} - -////////////////// -// wrappers -////////////////// - -static BtBinderFacade facade; // triggers registration with CommandReceiver - -void bt_binder_get_local_name_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - //check for kfailedstr or NULL??? - std::string name; - int error_code; - std::tie(name, error_code) = facade.BtBinderGetName(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, sl4n::kFailStr, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - return; - } - rapidjson::Value tmp; - tmp.SetString(name.c_str(), doc.GetAllocator()); - doc.AddMember(sl4n::kResultStr, tmp, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - return; -} - -void bt_binder_init_interface_wapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - bool init_result; - int error_code; - std::tie(init_result, error_code) = facade.BtBinderInitInterface(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } - doc.AddMember(sl4n::kResultStr, init_result, doc.GetAllocator()); - return; -} - -void bt_binder_set_local_name_wrapper(rapidjson::Document &doc) { - int expected_param_size = 1; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - std::string name; - if (!doc[sl4n::kParamsStr][0].IsString()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected String input for name"; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - return; - } else { - name = doc[sl4n::kParamsStr][0].GetString(); - } - bool set_result; - int error_code; - std::tie(set_result, error_code) = facade.BtBinderSetName(name); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, set_result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } - return; -} - -void bt_binder_get_local_address_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - //check for kfailedstr or NULL??? - std::string address; - int error_code; - std::tie(address, error_code) = facade.BtBinderGetAddress(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, sl4n::kFailStr, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - rapidjson::Value tmp; - tmp.SetString(address.c_str(), doc.GetAllocator()); - doc.AddMember(sl4n::kResultStr, tmp, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } - return; -} - -void bt_binder_enable_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - bool enable_result; - int error_code; - std::tie(enable_result, error_code) = facade.BtBinderEnable(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, enable_result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void bt_binder_register_ble_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - bool register_result; - int error_code; - std::tie(register_result, error_code) = - facade.BtBinderRegisterBLE(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, register_result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void bt_binder_set_adv_settings_wrapper(rapidjson::Document &doc) { - int expected_param_size = 4; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - int mode; - int timeout_seconds; - int tx_power_level; - bool is_connectable; - // TODO(tturney) Verify inputs better - if (!doc[sl4n::kParamsStr][0].IsInt()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected Int input for mode"; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kInvalidParamStr, doc.GetAllocator()); - return; - } else { - mode = doc[sl4n::kParamsStr][0].GetInt(); - } - if (!doc[sl4n::kParamsStr][1].IsInt()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected Int input for timeout"; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kInvalidParamStr, doc.GetAllocator()); - return; - } else { - timeout_seconds = doc[sl4n::kParamsStr][1].GetInt(); - } - if (!doc[sl4n::kParamsStr][2].IsInt()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected Int input for tx power level"; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kInvalidParamStr, doc.GetAllocator()); - return; - } else { - tx_power_level = doc[sl4n::kParamsStr][2].GetInt(); - } - if (!doc[sl4n::kParamsStr][3].IsBool()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected Bool input for connectable"; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kInvalidParamStr, doc.GetAllocator()); - return; - } else { - is_connectable = doc[sl4n::kParamsStr][3].GetBool(); - } - - int adv_settings; - int error_code; - std::tie(adv_settings, error_code) = facade.BtBinderSetAdvSettings( - mode, timeout_seconds, tx_power_level, is_connectable); - if(error_code == sl4n_error_codes::kFailInt) { - doc.AddMember( - sl4n::kResultStr, sl4n_error_codes::kFailInt, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailedCounterInt, doc.GetAllocator()); - return; - } else { - doc.AddMember(sl4n::kResultStr, adv_settings, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -//////////////// -// constructor -//////////////// - -BtBinderFacade::BtBinderFacade() { - adv_settings_count = 0; - manu_data_count = 0; - - CommandReceiver::RegisterCommand("BtBinderInitInterface", - &bt_binder_init_interface_wapper); - CommandReceiver::RegisterCommand("BtBinderGetName", - &bt_binder_get_local_name_wrapper); - CommandReceiver::RegisterCommand("BtBinderSetName", - &bt_binder_set_local_name_wrapper); - CommandReceiver::RegisterCommand("BtBinderGetAddress", - &bt_binder_get_local_address_wrapper); - CommandReceiver::RegisterCommand("BtBinderEnable", - &bt_binder_enable_wrapper); - CommandReceiver::RegisterCommand("BtBinderRegisterBLE", - &bt_binder_register_ble_wrapper); - CommandReceiver::RegisterCommand("BtBinderSetAdvSettings", - &bt_binder_set_adv_settings_wrapper); -} - diff --git a/sl4n/facades/bluetooth/bt_binder_facade.h b/sl4n/facades/bluetooth/bt_binder_facade.h deleted file mode 100644 index 65ece71..0000000 --- a/sl4n/facades/bluetooth/bt_binder_facade.h +++ /dev/null @@ -1,62 +0,0 @@ -// -// Copyright (C) 2016 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#include -#include -#include -#include - -// BtBinderFacade provides simple wrappers to call Binder apis. -// Each public function returns a tuple of the return type and an integer -// representing the pass/fail value of the function. The functions check to see -// if the API call is actually possible. If it is the function's tuple will -// contain the actual result and an integer that indicates the value passed. If -// the function is not possible then there will be a mock return value in the -// first position of the tuple and the second value in the tuple indicates the -// value failed. Therefore it is up to the function to decide whether the -// expected api call is actually possible before calling it. -// -// TODO(tturney): Instead of using an integer in the tuple to represent -// pass/fail, create a class that properly represents the result of the -// function. -class BtBinderFacade { - public: - BtBinderFacade(); - std::tuple BtBinderEnable(); - std::tuple BtBinderGetAddress(); - std::tuple BtBinderGetName(); - std::tuple BtBinderInitInterface(); - std::tuple BtBinderRegisterBLE(); - std::tuple BtBinderSetAdvSettings( - int mode, int timeout_seconds, int tx_power_level, bool is_connectable); - std::tuple BtBinderSetName(std::string name); - - private: - bool SharedValidator(); - // Returns a handle to the IBluetooth Binder from the Android ServiceManager. - // Binder client code can use this to make calls to the service. - android::sp bt_iface; - - // Returns a handle to the IBluetoothLowEnergy Binder from the Android - // ServiceManager. Binder client code can use this to make calls to the - // service. - android::sp ble_iface; - std::map adv_settings_map; - int adv_settings_count; - int manu_data_count; -}; diff --git a/sl4n/facades/test/test_facade.cpp b/sl4n/facades/test/test_facade.cpp deleted file mode 100644 index 4fd41ad..0000000 --- a/sl4n/facades/test/test_facade.cpp +++ /dev/null @@ -1,234 +0,0 @@ -// -// Copyright (C) 2016 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#include -#include -#include -#include -#include -#include "test_facade.h" -#include -#include -#include - -std::tuple TestFacade::TestBoolTrueReturn() { - return std::make_tuple(true, sl4n_error_codes::kPassInt); -} - -std::tuple TestFacade::TestBoolFalseReturn() { - return std::make_tuple(false, sl4n_error_codes::kPassInt); -} - -std::tuple TestFacade::TestErrorCodeFail() { - return std::make_tuple(true, sl4n_error_codes::kFailInt); -} - -std::tuple TestFacade::TestNullReturn() { - return std::make_tuple(NULL, sl4n_error_codes::kPassInt); -} - -std::tuple TestFacade::TestStringEmptyReturn() { - return std::make_tuple("", sl4n_error_codes::kPassInt); -} - -std::tuple TestFacade::TestStringMaxReturn( - std::string max_string) { - - return std::make_tuple(max_string, sl4n_error_codes::kPassInt); -} - -std::tuple TestFacade::TestSpecificParamNaming( - std::string test_string, int test_int) { - - return std::make_tuple(true, sl4n_error_codes::kPassInt); -} - -////////////////// -// wrappers -////////////////// - -static TestFacade facade; // triggers registration with CommandReceiver - -void test_bool_true_return_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - bool result; - int error_code; - std::tie(result, error_code) = facade.TestBoolTrueReturn(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void test_bool_false_return_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - int result; - int error_code; - std::tie(result, error_code) = facade.TestBoolFalseReturn(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void test_null_return_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - int result; - int error_code; - std::tie(result, error_code) = facade.TestNullReturn(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void test_string_empty_return_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - std::string result; - int error_code; - std::tie(result, error_code) = facade.TestStringEmptyReturn(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - rapidjson::Value tmp; - tmp.SetString(result.c_str(), doc.GetAllocator()); - doc.AddMember(sl4n::kResultStr, tmp, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void test_string_max_return_wrapper(rapidjson::Document &doc) { - int expected_param_size = 1; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - std::string max_string; - if (!doc[sl4n::kParamsStr][0].IsString()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected String input for name"; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - return; - } else { - max_string = doc[sl4n::kParamsStr][0].GetString(); - } - std::string result; - int error_code; - std::tie(result, error_code) = facade.TestStringMaxReturn(max_string); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - rapidjson::Value tmp; - tmp.SetString(result.c_str(), doc.GetAllocator()); - doc.AddMember(sl4n::kResultStr, tmp, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void test_specific_param_naming_wrapper(rapidjson::Document &doc) { - int expected_param_size = 1; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - std::string string_test; - int int_test; - std::string string_member = "string_test"; - std::string int_member = "int_test"; - if (!doc[sl4n::kParamsStr][0][0].HasMember(string_member.c_str())) { - LOG(ERROR) << sl4n::kTagStr << ": Expected member " << string_member; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - return; - } else { - if (!doc[sl4n::kParamsStr][0][0][string_member.c_str()].IsString()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected String input for " - << string_member; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - return; - } - string_test = doc[sl4n::kParamsStr][0][0][string_member.c_str()].GetString(); - } - if (!doc[sl4n::kParamsStr][0][0].HasMember(int_member.c_str())) { - LOG(ERROR) << sl4n::kTagStr << ": Expected member " << int_member; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - return; - } else { - if (!doc[sl4n::kParamsStr][0][0][int_member.c_str()].IsInt()) { - LOG(ERROR) << sl4n::kTagStr << ": Expected Int input for " - << int_member; - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - return; - } - int_test = doc[sl4n::kParamsStr][0][0][int_member.c_str()].GetInt(); - } - bool result; - int error_code; - std::tie(result, error_code) = facade.TestSpecificParamNaming( - string_test, int_test); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -//////////////// -// constructor -//////////////// - -TestFacade::TestFacade() { - - CommandReceiver::RegisterCommand("TestBoolTrueReturn", - &test_bool_true_return_wrapper); - CommandReceiver::RegisterCommand("TestBoolFalseReturn", - &test_bool_false_return_wrapper); - CommandReceiver::RegisterCommand("TestNullReturn", - &test_null_return_wrapper); - CommandReceiver::RegisterCommand("TestStringEmptyReturn", - &test_string_empty_return_wrapper); - CommandReceiver::RegisterCommand("TestStringMaxReturn", - &test_string_max_return_wrapper); - CommandReceiver::RegisterCommand("TestSpecificParamNaming", - &test_specific_param_naming_wrapper); -} - diff --git a/sl4n/facades/test/test_facade.h b/sl4n/facades/test/test_facade.h deleted file mode 100644 index b5da2fa..0000000 --- a/sl4n/facades/test/test_facade.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// Copyright (C) 2016 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#include -#include - -class TestFacade { - public: - TestFacade(); - std::tuple TestBoolTrueReturn(); - std::tuple TestBoolFalseReturn(); - std::tuple TestErrorCodeFail(); - std::tuple TestNullReturn(); - std::tuple TestStringEmptyReturn(); - std::tuple TestStringMaxReturn( - std::string max_string); - std::tuple TestSpecificParamNaming( - std::string string_test, int int_test); - -}; - diff --git a/sl4n/facades/wifi/wifi_facade.cpp b/sl4n/facades/wifi/wifi_facade.cpp deleted file mode 100644 index f45cf9e..0000000 --- a/sl4n/facades/wifi/wifi_facade.cpp +++ /dev/null @@ -1,205 +0,0 @@ -// -// Copyright (C) 2016 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "wifi_facade.h" - -const char kWlanInterface[] = "wlan0"; -const char kP2pInterface[] = "p2p0"; - -std::tuple WifiFacade::WifiInit() { - if (!WifiStartHal()) { - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - - if (!WifiGetInterfaces() || wlan0_index == -1) { - return std::make_tuple(false, sl4n_error_codes::kFailInt); - } - - return std::make_tuple(true, sl4n_error_codes::kPassInt); -} - -bool WifiFacade::WifiStartHal() { - android::wifi_system::InterfaceTool if_tool; - if (wifi_hal_handle == NULL) { - android::wifi_system::HalTool hal_tool; - if (!hal_tool.InitFunctionTable(&hal_fn)) { - return false; - } - - if (!if_tool.SetWifiUpState(true)) { - return false; - } - - res = hal_fn.wifi_initialize(&wifi_hal_handle); - return res == WIFI_SUCCESS; - } else { - return if_tool.SetWifiUpState(true); - } -} - -bool WifiFacade::WifiGetInterfaces() { - int num_ifaces; - int result = hal_fn.wifi_get_ifaces(wifi_hal_handle, &num_ifaces, - &wifi_iface_handles); - if (result < 0) { - LOG(ERROR) << sl4n::kTagStr << ": Can not get Wi-Fi interfaces"; - return false; - } - - if (num_ifaces < 0) { - LOG(ERROR) << sl4n::kTagStr << ": Negative number of interfaces"; - return false; - } - - if (wifi_iface_handles == NULL) { - LOG(ERROR) << sl4n::kTagStr - << "wifi_get_ifaces returned null interface array"; - return false; - } - - if (num_ifaces > 8) { - LOG(ERROR) << sl4n::kTagStr - << "wifi_get_ifaces returned too many interfaces"; - return false; - } - - char buf[128]; - for (int i = 0; i < num_ifaces; ++i) { - int result = hal_fn.wifi_get_iface_name(wifi_iface_handles[i], buf, - sizeof(buf)); - if (result < 0) { - LOG(ERROR) << sl4n::kTagStr - << "Can't obtain interface name for interface #" << i; - continue; - } - if (!strcmp(buf, kWlanInterface)) { - wlan0_index = i; - } else if (!strcmp(buf, kP2pInterface)) { - p2p0_index = i; - } - } - - return true; -} - -bool WifiFacade::SharedValidator() { - if (wifi_hal_handle == NULL) { - LOG(ERROR) << sl4n::kTagStr << "HAL handle not initialized"; - return false; - } - - if (wifi_iface_handles == NULL) { - LOG(ERROR) << sl4n::kTagStr << "HAL interfaces not initialized"; - return false; - } - - if (wlan0_index == -1) { - LOG(ERROR) << sl4n::kTagStr << kWlanInterface << " interface not found"; - return false; - } - - return true; -} - -std::tuple WifiFacade::WifiGetSupportedFeatureSet() { - if (!SharedValidator()) { - return std::make_tuple(0, sl4n_error_codes::kFailInt); - } - - feature_set set = 0; - int result = hal_fn.wifi_get_supported_feature_set( - wifi_iface_handles[wlan0_index], &set); - if (result == WIFI_SUCCESS) { - return std::make_tuple(set, sl4n_error_codes::kPassInt); - } else { - return std::make_tuple(0, sl4n_error_codes::kFailInt); - } -} - -////////////////// -// wrappers -///////////////// - -static WifiFacade facade; // triggers registration with CommandReceiver - -void wifi_init_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - bool result; - int error_code; - std::tie(result, error_code) = facade.WifiInit(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -void wifi_get_supported_feature_set_wrapper(rapidjson::Document &doc) { - int expected_param_size = 0; - if (!CommonUtils::IsParamLengthMatching(doc, expected_param_size)) { - return; - } - int result; - int error_code; - std::tie(result, error_code) = facade.WifiGetSupportedFeatureSet(); - if (error_code == sl4n_error_codes::kFailInt) { - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kFailStr, doc.GetAllocator()); - } else { - doc.AddMember(sl4n::kResultStr, result, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, NULL, doc.GetAllocator()); - } -} - -//////////////// -// constructor -//////////////// - -WifiFacade::WifiFacade() { - wifi_hal_handle = NULL; - wifi_iface_handles = NULL; - num_wifi_iface_handles = 0; - wlan0_index = -1; - p2p0_index = -1; - - CommandReceiver::RegisterCommand("WifiInit", &wifi_init_wrapper); - CommandReceiver::RegisterCommand("WifiGetSupportedFeatureSet", - &wifi_get_supported_feature_set_wrapper); -} diff --git a/sl4n/facades/wifi/wifi_facade.h b/sl4n/facades/wifi/wifi_facade.h deleted file mode 100644 index c68771b..0000000 --- a/sl4n/facades/wifi/wifi_facade.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// Copyright (C) 2016 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#include -#include - -// WifiFacade provides simple wrappers to call Wi-Fi HAL APIs. -// -// Each public function returns a tuple: , where: -// result: result of HAL API or a mock value (of the correct type) -// on failure. -// code: sl4n_error_codes::kPassInt or sl4n_error_codes::kFailInt on -// success or failure respectively. -// -// The wrapper must check whether or not it is possible to call the API. -// Note the function "SharedValidator()" should be used by wrapper to check -// whether or not the HAL is configured correctly. -class WifiFacade { - public: - WifiFacade(); - std::tuple WifiInit(); - std::tuple WifiGetSupportedFeatureSet(); - private: - wifi_hal_fn hal_fn; - wifi_handle wifi_hal_handle; - wifi_interface_handle* wifi_iface_handles; - int num_wifi_iface_handles; - int wlan0_index; - int p2p0_index; - - bool SharedValidator(); - bool WifiStartHal(); - bool WifiGetInterfaces(); -}; diff --git a/sl4n/main.cpp b/sl4n/main.cpp deleted file mode 100644 index 4ded7c0..0000000 --- a/sl4n/main.cpp +++ /dev/null @@ -1,115 +0,0 @@ -// -// Copyright (C) 2015 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#include "base.h" -#include -#include -#include -#include "utils/command_receiver.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -const int kBacklogInt = 10; -#define PORT 8080 -// TODO: Set to a lower buffer size and read socket data until termination -#define SOCK_BUF_LEN 4096 -#define MEMSET_VALUE 0 - -int client_sock; -int socket_desc; - -void SockTest() { - char str[SOCK_BUF_LEN]; - int listen_fd, comm_fd, c; - struct sockaddr_in servaddr, client; - rapidjson::Document d; - rapidjson::StringBuffer buffer; - rapidjson::Writer writer(buffer); - CommandReceiver cr; - - listen_fd = socket(AF_INET, SOCK_STREAM, 0); - memset (&servaddr, MEMSET_VALUE, sizeof(servaddr)); - servaddr.sin_family = AF_INET; - servaddr.sin_addr.s_addr = INADDR_ANY; - servaddr.sin_port = htons(PORT); - - int bind_result = bind( - listen_fd, (struct sockaddr *) &servaddr, sizeof(servaddr)); - if (bind_result != 0) { - LOG(ERROR) << sl4n::kTagStr << - ": Failed to assign the address to the socket." - << " Error: " << strerror(errno) << ", " << errno; - exit(1); - } - - int listen_result = listen(listen_fd, kBacklogInt); - if (listen_result != 0) { - LOG(ERROR) << sl4n::kTagStr << ": Failed to setup the passive socket." - << " Error: " << strerror(errno) << ", " << errno; - exit(1); - } - - comm_fd = accept(listen_fd, (struct sockaddr*)&client, (socklen_t*)&c); - if (comm_fd == -1) { - LOG(ERROR) << sl4n::kTagStr << ": Failed to accept the socket." - << " Error: " << strerror(errno) << ", " << errno; - exit(1); - } - - while (true) { - memset(str, MEMSET_VALUE, sizeof(str)); - int read_result = read(comm_fd, str, SOCK_BUF_LEN); - if (read_result < 0) { - LOG(FATAL) << sl4n::kTagStr << ": Failed to write to the socket." - << " Error: " << strerror(errno) << ", " << errno; - exit(1); - } - - d.Parse(str); - cr.Call(d); - d.Accept(writer); - std::string str2 = buffer.GetString(); - str2 += '\n'; - strncpy(str, str2.c_str(), sizeof(str)-1); - int result = write(comm_fd, str, strlen(str)+1); - if (result < 0) { - LOG(FATAL) << sl4n::kTagStr << ": Failed to write to the socket." - << " Error: " << strerror(errno) << ", " << errno; - exit(1); - } - d.RemoveAllMembers(); // Remove all members from the json object - buffer.Clear(); - } -} - -int main(int argc, char **argv) { - logging::LoggingSettings log_settings; - if (!logging::InitLogging(log_settings)) { - LOG(ERROR) << "Failed to set up logging"; - return EXIT_FAILURE; - } - SockTest(); - return 0; -} diff --git a/sl4n/rapidjson/.gitignore b/sl4n/rapidjson/.gitignore deleted file mode 100644 index 95acb0c..0000000 --- a/sl4n/rapidjson/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -/bin/* -!/bin/data -!/bin/encodings -!/bin/jsonchecker -/build -/doc/html -/doc/doxygen_*.db -*.a - -# Temporary files created during CMake build -CMakeCache.txt -CMakeFiles -cmake_install.cmake -CTestTestfile.cmake -Makefile -RapidJSON*.cmake -RapidJSON.pc -Testing -/googletest -install_manifest.txt -Doxyfile -DartConfiguration.tcl diff --git a/sl4n/rapidjson/CHANGELOG.md b/sl4n/rapidjson/CHANGELOG.md deleted file mode 100644 index 8ad9b3c..0000000 --- a/sl4n/rapidjson/CHANGELOG.md +++ /dev/null @@ -1,79 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## [Unreleased] - -## [1.0.2] - 2015-05-14 - -### Added -* Add Value::XXXMember(...) overloads for std::string (#335) - -### Fixed -* Include rapidjson.h for all internal/error headers. -* Parsing some numbers incorrectly in full-precision mode (`kFullPrecisionParseFlag`) (#342) -* Fix alignment of 64bit platforms (#328) -* Fix MemoryPoolAllocator::Clear() to clear user-buffer (0691502573f1afd3341073dd24b12c3db20fbde4) - -### Changed -* CMakeLists for include as a thirdparty in projects (#334, #337) -* Change Document::ParseStream() to use stack allocator for Reader (ffbe38614732af8e0b3abdc8b50071f386a4a685) - -## [1.0.1] - 2015-04-25 - -### Added -* Changelog following [Keep a CHANGELOG](https://github.com/olivierlacan/keep-a-changelog) suggestions. - -### Fixed -* Parsing of some numbers (e.g. "1e-00011111111111") causing assertion (#314). -* Visual C++ 32-bit compilation error in `diyfp.h` (#317). - -## [1.0.0] - 2015-04-22 - -### Added -* 100% [Coverall](https://coveralls.io/r/miloyip/rapidjson?branch=master) coverage. -* Version macros (#311) - -### Fixed -* A bug in trimming long number sequence (4824f12efbf01af72b8cb6fc96fae7b097b73015). -* Double quote in unicode escape (#288). -* Negative zero roundtrip (double only) (#289). -* Standardize behavior of `memcpy()` and `malloc()` (0c5c1538dcfc7f160e5a4aa208ddf092c787be5a, #305, 0e8bbe5e3ef375e7f052f556878be0bd79e9062d). - -### Removed -* Remove an invalid `Document::ParseInsitu()` API (e7f1c6dd08b522cfcf9aed58a333bd9a0c0ccbeb). - -## 1.0-beta - 2015-04-8 - -### Added -* RFC 7159 (#101) -* Optional Iterative Parser (#76) -* Deep-copy values (#20) -* Error code and message (#27) -* ASCII Encoding (#70) -* `kParseStopWhenDoneFlag` (#83) -* `kParseFullPrecisionFlag` (881c91d696f06b7f302af6d04ec14dd08db66ceb) -* Add `Key()` to handler concept (#134) -* C++11 compatibility and support (#128) -* Optimized number-to-string and vice versa conversions (#137, #80) -* Short-String Optimization (#131) -* Local stream optimization by traits (#32) -* Travis & Appveyor Continuous Integration, with Valgrind verification (#24, #242) -* Redo all documentation (English, Simplified Chinese) - -### Changed -* Copyright ownership transfered to THL A29 Limited (a Tencent company). -* Migrating from Premake to CMAKE (#192) -* Resolve all warning reports - -### Removed -* Remove other JSON libraries for performance comparison (#180) - -## 0.11 - 2012-11-16 - -## 0.1 - 2011-11-18 - -[Unreleased]: https://github.com/miloyip/rapidjson/compare/v1.0.2...HEAD -[1.0.2]: https://github.com/miloyip/rapidjson/compare/v1.0.1...v1.0.2 -[1.0.1]: https://github.com/miloyip/rapidjson/compare/v1.0.0...v1.0.1 -[1.0.0]: https://github.com/miloyip/rapidjson/compare/v1.0-beta...v1.0.0 diff --git a/sl4n/rapidjson/CMakeModules/FindGTestSrc.cmake b/sl4n/rapidjson/CMakeModules/FindGTestSrc.cmake deleted file mode 100644 index f942a8d..0000000 --- a/sl4n/rapidjson/CMakeModules/FindGTestSrc.cmake +++ /dev/null @@ -1,30 +0,0 @@ - -SET(GTEST_SEARCH_PATH - "${GTEST_SOURCE_DIR}" - "${CMAKE_CURRENT_LIST_DIR}/../thirdparty/gtest") - -IF(UNIX) - IF(RAPIDJSON_BUILD_THIRDPARTY_GTEST) - LIST(APPEND GTEST_SEARCH_PATH "/usr/src/gtest") - ELSE() - LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest") - ENDIF() -ENDIF() - -FIND_PATH(GTEST_SOURCE_DIR - NAMES CMakeLists.txt src/gtest_main.cc - PATHS ${GTEST_SEARCH_PATH}) - - -# Debian installs gtest include directory in /usr/include, thus need to look -# for include directory separately from source directory. -FIND_PATH(GTEST_INCLUDE_DIR - NAMES gtest/gtest.h - PATH_SUFFIXES include - HINTS ${GTEST_SOURCE_DIR} - PATHS ${GTEST_SEARCH_PATH}) - -INCLUDE(FindPackageHandleStandardArgs) -find_package_handle_standard_args(GTestSrc DEFAULT_MSG - GTEST_SOURCE_DIR - GTEST_INCLUDE_DIR) diff --git a/sl4n/rapidjson/bin/data/glossary.json b/sl4n/rapidjson/bin/data/glossary.json deleted file mode 100644 index d6e6ca1..0000000 --- a/sl4n/rapidjson/bin/data/glossary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "glossary": { - "title": "example glossary", - "GlossDiv": { - "title": "S", - "GlossList": { - "GlossEntry": { - "ID": "SGML", - "SortAs": "SGML", - "GlossTerm": "Standard Generalized Markup Language", - "Acronym": "SGML", - "Abbrev": "ISO 8879:1986", - "GlossDef": { - "para": "A meta-markup language, used to create markup languages such as DocBook.", - "GlossSeeAlso": ["GML", "XML"] - }, - "GlossSee": "markup" - } - } - } - } -} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/data/menu.json b/sl4n/rapidjson/bin/data/menu.json deleted file mode 100644 index 539c3af..0000000 --- a/sl4n/rapidjson/bin/data/menu.json +++ /dev/null @@ -1,27 +0,0 @@ -{"menu": { - "header": "SVG Viewer", - "items": [ - {"id": "Open"}, - {"id": "OpenNew", "label": "Open New"}, - null, - {"id": "ZoomIn", "label": "Zoom In"}, - {"id": "ZoomOut", "label": "Zoom Out"}, - {"id": "OriginalView", "label": "Original View"}, - null, - {"id": "Quality"}, - {"id": "Pause"}, - {"id": "Mute"}, - null, - {"id": "Find", "label": "Find..."}, - {"id": "FindAgain", "label": "Find Again"}, - {"id": "Copy"}, - {"id": "CopyAgain", "label": "Copy Again"}, - {"id": "CopySVG", "label": "Copy SVG"}, - {"id": "ViewSVG", "label": "View SVG"}, - {"id": "ViewSource", "label": "View Source"}, - {"id": "SaveAs", "label": "Save As"}, - null, - {"id": "Help"}, - {"id": "About", "label": "About Adobe CVG Viewer..."} - ] -}} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/data/sample.json b/sl4n/rapidjson/bin/data/sample.json deleted file mode 100644 index 30930e7..0000000 --- a/sl4n/rapidjson/bin/data/sample.json +++ /dev/null @@ -1,3315 +0,0 @@ -{ - "a": { - "6U閆崬밺뀫颒myj츥휘:$è–ˆmYí–š#rzé£+玭V㭢뾿愴Yî°‘ê–šX亥ᮉ푊\u0006åž¡ã­ë£\"厓ᔧḅ^Sqpv媫\"⤽걒\"˽Ἆ?ꇆ䬔未tv{DV鯀Tἆl凸g\\㈭ĭ즿UH㽤": null, - "b茤z\\î¨.N": [[ - "ZL:ï¿„á‹Ž*Y|猫åŠæ«•è¾Oj为1糕쪥æ³S룂w࡛á²â¸¥èš™)", - { - "\"䬰á»wDæ¾V`邀⠕VDãºsH6[칑.:醥葹*뻵倻aD\"": true, - "eîž¡æµ±uî¿£p蔽Crà· JK軵xCʨ<뜡癙Yç©ï½¹é½ˆX/螗唻?<蘡+뷄㩤쳖3å‘犾&\\첊xzå崦ݻé´\"åµ¥B3㰃詤豺嚼aqJ⑆∥韼@\u000b㢊\u0015L臯.샥": false, - "l?Ǩ喳e6㔡$M꼄I,(3á縢,䊀疅뉲B㴔傳䂴\u0088㮰钘ꜵ!ᅛ韽>": -5514085325291784739, - "o㮚?\"춛㵉<\/﬊ࠃ䃪ä£wp6ἀ䱄[s*S嬈貒pᛥ㰉'ë€": [{ - "(QP윤懊FI<ꃣ『䕷[\"ç’嶮?%Ḭå£à²»ä‡Ÿ0è¤!è—²ë¹bd浶tl\u2049#쯀@僞": {"î—i妾8홫": { - ",Mï£ë§ƒäž›K5nAㆴVNã’Ší–¬$n꩑&êŽæ¤žî·é˜«?/á¹ì„¸ë‰ª1x쥼㻤㪙`\"$쟒薟B煌܀ì¨à­2掳7㙟鴙Xå©¢\u0002": "Vዉèˆï ’᧷⦌kîŒï®žà°ˆnz*ï·œFM\"è­7ê€-VR<\/';ä™E9$䩉\f @s?íªo3^è¡´cî˜à¶Žä§ªaK鼟q䆨c{ä³ 5mᒲՙ蘹ᮩ": { - "Fã²·JGoâ¯Pëµxë’³p䘧☔\"+ꨲå¿JfR㔹)4nç´¬G练Qáž!C|": true, - "p^㫮솎ocî’£.೚A㤠??r\u000f)⾽⌲們M2.䴘䩳:⫭胃\\á¾@Fá­Œ\\K": false, - "蟌Tk愙潦伩": { - "aï‘<\/@ᾛ慂侇瘎": -7271305752851720826, - "艓藬/>á„ṯ,XW~㲆w": {"Eç—§î–郶)㜓ha朗!N赻瞉駠uC\u20adè¾ x퓮⣫P1à «LMMX'M刼唳ë¤": null, - "P쓫晥%k覛ዩIUᇸ滨:å™í˜²lMR5䋈V梗>%å¹½ué –\\)쟟": null, - "eg+昉~矠䧞难\b?gQì­·ç­\\eê® Nl{ಢ哭|]Mn銌╥zê–˜zⱷ⭤ᮜ^": [ - -1.30142114406914976E17, - -1.7555215491128452E-19, - null, - "渾ã¨ß牄귛r?ëŒ?w[âšžÓ»~廩輫㼧/", - -4.5737191805302129E18, - null, - "xyà¿‘M[ocì…’ç«“â’ºx?뜓y䊦>-Dì¼(&&?XKkc꩖ﺸá‹ëµžK伕6ী)딀PæœyWæ™îž¢?훻魢傎EG碸9類៌g踲C⟌aEX舲:z꒸许", - 3808159498143417627, - null, - {"m試\u20df1{G8&뚈h홯J<\/": { - "3ஸ厠zs#1K7:rᥞoꅔꯧ&ë‡éµ¼éž«6è·œ#赿5l'8{7㕳(b/j\"厢aqç±€êš\u0015厼稥": [ - -2226135764510113982, - true, - null, - { - "h%'맞Sì‹…Hs&dï”l슾W0jé¿M×D놯L~S-㇡Rì­¬%": null, - "⟓咔謡칲\u0000孺ꛭx旑檉㶆?": null, - "æ‡I転;￸B2Y`z\\ç“w,ë†æ¿æ’埵䂄)!䶢D=à´­ã´ŸjyY": { - "$ࡘt厛毣ൢIèŠ<겿骫⫦6tr惺a": [ - 6.385779736989334E-20, - false, - true, - true, - [ - -6.891946211462334E-19, - null, - { - "]-\\êŸ1/è–“â§á½Š\\l牑\u0007A郃)阜ᇒᓌ-塯`W峬G}SDb㬨Q臉⮻빌O鞟톴첂B㺱<ƈmu챑J㴹㷳픷Oㆩs": { - "\"â—‰B\"pᶉt骔J꩸ᄇá›iâ•°æ ›K쉷㉯é©!ãˆnì¹äŸ…難>盥yé“¿eà­”è’M貹ヅ8嘋퀯䉶ጥã¢æ®Šë»³\"絧╿ꉑ䠥?∃蓊{}㣣Gk긔H1哵峱": false, - "6.瀫cN䇮F㧺?\\椯=ÚˆT䘆4â˜ïšŒ8qv": -3.5687501019676885E-19, - "Q?yऴr혴{஀䳘p惭f1ﹸ䅷䕋贲<ྃᄊ繲hq\\b|#QSTs1c-7(äµ¢\u2069åŒçµ˜ê¯‰:l毴ï›æ±žt戀oෟᵶ뮱á£-醇Jx䙬äí–¢0࣫á¡grã„›": "\u0011_xM/蘇Chv;dhA5.嗀绱V爤ﰦiëµ²M", - "â‘[\"ugoy^儣횎~U\\섯겜ï¥l2jw஌yD腅̂\u0019": true, - "ⵯɇä²á«¿à¢š!㯢l샅笶戮1꣖0Xe": null, - "劅fë„€ï‹ï§¼bå®ç„ŠE찓橵G!ʱç“뭔雩괛": [{"p⹣켙[q>燣äƒãž½î›œá©²x:쓤삘7玑퇼0<\/qç’‚á‘[ï ™Z\\3䅵䧳\u0011㤧|妱緒C['ì·“Yꞟ3Z鳱雼P錻BU씧U`ᢶg蓱>.1ӧ譫'L_5VäµÐ¦": [ - false, - false, - {"22ä‚盥N霂얢躰îe9â‘©_뵜斌n@B}$ê´»Yá±@䧋V\"☒-諯cVë¯Ê ": true, - "Ű螧ᔼæªéŽë•’딜qꄃH뜣<ç§à¥‚CYå“â¸>XQ㵡趌oë¬k픀빯a(ܵç”ë†à­¯/6Nᪧ}æšá†šì§ŒP牰泱鈷^d꣟#Lì‚€\"㕹襻;k㸊\\f+": true, - "쎣\",|⫝̸阊x庿k잣v庅$éˆê´Žç‚”k쬪O_": [ - "ìž©AzZGz3v愠ꉈⵎ?㊱}Så°³à¯p\r2>ì·IP䘈M)w|\u000eE", - -9222726055990423201, - null, - [ - false, - {"´킮'뮤쯽Wxè®V,6ᩪ1ç´²aႈ\u205czD": [ - -930994432421097536, - 3157232031581030121, - "l貚PY䃛5@ä­„ê·»m㎮ç¸f": 1.0318894506812084E-19, - "࢜⩢Ш䧔1肽씮+༎ᣰ闺馺窃䕨8Mƶqè…½xc(៯å¤J5굄ä•Qj_훨/~価.䢵慯틠퇱豠㼇Qﵘ$DuSp(8Uà¸<\/ಟ룴𥳐ݩ$": 8350772684161555590, - "ㆎQ䄾\u001bpá©­${[è«Ÿ^^骴᤮b^ã…¥I┧T㉇⾞\"绦rä°‚f矩'-î½7ä¡­æ¡¥Dz兔V9谶居ãºá”Šä©¯ë².\u001eL0ὅㅷ釣": [{ - "<쯬Jå·^숞u࠯䌗艞R9닪gã¾ë³Ža䂈歖æ„:%é”|ﵤ|y}î¡»>;2,覂⶚啵tb*ä»›8乒㓶B࿠㯉戩oX 貘5V嗆렽ë‚߼4h䧛êºM空\\b꿋貼": 8478577078537189402, - "VD*|吝z~hè­ºaᯒ": { - "YIì·¢K<\/濳xNne玗rJo쾘3í•°é´Š\"↱AR:ࢷ\"9?\"è‡ï¦¡)?誚êŠe)_D翾W?&F6J@뺾ê°NZ醊Z쾈വHï±å¶¿?炫㷱鬰M겈᭨b,â»éˆµP䕡䀠८ⱄ홎鄣": { - "@?k2鶖㋮\"Oರ K㨇廪儲\u0017ä¾î¿‚J?);\b*묀㗠섳햭1MC V": null, - "UIICP!BUA`î€á¢ˆã‹¸~袩㗪⾒=fBï®´l1ꡛ죘R辂여ҳ7쮡<䩲`熕8é ": 4481809488267626463, - "Y?+8먙ᚔ鋳蜩ï–럶1㥔y璜౩`": [ - null, - 1.2850335807501874E-19, - "~V2", - 2035406654801997866, - { - "<숻1>\"": -8062468865199390827, - "Mã¿£ï€E]}qwG莎Gná¶(ê”™\\D⬲iꇲs寢t駇S뀡ꢜ": false, - "pê¤ãŽ9W%>M;-Uç’fî£(^j1?&RB隧 å¿“b똊îƒE": "#G?C8.躬ꥯ'?냪#< 渟&헿란zpo왓Kj}é·§XﻘMツbä•–;㪻", - "vE풤幉xz뱕쫥Ug㦲aH} ᣟp:鬼Yá°ŸH3镔ᴚ斦\\é‘r*2橱Gâ¼”F/.j": true, - "RK좬뎂aí™ f*f㱉á®â¦‹æ½™ã¨‹Gu곌SGI3Ië¿\\F',)t`è蘯囯ﮉ裲뇟쥼_ገ驪▵æ’ᕤV": 1.52738225997956557E18, - "^k굲䪿꠹B逤%F㱢漥O披M㽯镞竇霒i꼂焅륓\u00059=皫之눃\u2047娤é–銤唫á•b<\/w踲䔼u솆맚,ä’á³'/it": "B餹饴is権ꖪ怯ꦂẉဎt\"!凢谵⧿ï™0\\<=(uLä·åˆ¨ì‘ª>俆æ“Cy襸Q힆䆭涷<\/á±0î É§îŠ‹䗾䚹\\ኜ?ꄢᇘ`ä´¢{囇}᠈䴥X4퓪檄]ꥷ/3謒ሴn+gé¨X", - "GgG꽬[(å«“ëª6\u0004ê¶宩㙻/>\u0011^è¾dTè…ªhxÇ‘%ꊇk,8(W⧂çµP鬜O": [{ - "Mã´¾c>\\ᓲ\u0019V{>ꤩ혙넪㭪躂TS-痴໸闓âµ/徯O.Mã¥Ê·D囎⧔ì³íœ¤T??鉬뇙=#ꢫ숣BXä­¼<\/d똬졬g榿)eꨋﯪ좇첻\u001a\u0011\";~쓆BH4å‹æ”Š7힪", - "iT:L闞椕윚*æ»›gI≀Wਟඊ'ꢆ縺뱹鮚Nê©á§¬è•¼21줧\\䋯``â\\ã±é³¨": 1927052677739832894, - "ì®ç¼¦è…ƒg]礿Y㬙 fî¼ãƒºSɪ꾾N㞈": [ - null, - null, - { - "!t,çY 1䗉罵?c饃호䉂Cá­ì’˜z(즽sZG㬣sഖE4ï‚뢜㓕äžä¸®Qpç°6EZឪ겛fx'ꩱQ0ç½£i{k锩*㤴㯞rè¿ŽjTⲤ渔m炅肳": [ - -3.3325685522591933E18, - [{"ã“5]A䢕1룥Bï²C?Ꙍ`r룔Ⳛ䙡uä¼²+\u0001àµo": [ - null, - 4975309147809803991, - null, - null, - {"T팘8Dﯲ稟MM☻㧚䥧/8ﻥ⥯aXLaH\"顾S☟耲ît7fSà·‰ë†ë®”/ꕼ䓈ìº4\\霶䠴ᩢ<\/t4?죵>uDï›5➶༆쉌럮⢀秙䘥\u20972ETR3æ¿¡æ†vB? ~鸆\u0005": { - "`é––mç’㥉b뜴?Wf;?DV콜\u2020í‰à±“æ“å®ZMj3mJ먡-å‚·ë±™yח㸷꥿ ໘u=Mì!5å­L4v\\?ÇŽ7C홫": null, - "|": false, - "~Ztᛋ䚘\\æ“­ã—傪Wé™–+ã—¶qᵿ蘥ᙄp%ä«Ž)}=â ”6ᮢS湟-èž¾-mXH?cp": 448751162044282216, - "\u209fad놹j檋䇌ᶾ梕ã‰bוּ": {"?è‹´ê© D䋓帘5騱qï±–PF?☸ç—é¡’yU á¡«cbä«Ž S@㥚gꮒ쎘泴멖\\:Ié®±TZ듒ᶨQ3+f7캙\"?\fí’¾\\oæžç´Ÿï»½M.âŽï˜¸é‘OP": [ - -2.6990368911551596E18, - [{"ä’–@<á°¿<\/⽬tTrè…ž&G%᳊秩蜰擻f㎳?S㵧\r*k뎾-乢겹隷j軛겷0ë£é®ï µ": {")DO0è…¦:ì¶é€¿:1㥨่!è›æ¨‹2": [{ - ",ꌣf侴笾m๫ꆽ?1?U?\u0011ꌈꂇ": { - "xæ—ç” nVqä…¦w`CD⦂惺嘴0I#vỵ} \\ê·‚Së´Dì–¾?Ô’j溯\"v餄a": { - "@ç¿™c⢃趚痋i\u0015OQâlqë†Y0pࢥ3쉨䜩^<8g懥0w)]䊑næ´ºo5ì­QL댊랖L镈Qnt⪟㒅십q헎鳒⮤眉ᔹ梠@O縠u泌ㄘb榚癸Xî©­Þ”Ftj;iC": false, - "I&뱋゘|ï£è“”䔕측瓯%6á—»HW\\N1貇#?åƒá—œghá­ªo'䗈꽹Rcìš/蔳迄à¼!0邔䨷푪8ç–©)[쭶緄㇈୧á": { - "B+:ꉰ`sì¾­)ë¹¼Cç¾Aä«ŠpMgjdxäHf9᥸W0!C樃'ï¤f䫤סи\u0017Jve? è¦f둀⬣퓉Whk\"஼=չï³î•¤çš†ç¬BIW虨쫓F廰饞": -642906201042308791, - "sb,XcZ<\/m㉹ ;ä‘·@cäµ€s奤⬷7`ꘖ蕘戚?Feb#輜}p4nH⬮eKL트}": [ - "RKé³—z=袤Pf|[,u욺", - "Ẏá»ç½¯ë‰‹âº–锅젯㷻{H䰞쬙-ì©“D]~\u0013Oã³¢gb@æ¶è”‰|kᦂâ—!\u001ebMè¤sca쨜襒y⺉룓", - null, - null, - true, - -1.650777344339075E-19, - false, - "☑lꄆs힨꤇]'uTന⌳ë†].1â‹”ê´æ²°\"IWà´©\u0019æ°œ8쟇䔻;3衲æ‹,窌zíŽå–íš—?4?Cë„é—®?ᥙ橭{稻Ⴗ_ì”", - "n?]讇빽å—}1å­…9#ê­¨é¶v\u0014å–ˆ)vw祔}룼쮿I", - -2.7033457331882025E18, - { - ";⚃^㱋x:饬ኡj'꧵T☽O㔬ROå©Ž?향ᒭæ©$渣y4i;(Q>꿘e8q": "j~錘}0g;Lèº*;á•­ê„®0l潛烢5H▄쳂ê’וֹꙶT犘≫x閦웧v", - "~î¢æ¯\u2018c4è·ë E~ᑅቚꈂ?nq뎤.:æ…¹`F햘+%鉎O瀜ìŸæ•›è®âŒæµ¢<\/㮺紿P鳆ࠉ8I-o?#jﮨîŸ7v3Dt赻J9": null, - "à£W䌈0êŽqC逖,íš…î·Žcáƒswj;jJSæ«5槗OaB>D踾Y": {"ã’°äµF%î©®?59.î„„ãˆcᕨï†í•í‹Žá¸ã‹©B=9IÛâ“Œ{:9.ywï½å‘°ã†®è‚’᎒tIã¾´62\"ዃ抡C﹬B<\/ì´‹jo朣", - [ - -7675533242647793366, - {"ᙧ呃ï£:[㒺쳀쌡ì‚H稈㢤\u001dᶗGG-{GHྻຊꡃ哸䵬;$?&d\\⥬ã“N圴ë¤æŒ¨-'ê•®$î“‹PU%?冕눖ié­q騎Q": [ - false, - [[ - 7929823049157504248, - [[ - true, - "Zè™\u0017'eꕤ᱕l,0\\X\u001c[=雿8è ¬L<\/낲긯W99g톉4ퟋbãº\u0007åŠ'!麕Q궈oW:@XáŽïœ¬z蘻m絙璩귓죉+3柚怫tSæ‡è’£ä -擶D[0=퉿8)q0ÙŸ", - "唉\nFA椭穒巯\\䥴䅺鿤S#bè¿…ç˜ ï¶—ê¬˜\\?q1qN犠pX꜅^䤊⛤㢌[⬛휖岺q唻ⳡí‹\"ã™™Eh@oA賑㗠yå¿…Nꊑᗘ", - -2154220236962890773, - -3.2442003245397908E18, - "Wá„¿ç­ :瘫퀩?o貸q⊻(᎞KWf宛尨h^残3[U(='æ©„", - -7857990034281549164, - 1.44283696979059942E18, - null, - {"ꫯAwè·­å–€ ?_ï““9\"Aty背F=9缉ྦྷ@;?^鞀w:uN㘢Rá»": [ - 7.393662029337442E15, - 3564680942654233068, - [ - false, - -5253931502642112194, - "ç…‰\\î¶è¾Žî›¢à³†ç½5â’­1äªäƒ‘s䎢:[e5}峳ﴱn騎3?è…³Hyêƒè†¼N潭錖,Yá‹ËœYAá“㬠bG렣䰣:", - true, - null, - { - "â’›'P&%죮|:⫶춞": -3818336746965687085, - "钖m<\/0ÝŽMtF2Pk=瓰୮洽겎.": [[ - -8757574841556350607, - -3045234949333270161, - null, - { - "áœî…½rè¼³>⫇9hU#î¦#w@ê·ªA\\Cî’¢ 鋺㘓ê–梒뒬묹㹻+郸å¬ìœ¤'+g<\/碴,}ꙫ>ì†;情d齆Jä¬àº©æ’›ì±íƒ¹/R澡7剌tꤼ?ặ!`â²ç¤\u00002똥଴âŸ": null, - "\u20f2ܹe\\tAê¥Æ°\\x当뿖ï»ë ‰ç¦›;G檳ﯪï…Sà«°3~㘠#[J<}{奲 5箉⨔{ë†<\/釿抋,åš /曳m&WaOvT赋皺璑ï“í…": [[ - false, - null, - true, - -5.7131445659795661E18, - "è­m䓪D5|3å©à°ž>î‰è ‡æ™¼6nï´ºPp禽羱î¤DS<ç“닫屚ì‚姿", - true, - [ - -8759747687917306831, - { - ">ⓛ\t,odKr{䘠?b퓸C嶈=DyEᙬï¿@ᴔ쨺芛髿UT퓻春<\/yê¸>豚W釺N뜨^?꽴﨟5殺ᗃç¿%>í‚ဿ䄸沂Ea;A_\u0005閹殀W+窊?Ꭼd\u0013Pæ±´G5ì“æ˜": 4.342729067882445E-18, - "Q^즾眆@AN\u0011Kb榰냎Y#ä€ê€’ᳺ'q暇çµs\"!3#I⊆畼寤@HxJ9": false, - "⿾D[)袨㇩i]웪䀤ᛰMvR<èŸã£¨": {"v퇓L㪱ꖣ豛톤î£\\ê³±#ï–©kDTN": [{ - "(ì¾´ä¡£,寴ph(C\"㳶w\"憳2s馆E!n!&柄<\/0Pꈗſ?㿳Qdéµ”": {"娇堰孹L錮h嵅⛤èºé¡’?CglNæŸ+쨣ﺜ\\MrH": {"çžäŽ‡ë‘ƒá‰²å¼­íŒ­^ꄞ踦涟XK錆쳞ឌ`;੶S炥騞ଋ褂B៎{ڒ䭷ᶼéœpIè—虶K$": [{"â—–S~躘蒉꫿輜è­Qã½™é—@ᢗ¥Eæ¦iØ¡5┄^B[絮跉ᰥé™PWi3wㄾⵀDJ9!w㞣ᄎ{ë“’ê““b6\\篴??c⼰鶹⟧\\鮇ꮇ": [[ - 654120831325413520, - -1.9562073916357608E-19, - { - "DC(æ˜è¡µá¼¡ê¸™ê°µå§­|Ö›[t": 7.6979110359897907E18, - "Jâ…))嫼â³9Xfd飉j7猬ᩉ+⤻î®çœ—벎Eé°‰Zᄊ63zá69}Zá¶L崭ᦥ⡦éšâ‹›êŽ¨î´µ~i㨃咊ꧭo䰠阀3C(": -3.5844809362512589E17, - "p꣑팱쒬ꎑ뛡Ꙩ挴æ胔&7ᔈ묒4Hd硶í›ãŽ–zꢼè±ã¿¢aሃ=<\/湉鵲Eî„¡Ó…%$F!í¶æ£Œå­¼{Oé§à¨ºgeu+": ")\u001bìž“kÅ€Xì©«Aë°Â®Ú£ç™¦ç‹¢)扔弒p}k縕ꩋ,䃉tࣼi", - "ã‚¡F肿輸<솄G-䢹䛸êŠl`Tqê•—îŠè’ža氷⸅ᴉ蠰]S/{J왲m5{9.uá½³~㕚㣹u>x8Uè®Bëºè¥ªç›ŽQhVS맅킃i识{벂磄Ià·„ä™…xZy/æŠà«­Zï–Šé²î¦š-霳Væ®æŒ¦â„’": null, - "㯛|Nî½™ê¸b7âµb?æ‹ O\u0014Þ†?-(EꞨ4ꕷᄤYᯕï‘OW瞺~螸\"욿ќe㺰\"'㌢ÆW\u0004çž•>0?V鷵엳": true, - "뤥G\\î¡‹è¿‹ä ¿[庩'꼡\u001aiá©®Vì¯á³ªä¦ªÃ”î²…;倱ନë›èªˆ": null, - "쥹䄆䚟Qæ¦äŽá¢­<\/2ã•£p}HW蟔|äƒî‚꿈ꚉ锳2Pb7㙑Tⅹᵅ": { - "Y?Ö­$>#cVBꩨ:>ï†eLè’å‹™": { - "86柡0po äš&-æ‘Ћ祌<\/휃-G*㶢הּì©s㶟餇c걺yu꽎還5*턧簕Ogå©¥Sê": null, - "a+è‘žh٥ࠆ裈嗫ﵢ5輙퀟ᛜ,QDﹼ⟶Y騠锪E_|x죗jä¾µ;m蜫轘趥?븅w5+miì½›L": { - ";⯭ﱢ!ä¹°Fâ½æŸ¤é¶‚näµ£V㫚墱2ë ¾ELEl⣆": [ - true, - -3.6479311868339015E-18, - -7270785619461995400, - 3.334081886177621E18, - 2.581457786298155E18, - -6.605252412954115E-20, - -3.9232347037744167E-20, - { - "B6㊕.k1": null, - "ZAê„®Jé®·á³±o갘硥鈠䠒츼": { - "á•…}럡}.@y陪é¶r業'æ´î‰°í€‰x䉴ﵴlí˜):씭脴ᥞhiꃰblﲂ䡲엕8߇M㶭0燋標æŒ-?PCwe⾕J碻Ᾱ䬈䈥뷰憵賣뵓痬+": {"aì·©v礗X⋈耓áŠfç½…é®!㔽YYᣓwæ¾33⎔芲F|\"äœT↮輦挑6ᓘL侘?ᅥ]ë†1R௯✎餘6ê½<\/௨\\?qå–·ê«j~@ulq": {"嗫欆뾔Xꆹ4H㌋F嵧]à Ž]ã –1ꞤT<$më«O i댳0ä²iï—Œ": {"?à·©?\u20cd슮|ꯆjs{?îž…d7?eNs⢚嫥氂䡮쎱:鑵롟2hJꎒﯭ鱢3춲亄:ë¼£v䊭諱Yj択cVmR䩃㘬T\"Ní™*ै%x^F\\_s9ë³´zz4æ·—?q": [ - null, - "?", - 2941869570821073737, - "{5{殇0ä¾ïž¢g6ë°–í‹è‡©ç¶¹R$ä–­j紋釰7î‹‘sXI繳漪행y", - false, - "aH磂?뛡#惇då©…?Fe,ì˜+늵ä˜\"3r瘆唊å‹ï¢Šj⳧࠴ꇓ<\/唕윈x⬌讣䋵%拗ᛆⰿ妴á”M2㳗必꧂淲?ゥ젯檢<8ë’ï¶MidXä’3á³»Qî”â–®ä½UT|⤪봦éâŠ", - [[{ - "颉(&뜸귙{yîš’^\"P퟉ì¶á²Ÿä®­î‹ºDé¡¡9=?}Y誱<$bë±£RvO8cH煉@tk~4ǂ⤧â©å±‹Sî›ïž¢S;J{vV#剤餓ᯅc?#a6D,s": [ - -7.8781018564821536E16, - true, - [ - -2.28770899315832371E18, - false, - -1.0863912140143876E-20, - -6282721572097446995, - 6767121921199223078, - -2545487755405567831, - false, - null, - -9065970397975641765, - [ - -5.928721243413937E-20, - {"6ì´Š\u001a홯kB0w撨燠룉{绎6⳹!í„è´‘y▾鱧ժ[;7ᨷ∀*땒䪮1x霆Hᩭ☔\"rî¹›ä7毟á°r惃3ꉭE+>僒æ¾": [ - "Ta쎩aÆt쵯ⰪVb", - [ - -5222472249213580702, - null, - -2851641861541559595, - null, - 4808804630502809099, - 5657671602244269874, - "5犲﨣4mᥣ?yf젫꾯|䋬ìž$`Iⳉﴷ扳å…,'î±c", - false, - [ - null, - { - "DyUIN쎾M仼惀⮥裎岶泭lh扠\u001e礼.tEC癯튻@_Qd4cï…«5S熯A<\/ï¼¼6U윲蹴Q=%푫汹\\\u20614b[௒Câ’¥Xe⊇囙b,ï®æœ3ssë•Šë¢i~逇PA쇸1": -2.63273619193485312E17, - "Mq꺋貘k휕=nKç¡ë«žè¼©>㾆~἞ࡹê¸æ¦µlâ‹™Hw뮢帋M엳뢯î¹…vâ…ƒ^": 1877913476688465125, - "ᶴ뻗`~ç­—å…⚽টW˃â½b犳䓺Iz篤p;乨A\u20efì©?ç–Šmã€ì»©ë«¡b탔鄃ᾈV(é¢ç³=뎲ିeF仢䆡谨8t0醄7㭧瘵⻰컆r厡궥d)a阄á·Ed&c﯄伮1p": null, - "â¯w4曢\"(欷輡": "\"Má­«]䣒頳B\\燧ࠃN㡇j姈g⊸⺌忉ꡥF矉স%^", - "㣡Oᄦ昵⫮Y祎Sì級㭻撥>{I$": -378474210562741663, - "䛒掷留Q%ì“—1*1J*ë“헩ᦢ﫫哉쩧EↅIcê…¡\\?â´Šl귛顮4": false, - "寔愆샠5]ä—„IHï©¥=d﯊/å¶?ॊn%晥D視Nò—˜ˆ'᫂⚦|X쵩넽z질tsî¦kxDQ莮Aoﱻ뛓": true, - "é’£xp?&\u001e侉/yä´¼~?U篔蘚缣/î”›Iç•šï—?Q绊": -3034854258736382234, - "꺲໣眀)â¿·J暘î©pИfAVì‚•ì³­Nꯗ4々'唄ⶑ伻㷯騑倭D*Okï¯ê§3bâ½_ï„¡<\/ì±£Xm톰á•ä†„`*fl㭀暮滠毡?": [ - "Dç”·p`V뙸擨å¿ë¸ª9c麺`淂⢦Yw⡢+kzÜ–\fY1䬡Hæ­)ë²¾Z♤溊-혰셢?1ï”<-\u0005;æ¢Tále\\ᛵߓﭩ榩è¨-xJ;å·¡8깊è ï»“U$K": { - "Vê•¡è«…æ“W=斸s︪vﲜ츧$)iꡟ싉eî®å¯³?ጭムVથ嵬iæ¥Fg<\/Z|៪ꩆ-5'@ꃱ80!燱R쇤tç³³]罛逇dṌ֣XHiͦ{": true, - "Ya矲Cë©—Q9膲墅æºíœ»c\\딶Gç””<\/.齵휴": -1.1456247877031811E-19, - "z#.OOï¿J": -8263224695871959017, - "å´_3夼ᮟ1Fë¸ë½¯á¦“é´­V豈Ь": [{ - "Nè’¬74": null, - "yuB?厅vK笗!ᔸcXQ旦컶P-ë…«mᄉ麟_": "1R@ 톘xa_|﩯é˜î¥§s槞d!d껀筤⬫è–焵먑D{\\ïƒïŽ¿6k共倌☀G~AS_D\"딟쬚뮥馲렓쓠攥WTMÜ­8nX㩴䕅檹E\u0007ï­¨N 2 ℆æ¶ê¥ê µï“3▙玽|ë¨_\u2048", - "æA C䧩G": {":Mí£5e들\\ê€æ¼á”„é¸|Iï¨$)n": { - "|U䬫㟯SKV6ꛤ㗮\bn봻䲄fXT:㾯쳤'笓0b/à³¢Cì³–?2浓uO.ä°´": "à½ê¼‹e?``,ᚇæ…^8ꜙNM䂱\u0001Iá–™ê§M'vKdꌊH牮r\\O@䊷ᓵ쀆(fî »yè»i툺\"?<\/峧ࣞ⓺ᤤ쵒߯ꎺ騬?)刦\u2072læ…ªy꺜ﲖTjî’•+u", - "뽫hh䈵î”w>1â²ì­V[â…Ž\\헑벑F_ã–⠗㫇hæ½;á¿æ±°á±¼ç€–J옆9RRì…vsZ柺鶶툤r뢱橾/ꉇ囦FGm\"謗ꉦ⨶쒿⥡%]鵩#ᖣ_蹎 u5|祥?O", - null, - 2.0150326776036215E-19, - null, - true, - false, - true, - {"\faá­¶Pæ¤WWcá Ÿf뚉á¬í“—â³€Wç¹5:HXH=q7xì°™X$)모r뚥ᆟ!Jﳸf": [ - -2995806398034583407, - [ - 6441377066589744683, - "Mﶒ醹i)Gἦ廃s6몞 KJ౹礎VZ螺费힀\u0000冺업{è°¥'꡾뱻:.ꘘ굄奉攼Diá·‘K鶲y繈욊阓v㻘}枭캗e矮1c?íœ\"4\u0005厑莔뀾墓ë‚⽴洗ṹ䇃糞@b1\u0016즽Yè½¹", - { - "1⽕⌰鉟í”M㤭n⧴ỼD#%é˜âŠ¯ì¿¼ç¨ë¸£ëªç´§á…‡ã“•á›–cw嬀~ഌ㖓(0r⧦Qä‘•é«à´°é“‚㓻Rå„®\"@ꇱmâˆà¯¿á¦¯é Œ8}㿹犴?xn잆꥽R": 2.07321075750427366E18, - "˳b18㗈䃟柵Z曆VTAu7+㛂cb0﯑Wp執<\/臋뭡뚋刼틮è‹ë²²î·´TLP预庰܈G\\O@VD'鱃#ä¹–ëº*鑪ꬳ?MÞždï­¹{â‡åœ¯ì‡œã¼ž顄︖Y홡g": [{ - "0a,FZ": true, - "2z̬è£î’®ê§¦é©¸\u0006L↛Ḣ4๚뿀'?lcwᄧã®!蓚䃦-|7.飑挴.樵*+1ﮊ\u0010ꛌ%貨啺/JdM:ë˜ïˆ!FBe?鰴㨗0Oè´¢I藻ʔWAá«“Gì³›u`<\/I": [{ - "$Ï„5Vé´a뾆両環iZp頻යn븃v": -4869131188151215571, - "*즢[⦃b礞Râ—šnΰꕢH=귰燙[yc誘g䆌?ଜ臛": { - "洤湌鲒)⟻\\䥳va}PeAMnï¼®[": "ã³Éª/(軆lZR,Cpæ®È®Nå•·\"3Bå©´?i=r$펽á¤ì€¸", - "阄R4㒿㯔ڀ69ZᲦ2ç™í•Œå™—På´œîž#\\-ì­è¢›îˆµ&é‘/$4ç«¥Vê©‘_ZHAæ¾¢fZ3": {"x;P{긳:Gé–‰:9?æ´»H": [ - "繺漮6?z犞焃슳\">á»[Ⳛ䌜ë…䂹>èµâ¼¶ç…œï’˜Yæ¡¥[泥뚩MvK$4ï‰jtï¾›", - "E#갶霠좭㦻ୗ먵F+䪀oè’ba쮎4X㣵 h", - -335836610224228782, - null, - null, - [ - "r1á«©0>danjY짿bs{", - [ - -9.594464059325631E-23, - 1.0456894622831624E-20, - null, - 5.803973284253454E-20, - -8141787905188892123, - true, - -4735305442504973382, - 9.513150514479281E-20, - "7넳$螔忷㶪}䪪l짴\u0007é¹Pé°šHFéŠZJﳴ/âŽ1ᷓ忉ç‡áœ‹ì“ˆxëµ mä·çª¥á”^\u0019ᶌå­#ヂt☆áƒpáŽè‡¶äŸ±5ï‰$ä°µ&๵分ìˆ]äˆë‰â™‚åŽ\u0011<>", - "C蒑貑è—lï°°}X喇몛;të°¿O7/᯹f\u0015îµ¼kI嘦<ዴ㟮ᗎZ`GWퟩ瑹࡮ᅴB꿊칈??Ræ ¡sè„š", - { - "9çµæˆ¬+AU^洘拻ቒy柭床'ç²™XG鞕᠜繀伪%]hï ¾C,$è¼™?Utä¹–Qmë–šWï¶8઼}~qâ ªrU䤶CQ痗ig@#≲t샌f㈥酧l;yé—¥ZHæ–¦e⸬]j⸗?ঢ拻퀆滌": null, - "畯}㧢J罚å¸VX㨑>1ꢶkT⿄蘥ã‘o|<嗸層沈挄GEOM@-䞚䧰$만峬è¼ä ±V✩5宸-æ‚D'ã—ªyP掶7bâ ŸJã•»SfP?d}v㼂á…'猘": { - "陓y잀v>╪": null, - "鬿L+7:ë‘Y=ç„ U;킻䯌잫!韎ஔ\f": { - "駫WmGጶ": { - "\\~m6ç‹©K": -2586304199791962143, - "ႜࠀ%Í‘lâ¿…D.ç‘¢Dk%0ç´ªdḨTI픸%뗜☓s榗኉\"?V籄7w髄♲쟗翛歂E䤓皹t ?)ᄟ鬲éœ6Cî³´": { - "_ì·¤a圷1\u000eB-XOy缿請∎$`쳌eZ~æ튻/蜞`塣৙\"⪰\"æ²’l}è•Œ\\롃è«æ°Œ.望wZ|o!)Hnçqg}": null, - "kOSܧ䖨钨:಼é‰ê­O醧Sî…¨`ì‹­`ꓭì­ï¯¢N&Et㺪馻ã¢â…³ã¢ºå´¡àºŠèœšé”«\\%ahx켨|ż劻ꎄ㢄ìŸA躊᰹p譞綨Ir쿯\u0016ﵚOd럂*僨郀N*bã•·63z": { - ":Lï œ5r+T㡲": [{ - "VK泓ë²á®™Ry㓤➙Ⱗ38oi}LJቨ7Ó㹡৘*q)1豢⛃e᫛뙪壥镇æž7Gè—¯g㨛oI䄽 孂L缊ꋕ'EN`": -2148138481412096818, - "`â›á˜‘$(खꊲ⤖á„ꤒ䦦3=)]Y㢌跨NĴ驳줟秠++då­³>8ᎊ떩Eê¡£Sv룃 쯫أ?#Eî·°|á­™ãŽ?zv:5ï©^â‹‘V": [ - -1.4691944435285607E-19, - 3.4128661569395795E17, - "ãƒì´—^G9佭龶nå‹Ÿ8R厞eEw⺡_ㆱ%⼨D뉄퉠2ꩵᛅâ³æ¿L팹Là·€n=\"æ…‰ë…á›®y>!`g!í’²î¦ï¨’[/;?[vï®ê²è»‡}⤳â¤í•âˆŒTã½²R홓é‰ã“¥", - "æ„°_⮹T䓒妒閤둥?0î°šaB@㈧gç„»-#~è·¬x<\/èˆPÝ„ê¡=\\׳P\u0015jᳪá¢q;ã¯l%á­—;砢觨â–,è¬ê°Gy?躤O黩í‹Yã’a擯\n7覌똟_䔡]fJ晋IAS", - 4367930106786121250, - -4.9421193149720582E17, - null, - { - ";ᄌ똾柉곟ⰺKpá‡ä±»à¸ºä–{o~h!ï½…ê¿àª»ìš„Úš\u0002y?xUd\u207c悜ꌭ": [ - 1.6010824122815255E-19, - [ - "宨︩9앉檥pr쇷?WxLb", - "æ°‡9】J玚\u000f옛呲~ è¼ 1D嬛,î•*mW3?n휂糊γ虻*á´«ê¾ ?qîžå‡è¶—Ko↦GTé“®", - "㶢ážmOã”k'诔栀Z蛟}GZé’¹D", - false, - -6.366995517736813E-20, - -4894479530745302899, - null, - "V%᫡IIç’…ï»ä…›ä“Ží’¹ï±¢/pU9seë˜ë›žx梔~C)䨧䩻蜺(g㘚R?/á»°[å¿“C뾠ࢤc왈邠买?嫥挤풜隊枕", - ",vç¢å–”㌲쟚蔚톬៓ꭶ", - 3.9625444752577524E-19, - null, - [ - "kO8란뿒䱕馔b臻âŸéš¨\"㜮鲣Yq5mí”K#ꢘug㼈á¦=P^6탲@䧔%$CqSw铜랊0&m⟭<\/a逎ym\u0013îš¡vᯗ": true, - "æ´«`|XN뤮\u0018è©ž=ç´©é´˜_sX)㯅鿻á»ì‹¹": 7.168252736947373E-20, - "ꛊ饤ï´è¢(逊+~⽫얢鈮ï«è‰¬O힉7Dç­—S곯wæ“I斞᠈븘蓷x": [[[[ - -7.3136069426336952E18, - -2.13572396712722688E18, - { - "ç¡¢3㇩R:o칢行E<=\u0018á¬YuH!\u00044U%å炼2>\u001eSi$â“·ê’ˆ'ï‘¿ë ¢gᙫ番ꯒ㛹럥嶀澈v;è‘·é„•xè“Ž\\惩+稘Uî“´Eᖸﳊ㊈壋Nå«¿â¾æŒŽ,袯苷ኢ\\x|3c": 7540762493381776411, - "?!*^á¢çª¯?\u0001ڔꙃw虜ë³îšFgJ?&⨫*uo籤:?}ꃹ=ٴ惨瓜Z媊@ત戹ã”똩Ԛ耦Wtè½\\æž’^\\ꩵ}}}ꀣD\\]6M_⌫)Hè±£:36섘㑜": { - ";í™—á°°U஋㙛`D왔ཿЃS회çˆ\u001b-㢈`ë´†?盂㛣듿ᦾ蒽_AD~EEຆ㊋(eNwk=RÉ å³­qï’«\"5Ἠ婾^>'ls\n8QAK)- Q䲌mo펹L_ì¹æ¨–庫9ê©ìª¹á˜¹ä‘–ç€aK îž?*趤fë­“å»p=磕", - "î“å“‘z懅á¤-ê¹ux쀭", - [ - true, - 3998739591332339511, - "ጻ㙙?᳸aK<\/囩U`B3袗ﱱ?\"/ké”ä§2ï…¤l@쿎VZ쨎/6ꃭ脥|B?31+on颼-ꮧ,Oå«šm à¡­`KH葦:粘i]aSUì“™$ì‚f+詛頖b", - [{"^<9<ç®&絡;%iï«¡2攑紴\\켉hì“™-柂äšven\u20f7浯-Ꮏ\r^í›ä“ší—¬\u000e?\\ã…¡ÖºJë–·VOt": [{ - "-௄å¶k㘆í˜à®½y⎱㢬sS઄+^瞥h;á¾·jî­;抭\u0003ë°«f<\/5Ⱗ裏_朻ï—%*[-撵䷮彈-芈": { - "㩩p3篊G|å®®hzä‘Šoê³¥j^Co0": [ - 653239109285256503, - {"궲?|\":N1Û¿æ°ƒNZ#깩:쇡o8í‚—à¡Š[\"ë¸Po핇1(6é°$膓}â½*)渽J'DN<ì™ê¸˜æ¯¦ë²Ysì¹–": { - "2Pr?Xjㆠ?æ®/?㓦柖馃5뚣Nᦼ|é“¢rè¡´ã©–\"ç”æ¹—Üæ†": "\"뾯ië‡ç­ç‰»$ç²/4ka $åŒíœ´ï‹è¯‘zbAá©ê‡¸ç‘…&뵲衯ꎀᆿ7@ꈋ'ᶨH@á ´l+", - "7뢽ëšv?4^ꊥ_⪛.>pởr渲<\/⢕疻c\"g䇘vU剺dஔ鮥꒚(dïŸv祴Xâ¼¹\\îºa8y5å†": true, - "o뼄Bìšžç¾hrï·”í˜ë’šâ¿›U5pꪴfg!6\\\"爑ì䢱W<ﶕî\\í…£ç‡oI/BK뺡'谑♟[Ut븷亮g(\"t⡎有?ꬊ躺ç¿è‰©nl F⤿蠜": 1695826030502619742, - "ÛŠê¹–>ࡹ햹^ⵕ쌾BnN〳2C䌕tʬ]ì° ?ݾ2饺蹳ã¶êŒ­è¨\"â—¹á¬D鯎4e滨T輀ﵣ੃3\u20f3í‚™D瘮g\\擦+泙᧠鬹ﯨַ肋7놷郟lPå†{ß’hড়r5,ê“‹": null, - "á¿‹N$y{}2\\N﹯ⱙK'8ɜͣwt,.钟廣䎘ꆚk媄_î­®": null, - "䎥eᾆá¦î‘§ì‰,JÞªn岪ã¥sî­•æ–謽䚔5tã¯ï–µï£šã°³ã±ŠZhD䃭f絕s鋡篟îža`Q鬃┦鸳n_é‚(E4è¿ _觅ë·_宪D(NLî²ç–¶hL追V熑%]vè‚«=惂!㇫5⬒\u001fï²å–º4랪옑": { - "2aè¼85먙R㮧㚪Sm}E2yîŠê†£ê«¨rRymã±è†¶á”¨\\t綾A☰.ç„„ë™—9<쫷챻䒵셴᭛䮜.<\/慌꽒9å»Okä°ŠZ㥪幸k": [ - null, - true, - {"쌞ì": { - "â–ŸGL K2ië›±iï¼±\"Ì .옛1X$}涺]éŽæ‡ Ú¦ëŠ·?tfçŸÝžã‚Ÿ{": 1.227740268699265E-19, - "ê’¶]í“š%ฬKâ…": [{ - "(à·›@Ç®ã£ä§¼äµ¤[aテൖvEnAdUë –ë—ˆ@볓yꈪ,mÔ´|꟢ìº(而첸죕CX4Y믅": "2⯩㳿ꢚ훀~迯?᪑\\å•š;4X\u20c2è¥B箹)ä¿£eá»»w䇄", - "75༂f詳䅫ê§é¿ }3\u20b5'∓ä±è™€fè¼î‘”Iq鈆﨤gí©)BFa왢d0뮪痮Mé‹¡nw∵謊;ê§f美箈ḋ*\u001cî±ïœŸ`퇚í‹ä³«$!V#N㹲抗ⱉçŽ(V嵟ï«_bã³…\u0019": null, - "e_m@(i㜀3ꦗ䕯䭰Oc+-ë ¨0뭦⢹苿蟰ê‚SVä°­å‹¢ë¥.ྈ爑Vd,á•¥=í€)vz뱊ꈊB_6듯\"?{ã’²&㵞뵫ç–ë¡ë¯ˆ%Qwé™,?\ræž®\"? N~癃ruà¡—dn&": null, - "㉹&'Pfs䑜공j<\/?|8oc᧨L7\\pXá­ 9᪘": -2.423073789014103E18, - "ä„瑄䢸穊f盈᥸,B뾧푗횵B1쟢f\u001f凄": "é­–âš2儉j꼂긾껢嗎0ࢇ纬xI4]ï„(à©“`è•ž;픬\fC\"æ–’\")2æ«·I﹥迧", - "ퟯ詔xæ‚ë ¹+T?Bg⥄섅kOeQí¼ã»´*{Eé¼6æ°¿L缋\u001c둌๶-㥂2==-츫I즃ã ï–˜Lg踞ꙂEG貨鞠\"\u0014d'.ç¼—ï¡gI-lIb䋱ᎂDy缦?": null, - "î’¢ç´Mã¦çŠ¿w浴詟棓쵫G:äœ?V2íž½7N*n&ã–ŠNd-'ຊ?-樹DIv⊜)gä‘œ9뉂ㄹí‘阉~ê…쵃#R^\u000bïž®B䌎䦾]p.䀳": [{"ϒ爛\"ꄱ︗竒G䃓-î†ã¾å¸³ã‚.j)qguæ‰å¾£à¨Zé¼—A9A鸦甈!kè”å–™:3Tî†%&ã ˜+,ä·ž|ì±½v䚞문H<\/醯r셓㶾\\a볜åºzEä·_죤ဵ뿰᎟CB": [ - 6233512720017661219, - null, - -1638543730522713294, - false, - -8901187771615024724, - [ - 3891351109509829590, - true, - false, - -1.03836679125188032E18, - { - "j랎:g曞ѕᘼ}链N", - -1.1103819473845426E-19, - true, - [ - true, - null, - -7.9091791735309888E17, - true, - {"}蔰鋈+ê¨å•µ0?g*사%`J?*": [{ - "\"2wG?yn,ç™·BK\\龞䑞x?è ¢": -3.7220345009853505E-19, - ";饹়â€)çš‹`噿焒j(3â¿w>å5Xè–™å©è¿3aFÆÃ": "2,ê“´g?_섦_>Y쪥션钺;=趘F~?D㨫\bX?㹤+>/믟kᠪ멅쬂Uzỵ]$ç§`mé›ç‘Šî’ඖ鯬cꙉ梢f묛bB", - "♽n$YjKiXX*GOè´©éƒè±®ç¥´éžK醞眡}ê—¨v嵎꼷0à­¸+Mè‹eH徸Jîžê£†:â¼æ‚¥B켽迚㯃bè«‚\u000bjꠜ碱逮m8": [ - "푷᣺ﻯd8ﱖ嬇ភHîªé¹Žâ¡±á±…0g:æžœ6$GQ췎{vá·§Yy-è„•xå¹ç ¡ï¨¬â®¸C蓼êš=軄H犠Gè°–ES詤Zè ‚3lë´Ÿhï¿’7䦹1GPQG癸숟~[#駥8zQ뛣J소obg,", - null, - 1513751096373485652, - null, - -6.851466660824754E-19, - {"ä©‚-â´®2Ù°K솖풄꾚ႻP앳1Hî³é·›wmR䗂皎칄?醜<\/&à §ã¬X濬䵈K`vJ륒Q/IC묛!;$vÏ‘": { - "@-êš—xྐྵ@m瘬\u0010U絨ﮌé©\\켑寛넆T=tQã­¤Lì—°@脸삯e-ï–…î–‘:⩼u㎳VQ㋱襗ຓ<Ⅶ䌸cML3+\u001e_C)r\\9+Jn\\Pﺔ8蠱檾è…Pqé³è¯î¦§Tä„I": -1.80683891195530061E18, - "á·­á‹»U~ཷsgSJ`᪅'%ã–”n5픆桪砳峣3ç®æž¾äŒ·âŠ°å‘€ïŒ": { - "Ş੉䓰邟自~X耤pl7间懑徛s첦5ਕXexh⬖鎥á€nNr(J컗|ૃF\"Q겮葲놔엞^겄+㈆è¯ã€¾í¬ç´G'E?飕1fâ¼í…¬æ‚šï•¦æ³¬ë¨Uç¬í›¶Qs": false, - "î³…(\u20dag8í½íŠ£>^Y{뤋.袊䂓î†;_ïg]S\u202a꽬L;^'#î—™ë•bá‚Œ?Cç·¡<ä²ä²æ–­ê6\u001asD7IK5Wxo8\u0006p弊⼂ê¯æ‰µ\u0003`뵂픋%ꄰ⫙ë¶lå›å°›ïˆ®+ä—…E쟇\\": [ - true, - { - "\n鱿aKã¡â’ã¼™2ì´¹f;`ì¾qIà¡”G}ã·äç“°w늮*ç²…9뒪ㄊCj倡翑閳R渚MiUO~仨䜶RꙀA僈㉋⦋n{ã–¥0딿벑î§é€¦â¥»0î¾®h薓쯴ê»": [ - 5188716534221998369, - 2579413015347802508, - 9.010794400256652E-21, - -6.5327297761238093E17, - 1.11635352494065523E18, - -6656281618760253655, - { - "": ")?", - "TWKLꑙ裑꺔UE俸塑炌Ũ᜕-ï’‚o\"徚#": {"M/癟6!oI51niíš=댡>xê¨\u0004 ?": { - "çš­": {"⢫䋖>u%wî²´ìž¼<ä•ê˜P䋵$é­‹æ‹U䮎緧皇Y훂&|羋ꋕ잿cJ䨈跓齳5\u001a삱籷I꿾뤔S8㌷繖_Yឯ䲱B턼Oæ­µF\\l醴o_欬6ç±=D": [ - false, - true, - {"Mt|êžD|F궣MQ뵕T,ëºk+?ãµi": [ - 7828094884540988137, - false, - { - "!༦鯠,&aﳑ>[euJê½ç¶·æB.h": -7648546591767075632, - "-n켧嘰{7æŒæ¯„Y,>â螵煫乌pv醑Q嶚!|âŒè²¬0왾ë¢ê…蛨S\\)ç«°'舓Q}A釡5#v": 3344849660672723988, - "8é–ªéºV=鈢1녈幬6棉⪮둌\u207d᚛驉ꛃ'r䆉æƒà¥ˆ|bἧﺢᒙ<=穊强s혧eꮿ慩⌡ \\槳W븧J檀C,ᘉì˜0俯퀉M;筷ࣴ瓿{늊埂鄧_4æ¸Nn阼Jੵ˥(社": true, - "oë¼€vwï…®)4A뢵(î¼±a䵢)p姃뛸\u000fK#KiQp\u0005ê…芅ì…îª": null, - "ç ¥$ꥸ┇耽uæ–®Gc{z빔깎밇\\숰\u001eê´·å„㶇쵿_á´„+hç©¢p촀Ნ䃬zäé…³Ó‚31xꔄ1_ç šWë ˜G#2è‘ŠP ": [ - -3709692921720865059, - null, - [ - 6669892810652602379, - -135535375466621127, - "뎴iO}Z? 馢녱稹ᄾä©rSt帤넆&7ié¨ë©—ç•–ï”9誧鄜'w{Ͻ^2窭외bã‘Žç²–i矪ꦨ탪跣)KEㆹ\u0015V8[W?⽉>'kc$䨘ᮛ뉻٬M5", - 1.10439588726055846E18, - false, - -4349729830749729097, - null, - [ - false, - "_è ¢ã ^䟪/D녒㡋ỎCä’ˆíŒïŒ¢\u0006àªq@O펢%;é¹ìŒo戥~A[ꡉ濽ỳ&虃᩾è£å”™ï¤£èŒ¨Ig楡꒻M窓冉?", - true, - 2.17220752996421728E17, - -5079714907315156164, - -9.960375974658589E-20, - "ᾎ戞༒", - true, - false, - [[ - "ⶉᖌX⧕홇)g엃⹪xëšç™Ÿ\u0002", - -5185853871623955469, - { - "L㜤9ợㇶKé°â‹“V뽋˖!æ–«as|9"á¬ä†ª?7胜&n薑~": -2.11545634977136992E17, - "O8뀩D}캖qè‚6༣ã—䈓煮å½à¨†áŽ¼Dᣘí›;": false, - "YTá¡…^ï—Lã—ŽcbY$pᣞ縿#fh!ꘂb삵玊颟샞ဢ$ä—é¼’ëª~rkH^:닮먖츸륈⪺쒉砉?㙓扫㆕꣒`R䢱Bé…‚?C뇞<5Iޚ讳騕S瞦z": null, - "\\RB?`mG댵鉡å¹ç‰©äµŽæœ‰5*e骄T㌓ᛪç¾é§’Ku\u001a[柆jUq8⋈5鿋츿myï»—?é›ux঴?": 5828963951918205428, - "n0æ™…:黯 xu씪^퓞cB㎊á¬âº˜Ù¤Öƒ~B岚3㥕擄vᲂ~F?C䶖@$mï›~å¿”S왖㲚?챴⊟W#벌{'ã°Iä ç¸s樘\\X뢻9í•¡I6èㄛî‚î«8쯶]wॽ0L\"q": null, - "x增줖j⦦tä¢áŽ™ïŠ­ã›¿Yf鼘~ê«“æ„4惊\u209c": "oOhbᤃ᛽z&Bi犑\\3B㩬劇䄑oÅ쨅孥ë©àº–acA㖫借ãžvg싰샂ãœ#譞⢤@k]鋰嘘䜾L熶塥_<\/â¾å±ˆï®Š_mYè¹t뙺}Ox=wé®®4S1ê©ï¬¾'å·‘", - "㗓蟵ꂾe蠅匳(JPä—à·¸\u0089耀왲": [{ - "ᤃ㵥韎뤽\r?挥O쯡⇔㞚3ä¼–\u0005Pî•â‹ª\"D궣QLn(⚘罩䩢Ŏv䤘尗뼤ë›O淽鋋î¡é—šrå´©a{4ç®™{煷m6〈": { - "l곺1L": { - "T'ਤ?ç …|੬Km]ä„©\"(࿶<\/6U爢䫈倔郴l2ã´±^줣k'Læµ–Lé°„Rp今鎗⒗Cì–¨Mí›ã¡§Î˜X粜뫈N꤇輊㌻켑#㮮샶-ä—룲è ç™œã±V>=\\I尬癤t=": 7648082845323511446, - "é‹žEP:<\/_`á§e混ㇹBd⯢㮂驋\\q碽饩跓྿ᴜ+j箿ë ã—‘yK毢宸p謹h䦹乕U媣\\炤": [[ - "3", - [ - true, - 3.4058271399411134E-20, - true, - "æ€+憱f逮@먻BpW曉\u001aã£âŽŠ$n劈D枤㡞좾\u001aá›ïŒƒè‹”౩é—1B䷒Ṋ݋âžê€žêƒç£$t੤_:蘺⮼(#N", - 697483894874368636, - [ - "vᘯ锴)0訶}ä³…â©š0O壱韈ߜ\u0018*Ué¾ä–=䧉뽑å•íœ»ID쿇嘗?ꌸῬ07", - -5.4858784319382006E18, - 7.5467775182251151E18, - -8911128589670029195, - -7531052386005780140, - null, - [ - null, - true, - [[{ - "1欯twG<\/ï†Q:0怯押殃탷è«ì‚¬<ỗꕧ蚨ä¡ï¨î³‰nDꌕ\u001cë…¬~蓩鲃gå„Š>ê¡l㻿/â‘·*ì±³6㻜W毤緛ﹺᨪ4\u0013뺚J髬e3쳸䘦伧?æª&{L掾p+꬜MäŠd娘6": { - "2p첼양棜h䜢﮶aQ*c扦v︥뮓kC寵횂S銩&Ç{O*य़iH`Uí…à¡“rä©•5ꄸ?`\\᧫?ᮼ?t〟崾훈kè–ì/iy꤃뵰z1<\/AQ#ë¿©8jJ1z@u䕥": 1.82135747285215155E18, - "ZdN &=dë…„á…†'ì‘â…‰:烋5&áŸï”‹á„‚汎æ¥L㯄固{é’§u\\ãŠíŠšeæ‘‘&tå—„ê–„UbâŒ?m䴘熚9EW": [{ - "ଛ{i*a(": -8.0314147546006822E17, - "⫾ꃆY\u000e+W`௸ \"Më’¶+\\ë·lKE}(NT킶Yjé¸ç¯’î©¥ì¶'jNQ硾(똡\\\"逌â´y? IRꜘ὞鄬﨧:M\\fâ ‹Cꚜ쫊ᚴNV^Dä•—ã…–á¼”Iao꿬Câ8": [ - 287156137829026547, - { - "H丞N逕⯲": {"": { - "7-;枮阕梒9á‘„Z": [[[[ - null, - { - "": [[[[ - -7.365909561486078E-19, - 2948694324944243408, - null, - [ - true, - "荒\"并孷䂡쵼9o䀘F\u0002龬7⮹Wz%厖/*? a*R枈㌦ë¾g뒠䤈q딄㺿$쮸tᶎ릑弣^éŽ<\/Y鷇驜L鿽<\/춋9Mᲆឨ^<\/庲3'lë‚¢", - "c鮦\u001bë‘\\~?眾ಢu݆綑෪蘛轋◜gȃ<\/â´ƒcpkDt誩܅\"Y", - [[ - null, - null, - [ - 3113744396744005402, - true, - "v(y", - { - "AQ幆h쾜O+꺷铀ꛉ練A蚗⼺螔jãŒ3꽂楎䥯뎸먩?": null, - "蠗渗izé±–w]擪E": 1.2927828494783804E-17, - "튷|䀭n*曎b✿~æ¤U]î­¡Gz鄭kW|ã´š#㟗ഠ8u擨": [[ - true, - null, - null, - {"⾪壯톽g7?㥜ώQê‘㦀æƒã§½î“¡ä¼“\\î¦*᧰閖樧뢇赸N휶䎈pIæ°‡ï®é•Šmaᬠ탷#X?î³A+kÐM ༑᩟Ø?5꧎鰜ṚY즫궔 =ঈî³;ﳈ?*s|켦蜌wM笙莔": [ - null, - -3808207793125626469, - [ - -469910450345251234, - 7852761921290328872, - -2.7979740127017492E18, - 1.4458504352519893E-20, - true, - "㽙깹?ë¨ä†¢:ä´ŽÛ»gæ® JBTU⇞}ꄹꗣi#Iî’¡ëµ£é‰r혯~脀ìƒ#釯:场:ä”>ä°®o'ã¼½HZ擓௧nd", - [ - 974441101787238751, - null, - -2.1647718292441327E-19, - 1.03602824249831488E18, - [ - null, - 1.0311977941822604E-17, - false, - true, - { - "": -3.7019778830816707E18, - "Eå³¾æ†èŒ6xLIm縂0n2视֯J-ᤜz+ᨣè·mYDè±ç¹¹â¹ºäŠ“몓ﴀE(@è©®(!ï’Y膽#᎙2䟓섣A䈀㟎,囪QbKæ’wcG湎ꤧtGì—xâ¥ä¿Žj'A一ᯥ뛙6ㅑ鬀": 8999803005418087004, - "よ殳\\zD⧅%Y泥簳Uꈩ*wîRL{3#3FYHା[d岀䉯T稉駅䞘礄P:é—ˆWæ€ElBã¤å–¬èµ”bGä ¼U଄Nw鰯闀楈ePsDꥷ꭬⊊": [ - 6.77723657904486E-20, - null, - [ - "ཚ_뷎꾑è¹q'㾱ꂓ钚蘞慵렜떆`ⴹ⎼櫯]J?[t9Ⓢ !컶躔I᮸uz>3aã •i,錃L$æ°°í…°@7ë…«W㸮?羧W뇧ꃞ,î—‘N鋮숪2ɼì½â”ä²6", - "&y?뢶=킕올Za惻HZk>c\u20b58i?ꦶcfBv잉ETî…9jä¡¡", - "imçŠÕƒb칧校\\뼾쯀", - 9.555715121193197E-20, - true, - { - "<ã«šv6腓㨭e1ã•”&&V∌ᗈT奄5Lጥ>탤?튣瑦㳆ꉰ!(ᙪ㿬擇_n쌯IMá¿‹î£ã•¨â°æ«ˆá±·5풔蟹&L.ì²½e鰷쯃劼﫭b#ﭶ퓀7ë·„Wr㢈๧Tʴશ㶑澕é%": -1810142373373748101, - "fg晌o?߲ꗄ;>C>?=鑰監侯Ktêµ…": true, - "䫡蓺ꑷ]C蒹㦘\"1à°ƒ@å‘«\u0014NLä¾egå‘®á³,r$裢k>/\\?ㄤᇰﻛ쉕1஥'ÄŠ\" \\_?쨔\"ʾr: 9Sä˜ç¦ºáª§ê„‚㲄", - [[{ - "*ç¡™^+E쌺I1䀖ju?:⦈Ꞓl๴竣迃xKC/饉:\fl\"XTFᄄ蟭,芢<\/骡軺ëœhê˜\u001f銿<棔햳▨(궆*=ä¹¥b8\\媦ä·€ë«}닶ꇭ(Kej䤑M": [{ - "1á¬?>옿Iâ•…C<ÞŽ?ꊌ冉SV5A㢊㶆z-๎玶绢2F뵨@㉌뀌o嶔f9-庒茪ç“ë·³4": null, - ";lá°³": "CbB+è‚»aä„·è‹*/볳+/4fq=ã°h6瘉샴4é“¢Yéª.⌖@哼猎㦞+'gꋸ㒕ߤï—ãž‘(䶒跲tiâ‘´aî¥ç¡‚#Noë³”", - "t?/jE幸YHT셵⩎Kî¹!Eq糦ꗣv刴w\"l$ο:=6:移": { - "z]鑪醊嫗J-Xm銌ç¿çµ¨c里ëç‚™Ep㣋é£ë˜¼åšŒä€“GPï¹–cmf4é¹­T䅿꣭姧â¸wy6ꦶ;S&(}ᎧKxᾂQ|tï¹ë»³k\"d6\"|Mlì·†hwLtê¼¼4$&8Պ褵婶鯀9": {"嵃닢ᒯ'î–›d᧫䳳#Nî‡Xe3-붋鸿î¢à¬¢ë–“%dK\u0013䲎ê–YV.裸Râ‰rR3蟛\\:ì ¯:å—ĺLʆ넕>|텩鴷矔ꋅⒹ{t孶㓑4_": [ - true, - null, - [ - false, - "l怨콈lá’", - { - "0wä²å¬§-:`䉅쉇漧\\Ü‚yㄨb%㽄j7ᦶ涶<": 3.7899452730383747E-19, - "ꯛTẀq纤qå¶Vâ¿£?\"g}ი艹(쥯B î­T騠I=仵ë°X": {"KX6颠+&á…ƒ^fç•’y[": { - "H?뱜^?꤂-⦲1aã‹ž&î‘®êƒç²¾Ii᤾챪咽쬘唂쫷<땡劈훫놡o㥂\\ Kâ´™D秼Fæ°®[{'좴:례晰Iq+Iì­¥_T綺砸GOç…䟪ᚪ`î‘↹l羉qì¼Dê½áœ…훦: vUV": true, - "u^yï³0㱓#[y뜌앸ꊬLã·©?蕶蘾â»KӼ": -7931695755102841701, - "䤬轉車>\u001c鴵惋\"$쯃྆⇻në½€Gæ° Såª]ಲê¨æ‡Qxኻ椕駔\\9ࣼ﫻ìœç£¡ï©ˆëºªá¶šë³l㕆t+sζ": [[[ - true, - false, - [ - null, - 3363739578828074923, - true, - { - "\"鸣詩 î›ë³°ã‘µgL㯦῅ì¶æ—«}ED辗ﮈI쀤-ꧤ|ã ¦Z\"娑ᕸ4çˆé¨ã£\"]ì³Af]茛⬻싦oèšk䢯ä©è½3廇喑ޅ": 4.5017999150704666E17, - "TYႇ7ʠ值4챳唤~Zo&Ý›": false, - "`å¡„J袛㭆ëºã³€N㺣`ê½å¶¥Kï¯SVᶔ∲퀠ç¾N딂X\"á¤hNﬨvI": {"\u20bbã­˜I䖵䰼?sw䂷쇪]î(泒f\"~;꼪FÔsá¦": {"p,'ꉂ軿=A蚶?bƉãµä…°è«¬'LYKL6B깯⋩겦뎙(ᜭ\u0006噣d꾆㗼Z;ä„äš”cd<情@äž‚3苼㸲U{)<6&ꩻ钛\u001au〷N숨囖愙j=BXWìš•^x芜å á¿™çˆ‚ë›·ê’»t✘Q\b": [[ - "ç±›&ଃ䩹.ꃩ㦔\\C颫#暪&!勹ꇶ놽攺J堬镙~軌C'꾖䣹㮅ï¶å²ƒá™´éµ£", - 4.317829988264744E15, - 6.013585322002147E-20, - false, - true, - null, - null, - -3.084633632357326E-20, - false, - null, - { - "\"짫愔昻 Xï«\"è—£j\"\"ë¨à½…ѻ㘤㬯0晲DU꟒㸃dë²€î¢ìœ’l䦾cà©»*3": null, - "è°ˆWm陧阦咟ฯ歖擓Nå–´ã‹éŠ­rCCnVࢥ^♼Ⅾ젲씗刊Sà¼+_tèµ”\\bäšë‰¨ê¬«6펛cL䊘᜼<\/澤pF懽&H": [ - null, - { - "W\"HDUuΌ퀟M'P4à¿°H똆ⰱﮯ<\/å‡è˜²\"C鴫ﭒж}ꭩ쥾t5yd诪ﮡí‰â´°@?æ°é†³rj4I6Qt": 6.9090159359219891E17, - "絛ﳛ⺂": {"è«°Pã—®î˜è¦`ZQ?ꫦh*à´±cb⧱}埌茥h{棩렛툽o3é’›5é®l7Q榛6_g)ὄ\u0013kj뤬^爖eO4Ⱈ槞鉨ͺ订%qX0Tì—å«·$?\\\"봅늆'%": [ - -2.348150870600346E-19, - [[ - true, - -6619392047819511778, - false, - [[ - -1.2929189982356161E-20, - 1.7417192219309838E-19, - {"?åµ²2à¿2\u0001啑㷳c縯": [ - null, - [ - false, - true, - 2578060295690793218, - { - "?\"殃呎ïˆ#ã‘‘F": true, - "}Fç‚Š_æ®›oU헢兔êˆ,èµ­9703.Bæ•°gTz3â¬": { - "5&t3,í–“Mݸᵣ㴵;꣫ä©â†³#ï¢@ë«·ä …ï¦+W-ࣇzᓃ鿕ಔ梭?T䮑ꥬ旴]u뫵막bBè®:왳둛lEh=숾鱠på’î›î­ˆ$ì§#?gâ¹·á—Švã·µ.æ–ˆu頻\u0018-G.": "ë½™m-ouࣤ஫牷\"`Ksê•žç­¼3HlȨvCï¢î›¦å ˆ\"I]㖡玎r먞#'W賜鴇k'c룼髋䆿飉㗆xgå·¤9;芔cáŒ/ax䊨♢í“rå“㸫೼䢗da᩾\"]å±£`", - ":M딪<䢥喠\u0013ã–…x9è•ã‘‚XO]f*Q呰瞊å­VP@9,㨣 D\\ç©ŽvˤƩs㜂-曱唅L걬/롬j㈹EB8g<\/ì„©o渀\"u0y&룣": ">æ°ç·©L/ä•‘ë¯êŸ˜îŸ”è•ž^aBë’£+0jK⪄瑨痜LXK^힦1qK{æ·št츔X:Vm{2rçB뾄H첚7æ°¥?쉟䨗ꠂv팳圎è¸é½€\\", - "D彤5㢷Gꪻ[lㄆ@὜⓰絳[ଃç½ì®¹â˜’[*0ꑚ㜳": 9022717159376231865, - "Ò–aV銣tW+$é­¿\u20c3ïœäºœ~ë«¡ᙰ禿쨽ã¡fá¹¼zE/h": "5è‡ï’Œã‹‡á²¯ì®º? 昨탰Wム밎#'\"崲钅U?幫뺀â¾@4kh>騧\\0Ò¾EV=çˆî©®ÍŒUæ€%ꉼ 㮋<{j]{R>:gÔ©L\u001c瀈锌ﯲﳡꚒ'â«¿E4æšãŒ—뵉X\"Háœ", - "ᱚגּ;s醒}çŠSἿ㦣&{T$jkB\\\tḮ앾䤹o<é¿(tW": "vb⯽䴪䮢@|)", - "⥒í껉%惀뗌+녣迺顀qæ¢g⚯i⤭ë£Mç¹j̈́⽜A": -8385214638503106917, - "逨ꊶZ<\/W⫟솪㎮ᘇb?ê ”i\"H㧺x෷韒Xꫨฟ|]窽\u001a熑}Agn?Mᶖa9韲4$3á»´^=ì煤áë·2䣃%ï…Žé· /eQ9頸쥎", - 2398360204813891033, - false, - 3.2658897259932633E-19, - null, - "?ꚃ8Nnãž·å¹µd䲳䱲뀙ꪛQ瑓鎴]䩋-é°¾æ¡ï¾ä³¡??掊", - false, - -1309779089385483661, - "ᦲxu_/yecR.6èŠ.áœ‡éŽ ~", - -5658779764160586501, - "ì’Œ:æ› =lìœä¢œwk#sè•š\"互㮉m䉤~0ë“䋙#Gîš¿;h숄옥顇෤勹(C7㢅雚ã¯Lâ …VVç°…<", - null, - -4.664877097240962E18, - -4.1931322262828017E18, - { - ",": { - "v㮟麑䄠뤵g{Më®.\u001bzt뢜뵡0Ǥ龍떟Ᾰ怷ϓRT@Lꀌ樂Uã â¾•e扉|bJg(뵒㠶唺~ꂿ(땉x⻫싉ìŠ;%0鎻V(o\f,NéŠ%nk郼螺": -1.73631993428376141E18, - "쟧摑繮Q@Rᕾ㭚㾣4éš…å¾…ã“Ž3è’Ÿ": [ - 4971487283312058201, - 8973067552274458613, - { - "`aæ™á£—î\u0015iBo¸": 4.3236479112537999E18, - "HW&퉡ãåœïŸ†Y?ç‘¡Qyí›q!帰ï©s舠㫸zêš—aSæ­²v`G株巷Jp6킼 (ê·¶é”â¾î‹¥â¡ˆ>Mæ±ãžá‰´ê™²dv@i㳓ᇆ?é»": [ - null, - 4997607199327183467, - "E㻎蠫á¾é«˜ä™Ÿè˜¬æ´¼æ—¾ï« í…›ã‡›?'M$㣒蔸=A_亀绉앭rN帮", - null, - [{ - "Eᑞ)8餧A5u&ã—¾q?": [ - -1.969987519306507E-19, - null, - [ - 3.42437673373841E-20, - true, - "eê±·Må¢\"割Pâ›í§åŽ€R䱜3ï»´Oí“«r﹉⹊", - [ - -8164221302779285367, - [ - true, - null, - "爘y^-î¬?蘞Ⲽꪓaâ…ê¨}I", - 1.4645984996724427E-19, - [{ - "tY좗⧑mrzïºã¿¥â´–᥷jè«…\u0000q賋è­êž„â®±S\nà¡£B/íƒêµª3ZÉ‘å¤o<\/;ë¡‹": null, - "彟hæµ _|V4䦭Dᙣ♞uì¿»=ì‚®ã¦\u001e哀鬌": [{"6횣楠,qʎꗇ鎆빙]ã±­R굋鈌%æ ²j分僅ペ䇰wí¦î¼‹p蛃N溈ê¡ê€?@(GI뉬$ﮄ9èªê“š2e甸ڋ[äº,\u0011\u001cࢃ=\\+衪䷨ᯕ鬸K": [[ - "ㅩ拏鈩勥\u000etgWVî–¨Xs陂è¦p狵w퓼{뮵_i\u0002ퟑႢâ¬d6é‹«F~챿æŸ\u0096äš¼1ۼ칥0꣯å„=鋷牋ⅈêžé¾", - -7283717290969427831, - true, - [ - 4911644391234541055, - { - "Iî¹éˆ’ì²½P릜朸W徨觘-HᎄíŸâ“º>8kr1{ê²µäƒã€›á¬¡Ì¨Oê·‘oä•'쿡鉕p5": "fvç²–RNçž–è›a?q꤄\u001d⸥}'ꣴ犿ꦼ?뤋?鵆쥴ë‹ä¡«s矷̄?ඣ/;괱絢oWfV<\/\u202cC,ã–¦0䑾%nè³¹g&T;|lj_欂N4w", - "짨䠗;䌕u i+rà¹0": [{"9ä¥\\à°©8\"馇z䇔<\/á‚¡Y3eç‹šì¡\"ุ6ï°†Zé–c\"Ll:ïŠê®¾ç–£<\/᭙O◌납୕湞9⡳Undã«œ\u0018^4pj1;ä§å„‚ä—·à­—>@e톬": { - "aâ‘‚Fé‹»Qèž°'<퇽Qè´ç€§{ᘪ,cP&~䮃Z?gI彃": [ - -1.69158726118025933E18, - [ - "궂z簽㔛㮨瘥⤜䛖Gℤ逆Y⪾j08î±²Sn昞ꘔ캻禀鴚P謦b{ê“®mNéMᥙ5\"ç2냑I\u0011.L&=?6á„ ë»·X鸌t刑\"#z)oê«šn쳟줋", - null, - 7517598198523963704, - "ኑQp襟`uá©„ræ–¹]*F48ꔵn俺ሙ9뇒", - null, - null, - 6645782462773449868, - 1219168146640438184, - null, - { - ")ယ넌竀Sdä°¾zqâ«£âŒÊ¥\u0010á¿“' |磪&p牢蔑mï³V蘸૰짬꺵;K": [ - -7.539062290108008E-20, - [ - true, - false, - null, - true, - 6574577753576444630, - [[ - 1.2760162530699766E-19, - [ - null, - [ - "é¡Š\\憎zXB,", - [{ - "㇆{CVC9ï¼MN㜋ઘR눽#{h@ퟨ!鼚׼XOvXS\u0017á£=cS+梽៲綆16së½íœy屬?ᇳG2á´­\u00054쫖y룇nKcW̭炦s/鰘ᬽ?J|퓀髣nå‹Œ\u0010í™ P>j": false, - "ç®´": [ - false, - "éžj\"ꮾ*엇칬瘫xṬ⭽ì©äƒ³\"-⋵?ᦽ댎Ĝ": true, - "Pg帯佃籛n㔠⭹࠳ë·â‰»à¿Ÿ3ãž±ï“!î—-ì’¾!}쭪䃕!籿n涻J5ਲ਼yî˜vy;Rኂ%ᔡጀ裃;M⣼)쵂쑈": 1.80447711803435366E18, - "ꈑC⡂ᑆ㤉壂뎃Xub<\/쀆༈憓قì¨×§\\": [ - 7706977185172797197, - {"": {"K╥踮砆NWࡆFy韣7ä밥{|紒︧䃀榫rᩛꦡTSy잺iH8}ퟴ,M?Ʂ勺ᴹ@T@~꾂=I㙕뾰_涀쑜嫴曣8IY?Ò¿o줫fऒ}\\S\"ᦨ뵼#nDX": { - "♘k6?଱癫d68?㽚乳䬳-Vé¡·\u0005è•?\u0018䞊V{邾zã˜l]é›k臤~ൖHë’iꢥ]g?.G碄懺䔛pR$ä…’X觨lë´œA刊8R梒',}u邩퉕?;91Eî¦a䈈ë¯G⊶芔h袪&廣㺄j;ã¡ç¶½\u001bN頸쳘橆": -2272208444812560733, - "æ‹‘Wﵚî²j鵼駳Oࣿ)#ã¾…é¡‚N傓çºy僱栜'Bê-!KF*ꭇK¦?䈴^:啤wG逭w᧯": "xᣱmYe1Û@霄F$ě꧘푫O䤕í€Pq52憬ꀜ兴㑗ᡚ?ï—ƒLé·íŸî—¼ë­zJê‘™}╆ᅨJB]\"袌㺲u8䯆f", - "꿽á…㔂긱Ǧ?SI": -1669030251960539193, - "ì‡É¨`!è‘Ž>瞺瘡驷錶â¤ï»®é…œ=": -6961311505642101651, - "?f7♄꫄Jᡔ훮eì‡îª¼í¾á£ä­´KhखT;Qty}O\\|ë«Iá¿’Ne(5æƒê¥¶ã†·Y9ﮡ\\ oyâ­–-䆩å©m#xë´‰>Y鈕Eç–£s驇↙ᙰm<": {"퉻:dê‚&efï¿Žì«¢[ï„™\"ëˆëŠ–꺙|Ôå‰1Í–-K:Êšá­•/;ì–㷛]Iç—èŒ4gZ4âœkเꛘZ⥺\\Bʫᇩ鄨魢弞&幟ᓮ2̊盜", - -9006004849098116748, - -3118404930403695681, - { - "_彃Y艘-\"Xx㤩㳷瑃?%2ä¡éµ›o귵옔夘v*탋èŒ&㳈챗|Oé’§": [ - false, - "daꧺdᗹ羞쯧Hã¤é„³é ³<型孒ン냆㹀f4ã¹°\u000f|C*ሟ鰠(O<ꨭ峹ipຠ*y೧4VQè””hVæ·¬{?ᵌEfrI_", - "j;ꗣ밷é‚副]á—“", - -4299029053086432759, - -5610837526958786727, - [ - null, - [ - -1.3958390678662759E-19, - { - "lh좈T_ë¯Y\"伨\u001cꔌG爔겕ꫳ晚è¸â¿»ìT䯎]~e#฽燇\"5hٔ嶰`泯r;ᗜ쮪Q):/tç­‘,榄&5ï¤ëŽ«ç‹(": [{ - "2áâ“›]r3C攟וּ9è³µsâ›”6'ஂ|\"ⵈ鶆ä¹ç¦3\"痰ࢤéœäµ©ì˜†äŒ€?æ •r7Oç°‚Isd?Ká«œ`^讶}zî°’8?zì–°î§T:X倫⨎ꑹ": -6731128077618251511, - "|︦僰~m漿햭\\Y1'Vvخ굇á‰ì±¢c趖": [null] - }], - "虌魿閆5⛔煊뎰㞤ᗴꥰF䮥蘦䂪樳-Ká·-(^\u20dd_": 2.11318679791770592E17 - } - ] - ] - ]}, - "묗E䀳㧯᳀逞GMc\b墹㓄ë–Æ &U??íŽŒé‘ åª‹k))á„Š": null, - "묥7콽벼諌J_DɯﮪMæ®´ä£,煚ྼ`Yï“ž:씧<\/â©«%yf䦀!1Ჶk춎Qç±³W∠WC跉鬽*á›±iã´•L꘻ê€ì“ª\"_gé¿„'#tâ½™?,Wg㥖|D鑆eâ¥ìª¸åƒ¬h鯔咼ඡ;4TKèŽî¾‘ì¡ å«ž" - } - ] - ] - } - ] - ] - ]}} - } - ]} - }, - "뿋뀾淣截䔲踀&XJ펖꙯^Xb訅ꫥgá¬>棟S\"혧騾밫ê²7-": "擹8C憎W\"ìµ®yR뢩浗絆䠣簿9äˆå¼•Wcy䤶孖ꯥïž;íŒ]輩ä3@{å 뽸0ï€á¡ˆìµ¡î›„Ⲇ\u001dLåŒê§2F~ݕ㪂@W^é½L襒ᦘî¢~沦zZ棸!꒲栬R" - } - ] - ], - "Z:ëƒàµ›5Iz찇䅄駠㭧蓡K1": "e8᧤좱U%?ⵇ䯿é¿\u0013縮R∱骒EO\u000fg?幤îš@֗퉙vU`", - "äƒìªˆï‘’埽້=Ij,쭗쓇చ": false - }]}} - ] - } - ]} - } - ] - ] - ], - "咰긖VM]á¼6䓑쇎çºetDÒŒ?ãžê©„퇫밉gj8è ƒ\"â©5䛹1ࣚ㵪": "ക蹊?⎲⧘⾚̀I#\"䈈⦞ë·`wo窭戕෱휾䃼)앷嵃꾞稧,Ⴆ윧9S?೗EMk3Მ3+e{â¹”Te驨7äµ’?타Ulg悳o43ï“¢" - } - ], - "zQᤚ纂땺6#ٽ﹧vï¿¿#ࠫ휊冟蹧텈ꃊʆ?&a䥯Deæ½|ì¿“pt瓞㭻啹^盚2êŠf醪,ì–T窧\\Diä•Žè°„nn父ꋊE": -2914269627845628872, - "䉩è·|㨻ᷢã‰B{蓧瞸`î°²I!℄욃힕#ೲᙾ竛ᔺCjk췒늕貭è¯\u0017ï©š?W딚%(pê⤼ë³^=on뺲l䆼bzrﳨ[&j狸䠠=ᜑꦦ\u2061Õµnj=牲攑)Mî»\\é¾": false, - "뎕y絬᫡⥮Ϙᯑ㌔/NF*Ë“.ïž¿,QEzvK!Iwz?|쥾\"ê©»Lê¼—Bꔧ賴緜s뉣隤茛>ロ?(?^îµ­`>冺飒=噸泥⺭Ᲊ婓鎔븜z^å·è£®Ãªâ“…à»—jM7ﶕ找\\O": 1.376745434746303E-19 - }, - "ä›ræ»–wã¤,|Ná‹œ": false - } - ]], - "@ê¿™?è–•å°¬ gd晆(ë„5躕ﻫS蔺4)떒錸ç“?~": 1665108992286702624, - "wë¯ná =`঺ᅥC>'從ë槷ä¤çœ·èž„㎻æ°æ‰°Xï¿ŠCè´½uáƒë‚ŸjKD03T!lDV쀉Ӊy뢖,袛!终캨G?鉮Q)â‘—1쾅庅O4ê‰H7?d\u0010蠈줘월Þ粯Q!낇껉6í…|{": null, - "~Ë·jg쿤촖쉯y": -5.5527605669177098E18, - "펅Wᶺzê†ã¨í‘­e?4j仪열[D<鈑皶婆䵽ehS?袪;Hê¨Më—Žã°[(å—M3qíŸg4y╸鰧茀[Bi盤~ï«å”Žé‹†å½ºî½«â¦Šq?î–³B4쉓癚O洙킋툈䶯_?ퟲ": null - } - ] - ]] - ]], - "꟱Ԕã¤7æ›ï¦—ಃéŒVä·°?v㪃૦~K\"$%请|ꇹn\"kä«›ã¨é²¨\u2023ä„¢\u0004[︊Vï‹•J?䶟ាꮈ䗱=깘U빩": -4863152493797013264 - } - ]}]} - ] - }}} - ], - "ì·ì²Û¹í‰ƒ~aEå”™a챑,9㮹gLHd'ä”|í‚—ãžäŽ¥&KZYT맵7䥺Nâ±³åŒèŽžé¿§w\\༌疣n/+ꎥU\"å°ëž¾â—‹íŸ™AJá­Œ?9ä›$?é©”9è®ì§˜é­¡TÖ¯cè—³`虉Cì‡ì¦T" - } - ], - "谶개gTRï¿>áµÍšdt晑䉇é™æ»º}9㉸P漄": -3350307268584339381 - }] - ] - ] - ]] - ] - ], - "0y꟭馋X뱔瑇:䌚ï¿å»¿jîžg-懲鸭䷭垤㒬茭u賚찶ಽ+\\mT땱\u20821殑ã„J쩩䭛ꬿNSæ½”*d\\X,壠뒦e殟%LxG9:摸": 3737064585881894882, - "í’µO^-⧧ⅶvѪ8廸鉵㈉רâ†Q㿴뺟EႳvNM:磇>wî·/៻唎뷭୥!냹D䯙iëµ±è²C#⼉NH6`柴ʗ#\\!2䂗Ⱨf?諳.Pëˆ-è¿”I꘶6?8î“ê˜": -8934657287877777844, - "溎-è˜å¯ƒi诖ര\"æ±µ\"\ftl,?d⼡쾪⺋h匱[,à·©I8MÒ§F{kç“¿PAî…§'橸ꩯ綷퉲翓": null - } - ] - ], - "ោ係Øî½<å…ƒ": 1.7926963090826924E-18 - }}] - } - ] - ]]}] - }] - ] - ] - ] - ], - "ጩV<\"Ú¸sOᤘ": 2.0527167903723048E-19 - }] - ]} - ] - ]], - "∳㙰3ì ´p᧗䱙?`yZA8Ez0,^á™›4_0븢\u001ft:~䎼s.bb룦明yNP8弆Cå¯;⪾ì§'蕴뮛": -6976654157771105701, - "íµê¦€\\㇑:nî‹™v+뒤燻䀪ﴣï·9ᚈ኷K㚊誦撪䚛,ꮪxሲ쳊\u0005HSf?asg昱dqꬌVꙇ㼺'k*'㈈": -5.937042203633044E-20 - } - ] - }], - "?}\u20e0],s嶳è‹@#2uì’´sQSä©—=ꥮ;烌,|ꘔ䘆": "á…©ì˜Nç’ kZ먕眻?2ቲ芋眑D륟渂⸑ﴃIRE]å•—`K'" - }}, - "쨀jmV賂ﰊå§ä‚¦çŽžã¬™áªM᪟ïՎ씜~`uOn*ॠ8\u000ef6??\\@/?9見d筜ﳋB|Sä¬è‘«ã½o": true - }, - "즛ꄤ酳艚â‚㺘봿㎨iG৕ࡿ?1\"䘓您\u001fSáŠâº¿æºzៀ뻤B\u0019?ìœa䳵᭱䉺膷d:<\/": 3935553551038864272 - } - ] - ]} - ]] - ]] - ]} - } - ] - } - ]]}}, - "᥺3h↛!ê‹°y\"攜(ெl䪕oUkc1A㘞ᡲî촾ᣫ<\/ä’ŒEã›æ½¨i{ï  v?Wà±¾H\\RჅpzè¬R脾;v:碽✘↯삞鷱o㸧瑠jcmK7㶧뾥찲n": true, - "ⶸ?x䊺â¬-ä°…â‰!e쩆2ꎿ准G踌XXᩯ1ß}0?.í—€Z馟;稄\baDꟹ{-寪⚈ꉷ鮸_L7ƽᾚ<\u001bጨA䧆송뇵⨔\\ç¤ë—”d设룱㶉cq{Hyã±R㥽å¢ï¬…p": -7985372423148569301, - "ç·«#ì½®IB6<\/=5Eh礹\t8럭@饹韠r㰛斣$ç”LVì·a갵îŸ'请o0g:^": "䔨(.", - "ë³â„¡åœ¤pï¾à¯„Ä倧訜BìŸGä™”\"Sbâ“®;$$â–S1J뢙SF|赡gï„€*\"Vu䲌y": "䪈&í‹),\\kT鬜1í’¥;ë·´'Zေ䩹@Jéž½Nã¼M?å¥eWb6榀ƩZڮ淽⺞삳煳xჿ絯8eâ¶ç¾·V}ჿ쎱䄫R뱃9Z>'\u20f1â“•äœé½®" - } - ] - ]]] - }} - } - ] - ]}, - "펮b.hç²”í¯2npXè©«g錰鷇㇒<ì™S値bBi@?镬矉`剔}c2壧ଭfhY깨R()痩⺃a\\â”?M&ﯟ<劜꺄ï‘ë©Šá„ŸA\"_=": null - }, - "~æ½¹Rqn榢㆓aR鬨侅?䜑亡V_ç¿…ã­”(ä“·w劸á³Dp䀅<\/ﰎ鶊m䵱팱긽ꆘ긓准D3掱;o:_Ñœ)껚콥8곤d矦8nP倥ꃸI": null, - "뾎/Q㣩㫸벯➡㠦◕挮a鶧⋓å¼\u00001뱓fm覞n?㛅\"": 2.8515592202045408E17 - }], - ",": -5426918750465854828, - "2æ««@0柡g䢻/gꆑ6演&D稒肩Y?艘/놘p{f투`飷ᒉ챻ëŽîª–<늛ä˜ï´¡ì¤°ì«„": false, - "8î™–(鸑嵀⵹ퟡ<9㣎Tߗ┘d슒ل蘯&㠦뮮eà kç g ì—»": false, - "d-\u208b?0ﳮ嵙'(J`蔿d^踅⤔榥\\Jâµ²v7": 6.8002426206715341E17, - "ཎ耰í“ê•ï’ã±·\u0013y=詽I\"盈xm{0쾽倻䉚ષso#é°‘/8㸴짯%ꀄ떸b츟*\\鲷礬ZQå…©?np㋄椂榨kc᡹醅3": false, - "ì‹Šj20": false - }]] - ]], - "ä¿›\u0017nç·½Tu뫉èœé¼Ÿçƒ¬.ï‘ꭠIâ°“\"Ἀ᜾uC쎆J@å¤%ê›m뻨ᾀ画è›íœƒT:錖㑸ዚ9죡$": true - } - ] - ], - "ãµâ‡˜ê¦–辈s}㱮慀밒s`\"㞟j:`ií”»Zì„«^è«Ž0Ok{켿æ­à·£èƒ°a2﨤[탳뚬쎼嫭뉮m": 409440660915023105, - "w墄#*ᢄ峠밮jLa`ㆪ꺊漓Lã§ëŽ!Agkï¹ï¾'ê›ë¢ƒã¯å²¬D#ã’¦": false, - "ଦPGI䕺L몥罭ꃑ궩﮶#⮈ᢓӢ䚬p7웼臧%ï‘¥~Sè âŒíž€6îž’&t䳙y㪘ëƒ\\*;é‰ï¿Šé¿µ'å—•pa\"oL쇿꬈Cgî“": "㶽1ç¸D⟸䴅ᆤ뉎﷛渤csî¸x ä”цꬃ锚æ¬?ຽ+x~꘩uIà¡ž\u0007æ ²5呚ẓem?è¢\")=㥴䨃pac!/æŽY", - "á·±o\\||뎂몷r篙|#X䦜I#딌媸픕åžRDæ–³X4t⯩夬=[ï‹ë­²r=绥jhë·±ì¸âª˜%]⚋܈㖴スHí…¹m(WOæ›åŠ‰0~K3c柢Õã‰ïªªé€³~": false, - "ç…½_qb[첑\\륌wEâ½Ztï”´CNï­+餌ᕜOê›­": "{ﳾ쉌&s惧á­âµ†3䢫;䨞팑ï›ê’ªí˜è¤€à¢–Qä ¿V5뭀䎂澻%ë°›u5í…¸oA⮥U㎦;B䳌wzä•™$áž¿\\௅婺ëµâª¾í†\\`Kyौꋟ._\u0006L챯l뇠Hi䧈å’5", - "艊ä½à£ƒë¡‡ä± çˆ¬ï˜‚!*;⨣æŽïžæ…“qé“|儑ᨋL+è¿¥=6㒺딉6弄3è¾…J-㕎뛄듘SG㆛(\noAzQê±ä°©X*ã¢O퀌%펠낌moí‹®a^<\/F&_눊ᾉ㨦ы4\"8H": 2974648459619059400, - "鬙@뎣䫳á®ë¡?){y?5K;TA*k溱䫜J汃ꂯ싔ì\u001dA}룖(<\/^,": false, - "ëª@QꋦFꊩá’뎶î‡lXl垨4î¤^郣|ꮇ;ä´á“}ìµ²zç–": null - } - ]]]], - ":_=닧弗D䙋暨é›. 㱻붘ä‚Jå„’&ZK/녩䪜rå›â½¯D喠죥7ï“⹌䪥c\u001a\u2076￞妈朹oLkè®F౟覛ì§ã®7T;}è›™2{9\"å´“bB<\/⡷룀;즮鿹)丒툃୤뷠5W⊢嶜(fb뭳갣": "E{å“1WM" - }}, - "䘨tjJ驳豨?y輊M*᳑梵瞻઻ofQGç‘®e": 2.222802939724948E-19, - "ä®´=â‘➶Tà·‹wäžœ\"垦ꃼUt\u001dx;B$뵣䙶E↌艣ᡥ!᧟;ä±€[䔯k쬃`à©8饙른ç†î‹”'2_'袻tGfè’­Jë•Ÿas꯳╖&å•’zWࡇᒫYSá¬\u0014ℑ첥鈤|cG~Pá“®\">\"": "ႆl\f7V儊㦬nHꄬꨧC{ì¢~C⮃⛓嶦vê„Ž1w鰠嘩뿠魄&\"_qMâµ–é‡”ë…®îœ¡ê‡ ãš{ç³Jå“‹ cî°¸v?-jkﻯྌ鹑L舟r", - "龧葆yB✱H盋夔ﶉ?n*0(": "ꧣኆ㢓氥î³qZZ酒ຜ)鮢樛)X䣆gTSî»»Ò‘Gí…žï’˜k.J圬ç–ë¡«ïœì¯­z L:\\ྤ@w炋塜쿖ᾳy뢀䶃ë±N䥨㚔勇ê²#p", - "ë„ç•ŽQ娡\"@S/뼋:äµ!Pè¡…ì´šfVHQs✜á«i㻑殡B䜇%믚k*U#濨낄~": "êŸá‹•ì³¸êˆæ•‹&lå¦\u0005憡멗瘌uPgá…ªm<\/To쯬锩h뒓k" - } - ] - }], - "墥홞r绚<\/⸹ⰃB}<躅\\Y;๑@䔸>韫䜲뱀X뗩鿥쩗SI%ﴞ㳕䛇?<\/\u00018x\\&侂9é‹™a[LRã‹­W胕)â¡¿8ãž™0JF,}?í—ˆd1cDMáƒâ›é„ⱕ%X)!XQ": "â³ê—³=橇a;3t⦾꼑仈î¥á€°aᚯ⯋ꕃAsé´·Nâ•_䎃ꙎAz\u0016䯷\\<à¿«>8q{}ï½·?ᣰ}'0ᴕ펓B┦lF#趤厃T?ã•Š#撹圂䆲" - }, - "Ü‹ë‹é¾«ï¥c웑": false, - "ㇿ/q\"6-co髨íœCí¦#\u001b4~?3ä¹E삇<<": 7.600917488140322E-20, - "äE6?㣖êƒé—´t祗*é‘ {ḣV(æµ¾h逇íž=W?ૉ?nꇽ8ꅉຉj으쮺@êš„ã°¤u]Oyr": "vâ‰á«¸_*όAඤԆl)ۓᦇQ}í zà¼q滚", - "ソ᥊/넺I": true - }]] - ] - ] - ] - ]] - }, - "ä­‘Ik攑\u0002QV烄:芩.麑㟴㘨≕": true, - "å„꿕C쇻풉~å´%碼\\8\"䬦꣙": null, - "欌L圬䅘Y8c(♺2?ON}o椳s宥2䉀eJ%é—¹rå†O^K諭%凞⺉⡻,掜?$ꥉ?略焕찳㯊艼誜4?\"﯎<ï±ã‚›XáˆINT:è©“ +": -1.0750456770694562E-19, - "ç’àc뜭싼ﺳ뎤K`ïŸ]p隨LtE": null, - "ç”™8䵊神EIꩤé¯á¢€,ïµ®Uä‘u疒ử驺䚿≚ഋ梶秓F`覤è­#짾蔀묊4<åªì¬¦éª_Yzgcࡶ4kç´¥`kc[Lï®—î°£ç°*I瀑[â¾°L殽鑥_mGÈ <\/|囹ç gæ¡°iri": true, - "챓ꖙꟻì¢è‡ou,å— 0\\jK핻뜠qwQ?ഩ㼕3Y彦b\u009bJ榶N棨f?ë¦é–綃6é³µM[OEë´¨uí–.Ꮁ癜蟳뽲ꩌ뻾rM豈Rï¨ç¾« uDꎚ%": null - }, - "V傜2<": 7175127699521359521 - }], - "é“«aG切<\/\"ী⊆e<^g࢛)Dé¡ï½Žï¬®é¥¼\u008c猪繩嵿ﱚCꡬ㻊g엺Aì—¦\u000fæš¿_f꿤ë³ã¦•æ¡¦`蒦䎔j甬%å²rj ç³": "䚢åŽëˆ´Au<4箞7礦Iï±”å eȧ䪸uï„€äµp|逹$嗫쨘ꖾï·!胠z寓팢^㨔|u8Nሇe텔ꅦ抷]،鹎ã³#༔繁 ", - "낂乕ꃻ볨ϱ-ꇋã–fsâ¿«)zꜦ/K?솞♞ꑌ宭hJ᤭瑥Fu": false, - "쟰ãœé­›G\u0003u?`㾕ℾ㣭5螠烶這趩ꖢ:@å’•ê¶xë’˜ëŠmä°¨bç—ƒë 0鳊喵熬딃$摉_~7*ⱦ녯1錾GKhJ惎秴6'H妈Tᧅ窹㺒疄矤铟wላ": null, - "쯆q4!3錕ã²âµ†ã‡›ê˜·Zç‘©ë­†\\â—ªNH\u001d\\ã½°U~㯶<\"쑣낞3ᵤ'峉eꢬ;鬹o꣒木X*é•·PXᘱu\"ä ¹n惞": null, - "ᅸ祊\"&ꥴCjࢼ﴿?䡉`U效5殼㮞V昽êª#ﺸ\\&t6x꠹盥꣰a[\u001aêªSpe鎿蠹": -1.1564713893659811E-19 - } - ]] - ] - ] - ], - "羵䥳H,6ⱎ겾|@t\"#í–Šî¦1|稃 ì„­)ëœ=뻔ꡜ??î¿ž?æ«Ž~*á¿¡ê«Œ/繣ﻠq": null - } - ]} - ]}, - "츤": false - }}, - "s": 3.7339341963399598E18 - } - ], - "N,I?1+㢓|ࣱ嶃쩥V2\u0012(4EE虪朶$|w颇væ­¥": "~ì¢~_,Mzrã«YB溓Eæ·š\"ⅹ䈔áºæŠ™ b,nt5Vã’J檶ê¨â»”?", - "Q껑ꡡ}$넎qHç…”æƒ/ez^!ẳF댙äŒé¦»å‰8": "梲;yté’°$i冄}Aî‘”L%a jëœå¥·ê±³ëš¾d꿽*ሬuDY3î…—?뮟鼯뮟wãªí‹±îŸ‚V", - "o{Q/K O胟ãzUdê€m&⨺J舕â¾é­¸è¨ŸãŒ¥[T籨櫉å”í‚ aṭ뱫촙莛>碶覆⧬짙쭰ׯdAiH໥벤í¥_æ¸[ 0î­¬e:죃TCå¼¼èŽëµDA:w唵ê£": null, - "á½æ¨Žäµ®è»§|?à±—aWH쩃1 ê…­su": null - } - ] - }, - "å‹‚\\&mé°ˆJ釮=Ⲽ鳋+䂡郑": null, - "殣b綊倶5㥗惢⳷è¢á‘€ä¬„镧M^ï±´3⣢翣næ«»1㨵}ኯ뗙顖Z.Q➷ꮨ뗇\u0004": "ê”™ä¼>n^[GीA䨟AMç¢á’ŠS쨲w?d㶣젊嘶çºéº“+æ„£a%気ྞScë“ᔘ:8bM7Xd8㶑臌]Ꙥ0ê­ì’™ä«£æŒµCè–½î€Dfⵃ떼᷸", - "?ç´¡.ì…ª_à·¨j\u0013Oxâ” $Xᶨ-á…‡oè–¹-}軫;yæ¯ãªœKã£?.EVì®±4둽⛻䤜'2盡\u001f60(|eì°ã¼Žá¦€ã’§-$l@ﻑå³\u0003ä­±å“å·—WFo5c㧆Tí„Y맸♤(": -2.50917882560589088E17 - }} - ], - "侸\\릩.᳠뎠狣살cs项䭩畳H1s瀉븇19?.w骴崖㤊h痠볭㞳㞳ä®Ql怠㦵": "@䟴-=7f", - "鹟1x௢+d ;viä­´FSDS\u0004hꎹãš?â’â¦Ñž6u,扩@ë·Su)Pag휛Tá’—Vç—©!çžé‡€ê–žè˜¥&ೞè˜ê­°êž‡áŽ": "ah懱Ժ&\u20f7䵅♎඀䞧鿪굛ౕ湚粎蚵ᯋ幌YOE)५襦ãŠY*^\"R+ඈî¶å’·è¶9î—ꥂ榨艦멎헦é–ë¶v좛咊E)K㓷ྭr", - "æ†q쮦4綱켙ì….f4<\/g<籽늷?#蚴픘:fF\u00051㹉뀭.á°–í’ŽfÖ¦Hv蔎㧤.!ä­½=éž½]ìŒH:?\"-4": 8.740133984938656E-20 - }]} - } - ], - "tVKn딩꘥⊾蹓᤹{\u0003lR꼽ᄲQFá…傅ﱋ猢⤊á”,E㓒秤nTතv`â™›I\u0000]꫔ṞD\"麵cè¸î“²æ°X&æ¿¿ë˜ê£¹ê¹³à±¥è‘‚é¿Ž\\aꡨ?": 3900062609292104525 - } - ], - "ਉ샒⊩Lu@S䧰^g": -1.1487677090371648E18, - "⎢k⑊꬗yá«7^err糎Dt\u000bJ礯확ã†æ²‘サꋽeèµ”ã¢^J\u0004笲㿋idra剰-᪉C錇/Ĝ䂾ညS지?~ì½®gR敉⬹'䧭": 1901472137232418266, - "ç—k䶥:?ì´½è´ì“‰ê“ˆã’¸gç˜[뵎\\胕?\u0014_榙p.j稶,$`糉妋0>Fá¡°ly㘽$?": "]ê™›O赎&#ã ƒë±å‰³î°·\"<â—†>0誉é½_|z|裵씪>áŒã¼\"Z[ç•}O?G뚇諦cs⠜撺5cuç—‘U圲\u001c?鴴計l춥/╓哼䄗èŒîšªê®…뫈댽AëŒë¡–뤫V窗讬sHd&\nOi;_î´–u" - } - ], - "Uﺗ\\Y\\梷䄬~\u0002": null, - "k\"Y磓ᗔ휎@U冈<\/w컑)[": false, - "æ›Jè·âŒ»ë¦\u001f㙳s꥓âŸé‚«P늮쥄c∬ྡྷ舆렮칤Z趣5콡넛A쳨\\뀙骫(棻.*&è¼›LiIfi{@EA婳KᬰTXT": -4.3088230431977587E17 - }]} - ] - ], - "곃㲧<\/dఓꂟs其ࡧ&N葶=?c㠤Ჴ'횠숄臼#\u001a~": false - } - ] - ]}] - }] - }} - ], - "2f`â½°E쵟>Jî•ç¬‚裭!〛觬囀ۺ쟰#æ¡Šl鹛ⲋ|RA_Vxá­gEë“h﵀mfá»|?juTUæ¡£[d⢼⺻pæ¿š7E峿": 5613688852456817133 - }, - "濘ë¶gå¿®7ãµæ®¬W팕Qæ› ë«°)惃廊5%-î«è¹šzYZ樭ﴷQ锘쯤崫îŸgg": true, - "絥ᇑâ¦ì’“븣爚H.ã—Šß„o蘵貆ꂚ(쎔O᥉î¼ï®“]姨Wê“!RMA|o퉢THxè½®7Mê»U즨'i뾘舯o": "è·¥f꜃?" - }} - ], - "é·°é¹®K-9k;ï°°?_ݦѷ-ꅣ䩨Zꥱ\"mꠟ屎/콑Y╘2&鸞脇ã¢ê€‡à ºâ°¼æ‹¾å–­í‹®îL꽩bt俸墶 [l/웄\"꾦\u20d3iও-&+\u000fQ+໱뵞": -1.296494662286671E-19 - }, - "HX੹/⨇୕붷Uﮘ旧\\쾜͔3l鄈磣糂̖䟎Eá³wæ©–bá¿€_딕huè‘°î¤çª³é—¹Ð²U颵|染H죶.fPä—®:jä«¢\\b뎖i燕ꜚGâ® W-≚뉗l趕": "ଊ칭Oa᡺$IVã·§L\u0019脴셀붿餲햪$迳å‘ì¯ì¼‚PqfT\" ?î¹€I屉鴼쿕@ç¡™z^é•ãŠµM}ãš›T젣쓌-Wâ©-g%⺵<ë®±~빅╴瑿浂脬\u0005왦燲4áƒb|Då § <\/oEQh", - "䘶#㥘à©îººìº”ï” f巋ἡAJ䢚쭈ࣨ뫒*mᇊK,ࣺAꑱ\u000bR<\/A\"1a6鵌㯀bh곿w(\"$ê˜*rà²è¶£.dà¿©k/抶면䒎9W⊃9": "漩b挋Swè—Ž\u0000", - "ç•€e㨼mK꙼HglKb,\"'䤜": null - }]}] - ] - ] - }] - ]} - ] - ]} - ], - "æ­™>駿ꣂ숰Q`J΋方樛(d鱾뼣(ë«–í„­\u20f9lচ9æ­Œ8o]8윶lì–¶?é•–G摄탗6í‹íµ+g:䱫홊<멀뀿/س|ê­ºsê±è·¶ç¨šW々c㫣⎖": "㣮蔊깚Cꓔ舊|XRfé»ã†šï¸†'쾉ì·\\&言", - "æ®­\"cÞɨê™äž˜:嬮eæ½½Y펪㳅/\"O@à —ê²´]ì·–YÇž(t>R\"N?梳LDæ­=næ°¯Tè±°2R諸#N}*ç§ï¡§4}㶊Gä£bì–š": null, - "襞<\/啧 B|싞W瓇)6簭鼡艆lNì©`|펭佡\\é–“é‚[z릶&쭟愱ꅅ\\Tá°½1鯯åæ ˆ4̸s윜R7â’/똽?치X": "âŠèº–Cﱰ2Qẫè„&இ?%ëƒæ‚Š", - ",é°§åµì…£îˆ›ì‹¹xᎹ힨᯳EṬHïŽã¹–9": -4604276727380542356 - } - } - ]]]], - "웺㚑xs}q䭵䪠馯8?LB犯zK'osäš›HZ\"L?ì…Žs^㿧㴘Cv2": null - }] - ] - ] - ], - "Kdî©´2Kv+|z": 7367845130646124107, - "ᦂⶨ?ᢠ祂些ഷ牢㋇æ“\"腭䙾㖪\\(y4cE뽺ㆷ쫺ᔖ%zfÛ»$Ñž1柦,㶢9r漢": -3.133230960444846E-20, - "ç˜Mç„€q%㢟f鸯Oâ£è“‘맕鯊$Oå™·|)z褫^㢦⠮ꚯ꫞`毕1qꢚ{ĭ䎀বώT\"뱘3G൴?ï¢ï¢^^oï…¯f": null - } - ], - "a8V᯺?:ﺃ/8ꉿBq|9啓댚;*i2": null, - "cpT瀇Hç°á»ªpೃi鎪Rrâ£ìˆ¬-鹸ҩ䠚z脚цGoN8å…¥y%趌I┽2ឪЀiJNcN)槣/â–Ÿ6S숆牟\"箑X僛G殱娇葱T%æ»:J諹昰qV쨰": 8331037591040855245 - }], - "G5ᩜ䄗巢껳": true - } - }, - "Ồ巢ゕ@_è­™A`碫é„㡥砄㠓(^K": "?܃B혢▦@犑ὺD~Tâ§|é†;o=J牌9냚⢽㨘{4è§èš”9#$∺\u0016p囅\\3Xk阖⪚\"UzA穕롬✎âžã­’춺C㣌ဉ\"2瓑员ᅽê¶ë«}꽚ꞇ鶂舟彺]ê½JCè§éŠ‰", - "â†Äšè†\"b-í‰ACR言J謈53~V튥x䜢?ꃽɄY뮩ꚜ": "K/↾eèƒ}]Bs⾿q룅鷦-膋?m+æ­»^魊镲6", - "粡霦cæž‹AHíŸo礼Ke?qWcA趸㡔ê‚?\u000e춂8iতᦜ婪\u0015㢼nﵿê»!á´é–¢\u001d5j㨻gfá¿©UK5Juä¸tã‹TI'?ã“t>⼟o a>i}á°—;뤕Ü": false, - "ꄮ匴껢ꂰ涽+䜨B蛹H䛓-kè•žfu7kLè°–,'涃V~챳逋穞cT\"vQ쓕ObaCRQã“¡â²®?轭⫦輢墳?vA餽=h䮇킵ní²í‰…喙?\"'1ç–¬V嬗Qdç—'Lự": "6v!së¯ã­Ÿî€µî¦˜ã£¯çƒ!磸餠ቂh0C뿯봗Fé·­gê–¶~コkK<ᦈTtïŽ\\è·“w㭣횋钘ᆹ듡䑚W䟾X'ê…”4ï€FL勉Vܴ邨y)2'〚쭉⽵-鞣E,Q.?å—", - "?(˧쩯@å´Ÿå‹æ­„K": null - }, - "Gc럃녧>?2DYIé´¿\\륨)æ¾”0ᔬlx'觔7젘⤡縷螩%Sv׫묈/]↱&S ï…h\u0006æ­‹á‘›xi̘}ã²Y蔯_醨鯘煑橾8?䵎쨋z儬ê*@츾:": null - } - } - } - ] - ] - ]} - }, - "HO츧G": 3.694949578823609E17, - "QC\u0012(翻曇Tfã·ŸbGBJ옉53\\嚇ᛎDï–/\u001b夾á‰4\"í•€@祎)쫆yD\"i먎Vnî¿ã¿¿V1Wá¨ä¶€": -6150931500380982286, - "Zã“®P翸é±é‰¼K䋞꘺튿â­Y": -7704503411315138850, - "]모开ꬖP븣c霤<[3aΠ\"é»ä––䰑뮋ꤦ秽∼㑷冹T+YUt\"싳F↭ä–&é‹Œ": -2.7231911483181824E18, - "tꎖ": -4.9517948741799555E-19, - "䋘즊îŽ.⬅IꬃۣQ챢ꄑé»|f?C⾺|å…•ì¯sC鬸섾整腨솷V": "旆柩l쪦sá–¸My㦅울ì‰ç˜—㎜檵9ï……ê‚駓ૉᚿ/u3ì”…å¾ï¤¥[Z䞸ࡗ1ꆱ&Q풘?Ç‚8\u0011BCDY2볨;é¸": null, - "幫 nç…¥sì‡íŽ‡ 왊-$C\"è¡:\u0014㣯舼.3ë™—Yl⋇\"Kè¿Žë©Ž[ê½µs}9鉳UK8ì¥\"掄㹖h㙈!얄સ?Ꜳ봺R伕UTD媚I䜘Wé¨è”®": -4.150842714188901E-17, - "ﺯ^ã„„\b죵@fྉkf颡팋î¤êž¦{/Pm0V둳⻿/è½éŸ’ꊔᚬ@5螺G\\å’¸a谆⊪ቧ慷绖?è´¢(é·‡uéŒF=rá橢ឳn:^iá´µtD볠覅Nèµ´": null - }] - }] - } - ] - ]} - ]}, - "謯?w厓奰T李헗èážè²–o⪇弒L!캶$ᆅ": -4299324168507841322, - "뺊奉_åžæµ¸å»¶ëªå­„Z舰2i$q붿좾껇d▵é¤\"v暜Ҭì„mï¿´g>": -1.60911932510533427E18 - } - ] - } - ] - ]], - "í‰êº”㠦楶Pê…±": 7517896876489142899, - "ï™°": false - } - ]}, - "是u&I狻餼|è°–j\"7cë®sï­-踳鉷`䣷쉄_A艣鳞凃*m⯾☦椿q㎭Nîœæº”铉tlㆈ^": 1.93547720203604352E18, - "ï…µkⲨ\\%vr#\u000bâ’ºY\\t<\/3﬌R訤='﹠8è¤êž´ë ´æ›”r": false - } - ]}, - "阨{c?C\u001d~K?鎌Ԭ8烫#뙣Pì´ˆé—tã­±E­ë’䆺}ç”—[R*1!\\~hã•…á°º@<9JêષIä³–æ ­6綘걹ᅩM\"▯是∔v鬽顭⋊譬": "ìš´ï¶Kæ•‚(欖C취پ℄爦賾" - } - }} - }], - "鷨赼鸙+\\ä­£t圙ڹx᜾ČN<\/踘\"S_맶a鷺漇T彚⎲i㈥LT-xA캔$\u001cUH=a0츺l릦": "溣㣂0æ¿•=鉵氬駘>Pꌢpb솇쬤h힊줎çªãª¬CrQ矠a&è„꼬爼M茴/á¿®\u0017å¼è½¼y#êž c6ë‘´=?Rå´ë· éº–w?" - }, - "閕ᘜ]CT)䵞l9z'xZF{:ØI/躅匽ì¡:䟇AGF૸\u001cퟗ9)駬慟ꡒꆒRS״툋A<>\u0010\"ꂔ炃7gëšEà§îˆbꅰ輤]oã±_뷕ܘ暂\"u": "芢+U^+㢩^鱆8*1鈶鮀\u0002뺰9⬳ꪮlL䃣괟,G8\u20a8DF㉪錖0ㄤ瓶8Nଷd?眡GLc陓\\_죌Vì°à¤²äºŒ?cë¦æ± \u0019JC\u0011b⤉zẒT볕\"绣蘨뚋cꡉkî« I\u001eé³´", - "ꃣI'{6u^㡃#཰Kq4逹y൒䧠䵮!㱙ï®/n??{Lí’“ZETã™ í¿X2᩟綳跠葿㚙w཮x캽扳B唕S|å°¾}ì´•%N?o䪨": null, - "ⰴFjà·Ÿì…ˆ[\u0018è¾·px?椯\\1<ﲻ栘á£ë´¢æ† ë‰´p": -5263694954586507640 - } - ] - ]] - ]} - ]}] - ] - ], - "?#癘82禩鋆êŠty?&": -1.9419029518535086E-19 - } - ] - ] - ]} - ] - ] - ], - "훊榲.|῕戄&.ãšZꛦ2\"䢥ሆ⤢fV_æ‘•å©”?â‰Fji冀탆꜕iã¬_ẑKᅢ꫄蔻XWc|饡Siẘ^㲦?羡2ã´1ç¸á™…?ì‰Ou": false - }]] - ]}}}, - "æ…‚ë—„å“è“”á“åŒåš–/颹蘯/翻ㆼL?뇊,í…µ<\\ç·ã”Cボ": null - }, - "p溉ᑟi짣z:䒤棇r^Ù«%G9缑r砌롧.물农g?0׼ሩ4ƸO㣥㯄쩞ጩ": null, - "껎繥YxK\"F젷쨹뤤1wq轫o?鱑뜀瘊?뎃hç‘\\ꛣ}Kå³^ኖâ¤ï§´ê‰“hy": null - } - ], - "á±€nè‚“ã„›\"å »2>mæ®®'1æ©Œ%êž´êµ°=Ӳ鯨9耛<\/næ“š0u彘8㬇៩fá¿è¯™]嚊": "䋯쪦S럶åŒã…›#î½)O`ሀX_éªæ¸²â›€ã¨»å®…闩➈ꢙஶDRâª" - }, - "tAì“龇 â‹¥bj왎录r땽✒롰;羋^\\?툳*┎?ì€ma䵳넅U䳆૘〹䆀LQ0\bç–€U~u$M}(鵸gï­â³¾i抦뛹?䤈땚검.鹆?ê©¡tⶥGÄ’;!ቹHïš©Så³»B츪ì¼f5≺": 2366175040075384032, - "ì „pJjleb]áž½": -7.5418493141528422E18, - "n.鎖ጲ\n?,$䪘": true - }, - "欈Ar㉣螵᪚茩?O)": null - }, - "쫸M#x}D秱æ¬K=侫们ä¸ï‡ª.KꕾxẠ\u001e㿯䣛FÜ캗ï¬qq8꟞ṢFD훎⵳簕꭛^鳜\u205cÙ«~â‘Ÿ~冫ऊ2ì«°<\/戲윱o<\"": true - }, - "ã·è¥/T뱂\u0010锕|内䞇xä¾â‰¦ã­–:M?iM᣿IJeç…œdG࣯尃⚩gPt*辂.{磼럾äª@a\\袛?}ᓺBç¼": true - } - } - ]]}]}}, - "tn\"6î´ê«¤ìƒ¾ä„„;銞^%VBPwu묪`Y僑N.↺Ws?3C⤻9唩Sä ®á´m;sᇷ냞඘B/;툥B?lB∤)G+O9m裢0kC햪䪤": -4.5941249382502277E18, - "áš”t'\\æ„«?éµ€@\\ã³ê‚•Pí <<]ç…¹G-b!S?\nꖽ鼫,Ý›&é ºy踦?Eæ†î¬–릱H}햧캡b@手.p탻>췽㣬ꒅ`qeä½­P>á“‚&?u}毚ᜉ蟶頳졪áŽzl2wO": -2.53561440423275936E17 - }]} - } - ] - ]], - "潈촒⿂å¡": 5495738871964062986 - } - ]] - } - ] - ]} - ]] - ]] - ]} - ] - ]}, - "á‚qí‚è“…R`謈èŸá¦î’³å„‚æ§åƒ»ï¹¶9å©Œî¬æ«žé‡ˆ~\"%匹躾ɢ뤥>࢟瀴愅?殕节/냔O✬H鲽엢?ᮈà©î“Žâ‹§dâ½ã«zCe*": 2.15062231586689536E17, - "㶵Ui曚ç°é‹ªá¾¼è‡§P{ä䷪쨑̟A뼿T渠誈äšD1!잶<\/ã¡7?)2l≣穷᛾ç¨{:;㡹nemיּ訊`Gî¹²": null, - "䀕\"飕辭påœf#뫆䶷뛮;â›´á©3çšëá°ìŽ“⦷詵%᜖Մfs⇫(\u001e~P|ï­—CⲾផv湟W첋(텪બTî¾·<บSê‰à©—⋲X婵i ӵ⇮?L䬇|êˆ?졸": 1.548341247351782E-19 - } - ] - }, - "t;:N\u0015qé¦Rt缆{ê®C?஛㷱敪\\+鲊㉫㓪몗릙ç«(æ°µkYS": "Xá°‚T?൮ô", - "碕飦幑|+ 㚦é¶`é•¥ê© B<\/加륙": -4314053432419755959, - "秌孳(p!G?Vå‚«%8ሽ8w;5鲗㦙LI檸\u2098": "zG N볞䆭éŽí˜\\ONK3íš™<\/樚立圌Q튅kì©ŽFfì‹aׂJK銆ઘì¦ç‹©6༥✙䩜篥CzP(è»é§‡HHퟲ讃%,ά{ë p而刲vy䦅ክ^톺M楒é¢ã¹³]Mdg2>䤉洞", - "踛Mì §>忔芿㌜Zk": 2215369545966507819, - "ì”A`$槭頰í»^U覒\bG毲aᣴU;8!팲f꜇E⸃_åµ{å«ç¾ƒX쀳C7ë—®m(åš¼u NÜè°ŸD劯9]#": true, - "ﻩ!뵸-ç­šPá­›}á¼°å±¥lPh?౮ⶹꆛ穉뎃gè‘㑓溢CX뾇Gã–¬A錟]RKï’î´²aꄘ]Yo+@ä˜'s섎襠$^í™°}F": null - }, - "粘ꪒ4HXᕘ蹵.$å€\r\u001dë¬77pPc^yî¶ç¬²Q<\/ê–¶ è¨äƒá¨•G?*": 1.73773035935040224E17 - }, - "婅拳?bkU;#D矠â´vVN쩆t㜷A풃갮娪a%é®çµª3dAv룒#tm쑬⌛qYwc4|L8KZ;xU⓭㳔밆拓EZ7襨eD|隰ऌ䧼u9Ô¢+]è´´Pè¿": 2.9628516456987075E18 - }]}}] - ]} - }} - ]}] - ], - "|g翉F*湹̶\u0005â1脉̀eI쩓ᖂ㫱0碞l䴨ꑅ㵽7AtἈ턧yq䳥塑:z:é€ï¾¼X눔擉)`N3昛oQì…–y-ڨ⾶æ¢êˆµq^<\/": null, - "è¹\\ëž“G^璬x৴뭸ゆUS겧﮷Bꮤ ┉銜᯻0%N7}~fæ´‹å„Xꔼ<\/4妟Vê„Ÿ9:౟곡t킅冩䧉笭裟炂4ë´‹â±³åºæ€Št+怯涗\"0ã–ˆHq": false, - "졬믟'ﺇফ圪쓬멤m邸QLবä—æ„4jvsç¿™ à¾ê§€è‰³H-|": null, - "컮襱⣱뗠 R毪/鹙꾀%í—³8&": -5770986448525107020 - } - ], - "î½­B䔚bê»ë™å§“展槰T-똌鷺tcï§ç¿á«½^ã“Ÿä€o3o$꘭趙è¬Ié¡©)뇭Ἑä“\f@{ᣨ`x3è”›": null - } - ] - ] - }], - "⦖扚vWꃱ꥙㾠壢輓{-⎳鹷è´ç’¿äœ‘bG倛â‹ç£Žc皇皩7a~ﳫUâ•£Q࠭ꎉS摅姽OW.홌ೞ.": null, - "蚪eVlH献r}á®ë¯ ï°©ê”„@ç‘„â²±": null, - "퀭$JWoê©¢gì—­ì䖔㑺h&à­¢tXX愰㱇?㾫I_6 OaB瑈q裿": null, - "꽦ﲼLyr纛ZduçB絟쬴糔?㕂짹äµe": "ḱ\u2009cX9ë©€i䶛簆㳀k" - } - ]]]], - "(_ê®g່澮?ᩑyM<艷\u001aꪽ\\庼뙭Z맷㰩Vm\\lYç­º]3㋲2㌩㄀Eਟäµâ¨„ì¨á”ŸgङHné–⤇놋瓇Q탚單oY\"♆臾jHᶈå¾îž«á‰„??uㇰA?#1侓": null - }, - "觓^~ሢ&iIë†g륎ḱ캀.ᓡꀮ胙鈉": 1.0664523593012836E-19, - "yè©­GbᔶऽsëŒU:æœî „⤎ϲì—⮼D醄诿që™°I#즧v蔎xHᵿt᡽[**?崮耖p缫쿃Lè,ë´¬ï–ꤦC쯵#=X1çž»@OZc鱗CQTï‹„x": null - } - ] - }}], - "剘ç´\u0004\\Xn⊠6,á€×±;嵣崇}讃iႽ)d1\\䔓": null - }, - "脨z\"{X,1uì°œ<'k&@?1}Yn$\u0015Rd輲ーa쮂굄+B$l": true, - "諳>*ì­®ê´äµŸÒ+<ç®}빀䅱⡔æªï€è‡’hIH脟ꩪCí•à¬—P좕\"0i<\/C褻DÛžæ—+^5?'ꂱ䚫^7}ã¡ cq6\\쨪ꔞꥢ?纖䫀氮蒫侲빦敶q{Aç…²G": -6880961710038544266 - }}] - }, - "5s⨲JvಽῶꭂᄢI.a৊": null, - "?1qê½ì¿»ê›‹DR%Uå¨>DgNä¹­G": -1.2105047302732358E-19 - } - ] - ]}, - "qZz`撋뙹둣j碇ì\\ꆥ\u0018@ïœè—´ç–°Wz)O{F䶛l᷂绘訥$]ë®å¤»ä¢‹ä©‡è¿ç°æ¨§çŒµâ£­jè¶q)$꬚⵷0馢W:â°!Qoe": -1666634370862219540, - "t": "=î¹›wp|~碎Q鬳Ó\\l-<\/^ﳊhní–}ä”t碵ḛ혷?é»äŠ—", - "邙쇡㯇%#=,î‰E4勃驆V繚q[Y댻XV㡸[逹á°è‘¢B@u=JS5?bLRnì–®ã‰â…ï°³?a6[&íŸ!è—ˆ": 1.2722786745736667E-19 - }, - "X블땨4{ph鵋ꉯ웸 5p簂䦭s_E徔濧dç¨~No穔噕뽲)뉈c5M윅>âš‹[岦䲟懷æ?éŽê“†à¸¬çˆ‹ç äœ”s{\u001bméšå„¸ç…›%bﯿXT>ê—˜@8G": 1157841540507770724, - "媤娪Qæ¸ï‡\u0011SAyᡈ쿯": true, - "çš^ಸ%ê±<\/蛯?\"祴å“\\\\'í": -3.4614808555942579E18, - "釴U:O湛㴑䀣렑縓\ta)(j:숾å´ä—ŒgCiB뽬Oyuqè¼¥åŽ/7)?今hY︺Q": null - } - ] - ]]]}] - ], - "I笔趠Ph!<ཛྷ㸞诘X$畉F\u0005笷èŸ.Esr릙!W☆ï›ä²–뗷莾뒭U\"䀸犜Uo3ï¯Gꯌx4r蔇᡹㧪쨢準<ä‚€%ࡡꟼç‘8ç‚Xs0ä€é”€?fi쥱ê†àª²BB": -8571484181158525797, - "Lâ¦o#J|\"⽩-ã±¢d㌛8d\\㶤傩儻E[Y熯)r噤὘勇 }": "e(濨쓌K䧚僒ã˜è ¤Vᛸ\"络QJL2,嬓ì™î¿‰ä¼¢ã‹’䴿考澰@(ã¾`kX$ë‘ÑE斡,èœ&~y", - "vj.|统圪ᵮPL?2oŶ`ë°§\"勃+0ue%⿥绬췈체$6:qaë Q;~晘3㙘鹑": true, - "à·Ø™4ç„⶿c︋iâš…:ã‚“é–Ⳙ苆籦kw{䙞셕pCì·ƒê¬âœêŸ¯êš“é…„bížhwkê­­M鬋8B耳쑘WQ\\å™ac'唀x᪌\u2048*h짎#á‡é® ë¾áž¿ë€Œ": false, - "⎀jꄒ牺3Ⓝ컴~?親ꕽã¼Ü“å–瘘!@<튋ãŒê¿±â©¦{a?Yv%⪧笯Uܱ栅Eæši뚬:ꄃx7䙳ꦋ&䓹vq☶Iä˜á¾˜æ¶œ\\ì‰ëºŒLr%Bcãœ3?î¤ï…¨ê­ç ¿è£ž]": null, - "⭤뙓z(ã¡‚%亳K䌽꫿AԾ岺㦦㼴輞낚Vꦴw냟鬓㹈뽈+o3è­»K1ìžž": 2091209026076965894, - "ㇲ\t⋇轑ꠤ룫X긒\"zoYì‡í¬wjæ¢ì‘l侸`e%s": -9.9240075473576563E17, - "啸ꮑ㉰!áš“}éŠ": -4.0694813896301194E18, - "ï‰>]囋੽EK뇜>_ꀣ緳碖{ì裔[<ನ\"䇅\"5L?#îµ³xTwv#ç½\u0005래t应\\N?빗;": "v쮽瞭pë­ƒ" - } - ]], - "斴槾?Zç¿\"~æ…弞ﻆ=꜡o5é‹ï’½dw\"?Kè ¡i샾ogDï²°_C*⬟iㇷ4nયèŸ[㟉U꽌娛苸 à§æ“贻洞펻)쿗૊許X⨪VY츚Zä¾ã¶­~튃ᵦ<\/E臭tve猑x嚢": null, - "锡⛩<\/칥ꈙᬙè€&êšç±¬â– 865?_>Lè©ì¿¨äˆŒæµ¿å¼¥ï©‰Ì«î¾½ï‘lj&zx<\/C쉾?覯n?": null, - "꾳鑤/꼩ï¨d=ᘈn挫ᑩ䰬ZC": "3錢爋6Ƹ䴗v⪿Wr益G韠[\u0010å±—9ì¡é’u?殢c䳀蓃樄욂NAq赟c튒ç˜ë ¶î‚³Aà«¡Éšæ" - } - ] - ] - ]} - ] - ] - }]]]}} - ]}], - "ï‚’Ejä—³U<\/Q=ç’샎䞦,å °é  @褙g_\u0003ꤾfⶽ?퇋!Å‚ï¡”B〙ד3CC䌴鈌U:뭔咎(Qો臃䡬è‹BO7ã¢äŸ¸\"Yb": 2.36010731779814E-20, - "逸'0å²”j\u000e눘먷翌C츊秦=ꭣ棭ှ;鳸=麱$XP⩉駚橄A\\좱⛌jqvä°ž3Ь踌v㳆¹gT┌gvLBè³–ïžçƒ¡m?@E঳i": null - }, - "曺vì°˜×?&绫OáŸ": 9107241066550187880 - } - ] - ], - "(e屄\u0019昜훕ç–b蓘ᬄ0/۲묇Z蘮á€â¨è›˜èƒ¯ë¢ƒ@㘉8ሪWᨮ⦬ᅳ䅴HIá‡ì¨³z囕陻엣1î•Ÿèµ³o": true, - ",b刈Z,á æ™Tì†Å•B⩆ou'í¼â‰ƒç»—é›—dè­Š": null, - "a唥KB\"ï³è‚•$u\n^â…„P䟼냉䞸⩪u윗瀱ꔨ#yÅŸsî««ê’¬=ï‹•1ïš–|ﲤ爢`tà±íŠ¼î£ì³«_Az(Ṋ擬㦷좕耈6": 2099309172767331582, - "?ã´¸U<\/䢔ꯡ阽扆ã¤qé‹?f㔫wM嬙-;UV죫嚔픞G&\"Cá—äªí’ŠQ": "VM7ç–¹+陕枡툩窲}ç¿¡ä–¶8欞ÄsTë®}ç’¤:jﺋ鎴}HfAàµâ§»Zd#Qï¬u茅J髒皣Y-︴[?-~쉜vë”璮㹚䅊﩯<-#\u000eê±€h\u0004u抱﵊㼃U<㱷⊱IC進" - }, - "숌dee節é½é‚ºp넱蹓+e罕U": true - } - ], - "b⧴ë£??á” 3ã±>%郿劃ç¿ê¬ê ›Wï¡°çž³á«ëˆ„躨狀ໄy੽\"ីuS=㨞馸k乆E": "トz݈^î¡œ9R䬑<ﮛGRꨳ\u000fTT泠纷꽀MRᴱ纊:ã ­ë³®?%N56%鈕1ä—äœaä²—j陇=ë¿»å‚衋࿘ᓸ?ᕵZ+<\/}H耢bä€z^f$&ã’LkꢳIè„šë™›u": 5.694374481577558E-20 - }] - } - ]], - "obj": {"key": "wrong value"}, - "퓲꽪m{㶩/뇿#â¼¢&᭙硞㪔E嚉c樱㬇1a綑á–DḾä©": null - }, - "key": "6.908319653520691E8", - "z": { - "6U閆崬밺뀫颒myj츥휘:$è–ˆmYí–š#rzé£+玭V㭢뾿愴Yî°‘ê–šX亥ᮉ푊\u0006åž¡ã­ë£\"厓ᔧḅ^Sqpv媫\"⤽걒\"˽Ἆ?ꇆ䬔未tv{DV鯀Tἆl凸g\\㈭ĭ즿UH㽤": null, - "b茤z\\î¨.N": [[ - "ZL:ï¿„á‹Ž*Y|猫åŠæ«•è¾Oj为1糕쪥æ³S룂w࡛á²â¸¥èš™)", - { - "\"䬰á»wDæ¾V`邀⠕VDãºsH6[칑.:醥葹*뻵倻aD\"": true, - "eîž¡æµ±uî¿£p蔽Crà· JK軵xCʨ<뜡癙Yç©ï½¹é½ˆX/螗唻?<蘡+뷄㩤쳖3å‘犾&\\첊xzå崦ݻé´\"åµ¥B3㰃詤豺嚼aqJ⑆∥韼@\u000b㢊\u0015L臯.샥": false, - "l?Ǩ喳e6㔡$M꼄I,(3á縢,䊀疅뉲B㴔傳䂴\u0088㮰钘ꜵ!ᅛ韽>": -5514085325291784739, - "o㮚?\"춛㵉<\/﬊ࠃ䃪ä£wp6ἀ䱄[s*S嬈貒pᛥ㰉'ë€": [{ - "(QP윤懊FI<ꃣ『䕷[\"ç’嶮?%Ḭå£à²»ä‡Ÿ0è¤!è—²ë¹bd浶tl\u2049#쯀@僞": {"î—i妾8홫": { - ",Mï£ë§ƒäž›K5nAㆴVNã’Ší–¬$n꩑&êŽæ¤žî·é˜«?/á¹ì„¸ë‰ª1x쥼㻤㪙`\"$쟒薟B煌܀ì¨à­2掳7㙟鴙Xå©¢\u0002": "Vዉèˆï ’᧷⦌kîŒï®žà°ˆnz*ï·œFM\"è­7ê€-VR<\/';ä™E9$䩉\f @s?íªo3^è¡´cî˜à¶Žä§ªaK鼟q䆨c{ä³ 5mᒲՙ蘹ᮩ": { - "Fã²·JGoâ¯Pëµxë’³p䘧☔\"+ꨲå¿JfR㔹)4nç´¬G练Qáž!C|": true, - "p^㫮솎ocî’£.೚A㤠??r\u000f)⾽⌲們M2.䴘䩳:⫭胃\\á¾@Fá­Œ\\K": false, - "蟌Tk愙潦伩": { - "aï‘<\/@ᾛ慂侇瘎": -7271305752851720826, - "艓藬/>á„ṯ,XW~㲆w": {"Eç—§î–郶)㜓ha朗!N赻瞉駠uC\u20adè¾ x퓮⣫P1à «LMMX'M刼唳ë¤": null, - "P쓫晥%k覛ዩIUᇸ滨:å™í˜²lMR5䋈V梗>%å¹½ué –\\)쟟": null, - "eg+昉~矠䧞难\b?gQì­·ç­\\eê® Nl{ಢ哭|]Mn銌╥zê–˜zⱷ⭤ᮜ^": [ - -1.30142114406914976E17, - -1.7555215491128452E-19, - null, - "渾ã¨ß牄귛r?ëŒ?w[âšžÓ»~廩輫㼧/", - -4.5737191805302129E18, - null, - "xyà¿‘M[ocì…’ç«“â’ºx?뜓y䊦>-Dì¼(&&?XKkc꩖ﺸá‹ëµžK伕6ী)딀PæœyWæ™îž¢?훻魢傎EG碸9類៌g踲C⟌aEX舲:z꒸许", - 3808159498143417627, - null, - {"m試\u20df1{G8&뚈h홯J<\/": { - "3ஸ厠zs#1K7:rᥞoꅔꯧ&ë‡éµ¼éž«6è·œ#赿5l'8{7㕳(b/j\"厢aqç±€êš\u0015厼稥": [ - -2226135764510113982, - true, - null, - { - "h%'맞Sì‹…Hs&dï”l슾W0jé¿M×D놯L~S-㇡Rì­¬%": null, - "⟓咔謡칲\u0000孺ꛭx旑檉㶆?": null, - "æ‡I転;￸B2Y`z\\ç“w,ë†æ¿æ’埵䂄)!䶢D=à´­ã´ŸjyY": { - "$ࡘt厛毣ൢIèŠ<겿骫⫦6tr惺a": [ - 6.385779736989334E-20, - false, - true, - true, - [ - -6.891946211462334E-19, - null, - { - "]-\\êŸ1/è–“â§á½Š\\l牑\u0007A郃)阜ᇒᓌ-塯`W峬G}SDb㬨Q臉⮻빌O鞟톴첂B㺱<ƈmu챑J㴹㷳픷Oㆩs": { - "\"â—‰B\"pᶉt骔J꩸ᄇá›iâ•°æ ›K쉷㉯é©!ãˆnì¹äŸ…難>盥yé“¿eà­”è’M貹ヅ8嘋퀯䉶ጥã¢æ®Šë»³\"絧╿ꉑ䠥?∃蓊{}㣣Gk긔H1哵峱": false, - "6.瀫cN䇮F㧺?\\椯=ÚˆT䘆4â˜ïšŒ8qv": -3.5687501019676885E-19, - "Q?yऴr혴{஀䳘p惭f1ﹸ䅷䕋贲<ྃᄊ繲hq\\b|#QSTs1c-7(äµ¢\u2069åŒçµ˜ê¯‰:l毴ï›æ±žt戀oෟᵶ뮱á£-醇Jx䙬äí–¢0࣫á¡grã„›": "\u0011_xM/蘇Chv;dhA5.嗀绱V爤ﰦiëµ²M", - "â‘[\"ugoy^儣횎~U\\섯겜ï¥l2jw஌yD腅̂\u0019": true, - "ⵯɇä²á«¿à¢š!㯢l샅笶戮1꣖0Xe": null, - "劅fë„€ï‹ï§¼bå®ç„ŠE찓橵G!ʱç“뭔雩괛": [{"p⹣켙[q>燣äƒãž½î›œá©²x:쓤삘7玑퇼0<\/qç’‚á‘[ï ™Z\\3䅵䧳\u0011㤧|妱緒C['ì·“Yꞟ3Z鳱雼P錻BU씧U`ᢶg蓱>.1ӧ譫'L_5VäµÐ¦": [ - false, - false, - {"22ä‚盥N霂얢躰îe9â‘©_뵜斌n@B}$ê´»Yá±@䧋V\"☒-諯cVë¯Ê ": true, - "Ű螧ᔼæªéŽë•’딜qꄃH뜣<ç§à¥‚CYå“â¸>XQ㵡趌oë¬k픀빯a(ܵç”ë†à­¯/6Nᪧ}æšá†šì§ŒP牰泱鈷^d꣟#Lì‚€\"㕹襻;k㸊\\f+": true, - "쎣\",|⫝̸阊x庿k잣v庅$éˆê´Žç‚”k쬪O_": [ - "ìž©AzZGz3v愠ꉈⵎ?㊱}Så°³à¯p\r2>ì·IP䘈M)w|\u000eE", - -9222726055990423201, - null, - [ - false, - {"´킮'뮤쯽Wxè®V,6ᩪ1ç´²aႈ\u205czD": [ - -930994432421097536, - 3157232031581030121, - "l貚PY䃛5@ä­„ê·»m㎮ç¸f": 1.0318894506812084E-19, - "࢜⩢Ш䧔1肽씮+༎ᣰ闺馺窃䕨8Mƶqè…½xc(៯å¤J5굄ä•Qj_훨/~価.䢵慯틠퇱豠㼇Qﵘ$DuSp(8Uà¸<\/ಟ룴𥳐ݩ$": 8350772684161555590, - "ㆎQ䄾\u001bpá©­${[è«Ÿ^^骴᤮b^ã…¥I┧T㉇⾞\"绦rä°‚f矩'-î½7ä¡­æ¡¥Dz兔V9谶居ãºá”Šä©¯ë².\u001eL0ὅㅷ釣": [{ - "<쯬Jå·^숞u࠯䌗艞R9닪gã¾ë³Ža䂈歖æ„:%é”|ﵤ|y}î¡»>;2,覂⶚啵tb*ä»›8乒㓶B࿠㯉戩oX 貘5V嗆렽ë‚߼4h䧛êºM空\\b꿋貼": 8478577078537189402, - "VD*|吝z~hè­ºaᯒ": { - "YIì·¢K<\/濳xNne玗rJo쾘3í•°é´Š\"↱AR:ࢷ\"9?\"è‡ï¦¡)?誚êŠe)_D翾W?&F6J@뺾ê°NZ醊Z쾈വHï±å¶¿?炫㷱鬰M겈᭨b,â»éˆµP䕡䀠८ⱄ홎鄣": { - "@?k2鶖㋮\"Oರ K㨇廪儲\u0017ä¾î¿‚J?);\b*묀㗠섳햭1MC V": null, - "UIICP!BUA`î€á¢ˆã‹¸~袩㗪⾒=fBï®´l1ꡛ죘R辂여ҳ7쮡<䩲`熕8é ": 4481809488267626463, - "Y?+8먙ᚔ鋳蜩ï–럶1㥔y璜౩`": [ - null, - 1.2850335807501874E-19, - "~V2", - 2035406654801997866, - { - "<숻1>\"": -8062468865199390827, - "Mã¿£ï€E]}qwG莎Gná¶(ê”™\\D⬲iꇲs寢t駇S뀡ꢜ": false, - "pê¤ãŽ9W%>M;-Uç’fî£(^j1?&RB隧 å¿“b똊îƒE": "#G?C8.躬ꥯ'?냪#< 渟&헿란zpo왓Kj}é·§XﻘMツbä•–;㪻", - "vE풤幉xz뱕쫥Ug㦲aH} ᣟp:鬼Yá°ŸH3镔ᴚ斦\\é‘r*2橱Gâ¼”F/.j": true, - "RK좬뎂aí™ f*f㱉á®â¦‹æ½™ã¨‹Gu곌SGI3Ië¿\\F',)t`è蘯囯ﮉ裲뇟쥼_ገ驪▵æ’ᕤV": 1.52738225997956557E18, - "^k굲䪿꠹B逤%F㱢漥O披M㽯镞竇霒i꼂焅륓\u00059=皫之눃\u2047娤é–銤唫á•b<\/w踲䔼u솆맚,ä’á³'/it": "B餹饴is権ꖪ怯ꦂẉဎt\"!凢谵⧿ï™0\\<=(uLä·åˆ¨ì‘ª>俆æ“Cy襸Q힆䆭涷<\/á±0î É§îŠ‹䗾䚹\\ኜ?ꄢᇘ`ä´¢{囇}᠈䴥X4퓪檄]ꥷ/3謒ሴn+gé¨X", - "GgG꽬[(å«“ëª6\u0004ê¶宩㙻/>\u0011^è¾dTè…ªhxÇ‘%ꊇk,8(W⧂çµP鬜O": [{ - "Mã´¾c>\\ᓲ\u0019V{>ꤩ혙넪㭪躂TS-痴໸闓âµ/徯O.Mã¥Ê·D囎⧔ì³íœ¤T??鉬뇙=#ꢫ숣BXä­¼<\/d똬졬g榿)eꨋﯪ좇첻\u001a\u0011\";~쓆BH4å‹æ”Š7힪", - "iT:L闞椕윚*æ»›gI≀Wਟඊ'ꢆ縺뱹鮚Nê©á§¬è•¼21줧\\䋯``â\\ã±é³¨": 1927052677739832894, - "ì®ç¼¦è…ƒg]礿Y㬙 fî¼ãƒºSɪ꾾N㞈": [ - null, - null, - { - "!t,çY 1䗉罵?c饃호䉂Cá­ì’˜z(즽sZG㬣sഖE4ï‚뢜㓕äžä¸®Qpç°6EZឪ겛fx'ꩱQ0ç½£i{k锩*㤴㯞rè¿ŽjTⲤ渔m炅肳": [ - -3.3325685522591933E18, - [{"ã“5]A䢕1룥Bï²C?Ꙍ`r룔Ⳛ䙡uä¼²+\u0001àµo": [ - null, - 4975309147809803991, - null, - null, - {"T팘8Dﯲ稟MM☻㧚䥧/8ﻥ⥯aXLaH\"顾S☟耲ît7fSà·‰ë†ë®”/ꕼ䓈ìº4\\霶䠴ᩢ<\/t4?죵>uDï›5➶༆쉌럮⢀秙䘥\u20972ETR3æ¿¡æ†vB? ~鸆\u0005": { - "`é––mç’㥉b뜴?Wf;?DV콜\u2020í‰à±“æ“å®ZMj3mJ먡-å‚·ë±™yח㸷꥿ ໘u=Mì!5å­L4v\\?ÇŽ7C홫": null, - "|": false, - "~Ztᛋ䚘\\æ“­ã—傪Wé™–+ã—¶qᵿ蘥ᙄp%ä«Ž)}=â ”6ᮢS湟-èž¾-mXH?cp": 448751162044282216, - "\u209fad놹j檋䇌ᶾ梕ã‰bוּ": {"?è‹´ê© D䋓帘5騱qï±–PF?☸ç—é¡’yU á¡«cbä«Ž S@㥚gꮒ쎘泴멖\\:Ié®±TZ듒ᶨQ3+f7캙\"?\fí’¾\\oæžç´Ÿï»½M.âŽï˜¸é‘OP": [ - -2.6990368911551596E18, - [{"ä’–@<á°¿<\/⽬tTrè…ž&G%᳊秩蜰擻f㎳?S㵧\r*k뎾-乢겹隷j軛겷0ë£é®ï µ": {")DO0è…¦:ì¶é€¿:1㥨่!è›æ¨‹2": [{ - ",ꌣf侴笾m๫ꆽ?1?U?\u0011ꌈꂇ": { - "xæ—ç” nVqä…¦w`CD⦂惺嘴0I#vỵ} \\ê·‚Së´Dì–¾?Ô’j溯\"v餄a": { - "@ç¿™c⢃趚痋i\u0015OQâlqë†Y0pࢥ3쉨䜩^<8g懥0w)]䊑næ´ºo5ì­QL댊랖L镈Qnt⪟㒅십q헎鳒⮤眉ᔹ梠@O縠u泌ㄘb榚癸Xî©­Þ”Ftj;iC": false, - "I&뱋゘|ï£è“”䔕측瓯%6á—»HW\\N1貇#?åƒá—œghá­ªo'䗈꽹Rcìš/蔳迄à¼!0邔䨷푪8ç–©)[쭶緄㇈୧á": { - "B+:ꉰ`sì¾­)ë¹¼Cç¾Aä«ŠpMgjdxäHf9᥸W0!C樃'ï¤f䫤סи\u0017Jve? è¦f둀⬣퓉Whk\"஼=չï³î•¤çš†ç¬BIW虨쫓F廰饞": -642906201042308791, - "sb,XcZ<\/m㉹ ;ä‘·@cäµ€s奤⬷7`ꘖ蕘戚?Feb#輜}p4nH⬮eKL트}": [ - "RKé³—z=袤Pf|[,u욺", - "Ẏá»ç½¯ë‰‹âº–锅젯㷻{H䰞쬙-ì©“D]~\u0013Oã³¢gb@æ¶è”‰|kᦂâ—!\u001ebMè¤sca쨜襒y⺉룓", - null, - null, - true, - -1.650777344339075E-19, - false, - "☑lꄆs힨꤇]'uTന⌳ë†].1â‹”ê´æ²°\"IWà´©\u0019æ°œ8쟇䔻;3衲æ‹,窌zíŽå–íš—?4?Cë„é—®?ᥙ橭{稻Ⴗ_ì”", - "n?]讇빽å—}1å­…9#ê­¨é¶v\u0014å–ˆ)vw祔}룼쮿I", - -2.7033457331882025E18, - { - ";⚃^㱋x:饬ኡj'꧵T☽O㔬ROå©Ž?향ᒭæ©$渣y4i;(Q>꿘e8q": "j~錘}0g;Lèº*;á•­ê„®0l潛烢5H▄쳂ê’וֹꙶT犘≫x閦웧v", - "~î¢æ¯\u2018c4è·ë E~ᑅቚꈂ?nq뎤.:æ…¹`F햘+%鉎O瀜ìŸæ•›è®âŒæµ¢<\/㮺紿P鳆ࠉ8I-o?#jﮨîŸ7v3Dt赻J9": null, - "à£W䌈0êŽqC逖,íš…î·Žcáƒswj;jJSæ«5槗OaB>D踾Y": {"ã’°äµF%î©®?59.î„„ãˆcᕨï†í•í‹Žá¸ã‹©B=9IÛâ“Œ{:9.ywï½å‘°ã†®è‚’᎒tIã¾´62\"ዃ抡C﹬B<\/ì´‹jo朣", - [ - -7675533242647793366, - {"ᙧ呃ï£:[㒺쳀쌡ì‚H稈㢤\u001dᶗGG-{GHྻຊꡃ哸䵬;$?&d\\⥬ã“N圴ë¤æŒ¨-'ê•®$î“‹PU%?冕눖ié­q騎Q": [ - false, - [[ - 7929823049157504248, - [[ - true, - "Zè™\u0017'eꕤ᱕l,0\\X\u001c[=雿8è ¬L<\/낲긯W99g톉4ퟋbãº\u0007åŠ'!麕Q궈oW:@XáŽïœ¬z蘻m絙璩귓죉+3柚怫tSæ‡è’£ä -擶D[0=퉿8)q0ÙŸ", - "唉\nFA椭穒巯\\䥴䅺鿤S#bè¿…ç˜ ï¶—ê¬˜\\?q1qN犠pX꜅^䤊⛤㢌[⬛휖岺q唻ⳡí‹\"ã™™Eh@oA賑㗠yå¿…Nꊑᗘ", - -2154220236962890773, - -3.2442003245397908E18, - "Wá„¿ç­ :瘫퀩?o貸q⊻(᎞KWf宛尨h^残3[U(='æ©„", - -7857990034281549164, - 1.44283696979059942E18, - null, - {"ꫯAwè·­å–€ ?_ï““9\"Aty背F=9缉ྦྷ@;?^鞀w:uN㘢Rá»": [ - 7.393662029337442E15, - 3564680942654233068, - [ - false, - -5253931502642112194, - "ç…‰\\î¶è¾Žî›¢à³†ç½5â’­1äªäƒ‘s䎢:[e5}峳ﴱn騎3?è…³Hyêƒè†¼N潭錖,Yá‹ËœYAá“㬠bG렣䰣:", - true, - null, - { - "â’›'P&%죮|:⫶춞": -3818336746965687085, - "钖m<\/0ÝŽMtF2Pk=瓰୮洽겎.": [[ - -8757574841556350607, - -3045234949333270161, - null, - { - "áœî…½rè¼³>⫇9hU#î¦#w@ê·ªA\\Cî’¢ 鋺㘓ê–梒뒬묹㹻+郸å¬ìœ¤'+g<\/碴,}ꙫ>ì†;情d齆Jä¬àº©æ’›ì±íƒ¹/R澡7剌tꤼ?ặ!`â²ç¤\u00002똥଴âŸ": null, - "\u20f2ܹe\\tAê¥Æ°\\x当뿖ï»ë ‰ç¦›;G檳ﯪï…Sà«°3~㘠#[J<}{奲 5箉⨔{ë†<\/釿抋,åš /曳m&WaOvT赋皺璑ï“í…": [[ - false, - null, - true, - -5.7131445659795661E18, - "è­m䓪D5|3å©à°ž>î‰è ‡æ™¼6nï´ºPp禽羱î¤DS<ç“닫屚ì‚姿", - true, - [ - -8759747687917306831, - { - ">ⓛ\t,odKr{䘠?b퓸C嶈=DyEᙬï¿@ᴔ쨺芛髿UT퓻春<\/yê¸>豚W釺N뜨^?꽴﨟5殺ᗃç¿%>í‚ဿ䄸沂Ea;A_\u0005閹殀W+窊?Ꭼd\u0013Pæ±´G5ì“æ˜": 4.342729067882445E-18, - "Q^즾眆@AN\u0011Kb榰냎Y#ä€ê€’ᳺ'q暇çµs\"!3#I⊆畼寤@HxJ9": false, - "⿾D[)袨㇩i]웪䀤ᛰMvR<èŸã£¨": {"v퇓L㪱ꖣ豛톤î£\\ê³±#ï–©kDTN": [{ - "(ì¾´ä¡£,寴ph(C\"㳶w\"憳2s馆E!n!&柄<\/0Pꈗſ?㿳Qdéµ”": {"娇堰孹L錮h嵅⛤èºé¡’?CglNæŸ+쨣ﺜ\\MrH": {"çžäŽ‡ë‘ƒá‰²å¼­íŒ­^ꄞ踦涟XK錆쳞ឌ`;੶S炥騞ଋ褂B៎{ڒ䭷ᶼéœpIè—虶K$": [{"â—–S~躘蒉꫿輜è­Qã½™é—@ᢗ¥Eæ¦iØ¡5┄^B[絮跉ᰥé™PWi3wㄾⵀDJ9!w㞣ᄎ{ë“’ê““b6\\篴??c⼰鶹⟧\\鮇ꮇ": [[ - 654120831325413520, - -1.9562073916357608E-19, - { - "DC(æ˜è¡µá¼¡ê¸™ê°µå§­|Ö›[t": 7.6979110359897907E18, - "Jâ…))嫼â³9Xfd飉j7猬ᩉ+⤻î®çœ—벎Eé°‰Zᄊ63zá69}Zá¶L崭ᦥ⡦éšâ‹›êŽ¨î´µ~i㨃咊ꧭo䰠阀3C(": -3.5844809362512589E17, - "p꣑팱쒬ꎑ뛡Ꙩ挴æ胔&7ᔈ묒4Hd硶í›ãŽ–zꢼè±ã¿¢aሃ=<\/湉鵲Eî„¡Ó…%$F!í¶æ£Œå­¼{Oé§à¨ºgeu+": ")\u001bìž“kÅ€Xì©«Aë°Â®Ú£ç™¦ç‹¢)扔弒p}k縕ꩋ,䃉tࣼi", - "ã‚¡F肿輸<솄G-䢹䛸êŠl`Tqê•—îŠè’ža氷⸅ᴉ蠰]S/{J왲m5{9.uá½³~㕚㣹u>x8Uè®Bëºè¥ªç›ŽQhVS맅킃i识{벂磄Ià·„ä™…xZy/æŠà«­Zï–Šé²î¦š-霳Væ®æŒ¦â„’": null, - "㯛|Nî½™ê¸b7âµb?æ‹ O\u0014Þ†?-(EꞨ4ꕷᄤYᯕï‘OW瞺~螸\"욿ќe㺰\"'㌢ÆW\u0004çž•>0?V鷵엳": true, - "뤥G\\î¡‹è¿‹ä ¿[庩'꼡\u001aiá©®Vì¯á³ªä¦ªÃ”î²…;倱ନë›èªˆ": null, - "쥹䄆䚟Qæ¦äŽá¢­<\/2ã•£p}HW蟔|äƒî‚꿈ꚉ锳2Pb7㙑Tⅹᵅ": { - "Y?Ö­$>#cVBꩨ:>ï†eLè’å‹™": { - "86柡0po äš&-æ‘Ћ祌<\/휃-G*㶢הּì©s㶟餇c걺yu꽎還5*턧簕Ogå©¥Sê": null, - "a+è‘žh٥ࠆ裈嗫ﵢ5輙퀟ᛜ,QDﹼ⟶Y騠锪E_|x죗jä¾µ;m蜫轘趥?븅w5+miì½›L": { - ";⯭ﱢ!ä¹°Fâ½æŸ¤é¶‚näµ£V㫚墱2ë ¾ELEl⣆": [ - true, - -3.6479311868339015E-18, - -7270785619461995400, - 3.334081886177621E18, - 2.581457786298155E18, - -6.605252412954115E-20, - -3.9232347037744167E-20, - { - "B6㊕.k1": null, - "ZAê„®Jé®·á³±o갘硥鈠䠒츼": { - "á•…}럡}.@y陪é¶r業'æ´î‰°í€‰x䉴ﵴlí˜):씭脴ᥞhiꃰblﲂ䡲엕8߇M㶭0燋標æŒ-?PCwe⾕J碻Ᾱ䬈䈥뷰憵賣뵓痬+": {"aì·©v礗X⋈耓áŠfç½…é®!㔽YYᣓwæ¾33⎔芲F|\"äœT↮輦挑6ᓘL侘?ᅥ]ë†1R௯✎餘6ê½<\/௨\\?qå–·ê«j~@ulq": {"嗫欆뾔Xꆹ4H㌋F嵧]à Ž]ã –1ꞤT<$më«O i댳0ä²iï—Œ": {"?à·©?\u20cd슮|ꯆjs{?îž…d7?eNs⢚嫥氂䡮쎱:鑵롟2hJꎒﯭ鱢3춲亄:ë¼£v䊭諱Yj択cVmR䩃㘬T\"Ní™*ै%x^F\\_s9ë³´zz4æ·—?q": [ - null, - "?", - 2941869570821073737, - "{5{殇0ä¾ïž¢g6ë°–í‹è‡©ç¶¹R$ä–­j紋釰7î‹‘sXI繳漪행y", - false, - "aH磂?뛡#惇då©…?Fe,ì˜+늵ä˜\"3r瘆唊å‹ï¢Šj⳧࠴ꇓ<\/唕윈x⬌讣䋵%拗ᛆⰿ妴á”M2㳗必꧂淲?ゥ젯檢<8ë’ï¶MidXä’3á³»Qî”â–®ä½UT|⤪봦éâŠ", - [[{ - "颉(&뜸귙{yîš’^\"P퟉ì¶á²Ÿä®­î‹ºDé¡¡9=?}Y誱<$bë±£RvO8cH煉@tk~4ǂ⤧â©å±‹Sî›ïž¢S;J{vV#剤餓ᯅc?#a6D,s": [ - -7.8781018564821536E16, - true, - [ - -2.28770899315832371E18, - false, - -1.0863912140143876E-20, - -6282721572097446995, - 6767121921199223078, - -2545487755405567831, - false, - null, - -9065970397975641765, - [ - -5.928721243413937E-20, - {"6ì´Š\u001a홯kB0w撨燠룉{绎6⳹!í„è´‘y▾鱧ժ[;7ᨷ∀*땒䪮1x霆Hᩭ☔\"rî¹›ä7毟á°r惃3ꉭE+>僒æ¾": [ - "Ta쎩aÆt쵯ⰪVb", - [ - -5222472249213580702, - null, - -2851641861541559595, - null, - 4808804630502809099, - 5657671602244269874, - "5犲﨣4mᥣ?yf젫꾯|䋬ìž$`Iⳉﴷ扳å…,'î±c", - false, - [ - null, - { - "DyUIN쎾M仼惀⮥裎岶泭lh扠\u001e礼.tEC癯튻@_Qd4cï…«5S熯A<\/ï¼¼6U윲蹴Q=%푫汹\\\u20614b[௒Câ’¥Xe⊇囙b,ï®æœ3ssë•Šë¢i~逇PA쇸1": -2.63273619193485312E17, - "Mq꺋貘k휕=nKç¡ë«žè¼©>㾆~἞ࡹê¸æ¦µlâ‹™Hw뮢帋M엳뢯î¹…vâ…ƒ^": 1877913476688465125, - "ᶴ뻗`~ç­—å…⚽টW˃â½b犳䓺Iz篤p;乨A\u20efì©?ç–Šmã€ì»©ë«¡b탔鄃ᾈV(é¢ç³=뎲ିeF仢䆡谨8t0醄7㭧瘵⻰컆r厡궥d)a阄á·Ed&c﯄伮1p": null, - "â¯w4曢\"(欷輡": "\"Má­«]䣒頳B\\燧ࠃN㡇j姈g⊸⺌忉ꡥF矉স%^", - "㣡Oᄦ昵⫮Y祎Sì級㭻撥>{I$": -378474210562741663, - "䛒掷留Q%ì“—1*1J*ë“헩ᦢ﫫哉쩧EↅIcê…¡\\?â´Šl귛顮4": false, - "寔愆샠5]ä—„IHï©¥=d﯊/å¶?ॊn%晥D視Nò—˜ˆ'᫂⚦|X쵩넽z질tsî¦kxDQ莮Aoﱻ뛓": true, - "é’£xp?&\u001e侉/yä´¼~?U篔蘚缣/î”›Iç•šï—?Q绊": -3034854258736382234, - "꺲໣眀)â¿·J暘î©pИfAVì‚•ì³­Nꯗ4々'唄ⶑ伻㷯騑倭D*Okï¯ê§3bâ½_ï„¡<\/ì±£Xm톰á•ä†„`*fl㭀暮滠毡?": [ - "Dç”·p`V뙸擨å¿ë¸ª9c麺`淂⢦Yw⡢+kzÜ–\fY1䬡Hæ­)ë²¾Z♤溊-혰셢?1ï”<-\u0005;æ¢Tále\\ᛵߓﭩ榩è¨-xJ;å·¡8깊è ï»“U$K": { - "Vê•¡è«…æ“W=斸s︪vﲜ츧$)iꡟ싉eî®å¯³?ጭムVથ嵬iæ¥Fg<\/Z|៪ꩆ-5'@ꃱ80!燱R쇤tç³³]罛逇dṌ֣XHiͦ{": true, - "Ya矲Cë©—Q9膲墅æºíœ»c\\딶Gç””<\/.齵휴": -1.1456247877031811E-19, - "z#.OOï¿J": -8263224695871959017, - "å´_3夼ᮟ1Fë¸ë½¯á¦“é´­V豈Ь": [{ - "Nè’¬74": null, - "yuB?厅vK笗!ᔸcXQ旦컶P-ë…«mᄉ麟_": "1R@ 톘xa_|﩯é˜î¥§s槞d!d껀筤⬫è–焵먑D{\\ïƒïŽ¿6k共倌☀G~AS_D\"딟쬚뮥馲렓쓠攥WTMÜ­8nX㩴䕅檹E\u0007ï­¨N 2 ℆æ¶ê¥ê µï“3▙玽|ë¨_\u2048", - "æA C䧩G": {":Mí£5e들\\ê€æ¼á”„é¸|Iï¨$)n": { - "|U䬫㟯SKV6ꛤ㗮\bn봻䲄fXT:㾯쳤'笓0b/à³¢Cì³–?2浓uO.ä°´": "à½ê¼‹e?``,ᚇæ…^8ꜙNM䂱\u0001Iá–™ê§M'vKdꌊH牮r\\O@䊷ᓵ쀆(fî »yè»i툺\"?<\/峧ࣞ⓺ᤤ쵒߯ꎺ騬?)刦\u2072læ…ªy꺜ﲖTjî’•+u", - "뽫hh䈵î”w>1â²ì­V[â…Ž\\헑벑F_ã–⠗㫇hæ½;á¿æ±°á±¼ç€–J옆9RRì…vsZ柺鶶툤r뢱橾/ꉇ囦FGm\"謗ꉦ⨶쒿⥡%]鵩#ᖣ_蹎 u5|祥?O", - null, - 2.0150326776036215E-19, - null, - true, - false, - true, - {"\faá­¶Pæ¤WWcá Ÿf뚉á¬í“—â³€Wç¹5:HXH=q7xì°™X$)모r뚥ᆟ!Jﳸf": [ - -2995806398034583407, - [ - 6441377066589744683, - "Mﶒ醹i)Gἦ廃s6몞 KJ౹礎VZ螺费힀\u0000冺업{è°¥'꡾뱻:.ꘘ굄奉攼Diá·‘K鶲y繈욊阓v㻘}枭캗e矮1c?íœ\"4\u0005厑莔뀾墓ë‚⽴洗ṹ䇃糞@b1\u0016즽Yè½¹", - { - "1⽕⌰鉟í”M㤭n⧴ỼD#%é˜âŠ¯ì¿¼ç¨ë¸£ëªç´§á…‡ã“•á›–cw嬀~ഌ㖓(0r⧦Qä‘•é«à´°é“‚㓻Rå„®\"@ꇱmâˆà¯¿á¦¯é Œ8}㿹犴?xn잆꥽R": 2.07321075750427366E18, - "˳b18㗈䃟柵Z曆VTAu7+㛂cb0﯑Wp執<\/臋뭡뚋刼틮è‹ë²²î·´TLP预庰܈G\\O@VD'鱃#ä¹–ëº*鑪ꬳ?MÞždï­¹{â‡åœ¯ì‡œã¼ž顄︖Y홡g": [{ - "0a,FZ": true, - "2z̬è£î’®ê§¦é©¸\u0006L↛Ḣ4๚뿀'?lcwᄧã®!蓚䃦-|7.飑挴.樵*+1ﮊ\u0010ꛌ%貨啺/JdM:ë˜ïˆ!FBe?鰴㨗0Oè´¢I藻ʔWAá«“Gì³›u`<\/I": [{ - "$Ï„5Vé´a뾆両環iZp頻යn븃v": -4869131188151215571, - "*즢[⦃b礞Râ—šnΰꕢH=귰燙[yc誘g䆌?ଜ臛": { - "洤湌鲒)⟻\\䥳va}PeAMnï¼®[": "ã³Éª/(軆lZR,Cpæ®È®Nå•·\"3Bå©´?i=r$펽á¤ì€¸", - "阄R4㒿㯔ڀ69ZᲦ2ç™í•Œå™—På´œîž#\\-ì­è¢›îˆµ&é‘/$4ç«¥Vê©‘_ZHAæ¾¢fZ3": {"x;P{긳:Gé–‰:9?æ´»H": [ - "繺漮6?z犞焃슳\">á»[Ⳛ䌜ë…䂹>èµâ¼¶ç…œï’˜Yæ¡¥[泥뚩MvK$4ï‰jtï¾›", - "E#갶霠좭㦻ୗ먵F+䪀oè’ba쮎4X㣵 h", - -335836610224228782, - null, - null, - [ - "r1á«©0>danjY짿bs{", - [ - -9.594464059325631E-23, - 1.0456894622831624E-20, - null, - 5.803973284253454E-20, - -8141787905188892123, - true, - -4735305442504973382, - 9.513150514479281E-20, - "7넳$螔忷㶪}䪪l짴\u0007é¹Pé°šHFéŠZJﳴ/âŽ1ᷓ忉ç‡áœ‹ì“ˆxëµ mä·çª¥á”^\u0019ᶌå­#ヂt☆áƒpáŽè‡¶äŸ±5ï‰$ä°µ&๵分ìˆ]äˆë‰â™‚åŽ\u0011<>", - "C蒑貑è—lï°°}X喇몛;të°¿O7/᯹f\u0015îµ¼kI嘦<ዴ㟮ᗎZ`GWퟩ瑹࡮ᅴB꿊칈??Ræ ¡sè„š", - { - "9çµæˆ¬+AU^洘拻ቒy柭床'ç²™XG鞕᠜繀伪%]hï ¾C,$è¼™?Utä¹–Qmë–šWï¶8઼}~qâ ªrU䤶CQ痗ig@#≲t샌f㈥酧l;yé—¥ZHæ–¦e⸬]j⸗?ঢ拻퀆滌": null, - "畯}㧢J罚å¸VX㨑>1ꢶkT⿄蘥ã‘o|<嗸層沈挄GEOM@-䞚䧰$만峬è¼ä ±V✩5宸-æ‚D'ã—ªyP掶7bâ ŸJã•»SfP?d}v㼂á…'猘": { - "陓y잀v>╪": null, - "鬿L+7:ë‘Y=ç„ U;킻䯌잫!韎ஔ\f": { - "駫WmGጶ": { - "\\~m6ç‹©K": -2586304199791962143, - "ႜࠀ%Í‘lâ¿…D.ç‘¢Dk%0ç´ªdḨTI픸%뗜☓s榗኉\"?V籄7w髄♲쟗翛歂E䤓皹t ?)ᄟ鬲éœ6Cî³´": { - "_ì·¤a圷1\u000eB-XOy缿請∎$`쳌eZ~æ튻/蜞`塣৙\"⪰\"æ²’l}è•Œ\\롃è«æ°Œ.望wZ|o!)Hnçqg}": null, - "kOSܧ䖨钨:಼é‰ê­O醧Sî…¨`ì‹­`ꓭì­ï¯¢N&Et㺪馻ã¢â…³ã¢ºå´¡àºŠèœšé”«\\%ahx켨|ż劻ꎄ㢄ìŸA躊᰹p譞綨Ir쿯\u0016ﵚOd럂*僨郀N*bã•·63z": { - ":Lï œ5r+T㡲": [{ - "VK泓ë²á®™Ry㓤➙Ⱗ38oi}LJቨ7Ó㹡৘*q)1豢⛃e᫛뙪壥镇æž7Gè—¯g㨛oI䄽 孂L缊ꋕ'EN`": -2148138481412096818, - "`â›á˜‘$(खꊲ⤖á„ꤒ䦦3=)]Y㢌跨NĴ驳줟秠++då­³>8ᎊ떩Eê¡£Sv룃 쯫أ?#Eî·°|á­™ãŽ?zv:5ï©^â‹‘V": [ - -1.4691944435285607E-19, - 3.4128661569395795E17, - "ãƒì´—^G9佭龶nå‹Ÿ8R厞eEw⺡_ㆱ%⼨D뉄퉠2ꩵᛅâ³æ¿L팹Là·€n=\"æ…‰ë…á›®y>!`g!í’²î¦ï¨’[/;?[vï®ê²è»‡}⤳â¤í•âˆŒTã½²R홓é‰ã“¥", - "æ„°_⮹T䓒妒閤둥?0î°šaB@㈧gç„»-#~è·¬x<\/èˆPÝ„ê¡=\\׳P\u0015jᳪá¢q;ã¯l%á­—;砢觨â–,è¬ê°Gy?躤O黩í‹Yã’a擯\n7覌똟_䔡]fJ晋IAS", - 4367930106786121250, - -4.9421193149720582E17, - null, - { - ";ᄌ똾柉곟ⰺKpá‡ä±»à¸ºä–{o~h!ï½…ê¿àª»ìš„Úš\u0002y?xUd\u207c悜ꌭ": [ - 1.6010824122815255E-19, - [ - "宨︩9앉檥pr쇷?WxLb", - "æ°‡9】J玚\u000f옛呲~ è¼ 1D嬛,î•*mW3?n휂糊γ虻*á´«ê¾ ?qîžå‡è¶—Ko↦GTé“®", - "㶢ážmOã”k'诔栀Z蛟}GZé’¹D", - false, - -6.366995517736813E-20, - -4894479530745302899, - null, - "V%᫡IIç’…ï»ä…›ä“Ží’¹ï±¢/pU9seë˜ë›žx梔~C)䨧䩻蜺(g㘚R?/á»°[å¿“C뾠ࢤc왈邠买?嫥挤풜隊枕", - ",vç¢å–”㌲쟚蔚톬៓ꭶ", - 3.9625444752577524E-19, - null, - [ - "kO8란뿒䱕馔b臻âŸéš¨\"㜮鲣Yq5mí”K#ꢘug㼈á¦=P^6탲@䧔%$CqSw铜랊0&m⟭<\/a逎ym\u0013îš¡vᯗ": true, - "æ´«`|XN뤮\u0018è©ž=ç´©é´˜_sX)㯅鿻á»ì‹¹": 7.168252736947373E-20, - "ꛊ饤ï´è¢(逊+~⽫얢鈮ï«è‰¬O힉7Dç­—S곯wæ“I斞᠈븘蓷x": [[[[ - -7.3136069426336952E18, - -2.13572396712722688E18, - { - "ç¡¢3㇩R:o칢行E<=\u0018á¬YuH!\u00044U%å炼2>\u001eSi$â“·ê’ˆ'ï‘¿ë ¢gᙫ番ꯒ㛹럥嶀澈v;è‘·é„•xè“Ž\\惩+稘Uî“´Eᖸﳊ㊈壋Nå«¿â¾æŒŽ,袯苷ኢ\\x|3c": 7540762493381776411, - "?!*^á¢çª¯?\u0001ڔꙃw虜ë³îšFgJ?&⨫*uo籤:?}ꃹ=ٴ惨瓜Z媊@ત戹ã”똩Ԛ耦Wtè½\\æž’^\\ꩵ}}}ꀣD\\]6M_⌫)Hè±£:36섘㑜": { - ";í™—á°°U஋㙛`D왔ཿЃS회çˆ\u001b-㢈`ë´†?盂㛣듿ᦾ蒽_AD~EEຆ㊋(eNwk=RÉ å³­qï’«\"5Ἠ婾^>'ls\n8QAK)- Q䲌mo펹L_ì¹æ¨–庫9ê©ìª¹á˜¹ä‘–ç€aK îž?*趤fë­“å»p=磕", - "î“å“‘z懅á¤-ê¹ux쀭", - [ - true, - 3998739591332339511, - "ጻ㙙?᳸aK<\/囩U`B3袗ﱱ?\"/ké”ä§2ï…¤l@쿎VZ쨎/6ꃭ脥|B?31+on颼-ꮧ,Oå«šm à¡­`KH葦:粘i]aSUì“™$ì‚f+詛頖b", - [{"^<9<ç®&絡;%iï«¡2攑紴\\켉hì“™-柂äšven\u20f7浯-Ꮏ\r^í›ä“ší—¬\u000e?\\ã…¡ÖºJë–·VOt": [{ - "-௄å¶k㘆í˜à®½y⎱㢬sS઄+^瞥h;á¾·jî­;抭\u0003ë°«f<\/5Ⱗ裏_朻ï—%*[-撵䷮彈-芈": { - "㩩p3篊G|å®®hzä‘Šoê³¥j^Co0": [ - 653239109285256503, - {"궲?|\":N1Û¿æ°ƒNZ#깩:쇡o8í‚—à¡Š[\"ë¸Po핇1(6é°$膓}â½*)渽J'DN<ì™ê¸˜æ¯¦ë²Ysì¹–": { - "2Pr?Xjㆠ?æ®/?㓦柖馃5뚣Nᦼ|é“¢rè¡´ã©–\"ç”æ¹—Üæ†": "\"뾯ië‡ç­ç‰»$ç²/4ka $åŒíœ´ï‹è¯‘zbAá©ê‡¸ç‘…&뵲衯ꎀᆿ7@ꈋ'ᶨH@á ´l+", - "7뢽ëšv?4^ꊥ_⪛.>pởr渲<\/⢕疻c\"g䇘vU剺dஔ鮥꒚(dïŸv祴Xâ¼¹\\îºa8y5å†": true, - "o뼄Bìšžç¾hrï·”í˜ë’šâ¿›U5pꪴfg!6\\\"爑ì䢱W<ﶕî\\í…£ç‡oI/BK뺡'谑♟[Ut븷亮g(\"t⡎有?ꬊ躺ç¿è‰©nl F⤿蠜": 1695826030502619742, - "ÛŠê¹–>ࡹ햹^ⵕ쌾BnN〳2C䌕tʬ]ì° ?ݾ2饺蹳ã¶êŒ­è¨\"â—¹á¬D鯎4e滨T輀ﵣ੃3\u20f3í‚™D瘮g\\擦+泙᧠鬹ﯨַ肋7놷郟lPå†{ß’hড়r5,ê“‹": null, - "á¿‹N$y{}2\\N﹯ⱙK'8ɜͣwt,.钟廣䎘ꆚk媄_î­®": null, - "䎥eᾆá¦î‘§ì‰,JÞªn岪ã¥sî­•æ–謽䚔5tã¯ï–µï£šã°³ã±ŠZhD䃭f絕s鋡篟îža`Q鬃┦鸳n_é‚(E4è¿ _觅ë·_宪D(NLî²ç–¶hL追V熑%]vè‚«=惂!㇫5⬒\u001fï²å–º4랪옑": { - "2aè¼85먙R㮧㚪Sm}E2yîŠê†£ê«¨rRymã±è†¶á”¨\\t綾A☰.ç„„ë™—9<쫷챻䒵셴᭛䮜.<\/慌꽒9å»Okä°ŠZ㥪幸k": [ - null, - true, - {"쌞ì": { - "â–ŸGL K2ië›±iï¼±\"Ì .옛1X$}涺]éŽæ‡ Ú¦ëŠ·?tfçŸÝžã‚Ÿ{": 1.227740268699265E-19, - "ê’¶]í“š%ฬKâ…": [{ - "(à·›@Ç®ã£ä§¼äµ¤[aテൖvEnAdUë –ë—ˆ@볓yꈪ,mÔ´|꟢ìº(而첸죕CX4Y믅": "2⯩㳿ꢚ훀~迯?᪑\\å•š;4X\u20c2è¥B箹)ä¿£eá»»w䇄", - "75༂f詳䅫ê§é¿ }3\u20b5'∓ä±è™€fè¼î‘”Iq鈆﨤gí©)BFa왢d0뮪痮Mé‹¡nw∵謊;ê§f美箈ḋ*\u001cî±ïœŸ`퇚í‹ä³«$!V#N㹲抗ⱉçŽ(V嵟ï«_bã³…\u0019": null, - "e_m@(i㜀3ꦗ䕯䭰Oc+-ë ¨0뭦⢹苿蟰ê‚SVä°­å‹¢ë¥.ྈ爑Vd,á•¥=í€)vz뱊ꈊB_6듯\"?{ã’²&㵞뵫ç–ë¡ë¯ˆ%Qwé™,?\ræž®\"? N~癃ruà¡—dn&": null, - "㉹&'Pfs䑜공j<\/?|8oc᧨L7\\pXá­ 9᪘": -2.423073789014103E18, - "ä„瑄䢸穊f盈᥸,B뾧푗횵B1쟢f\u001f凄": "é­–âš2儉j꼂긾껢嗎0ࢇ纬xI4]ï„(à©“`è•ž;픬\fC\"æ–’\")2æ«·I﹥迧", - "ퟯ詔xæ‚ë ¹+T?Bg⥄섅kOeQí¼ã»´*{Eé¼6æ°¿L缋\u001c둌๶-㥂2==-츫I즃ã ï–˜Lg踞ꙂEG貨鞠\"\u0014d'.ç¼—ï¡gI-lIb䋱ᎂDy缦?": null, - "î’¢ç´Mã¦çŠ¿w浴詟棓쵫G:äœ?V2íž½7N*n&ã–ŠNd-'ຊ?-樹DIv⊜)gä‘œ9뉂ㄹí‘阉~ê…쵃#R^\u000bïž®B䌎䦾]p.䀳": [{"ϒ爛\"ꄱ︗竒G䃓-î†ã¾å¸³ã‚.j)qguæ‰å¾£à¨Zé¼—A9A鸦甈!kè”å–™:3Tî†%&ã ˜+,ä·ž|ì±½v䚞문H<\/醯r셓㶾\\a볜åºzEä·_죤ဵ뿰᎟CB": [ - 6233512720017661219, - null, - -1638543730522713294, - false, - -8901187771615024724, - [ - 3891351109509829590, - true, - false, - -1.03836679125188032E18, - { - "j랎:g曞ѕᘼ}链N", - -1.1103819473845426E-19, - true, - [ - true, - null, - -7.9091791735309888E17, - true, - {"}蔰鋈+ê¨å•µ0?g*사%`J?*": [{ - "\"2wG?yn,ç™·BK\\龞䑞x?è ¢": -3.7220345009853505E-19, - ";饹়â€)çš‹`噿焒j(3â¿w>å5Xè–™å©è¿3aFÆÃ": "2,ê“´g?_섦_>Y쪥션钺;=趘F~?D㨫\bX?㹤+>/믟kᠪ멅쬂Uzỵ]$ç§`mé›ç‘Šî’ඖ鯬cꙉ梢f묛bB", - "♽n$YjKiXX*GOè´©éƒè±®ç¥´éžK醞眡}ê—¨v嵎꼷0à­¸+Mè‹eH徸Jîžê£†:â¼æ‚¥B켽迚㯃bè«‚\u000bjꠜ碱逮m8": [ - "푷᣺ﻯd8ﱖ嬇ភHîªé¹Žâ¡±á±…0g:æžœ6$GQ췎{vá·§Yy-è„•xå¹ç ¡ï¨¬â®¸C蓼êš=軄H犠Gè°–ES詤Zè ‚3lë´Ÿhï¿’7䦹1GPQG癸숟~[#駥8zQ뛣J소obg,", - null, - 1513751096373485652, - null, - -6.851466660824754E-19, - {"ä©‚-â´®2Ù°K솖풄꾚ႻP앳1Hî³é·›wmR䗂皎칄?醜<\/&à §ã¬X濬䵈K`vJ륒Q/IC묛!;$vÏ‘": { - "@-êš—xྐྵ@m瘬\u0010U絨ﮌé©\\켑寛넆T=tQã­¤Lì—°@脸삯e-ï–…î–‘:⩼u㎳VQ㋱襗ຓ<Ⅶ䌸cML3+\u001e_C)r\\9+Jn\\Pﺔ8蠱檾è…Pqé³è¯î¦§Tä„I": -1.80683891195530061E18, - "á·­á‹»U~ཷsgSJ`᪅'%ã–”n5픆桪砳峣3ç®æž¾äŒ·âŠ°å‘€ïŒ": { - "Ş੉䓰邟自~X耤pl7间懑徛s첦5ਕXexh⬖鎥á€nNr(J컗|ૃF\"Q겮葲놔엞^겄+㈆è¯ã€¾í¬ç´G'E?飕1fâ¼í…¬æ‚šï•¦æ³¬ë¨Uç¬í›¶Qs": false, - "î³…(\u20dag8í½íŠ£>^Y{뤋.袊䂓î†;_ïg]S\u202a꽬L;^'#î—™ë•bá‚Œ?Cç·¡<ä²ä²æ–­ê6\u001asD7IK5Wxo8\u0006p弊⼂ê¯æ‰µ\u0003`뵂픋%ꄰ⫙ë¶lå›å°›ïˆ®+ä—…E쟇\\": [ - true, - { - "\n鱿aKã¡â’ã¼™2ì´¹f;`ì¾qIà¡”G}ã·äç“°w늮*ç²…9뒪ㄊCj倡翑閳R渚MiUO~仨䜶RꙀA僈㉋⦋n{ã–¥0딿벑î§é€¦â¥»0î¾®h薓쯴ê»": [ - 5188716534221998369, - 2579413015347802508, - 9.010794400256652E-21, - -6.5327297761238093E17, - 1.11635352494065523E18, - -6656281618760253655, - { - "": ")?", - "TWKLꑙ裑꺔UE俸塑炌Ũ᜕-ï’‚o\"徚#": {"M/癟6!oI51niíš=댡>xê¨\u0004 ?": { - "çš­": {"⢫䋖>u%wî²´ìž¼<ä•ê˜P䋵$é­‹æ‹U䮎緧皇Y훂&|羋ꋕ잿cJ䨈跓齳5\u001a삱籷I꿾뤔S8㌷繖_Yឯ䲱B턼Oæ­µF\\l醴o_欬6ç±=D": [ - false, - true, - {"Mt|êžD|F궣MQ뵕T,ëºk+?ãµi": [ - 7828094884540988137, - false, - { - "!༦鯠,&aﳑ>[euJê½ç¶·æB.h": -7648546591767075632, - "-n켧嘰{7æŒæ¯„Y,>â螵煫乌pv醑Q嶚!|âŒè²¬0왾ë¢ê…蛨S\\)ç«°'舓Q}A釡5#v": 3344849660672723988, - "8é–ªéºV=鈢1녈幬6棉⪮둌\u207d᚛驉ꛃ'r䆉æƒà¥ˆ|bἧﺢᒙ<=穊强s혧eꮿ慩⌡ \\槳W븧J檀C,ᘉì˜0俯퀉M;筷ࣴ瓿{늊埂鄧_4æ¸Nn阼Jੵ˥(社": true, - "oë¼€vwï…®)4A뢵(î¼±a䵢)p姃뛸\u000fK#KiQp\u0005ê…芅ì…îª": null, - "ç ¥$ꥸ┇耽uæ–®Gc{z빔깎밇\\숰\u001eê´·å„㶇쵿_á´„+hç©¢p촀Ნ䃬zäé…³Ó‚31xꔄ1_ç šWë ˜G#2è‘ŠP ": [ - -3709692921720865059, - null, - [ - 6669892810652602379, - -135535375466621127, - "뎴iO}Z? 馢녱稹ᄾä©rSt帤넆&7ié¨ë©—ç•–ï”9誧鄜'w{Ͻ^2窭외bã‘Žç²–i矪ꦨ탪跣)KEㆹ\u0015V8[W?⽉>'kc$䨘ᮛ뉻٬M5", - 1.10439588726055846E18, - false, - -4349729830749729097, - null, - [ - false, - "_è ¢ã ^䟪/D녒㡋ỎCä’ˆíŒïŒ¢\u0006àªq@O펢%;é¹ìŒo戥~A[ꡉ濽ỳ&虃᩾è£å”™ï¤£èŒ¨Ig楡꒻M窓冉?", - true, - 2.17220752996421728E17, - -5079714907315156164, - -9.960375974658589E-20, - "ᾎ戞༒", - true, - false, - [[ - "ⶉᖌX⧕홇)g엃⹪xëšç™Ÿ\u0002", - -5185853871623955469, - { - "L㜤9ợㇶKé°â‹“V뽋˖!æ–«as|9"á¬ä†ª?7胜&n薑~": -2.11545634977136992E17, - "O8뀩D}캖qè‚6༣ã—䈓煮å½à¨†áŽ¼Dᣘí›;": false, - "YTá¡…^ï—Lã—ŽcbY$pᣞ縿#fh!ꘂb삵玊颟샞ဢ$ä—é¼’ëª~rkH^:닮먖츸륈⪺쒉砉?㙓扫㆕꣒`R䢱Bé…‚?C뇞<5Iޚ讳騕S瞦z": null, - "\\RB?`mG댵鉡å¹ç‰©äµŽæœ‰5*e骄T㌓ᛪç¾é§’Ku\u001a[柆jUq8⋈5鿋츿myï»—?é›ux঴?": 5828963951918205428, - "n0æ™…:黯 xu씪^퓞cB㎊á¬âº˜Ù¤Öƒ~B岚3㥕擄vᲂ~F?C䶖@$mï›~å¿”S왖㲚?챴⊟W#벌{'ã°Iä ç¸s樘\\X뢻9í•¡I6èㄛî‚î«8쯶]wॽ0L\"q": null, - "x增줖j⦦tä¢áŽ™ïŠ­ã›¿Yf鼘~ê«“æ„4惊\u209c": "oOhbᤃ᛽z&Bi犑\\3B㩬劇䄑oÅ쨅孥ë©àº–acA㖫借ãžvg싰샂ãœ#譞⢤@k]鋰嘘䜾L熶塥_<\/â¾å±ˆï®Š_mYè¹t뙺}Ox=wé®®4S1ê©ï¬¾'å·‘", - "㗓蟵ꂾe蠅匳(JPä—à·¸\u0089耀왲": [{ - "ᤃ㵥韎뤽\r?挥O쯡⇔㞚3ä¼–\u0005Pî•â‹ª\"D궣QLn(⚘罩䩢Ŏv䤘尗뼤ë›O淽鋋î¡é—šrå´©a{4ç®™{煷m6〈": { - "l곺1L": { - "T'ਤ?ç …|੬Km]ä„©\"(࿶<\/6U爢䫈倔郴l2ã´±^줣k'Læµ–Lé°„Rp今鎗⒗Cì–¨Mí›ã¡§Î˜X粜뫈N꤇輊㌻켑#㮮샶-ä—룲è ç™œã±V>=\\I尬癤t=": 7648082845323511446, - "é‹žEP:<\/_`á§e混ㇹBd⯢㮂驋\\q碽饩跓྿ᴜ+j箿ë ã—‘yK毢宸p謹h䦹乕U媣\\炤": [[ - "3", - [ - true, - 3.4058271399411134E-20, - true, - "æ€+憱f逮@먻BpW曉\u001aã£âŽŠ$n劈D枤㡞좾\u001aá›ïŒƒè‹”౩é—1B䷒Ṋ݋âžê€žêƒç£$t੤_:蘺⮼(#N", - 697483894874368636, - [ - "vᘯ锴)0訶}ä³…â©š0O壱韈ߜ\u0018*Ué¾ä–=䧉뽑å•íœ»ID쿇嘗?ꌸῬ07", - -5.4858784319382006E18, - 7.5467775182251151E18, - -8911128589670029195, - -7531052386005780140, - null, - [ - null, - true, - [[{ - "1欯twG<\/ï†Q:0怯押殃탷è«ì‚¬<ỗꕧ蚨ä¡ï¨î³‰nDꌕ\u001cë…¬~蓩鲃gå„Š>ê¡l㻿/â‘·*ì±³6㻜W毤緛ﹺᨪ4\u0013뺚J髬e3쳸䘦伧?æª&{L掾p+꬜MäŠd娘6": { - "2p첼양棜h䜢﮶aQ*c扦v︥뮓kC寵횂S銩&Ç{O*य़iH`Uí…à¡“rä©•5ꄸ?`\\᧫?ᮼ?t〟崾훈kè–ì/iy꤃뵰z1<\/AQ#ë¿©8jJ1z@u䕥": 1.82135747285215155E18, - "ZdN &=dë…„á…†'ì‘â…‰:烋5&áŸï”‹á„‚汎æ¥L㯄固{é’§u\\ãŠíŠšeæ‘‘&tå—„ê–„UbâŒ?m䴘熚9EW": [{ - "ଛ{i*a(": -8.0314147546006822E17, - "⫾ꃆY\u000e+W`௸ \"Më’¶+\\ë·lKE}(NT킶Yjé¸ç¯’î©¥ì¶'jNQ硾(똡\\\"逌â´y? IRꜘ὞鄬﨧:M\\fâ ‹Cꚜ쫊ᚴNV^Dä•—ã…–á¼”Iao꿬Câ8": [ - 287156137829026547, - { - "H丞N逕⯲": {"": { - "7-;枮阕梒9á‘„Z": [[[[ - null, - { - "": [[[[ - -7.365909561486078E-19, - 2948694324944243408, - null, - [ - true, - "荒\"并孷䂡쵼9o䀘F\u0002龬7⮹Wz%厖/*? a*R枈㌦ë¾g뒠䤈q딄㺿$쮸tᶎ릑弣^éŽ<\/Y鷇驜L鿽<\/춋9Mᲆឨ^<\/庲3'lë‚¢", - "c鮦\u001bë‘\\~?眾ಢu݆綑෪蘛轋◜gȃ<\/â´ƒcpkDt誩܅\"Y", - [[ - null, - null, - [ - 3113744396744005402, - true, - "v(y", - { - "AQ幆h쾜O+꺷铀ꛉ練A蚗⼺螔jãŒ3꽂楎䥯뎸먩?": null, - "蠗渗izé±–w]擪E": 1.2927828494783804E-17, - "튷|䀭n*曎b✿~æ¤U]î­¡Gz鄭kW|ã´š#㟗ഠ8u擨": [[ - true, - null, - null, - {"⾪壯톽g7?㥜ώQê‘㦀æƒã§½î“¡ä¼“\\î¦*᧰閖樧뢇赸N휶䎈pIæ°‡ï®é•Šmaᬠ탷#X?î³A+kÐM ༑᩟Ø?5꧎鰜ṚY즫궔 =ঈî³;ﳈ?*s|켦蜌wM笙莔": [ - null, - -3808207793125626469, - [ - -469910450345251234, - 7852761921290328872, - -2.7979740127017492E18, - 1.4458504352519893E-20, - true, - "㽙깹?ë¨ä†¢:ä´ŽÛ»gæ® JBTU⇞}ꄹꗣi#Iî’¡ëµ£é‰r혯~脀ìƒ#釯:场:ä”>ä°®o'ã¼½HZ擓௧nd", - [ - 974441101787238751, - null, - -2.1647718292441327E-19, - 1.03602824249831488E18, - [ - null, - 1.0311977941822604E-17, - false, - true, - { - "": -3.7019778830816707E18, - "Eå³¾æ†èŒ6xLIm縂0n2视֯J-ᤜz+ᨣè·mYDè±ç¹¹â¹ºäŠ“몓ﴀE(@è©®(!ï’Y膽#᎙2䟓섣A䈀㟎,囪QbKæ’wcG湎ꤧtGì—xâ¥ä¿Žj'A一ᯥ뛙6ㅑ鬀": 8999803005418087004, - "よ殳\\zD⧅%Y泥簳Uꈩ*wîRL{3#3FYHା[d岀䉯T稉駅䞘礄P:é—ˆWæ€ElBã¤å–¬èµ”bGä ¼U଄Nw鰯闀楈ePsDꥷ꭬⊊": [ - 6.77723657904486E-20, - null, - [ - "ཚ_뷎꾑è¹q'㾱ꂓ钚蘞慵렜떆`ⴹ⎼櫯]J?[t9Ⓢ !컶躔I᮸uz>3aã •i,錃L$æ°°í…°@7ë…«W㸮?羧W뇧ꃞ,î—‘N鋮숪2ɼì½â”ä²6", - "&y?뢶=킕올Za惻HZk>c\u20b58i?ꦶcfBv잉ETî…9jä¡¡", - "imçŠÕƒb칧校\\뼾쯀", - 9.555715121193197E-20, - true, - { - "<ã«šv6腓㨭e1ã•”&&V∌ᗈT奄5Lጥ>탤?튣瑦㳆ꉰ!(ᙪ㿬擇_n쌯IMá¿‹î£ã•¨â°æ«ˆá±·5풔蟹&L.ì²½e鰷쯃劼﫭b#ﭶ퓀7ë·„Wr㢈๧Tʴશ㶑澕é%": -1810142373373748101, - "fg晌o?߲ꗄ;>C>?=鑰監侯Ktêµ…": true, - "䫡蓺ꑷ]C蒹㦘\"1à°ƒ@å‘«\u0014NLä¾egå‘®á³,r$裢k>/\\?ㄤᇰﻛ쉕1஥'ÄŠ\" \\_?쨔\"ʾr: 9Sä˜ç¦ºáª§ê„‚㲄", - [[{ - "*ç¡™^+E쌺I1䀖ju?:⦈Ꞓl๴竣迃xKC/饉:\fl\"XTFᄄ蟭,芢<\/骡軺ëœhê˜\u001f銿<棔햳▨(궆*=ä¹¥b8\\媦ä·€ë«}닶ꇭ(Kej䤑M": [{ - "1á¬?>옿Iâ•…C<ÞŽ?ꊌ冉SV5A㢊㶆z-๎玶绢2F뵨@㉌뀌o嶔f9-庒茪ç“ë·³4": null, - ";lá°³": "CbB+è‚»aä„·è‹*/볳+/4fq=ã°h6瘉샴4é“¢Yéª.⌖@哼猎㦞+'gꋸ㒕ߤï—ãž‘(䶒跲tiâ‘´aî¥ç¡‚#Noë³”", - "t?/jE幸YHT셵⩎Kî¹!Eq糦ꗣv刴w\"l$ο:=6:移": { - "z]鑪醊嫗J-Xm銌ç¿çµ¨c里ëç‚™Ep㣋é£ë˜¼åšŒä€“GPï¹–cmf4é¹­T䅿꣭姧â¸wy6ꦶ;S&(}ᎧKxᾂQ|tï¹ë»³k\"d6\"|Mlì·†hwLtê¼¼4$&8Պ褵婶鯀9": {"嵃닢ᒯ'î–›d᧫䳳#Nî‡Xe3-붋鸿î¢à¬¢ë–“%dK\u0013䲎ê–YV.裸Râ‰rR3蟛\\:ì ¯:å—ĺLʆ넕>|텩鴷矔ꋅⒹ{t孶㓑4_": [ - true, - null, - [ - false, - "l怨콈lá’", - { - "0wä²å¬§-:`䉅쉇漧\\Ü‚yㄨb%㽄j7ᦶ涶<": 3.7899452730383747E-19, - "ꯛTẀq纤qå¶Vâ¿£?\"g}ი艹(쥯B î­T騠I=仵ë°X": {"KX6颠+&á…ƒ^fç•’y[": { - "H?뱜^?꤂-⦲1aã‹ž&î‘®êƒç²¾Ii᤾챪咽쬘唂쫷<땡劈훫놡o㥂\\ Kâ´™D秼Fæ°®[{'좴:례晰Iq+Iì­¥_T綺砸GOç…䟪ᚪ`î‘↹l羉qì¼Dê½áœ…훦: vUV": true, - "u^yï³0㱓#[y뜌앸ꊬLã·©?蕶蘾â»KӼ": -7931695755102841701, - "䤬轉車>\u001c鴵惋\"$쯃྆⇻në½€Gæ° Såª]ಲê¨æ‡Qxኻ椕駔\\9ࣼ﫻ìœç£¡ï©ˆëºªá¶šë³l㕆t+sζ": [[[ - true, - false, - [ - null, - 3363739578828074923, - true, - { - "\"鸣詩 î›ë³°ã‘µgL㯦῅ì¶æ—«}ED辗ﮈI쀤-ꧤ|ã ¦Z\"娑ᕸ4çˆé¨ã£\"]ì³Af]茛⬻싦oèšk䢯ä©è½3廇喑ޅ": 4.5017999150704666E17, - "TYႇ7ʠ值4챳唤~Zo&Ý›": false, - "`å¡„J袛㭆ëºã³€N㺣`ê½å¶¥Kï¯SVᶔ∲퀠ç¾N딂X\"á¤hNﬨvI": {"\u20bbã­˜I䖵䰼?sw䂷쇪]î(泒f\"~;꼪FÔsá¦": {"p,'ꉂ軿=A蚶?bƉãµä…°è«¬'LYKL6B깯⋩겦뎙(ᜭ\u0006噣d꾆㗼Z;ä„äš”cd<情@äž‚3苼㸲U{)<6&ꩻ钛\u001au〷N숨囖愙j=BXWìš•^x芜å á¿™çˆ‚ë›·ê’»t✘Q\b": [[ - "ç±›&ଃ䩹.ꃩ㦔\\C颫#暪&!勹ꇶ놽攺J堬镙~軌C'꾖䣹㮅ï¶å²ƒá™´éµ£", - 4.317829988264744E15, - 6.013585322002147E-20, - false, - true, - null, - null, - -3.084633632357326E-20, - false, - null, - { - "\"짫愔昻 Xï«\"è—£j\"\"ë¨à½…ѻ㘤㬯0晲DU꟒㸃dë²€î¢ìœ’l䦾cà©»*3": null, - "è°ˆWm陧阦咟ฯ歖擓Nå–´ã‹éŠ­rCCnVࢥ^♼Ⅾ젲씗刊Sà¼+_tèµ”\\bäšë‰¨ê¬«6펛cL䊘᜼<\/澤pF懽&H": [ - null, - { - "W\"HDUuΌ퀟M'P4à¿°H똆ⰱﮯ<\/å‡è˜²\"C鴫ﭒж}ꭩ쥾t5yd诪ﮡí‰â´°@?æ°é†³rj4I6Qt": 6.9090159359219891E17, - "絛ﳛ⺂": {"è«°Pã—®î˜è¦`ZQ?ꫦh*à´±cb⧱}埌茥h{棩렛툽o3é’›5é®l7Q榛6_g)ὄ\u0013kj뤬^爖eO4Ⱈ槞鉨ͺ订%qX0Tì—å«·$?\\\"봅늆'%": [ - -2.348150870600346E-19, - [[ - true, - -6619392047819511778, - false, - [[ - -1.2929189982356161E-20, - 1.7417192219309838E-19, - {"?åµ²2à¿2\u0001啑㷳c縯": [ - null, - [ - false, - true, - 2578060295690793218, - { - "?\"殃呎ïˆ#ã‘‘F": true, - "}Fç‚Š_æ®›oU헢兔êˆ,èµ­9703.Bæ•°gTz3â¬": { - "5&t3,í–“Mݸᵣ㴵;꣫ä©â†³#ï¢@ë«·ä …ï¦+W-ࣇzᓃ鿕ಔ梭?T䮑ꥬ旴]u뫵막bBè®:왳둛lEh=숾鱠på’î›î­ˆ$ì§#?gâ¹·á—Švã·µ.æ–ˆu頻\u0018-G.": "ë½™m-ouࣤ஫牷\"`Ksê•žç­¼3HlȨvCï¢î›¦å ˆ\"I]㖡玎r먞#'W賜鴇k'c룼髋䆿飉㗆xgå·¤9;芔cáŒ/ax䊨♢í“rå“㸫೼䢗da᩾\"]å±£`", - ":M딪<䢥喠\u0013ã–…x9è•ã‘‚XO]f*Q呰瞊å­VP@9,㨣 D\\ç©ŽvˤƩs㜂-曱唅L걬/롬j㈹EB8g<\/ì„©o渀\"u0y&룣": ">æ°ç·©L/ä•‘ë¯êŸ˜îŸ”è•ž^aBë’£+0jK⪄瑨痜LXK^힦1qK{æ·št츔X:Vm{2rçB뾄H첚7æ°¥?쉟䨗ꠂv팳圎è¸é½€\\", - "D彤5㢷Gꪻ[lㄆ@὜⓰絳[ଃç½ì®¹â˜’[*0ꑚ㜳": 9022717159376231865, - "Ò–aV銣tW+$é­¿\u20c3ïœäºœ~ë«¡ᙰ禿쨽ã¡fá¹¼zE/h": "5è‡ï’Œã‹‡á²¯ì®º? 昨탰Wム밎#'\"崲钅U?幫뺀â¾@4kh>騧\\0Ò¾EV=çˆî©®ÍŒUæ€%ꉼ 㮋<{j]{R>:gÔ©L\u001c瀈锌ﯲﳡꚒ'â«¿E4æšãŒ—뵉X\"Háœ", - "ᱚגּ;s醒}çŠSἿ㦣&{T$jkB\\\tḮ앾䤹o<é¿(tW": "vb⯽䴪䮢@|)", - "⥒í껉%惀뗌+녣迺顀qæ¢g⚯i⤭ë£Mç¹j̈́⽜A": -8385214638503106917, - "逨ꊶZ<\/W⫟솪㎮ᘇb?ê ”i\"H㧺x෷韒Xꫨฟ|]窽\u001a熑}Agn?Mᶖa9韲4$3á»´^=ì煤áë·2䣃%ï…Žé· /eQ9頸쥎", - 2398360204813891033, - false, - 3.2658897259932633E-19, - null, - "?ꚃ8Nnãž·å¹µd䲳䱲뀙ꪛQ瑓鎴]䩋-é°¾æ¡ï¾ä³¡??掊", - false, - -1309779089385483661, - "ᦲxu_/yecR.6èŠ.áœ‡éŽ ~", - -5658779764160586501, - "ì’Œ:æ› =lìœä¢œwk#sè•š\"互㮉m䉤~0ë“䋙#Gîš¿;h숄옥顇෤勹(C7㢅雚ã¯Lâ …VVç°…<", - null, - -4.664877097240962E18, - -4.1931322262828017E18, - { - ",": { - "v㮟麑䄠뤵g{Më®.\u001bzt뢜뵡0Ǥ龍떟Ᾰ怷ϓRT@Lꀌ樂Uã â¾•e扉|bJg(뵒㠶唺~ꂿ(땉x⻫싉ìŠ;%0鎻V(o\f,NéŠ%nk郼螺": -1.73631993428376141E18, - "쟧摑繮Q@Rᕾ㭚㾣4éš…å¾…ã“Ž3è’Ÿ": [ - 4971487283312058201, - 8973067552274458613, - { - "`aæ™á£—î\u0015iBo¸": 4.3236479112537999E18, - "HW&퉡ãåœïŸ†Y?ç‘¡Qyí›q!帰ï©s舠㫸zêš—aSæ­²v`G株巷Jp6킼 (ê·¶é”â¾î‹¥â¡ˆ>Mæ±ãžá‰´ê™²dv@i㳓ᇆ?é»": [ - null, - 4997607199327183467, - "E㻎蠫á¾é«˜ä™Ÿè˜¬æ´¼æ—¾ï« í…›ã‡›?'M$㣒蔸=A_亀绉앭rN帮", - null, - [{ - "Eᑞ)8餧A5u&ã—¾q?": [ - -1.969987519306507E-19, - null, - [ - 3.42437673373841E-20, - true, - "eê±·Må¢\"割Pâ›í§åŽ€R䱜3ï»´Oí“«r﹉⹊", - [ - -8164221302779285367, - [ - true, - null, - "爘y^-î¬?蘞Ⲽꪓaâ…ê¨}I", - 1.4645984996724427E-19, - [{ - "tY좗⧑mrzïºã¿¥â´–᥷jè«…\u0000q賋è­êž„â®±S\nà¡£B/íƒêµª3ZÉ‘å¤o<\/;ë¡‹": null, - "彟hæµ _|V4䦭Dᙣ♞uì¿»=ì‚®ã¦\u001e哀鬌": [{"6횣楠,qʎꗇ鎆빙]ã±­R굋鈌%æ ²j分僅ペ䇰wí¦î¼‹p蛃N溈ê¡ê€?@(GI뉬$ﮄ9èªê“š2e甸ڋ[äº,\u0011\u001cࢃ=\\+衪䷨ᯕ鬸K": [[ - "ㅩ拏鈩勥\u000etgWVî–¨Xs陂è¦p狵w퓼{뮵_i\u0002ퟑႢâ¬d6é‹«F~챿æŸ\u0096äš¼1ۼ칥0꣯å„=鋷牋ⅈêžé¾", - -7283717290969427831, - true, - [ - 4911644391234541055, - { - "Iî¹éˆ’ì²½P릜朸W徨觘-HᎄíŸâ“º>8kr1{ê²µäƒã€›á¬¡Ì¨Oê·‘oä•'쿡鉕p5": "fvç²–RNçž–è›a?q꤄\u001d⸥}'ꣴ犿ꦼ?뤋?鵆쥴ë‹ä¡«s矷̄?ඣ/;괱絢oWfV<\/\u202cC,ã–¦0䑾%nè³¹g&T;|lj_欂N4w", - "짨䠗;䌕u i+rà¹0": [{"9ä¥\\à°©8\"馇z䇔<\/á‚¡Y3eç‹šì¡\"ุ6ï°†Zé–c\"Ll:ïŠê®¾ç–£<\/᭙O◌납୕湞9⡳Undã«œ\u0018^4pj1;ä§å„‚ä—·à­—>@e톬": { - "aâ‘‚Fé‹»Qèž°'<퇽Qè´ç€§{ᘪ,cP&~䮃Z?gI彃": [ - -1.69158726118025933E18, - [ - "궂z簽㔛㮨瘥⤜䛖Gℤ逆Y⪾j08î±²Sn昞ꘔ캻禀鴚P謦b{ê“®mNéMᥙ5\"ç2냑I\u0011.L&=?6á„ ë»·X鸌t刑\"#z)oê«šn쳟줋", - null, - 7517598198523963704, - "ኑQp襟`uá©„ræ–¹]*F48ꔵn俺ሙ9뇒", - null, - null, - 6645782462773449868, - 1219168146640438184, - null, - { - ")ယ넌竀Sdä°¾zqâ«£âŒÊ¥\u0010á¿“' |磪&p牢蔑mï³V蘸૰짬꺵;K": [ - -7.539062290108008E-20, - [ - true, - false, - null, - true, - 6574577753576444630, - [[ - 1.2760162530699766E-19, - [ - null, - [ - "é¡Š\\憎zXB,", - [{ - "㇆{CVC9ï¼MN㜋ઘR눽#{h@ퟨ!鼚׼XOvXS\u0017á£=cS+梽៲綆16së½íœy屬?ᇳG2á´­\u00054쫖y룇nKcW̭炦s/鰘ᬽ?J|퓀髣nå‹Œ\u0010í™ P>j": false, - "ç®´": [ - false, - "éžj\"ꮾ*엇칬瘫xṬ⭽ì©äƒ³\"-⋵?ᦽ댎Ĝ": true, - "Pg帯佃籛n㔠⭹࠳ë·â‰»à¿Ÿ3ãž±ï“!î—-ì’¾!}쭪䃕!籿n涻J5ਲ਼yî˜vy;Rኂ%ᔡጀ裃;M⣼)쵂쑈": 1.80447711803435366E18, - "ꈑC⡂ᑆ㤉壂뎃Xub<\/쀆༈憓قì¨×§\\": [ - 7706977185172797197, - {"": {"K╥踮砆NWࡆFy韣7ä밥{|紒︧䃀榫rᩛꦡTSy잺iH8}ퟴ,M?Ʂ勺ᴹ@T@~꾂=I㙕뾰_涀쑜嫴曣8IY?Ò¿o줫fऒ}\\S\"ᦨ뵼#nDX": { - "♘k6?଱癫d68?㽚乳䬳-Vé¡·\u0005è•?\u0018䞊V{邾zã˜l]é›k臤~ൖHë’iꢥ]g?.G碄懺䔛pR$ä…’X觨lë´œA刊8R梒',}u邩퉕?;91Eî¦a䈈ë¯G⊶芔h袪&廣㺄j;ã¡ç¶½\u001bN頸쳘橆": -2272208444812560733, - "æ‹‘Wﵚî²j鵼駳Oࣿ)#ã¾…é¡‚N傓çºy僱栜'Bê-!KF*ꭇK¦?䈴^:啤wG逭w᧯": "xᣱmYe1Û@霄F$ě꧘푫O䤕í€Pq52憬ꀜ兴㑗ᡚ?ï—ƒLé·íŸî—¼ë­zJê‘™}╆ᅨJB]\"袌㺲u8䯆f", - "꿽á…㔂긱Ǧ?SI": -1669030251960539193, - "ì‡É¨`!è‘Ž>瞺瘡驷錶â¤ï»®é…œ=": -6961311505642101651, - "?f7♄꫄Jᡔ훮eì‡îª¼í¾á£ä­´KhखT;Qty}O\\|ë«Iá¿’Ne(5æƒê¥¶ã†·Y9ﮡ\\ oyâ­–-䆩å©m#xë´‰>Y鈕Eç–£s驇↙ᙰm<": {"퉻:dê‚&efï¿Žì«¢[ï„™\"ëˆëŠ–꺙|Ôå‰1Í–-K:Êšá­•/;ì–㷛]Iç—èŒ4gZ4âœkเꛘZ⥺\\Bʫᇩ鄨魢弞&幟ᓮ2̊盜", - -9006004849098116748, - -3118404930403695681, - { - "_彃Y艘-\"Xx㤩㳷瑃?%2ä¡éµ›o귵옔夘v*탋èŒ&㳈챗|Oé’§": [ - false, - "daꧺdᗹ羞쯧Hã¤é„³é ³<型孒ン냆㹀f4ã¹°\u000f|C*ሟ鰠(O<ꨭ峹ipຠ*y೧4VQè””hVæ·¬{?ᵌEfrI_", - "j;ꗣ밷é‚副]á—“", - -4299029053086432759, - -5610837526958786727, - [ - null, - [ - -1.3958390678662759E-19, - { - "lh좈T_ë¯Y\"伨\u001cꔌG爔겕ꫳ晚è¸â¿»ìT䯎]~e#฽燇\"5hٔ嶰`泯r;ᗜ쮪Q):/tç­‘,榄&5ï¤ëŽ«ç‹(": [{ - "2áâ“›]r3C攟וּ9è³µsâ›”6'ஂ|\"ⵈ鶆ä¹ç¦3\"痰ࢤéœäµ©ì˜†äŒ€?æ •r7Oç°‚Isd?Ká«œ`^讶}zî°’8?zì–°î§T:X倫⨎ꑹ": -6731128077618251511, - "|︦僰~m漿햭\\Y1'Vvخ굇á‰ì±¢c趖": [null] - }], - "虌魿閆5⛔煊뎰㞤ᗴꥰF䮥蘦䂪樳-Ká·-(^\u20dd_": 2.11318679791770592E17 - } - ] - ] - ]}, - "묗E䀳㧯᳀逞GMc\b墹㓄ë–Æ &U??íŽŒé‘ åª‹k))á„Š": null, - "묥7콽벼諌J_DɯﮪMæ®´ä£,煚ྼ`Yï“ž:씧<\/â©«%yf䦀!1Ჶk춎Qç±³W∠WC跉鬽*á›±iã´•L꘻ê€ì“ª\"_gé¿„'#tâ½™?,Wg㥖|D鑆eâ¥ìª¸åƒ¬h鯔咼ඡ;4TKèŽî¾‘ì¡ å«ž" - } - ] - ] - } - ] - ] - ]}} - } - ]} - }, - "뿋뀾淣截䔲踀&XJ펖꙯^Xb訅ꫥgá¬>棟S\"혧騾밫ê²7-": "擹8C憎W\"ìµ®yR뢩浗絆䠣簿9äˆå¼•Wcy䤶孖ꯥïž;íŒ]輩ä3@{å 뽸0ï€á¡ˆìµ¡î›„Ⲇ\u001dLåŒê§2F~ݕ㪂@W^é½L襒ᦘî¢~沦zZ棸!꒲栬R" - } - ] - ], - "Z:ëƒàµ›5Iz찇䅄駠㭧蓡K1": "e8᧤좱U%?ⵇ䯿é¿\u0013縮R∱骒EO\u000fg?幤îš@֗퉙vU`", - "äƒìªˆï‘’埽້=Ij,쭗쓇చ": false - }]}} - ] - } - ]} - } - ] - ] - ], - "咰긖VM]á¼6䓑쇎çºetDÒŒ?ãžê©„퇫밉gj8è ƒ\"â©5䛹1ࣚ㵪": "ക蹊?⎲⧘⾚̀I#\"䈈⦞ë·`wo窭戕෱휾䃼)앷嵃꾞稧,Ⴆ윧9S?೗EMk3Მ3+e{â¹”Te驨7äµ’?타Ulg悳o43ï“¢" - } - ], - "zQᤚ纂땺6#ٽ﹧vï¿¿#ࠫ휊冟蹧텈ꃊʆ?&a䥯Deæ½|ì¿“pt瓞㭻啹^盚2êŠf醪,ì–T窧\\Diä•Žè°„nn父ꋊE": -2914269627845628872, - "䉩è·|㨻ᷢã‰B{蓧瞸`î°²I!℄욃힕#ೲᙾ竛ᔺCjk췒늕貭è¯\u0017ï©š?W딚%(pê⤼ë³^=on뺲l䆼bzrﳨ[&j狸䠠=ᜑꦦ\u2061Õµnj=牲攑)Mî»\\é¾": false, - "뎕y絬᫡⥮Ϙᯑ㌔/NF*Ë“.ïž¿,QEzvK!Iwz?|쥾\"ê©»Lê¼—Bꔧ賴緜s뉣隤茛>ロ?(?^îµ­`>冺飒=噸泥⺭Ᲊ婓鎔븜z^å·è£®Ãªâ“…à»—jM7ﶕ找\\O": 1.376745434746303E-19 - }, - "ä›ræ»–wã¤,|Ná‹œ": false - } - ]], - "@ê¿™?è–•å°¬ gd晆(ë„5躕ﻫS蔺4)떒錸ç“?~": 1665108992286702624, - "wë¯ná =`঺ᅥC>'從ë槷ä¤çœ·èž„㎻æ°æ‰°Xï¿ŠCè´½uáƒë‚ŸjKD03T!lDV쀉Ӊy뢖,袛!终캨G?鉮Q)â‘—1쾅庅O4ê‰H7?d\u0010蠈줘월Þ粯Q!낇껉6í…|{": null, - "~Ë·jg쿤촖쉯y": -5.5527605669177098E18, - "펅Wᶺzê†ã¨í‘­e?4j仪열[D<鈑皶婆䵽ehS?袪;Hê¨Më—Žã°[(å—M3qíŸg4y╸鰧茀[Bi盤~ï«å”Žé‹†å½ºî½«â¦Šq?î–³B4쉓癚O洙킋툈䶯_?ퟲ": null - } - ] - ]] - ]], - "꟱Ԕã¤7æ›ï¦—ಃéŒVä·°?v㪃૦~K\"$%请|ꇹn\"kä«›ã¨é²¨\u2023ä„¢\u0004[︊Vï‹•J?䶟ាꮈ䗱=깘U빩": -4863152493797013264 - } - ]}]} - ] - }}} - ], - "ì·ì²Û¹í‰ƒ~aEå”™a챑,9㮹gLHd'ä”|í‚—ãžäŽ¥&KZYT맵7䥺Nâ±³åŒèŽžé¿§w\\༌疣n/+ꎥU\"å°ëž¾â—‹íŸ™AJá­Œ?9ä›$?é©”9è®ì§˜é­¡TÖ¯cè—³`虉Cì‡ì¦T" - } - ], - "谶개gTRï¿>áµÍšdt晑䉇é™æ»º}9㉸P漄": -3350307268584339381 - }] - ] - ] - ]] - ] - ], - "0y꟭馋X뱔瑇:䌚ï¿å»¿jîžg-懲鸭䷭垤㒬茭u賚찶ಽ+\\mT땱\u20821殑ã„J쩩䭛ꬿNSæ½”*d\\X,壠뒦e殟%LxG9:摸": 3737064585881894882, - "í’µO^-⧧ⅶvѪ8廸鉵㈉רâ†Q㿴뺟EႳvNM:磇>wî·/៻唎뷭୥!냹D䯙iëµ±è²C#⼉NH6`柴ʗ#\\!2䂗Ⱨf?諳.Pëˆ-è¿”I꘶6?8î“ê˜": -8934657287877777844, - "溎-è˜å¯ƒi诖ര\"æ±µ\"\ftl,?d⼡쾪⺋h匱[,à·©I8MÒ§F{kç“¿PAî…§'橸ꩯ綷퉲翓": null - } - ] - ], - "ោ係Øî½<å…ƒ": 1.7926963090826924E-18 - }}] - } - ] - ]]}] - }] - ] - ] - ] - ], - "ጩV<\"Ú¸sOᤘ": 2.0527167903723048E-19 - }] - ]} - ] - ]], - "∳㙰3ì ´p᧗䱙?`yZA8Ez0,^á™›4_0븢\u001ft:~䎼s.bb룦明yNP8弆Cå¯;⪾ì§'蕴뮛": -6976654157771105701, - "íµê¦€\\㇑:nî‹™v+뒤燻䀪ﴣï·9ᚈ኷K㚊誦撪䚛,ꮪxሲ쳊\u0005HSf?asg昱dqꬌVꙇ㼺'k*'㈈": -5.937042203633044E-20 - } - ] - }], - "?}\u20e0],s嶳è‹@#2uì’´sQSä©—=ꥮ;烌,|ꘔ䘆": "á…©ì˜Nç’ kZ먕眻?2ቲ芋眑D륟渂⸑ﴃIRE]å•—`K'" - }}, - "쨀jmV賂ﰊå§ä‚¦çŽžã¬™áªM᪟ïՎ씜~`uOn*ॠ8\u000ef6??\\@/?9見d筜ﳋB|Sä¬è‘«ã½o": true - }, - "즛ꄤ酳艚â‚㺘봿㎨iG৕ࡿ?1\"䘓您\u001fSáŠâº¿æºzៀ뻤B\u0019?ìœa䳵᭱䉺膷d:<\/": 3935553551038864272 - } - ] - ]} - ]] - ]] - ]} - } - ] - } - ]]}}, - "᥺3h↛!ê‹°y\"攜(ெl䪕oUkc1A㘞ᡲî촾ᣫ<\/ä’ŒEã›æ½¨i{ï  v?Wà±¾H\\RჅpzè¬R脾;v:碽✘↯삞鷱o㸧瑠jcmK7㶧뾥찲n": true, - "ⶸ?x䊺â¬-ä°…â‰!e쩆2ꎿ准G踌XXᩯ1ß}0?.í—€Z馟;稄\baDꟹ{-寪⚈ꉷ鮸_L7ƽᾚ<\u001bጨA䧆송뇵⨔\\ç¤ë—”d设룱㶉cq{Hyã±R㥽å¢ï¬…p": -7985372423148569301, - "ç·«#ì½®IB6<\/=5Eh礹\t8럭@饹韠r㰛斣$ç”LVì·a갵îŸ'请o0g:^": "䔨(.", - "ë³â„¡åœ¤pï¾à¯„Ä倧訜BìŸGä™”\"Sbâ“®;$$â–S1J뢙SF|赡gï„€*\"Vu䲌y": "䪈&í‹),\\kT鬜1í’¥;ë·´'Zေ䩹@Jéž½Nã¼M?å¥eWb6榀ƩZڮ淽⺞삳煳xჿ絯8eâ¶ç¾·V}ჿ쎱䄫R뱃9Z>'\u20f1â“•äœé½®" - } - ] - ]]] - }} - } - ] - ]}, - "펮b.hç²”í¯2npXè©«g錰鷇㇒<ì™S値bBi@?镬矉`剔}c2壧ଭfhY깨R()痩⺃a\\â”?M&ﯟ<劜꺄ï‘ë©Šá„ŸA\"_=": null - }, - "~æ½¹Rqn榢㆓aR鬨侅?䜑亡V_ç¿…ã­”(ä“·w劸á³Dp䀅<\/ﰎ鶊m䵱팱긽ꆘ긓准D3掱;o:_Ñœ)껚콥8곤d矦8nP倥ꃸI": null, - "뾎/Q㣩㫸벯➡㠦◕挮a鶧⋓å¼\u00001뱓fm覞n?㛅\"": 2.8515592202045408E17 - }], - ",": -5426918750465854828, - "2æ««@0柡g䢻/gꆑ6演&D稒肩Y?艘/놘p{f투`飷ᒉ챻ëŽîª–<늛ä˜ï´¡ì¤°ì«„": false, - "8î™–(鸑嵀⵹ퟡ<9㣎Tߗ┘d슒ل蘯&㠦뮮eà kç g ì—»": false, - "d-\u208b?0ﳮ嵙'(J`蔿d^踅⤔榥\\Jâµ²v7": 6.8002426206715341E17, - "ཎ耰í“ê•ï’ã±·\u0013y=詽I\"盈xm{0쾽倻䉚ષso#é°‘/8㸴짯%ꀄ떸b츟*\\鲷礬ZQå…©?np㋄椂榨kc᡹醅3": false, - "ì‹Šj20": false - }]] - ]], - "ä¿›\u0017nç·½Tu뫉èœé¼Ÿçƒ¬.ï‘ꭠIâ°“\"Ἀ᜾uC쎆J@å¤%ê›m뻨ᾀ画è›íœƒT:錖㑸ዚ9죡$": true - } - ] - ], - "ãµâ‡˜ê¦–辈s}㱮慀밒s`\"㞟j:`ií”»Zì„«^è«Ž0Ok{켿æ­à·£èƒ°a2﨤[탳뚬쎼嫭뉮m": 409440660915023105, - "w墄#*ᢄ峠밮jLa`ㆪ꺊漓Lã§ëŽ!Agkï¹ï¾'ê›ë¢ƒã¯å²¬D#ã’¦": false, - "ଦPGI䕺L몥罭ꃑ궩﮶#⮈ᢓӢ䚬p7웼臧%ï‘¥~Sè âŒíž€6îž’&t䳙y㪘ëƒ\\*;é‰ï¿Šé¿µ'å—•pa\"oL쇿꬈Cgî“": "㶽1ç¸D⟸䴅ᆤ뉎﷛渤csî¸x ä”цꬃ锚æ¬?ຽ+x~꘩uIà¡ž\u0007æ ²5呚ẓem?è¢\")=㥴䨃pac!/æŽY", - "á·±o\\||뎂몷r篙|#X䦜I#딌媸픕åžRDæ–³X4t⯩夬=[ï‹ë­²r=绥jhë·±ì¸âª˜%]⚋܈㖴スHí…¹m(WOæ›åŠ‰0~K3c柢Õã‰ïªªé€³~": false, - "ç…½_qb[첑\\륌wEâ½Ztï”´CNï­+餌ᕜOê›­": "{ﳾ쉌&s惧á­âµ†3䢫;䨞팑ï›ê’ªí˜è¤€à¢–Qä ¿V5뭀䎂澻%ë°›u5í…¸oA⮥U㎦;B䳌wzä•™$áž¿\\௅婺ëµâª¾í†\\`Kyौꋟ._\u0006L챯l뇠Hi䧈å’5", - "艊ä½à£ƒë¡‡ä± çˆ¬ï˜‚!*;⨣æŽïžæ…“qé“|儑ᨋL+è¿¥=6㒺딉6弄3è¾…J-㕎뛄듘SG㆛(\noAzQê±ä°©X*ã¢O퀌%펠낌moí‹®a^<\/F&_눊ᾉ㨦ы4\"8H": 2974648459619059400, - "鬙@뎣䫳á®ë¡?){y?5K;TA*k溱䫜J汃ꂯ싔ì\u001dA}룖(<\/^,": false, - "ëª@QꋦFꊩá’뎶î‡lXl垨4î¤^郣|ꮇ;ä´á“}ìµ²zç–": null - } - ]]]], - ":_=닧弗D䙋暨é›. 㱻붘ä‚Jå„’&ZK/녩䪜rå›â½¯D喠죥7ï“⹌䪥c\u001a\u2076￞妈朹oLkè®F౟覛ì§ã®7T;}è›™2{9\"å´“bB<\/⡷룀;즮鿹)丒툃୤뷠5W⊢嶜(fb뭳갣": "E{å“1WM" - }}, - "䘨tjJ驳豨?y輊M*᳑梵瞻઻ofQGç‘®e": 2.222802939724948E-19, - "ä®´=â‘➶Tà·‹wäžœ\"垦ꃼUt\u001dx;B$뵣䙶E↌艣ᡥ!᧟;ä±€[䔯k쬃`à©8饙른ç†î‹”'2_'袻tGfè’­Jë•Ÿas꯳╖&å•’zWࡇᒫYSá¬\u0014ℑ첥鈤|cG~Pá“®\">\"": "ႆl\f7V儊㦬nHꄬꨧC{ì¢~C⮃⛓嶦vê„Ž1w鰠嘩뿠魄&\"_qMâµ–é‡”ë…®îœ¡ê‡ ãš{ç³Jå“‹ cî°¸v?-jkﻯྌ鹑L舟r", - "龧葆yB✱H盋夔ﶉ?n*0(": "ꧣኆ㢓氥î³qZZ酒ຜ)鮢樛)X䣆gTSî»»Ò‘Gí…žï’˜k.J圬ç–ë¡«ïœì¯­z L:\\ྤ@w炋塜쿖ᾳy뢀䶃ë±N䥨㚔勇ê²#p", - "ë„ç•ŽQ娡\"@S/뼋:äµ!Pè¡…ì´šfVHQs✜á«i㻑殡B䜇%믚k*U#濨낄~": "êŸá‹•ì³¸êˆæ•‹&lå¦\u0005憡멗瘌uPgá…ªm<\/To쯬锩h뒓k" - } - ] - }], - "墥홞r绚<\/⸹ⰃB}<躅\\Y;๑@䔸>韫䜲뱀X뗩鿥쩗SI%ﴞ㳕䛇?<\/\u00018x\\&侂9é‹™a[LRã‹­W胕)â¡¿8ãž™0JF,}?í—ˆd1cDMáƒâ›é„ⱕ%X)!XQ": "â³ê—³=橇a;3t⦾꼑仈î¥á€°aᚯ⯋ꕃAsé´·Nâ•_䎃ꙎAz\u0016䯷\\<à¿«>8q{}ï½·?ᣰ}'0ᴕ펓B┦lF#趤厃T?ã•Š#撹圂䆲" - }, - "Ü‹ë‹é¾«ï¥c웑": false, - "ㇿ/q\"6-co髨íœCí¦#\u001b4~?3ä¹E삇<<": 7.600917488140322E-20, - "äE6?㣖êƒé—´t祗*é‘ {ḣV(æµ¾h逇íž=W?ૉ?nꇽ8ꅉຉj으쮺@êš„ã°¤u]Oyr": "vâ‰á«¸_*όAඤԆl)ۓᦇQ}í zà¼q滚", - "ソ᥊/넺I": true - }]] - ] - ] - ] - ]] - }, - "ä­‘Ik攑\u0002QV烄:芩.麑㟴㘨≕": true, - "å„꿕C쇻풉~å´%碼\\8\"䬦꣙": null, - "欌L圬䅘Y8c(♺2?ON}o椳s宥2䉀eJ%é—¹rå†O^K諭%凞⺉⡻,掜?$ꥉ?略焕찳㯊艼誜4?\"﯎<ï±ã‚›XáˆINT:è©“ +": -1.0750456770694562E-19, - "ç’àc뜭싼ﺳ뎤K`ïŸ]p隨LtE": null, - "ç”™8䵊神EIꩤé¯á¢€,ïµ®Uä‘u疒ử驺䚿≚ഋ梶秓F`覤è­#짾蔀묊4<åªì¬¦éª_Yzgcࡶ4kç´¥`kc[Lï®—î°£ç°*I瀑[â¾°L殽鑥_mGÈ <\/|囹ç gæ¡°iri": true, - "챓ꖙꟻì¢è‡ou,å— 0\\jK핻뜠qwQ?ഩ㼕3Y彦b\u009bJ榶N棨f?ë¦é–綃6é³µM[OEë´¨uí–.Ꮁ癜蟳뽲ꩌ뻾rM豈Rï¨ç¾« uDꎚ%": null - }, - "V傜2<": 7175127699521359521 - }], - "é“«aG切<\/\"ী⊆e<^g࢛)Dé¡ï½Žï¬®é¥¼\u008c猪繩嵿ﱚCꡬ㻊g엺Aì—¦\u000fæš¿_f꿤ë³ã¦•æ¡¦`蒦䎔j甬%å²rj ç³": "䚢åŽëˆ´Au<4箞7礦Iï±”å eȧ䪸uï„€äµp|逹$嗫쨘ꖾï·!胠z寓팢^㨔|u8Nሇe텔ꅦ抷]،鹎ã³#༔繁 ", - "낂乕ꃻ볨ϱ-ꇋã–fsâ¿«)zꜦ/K?솞♞ꑌ宭hJ᤭瑥Fu": false, - "쟰ãœé­›G\u0003u?`㾕ℾ㣭5螠烶這趩ꖢ:@å’•ê¶xë’˜ëŠmä°¨bç—ƒë 0鳊喵熬딃$摉_~7*ⱦ녯1錾GKhJ惎秴6'H妈Tᧅ窹㺒疄矤铟wላ": null, - "쯆q4!3錕ã²âµ†ã‡›ê˜·Zç‘©ë­†\\â—ªNH\u001d\\ã½°U~㯶<\"쑣낞3ᵤ'峉eꢬ;鬹o꣒木X*é•·PXᘱu\"ä ¹n惞": null, - "ᅸ祊\"&ꥴCjࢼ﴿?䡉`U效5殼㮞V昽êª#ﺸ\\&t6x꠹盥꣰a[\u001aêªSpe鎿蠹": -1.1564713893659811E-19 - } - ]] - ] - ] - ], - "羵䥳H,6ⱎ겾|@t\"#í–Šî¦1|稃 ì„­)ëœ=뻔ꡜ??î¿ž?æ«Ž~*á¿¡ê«Œ/繣ﻠq": null - } - ]} - ]}, - "츤": false - }}, - "s": 3.7339341963399598E18 - } - ], - "N,I?1+㢓|ࣱ嶃쩥V2\u0012(4EE虪朶$|w颇væ­¥": "~ì¢~_,Mzrã«YB溓Eæ·š\"ⅹ䈔áºæŠ™ b,nt5Vã’J檶ê¨â»”?", - "Q껑ꡡ}$넎qHç…”æƒ/ez^!ẳF댙äŒé¦»å‰8": "梲;yté’°$i冄}Aî‘”L%a jëœå¥·ê±³ëš¾d꿽*ሬuDY3î…—?뮟鼯뮟wãªí‹±îŸ‚V", - "o{Q/K O胟ãzUdê€m&⨺J舕â¾é­¸è¨ŸãŒ¥[T籨櫉å”í‚ aṭ뱫촙莛>碶覆⧬짙쭰ׯdAiH໥벤í¥_æ¸[ 0î­¬e:죃TCå¼¼èŽëµDA:w唵ê£": null, - "á½æ¨Žäµ®è»§|?à±—aWH쩃1 ê…­su": null - } - ] - }, - "å‹‚\\&mé°ˆJ釮=Ⲽ鳋+䂡郑": null, - "殣b綊倶5㥗惢⳷è¢á‘€ä¬„镧M^ï±´3⣢翣næ«»1㨵}ኯ뗙顖Z.Q➷ꮨ뗇\u0004": "ê”™ä¼>n^[GीA䨟AMç¢á’ŠS쨲w?d㶣젊嘶çºéº“+æ„£a%気ྞScë“ᔘ:8bM7Xd8㶑臌]Ꙥ0ê­ì’™ä«£æŒµCè–½î€Dfⵃ떼᷸", - "?ç´¡.ì…ª_à·¨j\u0013Oxâ” $Xᶨ-á…‡oè–¹-}軫;yæ¯ãªœKã£?.EVì®±4둽⛻䤜'2盡\u001f60(|eì°ã¼Žá¦€ã’§-$l@ﻑå³\u0003ä­±å“å·—WFo5c㧆Tí„Y맸♤(": -2.50917882560589088E17 - }} - ], - "侸\\릩.᳠뎠狣살cs项䭩畳H1s瀉븇19?.w骴崖㤊h痠볭㞳㞳ä®Ql怠㦵": "@䟴-=7f", - "鹟1x௢+d ;viä­´FSDS\u0004hꎹãš?â’â¦Ñž6u,扩@ë·Su)Pag휛Tá’—Vç—©!çžé‡€ê–žè˜¥&ೞè˜ê­°êž‡áŽ": "ah懱Ժ&\u20f7䵅♎඀䞧鿪굛ౕ湚粎蚵ᯋ幌YOE)५襦ãŠY*^\"R+ඈî¶å’·è¶9î—ꥂ榨艦멎헦é–ë¶v좛咊E)K㓷ྭr", - "æ†q쮦4綱켙ì….f4<\/g<籽늷?#蚴픘:fF\u00051㹉뀭.á°–í’ŽfÖ¦Hv蔎㧤.!ä­½=éž½]ìŒH:?\"-4": 8.740133984938656E-20 - }]} - } - ], - "tVKn딩꘥⊾蹓᤹{\u0003lR꼽ᄲQFá…傅ﱋ猢⤊á”,E㓒秤nTතv`â™›I\u0000]꫔ṞD\"麵cè¸î“²æ°X&æ¿¿ë˜ê£¹ê¹³à±¥è‘‚é¿Ž\\aꡨ?": 3900062609292104525 - } - ], - "ਉ샒⊩Lu@S䧰^g": -1.1487677090371648E18, - "⎢k⑊꬗yá«7^err糎Dt\u000bJ礯확ã†æ²‘サꋽeèµ”ã¢^J\u0004笲㿋idra剰-᪉C錇/Ĝ䂾ညS지?~ì½®gR敉⬹'䧭": 1901472137232418266, - "ç—k䶥:?ì´½è´ì“‰ê“ˆã’¸gç˜[뵎\\胕?\u0014_榙p.j稶,$`糉妋0>Fá¡°ly㘽$?": "]ê™›O赎&#ã ƒë±å‰³î°·\"<â—†>0誉é½_|z|裵씪>áŒã¼\"Z[ç•}O?G뚇諦cs⠜撺5cuç—‘U圲\u001c?鴴計l춥/╓哼䄗èŒîšªê®…뫈댽AëŒë¡–뤫V窗讬sHd&\nOi;_î´–u" - } - ], - "Uﺗ\\Y\\梷䄬~\u0002": null, - "k\"Y磓ᗔ휎@U冈<\/w컑)[": false, - "æ›Jè·âŒ»ë¦\u001f㙳s꥓âŸé‚«P늮쥄c∬ྡྷ舆렮칤Z趣5콡넛A쳨\\뀙骫(棻.*&è¼›LiIfi{@EA婳KᬰTXT": -4.3088230431977587E17 - }]} - ] - ], - "곃㲧<\/dఓꂟs其ࡧ&N葶=?c㠤Ჴ'횠숄臼#\u001a~": false - } - ] - ]}] - }] - }} - ], - "2f`â½°E쵟>Jî•ç¬‚裭!〛觬囀ۺ쟰#æ¡Šl鹛ⲋ|RA_Vxá­gEë“h﵀mfá»|?juTUæ¡£[d⢼⺻pæ¿š7E峿": 5613688852456817133 - }, - "濘ë¶gå¿®7ãµæ®¬W팕Qæ› ë«°)惃廊5%-î«è¹šzYZ樭ﴷQ锘쯤崫îŸgg": true, - "絥ᇑâ¦ì’“븣爚H.ã—Šß„o蘵貆ꂚ(쎔O᥉î¼ï®“]姨Wê“!RMA|o퉢THxè½®7Mê»U즨'i뾘舯o": "è·¥f꜃?" - }} - ], - "é·°é¹®K-9k;ï°°?_ݦѷ-ꅣ䩨Zꥱ\"mꠟ屎/콑Y╘2&鸞脇ã¢ê€‡à ºâ°¼æ‹¾å–­í‹®îL꽩bt俸墶 [l/웄\"꾦\u20d3iও-&+\u000fQ+໱뵞": -1.296494662286671E-19 - }, - "HX੹/⨇୕붷Uﮘ旧\\쾜͔3l鄈磣糂̖䟎Eá³wæ©–bá¿€_딕huè‘°î¤çª³é—¹Ð²U颵|染H죶.fPä—®:jä«¢\\b뎖i燕ꜚGâ® W-≚뉗l趕": "ଊ칭Oa᡺$IVã·§L\u0019脴셀붿餲햪$迳å‘ì¯ì¼‚PqfT\" ?î¹€I屉鴼쿕@ç¡™z^é•ãŠµM}ãš›T젣쓌-Wâ©-g%⺵<ë®±~빅╴瑿浂脬\u0005왦燲4áƒb|Då § <\/oEQh", - "䘶#㥘à©îººìº”ï” f巋ἡAJ䢚쭈ࣨ뫒*mᇊK,ࣺAꑱ\u000bR<\/A\"1a6鵌㯀bh곿w(\"$ê˜*rà²è¶£.dà¿©k/抶면䒎9W⊃9": "漩b挋Swè—Ž\u0000", - "ç•€e㨼mK꙼HglKb,\"'䤜": null - }]}] - ] - ] - }] - ]} - ] - ]} - ], - "æ­™>駿ꣂ숰Q`J΋方樛(d鱾뼣(ë«–í„­\u20f9lচ9æ­Œ8o]8윶lì–¶?é•–G摄탗6í‹íµ+g:䱫홊<멀뀿/س|ê­ºsê±è·¶ç¨šW々c㫣⎖": "㣮蔊깚Cꓔ舊|XRfé»ã†šï¸†'쾉ì·\\&言", - "æ®­\"cÞɨê™äž˜:嬮eæ½½Y펪㳅/\"O@à —ê²´]ì·–YÇž(t>R\"N?梳LDæ­=næ°¯Tè±°2R諸#N}*ç§ï¡§4}㶊Gä£bì–š": null, - "襞<\/啧 B|싞W瓇)6簭鼡艆lNì©`|펭佡\\é–“é‚[z릶&쭟愱ꅅ\\Tá°½1鯯åæ ˆ4̸s윜R7â’/똽?치X": "âŠèº–Cﱰ2Qẫè„&இ?%ëƒæ‚Š", - ",é°§åµì…£îˆ›ì‹¹xᎹ힨᯳EṬHïŽã¹–9": -4604276727380542356 - } - } - ]]]], - "웺㚑xs}q䭵䪠馯8?LB犯zK'osäš›HZ\"L?ì…Žs^㿧㴘Cv2": null - }] - ] - ] - ], - "Kdî©´2Kv+|z": 7367845130646124107, - "ᦂⶨ?ᢠ祂些ഷ牢㋇æ“\"腭䙾㖪\\(y4cE뽺ㆷ쫺ᔖ%zfÛ»$Ñž1柦,㶢9r漢": -3.133230960444846E-20, - "ç˜Mç„€q%㢟f鸯Oâ£è“‘맕鯊$Oå™·|)z褫^㢦⠮ꚯ꫞`毕1qꢚ{ĭ䎀বώT\"뱘3G൴?ï¢ï¢^^oï…¯f": null - } - ], - "a8V᯺?:ﺃ/8ꉿBq|9啓댚;*i2": null, - "cpT瀇Hç°á»ªpೃi鎪Rrâ£ìˆ¬-鹸ҩ䠚z脚цGoN8å…¥y%趌I┽2ឪЀiJNcN)槣/â–Ÿ6S숆牟\"箑X僛G殱娇葱T%æ»:J諹昰qV쨰": 8331037591040855245 - }], - "G5ᩜ䄗巢껳": true - } - }, - "Ồ巢ゕ@_è­™A`碫é„㡥砄㠓(^K": "?܃B혢▦@犑ὺD~Tâ§|é†;o=J牌9냚⢽㨘{4è§èš”9#$∺\u0016p囅\\3Xk阖⪚\"UzA穕롬✎âžã­’춺C㣌ဉ\"2瓑员ᅽê¶ë«}꽚ꞇ鶂舟彺]ê½JCè§éŠ‰", - "â†Äšè†\"b-í‰ACR言J謈53~V튥x䜢?ꃽɄY뮩ꚜ": "K/↾eèƒ}]Bs⾿q룅鷦-膋?m+æ­»^魊镲6", - "粡霦cæž‹AHíŸo礼Ke?qWcA趸㡔ê‚?\u000e춂8iতᦜ婪\u0015㢼nﵿê»!á´é–¢\u001d5j㨻gfá¿©UK5Juä¸tã‹TI'?ã“t>⼟o a>i}á°—;뤕Ü": false, - "ꄮ匴껢ꂰ涽+䜨B蛹H䛓-kè•žfu7kLè°–,'涃V~챳逋穞cT\"vQ쓕ObaCRQã“¡â²®?轭⫦輢墳?vA餽=h䮇킵ní²í‰…喙?\"'1ç–¬V嬗Qdç—'Lự": "6v!së¯ã­Ÿî€µî¦˜ã£¯çƒ!磸餠ቂh0C뿯봗Fé·­gê–¶~コkK<ᦈTtïŽ\\è·“w㭣횋钘ᆹ듡䑚W䟾X'ê…”4ï€FL勉Vܴ邨y)2'〚쭉⽵-鞣E,Q.?å—", - "?(˧쩯@å´Ÿå‹æ­„K": null - }, - "Gc럃녧>?2DYIé´¿\\륨)æ¾”0ᔬlx'觔7젘⤡縷螩%Sv׫묈/]↱&S ï…h\u0006æ­‹á‘›xi̘}ã²Y蔯_醨鯘煑橾8?䵎쨋z儬ê*@츾:": null - } - } - } - ] - ] - ]} - }, - "HO츧G": 3.694949578823609E17, - "QC\u0012(翻曇Tfã·ŸbGBJ옉53\\嚇ᛎDï–/\u001b夾á‰4\"í•€@祎)쫆yD\"i먎Vnî¿ã¿¿V1Wá¨ä¶€": -6150931500380982286, - "Zã“®P翸é±é‰¼K䋞꘺튿â­Y": -7704503411315138850, - "]모开ꬖP븣c霤<[3aΠ\"é»ä––䰑뮋ꤦ秽∼㑷冹T+YUt\"싳F↭ä–&é‹Œ": -2.7231911483181824E18, - "tꎖ": -4.9517948741799555E-19, - "䋘즊îŽ.⬅IꬃۣQ챢ꄑé»|f?C⾺|å…•ì¯sC鬸섾整腨솷V": "旆柩l쪦sá–¸My㦅울ì‰ç˜—㎜檵9ï……ê‚駓ૉᚿ/u3ì”…å¾ï¤¥[Z䞸ࡗ1ꆱ&Q풘?Ç‚8\u0011BCDY2볨;é¸": null, - "幫 nç…¥sì‡íŽ‡ 왊-$C\"è¡:\u0014㣯舼.3ë™—Yl⋇\"Kè¿Žë©Ž[ê½µs}9鉳UK8ì¥\"掄㹖h㙈!얄સ?Ꜳ봺R伕UTD媚I䜘Wé¨è”®": -4.150842714188901E-17, - "ﺯ^ã„„\b죵@fྉkf颡팋î¤êž¦{/Pm0V둳⻿/è½éŸ’ꊔᚬ@5螺G\\å’¸a谆⊪ቧ慷绖?è´¢(é·‡uéŒF=rá橢ឳn:^iá´µtD볠覅Nèµ´": null - }] - }] - } - ] - ]} - ]}, - "謯?w厓奰T李헗èážè²–o⪇弒L!캶$ᆅ": -4299324168507841322, - "뺊奉_åžæµ¸å»¶ëªå­„Z舰2i$q붿좾껇d▵é¤\"v暜Ҭì„mï¿´g>": -1.60911932510533427E18 - } - ] - } - ] - ]], - "í‰êº”㠦楶Pê…±": 7517896876489142899, - "ï™°": false - } - ]}, - "是u&I狻餼|è°–j\"7cë®sï­-踳鉷`䣷쉄_A艣鳞凃*m⯾☦椿q㎭Nîœæº”铉tlㆈ^": 1.93547720203604352E18, - "ï…µkⲨ\\%vr#\u000bâ’ºY\\t<\/3﬌R訤='﹠8è¤êž´ë ´æ›”r": false - } - ]}, - "阨{c?C\u001d~K?鎌Ԭ8烫#뙣Pì´ˆé—tã­±E­ë’䆺}ç”—[R*1!\\~hã•…á°º@<9JêષIä³–æ ­6綘걹ᅩM\"▯是∔v鬽顭⋊譬": "ìš´ï¶Kæ•‚(欖C취پ℄爦賾" - } - }} - }], - "鷨赼鸙+\\ä­£t圙ڹx᜾ČN<\/踘\"S_맶a鷺漇T彚⎲i㈥LT-xA캔$\u001cUH=a0츺l릦": "溣㣂0æ¿•=鉵氬駘>Pꌢpb솇쬤h힊줎çªãª¬CrQ矠a&è„꼬爼M茴/á¿®\u0017å¼è½¼y#êž c6ë‘´=?Rå´ë· éº–w?" - }, - "閕ᘜ]CT)䵞l9z'xZF{:ØI/躅匽ì¡:䟇AGF૸\u001cퟗ9)駬慟ꡒꆒRS״툋A<>\u0010\"ꂔ炃7gëšEà§îˆbꅰ輤]oã±_뷕ܘ暂\"u": "芢+U^+㢩^鱆8*1鈶鮀\u0002뺰9⬳ꪮlL䃣괟,G8\u20a8DF㉪錖0ㄤ瓶8Nଷd?眡GLc陓\\_죌Vì°à¤²äºŒ?cë¦æ± \u0019JC\u0011b⤉zẒT볕\"绣蘨뚋cꡉkî« I\u001eé³´", - "ꃣI'{6u^㡃#཰Kq4逹y൒䧠䵮!㱙ï®/n??{Lí’“ZETã™ í¿X2᩟綳跠葿㚙w཮x캽扳B唕S|å°¾}ì´•%N?o䪨": null, - "ⰴFjà·Ÿì…ˆ[\u0018è¾·px?椯\\1<ﲻ栘á£ë´¢æ† ë‰´p": -5263694954586507640 - } - ] - ]] - ]} - ]}] - ] - ], - "?#癘82禩鋆êŠty?&": -1.9419029518535086E-19 - } - ] - ] - ]} - ] - ] - ], - "훊榲.|῕戄&.ãšZꛦ2\"䢥ሆ⤢fV_æ‘•å©”?â‰Fji冀탆꜕iã¬_ẑKᅢ꫄蔻XWc|饡Siẘ^㲦?羡2ã´1ç¸á™…?ì‰Ou": false - }]] - ]}}}, - "æ…‚ë—„å“è“”á“åŒåš–/颹蘯/翻ㆼL?뇊,í…µ<\\ç·ã”Cボ": null - }, - "p溉ᑟi짣z:䒤棇r^Ù«%G9缑r砌롧.물农g?0׼ሩ4ƸO㣥㯄쩞ጩ": null, - "껎繥YxK\"F젷쨹뤤1wq轫o?鱑뜀瘊?뎃hç‘\\ꛣ}Kå³^ኖâ¤ï§´ê‰“hy": null - } - ], - "á±€nè‚“ã„›\"å »2>mæ®®'1æ©Œ%êž´êµ°=Ӳ鯨9耛<\/næ“š0u彘8㬇៩fá¿è¯™]嚊": "䋯쪦S럶åŒã…›#î½)O`ሀX_éªæ¸²â›€ã¨»å®…闩➈ꢙஶDRâª" - }, - "tAì“龇 â‹¥bj왎录r땽✒롰;羋^\\?툳*┎?ì€ma䵳넅U䳆૘〹䆀LQ0\bç–€U~u$M}(鵸gï­â³¾i抦뛹?䤈땚검.鹆?ê©¡tⶥGÄ’;!ቹHïš©Så³»B츪ì¼f5≺": 2366175040075384032, - "ì „pJjleb]áž½": -7.5418493141528422E18, - "n.鎖ጲ\n?,$䪘": true - }, - "欈Ar㉣螵᪚茩?O)": null - }, - "쫸M#x}D秱æ¬K=侫们ä¸ï‡ª.KꕾxẠ\u001e㿯䣛FÜ캗ï¬qq8꟞ṢFD훎⵳簕꭛^鳜\u205cÙ«~â‘Ÿ~冫ऊ2ì«°<\/戲윱o<\"": true - }, - "ã·è¥/T뱂\u0010锕|内䞇xä¾â‰¦ã­–:M?iM᣿IJeç…œdG࣯尃⚩gPt*辂.{磼럾äª@a\\袛?}ᓺBç¼": true - } - } - ]]}]}}, - "tn\"6î´ê«¤ìƒ¾ä„„;銞^%VBPwu묪`Y僑N.↺Ws?3C⤻9唩Sä ®á´m;sᇷ냞඘B/;툥B?lB∤)G+O9m裢0kC햪䪤": -4.5941249382502277E18, - "áš”t'\\æ„«?éµ€@\\ã³ê‚•Pí <<]ç…¹G-b!S?\nꖽ鼫,Ý›&é ºy踦?Eæ†î¬–릱H}햧캡b@手.p탻>췽㣬ꒅ`qeä½­P>á“‚&?u}毚ᜉ蟶頳졪áŽzl2wO": -2.53561440423275936E17 - }]} - } - ] - ]], - "潈촒⿂å¡": 5495738871964062986 - } - ]] - } - ] - ]} - ]] - ]] - ]} - ] - ]}, - "á‚qí‚è“…R`謈èŸá¦î’³å„‚æ§åƒ»ï¹¶9å©Œî¬æ«žé‡ˆ~\"%匹躾ɢ뤥>࢟瀴愅?殕节/냔O✬H鲽엢?ᮈà©î“Žâ‹§dâ½ã«zCe*": 2.15062231586689536E17, - "㶵Ui曚ç°é‹ªá¾¼è‡§P{ä䷪쨑̟A뼿T渠誈äšD1!잶<\/ã¡7?)2l≣穷᛾ç¨{:;㡹nemיּ訊`Gî¹²": null, - "䀕\"飕辭påœf#뫆䶷뛮;â›´á©3çšëá°ìŽ“⦷詵%᜖Մfs⇫(\u001e~P|ï­—CⲾផv湟W첋(텪બTî¾·<บSê‰à©—⋲X婵i ӵ⇮?L䬇|êˆ?졸": 1.548341247351782E-19 - } - ] - }, - "t;:N\u0015qé¦Rt缆{ê®C?஛㷱敪\\+鲊㉫㓪몗릙ç«(æ°µkYS": "Xá°‚T?൮ô", - "碕飦幑|+ 㚦é¶`é•¥ê© B<\/加륙": -4314053432419755959, - "秌孳(p!G?Vå‚«%8ሽ8w;5鲗㦙LI檸\u2098": "zG N볞䆭éŽí˜\\ONK3íš™<\/樚立圌Q튅kì©ŽFfì‹aׂJK銆ઘì¦ç‹©6༥✙䩜篥CzP(è»é§‡HHퟲ讃%,ά{ë p而刲vy䦅ክ^톺M楒é¢ã¹³]Mdg2>䤉洞", - "踛Mì §>忔芿㌜Zk": 2215369545966507819, - "ì”A`$槭頰í»^U覒\bG毲aᣴU;8!팲f꜇E⸃_åµ{å«ç¾ƒX쀳C7ë—®m(åš¼u NÜè°ŸD劯9]#": true, - "ﻩ!뵸-ç­šPá­›}á¼°å±¥lPh?౮ⶹꆛ穉뎃gè‘㑓溢CX뾇Gã–¬A錟]RKï’î´²aꄘ]Yo+@ä˜'s섎襠$^í™°}F": null - }, - "粘ꪒ4HXᕘ蹵.$å€\r\u001dë¬77pPc^yî¶ç¬²Q<\/ê–¶ è¨äƒá¨•G?*": 1.73773035935040224E17 - }, - "婅拳?bkU;#D矠â´vVN쩆t㜷A풃갮娪a%é®çµª3dAv룒#tm쑬⌛qYwc4|L8KZ;xU⓭㳔밆拓EZ7襨eD|隰ऌ䧼u9Ô¢+]è´´Pè¿": 2.9628516456987075E18 - }]}}] - ]} - }} - ]}] - ], - "|g翉F*湹̶\u0005â1脉̀eI쩓ᖂ㫱0碞l䴨ꑅ㵽7AtἈ턧yq䳥塑:z:é€ï¾¼X눔擉)`N3昛oQì…–y-ڨ⾶æ¢êˆµq^<\/": null, - "è¹\\ëž“G^璬x৴뭸ゆUS겧﮷Bꮤ ┉銜᯻0%N7}~fæ´‹å„Xꔼ<\/4妟Vê„Ÿ9:౟곡t킅冩䧉笭裟炂4ë´‹â±³åºæ€Št+怯涗\"0ã–ˆHq": false, - "졬믟'ﺇফ圪쓬멤m邸QLবä—æ„4jvsç¿™ à¾ê§€è‰³H-|": null, - "컮襱⣱뗠 R毪/鹙꾀%í—³8&": -5770986448525107020 - } - ], - "î½­B䔚bê»ë™å§“展槰T-똌鷺tcï§ç¿á«½^ã“Ÿä€o3o$꘭趙è¬Ié¡©)뇭Ἑä“\f@{ᣨ`x3è”›": null - } - ] - ] - }], - "⦖扚vWꃱ꥙㾠壢輓{-⎳鹷è´ç’¿äœ‘bG倛â‹ç£Žc皇皩7a~ﳫUâ•£Q࠭ꎉS摅姽OW.홌ೞ.": null, - "蚪eVlH献r}á®ë¯ ï°©ê”„@ç‘„â²±": null, - "퀭$JWoê©¢gì—­ì䖔㑺h&à­¢tXX愰㱇?㾫I_6 OaB瑈q裿": null, - "꽦ﲼLyr纛ZduçB絟쬴糔?㕂짹äµe": "ḱ\u2009cX9ë©€i䶛簆㳀k" - } - ]]]], - "(_ê®g່澮?ᩑyM<艷\u001aꪽ\\庼뙭Z맷㰩Vm\\lYç­º]3㋲2㌩㄀Eਟäµâ¨„ì¨á”ŸgङHné–⤇놋瓇Q탚單oY\"♆臾jHᶈå¾îž«á‰„??uㇰA?#1侓": null - }, - "觓^~ሢ&iIë†g륎ḱ캀.ᓡꀮ胙鈉": 1.0664523593012836E-19, - "yè©­GbᔶऽsëŒU:æœî „⤎ϲì—⮼D醄诿që™°I#즧v蔎xHᵿt᡽[**?崮耖p缫쿃Lè,ë´¬ï–ꤦC쯵#=X1çž»@OZc鱗CQTï‹„x": null - } - ] - }}], - "剘ç´\u0004\\Xn⊠6,á€×±;嵣崇}讃iႽ)d1\\䔓": null - }, - "脨z\"{X,1uì°œ<'k&@?1}Yn$\u0015Rd輲ーa쮂굄+B$l": true, - "諳>*ì­®ê´äµŸÒ+<ç®}빀䅱⡔æªï€è‡’hIH脟ꩪCí•à¬—P좕\"0i<\/C褻DÛžæ—+^5?'ꂱ䚫^7}ã¡ cq6\\쨪ꔞꥢ?纖䫀氮蒫侲빦敶q{Aç…²G": -6880961710038544266 - }}] - }, - "5s⨲JvಽῶꭂᄢI.a৊": null, - "?1qê½ì¿»ê›‹DR%Uå¨>DgNä¹­G": -1.2105047302732358E-19 - } - ] - ]}, - "qZz`撋뙹둣j碇ì\\ꆥ\u0018@ïœè—´ç–°Wz)O{F䶛l᷂绘訥$]ë®å¤»ä¢‹ä©‡è¿ç°æ¨§çŒµâ£­jè¶q)$꬚⵷0馢W:â°!Qoe": -1666634370862219540, - "t": "=î¹›wp|~碎Q鬳Ó\\l-<\/^ﳊhní–}ä”t碵ḛ혷?é»äŠ—", - "邙쇡㯇%#=,î‰E4勃驆V繚q[Y댻XV㡸[逹á°è‘¢B@u=JS5?bLRnì–®ã‰â…ï°³?a6[&íŸ!è—ˆ": 1.2722786745736667E-19 - }, - "X블땨4{ph鵋ꉯ웸 5p簂䦭s_E徔濧dç¨~No穔噕뽲)뉈c5M윅>âš‹[岦䲟懷æ?éŽê“†à¸¬çˆ‹ç äœ”s{\u001bméšå„¸ç…›%bﯿXT>ê—˜@8G": 1157841540507770724, - "媤娪Qæ¸ï‡\u0011SAyᡈ쿯": true, - "çš^ಸ%ê±<\/蛯?\"祴å“\\\\'í": -3.4614808555942579E18, - "釴U:O湛㴑䀣렑縓\ta)(j:숾å´ä—ŒgCiB뽬Oyuqè¼¥åŽ/7)?今hY︺Q": null - } - ] - ]]]}] - ], - "I笔趠Ph!<ཛྷ㸞诘X$畉F\u0005笷èŸ.Esr릙!W☆ï›ä²–뗷莾뒭U\"䀸犜Uo3ï¯Gꯌx4r蔇᡹㧪쨢準<ä‚€%ࡡꟼç‘8ç‚Xs0ä€é”€?fi쥱ê†àª²BB": -8571484181158525797, - "Lâ¦o#J|\"⽩-ã±¢d㌛8d\\㶤傩儻E[Y熯)r噤὘勇 }": "e(濨쓌K䧚僒ã˜è ¤Vᛸ\"络QJL2,嬓ì™î¿‰ä¼¢ã‹’䴿考澰@(ã¾`kX$ë‘ÑE斡,èœ&~y", - "vj.|统圪ᵮPL?2oŶ`ë°§\"勃+0ue%⿥绬췈체$6:qaë Q;~晘3㙘鹑": true, - "à·Ø™4ç„⶿c︋iâš…:ã‚“é–Ⳙ苆籦kw{䙞셕pCì·ƒê¬âœêŸ¯êš“é…„bížhwkê­­M鬋8B耳쑘WQ\\å™ac'唀x᪌\u2048*h짎#á‡é® ë¾áž¿ë€Œ": false, - "⎀jꄒ牺3Ⓝ컴~?親ꕽã¼Ü“å–瘘!@<튋ãŒê¿±â©¦{a?Yv%⪧笯Uܱ栅Eæši뚬:ꄃx7䙳ꦋ&䓹vq☶Iä˜á¾˜æ¶œ\\ì‰ëºŒLr%Bcãœ3?î¤ï…¨ê­ç ¿è£ž]": null, - "⭤뙓z(ã¡‚%亳K䌽꫿AԾ岺㦦㼴輞낚Vꦴw냟鬓㹈뽈+o3è­»K1ìžž": 2091209026076965894, - "ㇲ\t⋇轑ꠤ룫X긒\"zoYì‡í¬wjæ¢ì‘l侸`e%s": -9.9240075473576563E17, - "啸ꮑ㉰!áš“}éŠ": -4.0694813896301194E18, - "ï‰>]囋੽EK뇜>_ꀣ緳碖{ì裔[<ನ\"䇅\"5L?#îµ³xTwv#ç½\u0005래t应\\N?빗;": "v쮽瞭pë­ƒ" - } - ]], - "斴槾?Zç¿\"~æ…弞ﻆ=꜡o5é‹ï’½dw\"?Kè ¡i샾ogDï²°_C*⬟iㇷ4nયèŸ[㟉U꽌娛苸 à§æ“贻洞펻)쿗૊許X⨪VY츚Zä¾ã¶­~튃ᵦ<\/E臭tve猑x嚢": null, - "锡⛩<\/칥ꈙᬙè€&êšç±¬â– 865?_>Lè©ì¿¨äˆŒæµ¿å¼¥ï©‰Ì«î¾½ï‘lj&zx<\/C쉾?覯n?": null, - "꾳鑤/꼩ï¨d=ᘈn挫ᑩ䰬ZC": "3錢爋6Ƹ䴗v⪿Wr益G韠[\u0010å±—9ì¡é’u?殢c䳀蓃樄욂NAq赟c튒ç˜ë ¶î‚³Aà«¡Éšæ" - } - ] - ] - ]} - ] - ] - }]]]}} - ]}], - "ï‚’Ejä—³U<\/Q=ç’샎䞦,å °é  @褙g_\u0003ꤾfⶽ?퇋!Å‚ï¡”B〙ד3CC䌴鈌U:뭔咎(Qો臃䡬è‹BO7ã¢äŸ¸\"Yb": 2.36010731779814E-20, - "逸'0å²”j\u000e눘먷翌C츊秦=ꭣ棭ှ;鳸=麱$XP⩉駚橄A\\좱⛌jqvä°ž3Ь踌v㳆¹gT┌gvLBè³–ïžçƒ¡m?@E঳i": null - }, - "曺vì°˜×?&绫OáŸ": 9107241066550187880 - } - ] - ], - "(e屄\u0019昜훕ç–b蓘ᬄ0/۲묇Z蘮á€â¨è›˜èƒ¯ë¢ƒ@㘉8ሪWᨮ⦬ᅳ䅴HIá‡ì¨³z囕陻엣1î•Ÿèµ³o": true, - ",b刈Z,á æ™Tì†Å•B⩆ou'í¼â‰ƒç»—é›—dè­Š": null, - "a唥KB\"ï³è‚•$u\n^â…„P䟼냉䞸⩪u윗瀱ꔨ#yÅŸsî««ê’¬=ï‹•1ïš–|ﲤ爢`tà±íŠ¼î£ì³«_Az(Ṋ擬㦷좕耈6": 2099309172767331582, - "?ã´¸U<\/䢔ꯡ阽扆ã¤qé‹?f㔫wM嬙-;UV죫嚔픞G&\"Cá—äªí’ŠQ": "VM7ç–¹+陕枡툩窲}ç¿¡ä–¶8欞ÄsTë®}ç’¤:jﺋ鎴}HfAàµâ§»Zd#Qï¬u茅J髒皣Y-︴[?-~쉜vë”璮㹚䅊﩯<-#\u000eê±€h\u0004u抱﵊㼃U<㱷⊱IC進" - }, - "숌dee節é½é‚ºp넱蹓+e罕U": true - } - ], - "b⧴ë£??á” 3ã±>%郿劃ç¿ê¬ê ›Wï¡°çž³á«ëˆ„躨狀ໄy੽\"ីuS=㨞馸k乆E": "トz݈^î¡œ9R䬑<ﮛGRꨳ\u000fTT泠纷꽀MRᴱ纊:ã ­ë³®?%N56%鈕1ä—äœaä²—j陇=ë¿»å‚衋࿘ᓸ?ᕵZ+<\/}H耢bä€z^f$&ã’LkꢳIè„šë™›u": 5.694374481577558E-20 - }] - } - ]], - "obj": {"key": "wrong value"}, - "퓲꽪m{㶩/뇿#â¼¢&᭙硞㪔E嚉c樱㬇1a綑á–DḾä©": null - } -} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/data/webapp.json b/sl4n/rapidjson/bin/data/webapp.json deleted file mode 100644 index ee7b0f8..0000000 --- a/sl4n/rapidjson/bin/data/webapp.json +++ /dev/null @@ -1,88 +0,0 @@ -{"web-app": { - "servlet": [ - { - "servlet-name": "cofaxCDS", - "servlet-class": "org.cofax.cds.CDSServlet", - "init-param": { - "configGlossary:installationAt": "Philadelphia, PA", - "configGlossary:adminEmail": "ksm@pobox.com", - "configGlossary:poweredBy": "Cofax", - "configGlossary:poweredByIcon": "/images/cofax.gif", - "configGlossary:staticPath": "/content/static", - "templateProcessorClass": "org.cofax.WysiwygTemplate", - "templateLoaderClass": "org.cofax.FilesTemplateLoader", - "templatePath": "templates", - "templateOverridePath": "", - "defaultListTemplate": "listTemplate.htm", - "defaultFileTemplate": "articleTemplate.htm", - "useJSP": false, - "jspListTemplate": "listTemplate.jsp", - "jspFileTemplate": "articleTemplate.jsp", - "cachePackageTagsTrack": 200, - "cachePackageTagsStore": 200, - "cachePackageTagsRefresh": 60, - "cacheTemplatesTrack": 100, - "cacheTemplatesStore": 50, - "cacheTemplatesRefresh": 15, - "cachePagesTrack": 200, - "cachePagesStore": 100, - "cachePagesRefresh": 10, - "cachePagesDirtyRead": 10, - "searchEngineListTemplate": "forSearchEnginesList.htm", - "searchEngineFileTemplate": "forSearchEngines.htm", - "searchEngineRobotsDb": "WEB-INF/robots.db", - "useDataStore": true, - "dataStoreClass": "org.cofax.SqlDataStore", - "redirectionClass": "org.cofax.SqlRedirection", - "dataStoreName": "cofax", - "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver", - "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon", - "dataStoreUser": "sa", - "dataStorePassword": "dataStoreTestQuery", - "dataStoreTestQuery": "SET NOCOUNT ON;select test='test';", - "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log", - "dataStoreInitConns": 10, - "dataStoreMaxConns": 100, - "dataStoreConnUsageLimit": 100, - "dataStoreLogLevel": "debug", - "maxUrlLength": 500}}, - { - "servlet-name": "cofaxEmail", - "servlet-class": "org.cofax.cds.EmailServlet", - "init-param": { - "mailHost": "mail1", - "mailHostOverride": "mail2"}}, - { - "servlet-name": "cofaxAdmin", - "servlet-class": "org.cofax.cds.AdminServlet"}, - - { - "servlet-name": "fileServlet", - "servlet-class": "org.cofax.cds.FileServlet"}, - { - "servlet-name": "cofaxTools", - "servlet-class": "org.cofax.cms.CofaxToolsServlet", - "init-param": { - "templatePath": "toolstemplates/", - "log": 1, - "logLocation": "/usr/local/tomcat/logs/CofaxTools.log", - "logMaxSize": "", - "dataLog": 1, - "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log", - "dataLogMaxSize": "", - "removePageCache": "/content/admin/remove?cache=pages&id=", - "removeTemplateCache": "/content/admin/remove?cache=templates&id=", - "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder", - "lookInContext": 1, - "adminGroupID": 4, - "betaServer": true}}], - "servlet-mapping": { - "cofaxCDS": "/", - "cofaxEmail": "/cofaxutil/aemail/*", - "cofaxAdmin": "/admin/*", - "fileServlet": "/static/*", - "cofaxTools": "/tools/*"}, - - "taglib": { - "taglib-uri": "cofax.tld", - "taglib-location": "/WEB-INF/tlds/cofax.tld"}}} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/data/widget.json b/sl4n/rapidjson/bin/data/widget.json deleted file mode 100644 index 32690e8..0000000 --- a/sl4n/rapidjson/bin/data/widget.json +++ /dev/null @@ -1,26 +0,0 @@ -{"widget": { - "debug": "on", - "window": { - "title": "Sample Konfabulator Widget", - "name": "main_window", - "width": 500, - "height": 500 - }, - "image": { - "src": "Images/Sun.png", - "name": "sun1", - "hOffset": 250, - "vOffset": 250, - "alignment": "center" - }, - "text": { - "data": "Click Here", - "size": 36, - "style": "bold", - "name": "text1", - "hOffset": 250, - "vOffset": 100, - "alignment": "center", - "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" - } -}} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/encodings/utf16be.json b/sl4n/rapidjson/bin/encodings/utf16be.json deleted file mode 100644 index e46dbfb..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf16be.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf16bebom.json b/sl4n/rapidjson/bin/encodings/utf16bebom.json deleted file mode 100644 index 0a23ae2..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf16bebom.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf16le.json b/sl4n/rapidjson/bin/encodings/utf16le.json deleted file mode 100644 index 92d5045..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf16le.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf16lebom.json b/sl4n/rapidjson/bin/encodings/utf16lebom.json deleted file mode 100644 index eaba001..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf16lebom.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf32be.json b/sl4n/rapidjson/bin/encodings/utf32be.json deleted file mode 100644 index 9cbb522..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf32be.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf32bebom.json b/sl4n/rapidjson/bin/encodings/utf32bebom.json deleted file mode 100644 index bde6a99..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf32bebom.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf32le.json b/sl4n/rapidjson/bin/encodings/utf32le.json deleted file mode 100644 index b00f290..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf32le.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf32lebom.json b/sl4n/rapidjson/bin/encodings/utf32lebom.json deleted file mode 100644 index d3db39b..0000000 Binary files a/sl4n/rapidjson/bin/encodings/utf32lebom.json and /dev/null differ diff --git a/sl4n/rapidjson/bin/encodings/utf8.json b/sl4n/rapidjson/bin/encodings/utf8.json deleted file mode 100644 index c500c94..0000000 --- a/sl4n/rapidjson/bin/encodings/utf8.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "en":"I can eat glass and it doesn't hurt me.", - "zh-Hant":"我能åžä¸‹çŽ»ç’ƒè€Œä¸å‚·èº«é«”。", - "zh-Hans":"我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。", - "ja":"ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãã‚Œã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。", - "ko":"나는 유리를 ë¨¹ì„ ìˆ˜ 있어요. ê·¸ëž˜ë„ ì•„í”„ì§€ ì•Šì•„ìš”" -} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/encodings/utf8bom.json b/sl4n/rapidjson/bin/encodings/utf8bom.json deleted file mode 100644 index b9839fe..0000000 --- a/sl4n/rapidjson/bin/encodings/utf8bom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "en":"I can eat glass and it doesn't hurt me.", - "zh-Hant":"我能åžä¸‹çŽ»ç’ƒè€Œä¸å‚·èº«é«”。", - "zh-Hans":"我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。", - "ja":"ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãã‚Œã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。", - "ko":"나는 유리를 ë¨¹ì„ ìˆ˜ 있어요. ê·¸ëž˜ë„ ì•„í”„ì§€ ì•Šì•„ìš”" -} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail1.json b/sl4n/rapidjson/bin/jsonchecker/fail1.json deleted file mode 100644 index 6216b86..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail1.json +++ /dev/null @@ -1 +0,0 @@ -"A JSON payload should be an object or array, not a string." \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail10.json b/sl4n/rapidjson/bin/jsonchecker/fail10.json deleted file mode 100644 index 5d8c004..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail10.json +++ /dev/null @@ -1 +0,0 @@ -{"Extra value after close": true} "misplaced quoted value" \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail11.json b/sl4n/rapidjson/bin/jsonchecker/fail11.json deleted file mode 100644 index 76eb95b..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail11.json +++ /dev/null @@ -1 +0,0 @@ -{"Illegal expression": 1 + 2} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail12.json b/sl4n/rapidjson/bin/jsonchecker/fail12.json deleted file mode 100644 index 77580a4..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail12.json +++ /dev/null @@ -1 +0,0 @@ -{"Illegal invocation": alert()} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail13.json b/sl4n/rapidjson/bin/jsonchecker/fail13.json deleted file mode 100644 index 379406b..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail13.json +++ /dev/null @@ -1 +0,0 @@ -{"Numbers cannot have leading zeroes": 013} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail14.json b/sl4n/rapidjson/bin/jsonchecker/fail14.json deleted file mode 100644 index 0ed366b..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail14.json +++ /dev/null @@ -1 +0,0 @@ -{"Numbers cannot be hex": 0x14} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail15.json b/sl4n/rapidjson/bin/jsonchecker/fail15.json deleted file mode 100644 index fc8376b..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail15.json +++ /dev/null @@ -1 +0,0 @@ -["Illegal backslash escape: \x15"] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail16.json b/sl4n/rapidjson/bin/jsonchecker/fail16.json deleted file mode 100644 index 3fe21d4..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail16.json +++ /dev/null @@ -1 +0,0 @@ -[\naked] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail17.json b/sl4n/rapidjson/bin/jsonchecker/fail17.json deleted file mode 100644 index 62b9214..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail17.json +++ /dev/null @@ -1 +0,0 @@ -["Illegal backslash escape: \017"] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail18.json b/sl4n/rapidjson/bin/jsonchecker/fail18.json deleted file mode 100644 index edac927..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail18.json +++ /dev/null @@ -1 +0,0 @@ -[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail19.json b/sl4n/rapidjson/bin/jsonchecker/fail19.json deleted file mode 100644 index 3b9c46f..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail19.json +++ /dev/null @@ -1 +0,0 @@ -{"Missing colon" null} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail2.json b/sl4n/rapidjson/bin/jsonchecker/fail2.json deleted file mode 100644 index 6b7c11e..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail2.json +++ /dev/null @@ -1 +0,0 @@ -["Unclosed array" \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail20.json b/sl4n/rapidjson/bin/jsonchecker/fail20.json deleted file mode 100644 index 27c1af3..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail20.json +++ /dev/null @@ -1 +0,0 @@ -{"Double colon":: null} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail21.json b/sl4n/rapidjson/bin/jsonchecker/fail21.json deleted file mode 100644 index 6247457..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail21.json +++ /dev/null @@ -1 +0,0 @@ -{"Comma instead of colon", null} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail22.json b/sl4n/rapidjson/bin/jsonchecker/fail22.json deleted file mode 100644 index a775258..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail22.json +++ /dev/null @@ -1 +0,0 @@ -["Colon instead of comma": false] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail23.json b/sl4n/rapidjson/bin/jsonchecker/fail23.json deleted file mode 100644 index 494add1..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail23.json +++ /dev/null @@ -1 +0,0 @@ -["Bad value", truth] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail24.json b/sl4n/rapidjson/bin/jsonchecker/fail24.json deleted file mode 100644 index caff239..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail24.json +++ /dev/null @@ -1 +0,0 @@ -['single quote'] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail25.json b/sl4n/rapidjson/bin/jsonchecker/fail25.json deleted file mode 100644 index 8b7ad23..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail25.json +++ /dev/null @@ -1 +0,0 @@ -[" tab character in string "] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail26.json b/sl4n/rapidjson/bin/jsonchecker/fail26.json deleted file mode 100644 index 845d26a..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail26.json +++ /dev/null @@ -1 +0,0 @@ -["tab\ character\ in\ string\ "] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail27.json b/sl4n/rapidjson/bin/jsonchecker/fail27.json deleted file mode 100644 index 6b01a2c..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail27.json +++ /dev/null @@ -1,2 +0,0 @@ -["line -break"] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail28.json b/sl4n/rapidjson/bin/jsonchecker/fail28.json deleted file mode 100644 index 621a010..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail28.json +++ /dev/null @@ -1,2 +0,0 @@ -["line\ -break"] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail29.json b/sl4n/rapidjson/bin/jsonchecker/fail29.json deleted file mode 100644 index 47ec421..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail29.json +++ /dev/null @@ -1 +0,0 @@ -[0e] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail3.json b/sl4n/rapidjson/bin/jsonchecker/fail3.json deleted file mode 100644 index 168c81e..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail3.json +++ /dev/null @@ -1 +0,0 @@ -{unquoted_key: "keys must be quoted"} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail30.json b/sl4n/rapidjson/bin/jsonchecker/fail30.json deleted file mode 100644 index 8ab0bc4..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail30.json +++ /dev/null @@ -1 +0,0 @@ -[0e+] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail31.json b/sl4n/rapidjson/bin/jsonchecker/fail31.json deleted file mode 100644 index 1cce602..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail31.json +++ /dev/null @@ -1 +0,0 @@ -[0e+-1] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail32.json b/sl4n/rapidjson/bin/jsonchecker/fail32.json deleted file mode 100644 index 45cba73..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail32.json +++ /dev/null @@ -1 +0,0 @@ -{"Comma instead if closing brace": true, \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail33.json b/sl4n/rapidjson/bin/jsonchecker/fail33.json deleted file mode 100644 index ca5eb19..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail33.json +++ /dev/null @@ -1 +0,0 @@ -["mismatch"} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail4.json b/sl4n/rapidjson/bin/jsonchecker/fail4.json deleted file mode 100644 index 9de168b..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail4.json +++ /dev/null @@ -1 +0,0 @@ -["extra comma",] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail5.json b/sl4n/rapidjson/bin/jsonchecker/fail5.json deleted file mode 100644 index ddf3ce3..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail5.json +++ /dev/null @@ -1 +0,0 @@ -["double extra comma",,] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail6.json b/sl4n/rapidjson/bin/jsonchecker/fail6.json deleted file mode 100644 index ed91580..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail6.json +++ /dev/null @@ -1 +0,0 @@ -[ , "<-- missing value"] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail7.json b/sl4n/rapidjson/bin/jsonchecker/fail7.json deleted file mode 100644 index 8a96af3..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail7.json +++ /dev/null @@ -1 +0,0 @@ -["Comma after the close"], \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail8.json b/sl4n/rapidjson/bin/jsonchecker/fail8.json deleted file mode 100644 index b28479c..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail8.json +++ /dev/null @@ -1 +0,0 @@ -["Extra close"]] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/fail9.json b/sl4n/rapidjson/bin/jsonchecker/fail9.json deleted file mode 100644 index 5815574..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/fail9.json +++ /dev/null @@ -1 +0,0 @@ -{"Extra comma": true,} \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/pass1.json b/sl4n/rapidjson/bin/jsonchecker/pass1.json deleted file mode 100644 index 70e2685..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/pass1.json +++ /dev/null @@ -1,58 +0,0 @@ -[ - "JSON Test Pattern pass1", - {"object with 1 member":["array with 1 element"]}, - {}, - [], - -42, - true, - false, - null, - { - "integer": 1234567890, - "real": -9876.543210, - "e": 0.123456789e-12, - "E": 1.234567890E+34, - "": 23456789012E66, - "zero": 0, - "one": 1, - "space": " ", - "quote": "\"", - "backslash": "\\", - "controls": "\b\f\n\r\t", - "slash": "/ & \/", - "alpha": "abcdefghijklmnopqrstuvwyz", - "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ", - "digit": "0123456789", - "0123456789": "digit", - "special": "`1~!@#$%^&*()_+-={':[,]}|;.?", - "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A", - "true": true, - "false": false, - "null": null, - "array":[ ], - "object":{ }, - "address": "50 St. James Street", - "url": "http://www.JSON.org/", - "comment": "// /* */": " ", - " s p a c e d " :[1,2 , 3 - -, - -4 , 5 , 6 ,7 ],"compact":[1,2,3,4,5,6,7], - "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}", - "quotes": "" \u0022 %22 0x22 034 "", - "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?" -: "A key can be any string" - }, - 0.5 ,98.6 -, -99.44 -, - -1066, -1e1, -0.1e1, -1e-1, -1e00,2e+00,2e-00 -,"rosebud"] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/pass2.json b/sl4n/rapidjson/bin/jsonchecker/pass2.json deleted file mode 100644 index d3c63c7..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/pass2.json +++ /dev/null @@ -1 +0,0 @@ -[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] \ No newline at end of file diff --git a/sl4n/rapidjson/bin/jsonchecker/pass3.json b/sl4n/rapidjson/bin/jsonchecker/pass3.json deleted file mode 100644 index 4528d51..0000000 --- a/sl4n/rapidjson/bin/jsonchecker/pass3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "JSON Test Pattern pass3": { - "The outermost value": "must be an object or array.", - "In this test": "It is an object." - } -} diff --git a/sl4n/rapidjson/doc/Doxyfile.in b/sl4n/rapidjson/doc/Doxyfile.in deleted file mode 100644 index b806205..0000000 --- a/sl4n/rapidjson/doc/Doxyfile.in +++ /dev/null @@ -1,2367 +0,0 @@ -# Doxyfile 1.8.7 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = RapidJSON - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "A fast JSON parser/generator for C++ with both SAX/DOM style API" - -# With the PROJECT_LOGO tag one can specify an logo or icon that is included in -# the documentation. The maximum height of the logo should not exceed 55 pixels -# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo -# to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = YES - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a -# new page for each member. If set to NO, the documentation of a member will be -# part of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:\n" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. -# -# Note For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = YES - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by by putting a % sign in front of the word -# or globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = YES - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO these classes will be included in the various overviews. This option has -# no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO these declarations will be -# included in the documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the -# todo list. This list is created by putting \todo commands in the -# documentation. -# The default value is: YES. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the -# test list. This list is created by putting \test commands in the -# documentation. -# The default value is: YES. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = $(RAPIDJSON_SECTIONS) - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES the list -# will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. Do not use file names with spaces, bibtex cannot handle them. See -# also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO doxygen will only warn about wrong or incomplete parameter -# documentation, but not about the absence of documentation. -# The default value is: NO. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# The default value is: $file:$line: $text. - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. -# Note: If this tag is empty the current directory is searched. - -INPUT = readme.md \ - include/rapidjson/rapidjson.h \ - include/ \ - doc/features.md \ - doc/tutorial.md \ - doc/pointer.md \ - doc/stream.md \ - doc/encoding.md \ - doc/dom.md \ - doc/sax.md \ - doc/performance.md \ - doc/internals.md \ - doc/faq.md - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank the -# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, -# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, -# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, -# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, -# *.qsf, *.as and *.js. - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.inc \ - *.md - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = ./include/rapidjson/msinttypes/ - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* - -EXCLUDE_SYMBOLS = internal - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = ./doc - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER ) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = readme.md - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES, then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = YES - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = YES - -# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. -# Note: The availability of this option depends on whether or not doxygen was -# compiled with the --with-libclang option. -# The default value is: NO. - -CLANG_ASSISTED_PARSING = NO - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_OPTIONS = - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = NO - -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = ./doc/misc/header.html - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = ./doc/misc/footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- -# defined cascading style sheet that is included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefor more robust against future updates. -# Doxygen will copy the style sheet file to the output directory. For an example -# see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = ./doc/misc/doxygenextra.css - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the stylesheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler ( hhc.exe). If non-empty -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated ( -# YES) or that it should be included in the master .chm file ( NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated ( -# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = YES - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = YES - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using prerendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /