@tricoteuses/assemblee 1.7.0 → 1.7.2

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.
Files changed (127) hide show
  1. package/README.md +9 -27
  2. package/lib/bugs/acteur-00010/plugin.test.js +4 -4
  3. package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
  4. package/lib/bugs/acteur-00010.js +15 -16
  5. package/lib/bugs/acteur-00010.mjs +1 -1
  6. package/lib/bugs/agenda-00002/plugin.test.js +4 -4
  7. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  8. package/lib/bugs/agenda-00002.js +27 -28
  9. package/lib/bugs/agenda-00002.mjs +3 -3
  10. package/lib/bugs/agenda-00008/plugin.test.js +4 -4
  11. package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
  12. package/lib/bugs/agenda-00008.js +15 -16
  13. package/lib/bugs/agenda-00008.mjs +1 -1
  14. package/lib/bugs/agenda-00011/plugin.test.js +5 -5
  15. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  16. package/lib/bugs/agenda-00011.js +21 -22
  17. package/lib/bugs/agenda-00011.mjs +3 -3
  18. package/lib/bugs.js +17 -19
  19. package/lib/bugs.mjs +3 -3
  20. package/lib/cleaners/actes_legislatifs.js +5 -5
  21. package/lib/cleaners/acteurs.js +5 -5
  22. package/lib/cleaners/acteurs.mjs +1 -1
  23. package/lib/cleaners/amendements.js +5 -5
  24. package/lib/cleaners/documents.js +5 -5
  25. package/lib/cleaners/dossiers_legislatifs.js +5 -5
  26. package/lib/cleaners/organes.js +2 -2
  27. package/lib/cleaners/reunions.js +5 -5
  28. package/lib/cleaners/scrutins.js +8 -8
  29. package/lib/cleaners/xml.js +8 -8
  30. package/lib/cleaners/xml.mjs +1 -1
  31. package/lib/datasets.d.ts +2 -2
  32. package/lib/datasets.js +53 -132
  33. package/lib/datasets.mjs +40 -118
  34. package/lib/dates.js +1 -2
  35. package/lib/dossiers_legislatifs.js +8 -8
  36. package/lib/file_systems.js +18 -16
  37. package/lib/file_systems.mjs +6 -5
  38. package/lib/git.d.ts +1 -0
  39. package/lib/git.js +21 -5
  40. package/lib/git.mjs +16 -1
  41. package/lib/inserters.js +3 -3
  42. package/lib/loaders.d.ts +14 -40
  43. package/lib/loaders.js +580 -1086
  44. package/lib/loaders.mjs +110 -353
  45. package/lib/parsers/documents.js +10 -10
  46. package/lib/parsers/documents.mjs +1 -1
  47. package/lib/parsers/recherche_amendements.js +17 -15
  48. package/lib/parsers/recherche_amendements.mjs +1 -1
  49. package/lib/raw_types/acteurs_et_organes.js +9 -9
  50. package/lib/raw_types/acteurs_et_organes.mjs +1 -1
  51. package/lib/raw_types/agendas.js +9 -9
  52. package/lib/raw_types/agendas.mjs +1 -1
  53. package/lib/raw_types/amendements.js +9 -9
  54. package/lib/raw_types/amendements.mjs +1 -1
  55. package/lib/raw_types/debats.d.ts +26 -78
  56. package/lib/raw_types/debats.js +49 -242
  57. package/lib/raw_types/debats.mjs +41 -234
  58. package/lib/raw_types/dossiers_legislatifs.js +9 -9
  59. package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
  60. package/lib/raw_types/questions.js +9 -9
  61. package/lib/raw_types/questions.mjs +1 -1
  62. package/lib/raw_types/scrutins.js +9 -9
  63. package/lib/raw_types/scrutins.mjs +1 -1
  64. package/lib/scripts/bugs_helper.js +17 -18
  65. package/lib/scripts/bugs_helper.mjs +3 -3
  66. package/lib/scripts/clean_reorganized_data.js +183 -561
  67. package/lib/scripts/clean_reorganized_data.mjs +111 -410
  68. package/lib/scripts/diff_amendements.js +11 -24
  69. package/lib/scripts/diff_amendements.mjs +3 -17
  70. package/lib/scripts/document_dossiers_legislatifs.js +24 -27
  71. package/lib/scripts/document_dossiers_legislatifs.mjs +3 -3
  72. package/lib/scripts/get_today_reunions.js +5 -8
  73. package/lib/scripts/get_today_reunions.mjs +3 -7
  74. package/lib/scripts/merge_scrutins.js +11 -24
  75. package/lib/scripts/merge_scrutins.mjs +3 -17
  76. package/lib/scripts/parse_textes_lois.js +8 -38
  77. package/lib/scripts/parse_textes_lois.mjs +3 -33
  78. package/lib/scripts/raw_types_from_amendements.js +14 -27
  79. package/lib/scripts/raw_types_from_amendements.mjs +3 -17
  80. package/lib/scripts/reorganize_data.js +204 -456
  81. package/lib/scripts/reorganize_data.mjs +68 -260
  82. package/lib/scripts/retrieve_deputes_photos.d.ts +3 -1
  83. package/lib/scripts/retrieve_deputes_photos.js +146 -172
  84. package/lib/scripts/retrieve_deputes_photos.mjs +74 -98
  85. package/lib/scripts/retrieve_documents.js +207 -156
  86. package/lib/scripts/retrieve_documents.mjs +116 -128
  87. package/lib/scripts/retrieve_open_data.js +272 -249
  88. package/lib/scripts/retrieve_open_data.mjs +109 -123
  89. package/lib/scripts/retrieve_pending_amendments.js +16 -67
  90. package/lib/scripts/retrieve_pending_amendments.mjs +4 -55
  91. package/lib/scripts/retrieve_senateurs_photos.js +20 -77
  92. package/lib/scripts/retrieve_senateurs_photos.mjs +5 -61
  93. package/lib/scripts/retrieve_textes_lois.js +18 -46
  94. package/lib/scripts/retrieve_textes_lois.mjs +3 -33
  95. package/lib/scripts/shared/cli_helpers.d.ts +66 -0
  96. package/lib/scripts/shared/cli_helpers.js +90 -0
  97. package/lib/scripts/shared/cli_helpers.mjs +72 -0
  98. package/lib/scripts/test_iter_load.d.ts +1 -0
  99. package/lib/scripts/test_iter_load.js +154 -0
  100. package/lib/scripts/test_iter_load.mjs +71 -0
  101. package/lib/scripts/test_load.js +4 -15
  102. package/lib/scripts/test_load.mjs +3 -14
  103. package/lib/scripts/test_load_big_files.js +4 -15
  104. package/lib/scripts/test_load_big_files.mjs +3 -14
  105. package/lib/scripts/validate_json.js +15 -16
  106. package/lib/scripts/validate_json.mjs +3 -3
  107. package/lib/types/acteurs_et_organes.js +9 -9
  108. package/lib/types/acteurs_et_organes.mjs +1 -1
  109. package/lib/types/agendas.js +9 -9
  110. package/lib/types/agendas.mjs +1 -1
  111. package/lib/types/amendements.js +9 -9
  112. package/lib/types/amendements.mjs +1 -1
  113. package/lib/types/debats.d.ts +27 -79
  114. package/lib/types/debats.js +48 -241
  115. package/lib/types/debats.mjs +40 -233
  116. package/lib/types/dossiers_legislatifs.js +9 -9
  117. package/lib/types/dossiers_legislatifs.mjs +1 -1
  118. package/lib/types/legislatures.d.ts +4 -4
  119. package/lib/types/legislatures.js +5 -5
  120. package/lib/types/legislatures.mjs +5 -5
  121. package/lib/types/questions.js +9 -9
  122. package/lib/types/questions.mjs +1 -1
  123. package/lib/types/scrutins.js +9 -9
  124. package/lib/types/scrutins.mjs +1 -1
  125. package/lib/urls.js +2 -2
  126. package/lib/urls.mjs +1 -1
  127. package/package.json +9 -7
@@ -36,6 +36,7 @@ require("core-js/modules/es.array.iterator.js");
36
36
  require("core-js/modules/es.array.join.js");
37
37
  require("core-js/modules/es.array.map.js");
38
38
  require("core-js/modules/es.array.sort.js");
39
+ require("core-js/modules/es.date.to-json.js");
39
40
  require("core-js/modules/es.object.to-string.js");
40
41
  require("core-js/modules/es.object.values.js");
41
42
  require("core-js/modules/es.promise.js");
@@ -43,6 +44,7 @@ require("core-js/modules/es.string.iterator.js");
43
44
  require("core-js/modules/es.string.starts-with.js");
44
45
  require("core-js/modules/web.dom-collections.iterator.js");
45
46
  require("core-js/modules/web.url.js");
47
+ require("core-js/modules/web.url.to-json.js");
46
48
  require("core-js/modules/web.url-search-params.js");
47
49
  var _assert = _interopRequireDefault(require("assert"));
48
50
  var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
@@ -53,60 +55,30 @@ var git = _interopRequireWildcard(require("../git"));
53
55
  var _loaders = require("../loaders");
54
56
  var _dossiers_legislatifs = require("../types/dossiers_legislatifs");
55
57
  var _urls = require("../urls");
