igniteui-angular 18.2.9 → 18.2.11
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/esm2022/lib/carousel/carousel-base.mjs +4 -2
- package/esm2022/lib/carousel/carousel.component.mjs +6 -4
- package/esm2022/lib/carousel/slide.component.mjs +5 -6
- package/esm2022/lib/core/i18n/grid-resources.mjs +3 -3
- package/esm2022/lib/grids/columns/column-group.component.mjs +2 -2
- package/esm2022/lib/grids/columns/column-layout.component.mjs +3 -3
- package/esm2022/lib/grids/columns/column.component.mjs +11 -8
- package/esm2022/lib/grids/common/grid.interface.mjs +1 -1
- package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +13 -6
- package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +3 -2
- package/esm2022/lib/grids/grid-base.directive.mjs +16 -10
- package/esm2022/lib/grids/headers/pipes.mjs +2 -2
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +2 -1
- package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +1 -1
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizer.component.mjs +3 -3
- package/esm2022/lib/grids/resizing/resizer.component.mjs +3 -3
- package/esm2022/lib/grids/resizing/resizer.directive.mjs +12 -3
- package/esm2022/lib/grids/resizing/resizing.service.mjs +4 -4
- package/fesm2022/igniteui-angular.mjs +72 -42
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/carousel/carousel-base.d.ts +31 -2
- package/lib/carousel/carousel.component.d.ts +2 -2
- package/lib/carousel/slide.component.d.ts +2 -3
- package/lib/core/styles/components/checkbox/_checkbox-component.scss +8 -4
- package/lib/core/styles/components/checkbox/_checkbox-theme.scss +8 -3
- package/lib/core/styles/components/chip/_chip-theme.scss +1 -1
- package/lib/core/styles/components/combo/_combo-theme.scss +2 -2
- package/lib/core/styles/components/grid/_excel-filtering-theme.scss +3 -7
- package/lib/core/styles/components/grid/_grid-theme.scss +19 -15
- package/lib/core/styles/components/progress/_progress-theme.scss +55 -7
- package/lib/core/styles/components/radio/_radio-theme.scss +0 -2
- package/lib/core/styles/components/switch/_switch-theme.scss +0 -2
- package/lib/grids/common/grid.interface.d.ts +4 -0
- package/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.d.ts +4 -1
- package/lib/grids/grid-base.directive.d.ts +5 -2
- package/lib/grids/pivot-grid/pivot-grid.component.d.ts +1 -1
- package/lib/grids/resizing/resizer.directive.d.ts +2 -0
- package/lib/grids/resizing/resizing.service.d.ts +2 -2
- package/package.json +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const IGX_GRID_BASE = /*@__PURE__*/ new InjectionToken('IgxGridBaseToken');
|
|
3
3
|
export const IGX_GRID_SERVICE_BASE = /*@__PURE__*/ new InjectionToken('IgxGridServiceBaseToken');
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvY29tbW9uL2dyaWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBK0MsY0FBYyxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQTZCdEksTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBa0IseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtblBpbm5pbmdQb3NpdGlvbiwgRmlsdGVyTW9kZSwgR3JpZFBhZ2luZ01vZGUsIEdyaWRTZWxlY3Rpb25Nb2RlLCBHcmlkU3VtbWFyeUNhbGN1bGF0aW9uTW9kZSwgR3JpZFN1bW1hcnlQb3NpdGlvbiwgR3JpZFZhbGlkYXRpb25UcmlnZ2VyLCBSb3dQaW5uaW5nUG9zaXRpb24sIFNpemUgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7XG4gICAgSVNlYXJjaEluZm8sIElHcmlkQ2VsbEV2ZW50QXJncywgSVJvd1NlbGVjdGlvbkV2ZW50QXJncywgSUNvbHVtblNlbGVjdGlvbkV2ZW50QXJncyxcbiAgICBJUGluQ29sdW1uQ2FuY2VsbGFibGVFdmVudEFyZ3MsIElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdlZEV2ZW50QXJncywgSUNvbHVtblZpc2liaWxpdHlDaGFuZ2luZ0V2ZW50QXJncyxcbiAgICBJUm93RHJhZ0VuZEV2ZW50QXJncywgSUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzLCBJQ29sdW1uTW92aW5nRW5kRXZlbnRBcmdzLFxuICAgIElSb3dEYXRhRXZlbnRBcmdzLCBJR3JpZEtleWRvd25FdmVudEFyZ3MsIElSb3dEcmFnU3RhcnRFdmVudEFyZ3MsXG4gICAgSUNvbHVtbk1vdmluZ0V2ZW50QXJncywgSVBpbkNvbHVtbkV2ZW50QXJncyxcbiAgICBJQWN0aXZlTm9kZUNoYW5nZUV2ZW50QXJncyxcbiAgICBJQ2VsbFBvc2l0aW9uLCBJRmlsdGVyaW5nRXZlbnRBcmdzLCBJQ29sdW1uUmVzaXplRXZlbnRBcmdzLCBJUm93VG9nZ2xlRXZlbnRBcmdzLCBJR3JpZFRvb2xiYXJFeHBvcnRFdmVudEFyZ3MsIElQaW5Sb3dFdmVudEFyZ3MsXG4gICAgSUdyaWRSb3dFdmVudEFyZ3MsIElHcmlkRWRpdEV2ZW50QXJncywgSVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzLCBJR3JpZEVkaXREb25lRXZlbnRBcmdzLFxuICAgIElHcmlkQ29udGV4dE1lbnVFdmVudEFyZ3Ncbn0gZnJvbSAnLi4vY29tbW9uL2V2ZW50cyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IElHcmlkUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuL2dyaWQtcmVzb3VyY2VzJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5RXhwYW5kU3RhdGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1leHBhbmQtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IElneENlbGwsIElneEVkaXRSb3cgfSBmcm9tICcuL2NydWQuc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkU2VsZWN0aW9uUmFuZ2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZpbHRlcmluZ0xvZ2ljIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IERyb3BQb3NpdGlvbiwgSWd4Q29sdW1uTW92aW5nU2VydmljZSB9IGZyb20gJy4uL21vdmluZy9tb3Zpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hPdmVybGF5T3V0bGV0RGlyZWN0aXZlLCBJZ3hUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElUcmVlR3JpZFJlY29yZCB9IGZyb20gJy4uL3RyZWUtZ3JpZC90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdGF0ZSwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERhdGFUeXBlLCBHcmlkQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElneEZpbHRlcmluZ09wZXJhbmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBJQ29sdW1uRWRpdG9yT3B0aW9ucywgSUNvbHVtblBpcGVBcmdzLCBJRmllbGRFZGl0b3JPcHRpb25zLCBJRmllbGRQaXBlQXJncywgSVNvcnRpbmdPcHRpb25zLCBNUkxSZXNpemVDb2x1bW5JbmZvIH0gZnJvbSAnLi4vY29sdW1ucy9pbnRlcmZhY2VzJztcbmltcG9ydCB7IElneFN1bW1hcnlSZXN1bHQgfSBmcm9tICcuLi9zdW1tYXJpZXMvZ3JpZC1zdW1tYXJ5JztcbmltcG9ydCB7IElTb3J0aW5nRXhwcmVzc2lvbiwgSVNvcnRpbmdTdHJhdGVneSwgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IElHcmlkR3JvdXBpbmdTdHJhdGVneSwgSUdyaWRTb3J0aW5nU3RyYXRlZ3kgfSBmcm9tICcuL3N0cmF0ZWd5JztcbmltcG9ydCB7IElGb3JPZlN0YXRlLCBJZ3hHcmlkRm9yT2ZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2YuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL292ZXJsYXkvdXRpbGl0aWVzJztcbmltcG9ydCB7IElEaW1lbnNpb25zQ2hhbmdlLCBJUGl2b3RDb25maWd1cmF0aW9uLCBJUGl2b3REaW1lbnNpb24sIElQaXZvdEtleXMsIElQaXZvdFZhbHVlLCBJVmFsdWVzQ2hhbmdlLCBQaXZvdERpbWVuc2lvblR5cGUsIElQaXZvdFVJU2V0dGluZ3MgfSBmcm9tICcuLi9waXZvdC1ncmlkL3Bpdm90LWdyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEYXRhQ2xvbmVTdHJhdGVneSB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLWNsb25lLXN0cmF0ZWd5JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJZ3hHcmlkVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ncmlkL2dyaWQtdmFsaWRhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IElHWF9HUklEX0JBU0UgPSAvKkBfX1BVUkVfXyovbmV3IEluamVjdGlvblRva2VuPEdyaWRUeXBlPignSWd4R3JpZEJhc2VUb2tlbicpO1xuZXhwb3J0IGNvbnN0IElHWF9HUklEX1NFUlZJQ0VfQkFTRSA9IC8qQF9fUFVSRV9fKi9uZXcgSW5qZWN0aW9uVG9rZW48R3JpZFNlcnZpY2VUeXBlPignSWd4R3JpZFNlcnZpY2VCYXNlVG9rZW4nKTtcblxuLyoqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBzZWdtZW50IG9mIGEgcGF0aCBpbiBhIGhpZXJhcmNoaWNhbCBncmlkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGF0aFNlZ21lbnQge1xuICAgIC8qKlxuICAgICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcm93IHdpdGhpbiB0aGUgc2VnbWVudC5cbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE3LjEuMC4gVXNlIHRoZSBgcm93S2V5YCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJvd0lEOiBhbnk7XG4gICAgcm93S2V5OiBhbnk7XG4gICAgLyoqIFRoZSBrZXkgcmVwcmVzZW50aW5nIHRoZSByb3cncyAnaGllcmFyY2hpY2FsIGxldmVsLiAqL1xuICAgIHJvd0lzbGFuZEtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkRGF0YUJpbmRhYmxlIHtcbiAgICBkYXRhOiBhbnlbXSB8IG51bGw7XG4gICAgZ2V0IGZpbHRlcmVkRGF0YSgpOiBhbnlbXTtcbn1cblxuLyogbWFyc2hhbEJ5VmFsdWUgKi9cbi8qIGpzb25BUElDb21wbGV4T2JqZWN0ICovXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgY2VsbCBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGNlbGxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZWxsVHlwZSB7XG4gICAgLyoqIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHZhbHVlOiBhbnk7XG4gICAgLyoqIFRoZSB2YWx1ZSB0byBkaXNwbGF5IHdoZW4gdGhlIGNlbGwgaXMgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRWYWx1ZTogYW55O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuIEl0IGlzIGZhbHNlLCBpZiB0aGUgc2VsbCBpcyBub3Qgc2VsZWN0ZWQsIGFuZCB0cnVlLCBpZiBpdCBpcy4gKi9cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNlbGwgaXMgY3VycmVudGx5IGFjdGl2ZSAoZm9jdXNlZCkuICovXG4gICAgYWN0aXZlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBjYW4gYmUgZWRpdGVkLiAqL1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRNb2RlOiBib29sZWFuO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIGNlbGwgaXRzZWxmICovXG4gICAgbmF0aXZlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjb2x1bW4gdGhhdCB0aGUgY2VsbCBiZWxvbmdzIHRvLiAqL1xuICAgIGNvbHVtbjogQ29sdW1uVHlwZTtcbiAgICAvKiBibGF6b3JDU1N1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHJvdyB0aGF0IHRoZSBjZWxsIGJlbG9uZ3MgdG8gKi9cbiAgICByb3c6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgY2VsbCAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKiBPcHRpb25hbDsgQW4gb2JqZWN0IGlkZW50aWZ5aW5nIHRoZSBjZWxsLiBJdCBjb250YWlucyByb3dJRCwgY29sdW1uSUQsIGFuZCByb3dJbmRleCBvZiB0aGUgY2VsbC4gKi9cbiAgICBpZD86IHsgcm93SUQ6IGFueTsgY29sdW1uSUQ6IG51bWJlcjsgcm93SW5kZXg6IG51bWJlciB9O1xuICAgIC8qKiBPcHRpb25hbDsgVGhlIGBjZWxsSURgIGlzIHRoZSB1bmlxdWUga2V5LCB1c2VkIHRvIGlkZW50aWZ5IHRoZSBjZWxsICovXG4gICAgY2VsbElEPzogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOyBBbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIHRoZSBjZWxsLlxuICAgICAqIFdoZXRoZXIgaXQncyB2YWxpZCBvciBpbnZhbGlkLCBhbmQgaWYgaXQgaGFzIGVycm9yc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBJR3JpZFZhbGlkYXRpb25TdGF0ZTtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgLyoqIEFuIG9wdGlvbmFsIHRpdGxlIHRvIGRpc3BsYXkgZm9yIHRoZSBjZWxsICovXG4gICAgdGl0bGU/OiBhbnk7XG4gICAgLyoqIFRoZSBDU1Mgd2lkdGggb2YgdGhlIGNlbGwgYXMgYSBzdHJpbmcuICovXG4gICAgd2lkdGg6IHN0cmluZztcbiAgICAvKiogVGhlIGluZGV4IG9mIHRoZSBjb2x1bW4gdGhhdCB0aGUgY2VsbCBiZWxvbmdzIHRvLiBJdCBjb3VudHMgb25seSB0aGUgdmlzaWJsZSAobm90IGhpZGRlbikgY29sdW1ucyAqL1xuICAgIHZpc2libGVDb2x1bW5JbmRleD86IG51bWJlcjtcbiAgICAvKiogQSBtZXRob2QgZGVmaW5pdGlvbiB0byB1cGRhdGUgdGhlIHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHVwZGF0ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gc3RhcnQgb3IgZW5kIHRoZSBlZGl0IG1vZGUgb2YgdGhlIGNlbGwuIEl0IHRha2VzIGEgYm9vbGVhbiB2YWx1ZSBhcyBhbiBhcmd1bWVudCovXG4gICAgc2V0RWRpdE1vZGU/KHZhbHVlOiBib29sZWFuKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDtcbiAgICAgKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB0byBmaXQgdGhlIGNvbnRlbnRcbiAgICAgKiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB3aXRoIHRoZSBsb25nZXN0IGNvbnRlbnQgYW5kIHJlc2l6ZSBhbGwgY2VsbHMgdG8gdGhhdCBzaXplXG4gICAgICovXG4gICAgY2FsY3VsYXRlU2l6ZVRvRml0PyhyYW5nZTogYW55KTogbnVtYmVyO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBhY3RpdmF0ZSB0aGUgY2VsbC5cbiAgICAgKiBJdCB0YWtlcyBhIGZvY3VzIG9yIGtleWJvYXJkIGV2ZW50IGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgYWN0aXZhdGU/KGV2ZW50OiBGb2N1c0V2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBkb3VibGUtY2xpY2sgZXZlbnRzIG9uIHRoZSBjZWxsXG4gICAgICogSXQgdGFrZXMgYSBtb3VzZSBldmVudCBhcyBhbiBhcmd1bWVudFxuICAgICAqL1xuICAgIG9uRG91YmxlQ2xpY2s/KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGNsaWNrIGV2ZW50cyBvbiB0aGUgY2VsbFxuICAgICAqIEl0IHRha2VzIGEgbW91c2UgZXZlbnQgYXMgYW4gYXJndW1lbnRcbiAgICAgKi9cbiAgICBvbkNsaWNrPyhldmVudDogTW91c2VFdmVudCk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIGhlYWRlciBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgaGVhZGVyIGNlbGwgb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcywgcmVsZXZhbnQgdG8gdGhlIGhlYWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclR5cGUge1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIGNlbGwgaXRzZWxmICovXG4gICAgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIFRoZSBjb2x1bW4gdGhhdCB0aGUgaGVhZGVyIGNlbGwgcmVwcmVzZW50cy4gKi9cbiAgICBjb2x1bW46IENvbHVtblR5cGU7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IHNvcnRlZC4gKi9cbiAgICBzb3J0ZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjZWxsIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjZWxsIGlzIGN1cnJlbnRseSBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29sdW1uIGhlYWRlciBpcyBhIHRpdGxlIGNlbGwuICovXG4gICAgdGl0bGU6IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHNvcnRpbmcgZGlyZWN0aW9uIG9mIHRoZSBjb2x1bW4gKGFzY2VuZGluZywgZGVzY2VuZGluZyBvciBub25lKS4gKi9cbiAgICBzb3J0RGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uO1xufVxuXG4vKiBqc29uQVBJQ29tcGxleE9iamVjdCAqL1xuLyogbWFyc2hhbEJ5VmFsdWUgKi9cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIHJvdyBpbiB0aGUgZ3JpZC4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIHJvdyBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIHJvd1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvd1R5cGUge1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIHJvdyBpdHNlbGYgKi9cbiAgICBuYXRpdmVFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIFRoZSBpbmRleCBvZiB0aGUgcm93IHdpdGhpbiB0aGUgZ3JpZCAqL1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgdmlld0luZGV4OiBudW1iZXI7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb3cgaXMgZ3JvdXBlZC4gKi9cbiAgICBpc0dyb3VwQnlSb3c/OiBib29sZWFuO1xuICAgIGlzU3VtbWFyeVJvdz86IGJvb2xlYW47XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWFwIG9mIGNvbHVtbiBmaWVsZCBuYW1lcyB0byB0aGUgc3VtbWFyeSByZXN1bHRzIGZvciB0aGUgcm93LlxuICAgICAqL1xuICAgIHN1bW1hcmllcz86IE1hcDxzdHJpbmcsIElneFN1bW1hcnlSZXN1bHRbXT47XG4gICAgZ3JvdXBSb3c/OiBJR3JvdXBCeVJlY29yZDtcbiAgICBrZXk/OiBhbnk7XG4gICAgcmVhZG9ubHkgdmFsaWRhdGlvbj86IElHcmlkVmFsaWRhdGlvblN0YXRlO1xuICAgIGRhdGE/OiBhbnk7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIGxpc3Qgb3IgYW4gYXJyYXkgb2YgY2VsbHMsIHRoYXQgYmVsb25nIHRvIHRoZSByb3dcbiAgICAgKi9cbiAgICBjZWxscz86IFF1ZXJ5TGlzdDxDZWxsVHlwZT4gfCBDZWxsVHlwZVtdO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBWaXJ0dWFsaXphdGlvbiBzdGF0ZSBvZiBkYXRhIHJlY29yZCBhZGRlZCBmcm9tIGNhY2hlXG4gICAgICovXG4gICAgdmlydERpclJvdz86IElneEdyaWRGb3JPZkRpcmVjdGl2ZTxDb2x1bW5UeXBlLCBDb2x1bW5UeXBlW10+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIHBpbm5lZC5cbiAgICAgKi9cbiAgICBwaW5uZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIHNlbGVjdGVkXG4gICAgICovXG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIGV4cGFuZGVkLlxuICAgICAqIFRoZSB2YWx1ZSBpcyB0cnVlLCBpZiB0aGUgcm93IGlzIGV4cGFuZGVkIGFuZCBmYWxzZSwgaWYgaXQgaXMgY29sbGFwc2VkXG4gICAgICovXG4gICAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJvdyBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLlxuICAgICAqL1xuICAgIGRlbGV0ZWQ/OiBib29sZWFuO1xuICAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb3cgaXMgY3VycmVudGx5IGJlaW5nIGVkaXRlZC5cbiAgICAgKi9cbiAgICBpbkVkaXRNb2RlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIENvbnRhaW5zIHRoZSBjaGlsZCByb3dzIG9mIHRoZSBjdXJyZW50IHJvdywgaWYgdGhlcmUgYXJlIGFueS5cbiAgICAgKi9cbiAgICBjaGlsZHJlbj86IFJvd1R5cGVbXTtcbiAgICAvKiBibGF6b3JBbHRlcm5hdGVOYW1lOiBSb3dQYXJlbnQgKi9cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIENvbnRhaW5zIHRoZSBwYXJlbnQgcm93IG9mIHRoZSBjdXJyZW50IHJvdywgaWYgaXQgaGFzIG9uZS5cbiAgICAgKiBJZiB0aGUgcGFyZW50IHJvdyBleGlzdCwgaXQgbWVhbnMgdGhhdCB0aGUgY3VycmVudCByb3cgaXMgYSBjaGlsZCByb3dcbiAgICAgKi9cbiAgICBwYXJlbnQ/OiBSb3dUeXBlO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGhhcyBhbnkgY2hpbGQgcm93c1xuICAgICAqL1xuICAgIGhhc0NoaWxkcmVuPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIGhpZXJhcmNoaWNhbCByZWNvcmQgYXNzb2NpYXRlZCB3aXRoIHRoZSByb3cgKGZvciB0cmVlIGdyaWRzKS5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIElUcmVlR3JpZFJlY29yZCwgd2hpY2ggY29udGFpbnMgdGhlIGRhdGEsIGNoaWxkcmVuLCB0aGUgaGllcmFyY2hpY2FsIGxldmVsLCBldGMuXG4gICAgICovXG4gICAgdHJlZVJvdz86IElUcmVlR3JpZFJlY29yZDtcbiAgICBhZGRSb3dVST86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcm93IGlzIGN1cnJlbnRseSBmb2N1c2VkLlxuICAgICAqL1xuICAgIGZvY3VzZWQ/OiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnQgdGhlIGdyaWQgaW5zdGFuY2UsIHRoZSByb3cgYmVsb25ncyB0byAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgb25Sb3dTZWxlY3RvckNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgY2xpY2sgZXZlbnQgb24gdGhlIHJvd1xuICAgICAqIEl0IHRha2VzIGEgYE1vdXNlRXZlbnRgIGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgb25DbGljaz86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGFkZGluZyBhIG5ldyByb3dcbiAgICAgKi9cbiAgICBiZWdpbkFkZFJvdz86ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIGVsZW1lbnRzIG9mIHRoZSByb3dcbiAgICAgKiBJdCB0YWtlcyB0aGUgbmV3IHZhbHVlIGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgdXBkYXRlPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgZGVsZXRpbmcgcm93c1xuICAgICAqL1xuICAgIGRlbGV0ZT86ICgpID0+IGFueTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBwaW5uaW5nIGEgcm93XG4gICAgICovXG4gICAgcGluPzogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSB1bnBpbm5pbmcgYSByb3csIHRoYXQgaGFzIGJlZW4gcGlubmVkXG4gICAgICovXG4gICAgdW5waW4/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkVHlwZSB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBoZWFkZXI/OiBzdHJpbmc7XG4gICAgLyogYWx0ZXJuYXRlVHlwZTogR3JpZENvbHVtbkRhdGFUeXBlICovXG4gICAgZGF0YVR5cGU6IERhdGFUeXBlO1xuICAgIGVkaXRvck9wdGlvbnM6IElGaWVsZEVkaXRvck9wdGlvbnM7XG4gICAgZmlsdGVyczogSWd4RmlsdGVyaW5nT3BlcmFuZDtcbiAgICBwaXBlQXJnczogSUZpZWxkUGlwZUFyZ3M7XG4gICAgZGVmYXVsdFRpbWVGb3JtYXQ6IHN0cmluZztcbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6IHN0cmluZztcblxuICAgIGZvcm1hdHRlcih2YWx1ZTogYW55LCByb3dEYXRhPzogYW55KTogYW55O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb2x1bW4gaW4gdGhlIGBHcmlkVHlwZWAuIEl0IGlzIGVzc2VudGlhbGx5IHRoZSBibHVlcHJpbnQgdG8gYSBjb2x1bW4gb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBjb2x1bW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5UeXBlIGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaW5zdGFuY2Ugb2YgdGhlIHBhcmVudCBgR3JpZFR5cGVgIHRoYXQgY29udGFpbnMgdGhpcyBjb2x1bW4uICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgLyoqXG4gICAgICogQSBsaXN0IGNvbnRhaW5pbmcgYWxsIHRoZSBjaGlsZCBjb2x1bW5zIHVuZGVyIHRoaXMgY29sdW1uIChpZiBhbnkpLlxuICAgICAqIEBkZXByZWNhdGVkIGluIHZlcnNpb24gMTguMS4wLiBVc2UgdGhlIGBjaGlsZENvbHVtbnNgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxDb2x1bW5UeXBlPjtcbiAgICAvKipcbiAgICAgKiBBIGxpc3QgY29udGFpbmluZyBhbGwgdGhlIGNoaWxkIGNvbHVtbnMgdW5kZXIgdGhpcyBjb2x1bW4gKGlmIGFueSkuXG4gICAgICogRW1wdHkgd2l0aG91dCBjaGlsZHJlbiBvciBpZiB0aGlzIGNvbHVtbiBpcyBub3QgR3JvdXAgb3IgTGF5b3V0LlxuICAgICAqL1xuICAgIGdldCBjaGlsZENvbHVtbnMoKTogQ29sdW1uVHlwZVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGFsbENoaWxkcmVuOiBDb2x1bW5UeXBlW107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGVhZGVyR3JvdXA6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJDZWxsOiBhbnk7XG4gICAgdmFsaWRhdG9yczogYW55W107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciB0aGUgY3VzdG9tIGhlYWRlciBvZiB0aGUgY29sdW1uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSBjb2xsYXBzaWJsZSBpbmRpY2F0b3Igb2YgdGhlIGNvbHVtbi5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgY29sbGFwc2libGVJbmRpY2F0b3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBjbGFzc2VzIGFwcGxpZWQgdG8gdGhlIGhlYWRlciBlbGVtZW50LiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJDbGFzc2VzOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGVsZW1lbnQuIFdoZW4gYWRkZWQsIHRoZXkgdGFrZSBkaWZmZXJlbnQgc3R5bGluZyAqL1xuICAgIGhlYWRlclN0eWxlczogYW55O1xuICAgICAvKiogUmVwcmVzZW50cyBjdXN0b20gQ1NTIGNsYXNzZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cENsYXNzZXM6IGFueTtcbiAgICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cFN0eWxlczogYW55O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIENTUyBzdHlsaW5nLCBhcHBsaWVkIHRvIGV2ZXJ5IGNvbHVtblxuICAgICAqIGNhbGNXaWR0aCwgbWluV2lkdGhQeCwgbWF4V2lkdGhQeCwgbWluV2lkdGgsIG1heFdpZHRoLCBtaW5XaWR0aFBlcmNlbnQsIG1heFdpZHRoUGVyY2VudCwgcmVzb2x2ZWRXaWR0aFxuICAgICAqL1xuICAgIGNhbGNXaWR0aDogYW55O1xuICAgIG1pbldpZHRoUHg6IG51bWJlcjtcbiAgICBtYXhXaWR0aFB4OiBudW1iZXI7XG4gICAgbWluV2lkdGg6IHN0cmluZztcbiAgICBtYXhXaWR0aDogc3RyaW5nO1xuICAgIG1pbldpZHRoUGVyY2VudDogbnVtYmVyO1xuICAgIG1heFdpZHRoUGVyY2VudDogbnVtYmVyO1xuICAgIHJlc29sdmVkV2lkdGg6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgaGVhZGVyIHRleHQgb2YgdGhlIGNvbHVtblxuICAgICAqL1xuICAgIGhlYWRlcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNvbHVtbiB3aXRoaW4gdGhlIGdyaWQuXG4gICAgICogSW5jbHVkZXMgdGhlIGhpZGRlbiBjb2x1bW5zIHdoZW4gY291bnRpbmdcbiAgICAgKi9cbiAgICBpbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHR5cGUgb2YgZGF0YSBmb3IgdGhlIGNvbHVtbjpcbiAgICAgKiBzdHJpbmcsIG51bWJlciwgYm9vbGVhbiwgY3VycmVuY3ksIGRhdGUsIHRpbWUsIGV0Yy5cbiAgICAgKi9cbiAgICBkYXRhVHlwZTogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIFNldHMgcHJvcGVydGllcyBvbiB0aGUgZGVmYXVsdCBjb2x1bW4gZWRpdG9yc1xuICAgICAqL1xuICAgIGVkaXRvck9wdGlvbnM6IElDb2x1bW5FZGl0b3JPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSBjdXN0b20gaW5saW5lIGVkaXRvciBvZiB0aGUgY29sdW1uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGlubGluZUVkaXRvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSBpbmRleCBvZiB0aGUgY29sdW1uIHdpdGhpbiB0aGUgZ3JpZC5cbiAgICAgKiBEb2VzIG5vdCBpbmNsdWRlIHRoZSBoaWRkZW4gY29sdW1ucyB3aGVuIGNvdW50aW5nXG4gICAgICovXG4gICAgdmlzaWJsZUluZGV4OiBudW1iZXI7XG4gICAgLyoqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVkIHdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgY29sbGFwc2VkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgY29sbGFwc2VkXG4gICAgICogSXQgaXMgdXNlZCBpbiB0cmVlIGdyaWQgYW5kIGZvciBuYXZpZ2F0aW9uXG4gICAgICovXG4gICAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZWQgd2hldGhlciB0aGUgY29sdW1uIGNhbiBiZSBlZGl0ZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBlZGl0ZWQgKi9cbiAgICBlZGl0YWJsZTogYm9vbGVhbjtcbiAgICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgcmVzaXplZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQgKi9cbiAgICByZXNpemFibGU6IGJvb2xlYW47XG4gICAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBkYXRhIG9mIHRoZSBjb2x1bW4gY2FuIGJlIHNlYXJjaGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBkYXRhIGNhbiBiZSBzZWFyY2hlZCAqL1xuICAgIHNlYXJjaGFibGU6IGJvb2xlYW47XG4gICAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBjb2x1bW4gYmVsb25ncyB0byBhIGdyb3VwIG9mIGNvbHVtbnMuICovXG4gICAgY29sdW1uR3JvdXA6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGNhbiBiZSBwdXQgaW4gYSBncm91cC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIHB1dCBpbiBhIGdyb3VwICovXG4gICAgZ3JvdXBhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgc29ydGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgc29ydGVkLiAqL1xuICAgIHNvcnRhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgZmlsdGVyZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBmaWx0ZXJlZCAqL1xuICAgIGZpbHRlcmFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGlzIGN1cnJlbnRseSBoaWRkZW4gKG5vdCB2aXNpYmxlKS4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gaXMgbm90IHZpc2libGUgKi9cbiAgICBoaWRkZW46IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGNhbiBiZSBwaW5uZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbm5vdCBiZSBwaW5uZWQgKi9cbiAgICBkaXNhYmxlUGlubmluZzogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgYSBjb2x1bW4gY2FuIGJlIGhpZGRlbi4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2Fubm90IGJlIGhpZGRlbiAqL1xuICAgIGRpc2FibGVIaWRpbmc6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIHNvcnRpbmcgc3RyYXRlZ3kgdXNlZCBmb3Igc29ydGluZyB0aGlzIGNvbHVtbi5cbiAgICAgKiBUaGUgaW50ZXJmYWNlIGNvbnRhaW5zIGEgbWV0aG9kIHNvcnQgdGhhdCBzb3J0cyB0aGUgcHJvdmlkZWQgZGF0YSBiYXNlZCBvbiB0aGUgZ2l2ZW4gc29ydGluZyBleHByZXNzaW9uc1xuICAgICAqL1xuICAgIHNvcnRTdHJhdGVneTogSVNvcnRpbmdTdHJhdGVneTtcbiAgICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlYXJjaCBzaG91bGQgbWF0Y2ggcmVzdWx0cywgbm8gbWF0dGVyIHRoZSBjYXNlIG9mIHRoZSBsZXR0ZXJzICh1cHBlciBhbmQgbG93ZXIpXG4gICAgICogSWYgdGhlIHZhbHVlIGlzIGZhbHNlLCB0aGUgcmVzdWx0IHdpbGwgZGVwZW5kIG9uIHRoZSBjYXNlIChleGFtcGxlOiBgRWAgd2lsbCBub3QgbWF0Y2ggYGVgKVxuICAgICAqIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgcmVzdWx0IHdpbGwgbm90IGRlcGVuZCBvbiB0aGUgY2FzZSAoZXhhbXBsZTogYEVgIHdpbGwgbWF0Y2ggYGVgKVxuICAgICAqL1xuICAgIHNvcnRpbmdJZ25vcmVDYXNlOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlckNlbGw6IGFueTtcbiAgICBmaWx0ZXJpbmdJZ25vcmVDYXNlOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBmaWx0ZXJpbmcgZXhwcmVzc2lvbnMgZm9yIHRoZSBjb2x1bW4uXG4gICAgICogVGhlIHR5cGUgY29udGFpbnMgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBmb3IgZmlsdGVyaW5nOiBmaWx0ZXJpbmdPcGVyYW5kcywgb3BlcmF0b3IgKGxvZ2ljKSwgZmllbGROYW1lLCBldGMuXG4gICAgICovXG4gICAgZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlOiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU7XG4gICAgaGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBzdW1tYXJpZXM6IGFueTtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciBhIHN1bW1hcnkgb2YgdGhlIGNvbHVtblxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBzdW1tYXJ5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgY29sdW1uIGlzIGN1cnJlbnRseSBwaW5uZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGlzIHBpbm5lZCAqL1xuICAgIHBpbm5lZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IGV4cGFuZGVkIG9yIGNvbGxhcHNlZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gaXMgZXhwYW5kZWQgKi9cbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IHNlbGVjdGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBpcyBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbHVtbiBjYW4gYmUgc2VsZWN0ZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGFibGU6IGJvb2xlYW47XG4gICAgY29sdW1uTGF5b3V0OiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBoaWVyYXJjaGljYWwgbGV2ZWwgb2YgdGhlIGNvbHVtbiBpbiB0aGUgY29sdW1uIGxheW91dCAqL1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgcm93U3RhcnQ6IG51bWJlcjtcbiAgICByb3dFbmQ6IG51bWJlcjtcbiAgICBjb2xTdGFydDogbnVtYmVyO1xuICAgIGNvbEVuZDogbnVtYmVyO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGdyaWRSb3dTcGFuOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZ3JpZENvbHVtblNwYW46IG51bWJlcjtcbiAgICBjb2x1bW5MYXlvdXRDaGlsZDogYm9vbGVhbjtcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHJvb3QgcGFyZW50IG9mIHRoaXMgY29sdW1uIChpZiBhbnkpLlxuICAgICAqIElmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LCB0aGF0IG1lYW5zIHRoZSBjdXJyZW50IGNvbHVtbiBpcyB0aGUgcm9vdCBwYXJlbnRcbiAgICAgKi9cbiAgICB0b3BMZXZlbFBhcmVudD86IENvbHVtblR5cGU7XG4gICAgLyogYWx0ZXJuYXRlTmFtZTogcGFyZW50Q29sdW1uICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgaW1tZWRpYXRlIHBhcmVudCAocmlnaHQgYWJvdmUpIGNvbHVtbiBvZiB0aGlzIGNvbHVtbiAoaWYgYW55KS5cbiAgICAgKiBJZiB0aGVyZSBpcyBubyBwYXJlbnQsIHRoYXQgbWVhbnMgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHRoZSByb290IHBhcmVudFxuICAgICAqL1xuICAgIHBhcmVudD86IENvbHVtblR5cGU7XG4gICAgcGlwZUFyZ3M6IElDb2x1bW5QaXBlQXJncztcbiAgICBoYXNOZXN0ZWRQYXRoOiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxUZW1wbGF0ZUNvbnRleHQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHRoZSBsYXN0IHRvIGJlIHBpbm5lZC5cbiAgICAgKiBJZiB0aGUgdmFsdWUgaXMgZmFsc2UsIHRoZXJlIGFyZSBjb2x1bW5zLCB0aGF0IGhhdmUgYmVlbiBwaW5uZWQgYWZ0ZXIgdGhlIGN1cnJlbnQgKi9cbiAgICBpc0xhc3RQaW5uZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW50IGNvbHVtbiBpcyB0aGUgZmlyc3QgZm9yIHRoZSBncmlkIHRvIGJlIHBpbm5lZC5cbiAgICAgKiBJZiB0aGUgdmFsdWUgaXMgZmFsc2UsIHRoZXJlIGFyZSBjb2x1bW5zLCB0aGF0IGhhdmUgYmVlbiBwaW5uZWQgYmVmb3JlIHRoZSBjdXJyZW50ICovXG4gICAgaXNGaXJzdFBpbm5lZDogYm9vbGVhbjtcbiAgICBhcHBseVNlbGVjdGFibGVDbGFzczogYm9vbGVhbjtcbiAgICAvKiogVGhlIHRpdGxlIG9mIHRoZSBjb2x1bW4sIHVzZWQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMgKi9cbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2Qgd2l0aCBjdXN0b20gZ3JvdXBpbmcgY29tcGFyYXRvciB0byBkZXRlcm1pbmUgdGhlIG1lbWJlcnMgb2YgdGhlIGdyb3VwLiAqL1xuICAgIGdyb3VwaW5nQ29tcGFyZXI6IChhOiBhbnksIGI6IGFueSkgPT4gbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IgZmlsdGVyaW5nXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGZpbHRlckNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gbW92ZSB0aGUgY29sdW1uIHRvIHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAgICogSXQgdGFrZXMgdGhlIGluZGV4IG9mIHR5cGUgbnVtYmVyIGFzIGEgcGFyYW1ldGVyXG4gICAgKi9cbiAgICBtb3ZlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICAgIC8qKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIHJldHJpZXZlIHRoZSBzZXQgQ1NTIHNpemUgKi9cbiAgICBnZXRBdXRvU2l6ZSgpOiBzdHJpbmc7XG4gICAgZ2V0UmVzaXphYmxlQ29sVW5kZXJFbmQoKTogTVJMUmVzaXplQ29sdW1uSW5mb1tdO1xuICAgIC8qKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIHJldHJpZXZlIHRoZSBzZXQgQ1NTIHdpZHRoIG9mIHRoZSBjZWxscyB1bmRlciB0aGUgY29sdW1uICovXG4gICAgZ2V0Q2VsbFdpZHRoKCk6IHN0cmluZztcbiAgICBnZXRHcmlkVGVtcGxhdGUoaXNSb3c6IGJvb2xlYW4pOiBzdHJpbmc7XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gdG9nZ2xlIGNvbHVtbiB2aXNpYmlsaXR5IChoaWRkZW4gb3IgdmlzaWJsZSkgKi9cbiAgICB0b2dnbGVWaXNpYmlsaXR5KHZhbHVlPzogYm9vbGVhbik6IHZvaWQ7XG4gICAgcG9wdWxhdGVWaXNpYmxlSW5kZXhlcz8oKTogdm9pZDtcbiAgICAvKiogUGlucyB0aGUgY29sdW1uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggKGlmIG5vdCBhbHJlYWR5IHBpbm5lZCkuICovXG4gICAgcGluKGluZGV4PzogbnVtYmVyKTogYm9vbGVhbjtcbiAgICAvKiogVW5waW5zIHRoZSBjb2x1bW4gYXQgdGhlIHNwZWNpZmllZCBpbmRleCAoaWYgbm90IGFscmVhZHkgdW5waW5uZWQpLiAqL1xuICAgIHVucGluKGluZGV4PzogbnVtYmVyKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSBldmVudCBhcmd1bWVudHMgd2hlbiBhIGZvcm0gZ3JvdXAgaXMgY3JlYXRlZCBpbiB0aGUgZ3JpZC5cbiAqIC0gZm9ybUdyb3VwOiBUaGUgZm9ybSBncm91cCB0aGF0IGlzIGNyZWF0ZWQuXG4gKiAtIG93bmVyOiBUaGUgZ3JpZCBpbnN0YW5jZSB0aGF0IG93bnMgdGhlIGZvcm0gZ3JvdXAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRGb3JtR3JvdXBDcmVhdGVkRXZlbnRBcmdzIHtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwLFxuICAgIG93bmVyOiBHcmlkVHlwZVxufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIGV2ZW50IGFyZ3VtZW50cyBmb3IgdGhlIGdyaWQgdmFsaWRhdGlvbiBzdGF0dXMgY2hhbmdlIGV2ZW50LlxuICogLSBzdGF0dXM6IFRoZSB2YWxpZGF0aW9uIHN0YXR1cyAoJ1ZBTElEJyBvciAnSU5WQUxJRCcpLlxuICogLSBvd25lcjogVGhlIGdyaWQgaW5zdGFuY2UgdGhhdCBvd25zIHRoZSB2YWxpZGF0aW9uIHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkVmFsaWRhdGlvblN0YXR1c0V2ZW50QXJncyB7XG4gICAgc3RhdHVzOiBWYWxpZGF0aW9uU3RhdHVzLFxuICAgIG93bmVyOiBHcmlkVHlwZVxufVxuXG4vKipcbiAqIFR5cGUgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXR1cy5cbiAqIC0gJ1ZBTElEJzogVGhlIHZhbGlkYXRpb24gc3RhdHVzIGlzIHZhbGlkLlxuICogLSAnSU5WQUxJRCc6IFRoZSB2YWxpZGF0aW9uIHN0YXR1cyBpcyBpbnZhbGlkLlxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uU3RhdHVzID0gJ1ZBTElEJyB8ICdJTlZBTElEJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgZ3JpZC5cbiAqIC0gc3RhdHVzOiBUaGUgdmFsaWRhdGlvbiBzdGF0dXMgKCdWQUxJRCcgb3IgJ0lOVkFMSUQnKS5cbiAqIC0gZXJyb3JzOiBUaGUgdmFsaWRhdGlvbiBlcnJvcnMgaWYgYW55LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkVmFsaWRhdGlvblN0YXRlIHtcbiAgICByZWFkb25seSBzdGF0dXM6IFZhbGlkYXRpb25TdGF0dXM7XG4gICAgcmVhZG9ubHkgZXJyb3JzPzogVmFsaWRhdGlvbkVycm9ycztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgcmVjb3JkIGluIHRoZSBncmlkLlxuICogLSBga2V5YDogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByZWNvcmQuXG4gKiAtIGBmaWVsZHNgOiBBbiBhcnJheSBvZiB0aGUgdmFsaWRhdGlvbiBzdGF0ZSBvZiBpbmRpdmlkdWFsIGZpZWxkcyBpbiB0aGUgcmVjb3JkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSZWNvcmRWYWxpZGF0aW9uU3RhdGUgZXh0ZW5kcyBJR3JpZFZhbGlkYXRpb25TdGF0ZSB7XG4gICAga2V5OiBhbnk7XG4gICAgZmllbGRzOiBJRmllbGRWYWxpZGF0aW9uU3RhdGVbXTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgZmllbGQgaW4gdGhlIGdyaWQuXG4gKiAtYGZpZWxkYDogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIChwcm9wZXJ0eSkgYmVpbmcgdmFsaWRhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZFZhbGlkYXRpb25TdGF0ZSBleHRlbmRzIElHcmlkVmFsaWRhdGlvblN0YXRlIHtcbiAgICBmaWVsZDogc3RyaW5nXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgc2VydmljZSBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIGdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFNlcnZpY2VUeXBlIHtcblxuICAgIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBwYXJlbnQgYEdyaWRUeXBlYCB0aGF0IGNvbnRhaW5zIHRoZSBzZXJ2aWNlLiAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSB0eXBlIG9mIHRoZSBDUlVEIHNlcnZpY2UgKENyZWF0ZSwgUmVhZCwgVXBkYXRlLCBEZWxldGUpIG9wZXJhdGlvbnMgb24gdGhlIGdyaWQgZGF0YS4gKi9cbiAgICBjcnVkU2VydmljZTogYW55O1xuICAgIC8qKiBBIHNlcnZpY2UgcmVzcG9uc2libGUgZm9yIGhhbmRsaW5nIGNvbHVtbiBtb3Zpbmcgd2l0aGluIHRoZSBncmlkLiBJdCBjb250YWlucyBhIHJlZmVyZW5jZSB0byB0aGUgY29sdW1uLCBpdHMgaWNvbiwgYW5kIGluZGljYXRvciBmb3IgY2FuY2VsYXRpb24uICovXG4gICAgY21zOiBJZ3hDb2x1bW5Nb3ZpbmdTZXJ2aWNlO1xuXG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIGRhdGEgdXNlZCBpbiB0aGUgZ3JpZC4gVGhlIHJldHVybmVkIHZhbHVlcyBjb3VsZCBiZSBvZiBhbnkgdHlwZSAqL1xuICAgIGdldF9kYXRhKCk6IGFueVtdO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgYWxsIHRoZSBkYXRhIGF2YWlsYWJsZSBpbiB0aGUgZ3JpZCwgaW5jbHVkaW5nIGFueSB0cmFuc2FjdGlvbmFsIGRhdGEuXG4gICAgICogYGluY2x1ZGVUcmFuc2FjdGlvbnNgOiBPcHRpb25hbCBwYXJhbWV0ZXIuIFNwZWNpZmllcyB3aGV0aGVyIHRvIGluY2x1ZGUgdHJhbnNhY3Rpb25hbCBkYXRhIGlmIHByZXNlbnQuXG4gICAgICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgZGF0YSBhdmFpbGFibGUgaW4gdGhlIGdyaWQuXG4gICAgICovXG4gICAgZ2V0X2FsbF9kYXRhKGluY2x1ZGVUcmFuc2FjdGlvbnM/OiBib29sZWFuKTogYW55W107XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgYSBjb2x1bW4gb2JqZWN0IGJ5IGl0cyBuYW1lLCB0YWtlbiBhcyBhIHBhcmFtZXRlci4gKi9cbiAgICBnZXRfY29sdW1uX2J5X25hbWUobmFtZTogc3RyaW5nKTogQ29sdW1uVHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByb3cgYnkgaXRzIHVuaXF1ZSBpZGVudGlmaWVyIChvZiBhbnkgdHlwZSwgdGFrZW4gYXMgYSBwYXJhbWV0ZXIpLiAqL1xuICAgIGdldFJvd0RhdGEoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByZWNvcmQgYnkgaXRzIHVuaXF1ZSBpZGVudGlmaWVyIChvZiBhbnkgdHlwZSwgdGFrZW4gYXMgYSBwYXJhbWV0ZXIpLiAqL1xuICAgIGdldF9yZWNfYnlfaWQoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgYSBzcGVjaWZpYyByb3cgYnkgaXRzIGRhdGEuICovXG4gICAgZ2V0X3Jvd19pZChyb3dEYXRhOiBhbnkpOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIHJvdyBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgaW5kZXggKHRha2VuIGFzIGEgcGFyYW1ldGVyKSBpbiB0aGUgZ3JpZCAqL1xuICAgIGdldF9yb3dfYnlfaW5kZXgocm93U2VsZWN0b3I6IGFueSk6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIHJvdyBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMga2V5ICh0YWtlbiBhcyBhIHBhcmFtZXRlcikgaW4gdGhlIGdyaWQgKi9cbiAgICBnZXRfcm93X2J5X2tleShyb3dTZWxlY3RvcjogYW55KTogUm93VHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgaW5kZXggb2YgYSByZWNvcmQgaW4gdGhlIGdyaWQncyBkYXRhIGNvbGxlY3Rpb24gdXNpbmcgaXRzIHVuaXF1ZSBpZGVudGlmaWVyLiAqL1xuICAgIGdldF9yZWNfaW5kZXhfYnlfaWQocGs6IHN0cmluZyB8IG51bWJlciwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgaW5kZXggb2YgYSByZWNvcmQgaW4gdGhlIGdyaWQncyBkYXRhIGNvbGxlY3Rpb24gdXNpbmcgaXRzIGluZGV4LiAqL1xuICAgIGdldF9yZWNfaWRfYnlfaW5kZXgoaW5kZXg6IG51bWJlciwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IGFueTtcbiAgICBnZXRfcm93X2luZGV4X2luX2RhdGEocm93SUQ6IGFueSwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gaW4gdGhlIGdyaWQuICovXG4gICAgZ2V0X2NlbGxfYnlfa2V5KHJvd1NlbGVjdG9yOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBDZWxsVHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gdXNpbmcgdGhlaXIgaW5kZXhlcy4gKi9cbiAgICBnZXRfY2VsbF9ieV9pbmRleChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JRDogbnVtYmVyIHwgc3RyaW5nKTogQ2VsbFR5cGU7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gdXNpbmcgdGhlaXIgaW5kZXhlcy5cbiAgICAgKiBJdCBjb3VudHMgb25seSB0aGUgaW5kZXhlcyBvZiB0aGUgdmlzaWJsZSBjb2x1bW5zIGFuZCByb3dzXG4gICAgICovXG4gICAgZ2V0X2NlbGxfYnlfdmlzaWJsZV9pbmRleChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IHNldHMgdGhlIGV4cGFuc2lvbiBzdGF0ZSBvZiBhIGdyb3VwIHJvdyAodXNlZCBmb3IgdHJlZSBncmlkcylcbiAgICAgKiBJdCB0YWtlcyB0aGUgdmFsdWUgZm9yIHRoZSBleHBhbnNpb24gYXMgYSBwYXJhbWV0ZXIgKGV4cGFuZGVkIG9yIGNvbGxhcHNlZClcbiAgICAgKi9cbiAgICBzZXRfZ3JvdXByb3dfZXhwYW5zaW9uX3N0YXRlPyhncm91cFJvdzogSUdyb3VwQnlSZWNvcmQsIHZhbHVlOiBib29sZWFuKTogdm9pZDtcbiAgICByb3dfZGVsZXRlZF90cmFuc2FjdGlvbihpZDogYW55KTogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBhZGRpbmcgYSBuZXcgcm93IHRvIHRoZSBncmlkLlxuICAgICAqIEl0IHRha2VzIHRoZSByb3cncyBkYXRhIGFuZCB0aGUgaWRlbnRpZmllciBvZiB0aGUgcGFyZW50IHJvdyBpZiBhcHBsaWNhYmxlICh1c2VkIGZvciB0cmVlIGdyaWRzKVxuICAgICAqL1xuICAgIGFkZFJvd1RvRGF0YShyb3dEYXRhOiBhbnksIHBhcmVudElEPzogYW55KTogdm9pZDtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgZGVsZXRpbmcgYSByb3csIHNwZWNpZmllZCBieSBpdCdzIGlkZW50aWZpZXIgKHRha2VuIGFzIGEgcGFyYW1ldGVyKSAqL1xuICAgIGRlbGV0ZVJvd0J5SWQoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgcm93J3MgY3VycmVudCBzdGF0ZSBvZiBleHBhbnNpb24gKHVzZWQgZm9yIHRyZWUgZ3JpZHMpKi9cbiAgICBnZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShpZDogYW55KTogYm9vbGVhbjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3Igc2V0dGluZyBhIG5ldyBleHBhbnNpb24gc3RhdGUuIEl0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgYW4gZXZlbnQgKi9cbiAgICBzZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShpZDogYW55LCBleHBhbmRlZDogYm9vbGVhbiwgZXZlbnQ/OiBFdmVudCk6IHZvaWQ7XG4gICAgZ2V0X3N1bW1hcnlfZGF0YSgpOiBhbnlbXTtcblxuICAgIHByZXBhcmVfc29ydGluZ19leHByZXNzaW9uKHN0YXRlQ29sbGVjdGlvbnM6IEFycmF5PEFycmF5PGFueT4+LCBleHByZXNzaW9uOiBJU29ydGluZ0V4cHJlc3Npb24pOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHNvcnRpbmcgYnkgb25seSBvbmUgZXhwcmVzc2lvblxuICAgICAqIFRoZSBleHByZXNzaW9uIGNvbnRhaW5zIGZpZWxkTmFtZSwgc29ydGluZyBkaXJlY3RvcnksIHdoZXRoZXIgY2FzZSBzaG91bGQgYmUgaWdub3JlZCBhbmQgb3B0aW9uYWwgc29ydGluZyBzdHJhdGVneVxuICAgICAqL1xuICAgIHNvcnQoZXhwcmVzc2lvbjogSVNvcnRpbmdFeHByZXNzaW9uKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBzb3J0aW5nIGJ5IG11bHRpcGxlIGV4cHJlc3Npb25zXG4gICAgICogVGhlIGV4cHJlc3Npb25zIGNvbnRhaW5zIGZpZWxkTmFtZSwgc29ydGluZyBkaXJlY3RvcnksIHdoZXRoZXIgY2FzZSBzaG91bGQgYmUgaWdub3JlZCBhbmQgb3B0aW9uYWwgc29ydGluZyBzdHJhdGVneVxuICAgICAqL1xuICAgIHNvcnRfbXVsdGlwbGUoZXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdKTogdm9pZDtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmVzZXR0aW5nIHRoZSBzb3J0aW5nICovXG4gICAgY2xlYXJfc29ydChmaWVsZE5hbWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICAvKiogUmVwcmVzZW50cyBhbiBldmVudCwgdHJpZ2dlcmVkIHdoZW4gdGhlIHBpbiBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgZ2V0X3Bpbl9yb3dfZXZlbnRfYXJncyhyb3dJRDogYW55LCBpbmRleD86IG51bWJlciwgcm93PzogUm93VHlwZSwgcGlubmVkPzogYm9vbGVhbik6IElQaW5Sb3dFdmVudEFyZ3M7XG5cbiAgICBmaWx0ZXJEYXRhQnlFeHByZXNzaW9ucyhleHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUpOiBhbnlbXTtcbiAgICBzb3J0RGF0YUJ5RXhwcmVzc2lvbnMoZGF0YTogYW55W10sIGV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSk6IGFueVtdO1xuXG4gICAgdXBkYXRlX2NlbGwoY2VsbDogSWd4Q2VsbCk6IElHcmlkRWRpdEV2ZW50QXJncztcbiAgICB1cGRhdGVfcm93KHJvdzogSWd4RWRpdFJvdywgdmFsdWU6IGFueSwgZXZlbnQ/OiBFdmVudCk6IElHcmlkRWRpdEV2ZW50QXJncztcblxuICAgIGV4cGFuZF9wYXRoX3RvX3JlY29yZD8ocmVjb3JkOiBJVHJlZUdyaWRSZWNvcmQpOiB2b2lkO1xuICAgIGdldF9zZWxlY3RlZF9jaGlsZHJlbj8ocmVjb3JkOiBJVHJlZUdyaWRSZWNvcmQsIHNlbGVjdGVkUm93SURzOiBhbnlbXSk6IHZvaWQ7XG4gICAgZ2V0X2dyb3VwQnlfcmVjb3JkX2lkPyhnUm93OiBJR3JvdXBCeVJlY29yZCk6IHN0cmluZztcbiAgICByZW1vdmVfZ3JvdXBpbmdfZXhwcmVzc2lvbj8oZmllbGROYW1lOiBzdHJpbmcpOiB2b2lkO1xuICAgIGNsZWFyX2dyb3VwYnk/KGZpZWxkOiBzdHJpbmcgfCBhbnkpOiB2b2lkO1xuICAgIGdldFBhcmVudFJvd0lkPyhjaGlsZDogR3JpZFR5cGUpOiBhbnk7XG4gICAgZ2V0Q2hpbGRHcmlkcz8oaW5EZXB0aD86IGJvb2xlYW4pOiBHcmlkVHlwZVtdO1xuICAgIGdldENoaWxkR3JpZD8ocGF0aDogSVBhdGhTZWdtZW50W10pOiBHcmlkVHlwZTtcblxuICAgIHVuc2V0Q2hpbGRSb3dJc2xhbmQ/KHJvd0lzbGFuZDogR3JpZFR5cGUpOiB2b2lkO1xuICAgIHJlZ2lzdGVyQ2hpbGRSb3dJc2xhbmQ/KHJvd0lzbGFuZDogR3JpZFR5cGUpOiB2b2lkO1xufVxuXG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIGdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQgb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkXG4gKiBFeHRlbmRzIGBJR3JpZERhdGFCaW5kYWJsZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmlkVHlwZSBleHRlbmRzIElHcmlkRGF0YUJpbmRhYmxlIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbG9jYWxlIG9mIHRoZSBncmlkOiBgVVNEYCwgYEVVUmAsIGBHQlBgLCBgQ05ZYCwgYEpQWWAsIGV0Yy4gKi9cbiAgICBsb2NhbGU6IHN0cmluZztcbiAgICByZXNvdXJjZVN0cmluZ3M6IElHcmlkUmVzb3VyY2VTdHJpbmdzO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgaXRzZWxmICovXG4gICAgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHJvd3MgaW4gdGhlIGdyaWQgYXJlIGVkaXRhYmxlLiBJZiB0ZSB2YWx1ZSBpcyB0cnVlLCB0aGUgcm93cyBjYW4gYmUgZWRpdGVkICovXG4gICAgcm93RWRpdGFibGU6IGJvb2xlYW47XG4gICAgcm9vdFN1bW1hcmllc0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGZpbHRlcmluZyBpbiB0aGUgZ3JpZCBpcyBlbmFibGVkLiBJZiB0ZSB2YWx1ZSBpcyB0cnVlLCB0aGUgZ3JpZCBjYW4gYmUgZmlsdGVyZWQgKi9cbiAgICBhbGxvd0ZpbHRlcmluZzogYm9vbGVhbjtcbiAgICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHJvd3MgaW4gdGhlIGdyaWQgY2FuIGJlIGRyYWdnZWQuIElmIHRlIHZhbHVlIGlzIHRydWUsIHRoZSByb3dzIGNhbiBiZSBkcmFnZ2VkICovXG4gICAgcm93RHJhZ2dhYmxlOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSB1bmlxdWUgcHJpbWFyeSBrZXkgdXNlZCBmb3IgaWRlbnRpZnlpbmcgcm93cyBpbiB0aGUgZ3JpZCAqL1xuICAgIHByaW1hcnlLZXk6IHN0cmluZztcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGdyaWQuICovXG4gICAgaWQ6IHN0cmluZztcbiAgICAvKiogVGhlIGhlaWdodCBvZiB0aGUgdmlzaWJsZSByb3dzIGluIHRoZSBncmlkLiAqL1xuICAgIHJlbmRlcmVkUm93SGVpZ2h0OiBudW1iZXI7XG4gICAgcGlwZVRyaWdnZXI6IG51bWJlcjtcbiAgICBzdW1tYXJ5UGlwZVRyaWdnZXI6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBncm91cGFibGVQaXBlVHJpZ2dlcjogbnVtYmVyO1xuICAgIGZpbHRlcmluZ1BpcGVUcmlnZ2VyOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGFzQ29sdW1uTGF5b3V0czogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQgaXMgY3VycmVudGx5IGluIGEgbW92aW5nIHN0YXRlLiAqL1xuICAgIG1vdmluZzogYm9vbGVhbjtcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZ3JpZFNpemU6IFNpemU7XG5cbiAgICAvKiogU3RyYXRlZ3ksIHVzZWQgZm9yIGNsb25pbmcgdGhlIHByb3ZpZGVkIGRhdGEuIFRoZSB0eXBlIGhhcyBvbmUgbWV0aG9kLCB0aGF0IHRha2VzIGFueSB0eXBlIG9mIGRhdGEgKi9cbiAgICBkYXRhQ2xvbmVTdHJhdGVneTogSURhdGFDbG9uZVN0cmF0ZWd5O1xuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgc2VydmljZSB0eXBlIHByb3ZpZGluZyBBUEkgbWV0aG9kcyBmb3IgdGhlIGdyaWQgKi9cbiAgICByZWFkb25seSBncmlkQVBJOiBHcmlkU2VydmljZVR5cGU7XG5cbiAgICAvKiogVGhlIGZpbHRlciBtb2RlIGZvciB0aGUgZ3JpZC4gSXQgY2FuIGJlIHF1aWNrIGZpbHRlciBvZiBleGNlbC1zdHlsZSBmaWx0ZXIgKi9cbiAgICBmaWx0ZXJNb2RlOiBGaWx0ZXJNb2RlO1xuXG4gICAgLy8gVFlQRVxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHRoZWFkUm93OiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZ3JvdXBBcmVhOiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZmlsdGVyQ2VsbExpc3Q6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlcmluZ1JvdzogYW55O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGFjdGlvblN0cmlwOiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcmVzaXplTGluZTogYW55O1xuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdGZvb3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBhZ2luYXRvcjogSWd4UGFnaW5hdG9yQ29tcG9uZW50O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBhZ2luYXRvckxpc3Q/OiBRdWVyeUxpc3Q8SWd4UGFnaW5hdG9yQ29tcG9uZW50PjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBjcnVkU2VydmljZTogYW55O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHN1bW1hcnlTZXJ2aWNlOiBhbnk7XG5cblxuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHN0YXRlIG9mIHZpcnR1YWxpemF0aW9uIGZvciB0aGUgZ3JpZC4gSXQgaGFzIGFuIG93bmVyLCBzdGFydCBpbmRleCBhbmQgY2h1bmsgc2l6ZSAqL1xuICAgIHZpcnR1YWxpemF0aW9uU3RhdGU6IElGb3JPZlN0YXRlO1xuICAgIC8vIFRZUEVcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICAvKiogVGhlIHNlcnZpY2UgaGFuZGxpbmcgc2VsZWN0aW9uIGluIHRoZSBncmlkLiBTZWxlY3RpbmcsIGRlc2VsZWN0aW5nIGVsZW1lbnRzICovXG4gICAgc2VsZWN0aW9uU2VydmljZTogYW55O1xuICAgIG5hdmlnYXRpb246IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBmaWx0ZXJpbmdTZXJ2aWNlOiBhbnk7XG4gICAgb3V0bGV0OiBhbnk7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkIGhhcyBjb2x1bW5zIHRoYXQgY2FuIGJlIG1vdmVkICovXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGFzTW92YWJsZUNvbHVtbnM6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkJ3Mgcm93cyBjYW4gYmUgc2VsZWN0ZWQgKi9cbiAgICBpc1Jvd1NlbGVjdGFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBzZWxlY3RvcnMgb2YgdGhlIHJvd3MgYXJlIHZpc2libGUgKi9cbiAgICBzaG93Um93U2VsZWN0b3JzOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZ3JpZCdzIGVsZW1lbnQgaXMgcGlubmVkIHRvIHRoZSBzdGFydCBvZiB0aGUgZ3JpZCAqL1xuICAgIGlzUGlubmluZ1RvU3RhcnQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgY29sdW1uIG9mIHRoZSBncmlkIGlzIGluIGRyYWcgbW9kZSAqL1xuICAgIGNvbHVtbkluRHJhZzogYW55O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIC8qKiBUaGUgd2lkdGggb2YgcGlubmVkIGVsZW1lbnQgKi9cbiAgICBwaW5uZWRXaWR0aDogbnVtYmVyO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIC8qKiBUaGUgd2lkdGggb2YgdW5waW5uZWQgZWxlbWVudCAqL1xuICAgIHVucGlubmVkV2lkdGg6IG51bWJlcjtcbiAgICAvKiogVGhlIENTUyBtYXJnaW4gb2YgdGhlIHN1bW1hcmllcyAqL1xuICAgIHN1bW1hcmllc01hcmdpbjogbnVtYmVyO1xuICAgIGhlYWRTZWxlY3RvckJhc2VBcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZ3JpZCBoYXMgY29sdW1ucyB0aGF0IGFyZSBzaG93biAqL1xuICAgIGhhc1Zpc2libGVDb2x1bW5zOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQgaGFzIGV4cGFuZGFibGUgY2hpbGRyZW4gKGhpZXJhcmNoaWNhbCBhbmQgdHJlZSBncmlkKVxuICAgICAqL1xuICAgIGhhc0V4cGFuZGFibGVDaGlsZHJlbj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciBjb2xsYXBzZWQgZ3JpZCBlbGVtZW50cyBzaG91bGQgYmUgZXhwYW5kZWRcbiAgICAgKi9cbiAgICBzaG93RXhwYW5kQWxsPzogYm9vbGVhbjtcblxuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjb3VudCBvZiBvbmx5IHRoZSBoaWRkZW4gKG5vdCB2aXNpYmxlKSBjb2x1bW5zICovXG4gICAgaGlkZGVuQ29sdW1uc0NvdW50OiBudW1iZXI7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGNvdW50IG9mIG9ubHkgdGhlIHBpbm5lZCBjb2x1bW5zICovXG4gICAgcGlubmVkQ29sdW1uc0NvdW50OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgZ3JpZCBpY29ucy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgaWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgZ3JvdXAtYnkgcm93cy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgZ3JvdXBSb3dUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPElneEdyb3VwQnlSb3dUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciB0aGUgZ3JvdXAgcm93IHNlbGVjdG9yLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBncm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPElneEdyb3VwQnlSb3dTZWxlY3RvclRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIHJvdyBsb2FkaW5nIGluZGljYXRvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHJvd0xvYWRpbmdJbmRpY2F0b3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciB0aGUgaGVhZGVyIHNlbGVjdG9yLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBoZWFkU2VsZWN0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4SGVhZFNlbGVjdG9yVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIHJvdyBzZWxlY3RvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHJvd1NlbGVjdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneFJvd1NlbGVjdG9yVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIHNvcnQgaGVhZGVyIGljb25zLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBzb3J0SGVhZGVySWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGFzY2VuZGluZyBzb3J0IGhlYWRlciBpY29ucy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgc29ydEFzY2VuZGluZ0hlYWRlckljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBkZXNjZW5kaW5nIHNvcnQgaGVhZGVyIGljb25zLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBzb3J0RGVzY2VuZGluZ0hlYWRlckljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBoZWFkZXIgY29sbGFwc2VkIGluZGljYXRvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRlckNvbGxhcHNlZEluZGljYXRvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGhlYWRlciBleHBhbmRlZCBpbmRpY2F0b3JzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBoZWFkZXJFeHBhbmRlZEluZGljYXRvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKiogVGhlIHRlbXBsYXRlIGZvciBkcmFnIGluZGljYXRvciBpY29ucy4gQ291bGQgYmUgb2YgYW55IHR5cGUgKi9cbiAgICBkcmFnSW5kaWNhdG9ySWNvblRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFRoZSBiYXNlIGRyYWcgaW5kaWNhdG9yIGljb24uIENvdWxkIGJlIG9mIGFueSB0eXBlICovXG4gICAgZHJhZ0luZGljYXRvckljb25CYXNlOiBhbnk7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZCBmb3IgdGhlIGdyaWQuICovXG4gICAgZGlzYWJsZVRyYW5zaXRpb25zOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVuY3kgc3ltYm9sIGlzIHBvc2l0aW9uZWQgdG8gdGhlIGxlZnQgb2YgdmFsdWVzLiAqL1xuICAgIGN1cnJlbmN5UG9zaXRpb25MZWZ0OiBib29sZWFuO1xuXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGlzIHNldCBieSB0aGUgdXNlciwgb3IgaXMgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5LiAqL1xuICAgIGNvbHVtbldpZHRoU2V0QnlVc2VyOiBib29sZWFuO1xuICAgIGhlYWRlckZlYXR1cmVzV2lkdGg6IG51bWJlcjtcbiAgICAvKiogQ1NTIHN0eWxpbmcgY2FsY3VsYXRlZCBmb3IgYW4gZWxlbWVudDogY2FsY0hlaWdodCwgY2FsY1dpZHRoLCBvdXRlcldpZHRoICovXG4gICAgY2FsY0hlaWdodDogbnVtYmVyO1xuICAgIGNhbGNXaWR0aDogbnVtYmVyO1xuICAgIG91dGVyV2lkdGg6IG51bWJlcjtcbiAgICAvKiogVGhlIGhlaWdodCBvZiBlYWNoIHJvdyBpbiB0aGUgZ3JpZC4gU2V0dGluZyBhIGNvbnN0YW50IGhlaWdodCBjYW4gc29sdmUgcHJvYmxlbXMgd2l0aCBub3Qgc2hvd2luZyBhbGwgZWxlbWVudHMgd2hlbiBzY3JvbGxpbmcgKi9cbiAgICByb3dIZWlnaHQ6IG51bWJlcjtcbiAgICBtdWx0aVJvd0xheW91dFJvd1NpemU6IG51bWJlcjtcbiAgICAvKiogTWluaW1hbCB3aWR0aCBmb3IgaGVhZGVycyAqL1xuICAgIGRlZmF1bHRIZWFkZXJHcm91cE1pbldpZHRoOiBhbnk7XG4gICAgbWF4TGV2ZWxIZWFkZXJEZXB0aDogbnVtYmVyO1xuICAgIGRlZmF1bHRSb3dIZWlnaHQ6IG51bWJlcjtcbiAgICAvKiogVGhlIGRlZmF1bHQgZm9udCBzaXplLCBjYWxjdWxhdGVkIGZvciBlYWNoIGVsZW1lbnQgKi9cbiAgICBfYmFzZUZvbnRTaXplPzogbnVtYmVyO1xuICAgIHNjcm9sbFNpemU6IG51bWJlcjtcblxuICAgIC8qKiBUaGUgdHJpZ2dlciBmb3IgZ3JpZCB2YWxpZGF0aW9uLiBJdCdzIHZhbHVlIGNhbiBlaXRoZXIgYmUgYGNoYW5nZWAgb3IgYGJsdXJgICovXG4gICAgdmFsaWRhdGlvblRyaWdnZXI6IEdyaWRWYWxpZGF0aW9uVHJpZ2dlcjtcbiAgICAvKipcbiAgICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgY29sdW1ucyBhbmQgcm93cyBwaW5uaW5nIGluIHRoZSBncmlkXG4gICAgICogSXQncyBvZiB0eXBlIElQaW5uaW5nQ29uZmlnLCB3aGljaCBjYW4gaGF2ZSB2YWx1ZSBmb3IgY29sdW1ucyAoc3RhcnQsIGVuZCkgYW5kIGZvciByb3dzICh0b3AsIGJvdHRvbSlcbiAgICAqL1xuICAgIHBpbm5pbmc6IElQaW5uaW5nQ29uZmlnO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgZXhwYW5zaW9uU3RhdGVzOiBNYXA8YW55LCBib29sZWFuPjtcbiAgICBwYXJlbnRWaXJ0RGlyOiBhbnk7XG4gICAgdGJvZHk6IGFueTtcbiAgICB2ZXJ0aWNhbFNjcm9sbENvbnRhaW5lcjogYW55O1xuICAgIGRhdGFSb3dMaXN0OiBhbnk7XG4gICAgcm93TGlzdDogYW55O1xuICAgIC8qKiBBbiB1bm1vZGlmaWFibGUgbGlzdCwgY29udGFpbmluZyBhbGwgdGhlIGNvbHVtbnMgb2YgdGhlIGdyaWQuICovXG4gICAgY29sdW1uTGlzdDogUXVlcnlMaXN0PENvbHVtblR5cGU+O1xuICAgIGNvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHZpc2libGUgKG5vdCBoaWRkZW4pIGluIHRoZSB2aWV3ICovXG4gICAgdmlzaWJsZUNvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHRoYXQgYXJlIG5vdCBwaW5uZWQgKi9cbiAgICB1bnBpbm5lZENvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHRoYXQgYXJlIHBpbm5lZCAqL1xuICAgIHBpbm5lZENvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogcmVwcmVzZW50cyBhbiBhcnJheSBvZiB0aGUgaGVhZGVycyBvZiB0aGUgY29sdW1ucyAqL1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckNlbGxMaXN0OiBhbnlbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJHcm91cHM6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckdyb3Vwc0xpc3Q6IGFueVtdO1xuICAgIHN1bW1hcmllc1Jvd0xpc3Q6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJDb250YWluZXI6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgY2VsbHMgYXJlIHNlbGVjdGFibGUgaW4gdGhlIGdyaWQgKi9cbiAgICBpc0NlbGxTZWxlY3RhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBpdCBpcyBhbGxvd2VkIHRvIHNlbGVjdCBtb3JlIHRoYW4gb25lIHJvdyBpbiB0aGUgZ3JpZCAqL1xuICAgIGlzTXVsdGlSb3dTZWxlY3Rpb25FbmFibGVkOiBib29sZWFuO1xuICAgIGhhc1Bpbm5lZFJlY29yZHM6IGJvb2xlYW47XG4gICAgcGlubmVkUmVjb3Jkc0NvdW50OiBudW1iZXI7XG4gICAgcGlubmVkUmVjb3JkczogYW55W107XG4gICAgdW5waW5uZWRSZWNvcmRzOiBhbnlbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwaW5uZWREYXRhVmlldzogYW55W107XG4gICAgcGlubmVkUm93czogYW55W107XG4gICAgZGF0YVZpZXc6IGFueVtdO1xuICAgIF9maWx0ZXJlZFVucGlubmVkRGF0YTogYW55W107XG4gICAgX2ZpbHRlcmVkU29ydGVkVW5waW5uZWREYXRhOiBhbnlbXTtcbiAgICBmaWx0ZXJlZFNvcnRlZERhdGE6IGFueVtdO1xuICAgIGRhdGFXaXRoQWRkZWRJblRyYW5zYWN0aW9uUm93czogYW55W107XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHRyYW5zYWN0aW9uIHNlcnZpY2UgZm9yIHRoZSBncmlkLiAqL1xuICAgIHJlYWRvbmx5IHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25TZXJ2aWNlPFRyYW5zYWN0aW9uLCBTdGF0ZT47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHZhbGlkYXRpb24gc2VydmljZSBmb3IgdGhlIGdyaWQuIFRoZSB0eXBlIGNvbnRhaW5zIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgKGxvZ2ljKSBmb3IgdmFsaWRhdGluZyByZWNvcmRzICovXG4gICAgcmVhZG9ubHkgdmFsaWRhdGlvbjogSWd4R3JpZFZhbGlkYXRpb25TZXJ2aWNlO1xuICAgIGRlZmF1bHRTdW1tYXJ5SGVpZ2h0OiBudW1iZXI7XG4gICAgc3VtbWFyeVJvd0hlaWdodDogbnVtYmVyO1xuICAgIHJvd0VkaXRpbmdPdmVybGF5OiBJZ3hUb2dnbGVEaXJlY3RpdmU7XG4gICAgdG90YWxSb3dzQ291bnRBZnRlckZpbHRlcjogbnVtYmVyO1xuICAgIF90b3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBwYWdpbmcgb2YgdGhlIGdyaWQuIEl0IGNhbiBiZSBlaXRoZXIgJ0xvY2FsJyBvciAnUmVtb3RlJ1xuICAgICAqIC0gTG9jYWw6IERlZmF1bHQgdmFsdWU7IFRoZSBncmlkIHdpbGwgcGFnaW5hdGUgdGhlIGRhdGEgc291cmNlIGJhc2VkIG9uIHRoZSBwYWdlXG4gICAgICovXG4gICAgcGFnaW5nTW9kZTogR3JpZFBhZ2luZ01vZGU7XG4gICAgLyoqIFRoZSBwYWdpbmcgc3RhdGUgZm9yIHRoZSBncmlkOyBVc2VkIHRvIGNvbmZpZ3VyZSBob3cgcGFnaW5nIHNob3VsZCBiZSBhcHBsaWVkIC0gd2hpY2ggaXMgdGhlIGN1cnJlbnQgcGFnZSwgcmVjb3JkcyBwZXIgcGFnZSAqL1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcGFnaW5nU3RhdGU6IGFueTtcblxuICAgIHJvd0VkaXRUYWJzOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGxhc3Qgc2VhcmNoIGluIHRoZSBncmlkXG4gICAgICogSXQgY29udGFpbnMgdGhlIHNlYXJjaCB0ZXh0ICh0aGUgdXNlciBoYXMgZW50ZXJlZCksIHRoZSBtYXRjaCBhbmQgc29tZSBzZXR0aW5ncyBmb3IgdGhlIHNlYXJjaFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhc3RTZWFyY2hJbmZvOiBJU2VhcmNoSW5mbztcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwYWdlOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGVyUGFnZTogbnVtYmVyO1xuICAgIC8qKiBUaGUgSUQgb2YgdGhlIHJvdyBjdXJyZW50bHkgYmVpbmcgZHJhZ2dlZCBpbiB0aGUgZ3JpZC4gKi9cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBkcmFnUm93SUQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgYSByb3cgaXMgY3VycmVudGx5IGJlaW5nIGRyYWdnZWQgKi9cbiAgICByb3dEcmFnZ2luZzogYm9vbGVhbjtcblxuICAgIGZpcnN0RWRpdGFibGVDb2x1bW5JbmRleDogbnVtYmVyO1xuICAgIGxhc3RFZGl0YWJsZUNvbHVtbkluZGV4OiBudW1iZXI7XG4gICAgaXNSb3dQaW5uaW5nVG9Ub3A6IGJvb2xlYW47XG4gICAgaGFzRGV0YWlsczogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNTdW1tYXJpemVkQ29sdW1uczogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNDb2x1bW5Hcm91cHM6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGFzRWRpdGFibGVDb2x1bW5zOiBib29sZWFuO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFByb3BlcnR5LCB0aGF0IHByb3ZpZGVzIGEgY2FsbGJhY2sgZm9yIGxvYWRpbmcgdW5pcXVlIGNvbHVtbiB2YWx1ZXMgb24gZGVtYW5kLlxuICAgICAqIElmIHRoaXMgcHJvcGVydHkgaXMgcHJvdmlkZWQsIHRoZSB1bmlxdWUgdmFsdWVzIGl0IGdlbmVyYXRlcyB3aWxsIGJlIHVzZWQgYnkgdGhlIEV4Y2VsIFN0eWxlIEZpbHRlcmluZyAgKi9cbiAgICB1bmlxdWVDb2x1bW5WYWx1ZXNTdHJhdGVneTogKGNvbHVtbjogQ29sdW1uVHlwZSwgdHJlZTogRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBkb25lOiAodmFsdWVzOiBhbnlbXSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKiBQcm9wZXJ0eSwgdGhhdCBnZXRzIHRoZSBoZWFkZXIgY2VsbCBpbm5lciB3aWR0aCBmb3IgYXV0by1zaXppbmcuICovXG4gICAgZ2V0SGVhZGVyQ2VsbFdpZHRoOiAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IElTaXplSW5mbztcblxuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgY2hhbmdlIGRldGVjdGlvbiBmdW5jdGlvbmFsaXR5LlxuICAgICAqIEEgY2hhbmdlLWRldGVjdGlvbiB0cmVlIGNvbGxlY3RzIGFsbCB2aWV3cyB0aGF0IGFyZSB0byBiZSBjaGVja2VkIGZvciBjaGFuZ2VzLlxuICAgICAqIFRoZSBwcm9wZXJ0eSBjYW5ub3QgYmUgY2hhbmdlZCAocmVhZG9ubHkpICovXG4gICAgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBkb2N1bWVudDogRG9jdW1lbnQ7XG4gICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgZXhwYW5kZWQgcm93IGluZGljYXRvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHJvd0V4cGFuZGVkSW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRSb3dUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgY29sbGFwc2VkIHJvdyBpbmRpY2F0b3JzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICByb3dDb2xsYXBzZWRJbmRpY2F0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBoZWFkZXIgaWNvblxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBleGNlbFN0eWxlSGVhZGVySWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcblxuICAgIHNlbGVjdFJvd09uQ2xpY2s6IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHNlbGVjdGlvbiBtb2RlIGZvciBjZWxsczogJ25vbmUnLCdzaW5nbGUnLCAnbXVsdGlwbGUnLCAnbXVsdGlwbGVDYXNjYWRlJyAqL1xuICAgIGNlbGxTZWxlY3Rpb246IEdyaWRTZWxlY3Rpb25Nb2RlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBzZWxlY3Rpb24gbW9kZSBmb3Igcm93czogJ25vbmUnLCdzaW5nbGUnLCAnbXVsdGlwbGUnLCAnbXVsdGlwbGVDYXNjYWRlJyAqL1xuICAgIHJvd1NlbGVjdGlvbjogR3JpZFNlbGVjdGlvbk1vZGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHNlbGVjdGlvbiBtb2RlIGZvciBjb2x1bW5zOiAnbm9uZScsJ3NpbmdsZScsICdtdWx0aXBsZScsICdtdWx0aXBsZUNhc2NhZGUnICovXG4gICAgY29sdW1uU2VsZWN0aW9uOiBHcmlkU2VsZWN0aW9uTW9kZTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY2FsY3VsYXRpb24gbW9kZSBmb3Igc3VtbWFyaWVzOiAncm9vdExldmVsT25seScsICdjaGlsZExldmVsc09ubHknLCAncm9vdEFuZENoaWxkTGV2ZWxzJyAqL1xuICAgIHN1bW1hcnlDYWxjdWxhdGlvbk1vZGU6IEdyaWRTdW1tYXJ5Q2FsY3VsYXRpb25Nb2RlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBvZiBzdW1tYXJpZXM6ICd0b3AnLCAnYm90dG9tJyAqL1xuICAgIHN1bW1hcnlQb3NpdGlvbjogR3JpZFN1bW1hcnlQb3NpdGlvbjtcblxuICAgIC8vIFhYWDogV29yayBhcm91bmQgdGlsbCB3ZSBmaXhlZCB0aGUgaW5qZWN0aW9uIHRva2Vuc1xuICAgIGxhc3RDaGlsZEdyaWQ/OiBHcmlkVHlwZTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICB0b29sYmFyT3V0bGV0PzogVmlld0NvbnRhaW5lclJlZjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwYWdpbmF0b3JPdXRsZXQ/OiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIGZsYXREYXRhPzogYW55W10gfCBudWxsO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGNoaWxkUm93PzogYW55O1xuICAgIGV4cGFuc2lvbkRlcHRoPzogbnVtYmVyO1xuICAgIGNoaWxkRGF0YUtleT86IGFueTtcbiAgICBmb3JlaWduS2V5PzogYW55O1xuICAgIGNhc2NhZGVPbkRlbGV0ZT86IGJvb2xlYW47XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBsb2FkQ2hpbGRyZW5PbkRlbWFuZD86IChwYXJlbnRJRDogYW55LCBkb25lOiAoY2hpbGRyZW46IGFueVtdKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIGhhc0NoaWxkcmVuS2V5PzogYW55O1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgbG9hZGluZ1Jvd3M/OiBTZXQ8YW55PjtcbiAgICAvKiBibGF6b3JBbHRlcm5hdGVOYW1lOiBHcmlkUGFyZW50ICovXG4gICAgcGFyZW50PzogR3JpZFR5cGU7XG4gICAgaGlnaGxpZ2h0ZWRSb3dJRD86IGFueTtcbiAgICB1cGRhdGVPblJlbmRlcj86IGJvb2xlYW47XG4gICAgY2hpbGRMYXlvdXRLZXlzPzogYW55W107XG4gICAgY2hpbGRMYXlvdXRMaXN0PzogUXVlcnlMaXN0PGFueT47XG4gICAgcm9vdEdyaWQ/OiBHcmlkVHlwZTtcbiAgICBwcm9jZXNzZWRSb290UmVjb3Jkcz86IElUcmVlR3JpZFJlY29yZFtdO1xuICAgIHJvb3RSZWNvcmRzPzogSVRyZWVHcmlkUmVjb3JkW107XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICByZWNvcmRzPzogTWFwPGFueSwgSVRyZWVHcmlkUmVjb3JkPjtcbiAgICBwcm9jZXNzZWRFeHBhbmRlZEZsYXREYXRhPzogYW55W10gfCBudWxsO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgcHJvY2Vzc2VkUmVjb3Jkcz86IE1hcDxhbnksIElUcmVlR3JpZFJlY29yZD47XG4gICAgdHJlZUdyb3VwQXJlYT86IGFueTtcblxuICAgIGFjdGl2ZU5vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJQWN0aXZlTm9kZUNoYW5nZUV2ZW50QXJncz47XG4gICAgZ3JpZEtleWRvd246IEV2ZW50RW1pdHRlcjxJR3JpZEtleWRvd25FdmVudEFyZ3M+O1xuICAgIGNlbGxDbGljazogRXZlbnRFbWl0dGVyPElHcmlkQ2VsbEV2ZW50QXJncz47XG4gICAgcm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxJR3JpZFJvd0V2ZW50QXJncz47XG4gICAgZG91YmxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxJR3JpZENlbGxFdmVudEFyZ3M+O1xuICAgIGNvbnRleHRNZW51OiBFdmVudEVtaXR0ZXI8SUdyaWRDb250ZXh0TWVudUV2ZW50QXJncz47XG4gICAgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJR3JpZENlbGxFdmVudEFyZ3M+O1xuICAgIHJhbmdlU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxHcmlkU2VsZWN0aW9uUmFuZ2U+O1xuICAgIHJvd1NlbGVjdGlvbkNoYW5naW5nOiBFdmVudEVtaXR0ZXI8SVJvd1NlbGVjdGlvbkV2ZW50QXJncz47XG4gICAgbG9jYWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG4gICAgZmlsdGVyaW5nOiBFdmVudEVtaXR0ZXI8SUZpbHRlcmluZ0V2ZW50QXJncz47XG4gICAgZmlsdGVyaW5nRG9uZTogRXZlbnRFbWl0dGVyPElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU+O1xuICAgIGNvbHVtblBpbm5lZDogRXZlbnRFbWl0dGVyPElQaW5Db2x1bW5FdmVudEFyZ3M+O1xuICAgIGNvbHVtblJlc2l6ZWQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uUmVzaXplRXZlbnRBcmdzPjtcbiAgICBjb2x1bW5Nb3ZpbmdFbmQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uTW92aW5nRW5kRXZlbnRBcmdzPjtcbiAgICBjb2x1bW5TZWxlY3Rpb25DaGFuZ2luZzogRXZlbnRFbWl0dGVyPElDb2x1bW5TZWxlY3Rpb25FdmVudEFyZ3M+O1xuICAgIGNvbHVtbk1vdmluZzogRXZlbnRFbWl0dGVyPElDb2x1bW5Nb3ZpbmdFdmVudEFyZ3M+O1xuICAgIGNvbHVtbk1vdmluZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8SUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzPjtcbiAgICBjb2x1bW5QaW46IEV2ZW50RW1pdHRlcjxJUGluQ29sdW1uQ2FuY2VsbGFibGVFdmVudEFyZ3M+O1xuICAgIGNvbHVtblZpc2liaWxpdHlDaGFuZ2luZzogRXZlbnRFbWl0dGVyPElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdpbmdFdmVudEFyZ3M+O1xuICAgIGNvbHVtblZpc2liaWxpdHlDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SUNvbHVtblZpc2liaWxpdHlDaGFuZ2VkRXZlbnRBcmdzPjtcbiAgICBiYXRjaEVkaXRpbmdDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG4gICAgcm93QWRkOiBFdmVudEVtaXR0ZXI8SVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzPjtcbiAgICByb3dBZGRlZDogRXZlbnRFbWl0dGVyPElSb3dEYXRhRXZlbnRBcmdzPjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIHJvd0FkZGVkTm90aWZpZXI6IFN1YmplY3Q8SVJvd0RhdGFFdmVudEFyZ3M+O1xuICAgIHJvd0RlbGV0ZTogRXZlbnRFbWl0dGVyPElSb3dEYXRhQ2FuY2VsYWJsZUV2ZW50QXJncz47XG4gICAgcm93RGVsZXRlZDogRXZlbnRFbWl0dGVyPElSb3dEYXRhRXZlbnRBcmdzPjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIHJvd0RlbGV0ZWROb3RpZmllcjogU3ViamVjdDxJUm93RGF0YUV2ZW50QXJncz47XG4gICAgY2VsbEVkaXRFbnRlcjogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgY2VsbEVkaXQ6IEV2ZW50RW1pdHRlcjxJR3JpZEVkaXRFdmVudEFyZ3M+O1xuICAgIGNlbGxFZGl0RG9uZTogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIGNlbGxFZGl0RXhpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIHJvd0VkaXRFbnRlcjogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgcm93RWRpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgcm93RWRpdERvbmU6IEV2ZW50RW1pdHRlcjxJR3JpZEVkaXREb25lRXZlbnRBcmdzPjtcbiAgICByb3dFZGl0RXhpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIHJvd0RyYWdTdGFydDogRXZlbnRFbWl0dGVyPElSb3dEcmFnU3RhcnRFdmVudEFyZ3M+O1xuICAgIHJvd0RyYWdFbmQ6IEV2ZW50RW1pdHRlcjxJUm93RHJhZ0VuZEV2ZW50QXJncz47XG4gICAgcm93VG9nZ2xlOiBFdmVudEVtaXR0ZXI8SVJvd1RvZ2dsZUV2ZW50QXJncz47XG4gICAgZm9ybUdyb3VwQ3JlYXRlZDogRXZlbnRFbWl0dGVyPElHcmlkRm9ybUdyb3VwQ3JlYXRlZEV2ZW50QXJncz47XG4gICAgdmFsaWRhdGlvblN0YXR1c0NoYW5nZTogRXZlbnRFbWl0dGVyPElHcmlkVmFsaWRhdGlvblN0YXR1c0V2ZW50QXJncz47XG5cbiAgICB0b29sYmFyRXhwb3J0aW5nOiBFdmVudEVtaXR0ZXI8SUdyaWRUb29sYmFyRXhwb3J0RXZlbnRBcmdzPjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIHJlbmRlcmVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIHJlc2l6ZU5vdGlmeTogU3ViamVjdDx2b2lkPjtcblxuICAgIHNvcnRTdHJhdGVneTogSUdyaWRTb3J0aW5nU3RyYXRlZ3k7XG4gICAgZ3JvdXBTdHJhdGVneT86IElHcmlkR3JvdXBpbmdTdHJhdGVneTtcbiAgICBmaWx0ZXJpbmdMb2dpYzogRmlsdGVyaW5nTG9naWM7XG4gICAgZmlsdGVyU3RyYXRlZ3k6IElGaWx0ZXJpbmdTdHJhdGVneTtcbiAgICBhbGxvd0FkdmFuY2VkRmlsdGVyaW5nOiBib29sZWFuO1xuICAgIHNvcnRpbmdFeHByZXNzaW9uczogSVNvcnRpbmdFeHByZXNzaW9uW107XG4gICAgc29ydGluZ0V4cHJlc3Npb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVNvcnRpbmdFeHByZXNzaW9uW10+O1xuICAgIGZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZTtcbiAgICBmaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlPjtcbiAgICBhZHZhbmNlZEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZTtcbiAgICBhZHZhbmNlZEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZUNoYW5nZTogRXZlbnRFbWl0dGVyPElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU+O1xuICAgIHNvcnRpbmdPcHRpb25zOiBJU29ydGluZ09wdGlvbnM7XG5cbiAgICBiYXRjaEVkaXRpbmc6IGJvb2xlYW47XG4gICAgZ3JvdXBpbmdFeHBhbnNpb25TdGF0ZT86IElHcm91cEJ5RXhwYW5kU3RhdGVbXTtcbiAgICBncm91cGluZ0V4cHJlc3Npb25zPzogSUdyb3VwaW5nRXhwcmVzc2lvbltdO1xuICAgIGdyb3VwaW5nRXhwcmVzc2lvbnNDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8SUdyb3VwaW5nRXhwcmVzc2lvbltdPjtcbiAgICBncm91cHNFeHBhbmRlZD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgZ3JvdXBzUmVjb3Jkcz86IElHcm91cEJ5UmVjb3JkW107XG4gICAgZ3JvdXBpbmdGbGF0UmVzdWx0PzogYW55W107XG4gICAgZ3JvdXBpbmdSZXN1bHQ/OiBhbnlbXTtcbiAgICBncm91cGluZ01ldGFkYXRhPzogYW55W107XG4gICAgc2VsZWN0ZWRDZWxscz86IENlbGxUeXBlW107XG4gICAgc2VsZWN0ZWRSb3dzOiBhbnlbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBhY3RpdmVEZXNjZW5kYW50Pzogc3RyaW5nO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHJlYWRvbmx5IHR5cGU6ICdmbGF0JyB8ICd0cmVlJyB8ICdoaWVyYXJjaGljYWwnIHwgJ3Bpdm90JztcblxuICAgIHRvZ2dsZUdyb3VwPyhncm91cFJvdzogSUdyb3VwQnlSZWNvcmQpOiB2b2lkO1xuICAgIGNsZWFyR3JvdXBpbmc/KGZpZWxkOiBzdHJpbmcpOiB2b2lkO1xuICAgIGdyb3VwQnk/KGV4cHJlc3Npb246IElHcm91cGluZ0V4cHJlc3Npb24gfCBBcnJheTxJR3JvdXBpbmdFeHByZXNzaW9uPik6IHZvaWQ7XG4gICAgcmVzb2x2ZU91dGxldD8oKTogSWd4T3ZlcmxheU91dGxldERpcmVjdGl2ZTtcbiAgICB1cGRhdGVDb2x1bW5zKGNvbHVtbnM6IENvbHVtblR5cGVbXSk6IHZvaWQ7XG4gICAgZ2V0U2VsZWN0ZWRSYW5nZXMoKTogR3JpZFNlbGVjdGlvblJhbmdlW107XG4gICAgZGVzZWxlY3RBbGxDb2x1bW5zKCk6IHZvaWQ7XG4gICAgZGVzZWxlY3RDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdIHwgQ29sdW1uVHlwZVtdKTogdm9pZDtcbiAgICBzZWxlY3RDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdIHwgQ29sdW1uVHlwZVtdKTogdm9pZDtcbiAgICBzZWxlY3RlZENvbHVtbnMoKTogQ29sdW1uVHlwZVtdO1xuICAgIHJlZnJlc2hTZWFyY2goKTogdm9pZDtcbiAgICBnZXREZWZhdWx0RXhwYW5kU3RhdGUocmVjb3JkOiBhbnkpOiBib29sZWFuO1xuICAgIHRyYWNrQ29sdW1uQ2hhbmdlcyhpbmRleDogbnVtYmVyLCBjb2x1bW46IGFueSk6IGFueTtcbiAgICBnZXRQb3NzaWJsZUNvbHVtbldpZHRoKCk6IHN0cmluZztcbiAgICByZXNldEhvcml6b250YWxWaXJ0dWFsaXphdGlvbigpOiB2b2lkO1xuICAgIGhhc1ZlcnRpY2FsU2Nyb2xsKCk6IGJvb2xlYW47XG4gICAgZ2V0VmlzaWJsZUNvbnRlbnRIZWlnaHQoKTogbnVtYmVyO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgZ2V0RHJhZ0dob3N0Q3VzdG9tVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gICAgb3BlblJvd092ZXJsYXkoaWQ6IGFueSk6IHZvaWQ7XG4gICAgb3BlbkFkdmFuY2VkRmlsdGVyaW5nRGlhbG9nKG92ZXJsYXlTZXR0aW5ncz86IE92ZXJsYXlTZXR0aW5ncyk6IHZvaWQ7XG4gICAgc2hvd1NuYWNrYmFyRm9yKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICAgIGdldENvbHVtbkJ5TmFtZShuYW1lOiBzdHJpbmcpOiBhbnk7XG4gICAgZ2V0Q29sdW1uQnlWaXNpYmxlSW5kZXgoaW5kZXg6IG51bWJlcik6IENvbHVtblR5cGU7XG4gICAgZ2V0SGVhZGVyR3JvdXBXaWR0aChjb2x1bW46IENvbHVtblR5cGUpOiBzdHJpbmc7XG4gICAgZ2V0Um93QnlLZXk/KGtleTogYW55KTogUm93VHlwZTtcbiAgICBnZXRSb3dCeUluZGV4PyhpbmRleDogbnVtYmVyKTogUm93VHlwZTtcbiAgICBzZXRGaWx0ZXJlZERhdGEoZGF0YTogYW55LCBwaW5uZWQ6IGJvb2xlYW4pOiB2b2lkO1xuICAgIHNldEZpbHRlcmVkU29ydGVkRGF0YShkYXRhOiBhbnksIHBpbm5lZDogYm9vbGVhbik6IHZvaWQ7XG4gICAgc29ydChleHByZXNzaW9uOiBJU29ydGluZ0V4cHJlc3Npb24gfCBJU29ydGluZ0V4cHJlc3Npb25bXSk6IHZvaWQ7XG4gICAgY2xlYXJTb3J0KG5hbWU/OiBzdHJpbmcpOiB2b2lkO1xuICAgIHBpblJvdyhpZDogYW55LCBpbmRleD86IG51bWJlciwgcm93PzogUm93VHlwZSk6IGJvb2xlYW47XG4gICAgdW5waW5Sb3coaWQ6IGFueSwgcm93PzogUm93VHlwZSk6IGJvb2xlYW47XG4gICAgZ2V0VW5waW5uZWRJbmRleEJ5SWQoaWQ6IGFueSk6IG51bWJlcjtcbiAgICBnZXRFbXB0eVJlY29yZE9iamVjdEZvcihpblJvdzogUm93VHlwZSk6IGFueTtcbiAgICBpc1N1bW1hcnlSb3cocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGlzUmVjb3JkUGlubmVkKHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBnZXRJbml0aWFsUGlubmVkSW5kZXgocmVjOiBhbnkpOiBudW1iZXI7XG4gICAgaXNSZWNvcmRQaW5uZWRCeVZpZXdJbmRleChyb3dJbmRleDogbnVtYmVyKTogYm9vbGVhbjtcbiAgICBpc0NvbHVtbkdyb3VwZWQoZmllbGROYW1lOiBzdHJpbmcpOiBib29sZWFuO1xuICAgIGlzRGV0YWlsUmVjb3JkKHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBpc0dyb3VwQnlSZWNvcmQocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGlzR2hvc3RSZWNvcmQocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGlzVHJlZVJvdz8ocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGlzQ2hpbGRHcmlkUmVjb3JkPyhyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgZ2V0Q2hpbGRHcmlkcz8oaW5EZXB0aD86IGJvb2xlYW4pOiBhbnlbXTtcbiAgICBpc0hpZXJhcmNoaWNhbFJlY29yZD8ocmVjb3JkOiBhbnkpOiBib29sZWFuO1xuICAgIGNvbHVtblRvVmlzaWJsZUluZGV4KGtleTogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyO1xuICAgIG1vdmVDb2x1bW4oY29sdW1uOiBDb2x1bW5UeXBlLCB0YXJnZXQ6IENvbHVtblR5cGUsIHBvczogRHJvcFBvc2l0aW9uKTogdm9pZDtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIG5hdmlnYXRlVG8ocm93SW5kZXg6IG51bWJlciwgdmlzaWJsZUNvbHVtbkluZGV4OiBudW1iZXIsIGNhbGxiYWNrPzogKGU6IGFueSkgPT4gYW55KTogdm9pZDtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIGdldFByZXZpb3VzQ2VsbChjdXJyUm93SW5kZXg6IG51bWJlciwgY3VyVmlzaWJsZUNvbEluZGV4OiBudW1iZXIsIGNhbGxiYWNrOiAoYzogQ29sdW1uVHlwZSkgPT4gYm9vbGVhbik6IElDZWxsUG9zaXRpb247XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBnZXROZXh0Q2VsbChjdXJyUm93SW5kZXg6IG51bWJlciwgY3VyVmlzaWJsZUNvbEluZGV4OiBudW1iZXIsIGNhbGxiYWNrOiAoYzogQ29sdW1uVHlwZSkgPT4gYm9vbGVhbik6IElDZWxsUG9zaXRpb247XG4gICAgY2xlYXJDZWxsU2VsZWN0aW9uKCk6IHZvaWQ7XG4gICAgc2VsZWN0UmFuZ2UocmFuZ2U6IEdyaWRTZWxlY3Rpb25SYW5nZSB8IEdyaWRTZWxlY3Rpb25SYW5nZVtdKTogdm9pZDtcbiAgICBzZWxlY3RSb3dzKHJvd0lEczogYW55W10sIGNsZWFyQ3VycmVudFNlbGVjdGlvbj86IGJvb2xlYW4pOiB2b2lkO1xuICAgIGRlc2VsZWN0Um93cyhyb3dJRHM6IGFueVtdKTogdm9pZDtcbiAgICBzZWxlY3RBbGxSb3dzKG9ubHlGaWx0ZXJEYXRhPzogYm9vbGVhbik6IHZvaWQ7XG4gICAgZGVzZWxlY3RBbGxSb3dzKG9ubHlGaWx0ZXJEYXRhPzogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0VXBQYWdpbmF0b3IoKTogdm9pZDtcbiAgICBjcmVhdGVGaWx0ZXJEcm9wZG93bihjb2x1bW46IENvbHVtblR5cGUsIG9wdGlvbnM6IE92ZXJsYXlTZXR0aW5ncyk6IGFueTtcbiAgICB1cGRhdGVDZWxsKHZhbHVlOiBhbnksIHJvd1NlbGVjdG9yOiBhbnksIGNvbHVtbjogc3RyaW5nKTogdm9pZDtcbiAgICAvLyBUeXBlIHRvIFJvd1R5cGVcbiAgICBjcmVhdGVSb3c/KGluZGV4OiBudW1iZXIsIGRhdGE/OiBhbnkpOiBSb3dUeXBlO1xuICAgIGRlbGV0ZVJvdyhpZDogYW55KTogYW55O1xuICAgIGRlbGV0ZVJvd0J5SWQoaWQ6IGFueSk6IGFueTtcbiAgICB1cGRhdGVSb3codmFsdWU6IGFueSwgcm93U2VsZWN0b3I6IGFueSk6IHZvaWQ7XG4gICAgY29sbGFwc2VSb3coaWQ6IGFueSk6IHZvaWQ7XG4gICAgbm90aWZ5Q2hhbmdlcyhyZXBhaW50PzogYm9vbGVhbik6IHZvaWQ7XG4gICAgcmVzZXRDb2x1bW5Db2xsZWN0aW9ucygpOiB2b2lkO1xuICAgIHRyaWdnZXJQaXBlcygpOiB2b2lkO1xuICAgIHJlcG9zaXRpb25Sb3dFZGl0aW5nT3ZlcmxheShyb3c6IFJvd1R5cGUpOiB2b2lkO1xuICAgIGNsb3NlUm93RWRpdGluZ092ZXJsYXkoKTogdm9pZDtcbiAgICByZWZsb3coKTogdm9pZDtcblxuICAgIC8vIFRPRE86IE1heWJlIG1vdmUgdGhlbSB0byBGbGF0R3JpZFR5cGUsIGJ1dCB0aGVuIHdpbGwgd2UgbmVlZCBhbm90aGVyIHRva2VuP1xuICAgIGlzRXhwYW5kZWRHcm91cChncm91cDogSUdyb3VwQnlSZWNvcmQpOiBib29sZWFuO1xuICAgIGNyZWF0ZUNvbHVtbnNMaXN0Pyhjb2xzOiBDb2x1bW5UeXBlW10pOiB2b2lkO1xuICAgIHRvZ2dsZUFsbEdyb3VwUm93cz8oKTogdm9pZDtcbiAgICB0b2dnbGVBbGw/KCk6IHZvaWQ7XG4gICAgZ2VuZXJhdGVSb3dQYXRoPyhyb3dJZDogYW55KTogYW55W107XG4gICAgcHJldmVudEhlYWRlclNjcm9sbD8oYXJnczogYW55KTogdm9pZDtcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyBhIEZsYXQgR3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBraW5kXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWQga2luZFxuICogRXh0ZW5kcyBmcm9tIGBHcmlkVHlwZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbGF0R3JpZFR5cGUgZXh0ZW5kcyBHcmlkVHlwZSB7XG4gICAgZ3JvdXBpbmdFeHBhbnNpb25TdGF0ZTogSUdyb3VwQnlFeHBhbmRTdGF0ZVtdO1xuICAgIGdyb3VwaW5nRXhwcmVzc2lvbnM6IElHcm91cGluZ0V4cHJlc3Npb25bXTtcbiAgICBncm91cGluZ0V4cHJlc3Npb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUdyb3VwaW5nRXhwcmVzc2lvbltdPjtcblxuICAgIHRvZ2dsZUdyb3VwKGdyb3VwUm93OiBJR3JvdXBCeVJlY29yZCk6IHZvaWQ7XG4gICAgY2xlYXJHcm91cGluZyhmaWVsZDogc3RyaW5nKTogdm9pZDtcbiAgICBncm91cEJ5KGV4cHJlc3Npb246IElHcm91cGluZ0V4cHJlc3Npb24gfCBBcnJheTxJR3JvdXBpbmdFeHByZXNzaW9uPik6IHZvaWQ7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgYSBUcmVlIEdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQga2luZFxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkIGtpbmRcbiAqIEV4dGVuZHMgZnJvbSBgR3JpZFR5cGVgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZUdyaWRUeXBlIGV4dGVuZHMgR3JpZFR5cGUge1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgcmVjb3JkczogTWFwPGFueSwgSVRyZWVHcmlkUmVjb3JkPjtcbiAgICBpc1RyZWVSb3cocmVjOiBhbnkpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIGEgSGllcmFyY2hpY2FsIEdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQga2luZFxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkIGtpbmRcbiAqIEV4dGVuZHMgZnJvbSBgR3JpZFR5cGVgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGllcmFyY2hpY2FsR3JpZFR5cGUgZXh0ZW5kcyBHcmlkVHlwZSB7XG4gICAgY2hpbGRMYXlvdXRLZXlzOiBhbnlbXTtcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyBhIFBpdm90IEdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQga2luZFxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkIGtpbmRcbiAqIEV4dGVuZHMgZnJvbSBgR3JpZFR5cGVgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGl2b3RHcmlkVHlwZSBleHRlbmRzIEdyaWRUeXBlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdGhlIHBpdm90IGdyaWQuXG4gICAgICogaXQgaW5jbHVkZXMgZGltZW5zaW9uIHN0cmF0ZWd5IGZvciByb3dzIGFuZCBjb2x1bW5zLCBmaWx0ZXJzIGFuZCBkYXRhIGtleXNcbiAgICAgKi9cbiAgICBwaXZvdENvbmZpZ3VyYXRpb246IElQaXZvdENvbmZpZ3VyYXRpb247XG4gICAgLyoqXG4gICAgICogQW4gYXJyYXkgb2YgYWxsIGRpbWVuc2lvbnMgKHJvd3MgYW5kIGNvbHVtbnMpIGluIHRoZSBwaXZvdCBncmlkLlxuICAgICAqIGl0IGluY2x1ZGVzIGhpZXJhcmNoaWNhbCBsZXZlbCwgZmlsdGVycyBhbmQgc29ydGluZywgZGltZW5zaW9uYWwgbGV2ZWwsIGV0Yy5cbiAgICAgKi9cbiAgICBhbGxEaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXSxcbiAgICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgdG8gc2hvdyB0aGUgcGl2b3QgY29uZmlndXJhdGlvbiBVSSBpbiB0aGUgZ3JpZC4gKi9cbiAgICBwaXZvdFVJOiBJUGl2b3RVSVNldHRpbmdzO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGNvbHVtbkRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHJvd0RpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgIHJvd0RpbWVuc2lvblJlc2l6aW5nOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHZpc2libGVSb3dEaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNIb3Jpem9udGFsTGF5b3V0OiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHZhbHVlczogSVBpdm90VmFsdWVbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBmaWx0ZXJEaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBkaW1lbnNpb25EYXRhQ29sdW1uczogQ29sdW1uVHlwZVtdO1xuICAgIHBpdm90Um93V2lkdGhzOiBudW1iZXI7XG4gICAgZ2V0Um93RGltZW5zaW9uQnlOYW1lKG5hbWU6IHN0cmluZyk6IElQaXZvdERpbWVuc2lvbjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3Igc2V0dGluZyB1cCB0aGUgY29sdW1ucyBmb3IgdGhlIHBpdm90IGdyaWQgYmFzZWQgb24gdGhlIHBpdm90IGNvbmZpZ3VyYXRpb24gKi9cbiAgICBzZXR1cENvbHVtbnMoKTogdm9pZDtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGFsbG93cyB0b2dnbGUgb2YgZXhwYW5zaW9uIHN0YXRlIG9mIGEgcm93ICh0YWtlbiBhcyBhIHBhcmFtZXRlcikgaW4gdGhlIHBpdm90IGdyaWQgKi9cbiAgICB0b2dnbGVSb3cocm93SUQ6IGFueSk6IHZvaWQ7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmVzb2x2aW5nIHRoZSBkYXRhIHR5cGUgZm9yIGEgc3BlY2lmaWMgZmllbGQgKGNvbHVtbikuXG4gICAgICogSXQgdGFrZXMgdGhlIGZpZWxkIGFzIGEgcGFyYW1ldGVyIGFuZCByZXR1cm5zIGl0J3MgdHlwZVxuICAgICAqL1xuICAgIHJlc29sdmVEYXRhVHlwZXMoZmllbGQ6IGFueSk6IEdyaWRDb2x1bW5EYXRhVHlwZTtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBtb3ZpbmcgZGltZW5zaW9uIGZyb20gaXRzIGN1cnJlbnRseSBjb2xsZWN0aW9uIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0IGNvbGxlY3Rpb25cbiAgICAgKiBieSB0eXBlIChSb3csIENvbHVtbiBvciBGaWx0ZXIpIGF0IHNwZWNpZmllZCBpbmRleCBvciBhdCB0aGUgY29sbGVjdGlvbidzIGVuZFxuICAgICAqL1xuICAgIG1vdmVEaW1lbnNpb24oZGltZW5zaW9uOiBJUGl2b3REaW1lbnNpb24sIHRhcmdldENvbGxlY3Rpb25UeXBlOiBQaXZvdERpbWVuc2lvblR5cGUsIGluZGV4PzogbnVtYmVyKTtcbiAgICBnZXREaW1lbnNpb25zQnlUeXBlKGRpbWVuc2lvbjogUGl2b3REaW1lbnNpb25UeXBlKTtcbiAgICAvKiogVG9nZ2xlcyB0aGUgZGltZW5zaW9uJ3MgZW5hYmxlZCBzdGF0ZSBvbiBvciBvZmYuIFRoZSBkaW1lbnNpb24gcmVtYWlucyBpbiBpdHMgY3VycmVudCBjb2xsZWN0aW9uICovXG4gICAgdG9nZ2xlRGltZW5zaW9uKGRpbWVuc2lvbjogSVBpdm90RGltZW5zaW9uKTtcbiAgICAvKiogU29ydCB0aGUgZGltZW5zaW9uIGFuZCBpdHMgY2hpbGRyZW4gaW4gdGhlIHByb3ZpZGVkIGRpcmVjdGlvbiAoYXNjZW5kaW5nLCBkZXNjZW5kaW5nIG9yIG5vbmUpLiAqL1xuICAgIHNvcnREaW1lbnNpb24oZGltZW5zaW9uOiBJUGl2b3REaW1lbnNpb24sIHNvcnREaXJlY3Rpb246IFNvcnRpbmdEaXJlY3Rpb24pO1xuICAgIC8qKiBUb2dnbGVzIHRoZSB2YWx1ZSdzIGVuYWJsZWQgc3RhdGUgb24gb3Igb2ZmLiBUaGUgdmFsdWUgcmVtYWlucyBpbiBpdHMgY3VycmVudCBjb2xsZWN0aW9uLiAqL1xuICAgIHRvZ2dsZVZhbHVlKHZhbHVlOiBJUGl2b3RWYWx1ZSk7XG4gICAgLyoqIE1vdmUgdmFsdWUgZnJvbSBpdHMgY3VycmVudGx5IGF0IHNwZWNpZmllZCBpbmRleCBvciBhdCB0aGUgZW5kLlxuICAgICAqIElmIHRoZSBwYXJhbWV0ZXIgaXMgbm90IHNldCwgaXQgd2lsbCBhZGQgaXQgdG8gdGhlIGVuZCBvZiB0aGUgY29sbGVjdGlvbi4gKi9cbiAgICBtb3ZlVmFsdWUodmFsdWU6IElQaXZvdFZhbHVlLCBpbmRleD86IG51bWJlcik7XG4gICAgcm93RGltZW5zaW9uV2lkdGgoZGltOiBJUGl2b3REaW1lbnNpb24pOiBzdHJpbmc7XG4gICAgcm93RGltZW5zaW9uV2lkdGhUb1BpeGVscyhkaW06IElQaXZvdERpbWVuc2lvbik6IG51bWJlcjtcbiAgICAvKiogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgZGltZW5zaW9ucyBpbiB0aGUgcGl2b3QgZ3JpZCBjaGFuZ2UuICovXG4gICAgZGltZW5zaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPElEaW1lbnNpb25zQ2hhbmdlPjtcbiAgICAvKiogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgdmFsdWVzIGluIHRoZSBwaXZvdCBncmlkIGNoYW5nZS4gKi9cbiAgICB2YWx1ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJVmFsdWVzQ2hhbmdlPjtcbiAgICAvKiogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgYSBkaW1lbnNpb24gaXMgc29ydGVkLiAqL1xuICAgIGRpbWVuc2lvbnNTb3J0aW5nRXhwcmVzc2lvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJU29ydGluZ0V4cHJlc3Npb25bXT47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGl2b3RLZXlzOiBJUGl2b3RLZXlzO1xuICAgIGhhc011bHRpcGxlVmFsdWVzOiBib29sZWFuO1xuICAgIGV4Y2VsU3R5bGVGaWx0ZXJNYXhIZWlnaHQ6IHN0cmluZztcbiAgICBleGNlbFN0eWxlRmlsdGVyTWluSGVpZ2h0OiBzdHJpbmc7XG4gICAgdmFsdWVDaGlwVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcm93RGltZW5zaW9uSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneENvbHVtblRlbXBsYXRlQ29udGV4dD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFNWR0ljb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTaXplSW5mbyB7XG4gICAgd2lkdGg6IG51bWJlcixcbiAgICBwYWRkaW5nOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkTWFzdGVyRGV0YWlsQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBhbnk7XG4gICAgaW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElHcm91cEJ5UmVjb3JkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogR3JpZFR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkUm93VGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IFJvd1R5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkUm93RHJhZ0dob3N0Q29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBhbnksIC8vIHRoaXMgaXMgdGhlIHJvdyBkYXRhXG4gICAgZGF0YTogYW55LCAvLyB0aGlzIGlzIGFsc28gdGhlIHJvdyBkYXRhIGZvciBzb21lIHJlYXNvbi5cbiAgICBncmlkOiBHcmlkVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRFbXB0eVRlbXBsYXRlQ29udGV4dCB7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAkaW1wbGljaXQ6IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRSb3dFZGl0VGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IHVuZGVmaW5lZCxcbiAgICByb3dDaGFuZ2VzQ291bnQ6IG51bWJlcixcbiAgICBlbmRFZGl0OiAoY29tbWl0OiBib29sZWFuLCBldmVudD86IEV2ZW50KSA9PiB2b2lkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0VkaXRUZXh0VGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRSb3dFZGl0QWN0aW9uc1RlbXBsYXRlQ29udGV4dCB7XG4gICAgLyogYmxhem9yQ1NTdXBwcmVzcyAqL1xuICAgIC8qIGJsYXpvckFsdGVybmF0ZVR5cGU6IFJvd0VkaXRBY3Rpb25zSW1wbGljaXQgKi9cbiAgICAkaW1wbGljaXQ6IChjb21taXQ6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IEhlYWRlclR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hDb2x1bW5UZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogQ29sdW1uVHlwZSxcbiAgICBjb2x1bW46IENvbHVtblR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hDZWxsVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IGFueSxcbiAgICBhZGRpdGlvbmFsVGVtcGxhdGVDb250ZXh0OiBhbnksXG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBmb3JtQ29udHJvbD86IEZvcm1Db250cm9sPGFueT4sXG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBkZWZhdWx0RXJyb3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgY2VsbDogQ2VsbFR5cGVcbn1cblxuLyoganNvbkFQSUNvbXBsZXhPYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWd4Um93U2VsZWN0b3JUZW1wbGF0ZURldGFpbHMge1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgaW4gdmVyc2lvbiAxNS4xLjAuIFVzZSB0aGUgYGtleWAgcHJvcGVydHkgaW5zdGVhZC5cbiAgICAgKi9cbiAgICByb3dJRDogYW55O1xuICAgIGtleTogYW55O1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIHNlbGVjdD86ICgpID0+IHZvaWQ7XG4gICAgZGVzZWxlY3Q/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneFJvd1NlbGVjdG9yVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElneFJvd1NlbGVjdG9yVGVtcGxhdGVEZXRhaWxzO1xufVxuXG4vKiBqc29uQVBJQ29tcGxleE9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZURldGFpbHMge1xuICAgIHNlbGVjdGVkQ291bnQ6IG51bWJlcjtcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XG4gICAgZ3JvdXBSb3c6IElHcm91cEJ5UmVjb3JkO1xufVxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogSWd4R3JvdXBCeVJvd1NlbGVjdG9yVGVtcGxhdGVEZXRhaWxzO1xufVxuXG4vKiBqc29uQVBJQ29tcGxleE9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBJZ3hIZWFkU2VsZWN0b3JUZW1wbGF0ZURldGFpbHMge1xuICAgIHNlbGVjdGVkQ291bnQ6IG51bWJlcjtcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XG4gICAgc2VsZWN0QWxsPzogKCkgPT4gdm9pZDtcbiAgICBkZXNlbGVjdEFsbD86ICgpID0+IHZvaWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIElneEhlYWRTZWxlY3RvclRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJZ3hIZWFkU2VsZWN0b3JUZW1wbGF0ZURldGFpbHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4U3VtbWFyeVRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJZ3hTdW1tYXJ5UmVzdWx0W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkUGFnaW5hdG9yVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IEdyaWRUeXBlO1xufVxuXG4vKiBtYXJzaGFsQnlWYWx1ZSAqL1xuLyogdHNQbGFpbkludGVyZmFjZSAqL1xuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyBzZXR0aW5ncyBmb3Igcm93L2NvbHVtbiBwaW5uaW5nIHBvc2l0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQaW5uaW5nQ29uZmlnIHtcbiAgICBjb2x1bW5zPzogQ29sdW1uUGlubmluZ1Bvc2l0aW9uO1xuICAgIHJvd3M/OiBSb3dQaW5uaW5nUG9zaXRpb247XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgc2V0dGluZ3MgZm9yIGNsaXBib2FyZCBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNsaXBib2FyZE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIGNvcHkgYmVoYXZpb3JcbiAgICAgKi9cbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEluY2x1ZGUgdGhlIGNvbHVtbnMgaGVhZGVycyBpbiB0aGUgY2xpcGJvYXJkIG91dHB1dC5cbiAgICAgKi9cbiAgICBjb3B5SGVhZGVyczogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBcHBseSB0aGUgY29sdW1ucyBmb3JtYXR0ZXJzIChpZiBhbnkpIG9uIHRoZSBkYXRhIGluIHRoZSBjbGlwYm9hcmQgb3V0cHV0LlxuICAgICAqL1xuICAgIGNvcHlGb3JtYXR0ZXJzOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBzZXBhcmF0b3IgdXNlZCBmb3IgZm9ybWF0dGluZyB0aGUgY29weSBvdXRwdXQuIERlZmF1bHRzIHRvIGBcXHRgLlxuICAgICAqL1xuICAgIHNlcGFyYXRvcjogc3RyaW5nO1xufVxuIl19
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvY29tbW9uL2dyaWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBK0MsY0FBYyxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQTZCdEksTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBa0IseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtblBpbm5pbmdQb3NpdGlvbiwgRmlsdGVyTW9kZSwgR3JpZFBhZ2luZ01vZGUsIEdyaWRTZWxlY3Rpb25Nb2RlLCBHcmlkU3VtbWFyeUNhbGN1bGF0aW9uTW9kZSwgR3JpZFN1bW1hcnlQb3NpdGlvbiwgR3JpZFZhbGlkYXRpb25UcmlnZ2VyLCBSb3dQaW5uaW5nUG9zaXRpb24sIFNpemUgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7XG4gICAgSVNlYXJjaEluZm8sIElHcmlkQ2VsbEV2ZW50QXJncywgSVJvd1NlbGVjdGlvbkV2ZW50QXJncywgSUNvbHVtblNlbGVjdGlvbkV2ZW50QXJncyxcbiAgICBJUGluQ29sdW1uQ2FuY2VsbGFibGVFdmVudEFyZ3MsIElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdlZEV2ZW50QXJncywgSUNvbHVtblZpc2liaWxpdHlDaGFuZ2luZ0V2ZW50QXJncyxcbiAgICBJUm93RHJhZ0VuZEV2ZW50QXJncywgSUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzLCBJQ29sdW1uTW92aW5nRW5kRXZlbnRBcmdzLFxuICAgIElSb3dEYXRhRXZlbnRBcmdzLCBJR3JpZEtleWRvd25FdmVudEFyZ3MsIElSb3dEcmFnU3RhcnRFdmVudEFyZ3MsXG4gICAgSUNvbHVtbk1vdmluZ0V2ZW50QXJncywgSVBpbkNvbHVtbkV2ZW50QXJncyxcbiAgICBJQWN0aXZlTm9kZUNoYW5nZUV2ZW50QXJncyxcbiAgICBJQ2VsbFBvc2l0aW9uLCBJRmlsdGVyaW5nRXZlbnRBcmdzLCBJQ29sdW1uUmVzaXplRXZlbnRBcmdzLCBJUm93VG9nZ2xlRXZlbnRBcmdzLCBJR3JpZFRvb2xiYXJFeHBvcnRFdmVudEFyZ3MsIElQaW5Sb3dFdmVudEFyZ3MsXG4gICAgSUdyaWRSb3dFdmVudEFyZ3MsIElHcmlkRWRpdEV2ZW50QXJncywgSVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzLCBJR3JpZEVkaXREb25lRXZlbnRBcmdzLFxuICAgIElHcmlkQ29udGV4dE1lbnVFdmVudEFyZ3Ncbn0gZnJvbSAnLi4vY29tbW9uL2V2ZW50cyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IElHcmlkUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuL2dyaWQtcmVzb3VyY2VzJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5RXhwYW5kU3RhdGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1leHBhbmQtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IElneENlbGwsIElneEVkaXRSb3cgfSBmcm9tICcuL2NydWQuc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkU2VsZWN0aW9uUmFuZ2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZpbHRlcmluZ0xvZ2ljIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IERyb3BQb3NpdGlvbiwgSWd4Q29sdW1uTW92aW5nU2VydmljZSB9IGZyb20gJy4uL21vdmluZy9tb3Zpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hPdmVybGF5T3V0bGV0RGlyZWN0aXZlLCBJZ3hUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElUcmVlR3JpZFJlY29yZCB9IGZyb20gJy4uL3RyZWUtZ3JpZC90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdGF0ZSwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERhdGFUeXBlLCBHcmlkQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElneEZpbHRlcmluZ09wZXJhbmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBJQ29sdW1uRWRpdG9yT3B0aW9ucywgSUNvbHVtblBpcGVBcmdzLCBJRmllbGRFZGl0b3JPcHRpb25zLCBJRmllbGRQaXBlQXJncywgSVNvcnRpbmdPcHRpb25zLCBNUkxSZXNpemVDb2x1bW5JbmZvIH0gZnJvbSAnLi4vY29sdW1ucy9pbnRlcmZhY2VzJztcbmltcG9ydCB7IElneFN1bW1hcnlSZXN1bHQgfSBmcm9tICcuLi9zdW1tYXJpZXMvZ3JpZC1zdW1tYXJ5JztcbmltcG9ydCB7IElTb3J0aW5nRXhwcmVzc2lvbiwgSVNvcnRpbmdTdHJhdGVneSwgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IElHcmlkR3JvdXBpbmdTdHJhdGVneSwgSUdyaWRTb3J0aW5nU3RyYXRlZ3kgfSBmcm9tICcuL3N0cmF0ZWd5JztcbmltcG9ydCB7IElGb3JPZlN0YXRlLCBJZ3hHcmlkRm9yT2ZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2YuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL292ZXJsYXkvdXRpbGl0aWVzJztcbmltcG9ydCB7IElEaW1lbnNpb25zQ2hhbmdlLCBJUGl2b3RDb25maWd1cmF0aW9uLCBJUGl2b3REaW1lbnNpb24sIElQaXZvdEtleXMsIElQaXZvdFZhbHVlLCBJVmFsdWVzQ2hhbmdlLCBQaXZvdERpbWVuc2lvblR5cGUsIElQaXZvdFVJU2V0dGluZ3MgfSBmcm9tICcuLi9waXZvdC1ncmlkL3Bpdm90LWdyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEYXRhQ2xvbmVTdHJhdGVneSB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLWNsb25lLXN0cmF0ZWd5JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJZ3hHcmlkVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ncmlkL2dyaWQtdmFsaWRhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IElHWF9HUklEX0JBU0UgPSAvKkBfX1BVUkVfXyovbmV3IEluamVjdGlvblRva2VuPEdyaWRUeXBlPignSWd4R3JpZEJhc2VUb2tlbicpO1xuZXhwb3J0IGNvbnN0IElHWF9HUklEX1NFUlZJQ0VfQkFTRSA9IC8qQF9fUFVSRV9fKi9uZXcgSW5qZWN0aW9uVG9rZW48R3JpZFNlcnZpY2VUeXBlPignSWd4R3JpZFNlcnZpY2VCYXNlVG9rZW4nKTtcblxuLyoqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBzZWdtZW50IG9mIGEgcGF0aCBpbiBhIGhpZXJhcmNoaWNhbCBncmlkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGF0aFNlZ21lbnQge1xuICAgIC8qKlxuICAgICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcm93IHdpdGhpbiB0aGUgc2VnbWVudC5cbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE3LjEuMC4gVXNlIHRoZSBgcm93S2V5YCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJvd0lEOiBhbnk7XG4gICAgcm93S2V5OiBhbnk7XG4gICAgLyoqIFRoZSBrZXkgcmVwcmVzZW50aW5nIHRoZSByb3cncyAnaGllcmFyY2hpY2FsIGxldmVsLiAqL1xuICAgIHJvd0lzbGFuZEtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkRGF0YUJpbmRhYmxlIHtcbiAgICBkYXRhOiBhbnlbXSB8IG51bGw7XG4gICAgZ2V0IGZpbHRlcmVkRGF0YSgpOiBhbnlbXTtcbn1cblxuLyogbWFyc2hhbEJ5VmFsdWUgKi9cbi8qIGpzb25BUElDb21wbGV4T2JqZWN0ICovXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgY2VsbCBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGNlbGxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZWxsVHlwZSB7XG4gICAgLyoqIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHZhbHVlOiBhbnk7XG4gICAgLyoqIFRoZSB2YWx1ZSB0byBkaXNwbGF5IHdoZW4gdGhlIGNlbGwgaXMgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRWYWx1ZTogYW55O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuIEl0IGlzIGZhbHNlLCBpZiB0aGUgc2VsbCBpcyBub3Qgc2VsZWN0ZWQsIGFuZCB0cnVlLCBpZiBpdCBpcy4gKi9cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNlbGwgaXMgY3VycmVudGx5IGFjdGl2ZSAoZm9jdXNlZCkuICovXG4gICAgYWN0aXZlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBjYW4gYmUgZWRpdGVkLiAqL1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRNb2RlOiBib29sZWFuO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIGNlbGwgaXRzZWxmICovXG4gICAgbmF0aXZlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjb2x1bW4gdGhhdCB0aGUgY2VsbCBiZWxvbmdzIHRvLiAqL1xuICAgIGNvbHVtbjogQ29sdW1uVHlwZTtcbiAgICAvKiBibGF6b3JDU1N1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHJvdyB0aGF0IHRoZSBjZWxsIGJlbG9uZ3MgdG8gKi9cbiAgICByb3c6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgY2VsbCAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKiBPcHRpb25hbDsgQW4gb2JqZWN0IGlkZW50aWZ5aW5nIHRoZSBjZWxsLiBJdCBjb250YWlucyByb3dJRCwgY29sdW1uSUQsIGFuZCByb3dJbmRleCBvZiB0aGUgY2VsbC4gKi9cbiAgICBpZD86IHsgcm93SUQ6IGFueTsgY29sdW1uSUQ6IG51bWJlcjsgcm93SW5kZXg6IG51bWJlciB9O1xuICAgIC8qKiBPcHRpb25hbDsgVGhlIGBjZWxsSURgIGlzIHRoZSB1bmlxdWUga2V5LCB1c2VkIHRvIGlkZW50aWZ5IHRoZSBjZWxsICovXG4gICAgY2VsbElEPzogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOyBBbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIHRoZSBjZWxsLlxuICAgICAqIFdoZXRoZXIgaXQncyB2YWxpZCBvciBpbnZhbGlkLCBhbmQgaWYgaXQgaGFzIGVycm9yc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBJR3JpZFZhbGlkYXRpb25TdGF0ZTtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgLyoqIEFuIG9wdGlvbmFsIHRpdGxlIHRvIGRpc3BsYXkgZm9yIHRoZSBjZWxsICovXG4gICAgdGl0bGU/OiBhbnk7XG4gICAgLyoqIFRoZSBDU1Mgd2lkdGggb2YgdGhlIGNlbGwgYXMgYSBzdHJpbmcuICovXG4gICAgd2lkdGg6IHN0cmluZztcbiAgICAvKiogVGhlIGluZGV4IG9mIHRoZSBjb2x1bW4gdGhhdCB0aGUgY2VsbCBiZWxvbmdzIHRvLiBJdCBjb3VudHMgb25seSB0aGUgdmlzaWJsZSAobm90IGhpZGRlbikgY29sdW1ucyAqL1xuICAgIHZpc2libGVDb2x1bW5JbmRleD86IG51bWJlcjtcbiAgICAvKiogQSBtZXRob2QgZGVmaW5pdGlvbiB0byB1cGRhdGUgdGhlIHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHVwZGF0ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gc3RhcnQgb3IgZW5kIHRoZSBlZGl0IG1vZGUgb2YgdGhlIGNlbGwuIEl0IHRha2VzIGEgYm9vbGVhbiB2YWx1ZSBhcyBhbiBhcmd1bWVudCovXG4gICAgc2V0RWRpdE1vZGU/KHZhbHVlOiBib29sZWFuKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDtcbiAgICAgKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB0byBmaXQgdGhlIGNvbnRlbnRcbiAgICAgKiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB3aXRoIHRoZSBsb25nZXN0IGNvbnRlbnQgYW5kIHJlc2l6ZSBhbGwgY2VsbHMgdG8gdGhhdCBzaXplXG4gICAgICovXG4gICAgY2FsY3VsYXRlU2l6ZVRvRml0PyhyYW5nZTogYW55KTogbnVtYmVyO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBhY3RpdmF0ZSB0aGUgY2VsbC5cbiAgICAgKiBJdCB0YWtlcyBhIGZvY3VzIG9yIGtleWJvYXJkIGV2ZW50IGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgYWN0aXZhdGU/KGV2ZW50OiBGb2N1c0V2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBkb3VibGUtY2xpY2sgZXZlbnRzIG9uIHRoZSBjZWxsXG4gICAgICogSXQgdGFrZXMgYSBtb3VzZSBldmVudCBhcyBhbiBhcmd1bWVudFxuICAgICAqL1xuICAgIG9uRG91YmxlQ2xpY2s/KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGNsaWNrIGV2ZW50cyBvbiB0aGUgY2VsbFxuICAgICAqIEl0IHRha2VzIGEgbW91c2UgZXZlbnQgYXMgYW4gYXJndW1lbnRcbiAgICAgKi9cbiAgICBvbkNsaWNrPyhldmVudDogTW91c2VFdmVudCk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIGhlYWRlciBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgaGVhZGVyIGNlbGwgb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcywgcmVsZXZhbnQgdG8gdGhlIGhlYWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclR5cGUge1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIGNlbGwgaXRzZWxmICovXG4gICAgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIFRoZSBjb2x1bW4gdGhhdCB0aGUgaGVhZGVyIGNlbGwgcmVwcmVzZW50cy4gKi9cbiAgICBjb2x1bW46IENvbHVtblR5cGU7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IHNvcnRlZC4gKi9cbiAgICBzb3J0ZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjZWxsIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjZWxsIGlzIGN1cnJlbnRseSBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29sdW1uIGhlYWRlciBpcyBhIHRpdGxlIGNlbGwuICovXG4gICAgdGl0bGU6IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHNvcnRpbmcgZGlyZWN0aW9uIG9mIHRoZSBjb2x1bW4gKGFzY2VuZGluZywgZGVzY2VuZGluZyBvciBub25lKS4gKi9cbiAgICBzb3J0RGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uO1xufVxuXG4vKiBqc29uQVBJQ29tcGxleE9iamVjdCAqL1xuLyogbWFyc2hhbEJ5VmFsdWUgKi9cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIHJvdyBpbiB0aGUgZ3JpZC4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIHJvdyBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIHJvd1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvd1R5cGUge1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIHJvdyBpdHNlbGYgKi9cbiAgICBuYXRpdmVFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIFRoZSBpbmRleCBvZiB0aGUgcm93IHdpdGhpbiB0aGUgZ3JpZCAqL1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgdmlld0luZGV4OiBudW1iZXI7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb3cgaXMgZ3JvdXBlZC4gKi9cbiAgICBpc0dyb3VwQnlSb3c/OiBib29sZWFuO1xuICAgIGlzU3VtbWFyeVJvdz86IGJvb2xlYW47XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWFwIG9mIGNvbHVtbiBmaWVsZCBuYW1lcyB0byB0aGUgc3VtbWFyeSByZXN1bHRzIGZvciB0aGUgcm93LlxuICAgICAqL1xuICAgIHN1bW1hcmllcz86IE1hcDxzdHJpbmcsIElneFN1bW1hcnlSZXN1bHRbXT47XG4gICAgZ3JvdXBSb3c/OiBJR3JvdXBCeVJlY29yZDtcbiAgICBrZXk/OiBhbnk7XG4gICAgcmVhZG9ubHkgdmFsaWRhdGlvbj86IElHcmlkVmFsaWRhdGlvblN0YXRlO1xuICAgIGRhdGE/OiBhbnk7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIGxpc3Qgb3IgYW4gYXJyYXkgb2YgY2VsbHMsIHRoYXQgYmVsb25nIHRvIHRoZSByb3dcbiAgICAgKi9cbiAgICBjZWxscz86IFF1ZXJ5TGlzdDxDZWxsVHlwZT4gfCBDZWxsVHlwZVtdO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBWaXJ0dWFsaXphdGlvbiBzdGF0ZSBvZiBkYXRhIHJlY29yZCBhZGRlZCBmcm9tIGNhY2hlXG4gICAgICovXG4gICAgdmlydERpclJvdz86IElneEdyaWRGb3JPZkRpcmVjdGl2ZTxDb2x1bW5UeXBlLCBDb2x1bW5UeXBlW10+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIHBpbm5lZC5cbiAgICAgKi9cbiAgICBwaW5uZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIHNlbGVjdGVkXG4gICAgICovXG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGlzIGV4cGFuZGVkLlxuICAgICAqIFRoZSB2YWx1ZSBpcyB0cnVlLCBpZiB0aGUgcm93IGlzIGV4cGFuZGVkIGFuZCBmYWxzZSwgaWYgaXQgaXMgY29sbGFwc2VkXG4gICAgICovXG4gICAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJvdyBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLlxuICAgICAqL1xuICAgIGRlbGV0ZWQ/OiBib29sZWFuO1xuICAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb3cgaXMgY3VycmVudGx5IGJlaW5nIGVkaXRlZC5cbiAgICAgKi9cbiAgICBpbkVkaXRNb2RlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIENvbnRhaW5zIHRoZSBjaGlsZCByb3dzIG9mIHRoZSBjdXJyZW50IHJvdywgaWYgdGhlcmUgYXJlIGFueS5cbiAgICAgKi9cbiAgICBjaGlsZHJlbj86IFJvd1R5cGVbXTtcbiAgICAvKiBibGF6b3JBbHRlcm5hdGVOYW1lOiBSb3dQYXJlbnQgKi9cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIENvbnRhaW5zIHRoZSBwYXJlbnQgcm93IG9mIHRoZSBjdXJyZW50IHJvdywgaWYgaXQgaGFzIG9uZS5cbiAgICAgKiBJZiB0aGUgcGFyZW50IHJvdyBleGlzdCwgaXQgbWVhbnMgdGhhdCB0aGUgY3VycmVudCByb3cgaXMgYSBjaGlsZCByb3dcbiAgICAgKi9cbiAgICBwYXJlbnQ/OiBSb3dUeXBlO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgcm93IGhhcyBhbnkgY2hpbGQgcm93c1xuICAgICAqL1xuICAgIGhhc0NoaWxkcmVuPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIGhpZXJhcmNoaWNhbCByZWNvcmQgYXNzb2NpYXRlZCB3aXRoIHRoZSByb3cgKGZvciB0cmVlIGdyaWRzKS5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIElUcmVlR3JpZFJlY29yZCwgd2hpY2ggY29udGFpbnMgdGhlIGRhdGEsIGNoaWxkcmVuLCB0aGUgaGllcmFyY2hpY2FsIGxldmVsLCBldGMuXG4gICAgICovXG4gICAgdHJlZVJvdz86IElUcmVlR3JpZFJlY29yZDtcbiAgICBhZGRSb3dVST86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcm93IGlzIGN1cnJlbnRseSBmb2N1c2VkLlxuICAgICAqL1xuICAgIGZvY3VzZWQ/OiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnQgdGhlIGdyaWQgaW5zdGFuY2UsIHRoZSByb3cgYmVsb25ncyB0byAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgb25Sb3dTZWxlY3RvckNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgY2xpY2sgZXZlbnQgb24gdGhlIHJvd1xuICAgICAqIEl0IHRha2VzIGEgYE1vdXNlRXZlbnRgIGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgb25DbGljaz86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGFkZGluZyBhIG5ldyByb3dcbiAgICAgKi9cbiAgICBiZWdpbkFkZFJvdz86ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIGVsZW1lbnRzIG9mIHRoZSByb3dcbiAgICAgKiBJdCB0YWtlcyB0aGUgbmV3IHZhbHVlIGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgdXBkYXRlPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgZGVsZXRpbmcgcm93c1xuICAgICAqL1xuICAgIGRlbGV0ZT86ICgpID0+IGFueTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBwaW5uaW5nIGEgcm93XG4gICAgICovXG4gICAgcGluPzogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSB1bnBpbm5pbmcgYSByb3csIHRoYXQgaGFzIGJlZW4gcGlubmVkXG4gICAgICovXG4gICAgdW5waW4/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkVHlwZSB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBoZWFkZXI/OiBzdHJpbmc7XG4gICAgLyogYWx0ZXJuYXRlVHlwZTogR3JpZENvbHVtbkRhdGFUeXBlICovXG4gICAgZGF0YVR5cGU6IERhdGFUeXBlO1xuICAgIGVkaXRvck9wdGlvbnM6IElGaWVsZEVkaXRvck9wdGlvbnM7XG4gICAgZmlsdGVyczogSWd4RmlsdGVyaW5nT3BlcmFuZDtcbiAgICBwaXBlQXJnczogSUZpZWxkUGlwZUFyZ3M7XG4gICAgZGVmYXVsdFRpbWVGb3JtYXQ6IHN0cmluZztcbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6IHN0cmluZztcblxuICAgIGZvcm1hdHRlcih2YWx1ZTogYW55LCByb3dEYXRhPzogYW55KTogYW55O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb2x1bW4gaW4gdGhlIGBHcmlkVHlwZWAuIEl0IGlzIGVzc2VudGlhbGx5IHRoZSBibHVlcHJpbnQgdG8gYSBjb2x1bW4gb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBjb2x1bW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5UeXBlIGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaW5zdGFuY2Ugb2YgdGhlIHBhcmVudCBgR3JpZFR5cGVgIHRoYXQgY29udGFpbnMgdGhpcyBjb2x1bW4uICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgLyoqXG4gICAgICogQSBsaXN0IGNvbnRhaW5pbmcgYWxsIHRoZSBjaGlsZCBjb2x1bW5zIHVuZGVyIHRoaXMgY29sdW1uIChpZiBhbnkpLlxuICAgICAqIEBkZXByZWNhdGVkIGluIHZlcnNpb24gMTguMS4wLiBVc2UgdGhlIGBjaGlsZENvbHVtbnNgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxDb2x1bW5UeXBlPjtcbiAgICAvKipcbiAgICAgKiBBIGxpc3QgY29udGFpbmluZyBhbGwgdGhlIGNoaWxkIGNvbHVtbnMgdW5kZXIgdGhpcyBjb2x1bW4gKGlmIGFueSkuXG4gICAgICogRW1wdHkgd2l0aG91dCBjaGlsZHJlbiBvciBpZiB0aGlzIGNvbHVtbiBpcyBub3QgR3JvdXAgb3IgTGF5b3V0LlxuICAgICAqL1xuICAgIGdldCBjaGlsZENvbHVtbnMoKTogQ29sdW1uVHlwZVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGFsbENoaWxkcmVuOiBDb2x1bW5UeXBlW107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGVhZGVyR3JvdXA6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJDZWxsOiBhbnk7XG4gICAgdmFsaWRhdG9yczogYW55W107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciB0aGUgY3VzdG9tIGhlYWRlciBvZiB0aGUgY29sdW1uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSBjb2xsYXBzaWJsZSBpbmRpY2F0b3Igb2YgdGhlIGNvbHVtbi5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgY29sbGFwc2libGVJbmRpY2F0b3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBjbGFzc2VzIGFwcGxpZWQgdG8gdGhlIGhlYWRlciBlbGVtZW50LiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJDbGFzc2VzOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGVsZW1lbnQuIFdoZW4gYWRkZWQsIHRoZXkgdGFrZSBkaWZmZXJlbnQgc3R5bGluZyAqL1xuICAgIGhlYWRlclN0eWxlczogYW55O1xuICAgICAvKiogUmVwcmVzZW50cyBjdXN0b20gQ1NTIGNsYXNzZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cENsYXNzZXM6IGFueTtcbiAgICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cFN0eWxlczogYW55O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIENTUyBzdHlsaW5nLCBhcHBsaWVkIHRvIGV2ZXJ5IGNvbHVtblxuICAgICAqIGNhbGNXaWR0aCwgbWluV2lkdGhQeCwgbWF4V2lkdGhQeCwgbWluV2lkdGgsIG1heFdpZHRoLCBtaW5XaWR0aFBlcmNlbnQsIG1heFdpZHRoUGVyY2VudCwgcmVzb2x2ZWRXaWR0aFxuICAgICAqL1xuICAgIGNhbGNXaWR0aDogYW55O1xuICAgIG1pbldpZHRoUHg6IG51bWJlcjtcbiAgICBtYXhXaWR0aFB4OiBudW1iZXI7XG4gICAgbWluV2lkdGg6IHN0cmluZztcbiAgICBtYXhXaWR0aDogc3RyaW5nO1xuICAgIG1pbldpZHRoUGVyY2VudDogbnVtYmVyO1xuICAgIG1heFdpZHRoUGVyY2VudDogbnVtYmVyO1xuICAgIHJlc29sdmVkV2lkdGg6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgaGVhZGVyIHRleHQgb2YgdGhlIGNvbHVtblxuICAgICAqL1xuICAgIGhlYWRlcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNvbHVtbiB3aXRoaW4gdGhlIGdyaWQuXG4gICAgICogSW5jbHVkZXMgdGhlIGhpZGRlbiBjb2x1bW5zIHdoZW4gY291bnRpbmdcbiAgICAgKi9cbiAgICBpbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHR5cGUgb2YgZGF0YSBmb3IgdGhlIGNvbHVtbjpcbiAgICAgKiBzdHJpbmcsIG51bWJlciwgYm9vbGVhbiwgY3VycmVuY3ksIGRhdGUsIHRpbWUsIGV0Yy5cbiAgICAgKi9cbiAgICBkYXRhVHlwZTogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIFNldHMgcHJvcGVydGllcyBvbiB0aGUgZGVmYXVsdCBjb2x1bW4gZWRpdG9yc1xuICAgICAqL1xuICAgIGVkaXRvck9wdGlvbnM6IElDb2x1bW5FZGl0b3JPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSBjdXN0b20gaW5saW5lIGVkaXRvciBvZiB0aGUgY29sdW1uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGlubGluZUVkaXRvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSBpbmRleCBvZiB0aGUgY29sdW1uIHdpdGhpbiB0aGUgZ3JpZC5cbiAgICAgKiBEb2VzIG5vdCBpbmNsdWRlIHRoZSBoaWRkZW4gY29sdW1ucyB3aGVuIGNvdW50aW5nXG4gICAgICovXG4gICAgdmlzaWJsZUluZGV4OiBudW1iZXI7XG4gICAgLyoqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVkIHdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgY29sbGFwc2VkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgY29sbGFwc2VkXG4gICAgICogSXQgaXMgdXNlZCBpbiB0cmVlIGdyaWQgYW5kIGZvciBuYXZpZ2F0aW9uXG4gICAgICovXG4gICAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZWQgd2hldGhlciB0aGUgY29sdW1uIGNhbiBiZSBlZGl0ZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBlZGl0ZWQgKi9cbiAgICBlZGl0YWJsZTogYm9vbGVhbjtcbiAgICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgcmVzaXplZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQgKi9cbiAgICByZXNpemFibGU6IGJvb2xlYW47XG4gICAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBkYXRhIG9mIHRoZSBjb2x1bW4gY2FuIGJlIHNlYXJjaGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBkYXRhIGNhbiBiZSBzZWFyY2hlZCAqL1xuICAgIHNlYXJjaGFibGU6IGJvb2xlYW47XG4gICAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBjb2x1bW4gYmVsb25ncyB0byBhIGdyb3VwIG9mIGNvbHVtbnMuICovXG4gICAgY29sdW1uR3JvdXA6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGNhbiBiZSBwdXQgaW4gYSBncm91cC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIHB1dCBpbiBhIGdyb3VwICovXG4gICAgZ3JvdXBhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgc29ydGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgc29ydGVkLiAqL1xuICAgIHNvcnRhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgZmlsdGVyZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBmaWx0ZXJlZCAqL1xuICAgIGZpbHRlcmFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGlzIGN1cnJlbnRseSBoaWRkZW4gKG5vdCB2aXNpYmxlKS4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gaXMgbm90IHZpc2libGUgKi9cbiAgICBoaWRkZW46IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGNhbiBiZSBwaW5uZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbm5vdCBiZSBwaW5uZWQgKi9cbiAgICBkaXNhYmxlUGlubmluZzogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgYSBjb2x1bW4gY2FuIGJlIGhpZGRlbi4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2Fubm90IGJlIGhpZGRlbiAqL1xuICAgIGRpc2FibGVIaWRpbmc6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIHNvcnRpbmcgc3RyYXRlZ3kgdXNlZCBmb3Igc29ydGluZyB0aGlzIGNvbHVtbi5cbiAgICAgKiBUaGUgaW50ZXJmYWNlIGNvbnRhaW5zIGEgbWV0aG9kIHNvcnQgdGhhdCBzb3J0cyB0aGUgcHJvdmlkZWQgZGF0YSBiYXNlZCBvbiB0aGUgZ2l2ZW4gc29ydGluZyBleHByZXNzaW9uc1xuICAgICAqL1xuICAgIHNvcnRTdHJhdGVneTogSVNvcnRpbmdTdHJhdGVneTtcbiAgICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlYXJjaCBzaG91bGQgbWF0Y2ggcmVzdWx0cywgbm8gbWF0dGVyIHRoZSBjYXNlIG9mIHRoZSBsZXR0ZXJzICh1cHBlciBhbmQgbG93ZXIpXG4gICAgICogSWYgdGhlIHZhbHVlIGlzIGZhbHNlLCB0aGUgcmVzdWx0IHdpbGwgZGVwZW5kIG9uIHRoZSBjYXNlIChleGFtcGxlOiBgRWAgd2lsbCBub3QgbWF0Y2ggYGVgKVxuICAgICAqIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgcmVzdWx0IHdpbGwgbm90IGRlcGVuZCBvbiB0aGUgY2FzZSAoZXhhbXBsZTogYEVgIHdpbGwgbWF0Y2ggYGVgKVxuICAgICAqL1xuICAgIHNvcnRpbmdJZ25vcmVDYXNlOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlckNlbGw6IGFueTtcbiAgICBmaWx0ZXJpbmdJZ25vcmVDYXNlOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBmaWx0ZXJpbmcgZXhwcmVzc2lvbnMgZm9yIHRoZSBjb2x1bW4uXG4gICAgICogVGhlIHR5cGUgY29udGFpbnMgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBmb3IgZmlsdGVyaW5nOiBmaWx0ZXJpbmdPcGVyYW5kcywgb3BlcmF0b3IgKGxvZ2ljKSwgZmllbGROYW1lLCBldGMuXG4gICAgICovXG4gICAgZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlOiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU7XG4gICAgaGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBzdW1tYXJpZXM6IGFueTtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciBhIHN1bW1hcnkgb2YgdGhlIGNvbHVtblxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBzdW1tYXJ5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgY29sdW1uIGlzIGN1cnJlbnRseSBwaW5uZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGlzIHBpbm5lZCAqL1xuICAgIHBpbm5lZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IGV4cGFuZGVkIG9yIGNvbGxhcHNlZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gaXMgZXhwYW5kZWQgKi9cbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IHNlbGVjdGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBpcyBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbHVtbiBjYW4gYmUgc2VsZWN0ZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGFibGU6IGJvb2xlYW47XG4gICAgY29sdW1uTGF5b3V0OiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBoaWVyYXJjaGljYWwgbGV2ZWwgb2YgdGhlIGNvbHVtbiBpbiB0aGUgY29sdW1uIGxheW91dCAqL1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgcm93U3RhcnQ6IG51bWJlcjtcbiAgICByb3dFbmQ6IG51bWJlcjtcbiAgICBjb2xTdGFydDogbnVtYmVyO1xuICAgIGNvbEVuZDogbnVtYmVyO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGdyaWRSb3dTcGFuOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZ3JpZENvbHVtblNwYW46IG51bWJlcjtcbiAgICBjb2x1bW5MYXlvdXRDaGlsZDogYm9vbGVhbjtcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHJvb3QgcGFyZW50IG9mIHRoaXMgY29sdW1uIChpZiBhbnkpLlxuICAgICAqIElmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LCB0aGF0IG1lYW5zIHRoZSBjdXJyZW50IGNvbHVtbiBpcyB0aGUgcm9vdCBwYXJlbnRcbiAgICAgKi9cbiAgICB0b3BMZXZlbFBhcmVudD86IENvbHVtblR5cGU7XG4gICAgLyogYWx0ZXJuYXRlTmFtZTogcGFyZW50Q29sdW1uICovXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgaW1tZWRpYXRlIHBhcmVudCAocmlnaHQgYWJvdmUpIGNvbHVtbiBvZiB0aGlzIGNvbHVtbiAoaWYgYW55KS5cbiAgICAgKiBJZiB0aGVyZSBpcyBubyBwYXJlbnQsIHRoYXQgbWVhbnMgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHRoZSByb290IHBhcmVudFxuICAgICAqL1xuICAgIHBhcmVudD86IENvbHVtblR5cGU7XG4gICAgcGlwZUFyZ3M6IElDb2x1bW5QaXBlQXJncztcbiAgICBoYXNOZXN0ZWRQYXRoOiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxUZW1wbGF0ZUNvbnRleHQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHRoZSBsYXN0IHRvIGJlIHBpbm5lZC5cbiAgICAgKiBJZiB0aGUgdmFsdWUgaXMgZmFsc2UsIHRoZXJlIGFyZSBjb2x1bW5zLCB0aGF0IGhhdmUgYmVlbiBwaW5uZWQgYWZ0ZXIgdGhlIGN1cnJlbnQgKi9cbiAgICBpc0xhc3RQaW5uZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW50IGNvbHVtbiBpcyB0aGUgZmlyc3QgZm9yIHRoZSBncmlkIHRvIGJlIHBpbm5lZC5cbiAgICAgKiBJZiB0aGUgdmFsdWUgaXMgZmFsc2UsIHRoZXJlIGFyZSBjb2x1bW5zLCB0aGF0IGhhdmUgYmVlbiBwaW5uZWQgYmVmb3JlIHRoZSBjdXJyZW50ICovXG4gICAgaXNGaXJzdFBpbm5lZDogYm9vbGVhbjtcbiAgICBhcHBseVNlbGVjdGFibGVDbGFzczogYm9vbGVhbjtcbiAgICAvKiogVGhlIHRpdGxlIG9mIHRoZSBjb2x1bW4sIHVzZWQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMgKi9cbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2Qgd2l0aCBjdXN0b20gZ3JvdXBpbmcgY29tcGFyYXRvciB0byBkZXRlcm1pbmUgdGhlIG1lbWJlcnMgb2YgdGhlIGdyb3VwLiAqL1xuICAgIGdyb3VwaW5nQ29tcGFyZXI6IChhOiBhbnksIGI6IGFueSkgPT4gbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IgZmlsdGVyaW5nXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGZpbHRlckNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gbW92ZSB0aGUgY29sdW1uIHRvIHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAgICogSXQgdGFrZXMgdGhlIGluZGV4IG9mIHR5cGUgbnVtYmVyIGFzIGEgcGFyYW1ldGVyXG4gICAgKi9cbiAgICBtb3ZlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICAgIC8qKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIHJldHJpZXZlIHRoZSBzZXQgQ1NTIHNpemUgKi9cbiAgICBnZXRBdXRvU2l6ZSgpOiBzdHJpbmc7XG4gICAgZ2V0UmVzaXphYmxlQ29sVW5kZXJFbmQoKTogTVJMUmVzaXplQ29sdW1uSW5mb1tdO1xuICAgIC8qKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIHJldHJpZXZlIHRoZSBzZXQgQ1NTIHdpZHRoIG9mIHRoZSBjZWxscyB1bmRlciB0aGUgY29sdW1uICovXG4gICAgZ2V0Q2VsbFdpZHRoKCk6IHN0cmluZztcbiAgICBnZXRHcmlkVGVtcGxhdGUoaXNSb3c6IGJvb2xlYW4pOiBzdHJpbmc7XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gdG9nZ2xlIGNvbHVtbiB2aXNpYmlsaXR5IChoaWRkZW4gb3IgdmlzaWJsZSkgKi9cbiAgICB0b2dnbGVWaXNpYmlsaXR5KHZhbHVlPzogYm9vbGVhbik6IHZvaWQ7XG4gICAgcG9wdWxhdGVWaXNpYmxlSW5kZXhlcz8oKTogdm9pZDtcbiAgICAvKiogUGlucyB0aGUgY29sdW1uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggKGlmIG5vdCBhbHJlYWR5IHBpbm5lZCkuICovXG4gICAgcGluKGluZGV4PzogbnVtYmVyKTogYm9vbGVhbjtcbiAgICAvKiogVW5waW5zIHRoZSBjb2x1bW4gYXQgdGhlIHNwZWNpZmllZCBpbmRleCAoaWYgbm90IGFscmVhZHkgdW5waW5uZWQpLiAqL1xuICAgIHVucGluKGluZGV4PzogbnVtYmVyKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSBldmVudCBhcmd1bWVudHMgd2hlbiBhIGZvcm0gZ3JvdXAgaXMgY3JlYXRlZCBpbiB0aGUgZ3JpZC5cbiAqIC0gZm9ybUdyb3VwOiBUaGUgZm9ybSBncm91cCB0aGF0IGlzIGNyZWF0ZWQuXG4gKiAtIG93bmVyOiBUaGUgZ3JpZCBpbnN0YW5jZSB0aGF0IG93bnMgdGhlIGZvcm0gZ3JvdXAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRGb3JtR3JvdXBDcmVhdGVkRXZlbnRBcmdzIHtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwLFxuICAgIG93bmVyOiBHcmlkVHlwZVxufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIGV2ZW50IGFyZ3VtZW50cyBmb3IgdGhlIGdyaWQgdmFsaWRhdGlvbiBzdGF0dXMgY2hhbmdlIGV2ZW50LlxuICogLSBzdGF0dXM6IFRoZSB2YWxpZGF0aW9uIHN0YXR1cyAoJ1ZBTElEJyBvciAnSU5WQUxJRCcpLlxuICogLSBvd25lcjogVGhlIGdyaWQgaW5zdGFuY2UgdGhhdCBvd25zIHRoZSB2YWxpZGF0aW9uIHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkVmFsaWRhdGlvblN0YXR1c0V2ZW50QXJncyB7XG4gICAgc3RhdHVzOiBWYWxpZGF0aW9uU3RhdHVzLFxuICAgIG93bmVyOiBHcmlkVHlwZVxufVxuXG4vKipcbiAqIFR5cGUgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXR1cy5cbiAqIC0gJ1ZBTElEJzogVGhlIHZhbGlkYXRpb24gc3RhdHVzIGlzIHZhbGlkLlxuICogLSAnSU5WQUxJRCc6IFRoZSB2YWxpZGF0aW9uIHN0YXR1cyBpcyBpbnZhbGlkLlxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uU3RhdHVzID0gJ1ZBTElEJyB8ICdJTlZBTElEJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgZ3JpZC5cbiAqIC0gc3RhdHVzOiBUaGUgdmFsaWRhdGlvbiBzdGF0dXMgKCdWQUxJRCcgb3IgJ0lOVkFMSUQnKS5cbiAqIC0gZXJyb3JzOiBUaGUgdmFsaWRhdGlvbiBlcnJvcnMgaWYgYW55LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkVmFsaWRhdGlvblN0YXRlIHtcbiAgICByZWFkb25seSBzdGF0dXM6IFZhbGlkYXRpb25TdGF0dXM7XG4gICAgcmVhZG9ubHkgZXJyb3JzPzogVmFsaWRhdGlvbkVycm9ycztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgcmVjb3JkIGluIHRoZSBncmlkLlxuICogLSBga2V5YDogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByZWNvcmQuXG4gKiAtIGBmaWVsZHNgOiBBbiBhcnJheSBvZiB0aGUgdmFsaWRhdGlvbiBzdGF0ZSBvZiBpbmRpdmlkdWFsIGZpZWxkcyBpbiB0aGUgcmVjb3JkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSZWNvcmRWYWxpZGF0aW9uU3RhdGUgZXh0ZW5kcyBJR3JpZFZhbGlkYXRpb25TdGF0ZSB7XG4gICAga2V5OiBhbnk7XG4gICAgZmllbGRzOiBJRmllbGRWYWxpZGF0aW9uU3RhdGVbXTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgZmllbGQgaW4gdGhlIGdyaWQuXG4gKiAtYGZpZWxkYDogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIChwcm9wZXJ0eSkgYmVpbmcgdmFsaWRhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZFZhbGlkYXRpb25TdGF0ZSBleHRlbmRzIElHcmlkVmFsaWRhdGlvblN0YXRlIHtcbiAgICBmaWVsZDogc3RyaW5nXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgc2VydmljZSBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIGdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFNlcnZpY2VUeXBlIHtcblxuICAgIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBwYXJlbnQgYEdyaWRUeXBlYCB0aGF0IGNvbnRhaW5zIHRoZSBzZXJ2aWNlLiAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSB0eXBlIG9mIHRoZSBDUlVEIHNlcnZpY2UgKENyZWF0ZSwgUmVhZCwgVXBkYXRlLCBEZWxldGUpIG9wZXJhdGlvbnMgb24gdGhlIGdyaWQgZGF0YS4gKi9cbiAgICBjcnVkU2VydmljZTogYW55O1xuICAgIC8qKiBBIHNlcnZpY2UgcmVzcG9uc2libGUgZm9yIGhhbmRsaW5nIGNvbHVtbiBtb3Zpbmcgd2l0aGluIHRoZSBncmlkLiBJdCBjb250YWlucyBhIHJlZmVyZW5jZSB0byB0aGUgY29sdW1uLCBpdHMgaWNvbiwgYW5kIGluZGljYXRvciBmb3IgY2FuY2VsYXRpb24uICovXG4gICAgY21zOiBJZ3hDb2x1bW5Nb3ZpbmdTZXJ2aWNlO1xuXG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIGRhdGEgdXNlZCBpbiB0aGUgZ3JpZC4gVGhlIHJldHVybmVkIHZhbHVlcyBjb3VsZCBiZSBvZiBhbnkgdHlwZSAqL1xuICAgIGdldF9kYXRhKCk6IGFueVtdO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgYWxsIHRoZSBkYXRhIGF2YWlsYWJsZSBpbiB0aGUgZ3JpZCwgaW5jbHVkaW5nIGFueSB0cmFuc2FjdGlvbmFsIGRhdGEuXG4gICAgICogYGluY2x1ZGVUcmFuc2FjdGlvbnNgOiBPcHRpb25hbCBwYXJhbWV0ZXIuIFNwZWNpZmllcyB3aGV0aGVyIHRvIGluY2x1ZGUgdHJhbnNhY3Rpb25hbCBkYXRhIGlmIHByZXNlbnQuXG4gICAgICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgZGF0YSBhdmFpbGFibGUgaW4gdGhlIGdyaWQuXG4gICAgICovXG4gICAgZ2V0X2FsbF9kYXRhKGluY2x1ZGVUcmFuc2FjdGlvbnM/OiBib29sZWFuKTogYW55W107XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgYSBjb2x1bW4gb2JqZWN0IGJ5IGl0cyBuYW1lLCB0YWtlbiBhcyBhIHBhcmFtZXRlci4gKi9cbiAgICBnZXRfY29sdW1uX2J5X25hbWUobmFtZTogc3RyaW5nKTogQ29sdW1uVHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByb3cgYnkgaXRzIHVuaXF1ZSBpZGVudGlmaWVyIChvZiBhbnkgdHlwZSwgdGFrZW4gYXMgYSBwYXJhbWV0ZXIpLiAqL1xuICAgIGdldFJvd0RhdGEoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByZWNvcmQgYnkgaXRzIHVuaXF1ZSBpZGVudGlmaWVyIChvZiBhbnkgdHlwZSwgdGFrZW4gYXMgYSBwYXJhbWV0ZXIpLiAqL1xuICAgIGdldF9yZWNfYnlfaWQoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgYSBzcGVjaWZpYyByb3cgYnkgaXRzIGRhdGEuICovXG4gICAgZ2V0X3Jvd19pZChyb3dEYXRhOiBhbnkpOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIHJvdyBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgaW5kZXggKHRha2VuIGFzIGEgcGFyYW1ldGVyKSBpbiB0aGUgZ3JpZCAqL1xuICAgIGdldF9yb3dfYnlfaW5kZXgocm93U2VsZWN0b3I6IGFueSk6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIHJvdyBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMga2V5ICh0YWtlbiBhcyBhIHBhcmFtZXRlcikgaW4gdGhlIGdyaWQgKi9cbiAgICBnZXRfcm93X2J5X2tleShyb3dTZWxlY3RvcjogYW55KTogUm93VHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgaW5kZXggb2YgYSByZWNvcmQgaW4gdGhlIGdyaWQncyBkYXRhIGNvbGxlY3Rpb24gdXNpbmcgaXRzIHVuaXF1ZSBpZGVudGlmaWVyLiAqL1xuICAgIGdldF9yZWNfaW5kZXhfYnlfaWQocGs6IHN0cmluZyB8IG51bWJlciwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgaW5kZXggb2YgYSByZWNvcmQgaW4gdGhlIGdyaWQncyBkYXRhIGNvbGxlY3Rpb24gdXNpbmcgaXRzIGluZGV4LiAqL1xuICAgIGdldF9yZWNfaWRfYnlfaW5kZXgoaW5kZXg6IG51bWJlciwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IGFueTtcbiAgICBnZXRfcm93X2luZGV4X2luX2RhdGEocm93SUQ6IGFueSwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gaW4gdGhlIGdyaWQuICovXG4gICAgZ2V0X2NlbGxfYnlfa2V5KHJvd1NlbGVjdG9yOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBDZWxsVHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gdXNpbmcgdGhlaXIgaW5kZXhlcy4gKi9cbiAgICBnZXRfY2VsbF9ieV9pbmRleChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JRDogbnVtYmVyIHwgc3RyaW5nKTogQ2VsbFR5cGU7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gdXNpbmcgdGhlaXIgaW5kZXhlcy5cbiAgICAgKiBJdCBjb3VudHMgb25seSB0aGUgaW5kZXhlcyBvZiB0aGUgdmlzaWJsZSBjb2x1bW5zIGFuZCByb3dzXG4gICAgICovXG4gICAgZ2V0X2NlbGxfYnlfdmlzaWJsZV9pbmRleChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IHNldHMgdGhlIGV4cGFuc2lvbiBzdGF0ZSBvZiBhIGdyb3VwIHJvdyAodXNlZCBmb3IgdHJlZSBncmlkcylcbiAgICAgKiBJdCB0YWtlcyB0aGUgdmFsdWUgZm9yIHRoZSBleHBhbnNpb24gYXMgYSBwYXJhbWV0ZXIgKGV4cGFuZGVkIG9yIGNvbGxhcHNlZClcbiAgICAgKi9cbiAgICBzZXRfZ3JvdXByb3dfZXhwYW5zaW9uX3N0YXRlPyhncm91cFJvdzogSUdyb3VwQnlSZWNvcmQsIHZhbHVlOiBib29sZWFuKTogdm9pZDtcbiAgICByb3dfZGVsZXRlZF90cmFuc2FjdGlvbihpZDogYW55KTogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBhZGRpbmcgYSBuZXcgcm93IHRvIHRoZSBncmlkLlxuICAgICAqIEl0IHRha2VzIHRoZSByb3cncyBkYXRhIGFuZCB0aGUgaWRlbnRpZmllciBvZiB0aGUgcGFyZW50IHJvdyBpZiBhcHBsaWNhYmxlICh1c2VkIGZvciB0cmVlIGdyaWRzKVxuICAgICAqL1xuICAgIGFkZFJvd1RvRGF0YShyb3dEYXRhOiBhbnksIHBhcmVudElEPzogYW55KTogdm9pZDtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgZGVsZXRpbmcgYSByb3csIHNwZWNpZmllZCBieSBpdCdzIGlkZW50aWZpZXIgKHRha2VuIGFzIGEgcGFyYW1ldGVyKSAqL1xuICAgIGRlbGV0ZVJvd0J5SWQoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgcm93J3MgY3VycmVudCBzdGF0ZSBvZiBleHBhbnNpb24gKHVzZWQgZm9yIHRyZWUgZ3JpZHMpKi9cbiAgICBnZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShpZDogYW55KTogYm9vbGVhbjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3Igc2V0dGluZyBhIG5ldyBleHBhbnNpb24gc3RhdGUuIEl0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgYW4gZXZlbnQgKi9cbiAgICBzZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShpZDogYW55LCBleHBhbmRlZDogYm9vbGVhbiwgZXZlbnQ/OiBFdmVudCk6IHZvaWQ7XG4gICAgZ2V0X3N1bW1hcnlfZGF0YSgpOiBhbnlbXTtcblxuICAgIHByZXBhcmVfc29ydGluZ19leHByZXNzaW9uKHN0YXRlQ29sbGVjdGlvbnM6IEFycmF5PEFycmF5PGFueT4+LCBleHByZXNzaW9uOiBJU29ydGluZ0V4cHJlc3Npb24pOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHNvcnRpbmcgYnkgb25seSBvbmUgZXhwcmVzc2lvblxuICAgICAqIFRoZSBleHByZXNzaW9uIGNvbnRhaW5zIGZpZWxkTmFtZSwgc29ydGluZyBkaXJlY3RvcnksIHdoZXRoZXIgY2FzZSBzaG91bGQgYmUgaWdub3JlZCBhbmQgb3B0aW9uYWwgc29ydGluZyBzdHJhdGVneVxuICAgICAqL1xuICAgIHNvcnQoZXhwcmVzc2lvbjogSVNvcnRpbmdFeHByZXNzaW9uKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBzb3J0aW5nIGJ5IG11bHRpcGxlIGV4cHJlc3Npb25zXG4gICAgICogVGhlIGV4cHJlc3Npb25zIGNvbnRhaW5zIGZpZWxkTmFtZSwgc29ydGluZyBkaXJlY3RvcnksIHdoZXRoZXIgY2FzZSBzaG91bGQgYmUgaWdub3JlZCBhbmQgb3B0aW9uYWwgc29ydGluZyBzdHJhdGVneVxuICAgICAqL1xuICAgIHNvcnRfbXVsdGlwbGUoZXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdKTogdm9pZDtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmVzZXR0aW5nIHRoZSBzb3J0aW5nICovXG4gICAgY2xlYXJfc29ydChmaWVsZE5hbWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICAvKiogUmVwcmVzZW50cyBhbiBldmVudCwgdHJpZ2dlcmVkIHdoZW4gdGhlIHBpbiBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgZ2V0X3Bpbl9yb3dfZXZlbnRfYXJncyhyb3dJRDogYW55LCBpbmRleD86IG51bWJlciwgcm93PzogUm93VHlwZSwgcGlubmVkPzogYm9vbGVhbik6IElQaW5Sb3dFdmVudEFyZ3M7XG5cbiAgICBmaWx0ZXJEYXRhQnlFeHByZXNzaW9ucyhleHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUpOiBhbnlbXTtcbiAgICBzb3J0RGF0YUJ5RXhwcmVzc2lvbnMoZGF0YTogYW55W10sIGV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSk6IGFueVtdO1xuXG4gICAgdXBkYXRlX2NlbGwoY2VsbDogSWd4Q2VsbCk6IElHcmlkRWRpdEV2ZW50QXJncztcbiAgICB1cGRhdGVfcm93KHJvdzogSWd4RWRpdFJvdywgdmFsdWU6IGFueSwgZXZlbnQ/OiBFdmVudCk6IElHcmlkRWRpdEV2ZW50QXJncztcblxuICAgIGV4cGFuZF9wYXRoX3RvX3JlY29yZD8ocmVjb3JkOiBJVHJlZUdyaWRSZWNvcmQpOiB2b2lkO1xuICAgIGdldF9zZWxlY3RlZF9jaGlsZHJlbj8ocmVjb3JkOiBJVHJlZUdyaWRSZWNvcmQsIHNlbGVjdGVkUm93SURzOiBhbnlbXSk6IHZvaWQ7XG4gICAgZ2V0X2dyb3VwQnlfcmVjb3JkX2lkPyhnUm93OiBJR3JvdXBCeVJlY29yZCk6IHN0cmluZztcbiAgICByZW1vdmVfZ3JvdXBpbmdfZXhwcmVzc2lvbj8oZmllbGROYW1lOiBzdHJpbmcpOiB2b2lkO1xuICAgIGNsZWFyX2dyb3VwYnk/KGZpZWxkOiBzdHJpbmcgfCBhbnkpOiB2b2lkO1xuICAgIGdldFBhcmVudFJvd0lkPyhjaGlsZDogR3JpZFR5cGUpOiBhbnk7XG4gICAgZ2V0Q2hpbGRHcmlkcz8oaW5EZXB0aD86IGJvb2xlYW4pOiBHcmlkVHlwZVtdO1xuICAgIGdldENoaWxkR3JpZD8ocGF0aDogSVBhdGhTZWdtZW50W10pOiBHcmlkVHlwZTtcblxuICAgIHVuc2V0Q2hpbGRSb3dJc2xhbmQ/KHJvd0lzbGFuZDogR3JpZFR5cGUpOiB2b2lkO1xuICAgIHJlZ2lzdGVyQ2hpbGRSb3dJc2xhbmQ/KHJvd0lzbGFuZDogR3JpZFR5cGUpOiB2b2lkO1xufVxuXG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIGdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQgb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkXG4gKiBFeHRlbmRzIGBJR3JpZERhdGFCaW5kYWJsZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmlkVHlwZSBleHRlbmRzIElHcmlkRGF0YUJpbmRhYmxlIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbG9jYWxlIG9mIHRoZSBncmlkOiBgVVNEYCwgYEVVUmAsIGBHQlBgLCBgQ05ZYCwgYEpQWWAsIGV0Yy4gKi9cbiAgICBsb2NhbGU6IHN0cmluZztcbiAgICByZXNvdXJjZVN0cmluZ3M6IElHcmlkUmVzb3VyY2VTdHJpbmdzO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgaXRzZWxmICovXG4gICAgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHJvd3MgaW4gdGhlIGdyaWQgYXJlIGVkaXRhYmxlLiBJZiB0ZSB2YWx1ZSBpcyB0cnVlLCB0aGUgcm93cyBjYW4gYmUgZWRpdGVkICovXG4gICAgcm93RWRpdGFibGU6IGJvb2xlYW47XG4gICAgcm9vdFN1bW1hcmllc0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGZpbHRlcmluZyBpbiB0aGUgZ3JpZCBpcyBlbmFibGVkLiBJZiB0ZSB2YWx1ZSBpcyB0cnVlLCB0aGUgZ3JpZCBjYW4gYmUgZmlsdGVyZWQgKi9cbiAgICBhbGxvd0ZpbHRlcmluZzogYm9vbGVhbjtcbiAgICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHJvd3MgaW4gdGhlIGdyaWQgY2FuIGJlIGRyYWdnZWQuIElmIHRlIHZhbHVlIGlzIHRydWUsIHRoZSByb3dzIGNhbiBiZSBkcmFnZ2VkICovXG4gICAgcm93RHJhZ2dhYmxlOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSB1bmlxdWUgcHJpbWFyeSBrZXkgdXNlZCBmb3IgaWRlbnRpZnlpbmcgcm93cyBpbiB0aGUgZ3JpZCAqL1xuICAgIHByaW1hcnlLZXk6IHN0cmluZztcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGdyaWQuICovXG4gICAgaWQ6IHN0cmluZztcbiAgICAvKiogVGhlIGhlaWdodCBvZiB0aGUgdmlzaWJsZSByb3dzIGluIHRoZSBncmlkLiAqL1xuICAgIHJlbmRlcmVkUm93SGVpZ2h0OiBudW1iZXI7XG4gICAgcGlwZVRyaWdnZXI6IG51bWJlcjtcbiAgICBzdW1tYXJ5UGlwZVRyaWdnZXI6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBncm91cGFibGVQaXBlVHJpZ2dlcjogbnVtYmVyO1xuICAgIGZpbHRlcmluZ1BpcGVUcmlnZ2VyOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGFzQ29sdW1uTGF5b3V0czogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQgaXMgY3VycmVudGx5IGluIGEgbW92aW5nIHN0YXRlLiAqL1xuICAgIG1vdmluZzogYm9vbGVhbjtcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZ3JpZFNpemU6IFNpemU7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaXNDb2x1bW5XaWR0aFN1bTogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBtaW5Db2x1bW5XaWR0aDogbnVtYmVyO1xuICAgIC8qKiBTdHJhdGVneSwgdXNlZCBmb3IgY2xvbmluZyB0aGUgcHJvdmlkZWQgZGF0YS4gVGhlIHR5cGUgaGFzIG9uZSBtZXRob2QsIHRoYXQgdGFrZXMgYW55IHR5cGUgb2YgZGF0YSAqL1xuICAgIGRhdGFDbG9uZVN0cmF0ZWd5OiBJRGF0YUNsb25lU3RyYXRlZ3k7XG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgZ3JpZCBzZXJ2aWNlIHR5cGUgcHJvdmlkaW5nIEFQSSBtZXRob2RzIGZvciB0aGUgZ3JpZCAqL1xuICAgIHJlYWRvbmx5IGdyaWRBUEk6IEdyaWRTZXJ2aWNlVHlwZTtcblxuICAgIC8qKiBUaGUgZmlsdGVyIG1vZGUgZm9yIHRoZSBncmlkLiBJdCBjYW4gYmUgcXVpY2sgZmlsdGVyIG9mIGV4Y2VsLXN0eWxlIGZpbHRlciAqL1xuICAgIGZpbHRlck1vZGU6IEZpbHRlck1vZGU7XG5cbiAgICAvLyBUWVBFXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdGhlYWRSb3c6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBncm91cEFyZWE6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBmaWx0ZXJDZWxsTGlzdDogYW55W107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZmlsdGVyaW5nUm93OiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgYWN0aW9uU3RyaXA6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICByZXNpemVMaW5lOiBhbnk7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICB0Zm9vdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnaW5hdG9yOiBJZ3hQYWdpbmF0b3JDb21wb25lbnQ7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnaW5hdG9yTGlzdD86IFF1ZXJ5TGlzdDxJZ3hQYWdpbmF0b3JDb21wb25lbnQ+O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGNydWRTZXJ2aWNlOiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgc3VtbWFyeVNlcnZpY2U6IGFueTtcblxuXG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgc3RhdGUgb2YgdmlydHVhbGl6YXRpb24gZm9yIHRoZSBncmlkLiBJdCBoYXMgYW4gb3duZXIsIHN0YXJ0IGluZGV4IGFuZCBjaHVuayBzaXplICovXG4gICAgdmlydHVhbGl6YXRpb25TdGF0ZTogSUZvck9mU3RhdGU7XG4gICAgLy8gVFlQRVxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIC8qKiBUaGUgc2VydmljZSBoYW5kbGluZyBzZWxlY3Rpb24gaW4gdGhlIGdyaWQuIFNlbGVjdGluZywgZGVzZWxlY3RpbmcgZWxlbWVudHMgKi9cbiAgICBzZWxlY3Rpb25TZXJ2aWNlOiBhbnk7XG4gICAgbmF2aWdhdGlvbjogYW55O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlcmluZ1NlcnZpY2U6IGFueTtcbiAgICBvdXRsZXQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQgaGFzIGNvbHVtbnMgdGhhdCBjYW4gYmUgbW92ZWQgKi9cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNNb3ZhYmxlQ29sdW1uczogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQncyByb3dzIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIGlzUm93U2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlbGVjdG9ycyBvZiB0aGUgcm93cyBhcmUgdmlzaWJsZSAqL1xuICAgIHNob3dSb3dTZWxlY3RvcnM6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkJ3MgZWxlbWVudCBpcyBwaW5uZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBncmlkICovXG4gICAgaXNQaW5uaW5nVG9TdGFydDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gb2YgdGhlIGdyaWQgaXMgaW4gZHJhZyBtb2RlICovXG4gICAgY29sdW1uSW5EcmFnOiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgLyoqIFRoZSB3aWR0aCBvZiBwaW5uZWQgZWxlbWVudCAqL1xuICAgIHBpbm5lZFdpZHRoOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgLyoqIFRoZSB3aWR0aCBvZiB1bnBpbm5lZCBlbGVtZW50ICovXG4gICAgdW5waW5uZWRXaWR0aDogbnVtYmVyO1xuICAgIC8qKiBUaGUgQ1NTIG1hcmdpbiBvZiB0aGUgc3VtbWFyaWVzICovXG4gICAgc3VtbWFyaWVzTWFyZ2luOiBudW1iZXI7XG4gICAgaGVhZFNlbGVjdG9yQmFzZUFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkIGhhcyBjb2x1bW5zIHRoYXQgYXJlIHNob3duICovXG4gICAgaGFzVmlzaWJsZUNvbHVtbnM6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZ3JpZCBoYXMgZXhwYW5kYWJsZSBjaGlsZHJlbiAoaGllcmFyY2hpY2FsIGFuZCB0cmVlIGdyaWQpXG4gICAgICovXG4gICAgaGFzRXhwYW5kYWJsZUNoaWxkcmVuPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIGNvbGxhcHNlZCBncmlkIGVsZW1lbnRzIHNob3VsZCBiZSBleHBhbmRlZFxuICAgICAqL1xuICAgIHNob3dFeHBhbmRBbGw/OiBib29sZWFuO1xuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGNvdW50IG9mIG9ubHkgdGhlIGhpZGRlbiAobm90IHZpc2libGUpIGNvbHVtbnMgKi9cbiAgICBoaWRkZW5Db2x1bW5zQ291bnQ6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY291bnQgb2Ygb25seSB0aGUgcGlubmVkIGNvbHVtbnMgKi9cbiAgICBwaW5uZWRDb2x1bW5zQ291bnQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBncmlkIGljb25zLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBpY29uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBncm91cC1ieSByb3dzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBncm91cFJvd1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8SWd4R3JvdXBCeVJvd1RlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSBncm91cCByb3cgc2VsZWN0b3IuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGdyb3VwQnlSb3dTZWxlY3RvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8SWd4R3JvdXBCeVJvd1NlbGVjdG9yVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3Igcm93IGxvYWRpbmcgaW5kaWNhdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgcm93TG9hZGluZ0luZGljYXRvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSBoZWFkZXIgc2VsZWN0b3IuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRTZWxlY3RvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hIZWFkU2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3Igcm93IHNlbGVjdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgcm93U2VsZWN0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4Um93U2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3Igc29ydCBoZWFkZXIgaWNvbnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHNvcnRIZWFkZXJJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgYXNjZW5kaW5nIHNvcnQgaGVhZGVyIGljb25zLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBzb3J0QXNjZW5kaW5nSGVhZGVySWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGRlc2NlbmRpbmcgc29ydCBoZWFkZXIgaWNvbnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHNvcnREZXNjZW5kaW5nSGVhZGVySWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGhlYWRlciBjb2xsYXBzZWQgaW5kaWNhdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgaGVhZGVyQ29sbGFwc2VkSW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgaGVhZGVyIGV4cGFuZGVkIGluZGljYXRvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRlckV4cGFuZGVkSW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKiBUaGUgdGVtcGxhdGUgZm9yIGRyYWcgaW5kaWNhdG9yIGljb25zLiBDb3VsZCBiZSBvZiBhbnkgdHlwZSAqL1xuICAgIGRyYWdJbmRpY2F0b3JJY29uVGVtcGxhdGU6IGFueTtcbiAgICAvKiogVGhlIGJhc2UgZHJhZyBpbmRpY2F0b3IgaWNvbi4gQ291bGQgYmUgb2YgYW55IHR5cGUgKi9cbiAgICBkcmFnSW5kaWNhdG9ySWNvbkJhc2U6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkIGZvciB0aGUgZ3JpZC4gKi9cbiAgICBkaXNhYmxlVHJhbnNpdGlvbnM6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW5jeSBzeW1ib2wgaXMgcG9zaXRpb25lZCB0byB0aGUgbGVmdCBvZiB2YWx1ZXMuICovXG4gICAgY3VycmVuY3lQb3NpdGlvbkxlZnQ6IGJvb2xlYW47XG5cbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gaXMgc2V0IGJ5IHRoZSB1c2VyLCBvciBpcyBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkuICovXG4gICAgY29sdW1uV2lkdGhTZXRCeVVzZXI6IGJvb2xlYW47XG4gICAgaGVhZGVyRmVhdHVyZXNXaWR0aDogbnVtYmVyO1xuICAgIC8qKiBDU1Mgc3R5bGluZyBjYWxjdWxhdGVkIGZvciBhbiBlbGVtZW50OiBjYWxjSGVpZ2h0LCBjYWxjV2lkdGgsIG91dGVyV2lkdGggKi9cbiAgICBjYWxjSGVpZ2h0OiBudW1iZXI7XG4gICAgY2FsY1dpZHRoOiBudW1iZXI7XG4gICAgb3V0ZXJXaWR0aDogbnVtYmVyO1xuICAgIC8qKiBUaGUgaGVpZ2h0IG9mIGVhY2ggcm93IGluIHRoZSBncmlkLiBTZXR0aW5nIGEgY29uc3RhbnQgaGVpZ2h0IGNhbiBzb2x2ZSBwcm9ibGVtcyB3aXRoIG5vdCBzaG93aW5nIGFsbCBlbGVtZW50cyB3aGVuIHNjcm9sbGluZyAqL1xuICAgIHJvd0hlaWdodDogbnVtYmVyO1xuICAgIG11bHRpUm93TGF5b3V0Um93U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBNaW5pbWFsIHdpZHRoIGZvciBoZWFkZXJzICovXG4gICAgZGVmYXVsdEhlYWRlckdyb3VwTWluV2lkdGg6IGFueTtcbiAgICBtYXhMZXZlbEhlYWRlckRlcHRoOiBudW1iZXI7XG4gICAgZGVmYXVsdFJvd0hlaWdodDogbnVtYmVyO1xuICAgIC8qKiBUaGUgZGVmYXVsdCBmb250IHNpemUsIGNhbGN1bGF0ZWQgZm9yIGVhY2ggZWxlbWVudCAqL1xuICAgIF9iYXNlRm9udFNpemU/OiBudW1iZXI7XG4gICAgc2Nyb2xsU2l6ZTogbnVtYmVyO1xuXG4gICAgLyoqIFRoZSB0cmlnZ2VyIGZvciBncmlkIHZhbGlkYXRpb24uIEl0J3MgdmFsdWUgY2FuIGVpdGhlciBiZSBgY2hhbmdlYCBvciBgYmx1cmAgKi9cbiAgICB2YWxpZGF0aW9uVHJpZ2dlcjogR3JpZFZhbGlkYXRpb25UcmlnZ2VyO1xuICAgIC8qKlxuICAgICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciBjb2x1bW5zIGFuZCByb3dzIHBpbm5pbmcgaW4gdGhlIGdyaWRcbiAgICAgKiBJdCdzIG9mIHR5cGUgSVBpbm5pbmdDb25maWcsIHdoaWNoIGNhbiBoYXZlIHZhbHVlIGZvciBjb2x1bW5zIChzdGFydCwgZW5kKSBhbmQgZm9yIHJvd3MgKHRvcCwgYm90dG9tKVxuICAgICovXG4gICAgcGlubmluZzogSVBpbm5pbmdDb25maWc7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBleHBhbnNpb25TdGF0ZXM6IE1hcDxhbnksIGJvb2xlYW4+O1xuICAgIHBhcmVudFZpcnREaXI6IGFueTtcbiAgICB0Ym9keTogYW55O1xuICAgIHZlcnRpY2FsU2Nyb2xsQ29udGFpbmVyOiBhbnk7XG4gICAgZGF0YVJvd0xpc3Q6IGFueTtcbiAgICByb3dMaXN0OiBhbnk7XG4gICAgLyoqIEFuIHVubW9kaWZpYWJsZSBsaXN0LCBjb250YWluaW5nIGFsbCB0aGUgY29sdW1ucyBvZiB0aGUgZ3JpZC4gKi9cbiAgICBjb2x1bW5MaXN0OiBRdWVyeUxpc3Q8Q29sdW1uVHlwZT47XG4gICAgY29sdW1uczogQ29sdW1uVHlwZVtdO1xuICAgIC8qKiBBbiBhcnJheSBvZiBjb2x1bW5zLCBidXQgaXQgY291bnRzIG9ubHkgdGhlIG9uZXMgdmlzaWJsZSAobm90IGhpZGRlbikgaW4gdGhlIHZpZXcgKi9cbiAgICB2aXNpYmxlQ29sdW1uczogQ29sdW1uVHlwZVtdO1xuICAgIC8qKiBBbiBhcnJheSBvZiBjb2x1bW5zLCBidXQgaXQgY291bnRzIG9ubHkgdGhlIG9uZXMgdGhhdCBhcmUgbm90IHBpbm5lZCAqL1xuICAgIHVucGlubmVkQ29sdW1uczogQ29sdW1uVHlwZVtdO1xuICAgIC8qKiBBbiBhcnJheSBvZiBjb2x1bW5zLCBidXQgaXQgY291bnRzIG9ubHkgdGhlIG9uZXMgdGhhdCBhcmUgcGlubmVkICovXG4gICAgcGlubmVkQ29sdW1uczogQ29sdW1uVHlwZVtdO1xuICAgIC8qKiByZXByZXNlbnRzIGFuIGFycmF5IG9mIHRoZSBoZWFkZXJzIG9mIHRoZSBjb2x1bW5zICovXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGVhZGVyQ2VsbExpc3Q6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckdyb3VwczogYW55W107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGVhZGVyR3JvdXBzTGlzdDogYW55W107XG4gICAgc3VtbWFyaWVzUm93TGlzdDogYW55O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckNvbnRhaW5lcjogYW55O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBjZWxscyBhcmUgc2VsZWN0YWJsZSBpbiB0aGUgZ3JpZCAqL1xuICAgIGlzQ2VsbFNlbGVjdGFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGl0IGlzIGFsbG93ZWQgdG8gc2VsZWN0IG1vcmUgdGhhbiBvbmUgcm93IGluIHRoZSBncmlkICovXG4gICAgaXNNdWx0aVJvd1NlbGVjdGlvbkVuYWJsZWQ6IGJvb2xlYW47XG4gICAgaGFzUGlubmVkUmVjb3JkczogYm9vbGVhbjtcbiAgICBwaW5uZWRSZWNvcmRzQ291bnQ6IG51bWJlcjtcbiAgICBwaW5uZWRSZWNvcmRzOiBhbnlbXTtcbiAgICB1bnBpbm5lZFJlY29yZHM6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBpbm5lZERhdGFWaWV3OiBhbnlbXTtcbiAgICBwaW5uZWRSb3dzOiBhbnlbXTtcbiAgICBkYXRhVmlldzogYW55W107XG4gICAgX2ZpbHRlcmVkVW5waW5uZWREYXRhOiBhbnlbXTtcbiAgICBfZmlsdGVyZWRTb3J0ZWRVbnBpbm5lZERhdGE6IGFueVtdO1xuICAgIGZpbHRlcmVkU29ydGVkRGF0YTogYW55W107XG4gICAgZGF0YVdpdGhBZGRlZEluVHJhbnNhY3Rpb25Sb3dzOiBhbnlbXTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgdHJhbnNhY3Rpb24gc2VydmljZSBmb3IgdGhlIGdyaWQuICovXG4gICAgcmVhZG9ubHkgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvblNlcnZpY2U8VHJhbnNhY3Rpb24sIFN0YXRlPjtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgdmFsaWRhdGlvbiBzZXJ2aWNlIGZvciB0aGUgZ3JpZC4gVGhlIHR5cGUgY29udGFpbnMgcHJvcGVydGllcyBhbmQgbWV0aG9kcyAobG9naWMpIGZvciB2YWxpZGF0aW5nIHJlY29yZHMgKi9cbiAgICByZWFkb25seSB2YWxpZGF0aW9uOiBJZ3hHcmlkVmFsaWRhdGlvblNlcnZpY2U7XG4gICAgZGVmYXVsdFN1bW1hcnlIZWlnaHQ6IG51bWJlcjtcbiAgICBzdW1tYXJ5Um93SGVpZ2h0OiBudW1iZXI7XG4gICAgcm93RWRpdGluZ092ZXJsYXk6IElneFRvZ2dsZURpcmVjdGl2ZTtcbiAgICB0b3RhbFJvd3NDb3VudEFmdGVyRmlsdGVyOiBudW1iZXI7XG4gICAgX3RvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHBhZ2luZyBvZiB0aGUgZ3JpZC4gSXQgY2FuIGJlIGVpdGhlciAnTG9jYWwnIG9yICdSZW1vdGUnXG4gICAgICogLSBMb2NhbDogRGVmYXVsdCB2YWx1ZTsgVGhlIGdyaWQgd2lsbCBwYWdpbmF0ZSB0aGUgZGF0YSBzb3VyY2UgYmFzZWQgb24gdGhlIHBhZ2VcbiAgICAgKi9cbiAgICBwYWdpbmdNb2RlOiBHcmlkUGFnaW5nTW9kZTtcbiAgICAvKiogVGhlIHBhZ2luZyBzdGF0ZSBmb3IgdGhlIGdyaWQ7IFVzZWQgdG8gY29uZmlndXJlIGhvdyBwYWdpbmcgc2hvdWxkIGJlIGFwcGxpZWQgLSB3aGljaCBpcyB0aGUgY3VycmVudCBwYWdlLCByZWNvcmRzIHBlciBwYWdlICovXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwYWdpbmdTdGF0ZTogYW55O1xuXG4gICAgcm93RWRpdFRhYnM6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbGFzdCBzZWFyY2ggaW4gdGhlIGdyaWRcbiAgICAgKiBJdCBjb250YWlucyB0aGUgc2VhcmNoIHRleHQgKHRoZSB1c2VyIGhhcyBlbnRlcmVkKSwgdGhlIG1hdGNoIGFuZCBzb21lIHNldHRpbmdzIGZvciB0aGUgc2VhcmNoXG4gICAgICovXG4gICAgcmVhZG9ubHkgbGFzdFNlYXJjaEluZm86IElTZWFyY2hJbmZvO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwZXJQYWdlOiBudW1iZXI7XG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgcm93IGN1cnJlbnRseSBiZWluZyBkcmFnZ2VkIGluIHRoZSBncmlkLiAqL1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGRyYWdSb3dJRDogYW55O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIHJvdyBpcyBjdXJyZW50bHkgYmVpbmcgZHJhZ2dlZCAqL1xuICAgIHJvd0RyYWdnaW5nOiBib29sZWFuO1xuXG4gICAgZmlyc3RFZGl0YWJsZUNvbHVtbkluZGV4OiBudW1iZXI7XG4gICAgbGFzdEVkaXRhYmxlQ29sdW1uSW5kZXg6IG51bWJlcjtcbiAgICBpc1Jvd1Bpbm5pbmdUb1RvcDogYm9vbGVhbjtcbiAgICBoYXNEZXRhaWxzOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhhc1N1bW1hcml6ZWRDb2x1bW5zOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhhc0NvbHVtbkdyb3VwczogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNFZGl0YWJsZUNvbHVtbnM6IGJvb2xlYW47XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKiogUHJvcGVydHksIHRoYXQgcHJvdmlkZXMgYSBjYWxsYmFjayBmb3IgbG9hZGluZyB1bmlxdWUgY29sdW1uIHZhbHVlcyBvbiBkZW1hbmQuXG4gICAgICogSWYgdGhpcyBwcm9wZXJ0eSBpcyBwcm92aWRlZCwgdGhlIHVuaXF1ZSB2YWx1ZXMgaXQgZ2VuZXJhdGVzIHdpbGwgYmUgdXNlZCBieSB0aGUgRXhjZWwgU3R5bGUgRmlsdGVyaW5nICAqL1xuICAgIHVuaXF1ZUNvbHVtblZhbHVlc1N0cmF0ZWd5OiAoY29sdW1uOiBDb2x1bW5UeXBlLCB0cmVlOiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsIGRvbmU6ICh2YWx1ZXM6IGFueVtdKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIFByb3BlcnR5LCB0aGF0IGdldHMgdGhlIGhlYWRlciBjZWxsIGlubmVyIHdpZHRoIGZvciBhdXRvLXNpemluZy4gKi9cbiAgICBnZXRIZWFkZXJDZWxsV2lkdGg6IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gSVNpemVJbmZvO1xuXG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyBjaGFuZ2UgZGV0ZWN0aW9uIGZ1bmN0aW9uYWxpdHkuXG4gICAgICogQSBjaGFuZ2UtZGV0ZWN0aW9uIHRyZWUgY29sbGVjdHMgYWxsIHZpZXdzIHRoYXQgYXJlIHRvIGJlIGNoZWNrZWQgZm9yIGNoYW5nZXMuXG4gICAgICogVGhlIHByb3BlcnR5IGNhbm5vdCBiZSBjaGFuZ2VkIChyZWFkb25seSkgKi9cbiAgICByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGRvY3VtZW50OiBEb2N1bWVudDtcbiAgICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBleHBhbmRlZCByb3cgaW5kaWNhdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgcm93RXhwYW5kZWRJbmRpY2F0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBjb2xsYXBzZWQgcm93IGluZGljYXRvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHJvd0NvbGxhcHNlZEluZGljYXRvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkUm93VGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGhlYWRlciBpY29uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGV4Y2VsU3R5bGVIZWFkZXJJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQ+O1xuXG4gICAgc2VsZWN0Um93T25DbGljazogYm9vbGVhbjtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgc2VsZWN0aW9uIG1vZGUgZm9yIGNlbGxzOiAnbm9uZScsJ3NpbmdsZScsICdtdWx0aXBsZScsICdtdWx0aXBsZUNhc2NhZGUnICovXG4gICAgY2VsbFNlbGVjdGlvbjogR3JpZFNlbGVjdGlvbk1vZGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHNlbGVjdGlvbiBtb2RlIGZvciByb3dzOiAnbm9uZScsJ3NpbmdsZScsICdtdWx0aXBsZScsICdtdWx0aXBsZUNhc2NhZGUnICovXG4gICAgcm93U2VsZWN0aW9uOiBHcmlkU2VsZWN0aW9uTW9kZTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgc2VsZWN0aW9uIG1vZGUgZm9yIGNvbHVtbnM6ICdub25lJywnc2luZ2xlJywgJ211bHRpcGxlJywgJ211bHRpcGxlQ2FzY2FkZScgKi9cbiAgICBjb2x1bW5TZWxlY3Rpb246IEdyaWRTZWxlY3Rpb25Nb2RlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjYWxjdWxhdGlvbiBtb2RlIGZvciBzdW1tYXJpZXM6ICdyb290TGV2ZWxPbmx5JywgJ2NoaWxkTGV2ZWxzT25seScsICdyb290QW5kQ2hpbGRMZXZlbHMnICovXG4gICAgc3VtbWFyeUNhbGN1bGF0aW9uTW9kZTogR3JpZFN1bW1hcnlDYWxjdWxhdGlvbk1vZGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHBvc2l0aW9uIG9mIHN1bW1hcmllczogJ3RvcCcsICdib3R0b20nICovXG4gICAgc3VtbWFyeVBvc2l0aW9uOiBHcmlkU3VtbWFyeVBvc2l0aW9uO1xuXG4gICAgLy8gWFhYOiBXb3JrIGFyb3VuZCB0aWxsIHdlIGZpeGVkIHRoZSBpbmplY3Rpb24gdG9rZW5zXG4gICAgbGFzdENoaWxkR3JpZD86IEdyaWRUeXBlO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHRvb2xiYXJPdXRsZXQ/OiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBhZ2luYXRvck91dGxldD86IFZpZXdDb250YWluZXJSZWY7XG4gICAgZmxhdERhdGE/OiBhbnlbXSB8IG51bGw7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgY2hpbGRSb3c/OiBhbnk7XG4gICAgZXhwYW5zaW9uRGVwdGg/OiBudW1iZXI7XG4gICAgY2hpbGREYXRhS2V5PzogYW55O1xuICAgIGZvcmVpZ25LZXk/OiBhbnk7XG4gICAgY2FzY2FkZU9uRGVsZXRlPzogYm9vbGVhbjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIGxvYWRDaGlsZHJlbk9uRGVtYW5kPzogKHBhcmVudElEOiBhbnksIGRvbmU6IChjaGlsZHJlbjogYW55W10pID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgaGFzQ2hpbGRyZW5LZXk/OiBhbnk7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBsb2FkaW5nUm93cz86IFNldDxhbnk+O1xuICAgIC8qIGJsYXpvckFsdGVybmF0ZU5hbWU6IEdyaWRQYXJlbnQgKi9cbiAgICBwYXJlbnQ/OiBHcmlkVHlwZTtcbiAgICBoaWdobGlnaHRlZFJvd0lEPzogYW55O1xuICAgIHVwZGF0ZU9uUmVuZGVyPzogYm9vbGVhbjtcbiAgICBjaGlsZExheW91dEtleXM/OiBhbnlbXTtcbiAgICBjaGlsZExheW91dExpc3Q/OiBRdWVyeUxpc3Q8YW55PjtcbiAgICByb290R3JpZD86IEdyaWRUeXBlO1xuICAgIHByb2Nlc3NlZFJvb3RSZWNvcmRzPzogSVRyZWVHcmlkUmVjb3JkW107XG4gICAgcm9vdFJlY29yZHM/OiBJVHJlZUdyaWRSZWNvcmRbXTtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIHJlY29yZHM/OiBNYXA8YW55LCBJVHJlZUdyaWRSZWNvcmQ+O1xuICAgIHByb2Nlc3NlZEV4cGFuZGVkRmxhdERhdGE/OiBhbnlbXSB8IG51bGw7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBwcm9jZXNzZWRSZWNvcmRzPzogTWFwPGFueSwgSVRyZWVHcmlkUmVjb3JkPjtcbiAgICB0cmVlR3JvdXBBcmVhPzogYW55O1xuXG4gICAgYWN0aXZlTm9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPElBY3RpdmVOb2RlQ2hhbmdlRXZlbnRBcmdzPjtcbiAgICBncmlkS2V5ZG93bjogRXZlbnRFbWl0dGVyPElHcmlkS2V5ZG93bkV2ZW50QXJncz47XG4gICAgY2VsbENsaWNrOiBFdmVudEVtaXR0ZXI8SUdyaWRDZWxsRXZlbnRBcmdzPjtcbiAgICByb3dDbGljazogRXZlbnRFbWl0dGVyPElHcmlkUm93RXZlbnRBcmdzPjtcbiAgICBkb3VibGVDbGljazogRXZlbnRFbWl0dGVyPElHcmlkQ2VsbEV2ZW50QXJncz47XG4gICAgY29udGV4dE1lbnU6IEV2ZW50RW1pdHRlcjxJR3JpZENvbnRleHRNZW51RXZlbnRBcmdzPjtcbiAgICBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPElHcmlkQ2VsbEV2ZW50QXJncz47XG4gICAgcmFuZ2VTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEdyaWRTZWxlY3Rpb25SYW5nZT47XG4gICAgcm93U2VsZWN0aW9uQ2hhbmdpbmc6IEV2ZW50RW1pdHRlcjxJUm93U2VsZWN0aW9uRXZlbnRBcmdzPjtcbiAgICBsb2NhbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbiAgICBmaWx0ZXJpbmc6IEV2ZW50RW1pdHRlcjxJRmlsdGVyaW5nRXZlbnRBcmdzPjtcbiAgICBmaWx0ZXJpbmdEb25lOiBFdmVudEVtaXR0ZXI8SUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZT47XG4gICAgY29sdW1uUGlubmVkOiBFdmVudEVtaXR0ZXI8SVBpbkNvbHVtbkV2ZW50QXJncz47XG4gICAgY29sdW1uUmVzaXplZDogRXZlbnRFbWl0dGVyPElDb2x1bW5SZXNpemVFdmVudEFyZ3M+O1xuICAgIGNvbHVtbk1vdmluZ0VuZDogRXZlbnRFbWl0dGVyPElDb2x1bW5Nb3ZpbmdFbmRFdmVudEFyZ3M+O1xuICAgIGNvbHVtblNlbGVjdGlvbkNoYW5naW5nOiBFdmVudEVtaXR0ZXI8SUNvbHVtblNlbGVjdGlvbkV2ZW50QXJncz47XG4gICAgY29sdW1uTW92aW5nOiBFdmVudEVtaXR0ZXI8SUNvbHVtbk1vdmluZ0V2ZW50QXJncz47XG4gICAgY29sdW1uTW92aW5nU3RhcnQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uTW92aW5nU3RhcnRFdmVudEFyZ3M+O1xuICAgIGNvbHVtblBpbjogRXZlbnRFbWl0dGVyPElQaW5Db2x1bW5DYW5jZWxsYWJsZUV2ZW50QXJncz47XG4gICAgY29sdW1uVmlzaWJpbGl0eUNoYW5naW5nOiBFdmVudEVtaXR0ZXI8SUNvbHVtblZpc2liaWxpdHlDaGFuZ2luZ0V2ZW50QXJncz47XG4gICAgY29sdW1uVmlzaWJpbGl0eUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uVmlzaWJpbGl0eUNoYW5nZWRFdmVudEFyZ3M+O1xuICAgIGJhdGNoRWRpdGluZ0NoYW5nZT86IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbiAgICByb3dBZGQ6IEV2ZW50RW1pdHRlcjxJUm93RGF0YUNhbmNlbGFibGVFdmVudEFyZ3M+O1xuICAgIHJvd0FkZGVkOiBFdmVudEVtaXR0ZXI8SVJvd0RhdGFFdmVudEFyZ3M+O1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgcm93QWRkZWROb3RpZmllcjogU3ViamVjdDxJUm93RGF0YUV2ZW50QXJncz47XG4gICAgcm93RGVsZXRlOiBFdmVudEVtaXR0ZXI8SVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzPjtcbiAgICByb3dEZWxldGVkOiBFdmVudEVtaXR0ZXI8SVJvd0RhdGFFdmVudEFyZ3M+O1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgcm93RGVsZXRlZE5vdGlmaWVyOiBTdWJqZWN0PElSb3dEYXRhRXZlbnRBcmdzPjtcbiAgICBjZWxsRWRpdEVudGVyOiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RXZlbnRBcmdzPjtcbiAgICBjZWxsRWRpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgY2VsbEVkaXREb25lOiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RG9uZUV2ZW50QXJncz47XG4gICAgY2VsbEVkaXRFeGl0OiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RG9uZUV2ZW50QXJncz47XG4gICAgcm93RWRpdEVudGVyOiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RXZlbnRBcmdzPjtcbiAgICByb3dFZGl0OiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RXZlbnRBcmdzPjtcbiAgICByb3dFZGl0RG9uZTogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIHJvd0VkaXRFeGl0OiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RG9uZUV2ZW50QXJncz47XG4gICAgcm93RHJhZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8SVJvd0RyYWdTdGFydEV2ZW50QXJncz47XG4gICAgcm93RHJhZ0VuZDogRXZlbnRFbWl0dGVyPElSb3dEcmFnRW5kRXZlbnRBcmdzPjtcbiAgICByb3dUb2dnbGU6IEV2ZW50RW1pdHRlcjxJUm93VG9nZ2xlRXZlbnRBcmdzPjtcbiAgICBmb3JtR3JvdXBDcmVhdGVkOiBFdmVudEVtaXR0ZXI8SUdyaWRGb3JtR3JvdXBDcmVhdGVkRXZlbnRBcmdzPjtcbiAgICB2YWxpZGF0aW9uU3RhdHVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUdyaWRWYWxpZGF0aW9uU3RhdHVzRXZlbnRBcmdzPjtcblxuICAgIHRvb2xiYXJFeHBvcnRpbmc6IEV2ZW50RW1pdHRlcjxJR3JpZFRvb2xiYXJFeHBvcnRFdmVudEFyZ3M+O1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgcmVuZGVyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgcmVzaXplTm90aWZ5OiBTdWJqZWN0PHZvaWQ+O1xuXG4gICAgc29ydFN0cmF0ZWd5OiBJR3JpZFNvcnRpbmdTdHJhdGVneTtcbiAgICBncm91cFN0cmF0ZWd5PzogSUdyaWRHcm91cGluZ1N0cmF0ZWd5O1xuICAgIGZpbHRlcmluZ0xvZ2ljOiBGaWx0ZXJpbmdMb2dpYztcbiAgICBmaWx0ZXJTdHJhdGVneTogSUZpbHRlcmluZ1N0cmF0ZWd5O1xuICAgIGFsbG93QWR2YW5jZWRGaWx0ZXJpbmc6IGJvb2xlYW47XG4gICAgc29ydGluZ0V4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXTtcbiAgICBzb3J0aW5nRXhwcmVzc2lvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJU29ydGluZ0V4cHJlc3Npb25bXT47XG4gICAgZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlO1xuICAgIGZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZUNoYW5nZTogRXZlbnRFbWl0dGVyPElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU+O1xuICAgIGFkdmFuY2VkRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlO1xuICAgIGFkdmFuY2VkRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZT47XG4gICAgc29ydGluZ09wdGlvbnM6IElTb3J0aW5nT3B0aW9ucztcblxuICAgIGJhdGNoRWRpdGluZzogYm9vbGVhbjtcbiAgICBncm91cGluZ0V4cGFuc2lvblN0YXRlPzogSUdyb3VwQnlFeHBhbmRTdGF0ZVtdO1xuICAgIGdyb3VwaW5nRXhwcmVzc2lvbnM/OiBJR3JvdXBpbmdFeHByZXNzaW9uW107XG4gICAgZ3JvdXBpbmdFeHByZXNzaW9uc0NoYW5nZT86IEV2ZW50RW1pdHRlcjxJR3JvdXBpbmdFeHByZXNzaW9uW10+O1xuICAgIGdyb3Vwc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBncm91cHNSZWNvcmRzPzogSUdyb3VwQnlSZWNvcmRbXTtcbiAgICBncm91cGluZ0ZsYXRSZXN1bHQ/OiBhbnlbXTtcbiAgICBncm91cGluZ1Jlc3VsdD86IGFueVtdO1xuICAgIGdyb3VwaW5nTWV0YWRhdGE/OiBhbnlbXTtcbiAgICBzZWxlY3RlZENlbGxzPzogQ2VsbFR5cGVbXTtcbiAgICBzZWxlY3RlZFJvd3M6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGFjdGl2ZURlc2NlbmRhbnQ/OiBzdHJpbmc7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcmVhZG9ubHkgdHlwZTogJ2ZsYXQnIHwgJ3RyZWUnIHwgJ2hpZXJhcmNoaWNhbCcgfCAncGl2b3QnO1xuXG4gICAgdG9nZ2xlR3JvdXA/KGdyb3VwUm93OiBJR3JvdXBCeVJlY29yZCk6IHZvaWQ7XG4gICAgY2xlYXJHcm91cGluZz8oZmllbGQ6IHN0cmluZyk6IHZvaWQ7XG4gICAgZ3JvdXBCeT8oZXhwcmVzc2lvbjogSUdyb3VwaW5nRXhwcmVzc2lvbiB8IEFycmF5PElHcm91cGluZ0V4cHJlc3Npb24+KTogdm9pZDtcbiAgICByZXNvbHZlT3V0bGV0PygpOiBJZ3hPdmVybGF5T3V0bGV0RGlyZWN0aXZlO1xuICAgIHVwZGF0ZUNvbHVtbnMoY29sdW1uczogQ29sdW1uVHlwZVtdKTogdm9pZDtcbiAgICBnZXRTZWxlY3RlZFJhbmdlcygpOiBHcmlkU2VsZWN0aW9uUmFuZ2VbXTtcbiAgICBkZXNlbGVjdEFsbENvbHVtbnMoKTogdm9pZDtcbiAgICBkZXNlbGVjdENvbHVtbnMoY29sdW1uczogc3RyaW5nW10gfCBDb2x1bW5UeXBlW10pOiB2b2lkO1xuICAgIHNlbGVjdENvbHVtbnMoY29sdW1uczogc3RyaW5nW10gfCBDb2x1bW5UeXBlW10pOiB2b2lkO1xuICAgIHNlbGVjdGVkQ29sdW1ucygpOiBDb2x1bW5UeXBlW107XG4gICAgcmVmcmVzaFNlYXJjaCgpOiB2b2lkO1xuICAgIGdldERlZmF1bHRFeHBhbmRTdGF0ZShyZWNvcmQ6IGFueSk6IGJvb2xlYW47XG4gICAgdHJhY2tDb2x1bW5DaGFuZ2VzKGluZGV4OiBudW1iZXIsIGNvbHVtbjogYW55KTogYW55O1xuICAgIGdldFBvc3NpYmxlQ29sdW1uV2lkdGgoKTogc3RyaW5nO1xuICAgIHJlc2V0SG9yaXpvbnRhbFZpcnR1YWxpemF0aW9uKCk6IHZvaWQ7XG4gICAgaGFzVmVydGljYWxTY3JvbGwoKTogYm9vbGVhbjtcbiAgICBnZXRWaXNpYmxlQ29udGVudEhlaWdodCgpOiBudW1iZXI7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICBnZXREcmFnR2hvc3RDdXN0b21UZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgICBvcGVuUm93T3ZlcmxheShpZDogYW55KTogdm9pZDtcbiAgICBvcGVuQWR2YW5jZWRGaWx0ZXJpbmdEaWFsb2cob3ZlcmxheVNldHRpbmdzPzogT3ZlcmxheVNldHRpbmdzKTogdm9pZDtcbiAgICBzaG93U25hY2tiYXJGb3IoaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gICAgZ2V0Q29sdW1uQnlOYW1lKG5hbWU6IHN0cmluZyk6IGFueTtcbiAgICBnZXRDb2x1bW5CeVZpc2libGVJbmRleChpbmRleDogbnVtYmVyKTogQ29sdW1uVHlwZTtcbiAgICBnZXRIZWFkZXJHcm91cFdpZHRoKGNvbHVtbjogQ29sdW1uVHlwZSk6IHN0cmluZztcbiAgICBnZXRSb3dCeUtleT8oa2V5OiBhbnkpOiBSb3dUeXBlO1xuICAgIGdldFJvd0J5SW5kZXg/KGluZGV4OiBudW1iZXIpOiBSb3dUeXBlO1xuICAgIHNldEZpbHRlcmVkRGF0YShkYXRhOiBhbnksIHBpbm5lZDogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0RmlsdGVyZWRTb3J0ZWREYXRhKGRhdGE6IGFueSwgcGlubmVkOiBib29sZWFuKTogdm9pZDtcbiAgICBzb3J0KGV4cHJlc3Npb246IElTb3J0aW5nRXhwcmVzc2lvbiB8IElTb3J0aW5nRXhwcmVzc2lvbltdKTogdm9pZDtcbiAgICBjbGVhclNvcnQobmFtZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgcGluUm93KGlkOiBhbnksIGluZGV4PzogbnVtYmVyLCByb3c/OiBSb3dUeXBlKTogYm9vbGVhbjtcbiAgICB1bnBpblJvdyhpZDogYW55LCByb3c/OiBSb3dUeXBlKTogYm9vbGVhbjtcbiAgICBnZXRVbnBpbm5lZEluZGV4QnlJZChpZDogYW55KTogbnVtYmVyO1xuICAgIGdldEVtcHR5UmVjb3JkT2JqZWN0Rm9yKGluUm93OiBSb3dUeXBlKTogYW55O1xuICAgIGlzU3VtbWFyeVJvdyhyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNSZWNvcmRQaW5uZWQocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGdldEluaXRpYWxQaW5uZWRJbmRleChyZWM6IGFueSk6IG51bWJlcjtcbiAgICBpc1JlY29yZFBpbm5lZEJ5Vmlld0luZGV4KHJvd0luZGV4OiBudW1iZXIpOiBib29sZWFuO1xuICAgIGlzQ29sdW1uR3JvdXBlZChmaWVsZE5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgaXNEZXRhaWxSZWNvcmQocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGlzR3JvdXBCeVJlY29yZChyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNHaG9zdFJlY29yZChyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNUcmVlUm93PyhyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNDaGlsZEdyaWRSZWNvcmQ/KHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBnZXRDaGlsZEdyaWRzPyhpbkRlcHRoPzogYm9vbGVhbik6IGFueVtdO1xuICAgIGlzSGllcmFyY2hpY2FsUmVjb3JkPyhyZWNvcmQ6IGFueSk6IGJvb2xlYW47XG4gICAgY29sdW1uVG9WaXNpYmxlSW5kZXgoa2V5OiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXI7XG4gICAgbW92ZUNvbHVtbihjb2x1bW46IENvbHVtblR5cGUsIHRhcmdldDogQ29sdW1uVHlwZSwgcG9zOiBEcm9wUG9zaXRpb24pOiB2b2lkO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgbmF2aWdhdGVUbyhyb3dJbmRleDogbnVtYmVyLCB2aXNpYmxlQ29sdW1uSW5kZXg6IG51bWJlciwgY2FsbGJhY2s/OiAoZTogYW55KSA9PiBhbnkpOiB2b2lkO1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgZ2V0UHJldmlvdXNDZWxsKGN1cnJSb3dJbmRleDogbnVtYmVyLCBjdXJWaXNpYmxlQ29sSW5kZXg6IG51bWJlciwgY2FsbGJhY2s6IChjOiBDb2x1bW5UeXBlKSA9PiBib29sZWFuKTogSUNlbGxQb3NpdGlvbjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIGdldE5leHRDZWxsKGN1cnJSb3dJbmRleDogbnVtYmVyLCBjdXJWaXNpYmxlQ29sSW5kZXg6IG51bWJlciwgY2FsbGJhY2s6IChjOiBDb2x1bW5UeXBlKSA9PiBib29sZWFuKTogSUNlbGxQb3NpdGlvbjtcbiAgICBjbGVhckNlbGxTZWxlY3Rpb24oKTogdm9pZDtcbiAgICBzZWxlY3RSYW5nZShyYW5nZTogR3JpZFNlbGVjdGlvblJhbmdlIHwgR3JpZFNlbGVjdGlvblJhbmdlW10pOiB2b2lkO1xuICAgIHNlbGVjdFJvd3Mocm93SURzOiBhbnlbXSwgY2xlYXJDdXJyZW50U2VsZWN0aW9uPzogYm9vbGVhbik6IHZvaWQ7XG4gICAgZGVzZWxlY3RSb3dzKHJvd0lEczogYW55W10pOiB2b2lkO1xuICAgIHNlbGVjdEFsbFJvd3Mob25seUZpbHRlckRhdGE/OiBib29sZWFuKTogdm9pZDtcbiAgICBkZXNlbGVjdEFsbFJvd3Mob25seUZpbHRlckRhdGE/OiBib29sZWFuKTogdm9pZDtcbiAgICBzZXRVcFBhZ2luYXRvcigpOiB2b2lkO1xuICAgIGNyZWF0ZUZpbHRlckRyb3Bkb3duKGNvbHVtbjogQ29sdW1uVHlwZSwgb3B0aW9uczogT3ZlcmxheVNldHRpbmdzKTogYW55O1xuICAgIHVwZGF0ZUNlbGwodmFsdWU6IGFueSwgcm93U2VsZWN0b3I6IGFueSwgY29sdW1uOiBzdHJpbmcpOiB2b2lkO1xuICAgIC8vIFR5cGUgdG8gUm93VHlwZVxuICAgIGNyZWF0ZVJvdz8oaW5kZXg6IG51bWJlciwgZGF0YT86IGFueSk6IFJvd1R5cGU7XG4gICAgZGVsZXRlUm93KGlkOiBhbnkpOiBhbnk7XG4gICAgZGVsZXRlUm93QnlJZChpZDogYW55KTogYW55O1xuICAgIHVwZGF0ZVJvdyh2YWx1ZTogYW55LCByb3dTZWxlY3RvcjogYW55KTogdm9pZDtcbiAgICBjb2xsYXBzZVJvdyhpZDogYW55KTogdm9pZDtcbiAgICBub3RpZnlDaGFuZ2VzKHJlcGFpbnQ/OiBib29sZWFuKTogdm9pZDtcbiAgICByZXNldENvbHVtbkNvbGxlY3Rpb25zKCk6IHZvaWQ7XG4gICAgdHJpZ2dlclBpcGVzKCk6IHZvaWQ7XG4gICAgcmVwb3NpdGlvblJvd0VkaXRpbmdPdmVybGF5KHJvdzogUm93VHlwZSk6IHZvaWQ7XG4gICAgY2xvc2VSb3dFZGl0aW5nT3ZlcmxheSgpOiB2b2lkO1xuICAgIHJlZmxvdygpOiB2b2lkO1xuXG4gICAgLy8gVE9ETzogTWF5YmUgbW92ZSB0aGVtIHRvIEZsYXRHcmlkVHlwZSwgYnV0IHRoZW4gd2lsbCB3ZSBuZWVkIGFub3RoZXIgdG9rZW4/XG4gICAgaXNFeHBhbmRlZEdyb3VwKGdyb3VwOiBJR3JvdXBCeVJlY29yZCk6IGJvb2xlYW47XG4gICAgY3JlYXRlQ29sdW1uc0xpc3Q/KGNvbHM6IENvbHVtblR5cGVbXSk6IHZvaWQ7XG4gICAgdG9nZ2xlQWxsR3JvdXBSb3dzPygpOiB2b2lkO1xuICAgIHRvZ2dsZUFsbD8oKTogdm9pZDtcbiAgICBnZW5lcmF0ZVJvd1BhdGg/KHJvd0lkOiBhbnkpOiBhbnlbXTtcbiAgICBwcmV2ZW50SGVhZGVyU2Nyb2xsPyhhcmdzOiBhbnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIGEgRmxhdCBHcmlkIHR5cGUuIEl0IGlzIGVzc2VudGlhbGx5IHRoZSBibHVlcHJpbnQgdG8gYSBncmlkIGtpbmRcbiAqIENvbnRhaW5zIGRlZmluaXRpb25zIG9mIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMsIHJlbGV2YW50IHRvIGEgZ3JpZCBraW5kXG4gKiBFeHRlbmRzIGZyb20gYEdyaWRUeXBlYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsYXRHcmlkVHlwZSBleHRlbmRzIEdyaWRUeXBlIHtcbiAgICBncm91cGluZ0V4cGFuc2lvblN0YXRlOiBJR3JvdXBCeUV4cGFuZFN0YXRlW107XG4gICAgZ3JvdXBpbmdFeHByZXNzaW9uczogSUdyb3VwaW5nRXhwcmVzc2lvbltdO1xuICAgIGdyb3VwaW5nRXhwcmVzc2lvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJR3JvdXBpbmdFeHByZXNzaW9uW10+O1xuXG4gICAgdG9nZ2xlR3JvdXAoZ3JvdXBSb3c6IElHcm91cEJ5UmVjb3JkKTogdm9pZDtcbiAgICBjbGVhckdyb3VwaW5nKGZpZWxkOiBzdHJpbmcpOiB2b2lkO1xuICAgIGdyb3VwQnkoZXhwcmVzc2lvbjogSUdyb3VwaW5nRXhwcmVzc2lvbiB8IEFycmF5PElHcm91cGluZ0V4cHJlc3Npb24+KTogdm9pZDtcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyBhIFRyZWUgR3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBraW5kXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWQga2luZFxuICogRXh0ZW5kcyBmcm9tIGBHcmlkVHlwZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmVlR3JpZFR5cGUgZXh0ZW5kcyBHcmlkVHlwZSB7XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICByZWNvcmRzOiBNYXA8YW55LCBJVHJlZUdyaWRSZWNvcmQ+O1xuICAgIGlzVHJlZVJvdyhyZWM6IGFueSk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgYSBIaWVyYXJjaGljYWwgR3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBraW5kXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWQga2luZFxuICogRXh0ZW5kcyBmcm9tIGBHcmlkVHlwZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxHcmlkVHlwZSBleHRlbmRzIEdyaWRUeXBlIHtcbiAgICBjaGlsZExheW91dEtleXM6IGFueVtdO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIGEgUGl2b3QgR3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBraW5kXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWQga2luZFxuICogRXh0ZW5kcyBmcm9tIGBHcmlkVHlwZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXZvdEdyaWRUeXBlIGV4dGVuZHMgR3JpZFR5cGUge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciB0aGUgcGl2b3QgZ3JpZC5cbiAgICAgKiBpdCBpbmNsdWRlcyBkaW1lbnNpb24gc3RyYXRlZ3kgZm9yIHJvd3MgYW5kIGNvbHVtbnMsIGZpbHRlcnMgYW5kIGRhdGEga2V5c1xuICAgICAqL1xuICAgIHBpdm90Q29uZmlndXJhdGlvbjogSVBpdm90Q29uZmlndXJhdGlvbjtcbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiBhbGwgZGltZW5zaW9ucyAocm93cyBhbmQgY29sdW1ucykgaW4gdGhlIHBpdm90IGdyaWQuXG4gICAgICogaXQgaW5jbHVkZXMgaGllcmFyY2hpY2FsIGxldmVsLCBmaWx0ZXJzIGFuZCBzb3J0aW5nLCBkaW1lbnNpb25hbCBsZXZlbCwgZXRjLlxuICAgICAqL1xuICAgIGFsbERpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdLFxuICAgIC8qKiBTcGVjaWZpZXMgd2hldGhlciB0byBzaG93IHRoZSBwaXZvdCBjb25maWd1cmF0aW9uIFVJIGluIHRoZSBncmlkLiAqL1xuICAgIHBpdm90VUk6IElQaXZvdFVJU2V0dGluZ3M7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgY29sdW1uRGltZW5zaW9uczogSVBpdm90RGltZW5zaW9uW107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcm93RGltZW5zaW9uczogSVBpdm90RGltZW5zaW9uW107XG4gICAgcm93RGltZW5zaW9uUmVzaXppbmc6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdmlzaWJsZVJvd0RpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhhc0hvcml6b250YWxMYXlvdXQ6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdmFsdWVzOiBJUGl2b3RWYWx1ZVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlckRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGRpbWVuc2lvbkRhdGFDb2x1bW5zOiBDb2x1bW5UeXBlW107XG4gICAgcGl2b3RSb3dXaWR0aHM6IG51bWJlcjtcbiAgICBnZXRSb3dEaW1lbnNpb25CeU5hbWUobmFtZTogc3RyaW5nKTogSVBpdm90RGltZW5zaW9uO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBzZXR0aW5nIHVwIHRoZSBjb2x1bW5zIGZvciB0aGUgcGl2b3QgZ3JpZCBiYXNlZCBvbiB0aGUgcGl2b3QgY29uZmlndXJhdGlvbiAqL1xuICAgIHNldHVwQ29sdW1ucygpOiB2b2lkO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIHRoYXQgYWxsb3dzIHRvZ2dsZSBvZiBleHBhbnNpb24gc3RhdGUgb2YgYSByb3cgKHRha2VuIGFzIGEgcGFyYW1ldGVyKSBpbiB0aGUgcGl2b3QgZ3JpZCAqL1xuICAgIHRvZ2dsZVJvdyhyb3dJRDogYW55KTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXNvbHZpbmcgdGhlIGRhdGEgdHlwZSBmb3IgYSBzcGVjaWZpYyBmaWVsZCAoY29sdW1uKS5cbiAgICAgKiBJdCB0YWtlcyB0aGUgZmllbGQgYXMgYSBwYXJhbWV0ZXIgYW5kIHJldHVybnMgaXQncyB0eXBlXG4gICAgICovXG4gICAgcmVzb2x2ZURhdGFUeXBlcyhmaWVsZDogYW55KTogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIG1vdmluZyBkaW1lbnNpb24gZnJvbSBpdHMgY3VycmVudGx5IGNvbGxlY3Rpb24gdG8gdGhlIHNwZWNpZmllZCB0YXJnZXQgY29sbGVjdGlvblxuICAgICAqIGJ5IHR5cGUgKFJvdywgQ29sdW1uIG9yIEZpbHRlcikgYXQgc3BlY2lmaWVkIGluZGV4IG9yIGF0IHRoZSBjb2xsZWN0aW9uJ3MgZW5kXG4gICAgICovXG4gICAgbW92ZURpbWVuc2lvbihkaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiwgdGFyZ2V0Q29sbGVjdGlvblR5cGU6IFBpdm90RGltZW5zaW9uVHlwZSwgaW5kZXg/OiBudW1iZXIpO1xuICAgIGdldERpbWVuc2lvbnNCeVR5cGUoZGltZW5zaW9uOiBQaXZvdERpbWVuc2lvblR5cGUpO1xuICAgIC8qKiBUb2dnbGVzIHRoZSBkaW1lbnNpb24ncyBlbmFibGVkIHN0YXRlIG9uIG9yIG9mZi4gVGhlIGRpbWVuc2lvbiByZW1haW5zIGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24gKi9cbiAgICB0b2dnbGVEaW1lbnNpb24oZGltZW5zaW9uOiBJUGl2b3REaW1lbnNpb24pO1xuICAgIC8qKiBTb3J0IHRoZSBkaW1lbnNpb24gYW5kIGl0cyBjaGlsZHJlbiBpbiB0aGUgcHJvdmlkZWQgZGlyZWN0aW9uIChhc2NlbmRpbmcsIGRlc2NlbmRpbmcgb3Igbm9uZSkuICovXG4gICAgc29ydERpbWVuc2lvbihkaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiwgc29ydERpcmVjdGlvbjogU29ydGluZ0RpcmVjdGlvbik7XG4gICAgLyoqIFRvZ2dsZXMgdGhlIHZhbHVlJ3MgZW5hYmxlZCBzdGF0ZSBvbiBvciBvZmYuIFRoZSB2YWx1ZSByZW1haW5zIGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24uICovXG4gICAgdG9nZ2xlVmFsdWUodmFsdWU6IElQaXZvdFZhbHVlKTtcbiAgICAvKiogTW92ZSB2YWx1ZSBmcm9tIGl0cyBjdXJyZW50bHkgYXQgc3BlY2lmaWVkIGluZGV4IG9yIGF0IHRoZSBlbmQuXG4gICAgICogSWYgdGhlIHBhcmFtZXRlciBpcyBub3Qgc2V0LCBpdCB3aWxsIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIG1vdmVWYWx1ZSh2YWx1ZTogSVBpdm90VmFsdWUsIGluZGV4PzogbnVtYmVyKTtcbiAgICByb3dEaW1lbnNpb25XaWR0aChkaW06IElQaXZvdERpbWVuc2lvbik6IHN0cmluZztcbiAgICByb3dEaW1lbnNpb25XaWR0aFRvUGl4ZWxzKGRpbTogSVBpdm90RGltZW5zaW9uKTogbnVtYmVyO1xuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBkaW1lbnNpb25zIGluIHRoZSBwaXZvdCBncmlkIGNoYW5nZS4gKi9cbiAgICBkaW1lbnNpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SURpbWVuc2lvbnNDaGFuZ2U+O1xuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSB2YWx1ZXMgaW4gdGhlIHBpdm90IGdyaWQgY2hhbmdlLiAqL1xuICAgIHZhbHVlc0NoYW5nZTogRXZlbnRFbWl0dGVyPElWYWx1ZXNDaGFuZ2U+O1xuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBhIGRpbWVuc2lvbiBpcyBzb3J0ZWQuICovXG4gICAgZGltZW5zaW9uc1NvcnRpbmdFeHByZXNzaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPElTb3J0aW5nRXhwcmVzc2lvbltdPjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwaXZvdEtleXM6IElQaXZvdEtleXM7XG4gICAgaGFzTXVsdGlwbGVWYWx1ZXM6IGJvb2xlYW47XG4gICAgZXhjZWxTdHlsZUZpbHRlck1heEhlaWdodDogc3RyaW5nO1xuICAgIGV4Y2VsU3R5bGVGaWx0ZXJNaW5IZWlnaHQ6IHN0cmluZztcbiAgICB2YWx1ZUNoaXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICByb3dEaW1lbnNpb25IZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4Q29sdW1uVGVtcGxhdGVDb250ZXh0Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkU1ZHSWNvbiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNpemVJbmZvIHtcbiAgICB3aWR0aDogbnVtYmVyLFxuICAgIHBhZGRpbmc6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRNYXN0ZXJEZXRhaWxDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IGFueTtcbiAgICBpbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyb3VwQnlSb3dUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogSUdyb3VwQnlSZWNvcmQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBHcmlkVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRSb3dUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogUm93VHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRSb3dEcmFnR2hvc3RDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IGFueSwgLy8gdGhpcyBpcyB0aGUgcm93IGRhdGFcbiAgICBkYXRhOiBhbnksIC8vIHRoaXMgaXMgYWxzbyB0aGUgcm93IGRhdGEgZm9yIHNvbWUgcmVhc29uLlxuICAgIGdyaWQ6IEdyaWRUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZEVtcHR5VGVtcGxhdGVDb250ZXh0IHtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0VkaXRUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkLFxuICAgIHJvd0NoYW5nZXNDb3VudDogbnVtYmVyLFxuICAgIGVuZEVkaXQ6IChjb21taXQ6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkUm93RWRpdFRleHRUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0VkaXRBY3Rpb25zVGVtcGxhdGVDb250ZXh0IHtcbiAgICAvKiBibGF6b3JDU1N1cHByZXNzICovXG4gICAgLyogYmxhem9yQWx0ZXJuYXRlVHlwZTogUm93RWRpdEFjdGlvbnNJbXBsaWNpdCAqL1xuICAgICRpbXBsaWNpdDogKGNvbW1pdDogYm9vbGVhbiwgZXZlbnQ/OiBFdmVudCkgPT4gdm9pZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogSGVhZGVyVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneENvbHVtblRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBDb2x1bW5UeXBlLFxuICAgIGNvbHVtbjogQ29sdW1uVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneENlbGxUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogYW55LFxuICAgIGFkZGl0aW9uYWxUZW1wbGF0ZUNvbnRleHQ6IGFueSxcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIGZvcm1Db250cm9sPzogRm9ybUNvbnRyb2w8YW55PixcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIGRlZmF1bHRFcnJvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PixcbiAgICBjZWxsOiBDZWxsVHlwZVxufVxuXG4vKiBqc29uQVBJQ29tcGxleE9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBJZ3hSb3dTZWxlY3RvclRlbXBsYXRlRGV0YWlscyB7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiB2ZXJzaW9uIDE1LjEuMC4gVXNlIHRoZSBga2V5YCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJvd0lEOiBhbnk7XG4gICAga2V5OiBhbnk7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgc2VsZWN0PzogKCkgPT4gdm9pZDtcbiAgICBkZXNlbGVjdD86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4Um93U2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogSWd4Um93U2VsZWN0b3JUZW1wbGF0ZURldGFpbHM7XG59XG5cbi8qIGpzb25BUElDb21wbGV4T2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIElneEdyb3VwQnlSb3dTZWxlY3RvclRlbXBsYXRlRGV0YWlscyB7XG4gICAgc2VsZWN0ZWRDb3VudDogbnVtYmVyO1xuICAgIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgICBncm91cFJvdzogSUdyb3VwQnlSZWNvcmQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIElneEdyb3VwQnlSb3dTZWxlY3RvclRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZURldGFpbHM7XG59XG5cbi8qIGpzb25BUElDb21wbGV4T2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIElneEhlYWRTZWxlY3RvclRlbXBsYXRlRGV0YWlscyB7XG4gICAgc2VsZWN0ZWRDb3VudDogbnVtYmVyO1xuICAgIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgICBzZWxlY3RBbGw/OiAoKSA9PiB2b2lkO1xuICAgIGRlc2VsZWN0QWxsPzogKCkgPT4gdm9pZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWd4SGVhZFNlbGVjdG9yVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElneEhlYWRTZWxlY3RvclRlbXBsYXRlRGV0YWlscztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hTdW1tYXJ5VGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElneFN1bW1hcnlSZXN1bHRbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRQYWdpbmF0b3JUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogR3JpZFR5cGU7XG59XG5cbi8qIG1hcnNoYWxCeVZhbHVlICovXG4vKiB0c1BsYWluSW50ZXJmYWNlICovXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIHNldHRpbmdzIGZvciByb3cvY29sdW1uIHBpbm5pbmcgcG9zaXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpbm5pbmdDb25maWcge1xuICAgIGNvbHVtbnM/OiBDb2x1bW5QaW5uaW5nUG9zaXRpb247XG4gICAgcm93cz86IFJvd1Bpbm5pbmdQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyBzZXR0aW5ncyBmb3IgY2xpcGJvYXJkIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2xpcGJvYXJkT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgY29weSBiZWhhdmlvclxuICAgICAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogSW5jbHVkZSB0aGUgY29sdW1ucyBoZWFkZXJzIGluIHRoZSBjbGlwYm9hcmQgb3V0cHV0LlxuICAgICAqL1xuICAgIGNvcHlIZWFkZXJzOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEFwcGx5IHRoZSBjb2x1bW5zIGZvcm1hdHRlcnMgKGlmIGFueSkgb24gdGhlIGRhdGEgaW4gdGhlIGNsaXBib2FyZCBvdXRwdXQuXG4gICAgICovXG4gICAgY29weUZvcm1hdHRlcnM6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIHNlcGFyYXRvciB1c2VkIGZvciBmb3JtYXR0aW5nIHRoZSBjb3B5IG91dHB1dC4gRGVmYXVsdHMgdG8gYFxcdGAuXG4gICAgICovXG4gICAgc2VwYXJhdG9yOiBzdHJpbmc7XG59XG4iXX0=
|