@tricoteuses/senat 1.1.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -15
- package/lib/aggregates.d.ts +4 -6
- package/lib/aggregates.mjs +908 -780
- package/lib/aggregates.ts +8 -122
- package/lib/data/legislatures.json +38 -0
- package/lib/databases.d.ts +9 -0
- package/lib/databases.js +41 -11
- package/lib/databases.mjs +32 -1
- package/lib/databases.ts +40 -1
- package/lib/fields.mjs +64 -18
- package/lib/index.d.ts +5 -6
- package/lib/index.js +8 -99
- package/lib/index.mjs +4 -6
- package/lib/index.ts +9 -26
- package/lib/inserters.d.ts +0 -4
- package/lib/inserters.mjs +461 -337
- package/lib/inserters.ts +0 -24
- package/lib/legislatures.json +38 -0
- package/lib/loaders.d.ts +64 -0
- package/lib/loaders.js +682 -0
- package/lib/loaders.mjs +158 -0
- package/lib/loaders.ts +271 -0
- package/lib/model/ameli.d.ts +105 -4
- package/lib/model/ameli.js +20 -160
- package/lib/model/ameli.mjs +84 -57
- package/lib/model/ameli.ts +94 -80
- package/lib/model/debats.d.ts +0 -4
- package/lib/model/debats.js +1 -122
- package/lib/model/debats.mjs +1 -43
- package/lib/model/debats.ts +0 -68
- package/lib/model/dosleg.d.ts +227 -29
- package/lib/model/dosleg.js +92 -832
- package/lib/model/dosleg.mjs +196 -337
- package/lib/model/dosleg.ts +213 -531
- package/lib/model/index.d.ts +4 -5
- package/lib/model/index.js +14 -15
- package/lib/model/index.mjs +4 -5
- package/lib/model/index.ts +8 -5
- package/lib/model/questions.d.ts +88 -2
- package/lib/model/questions.js +40 -45
- package/lib/model/questions.mjs +71 -8
- package/lib/model/questions.ts +90 -11
- package/lib/model/sens.d.ts +524 -2
- package/lib/model/sens.js +172 -49
- package/lib/model/sens.mjs +415 -9
- package/lib/model/sens.ts +514 -16
- package/lib/model/texte.d.ts +7 -0
- package/lib/model/texte.js +321 -0
- package/lib/model/texte.mjs +208 -0
- package/lib/model/texte.ts +229 -0
- package/lib/model/util.d.ts +7 -1
- package/lib/model/util.js +37 -53
- package/lib/model/util.mjs +19 -10
- package/lib/model/util.ts +30 -14
- package/lib/raw_types/ameli.d.ts +912 -538
- package/lib/raw_types/ameli.js +1 -39
- package/lib/raw_types/ameli.mjs +4 -1
- package/lib/raw_types/ameli.ts +947 -597
- package/lib/raw_types/debats.d.ts +204 -124
- package/lib/raw_types/debats.js +1 -18
- package/lib/raw_types/debats.mjs +4 -1
- package/lib/raw_types/debats.ts +218 -141
- package/lib/raw_types/dosleg.d.ts +3533 -2024
- package/lib/raw_types/dosleg.js +1 -92
- package/lib/raw_types/dosleg.mjs +4 -1
- package/lib/raw_types/dosleg.ts +3621 -2189
- package/lib/raw_types/questions.d.ts +404 -220
- package/lib/raw_types/questions.js +1 -18
- package/lib/raw_types/questions.mjs +4 -1
- package/lib/raw_types/questions.ts +404 -226
- package/lib/raw_types/sens.d.ts +4391 -2706
- package/lib/raw_types/sens.js +1 -108
- package/lib/raw_types/sens.mjs +4 -1
- package/lib/raw_types/sens.ts +4495 -2903
- package/lib/raw_types_kysely/ameli.d.ts +6 -0
- package/lib/raw_types_kysely/ameli.mjs +7 -0
- package/lib/raw_types_kysely/ameli.ts +6 -0
- package/lib/raw_types_kysely/debats.d.ts +6 -0
- package/lib/raw_types_kysely/debats.mjs +7 -0
- package/lib/raw_types_kysely/debats.ts +6 -0
- package/lib/raw_types_kysely/dosleg.d.ts +6 -0
- package/lib/raw_types_kysely/dosleg.mjs +7 -0
- package/lib/raw_types_kysely/dosleg.ts +6 -0
- package/lib/raw_types_kysely/questions.d.ts +6 -0
- package/lib/raw_types_kysely/questions.mjs +7 -0
- package/lib/raw_types_kysely/questions.ts +6 -0
- package/lib/raw_types_kysely/sens.d.ts +6 -0
- package/lib/raw_types_kysely/sens.mjs +7 -0
- package/lib/raw_types_kysely/sens.ts +6 -0
- package/lib/raw_types_kysely/texte.d.ts +45 -0
- package/lib/raw_types_kysely/texte.mjs +7 -0
- package/lib/raw_types_kysely/texte.ts +53 -0
- package/lib/raw_types_schemats/ameli.d.ts +541 -0
- package/lib/raw_types_schemats/ameli.js +45 -0
- package/lib/raw_types_schemats/ameli.mjs +2 -0
- package/lib/raw_types_schemats/ameli.ts +601 -0
- package/lib/raw_types_schemats/debats.d.ts +127 -0
- package/lib/raw_types_schemats/debats.js +24 -0
- package/lib/raw_types_schemats/debats.mjs +2 -0
- package/lib/raw_types_schemats/debats.ts +145 -0
- package/lib/raw_types_schemats/dosleg.d.ts +2029 -0
- package/lib/raw_types_schemats/dosleg.js +98 -0
- package/lib/raw_types_schemats/dosleg.mjs +2 -0
- package/lib/raw_types_schemats/dosleg.ts +2195 -0
- package/lib/raw_types_schemats/questions.d.ts +233 -0
- package/lib/raw_types_schemats/questions.js +24 -0
- package/lib/raw_types_schemats/questions.mjs +2 -0
- package/lib/raw_types_schemats/questions.ts +251 -0
- package/lib/raw_types_schemats/sens.d.ts +2709 -0
- package/lib/raw_types_schemats/sens.js +114 -0
- package/lib/raw_types_schemats/sens.mjs +2 -0
- package/lib/raw_types_schemats/sens.ts +2907 -0
- package/lib/scripts/convert_data.js +574 -215
- package/lib/scripts/convert_data.mjs +134 -99
- package/lib/scripts/convert_data.ts +173 -112
- package/lib/scripts/datautil.d.ts +5 -0
- package/lib/scripts/datautil.js +64 -0
- package/lib/scripts/datautil.mjs +16 -0
- package/lib/scripts/datautil.ts +19 -0
- package/lib/scripts/parse_textes.js +132 -0
- package/lib/scripts/parse_textes.mjs +46 -0
- package/lib/scripts/parse_textes.ts +65 -0
- package/lib/scripts/retrieve_documents.d.ts +1 -0
- package/lib/scripts/retrieve_documents.js +521 -0
- package/lib/scripts/retrieve_documents.mjs +249 -0
- package/lib/scripts/retrieve_documents.ts +298 -0
- package/lib/scripts/retrieve_open_data.js +77 -69
- package/lib/scripts/retrieve_open_data.mjs +48 -49
- package/lib/scripts/retrieve_open_data.ts +74 -58
- package/lib/scripts/retrieve_senateurs_photos.js +45 -63
- package/lib/scripts/retrieve_senateurs_photos.mjs +4 -21
- package/lib/scripts/retrieve_senateurs_photos.ts +6 -29
- package/lib/scripts/retrieve_textes.mjs +325 -74
- package/lib/scripts/retrieve_textes.ts +111 -63
- package/lib/scripts/shared/cli_helpers.d.ts +44 -0
- package/lib/scripts/shared/cli_helpers.js +35 -0
- package/lib/scripts/shared/cli_helpers.ts +36 -0
- package/lib/scripts/shared/util.d.ts +3 -0
- package/lib/scripts/shared/util.js +102 -0
- package/lib/scripts/shared/util.ts +33 -0
- package/lib/src/aggregates.d.ts +52 -0
- package/lib/src/aggregates.mjs +726 -0
- package/lib/src/config.d.ts +2 -0
- package/lib/src/config.mjs +16 -0
- package/lib/src/databases.d.ts +18 -0
- package/lib/src/databases.mjs +55 -0
- package/lib/src/datasets.d.ts +28 -0
- package/lib/src/datasets.mjs +78 -0
- package/lib/src/fields.d.ts +10 -0
- package/lib/src/fields.mjs +22 -0
- package/lib/src/index.d.ts +8 -0
- package/lib/src/index.mjs +7 -0
- package/lib/src/inserters.d.ts +98 -0
- package/lib/src/inserters.mjs +360 -0
- package/lib/src/loaders.d.ts +36 -0
- package/lib/src/loaders.mjs +107 -0
- package/lib/src/model/ameli.d.ts +4 -0
- package/lib/src/model/ameli.js +57 -0
- package/lib/src/model/debats.d.ts +4 -0
- package/lib/src/model/debats.js +43 -0
- package/lib/src/model/dosleg.d.ts +197 -0
- package/lib/src/model/dosleg.js +169 -0
- package/lib/src/model/index.d.ts +4 -0
- package/lib/src/model/index.js +4 -0
- package/lib/src/model/questions.d.ts +89 -0
- package/lib/src/model/questions.js +76 -0
- package/lib/src/model/sens.d.ts +390 -0
- package/lib/src/model/sens.js +339 -0
- package/lib/src/model/texte.d.ts +7 -0
- package/lib/src/model/texte.js +183 -0
- package/lib/src/raw_types_kysely/ameli.d.ts +915 -0
- package/lib/src/raw_types_kysely/ameli.js +5 -0
- package/lib/src/raw_types_kysely/debats.d.ts +207 -0
- package/lib/src/raw_types_kysely/debats.js +5 -0
- package/lib/src/raw_types_kysely/dosleg.d.ts +3532 -0
- package/lib/src/raw_types_kysely/dosleg.js +5 -0
- package/lib/src/raw_types_kysely/questions.d.ts +414 -0
- package/lib/src/raw_types_kysely/questions.js +5 -0
- package/lib/src/raw_types_kysely/sens.d.ts +4394 -0
- package/lib/src/raw_types_kysely/sens.js +5 -0
- package/lib/src/raw_types_schemats/ameli.d.ts +541 -0
- package/lib/src/raw_types_schemats/ameli.js +2 -0
- package/lib/src/raw_types_schemats/debats.d.ts +127 -0
- package/lib/src/raw_types_schemats/debats.js +2 -0
- package/lib/src/raw_types_schemats/dosleg.d.ts +2027 -0
- package/lib/src/raw_types_schemats/dosleg.js +2 -0
- package/lib/src/raw_types_schemats/questions.d.ts +231 -0
- package/lib/src/raw_types_schemats/questions.js +2 -0
- package/lib/src/raw_types_schemats/sens.d.ts +2709 -0
- package/lib/src/raw_types_schemats/sens.js +2 -0
- package/lib/src/scripts/convert_data.d.ts +1 -0
- package/lib/src/scripts/convert_data.js +95 -0
- package/lib/src/scripts/datautil.d.ts +5 -0
- package/lib/src/scripts/datautil.js +16 -0
- package/lib/src/scripts/parse_textes.d.ts +1 -0
- package/lib/src/scripts/parse_textes.js +47 -0
- package/lib/src/scripts/retrieve_documents.d.ts +1 -0
- package/lib/src/scripts/retrieve_documents.js +258 -0
- package/lib/src/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/src/scripts/retrieve_open_data.js +214 -0
- package/lib/src/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/src/scripts/retrieve_senateurs_photos.js +147 -0
- package/lib/src/scripts/shared/cli_helpers.d.ts +44 -0
- package/lib/src/scripts/shared/cli_helpers.js +32 -0
- package/lib/src/scripts/shared/util.d.ts +3 -0
- package/lib/src/scripts/shared/util.js +28 -0
- package/lib/src/strings.d.ts +1 -0
- package/lib/src/strings.mjs +18 -0
- package/lib/src/types/ameli.d.ts +10 -0
- package/lib/src/types/ameli.js +13 -0
- package/lib/src/types/debats.d.ts +4 -0
- package/lib/src/types/debats.js +2 -0
- package/lib/src/types/dosleg.d.ts +98 -0
- package/lib/src/types/dosleg.js +151 -0
- package/lib/src/types/questions.d.ts +2 -0
- package/lib/src/types/questions.js +1 -0
- package/lib/src/types/sens.d.ts +10 -0
- package/lib/src/types/sens.js +1 -0
- package/lib/src/types/sessions.d.ts +42 -0
- package/lib/src/types/sessions.js +43 -0
- package/lib/src/types/texte.d.ts +61 -0
- package/lib/src/types/texte.js +16 -0
- package/lib/src/validators/config.d.ts +1 -0
- package/lib/src/validators/config.js +54 -0
- package/lib/src/validators/senat.d.ts +0 -0
- package/lib/src/validators/senat.js +24 -0
- package/lib/types/ameli.d.ts +1 -1
- package/lib/types/ameli.js +2 -2
- package/lib/types/ameli.ts +1 -1
- package/lib/types/debats.d.ts +1 -1
- package/lib/types/debats.js +2 -2
- package/lib/types/debats.ts +1 -1
- package/lib/types/dosleg.d.ts +2 -2
- package/lib/types/dosleg.js +2 -2
- package/lib/types/dosleg.ts +2 -2
- package/lib/types/questions.d.ts +1 -1
- package/lib/types/questions.js +2 -2
- package/lib/types/questions.ts +1 -1
- package/lib/types/sens.d.ts +1 -3
- package/lib/types/sens.js +2 -5
- package/lib/types/sens.mjs +1 -23
- package/lib/types/sens.ts +1 -25
- package/lib/types/sessions.d.ts +42 -0
- package/lib/types/sessions.js +51 -0
- package/lib/types/sessions.mjs +43 -0
- package/lib/types/sessions.ts +42 -0
- package/lib/types/texte.d.ts +65 -0
- package/lib/types/texte.js +24 -0
- package/lib/types/texte.mjs +16 -0
- package/lib/types/texte.ts +76 -0
- package/package.json +35 -10
- package/lib/aggregates.js +0 -1122
- package/lib/fields.js +0 -68
- package/lib/inserters.js +0 -518
- package/lib/scripts/fix_db.js +0 -144
- package/lib/scripts/fix_db.mjs +0 -64
- package/lib/scripts/fix_db.ts +0 -75
- package/lib/scripts/retrieve_textes.js +0 -179
- /package/lib/scripts/{fix_db.d.ts → parse_textes.d.ts} +0 -0
|
@@ -1,284 +1,643 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
require("core-js/modules/es.symbol.js");
|
|
5
|
-
require("core-js/modules/es.symbol.description.js");
|
|
6
|
-
require("core-js/modules/es.symbol.async-iterator.js");
|
|
7
|
-
require("core-js/modules/es.symbol.iterator.js");
|
|
8
|
-
require("core-js/modules/es.symbol.replace.js");
|
|
9
|
-
require("core-js/modules/es.symbol.to-string-tag.js");
|
|
10
4
|
require("core-js/modules/es.array.for-each.js");
|
|
11
5
|
require("core-js/modules/es.array.from.js");
|
|
12
6
|
require("core-js/modules/es.array.is-array.js");
|
|
13
|
-
require("core-js/modules/es.array.reduce.js");
|
|
14
|
-
require("core-js/modules/es.array.reverse.js");
|
|
15
7
|
require("core-js/modules/es.array.slice.js");
|
|
16
8
|
require("core-js/modules/es.date.to-string.js");
|
|
17
|
-
require("core-js/modules/es.function.name.js");
|
|
18
|
-
require("core-js/modules/es.json.to-string-tag.js");
|
|
19
|
-
require("core-js/modules/es.math.to-string-tag.js");
|
|
20
9
|
require("core-js/modules/es.object.create.js");
|
|
21
10
|
require("core-js/modules/es.object.define-property.js");
|
|
22
11
|
require("core-js/modules/es.object.get-prototype-of.js");
|
|
23
|
-
require("core-js/modules/es.object.
|
|
24
|
-
require("core-js/modules/es.promise.js");
|
|
25
|
-
require("core-js/modules/es.regexp.constructor.js");
|
|
12
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
|
26
13
|
require("core-js/modules/es.regexp.to-string.js");
|
|
27
|
-
require("core-js/modules/es.string.replace.js");
|
|
28
|
-
require("core-js/modules/es.weak-map.js");
|
|
29
14
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
15
|
+
require("core-js/modules/es.symbol.js");
|
|
16
|
+
require("core-js/modules/es.symbol.description.js");
|
|
17
|
+
require("core-js/modules/es.symbol.async-iterator.js");
|
|
18
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
19
|
+
require("core-js/modules/es.array.concat.js");
|
|
30
20
|
require("core-js/modules/es.array.iterator.js");
|
|
31
21
|
require("core-js/modules/es.array.join.js");
|
|
32
|
-
require("core-js/modules/es.function.
|
|
33
|
-
require("core-js/modules/es.object.set-prototype-of.js");
|
|
22
|
+
require("core-js/modules/es.function.name.js");
|
|
34
23
|
require("core-js/modules/es.object.to-string.js");
|
|
24
|
+
require("core-js/modules/es.promise.js");
|
|
35
25
|
require("core-js/modules/es.regexp.exec.js");
|
|
36
|
-
require("core-js/modules/es.set.js");
|
|
37
26
|
require("core-js/modules/es.string.iterator.js");
|
|
38
27
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
28
|
+
require("core-js/modules/web.url.js");
|
|
29
|
+
require("core-js/modules/web.url.to-json.js");
|
|
30
|
+
require("core-js/modules/web.url-search-params.js");
|
|
31
|
+
var _assert = _interopRequireDefault(require("assert"));
|
|
32
|
+
var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
|
|
39
33
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
40
34
|
var _path = _interopRequireDefault(require("path"));
|
|
41
|
-
var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
|
|
42
35
|
var _datasets = require("../datasets");
|
|
36
|
+
var _loaders = require("../loaders");
|
|
43
37
|
var _model = require("../model");
|
|
44
|
-
var
|
|
38
|
+
var _dosleg = require("../model/dosleg");
|
|
39
|
+
var _datautil = require("./datautil");
|
|
40
|
+
var _cli_helpers = require("./shared/cli_helpers");
|
|
41
|
+
var _util = require("./shared/util");
|
|
45
42
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
46
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/
|
|
47
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
48
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
49
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
43
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return r; }; var t, r = {}, e = Object.prototype, n = e.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", u = o.toStringTag || "@@toStringTag"; function c(t, r, e, n) { Object.defineProperty(t, r, { value: e, enumerable: !n, configurable: !n, writable: !n }); } try { c({}, ""); } catch (t) { c = function c(t, r, e) { return t[r] = e; }; } function h(r, e, n, o) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype); return c(a, "_invoke", function (r, e, n) { var o = 1; return function (i, a) { if (3 === o) throw Error("Generator is already running"); if (4 === o) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var u = n.delegate; if (u) { var c = d(u, n); if (c) { if (c === f) continue; return c; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (1 === o) throw o = 4, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = 3; var h = s(r, e, n); if ("normal" === h.type) { if (o = n.done ? 4 : 2, h.arg === f) continue; return { value: h.arg, done: n.done }; } "throw" === h.type && (o = 4, n.method = "throw", n.arg = h.arg); } }; }(r, n, new Context(o || [])), !0), a; } function s(t, r, e) { try { return { type: "normal", arg: t.call(r, e) }; } catch (t) { return { type: "throw", arg: t }; } } r.wrap = h; var f = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var l = {}; c(l, i, function () { return this; }); var p = Object.getPrototypeOf, y = p && p(p(x([]))); y && y !== e && n.call(y, i) && (l = y); var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); function g(t) { ["next", "throw", "return"].forEach(function (r) { c(t, r, function (t) { return this._invoke(r, t); }); }); } function AsyncIterator(t, r) { function e(o, i, a, u) { var c = s(t[o], t, i); if ("throw" !== c.type) { var h = c.arg, f = h.value; return f && "object" == _typeof(f) && n.call(f, "__await") ? r.resolve(f.__await).then(function (t) { e("next", t, a, u); }, function (t) { e("throw", t, a, u); }) : r.resolve(f).then(function (t) { h.value = t, a(h); }, function (t) { return e("throw", t, a, u); }); } u(c.arg); } var o; c(this, "_invoke", function (t, n) { function i() { return new r(function (r, o) { e(t, n, r, o); }); } return o = o ? o.then(i, i) : i(); }, !0); } function d(r, e) { var n = e.method, o = r.i[n]; if (o === t) return e.delegate = null, "throw" === n && r.i["return"] && (e.method = "return", e.arg = t, d(r, e), "throw" === e.method) || "return" !== n && (e.method = "throw", e.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; var i = s(o, r.i, e.arg); if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, f; var a = i.arg; return a ? a.done ? (e[r.r] = a.value, e.next = r.n, "return" !== e.method && (e.method = "next", e.arg = t), e.delegate = null, f) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, f); } function w(t) { this.tryEntries.push(t); } function m(r) { var e = r[4] || {}; e.type = "normal", e.arg = t, r[4] = e; } function Context(t) { this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); } function x(r) { if (null != r) { var e = r[i]; if (e) return e.call(r); if ("function" == typeof r.next) return r; if (!isNaN(r.length)) { var o = -1, a = function e() { for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; return e.value = t, e.done = !0, e; }; return a.next = a; } } throw new TypeError(_typeof(r) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), c(GeneratorFunctionPrototype, u, GeneratorFunction.displayName = "GeneratorFunction"), r.isGeneratorFunction = function (t) { var r = "function" == typeof t && t.constructor; return !!r && (r === GeneratorFunction || "GeneratorFunction" === (r.displayName || r.name)); }, r.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, "GeneratorFunction")), t.prototype = Object.create(v), t; }, r.awrap = function (t) { return { __await: t }; }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { return this; }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(h(t, e, n, o), i); return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, g(v), c(v, u, "Generator"), c(v, i, function () { return this; }), c(v, "toString", function () { return "[object Generator]"; }), r.keys = function (t) { var r = Object(t), e = []; for (var n in r) e.unshift(n); return function t() { for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; return t.done = !0, t; }; }, r.values = x, Context.prototype = { constructor: Context, reset: function reset(r) { if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0][4]; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(r) { if (this.done) throw r; var e = this; function n(t) { a.type = "throw", a.arg = r, e.next = t; } for (var o = e.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i[4], u = this.prev, c = i[1], h = i[2]; if (-1 === i[0]) return n("end"), !1; if (!c && !h) throw Error("try statement without catch or finally"); if (null != i[0] && i[0] <= u) { if (u < c) return this.method = "next", this.arg = t, n(c), !0; if (u < h) return n(h), !1; } } }, abrupt: function abrupt(t, r) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var n = this.tryEntries[e]; if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { var o = n; break; } } o && ("break" === t || "continue" === t) && o[0] <= r && r <= o[2] && (o = null); var i = o ? o[4] : {}; return i.type = t, i.arg = r, o ? (this.method = "next", this.next = o[2], f) : this.complete(i); }, complete: function complete(t, r) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), f; }, finish: function finish(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; } }, "catch": function _catch(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[0] === t) { var n = e[4]; if ("throw" === n.type) { var o = n.arg; m(e); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(r, e, n) { return this.delegate = { i: x(r), r: e, n: n }, "next" === this.method && (this.arg = t), f; } }, r; }
|
|
50
44
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
51
45
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
52
|
-
function
|
|
53
|
-
function
|
|
54
|
-
function
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
type: String
|
|
62
|
-
}, {
|
|
63
|
-
alias: 's',
|
|
64
|
-
help: 'don\'t log anything',
|
|
65
|
-
name: 'silent',
|
|
66
|
-
type: Boolean
|
|
67
|
-
}, {
|
|
68
|
-
alias: "v",
|
|
69
|
-
help: "verbose logs",
|
|
70
|
-
name: "verbose",
|
|
71
|
-
type: Boolean
|
|
72
|
-
}, {
|
|
73
|
-
defaultOption: true,
|
|
74
|
-
help: 'directory containing Sénat open data files',
|
|
75
|
-
name: 'dataDir',
|
|
76
|
-
type: String
|
|
77
|
-
}];
|
|
46
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
47
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
48
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
49
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
50
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
51
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
52
|
+
function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
53
|
+
function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(r) { var n = this.s["return"]; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, "throw": function _throw(r) { var n = this.s["return"]; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
|
|
54
|
+
var optionsDefinitions = _toConsumableArray(_cli_helpers.commonOptions);
|
|
78
55
|
var options = (0, _commandLineArgs["default"])(optionsDefinitions);
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
});
|
|
84
|
-
function ensureAndClearDir(path) {
|
|
85
|
-
if (!_fsExtra["default"].existsSync(path)) {
|
|
86
|
-
_fsExtra["default"].mkdirSync(path);
|
|
87
|
-
} else {
|
|
88
|
-
_fsExtra["default"].emptyDirSync(path);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
56
|
+
var SENAT_TEXTE_XML_BASE_URL = "https://www.senat.fr/akomantoso/";
|
|
57
|
+
var SENAT_TEXTE_BASE_URL = "https://www.senat.fr/leg/";
|
|
58
|
+
var SENAT_EXPOSE_DES_MOTIFS_BASE_URL = "https://www.senat.fr/leg/exposes-des-motifs/";
|
|
59
|
+
var SENAT_RAPPORT_BASE_URL = "https://www.senat.fr/rap/";
|
|
91
60
|
function convertData() {
|
|
92
61
|
return _convertData.apply(this, arguments);
|
|
93
62
|
}
|
|
94
63
|
function _convertData() {
|
|
95
64
|
_convertData = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
96
|
-
var enabledDatasets, dataDir, dataset,
|
|
65
|
+
var enabledDatasets, dataDir, dataset, ameliReorganizedRootDir, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, amendement, session, signetDossierLegislatif, ameliReorganizedDir, amendementFileName, _dataset, doslegReorganizedRootDir, dossiersReorganizedDir, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, loi, _SIGNET_STRUCTURE_REG, loiReorganizedDir, signetParts, _session, formattedSession, loiFileName, _dataset2, questionsReorganizedRootDir, _iteratorAbruptCompletion3, _didIteratorError3, _iteratorError3, _iterator3, _step3, question, legislature, questionReorganizedDir, questionFileName, _dataset3, sensReorganizedRootDir, senateursReorganizedDir, circonscriptionsReorganizedDir, organismesReorganizedDir, _iteratorAbruptCompletion4, _didIteratorError4, _iteratorError4, _iterator4, _step4, sen, senFileName, _iteratorAbruptCompletion5, _didIteratorError5, _iteratorError5, _iterator5, _step5, circonscription, circonscriptionFileName, _iteratorAbruptCompletion6, _didIteratorError6, _iteratorError6, _iterator6, _step6, organisme, organismeFileName;
|
|
97
66
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
98
67
|
while (1) switch (_context.prev = _context.next) {
|
|
99
68
|
case 0:
|
|
100
69
|
enabledDatasets = (0, _datasets.getEnabledDatasets)(options.categories);
|
|
101
70
|
dataDir = options.dataDir;
|
|
102
|
-
|
|
103
|
-
|
|
71
|
+
(0, _assert["default"])(dataDir, "Missing argument: data directory");
|
|
72
|
+
console.time("data transformation time");
|
|
73
|
+
if (!(enabledDatasets & _datasets.EnabledDatasets.Ameli)) {
|
|
74
|
+
_context.next = 43;
|
|
104
75
|
break;
|
|
105
76
|
}
|
|
106
|
-
dataset = _datasets.datasets.
|
|
77
|
+
dataset = _datasets.datasets.ameli;
|
|
107
78
|
if (!options.silent) {
|
|
108
79
|
console.log("Converting database ".concat(dataset.database, " data into files\u2026"));
|
|
109
80
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
_iterator =
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
} finally {
|
|
124
|
-
_iterator.f();
|
|
81
|
+
ameliReorganizedRootDir = _path["default"].join(dataDir, dataset.database);
|
|
82
|
+
(0, _util.ensureAndClearDir)(ameliReorganizedRootDir);
|
|
83
|
+
_iteratorAbruptCompletion = false;
|
|
84
|
+
_didIteratorError = false;
|
|
85
|
+
_context.prev = 11;
|
|
86
|
+
_iterator = _asyncIterator((0, _model.findAllAmendements)());
|
|
87
|
+
case 13:
|
|
88
|
+
_context.next = 15;
|
|
89
|
+
return _iterator.next();
|
|
90
|
+
case 15:
|
|
91
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
92
|
+
_context.next = 27;
|
|
93
|
+
break;
|
|
125
94
|
}
|
|
95
|
+
amendement = _step.value;
|
|
126
96
|
if (options.verbose) {
|
|
127
|
-
console.log("
|
|
128
|
-
|
|
97
|
+
console.log("Converting ".concat(amendement.numero, " file\u2026"));
|
|
98
|
+
}
|
|
99
|
+
session = String(amendement.session) || _datautil.UNDEFINED_SESSION;
|
|
100
|
+
signetDossierLegislatif = amendement.signet_dossier_legislatif || "".concat(amendement.nature_texte, "-").concat(amendement.numero_texte).toLowerCase();
|
|
101
|
+
ameliReorganizedDir = _path["default"].join(ameliReorganizedRootDir, session, signetDossierLegislatif);
|
|
102
|
+
_fsExtra["default"].ensureDirSync(ameliReorganizedDir);
|
|
103
|
+
amendementFileName = "".concat(amendement.numero, ".json");
|
|
104
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(ameliReorganizedDir, amendementFileName), amendement, {
|
|
105
|
+
spaces: 2
|
|
106
|
+
});
|
|
107
|
+
case 24:
|
|
108
|
+
_iteratorAbruptCompletion = false;
|
|
109
|
+
_context.next = 13;
|
|
110
|
+
break;
|
|
111
|
+
case 27:
|
|
112
|
+
_context.next = 33;
|
|
113
|
+
break;
|
|
114
|
+
case 29:
|
|
115
|
+
_context.prev = 29;
|
|
116
|
+
_context.t0 = _context["catch"](11);
|
|
117
|
+
_didIteratorError = true;
|
|
118
|
+
_iteratorError = _context.t0;
|
|
119
|
+
case 33:
|
|
120
|
+
_context.prev = 33;
|
|
121
|
+
_context.prev = 34;
|
|
122
|
+
if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
|
|
123
|
+
_context.next = 38;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
_context.next = 38;
|
|
127
|
+
return _iterator["return"]();
|
|
128
|
+
case 38:
|
|
129
|
+
_context.prev = 38;
|
|
130
|
+
if (!_didIteratorError) {
|
|
131
|
+
_context.next = 41;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
throw _iteratorError;
|
|
135
|
+
case 41:
|
|
136
|
+
return _context.finish(38);
|
|
137
|
+
case 42:
|
|
138
|
+
return _context.finish(33);
|
|
139
|
+
case 43:
|
|
140
|
+
if (!(enabledDatasets & _datasets.EnabledDatasets.DosLeg)) {
|
|
141
|
+
_context.next = 88;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
_dataset = _datasets.datasets.dosleg;
|
|
145
|
+
if (!options.silent) {
|
|
146
|
+
console.log("Converting database ".concat(_dataset.database, " data into files\u2026"));
|
|
147
|
+
}
|
|
148
|
+
doslegReorganizedRootDir = _path["default"].join(dataDir, _dataset.database);
|
|
149
|
+
dossiersReorganizedDir = _path["default"].join(doslegReorganizedRootDir, _loaders.DOSLEG_DOSSIERS_FOLDER);
|
|
150
|
+
(0, _util.ensureAndClearDir)(doslegReorganizedRootDir);
|
|
151
|
+
(0, _util.ensureAndClearDir)(dossiersReorganizedDir);
|
|
152
|
+
_iteratorAbruptCompletion2 = false;
|
|
153
|
+
_didIteratorError2 = false;
|
|
154
|
+
_context.prev = 52;
|
|
155
|
+
_iterator2 = _asyncIterator((0, _model.findAllLois)());
|
|
156
|
+
case 54:
|
|
157
|
+
_context.next = 56;
|
|
158
|
+
return _iterator2.next();
|
|
159
|
+
case 56:
|
|
160
|
+
if (!(_iteratorAbruptCompletion2 = !(_step2 = _context.sent).done)) {
|
|
161
|
+
_context.next = 68;
|
|
162
|
+
break;
|
|
129
163
|
}
|
|
130
|
-
|
|
131
|
-
return aggregator.getAll();
|
|
132
|
-
case 14:
|
|
164
|
+
loi = _step2.value;
|
|
133
165
|
if (options.verbose) {
|
|
134
|
-
console.
|
|
135
|
-
}
|
|
136
|
-
allData = aggregator.toJson();
|
|
137
|
-
loiReorganizedRootDir = _path["default"].join(dataDir, dataset.database);
|
|
138
|
-
ensureAndClearDir(loiReorganizedRootDir);
|
|
139
|
-
_iterator2 = _createForOfIteratorHelper(lois);
|
|
140
|
-
try {
|
|
141
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
142
|
-
_loi = _step2.value;
|
|
143
|
-
if (options.verbose) {
|
|
144
|
-
console.log("Converting ".concat(_loi.signet, " file\u2026"));
|
|
145
|
-
}
|
|
146
|
-
(0, _inserters.insertLoiReferences)(_loi, allData, {});
|
|
147
|
-
loiFileName = "".concat(_loi.loicod, ".json");
|
|
148
|
-
loiReorganizedDir = _path["default"].join(loiReorganizedRootDir, _loi.typloicod);
|
|
149
|
-
if (_loi.signet) {
|
|
150
|
-
loiFileName = "".concat(_loi.signet, ".json");
|
|
151
|
-
signetParts = (_SIGNET_STRUCTURE_REG = SIGNET_STRUCTURE_REGEXP.exec(_loi.signet)) === null || _SIGNET_STRUCTURE_REG === void 0 ? void 0 : _SIGNET_STRUCTURE_REG.groups;
|
|
152
|
-
if (signetParts) {
|
|
153
|
-
session = signetParts.session;
|
|
154
|
-
loiReorganizedDir = _path["default"].join(loiReorganizedDir, session);
|
|
155
|
-
} else {
|
|
156
|
-
loiReorganizedDir = _path["default"].join(loiReorganizedDir, "non defini");
|
|
157
|
-
}
|
|
158
|
-
_fsExtra["default"].ensureDirSync(loiReorganizedDir);
|
|
159
|
-
}
|
|
160
|
-
_fsExtra["default"].writeJSONSync(_path["default"].join(loiReorganizedDir, loiFileName), _loi, {
|
|
161
|
-
spaces: 2
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
} catch (err) {
|
|
165
|
-
_iterator2.e(err);
|
|
166
|
-
} finally {
|
|
167
|
-
_iterator2.f();
|
|
166
|
+
console.log("Converting ".concat(loi.signet, " file\u2026"));
|
|
168
167
|
}
|
|
169
|
-
|
|
168
|
+
loiReorganizedDir = _path["default"].join(dossiersReorganizedDir, _datautil.UNDEFINED_SESSION);
|
|
169
|
+
signetParts = (_SIGNET_STRUCTURE_REG = _datautil.SIGNET_STRUCTURE_REGEXP.exec(loi.signet)) === null || _SIGNET_STRUCTURE_REG === void 0 ? void 0 : _SIGNET_STRUCTURE_REG.groups;
|
|
170
|
+
if (signetParts) {
|
|
171
|
+
_session = signetParts.session;
|
|
172
|
+
formattedSession = (0, _datautil.formatToFourDigitSession)(_session);
|
|
173
|
+
loiReorganizedDir = _path["default"].join(dossiersReorganizedDir, formattedSession);
|
|
174
|
+
}
|
|
175
|
+
_fsExtra["default"].ensureDirSync(loiReorganizedDir);
|
|
176
|
+
loiFileName = "".concat(loi.signet, ".json");
|
|
177
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(loiReorganizedDir, loiFileName), loi, {
|
|
178
|
+
spaces: 2
|
|
179
|
+
});
|
|
180
|
+
case 65:
|
|
181
|
+
_iteratorAbruptCompletion2 = false;
|
|
182
|
+
_context.next = 54;
|
|
183
|
+
break;
|
|
184
|
+
case 68:
|
|
185
|
+
_context.next = 74;
|
|
186
|
+
break;
|
|
187
|
+
case 70:
|
|
188
|
+
_context.prev = 70;
|
|
189
|
+
_context.t1 = _context["catch"](52);
|
|
190
|
+
_didIteratorError2 = true;
|
|
191
|
+
_iteratorError2 = _context.t1;
|
|
192
|
+
case 74:
|
|
193
|
+
_context.prev = 74;
|
|
194
|
+
_context.prev = 75;
|
|
195
|
+
if (!(_iteratorAbruptCompletion2 && _iterator2["return"] != null)) {
|
|
196
|
+
_context.next = 79;
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
_context.next = 79;
|
|
200
|
+
return _iterator2["return"]();
|
|
201
|
+
case 79:
|
|
202
|
+
_context.prev = 79;
|
|
203
|
+
if (!_didIteratorError2) {
|
|
204
|
+
_context.next = 82;
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
throw _iteratorError2;
|
|
208
|
+
case 82:
|
|
209
|
+
return _context.finish(79);
|
|
210
|
+
case 83:
|
|
211
|
+
return _context.finish(74);
|
|
212
|
+
case 84:
|
|
213
|
+
_context.next = 86;
|
|
214
|
+
return convertTexteUrls(dataDir);
|
|
215
|
+
case 86:
|
|
216
|
+
_context.next = 88;
|
|
217
|
+
return convertRapportUrls(dataDir);
|
|
218
|
+
case 88:
|
|
170
219
|
if (!(enabledDatasets & _datasets.EnabledDatasets.Questions)) {
|
|
171
|
-
_context.next =
|
|
220
|
+
_context.next = 126;
|
|
172
221
|
break;
|
|
173
222
|
}
|
|
174
|
-
|
|
223
|
+
_dataset2 = _datasets.datasets.questions;
|
|
175
224
|
if (!options.silent) {
|
|
176
|
-
console.log("Converting database ".concat(
|
|
225
|
+
console.log("Converting database ".concat(_dataset2.database, " data into files\u2026"));
|
|
177
226
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
_iterator3 =
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
227
|
+
questionsReorganizedRootDir = _path["default"].join(dataDir, _dataset2.database);
|
|
228
|
+
(0, _util.ensureAndClearDir)(questionsReorganizedRootDir);
|
|
229
|
+
_iteratorAbruptCompletion3 = false;
|
|
230
|
+
_didIteratorError3 = false;
|
|
231
|
+
_context.prev = 95;
|
|
232
|
+
_iterator3 = _asyncIterator((0, _model.findAllQuestions)());
|
|
233
|
+
case 97:
|
|
234
|
+
_context.next = 99;
|
|
235
|
+
return _iterator3.next();
|
|
236
|
+
case 99:
|
|
237
|
+
if (!(_iteratorAbruptCompletion3 = !(_step3 = _context.sent).done)) {
|
|
238
|
+
_context.next = 110;
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
question = _step3.value;
|
|
242
|
+
if (options.verbose) {
|
|
243
|
+
console.log("Converting ".concat(question.reference, " file\u2026"));
|
|
244
|
+
}
|
|
245
|
+
legislature = question.legislature ? question.legislature : 0;
|
|
246
|
+
questionReorganizedDir = _path["default"].join(questionsReorganizedRootDir, String(legislature));
|
|
247
|
+
_fsExtra["default"].ensureDirSync(questionReorganizedDir);
|
|
248
|
+
questionFileName = "".concat(question.reference, ".json");
|
|
249
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(questionReorganizedDir, questionFileName), question, {
|
|
250
|
+
spaces: 2
|
|
251
|
+
});
|
|
252
|
+
case 107:
|
|
253
|
+
_iteratorAbruptCompletion3 = false;
|
|
254
|
+
_context.next = 97;
|
|
255
|
+
break;
|
|
256
|
+
case 110:
|
|
257
|
+
_context.next = 116;
|
|
258
|
+
break;
|
|
259
|
+
case 112:
|
|
260
|
+
_context.prev = 112;
|
|
261
|
+
_context.t2 = _context["catch"](95);
|
|
262
|
+
_didIteratorError3 = true;
|
|
263
|
+
_iteratorError3 = _context.t2;
|
|
264
|
+
case 116:
|
|
265
|
+
_context.prev = 116;
|
|
266
|
+
_context.prev = 117;
|
|
267
|
+
if (!(_iteratorAbruptCompletion3 && _iterator3["return"] != null)) {
|
|
268
|
+
_context.next = 121;
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
_context.next = 121;
|
|
272
|
+
return _iterator3["return"]();
|
|
273
|
+
case 121:
|
|
274
|
+
_context.prev = 121;
|
|
275
|
+
if (!_didIteratorError3) {
|
|
276
|
+
_context.next = 124;
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
throw _iteratorError3;
|
|
280
|
+
case 124:
|
|
281
|
+
return _context.finish(121);
|
|
282
|
+
case 125:
|
|
283
|
+
return _context.finish(116);
|
|
284
|
+
case 126:
|
|
222
285
|
if (!(enabledDatasets & _datasets.EnabledDatasets.Sens)) {
|
|
223
|
-
_context.next =
|
|
286
|
+
_context.next = 227;
|
|
224
287
|
break;
|
|
225
288
|
}
|
|
226
|
-
|
|
289
|
+
_dataset3 = _datasets.datasets.sens;
|
|
227
290
|
if (!options.silent) {
|
|
228
|
-
console.log("Converting database ".concat(
|
|
291
|
+
console.log("Converting database ".concat(_dataset3.database, " data into files\u2026"));
|
|
229
292
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
_context.
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
case
|
|
293
|
+
sensReorganizedRootDir = _path["default"].join(dataDir, _dataset3.database);
|
|
294
|
+
senateursReorganizedDir = _path["default"].join(sensReorganizedRootDir, _loaders.SENS_SENATEURS_FOLDER);
|
|
295
|
+
circonscriptionsReorganizedDir = _path["default"].join(sensReorganizedRootDir, _loaders.SENS_CIRCONSCRIPTIONS_FOLDER);
|
|
296
|
+
organismesReorganizedDir = _path["default"].join(sensReorganizedRootDir, _loaders.SENS_ORGANISMES_FOLDER);
|
|
297
|
+
(0, _util.ensureAndClearDir)(sensReorganizedRootDir);
|
|
298
|
+
(0, _util.ensureAndClearDir)(senateursReorganizedDir);
|
|
299
|
+
(0, _util.ensureAndClearDir)(circonscriptionsReorganizedDir);
|
|
300
|
+
(0, _util.ensureAndClearDir)(organismesReorganizedDir);
|
|
301
|
+
_iteratorAbruptCompletion4 = false;
|
|
302
|
+
_didIteratorError4 = false;
|
|
303
|
+
_context.prev = 139;
|
|
304
|
+
_iterator4 = _asyncIterator((0, _model.findAllSens)());
|
|
305
|
+
case 141:
|
|
306
|
+
_context.next = 143;
|
|
307
|
+
return _iterator4.next();
|
|
308
|
+
case 143:
|
|
309
|
+
if (!(_iteratorAbruptCompletion4 = !(_step4 = _context.sent).done)) {
|
|
310
|
+
_context.next = 151;
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
sen = _step4.value;
|
|
314
|
+
if (options.verbose) {
|
|
315
|
+
console.log("Converting ".concat(sen.matricule, " file\u2026"));
|
|
316
|
+
}
|
|
317
|
+
senFileName = "".concat(sen.matricule, ".json");
|
|
318
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(senateursReorganizedDir, senFileName), sen, {
|
|
319
|
+
spaces: 2
|
|
320
|
+
});
|
|
321
|
+
case 148:
|
|
322
|
+
_iteratorAbruptCompletion4 = false;
|
|
323
|
+
_context.next = 141;
|
|
324
|
+
break;
|
|
325
|
+
case 151:
|
|
326
|
+
_context.next = 157;
|
|
327
|
+
break;
|
|
328
|
+
case 153:
|
|
329
|
+
_context.prev = 153;
|
|
330
|
+
_context.t3 = _context["catch"](139);
|
|
331
|
+
_didIteratorError4 = true;
|
|
332
|
+
_iteratorError4 = _context.t3;
|
|
333
|
+
case 157:
|
|
334
|
+
_context.prev = 157;
|
|
335
|
+
_context.prev = 158;
|
|
336
|
+
if (!(_iteratorAbruptCompletion4 && _iterator4["return"] != null)) {
|
|
337
|
+
_context.next = 162;
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
340
|
+
_context.next = 162;
|
|
341
|
+
return _iterator4["return"]();
|
|
342
|
+
case 162:
|
|
343
|
+
_context.prev = 162;
|
|
344
|
+
if (!_didIteratorError4) {
|
|
345
|
+
_context.next = 165;
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
throw _iteratorError4;
|
|
349
|
+
case 165:
|
|
350
|
+
return _context.finish(162);
|
|
351
|
+
case 166:
|
|
352
|
+
return _context.finish(157);
|
|
353
|
+
case 167:
|
|
354
|
+
_iteratorAbruptCompletion5 = false;
|
|
355
|
+
_didIteratorError5 = false;
|
|
356
|
+
_context.prev = 169;
|
|
357
|
+
_iterator5 = _asyncIterator((0, _model.findAllCirconscriptions)());
|
|
358
|
+
case 171:
|
|
359
|
+
_context.next = 173;
|
|
360
|
+
return _iterator5.next();
|
|
361
|
+
case 173:
|
|
362
|
+
if (!(_iteratorAbruptCompletion5 = !(_step5 = _context.sent).done)) {
|
|
363
|
+
_context.next = 181;
|
|
364
|
+
break;
|
|
365
|
+
}
|
|
366
|
+
circonscription = _step5.value;
|
|
367
|
+
if (options.verbose) {
|
|
368
|
+
console.log("Converting ".concat(circonscription.identifiant, " file\u2026"));
|
|
369
|
+
}
|
|
370
|
+
circonscriptionFileName = "".concat(circonscription.identifiant, ".json");
|
|
371
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(circonscriptionsReorganizedDir, circonscriptionFileName), circonscription, {
|
|
372
|
+
spaces: 2
|
|
373
|
+
});
|
|
374
|
+
case 178:
|
|
375
|
+
_iteratorAbruptCompletion5 = false;
|
|
376
|
+
_context.next = 171;
|
|
377
|
+
break;
|
|
378
|
+
case 181:
|
|
379
|
+
_context.next = 187;
|
|
380
|
+
break;
|
|
381
|
+
case 183:
|
|
382
|
+
_context.prev = 183;
|
|
383
|
+
_context.t4 = _context["catch"](169);
|
|
384
|
+
_didIteratorError5 = true;
|
|
385
|
+
_iteratorError5 = _context.t4;
|
|
386
|
+
case 187:
|
|
387
|
+
_context.prev = 187;
|
|
388
|
+
_context.prev = 188;
|
|
389
|
+
if (!(_iteratorAbruptCompletion5 && _iterator5["return"] != null)) {
|
|
390
|
+
_context.next = 192;
|
|
391
|
+
break;
|
|
392
|
+
}
|
|
393
|
+
_context.next = 192;
|
|
394
|
+
return _iterator5["return"]();
|
|
395
|
+
case 192:
|
|
396
|
+
_context.prev = 192;
|
|
397
|
+
if (!_didIteratorError5) {
|
|
398
|
+
_context.next = 195;
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
throw _iteratorError5;
|
|
402
|
+
case 195:
|
|
403
|
+
return _context.finish(192);
|
|
404
|
+
case 196:
|
|
405
|
+
return _context.finish(187);
|
|
406
|
+
case 197:
|
|
407
|
+
_iteratorAbruptCompletion6 = false;
|
|
408
|
+
_didIteratorError6 = false;
|
|
409
|
+
_context.prev = 199;
|
|
410
|
+
_iterator6 = _asyncIterator((0, _model.findAllOrganismes)());
|
|
411
|
+
case 201:
|
|
412
|
+
_context.next = 203;
|
|
413
|
+
return _iterator6.next();
|
|
414
|
+
case 203:
|
|
415
|
+
if (!(_iteratorAbruptCompletion6 = !(_step6 = _context.sent).done)) {
|
|
416
|
+
_context.next = 211;
|
|
417
|
+
break;
|
|
418
|
+
}
|
|
419
|
+
organisme = _step6.value;
|
|
420
|
+
if (options.verbose) {
|
|
421
|
+
console.log("Converting ".concat(organisme.code, " file\u2026"));
|
|
422
|
+
}
|
|
423
|
+
organismeFileName = "".concat(organisme.code, ".json");
|
|
424
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(organismesReorganizedDir, organismeFileName), organisme, {
|
|
425
|
+
spaces: 2
|
|
426
|
+
});
|
|
427
|
+
case 208:
|
|
428
|
+
_iteratorAbruptCompletion6 = false;
|
|
429
|
+
_context.next = 201;
|
|
430
|
+
break;
|
|
431
|
+
case 211:
|
|
432
|
+
_context.next = 217;
|
|
433
|
+
break;
|
|
434
|
+
case 213:
|
|
435
|
+
_context.prev = 213;
|
|
436
|
+
_context.t5 = _context["catch"](199);
|
|
437
|
+
_didIteratorError6 = true;
|
|
438
|
+
_iteratorError6 = _context.t5;
|
|
439
|
+
case 217:
|
|
440
|
+
_context.prev = 217;
|
|
441
|
+
_context.prev = 218;
|
|
442
|
+
if (!(_iteratorAbruptCompletion6 && _iterator6["return"] != null)) {
|
|
443
|
+
_context.next = 222;
|
|
444
|
+
break;
|
|
445
|
+
}
|
|
446
|
+
_context.next = 222;
|
|
447
|
+
return _iterator6["return"]();
|
|
448
|
+
case 222:
|
|
449
|
+
_context.prev = 222;
|
|
450
|
+
if (!_didIteratorError6) {
|
|
451
|
+
_context.next = 225;
|
|
452
|
+
break;
|
|
453
|
+
}
|
|
454
|
+
throw _iteratorError6;
|
|
455
|
+
case 225:
|
|
456
|
+
return _context.finish(222);
|
|
457
|
+
case 226:
|
|
458
|
+
return _context.finish(217);
|
|
459
|
+
case 227:
|
|
460
|
+
if (!options.silent) {
|
|
461
|
+
console.timeEnd("data transformation time");
|
|
462
|
+
}
|
|
463
|
+
case 228:
|
|
271
464
|
case "end":
|
|
272
465
|
return _context.stop();
|
|
273
466
|
}
|
|
274
|
-
}, _callee);
|
|
467
|
+
}, _callee, null, [[11, 29, 33, 43], [34,, 38, 42], [52, 70, 74, 84], [75,, 79, 83], [95, 112, 116, 126], [117,, 121, 125], [139, 153, 157, 167], [158,, 162, 166], [169, 183, 187, 197], [188,, 192, 196], [199, 213, 217, 227], [218,, 222, 226]]);
|
|
275
468
|
}));
|
|
276
469
|
return _convertData.apply(this, arguments);
|
|
277
470
|
}
|
|
471
|
+
function convertTexteUrls(_x) {
|
|
472
|
+
return _convertTexteUrls.apply(this, arguments);
|
|
473
|
+
}
|
|
474
|
+
function _convertTexteUrls() {
|
|
475
|
+
_convertTexteUrls = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(dataDir) {
|
|
476
|
+
var textesDir, originalTextesDir, _iteratorAbruptCompletion7, _didIteratorError7, _iteratorError7, _iterator7, _step7, texte, _texte$session, texteName, texteDir, metadata;
|
|
477
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
478
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
479
|
+
case 0:
|
|
480
|
+
textesDir = _path["default"].join(dataDir, _loaders.TEXTE_FOLDER);
|
|
481
|
+
_fsExtra["default"].ensureDirSync(textesDir);
|
|
482
|
+
originalTextesDir = _path["default"].join(textesDir, _loaders.TEXTE_ORIGINAL_FOLDER);
|
|
483
|
+
_iteratorAbruptCompletion7 = false;
|
|
484
|
+
_didIteratorError7 = false;
|
|
485
|
+
_context2.prev = 5;
|
|
486
|
+
_iterator7 = _asyncIterator((0, _dosleg.findSenatTexteUrls)(options.sessions));
|
|
487
|
+
case 7:
|
|
488
|
+
_context2.next = 9;
|
|
489
|
+
return _iterator7.next();
|
|
490
|
+
case 9:
|
|
491
|
+
if (!(_iteratorAbruptCompletion7 = !(_step7 = _context2.sent).done)) {
|
|
492
|
+
_context2.next = 19;
|
|
493
|
+
break;
|
|
494
|
+
}
|
|
495
|
+
texte = _step7.value;
|
|
496
|
+
texteName = _path["default"].parse(texte.url).name;
|
|
497
|
+
texteDir = _path["default"].join(originalTextesDir, "".concat((_texte$session = texte.session) !== null && _texte$session !== void 0 ? _texte$session : _datautil.UNDEFINED_SESSION), texteName);
|
|
498
|
+
_fsExtra["default"].ensureDirSync(texteDir);
|
|
499
|
+
metadata = {
|
|
500
|
+
name: texteName,
|
|
501
|
+
session: texte.session,
|
|
502
|
+
url_expose_des_motifs: texte.hasExposeDesMotifs ? new URL("".concat(texteName, "-expose.html"), SENAT_EXPOSE_DES_MOTIFS_BASE_URL) : undefined,
|
|
503
|
+
url_xml: new URL("".concat(texteName, ".akn.xml"), SENAT_TEXTE_XML_BASE_URL),
|
|
504
|
+
url_html: new URL("".concat(texteName, ".html"), SENAT_TEXTE_BASE_URL),
|
|
505
|
+
url_pdf: new URL("".concat(texteName, ".pdf"), SENAT_TEXTE_BASE_URL)
|
|
506
|
+
};
|
|
507
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(texteDir, _loaders.DOCUMENT_METADATA_FILE), metadata, {
|
|
508
|
+
spaces: 2
|
|
509
|
+
});
|
|
510
|
+
case 16:
|
|
511
|
+
_iteratorAbruptCompletion7 = false;
|
|
512
|
+
_context2.next = 7;
|
|
513
|
+
break;
|
|
514
|
+
case 19:
|
|
515
|
+
_context2.next = 25;
|
|
516
|
+
break;
|
|
517
|
+
case 21:
|
|
518
|
+
_context2.prev = 21;
|
|
519
|
+
_context2.t0 = _context2["catch"](5);
|
|
520
|
+
_didIteratorError7 = true;
|
|
521
|
+
_iteratorError7 = _context2.t0;
|
|
522
|
+
case 25:
|
|
523
|
+
_context2.prev = 25;
|
|
524
|
+
_context2.prev = 26;
|
|
525
|
+
if (!(_iteratorAbruptCompletion7 && _iterator7["return"] != null)) {
|
|
526
|
+
_context2.next = 30;
|
|
527
|
+
break;
|
|
528
|
+
}
|
|
529
|
+
_context2.next = 30;
|
|
530
|
+
return _iterator7["return"]();
|
|
531
|
+
case 30:
|
|
532
|
+
_context2.prev = 30;
|
|
533
|
+
if (!_didIteratorError7) {
|
|
534
|
+
_context2.next = 33;
|
|
535
|
+
break;
|
|
536
|
+
}
|
|
537
|
+
throw _iteratorError7;
|
|
538
|
+
case 33:
|
|
539
|
+
return _context2.finish(30);
|
|
540
|
+
case 34:
|
|
541
|
+
return _context2.finish(25);
|
|
542
|
+
case 35:
|
|
543
|
+
case "end":
|
|
544
|
+
return _context2.stop();
|
|
545
|
+
}
|
|
546
|
+
}, _callee2, null, [[5, 21, 25, 35], [26,, 30, 34]]);
|
|
547
|
+
}));
|
|
548
|
+
return _convertTexteUrls.apply(this, arguments);
|
|
549
|
+
}
|
|
550
|
+
function convertRapportUrls(_x2) {
|
|
551
|
+
return _convertRapportUrls.apply(this, arguments);
|
|
552
|
+
}
|
|
553
|
+
function _convertRapportUrls() {
|
|
554
|
+
_convertRapportUrls = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(dataDir) {
|
|
555
|
+
var rapportsDir, _iteratorAbruptCompletion8, _didIteratorError8, _iteratorError8, _iterator8, _step8, rapport, _rapport$session, parsedRapportUrl, rapportName, rapportDir, rapportHtmlUrlBase, rapportHtmlUrl, rapportPdfUrlBase, rapportPdfUrl, metadata;
|
|
556
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
557
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
558
|
+
case 0:
|
|
559
|
+
rapportsDir = _path["default"].join(dataDir, _loaders.RAPPORT_FOLDER);
|
|
560
|
+
_fsExtra["default"].ensureDirSync(rapportsDir);
|
|
561
|
+
_iteratorAbruptCompletion8 = false;
|
|
562
|
+
_didIteratorError8 = false;
|
|
563
|
+
_context3.prev = 4;
|
|
564
|
+
_iterator8 = _asyncIterator((0, _dosleg.findSenatRapportUrls)(options.sessions));
|
|
565
|
+
case 6:
|
|
566
|
+
_context3.next = 8;
|
|
567
|
+
return _iterator8.next();
|
|
568
|
+
case 8:
|
|
569
|
+
if (!(_iteratorAbruptCompletion8 = !(_step8 = _context3.sent).done)) {
|
|
570
|
+
_context3.next = 23;
|
|
571
|
+
break;
|
|
572
|
+
}
|
|
573
|
+
rapport = _step8.value;
|
|
574
|
+
parsedRapportUrl = _path["default"].parse(rapport.url);
|
|
575
|
+
rapportName = parsedRapportUrl.name;
|
|
576
|
+
rapportDir = _path["default"].join(rapportsDir, "".concat((_rapport$session = rapport.session) !== null && _rapport$session !== void 0 ? _rapport$session : _datautil.UNDEFINED_SESSION), rapportName);
|
|
577
|
+
_fsExtra["default"].ensureDirSync(rapportDir);
|
|
578
|
+
rapportHtmlUrlBase = "".concat(rapportName, "_mono.html");
|
|
579
|
+
rapportHtmlUrl = _path["default"].format({
|
|
580
|
+
dir: parsedRapportUrl.dir,
|
|
581
|
+
base: rapportHtmlUrlBase
|
|
582
|
+
});
|
|
583
|
+
rapportPdfUrlBase = "".concat(rapportName, "1.pdf");
|
|
584
|
+
rapportPdfUrl = _path["default"].format({
|
|
585
|
+
dir: parsedRapportUrl.dir,
|
|
586
|
+
base: rapportPdfUrlBase
|
|
587
|
+
});
|
|
588
|
+
metadata = {
|
|
589
|
+
name: rapportName,
|
|
590
|
+
session: rapport.session,
|
|
591
|
+
url_html: new URL(rapportHtmlUrl, SENAT_RAPPORT_BASE_URL),
|
|
592
|
+
url_pdf: new URL(rapportPdfUrl, SENAT_RAPPORT_BASE_URL)
|
|
593
|
+
};
|
|
594
|
+
_fsExtra["default"].writeJSONSync(_path["default"].join(rapportDir, _loaders.DOCUMENT_METADATA_FILE), metadata, {
|
|
595
|
+
spaces: 2
|
|
596
|
+
});
|
|
597
|
+
case 20:
|
|
598
|
+
_iteratorAbruptCompletion8 = false;
|
|
599
|
+
_context3.next = 6;
|
|
600
|
+
break;
|
|
601
|
+
case 23:
|
|
602
|
+
_context3.next = 29;
|
|
603
|
+
break;
|
|
604
|
+
case 25:
|
|
605
|
+
_context3.prev = 25;
|
|
606
|
+
_context3.t0 = _context3["catch"](4);
|
|
607
|
+
_didIteratorError8 = true;
|
|
608
|
+
_iteratorError8 = _context3.t0;
|
|
609
|
+
case 29:
|
|
610
|
+
_context3.prev = 29;
|
|
611
|
+
_context3.prev = 30;
|
|
612
|
+
if (!(_iteratorAbruptCompletion8 && _iterator8["return"] != null)) {
|
|
613
|
+
_context3.next = 34;
|
|
614
|
+
break;
|
|
615
|
+
}
|
|
616
|
+
_context3.next = 34;
|
|
617
|
+
return _iterator8["return"]();
|
|
618
|
+
case 34:
|
|
619
|
+
_context3.prev = 34;
|
|
620
|
+
if (!_didIteratorError8) {
|
|
621
|
+
_context3.next = 37;
|
|
622
|
+
break;
|
|
623
|
+
}
|
|
624
|
+
throw _iteratorError8;
|
|
625
|
+
case 37:
|
|
626
|
+
return _context3.finish(34);
|
|
627
|
+
case 38:
|
|
628
|
+
return _context3.finish(29);
|
|
629
|
+
case 39:
|
|
630
|
+
case "end":
|
|
631
|
+
return _context3.stop();
|
|
632
|
+
}
|
|
633
|
+
}, _callee3, null, [[4, 25, 29, 39], [30,, 34, 38]]);
|
|
634
|
+
}));
|
|
635
|
+
return _convertRapportUrls.apply(this, arguments);
|
|
636
|
+
}
|
|
278
637
|
convertData().then(function () {
|
|
279
638
|
return process.exit(0);
|
|
280
639
|
})["catch"](function (error) {
|
|
281
640
|
console.log(error);
|
|
282
641
|
process.exit(1);
|
|
283
642
|
});
|
|
284
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnNFeHRyYSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3BhdGgiLCJfY29tbWFuZExpbmVBcmdzIiwiX2RhdGFzZXRzIiwiX21vZGVsIiwiX2luc2VydGVycyIsImUiLCJfX2VzTW9kdWxlIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbiIsIkYiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiZnJvbSIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfd3JhcFJlZ0V4cCIsIkJhYmVsUmVnRXhwIiwiUmVnRXhwIiwiV2Vha01hcCIsInNldCIsImdldCIsIl9zZXRQcm90b3R5cGVPZiIsImJ1aWxkR3JvdXBzIiwicmVkdWNlIiwiX2luaGVyaXRzIiwiZXhlYyIsImdyb3VwcyIsImluZGljZXMiLCJyZXBsYWNlIiwiam9pbiIsImJpbmQiLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJhbGlhcyIsImRlZmF1bHRWYWx1ZSIsImhlbHAiLCJtdWx0aXBsZSIsIlN0cmluZyIsIkJvb2xlYW4iLCJkZWZhdWx0T3B0aW9uIiwib3B0aW9ucyIsImNvbW1hbmRMaW5lQXJncyIsIlNJR05FVF9TVFJVQ1RVUkVfUkVHRVhQIiwic2Vzc2lvbiIsIm51bVRleHRlIiwiZW5zdXJlQW5kQ2xlYXJEaXIiLCJwYXRoIiwiZnMiLCJleGlzdHNTeW5jIiwibWtkaXJTeW5jIiwiZW1wdHlEaXJTeW5jIiwiY29udmVydERhdGEiLCJfY29udmVydERhdGEiLCJfY2FsbGVlIiwiZW5hYmxlZERhdGFzZXRzIiwiZGF0YURpciIsImRhdGFzZXQiLCJsb2lzIiwiYWdncmVnYXRvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwibG9pIiwiYWxsRGF0YSIsImxvaVJlb3JnYW5pemVkUm9vdERpciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfbG9pIiwibG9pRmlsZU5hbWUiLCJsb2lSZW9yZ2FuaXplZERpciIsIl9TSUdORVRfU1RSVUNUVVJFX1JFRyIsInNpZ25ldFBhcnRzIiwiX2RhdGFzZXQiLCJxdWVzdGlvbnMiLCJfYWdncmVnYXRvciIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJxdWVzdGlvbiIsIl9hbGxEYXRhIiwicXVlc3Rpb25SZW9yZ2FuaXplZFJvb3REaXIiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiX3F1ZXN0aW9uIiwibGVnaXNsYXR1cmUiLCJxdWVzdGlvblJlb3JnYW5pemVkRGlyIiwicXVlc3Rpb25GaWxlTmFtZSIsIl9kYXRhc2V0MiIsInNlbnMiLCJfYWdncmVnYXRvcjIiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1Iiwic2VuIiwiX2FsbERhdGEyIiwic2VuUmVvcmdhbml6ZWRSb290RGlyIiwiX2l0ZXJhdG9yNiIsIl9zdGVwNiIsIl9zZW4iLCJzZW5GaWxlTmFtZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJnZXRFbmFibGVkRGF0YXNldHMiLCJjYXRlZ29yaWVzIiwiRW5hYmxlZERhdGFzZXRzIiwiRG9zTGVnIiwiZGF0YXNldHMiLCJkb3NsZWciLCJzaWxlbnQiLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwiZGF0YWJhc2UiLCJnZXRBbGxMb2lzIiwiQWdncmVnYXRvciIsIlNldCIsImFsbEZvbGxvd3MiLCJhZGRMb2kiLCJlcnIiLCJ2ZXJib3NlIiwidGltZSIsImdldEFsbCIsInRpbWVFbmQiLCJ0b0pzb24iLCJzaWduZXQiLCJpbnNlcnRMb2lSZWZlcmVuY2VzIiwibG9pY29kIiwidHlwbG9pY29kIiwiZW5zdXJlRGlyU3luYyIsIndyaXRlSlNPTlN5bmMiLCJzcGFjZXMiLCJRdWVzdGlvbnMiLCJnZXRBbGxRdWVzdGlvbnMiLCJhZGRRdWVzdGlvbiIsImlkIiwiaW5zZXJ0UXVlc3Rpb25SZWZlcmVuY2VzIiwicmVmZXJlbmNlIiwiU2VucyIsImdldEFsbFNlbnMiLCJhZGRTZW4iLCJzZW5tYXQiLCJpbnNlcnRTZW5SZWZlcmVuY2VzIiwicHJvY2VzcyIsImV4aXQiLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2NvbnZlcnRfZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMtZXh0cmEnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tICdjb21tYW5kLWxpbmUtYXJncydcblxuaW1wb3J0IHsgZGF0YXNldHMsIEVuYWJsZWREYXRhc2V0cywgZ2V0RW5hYmxlZERhdGFzZXRzLCB9IGZyb20gJy4uL2RhdGFzZXRzJ1xuaW1wb3J0IHtcbiAgQWdncmVnYXRvcixcbiAgYWxsRm9sbG93cyxcbiAgZ2V0QWxsTG9pcyxcbiAgZ2V0QWxsUXVlc3Rpb25zLFxuICBnZXRBbGxTZW5zXG59IGZyb20gJy4uL21vZGVsJ1xuaW1wb3J0IHtcbiAgaW5zZXJ0TG9pUmVmZXJlbmNlcyxcbiAgaW5zZXJ0UXVlc3Rpb25SZWZlcmVuY2VzLFxuICBpbnNlcnRTZW5SZWZlcmVuY2VzXG59IGZyb20gJy4uL2luc2VydGVycydcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6ICdrJyxcbiAgICBkZWZhdWx0VmFsdWU6IFsnQWxsJ10sXG4gICAgaGVscDogJ2NhdGVnb3JpZXMgb2YgZGF0YXNldHMgdG8gcmVvcmdhbml6ZScsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgbmFtZTogJ2NhdGVnb3JpZXMnLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiAncycsXG4gICAgaGVscDogJ2RvblxcJ3QgbG9nIGFueXRoaW5nJyxcbiAgICBuYW1lOiAnc2lsZW50JyxcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwidlwiLFxuICAgIGhlbHA6IFwidmVyYm9zZSBsb2dzXCIsXG4gICAgbmFtZTogXCJ2ZXJib3NlXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgaGVscDogJ2RpcmVjdG9yeSBjb250YWluaW5nIFPDqW5hdCBvcGVuIGRhdGEgZmlsZXMnLFxuICAgIG5hbWU6ICdkYXRhRGlyJyxcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcblxuY29uc3QgU0lHTkVUX1NUUlVDVFVSRV9SRUdFWFAgPSAvXig/PHR5cGU+W2Etel0rKSg/PHNlc3Npb24+XFxkezIsNH0pLT8oPzxudW1UZXh0ZT5cXGQrKT8vXG5cbmZ1bmN0aW9uIGVuc3VyZUFuZENsZWFyRGlyKHBhdGg6IHN0cmluZykge1xuICBpZiAoIWZzLmV4aXN0c1N5bmMocGF0aCkpIHtcbiAgICBmcy5ta2RpclN5bmMocGF0aClcbiAgfSBlbHNlIHtcbiAgICBmcy5lbXB0eURpclN5bmMocGF0aClcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBjb252ZXJ0RGF0YSgpIHtcbiAgY29uc3QgZW5hYmxlZERhdGFzZXRzID0gZ2V0RW5hYmxlZERhdGFzZXRzKG9wdGlvbnMuY2F0ZWdvcmllcylcbiAgY29uc3QgZGF0YURpcjogc3RyaW5nID0gb3B0aW9ucy5kYXRhRGlyXG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Eb3NMZWcpIHtcbiAgICBjb25zdCBkYXRhc2V0ID0gZGF0YXNldHMuZG9zbGVnXG5cbiAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmxvZyhgQ29udmVydGluZyBkYXRhYmFzZSAke2RhdGFzZXQuZGF0YWJhc2V9IGRhdGEgaW50byBmaWxlc+KApmApXG4gICAgfVxuXG4gICAgY29uc3QgbG9pcyA9IGF3YWl0IGdldEFsbExvaXMoKVxuICAgIGNvbnN0IGFnZ3JlZ2F0b3IgPSBuZXcgQWdncmVnYXRvcihuZXcgU2V0KGFsbEZvbGxvd3MpKVxuICAgIGZvciAoY29uc3QgbG9pIG9mIGxvaXMpIHtcbiAgICAgIGFnZ3JlZ2F0b3IuYWRkTG9pKGxvaSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgY29uc29sZS5sb2coXCJTdGFydGluZyBnZXR0aW5nIGFsbCB0aGUgZGF0YeKAplwiKVxuICAgICAgY29uc29sZS50aW1lKFwiZ2V0IGFsbCBkYXRhXCIpXG4gICAgfVxuICAgIGF3YWl0IGFnZ3JlZ2F0b3IuZ2V0QWxsKClcbiAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLnRpbWVFbmQoXCJnZXQgYWxsIGRhdGFcIilcbiAgICB9XG4gICAgY29uc3QgYWxsRGF0YSA9IGFnZ3JlZ2F0b3IudG9Kc29uKClcblxuICAgIGNvbnN0IGxvaVJlb3JnYW5pemVkUm9vdERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmRhdGFiYXNlKVxuICAgIGVuc3VyZUFuZENsZWFyRGlyKGxvaVJlb3JnYW5pemVkUm9vdERpcilcblxuICAgIGZvciAoY29uc3QgbG9pIG9mIGxvaXMpIHtcbiAgICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2coYENvbnZlcnRpbmcgJHtsb2kuc2lnbmV0fSBmaWxl4oCmYClcbiAgICAgIH1cblxuICAgICAgaW5zZXJ0TG9pUmVmZXJlbmNlcyhsb2ksIGFsbERhdGEsIHt9KVxuXG4gICAgICBsZXQgbG9pRmlsZU5hbWUgPSBgJHtsb2kubG9pY29kfS5qc29uYFxuICAgICAgbGV0IGxvaVJlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKGxvaVJlb3JnYW5pemVkUm9vdERpciwgbG9pLnR5cGxvaWNvZClcbiAgICAgIGlmIChsb2kuc2lnbmV0KSB7XG4gICAgICAgIGxvaUZpbGVOYW1lID0gYCR7bG9pLnNpZ25ldH0uanNvbmBcbiAgICAgICAgbGV0IHNpZ25ldFBhcnRzID0gU0lHTkVUX1NUUlVDVFVSRV9SRUdFWFAuZXhlYyhsb2kuc2lnbmV0KT8uZ3JvdXBzXG4gICAgICAgIGlmIChzaWduZXRQYXJ0cykge1xuICAgICAgICAgIGNvbnN0IHsgc2Vzc2lvbn0gPSBzaWduZXRQYXJ0c1xuICAgICAgICAgIGxvaVJlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKGxvaVJlb3JnYW5pemVkRGlyLCBzZXNzaW9uKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvaVJlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKGxvaVJlb3JnYW5pemVkRGlyLCBcIm5vbiBkZWZpbmlcIilcbiAgICAgICAgfVxuICAgICAgICBmcy5lbnN1cmVEaXJTeW5jKGxvaVJlb3JnYW5pemVkRGlyKVxuICAgICAgfVxuXG4gICAgICBmcy53cml0ZUpTT05TeW5jKHBhdGguam9pbihsb2lSZW9yZ2FuaXplZERpciwgbG9pRmlsZU5hbWUpLCBsb2ksIHtzcGFjZXM6IDJ9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuUXVlc3Rpb25zKSB7XG4gICAgY29uc3QgZGF0YXNldCA9IGRhdGFzZXRzLnF1ZXN0aW9uc1xuXG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYENvbnZlcnRpbmcgZGF0YWJhc2UgJHtkYXRhc2V0LmRhdGFiYXNlfSBkYXRhIGludG8gZmlsZXPigKZgKVxuICAgIH1cblxuICAgIGNvbnN0IHF1ZXN0aW9ucyA9IGF3YWl0IGdldEFsbFF1ZXN0aW9ucygpXG4gICAgY29uc3QgYWdncmVnYXRvciA9IG5ldyBBZ2dyZWdhdG9yKG5ldyBTZXQoYWxsRm9sbG93cykpXG4gICAgZm9yIChjb25zdCBxdWVzdGlvbiBvZiBxdWVzdGlvbnMpIHtcbiAgICAgIGFnZ3JlZ2F0b3IuYWRkUXVlc3Rpb24ocXVlc3Rpb24pXG4gICAgfVxuICAgIGF3YWl0IGFnZ3JlZ2F0b3IuZ2V0QWxsKClcbiAgICBjb25zdCBhbGxEYXRhID0gYWdncmVnYXRvci50b0pzb24oKVxuXG4gICAgY29uc3QgcXVlc3Rpb25SZW9yZ2FuaXplZFJvb3REaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5kYXRhYmFzZSlcbiAgICBlbnN1cmVBbmRDbGVhckRpcihxdWVzdGlvblJlb3JnYW5pemVkUm9vdERpcilcblxuICAgIGZvciAoY29uc3QgcXVlc3Rpb24gb2YgcXVlc3Rpb25zKSB7XG4gICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBDb252ZXJ0aW5nICR7cXVlc3Rpb24uaWR9IGZpbGXigKZgKVxuICAgICAgfVxuXG4gICAgICBpbnNlcnRRdWVzdGlvblJlZmVyZW5jZXMocXVlc3Rpb24sIGFsbERhdGEsIHt9KVxuXG4gICAgICBjb25zdCBsZWdpc2xhdHVyZSA9IHF1ZXN0aW9uLmxlZ2lzbGF0dXJlID8gcXVlc3Rpb24ubGVnaXNsYXR1cmUgOiAwXG4gICAgICBjb25zdCBxdWVzdGlvblJlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKHF1ZXN0aW9uUmVvcmdhbml6ZWRSb290RGlyLCBTdHJpbmcobGVnaXNsYXR1cmUpKVxuICAgICAgZnMuZW5zdXJlRGlyU3luYyhxdWVzdGlvblJlb3JnYW5pemVkRGlyKVxuICAgICAgbGV0IHF1ZXN0aW9uRmlsZU5hbWUgPSBgJHtxdWVzdGlvbi5yZWZlcmVuY2V9Lmpzb25gXG4gICAgICBmcy53cml0ZUpTT05TeW5jKHBhdGguam9pbihxdWVzdGlvblJlb3JnYW5pemVkRGlyLCBxdWVzdGlvbkZpbGVOYW1lKSwgcXVlc3Rpb24sIHtzcGFjZXM6IDJ9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuU2Vucykge1xuICAgIGNvbnN0IGRhdGFzZXQgPSBkYXRhc2V0cy5zZW5zXG5cbiAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmxvZyhgQ29udmVydGluZyBkYXRhYmFzZSAke2RhdGFzZXQuZGF0YWJhc2V9IGRhdGEgaW50byBmaWxlc+KApmApXG4gICAgfVxuXG4gICAgY29uc3Qgc2VucyA9IGF3YWl0IGdldEFsbFNlbnMoKVxuICAgIGNvbnN0IGFnZ3JlZ2F0b3IgPSBuZXcgQWdncmVnYXRvcihuZXcgU2V0KGFsbEZvbGxvd3MpKVxuICAgIGZvciAoY29uc3Qgc2VuIG9mIHNlbnMpIHtcbiAgICAgIGFnZ3JlZ2F0b3IuYWRkU2VuKHNlbilcbiAgICB9XG4gICAgYXdhaXQgYWdncmVnYXRvci5nZXRBbGwoKVxuICAgIGNvbnN0IGFsbERhdGEgPSBhZ2dyZWdhdG9yLnRvSnNvbigpXG5cbiAgICBjb25zdCBzZW5SZW9yZ2FuaXplZFJvb3REaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5kYXRhYmFzZSlcbiAgICBlbnN1cmVBbmRDbGVhckRpcihzZW5SZW9yZ2FuaXplZFJvb3REaXIpXG5cbiAgICBmb3IgKGNvbnN0IHNlbiBvZiBzZW5zKSB7XG4gICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBDb252ZXJ0aW5nICR7c2VuLnNlbm1hdH0gZmlsZeKApmApXG4gICAgICB9XG5cbiAgICAgIGluc2VydFNlblJlZmVyZW5jZXMoc2VuLCBhbGxEYXRhLCB7fSlcblxuICAgICAgbGV0IHNlbkZpbGVOYW1lID0gYCR7c2VuLnNlbm1hdH0uanNvbmBcbiAgICAgIGZzLndyaXRlSlNPTlN5bmMocGF0aC5qb2luKHNlblJlb3JnYW5pemVkUm9vdERpciwgc2VuRmlsZU5hbWUpLCBzZW4sIHtzcGFjZXM6IDJ9KVxuICAgIH1cbiAgfVxufVxuXG5jb252ZXJ0RGF0YSgpXG4gIC50aGVuKCgpID0+IHByb2Nlc3MuZXhpdCgwKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFPQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFJcUIsU0FBQUQsdUJBQUFPLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLG9CQUFBLGtCQWZyQixxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUYsQ0FBQSxTQUFBRyxDQUFBLEVBQUFILENBQUEsT0FBQUksQ0FBQSxHQUFBQyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBSCxDQUFBLENBQUFJLGNBQUEsRUFBQUMsQ0FBQSxHQUFBSixNQUFBLENBQUFLLGNBQUEsY0FBQVAsQ0FBQSxFQUFBSCxDQUFBLEVBQUFJLENBQUEsSUFBQUQsQ0FBQSxDQUFBSCxDQUFBLElBQUFJLENBQUEsQ0FBQU8sS0FBQSxLQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxhQUFBLHVCQUFBQyxDQUFBLEdBQUFOLENBQUEsQ0FBQU8sV0FBQSw4QkFBQUMsT0FBQWpCLENBQUEsRUFBQUgsQ0FBQSxFQUFBSSxDQUFBLFdBQUFD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
|
|
643
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9kYXRhc2V0cyIsIl9sb2FkZXJzIiwiX21vZGVsIiwiX2Rvc2xlZyIsIl9kYXRhdXRpbCIsIl9jbGlfaGVscGVycyIsIl91dGlsIiwiZSIsIl9fZXNNb2R1bGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiciIsInQiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiU3ltYm9sIiwiaSIsIml0ZXJhdG9yIiwiYSIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJjIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImgiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJhcmciLCJkZWxlZ2F0ZSIsImQiLCJmIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJzIiwidHlwZSIsIkNvbnRleHQiLCJjYWxsIiwid3JhcCIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJsIiwicCIsImdldFByb3RvdHlwZU9mIiwieSIsIngiLCJ2IiwiZyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsIl90eXBlb2YiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJUeXBlRXJyb3IiLCJuZXh0IiwidyIsInRyeUVudHJpZXMiLCJwdXNoIiwibSIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJ1bnNoaWZ0IiwicG9wIiwidmFsdWVzIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJpc0FycmF5IiwiX2FzeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24iLCJyZWplY3QiLCJfcmV0dXJuIiwib3B0aW9uc0RlZmluaXRpb25zIiwiY29tbW9uT3B0aW9ucyIsIm9wdGlvbnMiLCJjb21tYW5kTGluZUFyZ3MiLCJTRU5BVF9URVhURV9YTUxfQkFTRV9VUkwiLCJTRU5BVF9URVhURV9CQVNFX1VSTCIsIlNFTkFUX0VYUE9TRV9ERVNfTU9USUZTX0JBU0VfVVJMIiwiU0VOQVRfUkFQUE9SVF9CQVNFX1VSTCIsImNvbnZlcnREYXRhIiwiX2NvbnZlcnREYXRhIiwiX2NhbGxlZSIsImVuYWJsZWREYXRhc2V0cyIsImRhdGFEaXIiLCJkYXRhc2V0IiwiYW1lbGlSZW9yZ2FuaXplZFJvb3REaXIiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uIiwiX2RpZEl0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3JFcnJvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiYW1lbmRlbWVudCIsInNlc3Npb24iLCJzaWduZXREb3NzaWVyTGVnaXNsYXRpZiIsImFtZWxpUmVvcmdhbml6ZWREaXIiLCJhbWVuZGVtZW50RmlsZU5hbWUiLCJfZGF0YXNldCIsImRvc2xlZ1Jlb3JnYW5pemVkUm9vdERpciIsImRvc3NpZXJzUmVvcmdhbml6ZWREaXIiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uMiIsIl9kaWRJdGVyYXRvckVycm9yMiIsIl9pdGVyYXRvckVycm9yMiIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJsb2kiLCJfU0lHTkVUX1NUUlVDVFVSRV9SRUciLCJsb2lSZW9yZ2FuaXplZERpciIsInNpZ25ldFBhcnRzIiwiX3Nlc3Npb24iLCJmb3JtYXR0ZWRTZXNzaW9uIiwibG9pRmlsZU5hbWUiLCJfZGF0YXNldDIiLCJxdWVzdGlvbnNSZW9yZ2FuaXplZFJvb3REaXIiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uMyIsIl9kaWRJdGVyYXRvckVycm9yMyIsIl9pdGVyYXRvckVycm9yMyIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJxdWVzdGlvbiIsImxlZ2lzbGF0dXJlIiwicXVlc3Rpb25SZW9yZ2FuaXplZERpciIsInF1ZXN0aW9uRmlsZU5hbWUiLCJfZGF0YXNldDMiLCJzZW5zUmVvcmdhbml6ZWRSb290RGlyIiwic2VuYXRldXJzUmVvcmdhbml6ZWREaXIiLCJjaXJjb25zY3JpcHRpb25zUmVvcmdhbml6ZWREaXIiLCJvcmdhbmlzbWVzUmVvcmdhbml6ZWREaXIiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uNCIsIl9kaWRJdGVyYXRvckVycm9yNCIsIl9pdGVyYXRvckVycm9yNCIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJzZW4iLCJzZW5GaWxlTmFtZSIsIl9pdGVyYXRvckFicnVwdENvbXBsZXRpb241IiwiX2RpZEl0ZXJhdG9yRXJyb3I1IiwiX2l0ZXJhdG9yRXJyb3I1IiwiX2l0ZXJhdG9yNSIsIl9zdGVwNSIsImNpcmNvbnNjcmlwdGlvbiIsImNpcmNvbnNjcmlwdGlvbkZpbGVOYW1lIiwiX2l0ZXJhdG9yQWJydXB0Q29tcGxldGlvbjYiLCJfZGlkSXRlcmF0b3JFcnJvcjYiLCJfaXRlcmF0b3JFcnJvcjYiLCJfaXRlcmF0b3I2IiwiX3N0ZXA2Iiwib3JnYW5pc21lIiwib3JnYW5pc21lRmlsZU5hbWUiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiZ2V0RW5hYmxlZERhdGFzZXRzIiwiY2F0ZWdvcmllcyIsImFzc2VydCIsImNvbnNvbGUiLCJ0aW1lIiwiRW5hYmxlZERhdGFzZXRzIiwiQW1lbGkiLCJkYXRhc2V0cyIsImFtZWxpIiwic2lsZW50IiwibG9nIiwiY29uY2F0IiwiZGF0YWJhc2UiLCJwYXRoIiwiam9pbiIsImVuc3VyZUFuZENsZWFyRGlyIiwiZmluZEFsbEFtZW5kZW1lbnRzIiwidmVyYm9zZSIsIm51bWVybyIsIlN0cmluZyIsIlVOREVGSU5FRF9TRVNTSU9OIiwic2lnbmV0X2Rvc3NpZXJfbGVnaXNsYXRpZiIsIm5hdHVyZV90ZXh0ZSIsIm51bWVyb190ZXh0ZSIsInRvTG93ZXJDYXNlIiwiZnMiLCJlbnN1cmVEaXJTeW5jIiwid3JpdGVKU09OU3luYyIsInNwYWNlcyIsInQwIiwiRG9zTGVnIiwiZG9zbGVnIiwiRE9TTEVHX0RPU1NJRVJTX0ZPTERFUiIsImZpbmRBbGxMb2lzIiwic2lnbmV0IiwiU0lHTkVUX1NUUlVDVFVSRV9SRUdFWFAiLCJleGVjIiwiZ3JvdXBzIiwiZm9ybWF0VG9Gb3VyRGlnaXRTZXNzaW9uIiwidDEiLCJjb252ZXJ0VGV4dGVVcmxzIiwiY29udmVydFJhcHBvcnRVcmxzIiwiUXVlc3Rpb25zIiwicXVlc3Rpb25zIiwiZmluZEFsbFF1ZXN0aW9ucyIsInJlZmVyZW5jZSIsInQyIiwiU2VucyIsInNlbnMiLCJTRU5TX1NFTkFURVVSU19GT0xERVIiLCJTRU5TX0NJUkNPTlNDUklQVElPTlNfRk9MREVSIiwiU0VOU19PUkdBTklTTUVTX0ZPTERFUiIsImZpbmRBbGxTZW5zIiwibWF0cmljdWxlIiwidDMiLCJmaW5kQWxsQ2lyY29uc2NyaXB0aW9ucyIsImlkZW50aWZpYW50IiwidDQiLCJmaW5kQWxsT3JnYW5pc21lcyIsImNvZGUiLCJ0NSIsInRpbWVFbmQiLCJfeCIsIl9jb252ZXJ0VGV4dGVVcmxzIiwiX2NhbGxlZTIiLCJ0ZXh0ZXNEaXIiLCJvcmlnaW5hbFRleHRlc0RpciIsIl9pdGVyYXRvckFicnVwdENvbXBsZXRpb243IiwiX2RpZEl0ZXJhdG9yRXJyb3I3IiwiX2l0ZXJhdG9yRXJyb3I3IiwiX2l0ZXJhdG9yNyIsIl9zdGVwNyIsInRleHRlIiwiX3RleHRlJHNlc3Npb24iLCJ0ZXh0ZU5hbWUiLCJ0ZXh0ZURpciIsIm1ldGFkYXRhIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiVEVYVEVfRk9MREVSIiwiVEVYVEVfT1JJR0lOQUxfRk9MREVSIiwiZmluZFNlbmF0VGV4dGVVcmxzIiwic2Vzc2lvbnMiLCJwYXJzZSIsInVybCIsInVybF9leHBvc2VfZGVzX21vdGlmcyIsImhhc0V4cG9zZURlc01vdGlmcyIsIlVSTCIsInVuZGVmaW5lZCIsInVybF94bWwiLCJ1cmxfaHRtbCIsInVybF9wZGYiLCJET0NVTUVOVF9NRVRBREFUQV9GSUxFIiwiX3gyIiwiX2NvbnZlcnRSYXBwb3J0VXJscyIsIl9jYWxsZWUzIiwicmFwcG9ydHNEaXIiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uOCIsIl9kaWRJdGVyYXRvckVycm9yOCIsIl9pdGVyYXRvckVycm9yOCIsIl9pdGVyYXRvcjgiLCJfc3RlcDgiLCJyYXBwb3J0IiwiX3JhcHBvcnQkc2Vzc2lvbiIsInBhcnNlZFJhcHBvcnRVcmwiLCJyYXBwb3J0TmFtZSIsInJhcHBvcnREaXIiLCJyYXBwb3J0SHRtbFVybEJhc2UiLCJyYXBwb3J0SHRtbFVybCIsInJhcHBvcnRQZGZVcmxCYXNlIiwicmFwcG9ydFBkZlVybCIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsIlJBUFBPUlRfRk9MREVSIiwiZmluZFNlbmF0UmFwcG9ydFVybHMiLCJmb3JtYXQiLCJkaXIiLCJiYXNlIiwicHJvY2VzcyIsImV4aXQiLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2NvbnZlcnRfZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IGRhdGFzZXRzLCBFbmFibGVkRGF0YXNldHMsIGdldEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5pbXBvcnQge1xuICBET0NVTUVOVF9NRVRBREFUQV9GSUxFLFxuICBET1NMRUdfRE9TU0lFUlNfRk9MREVSLFxuICBSQVBQT1JUX0ZPTERFUixcbiAgUmFwcG9ydE1ldGFkYXRhLFxuICBTRU5TX0NJUkNPTlNDUklQVElPTlNfRk9MREVSLFxuICBTRU5TX09SR0FOSVNNRVNfRk9MREVSLFxuICBTRU5TX1NFTkFURVVSU19GT0xERVIsXG4gIFRFWFRFX0ZPTERFUixcbiAgVEVYVEVfT1JJR0lOQUxfRk9MREVSLFxuICBUZXh0ZU1ldGFkYXRhLFxufSBmcm9tIFwiLi4vbG9hZGVyc1wiXG5pbXBvcnQge1xuICBmaW5kQWxsQW1lbmRlbWVudHMsXG4gIGZpbmRBbGxDaXJjb25zY3JpcHRpb25zLFxuICBmaW5kQWxsTG9pcyxcbiAgZmluZEFsbE9yZ2FuaXNtZXMsXG4gIGZpbmRBbGxRdWVzdGlvbnMsXG4gIGZpbmRBbGxTZW5zLFxufSBmcm9tIFwiLi4vbW9kZWxcIlxuaW1wb3J0IHsgZmluZFNlbmF0UmFwcG9ydFVybHMsIGZpbmRTZW5hdFRleHRlVXJscyB9IGZyb20gXCIuLi9tb2RlbC9kb3NsZWdcIlxuaW1wb3J0IHsgZm9ybWF0VG9Gb3VyRGlnaXRTZXNzaW9uLCBTSUdORVRfU1RSVUNUVVJFX1JFR0VYUCwgVU5ERUZJTkVEX1NFU1NJT04gfSBmcm9tIFwiLi9kYXRhdXRpbFwiXG5pbXBvcnQgeyBjb21tb25PcHRpb25zIH0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcbmltcG9ydCB7IGVuc3VyZUFuZENsZWFyRGlyIH0gZnJvbSBcIi4vc2hhcmVkL3V0aWxcIlxuXG5jb25zdCBvcHRpb25zRGVmaW5pdGlvbnMgPSBbXG4gIC4uLmNvbW1vbk9wdGlvbnMsXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcblxuY29uc3QgU0VOQVRfVEVYVEVfWE1MX0JBU0VfVVJMID0gXCJodHRwczovL3d3dy5zZW5hdC5mci9ha29tYW50b3NvL1wiXG5jb25zdCBTRU5BVF9URVhURV9CQVNFX1VSTCA9IFwiaHR0cHM6Ly93d3cuc2VuYXQuZnIvbGVnL1wiXG5jb25zdCBTRU5BVF9FWFBPU0VfREVTX01PVElGU19CQVNFX1VSTCA9IFwiaHR0cHM6Ly93d3cuc2VuYXQuZnIvbGVnL2V4cG9zZXMtZGVzLW1vdGlmcy9cIlxuY29uc3QgU0VOQVRfUkFQUE9SVF9CQVNFX1VSTCA9IFwiaHR0cHM6Ly93d3cuc2VuYXQuZnIvcmFwL1wiXG5cbmFzeW5jIGZ1bmN0aW9uIGNvbnZlcnREYXRhICgpIHtcbiAgY29uc3QgZW5hYmxlZERhdGFzZXRzID0gZ2V0RW5hYmxlZERhdGFzZXRzKG9wdGlvbnMuY2F0ZWdvcmllcylcbiAgY29uc3QgZGF0YURpcjogc3RyaW5nID0gb3B0aW9ucy5kYXRhRGlyXG4gIGFzc2VydChkYXRhRGlyLCBcIk1pc3NpbmcgYXJndW1lbnQ6IGRhdGEgZGlyZWN0b3J5XCIpXG5cbiAgY29uc29sZS50aW1lKFwiZGF0YSB0cmFuc2Zvcm1hdGlvbiB0aW1lXCIpXG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BbWVsaSkge1xuICAgIGNvbnN0IGRhdGFzZXQgPSBkYXRhc2V0cy5hbWVsaVxuXG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYENvbnZlcnRpbmcgZGF0YWJhc2UgJHtkYXRhc2V0LmRhdGFiYXNlfSBkYXRhIGludG8gZmlsZXPigKZgKVxuICAgIH1cblxuICAgIGNvbnN0IGFtZWxpUmVvcmdhbml6ZWRSb290RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZGF0YWJhc2UpXG4gICAgZW5zdXJlQW5kQ2xlYXJEaXIoYW1lbGlSZW9yZ2FuaXplZFJvb3REaXIpXG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IGFtZW5kZW1lbnQgb2YgZmluZEFsbEFtZW5kZW1lbnRzKCkpIHtcbiAgICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2coYENvbnZlcnRpbmcgJHthbWVuZGVtZW50Lm51bWVyb30gZmlsZeKApmApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlc3Npb24gPSBTdHJpbmcoYW1lbmRlbWVudC5zZXNzaW9uKSB8fCBVTkRFRklORURfU0VTU0lPTlxuICAgICAgY29uc3Qgc2lnbmV0RG9zc2llckxlZ2lzbGF0aWYgPSBhbWVuZGVtZW50LnNpZ25ldF9kb3NzaWVyX2xlZ2lzbGF0aWZcbiAgICAgICAgfHwgYCR7YW1lbmRlbWVudC5uYXR1cmVfdGV4dGV9LSR7YW1lbmRlbWVudC5udW1lcm9fdGV4dGV9YC50b0xvd2VyQ2FzZSgpXG4gICAgICBjb25zdCBhbWVsaVJlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKGFtZWxpUmVvcmdhbml6ZWRSb290RGlyLCBzZXNzaW9uLCBzaWduZXREb3NzaWVyTGVnaXNsYXRpZilcbiAgICAgIGZzLmVuc3VyZURpclN5bmMoYW1lbGlSZW9yZ2FuaXplZERpcilcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlTmFtZSA9IGAke2FtZW5kZW1lbnQubnVtZXJvfS5qc29uYFxuICAgICAgZnMud3JpdGVKU09OU3luYyhwYXRoLmpvaW4oYW1lbGlSZW9yZ2FuaXplZERpciwgYW1lbmRlbWVudEZpbGVOYW1lKSwgYW1lbmRlbWVudCwgeyBzcGFjZXM6IDIgfSlcbiAgICB9XG4gIH1cblxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRvc0xlZykge1xuICAgIGNvbnN0IGRhdGFzZXQgPSBkYXRhc2V0cy5kb3NsZWdcblxuICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBDb252ZXJ0aW5nIGRhdGFiYXNlICR7ZGF0YXNldC5kYXRhYmFzZX0gZGF0YSBpbnRvIGZpbGVz4oCmYClcbiAgICB9XG5cbiAgICBjb25zdCBkb3NsZWdSZW9yZ2FuaXplZFJvb3REaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5kYXRhYmFzZSlcbiAgICBjb25zdCBkb3NzaWVyc1Jlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKGRvc2xlZ1Jlb3JnYW5pemVkUm9vdERpciwgRE9TTEVHX0RPU1NJRVJTX0ZPTERFUilcbiAgICBlbnN1cmVBbmRDbGVhckRpcihkb3NsZWdSZW9yZ2FuaXplZFJvb3REaXIpXG4gICAgZW5zdXJlQW5kQ2xlYXJEaXIoZG9zc2llcnNSZW9yZ2FuaXplZERpcilcblxuICAgIGZvciBhd2FpdCAoY29uc3QgbG9pIG9mIGZpbmRBbGxMb2lzKCkpIHtcbiAgICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2coYENvbnZlcnRpbmcgJHtsb2kuc2lnbmV0fSBmaWxl4oCmYClcbiAgICAgIH1cblxuICAgICAgbGV0IGxvaVJlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKGRvc3NpZXJzUmVvcmdhbml6ZWREaXIsIFVOREVGSU5FRF9TRVNTSU9OKVxuICAgICAgY29uc3Qgc2lnbmV0UGFydHMgPSBTSUdORVRfU1RSVUNUVVJFX1JFR0VYUC5leGVjKGxvaS5zaWduZXQpPy5ncm91cHNcbiAgICAgIGlmIChzaWduZXRQYXJ0cykge1xuICAgICAgICBjb25zdCB7IHNlc3Npb24gfSA9IHNpZ25ldFBhcnRzXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFNlc3Npb24gPSBmb3JtYXRUb0ZvdXJEaWdpdFNlc3Npb24oc2Vzc2lvbilcbiAgICAgICAgbG9pUmVvcmdhbml6ZWREaXIgPSBwYXRoLmpvaW4oZG9zc2llcnNSZW9yZ2FuaXplZERpciwgZm9ybWF0dGVkU2Vzc2lvbilcbiAgICAgIH1cbiAgICAgIGZzLmVuc3VyZURpclN5bmMobG9pUmVvcmdhbml6ZWREaXIpXG5cbiAgICAgIGNvbnN0IGxvaUZpbGVOYW1lID0gYCR7bG9pLnNpZ25ldH0uanNvbmBcbiAgICAgIGZzLndyaXRlSlNPTlN5bmMocGF0aC5qb2luKGxvaVJlb3JnYW5pemVkRGlyLCBsb2lGaWxlTmFtZSksIGxvaSwgeyBzcGFjZXM6IDIgfSlcbiAgICB9XG5cbiAgICBhd2FpdCBjb252ZXJ0VGV4dGVVcmxzKGRhdGFEaXIpXG4gICAgYXdhaXQgY29udmVydFJhcHBvcnRVcmxzKGRhdGFEaXIpXG4gIH1cblxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucykge1xuICAgIGNvbnN0IGRhdGFzZXQgPSBkYXRhc2V0cy5xdWVzdGlvbnNcblxuICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBDb252ZXJ0aW5nIGRhdGFiYXNlICR7ZGF0YXNldC5kYXRhYmFzZX0gZGF0YSBpbnRvIGZpbGVz4oCmYClcbiAgICB9XG5cbiAgICBjb25zdCBxdWVzdGlvbnNSZW9yZ2FuaXplZFJvb3REaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5kYXRhYmFzZSlcbiAgICBlbnN1cmVBbmRDbGVhckRpcihxdWVzdGlvbnNSZW9yZ2FuaXplZFJvb3REaXIpXG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IHF1ZXN0aW9uIG9mIGZpbmRBbGxRdWVzdGlvbnMoKSkge1xuICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgQ29udmVydGluZyAke3F1ZXN0aW9uLnJlZmVyZW5jZX0gZmlsZeKApmApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxlZ2lzbGF0dXJlID0gcXVlc3Rpb24ubGVnaXNsYXR1cmUgPyBxdWVzdGlvbi5sZWdpc2xhdHVyZSA6IDBcbiAgICAgIGNvbnN0IHF1ZXN0aW9uUmVvcmdhbml6ZWREaXIgPSBwYXRoLmpvaW4ocXVlc3Rpb25zUmVvcmdhbml6ZWRSb290RGlyLCBTdHJpbmcobGVnaXNsYXR1cmUpKVxuICAgICAgZnMuZW5zdXJlRGlyU3luYyhxdWVzdGlvblJlb3JnYW5pemVkRGlyKVxuICAgICAgY29uc3QgcXVlc3Rpb25GaWxlTmFtZSA9IGAke3F1ZXN0aW9uLnJlZmVyZW5jZX0uanNvbmBcbiAgICAgIGZzLndyaXRlSlNPTlN5bmMocGF0aC5qb2luKHF1ZXN0aW9uUmVvcmdhbml6ZWREaXIsIHF1ZXN0aW9uRmlsZU5hbWUpLCBxdWVzdGlvbiwgeyBzcGFjZXM6IDIgfSlcbiAgICB9XG4gIH1cblxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlNlbnMpIHtcbiAgICBjb25zdCBkYXRhc2V0ID0gZGF0YXNldHMuc2Vuc1xuXG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYENvbnZlcnRpbmcgZGF0YWJhc2UgJHtkYXRhc2V0LmRhdGFiYXNlfSBkYXRhIGludG8gZmlsZXPigKZgKVxuICAgIH1cblxuICAgIGNvbnN0IHNlbnNSZW9yZ2FuaXplZFJvb3REaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5kYXRhYmFzZSlcbiAgICBjb25zdCBzZW5hdGV1cnNSZW9yZ2FuaXplZERpciA9IHBhdGguam9pbihzZW5zUmVvcmdhbml6ZWRSb290RGlyLCBTRU5TX1NFTkFURVVSU19GT0xERVIpXG4gICAgY29uc3QgY2lyY29uc2NyaXB0aW9uc1Jlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKHNlbnNSZW9yZ2FuaXplZFJvb3REaXIsIFNFTlNfQ0lSQ09OU0NSSVBUSU9OU19GT0xERVIpXG4gICAgY29uc3Qgb3JnYW5pc21lc1Jlb3JnYW5pemVkRGlyID0gcGF0aC5qb2luKHNlbnNSZW9yZ2FuaXplZFJvb3REaXIsIFNFTlNfT1JHQU5JU01FU19GT0xERVIpXG4gICAgZW5zdXJlQW5kQ2xlYXJEaXIoc2Vuc1Jlb3JnYW5pemVkUm9vdERpcilcbiAgICBlbnN1cmVBbmRDbGVhckRpcihzZW5hdGV1cnNSZW9yZ2FuaXplZERpcilcbiAgICBlbnN1cmVBbmRDbGVhckRpcihjaXJjb25zY3JpcHRpb25zUmVvcmdhbml6ZWREaXIpXG4gICAgZW5zdXJlQW5kQ2xlYXJEaXIob3JnYW5pc21lc1Jlb3JnYW5pemVkRGlyKVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBzZW4gb2YgZmluZEFsbFNlbnMoKSkge1xuICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgQ29udmVydGluZyAke3Nlbi5tYXRyaWN1bGV9IGZpbGXigKZgKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzZW5GaWxlTmFtZSA9IGAke3Nlbi5tYXRyaWN1bGV9Lmpzb25gXG4gICAgICBmcy53cml0ZUpTT05TeW5jKHBhdGguam9pbihzZW5hdGV1cnNSZW9yZ2FuaXplZERpciwgc2VuRmlsZU5hbWUpLCBzZW4sIHsgc3BhY2VzOiAyIH0pXG4gICAgfVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBjaXJjb25zY3JpcHRpb24gb2YgZmluZEFsbENpcmNvbnNjcmlwdGlvbnMoKSkge1xuICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgQ29udmVydGluZyAke2NpcmNvbnNjcmlwdGlvbi5pZGVudGlmaWFudH0gZmlsZeKApmApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNpcmNvbnNjcmlwdGlvbkZpbGVOYW1lID0gYCR7Y2lyY29uc2NyaXB0aW9uLmlkZW50aWZpYW50fS5qc29uYFxuICAgICAgZnMud3JpdGVKU09OU3luYyhcbiAgICAgICAgcGF0aC5qb2luKGNpcmNvbnNjcmlwdGlvbnNSZW9yZ2FuaXplZERpciwgY2lyY29uc2NyaXB0aW9uRmlsZU5hbWUpLCBjaXJjb25zY3JpcHRpb24sIHsgc3BhY2VzOiAyIH1cbiAgICAgIClcbiAgICB9XG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IG9yZ2FuaXNtZSBvZiBmaW5kQWxsT3JnYW5pc21lcygpKSB7XG4gICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBDb252ZXJ0aW5nICR7b3JnYW5pc21lLmNvZGV9IGZpbGXigKZgKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvcmdhbmlzbWVGaWxlTmFtZSA9IGAke29yZ2FuaXNtZS5jb2RlfS5qc29uYFxuICAgICAgZnMud3JpdGVKU09OU3luYyhwYXRoLmpvaW4ob3JnYW5pc21lc1Jlb3JnYW5pemVkRGlyLCBvcmdhbmlzbWVGaWxlTmFtZSksIG9yZ2FuaXNtZSwgeyBzcGFjZXM6IDIgfSlcbiAgICB9XG4gIH1cblxuICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgY29uc29sZS50aW1lRW5kKFwiZGF0YSB0cmFuc2Zvcm1hdGlvbiB0aW1lXCIpXG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY29udmVydFRleHRlVXJscyAoZGF0YURpcjogc3RyaW5nKSB7XG4gIGNvbnN0IHRleHRlc0RpciA9IHBhdGguam9pbihkYXRhRGlyLCBURVhURV9GT0xERVIpXG4gIGZzLmVuc3VyZURpclN5bmModGV4dGVzRGlyKVxuXG4gIGNvbnN0IG9yaWdpbmFsVGV4dGVzRGlyID0gcGF0aC5qb2luKHRleHRlc0RpciwgVEVYVEVfT1JJR0lOQUxfRk9MREVSKVxuXG4gIGZvciBhd2FpdCAoY29uc3QgdGV4dGUgb2YgZmluZFNlbmF0VGV4dGVVcmxzKG9wdGlvbnMuc2Vzc2lvbnMpKSB7XG4gICAgY29uc3QgdGV4dGVOYW1lID0gcGF0aC5wYXJzZSh0ZXh0ZS51cmwpLm5hbWVcbiAgICBjb25zdCB0ZXh0ZURpciA9IHBhdGguam9pbihvcmlnaW5hbFRleHRlc0RpciwgYCR7dGV4dGUuc2Vzc2lvbiA/PyBVTkRFRklORURfU0VTU0lPTn1gLCB0ZXh0ZU5hbWUpXG4gICAgZnMuZW5zdXJlRGlyU3luYyh0ZXh0ZURpcilcblxuICAgIGNvbnN0IG1ldGFkYXRhOiBUZXh0ZU1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogdGV4dGVOYW1lLFxuICAgICAgc2Vzc2lvbjogdGV4dGUuc2Vzc2lvbixcbiAgICAgIHVybF9leHBvc2VfZGVzX21vdGlmczogdGV4dGUuaGFzRXhwb3NlRGVzTW90aWZzID9cbiAgICAgICAgbmV3IFVSTChgJHt0ZXh0ZU5hbWV9LWV4cG9zZS5odG1sYCwgU0VOQVRfRVhQT1NFX0RFU19NT1RJRlNfQkFTRV9VUkwpIDogdW5kZWZpbmVkLFxuICAgICAgdXJsX3htbDogbmV3IFVSTChgJHt0ZXh0ZU5hbWV9LmFrbi54bWxgLCBTRU5BVF9URVhURV9YTUxfQkFTRV9VUkwpLFxuICAgICAgdXJsX2h0bWw6IG5ldyBVUkwoYCR7dGV4dGVOYW1lfS5odG1sYCwgU0VOQVRfVEVYVEVfQkFTRV9VUkwpLFxuICAgICAgdXJsX3BkZjogbmV3IFVSTChgJHt0ZXh0ZU5hbWV9LnBkZmAsIFNFTkFUX1RFWFRFX0JBU0VfVVJMKSxcbiAgICB9XG4gICAgZnMud3JpdGVKU09OU3luYyhwYXRoLmpvaW4odGV4dGVEaXIsIERPQ1VNRU5UX01FVEFEQVRBX0ZJTEUpLCBtZXRhZGF0YSwgeyBzcGFjZXM6IDIgfSlcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBjb252ZXJ0UmFwcG9ydFVybHMgKGRhdGFEaXI6IHN0cmluZykge1xuICBjb25zdCByYXBwb3J0c0RpciA9IHBhdGguam9pbihkYXRhRGlyLCBSQVBQT1JUX0ZPTERFUilcbiAgZnMuZW5zdXJlRGlyU3luYyhyYXBwb3J0c0RpcilcblxuICBmb3IgYXdhaXQgKGNvbnN0IHJhcHBvcnQgb2YgZmluZFNlbmF0UmFwcG9ydFVybHMob3B0aW9ucy5zZXNzaW9ucykpIHtcbiAgICBjb25zdCBwYXJzZWRSYXBwb3J0VXJsID0gcGF0aC5wYXJzZShyYXBwb3J0LnVybClcbiAgICBjb25zdCByYXBwb3J0TmFtZSA9IHBhcnNlZFJhcHBvcnRVcmwubmFtZVxuICAgIGNvbnN0IHJhcHBvcnREaXIgPSBwYXRoLmpvaW4ocmFwcG9ydHNEaXIsIGAke3JhcHBvcnQuc2Vzc2lvbiA/PyBVTkRFRklORURfU0VTU0lPTn1gLCByYXBwb3J0TmFtZSlcbiAgICBmcy5lbnN1cmVEaXJTeW5jKHJhcHBvcnREaXIpXG5cbiAgICBjb25zdCByYXBwb3J0SHRtbFVybEJhc2UgPSBgJHtyYXBwb3J0TmFtZX1fbW9uby5odG1sYFxuICAgIGNvbnN0IHJhcHBvcnRIdG1sVXJsID0gcGF0aC5mb3JtYXQoe1xuICAgICAgZGlyOiBwYXJzZWRSYXBwb3J0VXJsLmRpcixcbiAgICAgIGJhc2U6IHJhcHBvcnRIdG1sVXJsQmFzZSxcbiAgICB9KVxuXG4gICAgY29uc3QgcmFwcG9ydFBkZlVybEJhc2UgPSBgJHtyYXBwb3J0TmFtZX0xLnBkZmBcbiAgICBjb25zdCByYXBwb3J0UGRmVXJsID0gcGF0aC5mb3JtYXQoe1xuICAgICAgZGlyOiBwYXJzZWRSYXBwb3J0VXJsLmRpcixcbiAgICAgIGJhc2U6IHJhcHBvcnRQZGZVcmxCYXNlLFxuICAgIH0pXG5cbiAgICBjb25zdCBtZXRhZGF0YTogUmFwcG9ydE1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogcmFwcG9ydE5hbWUsXG4gICAgICBzZXNzaW9uOiByYXBwb3J0LnNlc3Npb24sXG4gICAgICB1cmxfaHRtbDogbmV3IFVSTChyYXBwb3J0SHRtbFVybCwgU0VOQVRfUkFQUE9SVF9CQVNFX1VSTCksXG4gICAgICB1cmxfcGRmOiBuZXcgVVJMKHJhcHBvcnRQZGZVcmwsIFNFTkFUX1JBUFBPUlRfQkFTRV9VUkwpLFxuICAgIH1cbiAgICBmcy53cml0ZUpTT05TeW5jKHBhdGguam9pbihyYXBwb3J0RGlyLCBET0NVTUVOVF9NRVRBREFUQV9GSUxFKSwgbWV0YWRhdGEsIHsgc3BhY2VzOiAyIH0pXG4gIH1cbn1cblxuY29udmVydERhdGEoKVxuICAudGhlbigoKSA9PiBwcm9jZXNzLmV4aXQoMCkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQVlBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQVFBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLEtBQUEsR0FBQVYsT0FBQTtBQUFpRCxTQUFBRCx1QkFBQVksQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsb0JBQUEsa0JBNUJqRCxtS0FBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUgsQ0FBQSxHQUFBSyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBUCxDQUFBLENBQUFRLGNBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssYUFBQSx1QkFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFPLFdBQUEsOEJBQUFDLEVBQUFiLENBQUEsRUFBQUQsQ0FBQSxFQUFBSCxDQUFBLEVBQUFPLENBQUEsSUFBQUYsTUFBQSxDQUFBYSxjQUFBLENBQUFkLENBQUEsRUFBQUQsQ0FBQSxJQUFBZ0IsS0FBQSxFQUFBbkIsQ0FBQSxFQUFBb0IsVUFBQSxHQUFBYixDQUFBLEVBQUFjLFlBQUEsR0FBQWQsQ0FBQSxFQUFBZSxRQUFBLEdBQUFmLENBQUEsYUFBQVUsQ0FBQSxtQkFBQWIsQ0FBQSxJQUFBYSxDQUFBLFlBQUFBLEVBQUFiLENBQUEsRUFBQUQsQ0FBQSxFQUFBSCxDQUFBLFdBQUFJLENBQUEsQ0FBQUQsQ0FBQSxJQUFBSCxDQUFBLGdCQUFBdUIsRUFBQXBCLENBQUEsRUFBQUgsQ0FBQSxFQUFBTyxDQUFBLEVBQUFFLENBQUEsUUFBQUUsQ0FBQSxHQUFBWCxDQUFBLElBQUFBLENBQUEsQ0FBQU0sU0FBQSxZQUFBa0IsU0FBQSxHQUFBeEIsQ0FBQSxHQUFBd0IsU0FBQSxFQUFBWCxDQUFBLEdBQUFSLE1BQUEsQ0FBQW9CLE1BQUEsQ0FBQWQsQ0FBQSxDQUFBTCxTQUFBLFVBQUFXLENBQUEsQ0FBQUosQ0FBQSx1QkFBQVYsQ0FBQSxFQUFBSCxDQUFBLEVBQUFPLENBQUEsUUFBQUUsQ0FBQSx1QkFBQUUsQ0FBQSxFQUFBRSxDQUFBLGNBQUFKLENBQUEsUUFBQWlCLEtBQUEsNENBQUFqQixDQUFBLG9CQUFBRSxDQUFBLFFBQUFFLENBQUEsV0FBQU0sS0FBQSxFQUFBZixDQUFBLEVBQUF1QixJQUFBLGVBQUFwQixDQUFBLENBQUFxQixNQUFBLEdBQUFqQixDQUFBLEVBQUFKLENBQUEsQ0FBQXNCLEdBQUEsR0FBQWhCLENBQUEsVUFBQUUsQ0FBQSxHQUFBUixDQUFBLENBQUF1QixRQUFBLE1BQUFmLENBQUEsUUFBQUUsQ0FBQSxHQUFBYyxDQUFBLENBQUFoQixDQUFBLEVBQUFSLENBQUEsT0FBQVUsQ0FBQSxRQUFBQSxDQUFBLEtBQUFlLENBQUEsbUJBQUFmLENBQUEscUJBQUFWLENBQUEsQ0FBQXFCLE1BQUEsRUFBQXJCLENBQUEsQ0FBQTBCLElBQUEsR0FBQTFCLENBQUEsQ0FBQTJCLEtBQUEsR0FBQTNCLENBQUEsQ0FBQXNCLEdBQUEsc0JBQUF0QixDQUFBLENBQUFxQixNQUFBLGNBQUFuQixDQUFBLFFBQUFBLENBQUEsTUFBQUYsQ0FBQSxDQUFBc0IsR0FBQSxFQUFBdEIsQ0FBQSxDQUFBNEIsaUJBQUEsQ0FBQTVCLENBQUEsQ0FBQXNCLEdBQUEsdUJBQUF0QixDQUFBLENBQUFxQixNQUFBLElBQUFyQixDQUFBLENBQUE2QixNQUFBLFdBQUE3QixDQUFBLENBQUFzQixHQUFBLEdBQUFwQixDQUFBLFVBQUFjLENBQUEsR0FBQWMsQ0FBQSxDQUFBbEMsQ0FBQSxFQUFBSCxDQUFBLEVBQUFPLENBQUEsb0JBQUFnQixDQUFBLENBQUFlLElBQUEsUUFBQTdCLENBQUEsR0FBQUYsQ0FBQSxDQUFBb0IsSUFBQSxVQUFBSixDQUFBLENBQUFNLEdBQUEsS0FBQUcsQ0FBQSxxQkFBQWIsS0FBQSxFQUFBSSxDQUFBLENBQUFNLEdBQUEsRUFBQUYsSUFBQSxFQUFBcEIsQ0FBQSxDQUFBb0IsSUFBQSxrQkFBQUosQ0FBQSxDQUFBZSxJQUFBLEtBQUE3QixDQUFBLE1BQUFGLENBQUEsQ0FBQXFCLE1BQUEsWUFBQXJCLENBQUEsQ0FBQXNCLEdBQUEsR0FBQU4sQ0FBQSxDQUFBTSxHQUFBLFVBQUExQixDQUFBLEVBQUFJLENBQUEsTUFBQWdDLE9BQUEsQ0FBQTlCLENBQUEsZUFBQUksQ0FBQSxhQUFBd0IsRUFBQWpDLENBQUEsRUFBQUQsQ0FBQSxFQUFBSCxDQUFBLG1CQUFBc0MsSUFBQSxZQUFBVCxHQUFBLEVBQUF6QixDQUFBLENBQUFvQyxJQUFBLENBQUFyQyxDQUFBLEVBQUFILENBQUEsY0FBQUksQ0FBQSxhQUFBa0MsSUFBQSxXQUFBVCxHQUFBLEVBQUF6QixDQUFBLFFBQUFELENBQUEsQ0FBQXNDLElBQUEsR0FBQWxCLENBQUEsTUFBQVMsQ0FBQSxnQkFBQVIsVUFBQSxjQUFBa0Isa0JBQUEsY0FBQUMsMkJBQUEsU0FBQUMsQ0FBQSxPQUFBM0IsQ0FBQSxDQUFBMkIsQ0FBQSxFQUFBakMsQ0FBQSxxQ0FBQWtDLENBQUEsR0FBQXhDLE1BQUEsQ0FBQXlDLGNBQUEsRUFBQUMsQ0FBQSxHQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUEsQ0FBQSxDQUFBRyxDQUFBLFFBQUFELENBQUEsSUFBQUEsQ0FBQSxLQUFBL0MsQ0FBQSxJQUFBTyxDQUFBLENBQUFpQyxJQUFBLENBQUFPLENBQUEsRUFBQXBDLENBQUEsTUFBQWlDLENBQUEsR0FBQUcsQ0FBQSxPQUFBRSxDQUFBLEdBQUFOLDBCQUFBLENBQUFyQyxTQUFBLEdBQUFrQixTQUFBLENBQUFsQixTQUFBLEdBQUFELE1BQUEsQ0FBQW9CLE1BQUEsQ0FBQW1CLENBQUEsWUFBQU0sRUFBQTlDLENBQUEsZ0NBQUErQyxPQUFBLFdBQUFoRCxDQUFBLElBQUFjLENBQUEsQ0FBQWIsQ0FBQSxFQUFBRCxDQUFBLFlBQUFDLENBQUEsZ0JBQUFnRCxPQUFBLENBQUFqRCxDQUFBLEVBQUFDLENBQUEsc0JBQUFpRCxjQUFBakQsQ0FBQSxFQUFBRCxDQUFBLGFBQUFILEVBQUFTLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUUsQ0FBQSxHQUFBb0IsQ0FBQSxDQUFBakMsQ0FBQSxDQUFBSyxDQUFBLEdBQUFMLENBQUEsRUFBQU8sQ0FBQSxtQkFBQU0sQ0FBQSxDQUFBcUIsSUFBQSxRQUFBZixDQUFBLEdBQUFOLENBQUEsQ0FBQVksR0FBQSxFQUFBRyxDQUFBLEdBQUFULENBQUEsQ0FBQUosS0FBQSxTQUFBYSxDQUFBLGdCQUFBc0IsT0FBQSxDQUFBdEIsQ0FBQSxLQUFBekIsQ0FBQSxDQUFBaUMsSUFBQSxDQUFBUixDQUFBLGVBQUE3QixDQUFBLENBQUFvRCxPQUFBLENBQUF2QixDQUFBLENBQUF3QixPQUFBLEVBQUFDLElBQUEsV0FBQXJELENBQUEsSUFBQUosQ0FBQSxTQUFBSSxDQUFBLEVBQUFTLENBQUEsRUFBQUUsQ0FBQSxnQkFBQVgsQ0FBQSxJQUFBSixDQUFBLFVBQUFJLENBQUEsRUFBQVMsQ0FBQSxFQUFBRSxDQUFBLFFBQUFaLENBQUEsQ0FBQW9ELE9BQUEsQ0FBQXZCLENBQUEsRUFBQXlCLElBQUEsV0FBQXJELENBQUEsSUFBQW1CLENBQUEsQ0FBQUosS0FBQSxHQUFBZixDQUFBLEVBQUFTLENBQUEsQ0FBQVUsQ0FBQSxnQkFBQW5CLENBQUEsV0FBQUosQ0FBQSxVQUFBSSxDQUFBLEVBQUFTLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLENBQUFFLENBQUEsQ0FBQVksR0FBQSxTQUFBcEIsQ0FBQSxFQUFBUSxDQUFBLDRCQUFBYixDQUFBLEVBQUFHLENBQUEsYUFBQUksRUFBQSxlQUFBUixDQUFBLFdBQUFBLENBQUEsRUFBQU0sQ0FBQSxJQUFBVCxDQUFBLENBQUFJLENBQUEsRUFBQUcsQ0FBQSxFQUFBSixDQUFBLEVBQUFNLENBQUEsZ0JBQUFBLENBQUEsR0FBQUEsQ0FBQSxHQUFBQSxDQUFBLENBQUFnRCxJQUFBLENBQUE5QyxDQUFBLEVBQUFBLENBQUEsSUFBQUEsQ0FBQSx1QkFBQW9CLEVBQUE1QixDQUFBLEVBQUFILENBQUEsUUFBQU8sQ0FBQSxHQUFBUCxDQUFBLENBQUE0QixNQUFBLEVBQUFuQixDQUFBLEdBQUFOLENBQUEsQ0FBQVEsQ0FBQSxDQUFBSixDQUFBLE9BQUFFLENBQUEsS0FBQUwsQ0FBQSxTQUFBSixDQUFBLENBQUE4QixRQUFBLHFCQUFBdkIsQ0FBQSxJQUFBSixDQUFBLENBQUFRLENBQUEsZUFBQVgsQ0FBQSxDQUFBNEIsTUFBQSxhQUFBNUIsQ0FBQSxDQUFBNkIsR0FBQSxHQUFBekIsQ0FBQSxFQUFBMkIsQ0FBQSxDQUFBNUIsQ0FBQSxFQUFBSCxDQUFBLGVBQUFBLENBQUEsQ0FBQTRCLE1BQUEsa0JBQUFyQixDQUFBLEtBQUFQLENBQUEsQ0FBQTRCLE1BQUEsWUFBQTVCLENBQUEsQ0FBQTZCLEdBQUEsT0FBQTZCLFNBQUEsdUNBQUFuRCxDQUFBLGlCQUFBeUIsQ0FBQSxNQUFBckIsQ0FBQSxHQUFBMEIsQ0FBQSxDQUFBNUIsQ0FBQSxFQUFBTixDQUFBLENBQUFRLENBQUEsRUFBQVgsQ0FBQSxDQUFBNkIsR0FBQSxtQkFBQWxCLENBQUEsQ0FBQTJCLElBQUEsU0FBQXRDLENBQUEsQ0FBQTRCLE1BQUEsWUFBQTVCLENBQUEsQ0FBQTZCLEdBQUEsR0FBQWxCLENBQUEsQ0FBQWtCLEdBQUEsRUFBQTdCLENBQUEsQ0FBQThCLFFBQUEsU0FBQUUsQ0FBQSxNQUFBbkIsQ0FBQSxHQUFBRixDQUFBLENBQUFrQixHQUFBLFNBQUFoQixDQUFBLEdBQUFBLENBQUEsQ0FBQWMsSUFBQSxJQUFBM0IsQ0FBQSxDQUFBRyxDQUFBLENBQUFBLENBQUEsSUFBQVUsQ0FBQSxDQUFBTSxLQUFBLEVBQUFuQixDQUFBLENBQUEyRCxJQUFBLEdBQUF4RCxDQUFBLENBQUFJLENBQUEsZUFBQVAsQ0FBQSxDQUFBNEIsTUFBQSxLQUFBNUIsQ0FBQSxDQUFBNEIsTUFBQSxXQUFBNUIsQ0FBQSxDQUFBNkIsR0FBQSxHQUFBekIsQ0FBQSxHQUFBSixDQUFBLENBQUE4QixRQUFBLFNBQUFFLENBQUEsSUFBQW5CLENBQUEsSUFBQWIsQ0FBQSxDQUFBNEIsTUFBQSxZQUFBNUIsQ0FBQSxDQUFBNkIsR0FBQSxPQUFBNkIsU0FBQSxzQ0FBQTFELENBQUEsQ0FBQThCLFFBQUEsU0FBQUUsQ0FBQSxjQUFBNEIsRUFBQXhELENBQUEsU0FBQXlELFVBQUEsQ0FBQUMsSUFBQSxDQUFBMUQsQ0FBQSxjQUFBMkQsRUFBQTVELENBQUEsUUFBQUgsQ0FBQSxHQUFBRyxDQUFBLFdBQUFILENBQUEsQ0FBQXNDLElBQUEsYUFBQXRDLENBQUEsQ0FBQTZCLEdBQUEsR0FBQXpCLENBQUEsRUFBQUQsQ0FBQSxNQUFBSCxDQUFBLGFBQUF1QyxRQUFBbkMsQ0FBQSxTQUFBeUQsVUFBQSxXQUFBekQsQ0FBQSxDQUFBK0MsT0FBQSxDQUFBUyxDQUFBLGNBQUFJLEtBQUEsaUJBQUFoQixFQUFBN0MsQ0FBQSxnQkFBQUEsQ0FBQSxRQUFBSCxDQUFBLEdBQUFHLENBQUEsQ0FBQVEsQ0FBQSxPQUFBWCxDQUFBLFNBQUFBLENBQUEsQ0FBQXdDLElBQUEsQ0FBQXJDLENBQUEsNEJBQUFBLENBQUEsQ0FBQXdELElBQUEsU0FBQXhELENBQUEsT0FBQThELEtBQUEsQ0FBQTlELENBQUEsQ0FBQStELE1BQUEsU0FBQXpELENBQUEsT0FBQUksQ0FBQSxZQUFBYixFQUFBLGFBQUFTLENBQUEsR0FBQU4sQ0FBQSxDQUFBK0QsTUFBQSxPQUFBM0QsQ0FBQSxDQUFBaUMsSUFBQSxDQUFBckMsQ0FBQSxFQUFBTSxDQUFBLFVBQUFULENBQUEsQ0FBQW1CLEtBQUEsR0FBQWhCLENBQUEsQ0FBQU0sQ0FBQSxHQUFBVCxDQUFBLENBQUEyQixJQUFBLE9BQUEzQixDQUFBLFNBQUFBLENBQUEsQ0FBQW1CLEtBQUEsR0FBQWYsQ0FBQSxFQUFBSixDQUFBLENBQUEyQixJQUFBLE9BQUEzQixDQUFBLFlBQUFhLENBQUEsQ0FBQThDLElBQUEsR0FBQTlDLENBQUEsZ0JBQUE2QyxTQUFBLENBQUFKLE9BQUEsQ0FBQW5ELENBQUEsa0NBQUF1QyxpQkFBQSxDQUFBcEMsU0FBQSxHQUFBcUMsMEJBQUEsRUFBQTFCLENBQUEsQ0FBQWdDLENBQUEsaUJBQUFOLDBCQUFBLEdBQUExQixDQUFBLENBQUEwQiwwQkFBQSxpQkFBQUQsaUJBQUEsR0FBQXpCLENBQUEsQ0FBQTBCLDBCQUFBLEVBQUE1QixDQUFBLEVBQUEyQixpQkFBQSxDQUFBeUIsV0FBQSx5QkFBQWhFLENBQUEsQ0FBQWlFLG1CQUFBLGFBQUFoRSxDQUFBLFFBQUFELENBQUEsd0JBQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBaUUsV0FBQSxXQUFBbEUsQ0FBQSxLQUFBQSxDQUFBLEtBQUF1QyxpQkFBQSw2QkFBQXZDLENBQUEsQ0FBQWdFLFdBQUEsSUFBQWhFLENBQUEsQ0FBQW1FLElBQUEsT0FBQW5FLENBQUEsQ0FBQW9FLElBQUEsYUFBQW5FLENBQUEsV0FBQUMsTUFBQSxDQUFBbUUsY0FBQSxHQUFBbkUsTUFBQSxDQUFBbUUsY0FBQSxDQUFBcEUsQ0FBQSxFQUFBdUMsMEJBQUEsS0FBQXZDLENBQUEsQ0FBQXFFLFNBQUEsR0FBQTlCLDBCQUFBLEVBQUExQixDQUFBLENBQUFiLENBQUEsRUFBQVcsQ0FBQSx5QkFBQVgsQ0FBQSxDQUFBRSxTQUFBLEdBQUFELE1BQUEsQ0FBQW9CLE1BQUEsQ0FBQXdCLENBQUEsR0FBQTdDLENBQUEsS0FBQUQsQ0FBQSxDQUFBdUUsS0FBQSxhQUFBdEUsQ0FBQSxhQUFBb0QsT0FBQSxFQUFBcEQsQ0FBQSxPQUFBOEMsQ0FBQSxDQUFBRyxhQUFBLENBQUEvQyxTQUFBLEdBQUFXLENBQUEsQ0FBQW9DLGFBQUEsQ0FBQS9DLFNBQUEsRUFBQU8sQ0FBQSxpQ0FBQVYsQ0FBQSxDQUFBa0QsYUFBQSxHQUFBQSxhQUFBLEVBQUFsRCxDQUFBLENBQUF3RSxLQUFBLGFBQUF2RSxDQUFBLEVBQUFKLENBQUEsRUFBQU8sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsZUFBQUEsQ0FBQSxLQUFBQSxDQUFBLEdBQUFpRSxPQUFBLE9BQUEvRCxDQUFBLE9BQUF3QyxhQUFBLENBQUE5QixDQUFBLENBQUFuQixDQUFBLEVBQUFKLENBQUEsRUFBQU8sQ0FBQSxFQUFBRSxDQUFBLEdBQUFFLENBQUEsVUFBQVIsQ0FBQSxDQUFBaUUsbUJBQUEsQ0FBQXBFLENBQUEsSUFBQWEsQ0FBQSxHQUFBQSxDQUFBLENBQUE4QyxJQUFBLEdBQUFGLElBQUEsV0FBQXJELENBQUEsV0FBQUEsQ0FBQSxDQUFBdUIsSUFBQSxHQUFBdkIsQ0FBQSxDQUFBZSxLQUFBLEdBQUFOLENBQUEsQ0FBQThDLElBQUEsV0FBQVQsQ0FBQSxDQUFBRCxDQUFBLEdBQUFoQyxDQUFBLENBQUFnQyxDQUFBLEVBQUFsQyxDQUFBLGdCQUFBRSxDQUFBLENBQUFnQyxDQUFBLEVBQUF0QyxDQUFBLGlDQUFBTSxDQUFBLENBQUFnQyxDQUFBLDZEQUFBOUMsQ0FBQSxDQUFBMEUsSUFBQSxhQUFBekUsQ0FBQSxRQUFBRCxDQUFBLEdBQUFFLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBSixDQUFBLGdCQUFBTyxDQUFBLElBQUFKLENBQUEsRUFBQUgsQ0FBQSxDQUFBOEUsT0FBQSxDQUFBdkUsQ0FBQSxtQkFBQUgsRUFBQSxXQUFBSixDQUFBLENBQUFrRSxNQUFBLFFBQUEzRCxDQUFBLEdBQUFQLENBQUEsQ0FBQStFLEdBQUEsT0FBQTVFLENBQUEsU0FBQUMsQ0FBQSxDQUFBZSxLQUFBLEdBQUFaLENBQUEsRUFBQUgsQ0FBQSxDQUFBdUIsSUFBQSxPQUFBdkIsQ0FBQSxTQUFBQSxDQUFBLENBQUF1QixJQUFBLE9BQUF2QixDQUFBLFFBQUFELENBQUEsQ0FBQTZFLE1BQUEsR0FBQWhDLENBQUEsRUFBQVQsT0FBQSxDQUFBakMsU0FBQSxLQUFBK0QsV0FBQSxFQUFBOUIsT0FBQSxFQUFBeUIsS0FBQSxXQUFBQSxNQUFBN0QsQ0FBQSxhQUFBOEUsSUFBQSxRQUFBdEIsSUFBQSxXQUFBMUIsSUFBQSxRQUFBQyxLQUFBLEdBQUE5QixDQUFBLE9BQUF1QixJQUFBLFlBQUFHLFFBQUEsY0FBQUYsTUFBQSxnQkFBQUMsR0FBQSxHQUFBekIsQ0FBQSxPQUFBeUQsVUFBQSxDQUFBVixPQUFBLENBQUFZLENBQUEsSUFBQTVELENBQUEsV0FBQUgsQ0FBQSxrQkFBQUEsQ0FBQSxDQUFBa0YsTUFBQSxPQUFBM0UsQ0FBQSxDQUFBaUMsSUFBQSxPQUFBeEMsQ0FBQSxNQUFBaUUsS0FBQSxFQUFBakUsQ0FBQSxDQUFBbUYsS0FBQSxjQUFBbkYsQ0FBQSxJQUFBSSxDQUFBLE1BQUFnRixJQUFBLFdBQUFBLEtBQUEsU0FBQXpELElBQUEsV0FBQXZCLENBQUEsUUFBQXlELFVBQUEsd0JBQUF6RCxDQUFBLENBQUFrQyxJQUFBLFFBQUFsQyxDQUFBLENBQUF5QixHQUFBLGNBQUF3RCxJQUFBLEtBQUFsRCxpQkFBQSxXQUFBQSxrQkFBQWhDLENBQUEsYUFBQXdCLElBQUEsUUFBQXhCLENBQUEsTUFBQUgsQ0FBQSxrQkFBQU8sRUFBQUgsQ0FBQSxJQUFBUyxDQUFBLENBQUF5QixJQUFBLFlBQUF6QixDQUFBLENBQUFnQixHQUFBLEdBQUExQixDQUFBLEVBQUFILENBQUEsQ0FBQTJELElBQUEsR0FBQXZELENBQUEsYUFBQUssQ0FBQSxHQUFBVCxDQUFBLENBQUE2RCxVQUFBLENBQUFLLE1BQUEsTUFBQXpELENBQUEsU0FBQUEsQ0FBQSxRQUFBRSxDQUFBLFFBQUFrRCxVQUFBLENBQUFwRCxDQUFBLEdBQUFJLENBQUEsR0FBQUYsQ0FBQSxLQUFBSSxDQUFBLFFBQUFrRSxJQUFBLEVBQUFoRSxDQUFBLEdBQUFOLENBQUEsS0FBQVksQ0FBQSxHQUFBWixDQUFBLGdCQUFBQSxDQUFBLFlBQUFKLENBQUEsa0JBQUFVLENBQUEsS0FBQU0sQ0FBQSxRQUFBRyxLQUFBLHdEQUFBZixDQUFBLE9BQUFBLENBQUEsT0FBQUksQ0FBQSxRQUFBQSxDQUFBLEdBQUFFLENBQUEsY0FBQVcsTUFBQSxnQkFBQUMsR0FBQSxHQUFBekIsQ0FBQSxFQUFBRyxDQUFBLENBQUFVLENBQUEsV0FBQUYsQ0FBQSxHQUFBUSxDQUFBLFNBQUFoQixDQUFBLENBQUFnQixDQUFBLGNBQUFhLE1BQUEsV0FBQUEsT0FBQWhDLENBQUEsRUFBQUQsQ0FBQSxhQUFBSCxDQUFBLFFBQUE2RCxVQUFBLENBQUFLLE1BQUEsTUFBQWxFLENBQUEsU0FBQUEsQ0FBQSxRQUFBTyxDQUFBLFFBQUFzRCxVQUFBLENBQUE3RCxDQUFBLE9BQUFPLENBQUEsWUFBQUEsQ0FBQSxZQUFBMEUsSUFBQSxTQUFBQSxJQUFBLEdBQUExRSxDQUFBLFdBQUFFLENBQUEsR0FBQUYsQ0FBQSxhQUFBRSxDQUFBLGlCQUFBTCxDQUFBLG1CQUFBQSxDQUFBLEtBQUFLLENBQUEsT0FBQU4sQ0FBQSxJQUFBQSxDQUFBLElBQUFNLENBQUEsUUFBQUEsQ0FBQSxjQUFBRSxDQUFBLEdBQUFGLENBQUEsR0FBQUEsQ0FBQSxpQkFBQUUsQ0FBQSxDQUFBMkIsSUFBQSxHQUFBbEMsQ0FBQSxFQUFBTyxDQUFBLENBQUFrQixHQUFBLEdBQUExQixDQUFBLEVBQUFNLENBQUEsU0FBQW1CLE1BQUEsZ0JBQUErQixJQUFBLEdBQUFsRCxDQUFBLEtBQUF1QixDQUFBLFNBQUFzRCxRQUFBLENBQUEzRSxDQUFBLE1BQUEyRSxRQUFBLFdBQUFBLFNBQUFsRixDQUFBLEVBQUFELENBQUEsb0JBQUFDLENBQUEsQ0FBQWtDLElBQUEsUUFBQWxDLENBQUEsQ0FBQXlCLEdBQUEscUJBQUF6QixDQUFBLENBQUFrQyxJQUFBLG1CQUFBbEMsQ0FBQSxDQUFBa0MsSUFBQSxRQUFBcUIsSUFBQSxHQUFBdkQsQ0FBQSxDQUFBeUIsR0FBQSxnQkFBQXpCLENBQUEsQ0FBQWtDLElBQUEsU0FBQStDLElBQUEsUUFBQXhELEdBQUEsR0FBQXpCLENBQUEsQ0FBQXlCLEdBQUEsT0FBQUQsTUFBQSxrQkFBQStCLElBQUEseUJBQUF2RCxDQUFBLENBQUFrQyxJQUFBLElBQUFuQyxDQUFBLFVBQUF3RCxJQUFBLEdBQUF4RCxDQUFBLEdBQUE2QixDQUFBLEtBQUF1RCxNQUFBLFdBQUFBLE9BQUFuRixDQUFBLGFBQUFELENBQUEsUUFBQTBELFVBQUEsQ0FBQUssTUFBQSxNQUFBL0QsQ0FBQSxTQUFBQSxDQUFBLFFBQUFILENBQUEsUUFBQTZELFVBQUEsQ0FBQTFELENBQUEsT0FBQUgsQ0FBQSxRQUFBSSxDQUFBLGNBQUFrRixRQUFBLENBQUF0RixDQUFBLEtBQUFBLENBQUEsTUFBQStELENBQUEsQ0FBQS9ELENBQUEsR0FBQWdDLENBQUEseUJBQUF3RCxPQUFBcEYsQ0FBQSxhQUFBRCxDQUFBLFFBQUEwRCxVQUFBLENBQUFLLE1BQUEsTUFBQS9ELENBQUEsU0FBQUEsQ0FBQSxRQUFBSCxDQUFBLFFBQUE2RCxVQUFBLENBQUExRCxDQUFBLE9BQUFILENBQUEsUUFBQUksQ0FBQSxRQUFBRyxDQUFBLEdBQUFQLENBQUEscUJBQUFPLENBQUEsQ0FBQStCLElBQUEsUUFBQTdCLENBQUEsR0FBQUYsQ0FBQSxDQUFBc0IsR0FBQSxFQUFBa0MsQ0FBQSxDQUFBL0QsQ0FBQSxZQUFBUyxDQUFBLFlBQUFpQixLQUFBLDhCQUFBK0QsYUFBQSxXQUFBQSxjQUFBdEYsQ0FBQSxFQUFBSCxDQUFBLEVBQUFPLENBQUEsZ0JBQUF1QixRQUFBLEtBQUFuQixDQUFBLEVBQUFxQyxDQUFBLENBQUE3QyxDQUFBLEdBQUFBLENBQUEsRUFBQUgsQ0FBQSxFQUFBTyxDQUFBLEVBQUFBLENBQUEsb0JBQUFxQixNQUFBLFVBQUFDLEdBQUEsR0FBQXpCLENBQUEsR0FBQTRCLENBQUEsT0FBQTdCLENBQUE7QUFBQSxTQUFBdUYsbUJBQUFuRixDQUFBLEVBQUFILENBQUEsRUFBQUosQ0FBQSxFQUFBRyxDQUFBLEVBQUFNLENBQUEsRUFBQUksQ0FBQSxFQUFBSSxDQUFBLGNBQUFOLENBQUEsR0FBQUosQ0FBQSxDQUFBTSxDQUFBLEVBQUFJLENBQUEsR0FBQUYsQ0FBQSxHQUFBSixDQUFBLENBQUFRLEtBQUEsV0FBQVosQ0FBQSxnQkFBQVAsQ0FBQSxDQUFBTyxDQUFBLEtBQUFJLENBQUEsQ0FBQWdCLElBQUEsR0FBQXZCLENBQUEsQ0FBQVcsQ0FBQSxJQUFBNkQsT0FBQSxDQUFBckIsT0FBQSxDQUFBeEMsQ0FBQSxFQUFBMEMsSUFBQSxDQUFBdEQsQ0FBQSxFQUFBTSxDQUFBO0FBQUEsU0FBQWtGLGtCQUFBcEYsQ0FBQSw2QkFBQUgsQ0FBQSxTQUFBSixDQUFBLEdBQUE0RixTQUFBLGFBQUFoQixPQUFBLFdBQUF6RSxDQUFBLEVBQUFNLENBQUEsUUFBQUksQ0FBQSxHQUFBTixDQUFBLENBQUFzRixLQUFBLENBQUF6RixDQUFBLEVBQUFKLENBQUEsWUFBQThGLE1BQUF2RixDQUFBLElBQUFtRixrQkFBQSxDQUFBN0UsQ0FBQSxFQUFBVixDQUFBLEVBQUFNLENBQUEsRUFBQXFGLEtBQUEsRUFBQUMsTUFBQSxVQUFBeEYsQ0FBQSxjQUFBd0YsT0FBQXhGLENBQUEsSUFBQW1GLGtCQUFBLENBQUE3RSxDQUFBLEVBQUFWLENBQUEsRUFBQU0sQ0FBQSxFQUFBcUYsS0FBQSxFQUFBQyxNQUFBLFdBQUF4RixDQUFBLEtBQUF1RixLQUFBO0FBQUEsU0FBQUUsbUJBQUE3RixDQUFBLFdBQUE4RixrQkFBQSxDQUFBOUYsQ0FBQSxLQUFBK0YsZ0JBQUEsQ0FBQS9GLENBQUEsS0FBQWdHLDJCQUFBLENBQUFoRyxDQUFBLEtBQUFpRyxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUExQyxTQUFBO0FBQUEsU0FBQXlDLDRCQUFBaEcsQ0FBQSxFQUFBVSxDQUFBLFFBQUFWLENBQUEsMkJBQUFBLENBQUEsU0FBQWtHLGlCQUFBLENBQUFsRyxDQUFBLEVBQUFVLENBQUEsT0FBQVQsQ0FBQSxNQUFBa0csUUFBQSxDQUFBOUQsSUFBQSxDQUFBckMsQ0FBQSxFQUFBZ0YsS0FBQSw2QkFBQS9FLENBQUEsSUFBQUQsQ0FBQSxDQUFBa0UsV0FBQSxLQUFBakUsQ0FBQSxHQUFBRCxDQUFBLENBQUFrRSxXQUFBLENBQUFDLElBQUEsYUFBQWxFLENBQUEsY0FBQUEsQ0FBQSxHQUFBbUcsS0FBQSxDQUFBQyxJQUFBLENBQUFyRyxDQUFBLG9CQUFBQyxDQUFBLCtDQUFBcUcsSUFBQSxDQUFBckcsQ0FBQSxJQUFBaUcsaUJBQUEsQ0FBQWxHLENBQUEsRUFBQVUsQ0FBQTtBQUFBLFNBQUFxRixpQkFBQS9GLENBQUEsOEJBQUFPLE1BQUEsWUFBQVAsQ0FBQSxDQUFBTyxNQUFBLENBQUFFLFFBQUEsYUFBQVQsQ0FBQSx1QkFBQW9HLEtBQUEsQ0FBQUMsSUFBQSxDQUFBckcsQ0FBQTtBQUFBLFNBQUE4RixtQkFBQTlGLENBQUEsUUFBQW9HLEtBQUEsQ0FBQUcsT0FBQSxDQUFBdkcsQ0FBQSxVQUFBa0csaUJBQUEsQ0FBQWxHLENBQUE7QUFBQSxTQUFBa0csa0JBQUFsRyxDQUFBLEVBQUFVLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUFWLENBQUEsQ0FBQStELE1BQUEsTUFBQXJELENBQUEsR0FBQVYsQ0FBQSxDQUFBK0QsTUFBQSxZQUFBbEUsQ0FBQSxNQUFBTyxDQUFBLEdBQUFnRyxLQUFBLENBQUExRixDQUFBLEdBQUFiLENBQUEsR0FBQWEsQ0FBQSxFQUFBYixDQUFBLElBQUFPLENBQUEsQ0FBQVAsQ0FBQSxJQUFBRyxDQUFBLENBQUFILENBQUEsVUFBQU8sQ0FBQTtBQUFBLFNBQUFvRyxlQUFBeEcsQ0FBQSxRQUFBSSxDQUFBLEVBQUFILENBQUEsRUFBQUssQ0FBQSxFQUFBVCxDQUFBLGlDQUFBVSxNQUFBLEtBQUFOLENBQUEsR0FBQU0sTUFBQSxDQUFBSSxhQUFBLEVBQUFMLENBQUEsR0FBQUMsTUFBQSxDQUFBRSxRQUFBLEdBQUFaLENBQUEsV0FBQUksQ0FBQSxhQUFBRyxDQUFBLEdBQUFKLENBQUEsQ0FBQUMsQ0FBQSxXQUFBRyxDQUFBLENBQUFpQyxJQUFBLENBQUFyQyxDQUFBLE9BQUFNLENBQUEsYUFBQUYsQ0FBQSxHQUFBSixDQUFBLENBQUFNLENBQUEsZUFBQW1HLHFCQUFBLENBQUFyRyxDQUFBLENBQUFpQyxJQUFBLENBQUFyQyxDQUFBLElBQUFDLENBQUEsc0JBQUFLLENBQUEsNkJBQUFpRCxTQUFBO0FBQUEsU0FBQWtELHNCQUFBekcsQ0FBQSxhQUFBMEcsa0NBQUExRyxDQUFBLFFBQUFFLE1BQUEsQ0FBQUYsQ0FBQSxNQUFBQSxDQUFBLFNBQUF5RSxPQUFBLENBQUFrQyxNQUFBLEtBQUFwRCxTQUFBLENBQUF2RCxDQUFBLCtCQUFBSSxDQUFBLEdBQUFKLENBQUEsQ0FBQXdCLElBQUEsU0FBQWlELE9BQUEsQ0FBQXJCLE9BQUEsQ0FBQXBELENBQUEsQ0FBQWdCLEtBQUEsRUFBQXNDLElBQUEsV0FBQXRELENBQUEsYUFBQWdCLEtBQUEsRUFBQWhCLENBQUEsRUFBQXdCLElBQUEsRUFBQXBCLENBQUEsaUJBQUFxRyxxQkFBQSxZQUFBQSxzQkFBQXpHLENBQUEsU0FBQWtDLENBQUEsR0FBQWxDLENBQUEsT0FBQUksQ0FBQSxHQUFBSixDQUFBLENBQUF3RCxJQUFBLEtBQUFpRCxxQkFBQSxDQUFBdEcsU0FBQSxLQUFBK0IsQ0FBQSxRQUFBOUIsQ0FBQSxRQUFBb0QsSUFBQSxXQUFBQSxLQUFBLFdBQUFrRCxpQ0FBQSxNQUFBdEcsQ0FBQSxDQUFBc0YsS0FBQSxNQUFBeEQsQ0FBQSxFQUFBdUQsU0FBQSwwQkFBQW1CLFFBQUE1RyxDQUFBLFFBQUFJLENBQUEsUUFBQThCLENBQUEsOEJBQUE5QixDQUFBLEdBQUFxRSxPQUFBLENBQUFyQixPQUFBLEdBQUFwQyxLQUFBLEVBQUFoQixDQUFBLEVBQUF3QixJQUFBLFVBQUFrRixpQ0FBQSxDQUFBdEcsQ0FBQSxDQUFBc0YsS0FBQSxNQUFBeEQsQ0FBQSxFQUFBdUQsU0FBQSx5QkFBQUcsT0FBQTVGLENBQUEsUUFBQUksQ0FBQSxRQUFBOEIsQ0FBQSw4QkFBQTlCLENBQUEsR0FBQXFFLE9BQUEsQ0FBQWtDLE1BQUEsQ0FBQTNHLENBQUEsSUFBQTBHLGlDQUFBLENBQUF0RyxDQUFBLENBQUFzRixLQUFBLE1BQUF4RCxDQUFBLEVBQUF1RCxTQUFBLGFBQUFnQixxQkFBQSxDQUFBekcsQ0FBQTtBQThCQSxJQUFNNkcsa0JBQWtCLEdBQUFoQixrQkFBQSxDQUNuQmlCLDBCQUFhLENBQ2pCO0FBQ0QsSUFBTUMsT0FBTyxHQUFHLElBQUFDLDJCQUFlLEVBQUNILGtCQUFrQixDQUFDO0FBRW5ELElBQU1JLHdCQUF3QixHQUFHLGtDQUFrQztBQUNuRSxJQUFNQyxvQkFBb0IsR0FBRywyQkFBMkI7QUFDeEQsSUFBTUMsZ0NBQWdDLEdBQUcsOENBQThDO0FBQ3ZGLElBQU1DLHNCQUFzQixHQUFHLDJCQUEyQjtBQUFBLFNBRTNDQyxXQUFXQSxDQUFBO0VBQUEsT0FBQUMsWUFBQSxDQUFBNUIsS0FBQSxPQUFBRCxTQUFBO0FBQUE7QUFBQSxTQUFBNkIsYUFBQTtFQUFBQSxZQUFBLEdBQUE5QixpQkFBQSxjQUFBekYsbUJBQUEsR0FBQXFFLElBQUEsQ0FBMUIsU0FBQW1ELFFBQUE7SUFBQSxJQUFBQyxlQUFBLEVBQUFDLE9BQUEsRUFBQUMsT0FBQSxFQUFBQyx1QkFBQSxFQUFBQyx5QkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxjQUFBLEVBQUFDLFNBQUEsRUFBQUMsS0FBQSxFQUFBQyxVQUFBLEVBQUFDLE9BQUEsRUFBQUMsdUJBQUEsRUFBQUMsbUJBQUEsRUFBQUMsa0JBQUEsRUFBQUMsUUFBQSxFQUFBQyx3QkFBQSxFQUFBQyxzQkFBQSxFQUFBQywwQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxlQUFBLEVBQUFDLFVBQUEsRUFBQUMsTUFBQSxFQUFBQyxHQUFBLEVBQUFDLHFCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLFdBQUEsRUFBQUMsUUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxXQUFBLEVBQUFDLFNBQUEsRUFBQUMsMkJBQUEsRUFBQUMsMEJBQUEsRUFBQUMsa0JBQUEsRUFBQUMsZUFBQSxFQUFBQyxVQUFBLEVBQUFDLE1BQUEsRUFBQUMsUUFBQSxFQUFBQyxXQUFBLEVBQUFDLHNCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLFNBQUEsRUFBQUMsc0JBQUEsRUFBQUMsdUJBQUEsRUFBQUMsOEJBQUEsRUFBQUMsd0JBQUEsRUFBQUMsMEJBQUEsRUFBQUMsa0JBQUEsRUFBQUMsZUFBQSxFQUFBQyxVQUFBLEVBQUFDLE1BQUEsRUFBQUMsR0FBQSxFQUFBQyxXQUFBLEVBQUFDLDBCQUFBLEVBQUFDLGtCQUFBLEVBQUFDLGVBQUEsRUFBQUMsVUFBQSxFQUFBQyxNQUFBLEVBQUFDLGVBQUEsRUFBQUMsdUJBQUEsRUFBQUMsMEJBQUEsRUFBQUMsa0JBQUEsRUFBQUMsZUFBQSxFQUFBQyxVQUFBLEVBQUFDLE1BQUEsRUFBQUMsU0FBQSxFQUFBQyxpQkFBQTtJQUFBLE9BQUExTCxtQkFBQSxHQUFBdUMsSUFBQSxVQUFBb0osU0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUE3RyxJQUFBLEdBQUE2RyxRQUFBLENBQUFuSSxJQUFBO1FBQUE7VUFDUWdFLGVBQWUsR0FBRyxJQUFBb0UsNEJBQWtCLEVBQUM3RSxPQUFPLENBQUM4RSxVQUFVLENBQUM7VUFDeERwRSxPQUFlLEdBQUdWLE9BQU8sQ0FBQ1UsT0FBTztVQUN2QyxJQUFBcUUsa0JBQU0sRUFBQ3JFLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQztVQUVuRHNFLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLDBCQUEwQixDQUFDO1VBQUEsTUFFcEN4RSxlQUFlLEdBQUd5RSx5QkFBZSxDQUFDQyxLQUFLO1lBQUFQLFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQ25Da0UsT0FBTyxHQUFHeUUsa0JBQVEsQ0FBQ0MsS0FBSztVQUU5QixJQUFJLENBQUNyRixPQUFPLENBQUNzRixNQUFNLEVBQUU7WUFDbkJOLE9BQU8sQ0FBQ08sR0FBRyx3QkFBQUMsTUFBQSxDQUF3QjdFLE9BQU8sQ0FBQzhFLFFBQVEsMkJBQW1CLENBQUM7VUFDekU7VUFFTTdFLHVCQUF1QixHQUFHOEUsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDakYsT0FBTyxFQUFFQyxPQUFPLENBQUM4RSxRQUFRLENBQUM7VUFDcEUsSUFBQUcsdUJBQWlCLEVBQUNoRix1QkFBdUIsQ0FBQztVQUFBQyx5QkFBQTtVQUFBQyxpQkFBQTtVQUFBOEQsUUFBQSxDQUFBN0csSUFBQTtVQUFBaUQsU0FBQSxHQUFBdkIsY0FBQSxDQUVYLElBQUFvRyx5QkFBa0IsRUFBQyxDQUFDO1FBQUE7VUFBQWpCLFFBQUEsQ0FBQW5JLElBQUE7VUFBQSxPQUFBdUUsU0FBQSxDQUFBdkUsSUFBQTtRQUFBO1VBQUEsTUFBQW9FLHlCQUFBLEtBQUFJLEtBQUEsR0FBQTJELFFBQUEsQ0FBQTdKLElBQUEsRUFBQU4sSUFBQTtZQUFBbUssUUFBQSxDQUFBbkksSUFBQTtZQUFBO1VBQUE7VUFBbEN5RSxVQUFVLEdBQUFELEtBQUEsQ0FBQWhILEtBQUE7VUFDekIsSUFBSStGLE9BQU8sQ0FBQzhGLE9BQU8sRUFBRTtZQUNuQmQsT0FBTyxDQUFDTyxHQUFHLGVBQUFDLE1BQUEsQ0FBZXRFLFVBQVUsQ0FBQzZFLE1BQU0sZ0JBQVEsQ0FBQztVQUN0RDtVQUVNNUUsT0FBTyxHQUFHNkUsTUFBTSxDQUFDOUUsVUFBVSxDQUFDQyxPQUFPLENBQUMsSUFBSThFLDJCQUFpQjtVQUN6RDdFLHVCQUF1QixHQUFHRixVQUFVLENBQUNnRix5QkFBeUIsSUFDL0QsR0FBQVYsTUFBQSxDQUFHdEUsVUFBVSxDQUFDaUYsWUFBWSxPQUFBWCxNQUFBLENBQUl0RSxVQUFVLENBQUNrRixZQUFZLEVBQUdDLFdBQVcsQ0FBQyxDQUFDO1VBQ3BFaEYsbUJBQW1CLEdBQUdxRSxnQkFBSSxDQUFDQyxJQUFJLENBQUMvRSx1QkFBdUIsRUFBRU8sT0FBTyxFQUFFQyx1QkFBdUIsQ0FBQztVQUNoR2tGLG1CQUFFLENBQUNDLGFBQWEsQ0FBQ2xGLG1CQUFtQixDQUFDO1VBQy9CQyxrQkFBa0IsTUFBQWtFLE1BQUEsQ0FBTXRFLFVBQVUsQ0FBQzZFLE1BQU07VUFDL0NPLG1CQUFFLENBQUNFLGFBQWEsQ0FBQ2QsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDdEUsbUJBQW1CLEVBQUVDLGtCQUFrQixDQUFDLEVBQUVKLFVBQVUsRUFBRTtZQUFFdUYsTUFBTSxFQUFFO1VBQUUsQ0FBQyxDQUFDO1FBQUE7VUFBQTVGLHlCQUFBO1VBQUErRCxRQUFBLENBQUFuSSxJQUFBO1VBQUE7UUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBO1FBQUE7VUFBQW1JLFFBQUEsQ0FBQTdHLElBQUE7VUFBQTZHLFFBQUEsQ0FBQThCLEVBQUEsR0FBQTlCLFFBQUE7VUFBQTlELGlCQUFBO1VBQUFDLGNBQUEsR0FBQTZELFFBQUEsQ0FBQThCLEVBQUE7UUFBQTtVQUFBOUIsUUFBQSxDQUFBN0csSUFBQTtVQUFBNkcsUUFBQSxDQUFBN0csSUFBQTtVQUFBLE1BQUE4Qyx5QkFBQSxJQUFBRyxTQUFBO1lBQUE0RCxRQUFBLENBQUFuSSxJQUFBO1lBQUE7VUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBLE9BQUF1RSxTQUFBO1FBQUE7VUFBQTRELFFBQUEsQ0FBQTdHLElBQUE7VUFBQSxLQUFBK0MsaUJBQUE7WUFBQThELFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFBQXNFLGNBQUE7UUFBQTtVQUFBLE9BQUE2RCxRQUFBLENBQUF2RyxNQUFBO1FBQUE7VUFBQSxPQUFBdUcsUUFBQSxDQUFBdkcsTUFBQTtRQUFBO1VBQUEsTUFJL0ZvQyxlQUFlLEdBQUd5RSx5QkFBZSxDQUFDeUIsTUFBTTtZQUFBL0IsUUFBQSxDQUFBbkksSUFBQTtZQUFBO1VBQUE7VUFDcENrRSxRQUFPLEdBQUd5RSxrQkFBUSxDQUFDd0IsTUFBTTtVQUUvQixJQUFJLENBQUM1RyxPQUFPLENBQUNzRixNQUFNLEVBQUU7WUFDbkJOLE9BQU8sQ0FBQ08sR0FBRyx3QkFBQUMsTUFBQSxDQUF3QjdFLFFBQU8sQ0FBQzhFLFFBQVEsMkJBQW1CLENBQUM7VUFDekU7VUFFTWpFLHdCQUF3QixHQUFHa0UsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDakYsT0FBTyxFQUFFQyxRQUFPLENBQUM4RSxRQUFRLENBQUM7VUFDL0RoRSxzQkFBc0IsR0FBR2lFLGdCQUFJLENBQUNDLElBQUksQ0FBQ25FLHdCQUF3QixFQUFFcUYsK0JBQXNCLENBQUM7VUFDMUYsSUFBQWpCLHVCQUFpQixFQUFDcEUsd0JBQXdCLENBQUM7VUFDM0MsSUFBQW9FLHVCQUFpQixFQUFDbkUsc0JBQXNCLENBQUM7VUFBQUMsMEJBQUE7VUFBQUMsa0JBQUE7VUFBQWlELFFBQUEsQ0FBQTdHLElBQUE7VUFBQThELFVBQUEsR0FBQXBDLGNBQUEsQ0FFakIsSUFBQXFILGtCQUFXLEVBQUMsQ0FBQztRQUFBO1VBQUFsQyxRQUFBLENBQUFuSSxJQUFBO1VBQUEsT0FBQW9GLFVBQUEsQ0FBQXBGLElBQUE7UUFBQTtVQUFBLE1BQUFpRiwwQkFBQSxLQUFBSSxNQUFBLEdBQUE4QyxRQUFBLENBQUE3SixJQUFBLEVBQUFOLElBQUE7WUFBQW1LLFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQXBCc0YsR0FBRyxHQUFBRCxNQUFBLENBQUE3SCxLQUFBO1VBQ2xCLElBQUkrRixPQUFPLENBQUM4RixPQUFPLEVBQUU7WUFDbkJkLE9BQU8sQ0FBQ08sR0FBRyxlQUFBQyxNQUFBLENBQWV6RCxHQUFHLENBQUNnRixNQUFNLGdCQUFRLENBQUM7VUFDL0M7VUFFSTlFLGlCQUFpQixHQUFHeUQsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDbEUsc0JBQXNCLEVBQUV3RSwyQkFBaUIsQ0FBQztVQUN0RS9ELFdBQVcsSUFBQUYscUJBQUEsR0FBR2dGLGlDQUF1QixDQUFDQyxJQUFJLENBQUNsRixHQUFHLENBQUNnRixNQUFNLENBQUMsY0FBQS9FLHFCQUFBLHVCQUF4Q0EscUJBQUEsQ0FBMENrRixNQUFNO1VBQ3BFLElBQUloRixXQUFXLEVBQUU7WUFDUGYsUUFBTyxHQUFLZSxXQUFXLENBQXZCZixPQUFPO1lBQ1RpQixnQkFBZ0IsR0FBRyxJQUFBK0Usa0NBQXdCLEVBQUNoRyxRQUFPLENBQUM7WUFDMURjLGlCQUFpQixHQUFHeUQsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDbEUsc0JBQXNCLEVBQUVXLGdCQUFnQixDQUFDO1VBQ3pFO1VBQ0FrRSxtQkFBRSxDQUFDQyxhQUFhLENBQUN0RSxpQkFBaUIsQ0FBQztVQUU3QkksV0FBVyxNQUFBbUQsTUFBQSxDQUFNekQsR0FBRyxDQUFDZ0YsTUFBTTtVQUNqQ1QsbUJBQUUsQ0FBQ0UsYUFBYSxDQUFDZCxnQkFBSSxDQUFDQyxJQUFJLENBQUMxRCxpQkFBaUIsRUFBRUksV0FBVyxDQUFDLEVBQUVOLEdBQUcsRUFBRTtZQUFFMEUsTUFBTSxFQUFFO1VBQUUsQ0FBQyxDQUFDO1FBQUE7VUFBQS9FLDBCQUFBO1VBQUFrRCxRQUFBLENBQUFuSSxJQUFBO1VBQUE7UUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBO1FBQUE7VUFBQW1JLFFBQUEsQ0FBQTdHLElBQUE7VUFBQTZHLFFBQUEsQ0FBQXdDLEVBQUEsR0FBQXhDLFFBQUE7VUFBQWpELGtCQUFBO1VBQUFDLGVBQUEsR0FBQWdELFFBQUEsQ0FBQXdDLEVBQUE7UUFBQTtVQUFBeEMsUUFBQSxDQUFBN0csSUFBQTtVQUFBNkcsUUFBQSxDQUFBN0csSUFBQTtVQUFBLE1BQUEyRCwwQkFBQSxJQUFBRyxVQUFBO1lBQUErQyxRQUFBLENBQUFuSSxJQUFBO1lBQUE7VUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBLE9BQUFvRixVQUFBO1FBQUE7VUFBQStDLFFBQUEsQ0FBQTdHLElBQUE7VUFBQSxLQUFBNEQsa0JBQUE7WUFBQWlELFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFBQW1GLGVBQUE7UUFBQTtVQUFBLE9BQUFnRCxRQUFBLENBQUF2RyxNQUFBO1FBQUE7VUFBQSxPQUFBdUcsUUFBQSxDQUFBdkcsTUFBQTtRQUFBO1VBQUF1RyxRQUFBLENBQUFuSSxJQUFBO1VBQUEsT0FHM0U0SyxnQkFBZ0IsQ0FBQzNHLE9BQU8sQ0FBQztRQUFBO1VBQUFrRSxRQUFBLENBQUFuSSxJQUFBO1VBQUEsT0FDekI2SyxrQkFBa0IsQ0FBQzVHLE9BQU8sQ0FBQztRQUFBO1VBQUEsTUFHL0JELGVBQWUsR0FBR3lFLHlCQUFlLENBQUNxQyxTQUFTO1lBQUEzQyxRQUFBLENBQUFuSSxJQUFBO1lBQUE7VUFBQTtVQUN2Q2tFLFNBQU8sR0FBR3lFLGtCQUFRLENBQUNvQyxTQUFTO1VBRWxDLElBQUksQ0FBQ3hILE9BQU8sQ0FBQ3NGLE1BQU0sRUFBRTtZQUNuQk4sT0FBTyxDQUFDTyxHQUFHLHdCQUFBQyxNQUFBLENBQXdCN0UsU0FBTyxDQUFDOEUsUUFBUSwyQkFBbUIsQ0FBQztVQUN6RTtVQUVNbEQsMkJBQTJCLEdBQUdtRCxnQkFBSSxDQUFDQyxJQUFJLENBQUNqRixPQUFPLEVBQUVDLFNBQU8sQ0FBQzhFLFFBQVEsQ0FBQztVQUN4RSxJQUFBRyx1QkFBaUIsRUFBQ3JELDJCQUEyQixDQUFDO1VBQUFDLDBCQUFBO1VBQUFDLGtCQUFBO1VBQUFtQyxRQUFBLENBQUE3RyxJQUFBO1VBQUE0RSxVQUFBLEdBQUFsRCxjQUFBLENBRWpCLElBQUFnSSx1QkFBZ0IsRUFBQyxDQUFDO1FBQUE7VUFBQTdDLFFBQUEsQ0FBQW5JLElBQUE7VUFBQSxPQUFBa0csVUFBQSxDQUFBbEcsSUFBQTtRQUFBO1VBQUEsTUFBQStGLDBCQUFBLEtBQUFJLE1BQUEsR0FBQWdDLFFBQUEsQ0FBQTdKLElBQUEsRUFBQU4sSUFBQTtZQUFBbUssUUFBQSxDQUFBbkksSUFBQTtZQUFBO1VBQUE7VUFBOUJvRyxRQUFRLEdBQUFELE1BQUEsQ0FBQTNJLEtBQUE7VUFDdkIsSUFBSStGLE9BQU8sQ0FBQzhGLE9BQU8sRUFBRTtZQUNuQmQsT0FBTyxDQUFDTyxHQUFHLGVBQUFDLE1BQUEsQ0FBZTNDLFFBQVEsQ0FBQzZFLFNBQVMsZ0JBQVEsQ0FBQztVQUN2RDtVQUVNNUUsV0FBVyxHQUFHRCxRQUFRLENBQUNDLFdBQVcsR0FBR0QsUUFBUSxDQUFDQyxXQUFXLEdBQUcsQ0FBQztVQUM3REMsc0JBQXNCLEdBQUcyQyxnQkFBSSxDQUFDQyxJQUFJLENBQUNwRCwyQkFBMkIsRUFBRXlELE1BQU0sQ0FBQ2xELFdBQVcsQ0FBQyxDQUFDO1VBQzFGd0QsbUJBQUUsQ0FBQ0MsYUFBYSxDQUFDeEQsc0JBQXNCLENBQUM7VUFDbENDLGdCQUFnQixNQUFBd0MsTUFBQSxDQUFNM0MsUUFBUSxDQUFDNkUsU0FBUztVQUM5Q3BCLG1CQUFFLENBQUNFLGFBQWEsQ0FBQ2QsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDNUMsc0JBQXNCLEVBQUVDLGdCQUFnQixDQUFDLEVBQUVILFFBQVEsRUFBRTtZQUFFNEQsTUFBTSxFQUFFO1VBQUUsQ0FBQyxDQUFDO1FBQUE7VUFBQWpFLDBCQUFBO1VBQUFvQyxRQUFBLENBQUFuSSxJQUFBO1VBQUE7UUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBO1FBQUE7VUFBQW1JLFFBQUEsQ0FBQTdHLElBQUE7VUFBQTZHLFFBQUEsQ0FBQStDLEVBQUEsR0FBQS9DLFFBQUE7VUFBQW5DLGtCQUFBO1VBQUFDLGVBQUEsR0FBQWtDLFFBQUEsQ0FBQStDLEVBQUE7UUFBQTtVQUFBL0MsUUFBQSxDQUFBN0csSUFBQTtVQUFBNkcsUUFBQSxDQUFBN0csSUFBQTtVQUFBLE1BQUF5RSwwQkFBQSxJQUFBRyxVQUFBO1lBQUFpQyxRQUFBLENBQUFuSSxJQUFBO1lBQUE7VUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBLE9BQUFrRyxVQUFBO1FBQUE7VUFBQWlDLFFBQUEsQ0FBQTdHLElBQUE7VUFBQSxLQUFBMEUsa0JBQUE7WUFBQW1DLFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFBQWlHLGVBQUE7UUFBQTtVQUFBLE9BQUFrQyxRQUFBLENBQUF2RyxNQUFBO1FBQUE7VUFBQSxPQUFBdUcsUUFBQSxDQUFBdkcsTUFBQTtRQUFBO1VBQUEsTUFJOUZvQyxlQUFlLEdBQUd5RSx5QkFBZSxDQUFDMEMsSUFBSTtZQUFBaEQsUUFBQSxDQUFBbkksSUFBQTtZQUFBO1VBQUE7VUFDbENrRSxTQUFPLEdBQUd5RSxrQkFBUSxDQUFDeUMsSUFBSTtVQUU3QixJQUFJLENBQUM3SCxPQUFPLENBQUNzRixNQUFNLEVBQUU7WUFDbkJOLE9BQU8sQ0FBQ08sR0FBRyx3QkFBQUMsTUFBQSxDQUF3QjdFLFNBQU8sQ0FBQzhFLFFBQVEsMkJBQW1CLENBQUM7VUFDekU7VUFFTXZDLHNCQUFzQixHQUFHd0MsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDakYsT0FBTyxFQUFFQyxTQUFPLENBQUM4RSxRQUFRLENBQUM7VUFDN0R0Qyx1QkFBdUIsR0FBR3VDLGdCQUFJLENBQUNDLElBQUksQ0FBQ3pDLHNCQUFzQixFQUFFNEUsOEJBQXFCLENBQUM7VUFDbEYxRSw4QkFBOEIsR0FBR3NDLGdCQUFJLENBQUNDLElBQUksQ0FBQ3pDLHNCQUFzQixFQUFFNkUscUNBQTRCLENBQUM7VUFDaEcxRSx3QkFBd0IsR0FBR3FDLGdCQUFJLENBQUNDLElBQUksQ0FBQ3pDLHNCQUFzQixFQUFFOEUsK0JBQXNCLENBQUM7VUFDMUYsSUFBQXBDLHVCQUFpQixFQUFDMUMsc0JBQXNCLENBQUM7VUFDekMsSUFBQTBDLHVCQUFpQixFQUFDekMsdUJBQXVCLENBQUM7VUFDMUMsSUFBQXlDLHVCQUFpQixFQUFDeEMsOEJBQThCLENBQUM7VUFDakQsSUFBQXdDLHVCQUFpQixFQUFDdkMsd0JBQXdCLENBQUM7VUFBQUMsMEJBQUE7VUFBQUMsa0JBQUE7VUFBQXFCLFFBQUEsQ0FBQTdHLElBQUE7VUFBQTBGLFVBQUEsR0FBQWhFLGNBQUEsQ0FFbkIsSUFBQXdJLGtCQUFXLEVBQUMsQ0FBQztRQUFBO1VBQUFyRCxRQUFBLENBQUFuSSxJQUFBO1VBQUEsT0FBQWdILFVBQUEsQ0FBQWhILElBQUE7UUFBQTtVQUFBLE1BQUE2RywwQkFBQSxLQUFBSSxNQUFBLEdBQUFrQixRQUFBLENBQUE3SixJQUFBLEVBQUFOLElBQUE7WUFBQW1LLFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQXBCa0gsR0FBRyxHQUFBRCxNQUFBLENBQUF6SixLQUFBO1VBQ2xCLElBQUkrRixPQUFPLENBQUM4RixPQUFPLEVBQUU7WUFDbkJkLE9BQU8sQ0FBQ08sR0FBRyxlQUFBQyxNQUFBLENBQWU3QixHQUFHLENBQUN1RSxTQUFTLGdCQUFRLENBQUM7VUFDbEQ7VUFFTXRFLFdBQVcsTUFBQTRCLE1BQUEsQ0FBTTdCLEdBQUcsQ0FBQ3VFLFNBQVM7VUFDcEM1QixtQkFBRSxDQUFDRSxhQUFhLENBQUNkLGdCQUFJLENBQUNDLElBQUksQ0FBQ3hDLHVCQUF1QixFQUFFUyxXQUFXLENBQUMsRUFBRUQsR0FBRyxFQUFFO1lBQUU4QyxNQUFNLEVBQUU7VUFBRSxDQUFDLENBQUM7UUFBQTtVQUFBbkQsMEJBQUE7VUFBQXNCLFFBQUEsQ0FBQW5JLElBQUE7VUFBQTtRQUFBO1VBQUFtSSxRQUFBLENBQUFuSSxJQUFBO1VBQUE7UUFBQTtVQUFBbUksUUFBQSxDQUFBN0csSUFBQTtVQUFBNkcsUUFBQSxDQUFBdUQsRUFBQSxHQUFBdkQsUUFBQTtVQUFBckIsa0JBQUE7VUFBQUMsZUFBQSxHQUFBb0IsUUFBQSxDQUFBdUQsRUFBQTtRQUFBO1VBQUF2RCxRQUFBLENBQUE3RyxJQUFBO1VBQUE2RyxRQUFBLENBQUE3RyxJQUFBO1VBQUEsTUFBQXVGLDBCQUFBLElBQUFHLFVBQUE7WUFBQW1CLFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQUFtSSxRQUFBLENBQUFuSSxJQUFBO1VBQUEsT0FBQWdILFVBQUE7UUFBQTtVQUFBbUIsUUFBQSxDQUFBN0csSUFBQTtVQUFBLEtBQUF3RixrQkFBQTtZQUFBcUIsUUFBQSxDQUFBbkksSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUFBK0csZUFBQTtRQUFBO1VBQUEsT0FBQW9CLFFBQUEsQ0FBQXZHLE1BQUE7UUFBQTtVQUFBLE9BQUF1RyxRQUFBLENBQUF2RyxNQUFBO1FBQUE7VUFBQXdGLDBCQUFBO1VBQUFDLGtCQUFBO1VBQUFjLFFBQUEsQ0FBQTdHLElBQUE7VUFBQWlHLFVBQUEsR0FBQXZFLGNBQUEsQ0FHbkQsSUFBQTJJLDhCQUF1QixFQUFDLENBQUM7UUFBQTtVQUFBeEQsUUFBQSxDQUFBbkksSUFBQTtVQUFBLE9BQUF1SCxVQUFBLENBQUF2SCxJQUFBO1FBQUE7VUFBQSxNQUFBb0gsMEJBQUEsS0FBQUksTUFBQSxHQUFBVyxRQUFBLENBQUE3SixJQUFBLEVBQUFOLElBQUE7WUFBQW1LLFFBQUEsQ0FBQW5JLElBQUE7WUFBQTtVQUFBO1VBQTVDeUgsZUFBZSxHQUFBRCxNQUFBLENBQUFoSyxLQUFBO1VBQzlCLElBQUkrRixPQUFPLENBQUM4RixPQUFPLEVBQUU7WUFDbkJkLE9BQU8sQ0FBQ08sR0FBRyxlQUFBQyxNQUFBLENBQWV0QixlQUFlLENBQUNtRSxXQUFXLGdCQUFRLENBQUM7VUFDaEU7VUFFTWxFLHVCQUF1QixNQUFBcUIsTUFBQSxDQUFNdEIsZUFBZSxDQUFDbUUsV0FBVztVQUM5RC9CLG1CQUFFLENBQUNFLGFBQWEsQ0FDZGQsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDdkMsOEJBQThCLEVBQUVlLHVCQUF1QixDQUFDLEVBQUVELGVBQWUsRUFBRTtZQUFFdUMsTUFBTSxFQUFFO1VBQUUsQ0FDbkcsQ0FBQztRQUFBO1VBQUE1QywwQkFBQTtVQUFBZSxRQUFBLENBQUFuSSxJQUFBO1VBQUE7UUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBO1FBQUE7VUFBQW1JLFFBQUEsQ0FBQTdHLElBQUE7VUFBQTZHLFFBQUEsQ0FBQTBELEVBQUEsR0FBQTFELFFBQUE7VUFBQWQsa0JBQUE7VUFBQUMsZUFBQSxHQUFBYSxRQUFBLENBQUEwRCxFQUFBO1FBQUE7VUFBQTFELFFBQUEsQ0FBQTdHLElBQUE7VUFBQTZHLFFBQUEsQ0FBQTdHLElBQUE7VUFBQSxNQUFBOEYsMEJBQUEsSUFBQUcsVUFBQTtZQUFBWSxRQUFBLENBQUFuSSxJQUFBO1lBQUE7VUFBQTtVQUFBbUksUUFBQSxDQUFBbkksSUFBQTtVQUFBLE9BQUF1SCxVQUFBO1FBQUE7VUFBQVksUUFBQSxDQUFBN0csSUFBQTtVQUFBLEtBQUErRixrQkFBQTtZQUFBYyxRQUFBLENBQUFuSSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQUFzSCxlQUFBO1FBQUE7VUFBQSxPQUFBYSxRQUFBLENBQUF2RyxNQUFBO1FBQUE7VUFBQSxPQUFBdUcsUUFBQSxDQUFBdkcsTUFBQTtRQUFBO1VBQUErRiwwQkFBQTtVQUFBQyxrQkFBQTtVQUFBTyxRQUFBLENBQUE3RyxJQUFBO1VBQUF3RyxVQUFBLEdBQUE5RSxjQUFBLENBRzJCLElBQUE4SSx3QkFBaUIsRUFBQyxDQUFDO1FBQUE7VUFBQTNELFFBQUEsQ0FBQW5JLElBQUE7VUFBQSxPQUFBOEgsVUFBQSxDQUFBOUgsSUFBQTtRQUFBO1VBQUEsTUFBQTJILDBCQUFBLEtBQUFJLE1BQUEsR0FBQUksUUFBQSxDQUFBN0osSUFBQSxFQUFBTixJQUFBO1lBQUFtSyxRQUFBLENBQUFuSSxJQUFBO1lBQUE7VUFBQTtVQUFoQ2dJLFNBQVMsR0FBQUQsTUFBQSxDQUFBdkssS0FBQTtVQUN4QixJQUFJK0YsT0FBTyxDQUFDOEYsT0FBTyxFQUFFO1lBQ25CZCxPQUFPLENBQUNPLEdBQUcsZUFBQUMsTUFBQSxDQUFlZixTQUFTLENBQUMrRCxJQUFJLGdCQUFRLENBQUM7VUFDbkQ7VUFFTTlELGlCQUFpQixNQUFBYyxNQUFBLENBQU1mLFNBQVMsQ0FBQytELElBQUk7VUFDM0NsQyxtQkFBRSxDQUFDRSxhQUFhLENBQUNkLGdCQUFJLENBQUNDLElBQUksQ0FBQ3RDLHdCQUF3QixFQUFFcUIsaUJBQWlCLENBQUMsRUFBRUQsU0FBUyxFQUFFO1lBQUVnQyxNQUFNLEVBQUU7VUFBRSxDQUFDLENBQUM7UUFBQTtVQUFBckMsMEJBQUE7VUFBQVEsUUFBQSxDQUFBbkksSUFBQTtVQUFBO1FBQUE7VUFBQW1JLFFBQUEsQ0FBQW5JLElBQUE7VUFBQTtRQUFBO1VBQUFtSSxRQUFBLENBQUE3RyxJQUFBO1VBQUE2RyxRQUFBLENBQUE2RCxFQUFBLEdBQUE3RCxRQUFBO1VBQUFQLGtCQUFBO1VBQUFDLGVBQUEsR0FBQU0sUUFBQSxDQUFBNkQsRUFBQTtRQUFBO1VBQUE3RCxRQUFBLENBQUE3RyxJQUFBO1VBQUE2RyxRQUFBLENBQUE3RyxJQUFBO1VBQUEsTUFBQXFHLDBCQUFBLElBQUFHLFVBQUE7WUFBQUssUUFBQSxDQUFBbkksSUFBQTtZQUFBO1VBQUE7VUFBQW1JLFFBQUEsQ0FBQW5JLElBQUE7VUFBQSxPQUFBOEgsVUFBQTtRQUFBO1VBQUFLLFFBQUEsQ0FBQTdHLElBQUE7VUFBQSxLQUFBc0csa0JBQUE7WUFBQU8sUUFBQSxDQUFBbkksSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUFBNkgsZUFBQTtRQUFBO1VBQUEsT0FBQU0sUUFBQSxDQUFBdkcsTUFBQTtRQUFBO1VBQUEsT0FBQXVHLFFBQUEsQ0FBQXZHLE1BQUE7UUFBQTtVQUl0RyxJQUFJLENBQUMyQixPQUFPLENBQUNzRixNQUFNLEVBQUU7WUFDbkJOLE9BQU8sQ0FBQzBELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQztVQUM3QztRQUFDO1FBQUE7VUFBQSxPQUFBOUQsUUFBQSxDQUFBMUcsSUFBQTtNQUFBO0lBQUEsR0FBQXNDLE9BQUE7RUFBQSxDQUNGO0VBQUEsT0FBQUQsWUFBQSxDQUFBNUIsS0FBQSxPQUFBRCxTQUFBO0FBQUE7QUFBQSxTQUVjMkksZ0JBQWdCQSxDQUFBc0IsRUFBQTtFQUFBLE9BQUFDLGlCQUFBLENBQUFqSyxLQUFBLE9BQUFELFNBQUE7QUFBQTtBQUFBLFNBQUFrSyxrQkFBQTtFQUFBQSxpQkFBQSxHQUFBbkssaUJBQUEsY0FBQXpGLG1CQUFBLEdBQUFxRSxJQUFBLENBQS9CLFNBQUF3TCxTQUFpQ25JLE9BQWU7SUFBQSxJQUFBb0ksU0FBQSxFQUFBQyxpQkFBQSxFQUFBQywwQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxlQUFBLEVBQUFDLFVBQUEsRUFBQUMsTUFBQSxFQUFBQyxLQUFBLEVBQUFDLGNBQUEsRUFBQUMsU0FBQSxFQUFBQyxRQUFBLEVBQUFDLFFBQUE7SUFBQSxPQUFBelEsbUJBQUEsR0FBQXVDLElBQUEsVUFBQW1PLFVBQUFDLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBNUwsSUFBQSxHQUFBNEwsU0FBQSxDQUFBbE4sSUFBQTtRQUFBO1VBQ3hDcU0sU0FBUyxHQUFHcEQsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDakYsT0FBTyxFQUFFa0oscUJBQVksQ0FBQztVQUNsRHRELG1CQUFFLENBQUNDLGFBQWEsQ0FBQ3VDLFNBQVMsQ0FBQztVQUVyQkMsaUJBQWlCLEdBQUdyRCxnQkFBSSxDQUFDQyxJQUFJLENBQUNtRCxTQUFTLEVBQUVlLDhCQUFxQixDQUFDO1VBQUFiLDBCQUFBO1VBQUFDLGtCQUFBO1VBQUFVLFNBQUEsQ0FBQTVMLElBQUE7VUFBQW9MLFVBQUEsR0FBQTFKLGNBQUEsQ0FFM0MsSUFBQXFLLDBCQUFrQixFQUFDOUosT0FBTyxDQUFDK0osUUFBUSxDQUFDO1FBQUE7VUFBQUosU0FBQSxDQUFBbE4sSUFBQTtVQUFBLE9BQUEwTSxVQUFBLENBQUExTSxJQUFBO1FBQUE7VUFBQSxNQUFBdU0sMEJBQUEsS0FBQUksTUFBQSxHQUFBTyxTQUFBLENBQUE1TyxJQUFBLEVBQUFOLElBQUE7WUFBQWtQLFNBQUEsQ0FBQWxOLElBQUE7WUFBQTtVQUFBO1VBQTdDNE0sS0FBSyxHQUFBRCxNQUFBLENBQUFuUCxLQUFBO1VBQ2RzUCxTQUFTLEdBQUc3RCxnQkFBSSxDQUFDc0UsS0FBSyxDQUFDWCxLQUFLLENBQUNZLEdBQUcsQ0FBQyxDQUFDN00sSUFBSTtVQUN0Q29NLFFBQVEsR0FBRzlELGdCQUFJLENBQUNDLElBQUksQ0FBQ29ELGlCQUFpQixLQUFBdkQsTUFBQSxFQUFBOEQsY0FBQSxHQUFLRCxLQUFLLENBQUNsSSxPQUFPLGNBQUFtSSxjQUFBLGNBQUFBLGNBQUEsR0FBSXJELDJCQUFpQixHQUFJc0QsU0FBUyxDQUFDO1VBQ2pHakQsbUJBQUUsQ0FBQ0MsYUFBYSxDQUFDaUQsUUFBUSxDQUFDO1VBRXBCQyxRQUF1QixHQUFHO1lBQzlCck0sSUFBSSxFQUFFbU0sU0FBUztZQUNmcEksT0FBTyxFQUFFa0ksS0FBSyxDQUFDbEksT0FBTztZQUN0QitJLHFCQUFxQixFQUFFYixLQUFLLENBQUNjLGtCQUFrQixHQUM3QyxJQUFJQyxHQUFHLElBQUE1RSxNQUFBLENBQUkrRCxTQUFTLG1CQUFnQm5KLGdDQUFnQyxDQUFDLEdBQUdpSyxTQUFTO1lBQ25GQyxPQUFPLEVBQUUsSUFBSUYsR0FBRyxJQUFBNUUsTUFBQSxDQUFJK0QsU0FBUyxlQUFZckosd0JBQXdCLENBQUM7WUFDbEVxSyxRQUFRLEVBQUUsSUFBSUgsR0FBRyxJQUFBNUUsTUFBQSxDQUFJK0QsU0FBUyxZQUFTcEosb0JBQW9CLENBQUM7WUFDNURxSyxPQUFPLEVBQUUsSUFBSUosR0FBRyxJQUFBNUUsTUFBQSxDQUFJK0QsU0FBUyxXQUFRcEosb0JBQW9CO1VBQzNELENBQUM7VUFDRG1HLG1CQUFFLENBQUNFLGFBQWEsQ0FBQ2QsZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDNkQsUUFBUSxFQUFFaUIsK0JBQXNCLENBQUMsRUFBRWhCLFFBQVEsRUFBRTtZQUFFaEQsTUFBTSxFQUFFO1VBQUUsQ0FBQyxDQUFDO1FBQUE7VUFBQXVDLDBCQUFBO1VBQUFXLFNBQUEsQ0FBQWxOLElBQUE7VUFBQTtRQUFBO1VBQUFrTixTQUFBLENBQUFsTixJQUFBO1VBQUE7UUFBQTtVQUFBa04sU0FBQSxDQUFBNUwsSUFBQTtVQUFBNEwsU0FBQSxDQUFBakQsRUFBQSxHQUFBaUQsU0FBQTtVQUFBVixrQkFBQTtVQUFBQyxlQUFBLEdBQUFTLFNBQUEsQ0FBQWpELEVBQUE7UUFBQTtVQUFBaUQsU0FBQSxDQUFBNUwsSUFBQTtVQUFBNEwsU0FBQSxDQUFBNUwsSUFBQTtVQUFBLE1BQUFpTCwwQkFBQSxJQUFBRyxVQUFBO1lBQUFRLFNBQUEsQ0FBQWxOLElBQUE7WUFBQTtVQUFBO1VBQUFrTixTQUFBLENBQUFsTixJQUFBO1VBQUEsT0FBQTBNLFVBQUE7UUFBQTtVQUFBUSxTQUFBLENBQUE1TCxJQUFBO1VBQUEsS0FBQWtMLGtCQUFBO1lBQUFVLFNBQUEsQ0FBQWxOLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFBQXlNLGVBQUE7UUFBQTtVQUFBLE9BQUFTLFNBQUEsQ0FBQXRMLE1BQUE7UUFBQTtVQUFBLE9BQUFzTCxTQUFBLENBQUF0TCxNQUFBO1FBQUE7UUFBQTtVQUFBLE9BQUFzTCxTQUFBLENBQUF6TCxJQUFBO01BQUE7SUFBQSxHQUFBMkssUUFBQTtFQUFBLENBRXpGO0VBQUEsT0FBQUQsaUJBQUEsQ0FBQWpLLEtBQUEsT0FBQUQsU0FBQTtBQUFBO0FBQUEsU0FFYzRJLGtCQUFrQkEsQ0FBQW9ELEdBQUE7RUFBQSxPQUFBQyxtQkFBQSxDQUFBaE0sS0FBQSxPQUFBRCxTQUFBO0FBQUE7QUFBQSxTQUFBaU0sb0JBQUE7RUFBQUEsbUJBQUEsR0FBQWxNLGlCQUFBLGNBQUF6RixtQkFBQSxHQUFBcUUsSUFBQSxDQUFqQyxTQUFBdU4sU0FBbUNsSyxPQUFlO0lBQUEsSUFBQW1LLFdBQUEsRUFBQUMsMEJBQUEsRUFBQUMsa0JBQUEsRUFBQUMsZUFBQSxFQUFBQyxVQUFBLEVBQUFDLE1BQUEsRUFBQUMsT0FBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxXQUFBLEVBQUFDLFVBQUEsRUFBQUMsa0JBQUEsRUFBQUMsY0FBQSxFQUFBQyxpQkFBQSxFQUFBQyxhQUFBLEVBQUFsQyxRQUFBO0lBQUEsT0FBQXpRLG1CQUFBLEdBQUF1QyxJQUFBLFVBQUFxUSxVQUFBQyxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQTlOLElBQUEsR0FBQThOLFNBQUEsQ0FBQXBQLElBQUE7UUFBQTtVQUMxQ29PLFdBQVcsR0FBR25GLGdCQUFJLENBQUNDLElBQUksQ0FBQ2pGLE9BQU8sRUFBRW9MLHVCQUFjLENBQUM7VUFDdER4RixtQkFBRSxDQUFDQyxhQUFhLENBQUNzRSxXQUFXLENBQUM7VUFBQUMsMEJBQUE7VUFBQUMsa0JBQUE7VUFBQWMsU0FBQSxDQUFBOU4sSUFBQTtVQUFBa04sVUFBQSxHQUFBeEwsY0FBQSxDQUVELElBQUFzTSw0QkFBb0IsRUFBQy9MLE9BQU8sQ0FBQytKLFFBQVEsQ0FBQztRQUFBO1VBQUE4QixTQUFBLENBQUFwUCxJQUFBO1VBQUEsT0FBQXdPLFVBQUEsQ0FBQXhPLElBQUE7UUFBQTtVQUFBLE1BQUFxTywwQkFBQSxLQUFBSSxNQUFBLEdBQUFXLFNBQUEsQ0FBQTlRLElBQUEsRUFBQU4sSUFBQTtZQUFBb1IsU0FBQSxDQUFBcFAsSUFBQTtZQUFBO1VBQUE7VUFBakQwTyxPQUFPLEdBQUFELE1BQUEsQ0FBQWpSLEtBQUE7VUFDaEJvUixnQkFBZ0IsR0FBRzNGLGdCQUFJLENBQUNzRSxLQUFLLENBQUNtQixPQUFPLENBQUNsQixHQUFHLENBQUM7VUFDMUNxQixXQUFXLEdBQUdELGdCQUFnQixDQUFDak8sSUFBSTtVQUNuQ21PLFVBQVUsR0FBRzdGLGdCQUFJLENBQUNDLElBQUksQ0FBQ2tGLFdBQVcsS0FBQXJGLE1BQUEsRUFBQTRGLGdCQUFBLEdBQUtELE9BQU8sQ0FBQ2hLLE9BQU8sY0FBQWlLLGdCQUFBLGNBQUFBLGdCQUFBLEdBQUluRiwyQkFBaUIsR0FBSXFGLFdBQVcsQ0FBQztVQUNqR2hGLG1CQUFFLENBQUNDLGFBQWEsQ0FBQ2dGLFVBQVUsQ0FBQztVQUV0QkMsa0JBQWtCLE1BQUFoRyxNQUFBLENBQU04RixXQUFXO1VBQ25DRyxjQUFjLEdBQUcvRixnQkFBSSxDQUFDc0csTUFBTSxDQUFDO1lBQ2pDQyxHQUFHLEVBQUVaLGdCQUFnQixDQUFDWSxHQUFHO1lBQ3pCQyxJQUFJLEVBQUVWO1VBQ1IsQ0FBQyxDQUFDO1VBRUlFLGlCQUFpQixNQUFBbEcsTUFBQSxDQUFNOEYsV0FBVztVQUNsQ0ssYUFBYSxHQUFHakcsZ0JBQUksQ0FBQ3NHLE1BQU0sQ0FBQztZQUNoQ0MsR0FBRyxFQUFFWixnQkFBZ0IsQ0FBQ1ksR0FBRztZQUN6QkMsSUFBSSxFQUFFUjtVQUNSLENBQUMsQ0FBQztVQUVJakMsUUFBeUIsR0FBRztZQUNoQ3JNLElBQUksRUFBRWtPLFdBQVc7WUFDakJuSyxPQUFPLEVBQUVnSyxPQUFPLENBQUNoSyxPQUFPO1lBQ3hCb0osUUFBUSxFQUFFLElBQUlILEdBQUcsQ0FBQ3FCLGNBQWMsRUFBRXBMLHNCQUFzQixDQUFDO1lBQ3pEbUssT0FBTyxFQUFFLElBQUlKLEdBQUcsQ0FBQ3VCLGFBQWEsRUFBRXRMLHNCQUFzQjtVQUN4RCxDQUFDO1VBQ0RpRyxtQkFBRSxDQUFDRSxhQUFhLENBQUNkLGdCQUFJLENBQUNDLElBQUksQ0FBQzRGLFVBQVUsRUFBRWQsK0JBQXNCLENBQUMsRUFBRWhCLFFBQVEsRUFBRTtZQUFFaEQsTUFBTSxFQUFFO1VBQUUsQ0FBQyxDQUFDO1FBQUE7VUFBQXFFLDBCQUFBO1VBQUFlLFNBQUEsQ0FBQXBQLElBQUE7VUFBQTtRQUFBO1VBQUFvUCxTQUFBLENBQUFwUCxJQUFBO1VBQUE7UUFBQTtVQUFBb1AsU0FBQSxDQUFBOU4sSUFBQTtVQUFBOE4sU0FBQSxDQUFBbkYsRUFBQSxHQUFBbUYsU0FBQTtVQUFBZCxrQkFBQTtVQUFBQyxlQUFBLEdBQUFhLFNBQUEsQ0FBQW5GLEVBQUE7UUFBQTtVQUFBbUYsU0FBQSxDQUFBOU4sSUFBQTtVQUFBOE4sU0FBQSxDQUFBOU4sSUFBQTtVQUFBLE1BQUErTSwwQkFBQSxJQUFBRyxVQUFBO1lBQUFZLFNBQUEsQ0FBQXBQLElBQUE7WUFBQTtVQUFBO1VBQUFvUCxTQUFBLENBQUFwUCxJQUFBO1VBQUEsT0FBQXdPLFVBQUE7UUFBQTtVQUFBWSxTQUFBLENBQUE5TixJQUFBO1VBQUEsS0FBQWdOLGtCQUFBO1lBQUFjLFNBQUEsQ0FBQXBQLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFBQXVPLGVBQUE7UUFBQTtVQUFBLE9BQUFhLFNBQUEsQ0FBQXhOLE1BQUE7UUFBQTtVQUFBLE9BQUF3TixTQUFBLENBQUF4TixNQUFBO1FBQUE7UUFBQTtVQUFBLE9BQUF3TixTQUFBLENBQUEzTixJQUFBO01BQUE7SUFBQSxHQUFBME0sUUFBQTtFQUFBLENBRTNGO0VBQUEsT0FBQUQsbUJBQUEsQ0FBQWhNLEtBQUEsT0FBQUQsU0FBQTtBQUFBO0FBRUQ0QixXQUFXLENBQUMsQ0FBQyxDQUNWL0QsSUFBSSxDQUFDO0VBQUEsT0FBTTRQLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUFBLEVBQUMsU0FDdEIsQ0FBQyxVQUFDQyxLQUFLLEVBQUs7RUFDaEJySCxPQUFPLENBQUNPLEdBQUcsQ0FBQzhHLEtBQUssQ0FBQztFQUNsQkYsT0FBTyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|