New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@nebula.gl/edit-modes

Package Overview
Dependencies
Maintainers
5
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nebula.gl/edit-modes - npm Package Compare versions

Comparing version 0.19.2 to 0.19.3

13

dist-es6/index.js
"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -186,2 +188,3 @@ value: true

});
exports.utils = void 0;

@@ -248,3 +251,11 @@ var _geojsonEditMode = require("./lib/geojson-edit-mode");

var utils = _interopRequireWildcard(require("./utils"));
exports.utils = utils;
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgRWRpdE1vZGUgfSBmcm9tICcuL2xpYi9lZGl0LW1vZGUnO1xuZXhwb3J0IHR5cGUgeyBHZW9Kc29uRWRpdE1vZGVUeXBlIH0gZnJvbSAnLi9saWIvZ2VvanNvbi1lZGl0LW1vZGUnO1xuXG5leHBvcnQgeyBHZW9Kc29uRWRpdE1vZGUgfSBmcm9tICcuL2xpYi9nZW9qc29uLWVkaXQtbW9kZSc7XG5cbi8vIEFsdGVyIG1vZGVzXG5leHBvcnQgeyBNb2RpZnlNb2RlIH0gZnJvbSAnLi9saWIvbW9kaWZ5LW1vZGUnO1xuZXhwb3J0IHsgVHJhbnNsYXRlTW9kZSB9IGZyb20gJy4vbGliL3RyYW5zbGF0ZS1tb2RlJztcbmV4cG9ydCB7IFNjYWxlTW9kZSB9IGZyb20gJy4vbGliL3NjYWxlLW1vZGUnO1xuZXhwb3J0IHsgUm90YXRlTW9kZSB9IGZyb20gJy4vbGliL3JvdGF0ZS1tb2RlJztcbmV4cG9ydCB7IER1cGxpY2F0ZU1vZGUgfSBmcm9tICcuL2xpYi9kdXBsaWNhdGUtbW9kZSc7XG5leHBvcnQgeyBFeHRlbmRMaW5lU3RyaW5nTW9kZSB9IGZyb20gJy4vbGliL2V4dGVuZC1saW5lLXN0cmluZy1tb2RlJztcbmV4cG9ydCB7IFNwbGl0UG9seWdvbk1vZGUgfSBmcm9tICcuL2xpYi9zcGxpdC1wb2x5Z29uLW1vZGUnO1xuZXhwb3J0IHsgRXh0cnVkZU1vZGUgfSBmcm9tICcuL2xpYi9leHRydWRlLW1vZGUnO1xuZXhwb3J0IHsgRWxldmF0aW9uTW9kZSB9IGZyb20gJy4vbGliL2VsZXZhdGlvbi1tb2RlJztcbmV4cG9ydCB7IFRyYW5zZm9ybU1vZGUgfSBmcm9tICcuL2xpYi90cmFuc2Zvcm0tbW9kZSc7XG5cbi8vIERyYXcgbW9kZXNcbmV4cG9ydCB7IERyYXdQb2ludE1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LXBvaW50LW1vZGUnO1xuZXhwb3J0IHsgRHJhd0xpbmVTdHJpbmdNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1saW5lLXN0cmluZy1tb2RlJztcbmV4cG9ydCB7IERyYXdQb2x5Z29uTW9kZSB9IGZyb20gJy4vbGliL2RyYXctcG9seWdvbi1tb2RlJztcbmV4cG9ydCB7IERyYXdSZWN0YW5nbGVNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1yZWN0YW5nbGUtbW9kZSc7XG5leHBvcnQgeyBEcmF3Q2lyY2xlQnlEaWFtZXRlck1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LWNpcmNsZS1ieS1kaWFtZXRlci1tb2RlJztcbmV4cG9ydCB7IERyYXdDaXJjbGVGcm9tQ2VudGVyTW9kZSB9IGZyb20gJy4vbGliL2RyYXctY2lyY2xlLWZyb20tY2VudGVyLW1vZGUnO1xuZXhwb3J0IHsgRHJhd0VsbGlwc2VCeUJvdW5kaW5nQm94TW9kZSB9IGZyb20gJy4vbGliL2RyYXctZWxsaXBzZS1ieS1ib3VuZGluZy1ib3gtbW9kZSc7XG5leHBvcnQgeyBEcmF3RWxsaXBzZVVzaW5nVGhyZWVQb2ludHNNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1lbGxpcHNlLXVzaW5nLXRocmVlLXBvaW50cy1tb2RlJztcbmV4cG9ydCB7IERyYXdSZWN0YW5nbGVVc2luZ1RocmVlUG9pbnRzTW9kZSB9IGZyb20gJy4vbGliL2RyYXctcmVjdGFuZ2xlLXVzaW5nLXRocmVlLXBvaW50cy1tb2RlJztcbmV4cG9ydCB7IERyYXc5MERlZ3JlZVBvbHlnb25Nb2RlIH0gZnJvbSAnLi9saWIvZHJhdy05MGRlZ3JlZS1wb2x5Z29uLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1BvbHlnb25CeURyYWdnaW5nTW9kZSB9IGZyb20gJy4vbGliL2RyYXctcG9seWdvbi1ieS1kcmFnZ2luZy1tb2RlJztcbmV4cG9ydCB7IEltbXV0YWJsZUZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnLi9saWIvaW1tdXRhYmxlLWZlYXR1cmUtY29sbGVjdGlvbic7XG5cbi8vIE90aGVyIG1vZGVzXG5leHBvcnQgeyBWaWV3TW9kZSB9IGZyb20gJy4vbGliL3ZpZXctbW9kZSc7XG5leHBvcnQgeyBNZWFzdXJlRGlzdGFuY2VNb2RlIH0gZnJvbSAnLi9saWIvbWVhc3VyZS1kaXN0YW5jZS1tb2RlJztcbmV4cG9ydCB7IE1lYXN1cmVBcmVhTW9kZSB9IGZyb20gJy4vbGliL21lYXN1cmUtYXJlYS1tb2RlJztcbmV4cG9ydCB7IE1lYXN1cmVBbmdsZU1vZGUgfSBmcm9tICcuL2xpYi9tZWFzdXJlLWFuZ2xlLW1vZGUnO1xuZXhwb3J0IHsgQ29tcG9zaXRlTW9kZSB9IGZyb20gJy4vbGliL2NvbXBvc2l0ZS1tb2RlJztcbmV4cG9ydCB7IFNuYXBwYWJsZU1vZGUgfSBmcm9tICcuL2xpYi9zbmFwcGFibGUtbW9kZSc7XG5cbi8vIEV4cGVyaW1lbnRhbFxuZXhwb3J0IHsgZGVmYXVsdCBhcyBfbWVtb2l6ZSB9IGZyb20gJy4vbWVtb2l6ZSc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgU2NyZWVuQ29vcmRpbmF0ZXMsXG4gIEVkaXRBY3Rpb24sXG4gIFBpY2ssXG4gIENsaWNrRXZlbnQsXG4gIFBvaW50ZXJNb3ZlRXZlbnQsXG4gIFN0YXJ0RHJhZ2dpbmdFdmVudCxcbiAgU3RvcERyYWdnaW5nRXZlbnQsXG4gIERyYWdnaW5nRXZlbnQsXG4gIE1vZGVQcm9wcyxcbiAgR3VpZGVGZWF0dXJlQ29sbGVjdGlvbixcbiAgVmlld3BvcnQsXG4gIFRvb2x0aXAsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSB7XG4gIFBvc2l0aW9uLFxuICBQb2ludENvb3JkaW5hdGVzLFxuICBMaW5lU3RyaW5nQ29vcmRpbmF0ZXMsXG4gIFBvbHlnb25Db29yZGluYXRlcyxcbiAgTXVsdGlQb2ludENvb3JkaW5hdGVzLFxuICBNdWx0aUxpbmVTdHJpbmdDb29yZGluYXRlcyxcbiAgTXVsdGlQb2x5Z29uQ29vcmRpbmF0ZXMsXG4gIEFueUNvb3JkaW5hdGVzLFxuICBQb2ludCxcbiAgTGluZVN0cmluZyxcbiAgUG9seWdvbixcbiAgTXVsdGlQb2ludCxcbiAgTXVsdGlMaW5lU3RyaW5nLFxuICBNdWx0aVBvbHlnb24sXG4gIEdlb21ldHJ5LFxuICBQb2x5Z29uYWwsXG4gIEJvdW5kaW5nQm94QXJyYXksXG4gIEZlYXR1cmVPZixcbiAgRmVhdHVyZVdpdGhQcm9wcyxcbiAgRmVhdHVyZSxcbiAgRmVhdHVyZUNvbGxlY3Rpb24sXG4gIEFueUdlb0pzb24sXG59IGZyb20gJy4vZ2VvanNvbi10eXBlcyc7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUEyQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7IEVkaXRNb2RlIH0gZnJvbSAnLi9saWIvZWRpdC1tb2RlJztcbmV4cG9ydCB0eXBlIHsgR2VvSnNvbkVkaXRNb2RlVHlwZSB9IGZyb20gJy4vbGliL2dlb2pzb24tZWRpdC1tb2RlJztcbmV4cG9ydCB0eXBlIHsgR2VvSnNvbkVkaXRNb2RlQ29uc3RydWN0b3IgfSBmcm9tICcuL2xpYi9nZW9qc29uLWVkaXQtbW9kZSc7XG5cbmV4cG9ydCB7IEdlb0pzb25FZGl0TW9kZSB9IGZyb20gJy4vbGliL2dlb2pzb24tZWRpdC1tb2RlJztcblxuLy8gQWx0ZXIgbW9kZXNcbmV4cG9ydCB7IE1vZGlmeU1vZGUgfSBmcm9tICcuL2xpYi9tb2RpZnktbW9kZSc7XG5leHBvcnQgeyBUcmFuc2xhdGVNb2RlIH0gZnJvbSAnLi9saWIvdHJhbnNsYXRlLW1vZGUnO1xuZXhwb3J0IHsgU2NhbGVNb2RlIH0gZnJvbSAnLi9saWIvc2NhbGUtbW9kZSc7XG5leHBvcnQgeyBSb3RhdGVNb2RlIH0gZnJvbSAnLi9saWIvcm90YXRlLW1vZGUnO1xuZXhwb3J0IHsgRHVwbGljYXRlTW9kZSB9IGZyb20gJy4vbGliL2R1cGxpY2F0ZS1tb2RlJztcbmV4cG9ydCB7IEV4dGVuZExpbmVTdHJpbmdNb2RlIH0gZnJvbSAnLi9saWIvZXh0ZW5kLWxpbmUtc3RyaW5nLW1vZGUnO1xuZXhwb3J0IHsgU3BsaXRQb2x5Z29uTW9kZSB9IGZyb20gJy4vbGliL3NwbGl0LXBvbHlnb24tbW9kZSc7XG5leHBvcnQgeyBFeHRydWRlTW9kZSB9IGZyb20gJy4vbGliL2V4dHJ1ZGUtbW9kZSc7XG5leHBvcnQgeyBFbGV2YXRpb25Nb2RlIH0gZnJvbSAnLi9saWIvZWxldmF0aW9uLW1vZGUnO1xuZXhwb3J0IHsgVHJhbnNmb3JtTW9kZSB9IGZyb20gJy4vbGliL3RyYW5zZm9ybS1tb2RlJztcblxuLy8gRHJhdyBtb2Rlc1xuZXhwb3J0IHsgRHJhd1BvaW50TW9kZSB9IGZyb20gJy4vbGliL2RyYXctcG9pbnQtbW9kZSc7XG5leHBvcnQgeyBEcmF3TGluZVN0cmluZ01vZGUgfSBmcm9tICcuL2xpYi9kcmF3LWxpbmUtc3RyaW5nLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1BvbHlnb25Nb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1wb2x5Z29uLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1JlY3RhbmdsZU1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LXJlY3RhbmdsZS1tb2RlJztcbmV4cG9ydCB7IERyYXdDaXJjbGVCeURpYW1ldGVyTW9kZSB9IGZyb20gJy4vbGliL2RyYXctY2lyY2xlLWJ5LWRpYW1ldGVyLW1vZGUnO1xuZXhwb3J0IHsgRHJhd0NpcmNsZUZyb21DZW50ZXJNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1jaXJjbGUtZnJvbS1jZW50ZXItbW9kZSc7XG5leHBvcnQgeyBEcmF3RWxsaXBzZUJ5Qm91bmRpbmdCb3hNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1lbGxpcHNlLWJ5LWJvdW5kaW5nLWJveC1tb2RlJztcbmV4cG9ydCB7IERyYXdFbGxpcHNlVXNpbmdUaHJlZVBvaW50c01vZGUgfSBmcm9tICcuL2xpYi9kcmF3LWVsbGlwc2UtdXNpbmctdGhyZWUtcG9pbnRzLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1JlY3RhbmdsZVVzaW5nVGhyZWVQb2ludHNNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1yZWN0YW5nbGUtdXNpbmctdGhyZWUtcG9pbnRzLW1vZGUnO1xuZXhwb3J0IHsgRHJhdzkwRGVncmVlUG9seWdvbk1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LTkwZGVncmVlLXBvbHlnb24tbW9kZSc7XG5leHBvcnQgeyBEcmF3UG9seWdvbkJ5RHJhZ2dpbmdNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1wb2x5Z29uLWJ5LWRyYWdnaW5nLW1vZGUnO1xuZXhwb3J0IHsgSW1tdXRhYmxlRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICcuL2xpYi9pbW11dGFibGUtZmVhdHVyZS1jb2xsZWN0aW9uJztcblxuLy8gT3RoZXIgbW9kZXNcbmV4cG9ydCB7IFZpZXdNb2RlIH0gZnJvbSAnLi9saWIvdmlldy1tb2RlJztcbmV4cG9ydCB7IE1lYXN1cmVEaXN0YW5jZU1vZGUgfSBmcm9tICcuL2xpYi9tZWFzdXJlLWRpc3RhbmNlLW1vZGUnO1xuZXhwb3J0IHsgTWVhc3VyZUFyZWFNb2RlIH0gZnJvbSAnLi9saWIvbWVhc3VyZS1hcmVhLW1vZGUnO1xuZXhwb3J0IHsgTWVhc3VyZUFuZ2xlTW9kZSB9IGZyb20gJy4vbGliL21lYXN1cmUtYW5nbGUtbW9kZSc7XG5leHBvcnQgeyBDb21wb3NpdGVNb2RlIH0gZnJvbSAnLi9saWIvY29tcG9zaXRlLW1vZGUnO1xuZXhwb3J0IHsgU25hcHBhYmxlTW9kZSB9IGZyb20gJy4vbGliL3NuYXBwYWJsZS1tb2RlJztcblxuLy8gRXhwZXJpbWVudGFsXG5leHBvcnQgeyBkZWZhdWx0IGFzIF9tZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplJztcblxuZXhwb3J0IHR5cGUge1xuICBTY3JlZW5Db29yZGluYXRlcyxcbiAgRWRpdEFjdGlvbixcbiAgUGljayxcbiAgQ2xpY2tFdmVudCxcbiAgUG9pbnRlck1vdmVFdmVudCxcbiAgU3RhcnREcmFnZ2luZ0V2ZW50LFxuICBTdG9wRHJhZ2dpbmdFdmVudCxcbiAgRHJhZ2dpbmdFdmVudCxcbiAgTW9kZVByb3BzLFxuICBHdWlkZUZlYXR1cmVDb2xsZWN0aW9uLFxuICBWaWV3cG9ydCxcbiAgVG9vbHRpcCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgUG9zaXRpb24sXG4gIFBvaW50Q29vcmRpbmF0ZXMsXG4gIExpbmVTdHJpbmdDb29yZGluYXRlcyxcbiAgUG9seWdvbkNvb3JkaW5hdGVzLFxuICBNdWx0aVBvaW50Q29vcmRpbmF0ZXMsXG4gIE11bHRpTGluZVN0cmluZ0Nvb3JkaW5hdGVzLFxuICBNdWx0aVBvbHlnb25Db29yZGluYXRlcyxcbiAgQW55Q29vcmRpbmF0ZXMsXG4gIFBvaW50LFxuICBMaW5lU3RyaW5nLFxuICBQb2x5Z29uLFxuICBNdWx0aVBvaW50LFxuICBNdWx0aUxpbmVTdHJpbmcsXG4gIE11bHRpUG9seWdvbixcbiAgR2VvbWV0cnksXG4gIFBvbHlnb25hbCxcbiAgQm91bmRpbmdCb3hBcnJheSxcbiAgRmVhdHVyZU9mLFxuICBGZWF0dXJlV2l0aFByb3BzLFxuICBGZWF0dXJlLFxuICBGZWF0dXJlQ29sbGVjdGlvbixcbiAgQW55R2VvSnNvbixcbn0gZnJvbSAnLi9nZW9qc29uLXR5cGVzJztcblxuLy8gVXRpbHNcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgdXRpbHMgfTtcbiJdfQ==

2

dist-es6/lib/geojson-edit-mode.js

