@sd-angular/core 1.3.209 → 1.3.210
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sd-angular-core-export.umd.js +1 -1
- package/bundles/sd-angular-core-export.umd.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.min.js +1 -1
- package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +10 -0
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-table.umd.js +42 -13
- package/bundles/sd-angular-core-table.umd.js.map +1 -1
- package/bundles/sd-angular-core-table.umd.min.js +1 -1
- package/bundles/sd-angular-core-table.umd.min.js.map +1 -1
- package/esm2015/export/src/lib/export.service.js +2 -2
- package/esm2015/grid-material/src/lib/models/grid-column.model.js +11 -1
- package/esm2015/table/src/lib/models/table-column.model.js +11 -1
- package/esm2015/table/src/lib/services/table-configuration.service.js +33 -14
- package/fesm2015/sd-angular-core-export.js +1 -1
- package/fesm2015/sd-angular-core-export.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +10 -0
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-table.js +42 -13
- package/fesm2015/sd-angular-core-table.js.map +1 -1
- package/grid-material/src/lib/models/grid-column.model.d.ts +1 -1
- package/package.json +1 -1
- package/{sd-angular-core-1.3.209.tgz → sd-angular-core-1.3.210.tgz} +0 -0
- package/table/src/lib/models/table-column.model.d.ts +1 -1
- package/table/src/lib/services/table-configuration.service.d.ts +2 -2
|
@@ -419,7 +419,7 @@ export class SdExportService {
|
|
|
419
419
|
if (Array.isArray(headers)) {
|
|
420
420
|
sheet.eachRow((row, rowIndex) => {
|
|
421
421
|
const { hasValues, values, } = row;
|
|
422
|
-
console.log(row, hasValues, values)
|
|
422
|
+
// console.log(row, hasValues, values)
|
|
423
423
|
if (hasValues && rowIndex > 1) {
|
|
424
424
|
const item = {};
|
|
425
425
|
headers.forEach((cellValue, index) => {
|
|
@@ -487,4 +487,4 @@ SdExportService.ctorParameters = () => [
|
|
|
487
487
|
{ type: SdNotifyService },
|
|
488
488
|
{ type: undefined, decorators: [{ type: Inject, args: [FIREBASE_CONFIG,] }, { type: Optional }] }
|
|
489
489
|
];
|
|
490
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2V4cG9ydC8iLCJzb3VyY2VzIjpbInNyYy9saWIvZXhwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFTLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBbUMsR0FBRyxFQUFzQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUEwQixNQUFNLHlCQUF5QixDQUFDOzs7OztBQUtsRixNQUFNLE9BQU8sZUFBZTtJQStIMUIsWUFDVSxVQUF3QixFQUN4QixhQUE4QixFQUNPLHFCQUE2QztRQUZsRixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUNPLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUE3RzVGLHNCQUE4QjtZQUM1QixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFDekIsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFDdkIsS0FBSyxFQUFFLEVBQUUsS0FB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QVksVUFBVTtRQUNwQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7Ozs7WUF0QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFYUSxZQUFZO1lBTVosZUFBZTs0Q0F3SW5CLE1BQU0sU0FBQyxlQUFlLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEFwaVNlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2FwaSc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgRXhwb3J0VG9Dc3YgfSBmcm9tICdleHBvcnQtdG8tY3N2JztcclxuaW1wb3J0IHsgV29ya2Jvb2ssIFN0eWxlIH0gZnJvbSAnZXhjZWxqcyc7XHJcbmltcG9ydCB7IFNkRXhwb3J0VGVtcGxhdGUsIElFeHBvcnRPcHRpb24sIEFQSSwgU2RFeHBvcnRGaWxlLCBTZEV4cG9ydEN1c3RvbU9wdGlvbiB9IGZyb20gJy4vZXhwb3J0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2ROb3RpZnlTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9ub3RpZnknO1xyXG5pbXBvcnQgeyBGSVJFQkFTRV9DT05GSUcsIElGaXJlYmFzZUNvbmZpZ3VyYXRpb24gfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEV4cG9ydFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZ2V0IGZ1bmN0aW9uVXJsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uPy5mdW5jdGlvblVybDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgcHJvamVjdCwgZW52IH0gPSB0aGlzLmZpcmViYXNlQ29uZmlndXJhdGlvbjtcclxuICAgIHJldHVybiBgJHtwcm9qZWN0fS0ke2Vudn1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdXNlckZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9sZGVyIH0gPSB0aGlzLmZpcmViYXNlQ29uZmlndXJhdGlvbjtcclxuICAgIGlmICghZm9sZGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgKGZvbGRlcikgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBmb2xkZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9sZGVyKCk7XHJcbiAgfVxyXG5cclxuICAjZmllbGRTdHlsZTogUGFydGlhbDxTdHlsZT4gPSB7XHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfVxyXG4gICAgfSxcclxuICAgIGFsaWdubWVudDoge1xyXG4gICAgICB2ZXJ0aWNhbDogJ21pZGRsZScsXHJcbiAgICAgIGhvcml6b250YWw6ICdjZW50ZXInLFxyXG4gICAgICB3cmFwVGV4dDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGZvbnQ6IHtcclxuICAgICAgYm9sZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogMTEsXHJcbiAgICAgIGNvbG9yOiB7IGFyZ2I6ICcwMDAwMDAnIH0sXHJcbiAgICB9LFxyXG4gICAgZmlsbDoge1xyXG4gICAgICB0eXBlOiAncGF0dGVybicsXHJcbiAgICAgIHBhdHRlcm46ICdzb2xpZCcsXHJcbiAgICAgIGZnQ29sb3I6IHtcclxuICAgICAgICBhcmdiOiAnRkFGQUZBJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICN0aXRsZUNvbG9yID0gJ0ZGRkZGRic7XHJcbiAgI3RpdGxlRmdDb2xvciA9ICcxNDMxODAnO1xyXG4gICN0aXRsZVN0eWxlOiBQYXJ0aWFsPFN0eWxlPiA9IHtcclxuICAgIGJvcmRlcjoge1xyXG4gICAgICBib3R0b206IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICBsZWZ0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgcmlnaHQ6IHsgc3R5bGU6ICd0aGluJyB9XHJcbiAgICB9LFxyXG4gICAgYWxpZ25tZW50OiB7XHJcbiAgICAgIHZlcnRpY2FsOiAnbWlkZGxlJyxcclxuICAgICAgaG9yaXpvbnRhbDogJ2NlbnRlcicsXHJcbiAgICAgIHdyYXBUZXh0OiB0cnVlXHJcbiAgICB9LFxyXG4gICAgZm9udDoge1xyXG4gICAgICBib2xkOiB0cnVlLFxyXG4gICAgICBzaXplOiAxMSxcclxuICAgICAgY29sb3I6IHsgYXJnYjogdGhpcy4jdGl0bGVDb2xvciB9LFxyXG4gICAgfSxcclxuICAgIGZpbGw6IHtcclxuICAgICAgdHlwZTogJ3BhdHRlcm4nLFxyXG4gICAgICBwYXR0ZXJuOiAnc29saWQnLFxyXG4gICAgICBmZ0NvbG9yOiB7XHJcbiAgICAgICAgYXJnYjogdGhpcy4jdGl0bGVGZ0NvbG9yLFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjcmVxdWlyZWRTdHlsZTogUGFydGlhbDxTdHlsZT4gPSB7XHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfVxyXG4gICAgfSxcclxuICAgIGFsaWdubWVudDoge1xyXG4gICAgICB2ZXJ0aWNhbDogJ21pZGRsZScsXHJcbiAgICAgIGhvcml6b250YWw6ICdjZW50ZXInLFxyXG4gICAgICB3cmFwVGV4dDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGZvbnQ6IHtcclxuICAgICAgaXRhbGljOiB0cnVlLFxyXG4gICAgICBzaXplOiAxMSxcclxuICAgICAgY29sb3I6IHsgYXJnYjogJ0ZGRkZGRicgfSxcclxuICAgIH0sXHJcbiAgICBmaWxsOiB7XHJcbiAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcclxuICAgICAgcGF0dGVybjogJ3NvbGlkJyxcclxuICAgICAgZmdDb2xvcjoge1xyXG4gICAgICAgIGFyZ2I6ICdGRjE3NDQnXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICNkZXNjcmlwdGlvblN0eWxlOiBQYXJ0aWFsPFN0eWxlPiA9IHtcclxuICAgIGJvcmRlcjoge1xyXG4gICAgICBib3R0b206IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICBsZWZ0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgcmlnaHQ6IHsgc3R5bGU6ICd0aGluJyB9XHJcbiAgICB9LFxyXG4gICAgYWxpZ25tZW50OiB7XHJcbiAgICAgIHdyYXBUZXh0OiB0cnVlXHJcbiAgICB9LFxyXG4gICAgZm9udDoge1xyXG4gICAgICBpdGFsaWM6IHRydWUsXHJcbiAgICAgIHNpemU6IDksXHJcbiAgICAgIGNvbG9yOiB7IGFyZ2I6ICcwMDAwMDAnIH0sXHJcbiAgICB9LFxyXG4gICAgZmlsbDoge1xyXG4gICAgICB0eXBlOiAncGF0dGVybicsXHJcbiAgICAgIHBhdHRlcm46ICdzb2xpZCcsXHJcbiAgICAgIGZnQ29sb3I6IHtcclxuICAgICAgICBhcmdiOiAnQ0ZEOERDJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjY2VsbFN0eWxlOiBQYXJ0aWFsPFN0eWxlPiA9IHtcclxuICAgIGFsaWdubWVudDoge1xyXG4gICAgICB2ZXJ0aWNhbDogJ21pZGRsZScsXHJcbiAgICAgIHdyYXBUZXh0OiB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogU2RBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KEZJUkVCQVNFX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmaXJlYmFzZUNvbmZpZ3VyYXRpb246IElGaXJlYmFzZUNvbmZpZ3VyYXRpb24pIHtcclxuICB9XHJcblxyXG4gICNkaXJlY3RvcnkgPSAoa2V5OiBzdHJpbmcsIGdyb3VwOiBzdHJpbmcpID0+IHtcclxuICAgIGxldCBoYXNoZWRGb2xkZXIgPSBoYXNoKHtcclxuICAgICAgZm9sZGVyOiB0aGlzLmZvbGRlcixcclxuICAgICAgdXNlckZvbGRlcjogdGhpcy51c2VyRm9sZGVyXHJcbiAgICB9KTtcclxuICAgIGlmICghZ3JvdXApIHtcclxuICAgICAgcmV0dXJuIGBkaXIxPSR7dGhpcy5mb2xkZXJ9JmRpcjI9VS0ke2hhc2hlZEZvbGRlcn0mZGlyMz0ke2tleSB8fCAnJ31gO1xyXG4gICAgfVxyXG4gICAgaGFzaGVkRm9sZGVyID0gaGFzaCh7XHJcbiAgICAgIGZvbGRlcjogdGhpcy5mb2xkZXIsXHJcbiAgICAgIGdyb3VwXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBgZGlyMT0ke3RoaXMuZm9sZGVyfSZkaXIyPUctJHtoYXNoZWRGb2xkZXJ9JmRpcjM9JHtrZXkgfHwgJyd9YDtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVGVtcGxhdGUgPSBhc3luYyAodGVtcGxhdGU6IFNkRXhwb3J0VGVtcGxhdGUpID0+IHtcclxuICAgIGNvbnN0IHsgZmlsZU5hbWUsIGNvbHVtbnMsIHNoZWV0cyB9ID0gdGVtcGxhdGU7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29sdW1ucykpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeGNlbCB0ZW1wbGF0ZSBjb2x1bW5zIG11c3QgYmUgYW4gYXJyYXknKTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgW2lkeCwgY29sdW1uXSBvZiBjb2x1bW5zLmVudHJpZXMoKSkge1xyXG4gICAgICBpZiAoIWNvbHVtbi5maWVsZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29sdW1uICR7aWR4ICsgMX06IEZpZWxkIGlzIHJlcXVpcmVkYCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFjb2x1bW4udGl0bGUpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbHVtbiAke2lkeCArIDF9OiBUaXRsZSBpcyByZXF1aXJlZGApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBoYXNEZXNjcmlwdGlvbiA9IGNvbHVtbnMuc29tZShjb2x1bW4gPT4gY29sdW1uLmRlc2NyaXB0aW9uKTtcclxuICAgIGNvbnN0IHdvcmtib29rID0gbmV3IFdvcmtib29rKCk7IC8vYXdhaXQgWGxzeFBvcHVsYXRlLmZyb21CbGFua0FzeW5jKCk7IC8vIMSQ4buNYyBmaWxlIHNhdSBraGkgxJHDoyBkb3dubG9hZFxyXG4gICAgY29uc3QgZmlyc3RTaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldCgndGVtcGxhdGUnKTsgLy8gTOG6pXkgcmEgc2hlZXQgxJHhuqd1IHRpw6puXHJcbiAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgeyByZXF1aXJlZCwgZmlsbCwgZm9udENvbG9yIH0gPSBjb2x1bW47XHJcbiAgICAgIGNvbnN0IGNlbGxGaWVsZCA9IGZpcnN0U2hlZXQuZ2V0Q2VsbCgxLCBpbmRleCArIDEpO1xyXG4gICAgICBjb25zdCBjZWxsVGl0bGUgPSBmaXJzdFNoZWV0LmdldENlbGwoMiwgaW5kZXggKyAxKTtcclxuICAgICAgY29uc3QgY2VsbERlc2NyaXB0aW9uID0gZmlyc3RTaGVldC5nZXRDZWxsKDMsIGluZGV4ICsgMSk7XHJcbiAgICAgIGxldCB3aWR0aCA9IDEyMDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCAmJiBjb2x1bW4ud2lkdGguZW5kc1dpdGgoJ3B4JykpIHtcclxuICAgICAgICB3aWR0aCA9ICtjb2x1bW4ud2lkdGgucmVwbGFjZSgncHgnLCAnJyk7XHJcbiAgICAgIH1cclxuICAgICAgZmlyc3RTaGVldC5nZXRDb2x1bW4oaW5kZXggKyAxKS53aWR0aCA9IHdpZHRoIC8gNyB8fCAyMDtcclxuICAgICAgY2VsbEZpZWxkLnN0eWxlID0gdGhpcy4jZmllbGRTdHlsZTtcclxuICAgICAgaWYgKHJlcXVpcmVkKSB7XHJcbiAgICAgICAgY2VsbEZpZWxkLnN0eWxlID0gdGhpcy4jcmVxdWlyZWRTdHlsZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjZWxsRmllbGQuc3R5bGUgPSB0aGlzLiNmaWVsZFN0eWxlO1xyXG4gICAgICB9XHJcbiAgICAgIGNlbGxUaXRsZS5zdHlsZSA9IHtcclxuICAgICAgICAuLi50aGlzLiN0aXRsZVN0eWxlLFxyXG4gICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgIC4uLnRoaXMuI3RpdGxlU3R5bGU/LmZvbnQsXHJcbiAgICAgICAgICBjb2xvcjoge1xyXG4gICAgICAgICAgICAuLi50aGlzLiN0aXRsZVN0eWxlPy5mb250Py5jb2xvcixcclxuICAgICAgICAgICAgYXJnYjogZm9udENvbG9yIHx8IHRoaXMuI3RpdGxlU3R5bGU/LmZvbnQ/LmNvbG9yPy5hcmdiXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBmaWxsOiB7XHJcbiAgICAgICAgICB0eXBlOiAncGF0dGVybicsXHJcbiAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxyXG4gICAgICAgICAgZmdDb2xvcjoge1xyXG4gICAgICAgICAgICBhcmdiOiBmaWxsIHx8IHRoaXMuI3RpdGxlRmdDb2xvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgY2VsbEZpZWxkLnZhbHVlID0gY29sdW1uLmZpZWxkO1xyXG4gICAgICBjZWxsVGl0bGUudmFsdWUgPSBjb2x1bW4udGl0bGU7XHJcbiAgICAgIGlmIChoYXNEZXNjcmlwdGlvbikge1xyXG4gICAgICAgIGNlbGxEZXNjcmlwdGlvbi5zdHlsZSA9IHRoaXMuI2Rlc2NyaXB0aW9uU3R5bGU7XHJcbiAgICAgICAgY2VsbERlc2NyaXB0aW9uLnZhbHVlID0gY29sdW1uLmRlc2NyaXB0aW9uIHx8ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzaGVldHM/Lmxlbmd0aCkge1xyXG4gICAgICBmb3IgKGNvbnN0IHNoZWV0IG9mIHNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuZmllbGRzKSkge1xyXG4gICAgICAgICAgY29uc3QgbmV3U2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoc2hlZXQubmFtZSk7XHJcbiAgICAgICAgICBzaGVldC5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENvbHVtbihpbmRleCArIDEpLndpZHRoID0gMzA7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS5zdHlsZSA9IHRoaXMuI3RpdGxlU3R5bGU7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS52YWx1ZSA9IGZpZWxkO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBzaGVldC5pdGVtcy5mb3JFYWNoKChpdGVtLCBpZHgxKSA9PiB7XHJcbiAgICAgICAgICAgIHNoZWV0LmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaWR4MikgPT4ge1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS52YWx1ZSA9IGl0ZW1bZmllbGRdO1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS5zdHlsZSA9IHRoaXMuI2NlbGxTdHlsZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCk7XHJcbiAgICBTZFV0aWxpdHkuZG93bmxvYWRCbG9iKG5ldyBCbG9iKFtmaWxlXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnIH0pLCBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRUZW1wbGF0ZSA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gICAgdmFsaWRhdG9yPzogKGZpbGVOYW1lOiBzdHJpbmcpID0+IHN0cmluZ1xyXG4gIH0pOiBQcm9taXNlPFNkRXhwb3J0RmlsZT4gPT4ge1xyXG4gICAgY29uc3QgeyBrZXksIGdyb3VwLCB2YWxpZGF0b3IgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IHVwbG9hZFRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmZ1bmN0aW9uVXJsfSR7dXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgU2RVdGlsaXR5LnVwbG9hZCh7XHJcbiAgICAgIGV4dGVuc2lvbnM6IFsneGxzeCddLFxyXG4gICAgICBtYXhTaXplSW5NYjogMC4xLFxyXG4gICAgICB2YWxpZGF0b3JcclxuICAgIH0pO1xyXG4gICAgaWYgKGZpbGUpIHtcclxuICAgICAgY29uc3QgeyBmaWxlUGF0aCwgZmlsZU5hbWUgfSA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS51cGxvYWQodXJsLCBmaWxlKS5jYXRjaCgoZXJyOiBFcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubm90aWZ5U2VydmljZS5ub3RpZnkud2FybmluZyhlcnI/Lm1lc3NhZ2UpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZmlsZVBhdGgsXHJcbiAgICAgICAgZmlsZU5hbWUsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB0ZW1wbGF0ZTogU2RFeHBvcnRUZW1wbGF0ZTtcclxuICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsga2V5LCB0ZW1wbGF0ZSwgZ3JvdXAgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZnVuY3Rpb25Vcmx9JHtnZW5lcmF0ZVVwbG9hZFRlbXBsYXRlfT8ke3RoaXMuI2RpcmVjdG9yeShrZXksIGdyb3VwKX1gO1xyXG4gICAgY29uc3QgeyBmaWxlUGF0aCwgZmlsZU5hbWUgfSA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS5wb3N0KHVybCwgdGVtcGxhdGUpO1xyXG4gICAgcmV0dXJuIHsgZmlsZVBhdGgsIGZpbGVOYW1lIH07XHJcbiAgfVxyXG5cclxuICByZW1vdmVGaWxlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICBmaWxlTmFtZT86IHN0cmluZztcclxuICB9KSA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgZ3JvdXAsIGZpbGVOYW1lIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyByZW1vdmVGaWxlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmZ1bmN0aW9uVXJsfSR7cmVtb3ZlRmlsZX0/JHt0aGlzLiNkaXJlY3Rvcnkoa2V5LCBncm91cCl9Jm5hbWU9JHtmaWxlTmFtZX1gO1xyXG4gICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsKTtcclxuICB9XHJcblxyXG4gIGZpbGVzSW5Gb2xkZXIgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxTZEV4cG9ydEZpbGVbXT4gPT4ge1xyXG4gICAgaW50ZXJmYWNlIEZpbGVzSW5Gb2xkZXJSZXMge1xyXG4gICAgICBkaXJlY3Rvcnk6IHN0cmluZztcclxuICAgICAgZmlsZXM6IHtcclxuICAgICAgICBwdWJsaWNVcmw6IHN0cmluZywgZnVsbFBhdGg6IHN0cmluZywgbmFtZTogc3RyaW5nXHJcbiAgICAgIH1bXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsga2V5LCBncm91cCB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlsZXNJbkZvbGRlciB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5mdW5jdGlvblVybH0ke2ZpbGVzSW5Gb2xkZXJ9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UuZ2V0PEZpbGVzSW5Gb2xkZXJSZXM+KHVybCk7XHJcbiAgICByZXR1cm4gcmVzLmZpbGVzPy5tYXAoZSA9PiAoe1xyXG4gICAgICBmaWxlUGF0aDogZS5wdWJsaWNVcmwsXHJcbiAgICAgIGZpbGVOYW1lOiBlLm5hbWVcclxuICAgIH0pKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkID0gKGZpbGVQYXRoOiBzdHJpbmcsIGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBsaW5rLmRvd25sb2FkID0gYCR7ZmlsZU5hbWUgfHwgdXVpZC52NCgpfS54bHN4YDtcclxuICAgIGxpbmsuaHJlZiA9IGZpbGVQYXRoO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRCeVRlbXBsYXRlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXHJcbiAgICBjb2x1bW5zOiBhbnlbXSxcclxuICAgIGl0ZW1zOiBhbnlbXSxcclxuICAgIGZpbGVOYW1lPzogc3RyaW5nXHJcbiAgfSkgPT4ge1xyXG4gICAgY29uc3QgeyBmaWxlUGF0aCwgY29sdW1ucywgaXRlbXMsIGZpbGVOYW1lIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBzZEV4cG9ydEJ5VGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZnVuY3Rpb25Vcmx9JHtzZEV4cG9ydEJ5VGVtcGxhdGV9YDtcclxuICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS5wb3N0KHVybCwge1xyXG4gICAgICBmaWxlUGF0aCxcclxuICAgICAgY29sdW1ucyxcclxuICAgICAgaXRlbXMsXHJcbiAgICAgIGZpbGVOYW1lXHJcbiAgICB9LCBudWxsLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2Jhc2U2NCwnIH0pO1xyXG4gICAgU2RVdGlsaXR5LmRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRDU1YgPSBhc3luYyAob3B0aW9uOiBJRXhwb3J0T3B0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gb3B0aW9uO1xyXG4gICAgY29uc3QgaGVhZGVyQ1NWID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIGhlYWRlckNTVltjb2x1bW4uZmllbGRdID0gY29sdW1uLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3N2RXhwb3J0ZXIgPSBuZXcgRXhwb3J0VG9Dc3Yoe1xyXG4gICAgICBmaWxlbmFtZTogYCR7ZmlsZU5hbWUgfHwgJ0NTVid9XyR7RGF0ZS50b0Zvcm1hdChuZXcgRGF0ZSgpLCAneXl5eS1NTS1kZC1ISC1tbS1zcycpfWAsXHJcbiAgICAgIGZpZWxkU2VwYXJhdG9yOiAnLCcsXHJcbiAgICAgIHF1b3RlU3RyaW5nczogJ1wiJyxcclxuICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJy4nLFxyXG4gICAgICBzaG93TGFiZWxzOiB0cnVlLFxyXG4gICAgICBzaG93VGl0bGU6IGZhbHNlLFxyXG4gICAgICB0aXRsZTogZmlsZU5hbWUgfHwgJ0NTVicsXHJcbiAgICAgIHVzZUJvbTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgY3N2RXhwb3J0ZXIuZ2VuZXJhdGVDc3YoW2hlYWRlckNTViwgLi4uaXRlbXNdKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCA9IGFzeW5jIChvcHRpb246IElFeHBvcnRPcHRpb24pID0+IHtcclxuICAgIGNvbnN0IHsgY29sdW1ucywgaXRlbXMsIGZpbGVOYW1lLCBzaGVldHMgfSA9IG9wdGlvbjtcclxuICAgIGxldCBoYXNEZXNjcmlwdGlvbiA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBbaWR4LCBjb2x1bW5dIG9mIGNvbHVtbnMuZW50cmllcygpKSB7XHJcbiAgICAgIGlmICghY29sdW1uLmZpZWxkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb2x1bW4gJHtpZHggKyAxfTogRmllbGQgaXMgcmVxdWlyZWRgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNvbHVtbi50aXRsZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29sdW1uICR7aWR4ICsgMX06IFRpdGxlIGlzIHJlcXVpcmVkYCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbHVtbi5kZXNjcmlwdGlvbikge1xyXG4gICAgICAgIGhhc0Rlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgd29ya2Jvb2sgPSBuZXcgV29ya2Jvb2soKTsgLy9hd2FpdCBYbHN4UG9wdWxhdGUuZnJvbUJsYW5rQXN5bmMoKTsgLy8gxJDhu41jIGZpbGUgc2F1IGtoaSDEkcOjIGRvd25sb2FkXHJcbiAgICBjb25zdCBmaXJzdFNoZWV0ID0gd29ya2Jvb2suYWRkV29ya3NoZWV0KCdkYXRhJyk7IC8vIEzhuqV5IHJhIHNoZWV0IMSR4bqndSB0acOqblxyXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4sIGluZGV4KSA9PiB7XHJcbiAgICAgIGxldCB3aWR0aCA9IDEyMDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCAmJiBjb2x1bW4ud2lkdGguZW5kc1dpdGgoJ3B4JykpIHtcclxuICAgICAgICB3aWR0aCA9ICtjb2x1bW4ud2lkdGgucmVwbGFjZSgncHgnLCAnJyk7XHJcbiAgICAgIH1cclxuICAgICAgZmlyc3RTaGVldC5nZXRDb2x1bW4oaW5kZXggKyAxKS53aWR0aCA9IHdpZHRoIC8gNyB8fCAyMDtcclxuICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKDEsIGluZGV4ICsgMSkuc3R5bGUgPSB0aGlzLiNmaWVsZFN0eWxlXHJcbiAgICAgIGlmIChjb2x1bW4ucmVxdWlyZWQpIHtcclxuICAgICAgICBmaXJzdFNoZWV0LmdldENlbGwoMiwgaW5kZXggKyAxKS5zdHlsZSA9IHRoaXMuI3JlcXVpcmVkU3R5bGU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKDIsIGluZGV4ICsgMSkuc3R5bGUgPSB0aGlzLiN0aXRsZVN0eWxlO1xyXG4gICAgICB9XHJcbiAgICAgIGZpcnN0U2hlZXQuZ2V0Q2VsbCgxLCBpbmRleCArIDEpLnZhbHVlID0gY29sdW1uLmZpZWxkO1xyXG4gICAgICBmaXJzdFNoZWV0LmdldENlbGwoMiwgaW5kZXggKyAxKS52YWx1ZSA9IGNvbHVtbi50aXRsZTtcclxuICAgICAgaWYgKGhhc0Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKDMsIGluZGV4ICsgMSkuc3R5bGUgPSB0aGlzLiNkZXNjcmlwdGlvblN0eWxlO1xyXG4gICAgICAgIGZpcnN0U2hlZXQuZ2V0Q2VsbCgzLCBpbmRleCArIDEpLnZhbHVlID0gY29sdW1uLmRlc2NyaXB0aW9uIHx8ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzaGVldHM/Lmxlbmd0aCkge1xyXG4gICAgICBmb3IgKGNvbnN0IHNoZWV0IG9mIHNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuZmllbGRzKSkge1xyXG4gICAgICAgICAgY29uc3QgbmV3U2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoc2hlZXQubmFtZSk7XHJcbiAgICAgICAgICBzaGVldC5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENvbHVtbihpbmRleCArIDEpLndpZHRoID0gMzA7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS5zdHlsZSA9IHRoaXMuI3RpdGxlU3R5bGU7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS52YWx1ZSA9IGZpZWxkO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBzaGVldC5pdGVtcy5mb3JFYWNoKChpdGVtLCBpZHgxKSA9PiB7XHJcbiAgICAgICAgICAgIHNoZWV0LmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaWR4MikgPT4ge1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS52YWx1ZSA9IGl0ZW1bZmllbGRdO1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS5zdHlsZSA9IHRoaXMuI2NlbGxTdHlsZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmcm9tUm93ID0gaGFzRGVzY3JpcHRpb24gPyA0IDogMztcclxuICAgIGl0ZW1zLmZvckVhY2goKGUsIGlkeDEpID0+IHtcclxuICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4sIGlkeDIpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIChlW2NvbHVtbi5maWVsZF0pID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKGZyb21Sb3cgKyBpZHgxLCAxICsgaWR4MikudmFsdWUgPSArZVtjb2x1bW4uZmllbGRdO1xyXG4gICAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKGZyb21Sb3cgKyBpZHgxLCAxICsgaWR4MikubnVtRm10ID0gJyMnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmaXJzdFNoZWV0LmdldENlbGwoZnJvbVJvdyArIGlkeDEsIDEgKyBpZHgyKS52YWx1ZSA9IGVbY29sdW1uLmZpZWxkXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKGZyb21Sb3cgKyBpZHgxLCAxICsgaWR4Mikuc3R5bGUgPSB0aGlzLiNjZWxsU3R5bGU7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpO1xyXG4gICAgU2RVdGlsaXR5LmRvd25sb2FkQmxvYihuZXcgQmxvYihbZmlsZV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KSwgZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0Q3VzdG9tID0gYXN5bmMgKG9wdGlvbjogU2RFeHBvcnRDdXN0b21PcHRpb24pID0+IHtcclxuICAgIGNvbnN0IHsgZmlsZU5hbWUsIHNoZWV0cyB9ID0gb3B0aW9uO1xyXG4gICAgaWYgKCFzaGVldHM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcoJ1Bo4bqjaSBjw7Mgw610IG5o4bqldCAxIHNoZWV0Jyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHdvcmtib29rID0gbmV3IFdvcmtib29rKCk7XHJcbiAgICBmb3IgKGNvbnN0IFtpZHgsIHNoZWV0XSBvZiBzaGVldHMuZW50cmllcygpKSB7XHJcbiAgICAgIGNvbnN0IHsgbmFtZSwgY29sdW1ucywgY2VsbHMgfSA9IHNoZWV0XHJcbiAgICAgIGNvbnN0IHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldChuYW1lIHx8IGBTaGVldCAke2lkeCArIDF9YCk7XHJcbiAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIChjb2x1bW5zIHx8IFtdKSkge1xyXG4gICAgICAgIHdvcmtzaGVldC5nZXRDb2x1bW4oY29sdW1uLmluZGV4KS5zdHlsZSA9IGNvbHVtbi5zdHlsZTtcclxuICAgICAgICB3b3Jrc2hlZXQuZ2V0Q29sdW1uKGNvbHVtbi5pbmRleCkud2lkdGggPSBjb2x1bW4ud2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBjZWxsIG9mIGNlbGxzKSB7XHJcbiAgICAgICAgY29uc3QgeyByb3csIGNvbHVtbiwgdmFsdWUsIHN0eWxlIH0gPSBjZWxsO1xyXG4gICAgICAgIHdvcmtzaGVldC5nZXRDZWxsKHJvdywgY29sdW1uKS5zdHlsZSA9IHN0eWxlIHx8IHdvcmtzaGVldC5nZXRDb2x1bW4oY29sdW1uKS5zdHlsZTtcclxuICAgICAgICB3b3Jrc2hlZXQuZ2V0Q2VsbChyb3csIGNvbHVtbikudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHdvcmtib29rLnhsc3gud3JpdGVCdWZmZXIoKTtcclxuICAgIFNkVXRpbGl0eS5kb3dubG9hZEJsb2IobmV3IEJsb2IoW2ZpbGVdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcgfSksIGZpbGVOYW1lKTtcclxuICB9XHJcblxyXG4gIG1lcmdlUERGID0gYXN5bmMgKHVybHM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICBjb25zdCB7IHNkTWVyZ2VQREYgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZnVuY3Rpb25Vcmx9JHtzZE1lcmdlUERGfWA7XHJcbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIHtcclxuICAgICAgdXJsc1xyXG4gICAgfSwgbnVsbCwge1xyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcidcclxuICAgIH0pO1xyXG4gICAgU2RVdGlsaXR5LmRvd25sb2FkQmxvYihuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KSk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRYbHN4ID0gYXN5bmMgKCk6IFByb21pc2U8eyBpdGVtczogYW55W10sIGZpbGU6IEZpbGUgfSB8IHVuZGVmaW5lZD4gPT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IFNkVXRpbGl0eS51cGxvYWQoe1xyXG4gICAgICBleHRlbnNpb25zOiBbJ3hsc3gnXSxcclxuICAgICAgbWF4U2l6ZUluTWI6IDEwLFxyXG4gICAgfSkudGhlbihmaWxlID0+IHtcclxuICAgICAgaWYgKGZpbGUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8eyBpdGVtczogYW55W10sIGZpbGU6IEZpbGUgfT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgd2IgPSBuZXcgV29ya2Jvb2soKTtcclxuICAgICAgICAgIGNvbnN0IHJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBidWZmZXIgPSByZWFkZXIucmVzdWx0IGFzIEFycmF5QnVmZmVyO1xyXG4gICAgICAgICAgICBpZiAoIWJ1ZmZlcikge1xyXG4gICAgICAgICAgICAgIHJlamVjdCgnQ8OzIGzhu5dpIHjhuqN5IHJhIGtoaSDEkeG7jWMgZmlsZScpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB3Yi54bHN4LmxvYWQoYnVmZmVyKS50aGVuKHdvcmtib29rID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBzaGVldCA9IHdvcmtib29rLndvcmtzaGVldHNbMF07XHJcbiAgICAgICAgICAgICAgaWYgKCFzaGVldCkge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KCdLaMO0bmcgdMOsbSB0aOG6pXkgZOG7ryBsaeG7h3UgaW1wb3J0Jyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBzaGVldC5nZXRSb3coMSkudmFsdWVzO1xyXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGhlYWRlcnMpKSB7XHJcbiAgICAgICAgICAgICAgICBzaGVldC5lYWNoUm93KChyb3csIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHsgaGFzVmFsdWVzLCB2YWx1ZXMsIH0gPSByb3c7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJvdywgaGFzVmFsdWVzLCB2YWx1ZXMpXHJcbiAgICAgICAgICAgICAgICAgIGlmIChoYXNWYWx1ZXMgJiYgcm93SW5kZXggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbTogYW55ID0ge307XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5mb3JFYWNoKChjZWxsVmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gY2VsbFZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gdmFsdWVzW2luZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAoaXRlbVtmaWVsZF0pID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gaXRlbVtmaWVsZF0udHJpbSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtW2ZpZWxkXSA9PT0gJycgfHwgaXRlbVtmaWVsZF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICBmaWxlXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaXRlbXM6IFtdLFxyXG4gICAgICAgICAgZmlsZTogbnVsbFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufSJdfQ==
|
|
490
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2V4cG9ydC8iLCJzb3VyY2VzIjpbInNyYy9saWIvZXhwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFTLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBbUMsR0FBRyxFQUFzQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUEwQixNQUFNLHlCQUF5QixDQUFDOzs7OztBQUtsRixNQUFNLE9BQU8sZUFBZTtJQStIMUIsWUFDVSxVQUF3QixFQUN4QixhQUE4QixFQUNPLHFCQUE2QztRQUZsRixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUNPLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUE3RzVGLHNCQUE4QjtZQUM1QixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFDekIsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFDdkIsS0FBSyxFQUFFLEVBQUUsS0FB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LHFCQUFxQixDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7Ozs7WUF0QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFYUSxZQUFZO1lBTVosZUFBZTs0Q0F3SW5CLE1BQU0sU0FBQyxlQUFlLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEFwaVNlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2FwaSc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgRXhwb3J0VG9Dc3YgfSBmcm9tICdleHBvcnQtdG8tY3N2JztcclxuaW1wb3J0IHsgV29ya2Jvb2ssIFN0eWxlIH0gZnJvbSAnZXhjZWxqcyc7XHJcbmltcG9ydCB7IFNkRXhwb3J0VGVtcGxhdGUsIElFeHBvcnRPcHRpb24sIEFQSSwgU2RFeHBvcnRGaWxlLCBTZEV4cG9ydEN1c3RvbU9wdGlvbiB9IGZyb20gJy4vZXhwb3J0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2ROb3RpZnlTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9ub3RpZnknO1xyXG5pbXBvcnQgeyBGSVJFQkFTRV9DT05GSUcsIElGaXJlYmFzZUNvbmZpZ3VyYXRpb24gfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEV4cG9ydFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZ2V0IGZ1bmN0aW9uVXJsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uPy5mdW5jdGlvblVybDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgcHJvamVjdCwgZW52IH0gPSB0aGlzLmZpcmViYXNlQ29uZmlndXJhdGlvbjtcclxuICAgIHJldHVybiBgJHtwcm9qZWN0fS0ke2Vudn1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdXNlckZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9sZGVyIH0gPSB0aGlzLmZpcmViYXNlQ29uZmlndXJhdGlvbjtcclxuICAgIGlmICghZm9sZGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgKGZvbGRlcikgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBmb2xkZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9sZGVyKCk7XHJcbiAgfVxyXG5cclxuICAjZmllbGRTdHlsZTogUGFydGlhbDxTdHlsZT4gPSB7XHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfVxyXG4gICAgfSxcclxuICAgIGFsaWdubWVudDoge1xyXG4gICAgICB2ZXJ0aWNhbDogJ21pZGRsZScsXHJcbiAgICAgIGhvcml6b250YWw6ICdjZW50ZXInLFxyXG4gICAgICB3cmFwVGV4dDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGZvbnQ6IHtcclxuICAgICAgYm9sZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogMTEsXHJcbiAgICAgIGNvbG9yOiB7IGFyZ2I6ICcwMDAwMDAnIH0sXHJcbiAgICB9LFxyXG4gICAgZmlsbDoge1xyXG4gICAgICB0eXBlOiAncGF0dGVybicsXHJcbiAgICAgIHBhdHRlcm46ICdzb2xpZCcsXHJcbiAgICAgIGZnQ29sb3I6IHtcclxuICAgICAgICBhcmdiOiAnRkFGQUZBJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICN0aXRsZUNvbG9yID0gJ0ZGRkZGRic7XHJcbiAgI3RpdGxlRmdDb2xvciA9ICcxNDMxODAnO1xyXG4gICN0aXRsZVN0eWxlOiBQYXJ0aWFsPFN0eWxlPiA9IHtcclxuICAgIGJvcmRlcjoge1xyXG4gICAgICBib3R0b206IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICBsZWZ0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgcmlnaHQ6IHsgc3R5bGU6ICd0aGluJyB9XHJcbiAgICB9LFxyXG4gICAgYWxpZ25tZW50OiB7XHJcbiAgICAgIHZlcnRpY2FsOiAnbWlkZGxlJyxcclxuICAgICAgaG9yaXpvbnRhbDogJ2NlbnRlcicsXHJcbiAgICAgIHdyYXBUZXh0OiB0cnVlXHJcbiAgICB9LFxyXG4gICAgZm9udDoge1xyXG4gICAgICBib2xkOiB0cnVlLFxyXG4gICAgICBzaXplOiAxMSxcclxuICAgICAgY29sb3I6IHsgYXJnYjogdGhpcy4jdGl0bGVDb2xvciB9LFxyXG4gICAgfSxcclxuICAgIGZpbGw6IHtcclxuICAgICAgdHlwZTogJ3BhdHRlcm4nLFxyXG4gICAgICBwYXR0ZXJuOiAnc29saWQnLFxyXG4gICAgICBmZ0NvbG9yOiB7XHJcbiAgICAgICAgYXJnYjogdGhpcy4jdGl0bGVGZ0NvbG9yLFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjcmVxdWlyZWRTdHlsZTogUGFydGlhbDxTdHlsZT4gPSB7XHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sXHJcbiAgICAgIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfVxyXG4gICAgfSxcclxuICAgIGFsaWdubWVudDoge1xyXG4gICAgICB2ZXJ0aWNhbDogJ21pZGRsZScsXHJcbiAgICAgIGhvcml6b250YWw6ICdjZW50ZXInLFxyXG4gICAgICB3cmFwVGV4dDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGZvbnQ6IHtcclxuICAgICAgaXRhbGljOiB0cnVlLFxyXG4gICAgICBzaXplOiAxMSxcclxuICAgICAgY29sb3I6IHsgYXJnYjogJ0ZGRkZGRicgfSxcclxuICAgIH0sXHJcbiAgICBmaWxsOiB7XHJcbiAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcclxuICAgICAgcGF0dGVybjogJ3NvbGlkJyxcclxuICAgICAgZmdDb2xvcjoge1xyXG4gICAgICAgIGFyZ2I6ICdGRjE3NDQnXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICNkZXNjcmlwdGlvblN0eWxlOiBQYXJ0aWFsPFN0eWxlPiA9IHtcclxuICAgIGJvcmRlcjoge1xyXG4gICAgICBib3R0b206IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICBsZWZ0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgcmlnaHQ6IHsgc3R5bGU6ICd0aGluJyB9XHJcbiAgICB9LFxyXG4gICAgYWxpZ25tZW50OiB7XHJcbiAgICAgIHdyYXBUZXh0OiB0cnVlXHJcbiAgICB9LFxyXG4gICAgZm9udDoge1xyXG4gICAgICBpdGFsaWM6IHRydWUsXHJcbiAgICAgIHNpemU6IDksXHJcbiAgICAgIGNvbG9yOiB7IGFyZ2I6ICcwMDAwMDAnIH0sXHJcbiAgICB9LFxyXG4gICAgZmlsbDoge1xyXG4gICAgICB0eXBlOiAncGF0dGVybicsXHJcbiAgICAgIHBhdHRlcm46ICdzb2xpZCcsXHJcbiAgICAgIGZnQ29sb3I6IHtcclxuICAgICAgICBhcmdiOiAnQ0ZEOERDJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjY2VsbFN0eWxlOiBQYXJ0aWFsPFN0eWxlPiA9IHtcclxuICAgIGFsaWdubWVudDoge1xyXG4gICAgICB2ZXJ0aWNhbDogJ21pZGRsZScsXHJcbiAgICAgIHdyYXBUZXh0OiB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogU2RBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KEZJUkVCQVNFX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmaXJlYmFzZUNvbmZpZ3VyYXRpb246IElGaXJlYmFzZUNvbmZpZ3VyYXRpb24pIHtcclxuICB9XHJcblxyXG4gICNkaXJlY3RvcnkgPSAoa2V5OiBzdHJpbmcsIGdyb3VwOiBzdHJpbmcpID0+IHtcclxuICAgIGxldCBoYXNoZWRGb2xkZXIgPSBoYXNoKHtcclxuICAgICAgZm9sZGVyOiB0aGlzLmZvbGRlcixcclxuICAgICAgdXNlckZvbGRlcjogdGhpcy51c2VyRm9sZGVyXHJcbiAgICB9KTtcclxuICAgIGlmICghZ3JvdXApIHtcclxuICAgICAgcmV0dXJuIGBkaXIxPSR7dGhpcy5mb2xkZXJ9JmRpcjI9VS0ke2hhc2hlZEZvbGRlcn0mZGlyMz0ke2tleSB8fCAnJ31gO1xyXG4gICAgfVxyXG4gICAgaGFzaGVkRm9sZGVyID0gaGFzaCh7XHJcbiAgICAgIGZvbGRlcjogdGhpcy5mb2xkZXIsXHJcbiAgICAgIGdyb3VwXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBgZGlyMT0ke3RoaXMuZm9sZGVyfSZkaXIyPUctJHtoYXNoZWRGb2xkZXJ9JmRpcjM9JHtrZXkgfHwgJyd9YDtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVGVtcGxhdGUgPSBhc3luYyAodGVtcGxhdGU6IFNkRXhwb3J0VGVtcGxhdGUpID0+IHtcclxuICAgIGNvbnN0IHsgZmlsZU5hbWUsIGNvbHVtbnMsIHNoZWV0cyB9ID0gdGVtcGxhdGU7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29sdW1ucykpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeGNlbCB0ZW1wbGF0ZSBjb2x1bW5zIG11c3QgYmUgYW4gYXJyYXknKTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgW2lkeCwgY29sdW1uXSBvZiBjb2x1bW5zLmVudHJpZXMoKSkge1xyXG4gICAgICBpZiAoIWNvbHVtbi5maWVsZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29sdW1uICR7aWR4ICsgMX06IEZpZWxkIGlzIHJlcXVpcmVkYCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFjb2x1bW4udGl0bGUpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbHVtbiAke2lkeCArIDF9OiBUaXRsZSBpcyByZXF1aXJlZGApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBoYXNEZXNjcmlwdGlvbiA9IGNvbHVtbnMuc29tZShjb2x1bW4gPT4gY29sdW1uLmRlc2NyaXB0aW9uKTtcclxuICAgIGNvbnN0IHdvcmtib29rID0gbmV3IFdvcmtib29rKCk7IC8vYXdhaXQgWGxzeFBvcHVsYXRlLmZyb21CbGFua0FzeW5jKCk7IC8vIMSQ4buNYyBmaWxlIHNhdSBraGkgxJHDoyBkb3dubG9hZFxyXG4gICAgY29uc3QgZmlyc3RTaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldCgndGVtcGxhdGUnKTsgLy8gTOG6pXkgcmEgc2hlZXQgxJHhuqd1IHRpw6puXHJcbiAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgeyByZXF1aXJlZCwgZmlsbCwgZm9udENvbG9yIH0gPSBjb2x1bW47XHJcbiAgICAgIGNvbnN0IGNlbGxGaWVsZCA9IGZpcnN0U2hlZXQuZ2V0Q2VsbCgxLCBpbmRleCArIDEpO1xyXG4gICAgICBjb25zdCBjZWxsVGl0bGUgPSBmaXJzdFNoZWV0LmdldENlbGwoMiwgaW5kZXggKyAxKTtcclxuICAgICAgY29uc3QgY2VsbERlc2NyaXB0aW9uID0gZmlyc3RTaGVldC5nZXRDZWxsKDMsIGluZGV4ICsgMSk7XHJcbiAgICAgIGxldCB3aWR0aCA9IDEyMDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCAmJiBjb2x1bW4ud2lkdGguZW5kc1dpdGgoJ3B4JykpIHtcclxuICAgICAgICB3aWR0aCA9ICtjb2x1bW4ud2lkdGgucmVwbGFjZSgncHgnLCAnJyk7XHJcbiAgICAgIH1cclxuICAgICAgZmlyc3RTaGVldC5nZXRDb2x1bW4oaW5kZXggKyAxKS53aWR0aCA9IHdpZHRoIC8gNyB8fCAyMDtcclxuICAgICAgY2VsbEZpZWxkLnN0eWxlID0gdGhpcy4jZmllbGRTdHlsZTtcclxuICAgICAgaWYgKHJlcXVpcmVkKSB7XHJcbiAgICAgICAgY2VsbEZpZWxkLnN0eWxlID0gdGhpcy4jcmVxdWlyZWRTdHlsZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjZWxsRmllbGQuc3R5bGUgPSB0aGlzLiNmaWVsZFN0eWxlO1xyXG4gICAgICB9XHJcbiAgICAgIGNlbGxUaXRsZS5zdHlsZSA9IHtcclxuICAgICAgICAuLi50aGlzLiN0aXRsZVN0eWxlLFxyXG4gICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgIC4uLnRoaXMuI3RpdGxlU3R5bGU/LmZvbnQsXHJcbiAgICAgICAgICBjb2xvcjoge1xyXG4gICAgICAgICAgICAuLi50aGlzLiN0aXRsZVN0eWxlPy5mb250Py5jb2xvcixcclxuICAgICAgICAgICAgYXJnYjogZm9udENvbG9yIHx8IHRoaXMuI3RpdGxlU3R5bGU/LmZvbnQ/LmNvbG9yPy5hcmdiXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBmaWxsOiB7XHJcbiAgICAgICAgICB0eXBlOiAncGF0dGVybicsXHJcbiAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxyXG4gICAgICAgICAgZmdDb2xvcjoge1xyXG4gICAgICAgICAgICBhcmdiOiBmaWxsIHx8IHRoaXMuI3RpdGxlRmdDb2xvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgY2VsbEZpZWxkLnZhbHVlID0gY29sdW1uLmZpZWxkO1xyXG4gICAgICBjZWxsVGl0bGUudmFsdWUgPSBjb2x1bW4udGl0bGU7XHJcbiAgICAgIGlmIChoYXNEZXNjcmlwdGlvbikge1xyXG4gICAgICAgIGNlbGxEZXNjcmlwdGlvbi5zdHlsZSA9IHRoaXMuI2Rlc2NyaXB0aW9uU3R5bGU7XHJcbiAgICAgICAgY2VsbERlc2NyaXB0aW9uLnZhbHVlID0gY29sdW1uLmRlc2NyaXB0aW9uIHx8ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzaGVldHM/Lmxlbmd0aCkge1xyXG4gICAgICBmb3IgKGNvbnN0IHNoZWV0IG9mIHNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuZmllbGRzKSkge1xyXG4gICAgICAgICAgY29uc3QgbmV3U2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoc2hlZXQubmFtZSk7XHJcbiAgICAgICAgICBzaGVldC5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENvbHVtbihpbmRleCArIDEpLndpZHRoID0gMzA7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS5zdHlsZSA9IHRoaXMuI3RpdGxlU3R5bGU7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS52YWx1ZSA9IGZpZWxkO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBzaGVldC5pdGVtcy5mb3JFYWNoKChpdGVtLCBpZHgxKSA9PiB7XHJcbiAgICAgICAgICAgIHNoZWV0LmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaWR4MikgPT4ge1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS52YWx1ZSA9IGl0ZW1bZmllbGRdO1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS5zdHlsZSA9IHRoaXMuI2NlbGxTdHlsZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCk7XHJcbiAgICBTZFV0aWxpdHkuZG93bmxvYWRCbG9iKG5ldyBCbG9iKFtmaWxlXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnIH0pLCBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRUZW1wbGF0ZSA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gICAgdmFsaWRhdG9yPzogKGZpbGVOYW1lOiBzdHJpbmcpID0+IHN0cmluZ1xyXG4gIH0pOiBQcm9taXNlPFNkRXhwb3J0RmlsZT4gPT4ge1xyXG4gICAgY29uc3QgeyBrZXksIGdyb3VwLCB2YWxpZGF0b3IgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IHVwbG9hZFRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmZ1bmN0aW9uVXJsfSR7dXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgU2RVdGlsaXR5LnVwbG9hZCh7XHJcbiAgICAgIGV4dGVuc2lvbnM6IFsneGxzeCddLFxyXG4gICAgICBtYXhTaXplSW5NYjogMC4xLFxyXG4gICAgICB2YWxpZGF0b3JcclxuICAgIH0pO1xyXG4gICAgaWYgKGZpbGUpIHtcclxuICAgICAgY29uc3QgeyBmaWxlUGF0aCwgZmlsZU5hbWUgfSA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS51cGxvYWQodXJsLCBmaWxlKS5jYXRjaCgoZXJyOiBFcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubm90aWZ5U2VydmljZS5ub3RpZnkud2FybmluZyhlcnI/Lm1lc3NhZ2UpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZmlsZVBhdGgsXHJcbiAgICAgICAgZmlsZU5hbWUsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB0ZW1wbGF0ZTogU2RFeHBvcnRUZW1wbGF0ZTtcclxuICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsga2V5LCB0ZW1wbGF0ZSwgZ3JvdXAgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZnVuY3Rpb25Vcmx9JHtnZW5lcmF0ZVVwbG9hZFRlbXBsYXRlfT8ke3RoaXMuI2RpcmVjdG9yeShrZXksIGdyb3VwKX1gO1xyXG4gICAgY29uc3QgeyBmaWxlUGF0aCwgZmlsZU5hbWUgfSA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS5wb3N0KHVybCwgdGVtcGxhdGUpO1xyXG4gICAgcmV0dXJuIHsgZmlsZVBhdGgsIGZpbGVOYW1lIH07XHJcbiAgfVxyXG5cclxuICByZW1vdmVGaWxlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICBmaWxlTmFtZT86IHN0cmluZztcclxuICB9KSA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgZ3JvdXAsIGZpbGVOYW1lIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyByZW1vdmVGaWxlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmZ1bmN0aW9uVXJsfSR7cmVtb3ZlRmlsZX0/JHt0aGlzLiNkaXJlY3Rvcnkoa2V5LCBncm91cCl9Jm5hbWU9JHtmaWxlTmFtZX1gO1xyXG4gICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsKTtcclxuICB9XHJcblxyXG4gIGZpbGVzSW5Gb2xkZXIgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxTZEV4cG9ydEZpbGVbXT4gPT4ge1xyXG4gICAgaW50ZXJmYWNlIEZpbGVzSW5Gb2xkZXJSZXMge1xyXG4gICAgICBkaXJlY3Rvcnk6IHN0cmluZztcclxuICAgICAgZmlsZXM6IHtcclxuICAgICAgICBwdWJsaWNVcmw6IHN0cmluZywgZnVsbFBhdGg6IHN0cmluZywgbmFtZTogc3RyaW5nXHJcbiAgICAgIH1bXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsga2V5LCBncm91cCB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlsZXNJbkZvbGRlciB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5mdW5jdGlvblVybH0ke2ZpbGVzSW5Gb2xkZXJ9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UuZ2V0PEZpbGVzSW5Gb2xkZXJSZXM+KHVybCk7XHJcbiAgICByZXR1cm4gcmVzLmZpbGVzPy5tYXAoZSA9PiAoe1xyXG4gICAgICBmaWxlUGF0aDogZS5wdWJsaWNVcmwsXHJcbiAgICAgIGZpbGVOYW1lOiBlLm5hbWVcclxuICAgIH0pKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkID0gKGZpbGVQYXRoOiBzdHJpbmcsIGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBsaW5rLmRvd25sb2FkID0gYCR7ZmlsZU5hbWUgfHwgdXVpZC52NCgpfS54bHN4YDtcclxuICAgIGxpbmsuaHJlZiA9IGZpbGVQYXRoO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRCeVRlbXBsYXRlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXHJcbiAgICBjb2x1bW5zOiBhbnlbXSxcclxuICAgIGl0ZW1zOiBhbnlbXSxcclxuICAgIGZpbGVOYW1lPzogc3RyaW5nXHJcbiAgfSkgPT4ge1xyXG4gICAgY29uc3QgeyBmaWxlUGF0aCwgY29sdW1ucywgaXRlbXMsIGZpbGVOYW1lIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBzZEV4cG9ydEJ5VGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZnVuY3Rpb25Vcmx9JHtzZEV4cG9ydEJ5VGVtcGxhdGV9YDtcclxuICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS5wb3N0KHVybCwge1xyXG4gICAgICBmaWxlUGF0aCxcclxuICAgICAgY29sdW1ucyxcclxuICAgICAgaXRlbXMsXHJcbiAgICAgIGZpbGVOYW1lXHJcbiAgICB9LCBudWxsLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2Jhc2U2NCwnIH0pO1xyXG4gICAgU2RVdGlsaXR5LmRvd25sb2FkQmxvYihibG9iLCBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRDU1YgPSBhc3luYyAob3B0aW9uOiBJRXhwb3J0T3B0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gb3B0aW9uO1xyXG4gICAgY29uc3QgaGVhZGVyQ1NWID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIGhlYWRlckNTVltjb2x1bW4uZmllbGRdID0gY29sdW1uLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3N2RXhwb3J0ZXIgPSBuZXcgRXhwb3J0VG9Dc3Yoe1xyXG4gICAgICBmaWxlbmFtZTogYCR7ZmlsZU5hbWUgfHwgJ0NTVid9XyR7RGF0ZS50b0Zvcm1hdChuZXcgRGF0ZSgpLCAneXl5eS1NTS1kZC1ISC1tbS1zcycpfWAsXHJcbiAgICAgIGZpZWxkU2VwYXJhdG9yOiAnLCcsXHJcbiAgICAgIHF1b3RlU3RyaW5nczogJ1wiJyxcclxuICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJy4nLFxyXG4gICAgICBzaG93TGFiZWxzOiB0cnVlLFxyXG4gICAgICBzaG93VGl0bGU6IGZhbHNlLFxyXG4gICAgICB0aXRsZTogZmlsZU5hbWUgfHwgJ0NTVicsXHJcbiAgICAgIHVzZUJvbTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgY3N2RXhwb3J0ZXIuZ2VuZXJhdGVDc3YoW2hlYWRlckNTViwgLi4uaXRlbXNdKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCA9IGFzeW5jIChvcHRpb246IElFeHBvcnRPcHRpb24pID0+IHtcclxuICAgIGNvbnN0IHsgY29sdW1ucywgaXRlbXMsIGZpbGVOYW1lLCBzaGVldHMgfSA9IG9wdGlvbjtcclxuICAgIGxldCBoYXNEZXNjcmlwdGlvbiA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBbaWR4LCBjb2x1bW5dIG9mIGNvbHVtbnMuZW50cmllcygpKSB7XHJcbiAgICAgIGlmICghY29sdW1uLmZpZWxkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb2x1bW4gJHtpZHggKyAxfTogRmllbGQgaXMgcmVxdWlyZWRgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNvbHVtbi50aXRsZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29sdW1uICR7aWR4ICsgMX06IFRpdGxlIGlzIHJlcXVpcmVkYCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbHVtbi5kZXNjcmlwdGlvbikge1xyXG4gICAgICAgIGhhc0Rlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgd29ya2Jvb2sgPSBuZXcgV29ya2Jvb2soKTsgLy9hd2FpdCBYbHN4UG9wdWxhdGUuZnJvbUJsYW5rQXN5bmMoKTsgLy8gxJDhu41jIGZpbGUgc2F1IGtoaSDEkcOjIGRvd25sb2FkXHJcbiAgICBjb25zdCBmaXJzdFNoZWV0ID0gd29ya2Jvb2suYWRkV29ya3NoZWV0KCdkYXRhJyk7IC8vIEzhuqV5IHJhIHNoZWV0IMSR4bqndSB0acOqblxyXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4sIGluZGV4KSA9PiB7XHJcbiAgICAgIGxldCB3aWR0aCA9IDEyMDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCAmJiBjb2x1bW4ud2lkdGguZW5kc1dpdGgoJ3B4JykpIHtcclxuICAgICAgICB3aWR0aCA9ICtjb2x1bW4ud2lkdGgucmVwbGFjZSgncHgnLCAnJyk7XHJcbiAgICAgIH1cclxuICAgICAgZmlyc3RTaGVldC5nZXRDb2x1bW4oaW5kZXggKyAxKS53aWR0aCA9IHdpZHRoIC8gNyB8fCAyMDtcclxuICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKDEsIGluZGV4ICsgMSkuc3R5bGUgPSB0aGlzLiNmaWVsZFN0eWxlXHJcbiAgICAgIGlmIChjb2x1bW4ucmVxdWlyZWQpIHtcclxuICAgICAgICBmaXJzdFNoZWV0LmdldENlbGwoMiwgaW5kZXggKyAxKS5zdHlsZSA9IHRoaXMuI3JlcXVpcmVkU3R5bGU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKDIsIGluZGV4ICsgMSkuc3R5bGUgPSB0aGlzLiN0aXRsZVN0eWxlO1xyXG4gICAgICB9XHJcbiAgICAgIGZpcnN0U2hlZXQuZ2V0Q2VsbCgxLCBpbmRleCArIDEpLnZhbHVlID0gY29sdW1uLmZpZWxkO1xyXG4gICAgICBmaXJzdFNoZWV0LmdldENlbGwoMiwgaW5kZXggKyAxKS52YWx1ZSA9IGNvbHVtbi50aXRsZTtcclxuICAgICAgaWYgKGhhc0Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKDMsIGluZGV4ICsgMSkuc3R5bGUgPSB0aGlzLiNkZXNjcmlwdGlvblN0eWxlO1xyXG4gICAgICAgIGZpcnN0U2hlZXQuZ2V0Q2VsbCgzLCBpbmRleCArIDEpLnZhbHVlID0gY29sdW1uLmRlc2NyaXB0aW9uIHx8ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzaGVldHM/Lmxlbmd0aCkge1xyXG4gICAgICBmb3IgKGNvbnN0IHNoZWV0IG9mIHNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpICYmIEFycmF5LmlzQXJyYXkoc2hlZXQuZmllbGRzKSkge1xyXG4gICAgICAgICAgY29uc3QgbmV3U2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoc2hlZXQubmFtZSk7XHJcbiAgICAgICAgICBzaGVldC5maWVsZHMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENvbHVtbihpbmRleCArIDEpLndpZHRoID0gMzA7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS5zdHlsZSA9IHRoaXMuI3RpdGxlU3R5bGU7XHJcbiAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMSwgaW5kZXggKyAxKS52YWx1ZSA9IGZpZWxkO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBzaGVldC5pdGVtcy5mb3JFYWNoKChpdGVtLCBpZHgxKSA9PiB7XHJcbiAgICAgICAgICAgIHNoZWV0LmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaWR4MikgPT4ge1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS52YWx1ZSA9IGl0ZW1bZmllbGRdO1xyXG4gICAgICAgICAgICAgIG5ld1NoZWV0LmdldENlbGwoMiArIGlkeDEsIDEgKyBpZHgyKS5zdHlsZSA9IHRoaXMuI2NlbGxTdHlsZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmcm9tUm93ID0gaGFzRGVzY3JpcHRpb24gPyA0IDogMztcclxuICAgIGl0ZW1zLmZvckVhY2goKGUsIGlkeDEpID0+IHtcclxuICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4sIGlkeDIpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIChlW2NvbHVtbi5maWVsZF0pID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKGZyb21Sb3cgKyBpZHgxLCAxICsgaWR4MikudmFsdWUgPSArZVtjb2x1bW4uZmllbGRdO1xyXG4gICAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKGZyb21Sb3cgKyBpZHgxLCAxICsgaWR4MikubnVtRm10ID0gJyMnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmaXJzdFNoZWV0LmdldENlbGwoZnJvbVJvdyArIGlkeDEsIDEgKyBpZHgyKS52YWx1ZSA9IGVbY29sdW1uLmZpZWxkXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlyc3RTaGVldC5nZXRDZWxsKGZyb21Sb3cgKyBpZHgxLCAxICsgaWR4Mikuc3R5bGUgPSB0aGlzLiNjZWxsU3R5bGU7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpO1xyXG4gICAgU2RVdGlsaXR5LmRvd25sb2FkQmxvYihuZXcgQmxvYihbZmlsZV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KSwgZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0Q3VzdG9tID0gYXN5bmMgKG9wdGlvbjogU2RFeHBvcnRDdXN0b21PcHRpb24pID0+IHtcclxuICAgIGNvbnN0IHsgZmlsZU5hbWUsIHNoZWV0cyB9ID0gb3B0aW9uO1xyXG4gICAgaWYgKCFzaGVldHM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcoJ1Bo4bqjaSBjw7Mgw610IG5o4bqldCAxIHNoZWV0Jyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHdvcmtib29rID0gbmV3IFdvcmtib29rKCk7XHJcbiAgICBmb3IgKGNvbnN0IFtpZHgsIHNoZWV0XSBvZiBzaGVldHMuZW50cmllcygpKSB7XHJcbiAgICAgIGNvbnN0IHsgbmFtZSwgY29sdW1ucywgY2VsbHMgfSA9IHNoZWV0XHJcbiAgICAgIGNvbnN0IHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldChuYW1lIHx8IGBTaGVldCAke2lkeCArIDF9YCk7XHJcbiAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIChjb2x1bW5zIHx8IFtdKSkge1xyXG4gICAgICAgIHdvcmtzaGVldC5nZXRDb2x1bW4oY29sdW1uLmluZGV4KS5zdHlsZSA9IGNvbHVtbi5zdHlsZTtcclxuICAgICAgICB3b3Jrc2hlZXQuZ2V0Q29sdW1uKGNvbHVtbi5pbmRleCkud2lkdGggPSBjb2x1bW4ud2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBjZWxsIG9mIGNlbGxzKSB7XHJcbiAgICAgICAgY29uc3QgeyByb3csIGNvbHVtbiwgdmFsdWUsIHN0eWxlIH0gPSBjZWxsO1xyXG4gICAgICAgIHdvcmtzaGVldC5nZXRDZWxsKHJvdywgY29sdW1uKS5zdHlsZSA9IHN0eWxlIHx8IHdvcmtzaGVldC5nZXRDb2x1bW4oY29sdW1uKS5zdHlsZTtcclxuICAgICAgICB3b3Jrc2hlZXQuZ2V0Q2VsbChyb3csIGNvbHVtbikudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHdvcmtib29rLnhsc3gud3JpdGVCdWZmZXIoKTtcclxuICAgIFNkVXRpbGl0eS5kb3dubG9hZEJsb2IobmV3IEJsb2IoW2ZpbGVdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcgfSksIGZpbGVOYW1lKTtcclxuICB9XHJcblxyXG4gIG1lcmdlUERGID0gYXN5bmMgKHVybHM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICBjb25zdCB7IHNkTWVyZ2VQREYgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZnVuY3Rpb25Vcmx9JHtzZE1lcmdlUERGfWA7XHJcbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIHtcclxuICAgICAgdXJsc1xyXG4gICAgfSwgbnVsbCwge1xyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcidcclxuICAgIH0pO1xyXG4gICAgU2RVdGlsaXR5LmRvd25sb2FkQmxvYihuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KSk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRYbHN4ID0gYXN5bmMgKCk6IFByb21pc2U8eyBpdGVtczogYW55W10sIGZpbGU6IEZpbGUgfSB8IHVuZGVmaW5lZD4gPT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IFNkVXRpbGl0eS51cGxvYWQoe1xyXG4gICAgICBleHRlbnNpb25zOiBbJ3hsc3gnXSxcclxuICAgICAgbWF4U2l6ZUluTWI6IDEwLFxyXG4gICAgfSkudGhlbihmaWxlID0+IHtcclxuICAgICAgaWYgKGZpbGUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8eyBpdGVtczogYW55W10sIGZpbGU6IEZpbGUgfT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgd2IgPSBuZXcgV29ya2Jvb2soKTtcclxuICAgICAgICAgIGNvbnN0IHJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBidWZmZXIgPSByZWFkZXIucmVzdWx0IGFzIEFycmF5QnVmZmVyO1xyXG4gICAgICAgICAgICBpZiAoIWJ1ZmZlcikge1xyXG4gICAgICAgICAgICAgIHJlamVjdCgnQ8OzIGzhu5dpIHjhuqN5IHJhIGtoaSDEkeG7jWMgZmlsZScpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB3Yi54bHN4LmxvYWQoYnVmZmVyKS50aGVuKHdvcmtib29rID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBzaGVldCA9IHdvcmtib29rLndvcmtzaGVldHNbMF07XHJcbiAgICAgICAgICAgICAgaWYgKCFzaGVldCkge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KCdLaMO0bmcgdMOsbSB0aOG6pXkgZOG7ryBsaeG7h3UgaW1wb3J0Jyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBzaGVldC5nZXRSb3coMSkudmFsdWVzO1xyXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGhlYWRlcnMpKSB7XHJcbiAgICAgICAgICAgICAgICBzaGVldC5lYWNoUm93KChyb3csIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHsgaGFzVmFsdWVzLCB2YWx1ZXMsIH0gPSByb3c7XHJcbiAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHJvdywgaGFzVmFsdWVzLCB2YWx1ZXMpXHJcbiAgICAgICAgICAgICAgICAgIGlmIChoYXNWYWx1ZXMgJiYgcm93SW5kZXggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbTogYW55ID0ge307XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5mb3JFYWNoKChjZWxsVmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gY2VsbFZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gdmFsdWVzW2luZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAoaXRlbVtmaWVsZF0pID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gaXRlbVtmaWVsZF0udHJpbSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtW2ZpZWxkXSA9PT0gJycgfHwgaXRlbVtmaWVsZF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1bZmllbGRdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICBmaWxlXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaXRlbXM6IFtdLFxyXG4gICAgICAgICAgZmlsZTogbnVsbFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -59,5 +59,15 @@ export const SdFilterOperators = [
|
|
|
59
59
|
symbol: 'event_list',
|
|
60
60
|
display: 'Không nằm trong'
|
|
61
61
|
},
|
|
62
|
+
{
|
|
63
|
+
value: 'NULL',
|
|
64
|
+
symbol: 'motion_photos_off',
|
|
65
|
+
display: 'Là rỗng',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
value: 'NOT_NULL',
|
|
69
|
+
symbol: 'adjust',
|
|
70
|
+
display: 'Không rỗng',
|
|
71
|
+
},
|
|
62
72
|
];
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzcmMvbGliL21vZGVscy9ncmlkLWNvbHVtbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQkEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9FO0lBQ2hHO1FBQ0UsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxNQUFNO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsV0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsY0FBYztRQUNyQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsV0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE1BQU0sRUFBRSxHQUFHO1FBQ1gsT0FBTyxFQUFFLG9CQUFvQjtLQUM5QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGVBQWU7UUFDdEIsTUFBTSxFQUFFLEdBQUc7UUFDWCxPQUFPLEVBQUUsb0JBQW9CO0tBQzlCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsU0FBUztRQUNoQixNQUFNLEVBQUUsWUFBWTtRQUNwQixPQUFPLEVBQUUsTUFBTTtLQUNoQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGFBQWE7UUFDcEIsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsWUFBWTtLQUN0QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFlBQVk7UUFDbkIsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFVBQVU7UUFDakIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixPQUFPLEVBQUUsY0FBYztLQUN4QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsZUFBZTtRQUN2QixPQUFPLEVBQUUsV0FBVztLQUNyQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFFBQVE7UUFDZixNQUFNLEVBQUUsWUFBWTtRQUNwQixPQUFPLEVBQUUsaUJBQWlCO0tBQzNCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkQmFkZ2VDb2xvciB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYmFkZ2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgU2RHcmlkTWF0ZXJpYWxDb2x1bW48VCA9IGFueT4gPVxyXG4gIHwgU2RHcmlkTWF0ZXJpYWxDb2x1bW5UZXh0PFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbk51bWJlcjxUPlxyXG4gIHwgU2RHcmlkTWF0ZXJpYWxCb29sPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkRhdGU8VD5cclxuICB8IFNkR3JpZE1hdGVyaWFsQ29sdW1uVmFsdWVzPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkltYWdlPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQ+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2RGaWx0ZXJPcGVyYXRvciA9XHJcbiAgfCAnRVFVQUwnXHJcbiAgfCAnTk9UX0VRVUFMJ1xyXG4gIHwgJ0NPTlRBSU4nXHJcbiAgfCAnTk9UX0NPTlRBSU4nXHJcbiAgfCAnSU4nXHJcbiAgfCAnTk9UX0lOJ1xyXG4gIHwgJ1NUQVJUX1dJVEgnXHJcbiAgfCAnRU5EX1dJVEgnXHJcbiAgfCAnR1JFQVRFUl9USEFOJ1xyXG4gIHwgJ0xFU1NfVEhBTidcclxuICB8ICdHUkVBVEVSX09SX0VRVUFMJ1xyXG4gIHwgJ0xFU1NfT1JfRVFVQUwnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNkRmlsdGVyT3BlcmF0b3JzOiB7IHZhbHVlOiBTZEZpbHRlck9wZXJhdG9yLCBzeW1ib2w/OiBzdHJpbmcsIGRpc3BsYXk6IHN0cmluZyB9W10gPSBbXHJcbiAge1xyXG4gICAgdmFsdWU6ICdFUVVBTCcsXHJcbiAgICBzeW1ib2w6ICc9JyxcclxuICAgIGRpc3BsYXk6ICdC4bqxbmcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOT1RfRVFVQUwnLFxyXG4gICAgc3ltYm9sOiAn4omgJyxcclxuICAgIGRpc3BsYXk6ICdLaMO0bmcgYuG6sW5nJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR1JFQVRFUl9USEFOJyxcclxuICAgIHN5bWJvbDogJz4nLFxyXG4gICAgZGlzcGxheTogJ0zhu5tuIGjGoW4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdMRVNTX1RIQU4nLFxyXG4gICAgc3ltYm9sOiAnPCcsXHJcbiAgICBkaXNwbGF5OiAnTmjhu48gaMahbicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dSRUFURVJfT1JfRVFVQUwnLFxyXG4gICAgc3ltYm9sOiAn4omlJyxcclxuICAgIGRpc3BsYXk6ICdM4bubbiBoxqFuLCBob+G6t2MgYuG6sW5nJ1xyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdMRVNTX09SX0VRVUFMJyxcclxuICAgIHN5bWJvbDogJ+KJpCcsXHJcbiAgICBkaXNwbGF5OiAnTmjhu48gaMahbiwgaG/hurdjIGLhurFuZydcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnQ09OVEFJTicsXHJcbiAgICBzeW1ib2w6ICdqb2luX2lubmVyJyxcclxuICAgIGRpc3BsYXk6ICdDaOG7qWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOT1RfQ09OVEFJTicsXHJcbiAgICBzeW1ib2w6ICdqb2luJyxcclxuICAgIGRpc3BsYXk6ICdLaMO0bmcgY2jhu6lhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnU1RBUlRfV0lUSCcsXHJcbiAgICBzeW1ib2w6ICdsaW5lX3N0YXJ0X2NpcmNsZScsXHJcbiAgICBkaXNwbGF5OiAnQuG6r3QgxJHhuqd1IGLhu59pJ1xyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdFTkRfV0lUSCcsXHJcbiAgICBzeW1ib2w6ICdsaW5lX2VuZF9jaXJjbGUnLFxyXG4gICAgZGlzcGxheTogJ0vhur90IHRow7pjIGLhu59pJ1xyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdJTicsXHJcbiAgICBzeW1ib2w6ICdjaGVja2xpc3RfcnRsJyxcclxuICAgIGRpc3BsYXk6ICdO4bqxbSB0cm9uZydcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTk9UX0lOJyxcclxuICAgIHN5bWJvbDogJ2V2ZW50X2xpc3QnLFxyXG4gICAgZGlzcGxheTogJ0tow7RuZyBu4bqxbSB0cm9uZydcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtRnVuYzxUID0gYW55PiA9IChcclxuICB2YWx1ZTogYW55LFxyXG4gIHJvd0RhdGE6IFQsXHJcbiAgYXJncz86IHtcclxuICAgIGlzRXhwb3J0PzogYm9vbGVhbjtcclxuICB9XHJcbikgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUID0gYW55PiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRpdGxlSHRtbD86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG4gIGludmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZml4ZWQ/OiBib29sZWFuO1xyXG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGh0bWxUZW1wbGF0ZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBULCBpc01vYmlsZU9yVGFibGV0OiBib29sZWFuKSA9PiBzdHJpbmc7XHJcbiAgdHJhbnNmb3JtPzogVHJhbnNmb3JtRnVuYzxUPjtcclxuICB0b29sdGlwPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHN0cmluZztcclxuICBjbGljaz86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiB2b2lkO1xyXG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcclxuICBmaWx0ZXI/OiB7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBkZWZhdWx0U2hvd2luZz86IGJvb2xlYW47XHJcbiAgICBkZWZhdWx0PzogYW55O1xyXG4gICAgLy8gQ2jhu4kgZMOgbmggY2hvIGZpbHRlciBpbmxpbmUgY29sdW1uXHJcbiAgICBvcGVyYXRvcj86IHtcclxuICAgICAgZW5hYmxlPzogYm9vbGVhbjtcclxuICAgICAgbGlzdD86IFNkRmlsdGVyT3BlcmF0b3JbXTtcclxuICAgIH07XHJcbiAgfTtcclxuICBleHBvcnQ/OiB7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uVGV4dDxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ3N0cmluZyc7XHJcbiAgYmFkZ2U/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gU2RCYWRnZUNvbG9yO1xyXG4gIGJhZGdlSWNvbj86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgYmFkZ2VUeXBlPzogJ2NpcmNsZScgfCAnaWNvbic7XHJcbiAgZWRpdG9yPzoge1xyXG4gICAgY2hhbmdlPzogKHJvd0RhdGE6IFQsIHNlbGVjdGVkPzogYW55KSA9PiB2b2lkO1xyXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcclxuICAgIG1heExlbmd0aD86IG51bWJlcjtcclxuICAgIHZhbGlkYXRvcj86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uTnVtYmVyPFQgPSBhbnk+IGV4dGVuZHMgU2RHcmlkTWF0ZXJpYWxCYXNlQ29sdW1uPFQ+IHtcclxuICB0eXBlOiAnbnVtYmVyJztcclxuICBiYWRnZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBTZEJhZGdlQ29sb3I7XHJcbiAgYmFkZ2VJY29uPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHN0cmluZztcclxuICBiYWRnZVR5cGU/OiAnY2lyY2xlJyB8ICdpY29uJztcclxuICBlZGl0b3I/OiB7XHJcbiAgICBjaGFuZ2U/OiAocm93RGF0YTogVCwgc2VsZWN0ZWQ/OiBhbnkpID0+IHZvaWQ7XHJcbiAgICBoaWRkZW4/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgICByZXF1aXJlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgbWluVmFsdWU/OiBudW1iZXI7XHJcbiAgICBtYXhWYWx1ZT86IG51bWJlcjtcclxuICAgIHByZWNpc2lvbj86IG51bWJlcjtcclxuICAgIHZhbGlkYXRvcj86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQm9vbDxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ2Jvb2wnO1xyXG4gIG9wdGlvbj86IHtcclxuICAgIGRpc3BsYXlPblRydWU/OiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5T25GYWxzZT86IHN0cmluZztcclxuICB9O1xyXG4gIGJhZGdlVHlwZT86ICdjaXJjbGUnO1xyXG4gIGVkaXRvcj86IHtcclxuICAgIGNoYW5nZT86IChyb3dEYXRhOiBULCBzZWxlY3RlZD86IGFueSkgPT4gdm9pZDtcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uRGF0ZTxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ2RhdGUnIHwgJ2RhdGV0aW1lJyB8ICd0aW1lJztcclxuICBvcHRpb24/OiB7XHJcbiAgICB1c2VGaWx0ZXJEYXRlPzogYm9vbGVhbjtcclxuICAgIHRpbWVEaWZmZXJlbnQ/OiAnc2Vjb25kJyB8ICdtaW51dGUnIHwgJ2hvdXInIHwgJ2RheScgfCAnbW9udGgnO1xyXG4gIH07XHJcbiAgdHJhbnNmb3JtRGF0ZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmcgfCBEYXRlO1xyXG4gIGVkaXRvcj86IHtcclxuICAgIGNoYW5nZT86IChyb3dEYXRhOiBULCBzZWxlY3RlZD86IGFueSkgPT4gdm9pZDtcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbHVtblZhbHVlczxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ3ZhbHVlcyc7XHJcbiAgYmFkZ2U/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gU2RCYWRnZUNvbG9yO1xyXG4gIGJhZGdlSWNvbj86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgYmFkZ2VUeXBlPzogJ2NpcmNsZScgfCAnaWNvbic7XHJcbiAgb3B0aW9uOiB7XHJcbiAgICBpdGVtczogYW55W10gfCAoKHNlYXJjaFRleHQ/OiBzdHJpbmcsIGlzRm9ybVZhbHVlPzogYm9vbGVhbikgPT4gUHJvbWlzZTxhbnlbXT4pIHwgKChzZWFyY2hUZXh0Pzogc3RyaW5nW10sIGlzRm9ybVZhbHVlPzogYm9vbGVhbikgPT4gUHJvbWlzZTxhbnlbXT4pO1xyXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nO1xyXG4gICAgZGlzcGxheUZpZWxkOiBzdHJpbmc7XHJcbiAgICBzZWxlY3Rpb24/OlxyXG4gICAgICB8ICdBVVRPQ09NUExFVEUnXHJcbiAgICAgIHwgJ01VTFRJUExFJ1xyXG4gICAgICB8ICdNVUxUSVBMRUFVVE9DT01QTEVURSdcclxuICAgICAgfCAnQVVUT0NPTVBMRVRFX0VESVRPUidcclxuICAgICAgfCAnTVVMVElQTEVfRURJVE9SJ1xyXG4gICAgICB8ICdNVUxUSVBMRUFVVE9DT01QTEVURV9FRElUT1InO1xyXG4gIH07XHJcbiAgZWRpdG9yPzoge1xyXG4gICAgY2hhbmdlPzogKHJvd0RhdGE6IFQsIHNlbGVjdGVkPzogYW55KSA9PiB2b2lkO1xyXG4gICAgYWRkPzogKHJvd0RhdGE6IFQpID0+IHZvaWQ7XHJcbiAgICBlZGl0PzogKG9wdGlvbjogYW55LCByb3dEYXRhOiBUKSA9PiB2b2lkO1xyXG4gICAgZGVsZXRlPzogKG9wdGlvbjogYW55LCByb3dEYXRhOiBUKSA9PiB2b2lkO1xyXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICB9O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxDb2x1bW5JbWFnZTxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ2ltYWdlJztcclxuICBvcHRpb246IHtcclxuICAgIGhlaWdodDogbnVtYmVyO1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuICB9O1xyXG4gIGVkaXRvcj86IHtcclxuICAgIGNoYW5nZT86IChyb3dEYXRhOiBULCBzZWxlY3RlZD86IGFueSkgPT4gdm9pZDtcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgfTtcclxufVxyXG5cclxudHlwZSBTZEdyaWRNYXRlcmlhbE5vcm1hbENvbHVtbjxUPiA9IEV4Y2x1ZGU8XHJcbiAgRXhjbHVkZTxTZEdyaWRNYXRlcmlhbENvbHVtbjxUPiwgU2RHcmlkTWF0ZXJpYWxDb2x1bW5DaGlsZHJlbjxUPj4sXHJcbiAgU2RHcmlkTWF0ZXJpYWxDb2x1bW5DaGlsZHJlbkNvbDxUPlxyXG4+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2RHcmlkTWF0ZXJpYWxDaGlsZENvbHVtbjxUID0gYW55PiA9IFNkR3JpZE1hdGVyaWFsTm9ybWFsQ29sdW1uPFQ+ICYge1xyXG4gIGR5bmFtaWNUaXRsZT86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XHJcbiAgY29sU3BhbjogMSB8IDI7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uQ2hpbGRyZW48VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VDb2x1bW48VD4ge1xyXG4gIHR5cGU6ICdjaGlsZHJlbic7XHJcbiAgY2hpbGRyZW46IFNkR3JpZE1hdGVyaWFsQ2hpbGRDb2x1bW48VD5bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQgPSBhbnk+IGV4dGVuZHMgU2RHcmlkTWF0ZXJpYWxCYXNlQ29sdW1uPFQ+IHtcclxuICB0eXBlOiAnY2hpbGRyZW4tY29sJztcclxuICBjaGlsZHJlbjogU2RHcmlkTWF0ZXJpYWxOb3JtYWxDb2x1bW48VD5bXTtcclxufVxyXG4iXX0=
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzcmMvbGliL21vZGVscy9ncmlkLWNvbHVtbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QkEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9FO0lBQ2hHO1FBQ0UsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxNQUFNO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsV0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsY0FBYztRQUNyQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsV0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE1BQU0sRUFBRSxHQUFHO1FBQ1gsT0FBTyxFQUFFLG9CQUFvQjtLQUM5QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGVBQWU7UUFDdEIsTUFBTSxFQUFFLEdBQUc7UUFDWCxPQUFPLEVBQUUsb0JBQW9CO0tBQzlCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsU0FBUztRQUNoQixNQUFNLEVBQUUsWUFBWTtRQUNwQixPQUFPLEVBQUUsTUFBTTtLQUNoQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGFBQWE7UUFDcEIsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsWUFBWTtLQUN0QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFlBQVk7UUFDbkIsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFVBQVU7UUFDakIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixPQUFPLEVBQUUsY0FBYztLQUN4QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsZUFBZTtRQUN2QixPQUFPLEVBQUUsV0FBVztLQUNyQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFFBQVE7UUFDZixNQUFNLEVBQUUsWUFBWTtRQUNwQixPQUFPLEVBQUUsaUJBQWlCO0tBQzNCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRDtRQUNFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkQmFkZ2VDb2xvciB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYmFkZ2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgU2RHcmlkTWF0ZXJpYWxDb2x1bW48VCA9IGFueT4gPVxyXG4gIHwgU2RHcmlkTWF0ZXJpYWxDb2x1bW5UZXh0PFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbk51bWJlcjxUPlxyXG4gIHwgU2RHcmlkTWF0ZXJpYWxCb29sPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkRhdGU8VD5cclxuICB8IFNkR3JpZE1hdGVyaWFsQ29sdW1uVmFsdWVzPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkltYWdlPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuPFQ+XHJcbiAgfCBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQ+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2RGaWx0ZXJPcGVyYXRvciA9XHJcbiAgfCAnRVFVQUwnXHJcbiAgfCAnTk9UX0VRVUFMJ1xyXG4gIHwgJ0NPTlRBSU4nXHJcbiAgfCAnTk9UX0NPTlRBSU4nXHJcbiAgfCAnSU4nXHJcbiAgfCAnTk9UX0lOJ1xyXG4gIHwgJ1NUQVJUX1dJVEgnXHJcbiAgfCAnRU5EX1dJVEgnXHJcbiAgfCAnR1JFQVRFUl9USEFOJ1xyXG4gIHwgJ0xFU1NfVEhBTidcclxuICB8ICdHUkVBVEVSX09SX0VRVUFMJ1xyXG4gIHwgJ0xFU1NfT1JfRVFVQUwnXHJcbiAgfCAnTlVMTCdcclxuICB8ICdOT1RfTlVMTCc7XHJcblxyXG5leHBvcnQgY29uc3QgU2RGaWx0ZXJPcGVyYXRvcnM6IHsgdmFsdWU6IFNkRmlsdGVyT3BlcmF0b3IsIHN5bWJvbD86IHN0cmluZywgZGlzcGxheTogc3RyaW5nIH1bXSA9IFtcclxuICB7XHJcbiAgICB2YWx1ZTogJ0VRVUFMJyxcclxuICAgIHN5bWJvbDogJz0nLFxyXG4gICAgZGlzcGxheTogJ0LhurFuZycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ05PVF9FUVVBTCcsXHJcbiAgICBzeW1ib2w6ICfiiaAnLFxyXG4gICAgZGlzcGxheTogJ0tow7RuZyBi4bqxbmcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHUkVBVEVSX1RIQU4nLFxyXG4gICAgc3ltYm9sOiAnPicsXHJcbiAgICBkaXNwbGF5OiAnTOG7m24gaMahbicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0xFU1NfVEhBTicsXHJcbiAgICBzeW1ib2w6ICc8JyxcclxuICAgIGRpc3BsYXk6ICdOaOG7jyBoxqFuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR1JFQVRFUl9PUl9FUVVBTCcsXHJcbiAgICBzeW1ib2w6ICfiiaUnLFxyXG4gICAgZGlzcGxheTogJ0zhu5tuIGjGoW4sIGhv4bq3YyBi4bqxbmcnXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0xFU1NfT1JfRVFVQUwnLFxyXG4gICAgc3ltYm9sOiAn4omkJyxcclxuICAgIGRpc3BsYXk6ICdOaOG7jyBoxqFuLCBob+G6t2MgYuG6sW5nJ1xyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdDT05UQUlOJyxcclxuICAgIHN5bWJvbDogJ2pvaW5faW5uZXInLFxyXG4gICAgZGlzcGxheTogJ0No4bupYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ05PVF9DT05UQUlOJyxcclxuICAgIHN5bWJvbDogJ2pvaW4nLFxyXG4gICAgZGlzcGxheTogJ0tow7RuZyBjaOG7qWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdTVEFSVF9XSVRIJyxcclxuICAgIHN5bWJvbDogJ2xpbmVfc3RhcnRfY2lyY2xlJyxcclxuICAgIGRpc3BsYXk6ICdC4bqvdCDEkeG6p3UgYuG7n2knXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0VORF9XSVRIJyxcclxuICAgIHN5bWJvbDogJ2xpbmVfZW5kX2NpcmNsZScsXHJcbiAgICBkaXNwbGF5OiAnS+G6v3QgdGjDumMgYuG7n2knXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0lOJyxcclxuICAgIHN5bWJvbDogJ2NoZWNrbGlzdF9ydGwnLFxyXG4gICAgZGlzcGxheTogJ07hurFtIHRyb25nJ1xyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOT1RfSU4nLFxyXG4gICAgc3ltYm9sOiAnZXZlbnRfbGlzdCcsXHJcbiAgICBkaXNwbGF5OiAnS2jDtG5nIG7hurFtIHRyb25nJ1xyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOVUxMJyxcclxuICAgIHN5bWJvbDogJ21vdGlvbl9waG90b3Nfb2ZmJyxcclxuICAgIGRpc3BsYXk6ICdMw6AgcuG7l25nJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTk9UX05VTEwnLFxyXG4gICAgc3ltYm9sOiAnYWRqdXN0JyxcclxuICAgIGRpc3BsYXk6ICdLaMO0bmcgcuG7l25nJyxcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtRnVuYzxUID0gYW55PiA9IChcclxuICB2YWx1ZTogYW55LFxyXG4gIHJvd0RhdGE6IFQsXHJcbiAgYXJncz86IHtcclxuICAgIGlzRXhwb3J0PzogYm9vbGVhbjtcclxuICB9XHJcbikgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUID0gYW55PiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRpdGxlSHRtbD86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG4gIGludmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZml4ZWQ/OiBib29sZWFuO1xyXG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGh0bWxUZW1wbGF0ZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBULCBpc01vYmlsZU9yVGFibGV0OiBib29sZWFuKSA9PiBzdHJpbmc7XHJcbiAgdHJhbnNmb3JtPzogVHJhbnNmb3JtRnVuYzxUPjtcclxuICB0b29sdGlwPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHN0cmluZztcclxuICBjbGljaz86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiB2b2lkO1xyXG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcclxuICBmaWx0ZXI/OiB7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBkZWZhdWx0U2hvd2luZz86IGJvb2xlYW47XHJcbiAgICBkZWZhdWx0PzogYW55O1xyXG4gICAgLy8gQ2jhu4kgZMOgbmggY2hvIGZpbHRlciBpbmxpbmUgY29sdW1uXHJcbiAgICBvcGVyYXRvcj86IHtcclxuICAgICAgZW5hYmxlPzogYm9vbGVhbjtcclxuICAgICAgbGlzdD86IFNkRmlsdGVyT3BlcmF0b3JbXTtcclxuICAgIH07XHJcbiAgfTtcclxuICBleHBvcnQ/OiB7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uVGV4dDxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ3N0cmluZyc7XHJcbiAgYmFkZ2U/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gU2RCYWRnZUNvbG9yO1xyXG4gIGJhZGdlSWNvbj86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgYmFkZ2VUeXBlPzogJ2NpcmNsZScgfCAnaWNvbic7XHJcbiAgZWRpdG9yPzoge1xyXG4gICAgY2hhbmdlPzogKHJvd0RhdGE6IFQsIHNlbGVjdGVkPzogYW55KSA9PiB2b2lkO1xyXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcclxuICAgIG1heExlbmd0aD86IG51bWJlcjtcclxuICAgIHZhbGlkYXRvcj86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uTnVtYmVyPFQgPSBhbnk+IGV4dGVuZHMgU2RHcmlkTWF0ZXJpYWxCYXNlQ29sdW1uPFQ+IHtcclxuICB0eXBlOiAnbnVtYmVyJztcclxuICBiYWRnZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBTZEJhZGdlQ29sb3I7XHJcbiAgYmFkZ2VJY29uPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHN0cmluZztcclxuICBiYWRnZVR5cGU/OiAnY2lyY2xlJyB8ICdpY29uJztcclxuICBlZGl0b3I/OiB7XHJcbiAgICBjaGFuZ2U/OiAocm93RGF0YTogVCwgc2VsZWN0ZWQ/OiBhbnkpID0+IHZvaWQ7XHJcbiAgICBoaWRkZW4/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgICByZXF1aXJlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgbWluVmFsdWU/OiBudW1iZXI7XHJcbiAgICBtYXhWYWx1ZT86IG51bWJlcjtcclxuICAgIHByZWNpc2lvbj86IG51bWJlcjtcclxuICAgIHZhbGlkYXRvcj86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQm9vbDxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ2Jvb2wnO1xyXG4gIG9wdGlvbj86IHtcclxuICAgIGRpc3BsYXlPblRydWU/OiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5T25GYWxzZT86IHN0cmluZztcclxuICB9O1xyXG4gIGJhZGdlVHlwZT86ICdjaXJjbGUnO1xyXG4gIGVkaXRvcj86IHtcclxuICAgIGNoYW5nZT86IChyb3dEYXRhOiBULCBzZWxlY3RlZD86IGFueSkgPT4gdm9pZDtcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uRGF0ZTxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ2RhdGUnIHwgJ2RhdGV0aW1lJyB8ICd0aW1lJztcclxuICBvcHRpb24/OiB7XHJcbiAgICB1c2VGaWx0ZXJEYXRlPzogYm9vbGVhbjtcclxuICAgIHRpbWVEaWZmZXJlbnQ/OiAnc2Vjb25kJyB8ICdtaW51dGUnIHwgJ2hvdXInIHwgJ2RheScgfCAnbW9udGgnO1xyXG4gIH07XHJcbiAgdHJhbnNmb3JtRGF0ZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmcgfCBEYXRlO1xyXG4gIGVkaXRvcj86IHtcclxuICAgIGNoYW5nZT86IChyb3dEYXRhOiBULCBzZWxlY3RlZD86IGFueSkgPT4gdm9pZDtcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbHVtblZhbHVlczxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ3ZhbHVlcyc7XHJcbiAgYmFkZ2U/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gU2RCYWRnZUNvbG9yO1xyXG4gIGJhZGdlSWNvbj86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgYmFkZ2VUeXBlPzogJ2NpcmNsZScgfCAnaWNvbic7XHJcbiAgb3B0aW9uOiB7XHJcbiAgICBpdGVtczogYW55W10gfCAoKHNlYXJjaFRleHQ/OiBzdHJpbmcsIGlzRm9ybVZhbHVlPzogYm9vbGVhbikgPT4gUHJvbWlzZTxhbnlbXT4pIHwgKChzZWFyY2hUZXh0Pzogc3RyaW5nW10sIGlzRm9ybVZhbHVlPzogYm9vbGVhbikgPT4gUHJvbWlzZTxhbnlbXT4pO1xyXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nO1xyXG4gICAgZGlzcGxheUZpZWxkOiBzdHJpbmc7XHJcbiAgICBzZWxlY3Rpb24/OlxyXG4gICAgICB8ICdBVVRPQ09NUExFVEUnXHJcbiAgICAgIHwgJ01VTFRJUExFJ1xyXG4gICAgICB8ICdNVUxUSVBMRUFVVE9DT01QTEVURSdcclxuICAgICAgfCAnQVVUT0NPTVBMRVRFX0VESVRPUidcclxuICAgICAgfCAnTVVMVElQTEVfRURJVE9SJ1xyXG4gICAgICB8ICdNVUxUSVBMRUFVVE9DT01QTEVURV9FRElUT1InO1xyXG4gIH07XHJcbiAgZWRpdG9yPzoge1xyXG4gICAgY2hhbmdlPzogKHJvd0RhdGE6IFQsIHNlbGVjdGVkPzogYW55KSA9PiB2b2lkO1xyXG4gICAgYWRkPzogKHJvd0RhdGE6IFQpID0+IHZvaWQ7XHJcbiAgICBlZGl0PzogKG9wdGlvbjogYW55LCByb3dEYXRhOiBUKSA9PiB2b2lkO1xyXG4gICAgZGVsZXRlPzogKG9wdGlvbjogYW55LCByb3dEYXRhOiBUKSA9PiB2b2lkO1xyXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICB9O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxDb2x1bW5JbWFnZTxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ2ltYWdlJztcclxuICBvcHRpb246IHtcclxuICAgIGhlaWdodDogbnVtYmVyO1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuICB9O1xyXG4gIGVkaXRvcj86IHtcclxuICAgIGNoYW5nZT86IChyb3dEYXRhOiBULCBzZWxlY3RlZD86IGFueSkgPT4gdm9pZDtcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKTtcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbik7XHJcbiAgfTtcclxufVxyXG5cclxudHlwZSBTZEdyaWRNYXRlcmlhbE5vcm1hbENvbHVtbjxUPiA9IEV4Y2x1ZGU8XHJcbiAgRXhjbHVkZTxTZEdyaWRNYXRlcmlhbENvbHVtbjxUPiwgU2RHcmlkTWF0ZXJpYWxDb2x1bW5DaGlsZHJlbjxUPj4sXHJcbiAgU2RHcmlkTWF0ZXJpYWxDb2x1bW5DaGlsZHJlbkNvbDxUPlxyXG4+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2RHcmlkTWF0ZXJpYWxDaGlsZENvbHVtbjxUID0gYW55PiA9IFNkR3JpZE1hdGVyaWFsTm9ybWFsQ29sdW1uPFQ+ICYge1xyXG4gIGR5bmFtaWNUaXRsZT86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XHJcbiAgY29sU3BhbjogMSB8IDI7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uQ2hpbGRyZW48VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VDb2x1bW48VD4ge1xyXG4gIHR5cGU6ICdjaGlsZHJlbic7XHJcbiAgY2hpbGRyZW46IFNkR3JpZE1hdGVyaWFsQ2hpbGRDb2x1bW48VD5bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQgPSBhbnk+IGV4dGVuZHMgU2RHcmlkTWF0ZXJpYWxCYXNlQ29sdW1uPFQ+IHtcclxuICB0eXBlOiAnY2hpbGRyZW4tY29sJztcclxuICBjaGlsZHJlbjogU2RHcmlkTWF0ZXJpYWxOb3JtYWxDb2x1bW48VD5bXTtcclxufVxyXG4iXX0=
|
|
@@ -59,5 +59,15 @@ export const SdFilterOperators = [
|
|
|
59
59
|
symbol: 'event_list',
|
|
60
60
|
display: 'Không nằm trong',
|
|
61
61
|
},
|
|
62
|
+
{
|
|
63
|
+
value: 'NULL',
|
|
64
|
+
symbol: 'motion_photos_off',
|
|
65
|
+
display: 'Là rỗng',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
value: 'NOT_NULL',
|
|
69
|
+
symbol: 'adjust',
|
|
70
|
+
display: 'Không rỗng',
|
|
71
|
+
},
|
|
62
72
|
];
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvbW9kZWxzL3RhYmxlLWNvbHVtbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QkEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9FO0lBQ2hHO1FBQ0UsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxNQUFNO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsV0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsY0FBYztRQUNyQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsV0FBVztRQUNsQixNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE1BQU0sRUFBRSxHQUFHO1FBQ1gsT0FBTyxFQUFFLG9CQUFvQjtLQUM5QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGVBQWU7UUFDdEIsTUFBTSxFQUFFLEdBQUc7UUFDWCxPQUFPLEVBQUUsb0JBQW9CO0tBQzlCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsU0FBUztRQUNoQixNQUFNLEVBQUUsWUFBWTtRQUNwQixPQUFPLEVBQUUsTUFBTTtLQUNoQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGFBQWE7UUFDcEIsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsWUFBWTtLQUN0QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFlBQVk7UUFDbkIsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFVBQVU7UUFDakIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixPQUFPLEVBQUUsY0FBYztLQUN4QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsZUFBZTtRQUN2QixPQUFPLEVBQUUsV0FBVztLQUNyQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFFBQVE7UUFDZixNQUFNLEVBQUUsWUFBWTtRQUNwQixPQUFPLEVBQUUsaUJBQWlCO0tBQzNCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRDtRQUNFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkQmFkZ2VDb2xvciB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYmFkZ2UnO1xyXG5pbXBvcnQgeyBTZFRhYmVsQ2VsbERlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2QtdGFibGUtY2VsbC1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCB0eXBlIFNkVGFibGVDb2x1bW48VCA9IGFueT4gPVxyXG4gIHwgU2RUYWJsZUNvbHVtblRleHQ8VD5cclxuICB8IFNkVGFibGVDb2x1bW5OdW1iZXI8VD5cclxuICB8IFNkVGFibGVDb2x1bW5Cb29sPFQ+XHJcbiAgfCBTZFRhYmxlQ29sdW1uRGF0ZTxUPlxyXG4gIHwgU2RUYWJsZUNvbHVtblZhbHVlczxUPlxyXG4gIHwgU2RUYWJsZUNvbHVtbkxhenlWYWx1ZXM8VD5cclxuICB8IFNkVGFibGVDb2x1bW5DaGlsZHJlbjxUPjtcclxuXHJcbmV4cG9ydCB0eXBlIFNkRmlsdGVyT3BlcmF0b3IgPVxyXG4gIHwgJ0VRVUFMJ1xyXG4gIHwgJ05PVF9FUVVBTCdcclxuICB8ICdDT05UQUlOJ1xyXG4gIHwgJ05PVF9DT05UQUlOJ1xyXG4gIHwgJ0lOJ1xyXG4gIHwgJ05PVF9JTidcclxuICB8ICdTVEFSVF9XSVRIJ1xyXG4gIHwgJ0VORF9XSVRIJ1xyXG4gIHwgJ0dSRUFURVJfVEhBTidcclxuICB8ICdMRVNTX1RIQU4nXHJcbiAgfCAnR1JFQVRFUl9PUl9FUVVBTCdcclxuICB8ICdMRVNTX09SX0VRVUFMJ1xyXG4gIHwgJ05VTEwnXHJcbiAgfCAnTk9UX05VTEwnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNkRmlsdGVyT3BlcmF0b3JzOiB7IHZhbHVlOiBTZEZpbHRlck9wZXJhdG9yOyBzeW1ib2w/OiBzdHJpbmc7IGRpc3BsYXk6IHN0cmluZyB9W10gPSBbXHJcbiAge1xyXG4gICAgdmFsdWU6ICdFUVVBTCcsXHJcbiAgICBzeW1ib2w6ICc9JyxcclxuICAgIGRpc3BsYXk6ICdC4bqxbmcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOT1RfRVFVQUwnLFxyXG4gICAgc3ltYm9sOiAn4omgJyxcclxuICAgIGRpc3BsYXk6ICdLaMO0bmcgYuG6sW5nJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR1JFQVRFUl9USEFOJyxcclxuICAgIHN5bWJvbDogJz4nLFxyXG4gICAgZGlzcGxheTogJ0zhu5tuIGjGoW4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdMRVNTX1RIQU4nLFxyXG4gICAgc3ltYm9sOiAnPCcsXHJcbiAgICBkaXNwbGF5OiAnTmjhu48gaMahbicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dSRUFURVJfT1JfRVFVQUwnLFxyXG4gICAgc3ltYm9sOiAn4omlJyxcclxuICAgIGRpc3BsYXk6ICdM4bubbiBoxqFuLCBob+G6t2MgYuG6sW5nJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTEVTU19PUl9FUVVBTCcsXHJcbiAgICBzeW1ib2w6ICfiiaQnLFxyXG4gICAgZGlzcGxheTogJ05o4buPIGjGoW4sIGhv4bq3YyBi4bqxbmcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdDT05UQUlOJyxcclxuICAgIHN5bWJvbDogJ2pvaW5faW5uZXInLFxyXG4gICAgZGlzcGxheTogJ0No4bupYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ05PVF9DT05UQUlOJyxcclxuICAgIHN5bWJvbDogJ2pvaW4nLFxyXG4gICAgZGlzcGxheTogJ0tow7RuZyBjaOG7qWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdTVEFSVF9XSVRIJyxcclxuICAgIHN5bWJvbDogJ2xpbmVfc3RhcnRfY2lyY2xlJyxcclxuICAgIGRpc3BsYXk6ICdC4bqvdCDEkeG6p3UgYuG7n2knLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdFTkRfV0lUSCcsXHJcbiAgICBzeW1ib2w6ICdsaW5lX2VuZF9jaXJjbGUnLFxyXG4gICAgZGlzcGxheTogJ0vhur90IHRow7pjIGLhu59pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnSU4nLFxyXG4gICAgc3ltYm9sOiAnY2hlY2tsaXN0X3J0bCcsXHJcbiAgICBkaXNwbGF5OiAnTuG6sW0gdHJvbmcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOT1RfSU4nLFxyXG4gICAgc3ltYm9sOiAnZXZlbnRfbGlzdCcsXHJcbiAgICBkaXNwbGF5OiAnS2jDtG5nIG7hurFtIHRyb25nJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTlVMTCcsXHJcbiAgICBzeW1ib2w6ICdtb3Rpb25fcGhvdG9zX29mZicsXHJcbiAgICBkaXNwbGF5OiAnTMOgIHLhu5duZycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ05PVF9OVUxMJyxcclxuICAgIHN5bWJvbDogJ2FkanVzdCcsXHJcbiAgICBkaXNwbGF5OiAnS2jDtG5nIHLhu5duZycsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCB0eXBlIFNkVGFibGVDb2x1bW5UcmFuc2Zvcm1GdW5jPFQgPSBhbnk+ID0gKFxyXG4gIHZhbHVlOiBhbnksXHJcbiAgcm93RGF0YTogVCxcclxuICBhcmdzPzoge1xyXG4gICAgaXNFeHBvcnQ/OiBib29sZWFuO1xyXG4gIH1cclxuKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XHJcblxyXG5pbnRlcmZhY2UgU2RUYWJsZUNvbHVtbkJhc2U8VCA9IGFueT4ge1xyXG4gIGZpZWxkOiBFeHRyYWN0PGtleW9mIFQsIHN0cmluZz47XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0aXRsZUh0bWw/OiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBpbnZpc2libGU/OiBib29sZWFuO1xyXG4gIGZpeGVkPzogYm9vbGVhbjtcclxuICBjZWxsU3R5bGU/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICBodG1sVGVtcGxhdGU/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gc3RyaW5nO1xyXG4gIHRyYW5zZm9ybT86IFNkVGFibGVDb2x1bW5UcmFuc2Zvcm1GdW5jPFQ+O1xyXG4gIHRvb2x0aXA/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gc3RyaW5nO1xyXG4gIGNsaWNrPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHZvaWQ7XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIGZpbHRlcj86IHtcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAgIGRlZmF1bHRTaG93aW5nPzogYm9vbGVhbjtcclxuICAgIGRlZmF1bHQ/OiBhbnk7XHJcbiAgICAvLyBDaOG7iSBkw6BuaCBjaG8gZmlsdGVyIGlubGluZSBjb2x1bW5cclxuICAgIG9wZXJhdG9yPzoge1xyXG4gICAgICBlbmFibGU/OiBib29sZWFuO1xyXG4gICAgICBsaXN0PzogU2RGaWx0ZXJPcGVyYXRvcltdO1xyXG4gICAgfTtcclxuICB9O1xyXG4gIGV4cG9ydD86IHtcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICB9O1xyXG4gIGNlbGxEZWY/OiBUZW1wbGF0ZVJlZjxTZFRhYmVsQ2VsbERlZkRpcmVjdGl2ZT47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZFRhYmxlQ29sdW1uVGV4dDxUID0gYW55PiBleHRlbmRzIFNkVGFibGVDb2x1bW5CYXNlPFQ+IHtcclxuICB0eXBlOiAnc3RyaW5nJztcclxuICBiYWRnZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBTZEJhZGdlQ29sb3I7XHJcbiAgYmFkZ2VJY29uPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHN0cmluZztcclxuICBiYWRnZVR5cGU/OiAnY2lyY2xlJyB8ICdpY29uJztcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkVGFibGVDb2x1bW5OdW1iZXI8VCA9IGFueT4gZXh0ZW5kcyBTZFRhYmxlQ29sdW1uQmFzZTxUPiB7XHJcbiAgdHlwZTogJ251bWJlcic7XHJcbiAgYmFkZ2U/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gU2RCYWRnZUNvbG9yO1xyXG4gIGJhZGdlSWNvbj86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgYmFkZ2VUeXBlPzogJ2NpcmNsZScgfCAnaWNvbic7XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZFRhYmxlQ29sdW1uQm9vbDxUID0gYW55PiBleHRlbmRzIFNkVGFibGVDb2x1bW5CYXNlPFQ+IHtcclxuICB0eXBlOiAnYm9vbCc7XHJcbiAgb3B0aW9uPzoge1xyXG4gICAgZGlzcGxheU9uVHJ1ZT86IHN0cmluZztcclxuICAgIGRpc3BsYXlPbkZhbHNlPzogc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZFRhYmxlQ29sdW1uRGF0ZTxUID0gYW55PiBleHRlbmRzIFNkVGFibGVDb2x1bW5CYXNlPFQ+IHtcclxuICB0eXBlOiAnZGF0ZScgfCAnZGF0ZXRpbWUnIHwgJ3RpbWUnO1xyXG4gIGZpbHRlcj86IFNkVGFibGVDb2x1bW5CYXNlWydmaWx0ZXInXSAmIHsgdXNlRmlsdGVyRGF0ZT86IGJvb2xlYW4gfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkVGFibGVDb2x1bW5WYWx1ZXM8VCA9IGFueT4gZXh0ZW5kcyBTZFRhYmxlQ29sdW1uQmFzZTxUPiB7XHJcbiAgdHlwZTogJ3ZhbHVlcyc7XHJcbiAgYmFkZ2U/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gU2RCYWRnZUNvbG9yO1xyXG4gIGJhZGdlSWNvbj86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgYmFkZ2VUeXBlPzogJ2ljb24nIHwgJ2NpcmNsZScgfCAncm91bmQnO1xyXG4gIG9wdGlvbjoge1xyXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nO1xyXG4gICAgZGlzcGxheUZpZWxkOiBzdHJpbmc7XHJcbiAgICBpdGVtczogYW55W10gfCAoKCkgPT4gUHJvbWlzZTxhbnlbXT4pO1xyXG4gICAgc2VsZWN0aW9uPzogJ0FVVE9DT01QTEVURScgfCAnTVVMVElQTEUnIHwgJ01VTFRJUExFQVVUT0NPTVBMRVRFJztcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkVGFibGVDb2x1bW5MYXp5VmFsdWVzPFQgPSBhbnk+IGV4dGVuZHMgU2RUYWJsZUNvbHVtbkJhc2U8VD4ge1xyXG4gIHR5cGU6ICdsYXp5LXZhbHVlcyc7XHJcbiAgb3B0aW9uOiB7XHJcbiAgICB2YWx1ZUZpZWxkOiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5RmllbGQ6IHN0cmluZztcclxuICAgIGl0ZW1zOiAoc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBQcm9taXNlPGFueVtdPjsgLy8gRmlsdGVyXHJcbiAgICAvLyBO4bq/dSBraMO0bmcgY8OzIHRyYW5mb3JtIGhheSBodG1sVGVtcGxhdGUgY+G6p24ga2hhaSBiw6FvIHZpZXdzXHJcbiAgICB2aWV3cz86ICh2YWx1ZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPGFueVtdPjsgLy8gSGnhu4NuIHRo4buLXHJcbiAgICBtYXBWYWx1ZT86ICh2YWx1ZTogYW55LCByb3dEYXRhPzogVCkgPT4gc3RyaW5nIHwgc3RyaW5nW107IC8vIE3hu5l0IHPhu5EgdHLGsOG7nW5nIGjhu6NwIGThu68gbGnhu4d1IGPhu6dhIGZpZWxkIGzDoCBvYmplY3QgaG/hurdjIG114buRbiB2YWx1ZSBs4bqleSBk4buvIGxp4buHdSBraMOhYyB0aMOsIHPhu60gZOG7pW5nIGjDoG0gbsOgeVxyXG4gICAgc2VsZWN0aW9uPzogJ01VTFRJUExFJztcclxuICB9O1xyXG59XHJcblxyXG50eXBlIFNkVGFibGVDb2x1bW5Ob3JtYWw8VD4gPSBFeGNsdWRlPFNkVGFibGVDb2x1bW48VD4sIFNkVGFibGVDb2x1bW5DaGlsZHJlbjxUPj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkVGFibGVDb2x1bW5DaGlsZHJlbjxUID0gYW55PiBleHRlbmRzIFNkVGFibGVDb2x1bW5CYXNlPFQ+IHtcclxuICB0eXBlOiAnY2hpbGRyZW4nO1xyXG4gIGNoaWxkcmVuOiBTZFRhYmxlQ29sdW1uTm9ybWFsPFQ+W107XHJcbn1cclxuIl19
|
|
@@ -14,23 +14,26 @@ export class SdTableConfigurationService {
|
|
|
14
14
|
GROUP: 'sdGroup',
|
|
15
15
|
});
|
|
16
16
|
_prefix.set(this, 'c9e94836-6ace-4aeb-b148-4f0be63589ee');
|
|
17
|
-
_getSetting.set(this, (
|
|
18
|
-
|
|
17
|
+
_getSetting.set(this, (option) => {
|
|
18
|
+
// Nếu không có key thì không lấy được setting
|
|
19
|
+
if (!(option === null || option === void 0 ? void 0 : option.key)) {
|
|
19
20
|
return null;
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
// Key của setting là tổ hợp từ key truyền vào và prefix để tránh chung key với các tính năng khác cũng dùng key trong core table
|
|
23
|
+
return this.settingService.create({ prefix: __classPrivateFieldGet(this, _prefix), key: option.key }, {
|
|
24
|
+
default: __classPrivateFieldGet(this, _default).call(this, option),
|
|
23
25
|
});
|
|
24
26
|
});
|
|
25
|
-
this.loadConfiguration = (
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
this.loadConfiguration = (option) => {
|
|
28
|
+
// Nếu không có key thì trả về thông tin mặc định
|
|
29
|
+
if (!(option === null || option === void 0 ? void 0 : option.key)) {
|
|
30
|
+
return __classPrivateFieldGet(this, _default).call(this, option);
|
|
28
31
|
}
|
|
29
|
-
const setting = __classPrivateFieldGet(this, _getSetting).call(this,
|
|
32
|
+
const setting = __classPrivateFieldGet(this, _getSetting).call(this, option);
|
|
30
33
|
return setting.get();
|
|
31
34
|
};
|
|
32
|
-
this.loadConfigurationResult = (
|
|
33
|
-
var _a, _b;
|
|
35
|
+
this.loadConfigurationResult = (option, configuration) => {
|
|
36
|
+
var _a, _b, _c;
|
|
34
37
|
const result = {
|
|
35
38
|
column: {},
|
|
36
39
|
fixedColumn: {},
|
|
@@ -42,7 +45,7 @@ export class SdTableConfigurationService {
|
|
|
42
45
|
displayedFooters: [],
|
|
43
46
|
multipleHeader: false,
|
|
44
47
|
};
|
|
45
|
-
const { selector, commands, group } =
|
|
48
|
+
const { selector, commands, group } = option || {};
|
|
46
49
|
if (selector === null || selector === void 0 ? void 0 : selector.visible) {
|
|
47
50
|
result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
|
|
48
51
|
result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
|
|
@@ -57,7 +60,9 @@ export class SdTableConfigurationService {
|
|
|
57
60
|
}
|
|
58
61
|
(_b = configuration === null || configuration === void 0 ? void 0 : configuration.columns) === null || _b === void 0 ? void 0 : _b.filter(col => !col.invisible).forEach(col => {
|
|
59
62
|
var _a;
|
|
60
|
-
|
|
63
|
+
// Kiểm tra column trong config có còn được khai báo trong option
|
|
64
|
+
// Nếu không thì ẩn column đó đi
|
|
65
|
+
const column = option === null || option === void 0 ? void 0 : option.columns.find(e => e.field === col.origin.field);
|
|
61
66
|
if (column) {
|
|
62
67
|
result.column[col.origin.field] = {
|
|
63
68
|
title: col.title || col.origin.title,
|
|
@@ -81,7 +86,21 @@ export class SdTableConfigurationService {
|
|
|
81
86
|
}
|
|
82
87
|
}
|
|
83
88
|
});
|
|
84
|
-
|
|
89
|
+
// Nếu có thêm các column mới, chèn các column đó vào cuối
|
|
90
|
+
(_c = option === null || option === void 0 ? void 0 : option.columns) === null || _c === void 0 ? void 0 : _c.filter(column => { var _a; return !((_a = configuration === null || configuration === void 0 ? void 0 : configuration.columns) === null || _a === void 0 ? void 0 : _a.some(e => e.origin.field === column.field)); }).forEach(column => {
|
|
91
|
+
var _a;
|
|
92
|
+
result.firstColumns.push(Object.assign(Object.assign({}, column), { title: column.title, width: column.width }));
|
|
93
|
+
result.firstHeaders.push(column.field);
|
|
94
|
+
result.displayedColumns.push(column.field);
|
|
95
|
+
if (column.type === 'children') {
|
|
96
|
+
(_a = column.children) === null || _a === void 0 ? void 0 : _a.forEach(childColumn => {
|
|
97
|
+
result.secondColumns.push(childColumn);
|
|
98
|
+
result.secondHeaders.push(childColumn.field);
|
|
99
|
+
result.displayedColumns.push(childColumn.field);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
if (option.expand) {
|
|
85
104
|
result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).SUBINFORMATION);
|
|
86
105
|
result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).SUBINFORMATION);
|
|
87
106
|
}
|
|
@@ -119,4 +138,4 @@ SdTableConfigurationService.ctorParameters = () => [
|
|
|
119
138
|
{ type: SdSettingService },
|
|
120
139
|
{ type: undefined, decorators: [{ type: Inject, args: [TABLE_CONFIG,] }, { type: Optional }] }
|
|
121
140
|
];
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmljZXMvdGFibGUtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT3ZFLE9BQU8sRUFBRSxZQUFZLEVBQXlCLE1BQU0scUNBQXFDLENBQUM7QUFHMUYsTUFBTSxPQUFPLDJCQUEyQjtJQVF0QyxZQUNVLGNBQWdDLEVBQ0MseUJBQWdEO1FBRGpGLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBdUI7UUFUM0YsbUJBQVc7WUFDVCxjQUFjLEVBQUUsd0JBQXdCO1lBQ3hDLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLEtBQUssRUFBRSxTQUFTO1NBQ2pCLEVBQUM7UUFDRixrQkFBVSxzQ0FBc0MsRUFBQztRQU1qRCxzQkFBYyxDQUFDLFVBQXlCLEVBQW1DLEVBQUU7WUFDM0UsSUFBSSxFQUFDLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxHQUFHLENBQUEsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQy9CLEVBQUUsTUFBTSx1Q0FBYyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQzdDO2dCQUNFLE9BQU8sRUFBRSw0Q0FBQSxJQUFJLEVBQVUsVUFBVSxDQUFDO2FBQ25DLENBQ0YsQ0FBQztR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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZFNldHRpbmcsIFNkU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NldHRpbmcnO1xyXG5pbXBvcnQgeyBTZFRhYmxlT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgU2RDb2x1bW5Db25maWd1cmF0aW9uLFxyXG4gIFNkVGFibGVDb25maWd1cmF0aW9uLFxyXG4gIFNkVGFibGVDb25maWd1cmF0aW9uUmVzdWx0LFxyXG59IGZyb20gJy4uL21vZGVscy90YWJsZS1vcHRpb24tY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgVEFCTEVfQ09ORklHLCBJU2RUYWJsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtY29uZmlndXJhdGlvbi5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTZFRhYmxlQ29uZmlndXJhdGlvblNlcnZpY2Uge1xyXG4gICNDT0xVTU5TID0ge1xyXG4gICAgU1VCSU5GT1JNQVRJT046ICdzZFN1YkluZm9ybWF0aW9uQWN0aW9uJyxcclxuICAgIENPTU1BTkQ6ICdzZENvbW1hbmQnLFxyXG4gICAgU0VMRUNUSU9OOiAnc2RTZWxlY3Rpb24nLFxyXG4gICAgR1JPVVA6ICdzZEdyb3VwJyxcclxuICB9O1xyXG4gICNwcmVmaXggPSAnYzllOTQ4MzYtNmFjZS00YWViLWIxNDgtNGYwYmU2MzU4OWVlJztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2V0dGluZ1NlcnZpY2U6IFNkU2V0dGluZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KFRBQkxFX0NPTkZJRykgQE9wdGlvbmFsKCkgcHVibGljIGdyaWRNYXRlcmlhbENvbmZpZ3VyYXRpb246IElTZFRhYmxlQ29uZmlndXJhdGlvblxyXG4gICkgeyB9XHJcblxyXG4gICNnZXRTZXR0aW5nID0gKGdyaWRPcHRpb246IFNkVGFibGVPcHRpb24pOiBTZFNldHRpbmc8U2RUYWJsZUNvbmZpZ3VyYXRpb24+ID0+IHtcclxuICAgIGlmICghZ3JpZE9wdGlvbj8ua2V5KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ1NlcnZpY2UuY3JlYXRlPFNkVGFibGVDb25maWd1cmF0aW9uPihcclxuICAgICAgeyBwcmVmaXg6IHRoaXMuI3ByZWZpeCwga2V5OiBncmlkT3B0aW9uLmtleSB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgZGVmYXVsdDogdGhpcy4jZGVmYXVsdChncmlkT3B0aW9uKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICBsb2FkQ29uZmlndXJhdGlvbiA9IChncmlkT3B0aW9uOiBTZFRhYmxlT3B0aW9uKSA9PiB7XHJcbiAgICBpZiAoIWdyaWRPcHRpb24/LmtleSkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jZGVmYXVsdChncmlkT3B0aW9uKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNldHRpbmcgPSB0aGlzLiNnZXRTZXR0aW5nKGdyaWRPcHRpb24pO1xyXG4gICAgcmV0dXJuIHNldHRpbmcuZ2V0KCk7XHJcbiAgfTtcclxuXHJcbiAgbG9hZENvbmZpZ3VyYXRpb25SZXN1bHQgPSAoZ3JpZE9wdGlvbjogU2RUYWJsZU9wdGlvbiwgY29uZmlndXJhdGlvbjogU2RUYWJsZUNvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogU2RUYWJsZUNvbmZpZ3VyYXRpb25SZXN1bHQgPSB7XHJcbiAgICAgIGNvbHVtbjoge30sXHJcbiAgICAgIGZpeGVkQ29sdW1uOiB7fSxcclxuICAgICAgZmlyc3RDb2x1bW5zOiBbXSxcclxuICAgICAgc2Vjb25kQ29sdW1uczogW10sXHJcbiAgICAgIGZpcnN0SGVhZGVyczogW10sXHJcbiAgICAgIHNlY29uZEhlYWRlcnM6IFtdLFxyXG4gICAgICBkaXNwbGF5ZWRDb2x1bW5zOiBbXSxcclxuICAgICAgZGlzcGxheWVkRm9vdGVyczogW10sXHJcbiAgICAgIG11bHRpcGxlSGVhZGVyOiBmYWxzZSxcclxuICAgIH07XHJcbiAgICBjb25zdCB7IHNlbGVjdG9yLCBjb21tYW5kcywgZ3JvdXAgfSA9IGdyaWRPcHRpb24gfHwge307XHJcbiAgICBpZiAoc2VsZWN0b3I/LnZpc2libGUpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuU0VMRUNUSU9OKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLlNFTEVDVElPTik7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tbWFuZHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5DT01NQU5EKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkNPTU1BTkQpO1xyXG4gICAgfVxyXG4gICAgaWYgKGdyb3VwPy5maWVsZHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5HUk9VUCk7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5HUk9VUCk7XHJcbiAgICB9XHJcbiAgICBjb25maWd1cmF0aW9uPy5jb2x1bW5zXHJcbiAgICAgID8uZmlsdGVyKGNvbCA9PiAhY29sLmludmlzaWJsZSlcclxuICAgICAgLmZvckVhY2goY29sID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSBncmlkT3B0aW9uPy5jb2x1bW5zLmZpbmQoZSA9PiBlLmZpZWxkID09PSBjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICBpZiAoY29sdW1uKSB7XHJcbiAgICAgICAgICByZXN1bHQuY29sdW1uW2NvbC5vcmlnaW4uZmllbGRdID0ge1xyXG4gICAgICAgICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBpZiAoY29sLmZpeGVkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5maXhlZENvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICAgICAgd2lkdGg6IGNvbC53aWR0aCB8fCBjb2wub3JpZ2luLndpZHRoLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgICAgLi4uY29sdW1uLFxyXG4gICAgICAgICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKGNvbC5vcmlnaW4uZmllbGQpO1xyXG4gICAgICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJykge1xyXG4gICAgICAgICAgICBjb2x1bW4uY2hpbGRyZW4/LmZvckVhY2goY2hpbGRDb2x1bW4gPT4ge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5zZWNvbmRDb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4pO1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5zZWNvbmRIZWFkZXJzLnB1c2goY2hpbGRDb2x1bW4uZmllbGQpO1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4uZmllbGQpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKGdyaWRPcHRpb24uZXhwYW5kKSB7XHJcbiAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaCh0aGlzLiNDT0xVTU5TLlNVQklORk9STUFUSU9OKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLlNVQklORk9STUFUSU9OKTtcclxuICAgIH1cclxuICAgIHJlc3VsdC5tdWx0aXBsZUhlYWRlciA9IHJlc3VsdC5zZWNvbmRIZWFkZXJzLmxlbmd0aCA+IDA7XHJcbiAgICAvLyBTdWIgaW5mb21hdGlvbiBraMO0bmcgdGjhu4MgY8OzIGZvb3RlclxyXG4gICAgcmVzdWx0LmRpc3BsYXllZEZvb3RlcnMgPSByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5maWx0ZXIodmFsID0+IHZhbCAhPT0gdGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH07XHJcblxyXG4gIGluaXQgPSAoZ3JpZE9wdGlvbjogU2RUYWJsZU9wdGlvbikgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI2dldFNldHRpbmcoZ3JpZE9wdGlvbik7XHJcbiAgfTtcclxuXHJcbiAgI2RlZmF1bHQgPSAoZ3JpZE9wdGlvbjogU2RUYWJsZU9wdGlvbik6IFNkVGFibGVDb25maWd1cmF0aW9uID0+IHtcclxuICAgIGNvbnN0IGNvbHVtbnM6IFNkQ29sdW1uQ29uZmlndXJhdGlvbltdID1cclxuICAgICAgZ3JpZE9wdGlvbj8uY29sdW1uc1xyXG4gICAgICAgID8uZmlsdGVyKGUgPT4gIWUuaGlkZGVuKVxyXG4gICAgICAgIC5tYXAoZSA9PiAoe1xyXG4gICAgICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgICAgIGZpZWxkOiBlLmZpZWxkLFxyXG4gICAgICAgICAgICB0aXRsZTogZS50aXRsZSxcclxuICAgICAgICAgICAgd2lkdGg6IGUud2lkdGgsXHJcbiAgICAgICAgICAgIGludmlzaWJsZTogZS5pbnZpc2libGUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaW52aXNpYmxlOiBlLmludmlzaWJsZSxcclxuICAgICAgICAgIGZpeGVkOiBmYWxzZSxcclxuICAgICAgICB9KSkgfHwgW107XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjb2x1bW5zLFxyXG4gICAgfTtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmljZXMvdGFibGUtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT3ZFLE9BQU8sRUFBRSxZQUFZLEVBQXlCLE1BQU0scUNBQXFDLENBQUM7QUFHMUYsTUFBTSxPQUFPLDJCQUEyQjtJQVF0QyxZQUNVLGNBQWdDLEVBQ0MseUJBQWdEO1FBRGpGLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBdUI7UUFUM0YsbUJBQVc7WUFDVCxjQUFjLEVBQUUsd0JBQXdCO1lBQ3hDLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLEtBQUssRUFBRSxTQUFTO1NBQ2pCLEVBQUM7UUFDRixrQkFBVSxzQ0FBc0MsRUFBQztRQU1qRCxzQkFBYyxDQUFDLE1BQXFCLEVBQW1DLEVBQUU7WUFDdkUsOENBQThDO1lBQzlDLElBQUksRUFBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsR0FBRyxDQUFBLEVBQUU7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxpSUFBaUk7WUFDakksT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FDL0IsRUFBRSxNQUFNLHVDQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFDekM7Z0JBQ0UsT0FBTyxFQUFFLDRDQUFBLElBQUksRUFBVSxNQUFNLENBQUM7YUFDL0IsQ0FDRixDQUFDO1FBQ0osQ0FBQyxFQUFDO1FBRUYsc0JBQWlCLEdBQUcsQ0FBQyxNQUFxQixFQUFFLEVBQUU7WUFDNUMsaURBQWlEO1lBQ2pELElBQUksRUFBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsR0FBRyxDQUFBLEVBQUU7Z0JBQ2hCLE9BQU8sNENBQUEsSUFBSSxFQUFVLE1BQU0sQ0FBQyxDQUFDO2FBQzlCO1lBQ0QsTUFBTSxPQUFPLEdBQUcsK0NBQUEsSUFBSSxFQUFhLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztRQUVGLDRCQUF1QixHQUFHLENBQUMsTUFBcUIsRUFBRSxhQUFtQyxFQUFFLEVBQUU7O1lBQ3ZGLE1BQU0sTUFBTSxHQUErQjtnQkFDekMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLGFBQWEsRUFBRSxFQUFFO2dCQUNqQixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLGNBQWMsRUFBRSxLQUFLO2FBQ3RCLENBQUM7WUFDRixNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ25ELElBQUksUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLE9BQU8sRUFBRTtnQkFDckIsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsdUNBQWMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsdUNBQWMsU0FBUyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxNQUFNLEVBQUU7Z0JBQ3BCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVDQUFjLE9BQU8sQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLHVDQUFjLE9BQU8sQ0FBQyxDQUFDO2FBQ3JEO1lBQ0QsVUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSwwQ0FBRSxNQUFNLEVBQUU7Z0JBQ3pCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVDQUFjLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLHVDQUFjLEtBQUssQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsTUFBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsT0FBTywwQ0FDbEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7O2dCQUNiLGlFQUFpRTtnQkFDakUsZ0NBQWdDO2dCQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHO3dCQUNoQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7d0JBQ3BDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztxQkFDckMsQ0FBQztvQkFDRixJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7d0JBQ2IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHOzRCQUNyQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7NEJBQ3BDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSzt5QkFDckMsQ0FBQztxQkFDSDtvQkFDRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksaUNBQ25CLE1BQU0sS0FDVCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFDcEMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQ3BDLENBQUM7b0JBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDM0MsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMvQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO3dCQUM5QixNQUFBLE1BQU0sQ0FBQyxRQUFRLDBDQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTs0QkFDckMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7NEJBQ3ZDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDN0MsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2xELENBQUMsRUFBRTtxQkFDSjtpQkFDRjtZQUNILENBQUMsRUFBRTtZQUNILDBEQUEwRDtZQUMxRCxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPLDBDQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUEsRUFBRSxXQUFDLE9BQUEsUUFBQyxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsT0FBTywwQ0FBRSxJQUFJLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUEsRUFBQSxFQUNqRyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7O2dCQUNoQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksaUNBQ25CLE1BQU0sS0FDVCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFDbkIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLElBQ25CLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtvQkFDOUIsTUFBQSxNQUFNLENBQUMsUUFBUSwwQ0FBRSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7d0JBQ3JDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUN2QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzdDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsRCxDQUFDLEVBQUU7aUJBQ0o7WUFDSCxDQUFDLEVBQUM7WUFDSixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVDQUFjLGNBQWMsQ0FBQyxDQUFDO2dCQUN2RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLHVDQUFjLGNBQWMsQ0FBQyxDQUFDO2FBQzVEO1lBQ0QsTUFBTSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDeEQscUNBQXFDO1lBQ3JDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLHVDQUFjLGNBQWMsQ0FBQyxDQUFDO1lBQ3RHLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztRQUVGLFNBQUksR0FBRyxDQUFDLFVBQXlCLEVBQUUsRUFBRTtZQUNuQyxPQUFPLCtDQUFBLElBQUksRUFBYSxVQUFVLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUM7UUFFRixtQkFBVyxDQUFDLFVBQXlCLEVBQXdCLEVBQUU7O1lBQzdELE1BQU0sT0FBTyxHQUNYLE9BQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLE9BQU8sMENBQ2YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNULE1BQU0sRUFBRTtvQkFDTixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7b0JBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztvQkFDZCxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVM7aUJBQ3ZCO2dCQUNELFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUztnQkFDdEIsS0FBSyxFQUFFLEtBQUs7YUFDYixDQUFDLE1BQUssRUFBRSxDQUFDO1lBQ2QsT0FBTztnQkFDTCxPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUMsRUFBQztJQXBJRSxDQUFDOzs7O1lBWk4sVUFBVTs7O1lBVFMsZ0JBQWdCOzRDQW9CL0IsTUFBTSxTQUFDLFlBQVksY0FBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IFNkU2V0dGluZywgU2RTZXR0aW5nU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2V0dGluZyc7XHJcbmltcG9ydCB7IFNkVGFibGVPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBTZENvbHVtbkNvbmZpZ3VyYXRpb24sXHJcbiAgU2RUYWJsZUNvbmZpZ3VyYXRpb24sXHJcbiAgU2RUYWJsZUNvbmZpZ3VyYXRpb25SZXN1bHQsXHJcbn0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLW9wdGlvbi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBUQUJMRV9DT05GSUcsIElTZFRhYmxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy90YWJsZS1jb25maWd1cmF0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNkVGFibGVDb25maWd1cmF0aW9uU2VydmljZSB7XHJcbiAgI0NPTFVNTlMgPSB7XHJcbiAgICBTVUJJTkZPUk1BVElPTjogJ3NkU3ViSW5mb3JtYXRpb25BY3Rpb24nLFxyXG4gICAgQ09NTUFORDogJ3NkQ29tbWFuZCcsXHJcbiAgICBTRUxFQ1RJT046ICdzZFNlbGVjdGlvbicsXHJcbiAgICBHUk9VUDogJ3NkR3JvdXAnLFxyXG4gIH07XHJcbiAgI3ByZWZpeCA9ICdjOWU5NDgzNi02YWNlLTRhZWItYjE0OC00ZjBiZTYzNTg5ZWUnO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZTogU2RTZXR0aW5nU2VydmljZSxcclxuICAgIEBJbmplY3QoVEFCTEVfQ09ORklHKSBAT3B0aW9uYWwoKSBwdWJsaWMgZ3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbjogSVNkVGFibGVDb25maWd1cmF0aW9uXHJcbiAgKSB7IH1cclxuXHJcbiAgI2dldFNldHRpbmcgPSAob3B0aW9uOiBTZFRhYmxlT3B0aW9uKTogU2RTZXR0aW5nPFNkVGFibGVDb25maWd1cmF0aW9uPiA9PiB7XHJcbiAgICAvLyBO4bq/dSBraMO0bmcgY8OzIGtleSB0aMOsIGtow7RuZyBs4bqleSDEkcaw4bujYyBzZXR0aW5nXHJcbiAgICBpZiAoIW9wdGlvbj8ua2V5KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gS2V5IGPhu6dhIHNldHRpbmcgbMOgIHThu5UgaOG7o3AgdOG7qyBrZXkgdHJ1eeG7gW4gdsOgbyB2w6AgcHJlZml4IMSR4buDIHRyw6FuaCBjaHVuZyBrZXkgduG7m2kgY8OhYyB0w61uaCBuxINuZyBraMOhYyBjxaluZyBkw7luZyBrZXkgdHJvbmcgY29yZSB0YWJsZVxyXG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ1NlcnZpY2UuY3JlYXRlPFNkVGFibGVDb25maWd1cmF0aW9uPihcclxuICAgICAgeyBwcmVmaXg6IHRoaXMuI3ByZWZpeCwga2V5OiBvcHRpb24ua2V5IH0sXHJcbiAgICAgIHtcclxuICAgICAgICBkZWZhdWx0OiB0aGlzLiNkZWZhdWx0KG9wdGlvbiksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgbG9hZENvbmZpZ3VyYXRpb24gPSAob3B0aW9uOiBTZFRhYmxlT3B0aW9uKSA9PiB7XHJcbiAgICAvLyBO4bq/dSBraMO0bmcgY8OzIGtleSB0aMOsIHRy4bqjIHbhu4EgdGjDtG5nIHRpbiBt4bq3YyDEkeG7i25oXHJcbiAgICBpZiAoIW9wdGlvbj8ua2V5KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNkZWZhdWx0KG9wdGlvbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZXR0aW5nID0gdGhpcy4jZ2V0U2V0dGluZyhvcHRpb24pO1xyXG4gICAgcmV0dXJuIHNldHRpbmcuZ2V0KCk7XHJcbiAgfTtcclxuXHJcbiAgbG9hZENvbmZpZ3VyYXRpb25SZXN1bHQgPSAob3B0aW9uOiBTZFRhYmxlT3B0aW9uLCBjb25maWd1cmF0aW9uOiBTZFRhYmxlQ29uZmlndXJhdGlvbikgPT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBTZFRhYmxlQ29uZmlndXJhdGlvblJlc3VsdCA9IHtcclxuICAgICAgY29sdW1uOiB7fSxcclxuICAgICAgZml4ZWRDb2x1bW46IHt9LFxyXG4gICAgICBmaXJzdENvbHVtbnM6IFtdLFxyXG4gICAgICBzZWNvbmRDb2x1bW5zOiBbXSxcclxuICAgICAgZmlyc3RIZWFkZXJzOiBbXSxcclxuICAgICAgc2Vjb25kSGVhZGVyczogW10sXHJcbiAgICAgIGRpc3BsYXllZENvbHVtbnM6IFtdLFxyXG4gICAgICBkaXNwbGF5ZWRGb290ZXJzOiBbXSxcclxuICAgICAgbXVsdGlwbGVIZWFkZXI6IGZhbHNlLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHsgc2VsZWN0b3IsIGNvbW1hbmRzLCBncm91cCB9ID0gb3B0aW9uIHx8IHt9O1xyXG4gICAgaWYgKHNlbGVjdG9yPy52aXNpYmxlKSB7XHJcbiAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaCh0aGlzLiNDT0xVTU5TLlNFTEVDVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5TRUxFQ1RJT04pO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbW1hbmRzPy5sZW5ndGgpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuQ09NTUFORCk7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5DT01NQU5EKTtcclxuICAgIH1cclxuICAgIGlmIChncm91cD8uZmllbGRzPy5sZW5ndGgpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuR1JPVVApO1xyXG4gICAgICByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5wdXNoKHRoaXMuI0NPTFVNTlMuR1JPVVApO1xyXG4gICAgfVxyXG4gICAgY29uZmlndXJhdGlvbj8uY29sdW1uc1xyXG4gICAgICA/LmZpbHRlcihjb2wgPT4gIWNvbC5pbnZpc2libGUpXHJcbiAgICAgIC5mb3JFYWNoKGNvbCA9PiB7XHJcbiAgICAgICAgLy8gS2nhu4NtIHRyYSBjb2x1bW4gdHJvbmcgY29uZmlnIGPDsyBjw7JuIMSRxrDhu6NjIGtoYWkgYsOhbyB0cm9uZyBvcHRpb25cclxuICAgICAgICAvLyBO4bq/dSBraMO0bmcgdGjDrCDhuqluIGNvbHVtbiDEkcOzIMSRaVxyXG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IG9wdGlvbj8uY29sdW1ucy5maW5kKGUgPT4gZS5maWVsZCA9PT0gY29sLm9yaWdpbi5maWVsZCk7XHJcbiAgICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgICAgcmVzdWx0LmNvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wub3JpZ2luLnRpdGxlLFxyXG4gICAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaWYgKGNvbC5maXhlZCkge1xyXG4gICAgICAgICAgICByZXN1bHQuZml4ZWRDb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wub3JpZ2luLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJlc3VsdC5maXJzdENvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICAgIC4uLmNvbHVtbixcclxuICAgICAgICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wub3JpZ2luLnRpdGxlLFxyXG4gICAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY29sLm9yaWdpbi5maWVsZCk7XHJcbiAgICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbicpIHtcclxuICAgICAgICAgICAgY29sdW1uLmNoaWxkcmVuPy5mb3JFYWNoKGNoaWxkQ29sdW1uID0+IHtcclxuICAgICAgICAgICAgICByZXN1bHQuc2Vjb25kQ29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uKTtcclxuICAgICAgICAgICAgICByZXN1bHQuc2Vjb25kSGVhZGVycy5wdXNoKGNoaWxkQ29sdW1uLmZpZWxkKTtcclxuICAgICAgICAgICAgICByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uLmZpZWxkKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgLy8gTuG6v3UgY8OzIHRow6ptIGPDoWMgY29sdW1uIG3hu5tpLCBjaMOobiBjw6FjIGNvbHVtbiDEkcOzIHbDoG8gY3Xhu5FpXHJcbiAgICAgIG9wdGlvbj8uY29sdW1ucz8uZmlsdGVyKGNvbHVtbj0+ICFjb25maWd1cmF0aW9uPy5jb2x1bW5zPy5zb21lKGU9PmUub3JpZ2luLmZpZWxkID09PSBjb2x1bW4uZmllbGQpKVxyXG4gICAgICAuZm9yRWFjaChjb2x1bW4gPT57XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmNvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2x1bW4udGl0bGUsXHJcbiAgICAgICAgICB3aWR0aDogY29sdW1uLndpZHRoLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2x1bW4uZmllbGQpO1xyXG4gICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY29sdW1uLmZpZWxkKTtcclxuICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbicpIHtcclxuICAgICAgICAgIGNvbHVtbi5jaGlsZHJlbj8uZm9yRWFjaChjaGlsZENvbHVtbiA9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5zZWNvbmRDb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4pO1xyXG4gICAgICAgICAgICByZXN1bHQuc2Vjb25kSGVhZGVycy5wdXNoKGNoaWxkQ29sdW1uLmZpZWxkKTtcclxuICAgICAgICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaChjaGlsZENvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICBpZiAob3B0aW9uLmV4cGFuZCkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICB9XHJcbiAgICByZXN1bHQubXVsdGlwbGVIZWFkZXIgPSByZXN1bHQuc2Vjb25kSGVhZGVycy5sZW5ndGggPiAwO1xyXG4gICAgLy8gU3ViIGluZm9tYXRpb24ga2jDtG5nIHRo4buDIGPDsyBmb290ZXJcclxuICAgIHJlc3VsdC5kaXNwbGF5ZWRGb290ZXJzID0gcmVzdWx0LmRpc3BsYXllZENvbHVtbnMuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHRoaXMuI0NPTFVNTlMuU1VCSU5GT1JNQVRJT04pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9O1xyXG5cclxuICBpbml0ID0gKGdyaWRPcHRpb246IFNkVGFibGVPcHRpb24pID0+IHtcclxuICAgIHJldHVybiB0aGlzLiNnZXRTZXR0aW5nKGdyaWRPcHRpb24pO1xyXG4gIH07XHJcblxyXG4gICNkZWZhdWx0ID0gKGdyaWRPcHRpb246IFNkVGFibGVPcHRpb24pOiBTZFRhYmxlQ29uZmlndXJhdGlvbiA9PiB7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBTZENvbHVtbkNvbmZpZ3VyYXRpb25bXSA9XHJcbiAgICAgIGdyaWRPcHRpb24/LmNvbHVtbnNcclxuICAgICAgICA/LmZpbHRlcihlID0+ICFlLmhpZGRlbilcclxuICAgICAgICAubWFwKGUgPT4gKHtcclxuICAgICAgICAgIG9yaWdpbjoge1xyXG4gICAgICAgICAgICBmaWVsZDogZS5maWVsZCxcclxuICAgICAgICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgICAgICAgIHdpZHRoOiBlLndpZHRoLFxyXG4gICAgICAgICAgICBpbnZpc2libGU6IGUuaW52aXNpYmxlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGludmlzaWJsZTogZS5pbnZpc2libGUsXHJcbiAgICAgICAgICBmaXhlZDogZmFsc2UsXHJcbiAgICAgICAgfSkpIHx8IFtdO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY29sdW1ucyxcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -423,7 +423,7 @@ class SdExportService {
|
|
|
423
423
|
if (Array.isArray(headers)) {
|
|
424
424
|
sheet.eachRow((row, rowIndex) => {
|
|
425
425
|
const { hasValues, values, } = row;
|
|
426
|
-
console.log(row, hasValues, values)
|
|
426
|
+
// console.log(row, hasValues, values)
|
|
427
427
|
if (hasValues && rowIndex > 1) {
|
|
428
428
|
const item = {};
|
|
429
429
|
headers.forEach((cellValue, index) => {
|