58
+ var _cli_helpers = require("./shared/cli_helpers");
56
59
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
57
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
58
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
59
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { 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 && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
60
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
60
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
61
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
62
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { 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 && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
63
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
61
64
  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."); }
62
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
63
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
65
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
66
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
64
67
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
65
68
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
66
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
67
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
69
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
70
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
68
71
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
69
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
70
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
71
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
72
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
73
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } /// Deprecated: Use script retrieve_documents.ts instead.
74
- var optionsDefinitions = [{
75
- alias: "c",
76
- help: "commit documents",
77
- name: "commit",
78
- type: Boolean
79
- }, {
80
- alias: "l",
81
- defaultValue: "16",
82
- name: "legislature",
83
- type: String
84
- }, {
85
- alias: "r",
86
- help: "push commit to given remote",
87
- multiple: true,
88
- name: "remote",
89
- type: String
90
- }, {
91
- alias: "s",
92
- help: "don't log anything",
93
- name: "silent",
94
- type: Boolean
95
- }, {
72
+ 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; } } }; }
73
+ 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; } }
74
+ 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; }
75
+ 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); }
76
+ 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); }); }; } /// Deprecated: Use script retrieve_documents.ts instead.
77
+ var optionsDefinitions = [_cli_helpers.commitOption, _cli_helpers.legislatureOption, _cli_helpers.remoteOption, _cli_helpers.silentOption, _cli_helpers.verboseOption, _cli_helpers.dataDirDefaultOption, {
96
78
  alias: "u",
97
79
  help: "UID of first Assemblée's document to retrieve",
98
80
  name: "uid",
99
81
  type: String
100
- }, {
101
- alias: "v",
102
- help: "verbose logs",
103
- name: "verbose",
104
- type: Boolean
105
- }, {
106
- defaultOption: true,
107
- help: "directory containing Assemblée open data files",
108
- name: "dataDir",
109
- type: String
110
82
  }];
111
83
  var options = (0, _commandLineArgs["default"])(optionsDefinitions);
112
84
 
@@ -265,4 +237,4 @@ retrieveDocuments().then(function (exitCode) {
265
237
  console.log(error);
266
238
  process.exit(1);
267
239
  });
