UNPKG

arrayz

Version:

Repository of useful and common arrays in different programming languages.

395 lines (347 loc) 28.2 kB
/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { 'use strict'; var _arrayz = __webpack_require__(2); var _arrayz2 = _interopRequireDefault(_arrayz); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } //console.log(arrayz.regions); console.log(_arrayz2.default.regions.states.forEach(function (n) { return console.log(n); })); /***/ }), /* 1 */ /***/ (function(module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Collection = function () { function Collection() { _classCallCheck(this, Collection); this.data = null; } _createClass(Collection, [{ key: "keyBy", value: function keyBy(index) {} }]); return Collection; }(); // let Collection = new Proxy(new _Collection, { // get: function (target, name, receiver) { // console.log(target, name, receiver); // if (name in target.__proto__) { // assume methods live on the prototype // return function (...args) { // var methodName = name; // // we now have access to both methodName and arguments // }; // } else { // assume instance vars like on the target // return Reflect.get(target, name, receiver); // } // } // }); exports.default = Collection; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { 'use strict'; var _regions = __webpack_require__(3); var _regions2 = _interopRequireDefault(_regions); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.regions = _regions2.default; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _states = __webpack_require__(4); var _states2 = _interopRequireDefault(_states); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { states: _states2.default }; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _Collection = __webpack_require__(1); var _Collection2 = _interopRequireDefault(_Collection); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var _States = function () { function _States() { _classCallCheck(this, _States); this.data = this.defaults(); } _createClass(_States, [{ key: 'defaults', value: function defaults() { return [{ code: 'AL', name: 'ALABAMA' }, { code: 'AK', name: 'ALASKA' }, { code: 'AS', name: 'AMERICAN SAMOA' }, { code: 'AZ', name: 'ARIZONA' }, { code: 'AR', name: 'ARKANSAS' }, { code: 'CA', name: 'CALIFORNIA' }, { code: 'CO', name: 'COLORADO' }, { code: 'CT', name: 'CONNECTICUT' }, { code: 'DE', name: 'DELAWARE' }, { code: 'DC', name: 'DISTRICT OF COLUMBIA' }, { code: 'FM', name: 'FEDERATED STATES OF MICRONESIA' }, { code: 'FL', name: 'FLORIDA' }, { code: 'GA', name: 'GEORGIA' }, { code: 'GU', name: 'GUAM GU' }, { code: 'HI', name: 'HAWAII' }, { code: 'ID', name: 'IDAHO' }, { code: 'IL', name: 'ILLINOIS' }, { code: 'IN', name: 'INDIANA' }, { code: 'IA', name: 'IOWA' }, { code: 'KS', name: 'KANSAS' }, { code: 'KY', name: 'KENTUCKY' }, { code: 'LA', name: 'LOUISIANA' }, { code: 'ME', name: 'MAINE' }, { code: 'MH', name: 'MARSHALL ISLANDS' }, { code: 'MD', name: 'MARYLAND' }, { code: 'MA', name: 'MASSACHUSETTS' }, { code: 'MI', name: 'MICHIGAN' }, { code: 'MN', name: 'MINNESOTA' }, { code: 'MS', name: 'MISSISSIPPI' }, { code: 'MO', name: 'MISSOURI' }, { code: 'MT', name: 'MONTANA' }, { code: 'NE', name: 'NEBRASKA' }, { code: 'NV', name: 'NEVADA' }, { code: 'NH', name: 'NEW HAMPSHIRE' }, { code: 'NJ', name: 'NEW JERSEY' }, { code: 'NM', name: 'NEW MEXICO' }, { code: 'NY', name: 'NEW YORK' }, { code: 'NC', name: 'NORTH CAROLINA' }, { code: 'ND', name: 'NORTH DAKOTA' }, { code: 'MP', name: 'NORTHERN MARIANA ISLANDS' }, { code: 'OH', name: 'OHIO' }, { code: 'OK', name: 'OKLAHOMA' }, { code: 'OR', name: 'OREGON' }, { code: 'PW', name: 'PALAU' }, { code: 'PA', name: 'PENNSYLVANIA' }, { code: 'PR', name: 'PUERTO RICO' }, { code: 'RI', name: 'RHODE ISLAND' }, { code: 'SC', name: 'SOUTH CAROLINA' }, { code: 'SD', name: 'SOUTH DAKOTA' }, { code: 'TN', name: 'TENNESSEE' }, { code: 'TX', name: 'TEXAS' }, { code: 'UT', name: 'UTAH' }, { code: 'VT', name: 'VERMONT' }, { code: 'VI', name: 'VIRGIN ISLANDS' }, { code: 'VA', name: 'VIRGINIA' }, { code: 'WA', name: 'WASHINGTON' }, { code: 'WV', name: 'WEST VIRGINIA' }, { code: 'WI', name: 'WISCONSIN' }, { code: 'WY', name: 'WYOMING' }, { code: 'AE', name: 'ARMED FORCES AFRICA \ CANADA \ EUROPE \ MIDDLE EAST' }, { code: 'AA', name: 'ARMED FORCES AMERICA (EXCEPT CANADA)' }, { code: 'AP', name: 'ARMED FORCES PACIFIC' }]; } }]); return _States; }(); var States = new Proxy([new _Collection2.default(), new _States()], { // get: function (target, name, receiver) { // console.log('target', target); // console.log('name', name); // console.log('receiver', receiver); // if (name in target.__proto__) { // assume methods live on the prototype // return function (...args) { // var methodName = name; // // we now have access to both methodName and arguments // }; // } else { // assume instance vars like on the target // return Reflect.get(target, name, receiver); // } // } get: function get(proxyTarget, propertyKey) { console.log('name', name); console.log('proxyTarget', proxyTarget); console.log('propertyKey', propertyKey); console.log('parent', parent); var foundParent = proxyTarget.find(function (parent) { return parent[propertyKey] !== undefined; }); console.log('foundparent', foundParent); return foundParent && foundParent[propertyKey]; } }); exports.default = States; /***/ }) /******/ ]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgZTdhYjQyNDNhZTRiMGYxYTdlNWUiLCJ3ZWJwYWNrOi8vLy4vcGxheWdyb3VuZC9tYWluLmpzIiwid2VicGFjazovLy8uL34vYXJyYXl6L2Rpc3QvQ29sbGVjdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9+L2FycmF5ei9kaXN0L2luZGV4LmpzIiwid2VicGFjazovLy8uL34vYXJyYXl6L2Rpc3QvcmVnaW9ucy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9+L2FycmF5ei9kaXN0L3JlZ2lvbnMvc3RhdGVzLmpzIl0sIm5hbWVzIjpbImNvbnNvbGUiLCJsb2ciLCJyZWdpb25zIiwic3RhdGVzIiwiZm9yRWFjaCIsIm4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7QUN0Q0E7Ozs7OztBQUVBO0FBQ0FBLFNBQVFDLEdBQVIsQ0FBWSxpQkFBT0MsT0FBUCxDQUFlQyxNQUFmLENBQXNCQyxPQUF0QixDQUE4QixVQUFDQyxDQUFEO0FBQUEsVUFBT0wsUUFBUUMsR0FBUixDQUFZSSxDQUFaLENBQVA7QUFBQSxFQUE5QixDQUFaLEU7Ozs7OztBQ0hBOztBQUVBO0FBQ0E7QUFDQSxFQUFDOztBQUVELGlDQUFnQywyQ0FBMkMsZ0JBQWdCLGtCQUFrQixPQUFPLDJCQUEyQix3REFBd0QsZ0NBQWdDLHVEQUF1RCwyREFBMkQsRUFBRSxFQUFFLHlEQUF5RCxxRUFBcUUsNkRBQTZELG9CQUFvQixHQUFHLEVBQUU7O0FBRWpqQixrREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFHOztBQUVIO0FBQ0EsRUFBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0EsdUNBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUSxPQUFPO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsS0FBSTs7QUFFSiw4Qjs7Ozs7O0FDeENBOztBQUVBOztBQUVBOztBQUVBLHVDQUFzQyx1Q0FBdUMsZ0JBQWdCOztBQUU3RixxQzs7Ozs7O0FDUkE7O0FBRUE7QUFDQTtBQUNBLEVBQUM7O0FBRUQ7O0FBRUE7O0FBRUEsdUNBQXNDLHVDQUF1QyxnQkFBZ0I7O0FBRTdGLG9CQUFtQiw0Qjs7Ozs7O0FDWm5COztBQUVBO0FBQ0E7QUFDQSxFQUFDOztBQUVELGlDQUFnQywyQ0FBMkMsZ0JBQWdCLGtCQUFrQixPQUFPLDJCQUEyQix3REFBd0QsZ0NBQWdDLHVEQUF1RCwyREFBMkQsRUFBRSxFQUFFLHlEQUF5RCxxRUFBcUUsNkRBQTZELG9CQUFvQixHQUFHLEVBQUU7O0FBRWpqQjs7QUFFQTs7QUFFQSx1Q0FBc0MsdUNBQXVDLGdCQUFnQjs7QUFFN0Ysa0RBQWlELDBDQUEwQywwREFBMEQsRUFBRTs7QUFFdko7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQSxJQUFHOztBQUVIO0FBQ0EsRUFBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1Q0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFRLE9BQU87QUFDZjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEVBQUM7O0FBRUQsMEIiLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuXG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRleHBvcnRzOiB7fSxcbiBcdFx0XHRpZDogbW9kdWxlSWQsXG4gXHRcdFx0bG9hZGVkOiBmYWxzZVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sb2FkZWQgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHdlYnBhY2svYm9vdHN0cmFwIGU3YWI0MjQzYWU0YjBmMWE3ZTVlIiwiaW1wb3J0IGFycmF5eiBmcm9tICdhcnJheXonO1xyXG5cclxuLy9jb25zb2xlLmxvZyhhcnJheXoucmVnaW9ucyk7XHJcbmNvbnNvbGUubG9nKGFycmF5ei5yZWdpb25zLnN0YXRlcy5mb3JFYWNoKChuKSA9PiBjb25zb2xlLmxvZyhuKSkpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BsYXlncm91bmQvbWFpbi5qcyIsIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG52YXIgQ29sbGVjdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQ29sbGVjdGlvbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29sbGVjdGlvbik7XG5cbiAgICB0aGlzLmRhdGEgPSBudWxsO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKENvbGxlY3Rpb24sIFt7XG4gICAga2V5OiBcImtleUJ5XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGtleUJ5KGluZGV4KSB7fVxuICB9XSk7XG5cbiAgcmV0dXJuIENvbGxlY3Rpb247XG59KCk7XG5cbi8vIGxldCBDb2xsZWN0aW9uID0gbmV3IFByb3h5KG5ldyBfQ29sbGVjdGlvbiwge1xuXG4vLyAgIGdldDogZnVuY3Rpb24gKHRhcmdldCwgbmFtZSwgcmVjZWl2ZXIpIHtcbi8vICAgICBjb25zb2xlLmxvZyh0YXJnZXQsIG5hbWUsIHJlY2VpdmVyKTtcbi8vICAgICBpZiAobmFtZSBpbiB0YXJnZXQuX19wcm90b19fKSB7IC8vIGFzc3VtZSBtZXRob2RzIGxpdmUgb24gdGhlIHByb3RvdHlwZVxuLy8gICAgICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzKSB7XG4vLyAgICAgICAgIHZhciBtZXRob2ROYW1lID0gbmFtZTtcbi8vICAgICAgICAgLy8gd2Ugbm93IGhhdmUgYWNjZXNzIHRvIGJvdGggbWV0aG9kTmFtZSBhbmQgYXJndW1lbnRzXG4vLyAgICAgICB9O1xuLy8gICAgIH0gZWxzZSB7IC8vIGFzc3VtZSBpbnN0YW5jZSB2YXJzIGxpa2Ugb24gdGhlIHRhcmdldFxuLy8gICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgbmFtZSwgcmVjZWl2ZXIpO1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfSk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IENvbGxlY3Rpb247XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2FycmF5ei9kaXN0L0NvbGxlY3Rpb24uanNcbi8vIG1vZHVsZSBpZCA9IDFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgX3JlZ2lvbnMgPSByZXF1aXJlKCcuL3JlZ2lvbnMnKTtcblxudmFyIF9yZWdpb25zMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlZ2lvbnMpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLnJlZ2lvbnMgPSBfcmVnaW9uczIuZGVmYXVsdDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vYXJyYXl6L2Rpc3QvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3N0YXRlcyA9IHJlcXVpcmUoJy4vc3RhdGVzJyk7XG5cbnZhciBfc3RhdGVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0YXRlcyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHsgc3RhdGVzOiBfc3RhdGVzMi5kZWZhdWx0IH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2FycmF5ei9kaXN0L3JlZ2lvbnMvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG52YXIgX0NvbGxlY3Rpb24gPSByZXF1aXJlKCcuLi9Db2xsZWN0aW9uJyk7XG5cbnZhciBfQ29sbGVjdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9Db2xsZWN0aW9uKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxudmFyIF9TdGF0ZXMgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIF9TdGF0ZXMoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIF9TdGF0ZXMpO1xuXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kZWZhdWx0cygpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKF9TdGF0ZXMsIFt7XG4gICAga2V5OiAnZGVmYXVsdHMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZWZhdWx0cygpIHtcbiAgICAgIHJldHVybiBbe1xuICAgICAgICBjb2RlOiAnQUwnLFxuICAgICAgICBuYW1lOiAnQUxBQkFNQSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ0FLJyxcbiAgICAgICAgbmFtZTogJ0FMQVNLQSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ0FTJyxcbiAgICAgICAgbmFtZTogJ0FNRVJJQ0FOIFNBTU9BJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnQVonLFxuICAgICAgICBuYW1lOiAnQVJJWk9OQSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ0FSJyxcbiAgICAgICAgbmFtZTogJ0FSS0FOU0FTJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnQ0EnLFxuICAgICAgICBuYW1lOiAnQ0FMSUZPUk5JQSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ0NPJyxcbiAgICAgICAgbmFtZTogJ0NPTE9SQURPJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnQ1QnLFxuICAgICAgICBuYW1lOiAnQ09OTkVDVElDVVQnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdERScsXG4gICAgICAgIG5hbWU6ICdERUxBV0FSRSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ0RDJyxcbiAgICAgICAgbmFtZTogJ0RJU1RSSUNUIE9GIENPTFVNQklBJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnRk0nLFxuICAgICAgICBuYW1lOiAnRkVERVJBVEVEIFNUQVRFUyBPRiBNSUNST05FU0lBJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnRkwnLFxuICAgICAgICBuYW1lOiAnRkxPUklEQSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ0dBJyxcbiAgICAgICAgbmFtZTogJ0dFT1JHSUEnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdHVScsXG4gICAgICAgIG5hbWU6ICdHVUFNIEdVJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnSEknLFxuICAgICAgICBuYW1lOiAnSEFXQUlJJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnSUQnLFxuICAgICAgICBuYW1lOiAnSURBSE8nXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdJTCcsXG4gICAgICAgIG5hbWU6ICdJTExJTk9JUydcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ0lOJyxcbiAgICAgICAgbmFtZTogJ0lORElBTkEnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdJQScsXG4gICAgICAgIG5hbWU6ICdJT1dBJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnS1MnLFxuICAgICAgICBuYW1lOiAnS0FOU0FTJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnS1knLFxuICAgICAgICBuYW1lOiAnS0VOVFVDS1knXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdMQScsXG4gICAgICAgIG5hbWU6ICdMT1VJU0lBTkEnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdNRScsXG4gICAgICAgIG5hbWU6ICdNQUlORSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ01IJyxcbiAgICAgICAgbmFtZTogJ01BUlNIQUxMIElTTEFORFMnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdNRCcsXG4gICAgICAgIG5hbWU6ICdNQVJZTEFORCdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ01BJyxcbiAgICAgICAgbmFtZTogJ01BU1NBQ0hVU0VUVFMnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdNSScsXG4gICAgICAgIG5hbWU6ICdNSUNISUdBTidcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ01OJyxcbiAgICAgICAgbmFtZTogJ01JTk5FU09UQSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ01TJyxcbiAgICAgICAgbmFtZTogJ01JU1NJU1NJUFBJJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnTU8nLFxuICAgICAgICBuYW1lOiAnTUlTU09VUkknXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdNVCcsXG4gICAgICAgIG5hbWU6ICdNT05UQU5BJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnTkUnLFxuICAgICAgICBuYW1lOiAnTkVCUkFTS0EnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdOVicsXG4gICAgICAgIG5hbWU6ICdORVZBREEnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdOSCcsXG4gICAgICAgIG5hbWU6ICdORVcgSEFNUFNISVJFJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnTkonLFxuICAgICAgICBuYW1lOiAnTkVXIEpFUlNFWSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ05NJyxcbiAgICAgICAgbmFtZTogJ05FVyBNRVhJQ08nXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdOWScsXG4gICAgICAgIG5hbWU6ICdORVcgWU9SSydcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ05DJyxcbiAgICAgICAgbmFtZTogJ05PUlRIIENBUk9MSU5BJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnTkQnLFxuICAgICAgICBuYW1lOiAnTk9SVEggREFLT1RBJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnTVAnLFxuICAgICAgICBuYW1lOiAnTk9SVEhFUk4gTUFSSUFOQSBJU0xBTkRTJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnT0gnLFxuICAgICAgICBuYW1lOiAnT0hJTydcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ09LJyxcbiAgICAgICAgbmFtZTogJ09LTEFIT01BJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnT1InLFxuICAgICAgICBuYW1lOiAnT1JFR09OJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnUFcnLFxuICAgICAgICBuYW1lOiAnUEFMQVUnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdQQScsXG4gICAgICAgIG5hbWU6ICdQRU5OU1lMVkFOSUEnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdQUicsXG4gICAgICAgIG5hbWU6ICdQVUVSVE8gUklDTydcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ1JJJyxcbiAgICAgICAgbmFtZTogJ1JIT0RFIElTTEFORCdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ1NDJyxcbiAgICAgICAgbmFtZTogJ1NPVVRIIENBUk9MSU5BJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnU0QnLFxuICAgICAgICBuYW1lOiAnU09VVEggREFLT1RBJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnVE4nLFxuICAgICAgICBuYW1lOiAnVEVOTkVTU0VFJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnVFgnLFxuICAgICAgICBuYW1lOiAnVEVYQVMnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdVVCcsXG4gICAgICAgIG5hbWU6ICdVVEFIJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnVlQnLFxuICAgICAgICBuYW1lOiAnVkVSTU9OVCdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ1ZJJyxcbiAgICAgICAgbmFtZTogJ1ZJUkdJTiBJU0xBTkRTJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnVkEnLFxuICAgICAgICBuYW1lOiAnVklSR0lOSUEnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdXQScsXG4gICAgICAgIG5hbWU6ICdXQVNISU5HVE9OJ1xuICAgICAgfSwge1xuICAgICAgICBjb2RlOiAnV1YnLFxuICAgICAgICBuYW1lOiAnV0VTVCBWSVJHSU5JQSdcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ1dJJyxcbiAgICAgICAgbmFtZTogJ1dJU0NPTlNJTidcbiAgICAgIH0sIHtcbiAgICAgICAgY29kZTogJ1dZJyxcbiAgICAgICAgbmFtZTogJ1dZT01JTkcnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdBRScsXG4gICAgICAgIG5hbWU6ICdBUk1FRCBGT1JDRVMgQUZSSUNBIFxcIENBTkFEQSBcXCBFVVJPUEUgXFwgTUlERExFIEVBU1QnXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdBQScsXG4gICAgICAgIG5hbWU6ICdBUk1FRCBGT1JDRVMgQU1FUklDQSAoRVhDRVBUIENBTkFEQSknXG4gICAgICB9LCB7XG4gICAgICAgIGNvZGU6ICdBUCcsXG4gICAgICAgIG5hbWU6ICdBUk1FRCBGT1JDRVMgUEFDSUZJQydcbiAgICAgIH1dO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBfU3RhdGVzO1xufSgpO1xuXG52YXIgU3RhdGVzID0gbmV3IFByb3h5KFtuZXcgX0NvbGxlY3Rpb24yLmRlZmF1bHQoKSwgbmV3IF9TdGF0ZXMoKV0sIHtcblxuICAvLyBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUsIHJlY2VpdmVyKSB7XG4gIC8vICAgY29uc29sZS5sb2coJ3RhcmdldCcsIHRhcmdldCk7XG4gIC8vICAgY29uc29sZS5sb2coJ25hbWUnLCBuYW1lKTtcbiAgLy8gICBjb25zb2xlLmxvZygncmVjZWl2ZXInLCByZWNlaXZlcik7XG5cbiAgLy8gICBpZiAobmFtZSBpbiB0YXJnZXQuX19wcm90b19fKSB7IC8vIGFzc3VtZSBtZXRob2RzIGxpdmUgb24gdGhlIHByb3RvdHlwZVxuICAvLyAgICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gIC8vICAgICAgIHZhciBtZXRob2ROYW1lID0gbmFtZTtcbiAgLy8gICAgICAgLy8gd2Ugbm93IGhhdmUgYWNjZXNzIHRvIGJvdGggbWV0aG9kTmFtZSBhbmQgYXJndW1lbnRzXG4gIC8vICAgICB9O1xuICAvLyAgIH0gZWxzZSB7IC8vIGFzc3VtZSBpbnN0YW5jZSB2YXJzIGxpa2Ugb24gdGhlIHRhcmdldFxuICAvLyAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgbmFtZSwgcmVjZWl2ZXIpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIGdldDogZnVuY3Rpb24gZ2V0KHByb3h5VGFyZ2V0LCBwcm9wZXJ0eUtleSkge1xuICAgIGNvbnNvbGUubG9nKCd0YXJnZXQnLCB0YXJnZXQpO1xuICAgIGNvbnNvbGUubG9nKCduYW1lJywgbmFtZSk7XG4gICAgY29uc29sZS5sb2coJ3JlY2VpdmVyJywgcmVjZWl2ZXIpO1xuICAgIGNvbnNvbGUubG9nKCdwcm94eVRhcmdldCcsIHByb3h5VGFyZ2V0KTtcbiAgICBjb25zb2xlLmxvZygncHJvcGVydHlLZXknLCBwcm9wZXJ0eUtleSk7XG4gICAgY29uc29sZS5sb2coJ3BhcmVudCcsIHBhcmVudCk7XG4gICAgdmFyIGZvdW5kUGFyZW50ID0gcHJveHlUYXJnZXQuZmluZChmdW5jdGlvbiAocGFyZW50KSB7XG4gICAgICByZXR1cm4gcGFyZW50W3Byb3BlcnR5S2V5XSAhPT0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKCdmb3VuZHBhcmVudCcsIGZvdW5kUGFyZW50KTtcbiAgICByZXR1cm4gZm91bmRQYXJlbnQgJiYgZm91bmRQYXJlbnRbcHJvcGVydHlLZXldO1xuICB9XG59KTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gU3RhdGVzO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi9hcnJheXovZGlzdC9yZWdpb25zL3N0YXRlcy5qc1xuLy8gbW9kdWxlIGlkID0gNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9