@po-ui/ng-components 18.21.0 → 18.23.0

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.
Files changed (76) hide show
  1. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
  2. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +19 -19
  3. package/esm2022/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.mjs +18 -2
  4. package/esm2022/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.mjs +4 -4
  5. package/esm2022/lib/components/po-field/po-combo/po-combo-base.component.mjs +22 -2
  6. package/esm2022/lib/components/po-field/po-combo/po-combo.component.mjs +4 -4
  7. package/esm2022/lib/components/po-field/po-datepicker/po-datepicker-base.component.mjs +22 -2
  8. package/esm2022/lib/components/po-field/po-datepicker/po-datepicker.component.mjs +4 -4
  9. package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.mjs +18 -2
  10. package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.mjs +4 -4
  11. package/esm2022/lib/components/po-field/po-decimal/po-decimal.component.mjs +4 -4
  12. package/esm2022/lib/components/po-field/po-email/po-email.component.mjs +4 -4
  13. package/esm2022/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.mjs +27 -10
  14. package/esm2022/lib/components/po-field/po-field-container/po-field-container.module.mjs +5 -4
  15. package/esm2022/lib/components/po-field/po-field-validate.model.mjs +22 -2
  16. package/esm2022/lib/components/po-field/po-input/po-input-base.component.mjs +22 -2
  17. package/esm2022/lib/components/po-field/po-input/po-input.component.mjs +4 -4
  18. package/esm2022/lib/components/po-field/po-login/po-login.component.mjs +4 -4
  19. package/esm2022/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +22 -2
  20. package/esm2022/lib/components/po-field/po-lookup/po-lookup.component.mjs +4 -4
  21. package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-base.component.mjs +22 -2
  22. package/esm2022/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +4 -4
  23. package/esm2022/lib/components/po-field/po-number/po-number.component.mjs +4 -4
  24. package/esm2022/lib/components/po-field/po-password/po-password.component.mjs +4 -4
  25. package/esm2022/lib/components/po-field/po-radio-group/po-radio-group-base.component.mjs +18 -2
  26. package/esm2022/lib/components/po-field/po-radio-group/po-radio-group.component.mjs +4 -4
  27. package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-base.component.mjs +18 -2
  28. package/esm2022/lib/components/po-field/po-rich-text/po-rich-text.component.mjs +4 -4
  29. package/esm2022/lib/components/po-field/po-select/po-select.component.mjs +4 -4
  30. package/esm2022/lib/components/po-field/po-textarea/po-textarea-base.component.mjs +18 -2
  31. package/esm2022/lib/components/po-field/po-textarea/po-textarea.component.mjs +4 -4
  32. package/esm2022/lib/components/po-field/po-upload/po-upload-base.component.mjs +86 -2
  33. package/esm2022/lib/components/po-field/po-upload/po-upload.component.mjs +17 -7
  34. package/esm2022/lib/components/po-field/po-url/po-url.component.mjs +4 -4
  35. package/esm2022/lib/components/po-progress/index.mjs +2 -1
  36. package/esm2022/lib/components/po-progress/interfaces/index.mjs +2 -0
  37. package/esm2022/lib/components/po-progress/interfaces/po-progress-actions.interface.mjs +2 -0
  38. package/esm2022/lib/components/po-progress/po-progress-base.component.mjs +87 -2
  39. package/esm2022/lib/components/po-progress/po-progress.component.mjs +44 -15
  40. package/fesm2022/po-ui-ng-components.mjs +553 -132
  41. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  42. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +57 -1
  43. package/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.d.ts +14 -1
  44. package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +16 -1
  45. package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +16 -1
  46. package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +14 -1
  47. package/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.d.ts +7 -1
  48. package/lib/components/po-field/po-field-container/po-field-container.module.d.ts +2 -1
  49. package/lib/components/po-field/po-field-validate.model.d.ts +16 -1
  50. package/lib/components/po-field/po-input/po-input-base.component.d.ts +16 -1
  51. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +16 -1
  52. package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +16 -1
  53. package/lib/components/po-field/po-radio-group/po-radio-group-base.component.d.ts +14 -1
  54. package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +14 -1
  55. package/lib/components/po-field/po-textarea/po-textarea-base.component.d.ts +14 -1
  56. package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +80 -1
  57. package/lib/components/po-field/po-upload/po-upload.component.d.ts +6 -0
  58. package/lib/components/po-progress/index.d.ts +1 -0
  59. package/lib/components/po-progress/interfaces/index.d.ts +1 -0
  60. package/lib/components/po-progress/interfaces/po-progress-actions.interface.d.ts +83 -0
  61. package/lib/components/po-progress/po-progress-base.component.d.ts +81 -1
  62. package/lib/components/po-progress/po-progress.component.d.ts +4 -0
  63. package/package.json +4 -4
  64. package/po-ui-ng-components-18.23.0.tgz +0 -0
  65. package/schematics/ng-add/index.js +1 -1
  66. package/schematics/ng-update/v14/index.js +1 -1
  67. package/schematics/ng-update/v15/index.js +1 -1
  68. package/schematics/ng-update/v16/index.js +1 -1
  69. package/schematics/ng-update/v17/index.js +1 -1
  70. package/schematics/ng-update/v18/index.js +2 -2
  71. package/schematics/ng-update/v2/index.js +1 -1
  72. package/schematics/ng-update/v3/index.js +1 -1
  73. package/schematics/ng-update/v4/index.js +1 -1
  74. package/schematics/ng-update/v5/index.js +1 -1
  75. package/schematics/ng-update/v6/index.js +1 -1
  76. package/po-ui-ng-components-18.21.0.tgz +0 -0