@@ -308,2 +308,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZ2VvanNvbi1lZGl0LW1vZGUudHMiXSwibmFtZXMiOlsiREVGQVVMVF9HVUlERVMiLCJ0eXBlIiwiZmVhdHVyZXMiLCJERUZBVUxUX1RPT0xUSVBTIiwiR2VvSnNvbkVkaXRNb2RlIiwicHJvcHMiLCJzZWxlY3RlZEluZGV4ZXMiLCJsZW5ndGgiLCJkYXRhIiwiZmVhdHVyZSIsImdldFNlbGVjdGVkRmVhdHVyZSIsImdlb21ldHJ5Iiwic2VsZWN0ZWRGZWF0dXJlcyIsIm1hcCIsInNlbGVjdGVkSW5kZXgiLCJfY2xpY2tTZXF1ZW5jZSIsIm1hcENvb3JkcyIsInB1c2giLCJndWlkZXMiLCJnZXRHdWlkZXMiLCJmaW5kIiwiZiIsInByb3BlcnRpZXMiLCJndWlkZVR5cGUiLCJwaWNrcyIsInBpY2tlZEZlYXR1cmVzIiwiaW5kZXgiLCJwaWNrZWRIYW5kbGVzIiwiZmVhdHVyZUluZGV4IiwicGlja2VkSW5kZXhlcyIsIlNldCIsInNvbWUiLCJoYXMiLCJpc1BvbHlnb25hbCIsImZlYXR1cmVPckdlb21ldHJ5IiwiZmVhdHVyZU9yR2VvbWV0cnlBc0FueSIsInJld2luZEZlYXR1cmUiLCJyZXdpbmRQb2x5Z29uIiwidXBkYXRlZERhdGEiLCJJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiIsImFkZEZlYXR1cmUiLCJnZXRPYmplY3QiLCJlZGl0VHlwZSIsImVkaXRDb250ZXh0IiwiZmVhdHVyZUluZGV4ZXMiLCJmZWF0dXJlc1RvQWRkIiwiaW5pdGlhbEluZGV4IiwidXBkYXRlZEluZGV4ZXMiLCJnZW9tZXRyeUFzQW55Iiwic2VsZWN0ZWRGZWF0dXJlIiwibW9kZUNvbmZpZyIsImJvb2xlYW5PcGVyYXRpb24iLCJjb25zb2xlIiwid2FybiIsInVwZGF0ZWRHZW9tZXRyeSIsInJlcGxhY2VHZW9tZXRyeSIsImVkaXRBY3Rpb24iLCJnZXRBZGRGZWF0dXJlQWN0aW9uIiwiZXZlbnQiLCJrZXkiLCJyZXNldENsaWNrU2VxdWVuY2UiLCJvbkVkaXQiLCJnZXRJbnRlcm1lZGlhdGVQb3NpdGlvbiIsInBvc2l0aW9uMSIsInBvc2l0aW9uMiIsImludGVybWVkaWF0ZVBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQWdCQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxJQUFNQSxjQUFzQyxHQUFHO0FBQzdDQyxFQUFBQSxJQUFJLEVBQUUsbUJBRHVDO0FBRTdDQyxFQUFBQSxRQUFRLEVBQUU7QUFGbUMsQ0FBL0M7QUFJQSxJQUFNQyxnQkFBMkIsR0FBRyxFQUFwQyxDLENBRUE7O0lBR2FDLGU7Ozs7NENBQ2tCLEU7Ozs7OzhCQUVuQkMsSyxFQUE2RDtBQUNyRSxhQUFPTCxjQUFQO0FBQ0Q7OztnQ0FFV0ssSyxFQUFnRDtBQUMxRCxhQUFPRixnQkFBUDtBQUNEOzs7dUNBRWtCRSxLLEVBQWlFO0FBQ2xGLFVBQUlBLEtBQUssQ0FBQ0MsZUFBTixDQUFzQkMsTUFBdEIsS0FBaUMsQ0FBckMsRUFBd0M7QUFDdEMsZUFBT0YsS0FBSyxDQUFDRyxJQUFOLENBQVdOLFFBQVgsQ0FBb0JHLEtBQUssQ0FBQ0MsZUFBTixDQUFzQixDQUF0QixDQUFwQixDQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozt3Q0FFbUJELEssRUFBa0U7QUFDcEYsVUFBTUksT0FBTyxHQUFHLEtBQUtDLGtCQUFMLENBQXdCTCxLQUF4QixDQUFoQjs7QUFDQSxVQUFJSSxPQUFKLEVBQWE7QUFDWCxlQUFPQSxPQUFPLENBQUNFLFFBQWY7QUFDRDs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OzJEQUVzQ04sSyxFQUF3RDtBQUFBLFVBQ3JGSCxRQURxRixHQUN4RUcsS0FBSyxDQUFDRyxJQURrRSxDQUNyRk4sUUFEcUY7QUFFN0YsVUFBTVUsZ0JBQWdCLEdBQUdQLEtBQUssQ0FBQ0MsZUFBTixDQUFzQk8sR0FBdEIsQ0FBMEIsVUFBQ0MsYUFBRDtBQUFBLGVBQW1CWixRQUFRLENBQUNZLGFBQUQsQ0FBM0I7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U0FBU21CLHVCQUFULENBQWlDQyxTQUFqQyxFQUFzREMsU0FBdEQsRUFBcUY7QUFDMUYsTUFBTUMsb0JBQW9CLEdBQUcsQ0FDM0IsQ0FBQ0YsU0FBUyxDQUFDLENBQUQsQ0FBVCxHQUFlQyxTQUFTLENBQUMsQ0FBRCxDQUF6QixJQUFnQyxHQURMLEVBRTNCLENBQUNELFNBQVMsQ0FBQyxDQUFELENBQVQsR0FBZUMsU0FBUyxDQUFDLENBQUQsQ0FBekIsSUFBZ0MsR0FGTCxDQUE3QixDQUQwRixDQUsxRjs7QUFDQSxTQUFPQyxvQkFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR1cmZVbmlvbiBmcm9tICdAdHVyZi91bmlvbic7XG5pbXBvcnQgdHVyZkRpZmZlcmVuY2UgZnJvbSAnQHR1cmYvZGlmZmVyZW5jZSc7XG5pbXBvcnQgdHVyZkludGVyc2VjdCBmcm9tICdAdHVyZi9pbnRlcnNlY3QnO1xuaW1wb3J0IHJld2luZCBmcm9tICdAdHVyZi9yZXdpbmQnO1xuXG5pbXBvcnQge1xuICBFZGl0QWN0aW9uLFxuICBDbGlja0V2ZW50LFxuICBQb2ludGVyTW92ZUV2ZW50LFxuICBTdGFydERyYWdnaW5nRXZlbnQsXG4gIFN0b3BEcmFnZ2luZ0V2ZW50LFxuICBEcmFnZ2luZ0V2ZW50LFxuICBQaWNrLFxuICBUb29sdGlwLFxuICBNb2RlUHJvcHMsXG4gIEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24sXG4gIFRlbnRhdGl2ZUZlYXR1cmUsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlLCBQb2x5Z29uLCBHZW9tZXRyeSwgUG9zaXRpb24gfSBmcm9tICcuLi9nZW9qc29uLXR5cGVzJztcbmltcG9ydCB7IGdldFBpY2tlZEVkaXRIYW5kbGVzLCBnZXROb25HdWlkZVBpY2tzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRWRpdE1vZGUgfSBmcm9tICcuL2VkaXQtbW9kZSc7XG5pbXBvcnQgeyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gJy4vaW1tdXRhYmxlLWZlYXR1cmUtY29sbGVjdGlvbic7XG5cbmV4cG9ydCB0eXBlIEdlb0pzb25FZGl0QWN0aW9uID0gRWRpdEFjdGlvbjxGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmNvbnN0IERFRkFVTFRfR1VJREVTOiBHdWlkZUZlYXR1cmVDb2xsZWN0aW9uID0ge1xuICB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICBmZWF0dXJlczogW10sXG59O1xuY29uc3QgREVGQVVMVF9UT09MVElQUzogVG9vbHRpcFtdID0gW107XG5cbi8vIE1haW4gaW50ZXJmYWNlIGZvciBgRWRpdE1vZGVgcyB0aGF0IGVkaXQgR2VvSlNPTlxuZXhwb3J0IHR5cGUgR2VvSnNvbkVkaXRNb2RlVHlwZSA9IEVkaXRNb2RlPEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmV4cG9ydCBjbGFzcyBHZW9Kc29uRWRpdE1vZGUgaW1wbGVtZW50cyBFZGl0TW9kZTxGZWF0dXJlQ29sbGVjdGlvbiwgR3VpZGVGZWF0dXJlQ29sbGVjdGlvbj4ge1xuICBfY2xpY2tTZXF1ZW5jZTogUG9zaXRpb25bXSA9IFtdO1xuXG4gIGdldEd1aWRlcyhwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBERUZBVUxUX0dVSURFUztcbiAgfVxuXG4gIGdldFRvb2x0aXBzKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVG9vbHRpcFtdIHtcbiAgICByZXR1cm4gREVGQVVMVF9UT09MVElQUztcbiAgfVxuXG4gIGdldFNlbGVjdGVkRmVhdHVyZShwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMuc2VsZWN0ZWRJbmRleGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHByb3BzLmRhdGEuZmVhdHVyZXNbcHJvcHMuc2VsZWN0ZWRJbmRleGVzWzBdXTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEdlb21ldHJ5KHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogR2VvbWV0cnkgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5nZXRTZWxlY3RlZEZlYXR1cmUocHJvcHMpO1xuICAgIGlmIChmZWF0dXJlKSB7XG4gICAgICByZXR1cm4gZmVhdHVyZS5nZW9tZXRyeTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEZlYXR1cmVzQXNGZWF0dXJlQ29sbGVjdGlvbihwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmVDb2xsZWN0aW9uIHtcbiAgICBjb25zdCB7IGZlYXR1cmVzIH0gPSBwcm9wcy5kYXRhO1xuICAgIGNvbnN0IHNlbGVjdGVkRmVhdHVyZXMgPSBwcm9wcy5zZWxlY3RlZEluZGV4ZXMubWFwKChzZWxlY3RlZEluZGV4KSA9PiBmZWF0dXJlc1tzZWxlY3RlZEluZGV4XSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdGZWF0dXJlQ29sbGVjdGlvbicsXG4gICAgICBmZWF0dXJlczogc2VsZWN0ZWRGZWF0dXJlcyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q2xpY2tTZXF1ZW5jZSgpOiBQb3NpdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpY2tTZXF1ZW5jZTtcbiAgfVxuXG4gIGFkZENsaWNrU2VxdWVuY2UoeyBtYXBDb29yZHMgfTogQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UucHVzaChtYXBDb29yZHMpO1xuICB9XG5cbiAgcmVzZXRDbGlja1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UgPSBbXTtcbiAgfVxuXG4gIGdldFRlbnRhdGl2ZUd1aWRlKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVGVudGF0aXZlRmVhdHVyZSB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGd1aWRlcyA9IHRoaXMuZ2V0R3VpZGVzKHByb3BzKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZ3VpZGVzLmZlYXR1cmVzLmZpbmQoKGYpID0+IGYucHJvcGVydGllcyAmJiBmLnByb3BlcnRpZXMuZ3VpZGVUeXBlID09PSAndGVudGF0aXZlJyk7XG4gIH1cblxuICBpc1NlbGVjdGlvblBpY2tlZChwaWNrczogUGlja1tdLCBwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IGJvb2xlYW4ge1xuICAgIGlmICghcGlja3MubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcGlja2VkRmVhdHVyZXMgPSBnZXROb25HdWlkZVBpY2tzKHBpY2tzKS5tYXAoKHsgaW5kZXggfSkgPT4gaW5kZXgpO1xuICAgIGNvbnN0IHBpY2tlZEhhbmRsZXMgPSBnZXRQaWNrZWRFZGl0SGFuZGxlcyhwaWNrcykubWFwKFxuICAgICAgKHsgcHJvcGVydGllcyB9KSA9PiBwcm9wZXJ0aWVzLmZlYXR1cmVJbmRleFxuICAgICk7XG4gICAgY29uc3QgcGlja2VkSW5kZXhlcyA9IG5ldyBTZXQoWy4uLnBpY2tlZEZlYXR1cmVzLCAuLi5waWNrZWRIYW5kbGVzXSk7XG4gICAgcmV0dXJuIHByb3BzLnNlbGVjdGVkSW5kZXhlcy5zb21lKChpbmRleCkgPT4gcGlja2VkSW5kZXhlcy5oYXMoaW5kZXgpKTtcbiAgfVxuXG4gIHJld2luZFBvbHlnb24oZmVhdHVyZTogRmVhdHVyZSk6IEZlYXR1cmUge1xuICAgIGNvbnN0IHsgZ2VvbWV0cnkgfSA9IGZlYXR1cmU7XG5cbiAgICBjb25zdCBpc1BvbHlnb25hbCA9IGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJyB8fCBnZW9tZXRyeS50eXBlID09PSAnTXVsdGlQb2x5Z29uJztcbiAgICBpZiAoaXNQb2x5Z29uYWwpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiByZXdpbmQoZmVhdHVyZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZlYXR1cmU7XG4gIH1cblxuICBnZXRBZGRGZWF0dXJlQWN0aW9uKFxuICAgIGZlYXR1cmVPckdlb21ldHJ5OiBHZW9tZXRyeSB8IEZlYXR1cmUsXG4gICAgZmVhdHVyZXM6IEZlYXR1cmVDb2xsZWN0aW9uXG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHtcbiAgICAvLyBVbnN1cmUgd2h5IGZsb3cgY2FuJ3QgZGVhbCB3aXRoIEdlb21ldHJ5IHR5cGUsIGJ1dCB0aGVyZSBJIGZpeGVkIGl0XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBmZWF0dXJlOiBhbnkgPVxuICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgPyBmZWF0dXJlT3JHZW9tZXRyeUFzQW55XG4gICAgICAgIDoge1xuICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICB9O1xuXG4gICAgY29uc3QgcmV3aW5kRmVhdHVyZSA9IHRoaXMucmV3aW5kUG9seWdvbihmZWF0dXJlKTtcbiAgICBjb25zdCB1cGRhdGVkRGF0YSA9IG5ldyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbihmZWF0dXJlcylcbiAgICAgIC5hZGRGZWF0dXJlKHJld2luZEZlYXR1cmUpXG4gICAgICAuZ2V0T2JqZWN0KCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdXBkYXRlZERhdGEsXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFt1cGRhdGVkRGF0YS5mZWF0dXJlcy5sZW5ndGggLSAxXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldEFkZE1hbnlGZWF0dXJlc0FjdGlvbihcbiAgICB7IGZlYXR1cmVzOiBmZWF0dXJlc1RvQWRkIH06IEZlYXR1cmVDb2xsZWN0aW9uLFxuICAgIGZlYXR1cmVzOiBGZWF0dXJlQ29sbGVjdGlvblxuICApOiBHZW9Kc29uRWRpdEFjdGlvbiB7XG4gICAgbGV0IHVwZGF0ZWREYXRhID0gbmV3IEltbXV0YWJsZUZlYXR1cmVDb2xsZWN0aW9uKGZlYXR1cmVzKTtcbiAgICBjb25zdCBpbml0aWFsSW5kZXggPSB1cGRhdGVkRGF0YS5nZXRPYmplY3QoKS5mZWF0dXJlcy5sZW5ndGg7XG4gICAgY29uc3QgdXBkYXRlZEluZGV4ZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgZmVhdHVyZXNUb0FkZCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcbiAgICAgIGNvbnN0IGdlb21ldHJ5QXNBbnk6IGFueSA9IGdlb21ldHJ5O1xuICAgICAgdXBkYXRlZERhdGEgPSB1cGRhdGVkRGF0YS5hZGRGZWF0dXJlKHtcbiAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBnZW9tZXRyeTogZ2VvbWV0cnlBc0FueSxcbiAgICAgIH0pO1xuICAgICAgdXBkYXRlZEluZGV4ZXMucHVzaChpbml0aWFsSW5kZXggKyB1cGRhdGVkSW5kZXhlcy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cGRhdGVkRGF0YTogdXBkYXRlZERhdGEuZ2V0T2JqZWN0KCksXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IHVwZGF0ZWRJbmRleGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0QWRkRmVhdHVyZU9yQm9vbGVhblBvbHlnb25BY3Rpb24oXG4gICAgZmVhdHVyZU9yR2VvbWV0cnk6IFBvbHlnb24gfCBGZWF0dXJlLFxuICAgIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+XG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBzZWxlY3RlZEZlYXR1cmUgPSB0aGlzLmdldFNlbGVjdGVkRmVhdHVyZShwcm9wcyk7XG4gICAgY29uc3QgeyBtb2RlQ29uZmlnIH0gPSBwcm9wcztcbiAgICBpZiAobW9kZUNvbmZpZyAmJiBtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24pIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXNlbGVjdGVkRmVhdHVyZSB8fFxuICAgICAgICAoc2VsZWN0ZWRGZWF0dXJlLmdlb21ldHJ5LnR5cGUgIT09ICdQb2x5Z29uJyAmJlxuICAgICAgICAgIHNlbGVjdGVkRmVhdHVyZS5nZW9tZXRyeS50eXBlICE9PSAnTXVsdGlQb2x5Z29uJylcbiAgICAgICkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2Jvb2xlYW5PcGVyYXRpb24gb25seSBzdXBwb3J0ZWQgZm9yIHNpbmdsZSBQb2x5Z29uIG9yIE11bHRpUG9seWdvbiBzZWxlY3Rpb24nXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmZWF0dXJlID1cbiAgICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgICA/IGZlYXR1cmVPckdlb21ldHJ5QXNBbnlcbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgIGxldCB1cGRhdGVkR2VvbWV0cnk7XG4gICAgICBpZiAobW9kZUNvbmZpZy5ib29sZWFuT3BlcmF0aW9uID09PSAndW5pb24nKSB7XG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZVbmlvbihzZWxlY3RlZEZlYXR1cmUsIGZlYXR1cmUpO1xuICAgICAgfSBlbHNlIGlmIChtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJykge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZEaWZmZXJlbmNlKHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2UgaWYgKG1vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbiA9PT0gJ2ludGVyc2VjdGlvbicpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB1cGRhdGVkR2VvbWV0cnkgPSB0dXJmSW50ZXJzZWN0KHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYm9vbGVhbk9wZXJhdGlvbiAke21vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbn1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICghdXBkYXRlZEdlb21ldHJ5KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlLG5vLXVuZGVmXG4gICAgICAgIGNvbnNvbGUud2FybignQ2FuY2VsaW5nIGVkaXQuIEJvb2xlYW4gb3BlcmF0aW9uIGVyYXNlZCBlbnRpcmUgcG9seWdvbi4nKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZlYXR1cmVJbmRleCA9IHByb3BzLnNlbGVjdGVkSW5kZXhlc1swXTtcblxuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBuZXcgSW1tdXRhYmxlRmVhdHVyZUNvbGxlY3Rpb24ocHJvcHMuZGF0YSlcbiAgICAgICAgLnJlcGxhY2VHZW9tZXRyeShmZWF0dXJlSW5kZXgsIHVwZGF0ZWRHZW9tZXRyeS5nZW9tZXRyeSlcbiAgICAgICAgLmdldE9iamVjdCgpO1xuXG4gICAgICBjb25zdCBlZGl0QWN0aW9uOiBHZW9Kc29uRWRpdEFjdGlvbiA9IHtcbiAgICAgICAgdXBkYXRlZERhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAndW5pb25HZW9tZXRyeScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7XG4gICAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFtmZWF0dXJlSW5kZXhdLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGVkaXRBY3Rpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEFkZEZlYXR1cmVBY3Rpb24oZmVhdHVyZU9yR2VvbWV0cnksIHByb3BzLmRhdGEpO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IENsaWNrRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVQb2ludGVyTW92ZShldmVudDogUG9pbnRlck1vdmVFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0YXJ0RHJhZ2dpbmcoZXZlbnQ6IFN0YXJ0RHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0b3BEcmFnZ2luZyhldmVudDogU3RvcERyYWdnaW5nRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVEcmFnZ2luZyhldmVudDogRHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG5cbiAgaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMucmVzZXRDbGlja1NlcXVlbmNlKCk7XG4gICAgICBwcm9wcy5vbkVkaXQoe1xuICAgICAgICAvLyBCZWNhdXNlIHRoZSBuZXcgZHJhd2luZyBmZWF0dXJlIGlzIGRyb3BwZWQsIHNvIHRoZSBkYXRhIHdpbGwga2VlcCBhcyB0aGUgc2FtZS5cbiAgICAgICAgdXBkYXRlZERhdGE6IHByb3BzLmRhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAnY2FuY2VsRmVhdHVyZScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7fSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJtZWRpYXRlUG9zaXRpb24ocG9zaXRpb24xOiBQb3NpdGlvbiwgcG9zaXRpb24yOiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgY29uc3QgaW50ZXJtZWRpYXRlUG9zaXRpb24gPSBbXG4gICAgKHBvc2l0aW9uMVswXSArIHBvc2l0aW9uMlswXSkgLyAyLjAsXG4gICAgKHBvc2l0aW9uMVsxXSArIHBvc2l0aW9uMlsxXSkgLyAyLjAsXG4gIF07XG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGludGVybWVkaWF0ZVBvc2l0aW9uO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZ2VvanNvbi1lZGl0LW1vZGUudHMiXSwibmFtZXMiOlsiREVGQVVMVF9HVUlERVMiLCJ0eXBlIiwiZmVhdHVyZXMiLCJERUZBVUxUX1RPT0xUSVBTIiwiR2VvSnNvbkVkaXRNb2RlIiwicHJvcHMiLCJzZWxlY3RlZEluZGV4ZXMiLCJsZW5ndGgiLCJkYXRhIiwiZmVhdHVyZSIsImdldFNlbGVjdGVkRmVhdHVyZSIsImdlb21ldHJ5Iiwic2VsZWN0ZWRGZWF0dXJlcyIsIm1hcCIsInNlbGVjdGVkSW5kZXgiLCJfY2xpY2tTZXF1ZW5jZSIsIm1hcENvb3JkcyIsInB1c2giLCJndWlkZXMiLCJnZXRHdWlkZXMiLCJmaW5kIiwiZiIsInByb3BlcnRpZXMiLCJndWlkZVR5cGUiLCJwaWNrcyIsInBpY2tlZEZlYXR1cmVzIiwiaW5kZXgiLCJwaWNrZWRIYW5kbGVzIiwiZmVhdHVyZUluZGV4IiwicGlja2VkSW5kZXhlcyIsIlNldCIsInNvbWUiLCJoYXMiLCJpc1BvbHlnb25hbCIsImZlYXR1cmVPckdlb21ldHJ5IiwiZmVhdHVyZU9yR2VvbWV0cnlBc0FueSIsInJld2luZEZlYXR1cmUiLCJyZXdpbmRQb2x5Z29uIiwidXBkYXRlZERhdGEiLCJJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiIsImFkZEZlYXR1cmUiLCJnZXRPYmplY3QiLCJlZGl0VHlwZSIsImVkaXRDb250ZXh0IiwiZmVhdHVyZUluZGV4ZXMiLCJmZWF0dXJlc1RvQWRkIiwiaW5pdGlhbEluZGV4IiwidXBkYXRlZEluZGV4ZXMiLCJnZW9tZXRyeUFzQW55Iiwic2VsZWN0ZWRGZWF0dXJlIiwibW9kZUNvbmZpZyIsImJvb2xlYW5PcGVyYXRpb24iLCJjb25zb2xlIiwid2FybiIsInVwZGF0ZWRHZW9tZXRyeSIsInJlcGxhY2VHZW9tZXRyeSIsImVkaXRBY3Rpb24iLCJnZXRBZGRGZWF0dXJlQWN0aW9uIiwiZXZlbnQiLCJrZXkiLCJyZXNldENsaWNrU2VxdWVuY2UiLCJvbkVkaXQiLCJnZXRJbnRlcm1lZGlhdGVQb3NpdGlvbiIsInBvc2l0aW9uMSIsInBvc2l0aW9uMiIsImludGVybWVkaWF0ZVBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQWdCQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxJQUFNQSxjQUFzQyxHQUFHO0FBQzdDQyxFQUFBQSxJQUFJLEVBQUUsbUJBRHVDO0FBRTdDQyxFQUFBQSxRQUFRLEVBQUU7QUFGbUMsQ0FBL0M7QUFJQSxJQUFNQyxnQkFBMkIsR0FBRyxFQUFwQyxDLENBRUE7O0lBT2FDLGU7Ozs7NENBQ2tCLEU7Ozs7OzhCQUVuQkMsSyxFQUE2RDtBQUNyRSxhQUFPTCxjQUFQO0FBQ0Q7OztnQ0FFV0ssSyxFQUFnRDtBQUMxRCxhQUFPRixnQkFBUDtBQUNEOzs7dUNBRWtCRSxLLEVBQWlFO0FBQ2xGLFVBQUlBLEtBQUssQ0FBQ0MsZUFBTixDQUFzQkMsTUFBdEIsS0FBaUMsQ0FBckMsRUFBd0M7QUFDdEMsZUFBT0YsS0FBSyxDQUFDRyxJQUFOLENBQVdOLFFBQVgsQ0FBb0JHLEtBQUssQ0FBQ0MsZUFBTixDQUFzQixDQUF0QixDQUFwQixDQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozt3Q0FFbUJELEssRUFBa0U7QUFDcEYsVUFBTUksT0FBTyxHQUFHLEtBQUtDLGtCQUFMLENBQXdCTCxLQUF4QixDQUFoQjs7QUFDQSxVQUFJSSxPQUFKLEVBQWE7QUFDWCxlQUFPQSxPQUFPLENBQUNFLFFBQWY7QUFDRDs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OzJEQUVzQ04sSyxFQUF3RDtBQUFBLFVBQ3JGSCxRQURxRixHQUN4RUcsS0FBSyxDQUFDRyxJQURrRSxDQUNyRk4sUUFEcUY7QUFFN0YsVUFBTVUsZ0JBQWdCLEdBQUdQLEtBQUssQ0FBQ0MsZUFBTixDQUFzQk8sR0FBdEIsQ0FBMEIsVUFBQ0MsYUFBRDtBQUFBLGVBQW1CWixRQUFRLENBQUNZLGFBQUQsQ0FBM0I7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U0FBU21CLHVCQUFULENBQWlDQyxTQUFqQyxFQUFzREMsU0FBdEQsRUFBcUY7QUFDMUYsTUFBTUMsb0JBQW9CLEdBQUcsQ0FDM0IsQ0FBQ0YsU0FBUyxDQUFDLENBQUQsQ0FBVCxHQUFlQyxTQUFTLENBQUMsQ0FBRCxDQUF6QixJQUFnQyxHQURMLEVBRTNCLENBQUNELFNBQVMsQ0FBQyxDQUFELENBQVQsR0FBZUMsU0FBUyxDQUFDLENBQUQsQ0FBekIsSUFBZ0MsR0FGTCxDQUE3QixDQUQwRixDQUsxRjs7QUFDQSxTQUFPQyxvQkFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR1cmZVbmlvbiBmcm9tICdAdHVyZi91bmlvbic7XG5pbXBvcnQgdHVyZkRpZmZlcmVuY2UgZnJvbSAnQHR1cmYvZGlmZmVyZW5jZSc7XG5pbXBvcnQgdHVyZkludGVyc2VjdCBmcm9tICdAdHVyZi9pbnRlcnNlY3QnO1xuaW1wb3J0IHJld2luZCBmcm9tICdAdHVyZi9yZXdpbmQnO1xuXG5pbXBvcnQge1xuICBFZGl0QWN0aW9uLFxuICBDbGlja0V2ZW50LFxuICBQb2ludGVyTW92ZUV2ZW50LFxuICBTdGFydERyYWdnaW5nRXZlbnQsXG4gIFN0b3BEcmFnZ2luZ0V2ZW50LFxuICBEcmFnZ2luZ0V2ZW50LFxuICBQaWNrLFxuICBUb29sdGlwLFxuICBNb2RlUHJvcHMsXG4gIEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24sXG4gIFRlbnRhdGl2ZUZlYXR1cmUsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlLCBQb2x5Z29uLCBHZW9tZXRyeSwgUG9zaXRpb24gfSBmcm9tICcuLi9nZW9qc29uLXR5cGVzJztcbmltcG9ydCB7IGdldFBpY2tlZEVkaXRIYW5kbGVzLCBnZXROb25HdWlkZVBpY2tzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRWRpdE1vZGUgfSBmcm9tICcuL2VkaXQtbW9kZSc7XG5pbXBvcnQgeyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gJy4vaW1tdXRhYmxlLWZlYXR1cmUtY29sbGVjdGlvbic7XG5cbmV4cG9ydCB0eXBlIEdlb0pzb25FZGl0QWN0aW9uID0gRWRpdEFjdGlvbjxGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmNvbnN0IERFRkFVTFRfR1VJREVTOiBHdWlkZUZlYXR1cmVDb2xsZWN0aW9uID0ge1xuICB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICBmZWF0dXJlczogW10sXG59O1xuY29uc3QgREVGQVVMVF9UT09MVElQUzogVG9vbHRpcFtdID0gW107XG5cbi8vIE1haW4gaW50ZXJmYWNlIGZvciBgRWRpdE1vZGVgcyB0aGF0IGVkaXQgR2VvSlNPTlxuZXhwb3J0IHR5cGUgR2VvSnNvbkVkaXRNb2RlVHlwZSA9IEVkaXRNb2RlPEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvSnNvbkVkaXRNb2RlQ29uc3RydWN0b3Ige1xuICBuZXcgKCk6IEdlb0pzb25FZGl0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBjbGFzcyBHZW9Kc29uRWRpdE1vZGUgaW1wbGVtZW50cyBFZGl0TW9kZTxGZWF0dXJlQ29sbGVjdGlvbiwgR3VpZGVGZWF0dXJlQ29sbGVjdGlvbj4ge1xuICBfY2xpY2tTZXF1ZW5jZTogUG9zaXRpb25bXSA9IFtdO1xuXG4gIGdldEd1aWRlcyhwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBERUZBVUxUX0dVSURFUztcbiAgfVxuXG4gIGdldFRvb2x0aXBzKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVG9vbHRpcFtdIHtcbiAgICByZXR1cm4gREVGQVVMVF9UT09MVElQUztcbiAgfVxuXG4gIGdldFNlbGVjdGVkRmVhdHVyZShwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMuc2VsZWN0ZWRJbmRleGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHByb3BzLmRhdGEuZmVhdHVyZXNbcHJvcHMuc2VsZWN0ZWRJbmRleGVzWzBdXTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEdlb21ldHJ5KHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogR2VvbWV0cnkgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5nZXRTZWxlY3RlZEZlYXR1cmUocHJvcHMpO1xuICAgIGlmIChmZWF0dXJlKSB7XG4gICAgICByZXR1cm4gZmVhdHVyZS5nZW9tZXRyeTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEZlYXR1cmVzQXNGZWF0dXJlQ29sbGVjdGlvbihwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmVDb2xsZWN0aW9uIHtcbiAgICBjb25zdCB7IGZlYXR1cmVzIH0gPSBwcm9wcy5kYXRhO1xuICAgIGNvbnN0IHNlbGVjdGVkRmVhdHVyZXMgPSBwcm9wcy5zZWxlY3RlZEluZGV4ZXMubWFwKChzZWxlY3RlZEluZGV4KSA9PiBmZWF0dXJlc1tzZWxlY3RlZEluZGV4XSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdGZWF0dXJlQ29sbGVjdGlvbicsXG4gICAgICBmZWF0dXJlczogc2VsZWN0ZWRGZWF0dXJlcyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q2xpY2tTZXF1ZW5jZSgpOiBQb3NpdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpY2tTZXF1ZW5jZTtcbiAgfVxuXG4gIGFkZENsaWNrU2VxdWVuY2UoeyBtYXBDb29yZHMgfTogQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UucHVzaChtYXBDb29yZHMpO1xuICB9XG5cbiAgcmVzZXRDbGlja1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UgPSBbXTtcbiAgfVxuXG4gIGdldFRlbnRhdGl2ZUd1aWRlKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVGVudGF0aXZlRmVhdHVyZSB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGd1aWRlcyA9IHRoaXMuZ2V0R3VpZGVzKHByb3BzKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZ3VpZGVzLmZlYXR1cmVzLmZpbmQoKGYpID0+IGYucHJvcGVydGllcyAmJiBmLnByb3BlcnRpZXMuZ3VpZGVUeXBlID09PSAndGVudGF0aXZlJyk7XG4gIH1cblxuICBpc1NlbGVjdGlvblBpY2tlZChwaWNrczogUGlja1tdLCBwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IGJvb2xlYW4ge1xuICAgIGlmICghcGlja3MubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcGlja2VkRmVhdHVyZXMgPSBnZXROb25HdWlkZVBpY2tzKHBpY2tzKS5tYXAoKHsgaW5kZXggfSkgPT4gaW5kZXgpO1xuICAgIGNvbnN0IHBpY2tlZEhhbmRsZXMgPSBnZXRQaWNrZWRFZGl0SGFuZGxlcyhwaWNrcykubWFwKFxuICAgICAgKHsgcHJvcGVydGllcyB9KSA9PiBwcm9wZXJ0aWVzLmZlYXR1cmVJbmRleFxuICAgICk7XG4gICAgY29uc3QgcGlja2VkSW5kZXhlcyA9IG5ldyBTZXQoWy4uLnBpY2tlZEZlYXR1cmVzLCAuLi5waWNrZWRIYW5kbGVzXSk7XG4gICAgcmV0dXJuIHByb3BzLnNlbGVjdGVkSW5kZXhlcy5zb21lKChpbmRleCkgPT4gcGlja2VkSW5kZXhlcy5oYXMoaW5kZXgpKTtcbiAgfVxuXG4gIHJld2luZFBvbHlnb24oZmVhdHVyZTogRmVhdHVyZSk6IEZlYXR1cmUge1xuICAgIGNvbnN0IHsgZ2VvbWV0cnkgfSA9IGZlYXR1cmU7XG5cbiAgICBjb25zdCBpc1BvbHlnb25hbCA9IGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJyB8fCBnZW9tZXRyeS50eXBlID09PSAnTXVsdGlQb2x5Z29uJztcbiAgICBpZiAoaXNQb2x5Z29uYWwpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiByZXdpbmQoZmVhdHVyZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZlYXR1cmU7XG4gIH1cblxuICBnZXRBZGRGZWF0dXJlQWN0aW9uKFxuICAgIGZlYXR1cmVPckdlb21ldHJ5OiBHZW9tZXRyeSB8IEZlYXR1cmUsXG4gICAgZmVhdHVyZXM6IEZlYXR1cmVDb2xsZWN0aW9uXG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHtcbiAgICAvLyBVbnN1cmUgd2h5IGZsb3cgY2FuJ3QgZGVhbCB3aXRoIEdlb21ldHJ5IHR5cGUsIGJ1dCB0aGVyZSBJIGZpeGVkIGl0XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBmZWF0dXJlOiBhbnkgPVxuICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgPyBmZWF0dXJlT3JHZW9tZXRyeUFzQW55XG4gICAgICAgIDoge1xuICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICB9O1xuXG4gICAgY29uc3QgcmV3aW5kRmVhdHVyZSA9IHRoaXMucmV3aW5kUG9seWdvbihmZWF0dXJlKTtcbiAgICBjb25zdCB1cGRhdGVkRGF0YSA9IG5ldyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbihmZWF0dXJlcylcbiAgICAgIC5hZGRGZWF0dXJlKHJld2luZEZlYXR1cmUpXG4gICAgICAuZ2V0T2JqZWN0KCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdXBkYXRlZERhdGEsXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFt1cGRhdGVkRGF0YS5mZWF0dXJlcy5sZW5ndGggLSAxXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldEFkZE1hbnlGZWF0dXJlc0FjdGlvbihcbiAgICB7IGZlYXR1cmVzOiBmZWF0dXJlc1RvQWRkIH06IEZlYXR1cmVDb2xsZWN0aW9uLFxuICAgIGZlYXR1cmVzOiBGZWF0dXJlQ29sbGVjdGlvblxuICApOiBHZW9Kc29uRWRpdEFjdGlvbiB7XG4gICAgbGV0IHVwZGF0ZWREYXRhID0gbmV3IEltbXV0YWJsZUZlYXR1cmVDb2xsZWN0aW9uKGZlYXR1cmVzKTtcbiAgICBjb25zdCBpbml0aWFsSW5kZXggPSB1cGRhdGVkRGF0YS5nZXRPYmplY3QoKS5mZWF0dXJlcy5sZW5ndGg7XG4gICAgY29uc3QgdXBkYXRlZEluZGV4ZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgZmVhdHVyZXNUb0FkZCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcbiAgICAgIGNvbnN0IGdlb21ldHJ5QXNBbnk6IGFueSA9IGdlb21ldHJ5O1xuICAgICAgdXBkYXRlZERhdGEgPSB1cGRhdGVkRGF0YS5hZGRGZWF0dXJlKHtcbiAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBnZW9tZXRyeTogZ2VvbWV0cnlBc0FueSxcbiAgICAgIH0pO1xuICAgICAgdXBkYXRlZEluZGV4ZXMucHVzaChpbml0aWFsSW5kZXggKyB1cGRhdGVkSW5kZXhlcy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cGRhdGVkRGF0YTogdXBkYXRlZERhdGEuZ2V0T2JqZWN0KCksXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IHVwZGF0ZWRJbmRleGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0QWRkRmVhdHVyZU9yQm9vbGVhblBvbHlnb25BY3Rpb24oXG4gICAgZmVhdHVyZU9yR2VvbWV0cnk6IFBvbHlnb24gfCBGZWF0dXJlLFxuICAgIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+XG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBzZWxlY3RlZEZlYXR1cmUgPSB0aGlzLmdldFNlbGVjdGVkRmVhdHVyZShwcm9wcyk7XG4gICAgY29uc3QgeyBtb2RlQ29uZmlnIH0gPSBwcm9wcztcbiAgICBpZiAobW9kZUNvbmZpZyAmJiBtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24pIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXNlbGVjdGVkRmVhdHVyZSB8fFxuICAgICAgICAoc2VsZWN0ZWRGZWF0dXJlLmdlb21ldHJ5LnR5cGUgIT09ICdQb2x5Z29uJyAmJlxuICAgICAgICAgIHNlbGVjdGVkRmVhdHVyZS5nZW9tZXRyeS50eXBlICE9PSAnTXVsdGlQb2x5Z29uJylcbiAgICAgICkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2Jvb2xlYW5PcGVyYXRpb24gb25seSBzdXBwb3J0ZWQgZm9yIHNpbmdsZSBQb2x5Z29uIG9yIE11bHRpUG9seWdvbiBzZWxlY3Rpb24nXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmZWF0dXJlID1cbiAgICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgICA/IGZlYXR1cmVPckdlb21ldHJ5QXNBbnlcbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgIGxldCB1cGRhdGVkR2VvbWV0cnk7XG4gICAgICBpZiAobW9kZUNvbmZpZy5ib29sZWFuT3BlcmF0aW9uID09PSAndW5pb24nKSB7XG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZVbmlvbihzZWxlY3RlZEZlYXR1cmUsIGZlYXR1cmUpO1xuICAgICAgfSBlbHNlIGlmIChtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJykge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZEaWZmZXJlbmNlKHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2UgaWYgKG1vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbiA9PT0gJ2ludGVyc2VjdGlvbicpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB1cGRhdGVkR2VvbWV0cnkgPSB0dXJmSW50ZXJzZWN0KHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYm9vbGVhbk9wZXJhdGlvbiAke21vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbn1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICghdXBkYXRlZEdlb21ldHJ5KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlLG5vLXVuZGVmXG4gICAgICAgIGNvbnNvbGUud2FybignQ2FuY2VsaW5nIGVkaXQuIEJvb2xlYW4gb3BlcmF0aW9uIGVyYXNlZCBlbnRpcmUgcG9seWdvbi4nKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZlYXR1cmVJbmRleCA9IHByb3BzLnNlbGVjdGVkSW5kZXhlc1swXTtcblxuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBuZXcgSW1tdXRhYmxlRmVhdHVyZUNvbGxlY3Rpb24ocHJvcHMuZGF0YSlcbiAgICAgICAgLnJlcGxhY2VHZW9tZXRyeShmZWF0dXJlSW5kZXgsIHVwZGF0ZWRHZW9tZXRyeS5nZW9tZXRyeSlcbiAgICAgICAgLmdldE9iamVjdCgpO1xuXG4gICAgICBjb25zdCBlZGl0QWN0aW9uOiBHZW9Kc29uRWRpdEFjdGlvbiA9IHtcbiAgICAgICAgdXBkYXRlZERhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAndW5pb25HZW9tZXRyeScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7XG4gICAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFtmZWF0dXJlSW5kZXhdLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGVkaXRBY3Rpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEFkZEZlYXR1cmVBY3Rpb24oZmVhdHVyZU9yR2VvbWV0cnksIHByb3BzLmRhdGEpO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IENsaWNrRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVQb2ludGVyTW92ZShldmVudDogUG9pbnRlck1vdmVFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0YXJ0RHJhZ2dpbmcoZXZlbnQ6IFN0YXJ0RHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0b3BEcmFnZ2luZyhldmVudDogU3RvcERyYWdnaW5nRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVEcmFnZ2luZyhldmVudDogRHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG5cbiAgaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMucmVzZXRDbGlja1NlcXVlbmNlKCk7XG4gICAgICBwcm9wcy5vbkVkaXQoe1xuICAgICAgICAvLyBCZWNhdXNlIHRoZSBuZXcgZHJhd2luZyBmZWF0dXJlIGlzIGRyb3BwZWQsIHNvIHRoZSBkYXRhIHdpbGwga2VlcCBhcyB0aGUgc2FtZS5cbiAgICAgICAgdXBkYXRlZERhdGE6IHByb3BzLmRhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAnY2FuY2VsRmVhdHVyZScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7fSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJtZWRpYXRlUG9zaXRpb24ocG9zaXRpb24xOiBQb3NpdGlvbiwgcG9zaXRpb24yOiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgY29uc3QgaW50ZXJtZWRpYXRlUG9zaXRpb24gPSBbXG4gICAgKHBvc2l0aW9uMVswXSArIHBvc2l0aW9uMlswXSkgLyAyLjAsXG4gICAgKHBvc2l0aW9uMVsxXSArIHBvc2l0aW9uMlsxXSkgLyAyLjAsXG4gIF07XG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGludGVybWVkaWF0ZVBvc2l0aW9uO1xufVxuIl19
export type { EditMode } from './lib/edit-mode';
export type { GeoJsonEditModeType } from './lib/geojson-edit-mode';
export type { GeoJsonEditModeConstructor } from './lib/geojson-edit-mode';
export { GeoJsonEditMode } from './lib/geojson-edit-mode';