268
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9kYXRhc2V0cyIsImdpdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2xvYWRlcnMiLCJfZG9zc2llcnNfbGVnaXNsYXRpZnMiLCJfdXJscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm9iaiIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJvIiwidmFsdWUiLCJTeW1ib2wiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5Iiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwia2V5IiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJ0b1ByaW1pdGl2ZSIsIk51bWJlciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIkYiLCJfZSIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJzdGVwIiwiX2UyIiwibWluTGVuIiwidG9TdHJpbmciLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93IiwiaW5mbyIsImVycm9yIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwidW5kZWZpbmVkIiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJoZWxwIiwiQm9vbGVhbiIsImRlZmF1bHRWYWx1ZSIsIm11bHRpcGxlIiwiZGVmYXVsdE9wdGlvbiIsIm9wdGlvbnMiLCJjb21tYW5kTGluZUFyZ3MiLCJyZXRyaWV2ZURvY3VtZW50cyIsIl9yZXRyaWV2ZURvY3VtZW50cyIsIl9jYWxsZWUiLCJkYXRhRGlyIiwiX2xvYWRBc3NlbWJsZWVEYXRhIiwiZG9jdW1lbnRCeVVpZCIsInRleHRlc0xvaXNEaXIiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImZpbGVuYW1lIiwidGV4dGVzTG9pcyIsImZpcnN0VWlkIiwic2tpcCIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJ0ZXh0ZUxvaSIsInVybCIsImZpbGVQYXRoIiwicmVzcG9uc2UiLCJwYWdlIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImFzc2VydCIsImNvbW1pdCIsInVpZCIsImxvYWRBc3NlbWJsZWVEYXRhIiwiRW5hYmxlZERhdGFzZXRzIiwiRG9zc2llcnNMZWdpc2xhdGlmcyIsImxlZ2lzbGF0dXJlIiwicGF0aCIsImpvaW4iLCJmcyIsImVuc3VyZURpclN5bmMiLCJyZWFkZGlyU3luYyIsInJlbW92ZVN5bmMiLCJ0MCIsImRvY3VtZW50IiwieHNpVHlwZSIsIlR5cGVEb2N1bWVudCIsIlRleHRlTG9pVHlwZSIsInN0YXJ0c1dpdGgiLCJtYXAiLCJyYXdEb2N1bWVudEFzc2VtYmxlZVVybCIsInVybEZyb21Eb2N1bWVudCIsIkRvY3VtZW50VXJsRm9ybWF0IiwiUmF3SHRtbCIsInNvcnQiLCJiIiwibG9jYWxlQ29tcGFyZSIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJjb25jYXQiLCJVUkwiLCJob3N0bmFtZSIsInBhdGhuYW1lIiwic3BsaXQiLCJzdHJpY3RFcXVhbCIsImRpcm5hbWUiLCJmZXRjaCIsInRleHQiLCJvayIsInN0YXR1cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJjb2RlIiwibWVzc2FnZSIsInN0YXR1c1RleHQiLCJ3cml0ZUZpbGVTeW5jIiwidDEiLCJjb21taXRBbmRQdXNoIiwicmVtb3RlIiwiZXhpdENvZGUiLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3JldHJpZXZlX3RleHRlc19sb2lzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vLyBEZXByZWNhdGVkOiBVc2Ugc2NyaXB0IHJldHJpZXZlX2RvY3VtZW50cy50cyBpbnN0ZWFkLlxuXG5pbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5pbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4uL2dpdFwiXG5pbXBvcnQgeyBsb2FkQXNzZW1ibGVlRGF0YSB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7IFR5cGVEb2N1bWVudCB9IGZyb20gXCIuLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5pbXBvcnQgeyBEb2N1bWVudFVybEZvcm1hdCwgdXJsRnJvbURvY3VtZW50IH0gZnJvbSBcIi4uL3VybHNcIlxuXG5jb25zdCBvcHRpb25zRGVmaW5pdGlvbnMgPSBbXG4gIHtcbiAgICBhbGlhczogXCJjXCIsXG4gICAgaGVscDogXCJjb21taXQgZG9jdW1lbnRzXCIsXG4gICAgbmFtZTogXCJjb21taXRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwibFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogXCIxNlwiLFxuICAgIG5hbWU6IFwibGVnaXNsYXR1cmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJyXCIsXG4gICAgaGVscDogXCJwdXNoIGNvbW1pdCB0byBnaXZlbiByZW1vdGVcIixcbiAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICBuYW1lOiBcInJlbW90ZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInNcIixcbiAgICBoZWxwOiBcImRvbid0IGxvZyBhbnl0aGluZ1wiLFxuICAgIG5hbWU6IFwic2lsZW50XCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInVcIixcbiAgICBoZWxwOiBcIlVJRCBvZiBmaXJzdCBBc3NlbWJsw6llJ3MgZG9jdW1lbnQgdG8gcmV0cmlldmVcIixcbiAgICBuYW1lOiBcInVpZFwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInZcIixcbiAgICBoZWxwOiBcInZlcmJvc2UgbG9nc1wiLFxuICAgIG5hbWU6IFwidmVyYm9zZVwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICAgIGhlbHA6IFwiZGlyZWN0b3J5IGNvbnRhaW5pbmcgQXNzZW1ibMOpZSBvcGVuIGRhdGEgZmlsZXNcIixcbiAgICBuYW1lOiBcImRhdGFEaXJcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcblxuLy8vIERlcHJlY2F0ZWQ6IFVzZSBzY3JpcHQgcmV0cmlldmVfZG9jdW1lbnRzLnRzIGluc3RlYWQuXG5hc3luYyBmdW5jdGlvbiByZXRyaWV2ZURvY3VtZW50cygpOiBQcm9taXNlPG51bWJlcj4ge1xuICBhc3NlcnQoXG4gICAgIW9wdGlvbnMuY29tbWl0IHx8IG9wdGlvbnMudWlkLFxuICAgICdPcHRpb25zIFwiY29tbWl0XCIgJiBcInVpZFwiIGFyZSBpbmNvbXBhdGlibGUnLFxuICApXG5cbiAgY29uc3QgZGF0YURpciA9IG9wdGlvbnMuZGF0YURpclxuICBjb25zdCB7IGRvY3VtZW50QnlVaWQgfSA9IGxvYWRBc3NlbWJsZWVEYXRhKFxuICAgIGRhdGFEaXIsXG4gICAgRW5hYmxlZERhdGFzZXRzLkRvc3NpZXJzTGVnaXNsYXRpZnMsXG4gICAgb3B0aW9ucy5sZWdpc2xhdHVyZSxcbiAgKVxuXG4gIGNvbnN0IHRleHRlc0xvaXNEaXIgPSBwYXRoLmpvaW4oXG4gICAgZGF0YURpcixcbiAgICBcInd3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyXCIsXG4gICAgb3B0aW9ucy5sZWdpc2xhdHVyZSxcbiAgICBcInRleHRlc1wiLFxuICApXG4gIGZzLmVuc3VyZURpclN5bmModGV4dGVzTG9pc0RpcilcbiAgaWYgKCFvcHRpb25zLnVpZCkge1xuICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZnMucmVhZGRpclN5bmModGV4dGVzTG9pc0RpcikpIHtcbiAgICAgIGlmIChmaWxlbmFtZVswXSA9PT0gXCIuXCIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGZzLnJlbW92ZVN5bmMocGF0aC5qb2luKHRleHRlc0xvaXNEaXIsIGZpbGVuYW1lKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCB0ZXh0ZXNMb2lzID0gT2JqZWN0LnZhbHVlcyhkb2N1bWVudEJ5VWlkKVxuICAgIC5maWx0ZXIoKGRvY3VtZW50KSA9PiBkb2N1bWVudC54c2lUeXBlID09PSBUeXBlRG9jdW1lbnQuVGV4dGVMb2lUeXBlKVxuICAgIC5maWx0ZXIoXG4gICAgICAoZG9jdW1lbnQpID0+XG4gICAgICAgIGRvY3VtZW50LnVpZC5zdGFydHNXaXRoKFwiUElPTkFOXCIpIHx8IGRvY3VtZW50LnVpZC5zdGFydHNXaXRoKFwiUFJKTEFOXCIpLFxuICAgIClcbiAgICAubWFwKChkb2N1bWVudCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZG9jdW1lbnQsXG4gICAgICAgIHJhd0RvY3VtZW50QXNzZW1ibGVlVXJsOiB1cmxGcm9tRG9jdW1lbnQoXG4gICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgRG9jdW1lbnRVcmxGb3JtYXQuUmF3SHRtbCxcbiAgICAgICAgKSxcbiAgICAgIH1cbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PlxuICAgICAgYS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybCA9PT0gbnVsbFxuICAgICAgICA/IC0xXG4gICAgICAgIDogYi5yYXdEb2N1bWVudEFzc2VtYmxlZVVybCA9PT0gbnVsbFxuICAgICAgICAgID8gMVxuICAgICAgICAgIDogYS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybC5sb2NhbGVDb21wYXJlKGIucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwpLFxuICAgIClcblxuICBjb25zdCBmaXJzdFVpZCA9IG9wdGlvbnMudWlkXG4gIGxldCBza2lwID0gISFmaXJzdFVpZFxuICBmb3IgKGNvbnN0IHRleHRlTG9pIG9mIHRleHRlc0xvaXMpIHtcbiAgICBpZiAoc2tpcCkge1xuICAgICAgaWYgKHRleHRlTG9pLnVpZCA9PT0gZmlyc3RVaWQpIHtcbiAgICAgICAgc2tpcCA9IGZhbHNlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFJldHJpZXZpbmcgYmlsbCAke3RleHRlTG9pLnVpZH0gYXQgJHt0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybH1gLFxuICAgICAgKVxuICAgIH1cbiAgICBpZiAodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwpXG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICBkYXRhRGlyLFxuICAgICAgdXJsLmhvc3RuYW1lLFxuICAgICAgLi4udXJsLnBhdGhuYW1lLnNwbGl0KFwiL1wiKSxcbiAgICApXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHRleHRlc0xvaXNEaXIsIHBhdGguZGlybmFtZShmaWxlUGF0aCkpXG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHRleHRlTG9pLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsKVxuICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KClcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSA0MDQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBgRXJyb3Igd2hpbGUgZ2V0dGluZyBwYWdlIFwiJHtcbiAgICAgICAgICAgIHRleHRlTG9pLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsXG4gICAgICAgICAgfVwiICh1aWQ6ICR7dGV4dGVMb2kudWlkfSk6XFxuXFxuRXJyb3I6XFxuJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHsgY29kZTogcmVzcG9uc2Uuc3RhdHVzLCBtZXNzYWdlOiByZXNwb25zZS5zdGF0dXNUZXh0IH0sXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgMixcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIHBhZ2UpXG4gIH1cblxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICByZXR1cm4gZ2l0LmNvbW1pdEFuZFB1c2godGV4dGVzTG9pc0RpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIsIG9wdGlvbnMucmVtb3RlKVxuICB9XG4gIHJldHVybiAwXG59XG5cbnJldHJpZXZlRG9jdW1lbnRzKClcbiAgLnRoZW4oKGV4aXRDb2RlKSA9PiBwcm9jZXNzLmV4aXQoZXhpdENvZGUpKVxuICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxnQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssR0FBQSxHQUFBQyx1QkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEscUJBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLEtBQUEsR0FBQVQsT0FBQTtBQUE0RCxTQUFBVSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUwsd0JBQUFLLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEs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
240
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9kYXRhc2V0cyIsImdpdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2xvYWRlcnMiLCJfZG9zc2llcnNfbGVnaXNsYXRpZnMiLCJfdXJscyIsIl9jbGlfaGVscGVycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJwcm90b3R5cGUiLCJvIiwidmFsdWUiLCJTeW1ib2wiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJ0b1N0cmluZyIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93Iiwib3B0aW9uc0RlZmluaXRpb25zIiwiY29tbWl0T3B0aW9uIiwibGVnaXNsYXR1cmVPcHRpb24iLCJyZW1vdGVPcHRpb24iLCJzaWxlbnRPcHRpb24iLCJ2ZXJib3NlT3B0aW9uIiwiZGF0YURpckRlZmF1bHRPcHRpb24iLCJhbGlhcyIsImhlbHAiLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwicmV0cmlldmVEb2N1bWVudHMiLCJfcmV0cmlldmVEb2N1bWVudHMiLCJfY2FsbGVlIiwiZGF0YURpciIsIl9sb2FkQXNzZW1ibGVlRGF0YSIsImRvY3VtZW50QnlVaWQiLCJ0ZXh0ZXNMb2lzRGlyIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJmaWxlbmFtZSIsInRleHRlc0xvaXMiLCJmaXJzdFVpZCIsInNraXAiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwidGV4dGVMb2kiLCJ1cmwiLCJmaWxlUGF0aCIsInJlc3BvbnNlIiwicGFnZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJhc3NlcnQiLCJjb21taXQiLCJ1aWQiLCJsb2FkQXNzZW1ibGVlRGF0YSIsIkVuYWJsZWREYXRhc2V0cyIsIkRvc3NpZXJzTGVnaXNsYXRpZnMiLCJsZWdpc2xhdHVyZSIsInBhdGgiLCJqb2luIiwiZnMiLCJlbnN1cmVEaXJTeW5jIiwicmVhZGRpclN5bmMiLCJyZW1vdmVTeW5jIiwidDAiLCJkb2N1bWVudCIsInhzaVR5cGUiLCJUeXBlRG9jdW1lbnQiLCJUZXh0ZUxvaVR5cGUiLCJzdGFydHNXaXRoIiwibWFwIiwicmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwiLCJ1cmxGcm9tRG9jdW1lbnQiLCJEb2N1bWVudFVybEZvcm1hdCIsIlJhd0h0bWwiLCJzb3J0IiwiYiIsImxvY2FsZUNvbXBhcmUiLCJzaWxlbnQiLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwiVVJMIiwiaG9zdG5hbWUiLCJwYXRobmFtZSIsInNwbGl0Iiwic3RyaWN0RXF1YWwiLCJkaXJuYW1lIiwiZmV0Y2giLCJ0ZXh0Iiwib2siLCJzdGF0dXMiLCJlcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJjb2RlIiwibWVzc2FnZSIsInN0YXR1c1RleHQiLCJ3cml0ZUZpbGVTeW5jIiwidDEiLCJjb21taXRBbmRQdXNoIiwicmVtb3RlIiwiZXhpdENvZGUiLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3JldHJpZXZlX3RleHRlc19sb2lzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vLyBEZXByZWNhdGVkOiBVc2Ugc2NyaXB0IHJldHJpZXZlX2RvY3VtZW50cy50cyBpbnN0ZWFkLlxuXG5pbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5pbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4uL2dpdFwiXG5pbXBvcnQgeyBsb2FkQXNzZW1ibGVlRGF0YSB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7IFR5cGVEb2N1bWVudCB9IGZyb20gXCIuLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5pbXBvcnQgeyBEb2N1bWVudFVybEZvcm1hdCwgdXJsRnJvbURvY3VtZW50IH0gZnJvbSBcIi4uL3VybHNcIlxuaW1wb3J0IHtcbiAgY29tbWl0T3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxuICB2ZXJib3NlT3B0aW9uLFxufSBmcm9tIFwiLi9zaGFyZWQvY2xpX2hlbHBlcnNcIlxuXG5jb25zdCBvcHRpb25zRGVmaW5pdGlvbnMgPSBbXG4gIGNvbW1pdE9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxuICB2ZXJib3NlT3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcInVcIixcbiAgICBoZWxwOiBcIlVJRCBvZiBmaXJzdCBBc3NlbWJsw6llJ3MgZG9jdW1lbnQgdG8gcmV0cmlldmVcIixcbiAgICBuYW1lOiBcInVpZFwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG4vLy8gRGVwcmVjYXRlZDogVXNlIHNjcmlwdCByZXRyaWV2ZV9kb2N1bWVudHMudHMgaW5zdGVhZC5cbmFzeW5jIGZ1bmN0aW9uIHJldHJpZXZlRG9jdW1lbnRzKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGFzc2VydChcbiAgICAhb3B0aW9ucy5jb21taXQgfHwgb3B0aW9ucy51aWQsXG4gICAgJ09wdGlvbnMgXCJjb21taXRcIiAmIFwidWlkXCIgYXJlIGluY29tcGF0aWJsZScsXG4gIClcblxuICBjb25zdCBkYXRhRGlyID0gb3B0aW9ucy5kYXRhRGlyXG4gIGNvbnN0IHsgZG9jdW1lbnRCeVVpZCB9ID0gbG9hZEFzc2VtYmxlZURhdGEoXG4gICAgZGF0YURpcixcbiAgICBFbmFibGVkRGF0YXNldHMuRG9zc2llcnNMZWdpc2xhdGlmcyxcbiAgICBvcHRpb25zLmxlZ2lzbGF0dXJlLFxuICApXG5cbiAgY29uc3QgdGV4dGVzTG9pc0RpciA9IHBhdGguam9pbihcbiAgICBkYXRhRGlyLFxuICAgIFwid3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnJcIixcbiAgICBvcHRpb25zLmxlZ2lzbGF0dXJlLFxuICAgIFwidGV4dGVzXCIsXG4gIClcbiAgZnMuZW5zdXJlRGlyU3luYyh0ZXh0ZXNMb2lzRGlyKVxuICBpZiAoIW9wdGlvbnMudWlkKSB7XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmcy5yZWFkZGlyU3luYyh0ZXh0ZXNMb2lzRGlyKSkge1xuICAgICAgaWYgKGZpbGVuYW1lWzBdID09PSBcIi5cIikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgZnMucmVtb3ZlU3luYyhwYXRoLmpvaW4odGV4dGVzTG9pc0RpciwgZmlsZW5hbWUpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRleHRlc0xvaXMgPSBPYmplY3QudmFsdWVzKGRvY3VtZW50QnlVaWQpXG4gICAgLmZpbHRlcigoZG9jdW1lbnQpID0+IGRvY3VtZW50LnhzaVR5cGUgPT09IFR5cGVEb2N1bWVudC5UZXh0ZUxvaVR5cGUpXG4gICAgLmZpbHRlcihcbiAgICAgIChkb2N1bWVudCkgPT5cbiAgICAgICAgZG9jdW1lbnQudWlkLnN0YXJ0c1dpdGgoXCJQSU9OQU5cIikgfHwgZG9jdW1lbnQudWlkLnN0YXJ0c1dpdGgoXCJQUkpMQU5cIiksXG4gICAgKVxuICAgIC5tYXAoKGRvY3VtZW50KSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kb2N1bWVudCxcbiAgICAgICAgcmF3RG9jdW1lbnRBc3NlbWJsZWVVcmw6IHVybEZyb21Eb2N1bWVudChcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICBEb2N1bWVudFVybEZvcm1hdC5SYXdIdG1sLFxuICAgICAgICApLFxuICAgICAgfVxuICAgIH0pXG4gICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICBhLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsID09PSBudWxsXG4gICAgICAgID8gLTFcbiAgICAgICAgOiBiLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsID09PSBudWxsXG4gICAgICAgICAgPyAxXG4gICAgICAgICAgOiBhLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsLmxvY2FsZUNvbXBhcmUoYi5yYXdEb2N1bWVudEFzc2VtYmxlZVVybCksXG4gICAgKVxuXG4gIGNvbnN0IGZpcnN0VWlkID0gb3B0aW9ucy51aWRcbiAgbGV0IHNraXAgPSAhIWZpcnN0VWlkXG4gIGZvciAoY29uc3QgdGV4dGVMb2kgb2YgdGV4dGVzTG9pcykge1xuICAgIGlmIChza2lwKSB7XG4gICAgICBpZiAodGV4dGVMb2kudWlkID09PSBmaXJzdFVpZCkge1xuICAgICAgICBza2lwID0gZmFsc2VcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgUmV0cmlldmluZyBiaWxsICR7dGV4dGVMb2kudWlkfSBhdCAke3RleHRlTG9pLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsfWAsXG4gICAgICApXG4gICAgfVxuICAgIGlmICh0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybCA9PT0gbnVsbCkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybClcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICB1cmwuaG9zdG5hbWUsXG4gICAgICAuLi51cmwucGF0aG5hbWUuc3BsaXQoXCIvXCIpLFxuICAgIClcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwodGV4dGVzTG9pc0RpciwgcGF0aC5kaXJuYW1lKGZpbGVQYXRoKSlcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwpXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDQwNCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIGBFcnJvciB3aGlsZSBnZXR0aW5nIHBhZ2UgXCIke1xuICAgICAgICAgICAgdGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmxcbiAgICAgICAgICB9XCIgKHVpZDogJHt0ZXh0ZUxvaS51aWR9KTpcXG5cXG5FcnJvcjpcXG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgeyBjb2RlOiByZXNwb25zZS5zdGF0dXMsIG1lc3NhZ2U6IHJlc3BvbnNlLnN0YXR1c1RleHQgfSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAyLFxuICAgICAgICAgICl9YCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgY29udGludWVcbiAgICB9XG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgcGFnZSlcbiAgfVxuXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIHJldHVybiBnaXQuY29tbWl0QW5kUHVzaCh0ZXh0ZXNMb2lzRGlyLCBcIk5vdXZlbGxlIG1vaXNzb25cIiwgb3B0aW9ucy5yZW1vdGUpXG4gIH1cbiAgcmV0dXJuIDBcbn1cblxucmV0cmlldmVEb2N1bWVudHMoKVxuICAudGhlbigoZXhpdENvZGUpID0+IHByb2Nlc3MuZXhpdChleGl0Q29kZSkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQVAs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
@@ -9,42 +9,12 @@ import * as git from "../git.mjs";
9
9
  import { loadAssembleeData } from "../loaders.mjs";
