sigesp 1.0.9-20240524 → 1.0.10-20240526
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/esm2020/lib/core/models/SNO/MDefinicionNomina.model.mjs +4 -2
- package/esm2020/lib/sigesp.service.mjs +7 -5
- package/fesm2015/sigesp.mjs +9 -5
- package/fesm2015/sigesp.mjs.map +1 -1
- package/fesm2020/sigesp.mjs +9 -5
- package/fesm2020/sigesp.mjs.map +1 -1
- package/lib/sigesp.service.d.ts +5 -3
- package/package.json +1 -1
|
@@ -144,7 +144,9 @@ export class MDefinicionNomina extends MBasicModel {
|
|
|
144
144
|
this.denominacionCuentaContable = e.denctacont;
|
|
145
145
|
this.nombreProveedor = e.nompro;
|
|
146
146
|
this.estatusIncidencia = parseInt(e.estincidencia);
|
|
147
|
-
|
|
147
|
+
if (e.periodos) {
|
|
148
|
+
this.periodosNomina = e.periodos.map(e => new MPeriodoNomina(e));
|
|
149
|
+
}
|
|
148
150
|
this.idPeriodoNomina = parseInt(e.id_periodoactual);
|
|
149
151
|
this.idPeriodoRestablecerNomina = parseInt(e.id_perresnom);
|
|
150
152
|
this.segmentarPersonal = parseInt(e.segper);
|
|
@@ -340,4 +342,4 @@ export class MDefinicionNomina extends MBasicModel {
|
|
|
340
342
|
}
|
|
341
343
|
}
|
|
342
344
|
}
|
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTURlZmluaWNpb25Ob21pbmEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWdlc3Avc3JjL2xpYi9jb3JlL21vZGVscy9TTk8vTURlZmluaWNpb25Ob21pbmEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFnRmhELFlBQVksSUFBVSxJQUFJO1FBQ3hCLEtBQUssRUFBRSxDQUFDO1FBaEZILGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsYUFBUSxHQUFRLENBQUMsQ0FBQztRQUNsQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2Qix1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QixzQkFBaUIsR0FBUSxZQUFZLENBQUM7UUFDdEMsd0JBQW1CLEdBQVEsS0FBSyxDQUFDO1FBQ2pDLHdCQUFtQixHQUFRLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQVEsQ0FBQyxDQUFDO1FBQ3BCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsdUJBQWtCLEdBQVEsQ0FBQyxDQUFDO1FBQzVCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQiw0QkFBdUIsR0FBUSxFQUFFLENBQUM7UUFDbEMsK0JBQTBCLEdBQVEsRUFBRSxDQUFDO1FBQ3JDLDBCQUFxQixH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QUFDO1lBQ3ZDLE9BQU8sS0FBSyxDQUFBO1NBQ2I7YUFBTyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBRSxFQUFFLEVBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUE7U0FDYjthQUFPLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFFLENBQUMsRUFBQztZQUN0QyxPQUFPLEtBQUssQ0FBQTtTQUNiO0lBRUgsQ0FBQztDQUtGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tICcuLi9iYXNpYy1tb2RlbC5tb2RlbCc7XHJcbmltcG9ydCB7IElOb21pbmEsIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Ob21pbmEnO1xyXG5pbXBvcnQgeyBNUGVyaW9kb05vbWluYSB9IGZyb20gJy4vTVBlcmlvZG9Ob21pbmEubW9kZWwnO1xyXG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNRGVmaW5pY2lvbk5vbWluYSBleHRlbmRzIE1CYXNpY01vZGVsIHsgXHJcbiAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICBwdWJsaWMgaWROb21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGNvZGlnb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbk5vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIHRpcG9QZXJvaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlc2NyaXBjaW9uUGVyaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGFub0N1cnNvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBmZWNoYUluaWNpb05vbWluYTpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gIHB1YmxpYyBwZXJpb2RvQWN0dWFsTm9taW5hOnN0cmluZz0nMDAxJztcclxuICBwdWJsaWMgbnVtZXJvUGVyaW9kb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgcmFjTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBhZGVsYW50b1BhZ29Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIG5vbWluYUVzcGVjaWFsOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBub21pbmFDZXN0YVRpY2tldDpudW1iZXI9MDtcclxuICBwdWJsaWMgY2VzdGFUaWNrZXRNZXRvZG9Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBjb2RpZ29PcmdhbmlzbW9DZXN0YVRpY2tldDpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIENvbnRhYmlsaXphY2lvbk5vbWluYTpzdHJpbmc9J0NDUCc7XHJcbiAgcHVibGljIGRlc3Rpbm9Db21wcm9iYW50ZU5vbWluYTpzdHJpbmc9J0InO1xyXG4gIHB1YmxpYyBpZFByb3ZlZWRvcjpudW1iZXI9MDtcclxuICBwdWJsaWMgY3VlbnRhQ29udGFibGVOb21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBub3RhRGViaXRvQmFuY286bnVtYmVyPTA7XHJcbiAgcHVibGljIHJlY2VwY2lvbkRvY3VtZW50b05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgY29udGFiaWxpemFjaW9uQXBvcnRlTm9taW5hOnN0cmluZz0nQ0NQJztcclxuICBwdWJsaWMgcmVjZXBjaW9uRG9jdW1lbnRvQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXBvRG9jdW1lbnRvQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBwZXJpb2RvQVJlc3RhYmxlY2VOb21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyB2YWxpZGFyQ29udGFiaWxpemFjaW9uUGVyaW9kb0FudGVyaW9yTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXR1bG9SZXBvcnRlTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgY29udGFiaWxpemFjaW9uRmlkZWljb21pc29Ob21pbmE6c3RyaW5nPSdDQ1AnO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9GaWRlaWNvbWlzbzpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b0ZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZEJlbmVmaWNpYXJpb0ZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjdWVudGFDb250YWJsZUZpZGVpY29taXNvOnN0cmluZz0nJztcclxuICBwdWJsaWMgaW5mb3JtYWNpb25QYXJhUmVwb3J0ZTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRpdmlkaXJDb25jZXB0b1F1aW5jZW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU6bnVtYmVyPTA7XHJcbiAgcHVibGljIHRpcG9Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU6bnVtYmVyPTA7XHJcbiAgcHVibGljIGVzdGF0dXNDdWVudGFBbHRlcm5hdGl2YTpudW1iZXI9MDtcclxuICBwdWJsaWMgcmFjT2JyZXJvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBub21pbmFMaXF1aWRhY2lvbjpudW1iZXI9MDtcclxuICBwdWJsaWMgaG9qYVRpZW1wb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgY29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG86bnVtYmVyPTA7XHJcbiAgcHVibGljIGNlcnJhclNpbkRpc3BvbmliaWxpZGFkOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBlc3RhdHVzQWdydXBhckFwb3J0ZXM6bnVtYmVyPTA7XHJcbiAgcHVibGljIHJlY2VwY2lvbkRvY3VtZW50b0NhdXNhOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXBvRG9jdW1lbnRvQ2F1c2E6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYU5vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFDYXVzYTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhTm9taW5hPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2E9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbkNvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFQZXJzb25hbD0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvRG9jdW1lbnRvTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb0RvY3VtZW50b0NhdXNhOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb0RvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9GaWRlaWNvbWlzbzpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9BcG9ydGU9Jyc7XHJcbiAgcHVibGljIGNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvTW9zdGFyOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG86c3RyaW5nPScnOyAgXHJcbiAgcHVibGljIG5vbWJyZVByb3ZlZWRvcjpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIG5vbWJyZUJlbmVmaWNpYXJpb0ZpZGVpY29taXNvOnN0cmluZz0nJztcclxuICBwdWJsaWMgY29kaWdvQ2VudHJvQ29zdG86c3RyaW5nPSctLS0nO1xyXG4gIHB1YmxpYyBjZXN0YVRpY2tlY3RTdWVsdG9zOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjb2RpZ29Vc3VhcmlvOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ2VudHJvQ29uc3RvOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ3VlbnRhQ29udGFibGU6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBpZFBlcmlvZG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkUGVyaW9kb1Jlc3RhYmxlY2VyTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBlc3RhdHVzSW5jaWRlbmNpYTpudW1iZXI9MDtcclxuXHRwdWJsaWMgc2VnbWVudGFyUGVyc29uYWw6bnVtYmVyPTMwMDA7XHJcbiAgcHVibGljIHBlcmlvZG9zTm9taW5hOk1QZXJpb2RvTm9taW5hW109W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKGU6SU5vbWluYT1udWxsKXtcclxuICAgIHN1cGVyKCk7XHJcbiAgICAgIGlmIChlKXtcclxuICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgdGhpcy5pZEVtcHJlc2E9K2UuaWRfZW1wcmVzYcKgXHJcbiAgICAgICAgdGhpcy5pZE5vbWluYT1wYXJzZUludChlLmlkX25vbWluYSk7XHJcbiAgICAgICAgICB0aGlzLmNvZGlnb05vbWluYT1lLmNvZG5vbTtcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uTm9taW5hPWUuZGVubm9tO1xyXG4gICAgICAgICAgdGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9ZS50aXBwZXJub207XHJcbiAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uUGVyaW9kb05vbWluYT1lLmRlc3Blcm5vbTtcclxuICAgICAgICAgIHRoaXMuYW5vQ3Vyc29Ob21pbmE9cGFyc2VJbnQoZS5hbm9jdXJub20pO1xyXG4gICAgICAgICAgdGhpcy5mZWNoYUluaWNpb05vbWluYT1lLmZlY2luaW5vbTtcclxuICAgICAgICAgIHRoaXMucGVyaW9kb0FjdHVhbE5vbWluYT1lLnBlcmFjdG5vbTtcclxuICAgICAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT1wYXJzZUludChlLm51bXBlcm5vbSk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Ob21pbmE9cGFyc2VJbnQoZS50aXBub20pO1xyXG4gICAgICAgICAgdGhpcy5yYWNOb21pbmE9cGFyc2VJbnQoZS5yYWNub20pO1xyXG4gICAgICAgICAgdGhpcy5hZGVsYW50b1BhZ29Ob21pbmE9cGFyc2VJbnQoZS5hZGVub20pO1xyXG4gICAgICAgICAgdGhpcy5ub21pbmFFc3BlY2lhbD1wYXJzZUludChlLmVzcG5vbSk7XHJcbiAgICAgICAgICB0aGlzLm5vbWluYUNlc3RhVGlja2V0PXBhcnNlSW50KGUuY3Rub20pO1xyXG4gICAgICAgICAgdGhpcy5jZXN0YVRpY2tldE1ldG9kb05vbWluYT1lLmN0bWV0bm9tO1xyXG4gICAgICAgICAgdGhpcy5jb2RpZ29PcmdhbmlzbW9DZXN0YVRpY2tldD1lLmNvZG9yZ2Nlc3RpYztcclxuICAgICAgICAgIHRoaXMuQ29udGFiaWxpemFjaW9uTm9taW5hPWUuY29uc3Vsbm9tO1xyXG4gICAgICAgICAgdGhpcy5kZXN0aW5vQ29tcHJvYmFudGVOb21pbmE9ZS5kZXNjb21ub207XHJcbiAgICAgICAgICB0aGlzLmlkUHJvdmVlZG9yPXBhcnNlSW50KGUuaWRfcHJvdmVlZG9yKTtcclxuICAgICAgICAgIHRoaXMuY3VlbnRhQ29udGFibGVOb21pbmE9ZS5jdWVjb25ub207XHJcbiAgICAgICAgICB0aGlzLm5vdGFEZWJpdG9CYW5jbz1wYXJzZUludChlLm5vdGRlYm5vbSk7XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b05vbWluYT1wYXJzZUludChlLnJlY2RvY25vbSk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Eb2N1bWVudG9Ob21pbmE9cGFyc2VJbnQoZS50aXBkb2Nub20pO1xyXG4gICAgICAgICAgdGhpcy5jb250YWJpbGl6YWNpb25BcG9ydGVOb21pbmE9ZS5jb25hcG9ub207XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0Fwb3J0ZT1wYXJzZUludChlLnJlY2RvY2Fwbyk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Eb2N1bWVudG9BcG9ydGU9cGFyc2VJbnQoZS50aXBkb2NhcG8pO1xyXG4gICAgICAgICAgdGhpcy5wZXJpb2RvQVJlc3RhYmxlY2VOb21pbmE9ZS5wZXJyZXNub207XHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXJDb250YWJpbGl6YWNpb25QZXJpb2RvQW50ZXJpb3JOb21pbmE9cGFyc2VJbnQoZS5jb25wZXJub20pO1xyXG4gICAgICAgICAgdGhpcy50aXR1bG9SZXBvcnRlTm9taW5hPWUudGl0cmVwbm9tO1xyXG4gICAgICAgICAgdGhpcy5jb250YWJpbGl6YWNpb25GaWRlaWNvbWlzb05vbWluYT1lLmNvbmZpZG5vbTtcclxuICAgICAgICAgIHRoaXMucmVjZXBjaW9uRG9jdW1lbnRvRmlkZWljb21pc289cGFyc2VJbnQoZS5yZWNkb2NmaWQpO1xyXG4gICAgICAgICAgdGhpcy50aXBvRG9jdW1lbnRvRmlkZWljb21pc289cGFyc2VJbnQoZS50aXBkb2NmaWQpO1xyXG4gICAgICAgICAgdGhpcy5pZEJlbmVmaWNpYXJpb0ZpZGVpY29taXNvPXBhcnNlSW50KGUuaWRfYmVuZmlkKTtcclxuICAgICAgICAgIHRoaXMuY3VlbnRhQ29udGFibGVGaWRlaWNvbWlzbz1lLmN1ZWNvbmZpZDtcclxuICAgICAgICAgIHRoaXMuaW5mb3JtYWNpb25QYXJhUmVwb3J0ZT1lLmluZm9ybWE7XHJcbiAgICAgICAgICB0aGlzLmRpdmlkaXJDb25jZXB0b1F1aW5jZW5hPXBhcnNlSW50KGUuZGl2Y29uKTtcclxuICAgICAgICAgIHRoaXMucmVjZXBjaW9uRG9jdW1lbnRvUGFnb1BlcnNvbmFsQ2hlcXVlPXBhcnNlSW50KGUucmVjZG9jcGFncGVyY2hlKTtcclxuICAgICAgICAgIHRoaXMudGlwb0RvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZT1wYXJzZUludChlLnRpcGRvY3BhZ3BlcmNoZSk7XHJcbiAgICAgICAgICB0aGlzLmVzdGF0dXNDdWVudGFBbHRlcm5hdGl2YcKgPXBhcnNlSW50KGUuZXN0Y3RhYWx0KTtcclxuICAgICAgICAgIHRoaXMucmFjT2JyZXJvTm9taW5hPXBhcnNlSW50KGUucmFjb2Jybm9tKTtcclxuICAgICAgICAgIHRoaXMubm9taW5hTGlxdWlkYWNpb249cGFyc2VJbnQoZS5ub21saXEpO1xyXG4gICAgICAgICAgdGhpcy5ob2phVGllbXBvTm9taW5hPXBhcnNlSW50KGUuaG9qdGllbm9tKTtcclxuICAgICAgICAgIHRoaXMuY29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG89cGFyc2VJbnQoZS5jb2RmdWVmaW4pO1xyXG4gICAgICAgICAgdGhpcy5jZXJyYXJTaW5EaXNwb25pYmlsaWRhZD1wYXJzZUludChlLmNlcnNpbmRpcyk7XHJcbiAgICAgICAgICB0aGlzLmVzdGF0dXNBZ3J1cGFyQXBvcnRlcz1wYXJzZUludChlLmVzdGFncmFwbyk7XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0NhdXNhPXBhcnNlSW50KGUucmVjZG9jY2F1bm9tKTtcclxuICAgICAgICAgIHRoaXMudGlwb0RvY3VtZW50b0NhdXNhPXBhcnNlSW50KGUudGlwZG9jY2F1bm9tKTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhTm9taW5hPXBhcnNlSW50KGUuaWRfY29uY3hwbm9tKTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlPXBhcnNlSW50KGUuaWRfY29uY3hwYXBvKTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2E9cGFyc2VJbnQoZS5pZF9jb25jeHBjYXUpO1xyXG4gICAgICAgICAgdGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFQZXJzb25hbD1wYXJzZUludChlLmlkX2NvbmN4cHBlcik7XHJcbiAgICAgICAgICB0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvPXBhcnNlSW50KGUuaWRfY29uY3hwZmlkKTtcclxuICAgICAgICAgIHRoaXMuY29kaWdvQ2VudHJvQ29zdG89ZS5jb2RjZW5jb3NcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ2VudHJvQ29uc3RvPWUuZGVuY2VuY29zXHJcbiAgICAgICAgICB0aGlzLmNlc3RhVGlja2VjdFN1ZWx0b3M9cGFyc2VJbnQoZS5jZXN0aWtzdWVsKSAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG89ZS5jb2RpZ29mdGVmaW4rJyAtICcrZS5kZW5mdWVmaW4gIFxyXG4gICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DdWVudGFDb250YWJsZT0gZS5kZW5jdGFjb250ICBcclxuICAgICAgICAgIHRoaXMubm9tYnJlUHJvdmVlZG9yPSBlLm5vbXBybztcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c0luY2lkZW5jaWE9cGFyc2VJbnQoZS5lc3RpbmNpZGVuY2lhKTtcclxuICAgICAgICAgIHRoaXMucGVyaW9kb3NOb21pbmE9ZS5wZXJpb2Rvcy5tYXAoZT0+bmV3IE1QZXJpb2RvTm9taW5hKGUpKTtcclxuICAgICAgICAgIHRoaXMuaWRQZXJpb2RvTm9taW5hPXBhcnNlSW50KGUuaWRfcGVyaW9kb2FjdHVhbCk7XHJcbiAgICAgICAgICB0aGlzLmlkUGVyaW9kb1Jlc3RhYmxlY2VyTm9taW5hPXBhcnNlSW50KGUuaWRfcGVycmVzbm9tKTsgXHJcbiAgICAgICAgICB0aGlzLnNlZ21lbnRhclBlcnNvbmFsPXBhcnNlSW50KGUuc2VncGVyKTsgXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklOb21pbmEge1xyXG4gICAgICB0aGlzLiBnZXRQZXJpb2RvTm9taW5hKCk7XHJcbiAgICAgIGlmKHRoaXMuc2VnbWVudGFyUGVyc29uYWw9PTApe1xyXG4gICAgICAgIHRoaXMuc2VnbWVudGFyUGVyc29uYWw9MTAwMDA7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICBpZF9ub21pbmE6dGhpcy5pZE5vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgY29kbm9tOnRoaXMuY29kaWdvTm9taW5hLFxyXG4gICAgICAgICAgZGVubm9tOnRoaXMuZGVub21pbmFjaW9uTm9taW5hLFxyXG4gICAgICAgICAgdGlwcGVybm9tOnRoaXMudGlwb1Blcm9pb2RvTm9taW5hLFxyXG4gICAgICAgICAgZGVzcGVybm9tOnRoaXMuZGVzY3JpcGNpb25QZXJpb2RvTm9taW5hLFxyXG4gICAgICAgICAgYW5vY3Vybm9tOnRoaXMuYW5vQ3Vyc29Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGZlY2luaW5vbTp0aGlzLmZlY2hhSW5pY2lvTm9taW5hLFxyXG4gICAgICAgICAgcGVyYWN0bm9tOnRoaXMucGVyaW9kb0FjdHVhbE5vbWluYSxcclxuICAgICAgICAgIG51bXBlcm5vbTp0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcG5vbTp0aGlzLnRpcG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHJhY25vbTp0aGlzLnJhY05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgYWRlbm9tOnRoaXMuYWRlbGFudG9QYWdvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBlc3Bub206dGhpcy5ub21pbmFFc3BlY2lhbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgY3Rub206dGhpcy5ub21pbmFDZXN0YVRpY2tldC50b1N0cmluZygpLFxyXG4gICAgICAgICAgY3RtZXRub206dGhpcy5jZXN0YVRpY2tldE1ldG9kb05vbWluYSxcclxuICAgICAgICAgIGNvZG9yZ2Nlc3RpYzp0aGlzLmNvZGlnb09yZ2FuaXNtb0Nlc3RhVGlja2V0LFxyXG4gICAgICAgICAgY29uc3Vsbm9tOnRoaXMuQ29udGFiaWxpemFjaW9uTm9taW5hLFxyXG4gICAgICAgICAgZGVzY29tbm9tOnRoaXMuZGVzdGlub0NvbXByb2JhbnRlTm9taW5hLFxyXG4gICAgICAgICAgaWRfcHJvdmVlZG9yOnRoaXMuaWRQcm92ZWVkb3IudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN1ZWNvbm5vbTp0aGlzLmN1ZW50YUNvbnRhYmxlTm9taW5hLFxyXG4gICAgICAgICAgbm90ZGVibm9tOnRoaXMubm90YURlYml0b0JhbmNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByZWNkb2Nub206dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY25vbTp0aGlzLnRpcG9Eb2N1bWVudG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvbmFwb25vbTp0aGlzLmNvbnRhYmlsaXphY2lvbkFwb3J0ZU5vbWluYSxcclxuICAgICAgICAgIHJlY2RvY2Fwbzp0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0Fwb3J0ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGlwZG9jYXBvOnRoaXMudGlwb0RvY3VtZW50b0Fwb3J0ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgcGVycmVzbm9tOnRoaXMucGVyaW9kb0FSZXN0YWJsZWNlTm9taW5hLFxyXG4gICAgICAgICAgY29ucGVybm9tOnRoaXMudmFsaWRhckNvbnRhYmlsaXphY2lvblBlcmlvZG9BbnRlcmlvck5vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGl0cmVwbm9tOnRoaXMudGl0dWxvUmVwb3J0ZU5vbWluYSxcclxuICAgICAgICAgIGNvbmZpZG5vbTp0aGlzLmNvbnRhYmlsaXphY2lvbkZpZGVpY29taXNvTm9taW5hLFxyXG4gICAgICAgICAgcmVjZG9jZmlkOnRoaXMucmVjZXBjaW9uRG9jdW1lbnRvRmlkZWljb21pc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY2ZpZDp0aGlzLnRpcG9Eb2N1bWVudG9GaWRlaWNvbWlzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfYmVuZmlkOnRoaXMuaWRCZW5lZmljaWFyaW9GaWRlaWNvbWlzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgY3VlY29uZmlkOnRoaXMuY3VlbnRhQ29udGFibGVGaWRlaWNvbWlzbyxcclxuICAgICAgICAgIGluZm9ybWE6dGhpcy5pbmZvcm1hY2lvblBhcmFSZXBvcnRlLFxyXG4gICAgICAgICAgZGl2Y29uOnRoaXMuZGl2aWRpckNvbmNlcHRvUXVpbmNlbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHJlY2RvY3BhZ3BlcmNoZTp0aGlzLnJlY2VwY2lvbkRvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGlwZG9jcGFncGVyY2hlOnRoaXMudGlwb0RvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgZXN0Y3RhYWx0OnRoaXMuZXN0YXR1c0N1ZW50YUFsdGVybmF0aXZhwqAudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHJhY29icm5vbTp0aGlzLnJhY09icmVyb05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgbm9tbGlxOnRoaXMubm9taW5hTGlxdWlkYWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgIGhvanRpZW5vbTp0aGlzLmhvamFUaWVtcG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvZGZ1ZWZpbjp0aGlzLmNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjZXJzaW5kaXM6dGhpcy5jZXJyYXJTaW5EaXNwb25pYmlsaWRhZC50b1N0cmluZygpLFxyXG4gICAgICAgICAgZXN0YWdyYXBvOnRoaXMuZXN0YXR1c0FncnVwYXJBcG9ydGVzLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByZWNkb2NjYXVub206dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9DYXVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGlwZG9jY2F1bm9tOnRoaXMudGlwb0RvY3VtZW50b0NhdXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBub206dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2NvbmN4cGFwbzp0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUFwb3J0ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfY29uY3hwY2F1OnRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2NvbmN4cHBlcjp0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYVBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBmaWQ6dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFGaWRlaWNvbWlzby50b1N0cmluZygpLCAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgY2VzdGlrc3VlbDp0aGlzLmNlc3RhVGlja2VjdFN1ZWx0b3MudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvZGNlbmNvczp0aGlzLmNvZGlnb0NlbnRyb0Nvc3RvLFxyXG4gICAgICAgICAgY29kdXN1OnRoaXMuY29kaWdvVXN1YXJpbyxcclxuICAgICAgICAgIGNvZGlnb2Z0ZWZpbjp0aGlzLmNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBkZW5mdWVmaW46dGhpcy5kZW5vbWluYWNpb25Db2RpZ29GdWVudGVGaW5hbmNpYW1pZW50byxcclxuICAgICAgICAgIGRlbmNlbmNvczogdGhpcy5kZW5vbWluYWNpb25DZW50cm9Db25zdG8sXHJcbiAgICAgICAgICBkZW5jdGFjb250OiB0aGlzLmRlbm9taW5hY2lvbkN1ZW50YUNvbnRhYmxlLFxyXG4gICAgICAgICAgbm9tcHJvOnRoaXMubm9tYnJlUHJvdmVlZG9yLFxyXG4gICAgICAgICAgaWRfcGVyaW9kb2FjdHVhbDp0aGlzLmlkUGVyaW9kb05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfcGVycmVzbm9tOnRoaXMuaWRQZXJpb2RvUmVzdGFibGVjZXJOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGVzdGluY2lkZW5jaWE6dGhpcy5lc3RhdHVzSW5jaWRlbmNpYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgc2VncGVyOnRoaXMuc2VnbWVudGFyUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHBlcmlvZG9zOnRoaXMucGVyaW9kb3NOb21pbmEubWFwKChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5kYXRhSW50ZXJmYWNlKCk7IH0pKSwgICAgICAgICAgXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRQZXJpb2RvTm9taW5hKCl7XHJcbiAgICBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PScwJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT01MlxyXG4gICAgfSBlbHNlICBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PScxJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT0yNFxyXG4gICAgfSBlbHNlICBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PScyJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT0xMlxyXG4gICAgfSAgZWxzZSBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PSczJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT0xXHJcbiAgICB9ICAgICAgICAgIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgVGlwbyBkZSBub21pbmEge1NlbWFuYWwsIFF1aW5jZW5hbCxNZW5zdWFsLEFudWFsfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25OdW1lcm9Ob21pbmEoKTpzdHJpbmd7XHJcbiAgICBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT01Mil7XHJcbiAgICAgIHJldHVybiAnU2VtYW5hbCdcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09MjQpe1xyXG4gICAgICByZXR1cm4gJ1F1aW5jZW5hbCdcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09MTIpe1xyXG4gICAgICByZXR1cm4gJ01lbnN1YWwnXHJcbiAgICB9ICBlbHNlIGlmICh0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9PTEpe1xyXG4gICAgICByZXR1cm4gJ0FudWFsJ1xyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHBvc2ljaW9uIGRlbCBhcnJheSBkb25kZSBlc3RhIGVsIHBlcmlvZG8gYWN0dWFsIGRlIGxhIG5vbWluYSwgZGUgbG8gY29udHJhcmlvIC0xXHJcbiAgICovXHJcbiAgcHVibGljIGluZGljZSgpOm51bWJlciB7ICAgICAgICAgIFxyXG4gICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmEuZmluZEluZGV4KGU9PiBlLmNvZGlnb1BlcmlvZG89PSB0aGlzLnBlcmlvZG9BY3R1YWxOb21pbmEpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqICBAcmV0dXJucyBGZWNoYSBmaW5hbCBkZSBsYSBub21pbmFcclxuICAgKi9cclxuICBwdWJsaWMgZmVjaGFGaW5hbE5vbWluYSgpOnN0cmluZ3tcclxuICAgIGxldCBpPSB0aGlzLnBlcmlvZG9zTm9taW5hLmxlbmd0aC0xO1xyXG4gICAgbGV0IGZlY2hhRmluPSB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLmZlY2hhSGFzdGFwZXJpb2RvO1xyXG4gICAgcmV0dXJuIGZvcm1hdERhdGUoZmVjaGFGaW4sICd5eXl5LU1NLWRkJywgJ2VuLVVTJyk7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKiAgICAgICAgIFxyXG4gICAqIEByZXR1cm5zIGZlY2hhIGRlIGluaWNpbyBhIGZpbiBkZSBsYSBub21pbmFcclxuICAgKi9cclxuICBwdWJsaWMgZmVjaGFOb21pbmEoKTpzdHJpbmd7XHJcbiAgICBsZXQgaT0gdGhpcy5wZXJpb2Rvc05vbWluYS5sZW5ndGgtMTtcclxuICAgIGxldCBmZWNoYUZpbj0gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5mZWNoYUhhc3RhcGVyaW9kbztcclxuICAgIGxldCBmZWNoYUluaT0gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5mZWNoYURlc2RlUGVyaW9kbztcclxuICAgIHJldHVybiBmb3JtYXREYXRlKGZlY2hhRmluLCAnZGQtTU0teXl5eScsICdlcy1FUycpKycgYWwgJytmb3JtYXREYXRlKGZlY2hhSW5pLCAnZGQtTU0teXl5eScsICdlcy1FUycpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgUmV0b3JuYSBlcyBlc3RhdHVzIGRlbCBwZXJpb2RvIGFjdHVhbCBkZSBsYSBub21pbmEge1xyXG4gICAqIFNpbiBDYWxjdWxhciwgY29udGFiaWxpemFkYSxQZXJpb2RvIENvbnRhYmlsaXphZG8sXHJcbiAgICogUGVyaW9kbyB5IEFwb3J0ZSBDb250YWJpbGl6YWRvLCBBcG9ydGUgQ29udGFiaWxpemFkbyB9XHJcbiAgICovXHJcblxyXG4gIHB1YmxpYyBlc3RhdHVzTm9taW5hKCk6c3RyaW5nIHtcclxuICAgIGxldCBpID0gdGhpcy5pbmRpY2UoKTtcclxuICAgIGlmIChpPj0wKXtcclxuICAgICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmFbaV0uZXN0YXR1c1BlcmlvZG8oKVxyXG4gICAgfSAgXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBTaSBsYSBub21pbmEgcHVlZGUgc2VyIG1vZGlmaWNhZGEgKHZlcmRhZGVybywgZmFsc28pXHJcbiAgICovXHJcbiAgcHVibGljIGVkaXRhYmxlKCk6Ym9vbGVhbiB7XHJcbiAgICBsZXQgaT0gdGhpcy5pbmRpY2UoKTtcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLnBlcmlvZG9FZGl0YWJsZSgpXHJcbiAgfSBcclxuXHJcbiAgLyoqXHJcbiAgICogQHJldHVybnMgaW5kaWNhIHNpIGVsIHBlcmlkbyBhY3R1YWwgZXN0YSBhYmllcnRvXHJcbiAgICogQHJldHVybnMgdmVyZGFkZXJvL2ZhbHNvXHJcbiAgICovICAgICAgICBcclxuICAgcHVibGljIHBlcmlvZG9DZXJyYWRvKCk6Ym9vbGVhbiB7XHJcbiAgICBsZXQgaT0gdGhpcy5pbmRpY2UoKTtcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLmNlcnJhclBlcmlvZG89PTFcclxuICB9IFxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQHJldHVybnMgRmVjaGEgaW5pY2lvIGRlbCBwZXJpb2RvIGFjdHVhbCBkZSBsYSBub21pbmFcclxuICAgKi9cclxuICBwdWJsaWMgZmVjaGFJbmNpb1BlcmlvZG9BY3R1YWwoKTpzdHJpbmd7XHJcbiAgICBsZXQgaT0gdGhpcy5pbmRpY2UoKTtcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLmZlY2hhRGVzZGVQZXJpb2RvO1xyXG4gIH1cclxuXHJcbi8qKlxyXG4gKiBAcmV0dXJucyBGZWNoYSBmaW5hbCBkZWwgcGVyaW9kbyBhY3R1YWwgZGUgbGEgbm9taW5hXHJcbiAqL1xyXG4gIHB1YmxpYyBmZWNoYUZpbmFQZXJpb2RvQWN0dWFsKCk6c3RyaW5ne1xyXG4gICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmFbdGhpcy5pbmRpY2UoKV0uZmVjaGFIYXN0YXBlcmlvZG87XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdWx0aW1vUGVyaW9kb05vbWluYSgpOnN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT01Mil7XHJcbiAgICAgIHJldHVybiAnMDUyJ1xyXG4gICAgfSBlbHNlICBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT0yNCl7XHJcbiAgICAgIHJldHVybiAnMDI0J1xyXG4gICAgfSBlbHNlICBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT0xMil7XHJcbiAgICAgIHJldHVybiAnMDEyJ1xyXG4gICAgfSAgZWxzZSBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT0xKXtcclxuICAgICAgcmV0dXJuICcwMDEnXHJcbiAgICB9ICAgIFxyXG4gICAgICAgIFxyXG4gIH1cclxuXHJcblxyXG4gIFxyXG4gICAgIFxyXG59IFxyXG5cclxuXHJcblxyXG4iXX0=
|
|
345
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTURlZmluaWNpb25Ob21pbmEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWdlc3Avc3JjL2xpYi9jb3JlL21vZGVscy9TTk8vTURlZmluaWNpb25Ob21pbmEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFnRmhELFlBQVksSUFBVSxJQUFJO1FBQ3hCLEtBQUssRUFBRSxDQUFDO1FBaEZILGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsYUFBUSxHQUFRLENBQUMsQ0FBQztRQUNsQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2Qix1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QixzQkFBaUIsR0FBUSxZQUFZLENBQUM7UUFDdEMsd0JBQW1CLEdBQVEsS0FBSyxDQUFDO1FBQ2pDLHdCQUFtQixHQUFRLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQVEsQ0FBQyxDQUFDO1FBQ3BCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsdUJBQWtCLEdBQVEsQ0FBQyxDQUFDO1FBQzVCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQiw0QkFBdUIsR0FBUSxFQUFFLENBQUM7UUFDbEMsK0JBQTBCLEdBQVEsRUFBRSxDQUFDO1FBQ3JDLDBCQUFxQixHQUFRLEtBQUssQ0FBQztRQUNuQyw2QkFBd0IsR0FBUSxHQUFHLENBQUM7UUFDcEMsZ0JBQVcsR0FBUSxDQUFDLENBQUM7UUFDckIseUJBQW9CLEdBQVEsRUFBRSxDQUFDO1FBQy9CLG9CQUFlLEdBQVEsQ0FBQyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFRLENBQUMsQ0FBQztRQUNsQyx3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsZ0NBQTJCLEdBQVEsS0FBSyxDQUFDO1FBQ3pDLDZCQUF3QixHQUFRLENBQUMsQ0FBQztRQUNsQyx3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsNkJBQXdCLEdBQVEsRUFBRSxDQUFDO1FBQ25DLGdEQUEyQyxHQUFRLENBQUMsQ0FBQztRQUNyRCx3QkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDOUIscUNBQWdDLEdBQVEsS0FBSyxDQUFDO1FBQzlDLGtDQUE2QixHQUFRLENBQUMsQ0FBQztRQUN2Qyw2QkFBd0IsR0FBUSxDQUFDLENBQUM7UUFDbEMsOEJBQXlCLEdBQVEsQ0FBQyxDQUFDO1FBQ25DLDhCQUF5QixHQUFRLEVBQUUsQ0FBQztRQUNwQywyQkFBc0IsR0FBUSxFQUFFLENBQUM7UUFDakMsNEJBQXVCLEdBQVEsQ0FBQyxDQUFDO1FBQ2pDLHlDQUFvQyxHQUFRLENBQUMsQ0FBQztRQUM5QyxvQ0FBK0IsR0FBUSxDQUFDLENBQUM7UUFDekMsNkJBQXdCLEdBQVEsQ0FBQyxDQUFDO1FBQ2xDLG9CQUFlLEdBQVEsQ0FBQyxDQUFDO1FBQ3pCLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBUSxDQUFDLENBQUM7UUFDMUIsK0JBQTBCLEdBQVEsQ0FBQyxDQUFDO1FBQ3BDLDRCQUF1QixHQUFRLENBQUMsQ0FBQztRQUNqQywwQkFBcUIsR0FBUSxDQUFDLENBQUM7UUFDL0IsNEJBQXVCLEdBQVEsQ0FBQyxDQUFDO1FBQ2pDLHVCQUFrQixHQUFRLENBQUMsQ0FBQztRQUM1QixzQ0FBaUMsR0FBUSxDQUFDLENBQUM7UUFDM0Msc0NBQWlDLEdBQVEsQ0FBQyxDQUFDO1FBQzNDLHFDQUFnQyxHQUFRLENBQUMsQ0FBQztRQUMxQyx3Q0FBbUMsR0FBUSxDQUFDLENBQUM7UUFDN0MsMkNBQXNDLEdBQVEsQ0FBQyxDQUFDO1FBQ2hELGdEQUEyQyxHQUFDLEVBQUUsQ0FBQztRQUMvQyxnREFBMkMsR0FBQyxFQUFFLENBQUM7UUFDL0MsK0NBQTBDLEdBQUMsRUFBRSxDQUFDO1FBQzlDLGtEQUE2QyxHQUFDLEVBQUUsQ0FBQztRQUNqRCxxREFBZ0QsR0FBQyxFQUFFLENBQUM7UUFDcEQsb0NBQStCLEdBQVEsRUFBRSxDQUFDO1FBQzFDLG1DQUE4QixHQUFRLEVBQUUsQ0FBQztRQUN6QyxnREFBMkMsR0FBUSxFQUFFLENBQUM7UUFDdEQseUNBQW9DLEdBQVEsRUFBRSxDQUFDO1FBQy9DLG9DQUErQixHQUFDLEVBQUUsQ0FBQztRQUNuQyxxQ0FBZ0MsR0FBUSxFQUFFLENBQUM7UUFDM0MsMkNBQXNDLEdBQVEsRUFBRSxDQUFDO1FBQ2pELG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLGtDQUE2QixHQUFRLEVBQUUsQ0FBQztRQUN4QyxzQkFBaUIsR0FBUSxLQUFLLENBQUM7UUFDL0Isd0JBQW1CLEdBQVEsQ0FBQyxDQUFDO1FBQzdCLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUNuQywrQkFBMEIsR0FBUSxFQUFFLENBQUM7UUFDckMsb0JBQWUsR0FBUSxDQUFDLENBQUM7UUFDekIsK0JBQTBCLEdBQVEsQ0FBQyxDQUFDO1FBQ3BDLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUM1QixzQkFBaUIsR0FBUSxJQUFJLENBQUM7UUFDN0IsbUJBQWMsR0FBa0IsRUFBRSxDQUFDO1FBSXRDLElBQUksQ0FBQyxFQUFDO1lBQ0osSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNwQyxJQUFJLENBQUMsd0JBQXdCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLHVCQUF1QixHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDeEMsSUFBSSxDQUFDLDBCQUEwQixHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLHFCQUFxQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLHdCQUF3QixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxvQkFBb0IsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsd0JBQXdCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsMkJBQTJCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLENBQUMsd0JBQXdCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsd0JBQXdCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxQyxJQUFJLENBQUMsMkNBQTJDLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0NBQWdDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNsRCxJQUFJLENBQUMsNkJBQTZCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsd0JBQXdCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMseUJBQXlCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMseUJBQXlCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMzQyxJQUFJLENBQUMsc0JBQXNCLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN0QyxJQUFJLENBQUMsdUJBQXVCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsb0NBQW9DLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsK0JBQStCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsd0JBQXdCLEdBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLDBCQUEwQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLHVCQUF1QixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLHFCQUFxQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLHVCQUF1QixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLGtCQUFrQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGlDQUFpQyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLGlDQUFpQyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLGdDQUFnQyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLG1DQUFtQyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLHNDQUFzQyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGlCQUFpQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7WUFDbEMsSUFBSSxDQUFDLHdCQUF3QixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7WUFDekMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDL0MsSUFBSSxDQUFDLHNDQUFzQyxHQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7WUFDNUUsSUFBSSxDQUFDLDBCQUEwQixHQUFFLENBQUMsQ0FBQyxVQUFVLENBQUE7WUFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pELElBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBQztnQkFDWixJQUFJLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5RDtZQUNELElBQUksQ0FBQyxlQUFlLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQywwQkFBMEIsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxpQkFBaUIsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQztTQUNqQjtJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pCLElBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFFLENBQUMsRUFBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUMsS0FBSyxDQUFDO1NBQzlCO1FBQ0QsT0FBTztZQUNMLGFBQWEsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMxQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDNUIsU0FBUyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQzlCLE1BQU0sRUFBQyxJQUFJLENBQUMsWUFBWTtZQUN4QixNQUFNLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUM5QixTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNqQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUN2QyxTQUFTLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDeEMsU0FBUyxFQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDaEMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDbEMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDN0MsTUFBTSxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE1BQU0sRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNoQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtZQUN6QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDckMsS0FBSyxFQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDdkMsUUFBUSxFQUFDLElBQUksQ0FBQyx1QkFBdUI7WUFDckMsWUFBWSxFQUFDLElBQUksQ0FBQywwQkFBMEI7WUFDNUMsU0FBUyxFQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDcEMsU0FBUyxFQUFDLElBQUksQ0FBQyx3QkFBd0I7WUFDdkMsWUFBWSxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQ3hDLFNBQVMsRUFBQyxJQUFJLENBQUMsb0JBQW9CO1lBQ25DLFNBQVMsRUFBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUN6QyxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNsRCxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtZQUM3QyxTQUFTLEVBQUMsSUFBSSxDQUFDLDJCQUEyQjtZQUMxQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNsRCxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtZQUM3QyxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUN2QyxTQUFTLEVBQUMsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLFFBQVEsRUFBRTtZQUNyRSxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGdDQUFnQztZQUMvQyxTQUFTLEVBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRTtZQUN2RCxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNsRCxTQUFTLEVBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtZQUNuRCxTQUFTLEVBQUMsSUFBSSxDQUFDLHlCQUF5QjtZQUN4QyxPQUFPLEVBQUMsSUFBSSxDQUFDLHNCQUFzQjtZQUNuQyxNQUFNLEVBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRTtZQUM5QyxlQUFlLEVBQUMsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsRUFBRTtZQUNwRSxlQUFlLEVBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLFFBQVEsRUFBRTtZQUMvRCxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFFLFFBQVEsRUFBRTtZQUNuRCxTQUFTLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDekMsTUFBTSxFQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDeEMsU0FBUyxFQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7WUFDMUMsU0FBUyxFQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUU7WUFDcEQsU0FBUyxFQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUU7WUFDakQsU0FBUyxFQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUU7WUFDL0MsWUFBWSxFQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUU7WUFDcEQsWUFBWSxFQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7WUFDL0MsWUFBWSxFQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUU7WUFDOUQsWUFBWSxFQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUU7WUFDOUQsWUFBWSxFQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUU7WUFDN0QsWUFBWSxFQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUU7WUFDaEUsWUFBWSxFQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUU7WUFDbkUsVUFBVSxFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDOUMsU0FBUyxFQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDaEMsTUFBTSxFQUFDLElBQUksQ0FBQyxhQUFhO1lBQ3pCLFlBQVksRUFBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFO1lBQ3ZELFNBQVMsRUFBQyxJQUFJLENBQUMsc0NBQXNDO1lBQ3JELFNBQVMsRUFBRSxJQUFJLENBQUMsd0JBQXdCO1lBQ3hDLFVBQVUsRUFBRSxJQUFJLENBQUMsMEJBQTBCO1lBQzNDLE1BQU0sRUFBQyxJQUFJLENBQUMsZUFBZTtZQUMzQixnQkFBZ0IsRUFBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUNoRCxZQUFZLEVBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRTtZQUN2RCxhQUFhLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMvQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUN4QyxRQUFRLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pGLENBQUE7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFFLEdBQUcsRUFBQztZQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUMsRUFBRSxDQUFBO1NBQzVCO2FBQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUUsR0FBRyxFQUFDO1lBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxFQUFFLENBQUE7U0FDNUI7YUFBTyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBRSxHQUFHLEVBQUM7WUFDdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLEVBQUUsQ0FBQTtTQUM1QjthQUFPLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFFLEdBQUcsRUFBQztZQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHdCQUF3QjtRQUM3QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBRSxFQUFFLEVBQUM7WUFDL0IsT0FBTyxTQUFTLENBQUE7U0FDakI7YUFBTyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBRSxFQUFFLEVBQUM7WUFDdkMsT0FBTyxXQUFXLENBQUE7U0FDbkI7YUFBTyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBRSxFQUFFLEVBQUM7WUFDdkMsT0FBTyxTQUFTLENBQUE7U0FDakI7YUFBTyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBRSxDQUFDLEVBQUM7WUFDdEMsT0FBTyxPQUFPLENBQUE7U0FDZjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLElBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUdEOztPQUVHO0lBQ0ksZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxHQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLFFBQVEsR0FBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZELE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsR0FBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxRQUFRLEdBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxJQUFJLFFBQVEsR0FBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZELE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUMsTUFBTSxHQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRDs7Ozs7T0FLRztJQUVJLGFBQWE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFFLENBQUMsRUFBQztZQUNQLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtTQUMvQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEdBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssY0FBYztRQUNwQixJQUFJLENBQUMsR0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBRSxDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUdEOztPQUVHO0lBQ0ksdUJBQXVCO1FBQzVCLElBQUksQ0FBQyxHQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFDbEQsQ0FBQztJQUVIOztPQUVHO0lBQ00sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUM5RCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFFLEVBQUUsRUFBQztZQUMvQixPQUFPLEtBQUssQ0FBQTtTQUNiO2FBQU8sSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUUsRUFBRSxFQUFDO1lBQ3ZDLE9BQU8sS0FBSyxDQUFBO1NBQ2I7YUFBTyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBRSxFQUFFLEVBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUE7U0FDYjthQUFPLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFFLENBQUMsRUFBQztZQUN0QyxPQUFPLEtBQUssQ0FBQTtTQUNiO0lBRUgsQ0FBQztDQUtGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tICcuLi9iYXNpYy1tb2RlbC5tb2RlbCc7XHJcbmltcG9ydCB7IElOb21pbmEsIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Ob21pbmEnO1xyXG5pbXBvcnQgeyBNUGVyaW9kb05vbWluYSB9IGZyb20gJy4vTVBlcmlvZG9Ob21pbmEubW9kZWwnO1xyXG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNRGVmaW5pY2lvbk5vbWluYSBleHRlbmRzIE1CYXNpY01vZGVsIHsgXHJcbiAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICBwdWJsaWMgaWROb21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGNvZGlnb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbk5vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIHRpcG9QZXJvaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlc2NyaXBjaW9uUGVyaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGFub0N1cnNvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBmZWNoYUluaWNpb05vbWluYTpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gIHB1YmxpYyBwZXJpb2RvQWN0dWFsTm9taW5hOnN0cmluZz0nMDAxJztcclxuICBwdWJsaWMgbnVtZXJvUGVyaW9kb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgcmFjTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBhZGVsYW50b1BhZ29Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIG5vbWluYUVzcGVjaWFsOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBub21pbmFDZXN0YVRpY2tldDpudW1iZXI9MDtcclxuICBwdWJsaWMgY2VzdGFUaWNrZXRNZXRvZG9Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBjb2RpZ29PcmdhbmlzbW9DZXN0YVRpY2tldDpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIENvbnRhYmlsaXphY2lvbk5vbWluYTpzdHJpbmc9J0NDUCc7XHJcbiAgcHVibGljIGRlc3Rpbm9Db21wcm9iYW50ZU5vbWluYTpzdHJpbmc9J0InO1xyXG4gIHB1YmxpYyBpZFByb3ZlZWRvcjpudW1iZXI9MDtcclxuICBwdWJsaWMgY3VlbnRhQ29udGFibGVOb21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBub3RhRGViaXRvQmFuY286bnVtYmVyPTA7XHJcbiAgcHVibGljIHJlY2VwY2lvbkRvY3VtZW50b05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgY29udGFiaWxpemFjaW9uQXBvcnRlTm9taW5hOnN0cmluZz0nQ0NQJztcclxuICBwdWJsaWMgcmVjZXBjaW9uRG9jdW1lbnRvQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXBvRG9jdW1lbnRvQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBwZXJpb2RvQVJlc3RhYmxlY2VOb21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyB2YWxpZGFyQ29udGFiaWxpemFjaW9uUGVyaW9kb0FudGVyaW9yTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXR1bG9SZXBvcnRlTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgY29udGFiaWxpemFjaW9uRmlkZWljb21pc29Ob21pbmE6c3RyaW5nPSdDQ1AnO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9GaWRlaWNvbWlzbzpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b0ZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZEJlbmVmaWNpYXJpb0ZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjdWVudGFDb250YWJsZUZpZGVpY29taXNvOnN0cmluZz0nJztcclxuICBwdWJsaWMgaW5mb3JtYWNpb25QYXJhUmVwb3J0ZTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRpdmlkaXJDb25jZXB0b1F1aW5jZW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU6bnVtYmVyPTA7XHJcbiAgcHVibGljIHRpcG9Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU6bnVtYmVyPTA7XHJcbiAgcHVibGljIGVzdGF0dXNDdWVudGFBbHRlcm5hdGl2YTpudW1iZXI9MDtcclxuICBwdWJsaWMgcmFjT2JyZXJvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBub21pbmFMaXF1aWRhY2lvbjpudW1iZXI9MDtcclxuICBwdWJsaWMgaG9qYVRpZW1wb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgY29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG86bnVtYmVyPTA7XHJcbiAgcHVibGljIGNlcnJhclNpbkRpc3BvbmliaWxpZGFkOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBlc3RhdHVzQWdydXBhckFwb3J0ZXM6bnVtYmVyPTA7XHJcbiAgcHVibGljIHJlY2VwY2lvbkRvY3VtZW50b0NhdXNhOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXBvRG9jdW1lbnRvQ2F1c2E6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYU5vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFDYXVzYTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhTm9taW5hPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2E9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbkNvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFQZXJzb25hbD0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvRG9jdW1lbnRvTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb0RvY3VtZW50b0NhdXNhOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb0RvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9GaWRlaWNvbWlzbzpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9BcG9ydGU9Jyc7XHJcbiAgcHVibGljIGNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvTW9zdGFyOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG86c3RyaW5nPScnOyAgXHJcbiAgcHVibGljIG5vbWJyZVByb3ZlZWRvcjpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIG5vbWJyZUJlbmVmaWNpYXJpb0ZpZGVpY29taXNvOnN0cmluZz0nJztcclxuICBwdWJsaWMgY29kaWdvQ2VudHJvQ29zdG86c3RyaW5nPSctLS0nO1xyXG4gIHB1YmxpYyBjZXN0YVRpY2tlY3RTdWVsdG9zOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjb2RpZ29Vc3VhcmlvOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ2VudHJvQ29uc3RvOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ3VlbnRhQ29udGFibGU6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBpZFBlcmlvZG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkUGVyaW9kb1Jlc3RhYmxlY2VyTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBlc3RhdHVzSW5jaWRlbmNpYTpudW1iZXI9MDtcclxuXHRwdWJsaWMgc2VnbWVudGFyUGVyc29uYWw6bnVtYmVyPTMwMDA7XHJcbiAgcHVibGljIHBlcmlvZG9zTm9taW5hOk1QZXJpb2RvTm9taW5hW109W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKGU6SU5vbWluYT1udWxsKXtcclxuICAgIHN1cGVyKCk7XHJcbiAgICAgIGlmIChlKXtcclxuICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgdGhpcy5pZEVtcHJlc2E9K2UuaWRfZW1wcmVzYcKgXHJcbiAgICAgICAgdGhpcy5pZE5vbWluYT1wYXJzZUludChlLmlkX25vbWluYSk7XHJcbiAgICAgICAgICB0aGlzLmNvZGlnb05vbWluYT1lLmNvZG5vbTtcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uTm9taW5hPWUuZGVubm9tO1xyXG4gICAgICAgICAgdGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9ZS50aXBwZXJub207XHJcbiAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uUGVyaW9kb05vbWluYT1lLmRlc3Blcm5vbTtcclxuICAgICAgICAgIHRoaXMuYW5vQ3Vyc29Ob21pbmE9cGFyc2VJbnQoZS5hbm9jdXJub20pO1xyXG4gICAgICAgICAgdGhpcy5mZWNoYUluaWNpb05vbWluYT1lLmZlY2luaW5vbTtcclxuICAgICAgICAgIHRoaXMucGVyaW9kb0FjdHVhbE5vbWluYT1lLnBlcmFjdG5vbTtcclxuICAgICAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT1wYXJzZUludChlLm51bXBlcm5vbSk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Ob21pbmE9cGFyc2VJbnQoZS50aXBub20pO1xyXG4gICAgICAgICAgdGhpcy5yYWNOb21pbmE9cGFyc2VJbnQoZS5yYWNub20pO1xyXG4gICAgICAgICAgdGhpcy5hZGVsYW50b1BhZ29Ob21pbmE9cGFyc2VJbnQoZS5hZGVub20pO1xyXG4gICAgICAgICAgdGhpcy5ub21pbmFFc3BlY2lhbD1wYXJzZUludChlLmVzcG5vbSk7XHJcbiAgICAgICAgICB0aGlzLm5vbWluYUNlc3RhVGlja2V0PXBhcnNlSW50KGUuY3Rub20pO1xyXG4gICAgICAgICAgdGhpcy5jZXN0YVRpY2tldE1ldG9kb05vbWluYT1lLmN0bWV0bm9tO1xyXG4gICAgICAgICAgdGhpcy5jb2RpZ29PcmdhbmlzbW9DZXN0YVRpY2tldD1lLmNvZG9yZ2Nlc3RpYztcclxuICAgICAgICAgIHRoaXMuQ29udGFiaWxpemFjaW9uTm9taW5hPWUuY29uc3Vsbm9tO1xyXG4gICAgICAgICAgdGhpcy5kZXN0aW5vQ29tcHJvYmFudGVOb21pbmE9ZS5kZXNjb21ub207XHJcbiAgICAgICAgICB0aGlzLmlkUHJvdmVlZG9yPXBhcnNlSW50KGUuaWRfcHJvdmVlZG9yKTtcclxuICAgICAgICAgIHRoaXMuY3VlbnRhQ29udGFibGVOb21pbmE9ZS5jdWVjb25ub207XHJcbiAgICAgICAgICB0aGlzLm5vdGFEZWJpdG9CYW5jbz1wYXJzZUludChlLm5vdGRlYm5vbSk7XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b05vbWluYT1wYXJzZUludChlLnJlY2RvY25vbSk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Eb2N1bWVudG9Ob21pbmE9cGFyc2VJbnQoZS50aXBkb2Nub20pO1xyXG4gICAgICAgICAgdGhpcy5jb250YWJpbGl6YWNpb25BcG9ydGVOb21pbmE9ZS5jb25hcG9ub207XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0Fwb3J0ZT1wYXJzZUludChlLnJlY2RvY2Fwbyk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Eb2N1bWVudG9BcG9ydGU9cGFyc2VJbnQoZS50aXBkb2NhcG8pO1xyXG4gICAgICAgICAgdGhpcy5wZXJpb2RvQVJlc3RhYmxlY2VOb21pbmE9ZS5wZXJyZXNub207XHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXJDb250YWJpbGl6YWNpb25QZXJpb2RvQW50ZXJpb3JOb21pbmE9cGFyc2VJbnQoZS5jb25wZXJub20pO1xyXG4gICAgICAgICAgdGhpcy50aXR1bG9SZXBvcnRlTm9taW5hPWUudGl0cmVwbm9tO1xyXG4gICAgICAgICAgdGhpcy5jb250YWJpbGl6YWNpb25GaWRlaWNvbWlzb05vbWluYT1lLmNvbmZpZG5vbTtcclxuICAgICAgICAgIHRoaXMucmVjZXBjaW9uRG9jdW1lbnRvRmlkZWljb21pc289cGFyc2VJbnQoZS5yZWNkb2NmaWQpO1xyXG4gICAgICAgICAgdGhpcy50aXBvRG9jdW1lbnRvRmlkZWljb21pc289cGFyc2VJbnQoZS50aXBkb2NmaWQpO1xyXG4gICAgICAgICAgdGhpcy5pZEJlbmVmaWNpYXJpb0ZpZGVpY29taXNvPXBhcnNlSW50KGUuaWRfYmVuZmlkKTtcclxuICAgICAgICAgIHRoaXMuY3VlbnRhQ29udGFibGVGaWRlaWNvbWlzbz1lLmN1ZWNvbmZpZDtcclxuICAgICAgICAgIHRoaXMuaW5mb3JtYWNpb25QYXJhUmVwb3J0ZT1lLmluZm9ybWE7XHJcbiAgICAgICAgICB0aGlzLmRpdmlkaXJDb25jZXB0b1F1aW5jZW5hPXBhcnNlSW50KGUuZGl2Y29uKTtcclxuICAgICAgICAgIHRoaXMucmVjZXBjaW9uRG9jdW1lbnRvUGFnb1BlcnNvbmFsQ2hlcXVlPXBhcnNlSW50KGUucmVjZG9jcGFncGVyY2hlKTtcclxuICAgICAgICAgIHRoaXMudGlwb0RvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZT1wYXJzZUludChlLnRpcGRvY3BhZ3BlcmNoZSk7XHJcbiAgICAgICAgICB0aGlzLmVzdGF0dXNDdWVudGFBbHRlcm5hdGl2YcKgPXBhcnNlSW50KGUuZXN0Y3RhYWx0KTtcclxuICAgICAgICAgIHRoaXMucmFjT2JyZXJvTm9taW5hPXBhcnNlSW50KGUucmFjb2Jybm9tKTtcclxuICAgICAgICAgIHRoaXMubm9taW5hTGlxdWlkYWNpb249cGFyc2VJbnQoZS5ub21saXEpO1xyXG4gICAgICAgICAgdGhpcy5ob2phVGllbXBvTm9taW5hPXBhcnNlSW50KGUuaG9qdGllbm9tKTtcclxuICAgICAgICAgIHRoaXMuY29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG89cGFyc2VJbnQoZS5jb2RmdWVmaW4pO1xyXG4gICAgICAgICAgdGhpcy5jZXJyYXJTaW5EaXNwb25pYmlsaWRhZD1wYXJzZUludChlLmNlcnNpbmRpcyk7XHJcbiAgICAgICAgICB0aGlzLmVzdGF0dXNBZ3J1cGFyQXBvcnRlcz1wYXJzZUludChlLmVzdGFncmFwbyk7XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0NhdXNhPXBhcnNlSW50KGUucmVjZG9jY2F1bm9tKTtcclxuICAgICAgICAgIHRoaXMudGlwb0RvY3VtZW50b0NhdXNhPXBhcnNlSW50KGUudGlwZG9jY2F1bm9tKTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhTm9taW5hPXBhcnNlSW50KGUuaWRfY29uY3hwbm9tKTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlPXBhcnNlSW50KGUuaWRfY29uY3hwYXBvKTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2E9cGFyc2VJbnQoZS5pZF9jb25jeHBjYXUpO1xyXG4gICAgICAgICAgdGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFQZXJzb25hbD1wYXJzZUludChlLmlkX2NvbmN4cHBlcik7XHJcbiAgICAgICAgICB0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvPXBhcnNlSW50KGUuaWRfY29uY3hwZmlkKTtcclxuICAgICAgICAgIHRoaXMuY29kaWdvQ2VudHJvQ29zdG89ZS5jb2RjZW5jb3NcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ2VudHJvQ29uc3RvPWUuZGVuY2VuY29zXHJcbiAgICAgICAgICB0aGlzLmNlc3RhVGlja2VjdFN1ZWx0b3M9cGFyc2VJbnQoZS5jZXN0aWtzdWVsKSAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG89ZS5jb2RpZ29mdGVmaW4rJyAtICcrZS5kZW5mdWVmaW4gIFxyXG4gICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DdWVudGFDb250YWJsZT0gZS5kZW5jdGFjb250ICBcclxuICAgICAgICAgIHRoaXMubm9tYnJlUHJvdmVlZG9yPSBlLm5vbXBybztcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c0luY2lkZW5jaWE9cGFyc2VJbnQoZS5lc3RpbmNpZGVuY2lhKTtcclxuICAgICAgICAgIGlmKGUucGVyaW9kb3Mpe1xyXG4gICAgICAgICAgICB0aGlzLnBlcmlvZG9zTm9taW5hPWUucGVyaW9kb3MubWFwKGU9Pm5ldyBNUGVyaW9kb05vbWluYShlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmlkUGVyaW9kb05vbWluYT1wYXJzZUludChlLmlkX3BlcmlvZG9hY3R1YWwpO1xyXG4gICAgICAgICAgdGhpcy5pZFBlcmlvZG9SZXN0YWJsZWNlck5vbWluYT1wYXJzZUludChlLmlkX3BlcnJlc25vbSk7IFxyXG4gICAgICAgICAgdGhpcy5zZWdtZW50YXJQZXJzb25hbD1wYXJzZUludChlLnNlZ3Blcik7IFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJTm9taW5hIHtcclxuICAgICAgdGhpcy4gZ2V0UGVyaW9kb05vbWluYSgpO1xyXG4gICAgICBpZih0aGlzLnNlZ21lbnRhclBlcnNvbmFsPT0wKXtcclxuICAgICAgICB0aGlzLnNlZ21lbnRhclBlcnNvbmFsPTEwMDAwO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgIGlkX2VtcHJlc2HCoDp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgaWRfbm9taW5hOnRoaXMuaWROb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvZG5vbTp0aGlzLmNvZGlnb05vbWluYSxcclxuICAgICAgICAgIGRlbm5vbTp0aGlzLmRlbm9taW5hY2lvbk5vbWluYSxcclxuICAgICAgICAgIHRpcHBlcm5vbTp0aGlzLnRpcG9QZXJvaW9kb05vbWluYSxcclxuICAgICAgICAgIGRlc3Blcm5vbTp0aGlzLmRlc2NyaXBjaW9uUGVyaW9kb05vbWluYSxcclxuICAgICAgICAgIGFub2N1cm5vbTp0aGlzLmFub0N1cnNvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBmZWNpbmlub206dGhpcy5mZWNoYUluaWNpb05vbWluYSxcclxuICAgICAgICAgIHBlcmFjdG5vbTp0aGlzLnBlcmlvZG9BY3R1YWxOb21pbmEsXHJcbiAgICAgICAgICBudW1wZXJub206dGhpcy5udW1lcm9QZXJpb2RvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICB0aXBub206dGhpcy50aXBvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByYWNub206dGhpcy5yYWNOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGFkZW5vbTp0aGlzLmFkZWxhbnRvUGFnb05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgZXNwbm9tOnRoaXMubm9taW5hRXNwZWNpYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN0bm9tOnRoaXMubm9taW5hQ2VzdGFUaWNrZXQudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN0bWV0bm9tOnRoaXMuY2VzdGFUaWNrZXRNZXRvZG9Ob21pbmEsXHJcbiAgICAgICAgICBjb2RvcmdjZXN0aWM6dGhpcy5jb2RpZ29PcmdhbmlzbW9DZXN0YVRpY2tldCxcclxuICAgICAgICAgIGNvbnN1bG5vbTp0aGlzLkNvbnRhYmlsaXphY2lvbk5vbWluYSxcclxuICAgICAgICAgIGRlc2NvbW5vbTp0aGlzLmRlc3Rpbm9Db21wcm9iYW50ZU5vbWluYSxcclxuICAgICAgICAgIGlkX3Byb3ZlZWRvcjp0aGlzLmlkUHJvdmVlZG9yLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjdWVjb25ub206dGhpcy5jdWVudGFDb250YWJsZU5vbWluYSxcclxuICAgICAgICAgIG5vdGRlYm5vbTp0aGlzLm5vdGFEZWJpdG9CYW5jby50b1N0cmluZygpLFxyXG4gICAgICAgICAgcmVjZG9jbm9tOnRoaXMucmVjZXBjaW9uRG9jdW1lbnRvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICB0aXBkb2Nub206dGhpcy50aXBvRG9jdW1lbnRvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjb25hcG9ub206dGhpcy5jb250YWJpbGl6YWNpb25BcG9ydGVOb21pbmEsXHJcbiAgICAgICAgICByZWNkb2NhcG86dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9BcG9ydGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY2Fwbzp0aGlzLnRpcG9Eb2N1bWVudG9BcG9ydGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHBlcnJlc25vbTp0aGlzLnBlcmlvZG9BUmVzdGFibGVjZU5vbWluYSxcclxuICAgICAgICAgIGNvbnBlcm5vbTp0aGlzLnZhbGlkYXJDb250YWJpbGl6YWNpb25QZXJpb2RvQW50ZXJpb3JOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpdHJlcG5vbTp0aGlzLnRpdHVsb1JlcG9ydGVOb21pbmEsXHJcbiAgICAgICAgICBjb25maWRub206dGhpcy5jb250YWJpbGl6YWNpb25GaWRlaWNvbWlzb05vbWluYSxcclxuICAgICAgICAgIHJlY2RvY2ZpZDp0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0ZpZGVpY29taXNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICB0aXBkb2NmaWQ6dGhpcy50aXBvRG9jdW1lbnRvRmlkZWljb21pc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2JlbmZpZDp0aGlzLmlkQmVuZWZpY2lhcmlvRmlkZWljb21pc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN1ZWNvbmZpZDp0aGlzLmN1ZW50YUNvbnRhYmxlRmlkZWljb21pc28sXHJcbiAgICAgICAgICBpbmZvcm1hOnRoaXMuaW5mb3JtYWNpb25QYXJhUmVwb3J0ZSxcclxuICAgICAgICAgIGRpdmNvbjp0aGlzLmRpdmlkaXJDb25jZXB0b1F1aW5jZW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByZWNkb2NwYWdwZXJjaGU6dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY3BhZ3BlcmNoZTp0aGlzLnRpcG9Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGVzdGN0YWFsdDp0aGlzLmVzdGF0dXNDdWVudGFBbHRlcm5hdGl2YcKgLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByYWNvYnJub206dGhpcy5yYWNPYnJlcm9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIG5vbWxpcTp0aGlzLm5vbWluYUxpcXVpZGFjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBob2p0aWVub206dGhpcy5ob2phVGllbXBvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjb2RmdWVmaW46dGhpcy5jb2RpZ29GdWVudGVGaW5hbmNpYW1pZW50by50b1N0cmluZygpLFxyXG4gICAgICAgICAgY2Vyc2luZGlzOnRoaXMuY2VycmFyU2luRGlzcG9uaWJpbGlkYWQudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGVzdGFncmFwbzp0aGlzLmVzdGF0dXNBZ3J1cGFyQXBvcnRlcy50b1N0cmluZygpLFxyXG4gICAgICAgICAgcmVjZG9jY2F1bm9tOnRoaXMucmVjZXBjaW9uRG9jdW1lbnRvQ2F1c2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY2NhdW5vbTp0aGlzLnRpcG9Eb2N1bWVudG9DYXVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfY29uY3hwbm9tOnRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBhcG86dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFBcG9ydGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2NvbmN4cGNhdTp0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUNhdXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBwZXI6dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfY29uY3hwZmlkOnRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhRmlkZWljb21pc28udG9TdHJpbmcoKSwgICAgICAgICAgICAgICBcclxuICAgICAgICAgIGNlc3Rpa3N1ZWw6dGhpcy5jZXN0YVRpY2tlY3RTdWVsdG9zLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjb2RjZW5jb3M6dGhpcy5jb2RpZ29DZW50cm9Db3N0byxcclxuICAgICAgICAgIGNvZHVzdTp0aGlzLmNvZGlnb1VzdWFyaW8sXHJcbiAgICAgICAgICBjb2RpZ29mdGVmaW46dGhpcy5jb2RpZ29GdWVudGVGaW5hbmNpYW1pZW50by50b1N0cmluZygpLFxyXG4gICAgICAgICAgZGVuZnVlZmluOnRoaXMuZGVub21pbmFjaW9uQ29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG8sXHJcbiAgICAgICAgICBkZW5jZW5jb3M6IHRoaXMuZGVub21pbmFjaW9uQ2VudHJvQ29uc3RvLFxyXG4gICAgICAgICAgZGVuY3RhY29udDogdGhpcy5kZW5vbWluYWNpb25DdWVudGFDb250YWJsZSxcclxuICAgICAgICAgIG5vbXBybzp0aGlzLm5vbWJyZVByb3ZlZWRvcixcclxuICAgICAgICAgIGlkX3BlcmlvZG9hY3R1YWw6dGhpcy5pZFBlcmlvZG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX3BlcnJlc25vbTp0aGlzLmlkUGVyaW9kb1Jlc3RhYmxlY2VyTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBlc3RpbmNpZGVuY2lhOnRoaXMuZXN0YXR1c0luY2lkZW5jaWEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHNlZ3Blcjp0aGlzLnNlZ21lbnRhclBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBwZXJpb2Rvczp0aGlzLnBlcmlvZG9zTm9taW5hLm1hcCgoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUuZGF0YUludGVyZmFjZSgpOyB9KSksICAgICAgICAgIFxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGVyaW9kb05vbWluYSgpe1xyXG4gICAgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMCcpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9NTJcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMScpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9MjRcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMicpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9MTJcclxuICAgIH0gIGVsc2UgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMycpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9MVxyXG4gICAgfSAgICAgICAgICBcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIFRpcG8gZGUgbm9taW5hIHtTZW1hbmFsLCBRdWluY2VuYWwsTWVuc3VhbCxBbnVhbH1cclxuICAgKi9cclxuICBwdWJsaWMgZGVub21pbmFjaW9uTnVtZXJvTm9taW5hKCk6c3RyaW5ne1xyXG4gICAgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09NTIpe1xyXG4gICAgICByZXR1cm4gJ1NlbWFuYWwnXHJcbiAgICB9IGVsc2UgIGlmICh0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9PTI0KXtcclxuICAgICAgcmV0dXJuICdRdWluY2VuYWwnXHJcbiAgICB9IGVsc2UgIGlmICh0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9PTEyKXtcclxuICAgICAgcmV0dXJuICdNZW5zdWFsJ1xyXG4gICAgfSAgZWxzZSBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT0xKXtcclxuICAgICAgcmV0dXJuICdBbnVhbCdcclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBwb3NpY2lvbiBkZWwgYXJyYXkgZG9uZGUgZXN0YSBlbCBwZXJpb2RvIGFjdHVhbCBkZSBsYSBub21pbmEsIGRlIGxvIGNvbnRyYXJpbyAtMVxyXG4gICAqL1xyXG4gIHB1YmxpYyBpbmRpY2UoKTpudW1iZXIgeyAgICAgICAgICBcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hLmZpbmRJbmRleChlPT4gZS5jb2RpZ29QZXJpb2RvPT0gdGhpcy5wZXJpb2RvQWN0dWFsTm9taW5hKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiAgQHJldHVybnMgRmVjaGEgZmluYWwgZGUgbGEgbm9taW5hXHJcbiAgICovXHJcbiAgcHVibGljIGZlY2hhRmluYWxOb21pbmEoKTpzdHJpbmd7XHJcbiAgICBsZXQgaT0gdGhpcy5wZXJpb2Rvc05vbWluYS5sZW5ndGgtMTtcclxuICAgIGxldCBmZWNoYUZpbj0gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5mZWNoYUhhc3RhcGVyaW9kbztcclxuICAgIHJldHVybiBmb3JtYXREYXRlKGZlY2hhRmluLCAneXl5eS1NTS1kZCcsICdlbi1VUycpO1xyXG4gIH1cclxuICBcclxuICAvKiogICAgICAgICBcclxuICAgKiBAcmV0dXJucyBmZWNoYSBkZSBpbmljaW8gYSBmaW4gZGUgbGEgbm9taW5hXHJcbiAgICovXHJcbiAgcHVibGljIGZlY2hhTm9taW5hKCk6c3RyaW5ne1xyXG4gICAgbGV0IGk9IHRoaXMucGVyaW9kb3NOb21pbmEubGVuZ3RoLTE7XHJcbiAgICBsZXQgZmVjaGFGaW49IHRoaXMucGVyaW9kb3NOb21pbmFbaV0uZmVjaGFIYXN0YXBlcmlvZG87XHJcbiAgICBsZXQgZmVjaGFJbmk9IHRoaXMucGVyaW9kb3NOb21pbmFbaV0uZmVjaGFEZXNkZVBlcmlvZG87XHJcbiAgICByZXR1cm4gZm9ybWF0RGF0ZShmZWNoYUZpbiwgJ2RkLU1NLXl5eXknLCAnZXMtRVMnKSsnIGFsICcrZm9ybWF0RGF0ZShmZWNoYUluaSwgJ2RkLU1NLXl5eXknLCAnZXMtRVMnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIFJldG9ybmEgZXMgZXN0YXR1cyBkZWwgcGVyaW9kbyBhY3R1YWwgZGUgbGEgbm9taW5hIHtcclxuICAgKiBTaW4gQ2FsY3VsYXIsIGNvbnRhYmlsaXphZGEsUGVyaW9kbyBDb250YWJpbGl6YWRvLFxyXG4gICAqIFBlcmlvZG8geSBBcG9ydGUgQ29udGFiaWxpemFkbywgQXBvcnRlIENvbnRhYmlsaXphZG8gfVxyXG4gICAqL1xyXG5cclxuICBwdWJsaWMgZXN0YXR1c05vbWluYSgpOnN0cmluZyB7XHJcbiAgICBsZXQgaSA9IHRoaXMuaW5kaWNlKCk7XHJcbiAgICBpZiAoaT49MCl7XHJcbiAgICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLmVzdGF0dXNQZXJpb2RvKClcclxuICAgIH0gIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgU2kgbGEgbm9taW5hIHB1ZWRlIHNlciBtb2RpZmljYWRhICh2ZXJkYWRlcm8sIGZhbHNvKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBlZGl0YWJsZSgpOmJvb2xlYW4ge1xyXG4gICAgbGV0IGk9IHRoaXMuaW5kaWNlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5wZXJpb2RvRWRpdGFibGUoKVxyXG4gIH0gXHJcblxyXG4gIC8qKlxyXG4gICAqIEByZXR1cm5zIGluZGljYSBzaSBlbCBwZXJpZG8gYWN0dWFsIGVzdGEgYWJpZXJ0b1xyXG4gICAqIEByZXR1cm5zIHZlcmRhZGVyby9mYWxzb1xyXG4gICAqLyAgICAgICAgXHJcbiAgIHB1YmxpYyBwZXJpb2RvQ2VycmFkbygpOmJvb2xlYW4ge1xyXG4gICAgbGV0IGk9IHRoaXMuaW5kaWNlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5jZXJyYXJQZXJpb2RvPT0xXHJcbiAgfSBcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEByZXR1cm5zIEZlY2hhIGluaWNpbyBkZWwgcGVyaW9kbyBhY3R1YWwgZGUgbGEgbm9taW5hXHJcbiAgICovXHJcbiAgcHVibGljIGZlY2hhSW5jaW9QZXJpb2RvQWN0dWFsKCk6c3RyaW5ne1xyXG4gICAgbGV0IGk9IHRoaXMuaW5kaWNlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5mZWNoYURlc2RlUGVyaW9kbztcclxuICB9XHJcblxyXG4vKipcclxuICogQHJldHVybnMgRmVjaGEgZmluYWwgZGVsIHBlcmlvZG8gYWN0dWFsIGRlIGxhIG5vbWluYVxyXG4gKi9cclxuICBwdWJsaWMgZmVjaGFGaW5hUGVyaW9kb0FjdHVhbCgpOnN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW3RoaXMuaW5kaWNlKCldLmZlY2hhSGFzdGFwZXJpb2RvO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVsdGltb1BlcmlvZG9Ob21pbmEoKTpzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09NTIpe1xyXG4gICAgICByZXR1cm4gJzA1MidcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09MjQpe1xyXG4gICAgICByZXR1cm4gJzAyNCdcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09MTIpe1xyXG4gICAgICByZXR1cm4gJzAxMidcclxuICAgIH0gIGVsc2UgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09MSl7XHJcbiAgICAgIHJldHVybiAnMDAxJ1xyXG4gICAgfSAgICBcclxuICAgICAgICBcclxuICB9XHJcblxyXG5cclxuICBcclxuICAgICBcclxufSBcclxuXHJcblxyXG5cclxuIl19
|