zater-docx-pdf2
Advanced tools
Comparing version 4.2.175 to 4.2.176
{ | ||
"name": "zater-docx-pdf2", | ||
"version": "4.2.175", | ||
"version": "4.2.176", | ||
"description": "ZAter doc2pdf", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -136,3 +136,3 @@ 'use strict'; | ||
contractPorcentTotal: data.contractPorcentTotal || 0, | ||
bankName: data.bank.name.split('#')[1] || 'BTC Banco', | ||
bankName: bankName, | ||
bankTitular: data.bank.userName || 'BTC Banco', | ||
@@ -333,2 +333,2 @@ bankAgency: data.bank.agency || '0000', | ||
module.exports = (Docx, DigitalData, Storage, PdfGenerator) => new Contract(Docx, DigitalData, Storage, PdfGenerator); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb21haW4vQ29udHJhY3QuanMiXSwibmFtZXMiOlsibnVtZXJvUG9yRXh0ZW5zbyIsInJlcXVpcmUiLCJDUEYiLCJDb250cmFjdCIsIkNvbnRyYWN0RGVjb3JhdG9yIiwiY29uc3RydWN0b3IiLCJEb2N4IiwiRGlnaXRhbERhdGEiLCJTM1N0b3JhZ2UiLCJQZGZHZW5lcmF0b3IiLCJTdG9yYWdlIiwic2V0RGlnaXRhbERhdGEiLCJzZXRDb25maWciLCJjb25maWciLCJtYWtlQ1BGIiwiZGF0YSIsImNvdGFjYW8iLCJjb3RhY2FvSnNvbiIsImpzb24iLCJjb2luX2lkIiwiZmluZCIsInJvdyIsIkNvZGlnbyIsIlZhbG9yIiwidHlwZSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImNsaWVudFdhbGxldCIsImNsaWVudFdhbGxldEJ5Q29pbiIsImZpbHRlciIsImNvaW4iLCJhZGRyZXNzIiwiY29uc29sZSIsImxvZyIsImFtb3VudE1vbmV5IiwiY2FsY3VsYXRlVmFsdWUiLCJwYXJzZUZsb2F0IiwiYW1vdW50Q3J5cHQiLCJpc05hTiIsImNhbGMiLCJ2YWwiLCJwb3JFeHRlbnNvIiwiZXN0aWxvIiwibW9uZXRhcmlvIiwiZm9ybWF0byIsIm1pbmltdW1GcmFjdGlvbkRpZ2l0cyIsInN0eWxlIiwiY3VycmVuY3kiLCJ0b0xvY2FsZVN0cmluZyIsImNvaW5zIiwiY29udHJhY3RDb2luIiwiYmFua05hbWUiLCJiYW5rIiwibmFtZSIsInJlcGxhY2UiLCJjb250cmFjdCIsImludmVzdG1lbnRJZCIsImlkIiwiZHVyYXRpb24iLCJwZW5hbHR5UG9yY2VudCIsInBlbmFsdHlBZHYiLCJjbGllbnROYW1lIiwicHJvZHVjdE5hbWUiLCJwcm9kdWN0IiwibWFuYWdlck5hbWUiLCJjb250cmFjdE51bWJlciIsImNvbnRyYWN0RW5kIiwiY29udHJhY3RUYXhlIiwiY29udHJhY3RUcmFkZSIsImNvbnRyYWN0UG9yY2VudCIsImNvbnRyYWN0UG9yY2VudFRvdGFsIiwic3BsaXQiLCJiYW5rVGl0dWxhciIsInVzZXJOYW1lIiwiYmFua0FnZW5jeSIsImFnZW5jeSIsImJhbmtBY2NvdW50IiwiYWNjb3VudCIsImJhbmtDb2RlIiwiY29kZSIsImltYWdlIiwidnBTaWduYXR1cmUiLCJjb21lcmNpYWxTaWduYXR1cmUiLCJmaXJzdFJhbmRvbVNpZ25hdHVyZSIsInNlY29uZFJhbmRvbVNpZ25hdHVyZSIsImNsaWVudENQRiIsImZvcm1hdCIsImRhdGUiLCJEYXRlIiwiY2xpZW50UmVzdW1lIiwiY2xpZW50TmF0aW9uYWxpdHkiLCJjbGllbnRDaXZpbFN0YXRlIiwiY2xpZW50T2NjdXBhdGlvbiIsImNsaWVudFJHIiwiY2xpZW50U3RyZWV0IiwiY2xpZW50Q29tcGxlbWVudCIsImNsaWVudENFUCIsImNsaWVudENpdHkiLCJjbGllbnRTdGF0ZSIsIm1ha2VDTlBKIiwicmVzdWx0Iiwic29jaWFsUmVhc29uIiwiY2xpZW50Q05QSiIsImNvbXBhbnlTdHJlZXQiLCJjb21wYW55Q29tcGxlbWVudCIsImNvbXBhbnlDRVAiLCJjb21wYW55Q2l0eSIsImNvbXBhbnlTdGF0ZSIsInBhcnRuZXJDbGllbnROYW1lIiwicGFydG5lckNpdmlsU3RhdGUiLCJwYXJ0bmVyUHJvZmVzc2lvbiIsInBhcnRuZXJQZXJzb25hbFJlZ2lzdGVyIiwicGFydG5lclBlcnNvbmFsRG9jdW1lbnQiLCJwYXJ0bmVyQWRkcmVzcyIsInBhcnRuZXJBZGRyZXNzQ29tcGxlbWVudCIsInBhcnRuZXJQb3N0YWxDb2RlIiwibWFrZSIsInVzZXJJZCIsImRhdGFDb250cmFjdCIsImF3cyIsInNldFR5cGUiLCJnZW5lcmF0b3JMYXN0IiwidW5kZWZpbmVkIiwiRXJyb3JEb2N4UGRmIiwiZ2VuZXJhdGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldEJ1Y2tldCIsImJ1Y2tldCIsInRoZW4iLCJzZXREZXN0aW5hdGlvbkRpciIsInNldEZpbGUiLCJ1cGxvYWQiLCJKU09OIiwic3RyaW5naWZ5IiwicmVzIiwicGFyc2UiLCJjb250cmFjdFVybCIsIkxvY2F0aW9uIiwic3RhdHVzIiwic2F2ZSIsImNhdGNoIiwiZSIsInJlamVjdCIsInZpZXciLCJjbGllbnRJZCIsInVwZGF0ZSIsImluc2VydFNpZ25hdHVyZSIsIm1ha2VEb2N1bWVudCIsImRhdGFSZXR1cm4iLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7O0FBQ0EsTUFBTUEsbUJBQW1CQyxRQUFRLG9CQUFSLENBQXpCO0FBQ0EsTUFBTUMsTUFBTUQsUUFBUSxLQUFSLENBQVo7O0FBRUEsTUFBTUUsUUFBTixTQUF1QkMsMkJBQXZCLENBQXlDO0FBQ3hDQyxhQUFZQyxJQUFaLEVBQWtCQyxXQUFsQixFQUErQkMsU0FBL0IsRUFBMENDLFlBQTFDLEVBQXdEO0FBQ3ZEO0FBQ0EsT0FBS0MsT0FBTCxHQUFlRixTQUFmO0FBQ0EsT0FBS0YsSUFBTCxHQUFZQSxJQUFaO0FBQ0EsT0FBS0csWUFBTCxHQUFvQkEsWUFBcEI7QUFDQSxPQUFLRSxjQUFMLENBQW9CSixXQUFwQjtBQUNBOztBQUVESyxXQUFVQyxNQUFWLEVBQWtCO0FBQ2pCLE9BQUtBLE1BQUwsR0FBY0EsTUFBZDtBQUNBLE9BQUtILE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFHLE1BQWIsQ0FBZjtBQUNBOztBQUVLQyxRQUFOLENBQWNDLElBQWQsRUFBb0I7QUFBQTs7QUFFbkIsU0FBTUMsVUFBVSxNQUFNLHlCQUFNLDJDQUFOLENBQXRCOztBQUVFLE9BQUlDLGNBQWMsTUFBTUQsUUFBUUUsSUFBUixFQUF4Qjs7QUFHQSxPQUFHSCxLQUFLSSxPQUFSLEVBQ0E7QUFDQyxZQUFRSixLQUFLSSxPQUFiO0FBQ0MsVUFBSyxzQkFBTDtBQUNDRixvQkFBY0EsWUFBWUQsT0FBWixDQUFvQkksSUFBcEIsQ0FBeUI7QUFBQSxjQUFPQyxJQUFJQyxNQUFKLEtB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LEtBQUwsQ0FBV0QsR0FBWCxDQUFQO0FBQUEsS0FSUCxFQVNFTixJQVRGLENBU08sZUFBTztBQUNaLFNBQUlvQixhQUFhLEVBQWpCO0FBQ0FBLGdCQUFXWixXQUFYLEdBQXlCRixJQUFJRyxRQUE3QjtBQUNBVyxnQkFBV1YsTUFBWCxHQUFvQixVQUFwQjtBQUNBLFlBQU9VLFVBQVA7QUFDQSxLQWRGLEVBZUVwQixJQWZGLENBZU87QUFBQSxZQUFPLE9BQUtpQixNQUFMLENBQVlYLEdBQVosRUFBaUJqQixhQUFhN0QsRUFBOUIsQ0FBUDtBQUFBLEtBZlAsRUFnQkVvRixLQWhCRixDQWdCUSxhQUFLO0FBQ1gsV0FBTUMsQ0FBTjtBQUNBLEtBbEJGLENBREQ7QUFxQkEsSUFuQ0QsQ0FtQ0UsT0FBT0EsQ0FBUCxFQUFVO0FBQ1gsV0FBT2pCLFFBQVFrQixNQUFSLENBQWVELENBQWYsQ0FBUDtBQUNBO0FBdENrRDtBQXVDbkQ7O0FBRUtNLGFBQU4sQ0FBbUI5QixZQUFuQixFQUFpQztBQUFBOztBQUFBO0FBQ2hDLE9BQUlBLGFBQWFoQixVQUFiLEtBQTRCb0IsU0FBaEMsRUFBMkM7QUFDMUMsV0FBTyxNQUFNLE9BQUt2QixRQUFMLENBQWNtQixZQUFkLENBQWI7QUFDQTtBQUNBLElBSEQsTUFHTztBQUNOLFdBQU8sTUFBTSxPQUFLMUcsT0FBTCxDQUFhMEcsWUFBYixDQUFiO0FBQ0E7QUFDQTtBQVArQjtBQVFoQztBQTVTdUM7O0FBK1N6Q2dDLE9BQU9DLE9BQVAsR0FBaUIsQ0FBQ25KLElBQUQsRUFBT0MsV0FBUCxFQUFvQkcsT0FBcEIsRUFBNkJELFlBQTdCLEtBQ2hCLElBQUlOLFFBQUosQ0FBYUcsSUFBYixFQUFtQkMsV0FBbkIsRUFBZ0NHLE9BQWhDLEVBQXlDRCxZQUF6QyxDQUREIiwiZmlsZSI6IkNvbnRyYWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEVycm9yRG9jeFBkZiBmcm9tICcuLi9saWIvRXJyb3JEb2N4UGRmJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGRhdGVGb3JtYXQgZnJvbSAnLi4vbGliL2RhdGUnO1xuaW1wb3J0IGJhc2U2NElNR0J1ZmZlciBmcm9tICcuLi9saWIvYmFzZTY0SU1HdG9CdWZmZXInO1xuaW1wb3J0IENvbnRyYWN0RGVjb3JhdG9yIGZyb20gJy4uL2RlY29yYXRvcnMvQ29udHJhY3REZWNvcmF0b3InO1xuaW1wb3J0IGZldGNoIGZyb20gJ25vZGUtZmV0Y2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuY29uc3QgbnVtZXJvUG9yRXh0ZW5zbyA9IHJlcXVpcmUoJ251bWVyby1wb3ItZXh0ZW5zbycpO1xuY29uc3QgQ1BGID0gcmVxdWlyZSgnY3BmJyk7XG5cbmNsYXNzIENvbnRyYWN0IGV4dGVuZHMgQ29udHJhY3REZWNvcmF0b3Ige1xuXHRjb25zdHJ1Y3RvcihEb2N4LCBEaWdpdGFsRGF0YSwgUzNTdG9yYWdlLCBQZGZHZW5lcmF0b3IpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMuU3RvcmFnZSA9IFMzU3RvcmFnZTtcblx0XHR0aGlzLkRvY3ggPSBEb2N4O1xuXHRcdHRoaXMuUGRmR2VuZXJhdG9yID0gUGRmR2VuZXJhdG9yO1xuXHRcdHRoaXMuc2V0RGlnaXRhbERhdGEoRGlnaXRhbERhdGEpO1xuXHR9XG5cblx0c2V0Q29uZmlnKGNvbmZpZykge1xuXHRcdHRoaXMuY29uZmlnID0gY29uZmlnO1xuXHRcdHRoaXMuU3RvcmFnZSA9IHRoaXMuU3RvcmFnZShjb25maWcpO1xuXHR9XG5cblx0YXN5bmMgbWFrZUNQRihkYXRhKSB7XG5cdFx0XG5cdFx0Y29uc3QgY290YWNhbyA9IGF3YWl0IGZldGNoKCdodHRwOi8vaWNvaW5vbWlhLmNvbS5ici9hcGkvQ290YWNhb0NyeXB0bycpO1xuICAgIFxuICAgIGxldCBjb3RhY2FvSnNvbiA9IGF3YWl0IGNvdGFjYW8uanNvbigpOyAgICBcblxuXG4gICAgaWYoZGF0YS5jb2luX2lkKVxuICAgIHtcblx0ICAgIHN3aXRjaCAoZGF0YS5jb2luX2lkKSB7XG5cdCAgICBcdGNhc2UgXCItTFRJc0lfSTVCd1NPaEZwR3NVQ1wiOlxuXHQgICAgXHRcdGNvdGFjYW9Kc29uID0gY290YWNhb0pzb24uY290YWNhby5maW5kKHJvdyA9PiByb3cuQ29kaWdvID09PSAnTEVBWEJSTCcpLlZhbG9yO1xuXHRcdFx0XHRcdGRhdGEudHlwZSA9ICtkYXRhLnR5cGUgKyAzIDtcblx0XHRcdFx0XHRicmVhaztcblx0ICAgIFx0Y2FzZSBcIi1MOGx4dk4yTWQyQnRoTEZqTVlwXCI6XG5cdCAgICBcdFx0Y290YWNhb0pzb24gPSBjb3RhY2FvSnNvbi5jb3RhY2FvLmZpbmQocm93ID0+IHJvdy5Db2RpZ28gPT09ICdCVENCUkwnKS5WYWxvcjtcblx0ICAgIFx0XHRicmVhaztcblx0ICAgIH1cblx0ICB9XG5cblx0ICBpZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0YS5jbGllbnRXYWxsZXQpID09PSAnW29iamVjdCBBcnJheV0nKVxuXHQgIHtcblx0ICBcdGxldCBjbGllbnRXYWxsZXRCeUNvaW4gPSBkYXRhLmNsaWVudFdhbGxldC5maWx0ZXIoZnVuY3Rpb24ocm93KXtcblx0ICAgIFx0aWYocm93LmNvaW4gPT0gZGF0YS5jb2luX2lkKVxuXHQgICAgXHRcdHJldHVybiByb3dcblx0ICAgIH0pXG5cdCAgXHRkYXRhLmNsaWVudFdhbGxldCA9IGNsaWVudFdhbGxldEJ5Q29pblswXS5kYXRhLmFkZHJlc3NcdFx0XG5cdCAgfWVsc2Uge1xuXHQgIFx0Y29uc29sZS5sb2coJ0NXQUxMRVQgTsODTyDDiSBVTSBBUlJBWScpXG5cdCAgfVxuXG5cdCAgaWYoIWRhdGEuYW1vdW50TW9uZXkpXG5cdCAge1xuXHQgIFx0Y29uc29sZS5sb2coJ1RBTU9TIEFRVUlJSScpXG5cdCAgXHRjb25zdCBjYWxjdWxhdGVWYWx1ZSA9ICgpID0+IHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdHR5cGVvZiBwYXJzZUZsb2F0KGRhdGEuYW1vdW50Q3J5cHQpICE9PSAnbnVtYmVyJyB8fFxuXHRcdFx0XHRcdGlzTmFOKHBhcnNlRmxvYXQoZGF0YS5hbW91bnRDcnlwdCkpXG5cdFx0XHRcdClcblx0XHRcdFx0XHR0aHJvdyBcIkl0J3Mgbm90IGEgZmxvYXQgYW1vdW50IE9iamVjdCFcIjtcblxuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0dHlwZW9mIHBhcnNlRmxvYXQoY290YWNhb0pzb24pICE9PSAnbnVtYmVyJyB8fFxuXHRcdFx0XHRcdGlzTmFOKHBhcnNlRmxvYXQoY290YWNhb0pzb24pKVxuXHRcdFx0XHQpXG5cdFx0XHRcdFx0dGhyb3cgXCJJdCdzIG5vdCBhIGZsb2F0IG1vbmV5IE9iamVjdFwiO1xuXG5cdFx0XHRcdGNvbnN0IGNhbGMgPSBwYXJzZUZsb2F0KGRhdGEuYW1vdW50Q3J5cHQpICogcGFyc2VGbG9hdChjb3RhY2FvSnNvbik7XG5cblx0XHRcdFx0cmV0dXJuIHBhcnNlRmxvYXQoY2FsYyk7XG5cdFx0XHR9O1xuXG5cdFx0XHRjb25zdCB2YWwgPSBudW1lcm9Qb3JFeHRlbnNvLnBvckV4dGVuc28oXG5cdFx0XHRcdGNhbGN1bGF0ZVZhbHVlKCksXG5cdFx0XHRcdG51bWVyb1BvckV4dGVuc28uZXN0aWxvLm1vbmV0YXJpb1xuXHRcdFx0KTtcblx0XHRcdGNvbnN0IGZvcm1hdG8gPSB7XG5cdFx0XHRcdG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcblx0XHRcdFx0c3R5bGU6ICdjdXJyZW5jeScsXG5cdFx0XHRcdGN1cnJlbmN5OiAnQlJMJ1xuXHRcdFx0fTtcblx0XHRcdGRhdGEuYW1vdW50TW9uZXkgPSBgJHtjYWxjdWxhdGVWYWx1ZSgpLnRvTG9jYWxlU3RyaW5nKCdwdC1CUicsIGZvcm1hdG8pfSAoJHt2YWx9KWA7XG5cdFx0XHRjb25zb2xlLmxvZygnbsOjbyB2ZWlvIG8gYW1vdW50IG1vbmV5Jylcblx0XHRcdGNvbnNvbGUubG9nKGRhdGEuYW1vdW50TW9uZXkpXG5cdFx0XHRjb25zb2xlLmxvZygnVEFNT1MgQVFVSUlJJylcblx0ICB9XG5cdFx0XG5cdFx0aWYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGEuY29pbnMpID09PSAnW29iamVjdCBBcnJheV0nKVxuXHQgIHtcblx0ICBcdGRhdGEuY29udHJhY3RDb2luID0gZGF0YS5jb2luc1swXTtcblx0ICB9ZWxzZSB7XG5cdCAgXHRjb25zb2xlLmxvZygnQ09JTiBOw4NPIMOJIFVNIEFSUkFZJyk7XG5cdCAgfVxuXG5cdCAgbGV0IGJhbmtOYW1lID0gZGF0YS5iYW5rLm5hbWUucmVwbGFjZShcIiNcIiwgXCIgXCIpO1xuXHQgIGNvbnNvbGUubG9nKGJhbmtOYW1lKVxuXG5cdFx0Y29uc3QgY29udHJhY3QgPSB7XG5cdFx0XHRjb250cmFjdENvaW46IGRhdGEuY29udHJhY3RDb2luLFxuXHRcdFx0aW52ZXN0bWVudElkOiBkYXRhLmlkLFxuXHRcdFx0dHlwZTogZGF0YS50eXBlLFxuXHRcdFx0ZHVyYXRpb246IGRhdGEuZHVyYXRpb24sXG5cdFx0XHRwZW5hbHR5UG9yY2VudDogZGF0YS5wZW5hbHR5UG9yY2VudCB8fCAwLFxuXHRcdFx0cGVuYWx0eUFkdjogZGF0YS5wZW5hbHR5QWR2IHx8IDAsXG5cdFx0XHRjbGllbnROYW1lOiBkYXRhLmNsaWVudE5hbWUgfHwgJ0RhbmllbCBTaWx2YSBNaXJhbmRhJyxcblx0XHRcdHByb2R1Y3ROYW1lOiBkYXRhLnByb2R1Y3QgfHwgJ1Byb2R1dG8gZGUgVGVzdGVzJyxcblx0XHRcdG1hbmFnZXJOYW1lOiBkYXRhLm1hbmFnZXJOYW1lIHx8ICdEYW5pZWwgU2lsdmEgTWlyYW5kYScsXG5cdFx0XHRjb250cmFjdE51bWJlcjogZGF0YS5jb250cmFjdE51bWJlciB8fCAnRXhlbXBsbycsXG5cdFx0XHRjb250cmFjdEVuZDogZGF0YS5jb250cmFjdEVuZCB8fCAnMDAvMDAvMDAwMCcsXG5cdFx0XHRjb250cmFjdFRheGU6IGRhdGEuY29udHJhY3RUYXhlIHx8IDAsXG5cdFx0XHRjb250cmFjdFRyYWRlOiBkYXRhLmNvbnRyYWN0VHJhZGUgfHwgMCxcblx0XHRcdGFtb3VudENyeXB0OiBkYXRhLmFtb3VudENyeXB0IHx8IDAsXG5cdFx0XHRjb250cmFjdFBvcmNlbnQ6IGRhdGEuY29udHJhY3RQb3JjZW50IHx8IDAsXG5cdFx0XHRjb250cmFjdFBvcmNlbnRUb3RhbDogZGF0YS5jb250cmFjdFBvcmNlbnRUb3RhbCB8fCAwLFxuXHRcdFx0YmFua05hbWU6IGRhdGEuYmFuay5uYW1lLnNwbGl0KCcjJylbMV0gfHwgJ0JUQyBCYW5jbycsXG5cdFx0XHRiYW5rVGl0dWxhcjogZGF0YS5iYW5rLnVzZXJOYW1lIHx8ICdCVEMgQmFuY28nLFxuXHRcdFx0YmFua0FnZW5jeTogZGF0YS5iYW5rLmFnZW5jeSB8fCAnMDAwMCcsXG5cdFx0XHRiYW5rQWNjb3VudDogZGF0YS5iYW5rLmFjY291bnQgfHwgJzAwMDAtMDAnLFxuXHRcdFx0YmFua0NvZGU6IGRhdGEuYmFuay5jb2RlIHx8ICcwMDAwLTAwJyxcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuXHRcdFx0aW1hZ2U6IGJhc2U2NElNR0J1ZmZlcihkYXRhLmltYWdlKSxcblx0XHRcdHZwU2lnbmF0dXJlOlxuXHRcdFx0XHQnZGF0YTppbWFnZS9wbmc7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Jyxcblx0XHRcdGNvbWVyY2lhbFNpZ25hdHVyZTpcblx0XHRcdFx0J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNycsXG5cdFx0XHRmaXJzdFJhbmRvbVNpZ25hdHVyZTpcblx0XHRcdFx0J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNycsXG5cdFx0XHRzZWNvbmRSYW5kb21TaWduYXR1cmU6XG5cdFx0XHRcdCdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcnLFxuXHRcdFx0YW1vdW50TW9uZXk6IGRhdGEuYW1vdW50TW9uZXksXG5cdFx0XHQuLi5kYXRlRm9ybWF0KCksXG5cdFx0XHRjbGllbnRDUEY6IGAke2RhdGEuY2xpZW50Q1BGID8gQ1BGLmZvcm1hdChkYXRhLmNsaWVudENQRikgOiAnJ31gLFxuXHRcdFx0ZGF0ZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCgnREQvTU0vWVlZWScpLFxuXHRcdFx0Y2xpZW50V2FsbGV0OiBkYXRhLmNsaWVudFdhbGxldCB8fCAnMUNmVVlVVnNjMWdiOWNhQ0RRandUd1E4akRZM0IxWlJVMycsXG5cdFx0XHRjbGllbnRSZXN1bWU6XG5cdFx0XHRcdGAke2RhdGEuY2xpZW50TmFtZX0sIG5hdHVyYWwgZGUgJHtkYXRhLmNsaWVudE5hdGlvbmFsaXR5fSwgJHtcblx0XHRcdFx0XHRkYXRhLmNsaWVudENpdmlsU3RhdGVcblx0XHRcdFx0fSxcbiAgICAgICR7ZGF0YS5jbGllbnRPY2N1cGF0aW9ufSxcbiAgICAgIHBvcnRhZG9yIGRvIFJHIG7CuiAke2RhdGEuY2xpZW50Ukd9LCBpbnNjcml0byBubyBDUEYgc29iIG8gbsK6ICR7XG5cdFx0XHRcdFx0ZGF0YS5jbGllbnRDUEYgPyBDUEYuZm9ybWF0KGRhdGEuY2xpZW50Q1BGKSA6ICcnXG5cdFx0XHRcdH0sIHJlc2lkZW50ZSBlIFxuICAgICAgZG9taWNpbGlhZG8gYVxuICAgICAgJHtkYXRhLmNsaWVudFN0cmVldH1cbiAgICAgICR7ZGF0YS5jbGllbnRDb21wbGVtZW50IHx8ICcnfSwgQ0VQICR7ZGF0YS5jbGllbnRDRVB9LCAke1xuXHRcdFx0XHRcdGRhdGEuY2xpZW50Q2l0eVxuXHRcdFx0XHR9ICR7ZGF0YS5jbGllbnRTdGF0ZX1gIHx8ICcgJ1xuXHRcdH07XG5cblx0XHRyZXR1cm4gY29udHJhY3Q7XG5cdH1cblxuXHRhc3luYyBtYWtlQ05QSihkYXRhKSB7XG5cdCAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm1ha2VDUEYoZGF0YSk7XG5cdCAgICByZXN1bHQuY2xpZW50TmFtZSA9IGRhdGEuc29jaWFsUmVhc29uXG5cdFx0Y29uc3QgY29udHJhY3QgPSB7XG5cdFx0XHQuLi5yZXN1bHQsXG5cdFx0XHRjbGllbnRSZXN1bWU6IGAke1xuXHRcdFx0XHRkYXRhLnNvY2lhbFJlYXNvblxuXHRcdFx0fSwgcGVzc29hIGp1csOtZGljYSBkZSBkaXJlaXRvIHByaXZhZG8sIGluc2NyaXRhIG5vIENOUEogbsK6ICR7XG5cdFx0XHRcdGRhdGEuY2xpZW50Q05QSlxuXHRcdFx0fSwgY29tIHNlZGUgbmEgJHtkYXRhLmNvbXBhbnlTdHJlZXR9JHtcblx0XHRcdFx0ZGF0YS5jb21wYW55Q29tcGxlbWVudCA/ICcgJyArIGRhdGEuY29tcGFueUNvbXBsZW1lbnQgOiAnJ1xuXHRcdFx0fSwgQ0VQICR7ZGF0YS5jb21wYW55Q0VQfSwgJHtkYXRhLmNvbXBhbnlDaXR5fSwgJHtcblx0XHRcdFx0ZGF0YS5jb21wYW55U3RhdGVcblx0XHRcdH0sIHJlcHJlc2VudGFkbyBwb3IgJHtkYXRhLnBhcnRuZXJDbGllbnROYW1lfSwgJHtkYXRhLnBhcnRuZXJDaXZpbFN0YXRlfSR7XG5cdFx0XHRcdGRhdGEucGFydG5lclByb2Zlc3Npb24gIT0gJycgPyAnLCAnICsgZGF0YS5wYXJ0bmVyUHJvZmVzc2lvbiA6ICcnXG5cdFx0XHR9LCBwb3J0YWRvciBkbyBSRyBuwrogJHtcblx0XHRcdFx0ZGF0YS5wYXJ0bmVyUGVyc29uYWxSZWdpc3RlclxuXHRcdFx0fSwgaW5zY3JpdG8gbm8gQ1BGIHNvYiBvIG7CuiAke0NQRi5mb3JtYXQoXG5cdFx0XHRcdGRhdGEucGFydG5lclBlcnNvbmFsRG9jdW1lbnRcblx0XHRcdCl9LCByZXNpZGVudGUgZSBkb21pY2lsaWFkbyBhICR7ZGF0YS5wYXJ0bmVyQWRkcmVzc30gJHtcblx0XHRcdFx0ZGF0YS5wYXJ0bmVyQWRkcmVzc0NvbXBsZW1lbnQgPyAnICcgKyBkYXRhLnBhcnRuZXJBZGRyZXNzQ29tcGxlbWVudCA6ICcnXG5cdFx0XHR9LCBDRVAgJHtkYXRhLnBhcnRuZXJQb3N0YWxDb2RlfWBcblx0XHR9O1xuXHRcdHJldHVybiBjb250cmFjdDtcblx0fVxuXG5cdGFzeW5jIG1ha2UodXNlcklkLCBkYXRhQ29udHJhY3QsIGNvbmZpZykge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCB0aGlzLnNldENvbmZpZyhjb25maWcuYXdzKTtcblx0XHRcdGF3YWl0IHRoaXMuc2V0VHlwZShjb25maWcuY29udHJhY3QpO1xuXHRcdFx0ZGF0YUNvbnRyYWN0LmNvbnRyYWN0TnVtYmVyID0gYXdhaXQgdGhpcy5nZW5lcmF0b3JMYXN0KCk7XG5cdFx0XHRpZiAodGhpcy5jb25maWcgPT09IHVuZGVmaW5lZClcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yRG9jeFBkZignQ29uZmlndXJhw6fDo28gbsOjbyBpbmljaWFsaXphZGEnKTtcblx0XHRcdGxldCBkYXRhO1xuXHRcdFx0Ly8gbGV0IGZpbGU7XG5cblx0XHRcdGlmIChkYXRhQ29udHJhY3QuY2xpZW50Q05QSiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdGRhdGEgPSBhd2FpdCB0aGlzLm1ha2VDTlBKKGRhdGFDb250cmFjdCk7XG5cdFx0XHRcdC8vIGZpbGUgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi8uLi8uLi9hc3NldHMvZG9jRXguZG9jeCcpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZGF0YSA9IGF3YWl0IHRoaXMubWFrZUNQRihkYXRhQ29udHJhY3QpO1xuXHRcdFx0XHQvLyBmaWxlID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vLi4vLi4vYXNzZXRzL2RvY0V4LmRvY3gnKTtcblx0XHRcdH1cblxuXHRcdFx0YXdhaXQgdGhpcy5QZGZHZW5lcmF0b3IuZ2VuZXJhdGUoZGF0YSwgdXNlcklkLCBmYWxzZSk7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUodGhpcy5TdG9yYWdlLnNldEJ1Y2tldChjb25maWcuYnVja2V0KSlcblx0XHRcdFx0XHQudGhlbigoKSA9PiB0aGlzLlN0b3JhZ2Uuc2V0RGVzdGluYXRpb25EaXIoJ2NvbnRyYWN0cycpKVxuXHRcdFx0XHRcdC8vIC50aGVuKCgpID0+IHRoaXMuRG9jeC5tYWtlQ29udHJhY3QoZmlsZSwgZGF0YSkpXG5cdFx0XHRcdFx0Ly8gLnRoZW4oKCkgPT4gdGhpcy5QZGZHZW5lcmF0b3IuZ2VuZXJhdGUoZGF0YSkpXG5cdFx0XHRcdFx0Ly8gLnRoZW4ocmVzID0+IEJ1ZmZlci5mcm9tKHJlcywgJ2Jhc2U2NCcpKVxuXHRcdFx0XHRcdC8vIC50aGVuKHJlcyA9PiB0aGlzLlN0b3JhZ2Uuc2V0RmlsZUJ1ZmZlcih7IGRhdGE6IHJlcywgdHlwZTogJ3BkZicgfSkpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gdGhpcy5TdG9yYWdlLnNldEZpbGUoYC4vJHt1c2VySWR9LnBkZmApKVxuXHRcdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS51cGxvYWQoKSlcblx0XHRcdFx0XHQudGhlbihyZXMgPT4gSlNPTi5zdHJpbmdpZnkocmVzKSlcblx0XHRcdFx0XHQudGhlbihyZXMgPT4gSlNPTi5wYXJzZShyZXMpKVxuXHRcdFx0XHRcdC50aGVuKHJlcyA9PlxuXHRcdFx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKGRhdGEpLnRoZW4ocmVzdWx0ID0+ICh7XG5cdFx0XHRcdFx0XHRcdC4uLnJlc3VsdCxcblx0XHRcdFx0XHRcdFx0Y29udHJhY3RVcmw6IHJlcy5Mb2NhdGlvbixcblx0XHRcdFx0XHRcdFx0c3RhdHVzOiAnQXRpdm8nXG5cdFx0XHRcdFx0XHR9KSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0LnRoZW4ocmVzID0+IHRoaXMuc2F2ZSh1c2VySWQsIHJlcykpXG5cdFx0XHRcdFx0LmNhdGNoKGUgPT4ge1xuXHRcdFx0XHRcdFx0dGhyb3cgZTtcblx0XHRcdFx0XHR9KVxuXHRcdFx0KTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7XG5cdFx0fVxuXHR9XG5cblx0YXN5bmMgdmlldyhkYXRhQ29udHJhY3QsIGNvbmZpZykge1xuXHRcdC8vY29uc29sZS5sb2coZGF0YUNvbnRyYWN0KVxuXG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IHRoaXMuc2V0Q29uZmlnKGNvbmZpZy5hd3MpO1xuXHRcdFx0YXdhaXQgdGhpcy5zZXRUeXBlKGNvbmZpZy5jb250cmFjdCk7XG5cdFx0XHRpZiAodGhpcy5jb25maWcgPT09IHVuZGVmaW5lZClcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yRG9jeFBkZignQ29uZmlndXJhw6fDo28gbsOjbyBpbmljaWFsaXphZGEnKTtcblxuXHRcdFx0Y29uc3QgZGF0YSA9IGRhdGFDb250cmFjdDtcblxuXHRcdFx0YXdhaXQgdGhpcy5QZGZHZW5lcmF0b3IuZ2VuZXJhdGUoZGF0YSwgZGF0YS5jbGllbnRJZCwgZmFsc2UpO1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLlN0b3JhZ2Uuc2V0QnVja2V0KGNvbmZpZy5idWNrZXQpKVxuXHRcdFx0XHQudGhlbigoKSA9PiB0aGlzLlN0b3JhZ2Uuc2V0RGVzdGluYXRpb25EaXIoJ2NvbnRyYWN0cycpKVxuXHRcdFx0XHQudGhlbigoKSA9PiB0aGlzLlN0b3JhZ2Uuc2V0RmlsZShgLi8ke2RhdGEuY2xpZW50SWR9LnBkZmApKVxuXHRcdFx0XHQudGhlbigoKSA9PiB0aGlzLlN0b3JhZ2UudXBsb2FkKCkpXG5cdFx0XHRcdC50aGVuKHJlcyA9PlxuXHRcdFx0XHRcdFByb21pc2UucmVzb2x2ZShkYXRhKS50aGVuKHJlc3VsdCA9PiAoe1xuXHRcdFx0XHRcdFx0Li4ucmVzdWx0LFxuXHRcdFx0XHRcdFx0Y29udHJhY3RVcmw6IHJlcy5Mb2NhdGlvbixcblx0XHRcdFx0XHRcdHN0YXR1czogJ0F0aXZvJ1xuXHRcdFx0XHRcdH0pKVxuXHRcdFx0XHQpXG5cdFx0XHRcdC50aGVuKHJlcyA9PiB0aGlzLnVwZGF0ZShyZXMpKVxuXHRcdFx0XHQuY2F0Y2goZSA9PiB7XG5cdFx0XHRcdFx0dGhyb3cgZTtcblx0XHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KGUpO1xuXHRcdH1cblx0fVxuXG5cdGFzeW5jIGluc2VydFNpZ25hdHVyZSh1c2VySWQsIGRhdGFDb250cmFjdCwgY29uZmlnKSB7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IHRoaXMuc2V0Q29uZmlnKGNvbmZpZy5hd3MpO1xuXHRcdFx0YXdhaXQgdGhpcy5zZXRUeXBlKGNvbmZpZy5jb250cmFjdCk7XG5cdFx0XHRpZiAodGhpcy5jb25maWcgPT09IHVuZGVmaW5lZClcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yRG9jeFBkZignQ29uZmlndXJhw6fDo28gbsOjbyBpbmljaWFsaXphZGEnKTtcblx0XHRcdFxuXHRcdFx0Y29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubWFrZURvY3VtZW50KGRhdGFDb250cmFjdC5kYXRhKTtcblxuXHRcdFx0Ly8gZGF0YS5pbWFnZSA9IGRhdGFDb250cmFjdC5kYXRhLmltYWdlO1xuXG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQVFVSSBURU0gUVVFIFRFUiBUT0RPUyBPUyBEQURPUyBETyBET0NVTUVOVE8gQ0VSVElOSE9PT09PT08nKVxuXHRcdFx0Ly8gY29uc29sZS5sb2coZGF0YSlcblxuXHRcdFx0YXdhaXQgdGhpcy5QZGZHZW5lcmF0b3IuZ2VuZXJhdGUoZGF0YSwgdXNlcklkLCB0cnVlKTtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFByb21pc2UucmVzb2x2ZSh0aGlzLlN0b3JhZ2Uuc2V0QnVja2V0KGNvbmZpZy5idWNrZXQpKVxuXHRcdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS5zZXREZXN0aW5hdGlvbkRpcignY29udHJhY3RzJykpXG5cdFx0XHRcdFx0Ly8udGhlbigoKSA9PiB0aGlzLkRvY3gubWFrZUNvbnRyYWN0KGZpbGUsIGRhdGFDb250cmFjdC5kYXRhKSlcblx0XHRcdFx0XHQvLy50aGVuKHJlcyA9PiBCdWZmZXIuZnJvbShyZXMsICdiYXNlNjQnKSlcblx0XHRcdFx0XHQvLy50aGVuKHJlcyA9PiB0aGlzLlN0b3JhZ2Uuc2V0RmlsZUJ1ZmZlcih7IGRhdGE6IHJlcywgdHlwZTogJ2RvY3gnIH0pKVxuXHRcdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS5zZXRGaWxlKCcuLycgKyB1c2VySWQgKyAnLnBkZicpKVxuXHRcdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS51cGxvYWQoKSlcblx0XHRcdFx0XHQudGhlbihyZXMgPT4gSlNPTi5zdHJpbmdpZnkocmVzKSlcblx0XHRcdFx0XHQudGhlbihyZXMgPT4gSlNPTi5wYXJzZShyZXMpKVxuXHRcdFx0XHRcdC50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0XHRsZXQgZGF0YVJldHVybiA9IHt9XG5cdFx0XHRcdFx0XHRkYXRhUmV0dXJuLmNvbnRyYWN0VXJsID0gcmVzLkxvY2F0aW9uO1xuXHRcdFx0XHRcdFx0ZGF0YVJldHVybi5zdGF0dXMgPSAnQXNzaW5hZG8nO1xuXHRcdFx0XHRcdFx0cmV0dXJuIGRhdGFSZXR1cm47XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQudGhlbihyZXMgPT4gdGhpcy51cGRhdGUocmVzLCBkYXRhQ29udHJhY3QuaWQpKVxuXHRcdFx0XHRcdC5jYXRjaChlID0+IHtcblx0XHRcdFx0XHRcdHRocm93IGU7XG5cdFx0XHRcdFx0fSlcblx0XHRcdCk7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KGUpO1xuXHRcdH1cblx0fVxuXG5cdGFzeW5jIG1ha2VEb2N1bWVudChkYXRhQ29udHJhY3QpIHtcblx0XHRpZiAoZGF0YUNvbnRyYWN0LmNsaWVudENOUEogIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIGF3YWl0IHRoaXMubWFrZUNOUEooZGF0YUNvbnRyYWN0KTtcblx0XHRcdC8vZmlsZSA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLy4uLy4uL2Fzc2V0cy9kb2NFeC5kb2N4Jyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBhd2FpdCB0aGlzLm1ha2VDUEYoZGF0YUNvbnRyYWN0KTtcblx0XHRcdC8vZmlsZSA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLy4uLy4uL2Fzc2V0cy9kb2NFeC5kb2N4Jyk7XG5cdFx0fVxuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gKERvY3gsIERpZ2l0YWxEYXRhLCBTdG9yYWdlLCBQZGZHZW5lcmF0b3IpID0+XG5cdG5ldyBDb250cmFjdChEb2N4LCBEaWdpdGFsRGF0YSwgU3RvcmFnZSwgUGRmR2VuZXJhdG9yKTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb21haW4vQ29udHJhY3QuanMiXSwibmFtZXMiOlsibnVtZXJvUG9yRXh0ZW5zbyIsInJlcXVpcmUiLCJDUEYiLCJDb250cmFjdCIsIkNvbnRyYWN0RGVjb3JhdG9yIiwiY29uc3RydWN0b3IiLCJEb2N4IiwiRGlnaXRhbERhdGEiLCJTM1N0b3JhZ2UiLCJQZGZHZW5lcmF0b3IiLCJTdG9yYWdlIiwic2V0RGlnaXRhbERhdGEiLCJzZXRDb25maWciLCJjb25maWciLCJtYWtlQ1BGIiwiZGF0YSIsImNvdGFjYW8iLCJjb3RhY2FvSnNvbiIsImpzb24iLCJjb2luX2lkIiwiZmluZCIsInJvdyIsIkNvZGlnbyIsIlZhbG9yIiwidHlwZSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImNsaWVudFdhbGxldCIsImNsaWVudFdhbGxldEJ5Q29pbiIsImZpbHRlciIsImNvaW4iLCJhZGRyZXNzIiwiY29uc29sZSIsImxvZyIsImFtb3VudE1vbmV5IiwiY2FsY3VsYXRlVmFsdWUiLCJwYXJzZUZsb2F0IiwiYW1vdW50Q3J5cHQiLCJpc05hTiIsImNhbGMiLCJ2YWwiLCJwb3JFeHRlbnNvIiwiZXN0aWxvIiwibW9uZXRhcmlvIiwiZm9ybWF0byIsIm1pbmltdW1GcmFjdGlvbkRpZ2l0cyIsInN0eWxlIiwiY3VycmVuY3kiLCJ0b0xvY2FsZVN0cmluZyIsImNvaW5zIiwiY29udHJhY3RDb2luIiwiYmFua05hbWUiLCJiYW5rIiwibmFtZSIsInJlcGxhY2UiLCJjb250cmFjdCIsImludmVzdG1lbnRJZCIsImlkIiwiZHVyYXRpb24iLCJwZW5hbHR5UG9yY2VudCIsInBlbmFsdHlBZHYiLCJjbGllbnROYW1lIiwicHJvZHVjdE5hbWUiLCJwcm9kdWN0IiwibWFuYWdlck5hbWUiLCJjb250cmFjdE51bWJlciIsImNvbnRyYWN0RW5kIiwiY29udHJhY3RUYXhlIiwiY29udHJhY3RUcmFkZSIsImNvbnRyYWN0UG9yY2VudCIsImNvbnRyYWN0UG9yY2VudFRvdGFsIiwiYmFua1RpdHVsYXIiLCJ1c2VyTmFtZSIsImJhbmtBZ2VuY3kiLCJhZ2VuY3kiLCJiYW5rQWNjb3VudCIsImFjY291bnQiLCJiYW5rQ29kZSIsImNvZGUiLCJpbWFnZSIsInZwU2lnbmF0dXJlIiwiY29tZXJjaWFsU2lnbmF0dXJlIiwiZmlyc3RSYW5kb21TaWduYXR1cmUiLCJzZWNvbmRSYW5kb21TaWduYXR1cmUiLCJjbGllbnRDUEYiLCJmb3JtYXQiLCJkYXRlIiwiRGF0ZSIsImNsaWVudFJlc3VtZSIsImNsaWVudE5hdGlvbmFsaXR5IiwiY2xpZW50Q2l2aWxTdGF0ZSIsImNsaWVudE9jY3VwYXRpb24iLCJjbGllbnRSRyIsImNsaWVudFN0cmVldCIsImNsaWVudENvbXBsZW1lbnQiLCJjbGllbnRDRVAiLCJjbGllbnRDaXR5IiwiY2xpZW50U3RhdGUiLCJtYWtlQ05QSiIsInJlc3VsdCIsInNvY2lhbFJlYXNvbiIsImNsaWVudENOUEoiLCJjb21wYW55U3RyZWV0IiwiY29tcGFueUNvbXBsZW1lbnQiLCJjb21wYW55Q0VQIiwiY29tcGFueUNpdHkiLCJjb21wYW55U3RhdGUiLCJwYXJ0bmVyQ2xpZW50TmFtZSIsInBhcnRuZXJDaXZpbFN0YXRlIiwicGFydG5lclByb2Zlc3Npb24iLCJwYXJ0bmVyUGVyc29uYWxSZWdpc3RlciIsInBhcnRuZXJQZXJzb25hbERvY3VtZW50IiwicGFydG5lckFkZHJlc3MiLCJwYXJ0bmVyQWRkcmVzc0NvbXBsZW1lbnQiLCJwYXJ0bmVyUG9zdGFsQ29kZSIsIm1ha2UiLCJ1c2VySWQiLCJkYXRhQ29udHJhY3QiLCJhd3MiLCJzZXRUeXBlIiwiZ2VuZXJhdG9yTGFzdCIsInVuZGVmaW5lZCIsIkVycm9yRG9jeFBkZiIsImdlbmVyYXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRCdWNrZXQiLCJidWNrZXQiLCJ0aGVuIiwic2V0RGVzdGluYXRpb25EaXIiLCJzZXRGaWxlIiwidXBsb2FkIiwiSlNPTiIsInN0cmluZ2lmeSIsInJlcyIsInBhcnNlIiwiY29udHJhY3RVcmwiLCJMb2NhdGlvbiIsInN0YXR1cyIsInNhdmUiLCJjYXRjaCIsImUiLCJyZWplY3QiLCJ2aWV3IiwiY2xpZW50SWQiLCJ1cGRhdGUiLCJpbnNlcnRTaWduYXR1cmUiLCJtYWtlRG9jdW1lbnQiLCJkYXRhUmV0dXJuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7OztBQUNBLE1BQU1BLG1CQUFtQkMsUUFBUSxvQkFBUixDQUF6QjtBQUNBLE1BQU1DLE1BQU1ELFFBQVEsS0FBUixDQUFaOztBQUVBLE1BQU1FLFFBQU4sU0FBdUJDLDJCQUF2QixDQUF5QztBQUN4Q0MsYUFBWUMsSUFBWixFQUFrQkMsV0FBbEIsRUFBK0JDLFNBQS9CLEVBQTBDQyxZQUExQyxFQUF3RDtBQUN2RDtBQUNBLE9BQUtDLE9BQUwsR0FBZUYsU0FBZjtBQUNBLE9BQUtGLElBQUwsR0FBWUEsSUFBWjtBQUNBLE9BQUtHLFlBQUwsR0FBb0JBLFlBQXBCO0FBQ0EsT0FBS0UsY0FBTCxDQUFvQkosV0FBcEI7QUFDQTs7QUFFREssV0FBVUMsTUFBVixFQUFrQjtBQUNqQixPQUFLQSxNQUFMLEdBQWNBLE1BQWQ7QUFDQSxPQUFLSCxPQUFMLEdBQWUsS0FBS0EsT0FBTCxDQUFhRyxNQUFiLENBQWY7QUFDQTs7QUFFS0MsUUFBTixDQUFjQyxJQUFkLEVBQW9CO0FBQUE7O0FBRW5CLFNBQU1DLFVBQVUsTUFBTSx5QkFBTSwyQ0FBTixDQUF0Qjs7QUFFRSxPQUFJQyxjQUFjLE1BQU1ELFFBQVFFLElBQVIsRUFBeEI7O0FBR0EsT0FBR0gsS0FBS0ksT0FBUixFQUNBO0FBQ0MsWUFBUUosS0FBS0ksT0FBYjtBQUNDLFVBQUssc0JBQUw7QUFDQ0Ysb0JBQWNBLFlBQVlELE9BQVosQ0FBb0JJLElBQXBCLENBQXlCO0FBQUEsY0FBT0MsSUFBSUMsTUFBSixLQUFlLFNBQXRC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QjtBQUNBQSxnQkFBV1osV0FBWCxHQUF5QkYsSUFBSUcsUUFBN0I7QUFDQVcsZ0JBQVdWLE1BQVgsR0FBb0IsVUFBcEI7QUFDQSxZQUFPVSxVQUFQO0FBQ0EsS0FkRixFQWVFcEIsSUFmRixDQWVPO0FBQUEsWUFBTyxPQUFLaUIsTUFBTCxDQUFZWCxHQUFaLEVBQWlCakIsYUFBYTVELEVBQTlCLENBQVA7QUFBQSxLQWZQLEVBZ0JFbUYsS0FoQkYsQ0FnQlEsYUFBSztBQUNYLFdBQU1DLENBQU47QUFDQSxLQWxCRixDQUREO0FBcUJBLElBbkNELENBbUNFLE9BQU9BLENBQVAsRUFBVTtBQUNYLFdBQU9qQixRQUFRa0IsTUFBUixDQUFlRCxDQUFmLENBQVA7QUFDQTtBQXRDa0Q7QUF1Q25EOztBQUVLTSxhQUFOLENBQW1COUIsWUFBbkIsRUFBaUM7QUFBQTs7QUFBQTtBQUNoQyxPQUFJQSxhQUFhaEIsVUFBYixLQUE0Qm9CLFNBQWhDLEVBQTJDO0FBQzFDLFdBQU8sTUFBTSxPQUFLdkIsUUFBTCxDQUFjbUIsWUFBZCxDQUFiO0FBQ0E7QUFDQSxJQUhELE1BR087QUFDTixXQUFPLE1BQU0sT0FBS3pHLE9BQUwsQ0FBYXlHLFlBQWIsQ0FBYjtBQUNBO0FBQ0E7QUFQK0I7QUFRaEM7QUE1U3VDOztBQStTekNnQyxPQUFPQyxPQUFQLEdBQWlCLENBQUNsSixJQUFELEVBQU9DLFdBQVAsRUFBb0JHLE9BQXBCLEVBQTZCRCxZQUE3QixLQUNoQixJQUFJTixRQUFKLENBQWFHLElBQWIsRUFBbUJDLFdBQW5CLEVBQWdDRyxPQUFoQyxFQUF5Q0QsWUFBekMsQ0FERCIsImZpbGUiOiJDb250cmFjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFcnJvckRvY3hQZGYgZnJvbSAnLi4vbGliL0Vycm9yRG9jeFBkZic7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBkYXRlRm9ybWF0IGZyb20gJy4uL2xpYi9kYXRlJztcbmltcG9ydCBiYXNlNjRJTUdCdWZmZXIgZnJvbSAnLi4vbGliL2Jhc2U2NElNR3RvQnVmZmVyJztcbmltcG9ydCBDb250cmFjdERlY29yYXRvciBmcm9tICcuLi9kZWNvcmF0b3JzL0NvbnRyYWN0RGVjb3JhdG9yJztcbmltcG9ydCBmZXRjaCBmcm9tICdub2RlLWZldGNoJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmNvbnN0IG51bWVyb1BvckV4dGVuc28gPSByZXF1aXJlKCdudW1lcm8tcG9yLWV4dGVuc28nKTtcbmNvbnN0IENQRiA9IHJlcXVpcmUoJ2NwZicpO1xuXG5jbGFzcyBDb250cmFjdCBleHRlbmRzIENvbnRyYWN0RGVjb3JhdG9yIHtcblx0Y29uc3RydWN0b3IoRG9jeCwgRGlnaXRhbERhdGEsIFMzU3RvcmFnZSwgUGRmR2VuZXJhdG9yKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLlN0b3JhZ2UgPSBTM1N0b3JhZ2U7XG5cdFx0dGhpcy5Eb2N4ID0gRG9jeDtcblx0XHR0aGlzLlBkZkdlbmVyYXRvciA9IFBkZkdlbmVyYXRvcjtcblx0XHR0aGlzLnNldERpZ2l0YWxEYXRhKERpZ2l0YWxEYXRhKTtcblx0fVxuXG5cdHNldENvbmZpZyhjb25maWcpIHtcblx0XHR0aGlzLmNvbmZpZyA9IGNvbmZpZztcblx0XHR0aGlzLlN0b3JhZ2UgPSB0aGlzLlN0b3JhZ2UoY29uZmlnKTtcblx0fVxuXG5cdGFzeW5jIG1ha2VDUEYoZGF0YSkge1xuXHRcdFxuXHRcdGNvbnN0IGNvdGFjYW8gPSBhd2FpdCBmZXRjaCgnaHR0cDovL2ljb2lub21pYS5jb20uYnIvYXBpL0NvdGFjYW9DcnlwdG8nKTtcbiAgICBcbiAgICBsZXQgY290YWNhb0pzb24gPSBhd2FpdCBjb3RhY2FvLmpzb24oKTsgICAgXG5cblxuICAgIGlmKGRhdGEuY29pbl9pZClcbiAgICB7XG5cdCAgICBzd2l0Y2ggKGRhdGEuY29pbl9pZCkge1xuXHQgICAgXHRjYXNlIFwiLUxUSXNJX0k1QndTT2hGcEdzVUNcIjpcblx0ICAgIFx0XHRjb3RhY2FvSnNvbiA9IGNvdGFjYW9Kc29uLmNvdGFjYW8uZmluZChyb3cgPT4gcm93LkNvZGlnbyA9PT0gJ0xFQVhCUkwnKS5WYWxvcjtcblx0XHRcdFx0XHRkYXRhLnR5cGUgPSArZGF0YS50eXBlICsgMyA7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdCAgICBcdGNhc2UgXCItTDhseHZOMk1kMkJ0aExGak1ZcFwiOlxuXHQgICAgXHRcdGNvdGFjYW9Kc29uID0gY290YWNhb0pzb24uY290YWNhby5maW5kKHJvdyA9PiByb3cuQ29kaWdvID09PSAnQlRDQlJMJykuVmFsb3I7XG5cdCAgICBcdFx0YnJlYWs7XG5cdCAgICB9XG5cdCAgfVxuXG5cdCAgaWYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGEuY2xpZW50V2FsbGV0KSA9PT0gJ1tvYmplY3QgQXJyYXldJylcblx0ICB7XG5cdCAgXHRsZXQgY2xpZW50V2FsbGV0QnlDb2luID0gZGF0YS5jbGllbnRXYWxsZXQuZmlsdGVyKGZ1bmN0aW9uKHJvdyl7XG5cdCAgICBcdGlmKHJvdy5jb2luID09IGRhdGEuY29pbl9pZClcblx0ICAgIFx0XHRyZXR1cm4gcm93XG5cdCAgICB9KVxuXHQgIFx0ZGF0YS5jbGllbnRXYWxsZXQgPSBjbGllbnRXYWxsZXRCeUNvaW5bMF0uZGF0YS5hZGRyZXNzXHRcdFxuXHQgIH1lbHNlIHtcblx0ICBcdGNvbnNvbGUubG9nKCdDV0FMTEVUIE7Dg08gw4kgVU0gQVJSQVknKVxuXHQgIH1cblxuXHQgIGlmKCFkYXRhLmFtb3VudE1vbmV5KVxuXHQgIHtcblx0ICBcdGNvbnNvbGUubG9nKCdUQU1PUyBBUVVJSUknKVxuXHQgIFx0Y29uc3QgY2FsY3VsYXRlVmFsdWUgPSAoKSA9PiB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHR0eXBlb2YgcGFyc2VGbG9hdChkYXRhLmFtb3VudENyeXB0KSAhPT0gJ251bWJlcicgfHxcblx0XHRcdFx0XHRpc05hTihwYXJzZUZsb2F0KGRhdGEuYW1vdW50Q3J5cHQpKVxuXHRcdFx0XHQpXG5cdFx0XHRcdFx0dGhyb3cgXCJJdCdzIG5vdCBhIGZsb2F0IGFtb3VudCBPYmplY3QhXCI7XG5cblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdHR5cGVvZiBwYXJzZUZsb2F0KGNvdGFjYW9Kc29uKSAhPT0gJ251bWJlcicgfHxcblx0XHRcdFx0XHRpc05hTihwYXJzZUZsb2F0KGNvdGFjYW9Kc29uKSlcblx0XHRcdFx0KVxuXHRcdFx0XHRcdHRocm93IFwiSXQncyBub3QgYSBmbG9hdCBtb25leSBPYmplY3RcIjtcblxuXHRcdFx0XHRjb25zdCBjYWxjID0gcGFyc2VGbG9hdChkYXRhLmFtb3VudENyeXB0KSAqIHBhcnNlRmxvYXQoY290YWNhb0pzb24pO1xuXG5cdFx0XHRcdHJldHVybiBwYXJzZUZsb2F0KGNhbGMpO1xuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3QgdmFsID0gbnVtZXJvUG9yRXh0ZW5zby5wb3JFeHRlbnNvKFxuXHRcdFx0XHRjYWxjdWxhdGVWYWx1ZSgpLFxuXHRcdFx0XHRudW1lcm9Qb3JFeHRlbnNvLmVzdGlsby5tb25ldGFyaW9cblx0XHRcdCk7XG5cdFx0XHRjb25zdCBmb3JtYXRvID0ge1xuXHRcdFx0XHRtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG5cdFx0XHRcdHN0eWxlOiAnY3VycmVuY3knLFxuXHRcdFx0XHRjdXJyZW5jeTogJ0JSTCdcblx0XHRcdH07XG5cdFx0XHRkYXRhLmFtb3VudE1vbmV5ID0gYCR7Y2FsY3VsYXRlVmFsdWUoKS50b0xvY2FsZVN0cmluZygncHQtQlInLCBmb3JtYXRvKX0gKCR7dmFsfSlgO1xuXHRcdFx0Y29uc29sZS5sb2coJ27Do28gdmVpbyBvIGFtb3VudCBtb25leScpXG5cdFx0XHRjb25zb2xlLmxvZyhkYXRhLmFtb3VudE1vbmV5KVxuXHRcdFx0Y29uc29sZS5sb2coJ1RBTU9TIEFRVUlJSScpXG5cdCAgfVxuXHRcdFxuXHRcdGlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkYXRhLmNvaW5zKSA9PT0gJ1tvYmplY3QgQXJyYXldJylcblx0ICB7XG5cdCAgXHRkYXRhLmNvbnRyYWN0Q29pbiA9IGRhdGEuY29pbnNbMF07XG5cdCAgfWVsc2Uge1xuXHQgIFx0Y29uc29sZS5sb2coJ0NPSU4gTsODTyDDiSBVTSBBUlJBWScpO1xuXHQgIH1cblxuXHQgIGxldCBiYW5rTmFtZSA9IGRhdGEuYmFuay5uYW1lLnJlcGxhY2UoXCIjXCIsIFwiIFwiKTtcblx0ICBjb25zb2xlLmxvZyhiYW5rTmFtZSlcblxuXHRcdGNvbnN0IGNvbnRyYWN0ID0ge1xuXHRcdFx0Y29udHJhY3RDb2luOiBkYXRhLmNvbnRyYWN0Q29pbixcblx0XHRcdGludmVzdG1lbnRJZDogZGF0YS5pZCxcblx0XHRcdHR5cGU6IGRhdGEudHlwZSxcblx0XHRcdGR1cmF0aW9uOiBkYXRhLmR1cmF0aW9uLFxuXHRcdFx0cGVuYWx0eVBvcmNlbnQ6IGRhdGEucGVuYWx0eVBvcmNlbnQgfHwgMCxcblx0XHRcdHBlbmFsdHlBZHY6IGRhdGEucGVuYWx0eUFkdiB8fCAwLFxuXHRcdFx0Y2xpZW50TmFtZTogZGF0YS5jbGllbnROYW1lIHx8ICdEYW5pZWwgU2lsdmEgTWlyYW5kYScsXG5cdFx0XHRwcm9kdWN0TmFtZTogZGF0YS5wcm9kdWN0IHx8ICdQcm9kdXRvIGRlIFRlc3RlcycsXG5cdFx0XHRtYW5hZ2VyTmFtZTogZGF0YS5tYW5hZ2VyTmFtZSB8fCAnRGFuaWVsIFNpbHZhIE1pcmFuZGEnLFxuXHRcdFx0Y29udHJhY3ROdW1iZXI6IGRhdGEuY29udHJhY3ROdW1iZXIgfHwgJ0V4ZW1wbG8nLFxuXHRcdFx0Y29udHJhY3RFbmQ6IGRhdGEuY29udHJhY3RFbmQgfHwgJzAwLzAwLzAwMDAnLFxuXHRcdFx0Y29udHJhY3RUYXhlOiBkYXRhLmNvbnRyYWN0VGF4ZSB8fCAwLFxuXHRcdFx0Y29udHJhY3RUcmFkZTogZGF0YS5jb250cmFjdFRyYWRlIHx8IDAsXG5cdFx0XHRhbW91bnRDcnlwdDogZGF0YS5hbW91bnRDcnlwdCB8fCAwLFxuXHRcdFx0Y29udHJhY3RQb3JjZW50OiBkYXRhLmNvbnRyYWN0UG9yY2VudCB8fCAwLFxuXHRcdFx0Y29udHJhY3RQb3JjZW50VG90YWw6IGRhdGEuY29udHJhY3RQb3JjZW50VG90YWwgfHwgMCxcblx0XHRcdGJhbmtOYW1lOiBiYW5rTmFtZSxcblx0XHRcdGJhbmtUaXR1bGFyOiBkYXRhLmJhbmsudXNlck5hbWUgfHwgJ0JUQyBCYW5jbycsXG5cdFx0XHRiYW5rQWdlbmN5OiBkYXRhLmJhbmsuYWdlbmN5IHx8ICcwMDAwJyxcblx0XHRcdGJhbmtBY2NvdW50OiBkYXRhLmJhbmsuYWNjb3VudCB8fCAnMDAwMC0wMCcsXG5cdFx0XHRiYW5rQ29kZTogZGF0YS5iYW5rLmNvZGUgfHwgJzAwMDAtMDAnLFxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5cdFx0XHRpbWFnZTogYmFzZTY0SU1HQnVmZmVyKGRhdGEuaW1hZ2UpLFxuXHRcdFx0dnBTaWduYXR1cmU6XG5cdFx0XHRcdCdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcnLFxuXHRcdFx0Y29tZXJjaWFsU2lnbmF0dXJlOlxuXHRcdFx0XHQnZGF0YTppbWFnZS9wbmc7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Jyxcblx0XHRcdGZpcnN0UmFuZG9tU2lnbmF0dXJlOlxuXHRcdFx0XHQnZGF0YTppbWFnZS9wbmc7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3Jyxcblx0XHRcdHNlY29uZFJhbmRvbVNpZ25hdHVyZTpcblx0XHRcdFx0J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNycsXG5cdFx0XHRhbW91bnRNb25leTogZGF0YS5hbW91bnRNb25leSxcblx0XHRcdC4uLmRhdGVGb3JtYXQoKSxcblx0XHRcdGNsaWVudENQRjogYCR7ZGF0YS5jbGllbnRDUEYgPyBDUEYuZm9ybWF0KGRhdGEuY2xpZW50Q1BGKSA6ICcnfWAsXG5cdFx0XHRkYXRlOiBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KCdERC9NTS9ZWVlZJyksXG5cdFx0XHRjbGllbnRXYWxsZXQ6IGRhdGEuY2xpZW50V2FsbGV0IHx8ICcxQ2ZVWVVWc2MxZ2I5Y2FDRFFqd1R3UThqRFkzQjFaUlUzJyxcblx0XHRcdGNsaWVudFJlc3VtZTpcblx0XHRcdFx0YCR7ZGF0YS5jbGllbnROYW1lfSwgbmF0dXJhbCBkZSAke2RhdGEuY2xpZW50TmF0aW9uYWxpdHl9LCAke1xuXHRcdFx0XHRcdGRhdGEuY2xpZW50Q2l2aWxTdGF0ZVxuXHRcdFx0XHR9LFxuICAgICAgJHtkYXRhLmNsaWVudE9jY3VwYXRpb259LFxuICAgICAgcG9ydGFkb3IgZG8gUkcgbsK6ICR7ZGF0YS5jbGllbnRSR30sIGluc2NyaXRvIG5vIENQRiBzb2IgbyBuwrogJHtcblx0XHRcdFx0XHRkYXRhLmNsaWVudENQRiA/IENQRi5mb3JtYXQoZGF0YS5jbGllbnRDUEYpIDogJydcblx0XHRcdFx0fSwgcmVzaWRlbnRlIGUgXG4gICAgICBkb21pY2lsaWFkbyBhXG4gICAgICAke2RhdGEuY2xpZW50U3RyZWV0fVxuICAgICAgJHtkYXRhLmNsaWVudENvbXBsZW1lbnQgfHwgJyd9LCBDRVAgJHtkYXRhLmNsaWVudENFUH0sICR7XG5cdFx0XHRcdFx0ZGF0YS5jbGllbnRDaXR5XG5cdFx0XHRcdH0gJHtkYXRhLmNsaWVudFN0YXRlfWAgfHwgJyAnXG5cdFx0fTtcblxuXHRcdHJldHVybiBjb250cmFjdDtcblx0fVxuXG5cdGFzeW5jIG1ha2VDTlBKKGRhdGEpIHtcblx0ICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMubWFrZUNQRihkYXRhKTtcblx0ICAgIHJlc3VsdC5jbGllbnROYW1lID0gZGF0YS5zb2NpYWxSZWFzb25cblx0XHRjb25zdCBjb250cmFjdCA9IHtcblx0XHRcdC4uLnJlc3VsdCxcblx0XHRcdGNsaWVudFJlc3VtZTogYCR7XG5cdFx0XHRcdGRhdGEuc29jaWFsUmVhc29uXG5cdFx0XHR9LCBwZXNzb2EganVyw61kaWNhIGRlIGRpcmVpdG8gcHJpdmFkbywgaW5zY3JpdGEgbm8gQ05QSiBuwrogJHtcblx0XHRcdFx0ZGF0YS5jbGllbnRDTlBKXG5cdFx0XHR9LCBjb20gc2VkZSBuYSAke2RhdGEuY29tcGFueVN0cmVldH0ke1xuXHRcdFx0XHRkYXRhLmNvbXBhbnlDb21wbGVtZW50ID8gJyAnICsgZGF0YS5jb21wYW55Q29tcGxlbWVudCA6ICcnXG5cdFx0XHR9LCBDRVAgJHtkYXRhLmNvbXBhbnlDRVB9LCAke2RhdGEuY29tcGFueUNpdHl9LCAke1xuXHRcdFx0XHRkYXRhLmNvbXBhbnlTdGF0ZVxuXHRcdFx0fSwgcmVwcmVzZW50YWRvIHBvciAke2RhdGEucGFydG5lckNsaWVudE5hbWV9LCAke2RhdGEucGFydG5lckNpdmlsU3RhdGV9JHtcblx0XHRcdFx0ZGF0YS5wYXJ0bmVyUHJvZmVzc2lvbiAhPSAnJyA/ICcsICcgKyBkYXRhLnBhcnRuZXJQcm9mZXNzaW9uIDogJydcblx0XHRcdH0sIHBvcnRhZG9yIGRvIFJHIG7CuiAke1xuXHRcdFx0XHRkYXRhLnBhcnRuZXJQZXJzb25hbFJlZ2lzdGVyXG5cdFx0XHR9LCBpbnNjcml0byBubyBDUEYgc29iIG8gbsK6ICR7Q1BGLmZvcm1hdChcblx0XHRcdFx0ZGF0YS5wYXJ0bmVyUGVyc29uYWxEb2N1bWVudFxuXHRcdFx0KX0sIHJlc2lkZW50ZSBlIGRvbWljaWxpYWRvIGEgJHtkYXRhLnBhcnRuZXJBZGRyZXNzfSAke1xuXHRcdFx0XHRkYXRhLnBhcnRuZXJBZGRyZXNzQ29tcGxlbWVudCA/ICcgJyArIGRhdGEucGFydG5lckFkZHJlc3NDb21wbGVtZW50IDogJydcblx0XHRcdH0sIENFUCAke2RhdGEucGFydG5lclBvc3RhbENvZGV9YFxuXHRcdH07XG5cdFx0cmV0dXJuIGNvbnRyYWN0O1xuXHR9XG5cblx0YXN5bmMgbWFrZSh1c2VySWQsIGRhdGFDb250cmFjdCwgY29uZmlnKSB7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IHRoaXMuc2V0Q29uZmlnKGNvbmZpZy5hd3MpO1xuXHRcdFx0YXdhaXQgdGhpcy5zZXRUeXBlKGNvbmZpZy5jb250cmFjdCk7XG5cdFx0XHRkYXRhQ29udHJhY3QuY29udHJhY3ROdW1iZXIgPSBhd2FpdCB0aGlzLmdlbmVyYXRvckxhc3QoKTtcblx0XHRcdGlmICh0aGlzLmNvbmZpZyA9PT0gdW5kZWZpbmVkKVxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3JEb2N4UGRmKCdDb25maWd1cmHDp8OjbyBuw6NvIGluaWNpYWxpemFkYScpO1xuXHRcdFx0bGV0IGRhdGE7XG5cdFx0XHQvLyBsZXQgZmlsZTtcblxuXHRcdFx0aWYgKGRhdGFDb250cmFjdC5jbGllbnRDTlBKICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0ZGF0YSA9IGF3YWl0IHRoaXMubWFrZUNOUEooZGF0YUNvbnRyYWN0KTtcblx0XHRcdFx0Ly8gZmlsZSA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLy4uLy4uL2Fzc2V0cy9kb2NFeC5kb2N4Jyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRkYXRhID0gYXdhaXQgdGhpcy5tYWtlQ1BGKGRhdGFDb250cmFjdCk7XG5cdFx0XHRcdC8vIGZpbGUgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi8uLi8uLi9hc3NldHMvZG9jRXguZG9jeCcpO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCB0aGlzLlBkZkdlbmVyYXRvci5nZW5lcmF0ZShkYXRhLCB1c2VySWQsIGZhbHNlKTtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFByb21pc2UucmVzb2x2ZSh0aGlzLlN0b3JhZ2Uuc2V0QnVja2V0KGNvbmZpZy5idWNrZXQpKVxuXHRcdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS5zZXREZXN0aW5hdGlvbkRpcignY29udHJhY3RzJykpXG5cdFx0XHRcdFx0Ly8gLnRoZW4oKCkgPT4gdGhpcy5Eb2N4Lm1ha2VDb250cmFjdChmaWxlLCBkYXRhKSlcblx0XHRcdFx0XHQvLyAudGhlbigoKSA9PiB0aGlzLlBkZkdlbmVyYXRvci5nZW5lcmF0ZShkYXRhKSlcblx0XHRcdFx0XHQvLyAudGhlbihyZXMgPT4gQnVmZmVyLmZyb20ocmVzLCAnYmFzZTY0JykpXG5cdFx0XHRcdFx0Ly8gLnRoZW4ocmVzID0+IHRoaXMuU3RvcmFnZS5zZXRGaWxlQnVmZmVyKHsgZGF0YTogcmVzLCB0eXBlOiAncGRmJyB9KSlcblx0XHRcdFx0XHQudGhlbigoKSA9PiB0aGlzLlN0b3JhZ2Uuc2V0RmlsZShgLi8ke3VzZXJJZH0ucGRmYCkpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gdGhpcy5TdG9yYWdlLnVwbG9hZCgpKVxuXHRcdFx0XHRcdC50aGVuKHJlcyA9PiBKU09OLnN0cmluZ2lmeShyZXMpKVxuXHRcdFx0XHRcdC50aGVuKHJlcyA9PiBKU09OLnBhcnNlKHJlcykpXG5cdFx0XHRcdFx0LnRoZW4ocmVzID0+XG5cdFx0XHRcdFx0XHRQcm9taXNlLnJlc29sdmUoZGF0YSkudGhlbihyZXN1bHQgPT4gKHtcblx0XHRcdFx0XHRcdFx0Li4ucmVzdWx0LFxuXHRcdFx0XHRcdFx0XHRjb250cmFjdFVybDogcmVzLkxvY2F0aW9uLFxuXHRcdFx0XHRcdFx0XHRzdGF0dXM6ICdBdGl2bydcblx0XHRcdFx0XHRcdH0pKVxuXHRcdFx0XHRcdClcblx0XHRcdFx0XHQudGhlbihyZXMgPT4gdGhpcy5zYXZlKHVzZXJJZCwgcmVzKSlcblx0XHRcdFx0XHQuY2F0Y2goZSA9PiB7XG5cdFx0XHRcdFx0XHR0aHJvdyBlO1xuXHRcdFx0XHRcdH0pXG5cdFx0XHQpO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChlKTtcblx0XHR9XG5cdH1cblxuXHRhc3luYyB2aWV3KGRhdGFDb250cmFjdCwgY29uZmlnKSB7XG5cdFx0Ly9jb25zb2xlLmxvZyhkYXRhQ29udHJhY3QpXG5cblx0XHR0cnkge1xuXHRcdFx0YXdhaXQgdGhpcy5zZXRDb25maWcoY29uZmlnLmF3cyk7XG5cdFx0XHRhd2FpdCB0aGlzLnNldFR5cGUoY29uZmlnLmNvbnRyYWN0KTtcblx0XHRcdGlmICh0aGlzLmNvbmZpZyA9PT0gdW5kZWZpbmVkKVxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3JEb2N4UGRmKCdDb25maWd1cmHDp8OjbyBuw6NvIGluaWNpYWxpemFkYScpO1xuXG5cdFx0XHRjb25zdCBkYXRhID0gZGF0YUNvbnRyYWN0O1xuXG5cdFx0XHRhd2FpdCB0aGlzLlBkZkdlbmVyYXRvci5nZW5lcmF0ZShkYXRhLCBkYXRhLmNsaWVudElkLCBmYWxzZSk7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuU3RvcmFnZS5zZXRCdWNrZXQoY29uZmlnLmJ1Y2tldCkpXG5cdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS5zZXREZXN0aW5hdGlvbkRpcignY29udHJhY3RzJykpXG5cdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS5zZXRGaWxlKGAuLyR7ZGF0YS5jbGllbnRJZH0ucGRmYCkpXG5cdFx0XHRcdC50aGVuKCgpID0+IHRoaXMuU3RvcmFnZS51cGxvYWQoKSlcblx0XHRcdFx0LnRoZW4ocmVzID0+XG5cdFx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKGRhdGEpLnRoZW4ocmVzdWx0ID0+ICh7XG5cdFx0XHRcdFx0XHQuLi5yZXN1bHQsXG5cdFx0XHRcdFx0XHRjb250cmFjdFVybDogcmVzLkxvY2F0aW9uLFxuXHRcdFx0XHRcdFx0c3RhdHVzOiAnQXRpdm8nXG5cdFx0XHRcdFx0fSkpXG5cdFx0XHRcdClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHRoaXMudXBkYXRlKHJlcykpXG5cdFx0XHRcdC5jYXRjaChlID0+IHtcblx0XHRcdFx0XHR0aHJvdyBlO1xuXHRcdFx0XHR9KTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7XG5cdFx0fVxuXHR9XG5cblx0YXN5bmMgaW5zZXJ0U2lnbmF0dXJlKHVzZXJJZCwgZGF0YUNvbnRyYWN0LCBjb25maWcpIHtcblx0XHR0cnkge1xuXHRcdFx0YXdhaXQgdGhpcy5zZXRDb25maWcoY29uZmlnLmF3cyk7XG5cdFx0XHRhd2FpdCB0aGlzLnNldFR5cGUoY29uZmlnLmNvbnRyYWN0KTtcblx0XHRcdGlmICh0aGlzLmNvbmZpZyA9PT0gdW5kZWZpbmVkKVxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3JEb2N4UGRmKCdDb25maWd1cmHDp8OjbyBuw6NvIGluaWNpYWxpemFkYScpO1xuXHRcdFx0XG5cdFx0XHRjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5tYWtlRG9jdW1lbnQoZGF0YUNvbnRyYWN0LmRhdGEpO1xuXG5cdFx0XHQvLyBkYXRhLmltYWdlID0gZGF0YUNvbnRyYWN0LmRhdGEuaW1hZ2U7XG5cblx0XHRcdC8vIGNvbnNvbGUubG9nKCdBUVVJIFRFTSBRVUUgVEVSIFRPRE9TIE9TIERBRE9TIERPIERPQ1VNRU5UTyBDRVJUSU5IT09PT09PTycpXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhkYXRhKVxuXG5cdFx0XHRhd2FpdCB0aGlzLlBkZkdlbmVyYXRvci5nZW5lcmF0ZShkYXRhLCB1c2VySWQsIHRydWUpO1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRoaXMuU3RvcmFnZS5zZXRCdWNrZXQoY29uZmlnLmJ1Y2tldCkpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gdGhpcy5TdG9yYWdlLnNldERlc3RpbmF0aW9uRGlyKCdjb250cmFjdHMnKSlcblx0XHRcdFx0XHQvLy50aGVuKCgpID0+IHRoaXMuRG9jeC5tYWtlQ29udHJhY3QoZmlsZSwgZGF0YUNvbnRyYWN0LmRhdGEpKVxuXHRcdFx0XHRcdC8vLnRoZW4ocmVzID0+IEJ1ZmZlci5mcm9tKHJlcywgJ2Jhc2U2NCcpKVxuXHRcdFx0XHRcdC8vLnRoZW4ocmVzID0+IHRoaXMuU3RvcmFnZS5zZXRGaWxlQnVmZmVyKHsgZGF0YTogcmVzLCB0eXBlOiAnZG9jeCcgfSkpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gdGhpcy5TdG9yYWdlLnNldEZpbGUoJy4vJyArIHVzZXJJZCArICcucGRmJykpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gdGhpcy5TdG9yYWdlLnVwbG9hZCgpKVxuXHRcdFx0XHRcdC50aGVuKHJlcyA9PiBKU09OLnN0cmluZ2lmeShyZXMpKVxuXHRcdFx0XHRcdC50aGVuKHJlcyA9PiBKU09OLnBhcnNlKHJlcykpXG5cdFx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRcdGxldCBkYXRhUmV0dXJuID0ge31cblx0XHRcdFx0XHRcdGRhdGFSZXR1cm4uY29udHJhY3RVcmwgPSByZXMuTG9jYXRpb247XG5cdFx0XHRcdFx0XHRkYXRhUmV0dXJuLnN0YXR1cyA9ICdBc3NpbmFkbyc7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZGF0YVJldHVybjtcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC50aGVuKHJlcyA9PiB0aGlzLnVwZGF0ZShyZXMsIGRhdGFDb250cmFjdC5pZCkpXG5cdFx0XHRcdFx0LmNhdGNoKGUgPT4ge1xuXHRcdFx0XHRcdFx0dGhyb3cgZTtcblx0XHRcdFx0XHR9KVxuXHRcdFx0KTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7XG5cdFx0fVxuXHR9XG5cblx0YXN5bmMgbWFrZURvY3VtZW50KGRhdGFDb250cmFjdCkge1xuXHRcdGlmIChkYXRhQ29udHJhY3QuY2xpZW50Q05QSiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gYXdhaXQgdGhpcy5tYWtlQ05QSihkYXRhQ29udHJhY3QpO1xuXHRcdFx0Ly9maWxlID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vLi4vLi4vYXNzZXRzL2RvY0V4LmRvY3gnKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGF3YWl0IHRoaXMubWFrZUNQRihkYXRhQ29udHJhY3QpO1xuXHRcdFx0Ly9maWxlID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vLi4vLi4vYXNzZXRzL2RvY0V4LmRvY3gnKTtcblx0XHR9XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSAoRG9jeCwgRGlnaXRhbERhdGEsIFN0b3JhZ2UsIFBkZkdlbmVyYXRvcikgPT5cblx0bmV3IENvbnRyYWN0KERvY3gsIERpZ2l0YWxEYXRhLCBTdG9yYWdlLCBQZGZHZW5lcmF0b3IpO1xuIl19 |
Sorry, the diff of this file is not supported yet
3514198