@@ -35,2 +36,4 @@ export { ModifyMode } from './lib/modify-mode';

export type { Position, PointCoordinates, LineStringCoordinates, PolygonCoordinates, MultiPointCoordinates, MultiLineStringCoordinates, MultiPolygonCoordinates, AnyCoordinates, Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, Geometry, Polygonal, BoundingBoxArray, FeatureOf, FeatureWithProps, Feature, FeatureCollection, AnyGeoJson, } from './geojson-types';
import * as utils from './utils';
export { utils };
//# sourceMappingURL=index.d.ts.map

@@ -6,2 +6,5 @@ import { EditAction, ClickEvent, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, Pick, Tooltip, ModeProps, GuideFeatureCollection, TentativeFeature } from '../types';

export declare type GeoJsonEditModeType = EditMode<FeatureCollection, FeatureCollection>;
export interface GeoJsonEditModeConstructor {
new (): GeoJsonEditModeType;
}
export declare class GeoJsonEditMode implements EditMode<FeatureCollection, GuideFeatureCollection> {

@@ -8,0 +11,0 @@ _clickSequence: Position[];

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -186,2 +188,3 @@ value: true

});
exports.utils = void 0;

@@ -248,3 +251,11 @@ var _geojsonEditMode = require("./lib/geojson-edit-mode");