@@ -44,6 +44,20 @@ export class PoFieldValidateModel extends PoFieldModel {
44
44
  *
45
45
  */
46
46
  fieldErrorMessage;
47
+ errorAppendBox = false;
48
+ /**
49
+ * @optional
50
+ *
51
+ * @description
52
+ *
53
+ * Limita a exibição da mensagem de erro a duas linhas e exibe um tooltip com o texto completo.
54
+ *
55
+ * > Caso essa propriedade seja definida como `true`, a mensagem de erro será limitada a duas linhas
56
+ * e um tooltip será exibido ao passar o mouse sobre a mensagem para mostrar o conteúdo completo.
57
+ *
58
+ * @default `false`
59
+ */
60
+ errorLimit = false;
47
61
  /**
48
62
  * Define se a indicação de campo obrigatório será exibida.
49
63
  *
@@ -80,7 +94,7 @@ export class PoFieldValidateModel extends PoFieldModel {
80
94
  }
81
95
  }
82
96
  static ɵfac = function PoFieldValidateModel_Factory(t) { return new (t || PoFieldValidateModel)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
83
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoFieldValidateModel, inputs: { optional: [2, "p-optional", "optional", convertToBoolean], required: [2, "p-required", "required", convertToBoolean], fieldErrorMessage: [0, "p-field-error-message", "fieldErrorMessage"], showRequired: [0, "p-show-required", "showRequired"] }, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature] });
97
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoFieldValidateModel, inputs: { optional: [2, "p-optional", "optional", convertToBoolean], required: [2, "p-required", "required", convertToBoolean], fieldErrorMessage: [0, "p-field-error-message", "fieldErrorMessage"], errorAppendBox: [2, "p-error-append-in-body", "errorAppendBox", convertToBoolean], errorLimit: [0, "p-error-limit", "errorLimit"], showRequired: [0, "p-show-required", "showRequired"] }, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature] });
84
98
  }
85
99
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoFieldValidateModel, [{
86
100
  type: Directive
@@ -93,8 +107,14 @@ export class PoFieldValidateModel extends PoFieldModel {
93
107
  }], fieldErrorMessage: [{
94
108
  type: Input,
95
109
  args: ['p-field-error-message']
110
+ }], errorAppendBox: [{
111
+ type: Input,
112
+ args: [{ alias: 'p-error-append-in-body', transform: convertToBoolean }]
113
+ }], errorLimit: [{
114
+ type: Input,
115
+ args: ['p-error-limit']
96
116
  }], showRequired: [{
97
117
  type: Input,
98
118
  args: ['p-show-required']
99
119
  }] }); })();
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZmllbGQtdmFsaWRhdGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tZmllbGQtdmFsaWRhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBZ0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRTlDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixvQkFBd0IsU0FBUSxZQUFlO0lBa0RoRDtJQWpEbkI7Ozs7Ozs7Ozs7OztPQVlHO0lBQzBELFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFdkY7Ozs7Ozs7O09BUUc7SUFDMEQsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUV2Rjs7Ozs7Ozs7O09BU0c7SUFDNkIsaUJBQWlCLENBQVM7SUFFMUQ7Ozs7O09BS0c7SUFDdUIsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUU5QyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDL0IsaUJBQWlCLENBQUM7SUFFMUIsWUFBbUIsY0FBaUM7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEUyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7SUFFcEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxlQUFnQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzlHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsQ0FBQztRQUVELElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNuQyxPQUFPO2dCQUNMLFFBQVEsRUFBRTtvQkFDUixLQUFLLEVBQUUsS0FBSztpQkFDYjthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFPO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOzhFQS9FbUIsb0JBQW9COzZEQUFwQixvQkFBb0Isb0RBY0MsZ0JBQWdCLDJDQVdoQixnQkFBZ0I7O2lGQXpCckMsb0JBQW9CO2NBRHpDLFNBQVM7a0RBZXFELFFBQVE7a0JBQXBFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVdFLFFBQVE7a0JBQXBFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVkzQixpQkFBaUI7a0JBQWhELEtBQUs7bUJBQUMsdUJBQXVCO1lBUUosWUFBWTtrQkFBckMsS0FBSzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy91dGlscy91dGlsJztcbmltcG9ydCB7IFBvRmllbGRNb2RlbCB9IGZyb20gJy4vcG8tZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgcmVxdWlyZWRGYWlsZWQgfSBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb0ZpZWxkTW9kZWxcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9GaWVsZFZhbGlkYXRlTW9kZWw8VD4gZXh0ZW5kcyBQb0ZpZWxkTW9kZWw8VD4gaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvcGNpb25hbCBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IE7Do28gc2Vyw6EgZXhpYmlkYSBhIGluZGljYcOnw6NvIHNlOlxuICAgKiAtIE8gY2FtcG8gY29udGVyIGBwLXJlcXVpcmVkYDtcbiAgICogLSBOw6NvIHBvc3N1aXIgYHAtaGVscGAgZS9vdSBgcC1sYWJlbGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1vcHRpb25hbCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBvcHRpb25hbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBxdWUgbyBjYW1wbyBzZXLDoSBvYnJpZ2F0w7NyaW8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1yZXF1aXJlZCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV4aWJlIGEgbWVuc2FnZW0gc2V0YWRhIHNlIG8gY2FtcG8gZXN0aXZlciB2YXppbyBlIGZvciByZXF1ZXJpZG8uXG4gICAqXG4gICAqID4gTmVjZXNzw6FyaW8gcXVlIGEgcHJvcHJpZWRhZGUgYHAtcmVxdWlyZWRgIGVzdGVqYSBoYWJpbGl0YWRhLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCdwLWZpZWxkLWVycm9yLW1lc3NhZ2UnKSBmaWVsZEVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgRGVmaW5lIHNlIGEgaW5kaWNhw6fDo28gZGUgY2FtcG8gb2JyaWdhdMOzcmlvIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTsOjbyBwb3NzdWlyIGBwLWhlbHBgIGUvb3UgYHAtbGFiZWxgLlxuICAgKi9cbiAgQElucHV0KCdwLXNob3ctcmVxdWlyZWQnKSBzaG93UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgaGFzVmFsaWRhdG9yUmVxdWlyZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvblZhbGlkYXRvckNoYW5nZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHZhbGlkYXRlKGFic3RyYWN0Q29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKCF0aGlzLmhhc1ZhbGlkYXRvclJlcXVpcmVkICYmIHRoaXMuZmllbGRFcnJvck1lc3NhZ2UgJiYgYWJzdHJhY3RDb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgdGhpcy5oYXNWYWxpZGF0b3JSZXF1aXJlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHJlcXVpcmVkRmFpbGVkKHRoaXMucmVxdWlyZWQgfHwgdGhpcy5oYXNWYWxpZGF0b3JSZXF1aXJlZCwgdGhpcy5kaXNhYmxlZCwgYWJzdHJhY3RDb250cm9sLnZhbHVlKSkge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVkOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZXh0cmFWYWxpZGF0aW9uKGFic3RyYWN0Q29udHJvbCk7XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cblxuICB2YWxpZGF0ZU1vZGVsKCkge1xuICAgIGlmICh0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgYWJzdHJhY3QgZXh0cmFWYWxpZGF0aW9uKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZmllbGQtdmFsaWRhdGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tZmllbGQtdmFsaWRhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBZ0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRTlDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixvQkFBd0IsU0FBUSxZQUFlO0lBa0VoRDtJQWpFbkI7Ozs7Ozs7Ozs7OztPQVlHO0lBQzBELFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFdkY7Ozs7Ozs7O09BUUc7SUFDMEQsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUV2Rjs7Ozs7Ozs7O09BU0c7SUFDNkIsaUJBQWlCLENBQVM7SUFFZSxjQUFjLEdBQWEsS0FBSyxDQUFDO0lBRTFHOzs7Ozs7Ozs7OztPQVdHO0lBQ3FCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFFcEQ7Ozs7O09BS0c7SUFDdUIsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUU5QyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDL0IsaUJBQWlCLENBQUM7SUFFMUIsWUFBbUIsY0FBaUM7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEUyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7SUFFcEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxlQUFnQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzlHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsQ0FBQztRQUVELElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNuQyxPQUFPO2dCQUNMLFFBQVEsRUFBRTtvQkFDUixLQUFLLEVBQUUsS0FBSztpQkFDYjthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFPO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOzhFQS9GbUIsb0JBQW9COzZEQUFwQixvQkFBb0Isb0RBY0MsZ0JBQWdCLDJDQVdoQixnQkFBZ0IseUlBY0osZ0JBQWdCOztpRkF2Q2pELG9CQUFvQjtjQUR6QyxTQUFTO2tEQWVxRCxRQUFRO2tCQUFwRSxLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFXRSxRQUFRO2tCQUFwRSxLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFZM0IsaUJBQWlCO2tCQUFoRCxLQUFLO21CQUFDLHVCQUF1QjtZQUUyQyxjQUFjO2tCQUF0RixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQWMvQyxVQUFVO2tCQUFqQyxLQUFLO21CQUFDLGVBQWU7WUFRSSxZQUFZO2tCQUFyQyxLQUFLO21CQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9GaWVsZE1vZGVsIH0gZnJvbSAnLi9wby1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyByZXF1aXJlZEZhaWxlZCB9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvRmllbGRNb2RlbFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb0ZpZWxkVmFsaWRhdGVNb2RlbDxUPiBleHRlbmRzIFBvRmllbGRNb2RlbDxUPiBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9wY2lvbmFsIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTyBjYW1wbyBjb250ZXIgYHAtcmVxdWlyZWRgO1xuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLW9wdGlvbmFsJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIG9wdGlvbmFsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHF1ZSBvIGNhbXBvIHNlcsOhIG9icmlnYXTDs3Jpby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLXJlcXVpcmVkJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXhpYmUgYSBtZW5zYWdlbSBzZXRhZGEgc2UgbyBjYW1wbyBlc3RpdmVyIHZhemlvIGUgZm9yIHJlcXVlcmlkby5cbiAgICpcbiAgICogPiBOZWNlc3PDoXJpbyBxdWUgYSBwcm9wcmllZGFkZSBgcC1yZXF1aXJlZGAgZXN0ZWphIGhhYmlsaXRhZGEuXG4gICAqXG4gICAqL1xuICBASW5wdXQoJ3AtZmllbGQtZXJyb3ItbWVzc2FnZScpIGZpZWxkRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdwLWVycm9yLWFwcGVuZC1pbi1ib2R5JywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGVycm9yQXBwZW5kQm94PzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpbWl0YSBhIGV4aWJpw6fDo28gZGEgbWVuc2FnZW0gZGUgZXJybyBhIGR1YXMgbGluaGFzIGUgZXhpYmUgdW0gdG9vbHRpcCBjb20gbyB0ZXh0byBjb21wbGV0by5cbiAgICpcbiAgICogPiBDYXNvIGVzc2EgcHJvcHJpZWRhZGUgc2VqYSBkZWZpbmlkYSBjb21vIGB0cnVlYCwgYSBtZW5zYWdlbSBkZSBlcnJvIHNlcsOhIGxpbWl0YWRhIGEgZHVhcyBsaW5oYXNcbiAgICogZSB1bSB0b29sdGlwIHNlcsOhIGV4aWJpZG8gYW8gcGFzc2FyIG8gbW91c2Ugc29icmUgYSBtZW5zYWdlbSBwYXJhIG1vc3RyYXIgbyBjb250ZcO6ZG8gY29tcGxldG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1lcnJvci1saW1pdCcpIGVycm9yTGltaXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9icmlnYXTDs3JpbyBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IE7Do28gc2Vyw6EgZXhpYmlkYSBhIGluZGljYcOnw6NvIHNlOlxuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICovXG4gIEBJbnB1dCgncC1zaG93LXJlcXVpcmVkJykgc2hvd1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGhhc1ZhbGlkYXRvclJlcXVpcmVkID0gZmFsc2U7XG4gIHByaXZhdGUgb25WYWxpZGF0b3JDaGFuZ2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICB2YWxpZGF0ZShhYnN0cmFjdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICghdGhpcy5oYXNWYWxpZGF0b3JSZXF1aXJlZCAmJiB0aGlzLmZpZWxkRXJyb3JNZXNzYWdlICYmIGFic3RyYWN0Q29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgIHRoaXMuaGFzVmFsaWRhdG9yUmVxdWlyZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChyZXF1aXJlZEZhaWxlZCh0aGlzLnJlcXVpcmVkIHx8IHRoaXMuaGFzVmFsaWRhdG9yUmVxdWlyZWQsIHRoaXMuZGlzYWJsZWQsIGFic3RyYWN0Q29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByZXF1aXJlZDoge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmV4dHJhVmFsaWRhdGlvbihhYnN0cmFjdENvbnRyb2wpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG5cbiAgdmFsaWRhdGVNb2RlbCgpIHtcbiAgICBpZiAodGhpcy5vblZhbGlkYXRvckNoYW5nZSkge1xuICAgICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFic3RyYWN0IGV4dHJhVmFsaWRhdGlvbihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuIl19
@@ -127,6 +127,20 @@ export class PoInputBaseComponent {
127
127
  * Para exibir a mensagem com o campo vazio, utilize a propriedade `p-required-field-error-message` em conjunto.
128
128
  */
129
129
  errorPattern = '';
130
+ /**
131
+ * @optional
132
+ *
133
+ * @description
134
+ *
135
+ * Limita a exibição da mensagem de erro a duas linhas e exibe um tooltip com o texto completo.
136
+ *
137
+ * > Caso essa propriedade seja definida como `true`, a mensagem de erro será limitada a duas linhas
138
+ * e um tooltip será exibido ao passar o mouse sobre a mensagem para mostrar o conteúdo completo.
139
+ *
140
+ * @default `false`
141
+ */
142
+ errorLimit = false;
143
+ errorAppendBox = false;
130
144
  /**
131
145
  * @optional
132
146
  *
@@ -521,7 +535,7 @@ export class PoInputBaseComponent {
521
535
  }
522
536
  }
523
537
  static ɵfac = function PoInputBaseComponent_Factory(t) { return new (t || PoInputBaseComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
524
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoInputBaseComponent, inputs: { autoFocus: [2, "p-auto-focus", "autoFocus", convertToBoolean], icon: [0, "p-icon", "icon"], emitAllChanges: [2, "p-emit-all-changes", "emitAllChanges", convertToBoolean], label: [0, "p-label", "label"], help: [0, "p-help", "help"], name: "name", errorAsyncProperties: [0, "p-error-async-properties", "errorAsyncProperties"], errorPattern: [0, "p-error-pattern", "errorPattern"], optional: [0, "p-optional", "optional"], showErrorMessageRequired: [0, "p-required-field-error-message", "showErrorMessageRequired"], upperCase: [2, "p-upper-case", "upperCase", convertToBoolean], maskNoLengthValidation: [0, "p-mask-no-length-validation", "maskNoLengthValidation"], noAutocomplete: [0, "p-no-autocomplete", "noAutocomplete"], placeholder: [0, "p-placeholder", "placeholder"], setDisabled: [0, "p-disabled", "setDisabled"], setReadonly: [0, "p-readonly", "setReadonly"], setRequired: [0, "p-required", "setRequired"], showRequired: [0, "p-show-required", "showRequired"], setClean: [0, "p-clean", "setClean"], setPattern: [0, "p-pattern", "setPattern"], maxlength: [0, "p-maxlength", "maxlength"], minlength: [0, "p-minlength", "minlength"], setMask: [0, "p-mask", "setMask"], setMaskFormatModel: [0, "p-mask-format-model", "setMaskFormatModel"] }, outputs: { blur: "p-blur", enter: "p-enter", change: "p-change", changeModel: "p-change-model" }, features: [i0.ɵɵInputTransformsFeature] });
538
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoInputBaseComponent, inputs: { autoFocus: [2, "p-auto-focus", "autoFocus", convertToBoolean], icon: [0, "p-icon", "icon"], emitAllChanges: [2, "p-emit-all-changes", "emitAllChanges", convertToBoolean], label: [0, "p-label", "label"], help: [0, "p-help", "help"], name: "name", errorAsyncProperties: [0, "p-error-async-properties", "errorAsyncProperties"], errorPattern: [0, "p-error-pattern", "errorPattern"], errorLimit: [0, "p-error-limit", "errorLimit"], errorAppendBox: [2, "p-error-append-in-body", "errorAppendBox", convertToBoolean], optional: [0, "p-optional", "optional"], showErrorMessageRequired: [0, "p-required-field-error-message", "showErrorMessageRequired"], upperCase: [2, "p-upper-case", "upperCase", convertToBoolean], maskNoLengthValidation: [0, "p-mask-no-length-validation", "maskNoLengthValidation"], noAutocomplete: [0, "p-no-autocomplete", "noAutocomplete"], placeholder: [0, "p-placeholder", "placeholder"], setDisabled: [0, "p-disabled", "setDisabled"], setReadonly: [0, "p-readonly", "setReadonly"], setRequired: [0, "p-required", "setRequired"], showRequired: [0, "p-show-required", "showRequired"], setClean: [0, "p-clean", "setClean"], setPattern: [0, "p-pattern", "setPattern"], maxlength: [0, "p-maxlength", "maxlength"], minlength: [0, "p-minlength", "minlength"], setMask: [0, "p-mask", "setMask"], setMaskFormatModel: [0, "p-mask-format-model", "setMaskFormatModel"] }, outputs: { blur: "p-blur", enter: "p-enter", change: "p-change", changeModel: "p-change-model" }, features: [i0.ɵɵInputTransformsFeature] });
525
539
  }
526
540
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoInputBaseComponent, [{
527
541
  type: Directive
@@ -549,6 +563,12 @@ export class PoInputBaseComponent {
549
563
  }], errorPattern: [{
550
564
  type: Input,
551
565
  args: ['p-error-pattern']
566
+ }], errorLimit: [{
567
+ type: Input,
568
+ args: ['p-error-limit']
569
+ }], errorAppendBox: [{
570
+ type: Input,
571
+ args: [{ alias: 'p-error-append-in-body', transform: convertToBoolean }]
552
572
  }], optional: [{
553
573
  type: Input,
554
574
  args: ['p-optional']
@@ -610,4 +630,4 @@ export class PoInputBaseComponent {
610
630
  type: Input,
611
631
  args: ['p-mask-format-model']
612
632
  }] }); })();
613
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8taW5wdXQvcG8taW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFvRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q0c7QUFFSCxNQUFNLE9BQWdCLG9CQUFvQjtJQTRZbEI7SUEzWXRCOzs7Ozs7Ozs7O09BVUc7SUFDNEQsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUUxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bd0JHO0lBQ2MsSUFBSSxDQUE4QjtJQUVuRDs7Ozs7Ozs7T0FRRztJQUNrRSxjQUFjLEdBQVksS0FBSyxDQUFDO0lBRXJHLHVCQUF1QjtJQUNMLEtBQUssQ0FBVTtJQUVqQywrQkFBK0I7SUFDZCxJQUFJLENBQVU7SUFFL0IscUNBQXFDO0lBQ3RCLElBQUksQ0FBUztJQUU1Qjs7Ozs7Ozs7T0FRRztJQUNnQyxvQkFBb0IsQ0FBdUI7SUFFOUU7Ozs7Ozs7T0FPRztJQUN1QixZ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V3NCLG9CQUFvQjtrQkFBdEQsS0FBSzttQkFBQywwQkFBMEI7WUFVUCxZQUFZO2tCQUFyQyxLQUFLO21CQUFDLGlCQUFpQjtZQWVILFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQWFzQix3QkFBd0I7a0JBQWhFLEtBQUs7bUJBQUMsZ0NBQWdDO1lBUXdCLFNBQVM7a0JBQXZFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQTBCbkIsc0JBQXNCO2tCQUEvRCxLQUFLO21CQUFDLDZCQUE2QjtZQWlCbEIsSUFBSTtrQkFBckIsTUFBTTttQkFBQyxRQUFRO1lBU0csS0FBSztrQkFBdkIsTUFBTTttQkFBQyxTQUFTO1lBU0csTUFBTTtrQkFBekIsTUFBTTttQkFBQyxVQUFVO1lBU1EsV0FBVztrQkFBcEMsTUFBTTttQkFBQyxnQkFBZ0I7WUFpQ1EsY0FBYztrQkFBN0MsS0FBSzttQkFBQyxtQkFBbUI7WUFpQkUsV0FBVztrQkFBdEMsS0FBSzttQkFBQyxlQUFlO1lBZ0JHLFdBQVc7a0JBQW5DLEtBQUs7bUJBQUMsWUFBWTtZQVNNLFdBQVc7a0JBQW5DLEtBQUs7bUJBQUMsWUFBWTtZQWdCTSxXQUFXO2tCQUFuQyxLQUFLO21CQUFDLFlBQVk7WUFZTyxZQUFZO2tCQUFyQyxLQUFLO21CQUFDLGlCQUFpQjtZQUtGLFFBQVE7a0JBQTdCLEtBQUs7bUJBQUMsU0FBUztZQWFRLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsV0FBVztZQWFRLFNBQVM7a0JBQWxDLEtBQUs7bUJBQUMsYUFBYTtZQXVCTSxTQUFTO2tCQUFsQyxLQUFLO21CQUFDLGFBQWE7WUEyQkMsT0FBTztrQkFBM0IsS0FBSzttQkFBQyxRQUFRO1lBZ0JtQixrQkFBa0I7a0JBQW5ELEtBQUs7bUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBFcnJvckFzeW5jUHJvcGVydGllcyB9IGZyb20gJy4uL3NoYXJlZC9pbnRlcmZhY2VzL2Vycm9yLWFzeW5jLXByb3BlcnRpZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IG1heGxlbmdwb2FpbGVkLCBtaW5sZW5ncG9haWxlZCwgcGF0dGVybkZhaWxlZCwgcmVxdWlyZWRGYWlsZWQgfSBmcm9tICcuLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgUG9NYXNrIH0gZnJvbSAnLi9wby1tYXNrJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBFc3RlIMOpIHVtIGNvbXBvbmVudGUgYmFzZWFkbyBlbSBpbnB1dCwgY29tIHbDoXJpYXMgcHJvcHJpZWRhZGVzIGRvIGlucHV0IG5hdGl2byBlIG91dHJhc1xuICogcHJvcHJpZWRhZGVzIGV4dHJhcyBjb21vOiBtw6FzY2FyYSwgcGF0dGVybiwgbWVuc2FnZW0gZGUgZXJybyBlIGV0Yy5cbiAqIFZvY8OqIGRldmUgaW5mb3JtYXIgYSB2YXJpw6F2ZWwgcXVlIGNvbnTDqW0gbyB2YWxvciBjb21vIFsobmdNb2RlbCldPVwidmFyaWF2ZWxcIiwgcGFyYSBxdWUgb1xuICogaW5wdXQgcmVjZWJhIG8gdmFsb3IgZGEgdmFyacOhdmVsIGUgcGFyYSBxdWUgZWxhIHJlY2ViYSBhcyBhbHRlcmHDp8O1ZXMgZG8gdmFsb3IgKHR3by13YXktZGF0YWJpbmRpbmcpLlxuICogQSBwcm9wcmllZGFkZSBuYW1lIMOpIG9icmlnYXTDs3JpYSBwYXJhIHF1ZSBvIGZvcm11bMOhcmlvIGUgbyBtb2RlbCBmdW5jaW9uZW0gY29ycmV0YW1lbnRlLlxuICpcbiAqIEltcG9ydGFudGU6XG4gKlxuICogLSBDYXNvIG8gaW5wdXQgdGVuaGEgdW0gWyhuZ01vZGVsKV0gc2VtIG8gYXRyaWJ1dG8gbmFtZSwgb2NvcnJlcsOhIHVtIGVycm8gZGUgYW5ndWxhci5cbiAqIEVudMOjbyB2b2PDqiBwcmVjaXNhIGluZm9ybWFyIG8gYXRyaWJ1dG8gbmFtZSBvdSBvIGF0cmlidXRvIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIi5cbiAqIEV4ZW1wbG86IFsobmdNb2RlbCldPVwicGVzc29hLm5vbWVcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIuXG4gKlxuICogIyMjIyBUb2tlbnMgY3VzdG9taXrDoXZlaXNcbiAqXG4gKiDDiSBwb3Nzw612ZWwgYWx0ZXJhciBvIGVzdGlsbyBkbyBjb21wb25lbnRlIHVzYW5kbyBvcyBzZWd1aW50ZXMgdG9rZW5zIChDU1MpOiA8YnI+XG4gKiBPYnM6IFPDsyDDqSBwb3Nzw612ZWwgcmVhbGl6YXIgYWx0ZXJhw6fDtWVzIGFvIGFkaWNpb25hciBhIGNsYXNzZSBgLnBvLWlucHV0YFxuICpcbiAqID4gUGFyYSBjb3JyZXRvIGFsaW5oYW1lbnRvIMOpIHJlY29tZW5kYWRvIG8gdXNvIGRhcyBjbGFzc2VzIGRlIGVzcGHDp2FtZW50byBkbyBbR3JpZCBTeXN0ZW1dKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL2dyaWQtc3lzdGVtKS5cbiAqXG4gKiA+IFBhcmEgbWFpb3JlcyBpbmZvcm1hw6fDtWVzLCBhY2Vzc2UgbyBndWlhIFtQZXJzb25hbGl6YW5kbyBvIFRlbWEgUGFkcsOjbyBjb20gVG9rZW5zIENTU10oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvdGhlbWUtY3VzdG9taXphdGlvbikuXG4gKlxuICogfCBQcm9wcmllZGFkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyacOnw6NvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBWYWxvciBQYWRyw6NvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxuICogfCAqKkRlZmF1bHQgVmFsdWVzKiogICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1mb250LWZhbWlseWAgICAgICAgICAgICAgICAgICAgICAgICB8IEZhbcOtbGlhIHRpcG9ncsOhZmljYSB1c2FkYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tZm9udC1mYW1pbHktdGhlbWUpYCAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWZvbnQtc2l6ZWAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgVGFtYW5obyBkYSBmb250ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tZm9udC1zaXplLWRlZmF1bHQpYCAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRleHQtY29sb3ItcGxhY2Vob2xkZXJgICAgICAgICAgICAgIHwgQ29yIGRvIHRleHRvIHBsYWNlaG9sZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0zMClgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHBpbmNpcGFsIGRvIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1kYXJrLTcwKWAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWJhY2tncm91bmRgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRlIGJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0wNSlgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXBhZGRpbmdgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUHJlZW5jaGltZW50byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYDAgMC41cmVtYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRleHQtY29sb3JgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRvIHRleHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1kYXJrLTkwKWAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqSG92ZXIqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWhvdmVyYCAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gaG92ZXIgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYnJhbmQtMDEtZGFyaylgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWJhY2tncm91bmQtaG92ZXJgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRlIGJhY2tncm91bmQgbm8gZXN0YWRvIGhvdmVyICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYnJhbmQtMDEtbGlnaHRlc3QpYCAgICAgICAgICAgICAgICB8XG4gKiB8ICoqRm9jdXNlZCoqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWZvY3VzZWRgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gZGUgZm9jdXMgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWRlZmF1bHQpYCAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLW91dGxpbmUtY29sb3ItZm9jdXNlZGAgICAgICAgICAgICAgIHwgQ29yIGRvIG91dGxpbmUgZG8gZXN0YWRvIGRlIGZvY3VzICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWZvY3VzKWAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqRGlzYWJsZWQqKiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWRpc2FibGVkYCAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gZGlzYWJsZWQgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0zMClgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWJhY2tncm91bmQtZGlzYWJsZWRgICAgICAgICAgICAgICAgIHwgQ29yIGRlIGJhY2tncm91bmQgbm8gZXN0YWRvIGRpc2FibGVkICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0yMClgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRleHQtY29sb3ItZGlzYWJsZWRgICAgICAgICAgICAgICAgIHwgQ29yIGRvIHRleHRvIG5vIGVzdGFkbyBkaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1kYXJrLTcwKWAgICAgICAgICAgICAgICAgICB8XG4gKlxuICogPGJyPlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb0lucHV0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEFwbGljYSBmb2NvIG5vIGVsZW1lbnRvIGFvIHNlciBpbmljaWFkby5cbiAgICpcbiAgICogPiBDYXNvIG1haXMgZGUgdW0gZWxlbWVudG8gc2VqYSBjb25maWd1cmFkbyBjb20gZXNzYSBwcm9wcmllZGFkZSwgYXBlbmFzIG8gw7psdGltbyBlbGVtZW50byBkZWNsYXJhZG8gY29tIGVsYSB0ZXLDoSBvIGZvY28uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1hdXRvLWZvY3VzJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGF1dG9Gb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBvIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBubyBpbsOtY2lvIGRvIGNhbXBvLlxuICAgKlxuICAgKiDDiSBwb3Nzw612ZWwgdXNhciBxdWFscXVlciB1bSBkb3Mgw61jb25lcyBkYSBbQmlibGlvdGVjYSBkZSDDrWNvbmVzXShodHRwczovL3BvLXVpLmlvL2ljb25zKS4gY29uZm9ybWUgZXhlbXBsbyBhYmFpeG86XG4gICAqIGBgYFxuICAgKiA8cG8taW5wdXQgcC1pY29uPVwicGggcGgtdXNlclwiIHAtbGFiZWw9XCJQTyBpbnB1dFwiPjwvcG8taW5wdXQ+XG4gICAqIGBgYFxuICAgKiBUYW1iw6ltIMOpIHBvc3PDrXZlbCB1dGlsaXphciBvdXRyYXMgZm9udGVzIGRlIMOtY29uZXMsIHBvciBleGVtcGxvIGEgYmlibGlvdGVjYSAqRm9udCBBd2Vzb21lKiwgZGEgc2VndWludGUgZm9ybWE6XG4gICAqIGBgYFxuICAgKiA8cG8taW5wdXQgcC1pY29uPVwiZmEgZmEtcG9kY2FzdFwiIHAtbGFiZWw9XCJQTyBpbnB1dFwiPjwvcG8taW5wdXQ+XG4gICAqIGBgYFxuICAgKiBPdXRyYSBvcMOnw6NvIHNlcmlhIGEgY3VzdG9taXphw6fDo28gZG8gw61jb25lIGF0cmF2w6lzIGRvIGBUZW1wbGF0ZVJlZmAsIGNvbmZvcm1lIGV4ZW1wbG8gYWJhaXhvOlxuICAgKiBgYGBcbiAgICogPHBvLWlucHV0IFtwLWljb25dPVwidGVtcGxhdGVcIiBwLWxhYmVsPVwiaW5wdXQgdGVtcGxhdGUgaW9uaWNcIj48L3BvLWlucHV0PlxuICAgKlxuICAgKiA8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgKiAgPGlvbi1pY29uIHN0eWxlPVwiZm9udC1zaXplOiBpbmhlcml0XCIgbmFtZT1cImhlYXJ0XCI+PC9pb24taWNvbj5cbiAgICogPC9uZy10ZW1wbGF0ZT5cbiAgICogYGBgXG4gICAqID4gUGFyYSBvIMOtY29uZSBlbnF1YWRyYXIgY29ycmV0YW1lbnRlLCBkZXZlLXNlIHV0aWxpemFyIGBmb250LXNpemU6IGluaGVyaXRgIGNhc28gbyDDrWNvbmUgdXRpbGl6YWRvIG7Do28gYXBsaXF1ZS1vLlxuICAgKi9cbiAgQElucHV0KCdwLWljb24nKSBpY29uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogU2VtcHJlIGVtaXRlIGFzIGFsdGVyYcOnw7VlcyBkbyBtb2RlbCBtZXNtbyBxdWFuZG8gbyB2YWxvciBhdHVhbCBmb3IgaWd1YWwgYW8gdmFsb3IgYW50ZXJpb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1lbWl0LWFsbC1jaGFuZ2VzJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGVtaXRBbGxDaGFuZ2VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFLDs3R1bG8gZG8gY2FtcG8uICovXG4gIEBJbnB1dCgncC1sYWJlbCcpIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBkZSBhcG9pbyBkbyBjYW1wby4gKi9cbiAgQElucHV0KCdwLWhlbHAnKSBoZWxwPzogc3RyaW5nO1xuXG4gIC8qKiBOb21lIGUgaWRlbnRpZmljYWRvciBkbyBjYW1wby4gKi9cbiAgQElucHV0KCduYW1lJykgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFJlYWxpemEgYWxndW1hIHZhbGlkYcOnw6NvIGN1c3RvbWl6YWRhIGFzc8OtbmNyb25hIG5vIGNvbXBvbmVudGUuXG4gICAqIEFjb25zZWxoYW1vcyBhIHV0aWxpemHDp8OjbyBkZXNzYSBwcm9wcmllZGFkZSBzb21lbnRlIGVtIGNvbXBvbmVudGVzIHF1ZSBuw6NvIGVzdGVqYW1cbiAgICogdXRpbGl6YW5kbyBgUmVhY3RpdmUgRm9ybXNgLiBFbSBmb3JtdWzDoXJpb3MgcmVhdGl2b3MsIHBvZGUtc2UgdXRpbGl6YXIgbyBwcsOzcHJpbyBgYXN5bmNWYWxpZGF0b3JzYC5cbiAgICovXG4gIEBJbnB1dCgncC1lcnJvci1hc3luYy1wcm9wZXJ0aWVzJykgZXJyb3JBc3luY1Byb3BlcnRpZXM6IEVycm9yQXN5bmNQcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTWVuc2FnZW0gcXVlIHNlcsOhIGFwcmVzZW50YWRhIHF1YW5kbyBvIGBwYXR0ZXJuYCBvdSBhIG3DoXNjYXJhIG7Do28gZm9yIHNhdGlzZmVpdGEuXG4gICAqXG4gICAqID4gUG9yIHBhZHLDo28sIGVzdGEgbWVuc2FnZW0gbsOjbyDDqSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBlc3RpdmVyIHZhemlvLCBtZXNtbyBxdWUgZWxlIHNlamEgcmVxdWVyaWRvLlxuICAgKiBQYXJhIGV4aWJpciBhIG1lbnNhZ2VtIGNvbSBvIGNhbXBvIHZhemlvLCB1dGlsaXplIGEgcHJvcHJpZWRhZGUgYHAtcmVxdWlyZWQtZmllbGQtZXJyb3ItbWVzc2FnZWAgZW0gY29uanVudG8uXG4gICAqL1xuICBASW5wdXQoJ3AtZXJyb3ItcGF0dGVybicpIGVycm9yUGF0dGVybj86IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9wY2lvbmFsIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTyBjYW1wbyBjb250ZXIgYHAtcmVxdWlyZWRgO1xuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLW9wdGlvbmFsJykgb3B0aW9uYWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXhpYmUgYSBtZW5zYWdlbSBzZXRhZGEgbmEgcHJvcHJpZWRhZGUgYHAtZXJyb3ItcGF0dGVybmAgc2UgbyBjYW1wbyBlc3RpdmVyIHZhemlvIGUgZm9yIHJlcXVlcmlkby5cbiAgICpcbiAgICogPiBOZWNlc3PDoXJpbyBxdWUgYSBwcm9wcmllZGFkZSBgcC1yZXF1aXJlZGAgZXN0ZWphIGhhYmlsaXRhZGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1yZXF1aXJlZC1maWVsZC1lcnJvci1tZXNzYWdlJykgc2hvd0Vycm9yTWVzc2FnZVJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBDb252ZXJ0ZSBvIGNvbnRlw7pkbyBkbyBjYW1wbyBlbSBtYWnDunN1bG8gYXV0b21hdGljYW1lbnRlLlxuICAgKlxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLXVwcGVyLWNhc2UnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgdXBwZXJDYXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgX21hc2tOb0xlbmd0aFZhbGlkYXRpb24gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgc2Ugb3MgY2FyYWN0ZXJlcyBlc3BlY2lhaXMgZGEgbcOhc2NhcmEgZGV2ZW0gc2VyIGlnbm9yYWRvcyBhbyB2YWxpZGFyIG9zIGNvbXByaW1lbnRvcyBtw61uaW1vIChgbWluTGVuZ3RoYCkgZSBtw6F4aW1vIChgbWF4TGVuZ3RoYCkgZG8gY2FtcG8uXG4gICAqXG4gICAqIC0gUXVhbmRvIGB0cnVlYCwgYXBlbmFzIG9zIGNhcmFjdGVyZXMgYWxmYW51bcOpcmljb3Mgc2Vyw6NvIGNvbnRhYmlsaXphZG9zIHBhcmEgYSB2YWxpZGHDp8OjbyBkb3MgY29tcHJpbWVudG9zLlxuICAgKiAtIFF1YW5kbyBgZmFsc2VgLCB0b2RvcyBvcyBjYXJhY3RlcmVzLCBpbmNsdWluZG8gb3MgZXNwZWNpYWlzIGRhIG3DoXNjYXJhLCBzZXLDo28gY29uc2lkZXJhZG9zIG5hIHZhbGlkYcOnw6NvLlxuICAgKlxuICAgKiA+IFNlcsOhIGlnbm9yYWRvIGVzc2EgcHJvcHJpZWRhZGUgLCBjYXNvIGVzdGVqYSB1dGlsaXphbmRvIGp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBwLW1hc2stZm9ybWF0LW1vZGVsYC5cbiAgICpcbiAgICogRXhlbXBsbzpcbiAgICogYGBgXG4gICAqIDxwby1pbnB1dFxuICAgKiAgIHAtbWFzaz1cIjk5OS05OTlcIlxuICAgKiAgIHAtbWF4bGVuZ3RoPVwiNlwiXG4gICAqICAgcC1taW5sZW5ndGg9XCI0XCJcbiAgICogICBwLW1hc2stbm8tbGVuZ3RoLXZhbGlkYXRpb249XCJ0cnVlXCJcbiAgICogPjwvcG8taW5wdXQ+XG4gICAqIGBgYFxuICAgKiAtIEVudHJhZGE6IGAxMjMtNDU2YCDihpIgVmFsaWRhw6fDo28gc2Vyw6EgYXBsaWNhZGEgc29tZW50ZSBhb3MgbsO6bWVyb3MsIGlnbm9yYW5kbyBvIGNhcmFjdGVyZSBlc3BlY2lhbCBgLWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1tYXNrLW5vLWxlbmd0aC12YWxpZGF0aW9uJykgc2V0IG1hc2tOb0xlbmd0aFZhbGlkYXRpb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tYXNrTm9MZW5ndGhWYWxpZGF0aW9uID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG5cbiAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgfVxuXG4gIGdldCBtYXNrTm9MZW5ndGhWYWxpZGF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9tYXNrTm9MZW5ndGhWYWxpZGF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBzYWlyIGRvIGNhbXBvLlxuICAgKi9cbiAgQE91dHB1dCgncC1ibHVyJykgYmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBlbnRyYXIgZG8gY2FtcG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWVudGVyJykgZW50ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gYWx0ZXJhciB2YWxvciBlIGRlaXhhciBvIGNhbXBvLlxuICAgKi9cbiAgQE91dHB1dCgncC1jaGFuZ2UnKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gYWx0ZXJhciB2YWxvciBkbyBtb2RlbC5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLW1vZGVsJykgY2hhbmdlTW9kZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHR5cGU6IHN0cmluZztcblxuICBvbkNoYW5nZVByb3BhZ2F0ZTogYW55ID0gbnVsbDtcbiAgb2JqTWFzazogYW55O1xuICBtb2RlbExhc3RVcGRhdGU6IGFueTtcbiAgaXNJbnZhbGlkOiBib29sZWFuO1xuICBoYXNWYWxpZGF0b3JSZXF1aXJlZCA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkOiBhbnkgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBwYXNzZWRXcml0ZVZhbHVlOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCB2YWxpZGF0b3JDaGFuZ2U6IGFueTtcblxuICBwcml2YXRlIF9tYXhsZW5ndGg/OiBudW1iZXI7XG4gIHByaXZhdGUgX21pbmxlbmd0aD86IG51bWJlcjtcbiAgcHJpdmF0ZSBfbm9BdXRvY29tcGxldGU/OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyPzogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgcHJvcHJpZWRhZGUgbmF0aXZhIGBhdXRvY29tcGxldGVgIGRvIGNhbXBvIGNvbW8gYG9mZmAuXG4gICAqXG4gICAqID4gTm8gY29tcG9uZW50ZSBgcG8tcGFzc3dvcmRgIHNlcsOhIGRlZmluaWRvIGNvbW8gYG5ldy1wYXNzd29yZGAuXG4gICAqXG4gICAqIE5vcyBjb21wb25lbnRlcyBgcG8tcGFzc3dvcmRgIGUgYHBvLWxvZ2luYCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgYHRydWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3Atbm8tYXV0b2NvbXBsZXRlJykgc2V0IG5vQXV0b2NvbXBsZXRlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbm9BdXRvY29tcGxldGUgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBub0F1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbm9BdXRvY29tcGxldGU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBNZW5zYWdlbSBxdWUgYXBhcmVjZXLDoSBlbnF1YW50byBvIGNhbXBvIG7Do28gZXN0aXZlciBwcmVlbmNoaWRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKi9cbiAgQElucHV0KCdwLXBsYWNlaG9sZGVyJykgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlIHx8ICcnO1xuICB9XG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFNlIHZlcmRhZGVpcm8sIGRlc2FiaWxpdGEgbyBjYW1wby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgncC1kaXNhYmxlZCcpIHNldCBzZXREaXNhYmxlZChkaXNhYmxlZDogc3RyaW5nKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkID09PSAnJyA/IHRydWUgOiBjb252ZXJ0VG9Cb29sZWFuKGRpc2FibGVkKTtcblxuICAgIHRoaXMudmFsaWRhdGVNb2RlbCgpO1xuICB9XG5cbiAgLyoqIEluZGljYSBxdWUgbyBjYW1wbyBzZXLDoSBzb21lbnRlIGxlaXR1cmEuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gIHJlYWRvbmx5PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ3AtcmVhZG9ubHknKSBzZXQgc2V0UmVhZG9ubHkocmVhZG9ubHk6IHN0cmluZykge1xuICAgIHRoaXMucmVhZG9ubHkgPSByZWFkb25seSA9PT0gJycgPyB0cnVlIDogY29udmVydFRvQm9vbGVhbihyZWFkb25seSk7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgcXVlIG8gY2FtcG8gc2Vyw6Egb2JyaWdhdMOzcmlvLlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgw6kgZGVzY29uc2lkZXJhZGEgcXVhbmRvIG8gaW5wdXQgZXN0w6EgZGVzYWJpbGl0YWRvIGAocC1kaXNhYmxlZClgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdwLXJlcXVpcmVkJykgc2V0IHNldFJlcXVpcmVkKHJlcXVpcmVkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQgPT09ICcnID8gdHJ1ZSA6IGNvbnZlcnRUb0Jvb2xlYW4ocmVxdWlyZWQpO1xuXG4gICAgdGhpcy52YWxpZGF0ZU1vZGVsKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHNlIGEgaW5kaWNhw6fDo28gZGUgY2FtcG8gb2JyaWdhdMOzcmlvIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTsOjbyBwb3NzdWlyIGBwLWhlbHBgIGUvb3UgYHAtbGFiZWxgLlxuICAgKi9cbiAgQElucHV0KCdwLXNob3ctcmVxdWlyZWQnKSBzaG93UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2UgdmVyZGFkZWlybywgbyBjYW1wbyByZWNlYmVyw6EgdW0gYm90w6NvIHBhcmEgc2VyIGxpbXBvLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBjbGVhbj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdwLWNsZWFuJykgc2V0IHNldENsZWFuKGNsZWFuOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNsZWFuID0gY2xlYW4gPT09ICcnID8gdHJ1ZSA6IGNvbnZlcnRUb0Jvb2xlYW4oY2xlYW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFeHByZXNzw6NvIHJlZ3VsYXIgcGFyYSB2YWxpZGFyIG8gY2FtcG8uXG4gICAqIFF1YW5kbyBvIGNhbXBvIHBvc3N1aXIgdW1hIG3DoXNjYXJhIGAocC1tYXNrKWAgc2Vyw6EgYXV0b21hdGljYW1lbnRlIHZhbGlkYWRvIHBvciBlbGEsIHBvcsOpbVxuICAgKiDDqSBwb3Nzw612ZWwgZGVmaW5pciB1bSBwLXBhdHRlcm4gcGFyYSBzdWJzdGl0dWlyIGEgdmFsaWRhw6fDo28gZGEgbcOhc2NhcmEuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBASW5wdXQoJ3AtcGF0dGVybicpIHNldCBzZXRQYXR0ZXJuKHBhdHRlcm46IHN0cmluZykge1xuICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XG5cbiAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEluZGljYSBhIHF1YW50aWRhZGUgbcOheGltYSBkZSBjYXJhY3RlcmVzIHF1ZSBvIGNhbXBvIGFjZWl0YS5cbiAgICovXG4gIEBJbnB1dCgncC1tYXhsZW5ndGgnKSBzZXQgbWF4bGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHBhcnNlSW50KDxhbnk+dmFsdWUsIDEwKSkpIHtcbiAgICAgIHRoaXMuX21heGxlbmd0aCA9IHBhcnNlSW50KDxhbnk+dmFsdWUsIDEwKTtcblxuICAgICAgdGhpcy52YWxpZGF0ZU1vZGVsKCk7XG4gICAgfSBlbHNlIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuX21heGxlbmd0aCA9IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy52YWxpZGF0ZU1vZGVsKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG1heGxlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4bGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIGEgcXVhbnRpZGFkZSBtw61uaW1hIGRlIGNhcmFjdGVyZXMgcXVlIG8gY2FtcG8gYWNlaXRhLlxuICAgKi9cbiAgQElucHV0KCdwLW1pbmxlbmd0aCcpIHNldCBtaW5sZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4ocGFyc2VJbnQoPGFueT52YWx1ZSwgMTApKSkge1xuICAgICAgdGhpcy5fbWlubGVuZ3RoID0gcGFyc2VJbnQoPGFueT52YWx1ZSwgMTApO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgICB9IGVsc2UgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5fbWlubGVuZ3RoID0gdW5kZWZpbmVkO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbWlubGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLl9taW5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEluZGljYSB1bWEgbcOhc2NhcmEgcGFyYSBvIGNhbXBvLiBFeGVtcGxvczogKCs5OSkgKDk5KSA5OTk5OT8tOTk5OSwgOTk5OTktOTk5LCA5OTkuOTk5Ljk5OS05OS5cbiAgICogQSBtw6FzY2FyYSBnZXJhIHVtYSB2YWxpZGHDp8OjbyBhdXRvbcOhdGljYSBkbyBjYW1wbywgcG9kZW5kbyBlc3RhIHNlciBzdWJzdGl0dcOtZGEgcG9yIHVtIFJFR0VYIGVzcGVjw61maWNvXG4gICAqIGF0cmF2w6lzIGRhIHByb3ByaWVkYWRlIHAtcGF0dGVybi5cbiAgICogTyBjYW1wbyBzZXLDoSBzaW5hbGl6YWRvIGUgbyBmb3JtdWzDoXJpbyBmaWNhcsOhIGludsOhbGlkbyBxdWFuZG8gbyB2YWxvciBpbmZvcm1hZG8gZXN0aXZlciBmb3JhIGRvIHBhZHLDo28gZGVmaW5pZG8sXG4gICAqIG1lc21vIHF1YW5kbyBkZXNhYmlsaXRhZG8uXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBtYXNrPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgncC1tYXNrJykgc2V0IHNldE1hc2sobWFzazogc3RyaW5nKSB7XG4gICAgdGhpcy5tYXNrID0gbWFzaztcblxuICAgIC8vIEF0dWFsaXphIE3DoXNjYXJhIGRvIENhbXBvXG4gICAgdGhpcy5vYmpNYXNrID0gbmV3IFBvTWFzayh0aGlzLm1hc2ssIHRoaXMubWFza0Zvcm1hdE1vZGVsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHNlIG8gYG1vZGVsYCByZWNlYmVyw6EgbyB2YWxvciBmb3JtYXRhZG8gcGVsYSBtw6FzY2FyYSBvdSBhcGVuYXMgbyB2YWxvciBwdXJvIChzZW0gZm9ybWF0YcOnw6NvKS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgbWFza0Zvcm1hdE1vZGVsPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ3AtbWFzay1mb3JtYXQtbW9kZWwnKSBzZXQgc2V0TWFza0Zvcm1hdE1vZGVsKG1hc2tGb3JtYXRNb2RlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5tYXNrRm9ybWF0TW9kZWwgPSBtYXNrRm9ybWF0TW9kZWwgPT09ICcnID8gdHJ1ZSA6IGNvbnZlcnRUb0Jvb2xlYW4obWFza0Zvcm1hdE1vZGVsKTtcblxuICAgIGlmICh0aGlzLm9iak1hc2sgaW5zdGFuY2VvZiBQb01hc2spIHtcbiAgICAgIHRoaXMub2JqTWFzay5mb3JtYXRNb2RlbCA9IHRoaXMubWFza0Zvcm1hdE1vZGVsO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2Q/OiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMub2JqTWFzayA9IG5ldyBQb01hc2sodGhpcy5tYXNrLCB0aGlzLm1hc2tGb3JtYXRNb2RlbCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY2FsbE9uQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKHZhbHVlKTtcblxuICAgIHRoaXMuY29udHJvbENoYW5nZU1vZGVsRW1pdHRlcih2YWx1ZSk7XG4gIH1cblxuICBjYWxsVXBkYXRlTW9kZWxXaXRoVGltZW91dCh2YWx1ZSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVNb2RlbCh2YWx1ZSkpO1xuICB9XG5cbiAgY29udHJvbENoYW5nZU1vZGVsRW1pdHRlcih2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMubW9kZWxMYXN0VXBkYXRlICE9PSB2YWx1ZSB8fCB0aGlzLmVtaXRBbGxDaGFuZ2VzKSB7XG4gICAgICB0aGlzLmNoYW5nZU1vZGVsLmVtaXQodmFsdWUpO1xuICAgICAgdGhpcy5tb2RlbExhc3RVcGRhdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gVXNhZGEgcGFyYSBpbnRlcmNlcHRhciBvcyBlc3RhZG9zIGRlIGhhYmlsaXRhZG8gdmlhIGZvcm1zIGFwaVxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkPy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIEZ1bsOnw6NvIGltcGxlbWVudGFkYSBkbyBDb250cm9sVmFsdWVBY2Nlc3NvclxuICAvLyBVc2FkYSBwYXJhIGludGVyY2VwdGFyIGFzIG11ZGFuw6dhcyBlIG7Do28gYXR1YWxpemFyIGF1dG9tYXRpY2FtZW50ZSBvIE1vZGVsXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZnVuYzogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSA9IGZ1bmM7XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gVXNhZGEgcGFyYSBpbnRlcmNlcHRhciBhcyBtdWRhbsOnYXMgZSBuw6NvIGF0dWFsaXphciBhdXRvbWF0aWNhbWVudGUgbyBNb2RlbFxuICByZWdpc3Rlck9uVG91Y2hlZChmdW5jOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZ1bmM7XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy52YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHVwZGF0ZU1vZGVsKHZhbHVlOiBhbnkpIHtcbiAgICAvLyBRdWFuZG8gbyBpbnB1dCBuw6NvIHBvc3N1aSB1bSBmb3JtdWzDoXJpbywgZW50w6NvIGVzdGEgZnVuw6fDo28gbsOjbyDDqSByZWdpc3RyYWRhXG4gICAgaWYgKHRoaXMub25DaGFuZ2VQcm9wYWdhdGUpIHtcbiAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICghdGhpcy5oYXNWYWxpZGF0b3JSZXF1aXJlZCAmJiB0aGlzLnNob3dFcnJvck1lc3NhZ2VSZXF1aXJlZCAmJiBjLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgdGhpcy5oYXNWYWxpZGF0b3JSZXF1aXJlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHJlcXVpcmVkRmFpbGVkKHRoaXMucmVxdWlyZWQsIHRoaXMuZGlzYWJsZWQsIHRoaXMuZ2V0U2NyZWVuVmFsdWUoKSkpIHtcbiAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVkOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbWF4bGVuZ3BvYWlsZWQodGhpcy5tYXhsZW5ndGgsIHRoaXMuZ2V0U2NyZWVuVmFsdWUoKSwgdGhpcy5tYXNrRm9ybWF0TW9kZWwgPyBmYWxzZSA6IHRoaXMubWFza05vTGVuZ3RoVmFsaWRhdGlvbilcbiAgICApIHtcbiAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1heGxlbmd0aDoge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG1pbmxlbmdwb2FpbGVkKHRoaXMubWlubGVuZ3RoLCB0aGlzLmdldFNjcmVlblZhbHVlKCksIHRoaXMubWFza0Zvcm1hdE1vZGVsID8gZmFsc2UgOiB0aGlzLm1hc2tOb0xlbmd0aFZhbGlkYXRpb24pXG4gICAgKSB7XG4gICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW5sZW5ndGg6IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAocGF0dGVybkZhaWxlZCh0aGlzLnBhdHRlcm4sIGMudmFsdWUpKSB7XG4gICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRlUGF0dGVybk9uV3JpdGVWYWx1ZShjLnZhbHVlKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdHRlcm46IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lcnJvclBhdHRlcm4gIT09ICcnKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGMuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoc3RhdHVzID0+IHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJykge1xuICAgICAgICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc0ludmFsaWQgPSBmYWxzZTtcbiAgICByZXR1cm4gdGhpcy5leHRyYVZhbGlkYXRpb24oYyk7XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy53cml0ZVZhbHVlTW9kZWwodmFsdWUpO1xuICAgIHRoaXMuY2Q/Lm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlTW9kZWwoKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdG9yQ2hhbmdlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvckNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHV0aWxpemFkbyBwYXJhIHZhbGlkYXIgbyBwYXR0ZXJuIG5hIGluaWNpYWxpemFjYW8sIGZhemVuZG8gZGVzc2EgZm9ybWEgbyBjYW1wbyBmaWNhIHN1am8gKGRpcnR5KS5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVBhdHRlcm5PbldyaXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLnBhc3NlZFdyaXRlVmFsdWUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKHZhbHVlKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBhc3NlZFdyaXRlVmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIGF0cmlidWkgZm9jbyBhbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIHV0aWxpesOhLWxhIMOpIG5lY2Vzc8OhcmlvIHRlciBhIGluc3TDom5jaWEgZG8gY29tcG9uZW50ZSBubyBET00sIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBvIFZpZXdDaGlsZCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBvTm9tZURvQ29tcG9uZW50ZUNvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9Ob21lRG9Db21wb25lbnRlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBub21lRG9Db21wb25lbnRlOiBQb05vbWVEb0NvbXBvbmVudGVDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzQ29tcG9uZW50KCkge1xuICAgKiAgIHRoaXMubm9tZURvQ29tcG9uZW50ZS5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3QgZm9jdXMoKTogdm9pZDtcblxuICAvLyBNw6l0b2RvIHF1ZSByZWNlYmVyw6EgbyB2YWxvciBkbyBtb2RlbFxuICBhYnN0cmFjdCB3cml0ZVZhbHVlTW9kZWwodmFsdWU6IGFueSk6IHZvaWQ7XG5cbiAgLy8gVmFsaWRhw6fDtWVzIGRvIGNhbXBvXG4gIGFic3RyYWN0IGV4dHJhVmFsaWRhdGlvbihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8vIERldmUgcmV0b3JuYXIgbyB2YWxvciBkbyBjYW1wb1xuICBhYnN0cmFjdCBnZXRTY3JlZW5WYWx1ZSgpOiBzdHJpbmc7XG59XG4iXX0=
633
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8taW5wdXQvcG8taW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFvRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q0c7QUFFSCxNQUFNLE9BQWdCLG9CQUFvQjtJQTRabEI7SUEzWnRCOzs7Ozs7Ozs7O09BVUc7SUFDNEQsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUUxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bd0JHO0lBQ2MsSUFBSSxDQUE4QjtJQUVuRDs7Ozs7Ozs7T0FRRztJQUNrRSxjQUFjLEdBQVksS0FBSyxDQUFDO0lBRXJHLHVCQUF1QjtJQUNMLEtBQUssQ0FBVTtJQUVqQywrQkFBK0I7SUFDZCxJQUFJLENBQVU7SUFFL0IscUNBQXFDO0lBQ3RCLElBQUksQ0FBUztJQUU1Qjs7Ozs7Ozs7T0FRRztJQUNnQyxvQkFBb0IsQ0FBdUI7SUFFOUU7Ozs7Ozs7T0FPRztJQUN1QixZ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Qk0sU0FBUztrQkFBbEMsS0FBSzttQkFBQyxhQUFhO1lBMkJDLE9BQU87a0JBQTNCLEtBQUs7bUJBQUMsUUFBUTtZQWdCbUIsa0JBQWtCO2tCQUFuRCxLQUFLO21CQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgRXJyb3JBc3luY1Byb3BlcnRpZXMgfSBmcm9tICcuLi9zaGFyZWQvaW50ZXJmYWNlcy9lcnJvci1hc3luYy1wcm9wZXJ0aWVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBtYXhsZW5ncG9haWxlZCwgbWlubGVuZ3BvYWlsZWQsIHBhdHRlcm5GYWlsZWQsIHJlcXVpcmVkRmFpbGVkIH0gZnJvbSAnLi8uLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IFBvTWFzayB9IGZyb20gJy4vcG8tbWFzayc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogRXN0ZSDDqSB1bSBjb21wb25lbnRlIGJhc2VhZG8gZW0gaW5wdXQsIGNvbSB2w6FyaWFzIHByb3ByaWVkYWRlcyBkbyBpbnB1dCBuYXRpdm8gZSBvdXRyYXNcbiAqIHByb3ByaWVkYWRlcyBleHRyYXMgY29tbzogbcOhc2NhcmEsIHBhdHRlcm4sIG1lbnNhZ2VtIGRlIGVycm8gZSBldGMuXG4gKiBWb2PDqiBkZXZlIGluZm9ybWFyIGEgdmFyacOhdmVsIHF1ZSBjb250w6ltIG8gdmFsb3IgY29tbyBbKG5nTW9kZWwpXT1cInZhcmlhdmVsXCIsIHBhcmEgcXVlIG9cbiAqIGlucHV0IHJlY2ViYSBvIHZhbG9yIGRhIHZhcmnDoXZlbCBlIHBhcmEgcXVlIGVsYSByZWNlYmEgYXMgYWx0ZXJhw6fDtWVzIGRvIHZhbG9yICh0d28td2F5LWRhdGFiaW5kaW5nKS5cbiAqIEEgcHJvcHJpZWRhZGUgbmFtZSDDqSBvYnJpZ2F0w7NyaWEgcGFyYSBxdWUgbyBmb3JtdWzDoXJpbyBlIG8gbW9kZWwgZnVuY2lvbmVtIGNvcnJldGFtZW50ZS5cbiAqXG4gKiBJbXBvcnRhbnRlOlxuICpcbiAqIC0gQ2FzbyBvIGlucHV0IHRlbmhhIHVtIFsobmdNb2RlbCldIHNlbSBvIGF0cmlidXRvIG5hbWUsIG9jb3JyZXLDoSB1bSBlcnJvIGRlIGFuZ3VsYXIuXG4gKiBFbnTDo28gdm9jw6ogcHJlY2lzYSBpbmZvcm1hciBvIGF0cmlidXRvIG5hbWUgb3UgbyBhdHJpYnV0byBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIuXG4gKiBFeGVtcGxvOiBbKG5nTW9kZWwpXT1cInBlc3NvYS5ub21lXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiLlxuICpcbiAqICMjIyMgVG9rZW5zIGN1c3RvbWl6w6F2ZWlzXG4gKlxuICogw4kgcG9zc8OtdmVsIGFsdGVyYXIgbyBlc3RpbG8gZG8gY29tcG9uZW50ZSB1c2FuZG8gb3Mgc2VndWludGVzIHRva2VucyAoQ1NTKTogPGJyPlxuICogT2JzOiBTw7Mgw6kgcG9zc8OtdmVsIHJlYWxpemFyIGFsdGVyYcOnw7VlcyBhbyBhZGljaW9uYXIgYSBjbGFzc2UgYC5wby1pbnB1dGBcbiAqXG4gKiA+IFBhcmEgY29ycmV0byBhbGluaGFtZW50byDDqSByZWNvbWVuZGFkbyBvIHVzbyBkYXMgY2xhc3NlcyBkZSBlc3Bhw6dhbWVudG8gZG8gW0dyaWQgU3lzdGVtXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9ncmlkLXN5c3RlbSkuXG4gKlxuICogPiBQYXJhIG1haW9yZXMgaW5mb3JtYcOnw7VlcywgYWNlc3NlIG8gZ3VpYSBbUGVyc29uYWxpemFuZG8gbyBUZW1hIFBhZHLDo28gY29tIFRva2VucyBDU1NdKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL3RoZW1lLWN1c3RvbWl6YXRpb24pLlxuICpcbiAqIHwgUHJvcHJpZWRhZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmnDp8OjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgVmFsb3IgUGFkcsOjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgKipEZWZhdWx0IFZhbHVlcyoqICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tZm9udC1mYW1pbHlgICAgICAgICAgICAgICAgICAgICAgICAgfCBGYW3DrWxpYSB0aXBvZ3LDoWZpY2EgdXNhZGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWZvbnQtZmFtaWx5LXRoZW1lKWAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1mb250LXNpemVgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFRhbWFuaG8gZGEgZm9udGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWZvbnQtc2l6ZS1kZWZhdWx0KWAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS10ZXh0LWNvbG9yLXBsYWNlaG9sZGVyYCAgICAgICAgICAgICB8IENvciBkbyB0ZXh0byBwbGFjZWhvbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtbGlnaHQtMzApYCAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvcmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBwaW5jaXBhbCBkbyBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtZGFyay03MClgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kYCAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBkZSBiYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtbGlnaHQtMDUpYCAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1wYWRkaW5nYCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByZWVuY2hpbWVudG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGAwIDAuNXJlbWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS10ZXh0LWNvbG9yYCAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBkbyB0ZXh0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtZGFyay05MClgICAgICAgICAgICAgICAgICAgfFxuICogfCAqKkhvdmVyKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1ob3ZlcmAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgbm8gZXN0YWRvIGhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWJyYW5kLTAxLWRhcmspYCAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kLWhvdmVyYCAgICAgICAgICAgICAgICAgICB8IENvciBkZSBiYWNrZ3JvdW5kIG5vIGVzdGFkbyBob3ZlciAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWJyYW5kLTAxLWxpZ2h0ZXN0KWAgICAgICAgICAgICAgICAgfFxuICogfCAqKkZvY3VzZWQqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1mb2N1c2VkYCAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgbm8gZXN0YWRvIGRlIGZvY3VzICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1kZWZhdWx0KWAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1vdXRsaW5lLWNvbG9yLWZvY3VzZWRgICAgICAgICAgICAgICB8IENvciBkbyBvdXRsaW5lIGRvIGVzdGFkbyBkZSBmb2N1cyAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1mb2N1cylgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCAqKkRpc2FibGVkKiogICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1kaXNhYmxlZGAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgbm8gZXN0YWRvIGRpc2FibGVkICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtbGlnaHQtMzApYCAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kLWRpc2FibGVkYCAgICAgICAgICAgICAgICB8IENvciBkZSBiYWNrZ3JvdW5kIG5vIGVzdGFkbyBkaXNhYmxlZCAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtbGlnaHQtMjApYCAgICAgICAgICAgICAgICAgfFxuICogfCBgLS10ZXh0LWNvbG9yLWRpc2FibGVkYCAgICAgICAgICAgICAgICB8IENvciBkbyB0ZXh0byBubyBlc3RhZG8gZGlzYWJsZWQgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtZGFyay03MClgICAgICAgICAgICAgICAgICAgfFxuICpcbiAqIDxicj5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9JbnB1dEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBcGxpY2EgZm9jbyBubyBlbGVtZW50byBhbyBzZXIgaW5pY2lhZG8uXG4gICAqXG4gICAqID4gQ2FzbyBtYWlzIGRlIHVtIGVsZW1lbnRvIHNlamEgY29uZmlndXJhZG8gY29tIGVzc2EgcHJvcHJpZWRhZGUsIGFwZW5hcyBvIMO6bHRpbW8gZWxlbWVudG8gZGVjbGFyYWRvIGNvbSBlbGEgdGVyw6EgbyBmb2NvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtYXV0by1mb2N1cycsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBhdXRvRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgbyDDrWNvbmUgcXVlIHNlcsOhIGV4aWJpZG8gbm8gaW7DrWNpbyBkbyBjYW1wby5cbiAgICpcbiAgICogw4kgcG9zc8OtdmVsIHVzYXIgcXVhbHF1ZXIgdW0gZG9zIMOtY29uZXMgZGEgW0JpYmxpb3RlY2EgZGUgw61jb25lc10oaHR0cHM6Ly9wby11aS5pby9pY29ucykuIGNvbmZvcm1lIGV4ZW1wbG8gYWJhaXhvOlxuICAgKiBgYGBcbiAgICogPHBvLWlucHV0IHAtaWNvbj1cInBoIHBoLXVzZXJcIiBwLWxhYmVsPVwiUE8gaW5wdXRcIj48L3BvLWlucHV0PlxuICAgKiBgYGBcbiAgICogVGFtYsOpbSDDqSBwb3Nzw612ZWwgdXRpbGl6YXIgb3V0cmFzIGZvbnRlcyBkZSDDrWNvbmVzLCBwb3IgZXhlbXBsbyBhIGJpYmxpb3RlY2EgKkZvbnQgQXdlc29tZSosIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKiBgYGBcbiAgICogPHBvLWlucHV0IHAtaWNvbj1cImZhIGZhLXBvZGNhc3RcIiBwLWxhYmVsPVwiUE8gaW5wdXRcIj48L3BvLWlucHV0PlxuICAgKiBgYGBcbiAgICogT3V0cmEgb3DDp8OjbyBzZXJpYSBhIGN1c3RvbWl6YcOnw6NvIGRvIMOtY29uZSBhdHJhdsOpcyBkbyBgVGVtcGxhdGVSZWZgLCBjb25mb3JtZSBleGVtcGxvIGFiYWl4bzpcbiAgICogYGBgXG4gICAqIDxwby1pbnB1dCBbcC1pY29uXT1cInRlbXBsYXRlXCIgcC1sYWJlbD1cImlucHV0IHRlbXBsYXRlIGlvbmljXCI+PC9wby1pbnB1dD5cbiAgICpcbiAgICogPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICogIDxpb24taWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogaW5oZXJpdFwiIG5hbWU9XCJoZWFydFwiPjwvaW9uLWljb24+XG4gICAqIDwvbmctdGVtcGxhdGU+XG4gICAqIGBgYFxuICAgKiA+IFBhcmEgbyDDrWNvbmUgZW5xdWFkcmFyIGNvcnJldGFtZW50ZSwgZGV2ZS1zZSB1dGlsaXphciBgZm9udC1zaXplOiBpbmhlcml0YCBjYXNvIG8gw61jb25lIHV0aWxpemFkbyBuw6NvIGFwbGlxdWUtby5cbiAgICovXG4gIEBJbnB1dCgncC1pY29uJykgaWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFNlbXByZSBlbWl0ZSBhcyBhbHRlcmHDp8O1ZXMgZG8gbW9kZWwgbWVzbW8gcXVhbmRvIG8gdmFsb3IgYXR1YWwgZm9yIGlndWFsIGFvIHZhbG9yIGFudGVyaW9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtZW1pdC1hbGwtY2hhbmdlcycsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBlbWl0QWxsQ2hhbmdlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBSw7N0dWxvIGRvIGNhbXBvLiAqL1xuICBASW5wdXQoJ3AtbGFiZWwnKSBsYWJlbD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZGUgYXBvaW8gZG8gY2FtcG8uICovXG4gIEBJbnB1dCgncC1oZWxwJykgaGVscD86IHN0cmluZztcblxuICAvKiogTm9tZSBlIGlkZW50aWZpY2Fkb3IgZG8gY2FtcG8uICovXG4gIEBJbnB1dCgnbmFtZScpIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBSZWFsaXphIGFsZ3VtYSB2YWxpZGHDp8OjbyBjdXN0b21pemFkYSBhc3PDrW5jcm9uYSBubyBjb21wb25lbnRlLlxuICAgKiBBY29uc2VsaGFtb3MgYSB1dGlsaXphw6fDo28gZGVzc2EgcHJvcHJpZWRhZGUgc29tZW50ZSBlbSBjb21wb25lbnRlcyBxdWUgbsOjbyBlc3RlamFtXG4gICAqIHV0aWxpemFuZG8gYFJlYWN0aXZlIEZvcm1zYC4gRW0gZm9ybXVsw6FyaW9zIHJlYXRpdm9zLCBwb2RlLXNlIHV0aWxpemFyIG8gcHLDs3ByaW8gYGFzeW5jVmFsaWRhdG9yc2AuXG4gICAqL1xuICBASW5wdXQoJ3AtZXJyb3ItYXN5bmMtcHJvcGVydGllcycpIGVycm9yQXN5bmNQcm9wZXJ0aWVzOiBFcnJvckFzeW5jUHJvcGVydGllcztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIE1lbnNhZ2VtIHF1ZSBzZXLDoSBhcHJlc2VudGFkYSBxdWFuZG8gbyBgcGF0dGVybmAgb3UgYSBtw6FzY2FyYSBuw6NvIGZvciBzYXRpc2ZlaXRhLlxuICAgKlxuICAgKiA+IFBvciBwYWRyw6NvLCBlc3RhIG1lbnNhZ2VtIG7Do28gw6kgYXByZXNlbnRhZGEgcXVhbmRvIG8gY2FtcG8gZXN0aXZlciB2YXppbywgbWVzbW8gcXVlIGVsZSBzZWphIHJlcXVlcmlkby5cbiAgICogUGFyYSBleGliaXIgYSBtZW5zYWdlbSBjb20gbyBjYW1wbyB2YXppbywgdXRpbGl6ZSBhIHByb3ByaWVkYWRlIGBwLXJlcXVpcmVkLWZpZWxkLWVycm9yLW1lc3NhZ2VgIGVtIGNvbmp1bnRvLlxuICAgKi9cbiAgQElucHV0KCdwLWVycm9yLXBhdHRlcm4nKSBlcnJvclBhdHRlcm4/OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBMaW1pdGEgYSBleGliacOnw6NvIGRhIG1lbnNhZ2VtIGRlIGVycm8gYSBkdWFzIGxpbmhhcyBlIGV4aWJlIHVtIHRvb2x0aXAgY29tIG8gdGV4dG8gY29tcGxldG8uXG4gICAqXG4gICAqID4gQ2FzbyBlc3NhIHByb3ByaWVkYWRlIHNlamEgZGVmaW5pZGEgY29tbyBgdHJ1ZWAsIGEgbWVuc2FnZW0gZGUgZXJybyBzZXLDoSBsaW1pdGFkYSBhIGR1YXMgbGluaGFzXG4gICAqIGUgdW0gdG9vbHRpcCBzZXLDoSBleGliaWRvIGFvIHBhc3NhciBvIG1vdXNlIHNvYnJlIGEgbWVuc2FnZW0gcGFyYSBtb3N0cmFyIG8gY29udGXDumRvIGNvbXBsZXRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtZXJyb3ItbGltaXQnKSBlcnJvckxpbWl0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdwLWVycm9yLWFwcGVuZC1pbi1ib2R5JywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGVycm9yQXBwZW5kQm94PzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9wY2lvbmFsIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTyBjYW1wbyBjb250ZXIgYHAtcmVxdWlyZWRgO1xuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLW9wdGlvbmFsJykgb3B0aW9uYWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXhpYmUgYSBtZW5zYWdlbSBzZXRhZGEgbmEgcHJvcHJpZWRhZGUgYHAtZXJyb3ItcGF0dGVybmAgc2UgbyBjYW1wbyBlc3RpdmVyIHZhemlvIGUgZm9yIHJlcXVlcmlkby5cbiAgICpcbiAgICogPiBOZWNlc3PDoXJpbyBxdWUgYSBwcm9wcmllZGFkZSBgcC1yZXF1aXJlZGAgZXN0ZWphIGhhYmlsaXRhZGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1yZXF1aXJlZC1maWVsZC1lcnJvci1tZXNzYWdlJykgc2hvd0Vycm9yTWVzc2FnZVJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBDb252ZXJ0ZSBvIGNvbnRlw7pkbyBkbyBjYW1wbyBlbSBtYWnDunN1bG8gYXV0b21hdGljYW1lbnRlLlxuICAgKlxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLXVwcGVyLWNhc2UnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgdXBwZXJDYXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgX21hc2tOb0xlbmd0aFZhbGlkYXRpb24gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgc2Ugb3MgY2FyYWN0ZXJlcyBlc3BlY2lhaXMgZGEgbcOhc2NhcmEgZGV2ZW0gc2VyIGlnbm9yYWRvcyBhbyB2YWxpZGFyIG9zIGNvbXByaW1lbnRvcyBtw61uaW1vIChgbWluTGVuZ3RoYCkgZSBtw6F4aW1vIChgbWF4TGVuZ3RoYCkgZG8gY2FtcG8uXG4gICAqXG4gICAqIC0gUXVhbmRvIGB0cnVlYCwgYXBlbmFzIG9zIGNhcmFjdGVyZXMgYWxmYW51bcOpcmljb3Mgc2Vyw6NvIGNvbnRhYmlsaXphZG9zIHBhcmEgYSB2YWxpZGHDp8OjbyBkb3MgY29tcHJpbWVudG9zLlxuICAgKiAtIFF1YW5kbyBgZmFsc2VgLCB0b2RvcyBvcyBjYXJhY3RlcmVzLCBpbmNsdWluZG8gb3MgZXNwZWNpYWlzIGRhIG3DoXNjYXJhLCBzZXLDo28gY29uc2lkZXJhZG9zIG5hIHZhbGlkYcOnw6NvLlxuICAgKlxuICAgKiA+IFNlcsOhIGlnbm9yYWRvIGVzc2EgcHJvcHJpZWRhZGUgLCBjYXNvIGVzdGVqYSB1dGlsaXphbmRvIGp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBwLW1hc2stZm9ybWF0LW1vZGVsYC5cbiAgICpcbiAgICogRXhlbXBsbzpcbiAgICogYGBgXG4gICAqIDxwby1pbnB1dFxuICAgKiAgIHAtbWFzaz1cIjk5OS05OTlcIlxuICAgKiAgIHAtbWF4bGVuZ3RoPVwiNlwiXG4gICAqICAgcC1taW5sZW5ndGg9XCI0XCJcbiAgICogICBwLW1hc2stbm8tbGVuZ3RoLXZhbGlkYXRpb249XCJ0cnVlXCJcbiAgICogPjwvcG8taW5wdXQ+XG4gICAqIGBgYFxuICAgKiAtIEVudHJhZGE6IGAxMjMtNDU2YCDihpIgVmFsaWRhw6fDo28gc2Vyw6EgYXBsaWNhZGEgc29tZW50ZSBhb3MgbsO6bWVyb3MsIGlnbm9yYW5kbyBvIGNhcmFjdGVyZSBlc3BlY2lhbCBgLWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1tYXNrLW5vLWxlbmd0aC12YWxpZGF0aW9uJykgc2V0IG1hc2tOb0xlbmd0aFZhbGlkYXRpb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tYXNrTm9MZW5ndGhWYWxpZGF0aW9uID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG5cbiAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgfVxuXG4gIGdldCBtYXNrTm9MZW5ndGhWYWxpZGF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9tYXNrTm9MZW5ndGhWYWxpZGF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBzYWlyIGRvIGNhbXBvLlxuICAgKi9cbiAgQE91dHB1dCgncC1ibHVyJykgYmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBlbnRyYXIgZG8gY2FtcG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWVudGVyJykgZW50ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gYWx0ZXJhciB2YWxvciBlIGRlaXhhciBvIGNhbXBvLlxuICAgKi9cbiAgQE91dHB1dCgncC1jaGFuZ2UnKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gYWx0ZXJhciB2YWxvciBkbyBtb2RlbC5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLW1vZGVsJykgY2hhbmdlTW9kZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHR5cGU6IHN0cmluZztcblxuICBvbkNoYW5nZVByb3BhZ2F0ZTogYW55ID0gbnVsbDtcbiAgb2JqTWFzazogYW55O1xuICBtb2RlbExhc3RVcGRhdGU6IGFueTtcbiAgaXNJbnZhbGlkOiBib29sZWFuO1xuICBoYXNWYWxpZGF0b3JSZXF1aXJlZCA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkOiBhbnkgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBwYXNzZWRXcml0ZVZhbHVlOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCB2YWxpZGF0b3JDaGFuZ2U6IGFueTtcblxuICBwcml2YXRlIF9tYXhsZW5ndGg/OiBudW1iZXI7XG4gIHByaXZhdGUgX21pbmxlbmd0aD86IG51bWJlcjtcbiAgcHJpdmF0ZSBfbm9BdXRvY29tcGxldGU/OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyPzogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgcHJvcHJpZWRhZGUgbmF0aXZhIGBhdXRvY29tcGxldGVgIGRvIGNhbXBvIGNvbW8gYG9mZmAuXG4gICAqXG4gICAqID4gTm8gY29tcG9uZW50ZSBgcG8tcGFzc3dvcmRgIHNlcsOhIGRlZmluaWRvIGNvbW8gYG5ldy1wYXNzd29yZGAuXG4gICAqXG4gICAqIE5vcyBjb21wb25lbnRlcyBgcG8tcGFzc3dvcmRgIGUgYHBvLWxvZ2luYCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgYHRydWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3Atbm8tYXV0b2NvbXBsZXRlJykgc2V0IG5vQXV0b2NvbXBsZXRlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbm9BdXRvY29tcGxldGUgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBub0F1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbm9BdXRvY29tcGxldGU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBNZW5zYWdlbSBxdWUgYXBhcmVjZXLDoSBlbnF1YW50byBvIGNhbXBvIG7Do28gZXN0aXZlciBwcmVlbmNoaWRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKi9cbiAgQElucHV0KCdwLXBsYWNlaG9sZGVyJykgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlIHx8ICcnO1xuICB9XG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFNlIHZlcmRhZGVpcm8sIGRlc2FiaWxpdGEgbyBjYW1wby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgncC1kaXNhYmxlZCcpIHNldCBzZXREaXNhYmxlZChkaXNhYmxlZDogc3RyaW5nKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkID09PSAnJyA/IHRydWUgOiBjb252ZXJ0VG9Cb29sZWFuKGRpc2FibGVkKTtcblxuICAgIHRoaXMudmFsaWRhdGVNb2RlbCgpO1xuICB9XG5cbiAgLyoqIEluZGljYSBxdWUgbyBjYW1wbyBzZXLDoSBzb21lbnRlIGxlaXR1cmEuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gIHJlYWRvbmx5PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ3AtcmVhZG9ubHknKSBzZXQgc2V0UmVhZG9ubHkocmVhZG9ubHk6IHN0cmluZykge1xuICAgIHRoaXMucmVhZG9ubHkgPSByZWFkb25seSA9PT0gJycgPyB0cnVlIDogY29udmVydFRvQm9vbGVhbihyZWFkb25seSk7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgcXVlIG8gY2FtcG8gc2Vyw6Egb2JyaWdhdMOzcmlvLlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgw6kgZGVzY29uc2lkZXJhZGEgcXVhbmRvIG8gaW5wdXQgZXN0w6EgZGVzYWJpbGl0YWRvIGAocC1kaXNhYmxlZClgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdwLXJlcXVpcmVkJykgc2V0IHNldFJlcXVpcmVkKHJlcXVpcmVkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQgPT09ICcnID8gdHJ1ZSA6IGNvbnZlcnRUb0Jvb2xlYW4ocmVxdWlyZWQpO1xuXG4gICAgdGhpcy52YWxpZGF0ZU1vZGVsKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHNlIGEgaW5kaWNhw6fDo28gZGUgY2FtcG8gb2JyaWdhdMOzcmlvIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTsOjbyBwb3NzdWlyIGBwLWhlbHBgIGUvb3UgYHAtbGFiZWxgLlxuICAgKi9cbiAgQElucHV0KCdwLXNob3ctcmVxdWlyZWQnKSBzaG93UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2UgdmVyZGFkZWlybywgbyBjYW1wbyByZWNlYmVyw6EgdW0gYm90w6NvIHBhcmEgc2VyIGxpbXBvLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBjbGVhbj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdwLWNsZWFuJykgc2V0IHNldENsZWFuKGNsZWFuOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNsZWFuID0gY2xlYW4gPT09ICcnID8gdHJ1ZSA6IGNvbnZlcnRUb0Jvb2xlYW4oY2xlYW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFeHByZXNzw6NvIHJlZ3VsYXIgcGFyYSB2YWxpZGFyIG8gY2FtcG8uXG4gICAqIFF1YW5kbyBvIGNhbXBvIHBvc3N1aXIgdW1hIG3DoXNjYXJhIGAocC1tYXNrKWAgc2Vyw6EgYXV0b21hdGljYW1lbnRlIHZhbGlkYWRvIHBvciBlbGEsIHBvcsOpbVxuICAgKiDDqSBwb3Nzw612ZWwgZGVmaW5pciB1bSBwLXBhdHRlcm4gcGFyYSBzdWJzdGl0dWlyIGEgdmFsaWRhw6fDo28gZGEgbcOhc2NhcmEuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBASW5wdXQoJ3AtcGF0dGVybicpIHNldCBzZXRQYXR0ZXJuKHBhdHRlcm46IHN0cmluZykge1xuICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XG5cbiAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEluZGljYSBhIHF1YW50aWRhZGUgbcOheGltYSBkZSBjYXJhY3RlcmVzIHF1ZSBvIGNhbXBvIGFjZWl0YS5cbiAgICovXG4gIEBJbnB1dCgncC1tYXhsZW5ndGgnKSBzZXQgbWF4bGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHBhcnNlSW50KDxhbnk+dmFsdWUsIDEwKSkpIHtcbiAgICAgIHRoaXMuX21heGxlbmd0aCA9IHBhcnNlSW50KDxhbnk+dmFsdWUsIDEwKTtcblxuICAgICAgdGhpcy52YWxpZGF0ZU1vZGVsKCk7XG4gICAgfSBlbHNlIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuX21heGxlbmd0aCA9IHVuZGVmaW5lZDtcblxuICAgICAgdGhpcy52YWxpZGF0ZU1vZGVsKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG1heGxlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4bGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIGEgcXVhbnRpZGFkZSBtw61uaW1hIGRlIGNhcmFjdGVyZXMgcXVlIG8gY2FtcG8gYWNlaXRhLlxuICAgKi9cbiAgQElucHV0KCdwLW1pbmxlbmd0aCcpIHNldCBtaW5sZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4ocGFyc2VJbnQoPGFueT52YWx1ZSwgMTApKSkge1xuICAgICAgdGhpcy5fbWlubGVuZ3RoID0gcGFyc2VJbnQoPGFueT52YWx1ZSwgMTApO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgICB9IGVsc2UgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5fbWlubGVuZ3RoID0gdW5kZWZpbmVkO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbWlubGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLl9taW5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEluZGljYSB1bWEgbcOhc2NhcmEgcGFyYSBvIGNhbXBvLiBFeGVtcGxvczogKCs5OSkgKDk5KSA5OTk5OT8tOTk5OSwgOTk5OTktOTk5LCA5OTkuOTk5Ljk5OS05OS5cbiAgICogQSBtw6FzY2FyYSBnZXJhIHVtYSB2YWxpZGHDp8OjbyBhdXRvbcOhdGljYSBkbyBjYW1wbywgcG9kZW5kbyBlc3RhIHNlciBzdWJzdGl0dcOtZGEgcG9yIHVtIFJFR0VYIGVzcGVjw61maWNvXG4gICAqIGF0cmF2w6lzIGRhIHByb3ByaWVkYWRlIHAtcGF0dGVybi5cbiAgICogTyBjYW1wbyBzZXLDoSBzaW5hbGl6YWRvIGUgbyBmb3JtdWzDoXJpbyBmaWNhcsOhIGludsOhbGlkbyBxdWFuZG8gbyB2YWxvciBpbmZvcm1hZG8gZXN0aXZlciBmb3JhIGRvIHBhZHLDo28gZGVmaW5pZG8sXG4gICAqIG1lc21vIHF1YW5kbyBkZXNhYmlsaXRhZG8uXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBtYXNrPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgncC1tYXNrJykgc2V0IHNldE1hc2sobWFzazogc3RyaW5nKSB7XG4gICAgdGhpcy5tYXNrID0gbWFzaztcblxuICAgIC8vIEF0dWFsaXphIE3DoXNjYXJhIGRvIENhbXBvXG4gICAgdGhpcy5vYmpNYXNrID0gbmV3IFBvTWFzayh0aGlzLm1hc2ssIHRoaXMubWFza0Zvcm1hdE1vZGVsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHNlIG8gYG1vZGVsYCByZWNlYmVyw6EgbyB2YWxvciBmb3JtYXRhZG8gcGVsYSBtw6FzY2FyYSBvdSBhcGVuYXMgbyB2YWxvciBwdXJvIChzZW0gZm9ybWF0YcOnw6NvKS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgbWFza0Zvcm1hdE1vZGVsPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ3AtbWFzay1mb3JtYXQtbW9kZWwnKSBzZXQgc2V0TWFza0Zvcm1hdE1vZGVsKG1hc2tGb3JtYXRNb2RlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5tYXNrRm9ybWF0TW9kZWwgPSBtYXNrRm9ybWF0TW9kZWwgPT09ICcnID8gdHJ1ZSA6IGNvbnZlcnRUb0Jvb2xlYW4obWFza0Zvcm1hdE1vZGVsKTtcblxuICAgIGlmICh0aGlzLm9iak1hc2sgaW5zdGFuY2VvZiBQb01hc2spIHtcbiAgICAgIHRoaXMub2JqTWFzay5mb3JtYXRNb2RlbCA9IHRoaXMubWFza0Zvcm1hdE1vZGVsO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2Q/OiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMub2JqTWFzayA9IG5ldyBQb01hc2sodGhpcy5tYXNrLCB0aGlzLm1hc2tGb3JtYXRNb2RlbCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY2FsbE9uQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKHZhbHVlKTtcblxuICAgIHRoaXMuY29udHJvbENoYW5nZU1vZGVsRW1pdHRlcih2YWx1ZSk7XG4gIH1cblxuICBjYWxsVXBkYXRlTW9kZWxXaXRoVGltZW91dCh2YWx1ZSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVNb2RlbCh2YWx1ZSkpO1xuICB9XG5cbiAgY29udHJvbENoYW5nZU1vZGVsRW1pdHRlcih2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMubW9kZWxMYXN0VXBkYXRlICE9PSB2YWx1ZSB8fCB0aGlzLmVtaXRBbGxDaGFuZ2VzKSB7XG4gICAgICB0aGlzLmNoYW5nZU1vZGVsLmVtaXQodmFsdWUpO1xuICAgICAgdGhpcy5tb2RlbExhc3RVcGRhdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gVXNhZGEgcGFyYSBpbnRlcmNlcHRhciBvcyBlc3RhZG9zIGRlIGhhYmlsaXRhZG8gdmlhIGZvcm1zIGFwaVxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkPy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIEZ1bsOnw6NvIGltcGxlbWVudGFkYSBkbyBDb250cm9sVmFsdWVBY2Nlc3NvclxuICAvLyBVc2FkYSBwYXJhIGludGVyY2VwdGFyIGFzIG11ZGFuw6dhcyBlIG7Do28gYXR1YWxpemFyIGF1dG9tYXRpY2FtZW50ZSBvIE1vZGVsXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZnVuYzogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSA9IGZ1bmM7XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gVXNhZGEgcGFyYSBpbnRlcmNlcHRhciBhcyBtdWRhbsOnYXMgZSBuw6NvIGF0dWFsaXphciBhdXRvbWF0aWNhbWVudGUgbyBNb2RlbFxuICByZWdpc3Rlck9uVG91Y2hlZChmdW5jOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZ1bmM7XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy52YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHVwZGF0ZU1vZGVsKHZhbHVlOiBhbnkpIHtcbiAgICAvLyBRdWFuZG8gbyBpbnB1dCBuw6NvIHBvc3N1aSB1bSBmb3JtdWzDoXJpbywgZW50w6NvIGVzdGEgZnVuw6fDo28gbsOjbyDDqSByZWdpc3RyYWRhXG4gICAgaWYgKHRoaXMub25DaGFuZ2VQcm9wYWdhdGUpIHtcbiAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICghdGhpcy5oYXNWYWxpZGF0b3JSZXF1aXJlZCAmJiB0aGlzLnNob3dFcnJvck1lc3NhZ2VSZXF1aXJlZCAmJiBjLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgdGhpcy5oYXNWYWxpZGF0b3JSZXF1aXJlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHJlcXVpcmVkRmFpbGVkKHRoaXMucmVxdWlyZWQsIHRoaXMuZGlzYWJsZWQsIHRoaXMuZ2V0U2NyZWVuVmFsdWUoKSkpIHtcbiAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVkOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbWF4bGVuZ3BvYWlsZWQodGhpcy5tYXhsZW5ndGgsIHRoaXMuZ2V0U2NyZWVuVmFsdWUoKSwgdGhpcy5tYXNrRm9ybWF0TW9kZWwgPyBmYWxzZSA6IHRoaXMubWFza05vTGVuZ3RoVmFsaWRhdGlvbilcbiAgICApIHtcbiAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1heGxlbmd0aDoge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG1pbmxlbmdwb2FpbGVkKHRoaXMubWlubGVuZ3RoLCB0aGlzLmdldFNjcmVlblZhbHVlKCksIHRoaXMubWFza0Zvcm1hdE1vZGVsID8gZmFsc2UgOiB0aGlzLm1hc2tOb0xlbmd0aFZhbGlkYXRpb24pXG4gICAgKSB7XG4gICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW5sZW5ndGg6IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAocGF0dGVybkZhaWxlZCh0aGlzLnBhdHRlcm4sIGMudmFsdWUpKSB7XG4gICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRlUGF0dGVybk9uV3JpdGVWYWx1ZShjLnZhbHVlKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdHRlcm46IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lcnJvclBhdHRlcm4gIT09ICcnKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGMuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoc3RhdHVzID0+IHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJykge1xuICAgICAgICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc0ludmFsaWQgPSBmYWxzZTtcbiAgICByZXR1cm4gdGhpcy5leHRyYVZhbGlkYXRpb24oYyk7XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy53cml0ZVZhbHVlTW9kZWwodmFsdWUpO1xuICAgIHRoaXMuY2Q/Lm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlTW9kZWwoKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdG9yQ2hhbmdlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvckNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHV0aWxpemFkbyBwYXJhIHZhbGlkYXIgbyBwYXR0ZXJuIG5hIGluaWNpYWxpemFjYW8sIGZhemVuZG8gZGVzc2EgZm9ybWEgbyBjYW1wbyBmaWNhIHN1am8gKGRpcnR5KS5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVBhdHRlcm5PbldyaXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLnBhc3NlZFdyaXRlVmFsdWUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKHZhbHVlKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBhc3NlZFdyaXRlVmFsdWUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIGF0cmlidWkgZm9jbyBhbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIHV0aWxpesOhLWxhIMOpIG5lY2Vzc8OhcmlvIHRlciBhIGluc3TDom5jaWEgZG8gY29tcG9uZW50ZSBubyBET00sIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBvIFZpZXdDaGlsZCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBvTm9tZURvQ29tcG9uZW50ZUNvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9Ob21lRG9Db21wb25lbnRlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBub21lRG9Db21wb25lbnRlOiBQb05vbWVEb0NvbXBvbmVudGVDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzQ29tcG9uZW50KCkge1xuICAgKiAgIHRoaXMubm9tZURvQ29tcG9uZW50ZS5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3QgZm9jdXMoKTogdm9pZDtcblxuICAvLyBNw6l0b2RvIHF1ZSByZWNlYmVyw6EgbyB2YWxvciBkbyBtb2RlbFxuICBhYnN0cmFjdCB3cml0ZVZhbHVlTW9kZWwodmFsdWU6IGFueSk6IHZvaWQ7XG5cbiAgLy8gVmFsaWRhw6fDtWVzIGRvIGNhbXBvXG4gIGFic3RyYWN0IGV4dHJhVmFsaWRhdGlvbihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8vIERldmUgcmV0b3JuYXIgbyB2YWxvciBkbyBjYW1wb1xuICBhYnN0cmFjdCBnZXRTY3JlZW5WYWx1ZSgpOiBzdHJpbmc7XG59XG4iXX0=
@@ -77,7 +77,7 @@ export class PoInputComponent extends PoInputGeneric {
77
77
  useExisting: forwardRef(() => PoInputComponent),
78
78
  multi: true
79
79
  }
80
- ]), i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 23, consts: [["inp", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], ["class", "po-field-icon-container-left", 4, "ngIf"], [1, "po-input", 3, "blur", "click", "focus", "input", "autocomplete", "disabled", "id", "placeholder", "readonly", "required", "type"], [1, "po-field-icon-container-right"], [3, "class", "p-element-ref", "p-change-event", 4, "ngIf"], [3, "p-help", "p-disabled", "p-error-pattern"], [1, "po-field-icon-container-left"], [3, "p-icon"], [3, "p-change-event", "p-element-ref"]], template: function PoInputComponent_Template(rf, ctx) { if (rf & 1) {
80
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 25, consts: [["inp", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], ["class", "po-field-icon-container-left", 4, "ngIf"], [1, "po-input", 3, "blur", "click", "focus", "input", "autocomplete", "disabled", "id", "placeholder", "readonly", "required", "type"], [1, "po-field-icon-container-right"], [3, "class", "p-element-ref", "p-change-event", 4, "ngIf"], [3, "p-help", "p-disabled", "p-error-pattern", "p-error-limit", "p-append-in-body"], [1, "po-field-icon-container-left"], [3, "p-icon"], [3, "p-change-event", "p-element-ref"]], template: function PoInputComponent_Template(rf, ctx) { if (rf & 1) {
81
81
  const _r1 = i0.ɵɵgetCurrentView();
82
82
  i0.ɵɵelementStart(0, "po-field-container", 1)(1, "div", 2);
83
83
  i0.ɵɵtemplate(2, PoInputComponent_div_2_Template, 2, 6, "div", 3);
@@ -100,7 +100,7 @@ export class PoInputComponent extends PoInputGeneric {
100
100
  i0.ɵɵadvance(3);
101
101
  i0.ɵɵproperty("ngIf", ctx.clean && !ctx.disabled && !ctx.readonly);
102
102
  i0.ɵɵadvance();
103
- i0.ɵɵproperty("p-help", ctx.help)("p-disabled", ctx.disabled)("p-error-pattern", ctx.getErrorPattern());
103
+ i0.ɵɵproperty("p-help", ctx.help)("p-disabled", ctx.disabled)("p-error-pattern", ctx.getErrorPattern())("p-error-limit", ctx.errorLimit)("p-append-in-body", ctx.errorAppendBox);
104
104
  } }, dependencies: [i1.NgIf, i2.PoCleanComponent, i3.PoFieldContainerBottomComponent, i4.PoFieldContainerComponent, i5.PoIconComponent], encapsulation: 2, changeDetection: 0 });
105
105
  }
106
106
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoInputComponent, [{
@@ -116,10 +116,10 @@ export class PoInputComponent extends PoInputGeneric {
116
116
  useExisting: forwardRef(() => PoInputComponent),
117
117
  multi: true
118
118
  }
119
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div *ngIf=\"icon\" class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-right]=\"clean\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n *ngIf=\"clean && !disabled && !readonly\"\n [p-element-ref]=\"inputEl\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n </div>\n </div>\n\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n ></po-field-container-bottom>\n</po-field-container>\n" }]
119
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div *ngIf=\"icon\" class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-right]=\"clean\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n *ngIf=\"clean && !disabled && !readonly\"\n [p-element-ref]=\"inputEl\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n </div>\n </div>\n\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-append-in-body]=\"errorAppendBox\"\n ></po-field-container-bottom>\n</po-field-container>\n" }]
120
120
  }], () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], { inp: [{
121
121
  type: ViewChild,
122
122
  args: ['inp', { static: true }]
123
123
  }] }); })();
124
124
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoInputComponent, { className: "PoInputComponent", filePath: "lib/components/po-field/po-input/po-input.component.ts", lineNumber: 52 }); })();
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLWlucHV0L3BvLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1pbnB1dC9wby1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0lDSGxFLDhCQUF1RDtJQUNyRCw2QkFJVztJQUNiLGlCQUFNOzs7SUFKRixjQUFpRjtJQUFqRiw2R0FBaUY7SUFDakYseURBQXlDO0lBQ3pDLG9DQUFlOzs7O0lBd0JqQixvQ0FLQztJQURDLDJNQUFrQixvQkFBYSxLQUFDO0lBRWxDLGlCQUFXOzs7SUFMVCwyRUFBbUU7SUFFbkUsOENBQXlCOztBRDFCakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFrQkgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFDZCxHQUFHLENBQWE7SUFFcEQsRUFBRSxHQUFHLFlBQVksSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUUzQiwwQkFBMEI7SUFDMUIsWUFBWSxFQUFjLEVBQUUsRUFBcUI7UUFDL0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsZUFBZSxDQUFDLENBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzswRUFaVSxnQkFBZ0I7NkRBQWhCLGdCQUFnQjs7Ozs7OENBZGhCO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQy9DLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMvQyxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGOztZQ3hDRCxBQVJGLDZDQU9DLGFBQ3lDO1lBQ3RDLGlFQUF1RDtZQVF2RCxtQ0FpQkU7WUFEQSxBQURBLEFBREEsQUFEQSxzSUFBUSx1QkFBbUIsS0FBQywySEFDbkIsd0JBQW9CLEtBQUMsMkhBQ3JCLHdCQUFvQixLQUFDLDJIQUNyQix3QkFBb0IsS0FBQztZQWhCaEMsaUJBaUJFO1lBRUYsOEJBQTJDO1lBQ3pDLDJFQUtDO1lBR0wsQUFERSxpQkFBTSxFQUNGO1lBRU4sK0NBSTZCO1lBQy9CLGlCQUFxQjs7WUE5Q25CLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx5Q0FBdUIsZ0JBQ1osc0JBQ00sNEJBQ00sNEJBQ0EscUNBQ1M7WUFHeEIsZUFBVTtZQUFWLCtCQUFVO1lBYWQsY0FBaUM7WUFDakMsQUFEQSw4Q0FBaUMsa0NBQ0U7WUFNbkMsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBSEEsK0NBQTZCLDBCQUdSLGNBQ1osb0RBQ2tDLDBCQUN0QiwwQkFDQSxrQkFDUjs7WUFVVixlQUFxQztZQUFyQyxrRUFBcUM7WUFTMUMsY0FBZTtZQUVmLEFBREEsQUFEQSxpQ0FBZSw0QkFDUSwwQ0FDYzs7O2lGREM1QixnQkFBZ0I7Y0FqQjVCLFNBQVM7MkJBQ0UsVUFBVSxhQUVUO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3dCQUMvQyxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7d0JBQy9DLEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzJFQUdYLEdBQUc7a0JBQXRDLFNBQVM7bUJBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0ZBRHZCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvSW5wdXRHZW5lcmljIH0gZnJvbSAnLi4vcG8taW5wdXQtZ2VuZXJpYy9wby1pbnB1dC1nZW5lcmljJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9JbnB1dEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1pbnB1dC1iYXNpY1wiIHRpdGxlPVwiUE8gSW5wdXQgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWlucHV0LWJhc2ljL3NhbXBsZS1wby1pbnB1dC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1pbnB1dC1iYXNpYy9zYW1wbGUtcG8taW5wdXQtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8taW5wdXQtbGFic1wiIHRpdGxlPVwiUE8gSW5wdXQgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW5wdXQtbGFicy9zYW1wbGUtcG8taW5wdXQtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1pbnB1dC1sYWJzL3NhbXBsZS1wby1pbnB1dC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWlucHV0LXJlYWN0aXZlLWZvcm1cIiB0aXRsZT1cIlBPIElucHV0IC0gUmVhY3RpdmUgRm9ybVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW5wdXQtcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8taW5wdXQtcmVhY3RpdmUtZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1pbnB1dC1yZWFjdGl2ZS1mb3JtL3NhbXBsZS1wby1pbnB1dC1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0lucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9JbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUG9JbnB1dENvbXBvbmVudCBleHRlbmRzIFBvSW5wdXRHZW5lcmljIHtcbiAgQFZpZXdDaGlsZCgnaW5wJywgeyBzdGF0aWM6IHRydWUgfSkgaW5wOiBFbGVtZW50UmVmO1xuXG4gIGlkID0gYHBvLWlucHV0WyR7dXVpZCgpfV1gO1xuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihlbCwgY2QpO1xuICB9XG5cbiAgZXh0cmFWYWxpZGF0aW9uKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyXG4gIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW3AtaWRdPVwiaWRcIlxuICBbcC1sYWJlbF09XCJsYWJlbFwiXG4gIFtwLW9wdGlvbmFsXT1cIm9wdGlvbmFsXCJcbiAgW3AtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbcC1zaG93LXJlcXVpcmVkXT1cInNob3dSZXF1aXJlZFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiPlxuICAgIDxkaXYgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1sZWZ0XCI+XG4gICAgICA8cG8taWNvblxuICAgICAgICBjbGFzcz1cInBvLWZpZWxkLWljb24ge3sgZGlzYWJsZWQgPyAncG8taWNvbi1pbnB1dC1kaXNhYmxlZCcgOiAncG8taWNvbi1pbnB1dCcgfX1cIlxuICAgICAgICBbY2xhc3MucG8tZmllbGQtaWNvbi1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtwLWljb25dPVwiaWNvblwiXG4gICAgICA+PC9wby1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGlucHV0XG4gICAgICAjaW5wXG4gICAgICBjbGFzcz1cInBvLWlucHV0XCJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICBbY2xhc3MucG8taW5wdXQtaWNvbi1sZWZ0XT1cImljb25cIlxuICAgICAgW2NsYXNzLnBvLWlucHV0LWljb24tcmlnaHRdPVwiY2xlYW5cIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZGlzYWJsZWQgPyAnJyA6IHBsYWNlaG9sZGVyXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAoYmx1cik9XCJldmVudE9uQmx1cigkZXZlbnQpXCJcbiAgICAgIChjbGljayk9XCJldmVudE9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAoZm9jdXMpPVwiZXZlbnRPbkZvY3VzKCRldmVudClcIlxuICAgICAgKGlucHV0KT1cImV2ZW50T25JbnB1dCgkZXZlbnQpXCJcbiAgICAvPlxuXG4gICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWljb24tY29udGFpbmVyLXJpZ2h0XCI+XG4gICAgICA8cG8tY2xlYW5cbiAgICAgICAgY2xhc3M9XCJ7eyBkaXNhYmxlZCA/ICdwby1pY29uLWlucHV0LWRpc2FibGVkJyA6ICdwby1pY29uLWlucHV0JyB9fVwiXG4gICAgICAgICpuZ0lmPVwiY2xlYW4gJiYgIWRpc2FibGVkICYmICFyZWFkb25seVwiXG4gICAgICAgIFtwLWVsZW1lbnQtcmVmXT1cImlucHV0RWxcIlxuICAgICAgICAocC1jaGFuZ2UtZXZlbnQpPVwiY2xlYXIoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3BvLWNsZWFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbVxuICAgIFtwLWhlbHBdPVwiaGVscFwiXG4gICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZ2V0RXJyb3JQYXR0ZXJuKClcIlxuICA+PC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLWlucHV0L3BvLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1pbnB1dC9wby1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0lDSGxFLDhCQUF1RDtJQUNyRCw2QkFJVztJQUNiLGlCQUFNOzs7SUFKRixjQUFpRjtJQUFqRiw2R0FBaUY7SUFDakYseURBQXlDO0lBQ3pDLG9DQUFlOzs7O0lBd0JqQixvQ0FLQztJQURDLDJNQUFrQixvQkFBYSxLQUFDO0lBRWxDLGlCQUFXOzs7SUFMVCwyRUFBbUU7SUFFbkUsOENBQXlCOztBRDFCakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFrQkgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFDZCxHQUFHLENBQWE7SUFFcEQsRUFBRSxHQUFHLFlBQVksSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUUzQiwwQkFBMEI7SUFDMUIsWUFBWSxFQUFjLEVBQUUsRUFBcUI7UUFDL0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsZUFBZSxDQUFDLENBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzswRUFaVSxnQkFBZ0I7NkRBQWhCLGdCQUFnQjs7Ozs7OENBZGhCO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQy9DLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMvQyxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGOztZQ3hDRCxBQVJGLDZDQU9DLGFBQ3lDO1lBQ3RDLGlFQUF1RDtZQVF2RCxtQ0FpQkU7WUFEQSxBQURBLEFBREEsQUFEQSxzSUFBUSx1QkFBbUIsS0FBQywySEFDbkIsd0JBQW9CLEtBQUMsMkhBQ3JCLHdCQUFvQixLQUFDLDJIQUNyQix3QkFBb0IsS0FBQztZQWhCaEMsaUJBaUJFO1lBRUYsOEJBQTJDO1lBQ3pDLDJFQUtDO1lBR0wsQUFERSxpQkFBTSxFQUNGO1lBRU4sK0NBTTZCO1lBQy9CLGlCQUFxQjs7WUFoRG5CLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx5Q0FBdUIsZ0JBQ1osc0JBQ00sNEJBQ00sNEJBQ0EscUNBQ1M7WUFHeEIsZUFBVTtZQUFWLCtCQUFVO1lBYWQsY0FBaUM7WUFDakMsQUFEQSw4Q0FBaUMsa0NBQ0U7WUFNbkMsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBSEEsK0NBQTZCLDBCQUdSLGNBQ1osb0RBQ2tDLDBCQUN0QiwwQkFDQSxrQkFDUjs7WUFVVixlQUFxQztZQUFyQyxrRUFBcUM7WUFTMUMsY0FBZTtZQUlmLEFBREEsQUFEQSxBQURBLEFBREEsaUNBQWUsNEJBQ1EsMENBQ2MsaUNBQ1Qsd0NBQ087OztpRkREMUIsZ0JBQWdCO2NBakI1QixTQUFTOzJCQUNFLFVBQVUsYUFFVDtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzt3QkFDL0MsS0FBSyxFQUFFLElBQUk7cUJBQ1o7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3dCQUMvQyxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTsyRUFHWCxHQUFHO2tCQUF0QyxTQUFTO21CQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O2tGQUR2QixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb0lucHV0R2VuZXJpYyB9IGZyb20gJy4uL3BvLWlucHV0LWdlbmVyaWMvcG8taW5wdXQtZ2VuZXJpYyc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvSW5wdXRCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8taW5wdXQtYmFzaWNcIiB0aXRsZT1cIlBPIElucHV0IEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1pbnB1dC1iYXNpYy9zYW1wbGUtcG8taW5wdXQtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW5wdXQtYmFzaWMvc2FtcGxlLXBvLWlucHV0LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWlucHV0LWxhYnNcIiB0aXRsZT1cIlBPIElucHV0IExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWlucHV0LWxhYnMvc2FtcGxlLXBvLWlucHV0LWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW5wdXQtbGFicy9zYW1wbGUtcG8taW5wdXQtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1pbnB1dC1yZWFjdGl2ZS1mb3JtXCIgdGl0bGU9XCJQTyBJbnB1dCAtIFJlYWN0aXZlIEZvcm1cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWlucHV0LXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLWlucHV0LXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW5wdXQtcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8taW5wdXQtcmVhY3RpdmUtZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9JbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBvSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBQb0lucHV0R2VuZXJpYyB7XG4gIEBWaWV3Q2hpbGQoJ2lucCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucDogRWxlbWVudFJlZjtcblxuICBpZCA9IGBwby1pbnB1dFske3V1aWQoKX1dYDtcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoZWwsIGNkKTtcbiAgfVxuXG4gIGV4dHJhVmFsaWRhdGlvbihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPHBvLWZpZWxkLWNvbnRhaW5lclxuICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtwLWlkXT1cImlkXCJcbiAgW3AtbGFiZWxdPVwibGFiZWxcIlxuICBbcC1vcHRpb25hbF09XCJvcHRpb25hbFwiXG4gIFtwLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3Atc2hvdy1yZXF1aXJlZF09XCJzaG93UmVxdWlyZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItbGVmdFwiPlxuICAgICAgPHBvLWljb25cbiAgICAgICAgY2xhc3M9XCJwby1maWVsZC1pY29uIHt7IGRpc2FibGVkID8gJ3BvLWljb24taW5wdXQtZGlzYWJsZWQnIDogJ3BvLWljb24taW5wdXQnIH19XCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcC1pY29uXT1cImljb25cIlxuICAgICAgPjwvcG8taWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxpbnB1dFxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby1pbnB1dFwiXG4gICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgW2NsYXNzLnBvLWlucHV0LWljb24tbGVmdF09XCJpY29uXCJcbiAgICAgIFtjbGFzcy5wby1pbnB1dC1pY29uLXJpZ2h0XT1cImNsZWFuXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc2FibGVkID8gJycgOiBwbGFjZWhvbGRlclwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgKGJsdXIpPVwiZXZlbnRPbkJsdXIoJGV2ZW50KVwiXG4gICAgICAoY2xpY2spPVwiZXZlbnRPbkNsaWNrKCRldmVudClcIlxuICAgICAgKGZvY3VzKT1cImV2ZW50T25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChpbnB1dCk9XCJldmVudE9uSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxuICAgICAgPHBvLWNsZWFuXG4gICAgICAgIGNsYXNzPVwie3sgZGlzYWJsZWQgPyAncG8taWNvbi1pbnB1dC1kaXNhYmxlZCcgOiAncG8taWNvbi1pbnB1dCcgfX1cIlxuICAgICAgICAqbmdJZj1cImNsZWFuICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHlcIlxuICAgICAgICBbcC1lbGVtZW50LXJlZl09XCJpbnB1dEVsXCJcbiAgICAgICAgKHAtY2hhbmdlLWV2ZW50KT1cImNsZWFyKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9wby1jbGVhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b21cbiAgICBbcC1oZWxwXT1cImhlbHBcIlxuICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImdldEVycm9yUGF0dGVybigpXCJcbiAgICBbcC1lcnJvci1saW1pdF09XCJlcnJvckxpbWl0XCJcbiAgICBbcC1hcHBlbmQtaW4tYm9keV09XCJlcnJvckFwcGVuZEJveFwiXG4gID48L3BvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+XG48L3BvLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -77,7 +77,7 @@ export class PoLoginComponent extends PoInputGeneric {
77
77
  return null;
78
78
  }
79
79
  static ɵfac = function PoLoginComponent_Factory(t) { return new (t || PoLoginComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
80
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLoginComponent, selectors: [["po-login"]], inputs: { noAutocomplete: [0, "p-no-autocomplete", "noAutocomplete"] }, features: [i0.ɵɵProvidersFeature(providers), i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 25, consts: [["inp", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], [1, "po-field-icon-container-left"], ["p-icon", "ICON_USER"], [1, "po-input", "po-input-icon-left", 3, "blur", "click", "focus", "input", "autocomplete", "disabled", "id", "placeholder", "readonly", "required", "type"], [1, "po-field-icon-container-right"], ["class", "po-icon-input", 3, "p-element-ref", "p-change-event", 4, "ngIf"], [3, "p-help", "p-disabled", "p-error-pattern"], [1, "po-icon-input", 3, "p-change-event", "p-element-ref"]], template: function PoLoginComponent_Template(rf, ctx) { if (rf & 1) {
80
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLoginComponent, selectors: [["po-login"]], inputs: { noAutocomplete: [0, "p-no-autocomplete", "noAutocomplete"] }, features: [i0.ɵɵProvidersFeature(providers), i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 26, consts: [["inp", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], [1, "po-field-icon-container-left"], ["p-icon", "ICON_USER"], [1, "po-input", "po-input-icon-left", 3, "blur", "click", "focus", "input", "autocomplete", "disabled", "id", "placeholder", "readonly", "required", "type"], [1, "po-field-icon-container-right"], ["class", "po-icon-input", 3, "p-element-ref", "p-change-event", 4, "ngIf"], [3, "p-help", "p-disabled", "p-error-pattern", "p-error-limit"], [1, "po-icon-input", 3, "p-change-event", "p-element-ref"]], template: function PoLoginComponent_Template(rf, ctx) { if (rf & 1) {
81
81
  const _r1 = i0.ɵɵgetCurrentView();
82
82
  i0.ɵɵelementStart(0, "po-field-container", 1)(1, "div", 2)(2, "div", 3);
83
83
  i0.ɵɵelement(3, "po-icon", 4);
@@ -102,15 +102,15 @@ export class PoLoginComponent extends PoInputGeneric {
102
102
  i0.ɵɵadvance(3);
103
103
  i0.ɵɵproperty("ngIf", ctx.clean && !ctx.disabled && !ctx.readonly);
104
104
  i0.ɵɵadvance();
105
- i0.ɵɵproperty("p-help", ctx.help)("p-disabled", ctx.disabled)("p-error-pattern", ctx.getErrorPattern());
105
+ i0.ɵɵproperty("p-help", ctx.help)("p-disabled", ctx.disabled)("p-error-pattern", ctx.getErrorPattern())("p-error-limit", ctx.errorLimit);
106
106
  } }, dependencies: [i1.NgIf, i2.PoCleanComponent, i3.PoFieldContainerBottomComponent, i4.PoFieldContainerComponent, i5.PoIconComponent], encapsulation: 2, changeDetection: 0 });
107
107
  }
108
108
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoLoginComponent, [{
109
109
  type: Component,
110
- args: [{ selector: 'po-login', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers, template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_USER\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input po-input-icon-left\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-right]=\"clean\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n <po-clean\n class=\"po-icon-input\"\n *ngIf=\"clean && !disabled && !readonly\"\n [p-element-ref]=\"inputEl\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n </div>\n </div>\n\n <po-field-container-bottom [p-help]=\"help\" [p-disabled]=\"disabled\" [p-error-pattern]=\"getErrorPattern()\">\n </po-field-container-bottom>\n</po-field-container>\n" }]
110
+ args: [{ selector: 'po-login', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers, template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_USER\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input po-input-icon-left\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-right]=\"clean\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n <po-clean\n class=\"po-icon-input\"\n *ngIf=\"clean && !disabled && !readonly\"\n [p-element-ref]=\"inputEl\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n </div>\n </div>\n\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n >\n </po-field-container-bottom>\n</po-field-container>\n" }]
111
111
  }], () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], { noAutocomplete: [{
112
112
  type: Input,
113
113
  args: ['p-no-autocomplete']
114
114
  }] }); })();
115
115
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoLoginComponent, { className: "PoLoginComponent", filePath: "lib/components/po-field/po-login/po-login.component.ts", lineNumber: 54 }); })();
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLWxvZ2luL3BvLWxvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb2dpbi9wby1sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBbUIsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0lDK0JoRSxtQ0FLQztJQURDLDJNQUFrQixvQkFBYSxLQUFDO0lBRWxDLGlCQUFXOzs7SUFIVCw4Q0FBeUI7O0FEaENqQywwQkFBMEI7QUFDMUIsTUFBTSxTQUFTLEdBQUc7SUFDaEI7UUFDRSxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLDJCQUEyQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLEtBQUssRUFBRSxJQUFJO0tBQ1o7SUFDRDtRQUNFLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLDJCQUEyQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBT0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFDbEQsRUFBRSxHQUFHLFlBQVksSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUMzQixJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ04sb0JBQW9CLEdBQWEsSUFBSSxDQUFDO0lBRTlDLElBQXlDLGNBQWMsQ0FBQyxLQUFjO1FBQ3BFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBYSxjQUFjO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFhLFlBQVk7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1QyxDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLFlBQVksRUFBYyxFQUFFLEVBQXFCO1FBQy9DLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7MEVBeEJVLGdCQUFnQjs2REFBaEIsZ0JBQWdCLHNJQUYzQixTQUFTOztZQzFDUCxBQURGLEFBUkYsNkNBT0MsYUFDeUMsYUFDSTtZQUN4Qyw2QkFJVztZQUNiLGlCQUFNO1lBRU4sbUNBZ0JFO1lBREEsQUFEQSxBQURBLEFBREEsc0lBQVEsdUJBQW1CLEtBQUMsMkhBQ25CLHdCQUFvQixLQUFDLDJIQUNyQix3QkFBb0IsS0FBQywySEFDckIsd0JBQW9CLEtBQUM7WUFmaEMsaUJBZ0JFO1lBRUYsOEJBQTJDO1lBQ3pDLDJFQUtDO1lBR0wsQUFERSxpQkFBTSxFQUNGO1lBRU4sK0NBQzRCO1lBQzlCLGlCQUFxQjs7WUExQ25CLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx5Q0FBdUIsZ0JBQ1osc0JBQ00sNEJBQ00sNEJBQ0EscUNBQ1M7WUFNMUIsZUFBaUY7WUFBakYsMEdBQWlGO1lBQ2pGLHNEQUF5QztZQVMzQyxjQUFtQztZQUFuQyxnREFBbUM7WUFNbkMsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBRkEsK0NBQTZCLDBCQUVSLGNBQ1osb0RBQ2tDLDBCQUN0QiwwQkFDQSxrQkFDUjs7WUFVVixlQUFxQztZQUFyQyxrRUFBcUM7WUFRakIsY0FBZTtZQUF5QixBQUF4QixBQUFoQixpQ0FBZSw0QkFBd0IsMENBQXNDOzs7aUZETzdGLGdCQUFnQjtjQU41QixTQUFTOzJCQUNFLFVBQVUsbUJBRUgsdUJBQXVCLENBQUMsTUFBTSxhQUMvQyxTQUFTOzJFQU9nQyxjQUFjO2tCQUF0RCxLQUFLO21CQUFDLG1CQUFtQjs7a0ZBTGYsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuLCB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvSW5wdXRHZW5lcmljIH0gZnJvbSAnLi4vcG8taW5wdXQtZ2VuZXJpYy9wby1pbnB1dC1nZW5lcmljJztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmNvbnN0IHByb3ZpZGVycyA9IFtcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9naW5Db21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9naW5Db21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvSW5wdXRCYXNlQ29tcG9uZW50XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBPIGBwby1sb2dpbmAgw6kgdW0gaW5wdXQgZXNwZWPDrWZpY28gcGFyYSBsb2dpbi4gSsOhIHBvc3N1aSB0aXBvLCBlc3RpbG8gZSDDrWNvbmUgcHJlZGVmaW5pZG9zLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxvZ2luLWJhc2ljXCIgdGl0bGU9XCJQTyBMb2dpbiBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9naW4tYmFzaWMvc2FtcGxlLXBvLWxvZ2luLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvZ2luLWJhc2ljL3NhbXBsZS1wby1sb2dpbi1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb2dpbi1sYWJzXCIgdGl0bGU9XCJQTyBMb2dpbiBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb2dpbi1sYWJzL3NhbXBsZS1wby1sb2dpbi1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvZ2luLWxhYnMvc2FtcGxlLXBvLWxvZ2luLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9naW4tY29uZmlybVwiIHRpdGxlPVwiUE8gTG9naW4gLSBDb25maXJtIElkZW50aXR5XCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb2dpbi1jb25maXJtL3NhbXBsZS1wby1sb2dpbi1jb25maXJtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvZ2luLWNvbmZpcm0vc2FtcGxlLXBvLWxvZ2luLWNvbmZpcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWxvZ2luLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyc1xufSlcbmV4cG9ydCBjbGFzcyBQb0xvZ2luQ29tcG9uZW50IGV4dGVuZHMgUG9JbnB1dEdlbmVyaWMge1xuICBpZCA9IGBwby1sb2dpblske3V1aWQoKX1dYDtcbiAgdHlwZSA9ICd0ZXh0JztcbiAgcHJpdmF0ZSBfbm9BdXRvY29tcGxldGVMb2dpbj86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgncC1uby1hdXRvY29tcGxldGUnKSBvdmVycmlkZSBzZXQgbm9BdXRvY29tcGxldGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9ub0F1dG9jb21wbGV0ZUxvZ2luID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgbm9BdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vQXV0b2NvbXBsZXRlTG9naW47XG4gIH1cblxuICBvdmVycmlkZSBnZXQgYXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubm9BdXRvY29tcGxldGUgPyAnb2ZmJyA6ICdvbic7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoZWwsIGNkKTtcbiAgfVxuXG4gIGV4dHJhVmFsaWRhdGlvbihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPHBvLWZpZWxkLWNvbnRhaW5lclxuICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtwLWlkXT1cImlkXCJcbiAgW3AtbGFiZWxdPVwibGFiZWxcIlxuICBbcC1vcHRpb25hbF09XCJvcHRpb25hbFwiXG4gIFtwLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3Atc2hvdy1yZXF1aXJlZF09XCJzaG93UmVxdWlyZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItbGVmdFwiPlxuICAgICAgPHBvLWljb25cbiAgICAgICAgcC1pY29uPVwiSUNPTl9VU0VSXCJcbiAgICAgICAgY2xhc3M9XCJwby1maWVsZC1pY29uIHt7IGRpc2FibGVkID8gJ3BvLWljb24taW5wdXQtZGlzYWJsZWQnIDogJ3BvLWljb24taW5wdXQnIH19XCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgPjwvcG8taWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxpbnB1dFxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby1pbnB1dCBwby1pbnB1dC1pY29uLWxlZnRcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgIFtjbGFzcy5wby1pbnB1dC1pY29uLXJpZ2h0XT1cImNsZWFuXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc2FibGVkID8gJycgOiBwbGFjZWhvbGRlclwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgKGJsdXIpPVwiZXZlbnRPbkJsdXIoJGV2ZW50KVwiXG4gICAgICAoY2xpY2spPVwiZXZlbnRPbkNsaWNrKCRldmVudClcIlxuICAgICAgKGZvY3VzKT1cImV2ZW50T25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChpbnB1dCk9XCJldmVudE9uSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxuICAgICAgPHBvLWNsZWFuXG4gICAgICAgIGNsYXNzPVwicG8taWNvbi1pbnB1dFwiXG4gICAgICAgICpuZ0lmPVwiY2xlYW4gJiYgIWRpc2FibGVkICYmICFyZWFkb25seVwiXG4gICAgICAgIFtwLWVsZW1lbnQtcmVmXT1cImlucHV0RWxcIlxuICAgICAgICAocC1jaGFuZ2UtZXZlbnQpPVwiY2xlYXIoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3BvLWNsZWFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbSBbcC1oZWxwXT1cImhlbHBcIiBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtwLWVycm9yLXBhdHRlcm5dPVwiZ2V0RXJyb3JQYXR0ZXJuKClcIj5cbiAgPC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLWxvZ2luL3BvLWxvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb2dpbi9wby1sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBbUIsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0lDK0JoRSxtQ0FLQztJQURDLDJNQUFrQixvQkFBYSxLQUFDO0lBRWxDLGlCQUFXOzs7SUFIVCw4Q0FBeUI7O0FEaENqQywwQkFBMEI7QUFDMUIsTUFBTSxTQUFTLEdBQUc7SUFDaEI7UUFDRSxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLDJCQUEyQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLEtBQUssRUFBRSxJQUFJO0tBQ1o7SUFDRDtRQUNFLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLDJCQUEyQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBT0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFDbEQsRUFBRSxHQUFHLFlBQVksSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUMzQixJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ04sb0JBQW9CLEdBQWEsSUFBSSxDQUFDO0lBRTlDLElBQXlDLGNBQWMsQ0FBQyxLQUFjO1FBQ3BFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBYSxjQUFjO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFhLFlBQVk7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1QyxDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLFlBQVksRUFBYyxFQUFFLEVBQXFCO1FBQy9DLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7MEVBeEJVLGdCQUFnQjs2REFBaEIsZ0JBQWdCLHNJQUYzQixTQUFTOztZQzFDUCxBQURGLEFBUkYsNkNBT0MsYUFDeUMsYUFDSTtZQUN4Qyw2QkFJVztZQUNiLGlCQUFNO1lBRU4sbUNBZ0JFO1lBREEsQUFEQSxBQURBLEFBREEsc0lBQVEsdUJBQW1CLEtBQUMsMkhBQ25CLHdCQUFvQixLQUFDLDJIQUNyQix3QkFBb0IsS0FBQywySEFDckIsd0JBQW9CLEtBQUM7WUFmaEMsaUJBZ0JFO1lBRUYsOEJBQTJDO1lBQ3pDLDJFQUtDO1lBR0wsQUFERSxpQkFBTSxFQUNGO1lBRU4sK0NBTTRCO1lBQzlCLGlCQUFxQjs7WUEvQ25CLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx5Q0FBdUIsZ0JBQ1osc0JBQ00sNEJBQ00sNEJBQ0EscUNBQ1M7WUFNMUIsZUFBaUY7WUFBakYsMEdBQWlGO1lBQ2pGLHNEQUF5QztZQVMzQyxjQUFtQztZQUFuQyxnREFBbUM7WUFNbkMsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBRkEsK0NBQTZCLDBCQUVSLGNBQ1osb0RBQ2tDLDBCQUN0QiwwQkFDQSxrQkFDUjs7WUFVVixlQUFxQztZQUFyQyxrRUFBcUM7WUFTMUMsY0FBZTtZQUdmLEFBREEsQUFEQSxBQURBLGlDQUFlLDRCQUNRLDBDQUNjLGlDQUNUOzs7aUZER25CLGdCQUFnQjtjQU41QixTQUFTOzJCQUNFLFVBQVUsbUJBRUgsdUJBQXVCLENBQUMsTUFBTSxhQUMvQyxTQUFTOzJFQU9nQyxjQUFjO2tCQUF0RCxLQUFLO21CQUFDLG1CQUFtQjs7a0ZBTGYsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuLCB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvSW5wdXRHZW5lcmljIH0gZnJvbSAnLi4vcG8taW5wdXQtZ2VuZXJpYy9wby1pbnB1dC1nZW5lcmljJztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmNvbnN0IHByb3ZpZGVycyA9IFtcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9naW5Db21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9naW5Db21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvSW5wdXRCYXNlQ29tcG9uZW50XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBPIGBwby1sb2dpbmAgw6kgdW0gaW5wdXQgZXNwZWPDrWZpY28gcGFyYSBsb2dpbi4gSsOhIHBvc3N1aSB0aXBvLCBlc3RpbG8gZSDDrWNvbmUgcHJlZGVmaW5pZG9zLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxvZ2luLWJhc2ljXCIgdGl0bGU9XCJQTyBMb2dpbiBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9naW4tYmFzaWMvc2FtcGxlLXBvLWxvZ2luLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvZ2luLWJhc2ljL3NhbXBsZS1wby1sb2dpbi1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb2dpbi1sYWJzXCIgdGl0bGU9XCJQTyBMb2dpbiBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb2dpbi1sYWJzL3NhbXBsZS1wby1sb2dpbi1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvZ2luLWxhYnMvc2FtcGxlLXBvLWxvZ2luLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9naW4tY29uZmlybVwiIHRpdGxlPVwiUE8gTG9naW4gLSBDb25maXJtIElkZW50aXR5XCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb2dpbi1jb25maXJtL3NhbXBsZS1wby1sb2dpbi1jb25maXJtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvZ2luLWNvbmZpcm0vc2FtcGxlLXBvLWxvZ2luLWNvbmZpcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWxvZ2luLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyc1xufSlcbmV4cG9ydCBjbGFzcyBQb0xvZ2luQ29tcG9uZW50IGV4dGVuZHMgUG9JbnB1dEdlbmVyaWMge1xuICBpZCA9IGBwby1sb2dpblske3V1aWQoKX1dYDtcbiAgdHlwZSA9ICd0ZXh0JztcbiAgcHJpdmF0ZSBfbm9BdXRvY29tcGxldGVMb2dpbj86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgncC1uby1hdXRvY29tcGxldGUnKSBvdmVycmlkZSBzZXQgbm9BdXRvY29tcGxldGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9ub0F1dG9jb21wbGV0ZUxvZ2luID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgbm9BdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vQXV0b2NvbXBsZXRlTG9naW47XG4gIH1cblxuICBvdmVycmlkZSBnZXQgYXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubm9BdXRvY29tcGxldGUgPyAnb2ZmJyA6ICdvbic7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoZWwsIGNkKTtcbiAgfVxuXG4gIGV4dHJhVmFsaWRhdGlvbihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPHBvLWZpZWxkLWNvbnRhaW5lclxuICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtwLWlkXT1cImlkXCJcbiAgW3AtbGFiZWxdPVwibGFiZWxcIlxuICBbcC1vcHRpb25hbF09XCJvcHRpb25hbFwiXG4gIFtwLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3Atc2hvdy1yZXF1aXJlZF09XCJzaG93UmVxdWlyZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItbGVmdFwiPlxuICAgICAgPHBvLWljb25cbiAgICAgICAgcC1pY29uPVwiSUNPTl9VU0VSXCJcbiAgICAgICAgY2xhc3M9XCJwby1maWVsZC1pY29uIHt7IGRpc2FibGVkID8gJ3BvLWljb24taW5wdXQtZGlzYWJsZWQnIDogJ3BvLWljb24taW5wdXQnIH19XCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgPjwvcG8taWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxpbnB1dFxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby1pbnB1dCBwby1pbnB1dC1pY29uLWxlZnRcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgIFtjbGFzcy5wby1pbnB1dC1pY29uLXJpZ2h0XT1cImNsZWFuXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc2FibGVkID8gJycgOiBwbGFjZWhvbGRlclwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgKGJsdXIpPVwiZXZlbnRPbkJsdXIoJGV2ZW50KVwiXG4gICAgICAoY2xpY2spPVwiZXZlbnRPbkNsaWNrKCRldmVudClcIlxuICAgICAgKGZvY3VzKT1cImV2ZW50T25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChpbnB1dCk9XCJldmVudE9uSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxuICAgICAgPHBvLWNsZWFuXG4gICAgICAgIGNsYXNzPVwicG8taWNvbi1pbnB1dFwiXG4gICAgICAgICpuZ0lmPVwiY2xlYW4gJiYgIWRpc2FibGVkICYmICFyZWFkb25seVwiXG4gICAgICAgIFtwLWVsZW1lbnQtcmVmXT1cImlucHV0RWxcIlxuICAgICAgICAocC1jaGFuZ2UtZXZlbnQpPVwiY2xlYXIoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3BvLWNsZWFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbVxuICAgIFtwLWhlbHBdPVwiaGVscFwiXG4gICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZ2V0RXJyb3JQYXR0ZXJuKClcIlxuICAgIFtwLWVycm9yLWxpbWl0XT1cImVycm9yTGltaXRcIlxuICA+XG4gIDwvcG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT5cbjwvcG8tZmllbGQtY29udGFpbmVyPlxuIl19