@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
205 lines (204 loc) • 24.5 kB
JavaScript
;
require("core-js/modules/es.symbol.js");
require("core-js/modules/es.symbol.description.js");
require("core-js/modules/es.symbol.iterator.js");
require("core-js/modules/es.array.from.js");
require("core-js/modules/es.array.iterator.js");
require("core-js/modules/es.array.slice.js");
require("core-js/modules/es.date.to-string.js");
require("core-js/modules/es.function.name.js");
require("core-js/modules/es.object.define-property.js");
require("core-js/modules/es.object.to-string.js");
require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.regexp.to-string.js");
require("core-js/modules/es.string.iterator.js");
require("core-js/modules/web.dom-collections.iterator.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cleanDocumentOrDivision = cleanDocumentOrDivision;
require("core-js/modules/es.array.is-array.js");
require("core-js/modules/es.object.get-own-property-names.js");
var _assert = _interopRequireDefault(require("assert"));
var _xml = require("./xml");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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; } } }; }
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; } }
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; }
function cleanDocumentOrDivision(d) {
var _d$metadatas;
(0, _xml.cleanXmlArtefacts)(d);
if (((_d$metadatas = d.metadatas) === null || _d$metadatas === void 0 ? void 0 : _d$metadatas.dateSuppression) !== undefined) {
// Delete document
var _iterator = _createForOfIteratorHelper(Object.getOwnPropertyNames(d)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var key = _step.value;
delete d[key];
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return;
}
var xsiType = d["@xsi:type"];
if (xsiType !== undefined) {
d.xsiType = xsiType;
delete d["@xsi:type"];
}
var cycleDeVie = d.cycleDeVie;
(0, _assert["default"])(cycleDeVie);
{
var chrono = cycleDeVie.chrono;
(0, _assert["default"])(chrono);
(0, _xml.cleanXmlArtefacts)(chrono);
}
var divisions = d.divisions;
if (divisions !== undefined) {
divisions = divisions.division;
if (!Array.isArray(divisions)) {
(0, _assert["default"])(divisions);
divisions = [divisions];
}
d.divisions = divisions;
var _iterator2 = _createForOfIteratorHelper(divisions),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var division = _step2.value;
cleanDocumentOrDivision(division);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
_assert["default"].strictEqual(d.redacteur, undefined);
var classification = d.classification;
(0, _assert["default"])(classification);
(0, _xml.cleanXmlArtefacts)(classification);
var auteurs = d.auteurs;
if (auteurs !== undefined) {
auteurs = auteurs.auteur;
if (!Array.isArray(auteurs)) {
(0, _assert["default"])(auteurs);
auteurs = [auteurs];
}
d.auteurs = auteurs;
var _iterator3 = _createForOfIteratorHelper(auteurs),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var auteur = _step3.value;
var organeRef = auteur.organe;
if (organeRef !== undefined) {
auteur.organeRef = organeRef.organeRef;
delete auteur.organe;
}
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
}
var notice = d.notice;
{
(0, _xml.cleanBooleanAttribute)(notice, "adoptionConforme");
}
var coSignataires = d.coSignataires;
if (coSignataires !== undefined) {
coSignataires = coSignataires.coSignataire;
if (!Array.isArray(coSignataires)) {
(0, _assert["default"])(coSignataires);
coSignataires = [coSignataires];
}
d.coSignataires = coSignataires;
var _iterator4 = _createForOfIteratorHelper(coSignataires),
_step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
var coSignataire = _step4.value;
(0, _xml.cleanXmlArtefacts)(coSignataire);
(0, _xml.cleanBooleanAttribute)(coSignataire, "edite");
var acteurRef = coSignataire.acteur;
if (acteurRef !== undefined) {
acteurRef = acteurRef.acteurRef;
(0, _assert["default"])(acteurRef);
delete coSignataire.acteur;
coSignataire.acteurRef = acteurRef;
}
var organe = coSignataire.organe;
if (organe !== undefined) {
(0, _xml.cleanBooleanAttribute)(organe, "etApparentes");
}
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
}
var depotAmendements = d.depotAmendements;
if (depotAmendements !== undefined) {
(0, _xml.cleanXmlArtefacts)(depotAmendements);
var amendementsSeance = depotAmendements.amendementsSeance;
{
(0, _xml.cleanXmlArtefacts)(amendementsSeance);
(0, _xml.cleanBooleanAttribute)(amendementsSeance, "amendable");
}
var amendementsCommission = depotAmendements.amendementsCommission;
if (amendementsCommission !== undefined) {
amendementsCommission = amendementsCommission.commission;
if (!Array.isArray(amendementsCommission)) {
(0, _assert["default"])(amendementsCommission);
amendementsCommission = [amendementsCommission];
}
depotAmendements.amendementsCommission = amendementsCommission;
var _iterator5 = _createForOfIteratorHelper(amendementsCommission),
_step5;
try {
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
var commision = _step5.value;
(0, _xml.cleanXmlArtefacts)(commision);
(0, _xml.cleanBooleanAttribute)(commision, "amendable");
_assert["default"].strictEqual(commision.dateLimiteDepot, undefined);
}
} catch (err) {
_iterator5.e(err);
} finally {
_iterator5.f();
}
}
}
var imprimerie = d.imprimerie;
if (imprimerie !== undefined) {
(0, _xml.cleanXmlArtefacts)(imprimerie);
var dian = imprimerie.DIAN;
if (dian !== undefined) {
delete imprimerie.DIAN;
imprimerie.dian = dian;
}
var isbn = imprimerie.ISBN;
if (isbn !== undefined) {
delete imprimerie.ISBN;
imprimerie.isbn = isbn;
}
_assert["default"].strictEqual(imprimerie.ISSN, undefined);
}
(0, _xml.cleanBooleanAttribute)(d, "rapportPublie");
var organesReferents = d.organesReferents;
if (organesReferents !== undefined) {
organesReferents = organesReferents.organeRef;
if (!Array.isArray(organesReferents)) {
(0, _assert["default"])(organesReferents);
organesReferents = [organesReferents];
}
d.organesReferents = organesReferents;
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwiZSIsIl9fZXNNb2R1bGUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24iLCJkIiwiX2QkbWV0YWRhdGFzIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJtZXRhZGF0YXMiLCJkYXRlU3VwcHJlc3Npb24iLCJ1bmRlZmluZWQiLCJfaXRlcmF0b3IiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiX3N0ZXAiLCJrZXkiLCJlcnIiLCJ4c2lUeXBlIiwiY3ljbGVEZVZpZSIsImFzc2VydCIsImNocm9ubyIsImRpdmlzaW9ucyIsImRpdmlzaW9uIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInN0cmljdEVxdWFsIiwicmVkYWN0ZXVyIiwiY2xhc3NpZmljYXRpb24iLCJhdXRldXJzIiwiYXV0ZXVyIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsIm9yZ2FuZVJlZiIsIm9yZ2FuZSIsIm5vdGljZSIsImNsZWFuQm9vbGVhbkF0dHJpYnV0ZSIsImNvU2lnbmF0YWlyZXMiLCJjb1NpZ25hdGFpcmUiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiYWN0ZXVyUmVmIiwiYWN0ZXVyIiwiZGVwb3RBbWVuZGVtZW50cyIsImFtZW5kZW1lbnRzU2VhbmNlIiwiYW1lbmRlbWVudHNDb21taXNzaW9uIiwiY29tbWlzc2lvbiIsIl9pdGVyYXRvcjUiLCJfc3RlcDUiLCJjb21taXNpb24iLCJkYXRlTGltaXRlRGVwb3QiLCJpbXByaW1lcmllIiwiZGlhbiIsIkRJQU4iLCJpc2JuIiwiSVNCTiIsIklTU04iLCJvcmdhbmVzUmVmZXJlbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL2RvY3VtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQgeyBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUsIGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuRG9jdW1lbnRPckRpdmlzaW9uKGQ6IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhkKVxuXG4gIGlmIChkLm1ldGFkYXRhcz8uZGF0ZVN1cHByZXNzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAvLyBEZWxldGUgZG9jdW1lbnRcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhkKSkge1xuICAgICAgZGVsZXRlIGRba2V5XVxuICAgIH1cbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHhzaVR5cGUgPSBkW1wiQHhzaTp0eXBlXCJdXG4gIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICBkLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgZGVsZXRlIGRbXCJAeHNpOnR5cGVcIl1cbiAgfVxuXG4gIGNvbnN0IGN5Y2xlRGVWaWUgPSBkLmN5Y2xlRGVWaWVcbiAgYXNzZXJ0KGN5Y2xlRGVWaWUpXG4gIHtcbiAgICBjb25zdCBjaHJvbm8gPSBjeWNsZURlVmllLmNocm9ub1xuICAgIGFzc2VydChjaHJvbm8pXG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoY2hyb25vKVxuICB9XG5cbiAgbGV0IGRpdmlzaW9ucyA9IGQuZGl2aXNpb25zXG4gIGlmIChkaXZpc2lvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGRpdmlzaW9ucyA9IGRpdmlzaW9ucy5kaXZpc2lvblxuICAgIGlmICghQXJyYXkuaXNBcnJheShkaXZpc2lvbnMpKSB7XG4gICAgICBhc3NlcnQoZGl2aXNpb25zKVxuICAgICAgZGl2aXNpb25zID0gW2RpdmlzaW9uc11cbiAgICB9XG4gICAgZC5kaXZpc2lvbnMgPSBkaXZpc2lvbnNcbiAgICBmb3IgKGNvbnN0IGRpdmlzaW9uIG9mIGRpdmlzaW9ucykge1xuICAgICAgY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24oZGl2aXNpb24pXG4gICAgfVxuICB9XG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGQucmVkYWN0ZXVyLCB1bmRlZmluZWQpXG5cbiAgY29uc3QgY2xhc3NpZmljYXRpb24gPSBkLmNsYXNzaWZpY2F0aW9uXG4gIGFzc2VydChjbGFzc2lmaWNhdGlvbilcbiAgY2xlYW5YbWxBcnRlZmFjdHMoY2xhc3NpZmljYXRpb24pXG5cbiAgbGV0IGF1dGV1cnMgPSBkLmF1dGV1cnNcbiAgaWYgKGF1dGV1cnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGF1dGV1cnMgPSBhdXRldXJzLmF1dGV1clxuICAgIGlmICghQXJyYXkuaXNBcnJheShhdXRldXJzKSkge1xuICAgICAgYXNzZXJ0KGF1dGV1cnMpXG4gICAgICBhdXRldXJzID0gW2F1dGV1cnNdXG4gICAgfVxuICAgIGQuYXV0ZXVycyA9IGF1dGV1cnNcbiAgICBmb3IgKGNvbnN0IGF1dGV1ciBvZiBhdXRldXJzKSB7XG4gICAgICBsZXQgb3JnYW5lUmVmID0gYXV0ZXVyLm9yZ2FuZVxuICAgICAgaWYgKG9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGF1dGV1ci5vcmdhbmVSZWYgPSBvcmdhbmVSZWYub3JnYW5lUmVmXG4gICAgICAgIGRlbGV0ZSBhdXRldXIub3JnYW5lXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgbm90aWNlID0gZC5ub3RpY2VcbiAge1xuICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShub3RpY2UsIFwiYWRvcHRpb25Db25mb3JtZVwiKVxuICB9XG5cbiAgbGV0IGNvU2lnbmF0YWlyZXMgPSBkLmNvU2lnbmF0YWlyZXNcbiAgaWYgKGNvU2lnbmF0YWlyZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvU2lnbmF0YWlyZXMgPSBjb1NpZ25hdGFpcmVzLmNvU2lnbmF0YWlyZVxuICAgIGlmICghQXJyYXkuaXNBcnJheShjb1NpZ25hdGFpcmVzKSkge1xuICAgICAgYXNzZXJ0KGNvU2lnbmF0YWlyZXMpXG4gICAgICBjb1NpZ25hdGFpcmVzID0gW2NvU2lnbmF0YWlyZXNdXG4gICAgfVxuICAgIGQuY29TaWduYXRhaXJlcyA9IGNvU2lnbmF0YWlyZXNcbiAgICBmb3IgKGNvbnN0IGNvU2lnbmF0YWlyZSBvZiBjb1NpZ25hdGFpcmVzKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhjb1NpZ25hdGFpcmUpXG5cbiAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShjb1NpZ25hdGFpcmUsIFwiZWRpdGVcIilcblxuICAgICAgbGV0IGFjdGV1clJlZiA9IGNvU2lnbmF0YWlyZS5hY3RldXJcbiAgICAgIGlmIChhY3RldXJSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhY3RldXJSZWYgPSBhY3RldXJSZWYuYWN0ZXVyUmVmXG4gICAgICAgIGFzc2VydChhY3RldXJSZWYpXG4gICAgICAgIGRlbGV0ZSBjb1NpZ25hdGFpcmUuYWN0ZXVyXG4gICAgICAgIGNvU2lnbmF0YWlyZS5hY3RldXJSZWYgPSBhY3RldXJSZWZcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3JnYW5lID0gY29TaWduYXRhaXJlLm9yZ2FuZVxuICAgICAgaWYgKG9yZ2FuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShvcmdhbmUsIFwiZXRBcHBhcmVudGVzXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZGVwb3RBbWVuZGVtZW50cyA9IGQuZGVwb3RBbWVuZGVtZW50c1xuICBpZiAoZGVwb3RBbWVuZGVtZW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZGVwb3RBbWVuZGVtZW50cylcblxuICAgIGNvbnN0IGFtZW5kZW1lbnRzU2VhbmNlID0gZGVwb3RBbWVuZGVtZW50cy5hbWVuZGVtZW50c1NlYW5jZVxuICAgIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFtZW5kZW1lbnRzU2VhbmNlKVxuXG4gICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoYW1lbmRlbWVudHNTZWFuY2UsIFwiYW1lbmRhYmxlXCIpXG4gICAgfVxuXG4gICAgbGV0IGFtZW5kZW1lbnRzQ29tbWlzc2lvbiA9IGRlcG90QW1lbmRlbWVudHMuYW1lbmRlbWVudHNDb21taXNzaW9uXG4gICAgaWYgKGFtZW5kZW1lbnRzQ29tbWlzc2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhbWVuZGVtZW50c0NvbW1pc3Npb24gPSBhbWVuZGVtZW50c0NvbW1pc3Npb24uY29tbWlzc2lvblxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFtZW5kZW1lbnRzQ29tbWlzc2lvbikpIHtcbiAgICAgICAgYXNzZXJ0KGFtZW5kZW1lbnRzQ29tbWlzc2lvbilcbiAgICAgICAgYW1lbmRlbWVudHNDb21taXNzaW9uID0gW2FtZW5kZW1lbnRzQ29tbWlzc2lvbl1cbiAgICAgIH1cbiAgICAgIGRlcG90QW1lbmRlbWVudHMuYW1lbmRlbWVudHNDb21taXNzaW9uID0gYW1lbmRlbWVudHNDb21taXNzaW9uXG4gICAgICBmb3IgKGNvbnN0IGNvbW1pc2lvbiBvZiBhbWVuZGVtZW50c0NvbW1pc3Npb24pIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoY29tbWlzaW9uKVxuXG4gICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShjb21taXNpb24sIFwiYW1lbmRhYmxlXCIpXG5cbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvbW1pc2lvbi5kYXRlTGltaXRlRGVwb3QsIHVuZGVmaW5lZClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBpbXByaW1lcmllID0gZC5pbXByaW1lcmllXG4gIGlmIChpbXByaW1lcmllICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhpbXByaW1lcmllKVxuXG4gICAgY29uc3QgZGlhbiA9IGltcHJpbWVyaWUuRElBTlxuICAgIGlmIChkaWFuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlbGV0ZSBpbXByaW1lcmllLkRJQU5cbiAgICAgIGltcHJpbWVyaWUuZGlhbiA9IGRpYW5cbiAgICB9XG5cbiAgICBjb25zdCBpc2JuID0gaW1wcmltZXJpZS5JU0JOXG4gICAgaWYgKGlzYm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVsZXRlIGltcHJpbWVyaWUuSVNCTlxuICAgICAgaW1wcmltZXJpZS5pc2JuID0gaXNiblxuICAgIH1cblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChpbXByaW1lcmllLklTU04sIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShkLCBcInJhcHBvcnRQdWJsaWVcIilcblxuICBsZXQgb3JnYW5lc1JlZmVyZW50cyA9IGQub3JnYW5lc1JlZmVyZW50c1xuICBpZiAob3JnYW5lc1JlZmVyZW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb3JnYW5lc1JlZmVyZW50cyA9IG9yZ2FuZXNSZWZlcmVudHMub3JnYW5lUmVmXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG9yZ2FuZXNSZWZlcmVudHMpKSB7XG4gICAgICBhc3NlcnQob3JnYW5lc1JlZmVyZW50cylcbiAgICAgIG9yZ2FuZXNSZWZlcmVudHMgPSBbb3JnYW5lc1JlZmVyZW50c11cbiAgICB9XG4gICAgZC5vcmdhbmVzUmVmZXJlbnRzID0gb3JnYW5lc1JlZmVyZW50c1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENB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