var utils = _interopRequireWildcard(require("./utils"));
exports.utils = utils;
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgRWRpdE1vZGUgfSBmcm9tICcuL2xpYi9lZGl0LW1vZGUnO1xuZXhwb3J0IHR5cGUgeyBHZW9Kc29uRWRpdE1vZGVUeXBlIH0gZnJvbSAnLi9saWIvZ2VvanNvbi1lZGl0LW1vZGUnO1xuXG5leHBvcnQgeyBHZW9Kc29uRWRpdE1vZGUgfSBmcm9tICcuL2xpYi9nZW9qc29uLWVkaXQtbW9kZSc7XG5cbi8vIEFsdGVyIG1vZGVzXG5leHBvcnQgeyBNb2RpZnlNb2RlIH0gZnJvbSAnLi9saWIvbW9kaWZ5LW1vZGUnO1xuZXhwb3J0IHsgVHJhbnNsYXRlTW9kZSB9IGZyb20gJy4vbGliL3RyYW5zbGF0ZS1tb2RlJztcbmV4cG9ydCB7IFNjYWxlTW9kZSB9IGZyb20gJy4vbGliL3NjYWxlLW1vZGUnO1xuZXhwb3J0IHsgUm90YXRlTW9kZSB9IGZyb20gJy4vbGliL3JvdGF0ZS1tb2RlJztcbmV4cG9ydCB7IER1cGxpY2F0ZU1vZGUgfSBmcm9tICcuL2xpYi9kdXBsaWNhdGUtbW9kZSc7XG5leHBvcnQgeyBFeHRlbmRMaW5lU3RyaW5nTW9kZSB9IGZyb20gJy4vbGliL2V4dGVuZC1saW5lLXN0cmluZy1tb2RlJztcbmV4cG9ydCB7IFNwbGl0UG9seWdvbk1vZGUgfSBmcm9tICcuL2xpYi9zcGxpdC1wb2x5Z29uLW1vZGUnO1xuZXhwb3J0IHsgRXh0cnVkZU1vZGUgfSBmcm9tICcuL2xpYi9leHRydWRlLW1vZGUnO1xuZXhwb3J0IHsgRWxldmF0aW9uTW9kZSB9IGZyb20gJy4vbGliL2VsZXZhdGlvbi1tb2RlJztcbmV4cG9ydCB7IFRyYW5zZm9ybU1vZGUgfSBmcm9tICcuL2xpYi90cmFuc2Zvcm0tbW9kZSc7XG5cbi8vIERyYXcgbW9kZXNcbmV4cG9ydCB7IERyYXdQb2ludE1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LXBvaW50LW1vZGUnO1xuZXhwb3J0IHsgRHJhd0xpbmVTdHJpbmdNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1saW5lLXN0cmluZy1tb2RlJztcbmV4cG9ydCB7IERyYXdQb2x5Z29uTW9kZSB9IGZyb20gJy4vbGliL2RyYXctcG9seWdvbi1tb2RlJztcbmV4cG9ydCB7IERyYXdSZWN0YW5nbGVNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1yZWN0YW5nbGUtbW9kZSc7XG5leHBvcnQgeyBEcmF3Q2lyY2xlQnlEaWFtZXRlck1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LWNpcmNsZS1ieS1kaWFtZXRlci1tb2RlJztcbmV4cG9ydCB7IERyYXdDaXJjbGVGcm9tQ2VudGVyTW9kZSB9IGZyb20gJy4vbGliL2RyYXctY2lyY2xlLWZyb20tY2VudGVyLW1vZGUnO1xuZXhwb3J0IHsgRHJhd0VsbGlwc2VCeUJvdW5kaW5nQm94TW9kZSB9IGZyb20gJy4vbGliL2RyYXctZWxsaXBzZS1ieS1ib3VuZGluZy1ib3gtbW9kZSc7XG5leHBvcnQgeyBEcmF3RWxsaXBzZVVzaW5nVGhyZWVQb2ludHNNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1lbGxpcHNlLXVzaW5nLXRocmVlLXBvaW50cy1tb2RlJztcbmV4cG9ydCB7IERyYXdSZWN0YW5nbGVVc2luZ1RocmVlUG9pbnRzTW9kZSB9IGZyb20gJy4vbGliL2RyYXctcmVjdGFuZ2xlLXVzaW5nLXRocmVlLXBvaW50cy1tb2RlJztcbmV4cG9ydCB7IERyYXc5MERlZ3JlZVBvbHlnb25Nb2RlIH0gZnJvbSAnLi9saWIvZHJhdy05MGRlZ3JlZS1wb2x5Z29uLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1BvbHlnb25CeURyYWdnaW5nTW9kZSB9IGZyb20gJy4vbGliL2RyYXctcG9seWdvbi1ieS1kcmFnZ2luZy1tb2RlJztcbmV4cG9ydCB7IEltbXV0YWJsZUZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnLi9saWIvaW1tdXRhYmxlLWZlYXR1cmUtY29sbGVjdGlvbic7XG5cbi8vIE90aGVyIG1vZGVzXG5leHBvcnQgeyBWaWV3TW9kZSB9IGZyb20gJy4vbGliL3ZpZXctbW9kZSc7XG5leHBvcnQgeyBNZWFzdXJlRGlzdGFuY2VNb2RlIH0gZnJvbSAnLi9saWIvbWVhc3VyZS1kaXN0YW5jZS1tb2RlJztcbmV4cG9ydCB7IE1lYXN1cmVBcmVhTW9kZSB9IGZyb20gJy4vbGliL21lYXN1cmUtYXJlYS1tb2RlJztcbmV4cG9ydCB7IE1lYXN1cmVBbmdsZU1vZGUgfSBmcm9tICcuL2xpYi9tZWFzdXJlLWFuZ2xlLW1vZGUnO1xuZXhwb3J0IHsgQ29tcG9zaXRlTW9kZSB9IGZyb20gJy4vbGliL2NvbXBvc2l0ZS1tb2RlJztcbmV4cG9ydCB7IFNuYXBwYWJsZU1vZGUgfSBmcm9tICcuL2xpYi9zbmFwcGFibGUtbW9kZSc7XG5cbi8vIEV4cGVyaW1lbnRhbFxuZXhwb3J0IHsgZGVmYXVsdCBhcyBfbWVtb2l6ZSB9IGZyb20gJy4vbWVtb2l6ZSc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgU2NyZWVuQ29vcmRpbmF0ZXMsXG4gIEVkaXRBY3Rpb24sXG4gIFBpY2ssXG4gIENsaWNrRXZlbnQsXG4gIFBvaW50ZXJNb3ZlRXZlbnQsXG4gIFN0YXJ0RHJhZ2dpbmdFdmVudCxcbiAgU3RvcERyYWdnaW5nRXZlbnQsXG4gIERyYWdnaW5nRXZlbnQsXG4gIE1vZGVQcm9wcyxcbiAgR3VpZGVGZWF0dXJlQ29sbGVjdGlvbixcbiAgVmlld3BvcnQsXG4gIFRvb2x0aXAsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSB7XG4gIFBvc2l0aW9uLFxuICBQb2ludENvb3JkaW5hdGVzLFxuICBMaW5lU3RyaW5nQ29vcmRpbmF0ZXMsXG4gIFBvbHlnb25Db29yZGluYXRlcyxcbiAgTXVsdGlQb2ludENvb3JkaW5hdGVzLFxuICBNdWx0aUxpbmVTdHJpbmdDb29yZGluYXRlcyxcbiAgTXVsdGlQb2x5Z29uQ29vcmRpbmF0ZXMsXG4gIEFueUNvb3JkaW5hdGVzLFxuICBQb2ludCxcbiAgTGluZVN0cmluZyxcbiAgUG9seWdvbixcbiAgTXVsdGlQb2ludCxcbiAgTXVsdGlMaW5lU3RyaW5nLFxuICBNdWx0aVBvbHlnb24sXG4gIEdlb21ldHJ5LFxuICBQb2x5Z29uYWwsXG4gIEJvdW5kaW5nQm94QXJyYXksXG4gIEZlYXR1cmVPZixcbiAgRmVhdHVyZVdpdGhQcm9wcyxcbiAgRmVhdHVyZSxcbiAgRmVhdHVyZUNvbGxlY3Rpb24sXG4gIEFueUdlb0pzb24sXG59IGZyb20gJy4vZ2VvanNvbi10eXBlcyc7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUEyQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7IEVkaXRNb2RlIH0gZnJvbSAnLi9saWIvZWRpdC1tb2RlJztcbmV4cG9ydCB0eXBlIHsgR2VvSnNvbkVkaXRNb2RlVHlwZSB9IGZyb20gJy4vbGliL2dlb2pzb24tZWRpdC1tb2RlJztcbmV4cG9ydCB0eXBlIHsgR2VvSnNvbkVkaXRNb2RlQ29uc3RydWN0b3IgfSBmcm9tICcuL2xpYi9nZW9qc29uLWVkaXQtbW9kZSc7XG5cbmV4cG9ydCB7IEdlb0pzb25FZGl0TW9kZSB9IGZyb20gJy4vbGliL2dlb2pzb24tZWRpdC1tb2RlJztcblxuLy8gQWx0ZXIgbW9kZXNcbmV4cG9ydCB7IE1vZGlmeU1vZGUgfSBmcm9tICcuL2xpYi9tb2RpZnktbW9kZSc7XG5leHBvcnQgeyBUcmFuc2xhdGVNb2RlIH0gZnJvbSAnLi9saWIvdHJhbnNsYXRlLW1vZGUnO1xuZXhwb3J0IHsgU2NhbGVNb2RlIH0gZnJvbSAnLi9saWIvc2NhbGUtbW9kZSc7XG5leHBvcnQgeyBSb3RhdGVNb2RlIH0gZnJvbSAnLi9saWIvcm90YXRlLW1vZGUnO1xuZXhwb3J0IHsgRHVwbGljYXRlTW9kZSB9IGZyb20gJy4vbGliL2R1cGxpY2F0ZS1tb2RlJztcbmV4cG9ydCB7IEV4dGVuZExpbmVTdHJpbmdNb2RlIH0gZnJvbSAnLi9saWIvZXh0ZW5kLWxpbmUtc3RyaW5nLW1vZGUnO1xuZXhwb3J0IHsgU3BsaXRQb2x5Z29uTW9kZSB9IGZyb20gJy4vbGliL3NwbGl0LXBvbHlnb24tbW9kZSc7XG5leHBvcnQgeyBFeHRydWRlTW9kZSB9IGZyb20gJy4vbGliL2V4dHJ1ZGUtbW9kZSc7XG5leHBvcnQgeyBFbGV2YXRpb25Nb2RlIH0gZnJvbSAnLi9saWIvZWxldmF0aW9uLW1vZGUnO1xuZXhwb3J0IHsgVHJhbnNmb3JtTW9kZSB9IGZyb20gJy4vbGliL3RyYW5zZm9ybS1tb2RlJztcblxuLy8gRHJhdyBtb2Rlc1xuZXhwb3J0IHsgRHJhd1BvaW50TW9kZSB9IGZyb20gJy4vbGliL2RyYXctcG9pbnQtbW9kZSc7XG5leHBvcnQgeyBEcmF3TGluZVN0cmluZ01vZGUgfSBmcm9tICcuL2xpYi9kcmF3LWxpbmUtc3RyaW5nLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1BvbHlnb25Nb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1wb2x5Z29uLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1JlY3RhbmdsZU1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LXJlY3RhbmdsZS1tb2RlJztcbmV4cG9ydCB7IERyYXdDaXJjbGVCeURpYW1ldGVyTW9kZSB9IGZyb20gJy4vbGliL2RyYXctY2lyY2xlLWJ5LWRpYW1ldGVyLW1vZGUnO1xuZXhwb3J0IHsgRHJhd0NpcmNsZUZyb21DZW50ZXJNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1jaXJjbGUtZnJvbS1jZW50ZXItbW9kZSc7XG5leHBvcnQgeyBEcmF3RWxsaXBzZUJ5Qm91bmRpbmdCb3hNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1lbGxpcHNlLWJ5LWJvdW5kaW5nLWJveC1tb2RlJztcbmV4cG9ydCB7IERyYXdFbGxpcHNlVXNpbmdUaHJlZVBvaW50c01vZGUgfSBmcm9tICcuL2xpYi9kcmF3LWVsbGlwc2UtdXNpbmctdGhyZWUtcG9pbnRzLW1vZGUnO1xuZXhwb3J0IHsgRHJhd1JlY3RhbmdsZVVzaW5nVGhyZWVQb2ludHNNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1yZWN0YW5nbGUtdXNpbmctdGhyZWUtcG9pbnRzLW1vZGUnO1xuZXhwb3J0IHsgRHJhdzkwRGVncmVlUG9seWdvbk1vZGUgfSBmcm9tICcuL2xpYi9kcmF3LTkwZGVncmVlLXBvbHlnb24tbW9kZSc7XG5leHBvcnQgeyBEcmF3UG9seWdvbkJ5RHJhZ2dpbmdNb2RlIH0gZnJvbSAnLi9saWIvZHJhdy1wb2x5Z29uLWJ5LWRyYWdnaW5nLW1vZGUnO1xuZXhwb3J0IHsgSW1tdXRhYmxlRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICcuL2xpYi9pbW11dGFibGUtZmVhdHVyZS1jb2xsZWN0aW9uJztcblxuLy8gT3RoZXIgbW9kZXNcbmV4cG9ydCB7IFZpZXdNb2RlIH0gZnJvbSAnLi9saWIvdmlldy1tb2RlJztcbmV4cG9ydCB7IE1lYXN1cmVEaXN0YW5jZU1vZGUgfSBmcm9tICcuL2xpYi9tZWFzdXJlLWRpc3RhbmNlLW1vZGUnO1xuZXhwb3J0IHsgTWVhc3VyZUFyZWFNb2RlIH0gZnJvbSAnLi9saWIvbWVhc3VyZS1hcmVhLW1vZGUnO1xuZXhwb3J0IHsgTWVhc3VyZUFuZ2xlTW9kZSB9IGZyb20gJy4vbGliL21lYXN1cmUtYW5nbGUtbW9kZSc7XG5leHBvcnQgeyBDb21wb3NpdGVNb2RlIH0gZnJvbSAnLi9saWIvY29tcG9zaXRlLW1vZGUnO1xuZXhwb3J0IHsgU25hcHBhYmxlTW9kZSB9IGZyb20gJy4vbGliL3NuYXBwYWJsZS1tb2RlJztcblxuLy8gRXhwZXJpbWVudGFsXG5leHBvcnQgeyBkZWZhdWx0IGFzIF9tZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplJztcblxuZXhwb3J0IHR5cGUge1xuICBTY3JlZW5Db29yZGluYXRlcyxcbiAgRWRpdEFjdGlvbixcbiAgUGljayxcbiAgQ2xpY2tFdmVudCxcbiAgUG9pbnRlck1vdmVFdmVudCxcbiAgU3RhcnREcmFnZ2luZ0V2ZW50LFxuICBTdG9wRHJhZ2dpbmdFdmVudCxcbiAgRHJhZ2dpbmdFdmVudCxcbiAgTW9kZVByb3BzLFxuICBHdWlkZUZlYXR1cmVDb2xsZWN0aW9uLFxuICBWaWV3cG9ydCxcbiAgVG9vbHRpcCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgUG9zaXRpb24sXG4gIFBvaW50Q29vcmRpbmF0ZXMsXG4gIExpbmVTdHJpbmdDb29yZGluYXRlcyxcbiAgUG9seWdvbkNvb3JkaW5hdGVzLFxuICBNdWx0aVBvaW50Q29vcmRpbmF0ZXMsXG4gIE11bHRpTGluZVN0cmluZ0Nvb3JkaW5hdGVzLFxuICBNdWx0aVBvbHlnb25Db29yZGluYXRlcyxcbiAgQW55Q29vcmRpbmF0ZXMsXG4gIFBvaW50LFxuICBMaW5lU3RyaW5nLFxuICBQb2x5Z29uLFxuICBNdWx0aVBvaW50LFxuICBNdWx0aUxpbmVTdHJpbmcsXG4gIE11bHRpUG9seWdvbixcbiAgR2VvbWV0cnksXG4gIFBvbHlnb25hbCxcbiAgQm91bmRpbmdCb3hBcnJheSxcbiAgRmVhdHVyZU9mLFxuICBGZWF0dXJlV2l0aFByb3BzLFxuICBGZWF0dXJlLFxuICBGZWF0dXJlQ29sbGVjdGlvbixcbiAgQW55R2VvSnNvbixcbn0gZnJvbSAnLi9nZW9qc29uLXR5cGVzJztcblxuLy8gVXRpbHNcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgdXRpbHMgfTtcbiJdfQ==