10
10
  import { TypeDocument } from "../types/dossiers_legislatifs.mjs";
11
11
  import { DocumentUrlFormat, urlFromDocument } from "../urls.mjs";
12
- const optionsDefinitions = [{
13
- alias: "c",
14
- help: "commit documents",
15
- name: "commit",
16
- type: Boolean
17
- }, {
18
- alias: "l",
19
- defaultValue: "16",
20
- name: "legislature",
21
- type: String
22
- }, {
23
- alias: "r",
24
- help: "push commit to given remote",
25
- multiple: true,
26
- name: "remote",
27
- type: String
28
- }, {
29
- alias: "s",
30
- help: "don't log anything",
31
- name: "silent",
32
- type: Boolean
33
- }, {
12
+ import { commitOption, dataDirDefaultOption, legislatureOption, remoteOption, silentOption, verboseOption } from "./shared/cli_helpers.mjs";
13
+ const optionsDefinitions = [commitOption, legislatureOption, remoteOption, silentOption, verboseOption, dataDirDefaultOption, {
34
14
  alias: "u",
35
15
  help: "UID of first Assemblée's document to retrieve",
36
16
  name: "uid",
37
17
  type: String
38
- }, {
39
- alias: "v",
40
- help: "verbose logs",
41
- name: "verbose",
42
- type: Boolean
43
- }, {
44
- defaultOption: true,
45
- help: "directory containing Assemblée open data files",
46
- name: "dataDir",
47
- type: String
48
18
  }];
49
19
  const options = commandLineArgs(optionsDefinitions);
50
20
 
@@ -112,4 +82,4 @@ retrieveDocuments().then(exitCode => process.exit(exitCode)).catch(error => {
112
82
  console.log(error);
113
83
  process.exit(1);
114
84
  });
115
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjb21tYW5kTGluZUFyZ3MiLCJmcyIsInBhdGgiLCJFbmFibGVkRGF0YXNldHMiLCJnaXQiLCJsb2FkQXNzZW1ibGVlRGF0YSIsIlR5cGVEb2N1bWVudCIsIkRvY3VtZW50VXJsRm9ybWF0IiwidXJsRnJvbURvY3VtZW50Iiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJoZWxwIiwibmFtZSIsInR5cGUiLCJCb29sZWFuIiwiZGVmYXVsdFZhbHVlIiwiU3RyaW5nIiwibXVsdGlwbGUiLCJkZWZhdWx0T3B0aW9uIiwib3B0aW9ucyIsInJldHJpZXZlRG9jdW1lbnRzIiwiY29tbWl0IiwidWlkIiwiZGF0YURpciIsImRvY3VtZW50QnlVaWQiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzIiwibGVnaXNsYXR1cmUiLCJ0ZXh0ZXNMb2lzRGlyIiwiam9pbiIsImVuc3VyZURpclN5bmMiLCJmaWxlbmFtZSIsInJlYWRkaXJTeW5jIiwicmVtb3ZlU3luYyIsInRleHRlc0xvaXMiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJkb2N1bWVudCIsInhzaVR5cGUiLCJUZXh0ZUxvaVR5cGUiLCJzdGFydHNXaXRoIiwibWFwIiwicmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwiLCJSYXdIdG1sIiwic29ydCIsImEiLCJiIiwibG9jYWxlQ29tcGFyZSIsImZpcnN0VWlkIiwic2tpcCIsInRleHRlTG9pIiwic2lsZW50IiwiY29uc29sZSIsImxvZyIsInVybCIsIlVSTCIsImZpbGVQYXRoIiwiaG9zdG5hbWUiLCJwYXRobmFtZSIsInNwbGl0Iiwic3RyaWN0RXF1YWwiLCJkaXJuYW1lIiwicmVzcG9uc2UiLCJmZXRjaCIsInBhZ2UiLCJ0ZXh0Iiwib2siLCJzdGF0dXMiLCJlcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJjb2RlIiwibWVzc2FnZSIsInN0YXR1c1RleHQiLCJ3cml0ZUZpbGVTeW5jIiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsInRoZW4iLCJleGl0Q29kZSIsInByb2Nlc3MiLCJleGl0IiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV90ZXh0ZXNfbG9pcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gRGVwcmVjYXRlZDogVXNlIHNjcmlwdCByZXRyaWV2ZV9kb2N1bWVudHMudHMgaW5zdGVhZC5cblxuaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBFbmFibGVkRGF0YXNldHMgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuaW1wb3J0ICogYXMgZ2l0IGZyb20gXCIuLi9naXRcIlxuaW1wb3J0IHsgbG9hZEFzc2VtYmxlZURhdGEgfSBmcm9tIFwiLi4vbG9hZGVyc1wiXG5pbXBvcnQgeyBUeXBlRG9jdW1lbnQgfSBmcm9tIFwiLi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgRG9jdW1lbnRVcmxGb3JtYXQsIHVybEZyb21Eb2N1bWVudCB9IGZyb20gXCIuLi91cmxzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwiY1wiLFxuICAgIGhlbHA6IFwiY29tbWl0IGRvY3VtZW50c1wiLFxuICAgIG5hbWU6IFwiY29tbWl0XCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImxcIixcbiAgICBkZWZhdWx0VmFsdWU6IFwiMTZcIixcbiAgICBuYW1lOiBcImxlZ2lzbGF0dXJlXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiclwiLFxuICAgIGhlbHA6IFwicHVzaCBjb21taXQgdG8gZ2l2ZW4gcmVtb3RlXCIsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgbmFtZTogXCJyZW1vdGVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJzXCIsXG4gICAgaGVscDogXCJkb24ndCBsb2cgYW55dGhpbmdcIixcbiAgICBuYW1lOiBcInNpbGVudFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJ1XCIsXG4gICAgaGVscDogXCJVSUQgb2YgZmlyc3QgQXNzZW1ibMOpZSdzIGRvY3VtZW50IHRvIHJldHJpZXZlXCIsXG4gICAgbmFtZTogXCJ1aWRcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJ2XCIsXG4gICAgaGVscDogXCJ2ZXJib3NlIGxvZ3NcIixcbiAgICBuYW1lOiBcInZlcmJvc2VcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICBoZWxwOiBcImRpcmVjdG9yeSBjb250YWluaW5nIEFzc2VtYmzDqWUgb3BlbiBkYXRhIGZpbGVzXCIsXG4gICAgbmFtZTogXCJkYXRhRGlyXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbi8vLyBEZXByZWNhdGVkOiBVc2Ugc2NyaXB0IHJldHJpZXZlX2RvY3VtZW50cy50cyBpbnN0ZWFkLlxuYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVEb2N1bWVudHMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgYXNzZXJ0KFxuICAgICFvcHRpb25zLmNvbW1pdCB8fCBvcHRpb25zLnVpZCxcbiAgICAnT3B0aW9ucyBcImNvbW1pdFwiICYgXCJ1aWRcIiBhcmUgaW5jb21wYXRpYmxlJyxcbiAgKVxuXG4gIGNvbnN0IGRhdGFEaXIgPSBvcHRpb25zLmRhdGFEaXJcbiAgY29uc3QgeyBkb2N1bWVudEJ5VWlkIH0gPSBsb2FkQXNzZW1ibGVlRGF0YShcbiAgICBkYXRhRGlyLFxuICAgIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gIClcblxuICBjb25zdCB0ZXh0ZXNMb2lzRGlyID0gcGF0aC5qb2luKFxuICAgIGRhdGFEaXIsXG4gICAgXCJ3d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mclwiLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gICAgXCJ0ZXh0ZXNcIixcbiAgKVxuICBmcy5lbnN1cmVEaXJTeW5jKHRleHRlc0xvaXNEaXIpXG4gIGlmICghb3B0aW9ucy51aWQpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIGZzLnJlYWRkaXJTeW5jKHRleHRlc0xvaXNEaXIpKSB7XG4gICAgICBpZiAoZmlsZW5hbWVbMF0gPT09IFwiLlwiKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBmcy5yZW1vdmVTeW5jKHBhdGguam9pbih0ZXh0ZXNMb2lzRGlyLCBmaWxlbmFtZSkpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgdGV4dGVzTG9pcyA9IE9iamVjdC52YWx1ZXMoZG9jdW1lbnRCeVVpZClcbiAgICAuZmlsdGVyKChkb2N1bWVudCkgPT4gZG9jdW1lbnQueHNpVHlwZSA9PT0gVHlwZURvY3VtZW50LlRleHRlTG9pVHlwZSlcbiAgICAuZmlsdGVyKFxuICAgICAgKGRvY3VtZW50KSA9PlxuICAgICAgICBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBJT05BTlwiKSB8fCBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBSSkxBTlwiKSxcbiAgICApXG4gICAgLm1hcCgoZG9jdW1lbnQpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRvY3VtZW50LFxuICAgICAgICByYXdEb2N1bWVudEFzc2VtYmxlZVVybDogdXJsRnJvbURvY3VtZW50KFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIERvY3VtZW50VXJsRm9ybWF0LlJhd0h0bWwsXG4gICAgICAgICksXG4gICAgICB9XG4gICAgfSlcbiAgICAuc29ydCgoYSwgYikgPT5cbiAgICAgIGEucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgICAgICAgPyAtMVxuICAgICAgICA6IGIucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgICAgICAgICA/IDFcbiAgICAgICAgICA6IGEucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwubG9jYWxlQ29tcGFyZShiLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsKSxcbiAgICApXG5cbiAgY29uc3QgZmlyc3RVaWQgPSBvcHRpb25zLnVpZFxuICBsZXQgc2tpcCA9ICEhZmlyc3RVaWRcbiAgZm9yIChjb25zdCB0ZXh0ZUxvaSBvZiB0ZXh0ZXNMb2lzKSB7XG4gICAgaWYgKHNraXApIHtcbiAgICAgIGlmICh0ZXh0ZUxvaS51aWQgPT09IGZpcnN0VWlkKSB7XG4gICAgICAgIHNraXAgPSBmYWxzZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBSZXRyaWV2aW5nIGJpbGwgJHt0ZXh0ZUxvaS51aWR9IGF0ICR7dGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmx9YCxcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKHRleHRlTG9pLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsID09PSBudWxsKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRleHRlTG9pLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsKVxuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIHVybC5ob3N0bmFtZSxcbiAgICAgIC4uLnVybC5wYXRobmFtZS5zcGxpdChcIi9cIiksXG4gICAgKVxuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0ZXh0ZXNMb2lzRGlyLCBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpKVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybClcbiAgICBjb25zdCBwYWdlID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gNDA0KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgYEVycm9yIHdoaWxlIGdldHRpbmcgcGFnZSBcIiR7XG4gICAgICAgICAgICB0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybFxuICAgICAgICAgIH1cIiAodWlkOiAke3RleHRlTG9pLnVpZH0pOlxcblxcbkVycm9yOlxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICB7IGNvZGU6IHJlc3BvbnNlLnN0YXR1cywgbWVzc2FnZTogcmVzcG9uc2Uuc3RhdHVzVGV4dCB9LFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIDIsXG4gICAgICAgICAgKX1gLFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBwYWdlKVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHRleHRlc0xvaXNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5yZXRyaWV2ZURvY3VtZW50cygpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoi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LEdBQUcsSUFBSUMsR0FBRyxDQUFDTCxRQUFRLENBQUNSLHVCQUF1QixDQUFDO0lBQ3JELE1BQU1jLFFBQVEsR0FBR3RELElBQUksQ0FBQzBCLElBQUksQ0FDeEJMLE9BQU8sRUFDUCtCLEdBQUcsQ0FBQ0csUUFBUSxFQUNaLEdBQUdILEdBQUcsQ0FBQ0ksUUFBUSxDQUFDQyxLQUFLLENBQUMsR0FBRyxDQUMzQixDQUFDO0lBQ0Q1RCxNQUFNLENBQUM2RCxXQUFXLENBQUNqQyxhQUFhLEVBQUV6QixJQUFJLENBQUMyRCxPQUFPLENBQUNMLFFBQVEsQ0FBQyxDQUFDO0lBRXpELE1BQU1NLFFBQVEsR0FBRyxNQUFNQyxLQUFLLENBQUNiLFFBQVEsQ0FBQ1IsdUJBQXVCLENBQUM7SUFDOUQsTUFBTXNCLElBQUksR0FBRyxNQUFNRixRQUFRLENBQUNHLElBQUksQ0FBQyxDQUFDO0lBQ2xDLElBQUksQ0FBQ0gsUUFBUSxDQUFDSSxFQUFFLEVBQUU7TUFDaEIsSUFBSUosUUFBUSxDQUFDSyxNQUFNLEtBQUssR0FBRyxFQUFFO1FBQzNCZixPQUFPLENBQUNnQixLQUFLLENBQ1YsNkJBQ0NsQixRQUFRLENBQUNSLHVCQUNWLFdBQVVRLFFBQVEsQ0FBQzVCLEdBQUksaUJBQWdCK0MsSUFBSSxDQUFDQyxTQUFTLENBQ3BEO1VBQUVDLElBQUksRUFBRVQsUUFBUSxDQUFDSyxNQUFNO1VBQUVLLE9BQU8sRUFBRVYsUUFBUSxDQUFDVztRQUFXLENBQUMsRUFDdkQsSUFBSSxFQUNKLENBQ0YsQ0FBRSxFQUNKLENBQUM7TUFDSDtNQUNBO0lBQ0Y7SUFDQXhFLEVBQUUsQ0FBQ3lFLGFBQWEsQ0FBQ2xCLFFBQVEsRUFBRVEsSUFBSSxDQUFDO0VBQ2xDO0VBRUEsSUFBSTdDLE9BQU8sQ0FBQ0UsTUFBTSxFQUFFO0lBQ2xCLE9BQU9qQixHQUFHLENBQUN1RSxhQUFhLENBQUNoRCxhQUFhLEVBQUUsa0JBQWtCLEVBQUVSLE9BQU8sQ0FBQ3lELE1BQU0sQ0FBQztFQUM3RTtFQUNBLE9BQU8sQ0FBQztBQUNWO0FBRUF4RCxpQkFBaUIsQ0FBQyxDQUFDLENBQ2hCeUQsSUFBSSxDQUFFQyxRQUFRLElBQUtDLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDRixRQUFRLENBQUMsQ0FBQyxDQUMxQ0csS0FBSyxDQUFFYixLQUFLLElBQUs7RUFDaEJoQixPQUFPLENBQUNDLEdBQUcsQ0FBQ2UsS0FBSyxDQUFDO0VBQ2xCVyxPQUFPLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjb21tYW5kTGluZUFyZ3MiLCJmcyIsInBhdGgiLCJFbmFibGVkRGF0YXNldHMiLCJnaXQiLCJsb2FkQXNzZW1ibGVlRGF0YSIsIlR5cGVEb2N1bWVudCIsIkRvY3VtZW50VXJsRm9ybWF0IiwidXJsRnJvbURvY3VtZW50IiwiY29tbWl0T3B0aW9uIiwiZGF0YURpckRlZmF1bHRPcHRpb24iLCJsZWdpc2xhdHVyZU9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsInZlcmJvc2VPcHRpb24iLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJhbGlhcyIsImhlbHAiLCJuYW1lIiwidHlwZSIsIlN0cmluZyIsIm9wdGlvbnMiLCJyZXRyaWV2ZURvY3VtZW50cyIsImNvbW1pdCIsInVpZCIsImRhdGFEaXIiLCJkb2N1bWVudEJ5VWlkIiwiRG9zc2llcnNMZWdpc2xhdGlmcyIsImxlZ2lzbGF0dXJlIiwidGV4dGVzTG9pc0RpciIsImpvaW4iLCJlbnN1cmVEaXJTeW5jIiwiZmlsZW5hbWUiLCJyZWFkZGlyU3luYyIsInJlbW92ZVN5bmMiLCJ0ZXh0ZXNMb2lzIiwiT2JqZWN0IiwidmFsdWVzIiwiZmlsdGVyIiwiZG9jdW1lbnQiLCJ4c2lUeXBlIiwiVGV4dGVMb2lUeXBlIiwic3RhcnRzV2l0aCIsIm1hcCIsInJhd0RvY3VtZW50QXNzZW1ibGVlVXJsIiwiUmF3SHRtbCIsInNvcnQiLCJhIiwiYiIsImxvY2FsZUNvbXBhcmUiLCJmaXJzdFVpZCIsInNraXAiLCJ0ZXh0ZUxvaSIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJ1cmwiLCJVUkwiLCJmaWxlUGF0aCIsImhvc3RuYW1lIiwicGF0aG5hbWUiLCJzcGxpdCIsInN0cmljdEVxdWFsIiwiZGlybmFtZSIsInJlc3BvbnNlIiwiZmV0Y2giLCJwYWdlIiwidGV4dCIsIm9rIiwic3RhdHVzIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiY29kZSIsIm1lc3NhZ2UiLCJzdGF0dXNUZXh0Iiwid3JpdGVGaWxlU3luYyIsImNvbW1pdEFuZFB1c2giLCJyZW1vdGUiLCJ0aGVuIiwiZXhpdENvZGUiLCJwcm9jZXNzIiwiZXhpdCIsImNhdGNoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfdGV4dGVzX2xvaXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8vIERlcHJlY2F0ZWQ6IFVzZSBzY3JpcHQgcmV0cmlldmVfZG9jdW1lbnRzLnRzIGluc3RlYWQuXG5cbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgRW5hYmxlZERhdGFzZXRzIH0gZnJvbSBcIi4uL2RhdGFzZXRzXCJcbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGxvYWRBc3NlbWJsZWVEYXRhIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHsgVHlwZURvY3VtZW50IH0gZnJvbSBcIi4uL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzXCJcbmltcG9ydCB7IERvY3VtZW50VXJsRm9ybWF0LCB1cmxGcm9tRG9jdW1lbnQgfSBmcm9tIFwiLi4vdXJsc1wiXG5pbXBvcnQge1xuICBjb21taXRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG59IGZyb20gXCIuL3NoYXJlZC9jbGlfaGVscGVyc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY29tbWl0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwidVwiLFxuICAgIGhlbHA6IFwiVUlEIG9mIGZpcnN0IEFzc2VtYmzDqWUncyBkb2N1bWVudCB0byByZXRyaWV2ZVwiLFxuICAgIG5hbWU6IFwidWlkXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbi8vLyBEZXByZWNhdGVkOiBVc2Ugc2NyaXB0IHJldHJpZXZlX2RvY3VtZW50cy50cyBpbnN0ZWFkLlxuYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVEb2N1bWVudHMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgYXNzZXJ0KFxuICAgICFvcHRpb25zLmNvbW1pdCB8fCBvcHRpb25zLnVpZCxcbiAgICAnT3B0aW9ucyBcImNvbW1pdFwiICYgXCJ1aWRcIiBhcmUgaW5jb21wYXRpYmxlJyxcbiAgKVxuXG4gIGNvbnN0IGRhdGFEaXIgPSBvcHRpb25zLmRhdGFEaXJcbiAgY29uc3QgeyBkb2N1bWVudEJ5VWlkIH0gPSBsb2FkQXNzZW1ibGVlRGF0YShcbiAgICBkYXRhRGlyLFxuICAgIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gIClcblxuICBjb25zdCB0ZXh0ZXNMb2lzRGlyID0gcGF0aC5qb2luKFxuICAgIGRhdGFEaXIsXG4gICAgXCJ3d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mclwiLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gICAgXCJ0ZXh0ZXNcIixcbiAgKVxuICBmcy5lbnN1cmVEaXJTeW5jKHRleHRlc0xvaXNEaXIpXG4gIGlmICghb3B0aW9ucy51aWQpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIGZzLnJlYWRkaXJTeW5jKHRleHRlc0xvaXNEaXIpKSB7XG4gICAgICBpZiAoZmlsZW5hbWVbMF0gPT09IFwiLlwiKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBmcy5yZW1vdmVTeW5jKHBhdGguam9pbih0ZXh0ZXNMb2lzRGlyLCBmaWxlbmFtZSkpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgdGV4dGVzTG9pcyA9IE9iamVjdC52YWx1ZXMoZG9jdW1lbnRCeVVpZClcbiAgICAuZmlsdGVyKChkb2N1bWVudCkgPT4gZG9jdW1lbnQueHNpVHlwZSA9PT0gVHlwZURvY3VtZW50LlRleHRlTG9pVHlwZSlcbiAgICAuZmlsdGVyKFxuICAgICAgKGRvY3VtZW50KSA9PlxuICAgICAgICBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBJT05BTlwiKSB8fCBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBSSkxBTlwiKSxcbiAgICApXG4gICAgLm1hcCgoZG9jdW1lbnQpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRvY3VtZW50LFxuICAgICAgICByYXdEb2N1bWVudEFzc2VtYmxlZVVybDogdXJsRnJvbURvY3VtZW50KFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIERvY3VtZW50VXJsRm9ybWF0LlJhd0h0bWwsXG4gICAgICAgICksXG4gICAgICB9XG4gICAgfSlcbiAgICAuc29ydCgoYSwgYikgPT5cbiAgICAgIGEucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgICAgICAgPyAtMVxuICAgICAgICA6IGIucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgICAgICAgICA/IDFcbiAgICAgICAgICA6IGEucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwubG9jYWxlQ29tcGFyZShiLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsKSxcbiAgICApXG5cbiAgY29uc3QgZmlyc3RVaWQgPSBvcHRpb25zLnVpZFxuICBsZXQgc2tpcCA9ICEhZmlyc3RVaWRcbiAgZm9yIChjb25zdCB0ZXh0ZUxvaSBvZiB0ZXh0ZXNMb2lzKSB7XG4gICAgaWYgKHNraXApIHtcbiAgICAgIGlmICh0ZXh0ZUxvaS51aWQgPT09IGZpcnN0VWlkKSB7XG4gICAgICAgIHNraXAgPSBmYWxzZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBSZXRyaWV2aW5nIGJpbGwgJHt0ZXh0ZUxvaS51aWR9IGF0ICR7dGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmx9YCxcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKHRleHRlTG9pLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsID09PSBudWxsKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRleHRlTG9pLnJhd0RvY3VtZW50QXNzZW1ibGVlVXJsKVxuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIHVybC5ob3N0bmFtZSxcbiAgICAgIC4uLnVybC5wYXRobmFtZS5zcGxpdChcIi9cIiksXG4gICAgKVxuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0ZXh0ZXNMb2lzRGlyLCBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpKVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybClcbiAgICBjb25zdCBwYWdlID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gNDA0KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgYEVycm9yIHdoaWxlIGdldHRpbmcgcGFnZSBcIiR7XG4gICAgICAgICAgICB0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybFxuICAgICAgICAgIH1cIiAodWlkOiAke3RleHRlTG9pLnVpZH0pOlxcblxcbkVycm9yOlxcbiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICB7IGNvZGU6IHJlc3BvbnNlLnN0YXR1cywgbWVzc2FnZTogcmVzcG9uc2Uuc3RhdHVzVGV4dCB9LFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIDIsXG4gICAgICAgICAgKX1gLFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBwYWdlKVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHRleHRlc0xvaXNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5yZXRyaWV2ZURvY3VtZW50cygpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxPQUFPQSxNQUFNLE1BQU0sUUFBUTtBQUMzQixPQUFPQyxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsU0FFZEMsZUFBZTtBQUFBLE9BQ2pCLEtBQUtDLEdBQUc7QUFBQSxTQUNOQyxpQkFBaUI7QUFBQSxTQUNqQkMsWUFBWTtBQUFBLFNBQ1pDLGlCQUFpQixFQUFFQyxlQUFlO0FBQUEsU0FFekNDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsRUFDakJDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxhQUFhO0FBR2YsTUFBTUMsa0JBQWtCLEdBQUcsQ0FDekJOLFlBQVksRUFDWkUsaUJBQWlCLEVBQ2pCQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsYUFB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QSxJQUFJUSxRQUFRLENBQUNSLHVCQUF1QixLQUFLLElBQUksRUFBRTtNQUM3QztJQUNGO0lBQ0EsTUFBTVksR0FBRyxHQUFHLElBQUlDLEdBQUcsQ0FBQ0wsUUFBUSxDQUFDUix1QkFBdUIsQ0FBQztJQUNyRCxNQUFNYyxRQUFRLEdBQUd4RCxJQUFJLENBQUM0QixJQUFJLENBQ3hCTCxPQUFPLEVBQ1ArQixHQUFHLENBQUNHLFFBQVEsRUFDWixHQUFHSCxHQUFHLENBQUNJLFFBQVEsQ0FBQ0MsS0FBSyxDQUFDLEdBQUcsQ0FDM0IsQ0FBQztJQUNEOUQsTUFBTSxDQUFDK0QsV0FBVyxDQUFDakMsYUFBYSxFQUFFM0IsSUFBSSxDQUFDNkQsT0FBTyxDQUFDTCxRQUFRLENBQUMsQ0FBQztJQUV6RCxNQUFNTSxRQUFRLEdBQUcsTUFBTUMsS0FBSyxDQUFDYixRQUFRLENBQUNSLHVCQUF1QixDQUFDO0lBQzlELE1BQU1zQixJQUFJLEdBQUcsTUFBTUYsUUFBUSxDQUFDRyxJQUFJLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUNILFFBQVEsQ0FBQ0ksRUFBRSxFQUFFO01BQ2hCLElBQUlKLFFBQVEsQ0FBQ0ssTUFBTSxLQUFLLEdBQUcsRUFBRTtRQUMzQmYsT0FBTyxDQUFDZ0IsS0FBSyxDQUNYLDZCQUNFbEIsUUFBUSxDQUFDUix1QkFBdUIsV0FDdkJRLFFBQVEsQ0FBQzVCLEdBQUcsaUJBQWlCK0MsSUFBSSxDQUFDQyxTQUFTLENBQ3BEO1VBQUVDLElBQUksRUFBRVQsUUFBUSxDQUFDSyxNQUFNO1VBQUVLLE9BQU8sRUFBRVYsUUFBUSxDQUFDVztRQUFXLENBQUMsRUFDdkQsSUFBSSxFQUNKLENBQ0YsQ0FBQyxFQUNILENBQUM7TUFDSDtNQUNBO0lBQ0Y7SUFDQTFFLEVBQUUsQ0FBQzJFLGFBQWEsQ0FBQ2xCLFFBQVEsRUFBRVEsSUFBSSxDQUFDO0VBQ2xDO0VBRUEsSUFBSTdDLE9BQU8sQ0FBQ0UsTUFBTSxFQUFFO0lBQ2xCLE9BQU9uQixHQUFHLENBQUN5RSxhQUFhLENBQUNoRCxhQUFhLEVBQUUsa0JBQWtCLEVBQUVSLE9BQU8sQ0FBQ3lELE1BQU0sQ0FBQztFQUM3RTtFQUNBLE9BQU8sQ0FBQztBQUNWO0FBRUF4RCxpQkFBaUIsQ0FBQyxDQUFDLENBQ2hCeUQsSUFBSSxDQUFFQyxRQUFRLElBQUtDLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDRixRQUFRLENBQUMsQ0FBQyxDQUMxQ0csS0FBSyxDQUFFYixLQUFLLElBQUs7RUFDaEJoQixPQUFPLENBQUNDLEdBQUcsQ0FBQ2UsS0FBSyxDQUFDO0VBQ2xCVyxPQUFPLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,66 @@
1
+ import { CommandLineOptions } from "command-line-args";
2
+ export declare const silentOption: {
3
+ alias: string;
4
+ help: string;
5
+ name: string;
6
+ type: BooleanConstructor;
7
+ };
8
+ export declare const verboseOption: {
9
+ alias: string;
10
+ help: string;
11
+ name: string;
12
+ type: BooleanConstructor;
13
+ };
14
+ export declare const categoriesOption: {
15
+ alias: string;
16
+ defaultValue: string[];
17
+ help: string;
18
+ multiple: boolean;
19
+ name: string;
20
+ type: StringConstructor;
21
+ };
22
+ export declare const legislatureOption: {
23
+ alias: string;
24
+ help: string;
25
+ multiple: boolean;
26
+ name: string;
27
+ type: NumberConstructor;
28
+ };
29
+ export declare const dataDirDefaultOption: {
30
+ defaultOption: boolean;
31
+ help: string;
32
+ name: string;
33
+ type: StringConstructor;
34
+ };
35
+ export declare const fetchOption: {
36
+ alias: string;
37
+ help: string;
38
+ name: string;
39
+ type: BooleanConstructor;
40
+ };
41
+ export declare const cloneOption: {
42
+ alias: string;
43
+ help: string;
44
+ name: string;
45
+ type: StringConstructor;
46
+ };
47
+ export declare const commitOption: {
48
+ alias: string;
49
+ help: string;
50
+ name: string;
51
+ type: BooleanConstructor;
52
+ };
53
+ export declare const remoteOption: {
54
+ alias: string;
55
+ help: string;
56
+ multiple: boolean;
57
+ name: string;
58
+ type: StringConstructor;
59
+ };
60
+ export declare const pullOption: {
61
+ alias: string;
62
+ help: string;
63
+ name: string;
64
+ type: BooleanConstructor;
65
+ };
66
+ export declare function readCategoriesOption(options: CommandLineOptions): any;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.pullOption = exports.legislatureOption = exports.fetchOption = exports.dataDirDefaultOption = exports.commitOption = exports.cloneOption = exports.categoriesOption = void 0;
8
+ exports.readCategoriesOption = readCategoriesOption;
9
+ exports.verboseOption = exports.silentOption = exports.remoteOption = void 0;
10
+ require("core-js/modules/es.array.map.js");
11
+ require("core-js/modules/es.array.reduce.js");
12
+ require("core-js/modules/es.number.constructor.js");
13
+ require("core-js/modules/es.object.to-string.js");
14
+ var _assert = _interopRequireDefault(require("assert"));
15
+ var _datasets = require("../../datasets");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
+ var silentOption = exports.silentOption = {
18
+ alias: "s",
19
+ help: "don't log anything",
20
+ name: "silent",
21
+ type: Boolean
22
+ };
23
+ var verboseOption = exports.verboseOption = {
24
+ alias: "v",
25
+ help: "verbose logs",
26
+ name: "verbose",
27
+ type: Boolean
28
+ };
29
+ var categoriesOption = exports.categoriesOption = {
30
+ alias: "k",
31
+ defaultValue: ["All"],
32
+ help: "categories of datasets to reorganize",
33
+ multiple: true,
34
+ name: "categories",
35
+ type: String
36
+ };
37
+ var legislatureOption = exports.legislatureOption = {
38
+ alias: "l",
39
+ help: "legislatures of categories of datasets to retrieve; leave empty or use 0 for all",
40
+ multiple: false,
41
+ name: "legislature",
42
+ type: Number
43
+ };
44
+ var dataDirDefaultOption = exports.dataDirDefaultOption = {
45
+ defaultOption: true,
46
+ help: "directory containing Assemblée open data files",
47
+ name: "dataDir",
48
+ type: String
49
+ };
50
+ var fetchOption = exports.fetchOption = {
51
+ alias: "f",
52
+ help: "fetch data instead of retrieving from files",
53
+ name: "fetch",
54
+ type: Boolean
55
+ };
56
+ var cloneOption = exports.cloneOption = {
57
+ alias: "C",
58
+ help: "clone repositories from given group (or organization) git URL",
59
+ name: "clone",
60
+ type: String
61
+ };
62
+ var commitOption = exports.commitOption = {
63
+ alias: "c",
64
+ help: "commit clean files",
65
+ name: "commit",
66
+ type: Boolean
67
+ };
68
+ var remoteOption = exports.remoteOption = {
69
+ alias: "r",
70
+ help: "push commit to given remote",
71
+ multiple: true,
72
+ name: "remote",
73
+ type: String
74
+ };
75
+ var pullOption = exports.pullOption = {
76
+ alias: "p",
77
+ help: "pull repositories before proceeding",
78
+ name: "pull",
79
+ type: Boolean
80
+ };
81
+ function readCategoriesOption(options) {
82
+ options.categories.map(function (datasetName) {
83
+ return _assert["default"].notStrictEqual(_datasets.EnabledDatasets[datasetName], undefined, "Unknown name of dataset: ".concat(datasetName));
84
+ });
85
+ var enabledDatasets = options.categories.reduce(function (enabledDatasets, datasetName) {
86
+ return enabledDatasets | _datasets.EnabledDatasets[datasetName];
87
+ }, _datasets.EnabledDatasets.None);
88
+ return enabledDatasets;
89
+ }
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGF0YXNldHMiLCJlIiwiX19lc01vZHVsZSIsInNpbGVudE9wdGlvbiIsImV4cG9ydHMiLCJhbGlhcyIsImhlbHAiLCJuYW1lIiwidHlwZSIsIkJvb2xlYW4iLCJ2ZXJib3NlT3B0aW9uIiwiY2F0ZWdvcmllc09wdGlvbiIsImRlZmF1bHRWYWx1ZSIsIm11bHRpcGxlIiwiU3RyaW5nIiwibGVnaXNsYXR1cmVPcHRpb24iLCJOdW1iZXIiLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsImRlZmF1bHRPcHRpb24iLCJmZXRjaE9wdGlvbiIsImNsb25lT3B0aW9uIiwiY29tbWl0T3B0aW9uIiwicmVtb3RlT3B0aW9uIiwicHVsbE9wdGlvbiIsInJlYWRDYXRlZ29yaWVzT3B0aW9uIiwib3B0aW9ucyIsImNhdGVnb3JpZXMiLCJtYXAiLCJkYXRhc2V0TmFtZSIsImFzc2VydCIsIm5vdFN0cmljdEVxdWFsIiwiRW5hYmxlZERhdGFzZXRzIiwidW5kZWZpbmVkIiwiY29uY2F0IiwiZW5hYmxlZERhdGFzZXRzIiwicmVkdWNlIiwiTm9uZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zY3JpcHRzL3NoYXJlZC9jbGlfaGVscGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IHsgQ29tbWFuZExpbmVPcHRpb25zIH0gZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCB7IEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuLi8uLi9kYXRhc2V0c1wiXG5cbmV4cG9ydCBjb25zdCBzaWxlbnRPcHRpb24gPSB7XG4gIGFsaWFzOiBcInNcIixcbiAgaGVscDogXCJkb24ndCBsb2cgYW55dGhpbmdcIixcbiAgbmFtZTogXCJzaWxlbnRcIixcbiAgdHlwZTogQm9vbGVhbixcbn1cblxuZXhwb3J0IGNvbnN0IHZlcmJvc2VPcHRpb24gPSB7XG4gIGFsaWFzOiBcInZcIixcbiAgaGVscDogXCJ2ZXJib3NlIGxvZ3NcIixcbiAgbmFtZTogXCJ2ZXJib3NlXCIsXG4gIHR5cGU6IEJvb2xlYW4sXG59XG5cbmV4cG9ydCBjb25zdCBjYXRlZ29yaWVzT3B0aW9uID0ge1xuICBhbGlhczogXCJrXCIsXG4gIGRlZmF1bHRWYWx1ZTogW1wiQWxsXCJdLFxuICBoZWxwOiBcImNhdGVnb3JpZXMgb2YgZGF0YXNldHMgdG8gcmVvcmdhbml6ZVwiLFxuICBtdWx0aXBsZTogdHJ1ZSxcbiAgbmFtZTogXCJjYXRlZ29yaWVzXCIsXG4gIHR5cGU6IFN0cmluZyxcbn1cblxuZXhwb3J0IGNvbnN0IGxlZ2lzbGF0dXJlT3B0aW9uID0ge1xuICBhbGlhczogXCJsXCIsXG4gIGhlbHA6IFwibGVnaXNsYXR1cmVzIG9mIGNhdGVnb3JpZXMgb2YgZGF0YXNldHMgdG8gcmV0cmlldmU7IGxlYXZlIGVtcHR5IG9yIHVzZSAwIGZvciBhbGxcIixcbiAgbXVsdGlwbGU6IGZhbHNlLFxuICBuYW1lOiBcImxlZ2lzbGF0dXJlXCIsXG4gIHR5cGU6IE51bWJlcixcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGFEaXJEZWZhdWx0T3B0aW9uID0ge1xuICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICBoZWxwOiBcImRpcmVjdG9yeSBjb250YWluaW5nIEFzc2VtYmzDqWUgb3BlbiBkYXRhIGZpbGVzXCIsXG4gIG5hbWU6IFwiZGF0YURpclwiLFxuICB0eXBlOiBTdHJpbmcsXG59XG5cbmV4cG9ydCBjb25zdCBmZXRjaE9wdGlvbiA9IHtcbiAgYWxpYXM6IFwiZlwiLFxuICBoZWxwOiBcImZldGNoIGRhdGEgaW5zdGVhZCBvZiByZXRyaWV2aW5nIGZyb20gZmlsZXNcIixcbiAgbmFtZTogXCJmZXRjaFwiLFxuICB0eXBlOiBCb29sZWFuLFxufVxuXG5leHBvcnQgY29uc3QgY2xvbmVPcHRpb24gPSB7XG4gIGFsaWFzOiBcIkNcIixcbiAgaGVscDogXCJjbG9uZSByZXBvc2l0b3JpZXMgZnJvbSBnaXZlbiBncm91cCAob3Igb3JnYW5pemF0aW9uKSBnaXQgVVJMXCIsXG4gIG5hbWU6IFwiY2xvbmVcIixcbiAgdHlwZTogU3RyaW5nLFxufVxuXG5leHBvcnQgY29uc3QgY29tbWl0T3B0aW9uID0ge1xuICBhbGlhczogXCJjXCIsXG4gIGhlbHA6IFwiY29tbWl0IGNsZWFuIGZpbGVzXCIsXG4gIG5hbWU6IFwiY29tbWl0XCIsXG4gIHR5cGU6IEJvb2xlYW4sXG59XG5cbmV4cG9ydCBjb25zdCByZW1vdGVPcHRpb24gPSB7XG4gIGFsaWFzOiBcInJcIixcbiAgaGVscDogXCJwdXNoIGNvbW1pdCB0byBnaXZlbiByZW1vdGVcIixcbiAgbXVsdGlwbGU6IHRydWUsXG4gIG5hbWU6IFwicmVtb3RlXCIsXG4gIHR5cGU6IFN0cmluZyxcbn1cblxuZXhwb3J0IGNvbnN0IHB1bGxPcHRpb24gPSB7XG4gIGFsaWFzOiBcInBcIixcbiAgaGVscDogXCJwdWxsIHJlcG9zaXRvcmllcyBiZWZvcmUgcHJvY2VlZGluZ1wiLFxuICBuYW1lOiBcInB1bGxcIixcbiAgdHlwZTogQm9vbGVhbixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRDYXRlZ29yaWVzT3B0aW9uKG9wdGlvbnM6IENvbW1hbmRMaW5lT3B0aW9ucykge1xuICBvcHRpb25zLmNhdGVnb3JpZXMubWFwKChkYXRhc2V0TmFtZTogc3RyaW5nKSA9PlxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIChFbmFibGVkRGF0YXNldHMgYXMgYW55IGFzIHsgW25hbWU6IHN0cmluZ106IEVuYWJsZWREYXRhc2V0cyB9KVtcbiAgICAgICAgZGF0YXNldE5hbWVcbiAgICAgIF0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBgVW5rbm93biBuYW1lIG9mIGRhdGFzZXQ6ICR7ZGF0YXNldE5hbWV9YCxcbiAgICApLFxuICApXG4gIGNvbnN0IGVuYWJsZWREYXRhc2V0cyA9IG9wdGlvbnMuY2F0ZWdvcmllcy5yZWR1Y2UoXG4gICAgKGVuYWJsZWREYXRhc2V0czogRW5hYmxlZERhdGFzZXRzLCBkYXRhc2V0TmFtZTogc3RyaW5nKTogRW5hYmxlZERhdGFzZXRzID0+XG4gICAgICBlbmFibGVkRGF0YXNldHMgfFxuICAgICAgKEVuYWJsZWREYXRhc2V0cyBhcyBhbnkgYXMgeyBbbmFtZTogc3RyaW5nXTogRW5hYmxlZERhdGFzZXRzIH0pW1xuICAgICAgICBkYXRhc2V0TmFtZVxuICAgICAgXSxcbiAgICBFbmFibGVkRGF0YXNldHMuTm9uZSxcbiAgKVxuICByZXR1cm4gZW5hYmxlZERhdGFzZXRzXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFBZ0QsU0FBQUQsdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUV6QyxJQUFNRSxZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFBQSxHQUFHO0VBQzFCRSxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsb0JBQW9CO0VBQzFCQyxJQUFJLEVBQUUsUUFBUTtFQUNkQyxJQUFJLEVBQUVDO0FBQ1IsQ0FBQztBQUVNLElBQU1DLGFBQWEsR0FBQU4sT0FBQSxDQUFBTSxhQUFBLEdBQUc7RUFDM0JMLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxjQUFjO0VBQ3BCQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxJQUFJLEVBQUVDO0FBQ1IsQ0FBQztBQUVNLElBQU1FLGdCQUFnQixHQUFBUCxPQUFBLENBQUFPLGdCQUFBLEdBQUc7RUFDOUJOLEtBQUssRUFBRSxHQUFHO0VBQ1ZPLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQztFQUNyQk4sSUFBSSxFQUFFLHNDQUFzQztFQUM1Q08sUUFBUSxFQUFFLElBQUk7RUFDZE4sSUFBSSxFQUFFLFlBQVk7RUFDbEJDLElBQUksRUFBRU07QUFDUixDQUFDO0FBRU0sSUFBTUMsaUJBQWlCLEdBQUFYLE9BQUEsQ0FBQVcsaUJBQUEsR0FBRztFQUMvQlYsS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLGtGQUFrRjtFQUN4Rk8sUUFBUSxFQUFFLEtBQUs7RUFDZk4sSUFBSSxFQUFFLGFBQWE7RUFDbkJDLElBQUksRUFBRVE7QUFDUixDQUFDO0FBRU0sSUFBTUMsb0JBQW9CLEdBQUFiLE9BQUEsQ0FBQWEsb0JBQUEsR0FBRztFQUNsQ0MsYUFBYSxFQUFFLElBQUk7RUFDbkJaLElBQUksRUFBRSxnREFBZ0Q7RUFDdERDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLElBQUksRUFBRU07QUFDUixDQUFDO0FBRU0sSUFBTUssV0FBVyxHQUFBZixPQUFBLENBQUFlLFdBQUEsR0FBRztFQUN6QmQsS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLDZDQUE2QztFQUNuREMsSUFBSSxFQUFFLE9BQU87RUFDYkMsSUFBSSxFQUFFQztBQUNSLENBQUM7QUFFTSxJQUFNVyxXQUFXLEdBQUFoQixPQUFBLENBQUFnQixXQUFBLEdBQUc7RUFDekJmLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSwrREFBK0Q7RUFDckVDLElBQUksRUFBRSxPQUFPO0VBQ2JDLElBQUksRUFBRU07QUFDUixDQUFDO0FBRU0sSUFBTU8sWUFBWSxHQUFBakIsT0FBQSxDQUFBaUIsWUFBQSxHQUFHO0VBQzFCaEIsS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLG9CQUFvQjtFQUMxQkMsSUFBSSxFQUFFLFFBQVE7RUFDZEMsSUFBSSxFQUFFQztBQUNSLENBQUM7QUFFTSxJQUFNYSxZQUFZLEdBQUFsQixPQUFBLENBQUFrQixZQUFBLEdBQUc7RUFDMUJqQixLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsNkJBQTZCO0VBQ25DTyxRQUFRLEVBQUUsSUFBSTtFQUNkTixJQUFJLEVBQUUsUUFBUTtFQUNkQyxJQUFJLEVBQUVNO0FBQ1IsQ0FBQztBQUVNLElBQU1TLFVBQVUsR0FBQW5CLE9BQUEsQ0FBQW1CLFVBQUEsR0FBRztFQUN4QmxCLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxxQ0FBcUM7RUFDM0NDLElBQUksRUFBRSxNQUFNO0VBQ1pDLElBQUksRUFBRUM7QUFDUixDQUFDO0FBRU0sU0FBU2Usb0JBQW9CQSxDQUFDQyxPQUEyQixFQUFFO0VBQ2hFQSxPQUFPLENBQUNDLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLFdBQW1CO0lBQUEsT0FDekNDLGtCQUFNLENBQUNDLGNBQWMsQ0FDbEJDLHlCQUFlLENBQ2RILFdBQVcsQ0FDWixFQUNESSxTQUFTLDhCQUFBQyxNQUFBLENBQ21CTCxXQUFXLENBQ3pDLENBQUM7RUFBQSxDQUNILENBQUM7RUFDRCxJQUFNTSxlQUFlLEdBQUdULE9BQU8sQ0FBQ0MsVUFBVSxDQUFDUyxNQUFNLENBQy9DLFVBQUNELGVBQWdDLEVBQUVOLFdBQW1CO0lBQUEsT0FDcERNLGVBQWUsR0FDZEgseUJBQWUsQ0FDZEgsV0FBVyxDQUNaO0VBQUEsR0FDSEcseUJBQWUsQ0FBQ0ssSUFDbEIsQ0FBQztFQUNELE9BQU9GLGVBQWU7QUFDeEIiLCJpZ25vcmVMaXN0IjpbXX0=