UNPKG

@tricoteuses/assemblee

Version:

Retrieve, clean up & handle French Assemblée nationale's open data

805 lines (802 loc) 136 kB
"use strict"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 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.is-array.js"); require("core-js/modules/es.array.iterator.js"); require("core-js/modules/es.array.slice.js"); require("core-js/modules/es.function.name.js"); require("core-js/modules/es.object.define-property.js"); require("core-js/modules/es.object.get-own-property-descriptor.js"); require("core-js/modules/es.object.to-string.js"); require("core-js/modules/es.regexp.to-string.js"); require("core-js/modules/es.string.iterator.js"); require("core-js/modules/es.weak-map.js"); require("core-js/modules/web.dom-collections.iterator.js"); require("core-js/modules/es.array.concat.js"); require("core-js/modules/es.array.join.js"); require("core-js/modules/es.array.sort.js"); require("core-js/modules/es.date.to-json.js"); require("core-js/modules/es.date.to-string.js"); require("core-js/modules/es.object.keys.js"); require("core-js/modules/es.object.values.js"); require("core-js/modules/es.regexp.exec.js"); require("core-js/modules/es.string.ends-with.js"); require("core-js/modules/es.string.replace.js"); require("core-js/modules/es.string.starts-with.js"); require("core-js/modules/es.string.trim.js"); var _assert = _interopRequireDefault(require("assert")); var _commandLineArgs = _interopRequireDefault(require("command-line-args")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); var _datasets = require("../datasets"); var _dates = require("../dates"); var git = _interopRequireWildcard(require("../git")); var _file_systems = require("../file_systems"); var _loaders = require("../loaders"); var _acteurs_et_organes = require("../raw_types/acteurs_et_organes"); var _agendas = require("../raw_types/agendas"); var _amendements = require("../raw_types/amendements"); var _dossiers_legislatifs = require("../raw_types/dossiers_legislatifs"); var _scrutins = require("../raw_types/scrutins"); var _questions = require("../raw_types/questions"); var _debats = require("../raw_types/debats"); var _cli_helpers = require("./shared/cli_helpers"); 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); } 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; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } 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."); } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } 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 parseArgs(argv) { var optionsDefinitions = [_cli_helpers.cloneOption, _cli_helpers.commitOption, _cli_helpers.categoriesOption, _cli_helpers.legislatureOption, _cli_helpers.remoteOption, _cli_helpers.silentOption, _cli_helpers.verboseOption, _cli_helpers.dataDirDefaultOption, _cli_helpers.fetchDocumentsOption, _cli_helpers.parseDocumentsOption, _cli_helpers.documentFormatOption, _cli_helpers.pullOption, { alias: "V", help: "don't validate raw data", name: "no-validate-raw", type: Boolean }]; var options = (0, _commandLineArgs["default"])(optionsDefinitions, { argv: argv }); return options; } function clearDirectory(dirPath) { _fsExtra["default"].ensureDirSync(dirPath); var _iterator = _createForOfIteratorHelper(_fsExtra["default"].readdirSync(dirPath)), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var filename = _step.value; if (!filename.startsWith(".")) { _fsExtra["default"].removeSync(_path["default"].join(dirPath, filename)); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } function cloneGit(gitGroupUrl, datasetName, dataDir) { git.clone(gitGroupUrl, datasetName, dataDir); } function reorganizeData(options) { var _options$clone; var dataDir = options.dataDir; Date.prototype.toJSON = _dates.patchedDateToJson; var exitCode = options.commit ? 10 : 0; var gitGroupUrl = (_options$clone = options.clone) === null || _options$clone === void 0 ? void 0 : _options$clone.trim().replace(/\/+$/, ""); var validateRawData = !options["no-validate-raw"]; var enabledDatasets = (0, _datasets.getEnabledDatasets)(options.categories); var chosenDatasets = (0, _datasets.filterByLegislature)(_datasets.datasets, options.legislature); function commitGit(datasetReorganizedDir, options) { if (options.commit) { var errorCode = git.commitAndPush(datasetReorganizedDir, "Nouvelle moisson", options.remote); if (exitCode === 10 && errorCode !== 10 || exitCode === 0 && errorCode !== 0 && errorCode !== 10) { exitCode = errorCode; } } } if (enabledDatasets & _datasets.EnabledDatasets.ActeursEtOrganes) { var _iterator2 = _createForOfIteratorHelper(chosenDatasets.acteursEtOrganes), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var dataset = _step2.value; var originalJsonDirectoryOrFilePath = _path["default"].join(dataDir, dataset.filename); if (!options.silent) { console.log("Reorganizing ".concat(originalJsonDirectoryOrFilePath)); } var datasetName = _path["default"].basename(originalJsonDirectoryOrFilePath, ".json"); cloneGit(gitGroupUrl, datasetName, dataDir); var datasetReorganizedDir = _path["default"].join(dataDir, datasetName); if (options.pull) { git.resetAndPull(datasetReorganizedDir); } clearDirectory(datasetReorganizedDir); var acteursReorganizedDir = _path["default"].join(datasetReorganizedDir, "acteurs"); _fsExtra["default"].mkdirSync(acteursReorganizedDir); var organesReorganizedDir = _path["default"].join(datasetReorganizedDir, "organes"); _fsExtra["default"].mkdirSync(organesReorganizedDir); switch (dataset.structure) { case _datasets.DatasetStructure.SingleFile: { var originalJson = _fsExtra["default"].readFileSync(originalJsonDirectoryOrFilePath, { encoding: "utf8" }); var originalData = validateRawData ? _acteurs_et_organes.Convert.toActeursEtOrganes(originalJson) : JSON.parse(originalJson); var _iterator3 = _createForOfIteratorHelper(originalData["export"].acteurs.acteur), _step3; try { for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var acteur = _step3.value; var reorganizedJsonFilePath = _path["default"].join(acteursReorganizedDir, acteur.uid["#text"] + ".json"); _fsExtra["default"].writeFileSync(reorganizedJsonFilePath, JSON.stringify(acteur, null, 2), { encoding: "utf8" }); } } catch (err) { _iterator3.e(err); } finally { _iterator3.f(); } var _iterator4 = _createForOfIteratorHelper(originalData["export"].organes.organe), _step4; try { for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { var organe = _step4.value; var _reorganizedJsonFilePath = _path["default"].join(organesReorganizedDir, organe.uid + ".json"); _fsExtra["default"].writeFileSync(_reorganizedJsonFilePath, JSON.stringify(organe, null, 2), { encoding: "utf8" }); } } catch (err) { _iterator4.e(err); } finally { _iterator4.f(); } } break; case _datasets.DatasetStructure.SegmentedFiles: { var deportsByActeurUid = {}; if (_fsExtra["default"].existsSync(_path["default"].join(originalJsonDirectoryOrFilePath, "deport"))) { var _iterator5 = _createForOfIteratorHelper((0, _file_systems.walkDir)(originalJsonDirectoryOrFilePath, ["deport"])), _step5; try { for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { var deportSplitPath = _step5.value; var deportFilename = deportSplitPath[deportSplitPath.length - 1]; if (!deportFilename.endsWith(".json")) { continue; } var deportOriginalFilePath = _path["default"].join.apply(_path["default"], [originalJsonDirectoryOrFilePath].concat(_toConsumableArray(deportSplitPath))); if (options.verbose) { console.log(" Loading \"deport\" file: ".concat(deportOriginalFilePath, "\u2026")); } var deportOriginalJson = _fsExtra["default"].readFileSync(deportOriginalFilePath, { encoding: "utf8" }); var deportOriginal = validateRawData ? _acteurs_et_organes.Convert.toDeport(deportOriginalJson) : JSON.parse(deportOriginalJson); var deport = deportOriginal.deport; var _deports = deportsByActeurUid[deport.acteurRef]; if (_deports === undefined) { _deports = deportsByActeurUid[deport.acteurRef] = []; } _deports.push(deport); } } catch (err) { _iterator5.e(err); } finally { _iterator5.f(); } for (var _i = 0, _Object$values = Object.values(deportsByActeurUid); _i < _Object$values.length; _i++) { var deports = _Object$values[_i]; deports.sort(function (a, b) { return a.uid.length === b.uid.length ? a.uid.localeCompare(b.uid) : a.uid.length - b.uid.length; }); } } var mandatsByActeurUid = {}; if (_fsExtra["default"].existsSync(_path["default"].join(originalJsonDirectoryOrFilePath, "mandat"))) { var _iterator6 = _createForOfIteratorHelper((0, _file_systems.walkDir)(originalJsonDirectoryOrFilePath, ["mandat"])), _step6; try { for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { var mandatSplitPath = _step6.value; var mandatFilename = mandatSplitPath[mandatSplitPath.length - 1]; if (!mandatFilename.endsWith(".json")) { continue; } var mandatOriginalFilePath = _path["default"].join.apply(_path["default"], [originalJsonDirectoryOrFilePath].concat(_toConsumableArray(mandatSplitPath))); if (options.verbose) { console.log(" Loading \"mandat\" file: ".concat(mandatOriginalFilePath, "\u2026")); } var mandatOriginalJson = _fsExtra["default"].readFileSync(mandatOriginalFilePath, { encoding: "utf8" }); var mandatOriginal = validateRawData ? _acteurs_et_organes.Convert.toMandatWrapper(mandatOriginalJson) : JSON.parse(mandatOriginalJson); var mandat = mandatOriginal.mandat; var _mandats = mandatsByActeurUid[mandat.acteurRef]; if (_mandats === undefined) { _mandats = mandatsByActeurUid[mandat.acteurRef] = []; } _mandats.push(mandat); } } catch (err) { _iterator6.e(err); } finally { _iterator6.f(); } for (var _i2 = 0, _Object$values2 = Object.values(mandatsByActeurUid); _i2 < _Object$values2.length; _i2++) { var mandats = _Object$values2[_i2]; mandats.sort(function (a, b) { return a.uid.length === b.uid.length ? a.uid.localeCompare(b.uid) : a.uid.length - b.uid.length; }); } } var _iterator7 = _createForOfIteratorHelper((0, _file_systems.walkDir)(originalJsonDirectoryOrFilePath, ["acteur"])), _step7; try { for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { var acteurSplitPath = _step7.value; var acteurFilename = acteurSplitPath[acteurSplitPath.length - 1]; if (!acteurFilename.endsWith(".json")) { continue; } var acteurOriginalFilePath = _path["default"].join.apply(_path["default"], [originalJsonDirectoryOrFilePath].concat(_toConsumableArray(acteurSplitPath))); if (options.verbose) { console.log(" Reorganizing \"acteur\" file: ".concat(acteurOriginalFilePath, "\u2026")); } var acteurOriginalJson = _fsExtra["default"].readFileSync(acteurOriginalFilePath, { encoding: "utf8" }); var acteurOriginal = validateRawData ? _acteurs_et_organes.Convert.toActeur(acteurOriginalJson) : JSON.parse(acteurOriginalJson); var _acteur = acteurOriginal.acteur; var acteurUid = _acteur.uid["#text"]; var _deports2 = deportsByActeurUid[acteurUid]; if (_deports2 !== undefined) { _assert["default"].strictEqual(_acteur.deports, undefined); _acteur.deports = { deport: _deports2 }; } var _mandats2 = mandatsByActeurUid[acteurUid]; if (_mandats2 !== undefined) { _assert["default"].strictEqual(_acteur.mandats, undefined); _acteur.mandats = { mandat: _mandats2 }; } var acteurReorganizedJsonFilePath = _path["default"].join(acteursReorganizedDir, acteurUid + ".json"); _fsExtra["default"].writeFileSync(acteurReorganizedJsonFilePath, JSON.stringify(_acteur, null, 2), { encoding: "utf8" }); } } catch (err) { _iterator7.e(err); } finally { _iterator7.f(); } var _iterator8 = _createForOfIteratorHelper((0, _file_systems.walkDir)(originalJsonDirectoryOrFilePath, ["organe"])), _step8; try { for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { var organeSplitPath = _step8.value; var organeFilename = organeSplitPath[organeSplitPath.length - 1]; if (!organeFilename.endsWith(".json")) { continue; } var organeOriginalFilePath = _path["default"].join.apply(_path["default"], [originalJsonDirectoryOrFilePath].concat(_toConsumableArray(organeSplitPath))); if (options.verbose) { console.log(" Reorganizing \"organe\" file: ".concat(organeOriginalFilePath, "\u2026")); } var organeOriginalJson = _fsExtra["default"].readFileSync(organeOriginalFilePath, { encoding: "utf8" }); var organeOriginal = validateRawData ? _acteurs_et_organes.Convert.toOrgane(organeOriginalJson) : JSON.parse(organeOriginalJson); var _organe = organeOriginal.organe; var organeReorganizedJsonFilePath = _path["default"].join(organesReorganizedDir, _organe.uid + ".json"); _fsExtra["default"].writeFileSync(organeReorganizedJsonFilePath, JSON.stringify(_organe, null, 2), { encoding: "utf8" }); } } catch (err) { _iterator8.e(err); } finally { _iterator8.f(); } } break; } commitGit(datasetReorganizedDir, options); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } if (enabledDatasets & _datasets.EnabledDatasets.Agendas) { var _iterator9 = _createForOfIteratorHelper(chosenDatasets.agendas), _step9; try { for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { var _dataset = _step9.value; var _originalJsonDirectoryOrFilePath = _path["default"].join(dataDir, _dataset.filename); if (!options.silent) { console.log("Reorganizing ".concat(_originalJsonDirectoryOrFilePath)); } var _datasetName = _path["default"].basename(_originalJsonDirectoryOrFilePath, ".json"); cloneGit(gitGroupUrl, _datasetName, dataDir); var _datasetReorganizedDir = _path["default"].join(dataDir, _datasetName); clearDirectory(_datasetReorganizedDir); switch (_dataset.structure) { case _datasets.DatasetStructure.SingleFile: { var _originalJson = _fsExtra["default"].readFileSync(_originalJsonDirectoryOrFilePath, { encoding: "utf8" }); var _originalData = validateRawData ? _agendas.Convert.toAgendas(_originalJson) : JSON.parse(_originalJson); var _iterator10 = _createForOfIteratorHelper(_originalData.reunions.reunion), _step10; try { for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { var reunion = _step10.value; writeReorganizedJson(_datasetReorganizedDir, reunion, _loaders.pathFromReunionUid); } } catch (err) { _iterator10.e(err); } finally { _iterator10.f(); } } break; case _datasets.DatasetStructure.SegmentedFiles: { var _iterator11 = _createForOfIteratorHelper((0, _file_systems.walkDir)(_originalJsonDirectoryOrFilePath, ["reunion"])), _step11; try { for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { var reunionSplitPath = _step11.value; var reunionFilename = reunionSplitPath[reunionSplitPath.length - 1]; if (!reunionFilename.endsWith(".json")) { continue; } var reunionOriginalFilePath = _path["default"].join.apply(_path["default"], [_originalJsonDirectoryOrFilePath].concat(_toConsumableArray(reunionSplitPath))); if (options.verbose) { console.log(" Reorganizing \"reunion\" file: ".concat(reunionOriginalFilePath, "\u2026")); } var reunionOriginalJson = _fsExtra["default"].readFileSync(reunionOriginalFilePath, { encoding: "utf8" }); var reunionOriginal = validateRawData ? _agendas.Convert.toReunion(reunionOriginalJson) : JSON.parse(reunionOriginalJson); var _reunion = reunionOriginal.reunion; writeReorganizedJson(_datasetReorganizedDir, _reunion, _loaders.pathFromReunionUid); } } catch (err) { _iterator11.e(err); } finally { _iterator11.f(); } } break; } commitGit(_datasetReorganizedDir, options); } } catch (err) { _iterator9.e(err); } finally { _iterator9.f(); } } if (enabledDatasets & _datasets.EnabledDatasets.Amendements) { var _iterator12 = _createForOfIteratorHelper(chosenDatasets.amendements), _step12; try { for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { var _dataset2 = _step12.value; var _originalJsonDirectoryOrFilePath2 = _path["default"].join(dataDir, _dataset2.filename); if (!options.silent) { console.log("Reorganizing ".concat(_originalJsonDirectoryOrFilePath2)); } var _datasetName2 = _path["default"].basename(_originalJsonDirectoryOrFilePath2, ".json"); cloneGit(gitGroupUrl, _datasetName2, dataDir); var _datasetReorganizedDir2 = _path["default"].join(dataDir, _datasetName2); clearDirectory(_datasetReorganizedDir2); switch (_dataset2.structure) { case _datasets.DatasetStructure.SingleFile: { var _originalJson2 = _fsExtra["default"].readFileSync(_originalJsonDirectoryOrFilePath2, { encoding: "utf8" }); var _originalData2 = validateRawData ? _amendements.Convert.toAmendements(_originalJson2) : JSON.parse(_originalJson2); var _iterator13 = _createForOfIteratorHelper(_originalData2.textesEtAmendements.texteleg), _step13; try { for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { var texteLegislatif = _step13.value; var _iterator14 = _createForOfIteratorHelper(texteLegislatif.amendements), _step14; try { for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { var amendement = _step14.value; writeAmendementReorganizedJson(_datasetReorganizedDir2, amendement); } } catch (err) { _iterator14.e(err); } finally { _iterator14.f(); } } } catch (err) { _iterator13.e(err); } finally { _iterator13.f(); } } break; case _datasets.DatasetStructure.SegmentedFiles: { var _iterator15 = _createForOfIteratorHelper((0, _file_systems.walkDir)(_originalJsonDirectoryOrFilePath2)), _step15; try { for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { var amendementSplitPath = _step15.value; var amendementFilename = amendementSplitPath[amendementSplitPath.length - 1]; if (!amendementFilename.endsWith(".json")) { continue; } var amendementOriginalFilePath = _path["default"].join.apply(_path["default"], [_originalJsonDirectoryOrFilePath2].concat(_toConsumableArray(amendementSplitPath))); if (options.verbose) { console.log(" Reorganizing \"amendement\" file: ".concat(amendementOriginalFilePath, "\u2026")); } var amendementOriginalJson = _fsExtra["default"].readFileSync(amendementOriginalFilePath, { encoding: "utf8" }); var amendementOriginal = validateRawData ? _amendements.Convert.toAmendementWrapper(amendementOriginalJson) : JSON.parse(amendementOriginalJson); var _amendement = amendementOriginal.amendement; writeAmendementReorganizedJson(_datasetReorganizedDir2, _amendement); } } catch (err) { _iterator15.e(err); } finally { _iterator15.f(); } } break; } commitGit(_datasetReorganizedDir2, options); } } catch (err) { _iterator12.e(err); } finally { _iterator12.f(); } } if (enabledDatasets & _datasets.EnabledDatasets.DossiersLegislatifs) { var _iterator16 = _createForOfIteratorHelper(chosenDatasets.dossiersLegislatifs), _step16; try { for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { var _dataset3 = _step16.value; var _originalJsonDirectoryOrFilePath3 = _path["default"].join(dataDir, _dataset3.filename); if (!options.silent) { console.log("Reorganizing ".concat(_originalJsonDirectoryOrFilePath3)); } var _datasetName3 = _path["default"].basename(_originalJsonDirectoryOrFilePath3, ".json"); cloneGit(gitGroupUrl, _datasetName3, dataDir); var _datasetReorganizedDir3 = _path["default"].join(dataDir, _datasetName3); clearDirectory(_datasetReorganizedDir3); var documentsDir = _path["default"].join(_datasetReorganizedDir3, "documents"); _fsExtra["default"].mkdirSync(documentsDir); var dossiersDir = _path["default"].join(_datasetReorganizedDir3, "dossiers"); _fsExtra["default"].mkdirSync(dossiersDir); switch (_dataset3.structure) { case _datasets.DatasetStructure.SingleFile: { var _originalJson3 = _fsExtra["default"].readFileSync(_originalJsonDirectoryOrFilePath3, { encoding: "utf8" }); var _originalData3 = validateRawData ? _dossiers_legislatifs.Convert.toDossiersLegislatifs(_originalJson3) : JSON.parse(_originalJson3); var _iterator17 = _createForOfIteratorHelper(_originalData3["export"].textesLegislatifs.document), _step17; try { for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) { var document = _step17.value; writeReorganizedJson(documentsDir, document, _loaders.pathFromDocumentUid); } } catch (err) { _iterator17.e(err); } finally { _iterator17.f(); } var _iterator18 = _createForOfIteratorHelper(_originalData3["export"].dossiersLegislatifs.dossier), _step18; try { for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) { var dossierParlementaire = _step18.value.dossierParlementaire; writeReorganizedJson(dossiersDir, dossierParlementaire, _loaders.pathFromDossierParlementaireUid); } } catch (err) { _iterator18.e(err); } finally { _iterator18.f(); } } break; case _datasets.DatasetStructure.SegmentedFiles: { var _iterator19 = _createForOfIteratorHelper((0, _file_systems.walkDir)(_originalJsonDirectoryOrFilePath3, ["document"])), _step19; try { for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) { var documentSplitPath = _step19.value; var documentFilename = documentSplitPath[documentSplitPath.length - 1]; if (!documentFilename.endsWith(".json")) { continue; } var documentOriginalFilePath = _path["default"].join.apply(_path["default"], [_originalJsonDirectoryOrFilePath3].concat(_toConsumableArray(documentSplitPath))); if (options.verbose) { console.log(" Reorganizing \"document\" file: ".concat(documentOriginalFilePath, "\u2026")); } var documentOriginalJson = _fsExtra["default"].readFileSync(documentOriginalFilePath, { encoding: "utf8" }); var documentOriginal = validateRawData ? _dossiers_legislatifs.Convert.toDocument(documentOriginalJson) : JSON.parse(documentOriginalJson); var _document = documentOriginal.document; writeReorganizedJson(documentsDir, _document, _loaders.pathFromDocumentUid); } } catch (err) { _iterator19.e(err); } finally { _iterator19.f(); } var _iterator20 = _createForOfIteratorHelper((0, _file_systems.walkDir)(_originalJsonDirectoryOrFilePath3, ["dossierParlementaire"])), _step20; try { for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) { var dossierParlementaireSplitPath = _step20.value; var dossierParlementaireFilename = dossierParlementaireSplitPath[dossierParlementaireSplitPath.length - 1]; if (!dossierParlementaireFilename.endsWith(".json")) { continue; } var dossierParlementaireOriginalFilePath = _path["default"].join.apply(_path["default"], [_originalJsonDirectoryOrFilePath3].concat(_toConsumableArray(dossierParlementaireSplitPath))); if (options.verbose) { console.log(" Reorganizing \"dossierParlementaire\" file: ".concat(dossierParlementaireOriginalFilePath, "\u2026")); } var dossierParlementaireOriginalJson = _fsExtra["default"].readFileSync(dossierParlementaireOriginalFilePath, { encoding: "utf8" }); var dossierParlementaireOriginal = validateRawData ? _dossiers_legislatifs.Convert.toDossierParlementaire(dossierParlementaireOriginalJson) : JSON.parse(dossierParlementaireOriginalJson); var _dossierParlementaire = dossierParlementaireOriginal.dossierParlementaire; writeReorganizedJson(dossiersDir, _dossierParlementaire, _loaders.pathFromDossierParlementaireUid); } } catch (err) { _iterator20.e(err); } finally { _iterator20.f(); } } break; } commitGit(_datasetReorganizedDir3, options); } } catch (err) { _iterator16.e(err); } finally { _iterator16.f(); } } if (enabledDatasets & _datasets.EnabledDatasets.Scrutins) { var _iterator21 = _createForOfIteratorHelper(chosenDatasets.scrutins), _step21; try { for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) { var _dataset4 = _step21.value; var _originalJsonDirectoryOrFilePath4 = _path["default"].join(dataDir, _dataset4.filename); if (!options.silent) { console.log("Reorganizing ".concat(_originalJsonDirectoryOrFilePath4)); } var _datasetName4 = _path["default"].basename(_originalJsonDirectoryOrFilePath4, ".json"); cloneGit(gitGroupUrl, _datasetName4, dataDir); var _datasetReorganizedDir4 = _path["default"].join(dataDir, _datasetName4); clearDirectory(_datasetReorganizedDir4); switch (_dataset4.structure) { case _datasets.DatasetStructure.SingleFile: { var _originalJson4 = _fsExtra["default"].readFileSync(_originalJsonDirectoryOrFilePath4, { encoding: "utf8" }); var _originalData4 = validateRawData ? _scrutins.Convert.toScrutins(_originalJson4) : JSON.parse(_originalJson4); var _iterator22 = _createForOfIteratorHelper(_originalData4.scrutins.scrutin), _step22; try { for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) { var scrutin = _step22.value; writeReorganizedJson(_datasetReorganizedDir4, scrutin, _loaders.pathFromScrutinUid); } } catch (err) { _iterator22.e(err); } finally { _iterator22.f(); } } break; case _datasets.DatasetStructure.SegmentedFiles: { var _iterator23 = _createForOfIteratorHelper((0, _file_systems.walkDir)(_originalJsonDirectoryOrFilePath4)), _step23; try { for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) { var scrutinSplitPath = _step23.value; var scrutinFilename = scrutinSplitPath[scrutinSplitPath.length - 1]; if (!scrutinFilename.endsWith(".json")) { continue; } var scrutinOriginalFilePath = _path["default"].join.apply(_path["default"], [_originalJsonDirectoryOrFilePath4].concat(_toConsumableArray(scrutinSplitPath))); if (options.verbose) { console.log(" Reorganizing \"scrutin\" file: ".concat(scrutinOriginalFilePath, "\u2026")); } var scrutinOriginalJson = _fsExtra["default"].readFileSync(scrutinOriginalFilePath, { encoding: "utf8" }); var scrutinOriginal = validateRawData ? _scrutins.Convert.toScrutinWrapper(scrutinOriginalJson) : JSON.parse(scrutinOriginalJson); var _scrutin = scrutinOriginal.scrutin; writeReorganizedJson(_datasetReorganizedDir4, _scrutin, _loaders.pathFromScrutinUid); } } catch (err) { _iterator23.e(err); } finally { _iterator23.f(); } } break; } commitGit(_datasetReorganizedDir4, options); } } catch (err) { _iterator21.e(err); } finally { _iterator21.f(); } } if (enabledDatasets & _datasets.EnabledDatasets.Questions) { var _iterator24 = _createForOfIteratorHelper(_datasets.datasets.questions), _step24; try { for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) { var _dataset5 = _step24.value; var _originalJsonDirectoryOrFilePath5 = _path["default"].join(dataDir, _dataset5.filename); if (!options.silent) { console.log("Reorganizing ".concat(_originalJsonDirectoryOrFilePath5)); } var _datasetName5 = _path["default"].basename(_originalJsonDirectoryOrFilePath5, ".json"); cloneGit(gitGroupUrl, _datasetName5, dataDir); var _datasetReorganizedDir5 = _path["default"].join(dataDir, _datasetName5); clearDirectory(_datasetReorganizedDir5); switch (_dataset5.structure) { case _datasets.DatasetStructure.SegmentedFiles: { var _iterator25 = _createForOfIteratorHelper((0, _file_systems.walkDir)(_originalJsonDirectoryOrFilePath5)), _step25; try { for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) { var questionSplitPath = _step25.value; var questionFilename = questionSplitPath[questionSplitPath.length - 1]; if (!questionFilename.endsWith(".json")) { continue; } var questionOriginalFilePath = _path["default"].join.apply(_path["default"], [_originalJsonDirectoryOrFilePath5].concat(_toConsumableArray(questionSplitPath))); if (options.verbose) { console.log(" Reorganizing \"question\" file: ".concat(questionOriginalFilePath, "\u2026")); } var questionOriginalJson = _fsExtra["default"].readFileSync(questionOriginalFilePath, { encoding: "utf8" }); var questionOriginal = validateRawData ? _questions.Convert.toQuestionWrapper(questionOriginalJson) : JSON.parse(questionOriginalJson); var question = questionOriginal.question; writeReorganizedJson(_datasetReorganizedDir5, question, _loaders.pathFromQuestionUid); } } catch (err) { _iterator25.e(err); } finally { _iterator25.f(); } } break; } commitGit(_datasetReorganizedDir5, options); } } catch (err) { _iterator24.e(err); } finally { _iterator24.f(); } } if (enabledDatasets & _datasets.EnabledDatasets.ComptesRendusSeances) { var _iterator26 = _createForOfIteratorHelper(_datasets.datasets.comptesRendusSeances), _step26; try { for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) { var _dataset6 = _step26.value; var _originalJsonDirectoryOrFilePath6 = _path["default"].join(dataDir, _dataset6.filename); if (!options.silent) { console.log("Reorganizing ".concat(_originalJsonDirectoryOrFilePath6)); } var _datasetName6 = _path["default"].basename(_originalJsonDirectoryOrFilePath6, ".xml"); cloneGit(gitGroupUrl, _datasetName6, dataDir); var _datasetReorganizedDir6 = _path["default"].join(dataDir, _datasetName6); clearDirectory(_datasetReorganizedDir6); switch (_dataset6.structure) { case _datasets.DatasetStructure.SegmentedFiles: { var _iterator27 = _createForOfIteratorHelper((0, _file_systems.walkDir)(_originalJsonDirectoryOrFilePath6)), _step27; try { for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) { var compteRenduSeanceSplitPath = _step27.value; var compteRenduSeanceFilename = compteRenduSeanceSplitPath[compteRenduSeanceSplitPath.length - 1]; if (!compteRenduSeanceFilename.endsWith(".json")) { continue; } var compteRenduSeanceOriginalFilePath = _path["default"].join.apply(_path["default"], [_originalJsonDirectoryOrFilePath6].concat(_toConsumableArray(compteRenduSeanceSplitPath))); if (options.verbose) { console.log(" Reorganizing \"compteRenduSeance\" file: ".concat(compteRenduSeanceOriginalFilePath, "\u2026")); } var compteRenduSeanceOriginalJson = _fsExtra["default"].readFileSync(compteRenduSeanceOriginalFilePath, { encoding: "utf8" }); var compteRenduSeanceOriginal = validateRawData ? _debats.Convert.toCompteRenduWrapper(compteRenduSeanceOriginalJson) : JSON.parse(compteRenduSeanceOriginalJson); var compteRenduSeance = compteRenduSeanceOriginal.compteRendu; writeReorganizedJson(_datasetReorganizedDir6, compteRenduSeance, _loaders.pathFromCompteRenduUid); } } catch (err) { _iterator27.e(err); } finally { _iterator27.f(); } } break; } commitGit(_datasetReorganizedDir6, options); } } catch (err) { _iterator26.e(err); } finally { _iterator26.f(); } } // Restore standard conversion of dates to JSON. Date.prototype.toJSON = _dates.existingDateToJson; return exitCode; } function writeAmendementReorganizedJson(datasetReorganizedDir, amendement) { var uidTexteLegislatif = amendement.texteLegislatifRef; _assert["default"].notStrictEqual(uidTexteLegislatif, undefined); var texteLegislatifDir = _path["default"].join(datasetReorganizedDir, uidTexteLegislatif); _fsExtra["default"].ensureDirSync(texteLegislatifDir); var reorganizedJsonFilePath = _path["default"].join(texteLegislatifDir, amendement.uid + ".json"); _fsExtra["default"].writeFileSync(reorganizedJsonFilePath, JSON.stringify(amendement, null, 2), { encoding: "utf8" }); } function writeReorganizedJson(dir, obj, pathFromUid) { var basename = pathFromUid(dir, obj.uid); _fsExtra["default"].writeFileSync("".concat(basename, ".json"), JSON.stringify(obj, null, 2), { encoding: "utf8" }); } function main(argv) { var options = parseArgs(argv); return reorganizeData(options); } /* istanbul ignore if */ if (process.argv[1].endsWith("reorganize_data.ts")) process.exit(main(process.argv)); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9kYXRhc2V0cyIsIl9kYXRlcyIsImdpdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2ZpbGVfc3lzdGVtcyIsIl9sb2FkZXJzIiwiX2FjdGV1cnNfZXRfb3JnYW5lcyIsIl9hZ2VuZGFzIiwiX2FtZW5kZW1lbnRzIiwiX2Rvc3NpZXJzX2xlZ2lzbGF0aWZzIiwiX3NjcnV0aW5zIiwiX3F1ZXN0aW9ucyIsIl9kZWJhdHMiLCJfY2xpX2hlbHBlcnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJkb25lIiwidmFsdWUiLCJmIiwibyIsIm5leHQiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsInBhcnNlQXJncyIsImFyZ3YiLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsImNhdGVnb3JpZXNPcHRpb24iLCJsZWdpc2xhdHVyZU9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsInZlcmJvc2VPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsImZldGNoRG9jdW1lbnRzT3B0aW9uIiwicGFyc2VEb2N1bWVudHNPcHRpb24iLCJkb2N1bWVudEZvcm1hdE9wdGlvbiIsInB1bGxPcHRpb24iLCJhbGlhcyIsImhlbHAiLCJ0eXBlIiwiQm9vbGVhbiIsIm9wdGlvbnMiLCJjb21tYW5kTGluZUFyZ3MiLCJjbGVhckRpcmVjdG9yeSIsImRpclBhdGgiLCJmcyIsImVuc3VyZURpclN5bmMiLCJfaXRlcmF0b3IiLCJyZWFkZGlyU3luYyIsIl9zdGVwIiwiZmlsZW5hbWUiLCJzdGFydHNXaXRoIiwicmVtb3ZlU3luYyIsInBhdGgiLCJqb2luIiwiZXJyIiwiY2xvbmVHaXQiLCJnaXRHcm91cFVybCIsImRhdGFzZXROYW1lIiwiZGF0YURpciIsImNsb25lIiwicmVvcmdhbml6ZURhdGEiLCJfb3B0aW9ucyRjbG9uZSIsIkRhdGUiLCJwcm90b3R5cGUiLCJ0b0pTT04iLCJwYXRjaGVkRGF0ZVRvSnNvbiIsImV4aXRDb2RlIiwiY29tbWl0IiwidHJpbSIsInJlcGxhY2UiLCJ2YWxpZGF0ZVJhd0RhdGEiLCJlbmFibGVkRGF0YXNldHMiLCJnZXRFbmFibGVkRGF0YXNldHMiLCJjYXRlZ29yaWVzIiwiY2hvc2VuRGF0YXNldHMiLCJmaWx0ZXJCeUxlZ2lzbGF0dXJlIiwiZGF0YXNldHMiLCJsZWdpc2xhdHVyZSIsImNvbW1pdEdpdCIsImRhdGFzZXRSZW9yZ2FuaXplZERpciIsImVycm9yQ29kZSIsImNvbW1pdEFuZFB1c2giLCJyZW1vdGUiLCJFbmFibGVkRGF0YXNldHMiLCJBY3RldXJzRXRPcmdhbmVzIiwiX2l0ZXJhdG9yMiIsImFjdGV1cnNFdE9yZ2FuZXMiLCJfc3RlcDIiLCJkYXRhc2V0Iiwib3JpZ2luYWxKc29uRGlyZWN0b3J5T3JGaWxlUGF0aCIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJjb25jYXQiLCJiYXNlbmFtZSIsInB1bGwiLCJyZXNldEFuZFB1bGwiLCJhY3RldXJzUmVvcmdhbml6ZWREaXIiLCJta2RpclN5bmMiLCJvcmdhbmVzUmVvcmdhbml6ZWREaXIiLCJzdHJ1Y3R1cmUiLCJEYXRhc2V0U3RydWN0dXJlIiwiU2luZ2xlRmlsZSIsIm9yaWdpbmFsSnNvbiIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwib3JpZ2luYWxEYXRhIiwiQWN0ZXVyc0V0T3JnYW5lc1Jhd0NvbnZlcnQiLCJ0b0FjdGV1cnNFdE9yZ2FuZXMiLCJKU09OIiwicGFyc2UiLCJfaXRlcmF0b3IzIiwiYWN0ZXVycyIsImFjdGV1ciIsIl9zdGVwMyIsInJlb3JnYW5pemVkSnNvbkZpbGVQYXRoIiwidWlkIiwid3JpdGVGaWxlU3luYyIsInN0cmluZ2lmeSIsIl9pdGVyYXRvcjQiLCJvcmdhbmVzIiwib3JnYW5lIiwiX3N0ZXA0IiwiU2VnbWVudGVkRmlsZXMiLCJkZXBvcnRzQnlBY3RldXJVaWQiLCJleGlzdHNTeW5jIiwiX2l0ZXJhdG9yNSIsIndhbGtEaXIiLCJfc3RlcDUiLCJkZXBvcnRTcGxpdFBhdGgiLCJkZXBvcnRGaWxlbmFtZSIsImVuZHNXaXRoIiwiZGVwb3J0T3JpZ2luYWxGaWxlUGF0aCIsImFwcGx5IiwidmVyYm9zZSIsImRlcG9ydE9yaWdpbmFsSnNvbiIsImRlcG9ydE9yaWdpbmFsIiwidG9EZXBvcnQiLCJkZXBvcnQiLCJkZXBvcnRzIiwiYWN0ZXVyUmVmIiwidW5kZWZpbmVkIiwicHVzaCIsIl9pIiwiX09iamVjdCR2YWx1ZXMiLCJ2YWx1ZXMiLCJzb3J0IiwiYiIsImxvY2FsZUNvbXBhcmUiLCJtYW5kYXRzQnlBY3RldXJVaWQiLCJfaXRlcmF0b3I2IiwiX3N0ZXA2IiwibWFuZGF0U3BsaXRQYXRoIiwibWFuZGF0RmlsZW5hbWUiLCJtYW5kYXRPcmlnaW5hbEZpbGVQYXRoIiwibWFuZGF0T3JpZ2luYWxKc29uIiwibWFuZGF0T3JpZ2luYWwiLCJ0b01hbmRhdFdyYXBwZXIiLCJtYW5kYXQiLCJtYW5kYXRzIiwiX2kyIiwiX09iamVjdCR2YWx1ZXMyIiwiX2l0ZXJhdG9yNyIsIl9zdGVwNyIsImFjdGV1clNwbGl0UGF0aCIsImFjdGV1ckZpbGVuYW1lIiwiYWN0ZXVyT3JpZ2luYWxGaWxlUGF0aCIsImFjdGV1ck9yaWdpbmFsSnNvbiIsImFjdGV1ck9yaWdpbmFsIiwidG9BY3RldXIiLCJhY3RldXJVaWQiLCJhc3NlcnQiLCJzdHJpY3RFcXVhbCIsImFjdGV1clJlb3JnYW5pemVkSnNvbkZpbGVQYXRoIiwiX2l0ZXJhdG9yOCIsIl9zdGVwOCIsIm9yZ2FuZVNwbGl0UGF0aCIsIm9yZ2FuZUZpbGVuYW1lIiwib3JnYW5lT3JpZ2luYWxGaWxlUGF0aCIsIm9yZ2FuZU9yaWdpbmFsSnNvbiIsIm9yZ2FuZU9yaWdpbmFsIiwidG9PcmdhbmUiLCJvcmdhbmVSZW9yZ2FuaXplZEpzb25GaWxlUGF0aCIsIkFnZW5kYXMiLCJfaXRlcmF0b3I5IiwiYWdlbmRhcyIsIl9zdGVwOSIsIkFnZW5kYXNSYXdDb252ZXJ0IiwidG9BZ2VuZGFzIiwiX2l0ZXJhdG9yMTAiLCJyZXVuaW9ucyIsInJldW5pb24iLCJfc3RlcDEwIiwid3JpdGVSZW9yZ2FuaXplZEpzb24iLCJwYXRoRnJvbVJldW5pb25VaWQiLCJfaXRlcmF0b3IxMSIsIl9zdGVwMTEiLCJyZXVuaW9uU3BsaXRQYXRoIiwicmV1bmlvbkZpbGVuYW1lIiwicmV1bmlvbk9yaWdpbmFsRmlsZVBhdGgiLCJyZXVuaW9uT3JpZ2luYWxKc29uIiwicmV1bmlvbk9yaWdpbmFsIiwidG9SZXVuaW9uIiwiQW1lbmRlbWVudHMiLCJfaXRlcmF0b3IxMiIsImFtZW5kZW1lbnRzIiwiX3N0ZXAxMiIsIkFtZW5kZW1lbnRzUmF3Q29udmVydCIsInRvQW1lbmRlbWVudHMiLCJfaXRlcmF0b3IxMyIsInRleHRlc0V0QW1lbmRlbWVudHMiLCJ0ZXh0ZWxlZyIsIl9zdGVwMTMiLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJfaXRlcmF0b3IxNCIsIl9zdGVwMTQiLCJhbWVuZGVtZW50Iiwid3JpdGVBbWVuZGVtZW50UmVvcmdhbml6ZWRKc29uIiwiX2l0ZXJhdG9yMTUiLCJfc3RlcDE1IiwiYW1lbmRlbWVudFNwbGl0UGF0aCIsImFtZW5kZW1lbnRGaWxlbmFtZSIsImFtZW5kZW1lbnRPcmlnaW5hbEZpbGVQYXRoIiwiYW1lbmRlbWVudE9yaWdpbmFsSnNvbiIsImFtZW5kZW1lbnRPcmlnaW5hbCIsInRvQW1lbmRlbWVudFdyYXBwZXIiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzIiwiX2l0ZXJhdG9yMTYiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwiX3N0ZXAxNiIsImRvY3VtZW50c0RpciIsImRvc3NpZXJzRGlyIiwiRG9zc2llcnNMZWdpc2xhdGlmc1Jhd0NvbnZlcnQiLCJ0b0Rvc3NpZXJzTGVnaXNsYXRpZnMiLCJfaXRlcmF0b3IxNyIsInRleHRlc0xlZ2lzbGF0aWZzIiwiZG9jdW1lbnQiLCJfc3RlcDE3IiwicGF0aEZyb21Eb2N1bWVudFVpZCIsIl9pdGVyYXRvcjE4IiwiZG9zc2llciIsIl9zdGVwMTgiLCJkb3NzaWVyUGFybGVtZW50YWlyZSIsInBhdGhGcm9tRG9zc2llclBhcmxlbWVudGFpcmVVaWQiLCJfaXRlcmF0b3IxOSIsIl9zdGVwMTkiLCJkb2N1bWVudFNwbGl0UGF0aCIsImRvY3VtZW50RmlsZW5hbWUiLCJkb2N1bWVudE9yaWdpbmFsRmlsZVBhdGgiLCJkb2N1bWVudE9yaWdpbmFsSnNvbiIsImRvY3VtZW50T3JpZ2luYWwiLCJ0b0RvY3VtZW50IiwiX2l0ZXJhdG9yMjAiLCJfc3RlcDIwIiwiZG9zc2llclBhcmxlbWVudGFpcmVTcGxpdFBhdGgiLCJkb3NzaWVyUGFybGVtZW50YWlyZUZpbGVuYW1lIiwiZG9zc2llclBhcmxlbWVudGFpcmVPcmlnaW5hbEZpbGVQYXRoIiwiZG9zc2llclBhcmxlbWVudGFpcmVPcmlnaW5hbEpzb24iLCJkb3NzaWVyUGFybGVtZW50YWlyZU9yaWdpbmFsIiwidG9Eb3NzaWVyUGFybGVtZW50YWlyZSIsIlNjcnV0aW5zIiwiX2l0ZXJhdG9yMjEiLCJzY3J1dGlucyIsIl9zdGVwMjEiLCJTY3J1dGluc1Jhd0NvbnZlcnQiLCJ0b1NjcnV0aW5zIiwiX2l0ZXJhdG9yMjIiLCJzY3J1dGluIiwiX3N0ZXAyMiIsInBhdGhGcm9tU2NydXRpblVpZCIsIl9pdGVyYXRvcjIzIiwiX3N0ZXAyMyIsInNjcnV0aW5TcGxpdFBhdGgiLCJzY3J1dGluRmlsZW5hbWUiLCJzY3J1dGluT3JpZ2luYWxGaWxlUGF0aCIsInNjcnV0aW5PcmlnaW5hbEpzb24iLCJzY3J1dGluT3JpZ2luYWwiLCJ0b1NjcnV0aW5XcmFwcGVyIiwiUXVlc3Rpb25zIiwiX2l0ZXJhdG9yMjQiLCJxdWVzdGlvbnMiLCJfc3RlcDI0IiwiX2l0ZXJhdG9yMjUiLCJfc3RlcDI1IiwicXVlc3Rpb25TcGxpdFBhdGgiLCJxdWVzdGlvbkZpbGVuYW1lIiwicXVlc3Rpb25PcmlnaW5hbEZpbGVQYXRoIiwicXVlc3Rpb25PcmlnaW5hbEpzb24iLCJxdWVzdGlvbk9yaWdpbmFsIiwiUXVlc3Rpb25zUmF3Q29udmVydCIsInRvUXVlc3Rpb25XcmFwcGVyIiwicXVlc3Rpb24iLCJwYXRoRnJvbVF1ZXN0aW9uVWlkIiwiQ29tcHRlc1JlbmR1c1NlYW5jZXMiLCJfaXRlcmF0b3IyNiIsImNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwiX3N0ZXAyNiIsIl9pdGVyYXRvcjI3IiwiX3N0ZXAyNyIsImNvbXB0ZVJlbmR1U2VhbmNlU3BsaXRQYXRoIiwiY29tcHRlUmVuZHVTZWFuY2VGaWxlbmFtZSIsImNvbXB0ZVJlbmR1U2VhbmNlT3JpZ2luYWxGaWxlUGF0aCIsImNvbXB0ZVJlbmR1U2VhbmNlT3JpZ2luYWx