@@ -308,2 +308,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZ2VvanNvbi1lZGl0LW1vZGUudHMiXSwibmFtZXMiOlsiREVGQVVMVF9HVUlERVMiLCJ0eXBlIiwiZmVhdHVyZXMiLCJERUZBVUxUX1RPT0xUSVBTIiwiR2VvSnNvbkVkaXRNb2RlIiwicHJvcHMiLCJzZWxlY3RlZEluZGV4ZXMiLCJsZW5ndGgiLCJkYXRhIiwiZmVhdHVyZSIsImdldFNlbGVjdGVkRmVhdHVyZSIsImdlb21ldHJ5Iiwic2VsZWN0ZWRGZWF0dXJlcyIsIm1hcCIsInNlbGVjdGVkSW5kZXgiLCJfY2xpY2tTZXF1ZW5jZSIsIm1hcENvb3JkcyIsInB1c2giLCJndWlkZXMiLCJnZXRHdWlkZXMiLCJmaW5kIiwiZiIsInByb3BlcnRpZXMiLCJndWlkZVR5cGUiLCJwaWNrcyIsInBpY2tlZEZlYXR1cmVzIiwiaW5kZXgiLCJwaWNrZWRIYW5kbGVzIiwiZmVhdHVyZUluZGV4IiwicGlja2VkSW5kZXhlcyIsIlNldCIsInNvbWUiLCJoYXMiLCJpc1BvbHlnb25hbCIsImZlYXR1cmVPckdlb21ldHJ5IiwiZmVhdHVyZU9yR2VvbWV0cnlBc0FueSIsInJld2luZEZlYXR1cmUiLCJyZXdpbmRQb2x5Z29uIiwidXBkYXRlZERhdGEiLCJJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiIsImFkZEZlYXR1cmUiLCJnZXRPYmplY3QiLCJlZGl0VHlwZSIsImVkaXRDb250ZXh0IiwiZmVhdHVyZUluZGV4ZXMiLCJmZWF0dXJlc1RvQWRkIiwiaW5pdGlhbEluZGV4IiwidXBkYXRlZEluZGV4ZXMiLCJnZW9tZXRyeUFzQW55Iiwic2VsZWN0ZWRGZWF0dXJlIiwibW9kZUNvbmZpZyIsImJvb2xlYW5PcGVyYXRpb24iLCJjb25zb2xlIiwid2FybiIsInVwZGF0ZWRHZW9tZXRyeSIsInJlcGxhY2VHZW9tZXRyeSIsImVkaXRBY3Rpb24iLCJnZXRBZGRGZWF0dXJlQWN0aW9uIiwiZXZlbnQiLCJrZXkiLCJyZXNldENsaWNrU2VxdWVuY2UiLCJvbkVkaXQiLCJnZXRJbnRlcm1lZGlhdGVQb3NpdGlvbiIsInBvc2l0aW9uMSIsInBvc2l0aW9uMiIsImludGVybWVkaWF0ZVBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQWdCQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxJQUFNQSxjQUFzQyxHQUFHO0FBQzdDQyxFQUFBQSxJQUFJLEVBQUUsbUJBRHVDO0FBRTdDQyxFQUFBQSxRQUFRLEVBQUU7QUFGbUMsQ0FBL0M7QUFJQSxJQUFNQyxnQkFBMkIsR0FBRyxFQUFwQyxDLENBRUE7O0lBR2FDLGU7Ozs7NENBQ2tCLEU7Ozs7OzhCQUVuQkMsSyxFQUE2RDtBQUNyRSxhQUFPTCxjQUFQO0FBQ0Q7OztnQ0FFV0ssSyxFQUFnRDtBQUMxRCxhQUFPRixnQkFBUDtBQUNEOzs7dUNBRWtCRSxLLEVBQWlFO0FBQ2xGLFVBQUlBLEtBQUssQ0FBQ0MsZUFBTixDQUFzQkMsTUFBdEIsS0FBaUMsQ0FBckMsRUFBd0M7QUFDdEMsZUFBT0YsS0FBSyxDQUFDRyxJQUFOLENBQVdOLFFBQVgsQ0FBb0JHLEtBQUssQ0FBQ0MsZUFBTixDQUFzQixDQUF0QixDQUFwQixDQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozt3Q0FFbUJELEssRUFBa0U7QUFDcEYsVUFBTUksT0FBTyxHQUFHLEtBQUtDLGtCQUFMLENBQXdCTCxLQUF4QixDQUFoQjs7QUFDQSxVQUFJSSxPQUFKLEVBQWE7QUFDWCxlQUFPQSxPQUFPLENBQUNFLFFBQWY7QUFDRDs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OzJEQUVzQ04sSyxFQUF3RDtBQUFBLFVBQ3JGSCxRQURxRixHQUN4RUcsS0FBSyxDQUFDRyxJQURrRSxDQUNyRk4sUUFEcUY7QUFFN0YsVUFBTVUsZ0JBQWdCLEdBQUdQLEtBQUssQ0FBQ0MsZUFBTixDQUFzQk8sR0FBdEIsQ0FBMEIsVUFBQ0MsYUFBRDtBQUFBLGVBQW1CWixRQUFRLENBQUNZLGFBQUQsQ0FBM0I7QUFBQSxPQUExQixDQUF6QjtBQUNBLGFBQU87QUFDTGIsUUFBQUEsSUFBSSxFQUFFLG1CQUREO0FBRUxDLFFBQUFBLFFBQVEsRUFBRVU7QUFGTCxPQUFQO0FBSUQ7Ozt1Q0FFOEI7QUFDN0IsYUFBTyxLQUFLRyxjQUFaO0FBQ0Q7OzsyQ0FFaUQ7QUFBQSxVQUEvQkMsU0FBK0IsUUFBL0JBLFNBQStCOztBQUNoRCxXQUFLRCxjQUFMLENBQW9CRSxJQUFwQixDQUF5QkQsU0FBekI7QUFDRDs7O3lDQUUwQjtBQUN6QixXQUFLRCxjQUFMLEdBQXNCLEVBQXRCO0FBQ0Q7OztzQ0FFaUJWLEssRUFBMEU7QUFDMUYsVUFBTWEsTUFBTSxHQUFHLEtBQUtDLFNBQUwsQ0FBZWQsS0FBZixDQUFmLENBRDBGLENBRzFGOztBQUNBLGFBQU9hLE1BQU0sQ0FBQ2hCLFFBQVAsQ0FBZ0JrQixJQUFoQixDQUFxQixVQUFDQyxDQUFEO0FBQUEsZUFBT0EsQ0FBQyxDQUFDQyxVQUFGLElBQWdCRCxDQUFDLENBQUNDLFVBQUYsQ0FBYUMsU0FBYixLQUEyQixXQUFsRDtBQUFBLE9BQXJCLENBQVA7QUFDRDs7O3NDQUVpQkMsSyxFQUFlbkIsSyxFQUE4QztBQUM3RSxVQUFJLENBQUNtQixLQUFLLENBQUNqQixNQUFYLEVBQW1CLE9BQU8sS0FBUDtBQUNuQixVQUFNa0IsY0FBYyxHQUFHLDZCQUFpQkQsS0FBakIsRUFBd0JYLEdBQXhCLENBQTRCO0FBQUEsWUFBR2EsS0FBSCxTQUFHQSxLQUFIO0FBQUEsZUFBZUEsS0FBZjtBQUFBLE9BQTVCLENBQXZCO0FBQ0EsVUFBTUMsYUFBYSxHQUFHLGlDQUFxQkgsS0FBckIsRUFBNEJYLEdBQTVCLENBQ3BCO0FBQUEsWUFBR1MsVUFBSCxTQUFHQSxVQUFIO0FBQUEsZUFBb0JBLFVBQVUsQ0FBQ00sWUFBL0I7QUFBQSxPQURvQixDQUF0QjtBQUdBLFVBQU1DLGFBQWEsR0FBRyxJQUFJQyxHQUFKLDhCQUFZTCxjQUFaLHNCQUErQkUsYUFBL0IsR0FBdEI7QUFDQSxhQUFPdEIsS0FBSyxDQUFDQyxlQUFOLENBQXNCeUIsSUFBdEIsQ0FBMkIsVUFBQ0wsS0FBRDtBQUFBLGVBQVdHLGFBQWEsQ0FBQ0csR0FBZCxDQUFrQk4sS0FBbEIsQ0FBWDtBQUFBLE9BQTNCLENBQVA7QUFDRDs7O2tDQUVhakIsTyxFQUEyQjtBQUFBLFVBQy9CRSxRQUQrQixHQUNsQkYsT0FEa0IsQ0FDL0JFLFFBRCtCO0FBR3ZDLFVBQU1zQixXQUFXLEdBQUd0QixRQUFRLENBQUNWLElBQVQsS0FBa0IsU0FBbEIsSUFBK0JVLFFBQVEsQ0FBQ1YsSUFBVCxLQUFrQixjQUFyRTs7QUFDQSxVQUFJZ0MsV0FBSixFQUFpQjtBQUNmO0FBQ0EsZUFBTyx3QkFBT3hCLE9BQVAsQ0FBUDtBQUNEOztBQUVELGFBQU9BLE9BQVA7QUFDRDs7O3dDQUdDeUIsaUIsRUFDQWhDLFEsRUFDbUI7QUFDbkI7QUFDQSxVQUFNaUMsc0JBQTJCLEdBQUdELGlCQUFwQztBQUVBLFVBQU16QixPQUFZLEdBQ2hCMEIsc0JBQXNCLENBQUNsQyxJQUF2QixLQUFnQyxTQUFoQyxHQUNJa0Msc0JBREosR0FFSTtBQUNFbEMsUUFBQUEsSUFBSSxFQUFFLFNBRFI7QUFFRXFCLFFBQUFBLFVBQVUsRUFBRSxFQUZkO0FBR0VYLFFBQUFBLFFBQVEsRUFBRXdCO0FBSFosT0FITjtBQVNBLFVBQU1DLGFBQWEsR0FBRyxLQUFLQyxhQUFMLENBQW1CNUIsT0FBbkIsQ0FBdEI7QUFDQSxVQUFNNkIsV0FBVyxHQUFHLElBQUlDLHNEQUFKLENBQStCckMsUUFBL0IsRUFDakJzQyxVQURpQixDQUNOSixhQURNLEVBRWpCSyxTQUZpQixFQUFwQjtBQUlBLGFBQU87QUFDTEgsUUFBQUEsV0FBVyxFQUFYQSxXQURLO0FBRUxJLFFBQUFBLFFBQVEsRUFBRSxZQUZMO0FBR0xDLFFBQUFBLFdBQVcsRUFBRTtBQUNYQyxVQUFBQSxjQUFjLEVBQUUsQ0FBQ04sV0FBVyxDQUFDcEMsUUFBWixDQUFxQkssTUFBckIsR0FBOEIsQ0FBL0I7QUFETDtBQUhSLE9BQVA7QUFPRDs7O29EQUlDTCxRLEVBQ21CO0FBQUEsVUFGUDJDLGFBRU8sU0FGakIzQyxRQUVpQjtBQUNuQixVQUFJb0MsV0FBVyxHQUFHLElBQUlDLHNEQUFKLENBQStCckMsUUFBL0IsQ0FBbEI7QUFDQSxVQUFNNEMsWUFBWSxHQUFHUixXQUFXLENBQUNHLFNBQVosR0FBd0J2QyxRQUF4QixDQUFpQ0ssTUFBdEQ7QUFDQSxVQUFNd0MsY0FBYyxHQUFHLEVBQXZCOztBQUhtQixpREFJR0YsYUFKSDtBQUFBOztBQUFBO0FBSW5CLDREQUFxQztBQUFBLGNBQTFCcEMsT0FBMEI7QUFBQSxjQUMzQmEsVUFEMkIsR0FDRmIsT0FERSxDQUMzQmEsVUFEMkI7QUFBQSxjQUNmWCxRQURlLEdBQ0ZGLE9BREUsQ0FDZkUsUUFEZTtBQUVuQyxjQUFNcUMsYUFBa0IsR0FBR3JDLFFBQTNCO0FBQ0EyQixVQUFBQSxXQUFXLEdBQUdBLFdBQVcsQ0FBQ0UsVUFBWixDQUF1QjtBQUNuQ3ZDLFlBQUFBLElBQUksRUFBRSxTQUQ2QjtBQUVuQ3FCLFlBQUFBLFVBQVUsRUFBVkEsVUFGbUM7QUFHbkNYLFlBQUFBLFFBQVEsRUFBRXFDO0FBSHlCLFdBQXZCLENBQWQ7QUFLQUQsVUFBQUEsY0FBYyxDQUFDOUIsSUFBZixDQUFvQjZCLFlBQVksR0FBR0MsY0FBYyxDQUFDeEMsTUFBbEQ7QUFDRDtBQWJrQjtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQWVuQixhQUFPO0FBQ0wrQixRQUFBQSxXQUFXLEVBQUVBLFdBQVcsQ0FBQ0csU0FBWixFQURSO0FBRUxDLFFBQUFBLFFBQVEsRUFBRSxZQUZMO0FBR0xDLFFBQUFBLFdBQVcsRUFBRTtBQUNYQyxVQUFBQSxjQUFjLEVBQUVHO0FBREw7QUFIUixPQUFQO0FBT0Q7Ozt3REFHQ2IsaUIsRUFDQTdCLEssRUFDc0M7QUFDdEMsVUFBTThCLHNCQUEyQixHQUFHRCxpQkFBcEM7QUFFQSxVQUFNZSxlQUFlLEdBQUcsS0FBS3ZDLGtCQUFMLENBQXdCTCxLQUF4QixDQUF4QjtBQUhzQyxVQUk5QjZDLFVBSjhCLEdBSWY3QyxLQUplLENBSTlCNkMsVUFKOEI7O0FBS3RDLFVBQUlBLFVBQVUsSUFBSUEsVUFBVSxDQUFDQyxnQkFBN0IsRUFBK0M7QUFDN0MsWUFDRSxDQUFDRixlQUFELElBQ0NBLGVBQWUsQ0FBQ3RDLFFBQWhCLENBQXlCVixJQUF6QixLQUFrQyxTQUFsQyxJQUNDZ0QsZUFBZSxDQUFDdEMsUUFBaEIsQ0FBeUJWLElBQXpCLEtBQWtDLGNBSHRDLEVBSUU7QUFDQTtBQUNBbUQsVUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQ0UsOEVBREY7QUFHQSxpQkFBTyxJQUFQO0FBQ0Q7O0FBRUQsWUFBTTVDLE9BQU8sR0FDWDBCLHNCQUFzQixDQUFDbEMsSUFBdkIsS0FBZ0MsU0FBaEMsR0FDSWtDLHNCQURKLEdBRUk7QUFDRWxDLFVBQUFBLElBQUksRUFBRSxTQURSO0FBRUVVLFVBQUFBLFFBQVEsRUFBRXdCO0FBRlosU0FITjtBQVFBLFlBQUltQixlQUFKOztBQUNBLFlBQUlKLFVBQVUsQ0FBQ0MsZ0JBQVgsS0FBZ0MsT0FBcEMsRUFBNkM7QUFDM0NHLFVBQUFBLGVBQWUsR0FBRyx1QkFBVUwsZUFBVixFQUEyQnhDLE9BQTNCLENBQWxCO0FBQ0QsU0FGRCxNQUVPLElBQUl5QyxVQUFVLENBQUNDLGdCQUFYLEtBQWdDLFlBQXBDLEVBQWtEO0FBQ3ZEO0FBQ0FHLFVBQUFBLGVBQWUsR0FBRyw0QkFBZUwsZUFBZixFQUFnQ3hDLE9BQWhDLENBQWxCO0FBQ0QsU0FITSxNQUdBLElBQUl5QyxVQUFVLENBQUNDLGdCQUFYLEtBQWdDLGNBQXBDLEVBQW9EO0FBQ3pEO0FBQ0FHLFVBQUFBLGVBQWUsR0FBRywyQkFBY0wsZUFBZCxFQUErQnhDLE9BQS9CLENBQWxCO0FBQ0QsU0FITSxNQUdBO0FBQ0w7QUFDQTJDLFVBQUFBLE9BQU8sQ0FBQ0MsSUFBUixvQ0FBeUNILFVBQVUsQ0FBQ0MsZ0JBQXBEO0FBQ0EsaUJBQU8sSUFBUDtBQUNEOztBQUVELFlBQUksQ0FBQ0csZUFBTCxFQUFzQjtBQUNwQjtBQUNBRixVQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FBYSwwREFBYjtBQUNBLGlCQUFPLElBQVA7QUFDRDs7QUFFRCxZQUFNekIsWUFBWSxHQUFHdkIsS0FBSyxDQUFDQyxlQUFOLENBQXNCLENBQXRCLENBQXJCO0FBRUEsWUFBTWdDLFdBQVcsR0FBRyxJQUFJQyxzREFBSixDQUErQmxDLEtBQUssQ0FBQ0csSUFBckMsRUFDakIrQyxlQURpQixDQUNEM0IsWUFEQyxFQUNhMEIsZUFBZSxDQUFDM0MsUUFEN0IsRUFFakI4QixTQUZpQixFQUFwQjtBQUlBLFlBQU1lLFVBQTZCLEdBQUc7QUFDcENsQixVQUFBQSxXQUFXLEVBQVhBLFdBRG9DO0FBRXBDSSxVQUFBQSxRQUFRLEVBQUUsZUFGMEI7QUFHcENDLFVBQUFBLFdBQVcsRUFBRTtBQUNYQyxZQUFBQSxjQUFjLEVBQUUsQ0FBQ2hCLFlBQUQ7QUFETDtBQUh1QixTQUF0QztBQVFBLGVBQU80QixVQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxLQUFLQyxtQkFBTCxDQUF5QnZCLGlCQUF6QixFQUE0QzdCLEtBQUssQ0FBQ0csSUFBbEQsQ0FBUDtBQUNEOzs7Z0NBRVdrRCxLLEVBQW1CckQsSyxFQUEyQyxDQUFFOzs7c0NBQzFEcUQsSyxFQUF5QnJELEssRUFBMkMsQ0FBRTs7O3dDQUNwRXFELEssRUFBMkJyRCxLLEVBQTJDLENBQUU7Ozt1Q0FDekVxRCxLLEVBQTBCckQsSyxFQUEyQyxDQUFFOzs7bUNBQzNFcUQsSyxFQUFzQnJELEssRUFBMkMsQ0FBRTs7O2dDQUV0RXFELEssRUFBc0JyRCxLLEVBQTJDO0FBQzNFLFVBQUlxRCxLQUFLLENBQUNDLEdBQU4sS0FBYyxRQUFsQixFQUE0QjtBQUMxQixhQUFLQyxrQkFBTDtBQUNBdkQsUUFBQUEsS0FBSyxDQUFDd0QsTUFBTixDQUFhO0FBQ1g7QUFDQXZCLFVBQUFBLFdBQVcsRUFBRWpDLEtBQUssQ0FBQ0csSUFGUjtBQUdYa0MsVUFBQUEsUUFBUSxFQUFFLGVBSEM7QUFJWEMsVUFBQUEsV0FBVyxFQUFFO0FBSkYsU0FBYjtBQU1EO0FBQ0Y7Ozs7Ozs7O0FBR0ksU0FBU21CLHVCQUFULENBQWlDQyxTQUFqQyxFQUFzREMsU0FBdEQsRUFBcUY7QUFDMUYsTUFBTUMsb0JBQW9CLEdBQUcsQ0FDM0IsQ0FBQ0YsU0FBUyxDQUFDLENBQUQsQ0FBVCxHQUFlQyxTQUFTLENBQUMsQ0FBRCxDQUF6QixJQUFnQyxHQURMLEVBRTNCLENBQUNELFNBQVMsQ0FBQyxDQUFELENBQVQsR0FBZUMsU0FBUyxDQUFDLENBQUQsQ0FBekIsSUFBZ0MsR0FGTCxDQUE3QixDQUQwRixDQUsxRjs7QUFDQSxTQUFPQyxvQkFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR1cmZVbmlvbiBmcm9tICdAdHVyZi91bmlvbic7XG5pbXBvcnQgdHVyZkRpZmZlcmVuY2UgZnJvbSAnQHR1cmYvZGlmZmVyZW5jZSc7XG5pbXBvcnQgdHVyZkludGVyc2VjdCBmcm9tICdAdHVyZi9pbnRlcnNlY3QnO1xuaW1wb3J0IHJld2luZCBmcm9tICdAdHVyZi9yZXdpbmQnO1xuXG5pbXBvcnQge1xuICBFZGl0QWN0aW9uLFxuICBDbGlja0V2ZW50LFxuICBQb2ludGVyTW92ZUV2ZW50LFxuICBTdGFydERyYWdnaW5nRXZlbnQsXG4gIFN0b3BEcmFnZ2luZ0V2ZW50LFxuICBEcmFnZ2luZ0V2ZW50LFxuICBQaWNrLFxuICBUb29sdGlwLFxuICBNb2RlUHJvcHMsXG4gIEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24sXG4gIFRlbnRhdGl2ZUZlYXR1cmUsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlLCBQb2x5Z29uLCBHZW9tZXRyeSwgUG9zaXRpb24gfSBmcm9tICcuLi9nZW9qc29uLXR5cGVzJztcbmltcG9ydCB7IGdldFBpY2tlZEVkaXRIYW5kbGVzLCBnZXROb25HdWlkZVBpY2tzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRWRpdE1vZGUgfSBmcm9tICcuL2VkaXQtbW9kZSc7XG5pbXBvcnQgeyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gJy4vaW1tdXRhYmxlLWZlYXR1cmUtY29sbGVjdGlvbic7XG5cbmV4cG9ydCB0eXBlIEdlb0pzb25FZGl0QWN0aW9uID0gRWRpdEFjdGlvbjxGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmNvbnN0IERFRkFVTFRfR1VJREVTOiBHdWlkZUZlYXR1cmVDb2xsZWN0aW9uID0ge1xuICB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICBmZWF0dXJlczogW10sXG59O1xuY29uc3QgREVGQVVMVF9UT09MVElQUzogVG9vbHRpcFtdID0gW107XG5cbi8vIE1haW4gaW50ZXJmYWNlIGZvciBgRWRpdE1vZGVgcyB0aGF0IGVkaXQgR2VvSlNPTlxuZXhwb3J0IHR5cGUgR2VvSnNvbkVkaXRNb2RlVHlwZSA9IEVkaXRNb2RlPEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmV4cG9ydCBjbGFzcyBHZW9Kc29uRWRpdE1vZGUgaW1wbGVtZW50cyBFZGl0TW9kZTxGZWF0dXJlQ29sbGVjdGlvbiwgR3VpZGVGZWF0dXJlQ29sbGVjdGlvbj4ge1xuICBfY2xpY2tTZXF1ZW5jZTogUG9zaXRpb25bXSA9IFtdO1xuXG4gIGdldEd1aWRlcyhwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBERUZBVUxUX0dVSURFUztcbiAgfVxuXG4gIGdldFRvb2x0aXBzKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVG9vbHRpcFtdIHtcbiAgICByZXR1cm4gREVGQVVMVF9UT09MVElQUztcbiAgfVxuXG4gIGdldFNlbGVjdGVkRmVhdHVyZShwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMuc2VsZWN0ZWRJbmRleGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHByb3BzLmRhdGEuZmVhdHVyZXNbcHJvcHMuc2VsZWN0ZWRJbmRleGVzWzBdXTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEdlb21ldHJ5KHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogR2VvbWV0cnkgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5nZXRTZWxlY3RlZEZlYXR1cmUocHJvcHMpO1xuICAgIGlmIChmZWF0dXJlKSB7XG4gICAgICByZXR1cm4gZmVhdHVyZS5nZW9tZXRyeTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEZlYXR1cmVzQXNGZWF0dXJlQ29sbGVjdGlvbihwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmVDb2xsZWN0aW9uIHtcbiAgICBjb25zdCB7IGZlYXR1cmVzIH0gPSBwcm9wcy5kYXRhO1xuICAgIGNvbnN0IHNlbGVjdGVkRmVhdHVyZXMgPSBwcm9wcy5zZWxlY3RlZEluZGV4ZXMubWFwKChzZWxlY3RlZEluZGV4KSA9PiBmZWF0dXJlc1tzZWxlY3RlZEluZGV4XSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdGZWF0dXJlQ29sbGVjdGlvbicsXG4gICAgICBmZWF0dXJlczogc2VsZWN0ZWRGZWF0dXJlcyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q2xpY2tTZXF1ZW5jZSgpOiBQb3NpdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpY2tTZXF1ZW5jZTtcbiAgfVxuXG4gIGFkZENsaWNrU2VxdWVuY2UoeyBtYXBDb29yZHMgfTogQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UucHVzaChtYXBDb29yZHMpO1xuICB9XG5cbiAgcmVzZXRDbGlja1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UgPSBbXTtcbiAgfVxuXG4gIGdldFRlbnRhdGl2ZUd1aWRlKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVGVudGF0aXZlRmVhdHVyZSB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGd1aWRlcyA9IHRoaXMuZ2V0R3VpZGVzKHByb3BzKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZ3VpZGVzLmZlYXR1cmVzLmZpbmQoKGYpID0+IGYucHJvcGVydGllcyAmJiBmLnByb3BlcnRpZXMuZ3VpZGVUeXBlID09PSAndGVudGF0aXZlJyk7XG4gIH1cblxuICBpc1NlbGVjdGlvblBpY2tlZChwaWNrczogUGlja1tdLCBwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IGJvb2xlYW4ge1xuICAgIGlmICghcGlja3MubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcGlja2VkRmVhdHVyZXMgPSBnZXROb25HdWlkZVBpY2tzKHBpY2tzKS5tYXAoKHsgaW5kZXggfSkgPT4gaW5kZXgpO1xuICAgIGNvbnN0IHBpY2tlZEhhbmRsZXMgPSBnZXRQaWNrZWRFZGl0SGFuZGxlcyhwaWNrcykubWFwKFxuICAgICAgKHsgcHJvcGVydGllcyB9KSA9PiBwcm9wZXJ0aWVzLmZlYXR1cmVJbmRleFxuICAgICk7XG4gICAgY29uc3QgcGlja2VkSW5kZXhlcyA9IG5ldyBTZXQoWy4uLnBpY2tlZEZlYXR1cmVzLCAuLi5waWNrZWRIYW5kbGVzXSk7XG4gICAgcmV0dXJuIHByb3BzLnNlbGVjdGVkSW5kZXhlcy5zb21lKChpbmRleCkgPT4gcGlja2VkSW5kZXhlcy5oYXMoaW5kZXgpKTtcbiAgfVxuXG4gIHJld2luZFBvbHlnb24oZmVhdHVyZTogRmVhdHVyZSk6IEZlYXR1cmUge1xuICAgIGNvbnN0IHsgZ2VvbWV0cnkgfSA9IGZlYXR1cmU7XG5cbiAgICBjb25zdCBpc1BvbHlnb25hbCA9IGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJyB8fCBnZW9tZXRyeS50eXBlID09PSAnTXVsdGlQb2x5Z29uJztcbiAgICBpZiAoaXNQb2x5Z29uYWwpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiByZXdpbmQoZmVhdHVyZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZlYXR1cmU7XG4gIH1cblxuICBnZXRBZGRGZWF0dXJlQWN0aW9uKFxuICAgIGZlYXR1cmVPckdlb21ldHJ5OiBHZW9tZXRyeSB8IEZlYXR1cmUsXG4gICAgZmVhdHVyZXM6IEZlYXR1cmVDb2xsZWN0aW9uXG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHtcbiAgICAvLyBVbnN1cmUgd2h5IGZsb3cgY2FuJ3QgZGVhbCB3aXRoIEdlb21ldHJ5IHR5cGUsIGJ1dCB0aGVyZSBJIGZpeGVkIGl0XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBmZWF0dXJlOiBhbnkgPVxuICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgPyBmZWF0dXJlT3JHZW9tZXRyeUFzQW55XG4gICAgICAgIDoge1xuICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICB9O1xuXG4gICAgY29uc3QgcmV3aW5kRmVhdHVyZSA9IHRoaXMucmV3aW5kUG9seWdvbihmZWF0dXJlKTtcbiAgICBjb25zdCB1cGRhdGVkRGF0YSA9IG5ldyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbihmZWF0dXJlcylcbiAgICAgIC5hZGRGZWF0dXJlKHJld2luZEZlYXR1cmUpXG4gICAgICAuZ2V0T2JqZWN0KCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdXBkYXRlZERhdGEsXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFt1cGRhdGVkRGF0YS5mZWF0dXJlcy5sZW5ndGggLSAxXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldEFkZE1hbnlGZWF0dXJlc0FjdGlvbihcbiAgICB7IGZlYXR1cmVzOiBmZWF0dXJlc1RvQWRkIH06IEZlYXR1cmVDb2xsZWN0aW9uLFxuICAgIGZlYXR1cmVzOiBGZWF0dXJlQ29sbGVjdGlvblxuICApOiBHZW9Kc29uRWRpdEFjdGlvbiB7XG4gICAgbGV0IHVwZGF0ZWREYXRhID0gbmV3IEltbXV0YWJsZUZlYXR1cmVDb2xsZWN0aW9uKGZlYXR1cmVzKTtcbiAgICBjb25zdCBpbml0aWFsSW5kZXggPSB1cGRhdGVkRGF0YS5nZXRPYmplY3QoKS5mZWF0dXJlcy5sZW5ndGg7XG4gICAgY29uc3QgdXBkYXRlZEluZGV4ZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgZmVhdHVyZXNUb0FkZCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcbiAgICAgIGNvbnN0IGdlb21ldHJ5QXNBbnk6IGFueSA9IGdlb21ldHJ5O1xuICAgICAgdXBkYXRlZERhdGEgPSB1cGRhdGVkRGF0YS5hZGRGZWF0dXJlKHtcbiAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBnZW9tZXRyeTogZ2VvbWV0cnlBc0FueSxcbiAgICAgIH0pO1xuICAgICAgdXBkYXRlZEluZGV4ZXMucHVzaChpbml0aWFsSW5kZXggKyB1cGRhdGVkSW5kZXhlcy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cGRhdGVkRGF0YTogdXBkYXRlZERhdGEuZ2V0T2JqZWN0KCksXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IHVwZGF0ZWRJbmRleGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0QWRkRmVhdHVyZU9yQm9vbGVhblBvbHlnb25BY3Rpb24oXG4gICAgZmVhdHVyZU9yR2VvbWV0cnk6IFBvbHlnb24gfCBGZWF0dXJlLFxuICAgIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+XG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBzZWxlY3RlZEZlYXR1cmUgPSB0aGlzLmdldFNlbGVjdGVkRmVhdHVyZShwcm9wcyk7XG4gICAgY29uc3QgeyBtb2RlQ29uZmlnIH0gPSBwcm9wcztcbiAgICBpZiAobW9kZUNvbmZpZyAmJiBtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24pIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXNlbGVjdGVkRmVhdHVyZSB8fFxuICAgICAgICAoc2VsZWN0ZWRGZWF0dXJlLmdlb21ldHJ5LnR5cGUgIT09ICdQb2x5Z29uJyAmJlxuICAgICAgICAgIHNlbGVjdGVkRmVhdHVyZS5nZW9tZXRyeS50eXBlICE9PSAnTXVsdGlQb2x5Z29uJylcbiAgICAgICkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2Jvb2xlYW5PcGVyYXRpb24gb25seSBzdXBwb3J0ZWQgZm9yIHNpbmdsZSBQb2x5Z29uIG9yIE11bHRpUG9seWdvbiBzZWxlY3Rpb24nXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmZWF0dXJlID1cbiAgICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgICA/IGZlYXR1cmVPckdlb21ldHJ5QXNBbnlcbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgIGxldCB1cGRhdGVkR2VvbWV0cnk7XG4gICAgICBpZiAobW9kZUNvbmZpZy5ib29sZWFuT3BlcmF0aW9uID09PSAndW5pb24nKSB7XG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZVbmlvbihzZWxlY3RlZEZlYXR1cmUsIGZlYXR1cmUpO1xuICAgICAgfSBlbHNlIGlmIChtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJykge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZEaWZmZXJlbmNlKHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2UgaWYgKG1vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbiA9PT0gJ2ludGVyc2VjdGlvbicpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB1cGRhdGVkR2VvbWV0cnkgPSB0dXJmSW50ZXJzZWN0KHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYm9vbGVhbk9wZXJhdGlvbiAke21vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbn1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICghdXBkYXRlZEdlb21ldHJ5KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlLG5vLXVuZGVmXG4gICAgICAgIGNvbnNvbGUud2FybignQ2FuY2VsaW5nIGVkaXQuIEJvb2xlYW4gb3BlcmF0aW9uIGVyYXNlZCBlbnRpcmUgcG9seWdvbi4nKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZlYXR1cmVJbmRleCA9IHByb3BzLnNlbGVjdGVkSW5kZXhlc1swXTtcblxuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBuZXcgSW1tdXRhYmxlRmVhdHVyZUNvbGxlY3Rpb24ocHJvcHMuZGF0YSlcbiAgICAgICAgLnJlcGxhY2VHZW9tZXRyeShmZWF0dXJlSW5kZXgsIHVwZGF0ZWRHZW9tZXRyeS5nZW9tZXRyeSlcbiAgICAgICAgLmdldE9iamVjdCgpO1xuXG4gICAgICBjb25zdCBlZGl0QWN0aW9uOiBHZW9Kc29uRWRpdEFjdGlvbiA9IHtcbiAgICAgICAgdXBkYXRlZERhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAndW5pb25HZW9tZXRyeScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7XG4gICAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFtmZWF0dXJlSW5kZXhdLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGVkaXRBY3Rpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEFkZEZlYXR1cmVBY3Rpb24oZmVhdHVyZU9yR2VvbWV0cnksIHByb3BzLmRhdGEpO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IENsaWNrRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVQb2ludGVyTW92ZShldmVudDogUG9pbnRlck1vdmVFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0YXJ0RHJhZ2dpbmcoZXZlbnQ6IFN0YXJ0RHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0b3BEcmFnZ2luZyhldmVudDogU3RvcERyYWdnaW5nRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVEcmFnZ2luZyhldmVudDogRHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG5cbiAgaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMucmVzZXRDbGlja1NlcXVlbmNlKCk7XG4gICAgICBwcm9wcy5vbkVkaXQoe1xuICAgICAgICAvLyBCZWNhdXNlIHRoZSBuZXcgZHJhd2luZyBmZWF0dXJlIGlzIGRyb3BwZWQsIHNvIHRoZSBkYXRhIHdpbGwga2VlcCBhcyB0aGUgc2FtZS5cbiAgICAgICAgdXBkYXRlZERhdGE6IHByb3BzLmRhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAnY2FuY2VsRmVhdHVyZScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7fSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJtZWRpYXRlUG9zaXRpb24ocG9zaXRpb24xOiBQb3NpdGlvbiwgcG9zaXRpb24yOiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgY29uc3QgaW50ZXJtZWRpYXRlUG9zaXRpb24gPSBbXG4gICAgKHBvc2l0aW9uMVswXSArIHBvc2l0aW9uMlswXSkgLyAyLjAsXG4gICAgKHBvc2l0aW9uMVsxXSArIHBvc2l0aW9uMlsxXSkgLyAyLjAsXG4gIF07XG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGludGVybWVkaWF0ZVBvc2l0aW9uO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZ2VvanNvbi1lZGl0LW1vZGUudHMiXSwibmFtZXMiOlsiREVGQVVMVF9HVUlERVMiLCJ0eXBlIiwiZmVhdHVyZXMiLCJERUZBVUxUX1RPT0xUSVBTIiwiR2VvSnNvbkVkaXRNb2RlIiwicHJvcHMiLCJzZWxlY3RlZEluZGV4ZXMiLCJsZW5ndGgiLCJkYXRhIiwiZmVhdHVyZSIsImdldFNlbGVjdGVkRmVhdHVyZSIsImdlb21ldHJ5Iiwic2VsZWN0ZWRGZWF0dXJlcyIsIm1hcCIsInNlbGVjdGVkSW5kZXgiLCJfY2xpY2tTZXF1ZW5jZSIsIm1hcENvb3JkcyIsInB1c2giLCJndWlkZXMiLCJnZXRHdWlkZXMiLCJmaW5kIiwiZiIsInByb3BlcnRpZXMiLCJndWlkZVR5cGUiLCJwaWNrcyIsInBpY2tlZEZlYXR1cmVzIiwiaW5kZXgiLCJwaWNrZWRIYW5kbGVzIiwiZmVhdHVyZUluZGV4IiwicGlja2VkSW5kZXhlcyIsIlNldCIsInNvbWUiLCJoYXMiLCJpc1BvbHlnb25hbCIsImZlYXR1cmVPckdlb21ldHJ5IiwiZmVhdHVyZU9yR2VvbWV0cnlBc0FueSIsInJld2luZEZlYXR1cmUiLCJyZXdpbmRQb2x5Z29uIiwidXBkYXRlZERhdGEiLCJJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiIsImFkZEZlYXR1cmUiLCJnZXRPYmplY3QiLCJlZGl0VHlwZSIsImVkaXRDb250ZXh0IiwiZmVhdHVyZUluZGV4ZXMiLCJmZWF0dXJlc1RvQWRkIiwiaW5pdGlhbEluZGV4IiwidXBkYXRlZEluZGV4ZXMiLCJnZW9tZXRyeUFzQW55Iiwic2VsZWN0ZWRGZWF0dXJlIiwibW9kZUNvbmZpZyIsImJvb2xlYW5PcGVyYXRpb24iLCJjb25zb2xlIiwid2FybiIsInVwZGF0ZWRHZW9tZXRyeSIsInJlcGxhY2VHZW9tZXRyeSIsImVkaXRBY3Rpb24iLCJnZXRBZGRGZWF0dXJlQWN0aW9uIiwiZXZlbnQiLCJrZXkiLCJyZXNldENsaWNrU2VxdWVuY2UiLCJvbkVkaXQiLCJnZXRJbnRlcm1lZGlhdGVQb3NpdGlvbiIsInBvc2l0aW9uMSIsInBvc2l0aW9uMiIsImludGVybWVkaWF0ZVBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQWdCQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxJQUFNQSxjQUFzQyxHQUFHO0FBQzdDQyxFQUFBQSxJQUFJLEVBQUUsbUJBRHVDO0FBRTdDQyxFQUFBQSxRQUFRLEVBQUU7QUFGbUMsQ0FBL0M7QUFJQSxJQUFNQyxnQkFBMkIsR0FBRyxFQUFwQyxDLENBRUE7O0lBT2FDLGU7Ozs7NENBQ2tCLEU7Ozs7OzhCQUVuQkMsSyxFQUE2RDtBQUNyRSxhQUFPTCxjQUFQO0FBQ0Q7OztnQ0FFV0ssSyxFQUFnRDtBQUMxRCxhQUFPRixnQkFBUDtBQUNEOzs7dUNBRWtCRSxLLEVBQWlFO0FBQ2xGLFVBQUlBLEtBQUssQ0FBQ0MsZUFBTixDQUFzQkMsTUFBdEIsS0FBaUMsQ0FBckMsRUFBd0M7QUFDdEMsZUFBT0YsS0FBSyxDQUFDRyxJQUFOLENBQVdOLFFBQVgsQ0FBb0JHLEtBQUssQ0FBQ0MsZUFBTixDQUFzQixDQUF0QixDQUFwQixDQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozt3Q0FFbUJELEssRUFBa0U7QUFDcEYsVUFBTUksT0FBTyxHQUFHLEtBQUtDLGtCQUFMLENBQXdCTCxLQUF4QixDQUFoQjs7QUFDQSxVQUFJSSxPQUFKLEVBQWE7QUFDWCxlQUFPQSxPQUFPLENBQUNFLFFBQWY7QUFDRDs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OzJEQUVzQ04sSyxFQUF3RDtBQUFBLFVBQ3JGSCxRQURxRixHQUN4RUcsS0FBSyxDQUFDRyxJQURrRSxDQUNyRk4sUUFEcUY7QUFFN0YsVUFBTVUsZ0JBQWdCLEdBQUdQLEtBQUssQ0FBQ0MsZUFBTixDQUFzQk8sR0FBdEIsQ0FBMEIsVUFBQ0MsYUFBRDtBQUFBLGVBQW1CWixRQUFRLENBQUNZLGFBQUQsQ0FBM0I7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U0FBU21CLHVCQUFULENBQWlDQyxTQUFqQyxFQUFzREMsU0FBdEQsRUFBcUY7QUFDMUYsTUFBTUMsb0JBQW9CLEdBQUcsQ0FDM0IsQ0FBQ0YsU0FBUyxDQUFDLENBQUQsQ0FBVCxHQUFlQyxTQUFTLENBQUMsQ0FBRCxDQUF6QixJQUFnQyxHQURMLEVBRTNCLENBQUNELFNBQVMsQ0FBQyxDQUFELENBQVQsR0FBZUMsU0FBUyxDQUFDLENBQUQsQ0FBekIsSUFBZ0MsR0FGTCxDQUE3QixDQUQwRixDQUsxRjs7QUFDQSxTQUFPQyxvQkFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR1cmZVbmlvbiBmcm9tICdAdHVyZi91bmlvbic7XG5pbXBvcnQgdHVyZkRpZmZlcmVuY2UgZnJvbSAnQHR1cmYvZGlmZmVyZW5jZSc7XG5pbXBvcnQgdHVyZkludGVyc2VjdCBmcm9tICdAdHVyZi9pbnRlcnNlY3QnO1xuaW1wb3J0IHJld2luZCBmcm9tICdAdHVyZi9yZXdpbmQnO1xuXG5pbXBvcnQge1xuICBFZGl0QWN0aW9uLFxuICBDbGlja0V2ZW50LFxuICBQb2ludGVyTW92ZUV2ZW50LFxuICBTdGFydERyYWdnaW5nRXZlbnQsXG4gIFN0b3BEcmFnZ2luZ0V2ZW50LFxuICBEcmFnZ2luZ0V2ZW50LFxuICBQaWNrLFxuICBUb29sdGlwLFxuICBNb2RlUHJvcHMsXG4gIEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24sXG4gIFRlbnRhdGl2ZUZlYXR1cmUsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlLCBQb2x5Z29uLCBHZW9tZXRyeSwgUG9zaXRpb24gfSBmcm9tICcuLi9nZW9qc29uLXR5cGVzJztcbmltcG9ydCB7IGdldFBpY2tlZEVkaXRIYW5kbGVzLCBnZXROb25HdWlkZVBpY2tzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRWRpdE1vZGUgfSBmcm9tICcuL2VkaXQtbW9kZSc7XG5pbXBvcnQgeyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gJy4vaW1tdXRhYmxlLWZlYXR1cmUtY29sbGVjdGlvbic7XG5cbmV4cG9ydCB0eXBlIEdlb0pzb25FZGl0QWN0aW9uID0gRWRpdEFjdGlvbjxGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmNvbnN0IERFRkFVTFRfR1VJREVTOiBHdWlkZUZlYXR1cmVDb2xsZWN0aW9uID0ge1xuICB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICBmZWF0dXJlczogW10sXG59O1xuY29uc3QgREVGQVVMVF9UT09MVElQUzogVG9vbHRpcFtdID0gW107XG5cbi8vIE1haW4gaW50ZXJmYWNlIGZvciBgRWRpdE1vZGVgcyB0aGF0IGVkaXQgR2VvSlNPTlxuZXhwb3J0IHR5cGUgR2VvSnNvbkVkaXRNb2RlVHlwZSA9IEVkaXRNb2RlPEZlYXR1cmVDb2xsZWN0aW9uLCBGZWF0dXJlQ29sbGVjdGlvbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvSnNvbkVkaXRNb2RlQ29uc3RydWN0b3Ige1xuICBuZXcgKCk6IEdlb0pzb25FZGl0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBjbGFzcyBHZW9Kc29uRWRpdE1vZGUgaW1wbGVtZW50cyBFZGl0TW9kZTxGZWF0dXJlQ29sbGVjdGlvbiwgR3VpZGVGZWF0dXJlQ29sbGVjdGlvbj4ge1xuICBfY2xpY2tTZXF1ZW5jZTogUG9zaXRpb25bXSA9IFtdO1xuXG4gIGdldEd1aWRlcyhwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEd1aWRlRmVhdHVyZUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBERUZBVUxUX0dVSURFUztcbiAgfVxuXG4gIGdldFRvb2x0aXBzKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVG9vbHRpcFtdIHtcbiAgICByZXR1cm4gREVGQVVMVF9UT09MVElQUztcbiAgfVxuXG4gIGdldFNlbGVjdGVkRmVhdHVyZShwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMuc2VsZWN0ZWRJbmRleGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHByb3BzLmRhdGEuZmVhdHVyZXNbcHJvcHMuc2VsZWN0ZWRJbmRleGVzWzBdXTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEdlb21ldHJ5KHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogR2VvbWV0cnkgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5nZXRTZWxlY3RlZEZlYXR1cmUocHJvcHMpO1xuICAgIGlmIChmZWF0dXJlKSB7XG4gICAgICByZXR1cm4gZmVhdHVyZS5nZW9tZXRyeTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEZlYXR1cmVzQXNGZWF0dXJlQ29sbGVjdGlvbihwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IEZlYXR1cmVDb2xsZWN0aW9uIHtcbiAgICBjb25zdCB7IGZlYXR1cmVzIH0gPSBwcm9wcy5kYXRhO1xuICAgIGNvbnN0IHNlbGVjdGVkRmVhdHVyZXMgPSBwcm9wcy5zZWxlY3RlZEluZGV4ZXMubWFwKChzZWxlY3RlZEluZGV4KSA9PiBmZWF0dXJlc1tzZWxlY3RlZEluZGV4XSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdGZWF0dXJlQ29sbGVjdGlvbicsXG4gICAgICBmZWF0dXJlczogc2VsZWN0ZWRGZWF0dXJlcyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q2xpY2tTZXF1ZW5jZSgpOiBQb3NpdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpY2tTZXF1ZW5jZTtcbiAgfVxuXG4gIGFkZENsaWNrU2VxdWVuY2UoeyBtYXBDb29yZHMgfTogQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UucHVzaChtYXBDb29yZHMpO1xuICB9XG5cbiAgcmVzZXRDbGlja1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWNrU2VxdWVuY2UgPSBbXTtcbiAgfVxuXG4gIGdldFRlbnRhdGl2ZUd1aWRlKHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogVGVudGF0aXZlRmVhdHVyZSB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGd1aWRlcyA9IHRoaXMuZ2V0R3VpZGVzKHByb3BzKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZ3VpZGVzLmZlYXR1cmVzLmZpbmQoKGYpID0+IGYucHJvcGVydGllcyAmJiBmLnByb3BlcnRpZXMuZ3VpZGVUeXBlID09PSAndGVudGF0aXZlJyk7XG4gIH1cblxuICBpc1NlbGVjdGlvblBpY2tlZChwaWNrczogUGlja1tdLCBwcm9wczogTW9kZVByb3BzPEZlYXR1cmVDb2xsZWN0aW9uPik6IGJvb2xlYW4ge1xuICAgIGlmICghcGlja3MubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcGlja2VkRmVhdHVyZXMgPSBnZXROb25HdWlkZVBpY2tzKHBpY2tzKS5tYXAoKHsgaW5kZXggfSkgPT4gaW5kZXgpO1xuICAgIGNvbnN0IHBpY2tlZEhhbmRsZXMgPSBnZXRQaWNrZWRFZGl0SGFuZGxlcyhwaWNrcykubWFwKFxuICAgICAgKHsgcHJvcGVydGllcyB9KSA9PiBwcm9wZXJ0aWVzLmZlYXR1cmVJbmRleFxuICAgICk7XG4gICAgY29uc3QgcGlja2VkSW5kZXhlcyA9IG5ldyBTZXQoWy4uLnBpY2tlZEZlYXR1cmVzLCAuLi5waWNrZWRIYW5kbGVzXSk7XG4gICAgcmV0dXJuIHByb3BzLnNlbGVjdGVkSW5kZXhlcy5zb21lKChpbmRleCkgPT4gcGlja2VkSW5kZXhlcy5oYXMoaW5kZXgpKTtcbiAgfVxuXG4gIHJld2luZFBvbHlnb24oZmVhdHVyZTogRmVhdHVyZSk6IEZlYXR1cmUge1xuICAgIGNvbnN0IHsgZ2VvbWV0cnkgfSA9IGZlYXR1cmU7XG5cbiAgICBjb25zdCBpc1BvbHlnb25hbCA9IGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJyB8fCBnZW9tZXRyeS50eXBlID09PSAnTXVsdGlQb2x5Z29uJztcbiAgICBpZiAoaXNQb2x5Z29uYWwpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiByZXdpbmQoZmVhdHVyZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZlYXR1cmU7XG4gIH1cblxuICBnZXRBZGRGZWF0dXJlQWN0aW9uKFxuICAgIGZlYXR1cmVPckdlb21ldHJ5OiBHZW9tZXRyeSB8IEZlYXR1cmUsXG4gICAgZmVhdHVyZXM6IEZlYXR1cmVDb2xsZWN0aW9uXG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHtcbiAgICAvLyBVbnN1cmUgd2h5IGZsb3cgY2FuJ3QgZGVhbCB3aXRoIEdlb21ldHJ5IHR5cGUsIGJ1dCB0aGVyZSBJIGZpeGVkIGl0XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBmZWF0dXJlOiBhbnkgPVxuICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgPyBmZWF0dXJlT3JHZW9tZXRyeUFzQW55XG4gICAgICAgIDoge1xuICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICB9O1xuXG4gICAgY29uc3QgcmV3aW5kRmVhdHVyZSA9IHRoaXMucmV3aW5kUG9seWdvbihmZWF0dXJlKTtcbiAgICBjb25zdCB1cGRhdGVkRGF0YSA9IG5ldyBJbW11dGFibGVGZWF0dXJlQ29sbGVjdGlvbihmZWF0dXJlcylcbiAgICAgIC5hZGRGZWF0dXJlKHJld2luZEZlYXR1cmUpXG4gICAgICAuZ2V0T2JqZWN0KCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdXBkYXRlZERhdGEsXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFt1cGRhdGVkRGF0YS5mZWF0dXJlcy5sZW5ndGggLSAxXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldEFkZE1hbnlGZWF0dXJlc0FjdGlvbihcbiAgICB7IGZlYXR1cmVzOiBmZWF0dXJlc1RvQWRkIH06IEZlYXR1cmVDb2xsZWN0aW9uLFxuICAgIGZlYXR1cmVzOiBGZWF0dXJlQ29sbGVjdGlvblxuICApOiBHZW9Kc29uRWRpdEFjdGlvbiB7XG4gICAgbGV0IHVwZGF0ZWREYXRhID0gbmV3IEltbXV0YWJsZUZlYXR1cmVDb2xsZWN0aW9uKGZlYXR1cmVzKTtcbiAgICBjb25zdCBpbml0aWFsSW5kZXggPSB1cGRhdGVkRGF0YS5nZXRPYmplY3QoKS5mZWF0dXJlcy5sZW5ndGg7XG4gICAgY29uc3QgdXBkYXRlZEluZGV4ZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgZmVhdHVyZXNUb0FkZCkge1xuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcbiAgICAgIGNvbnN0IGdlb21ldHJ5QXNBbnk6IGFueSA9IGdlb21ldHJ5O1xuICAgICAgdXBkYXRlZERhdGEgPSB1cGRhdGVkRGF0YS5hZGRGZWF0dXJlKHtcbiAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBnZW9tZXRyeTogZ2VvbWV0cnlBc0FueSxcbiAgICAgIH0pO1xuICAgICAgdXBkYXRlZEluZGV4ZXMucHVzaChpbml0aWFsSW5kZXggKyB1cGRhdGVkSW5kZXhlcy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cGRhdGVkRGF0YTogdXBkYXRlZERhdGEuZ2V0T2JqZWN0KCksXG4gICAgICBlZGl0VHlwZTogJ2FkZEZlYXR1cmUnLFxuICAgICAgZWRpdENvbnRleHQ6IHtcbiAgICAgICAgZmVhdHVyZUluZGV4ZXM6IHVwZGF0ZWRJbmRleGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0QWRkRmVhdHVyZU9yQm9vbGVhblBvbHlnb25BY3Rpb24oXG4gICAgZmVhdHVyZU9yR2VvbWV0cnk6IFBvbHlnb24gfCBGZWF0dXJlLFxuICAgIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+XG4gICk6IEdlb0pzb25FZGl0QWN0aW9uIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZmVhdHVyZU9yR2VvbWV0cnlBc0FueTogYW55ID0gZmVhdHVyZU9yR2VvbWV0cnk7XG5cbiAgICBjb25zdCBzZWxlY3RlZEZlYXR1cmUgPSB0aGlzLmdldFNlbGVjdGVkRmVhdHVyZShwcm9wcyk7XG4gICAgY29uc3QgeyBtb2RlQ29uZmlnIH0gPSBwcm9wcztcbiAgICBpZiAobW9kZUNvbmZpZyAmJiBtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24pIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXNlbGVjdGVkRmVhdHVyZSB8fFxuICAgICAgICAoc2VsZWN0ZWRGZWF0dXJlLmdlb21ldHJ5LnR5cGUgIT09ICdQb2x5Z29uJyAmJlxuICAgICAgICAgIHNlbGVjdGVkRmVhdHVyZS5nZW9tZXRyeS50eXBlICE9PSAnTXVsdGlQb2x5Z29uJylcbiAgICAgICkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2Jvb2xlYW5PcGVyYXRpb24gb25seSBzdXBwb3J0ZWQgZm9yIHNpbmdsZSBQb2x5Z29uIG9yIE11bHRpUG9seWdvbiBzZWxlY3Rpb24nXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmZWF0dXJlID1cbiAgICAgICAgZmVhdHVyZU9yR2VvbWV0cnlBc0FueS50eXBlID09PSAnRmVhdHVyZSdcbiAgICAgICAgICA/IGZlYXR1cmVPckdlb21ldHJ5QXNBbnlcbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgICAgICAgICAgICBnZW9tZXRyeTogZmVhdHVyZU9yR2VvbWV0cnlBc0FueSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgIGxldCB1cGRhdGVkR2VvbWV0cnk7XG4gICAgICBpZiAobW9kZUNvbmZpZy5ib29sZWFuT3BlcmF0aW9uID09PSAndW5pb24nKSB7XG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZVbmlvbihzZWxlY3RlZEZlYXR1cmUsIGZlYXR1cmUpO1xuICAgICAgfSBlbHNlIGlmIChtb2RlQ29uZmlnLmJvb2xlYW5PcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJykge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHVwZGF0ZWRHZW9tZXRyeSA9IHR1cmZEaWZmZXJlbmNlKHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2UgaWYgKG1vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbiA9PT0gJ2ludGVyc2VjdGlvbicpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB1cGRhdGVkR2VvbWV0cnkgPSB0dXJmSW50ZXJzZWN0KHNlbGVjdGVkRmVhdHVyZSwgZmVhdHVyZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSxuby11bmRlZlxuICAgICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYm9vbGVhbk9wZXJhdGlvbiAke21vZGVDb25maWcuYm9vbGVhbk9wZXJhdGlvbn1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICghdXBkYXRlZEdlb21ldHJ5KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlLG5vLXVuZGVmXG4gICAgICAgIGNvbnNvbGUud2FybignQ2FuY2VsaW5nIGVkaXQuIEJvb2xlYW4gb3BlcmF0aW9uIGVyYXNlZCBlbnRpcmUgcG9seWdvbi4nKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZlYXR1cmVJbmRleCA9IHByb3BzLnNlbGVjdGVkSW5kZXhlc1swXTtcblxuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBuZXcgSW1tdXRhYmxlRmVhdHVyZUNvbGxlY3Rpb24ocHJvcHMuZGF0YSlcbiAgICAgICAgLnJlcGxhY2VHZW9tZXRyeShmZWF0dXJlSW5kZXgsIHVwZGF0ZWRHZW9tZXRyeS5nZW9tZXRyeSlcbiAgICAgICAgLmdldE9iamVjdCgpO1xuXG4gICAgICBjb25zdCBlZGl0QWN0aW9uOiBHZW9Kc29uRWRpdEFjdGlvbiA9IHtcbiAgICAgICAgdXBkYXRlZERhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAndW5pb25HZW9tZXRyeScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7XG4gICAgICAgICAgZmVhdHVyZUluZGV4ZXM6IFtmZWF0dXJlSW5kZXhdLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGVkaXRBY3Rpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEFkZEZlYXR1cmVBY3Rpb24oZmVhdHVyZU9yR2VvbWV0cnksIHByb3BzLmRhdGEpO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IENsaWNrRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVQb2ludGVyTW92ZShldmVudDogUG9pbnRlck1vdmVFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0YXJ0RHJhZ2dpbmcoZXZlbnQ6IFN0YXJ0RHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG4gIGhhbmRsZVN0b3BEcmFnZ2luZyhldmVudDogU3RvcERyYWdnaW5nRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7fVxuICBoYW5kbGVEcmFnZ2luZyhldmVudDogRHJhZ2dpbmdFdmVudCwgcHJvcHM6IE1vZGVQcm9wczxGZWF0dXJlQ29sbGVjdGlvbj4pOiB2b2lkIHt9XG5cbiAgaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHByb3BzOiBNb2RlUHJvcHM8RmVhdHVyZUNvbGxlY3Rpb24+KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMucmVzZXRDbGlja1NlcXVlbmNlKCk7XG4gICAgICBwcm9wcy5vbkVkaXQoe1xuICAgICAgICAvLyBCZWNhdXNlIHRoZSBuZXcgZHJhd2luZyBmZWF0dXJlIGlzIGRyb3BwZWQsIHNvIHRoZSBkYXRhIHdpbGwga2VlcCBhcyB0aGUgc2FtZS5cbiAgICAgICAgdXBkYXRlZERhdGE6IHByb3BzLmRhdGEsXG4gICAgICAgIGVkaXRUeXBlOiAnY2FuY2VsRmVhdHVyZScsXG4gICAgICAgIGVkaXRDb250ZXh0OiB7fSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJtZWRpYXRlUG9zaXRpb24ocG9zaXRpb24xOiBQb3NpdGlvbiwgcG9zaXRpb24yOiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgY29uc3QgaW50ZXJtZWRpYXRlUG9zaXRpb24gPSBbXG4gICAgKHBvc2l0aW9uMVswXSArIHBvc2l0aW9uMlswXSkgLyAyLjAsXG4gICAgKHBvc2l0aW9uMVsxXSArIHBvc2l0aW9uMlsxXSkgLyAyLjAsXG4gIF07XG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGludGVybWVkaWF0ZVBvc2l0aW9uO1xufVxuIl19

@@ -5,3 +5,3 @@ {

"license": "MIT",
"version": "0.19.2",
"version": "0.19.3",
"author": "Georgios Karnas <georgios@uber.com>",

@@ -80,3 +80,3 @@ "repository": {

},
"gitHead": "058dd724a0a8f981296cfd00f509708faed2afba"
"gitHead": "06ddc4bcada99dc03dada42496db16403f01d8e5"
}
export type { EditMode } from './lib/edit-mode';
export type { GeoJsonEditModeType } from './lib/geojson-edit-mode';
export type { GeoJsonEditModeConstructor } from './lib/geojson-edit-mode';

@@ -82,1 +83,5 @@ export { GeoJsonEditMode } from './lib/geojson-edit-mode';

} from './geojson-types';
// Utils
import * as utils from './utils';
export { utils };

@@ -35,2 +35,6 @@ import turfUnion from '@turf/union';

export interface GeoJsonEditModeConstructor {
new (): GeoJsonEditModeType;
}
export class GeoJsonEditMode implements EditMode<FeatureCollection, GuideFeatureCollection> {

@@ -37,0 +41,0 @@ _clickSequence: Position[] = [];

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc