valtech-components 2.0.596 → 2.0.597

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.
@@ -73,6 +73,21 @@ export class ContentReactionComponent {
73
73
  async loadPreviousReaction() {
74
74
  if (!this.props.entityRef)
75
75
  return;
76
+ // Si hay initialValue, usarlo directamente sin consultar
77
+ if (this.props.initialValue) {
78
+ this.state.update((s) => ({
79
+ ...s,
80
+ selectedValue: this.props.initialValue,
81
+ hadPreviousReaction: true,
82
+ isLoading: false,
83
+ isSubmitted: true,
84
+ }));
85
+ return;
86
+ }
87
+ // Si skipInitialCheck está activo, no consultar
88
+ if (this.props.skipInitialCheck) {
89
+ return;
90
+ }
76
91
  this.state.update((s) => ({ ...s, isLoading: true, error: null }));
77
92
  try {
78
93
  const check = await this.feedbackService.checkFeedback(this.props.entityRef.entityType, this.props.entityRef.entityId);
@@ -188,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
188
203
  }], reactionChange: [{
189
204
  type: Output
190
205
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixNQUFNLEVBQ04sUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxHQUNaLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBUXJEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFRSCxNQUFNLE9BQU8sd0JBQXdCO0lBUHJDO1FBUVUsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFCLFVBQUssR0FBcUMsRUFBRSxDQUFDO1FBQzVDLG1CQUFjLEdBQUcs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U0FBUyxvUEFBRSxVQUFVLHlHQUFFLFdBQVc7OzRGQUk1RCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUM7OEJBUy9ELEtBQUs7c0JBQWIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25CdXR0b24sXG4gIElvblNwaW5uZXIsXG4gIElvblRleHRhcmVhLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZlZWRiYWNrU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL2ZlZWRiYWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7XG4gIENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhLFxuICBDb250ZW50UmVhY3Rpb25TdGF0ZSxcbiAgUmVhY3Rpb25TdWJtaXRFdmVudCxcbiAgUmVhY3Rpb25DaGFuZ2VFdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ29tcG9uZW50ZSBwYXJhIHJlYWNjaW9uZXMgZGUgY29udGVuaWRvIGNvbiBlbW9qaXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtY29udGVudC1yZWFjdGlvblxuICogICBbcHJvcHNdPVwie1xuICogICAgIGVudGl0eVJlZjogeyBlbnRpdHlUeXBlOiAnYXJ0aWNsZScsIGVudGl0eUlkOiAnYXJ0LTEyMycgfSxcbiAqICAgICBxdWVzdGlvbjogJ8K/VGUgZnVlIMO6dGlsIGVzdGUgYXJ0w61jdWxvPydcbiAqICAgfVwiXG4gKiAgIChyZWFjdGlvblN1Ym1pdCk9XCJvblJlYWN0aW9uU3VibWl0KCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29udGVudC1yZWFjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBJb25CdXR0b24sIElvblNwaW5uZXIsIElvblRleHRhcmVhXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtcmVhY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXJlYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRSZWFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBmZWVkYmFja1NlcnZpY2UgPSBpbmplY3QoRmVlZGJhY2tTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhPiA9IHt9O1xuICBAT3V0cHV0KCkgcmVhY3Rpb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlYWN0aW9uU3VibWl0RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZWFjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICAvLyBFc3RhZG8gcmVhY3Rpdm9cbiAgc3RhdGUgPSBzaWduYWw8Q29udGVudFJlYWN0aW9uU3RhdGU+KHtcbiAgICBzZWxlY3RlZFZhbHVlOiBudWxsLFxuICAgIGNvbW1lbnQ6ICcnLFxuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgaXNTdWJtaXR0ZWQ6IGZhbHNlLFxuICAgIGhhZFByZXZpb3VzUmVhY3Rpb246IGZhbHNlLFxuICAgIGVycm9yOiBudWxsLFxuICB9KTtcblxuICAvLyBWYWxvcmVzIHBvciBkZWZlY3RvXG4gIHJlYWRvbmx5IGRlZmF1bHRFbW9qaXM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSA9IFsn8J+YnicsICfwn5iQJywgJ/CfmIonXTtcbiAgcmVhZG9ubHkgZGVmYXVsdExhYmVsczogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddID0gW1xuICAgICdObyBtZSBheXVkw7MnLFxuICAgICdSZWd1bGFyJyxcbiAgICAnTXV5IMO6dGlsJyxcbiAgXTtcbiAgcmVhZG9ubHkgcmVhY3Rpb25WYWx1ZXM6IFJlYWN0aW9uVmFsdWVbXSA9IFsnbmVnYXRpdmUnLCAnbmV1dHJhbCcsICdwb3NpdGl2ZSddO1xuXG4gIC8vIENvbXB1dGVkIHByb3BlcnRpZXNcbiAgcmVzb2x2ZWRQcm9wcyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgZW50aXR5UmVmOiB0aGlzLnByb3BzLmVudGl0eVJlZiEsXG4gICAgcXVlc3Rpb246IHRoaXMucHJvcHMucXVlc3Rpb24gfHwgdGhpcy50KCdxdWVzdGlvbicpLFxuICAgIHNob3dDb21tZW50OiB0aGlzLnByb3BzLnNob3dDb21tZW50ID8/IHRydWUsXG4gICAgY29tbWVudFBsYWNlaG9sZGVyOiB0aGlzLnByb3BzLmNvbW1lbnRQbGFjZWhvbGRlciB8fCB0aGlzLnQoJ2NvbW1lbnRQbGFjZWhvbGRlcicpLFxuICAgIG1heENvbW1lbnRMZW5ndGg6IHRoaXMucHJvcHMubWF4Q29tbWVudExlbmd0aCA/PyA1MDAsXG4gICAgZW1vamlzOiB0aGlzLnByb3BzLmVtb2ppcyB8fCB0aGlzLmRlZmF1bHRFbW9qaXMsXG4gICAgZW1vamlMYWJlbHM6IHRoaXMucHJvcHMuZW1vamlMYWJlbHMgfHwgdGhpcy5kZWZhdWx0TGFiZWxzLFxuICAgIHNob3dUaGFua1lvdTogdGhpcy5wcm9wcy5zaG93VGhhbmtZb3UgPz8gdHJ1ZSxcbiAgICB0aGFua1lvdU1lc3NhZ2U6IHRoaXMucHJvcHMudGhhbmtZb3VNZXNzYWdlIHx8IHRoaXMudCgndGhhbmtZb3UnKSxcbiAgICBkaXNhYmxlZDogdGhpcy5wcm9wcy5kaXNhYmxlZCA/PyBmYWxzZSxcbiAgICByZWFkb25seTogdGhpcy5wcm9wcy5yZWFkb25seSA/PyBmYWxzZSxcbiAgfSkpO1xuXG4gIHNob3dDb21tZW50RmllbGQgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5zdGF0ZSgpLnNlbGVjdGVkVmFsdWUgIT09IG51bGwgJiYgdGhpcy5yZXNvbHZlZFByb3BzKCkuc2hvd0NvbW1lbnRcbiAgKTtcblxuICBjYW5TdWJtaXQgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnN0YXRlKCkuc2VsZWN0ZWRWYWx1ZSAhPT0gbnVsbCAmJiAhdGhpcy5zdGF0ZSgpLmlzTG9hZGluZ1xuICApO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFByZXZpb3VzUmVhY3Rpb24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSAmJiAhY2hhbmdlc1sncHJvcHMnXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5sb2FkUHJldmlvdXNSZWFjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFByZXZpb3VzUmVhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmVudGl0eVJlZikgcmV0dXJuO1xuXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7IC4uLnMsIGlzTG9hZGluZzogdHJ1ZSwgZXJyb3I6IG51bGwgfSkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNoZWNrID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY2hlY2tGZWVkYmFjayhcbiAgICAgICAgdGhpcy5wcm9wcy5lbnRpdHlSZWYuZW50aXR5VHlwZSxcbiAgICAgICAgdGhpcy5wcm9wcy5lbnRpdHlSZWYuZW50aXR5SWRcbiAgICAgICk7XG5cbiAgICAgIGlmIChjaGVjay5oYXNGZWVkYmFjayAmJiBjaGVjay5yZWFjdGlvblZhbHVlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlKChzKSA9PiAoe1xuICAgICAgICAgIC4uLnMsXG4gICAgICAgICAgc2VsZWN0ZWRWYWx1ZTogY2hlY2sucmVhY3Rpb25WYWx1ZSEsXG4gICAgICAgICAgaGFkUHJldmlvdXNSZWFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZSgocykgPT4gKHsgLi4ucywgaXNMb2FkaW5nOiBmYWxzZSB9KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgcHJldmlvdXMgcmVhY3Rpb246JywgZXJyb3IpO1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7IC4uLnMsIGlzTG9hZGluZzogZmFsc2UgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJlYWN0aW9uKHZhbHVlOiBSZWFjdGlvblZhbHVlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcygpLmRpc2FibGVkIHx8IHRoaXMucmVzb2x2ZWRQcm9wcygpLnJlYWRvbmx5KSByZXR1cm47XG5cbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gdGhpcy5zdGF0ZSgpLnNlbGVjdGVkVmFsdWU7XG5cbiAgICB0aGlzLnN0YXRlLnVwZGF0ZSgocykgPT4gKHtcbiAgICAgIC4uLnMsXG4gICAgICBzZWxlY3RlZFZhbHVlOiB2YWx1ZSxcbiAgICAgIGlzU3VibWl0dGVkOiBmYWxzZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgIH0pKTtcblxuICAgIHRoaXMucmVhY3Rpb25DaGFuZ2UuZW1pdCh7IHZhbHVlLCBwcmV2aW91c1ZhbHVlIH0pO1xuICB9XG5cbiAgYXN5bmMgc3VibWl0UmVhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSgpO1xuICAgIGNvbnN0IHByb3BzID0gdGhpcy5yZXNvbHZlZFByb3BzKCk7XG5cbiAgICBpZiAoIWN1cnJlbnRTdGF0ZS5zZWxlY3RlZFZhbHVlIHx8IHByb3BzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0YXRlLnVwZGF0ZSgocykgPT4gKHsgLi4ucywgaXNMb2FkaW5nOiB0cnVlLCBlcnJvcjogbnVsbCB9KSk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlUmVhY3Rpb24oXG4gICAgICAgIHByb3BzLmVudGl0eVJlZixcbiAgICAgICAgY3VycmVudFN0YXRlLnNlbGVjdGVkVmFsdWUsXG4gICAgICAgIGN1cnJlbnRTdGF0ZS5jb21tZW50IHx8IHVuZGVmaW5lZFxuICAgICAgKTtcblxuICAgICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7XG4gICAgICAgIC4uLnMsXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgICAgICBoYWRQcmV2aW91c1JlYWN0aW9uOiB0cnVlLFxuICAgICAgfSkpO1xuXG4gICAgICB0aGlzLnJlYWN0aW9uU3VibWl0LmVtaXQoe1xuICAgICAgICB2YWx1ZTogY3VycmVudFN0YXRlLnNlbGVjdGVkVmFsdWUsXG4gICAgICAgIGNvbW1lbnQ6IGN1cnJlbnRTdGF0ZS5jb21tZW50IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZW50aXR5UmVmOiBwcm9wcy5lbnRpdHlSZWYsXG4gICAgICAgIGlzVXBkYXRlOiBjdXJyZW50U3RhdGUuaGFkUHJldmlvdXNSZWFjdGlvbixcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocHJvcHMuc2hvd1RoYW5rWW91KSB7XG4gICAgICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICAgICAgbWVzc2FnZTogcHJvcHMudGhhbmtZb3VNZXNzYWdlLFxuICAgICAgICAgIGR1cmF0aW9uOiAyMDAwLFxuICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc3VibWl0dGluZyByZWFjdGlvbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnN0YXRlLnVwZGF0ZSgocykgPT4gKHtcbiAgICAgICAgLi4ucyxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IHRoaXMudCgnZXJyb3JTdWJtaXR0aW5nJyksXG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudCgnZXJyb3JTdWJtaXR0aW5nJyksXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUNvbW1lbnQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC5kZXRhaWwudmFsdWUgfHwgJyc7XG4gICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7IC4uLnMsIGNvbW1lbnQ6IHZhbHVlIH0pKTtcbiAgfVxuXG4gIGdldEVtb2ppKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMoKS5lbW9qaXNbaW5kZXhdO1xuICB9XG5cbiAgZ2V0RW1vamlMYWJlbChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzKCkuZW1vamlMYWJlbHNbaW5kZXhdO1xuICB9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZTogUmVhY3Rpb25WYWx1ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlKCkuc2VsZWN0ZWRWYWx1ZSA9PT0gdmFsdWU7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBxdWVzdGlvbjogJ8K/VGUgcmVzdWx0w7Mgw7p0aWwgZXN0ZSBjb250ZW5pZG8/JyxcbiAgICAgIGNvbW1lbnRQbGFjZWhvbGRlcjogJ0N1w6ludGFub3MgbcOhcyAob3BjaW9uYWwpLi4uJyxcbiAgICAgIHN1Ym1pdDogJ0VudmlhciBvcGluacOzbicsXG4gICAgICB1cGRhdGU6ICdBY3R1YWxpemFyIG9waW5pw7NuJyxcbiAgICAgIHRoYW5rWW91OiAnwqFHcmFjaWFzIHBvciB0dSBvcGluacOzbiEnLFxuICAgICAgc3VibWl0dGVkOiAnVHUgb3BpbmnDs24gaGEgc2lkbyByZWdpc3RyYWRhJyxcbiAgICAgIGVycm9yU3VibWl0dGluZzogJ0Vycm9yIGFsIGVudmlhci4gSW50ZW50YSBkZSBudWV2by4nLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgJ0NvbnRlbnRSZWFjdGlvbicpIHx8IHRyYW5zbGF0aW9uc1trZXldIHx8IGtleTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNvbnRlbnQtcmVhY3Rpb25cIlxuICBbY2xhc3MuZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcygpLmRpc2FibGVkXCJcbiAgW2NsYXNzLnJlYWRvbmx5XT1cInJlc29sdmVkUHJvcHMoKS5yZWFkb25seVwiXG4+XG4gIDwhLS0gTG9hZGluZyBpbmljaWFsIC0tPlxuICBAaWYgKHN0YXRlKCkuaXNMb2FkaW5nICYmICFzdGF0ZSgpLnNlbGVjdGVkVmFsdWUpIHtcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIj48L2lvbi1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8IS0tIFByZWd1bnRhIC0tPlxuICAgIDxwIGNsYXNzPVwicXVlc3Rpb25cIj57eyByZXNvbHZlZFByb3BzKCkucXVlc3Rpb24gfX08L3A+XG5cbiAgICA8IS0tIEVtb2ppcyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZW1vamktY29udGFpbmVyXCI+XG4gICAgICBAZm9yICh2YWx1ZSBvZiByZWFjdGlvblZhbHVlczsgdHJhY2sgdmFsdWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImVtb2ppLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzU2VsZWN0ZWQodmFsdWUpXCJcbiAgICAgICAgICBbY2xhc3MubmVnYXRpdmVdPVwidmFsdWUgPT09ICduZWdhdGl2ZScgJiYgaXNTZWxlY3RlZCh2YWx1ZSlcIlxuICAgICAgICAgIFtjbGFzcy5uZXV0cmFsXT1cInZhbHVlID09PSAnbmV1dHJhbCcgJiYgaXNTZWxlY3RlZCh2YWx1ZSlcIlxuICAgICAgICAgIFtjbGFzcy5wb3NpdGl2ZV09XCJ2YWx1ZSA9PT0gJ3Bvc2l0aXZlJyAmJiBpc1NlbGVjdGVkKHZhbHVlKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRFbW9qaUxhYmVsKGkpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaXNTZWxlY3RlZCh2YWx1ZSlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzKCkuZGlzYWJsZWQgfHwgcmVzb2x2ZWRQcm9wcygpLnJlYWRvbmx5XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UmVhY3Rpb24odmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW1vamlcIj57eyBnZXRFbW9qaShpKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIENhbXBvIGRlIGNvbWVudGFyaW8gKHNvbG8gc2kgaGF5IHNlbGVjY2nDs24pIC0tPlxuICAgIEBpZiAoc2hvd0NvbW1lbnRGaWVsZCgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1zZWN0aW9uXCI+XG4gICAgICAgIDxpb24tdGV4dGFyZWFcbiAgICAgICAgICBbdmFsdWVdPVwic3RhdGUoKS5jb21tZW50XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQcm9wcygpLmNvbW1lbnRQbGFjZWhvbGRlclwiXG4gICAgICAgICAgW21heGxlbmd0aF09XCJyZXNvbHZlZFByb3BzKCkubWF4Q29tbWVudExlbmd0aFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZFwiXG4gICAgICAgICAgW3Jvd3NdPVwiM1wiXG4gICAgICAgICAgY2xhc3M9XCJjb21tZW50LXRleHRhcmVhXCJcbiAgICAgICAgICAoaW9uSW5wdXQpPVwidXBkYXRlQ29tbWVudCgkZXZlbnQpXCJcbiAgICAgICAgPjwvaW9uLXRleHRhcmVhPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoYXItY291bnRcIj5cbiAgICAgICAgICB7eyBzdGF0ZSgpLmNvbW1lbnQubGVuZ3RoIH19L3t7IHJlc29sdmVkUHJvcHMoKS5tYXhDb21tZW50TGVuZ3RoIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gQm90w7NuIGRlIGVudsOtbyAtLT5cbiAgICBAaWYgKHN0YXRlKCkuc2VsZWN0ZWRWYWx1ZSAmJiAhc3RhdGUoKS5pc1N1Ym1pdHRlZCkge1xuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblN1Ym1pdCgpXCJcbiAgICAgICAgKGNsaWNrKT1cInN1Ym1pdFJlYWN0aW9uKClcIlxuICAgICAgICBjbGFzcz1cInN1Ym1pdC1idXR0b25cIlxuICAgICAgPlxuICAgICAgICBAaWYgKHN0YXRlKCkuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiPjwvaW9uLXNwaW5uZXI+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHt7IHN0YXRlKCkuaGFkUHJldmlvdXNSZWFjdGlvbiA/IHQoJ3VwZGF0ZScpIDogdCgnc3VibWl0JykgfX1cbiAgICAgICAgfVxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIH1cblxuICAgIDwhLS0gTWVuc2FqZSBkZSBjb25maXJtYWNpw7NuIC0tPlxuICAgIEBpZiAoc3RhdGUoKS5pc1N1Ym1pdHRlZCkge1xuICAgICAgPHAgY2xhc3M9XCJzdWJtaXR0ZWQtbWVzc2FnZVwiPlxuICAgICAgICB7eyB0KCdzdWJtaXR0ZWQnKSB9fVxuICAgICAgPC9wPlxuICAgIH1cblxuICAgIDwhLS0gRXJyb3IgLS0+XG4gICAgQGlmIChzdGF0ZSgpLmVycm9yKSB7XG4gICAgICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj57eyBzdGF0ZSgpLmVycm9yIH19PC9wPlxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixNQUFNLEVBQ04sUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxHQUNaLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBUXJEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFRSCxNQUFNLE9BQU8sd0JBQXdCO0lBUHJDO1FBUVUsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFCLFVBQUssR0FBcUMsRUFBRSxDQUFDO1FBQzVDLG1CQUFjLEdBQUcs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WUFBWSxHQUEyQjtZQUMzQyxRQUFRLEVBQUUsa0NBQWtDO1lBQzVDLGtCQUFrQixFQUFFLDZCQUE2QjtZQUNqRCxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxvQkFBb0I7WUFDNUIsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTLEVBQUUsK0JBQStCO1lBQzFDLGVBQWUsRUFBRSxvQ0FBb0M7U0FDdEQsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUN6RSxDQUFDOytHQTVNVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrTkNuRHJDLHNuRkFpRkEscXpFRGxDWSxZQUFZLDhCQUFFLFdBQVcsK0JBQUUsU0FBUyxvUEFBRSxVQUFVLHlHQUFFLFdBQVc7OzRGQUk1RCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUM7OEJBUy9ELEtBQUs7c0JBQWIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25CdXR0b24sXG4gIElvblNwaW5uZXIsXG4gIElvblRleHRhcmVhLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZlZWRiYWNrU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL2ZlZWRiYWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7XG4gIENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhLFxuICBDb250ZW50UmVhY3Rpb25TdGF0ZSxcbiAgUmVhY3Rpb25TdWJtaXRFdmVudCxcbiAgUmVhY3Rpb25DaGFuZ2VFdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ29tcG9uZW50ZSBwYXJhIHJlYWNjaW9uZXMgZGUgY29udGVuaWRvIGNvbiBlbW9qaXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtY29udGVudC1yZWFjdGlvblxuICogICBbcHJvcHNdPVwie1xuICogICAgIGVudGl0eVJlZjogeyBlbnRpdHlUeXBlOiAnYXJ0aWNsZScsIGVudGl0eUlkOiAnYXJ0LTEyMycgfSxcbiAqICAgICBxdWVzdGlvbjogJ8K/VGUgZnVlIMO6dGlsIGVzdGUgYXJ0w61jdWxvPydcbiAqICAgfVwiXG4gKiAgIChyZWFjdGlvblN1Ym1pdCk9XCJvblJlYWN0aW9uU3VibWl0KCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29udGVudC1yZWFjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBJb25CdXR0b24sIElvblNwaW5uZXIsIElvblRleHRhcmVhXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtcmVhY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXJlYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRSZWFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBmZWVkYmFja1NlcnZpY2UgPSBpbmplY3QoRmVlZGJhY2tTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhPiA9IHt9O1xuICBAT3V0cHV0KCkgcmVhY3Rpb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlYWN0aW9uU3VibWl0RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZWFjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICAvLyBFc3RhZG8gcmVhY3Rpdm9cbiAgc3RhdGUgPSBzaWduYWw8Q29udGVudFJlYWN0aW9uU3RhdGU+KHtcbiAgICBzZWxlY3RlZFZhbHVlOiBudWxsLFxuICAgIGNvbW1lbnQ6ICcnLFxuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgaXNTdWJtaXR0ZWQ6IGZhbHNlLFxuICAgIGhhZFByZXZpb3VzUmVhY3Rpb246IGZhbHNlLFxuICAgIGVycm9yOiBudWxsLFxuICB9KTtcblxuICAvLyBWYWxvcmVzIHBvciBkZWZlY3RvXG4gIHJlYWRvbmx5IGRlZmF1bHRFbW9qaXM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSA9IFsn8J+YnicsICfwn5iQJywgJ/CfmIonXTtcbiAgcmVhZG9ubHkgZGVmYXVsdExhYmVsczogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddID0gW1xuICAgICdObyBtZSBheXVkw7MnLFxuICAgICdSZWd1bGFyJyxcbiAgICAnTXV5IMO6dGlsJyxcbiAgXTtcbiAgcmVhZG9ubHkgcmVhY3Rpb25WYWx1ZXM6IFJlYWN0aW9uVmFsdWVbXSA9IFsnbmVnYXRpdmUnLCAnbmV1dHJhbCcsICdwb3NpdGl2ZSddO1xuXG4gIC8vIENvbXB1dGVkIHByb3BlcnRpZXNcbiAgcmVzb2x2ZWRQcm9wcyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgZW50aXR5UmVmOiB0aGlzLnByb3BzLmVudGl0eVJlZiEsXG4gICAgcXVlc3Rpb246IHRoaXMucHJvcHMucXVlc3Rpb24gfHwgdGhpcy50KCdxdWVzdGlvbicpLFxuICAgIHNob3dDb21tZW50OiB0aGlzLnByb3BzLnNob3dDb21tZW50ID8/IHRydWUsXG4gICAgY29tbWVudFBsYWNlaG9sZGVyOiB0aGlzLnByb3BzLmNvbW1lbnRQbGFjZWhvbGRlciB8fCB0aGlzLnQoJ2NvbW1lbnRQbGFjZWhvbGRlcicpLFxuICAgIG1heENvbW1lbnRMZW5ndGg6IHRoaXMucHJvcHMubWF4Q29tbWVudExlbmd0aCA/PyA1MDAsXG4gICAgZW1vamlzOiB0aGlzLnByb3BzLmVtb2ppcyB8fCB0aGlzLmRlZmF1bHRFbW9qaXMsXG4gICAgZW1vamlMYWJlbHM6IHRoaXMucHJvcHMuZW1vamlMYWJlbHMgfHwgdGhpcy5kZWZhdWx0TGFiZWxzLFxuICAgIHNob3dUaGFua1lvdTogdGhpcy5wcm9wcy5zaG93VGhhbmtZb3UgPz8gdHJ1ZSxcbiAgICB0aGFua1lvdU1lc3NhZ2U6IHRoaXMucHJvcHMudGhhbmtZb3VNZXNzYWdlIHx8IHRoaXMudCgndGhhbmtZb3UnKSxcbiAgICBkaXNhYmxlZDogdGhpcy5wcm9wcy5kaXNhYmxlZCA/PyBmYWxzZSxcbiAgICByZWFkb25seTogdGhpcy5wcm9wcy5yZWFkb25seSA/PyBmYWxzZSxcbiAgfSkpO1xuXG4gIHNob3dDb21tZW50RmllbGQgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5zdGF0ZSgpLnNlbGVjdGVkVmFsdWUgIT09IG51bGwgJiYgdGhpcy5yZXNvbHZlZFByb3BzKCkuc2hvd0NvbW1lbnRcbiAgKTtcblxuICBjYW5TdWJtaXQgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnN0YXRlKCkuc2VsZWN0ZWRWYWx1ZSAhPT0gbnVsbCAmJiAhdGhpcy5zdGF0ZSgpLmlzTG9hZGluZ1xuICApO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFByZXZpb3VzUmVhY3Rpb24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSAmJiAhY2hhbmdlc1sncHJvcHMnXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5sb2FkUHJldmlvdXNSZWFjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFByZXZpb3VzUmVhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmVudGl0eVJlZikgcmV0dXJuO1xuXG4gICAgLy8gU2kgaGF5IGluaXRpYWxWYWx1ZSwgdXNhcmxvIGRpcmVjdGFtZW50ZSBzaW4gY29uc3VsdGFyXG4gICAgaWYgKHRoaXMucHJvcHMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICB0aGlzLnN0YXRlLnVwZGF0ZSgocykgPT4gKHtcbiAgICAgICAgLi4ucyxcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZTogdGhpcy5wcm9wcy5pbml0aWFsVmFsdWUhLFxuICAgICAgICBoYWRQcmV2aW91c1JlYWN0aW9uOiB0cnVlLFxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICAgIH0pKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTaSBza2lwSW5pdGlhbENoZWNrIGVzdMOhIGFjdGl2bywgbm8gY29uc3VsdGFyXG4gICAgaWYgKHRoaXMucHJvcHMuc2tpcEluaXRpYWxDaGVjaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUudXBkYXRlKChzKSA9PiAoeyAuLi5zLCBpc0xvYWRpbmc6IHRydWUsIGVycm9yOiBudWxsIH0pKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjaGVjayA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNoZWNrRmVlZGJhY2soXG4gICAgICAgIHRoaXMucHJvcHMuZW50aXR5UmVmLmVudGl0eVR5cGUsXG4gICAgICAgIHRoaXMucHJvcHMuZW50aXR5UmVmLmVudGl0eUlkXG4gICAgICApO1xuXG4gICAgICBpZiAoY2hlY2suaGFzRmVlZGJhY2sgJiYgY2hlY2sucmVhY3Rpb25WYWx1ZSkge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZSgocykgPT4gKHtcbiAgICAgICAgICAuLi5zLFxuICAgICAgICAgIHNlbGVjdGVkVmFsdWU6IGNoZWNrLnJlYWN0aW9uVmFsdWUhLFxuICAgICAgICAgIGhhZFByZXZpb3VzUmVhY3Rpb246IHRydWUsXG4gICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICAgICAgfSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7IC4uLnMsIGlzTG9hZGluZzogZmFsc2UgfSkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIHByZXZpb3VzIHJlYWN0aW9uOicsIGVycm9yKTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlKChzKSA9PiAoeyAuLi5zLCBpc0xvYWRpbmc6IGZhbHNlIH0pKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RSZWFjdGlvbih2YWx1ZTogUmVhY3Rpb25WYWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZCB8fCB0aGlzLnJlc29sdmVkUHJvcHMoKS5yZWFkb25seSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMuc3RhdGUoKS5zZWxlY3RlZFZhbHVlO1xuXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7XG4gICAgICAuLi5zLFxuICAgICAgc2VsZWN0ZWRWYWx1ZTogdmFsdWUsXG4gICAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgICBlcnJvcjogbnVsbCxcbiAgICB9KSk7XG5cbiAgICB0aGlzLnJlYWN0aW9uQ2hhbmdlLmVtaXQoeyB2YWx1ZSwgcHJldmlvdXNWYWx1ZSB9KTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdFJlYWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RhdGUoKTtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMucmVzb2x2ZWRQcm9wcygpO1xuXG4gICAgaWYgKCFjdXJyZW50U3RhdGUuc2VsZWN0ZWRWYWx1ZSB8fCBwcm9wcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7IC4uLnMsIGlzTG9hZGluZzogdHJ1ZSwgZXJyb3I6IG51bGwgfSkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZVJlYWN0aW9uKFxuICAgICAgICBwcm9wcy5lbnRpdHlSZWYsXG4gICAgICAgIGN1cnJlbnRTdGF0ZS5zZWxlY3RlZFZhbHVlLFxuICAgICAgICBjdXJyZW50U3RhdGUuY29tbWVudCB8fCB1bmRlZmluZWRcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlKChzKSA9PiAoe1xuICAgICAgICAuLi5zLFxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICAgICAgaGFkUHJldmlvdXNSZWFjdGlvbjogdHJ1ZSxcbiAgICAgIH0pKTtcblxuICAgICAgdGhpcy5yZWFjdGlvblN1Ym1pdC5lbWl0KHtcbiAgICAgICAgdmFsdWU6IGN1cnJlbnRTdGF0ZS5zZWxlY3RlZFZhbHVlLFxuICAgICAgICBjb21tZW50OiBjdXJyZW50U3RhdGUuY29tbWVudCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVudGl0eVJlZjogcHJvcHMuZW50aXR5UmVmLFxuICAgICAgICBpc1VwZGF0ZTogY3VycmVudFN0YXRlLmhhZFByZXZpb3VzUmVhY3Rpb24sXG4gICAgICB9KTtcblxuICAgICAgaWYgKHByb3BzLnNob3dUaGFua1lvdSkge1xuICAgICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICAgIG1lc3NhZ2U6IHByb3BzLnRoYW5rWW91TWVzc2FnZSxcbiAgICAgICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHN1Ym1pdHRpbmcgcmVhY3Rpb246JywgZXJyb3IpO1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGUoKHMpID0+ICh7XG4gICAgICAgIC4uLnMsXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgIGVycm9yOiB0aGlzLnQoJ2Vycm9yU3VibWl0dGluZycpLFxuICAgICAgfSkpO1xuXG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlOiB0aGlzLnQoJ2Vycm9yU3VibWl0dGluZycpLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxuICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb21tZW50KGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQuZGV0YWlsLnZhbHVlIHx8ICcnO1xuICAgIHRoaXMuc3RhdGUudXBkYXRlKChzKSA9PiAoeyAuLi5zLCBjb21tZW50OiB2YWx1ZSB9KSk7XG4gIH1cblxuICBnZXRFbW9qaShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzKCkuZW1vamlzW2luZGV4XTtcbiAgfVxuXG4gIGdldEVtb2ppTGFiZWwoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcygpLmVtb2ppTGFiZWxzW2luZGV4XTtcbiAgfVxuXG4gIGlzU2VsZWN0ZWQodmFsdWU6IFJlYWN0aW9uVmFsdWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSgpLnNlbGVjdGVkVmFsdWUgPT09IHZhbHVlO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgcXVlc3Rpb246ICfCv1RlIHJlc3VsdMOzIMO6dGlsIGVzdGUgY29udGVuaWRvPycsXG4gICAgICBjb21tZW50UGxhY2Vob2xkZXI6ICdDdcOpbnRhbm9zIG3DoXMgKG9wY2lvbmFsKS4uLicsXG4gICAgICBzdWJtaXQ6ICdFbnZpYXIgb3BpbmnDs24nLFxuICAgICAgdXBkYXRlOiAnQWN0dWFsaXphciBvcGluacOzbicsXG4gICAgICB0aGFua1lvdTogJ8KhR3JhY2lhcyBwb3IgdHUgb3BpbmnDs24hJyxcbiAgICAgIHN1Ym1pdHRlZDogJ1R1IG9waW5pw7NuIGhhIHNpZG8gcmVnaXN0cmFkYScsXG4gICAgICBlcnJvclN1Ym1pdHRpbmc6ICdFcnJvciBhbCBlbnZpYXIuIEludGVudGEgZGUgbnVldm8uJyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdDb250ZW50UmVhY3Rpb24nKSB8fCB0cmFuc2xhdGlvbnNba2V5XSB8fCBrZXk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb250ZW50LXJlYWN0aW9uXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cInJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZFwiXG4gIFtjbGFzcy5yZWFkb25seV09XCJyZXNvbHZlZFByb3BzKCkucmVhZG9ubHlcIlxuPlxuICA8IS0tIExvYWRpbmcgaW5pY2lhbCAtLT5cbiAgQGlmIChzdGF0ZSgpLmlzTG9hZGluZyAmJiAhc3RhdGUoKS5zZWxlY3RlZFZhbHVlKSB7XG4gICAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCI+PC9pb24tc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPCEtLSBQcmVndW50YSAtLT5cbiAgICA8cCBjbGFzcz1cInF1ZXN0aW9uXCI+e3sgcmVzb2x2ZWRQcm9wcygpLnF1ZXN0aW9uIH19PC9wPlxuXG4gICAgPCEtLSBFbW9qaXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImVtb2ppLWNvbnRhaW5lclwiPlxuICAgICAgQGZvciAodmFsdWUgb2YgcmVhY3Rpb25WYWx1ZXM7IHRyYWNrIHZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJlbW9qaS1idXR0b25cIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NlbGVjdGVkKHZhbHVlKVwiXG4gICAgICAgICAgW2NsYXNzLm5lZ2F0aXZlXT1cInZhbHVlID09PSAnbmVnYXRpdmUnICYmIGlzU2VsZWN0ZWQodmFsdWUpXCJcbiAgICAgICAgICBbY2xhc3MubmV1dHJhbF09XCJ2YWx1ZSA9PT0gJ25ldXRyYWwnICYmIGlzU2VsZWN0ZWQodmFsdWUpXCJcbiAgICAgICAgICBbY2xhc3MucG9zaXRpdmVdPVwidmFsdWUgPT09ICdwb3NpdGl2ZScgJiYgaXNTZWxlY3RlZCh2YWx1ZSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0RW1vamlMYWJlbChpKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImlzU2VsZWN0ZWQodmFsdWUpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcygpLmRpc2FibGVkIHx8IHJlc29sdmVkUHJvcHMoKS5yZWFkb25seVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlYWN0aW9uKHZhbHVlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImVtb2ppXCI+e3sgZ2V0RW1vamkoaSkgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDYW1wbyBkZSBjb21lbnRhcmlvIChzb2xvIHNpIGhheSBzZWxlY2Npw7NuKSAtLT5cbiAgICBAaWYgKHNob3dDb21tZW50RmllbGQoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtc2VjdGlvblwiPlxuICAgICAgICA8aW9uLXRleHRhcmVhXG4gICAgICAgICAgW3ZhbHVlXT1cInN0YXRlKCkuY29tbWVudFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInJlc29sdmVkUHJvcHMoKS5jb21tZW50UGxhY2Vob2xkZXJcIlxuICAgICAgICAgIFttYXhsZW5ndGhdPVwicmVzb2x2ZWRQcm9wcygpLm1heENvbW1lbnRMZW5ndGhcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzKCkuZGlzYWJsZWRcIlxuICAgICAgICAgIFtyb3dzXT1cIjNcIlxuICAgICAgICAgIGNsYXNzPVwiY29tbWVudC10ZXh0YXJlYVwiXG4gICAgICAgICAgKGlvbklucHV0KT1cInVwZGF0ZUNvbW1lbnQoJGV2ZW50KVwiXG4gICAgICAgID48L2lvbi10ZXh0YXJlYT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGFyLWNvdW50XCI+XG4gICAgICAgICAge3sgc3RhdGUoKS5jb21tZW50Lmxlbmd0aCB9fS97eyByZXNvbHZlZFByb3BzKCkubWF4Q29tbWVudExlbmd0aCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIEJvdMOzbiBkZSBlbnbDrW8gLS0+XG4gICAgQGlmIChzdGF0ZSgpLnNlbGVjdGVkVmFsdWUgJiYgIXN0YXRlKCkuaXNTdWJtaXR0ZWQpIHtcbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5TdWJtaXQoKVwiXG4gICAgICAgIChjbGljayk9XCJzdWJtaXRSZWFjdGlvbigpXCJcbiAgICAgICAgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChzdGF0ZSgpLmlzTG9hZGluZykge1xuICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB7eyBzdGF0ZSgpLmhhZFByZXZpb3VzUmVhY3Rpb24gPyB0KCd1cGRhdGUnKSA6IHQoJ3N1Ym1pdCcpIH19XG4gICAgICAgIH1cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICB9XG5cbiAgICA8IS0tIE1lbnNhamUgZGUgY29uZmlybWFjacOzbiAtLT5cbiAgICBAaWYgKHN0YXRlKCkuaXNTdWJtaXR0ZWQpIHtcbiAgICAgIDxwIGNsYXNzPVwic3VibWl0dGVkLW1lc3NhZ2VcIj5cbiAgICAgICAge3sgdCgnc3VibWl0dGVkJykgfX1cbiAgICAgIDwvcD5cbiAgICB9XG5cbiAgICA8IS0tIEVycm9yIC0tPlxuICAgIEBpZiAoc3RhdGUoKS5lcnJvcikge1xuICAgICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+e3sgc3RhdGUoKS5lcnJvciB9fTwvcD5cbiAgICB9XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVJlZiwgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgY29tcG9uZW50ZSBjb250ZW50LXJlYWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIFJlZmVyZW5jaWEgYSBsYSBlbnRpZGFkIChyZXF1ZXJpZG8pICovXG4gIGVudGl0eVJlZjogRW50aXR5UmVmO1xuXG4gIC8qKiBQcmVndW50YSBhIG1vc3RyYXIgKGRlZmF1bHQ6IFwiwr9UZSByZXN1bHTDsyDDunRpbCBlc3RlIGNvbnRlbmlkbz9cIikgKi9cbiAgcXVlc3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqIE1vc3RyYXIgY2FtcG8gZGUgY29tZW50YXJpbyAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgc2hvd0NvbW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKiBQbGFjZWhvbGRlciBkZWwgY29tZW50YXJpbyAqL1xuICBjb21tZW50UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqIE3DoXhpbW8gZGUgY2FyYWN0ZXJlcyBkZWwgY29tZW50YXJpbyAoZGVmYXVsdDogNTAwKSAqL1xuICBtYXhDb21tZW50TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBFbW9qaXMgcGVyc29uYWxpemFkb3MgW25lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZV0gKi9cbiAgZW1vamlzPzogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuXG4gIC8qKiBMYWJlbHMgcGFyYSBlbW9qaXMgKGFjY2VzaWJpbGlkYWQpICovXG4gIGVtb2ppTGFiZWxzPzogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuXG4gIC8qKiBNb3N0cmFyIHRvYXN0IGRlIGFncmFkZWNpbWllbnRvIChkZWZhdWx0OiB0cnVlKSAqL1xuICBzaG93VGhhbmtZb3U/OiBib29sZWFuO1xuXG4gIC8qKiBNZW5zYWplIGRlIGFncmFkZWNpbWllbnRvIHBlcnNvbmFsaXphZG8gKi9cbiAgdGhhbmtZb3VNZXNzYWdlPzogc3RyaW5nO1xuXG4gIC8qKiBEZXNoYWJpbGl0YXIgaW50ZXJhY2Npw7NuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKiogTW9kbyByZWFkb25seSAoc29sbyBtb3N0cmFyIHNlbGVjY2nDs24gcHJldmlhKSAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXN0YWRvIGludGVybm8gZGVsIGNvbXBvbmVudGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudFJlYWN0aW9uU3RhdGUge1xuICAvKiogVmFsb3Igc2VsZWNjaW9uYWRvIGFjdHVhbG1lbnRlICovXG4gIHNlbGVjdGVkVmFsdWU6IFJlYWN0aW9uVmFsdWUgfCBudWxsO1xuXG4gIC8qKiBDb21lbnRhcmlvIGRlbCB1c3VhcmlvICovXG4gIGNvbW1lbnQ6IHN0cmluZztcblxuICAvKiogSW5kaWNhIHNpIGVzdMOhIGNhcmdhbmRvICovXG4gIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAvKiogSW5kaWNhIHNpIHlhIGVudmnDsyBsYSByZWFjY2nDs24gKi9cbiAgaXNTdWJtaXR0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqIEluZGljYSBzaSB0ZW7DrWEgcmVhY2Npw7NuIHByZXZpYSAqL1xuICBoYWRQcmV2aW91c1JlYWN0aW9uOiBib29sZWFuO1xuXG4gIC8qKiBFcnJvciBtZXNzYWdlIGlmIGFueSAqL1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFdmVudG8gZW1pdGlkbyBhbCBlbnZpYXIgcmVhY2Npw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0aW9uU3VibWl0RXZlbnQge1xuICB2YWx1ZTogUmVhY3Rpb25WYWx1ZTtcbiAgY29tbWVudD86IHN0cmluZztcbiAgZW50aXR5UmVmOiBFbnRpdHlSZWY7XG4gIGlzVXBkYXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWl0aWRvIGFsIGNhbWJpYXIgc2VsZWNjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWFjdGlvbkNoYW5nZUV2ZW50IHtcbiAgdmFsdWU6IFJlYWN0aW9uVmFsdWUgfCBudWxsO1xuICBwcmV2aW91c1ZhbHVlOiBSZWFjdGlvblZhbHVlIHwgbnVsbDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVJlZiwgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgY29tcG9uZW50ZSBjb250ZW50LXJlYWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIFJlZmVyZW5jaWEgYSBsYSBlbnRpZGFkIChyZXF1ZXJpZG8pICovXG4gIGVudGl0eVJlZjogRW50aXR5UmVmO1xuXG4gIC8qKiBQcmVndW50YSBhIG1vc3RyYXIgKGRlZmF1bHQ6IFwiwr9UZSByZXN1bHTDsyDDunRpbCBlc3RlIGNvbnRlbmlkbz9cIikgKi9cbiAgcXVlc3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqIE1vc3RyYXIgY2FtcG8gZGUgY29tZW50YXJpbyAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgc2hvd0NvbW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKiBQbGFjZWhvbGRlciBkZWwgY29tZW50YXJpbyAqL1xuICBjb21tZW50UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqIE3DoXhpbW8gZGUgY2FyYWN0ZXJlcyBkZWwgY29tZW50YXJpbyAoZGVmYXVsdDogNTAwKSAqL1xuICBtYXhDb21tZW50TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBFbW9qaXMgcGVyc29uYWxpemFkb3MgW25lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZV0gKi9cbiAgZW1vamlzPzogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuXG4gIC8qKiBMYWJlbHMgcGFyYSBlbW9qaXMgKGFjY2VzaWJpbGlkYWQpICovXG4gIGVtb2ppTGFiZWxzPzogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuXG4gIC8qKiBNb3N0cmFyIHRvYXN0IGRlIGFncmFkZWNpbWllbnRvIChkZWZhdWx0OiB0cnVlKSAqL1xuICBzaG93VGhhbmtZb3U/OiBib29sZWFuO1xuXG4gIC8qKiBNZW5zYWplIGRlIGFncmFkZWNpbWllbnRvIHBlcnNvbmFsaXphZG8gKi9cbiAgdGhhbmtZb3VNZXNzYWdlPzogc3RyaW5nO1xuXG4gIC8qKiBEZXNoYWJpbGl0YXIgaW50ZXJhY2Npw7NuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKiogTW9kbyByZWFkb25seSAoc29sbyBtb3N0cmFyIHNlbGVjY2nDs24gcHJldmlhKSAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZhbG9yIGluaWNpYWwgKHBhcmEgU3Rvcnlib29rIG8gY3VhbmRvIHlhIHNlIGNvbm9jZSBlbCBlc3RhZG8pLlxuICAgKiBTaSBzZSBwcm9wb3JjaW9uYSwgbm8gc2UgY29uc3VsdGFyw6EgbGEgQVBJL0ZpcmViYXNlLlxuICAgKi9cbiAgaW5pdGlhbFZhbHVlPzogUmVhY3Rpb25WYWx1ZTtcblxuICAvKipcbiAgICogT21pdGlyIGNvbnN1bHRhIGRlIGZlZWRiYWNrIHByZXZpbyBhbCBjYXJnYXIuXG4gICAqIMOadGlsIHBhcmEgU3Rvcnlib29rIG8gY3VhbmRvIHNlIHVzYSBpbml0aWFsVmFsdWUuXG4gICAqL1xuICBza2lwSW5pdGlhbENoZWNrPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFc3RhZG8gaW50ZXJubyBkZWwgY29tcG9uZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250ZW50UmVhY3Rpb25TdGF0ZSB7XG4gIC8qKiBWYWxvciBzZWxlY2Npb25hZG8gYWN0dWFsbWVudGUgKi9cbiAgc2VsZWN0ZWRWYWx1ZTogUmVhY3Rpb25WYWx1ZSB8IG51bGw7XG5cbiAgLyoqIENvbWVudGFyaW8gZGVsIHVzdWFyaW8gKi9cbiAgY29tbWVudDogc3RyaW5nO1xuXG4gIC8qKiBJbmRpY2Egc2kgZXN0w6EgY2FyZ2FuZG8gKi9cbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuXG4gIC8qKiBJbmRpY2Egc2kgeWEgZW52acOzIGxhIHJlYWNjacOzbiAqL1xuICBpc1N1Ym1pdHRlZDogYm9vbGVhbjtcblxuICAvKiogSW5kaWNhIHNpIHRlbsOtYSByZWFjY2nDs24gcHJldmlhICovXG4gIGhhZFByZXZpb3VzUmVhY3Rpb246IGJvb2xlYW47XG5cbiAgLyoqIEVycm9yIG1lc3NhZ2UgaWYgYW55ICovXG4gIGVycm9yOiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWl0aWRvIGFsIGVudmlhciByZWFjY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3Rpb25TdWJtaXRFdmVudCB7XG4gIHZhbHVlOiBSZWFjdGlvblZhbHVlO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBlbnRpdHlSZWY6IEVudGl0eVJlZjtcbiAgaXNVcGRhdGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXZlbnRvIGVtaXRpZG8gYWwgY2FtYmlhciBzZWxlY2Npw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0aW9uQ2hhbmdlRXZlbnQge1xuICB2YWx1ZTogUmVhY3Rpb25WYWx1ZSB8IG51bGw7XG4gIHByZXZpb3VzVmFsdWU6IFJlYWN0aW9uVmFsdWUgfCBudWxsO1xufVxuIl19
@@ -140,7 +140,7 @@ export class DocsPageComponent {
140
140
  </aside>
141
141
  }
142
142
  </div>
143
- `, isInline: true, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;@media (min-width: 1200px){grid-template-columns:1fr 220px;padding:2rem}&__content{min-width:0;max-width:900px}&__header{margin-bottom:2rem}&__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}&__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color);line-height:1.2;@media (min-width: 768px){font-size:2.5rem}}&__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade);&--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}&--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}&--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}}&__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium)}&__sections{>*:last-child{margin-bottom:0}}&__toc{display:none;@media (min-width: 1200px){display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}}// Dark mode :host-context(.dark),:host-context([color-scheme=\"dark\"]){.docs-page{&__badge{background:#ffffff1a;color:var(--ion-color-medium);&--success{background:#2e7d3233;color:#81c784}&--warning{background:#e6510033;color:#ffb74d}&--danger{background:#c6282833;color:#e57373}}}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DocsNavLinksComponent, selector: "val-docs-nav-links", inputs: ["props"], outputs: ["navigate"] }, { kind: "component", type: DocsTocComponent, selector: "val-docs-toc", inputs: ["props"], outputs: ["sectionChange"] }] }); }
143
+ `, isInline: true, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem}@media (min-width: 1200px){.docs-page{grid-template-columns:1fr 220px;padding:2rem}}.docs-page__content{min-width:0;max-width:900px}.docs-page__header{margin-bottom:2rem}.docs-page__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.docs-page__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color, #1a1a1a);line-height:1.2}@media (min-width: 768px){.docs-page__title{font-size:2.5rem}}.docs-page__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade)}.docs-page__badge--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}.docs-page__badge--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}.docs-page__badge--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}.docs-page__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium, #666)}.docs-page__sections>*:last-child{margin-bottom:0}.docs-page__toc{display:none}@media (min-width: 1200px){.docs-page__toc{display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}.docs-page__sections h2{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--ion-text-color, #1a1a1a);scroll-margin-top:2rem}.docs-page__sections h3{font-size:1.125rem;font-weight:600;margin:1.5rem 0 1rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections h4{font-size:1rem;font-weight:600;margin:1.25rem 0 .75rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections p{line-height:1.7;color:var(--ion-text-color, #1a1a1a);margin:0 0 1rem}.docs-page__sections ul,.docs-page__sections ol{padding-left:1.5rem;margin:0 0 1rem}.docs-page__sections li{margin-bottom:.5rem;line-height:1.6;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections a{color:var(--ion-color-primary, #3880ff);text-decoration:none}.docs-page__sections a:hover{text-decoration:underline}.docs-page__sections code:not([class*=language-]){background:#0000000f;padding:.125rem .375rem;border-radius:4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.875em}.docs-page__sections pre:not([class*=language-]){background:#0000000a;padding:1rem;border-radius:8px;overflow-x:auto;margin:0 0 1rem}.docs-page__sections pre:not([class*=language-]) code{background:none;padding:0}.docs-page__sections table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.875rem}.docs-page__sections th,.docs-page__sections td{padding:.75rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}.docs-page__sections th{font-weight:600;background:#00000005}.docs-page__sections blockquote{margin:0 0 1rem;padding:1rem 1.5rem;border-left:4px solid var(--ion-color-primary, #3880ff);background:#00000005;border-radius:0 8px 8px 0}.docs-page__sections blockquote p:last-child{margin-bottom:0}.docs-page__sections img{max-width:100%;height:auto;border-radius:8px}.docs-page__sections hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:2rem 0}.docs-page__sections strong{font-weight:600}.docs-page__sections section{margin-bottom:2rem}:host-context(.dark) .docs-page__badge,:host-context([color-scheme=\"dark\"]) .docs-page__badge{background:#ffffff1a;color:var(--ion-color-medium)}:host-context(.dark) .docs-page__badge--success,:host-context([color-scheme=\"dark\"]) .docs-page__badge--success{background:#2e7d3233;color:#81c784}:host-context(.dark) .docs-page__badge--warning,:host-context([color-scheme=\"dark\"]) .docs-page__badge--warning{background:#e6510033;color:#ffb74d}:host-context(.dark) .docs-page__badge--danger,:host-context([color-scheme=\"dark\"]) .docs-page__badge--danger{background:#c6282833;color:#e57373}:host-context(.dark) .docs-page__sections code:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections code:not([class*=language-]){background:#ffffff1a}:host-context(.dark) .docs-page__sections pre:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections pre:not([class*=language-]){background:#ffffff0f}:host-context(.dark) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections th{background:#ffffff0a}:host-context(.dark) .docs-page__sections th,:host-context(.dark) .docs-page__sections td,:host-context([color-scheme=\"dark\"]) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections td{border-color:#ffffff1a}:host-context(.dark) .docs-page__sections blockquote,:host-context([color-scheme=\"dark\"]) .docs-page__sections blockquote{background:#ffffff0a}:host-context(.dark) .docs-page__sections hr,:host-context([color-scheme=\"dark\"]) .docs-page__sections hr{border-color:#ffffff1a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DocsNavLinksComponent, selector: "val-docs-nav-links", inputs: ["props"], outputs: ["navigate"] }, { kind: "component", type: DocsTocComponent, selector: "val-docs-toc", inputs: ["props"], outputs: ["sectionChange"] }] }); }
144
144
  }
145
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsPageComponent, decorators: [{
146
146
  type: Component,
@@ -181,8 +181,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
181
181
  </aside>
182
182
  }
183
183
  </div>
184
- `, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;@media (min-width: 1200px){grid-template-columns:1fr 220px;padding:2rem}&__content{min-width:0;max-width:900px}&__header{margin-bottom:2rem}&__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}&__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color);line-height:1.2;@media (min-width: 768px){font-size:2.5rem}}&__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade);&--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}&--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}&--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}}&__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium)}&__sections{>*:last-child{margin-bottom:0}}&__toc{display:none;@media (min-width: 1200px){display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}}// Dark mode :host-context(.dark),:host-context([color-scheme=\"dark\"]){.docs-page{&__badge{background:#ffffff1a;color:var(--ion-color-medium);&--success{background:#2e7d3233;color:#81c784}&--warning{background:#e6510033;color:#ffb74d}&--danger{background:#c6282833;color:#e57373}}}}\n"] }]
184
+ `, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem}@media (min-width: 1200px){.docs-page{grid-template-columns:1fr 220px;padding:2rem}}.docs-page__content{min-width:0;max-width:900px}.docs-page__header{margin-bottom:2rem}.docs-page__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.docs-page__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color, #1a1a1a);line-height:1.2}@media (min-width: 768px){.docs-page__title{font-size:2.5rem}}.docs-page__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade)}.docs-page__badge--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}.docs-page__badge--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}.docs-page__badge--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}.docs-page__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium, #666)}.docs-page__sections>*:last-child{margin-bottom:0}.docs-page__toc{display:none}@media (min-width: 1200px){.docs-page__toc{display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}.docs-page__sections h2{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--ion-text-color, #1a1a1a);scroll-margin-top:2rem}.docs-page__sections h3{font-size:1.125rem;font-weight:600;margin:1.5rem 0 1rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections h4{font-size:1rem;font-weight:600;margin:1.25rem 0 .75rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections p{line-height:1.7;color:var(--ion-text-color, #1a1a1a);margin:0 0 1rem}.docs-page__sections ul,.docs-page__sections ol{padding-left:1.5rem;margin:0 0 1rem}.docs-page__sections li{margin-bottom:.5rem;line-height:1.6;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections a{color:var(--ion-color-primary, #3880ff);text-decoration:none}.docs-page__sections a:hover{text-decoration:underline}.docs-page__sections code:not([class*=language-]){background:#0000000f;padding:.125rem .375rem;border-radius:4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.875em}.docs-page__sections pre:not([class*=language-]){background:#0000000a;padding:1rem;border-radius:8px;overflow-x:auto;margin:0 0 1rem}.docs-page__sections pre:not([class*=language-]) code{background:none;padding:0}.docs-page__sections table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.875rem}.docs-page__sections th,.docs-page__sections td{padding:.75rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}.docs-page__sections th{font-weight:600;background:#00000005}.docs-page__sections blockquote{margin:0 0 1rem;padding:1rem 1.5rem;border-left:4px solid var(--ion-color-primary, #3880ff);background:#00000005;border-radius:0 8px 8px 0}.docs-page__sections blockquote p:last-child{margin-bottom:0}.docs-page__sections img{max-width:100%;height:auto;border-radius:8px}.docs-page__sections hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:2rem 0}.docs-page__sections strong{font-weight:600}.docs-page__sections section{margin-bottom:2rem}:host-context(.dark) .docs-page__badge,:host-context([color-scheme=\"dark\"]) .docs-page__badge{background:#ffffff1a;color:var(--ion-color-medium)}:host-context(.dark) .docs-page__badge--success,:host-context([color-scheme=\"dark\"]) .docs-page__badge--success{background:#2e7d3233;color:#81c784}:host-context(.dark) .docs-page__badge--warning,:host-context([color-scheme=\"dark\"]) .docs-page__badge--warning{background:#e6510033;color:#ffb74d}:host-context(.dark) .docs-page__badge--danger,:host-context([color-scheme=\"dark\"]) .docs-page__badge--danger{background:#c6282833;color:#e57373}:host-context(.dark) .docs-page__sections code:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections code:not([class*=language-]){background:#ffffff1a}:host-context(.dark) .docs-page__sections pre:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections pre:not([class*=language-]){background:#ffffff0f}:host-context(.dark) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections th{background:#ffffff0a}:host-context(.dark) .docs-page__sections th,:host-context(.dark) .docs-page__sections td,:host-context([color-scheme=\"dark\"]) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections td{border-color:#ffffff1a}:host-context(.dark) .docs-page__sections blockquote,:host-context([color-scheme=\"dark\"]) .docs-page__sections blockquote{background:#ffffff0a}:host-context(.dark) .docs-page__sections hr,:host-context([color-scheme=\"dark\"]) .docs-page__sections hr{border-color:#ffffff1a}\n"] }]
185
185
  }], propDecorators: { props: [{
186
186
  type: Input
187
187
  }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvZG9jcy1wYWdlL2RvY3MtcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBNEIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBSS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBdUtILE1BQU0sT0FBTyxpQkFBaUI7SUF0SzlCO1FBdUtVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0IsVUFBSyxHQUFxQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUV6QyxhQUFRLEdBQUcsTUFBTSxDQUFpRCxFQUFFLENBQUMsQ0FBQztRQUN0RSxhQUFRLEdBQTRCLElBQUksQ0FBQztRQTRDakQsYUFBUSxHQUFHLFFBQVEsQ0FBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLGNBQWM7WUFDOUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSixrQkFBYSxHQUFHLFFBQVEsQ0FBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNwRCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUMvQixD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QUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBaERVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFHQWxLbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QsK21EQXRDUyxZQUFZLCtCQUFFLHFCQUFxQix5R0FBRSxnQkFBZ0I7OzRGQW1LcEQsaUJBQWlCO2tCQXRLN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLFlBQ3REOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNUOzhCQWdJUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBjb21wdXRlZCwgc2lnbmFsLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvY3NOYXZMaW5rc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc05hdkxpbmtzTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZG9jcy1uYXYtbGlua3MvdHlwZXMnO1xuaW1wb3J0IHsgRG9jc1RvY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9kb2NzLXRvYy9kb2NzLXRvYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc1RvY01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL2RvY3MtdG9jL3R5cGVzJztcbmltcG9ydCB7IERvY3NQYWdlTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZG9jcy1wYWdlXG4gKlxuICogQSBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIHBhZ2UgdGVtcGxhdGUgdGhhdCBlbGltaW5hdGVzIGJvaWxlcnBsYXRlLlxuICogUHJvdmlkZXMgYXV0b21hdGljIFRPQyBnZW5lcmF0aW9uLCBuYXZpZ2F0aW9uIGxpbmtzLCBhbmQgY29uc2lzdGVudCBzdHlsaW5nLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtcGFnZSBbcHJvcHNdPVwie1xuICogICB0aXRsZTogJ0J1dHRvbicsXG4gKiAgIGxlYWQ6ICdBIGNsaWNrYWJsZSBlbGVtZW50IGZvciB1c2VyIGludGVyYWN0aW9ucy4nLFxuICogICBwcmV2aW91c1BhZ2U6IHsgdGl0bGU6ICdRdWljayBTdGFydCcsIHJvdXRlOiBbJy9kb2NzJywgJ3F1aWNrLXN0YXJ0J10gfSxcbiAqICAgbmV4dFBhZ2U6IHsgdGl0bGU6ICdDYXJkJywgcm91dGU6IFsnL2RvY3MnLCAnY29tcG9uZW50cycsICdjYXJkJ10gfVxuICogfVwiPlxuICogICA8dmFsLWRvY3Mtc2VjdGlvbiBbcHJvcHNdPVwieyBpZDogJ2Jhc2ljLXVzYWdlJywgdGl0bGU6ICdCYXNpYyBVc2FnZScgfVwiPlxuICogICAgIDxwPkNvbnRlbnQgaGVyZS4uLjwvcD5cbiAqICAgPC92YWwtZG9jcy1zZWN0aW9uPlxuICpcbiAqICAgPHZhbC1kb2NzLXNlY3Rpb24gW3Byb3BzXT1cInsgaWQ6ICd2YXJpYW50cycsIHRpdGxlOiAnVmFyaWFudHMnIH1cIj5cbiAqICAgICA8cD5Nb3JlIGNvbnRlbnQuLi48L3A+XG4gKiAgIDwvdmFsLWRvY3Mtc2VjdGlvbj5cbiAqIDwvdmFsLWRvY3MtcGFnZT5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggYmFkZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1wYWdlIFtwcm9wc109XCJ7XG4gKiAgIHRpdGxlOiAnTmV3IENvbXBvbmVudCcsXG4gKiAgIGJhZGdlOiAnTmV3JyxcbiAqICAgYmFkZ2VDb2xvcjogJ3N1Y2Nlc3MnXG4gKiB9XCI+XG4gKiAgIC4uLlxuICogPC92YWwtZG9jcy1wYWdlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEb2NzTmF2TGlua3NDb21wb25lbnQsIERvY3NUb2NDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VfX2NvbnRlbnRcIiAjY29udGVudD5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImRvY3MtcGFnZV9faGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fdGl0bGUtcm93XCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJkb2NzLXBhZ2VfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2gxPlxuICAgICAgICAgICAgQGlmIChwcm9wcy5iYWRnZSkge1xuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1wYWdlX19iYWRnZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtcGFnZV9fYmFkZ2UtLXN1Y2Nlc3NdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZ109XCJwcm9wcy5iYWRnZUNvbG9yID09PSAnd2FybmluZydcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXBhZ2VfX2JhZGdlLS1kYW5nZXJdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ2RhbmdlcidcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcHJvcHMuYmFkZ2UgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAocHJvcHMubGVhZCkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJkb2NzLXBhZ2VfX2xlYWRcIj57eyBwcm9wcy5sZWFkIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fc2VjdGlvbnNcIj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoc2hvd05hdkxpbmtzKCkpIHtcbiAgICAgICAgICA8dmFsLWRvY3MtbmF2LWxpbmtzIFtwcm9wc109XCJuYXZMaW5rc1Byb3BzKClcIj48L3ZhbC1kb2NzLW5hdi1saW5rcz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoIXByb3BzLnRvYz8uaGlkZSkge1xuICAgICAgICA8YXNpZGUgY2xhc3M9XCJkb2NzLXBhZ2VfX3RvY1wiPlxuICAgICAgICAgIDx2YWwtZG9jcy10b2MgW3Byb3BzXT1cInRvY1Byb3BzKClcIj48L3ZhbC1kb2NzLXRvYz5cbiAgICAgICAgPC9hc2lkZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5kb2NzLXBhZ2Uge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAycmVtO1xuICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIyMHB4O1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgICAgfVxuXG4gICAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAmX190aXRsZS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19iYWRnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLXNoYWRlKTtcblxuICAgICAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3Itc3VjY2Vzcy10aW50LCAjZThmNWU5KTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyZTdkMzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td2FybmluZyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLXdhcm5pbmctdGludCwgI2ZmZjNlMCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXNoYWRlLCAjZTY1MTAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhbmdlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWRhbmdlci10aW50LCAjZmZlYmVlKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlci1zaGFkZSwgI2M2MjgyOCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbGVhZCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cblxuICAgICAgJl9fc2VjdGlvbnMge1xuICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190b2Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0cmVtKTtcbiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFyayBtb2RlXG4gICAgOmhvc3QtY29udGV4dCguZGFyayksXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkge1xuICAgICAgLmRvY3MtcGFnZSB7XG4gICAgICAgICZfX2JhZGdlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuXG4gICAgICAgICAgJi0tc3VjY2VzcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ2LCAxMjUsIDUwLCAwLjIpO1xuICAgICAgICAgICAgY29sb3I6ICM4MWM3ODQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi0td2FybmluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzMCwgODEsIDAsIDAuMik7XG4gICAgICAgICAgICBjb2xvcjogI2ZmYjc0ZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLS1kYW5nZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxOTgsIDQwLCA0MCwgMC4yKTtcbiAgICAgICAgICAgIGNvbG9yOiAjZTU3MzczO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIERvY3NQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzUGFnZU1ldGFkYXRhID0geyB0aXRsZTogJycgfTtcblxuICBwcml2YXRlIHRvY0l0ZW1zID0gc2lnbmFsPHsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgbGV2ZWw6IG51bWJlciB9W10+KFtdKTtcbiAgcHJpdmF0ZSBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGwgPSBudWxsO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBJbml0aWFsIHNjYW5cbiAgICB0aGlzLnNjYW5Gb3JTZWN0aW9ucygpO1xuXG4gICAgLy8gV2F0Y2ggZm9yIGR5bmFtaWMgY29udGVudCBjaGFuZ2VzXG4gICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMuc2NhbkZvclNlY3Rpb25zKCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250ZW50RWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZG9jcy1wYWdlX19zZWN0aW9ucycpO1xuICAgIGlmIChjb250ZW50RWwpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50RWwsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2NhbkZvclNlY3Rpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRlbnRFbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kb2NzLXBhZ2VfX3NlY3Rpb25zJyk7XG4gICAgaWYgKCFjb250ZW50RWwpIHJldHVybjtcblxuICAgIGNvbnN0IGhlYWRpbmdzID0gY29udGVudEVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2gyW2lkXSwgaDNbaWRdLCBzZWN0aW9uW2lkXSA+IGgyLCBzZWN0aW9uW2lkXSA+IGgzJyk7XG4gICAgY29uc3QgaXRlbXM6IHsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgbGV2ZWw6IG51bWJlciB9W10gPSBbXTtcblxuICAgIGhlYWRpbmdzLmZvckVhY2goKGhlYWRpbmc6IEVsZW1lbnQpID0+IHtcbiAgICAgIC8vIEdldCBJRCBmcm9tIGhlYWRpbmcgb3IgcGFyZW50IHNlY3Rpb25cbiAgICAgIGxldCBpZCA9IGhlYWRpbmcuaWQ7XG4gICAgICBpZiAoIWlkICYmIGhlYWRpbmcucGFyZW50RWxlbWVudD8udGFnTmFtZSA9PT0gJ1NFQ1RJT04nKSB7XG4gICAgICAgIGlkID0gaGVhZGluZy5wYXJlbnRFbGVtZW50LmlkO1xuICAgICAgfVxuXG4gICAgICBpZiAoaWQpIHtcbiAgICAgICAgY29uc3QgbGV2ZWwgPSBoZWFkaW5nLnRhZ05hbWUgPT09ICdIMicgPyAyIDogMztcbiAgICAgICAgaXRlbXMucHVzaCh7IGlkLCBsYWJlbDogaGVhZGluZy50ZXh0Q29udGVudD8udHJpbSgpIHx8ICcnLCBsZXZlbCB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMudG9jSXRlbXMuc2V0KGl0ZW1zKTtcbiAgfVxuXG4gIHRvY1Byb3BzID0gY29tcHV0ZWQ8RG9jc1RvY01ldGFkYXRhPigoKSA9PiAoe1xuICAgIHRpdGxlOiB0aGlzLnByb3BzLnRvYz8udGl0bGUgPz8gJ09uIHRoaXMgcGFnZScsXG4gICAgaXRlbXM6IHRoaXMudG9jSXRlbXMoKSxcbiAgfSkpO1xuXG4gIG5hdkxpbmtzUHJvcHMgPSBjb21wdXRlZDxEb2NzTmF2TGlua3NNZXRhZGF0YT4oKCkgPT4gKHtcbiAgICBwcmV2aW91czogdGhpcy5wcm9wcy5wcmV2aW91c1BhZ2VcbiAgICAgID8ge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLnByb3BzLm5hdkxhYmVscz8ucHJldmlvdXMgPz8gJ1ByZXZpb3VzJyxcbiAgICAgICAgICB0aXRsZTogdGhpcy5wcm9wcy5wcmV2aW91c1BhZ2UudGl0bGUsXG4gICAgICAgICAgcm91dGU6IHRoaXMucHJvcHMucHJldmlvdXNQYWdlLnJvdXRlLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBuZXh0OiB0aGlzLnByb3BzLm5leHRQYWdlXG4gICAgICA/IHtcbiAgICAgICAgICBsYWJlbDogdGhpcy5wcm9wcy5uYXZMYWJlbHM/Lm5leHQgPz8gJ05leHQnLFxuICAgICAgICAgIHRpdGxlOiB0aGlzLnByb3BzLm5leHRQYWdlLnRpdGxlLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLnByb3BzLm5leHRQYWdlLnJvdXRlLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgfSkpO1xuXG4gIHNob3dOYXZMaW5rcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gISF0aGlzLnByb3BzLnByZXZpb3VzUGFnZSB8fCAhIXRoaXMucHJvcHMubmV4dFBhZ2U7XG4gIH0pO1xufVxuIl19
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvZG9jcy1wYWdlL2RvY3MtcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBNEIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBSS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBc1VILE1BQU0sT0FBTyxpQkFBaUI7SUFyVTlCO1FBc1VVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0IsVUFBSyxHQUFxQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUV6QyxhQUFRLEdBQUcsTUFBTSxDQUFpRCxFQUFFLENBQUMsQ0FBQztRQUN0RSxhQUFRLEdBQTRCLElBQUksQ0FBQztRQTRDakQsYUFBUSxHQUFHLFFBQVEsQ0FBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLGNBQWM7WUFDOUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSixrQkFBYSxHQUFHLFFBQVEsQ0FBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNwRCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUMvQixDQUFDLENBQUM7b0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFFBQVEsSUFBSSxVQUFVO29CQUNuRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSztvQkFDcEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUs7aUJBQ3JDO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtnQkFDdkIsQ0FBQyxDQUFDO29CQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksTUFBTTtvQkFDM0MsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUs7b0JBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLO2lCQUNqQztnQkFDSCxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUosaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBbkVDLGVBQWU7UUFDYixlQUFlO1FBQ2YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRXZCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ2xHLE1BQU0sS0FBSyxHQUFtRCxFQUFFLENBQUM7UUFFakUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUNwQyx3Q0FBd0M7WUFDeEMsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsRUFBRSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN4RCxFQUFFLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDaEMsQ0FBQztZQUVELElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ1AsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBaERVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFHQWpVbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QsczhKQXRDUyxZQUFZLCtCQUFFLHFCQUFxQix5R0FBRSxnQkFBZ0I7OzRGQWtVcEQsaUJBQWlCO2tCQXJVN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLFlBQ3REOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNUOzhCQStSUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBjb21wdXRlZCwgc2lnbmFsLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvY3NOYXZMaW5rc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc05hdkxpbmtzTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZG9jcy1uYXYtbGlua3MvdHlwZXMnO1xuaW1wb3J0IHsgRG9jc1RvY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9kb2NzLXRvYy9kb2NzLXRvYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc1RvY01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL2RvY3MtdG9jL3R5cGVzJztcbmltcG9ydCB7IERvY3NQYWdlTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZG9jcy1wYWdlXG4gKlxuICogQSBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIHBhZ2UgdGVtcGxhdGUgdGhhdCBlbGltaW5hdGVzIGJvaWxlcnBsYXRlLlxuICogUHJvdmlkZXMgYXV0b21hdGljIFRPQyBnZW5lcmF0aW9uLCBuYXZpZ2F0aW9uIGxpbmtzLCBhbmQgY29uc2lzdGVudCBzdHlsaW5nLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtcGFnZSBbcHJvcHNdPVwie1xuICogICB0aXRsZTogJ0J1dHRvbicsXG4gKiAgIGxlYWQ6ICdBIGNsaWNrYWJsZSBlbGVtZW50IGZvciB1c2VyIGludGVyYWN0aW9ucy4nLFxuICogICBwcmV2aW91c1BhZ2U6IHsgdGl0bGU6ICdRdWljayBTdGFydCcsIHJvdXRlOiBbJy9kb2NzJywgJ3F1aWNrLXN0YXJ0J10gfSxcbiAqICAgbmV4dFBhZ2U6IHsgdGl0bGU6ICdDYXJkJywgcm91dGU6IFsnL2RvY3MnLCAnY29tcG9uZW50cycsICdjYXJkJ10gfVxuICogfVwiPlxuICogICA8dmFsLWRvY3Mtc2VjdGlvbiBbcHJvcHNdPVwieyBpZDogJ2Jhc2ljLXVzYWdlJywgdGl0bGU6ICdCYXNpYyBVc2FnZScgfVwiPlxuICogICAgIDxwPkNvbnRlbnQgaGVyZS4uLjwvcD5cbiAqICAgPC92YWwtZG9jcy1zZWN0aW9uPlxuICpcbiAqICAgPHZhbC1kb2NzLXNlY3Rpb24gW3Byb3BzXT1cInsgaWQ6ICd2YXJpYW50cycsIHRpdGxlOiAnVmFyaWFudHMnIH1cIj5cbiAqICAgICA8cD5Nb3JlIGNvbnRlbnQuLi48L3A+XG4gKiAgIDwvdmFsLWRvY3Mtc2VjdGlvbj5cbiAqIDwvdmFsLWRvY3MtcGFnZT5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggYmFkZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1wYWdlIFtwcm9wc109XCJ7XG4gKiAgIHRpdGxlOiAnTmV3IENvbXBvbmVudCcsXG4gKiAgIGJhZGdlOiAnTmV3JyxcbiAqICAgYmFkZ2VDb2xvcjogJ3N1Y2Nlc3MnXG4gKiB9XCI+XG4gKiAgIC4uLlxuICogPC92YWwtZG9jcy1wYWdlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEb2NzTmF2TGlua3NDb21wb25lbnQsIERvY3NUb2NDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VfX2NvbnRlbnRcIiAjY29udGVudD5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImRvY3MtcGFnZV9faGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fdGl0bGUtcm93XCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJkb2NzLXBhZ2VfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2gxPlxuICAgICAgICAgICAgQGlmIChwcm9wcy5iYWRnZSkge1xuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1wYWdlX19iYWRnZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtcGFnZV9fYmFkZ2UtLXN1Y2Nlc3NdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZ109XCJwcm9wcy5iYWRnZUNvbG9yID09PSAnd2FybmluZydcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXBhZ2VfX2JhZGdlLS1kYW5nZXJdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ2RhbmdlcidcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcHJvcHMuYmFkZ2UgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAocHJvcHMubGVhZCkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJkb2NzLXBhZ2VfX2xlYWRcIj57eyBwcm9wcy5sZWFkIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fc2VjdGlvbnNcIj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoc2hvd05hdkxpbmtzKCkpIHtcbiAgICAgICAgICA8dmFsLWRvY3MtbmF2LWxpbmtzIFtwcm9wc109XCJuYXZMaW5rc1Byb3BzKClcIj48L3ZhbC1kb2NzLW5hdi1saW5rcz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoIXByb3BzLnRvYz8uaGlkZSkge1xuICAgICAgICA8YXNpZGUgY2xhc3M9XCJkb2NzLXBhZ2VfX3RvY1wiPlxuICAgICAgICAgIDx2YWwtZG9jcy10b2MgW3Byb3BzXT1cInRvY1Byb3BzKClcIj48L3ZhbC1kb2NzLXRvYz5cbiAgICAgICAgPC9hc2lkZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC8qIE1haW4gbGF5b3V0ICovXG4gICAgLmRvY3MtcGFnZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDJyZW07XG4gICAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLmRvY3MtcGFnZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIyMHB4O1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2NvbnRlbnQge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX190aXRsZS1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNzVyZW07XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRvY3MtcGFnZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bS1zaGFkZSk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fYmFkZ2UtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MtdGludCwgI2U4ZjVlOSk7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyZTdkMzIpO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2JhZGdlLS13YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXRpbnQsICNmZmYzZTApO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXNoYWRlLCAjZTY1MTAwKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19iYWRnZS0tZGFuZ2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYW5nZXItdGludCwgI2ZmZWJlZSk7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlci1zaGFkZSwgI2M2MjgyOCk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fbGVhZCB7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzY2Nik7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvKiBUT0MgLSBIaWRkZW4gb24gbW9iaWxlLCB2aXNpYmxlIG9uIGRlc2t0b3AgKi9cbiAgICAuZG9jcy1wYWdlX190b2Mge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuZG9jcy1wYWdlX190b2Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNHJlbSk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQ29udGVudCB0eXBvZ3JhcGh5IHN0eWxlcyAqL1xuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgICBzY3JvbGwtbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMS41cmVtIDAgMXJlbSAwO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBoNCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMC43NXJlbSAwO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHVsLFxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIG9sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGEge1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjMzg4MGZmKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGNvZGU6bm90KFtjbGFzcyo9J2xhbmd1YWdlLSddKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgICAgcGFkZGluZzogMC4xMjVyZW0gMC4zNzVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnRmlyYSBDb2RlJywgQ29uc29sYXMsIG1vbm9zcGFjZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBwcmU6bm90KFtjbGFzcyo9J2xhbmd1YWdlLSddKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgcHJlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSkgY29kZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHRoLFxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHRkIHtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB0aCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSwgIzM4ODBmZik7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDIpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgYmxvY2txdW90ZSBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGhyIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICBtYXJnaW46IDJyZW0gMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLyogRGFyayBtb2RlICovXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fYmFkZ2UsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fYmFkZ2Uge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLXBhZ2VfX2JhZGdlLS1zdWNjZXNzLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX2JhZGdlLS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDYsIDEyNSwgNTAsIDAuMik7XG4gICAgICBjb2xvcjogIzgxYzc4NDtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZyxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzMCwgODEsIDAsIDAuMik7XG4gICAgICBjb2xvcjogI2ZmYjc0ZDtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19iYWRnZS0tZGFuZ2VyLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX2JhZGdlLS1kYW5nZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxOTgsIDQwLCA0MCwgMC4yKTtcbiAgICAgIGNvbG9yOiAjZTU3MzczO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGNvZGU6bm90KFtjbGFzcyo9J2xhbmd1YWdlLSddKSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBjb2RlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHByZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHByZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyB0aCxcbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyB0ZCxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyB0aCxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyB0ZCB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBibG9ja3F1b3RlLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGJsb2NrcXVvdGUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBocixcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBociB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBASW5wdXQoKSBwcm9wczogRG9jc1BhZ2VNZXRhZGF0YSA9IHsgdGl0bGU6ICcnIH07XG5cbiAgcHJpdmF0ZSB0b2NJdGVtcyA9IHNpZ25hbDx7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IGxldmVsOiBudW1iZXIgfVtdPihbXSk7XG4gIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbCBzY2FuXG4gICAgdGhpcy5zY2FuRm9yU2VjdGlvbnMoKTtcblxuICAgIC8vIFdhdGNoIGZvciBkeW5hbWljIGNvbnRlbnQgY2hhbmdlc1xuICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLnNjYW5Gb3JTZWN0aW9ucygpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY29udGVudEVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRvY3MtcGFnZV9fc2VjdGlvbnMnKTtcbiAgICBpZiAoY29udGVudEVsKSB7XG4gICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUoY29udGVudEVsLCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIHNjYW5Gb3JTZWN0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50RWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZG9jcy1wYWdlX19zZWN0aW9ucycpO1xuICAgIGlmICghY29udGVudEVsKSByZXR1cm47XG5cbiAgICBjb25zdCBoZWFkaW5ncyA9IGNvbnRlbnRFbC5xdWVyeVNlbGVjdG9yQWxsKCdoMltpZF0sIGgzW2lkXSwgc2VjdGlvbltpZF0gPiBoMiwgc2VjdGlvbltpZF0gPiBoMycpO1xuICAgIGNvbnN0IGl0ZW1zOiB7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IGxldmVsOiBudW1iZXIgfVtdID0gW107XG5cbiAgICBoZWFkaW5ncy5mb3JFYWNoKChoZWFkaW5nOiBFbGVtZW50KSA9PiB7XG4gICAgICAvLyBHZXQgSUQgZnJvbSBoZWFkaW5nIG9yIHBhcmVudCBzZWN0aW9uXG4gICAgICBsZXQgaWQgPSBoZWFkaW5nLmlkO1xuICAgICAgaWYgKCFpZCAmJiBoZWFkaW5nLnBhcmVudEVsZW1lbnQ/LnRhZ05hbWUgPT09ICdTRUNUSU9OJykge1xuICAgICAgICBpZCA9IGhlYWRpbmcucGFyZW50RWxlbWVudC5pZDtcbiAgICAgIH1cblxuICAgICAgaWYgKGlkKSB7XG4gICAgICAgIGNvbnN0IGxldmVsID0gaGVhZGluZy50YWdOYW1lID09PSAnSDInID8gMiA6IDM7XG4gICAgICAgIGl0ZW1zLnB1c2goeyBpZCwgbGFiZWw6IGhlYWRpbmcudGV4dENvbnRlbnQ/LnRyaW0oKSB8fCAnJywgbGV2ZWwgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnRvY0l0ZW1zLnNldChpdGVtcyk7XG4gIH1cblxuICB0b2NQcm9wcyA9IGNvbXB1dGVkPERvY3NUb2NNZXRhZGF0YT4oKCkgPT4gKHtcbiAgICB0aXRsZTogdGhpcy5wcm9wcy50b2M/LnRpdGxlID8/ICdPbiB0aGlzIHBhZ2UnLFxuICAgIGl0ZW1zOiB0aGlzLnRvY0l0ZW1zKCksXG4gIH0pKTtcblxuICBuYXZMaW5rc1Byb3BzID0gY29tcHV0ZWQ8RG9jc05hdkxpbmtzTWV0YWRhdGE+KCgpID0+ICh7XG4gICAgcHJldmlvdXM6IHRoaXMucHJvcHMucHJldmlvdXNQYWdlXG4gICAgICA/IHtcbiAgICAgICAgICBsYWJlbDogdGhpcy5wcm9wcy5uYXZMYWJlbHM/LnByZXZpb3VzID8/ICdQcmV2aW91cycsXG4gICAgICAgICAgdGl0bGU6IHRoaXMucHJvcHMucHJldmlvdXNQYWdlLnRpdGxlLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLnByb3BzLnByZXZpb3VzUGFnZS5yb3V0ZSxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgbmV4dDogdGhpcy5wcm9wcy5uZXh0UGFnZVxuICAgICAgPyB7XG4gICAgICAgICAgbGFiZWw6IHRoaXMucHJvcHMubmF2TGFiZWxzPy5uZXh0ID8/ICdOZXh0JyxcbiAgICAgICAgICB0aXRsZTogdGhpcy5wcm9wcy5uZXh0UGFnZS50aXRsZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5wcm9wcy5uZXh0UGFnZS5yb3V0ZSxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gIH0pKTtcblxuICBzaG93TmF2TGlua3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICEhdGhpcy5wcm9wcy5wcmV2aW91c1BhZ2UgfHwgISF0aGlzLnByb3BzLm5leHRQYWdlO1xuICB9KTtcbn1cbiJdfQ==
@@ -2,6 +2,8 @@ import { Injectable, inject } from '@angular/core';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import { firstValueFrom } from 'rxjs';
4
4
  import { VALTECH_FEEDBACK_CONFIG } from './config';
5
+ import { FirestoreService } from '../firebase/firestore.service';
6
+ import { AuthService } from '../auth/auth.service';
5
7
  import * as i0 from "@angular/core";
6
8
  /**
7
9
  * Servicio para gestionar feedback de usuarios.
@@ -27,6 +29,8 @@ export class FeedbackService {
27
29
  constructor() {
28
30
  this.config = inject(VALTECH_FEEDBACK_CONFIG);
29
31
  this.http = inject(HttpClient);
32
+ this.firestore = inject(FirestoreService, { optional: true });
33
+ this.auth = inject(AuthService, { optional: true });
30
34
  }
31
35
  /**
32
36
  * URL base para endpoints de feedback.
@@ -132,6 +136,9 @@ export class FeedbackService {
132
136
  /**
133
137
  * Verifica si el usuario ya dio feedback para una entidad específica.
134
138
  *
139
+ * Primero intenta leer de Firebase (rápido, sin latencia de red al backend).
140
+ * Si Firebase no está disponible o falla, hace fallback a la API.
141
+ *
135
142
  * @param entityType - Tipo de entidad (article, docs, feature, etc.)
136
143
  * @param entityId - ID de la entidad
137
144
  * @returns Promise con la respuesta de verificación
@@ -145,6 +152,35 @@ export class FeedbackService {
145
152
  * ```
146
153
  */
147
154
  async checkFeedback(entityType, entityId) {
155
+ // 1. Intentar Firebase primero (si está disponible)
156
+ if (this.firestore && this.auth) {
157
+ try {
158
+ const userId = this.auth.user()?.userId;
159
+ if (userId) {
160
+ // Path: feedback/{entityType}/{entityId}/{userId}
161
+ // FirestoreService agrega automáticamente el prefijo apps/{appId}/
162
+ const collectionPath = `feedback/${entityType}/${entityId}`;
163
+ const doc = await this.firestore.getDoc(collectionPath, userId);
164
+ if (doc) {
165
+ return {
166
+ operationId: '',
167
+ hasFeedback: true,
168
+ feedbackId: doc.feedbackId,
169
+ type: doc.type,
170
+ reactionValue: doc.reactionValue,
171
+ createdAt: doc.createdAt?.toISOString(),
172
+ };
173
+ }
174
+ // Doc no existe = no hay feedback
175
+ return { operationId: '', hasFeedback: false };
176
+ }
177
+ }
178
+ catch (error) {
179
+ console.warn('[FeedbackService] Firebase check failed, falling back to API:', error);
180
+ // Fallback a API
181
+ }
182
+ }
183
+ // 2. Fallback: llamar API
148
184
  const params = new URLSearchParams({
149
185
  appId: this.config.appId,
150
186
  entityType,
@@ -225,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
225
261
  type: Injectable,
226
262
  args: [{ providedIn: 'root' }]
227
263
  }] });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBYW5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFVSxXQUFNLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWlPbkM7SUEvTkM7O09BRUc7SUFDSCxJQUFZLE9BQU87UUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CO1FBQ2xCLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDL0IsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMvQixFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDckIsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ3RELFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUM1QixTQUFTLEVBQUUsRUFBRTtZQUNiLE9BQU8sRUFBRSxNQUFN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Q3pDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBbE9VLGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWQUxURUNIX0ZFRURCQUNLX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7XG4gIENyZWF0ZUZlZWRiYWNrUmVxdWVzdCxcbiAgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSxcbiAgR2V0RmVlZGJhY2tSZXNwb25zZSxcbiAgQ2hlY2tGZWVkYmFja1Jlc3BvbnNlLFxuICBEZXZpY2VDb250ZXh0LFxuICBGZWVkYmFja1R5cGUsXG4gIENvbnRlbnRSZWYsXG4gIEVudGl0eVJlZixcbiAgUmVhY3Rpb25WYWx1ZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogU2VydmljaW8gcGFyYSBnZXN0aW9uYXIgZmVlZGJhY2sgZGUgdXN1YXJpb3MuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBDb21wb25lbnQoey4uLn0pXG4gKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQge1xuICogICBwcml2YXRlIGZlZWRiYWNrU2VydmljZSA9IGluamVjdChGZWVkYmFja1NlcnZpY2UpO1xuICpcbiAqICAgYXN5bmMgc3VibWl0RmVlZGJhY2soKSB7XG4gKiAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jcmVhdGVBc3luYyhcbiAqICAgICAgICdmZWVkYmFjaycsXG4gKiAgICAgICAnTWkgY29tZW50YXJpbycsXG4gKiAgICAgICAnRGVzY3JpcGNpw7NuIGRldGFsbGFkYS4uLidcbiAqICAgICApO1xuICogICAgIGNvbnNvbGUubG9nKCdGZWVkYmFjayBlbnZpYWRvOicsIHJlc3BvbnNlLmZlZWRiYWNrSWQpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGZWVkYmFja1NlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChWQUxURUNIX0ZFRURCQUNLX0NPTkZJRyk7XG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAvKipcbiAgICogVVJMIGJhc2UgcGFyYSBlbmRwb2ludHMgZGUgZmVlZGJhY2suXG4gICAqL1xuICBwcml2YXRlIGdldCBiYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29uZmlnLmFwaVVybH0ke3RoaXMuY29uZmlnLmZlZWRiYWNrUHJlZml4fWA7XG4gIH1cblxuICAvKipcbiAgICogQ2FwdHVyYSBlbCBjb250ZXh0byBkZWwgZGlzcG9zaXRpdm8gYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIGNhcHR1cmVEZXZpY2VDb250ZXh0KCk6IERldmljZUNvbnRleHQge1xuICAgIGNvbnN0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbiAgICByZXR1cm4ge1xuICAgICAgYnJvd3NlcjogdGhpcy5kZXRlY3RCcm93c2VyKHVhKSxcbiAgICAgIG9zOiB0aGlzLmRldGVjdE9TKHVhKSxcbiAgICAgIHZpZXdwb3J0OiBgJHt3aW5kb3cuaW5uZXJXaWR0aH14JHt3aW5kb3cuaW5uZXJIZWlnaHR9YCxcbiAgICAgIGxhbmd1YWdlOiBuYXZpZ2F0b3IubGFuZ3VhZ2UsXG4gICAgICB1c2VyQWdlbnQ6IHVhLFxuICAgICAgcGFnZVVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhIHVuIG51ZXZvIGZlZWRiYWNrLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSAtIFRpcG8gZGUgZmVlZGJhY2tcbiAgICogQHBhcmFtIHRpdGxlIC0gVMOtdHVsbyBkZWwgZmVlZGJhY2tcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIC0gRGVzY3JpcGNpw7NuIGRldGFsbGFkYVxuICAgKiBAcGFyYW0gYXR0YWNobWVudHMgLSBVUkxzIGRlIGFyY2hpdm9zIGFkanVudG9zIChvcGNpb25hbClcbiAgICogQHBhcmFtIGNvbnRlbnRSZWYgLSBSZWZlcmVuY2lhIGEgY29udGVuaWRvIGVzcGVjw61maWNvIChvcGNpb25hbClcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBjcmVhdGUoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBPYnNlcnZhYmxlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGZWVkYmFja1JlcXVlc3QgPSB7XG4gICAgICB0eXBlLFxuICAgICAgdGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGF0dGFjaG1lbnRzLFxuICAgICAgY29udGVudFJlZixcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjayAodmVyc2nDs24gYXN5bmMvYXdhaXQpLlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQXN5bmMoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmNyZWF0ZSh0eXBlLCB0aXRsZSwgZGVzY3JpcHRpb24sIGF0dGFjaG1lbnRzLCBjb250ZW50UmVmKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHNvbG8gZWwgcHJvcGlldGFyaW8pLlxuICAgKlxuICAgKiBAcGFyYW0gZmVlZGJhY2tJZCAtIElEIGRlbCBmZWVkYmFja1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbiBsYSByZXNwdWVzdGFcbiAgICovXG4gIGdldEJ5SWQoZmVlZGJhY2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHZXRGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R2V0RmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2ZlZWRiYWNrSWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHZlcnNpw7NuIGFzeW5jL2F3YWl0KS5cbiAgICovXG4gIGFzeW5jIGdldEJ5SWRBc3luYyhmZWVkYmFja0lkOiBzdHJpbmcpOiBQcm9taXNlPEdldEZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5nZXRCeUlkKGZlZWRiYWNrSWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGEgc2kgdW4gYXJjaGl2byBjdW1wbGUgY29uIGxhcyByZXN0cmljY2lvbmVzLlxuICAgKi9cbiAgdmFsaWRhdGVGaWxlKGZpbGU6IEZpbGUpOiB7IHZhbGlkOiBib29sZWFuOyBlcnJvcj86IHN0cmluZyB9IHtcbiAgICAvLyBWZXJpZmljYXIgdGFtYcOxb1xuICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLmNvbmZpZy5tYXhGaWxlU2l6ZSEpIHtcbiAgICAgIGNvbnN0IG1heFNpemVNQiA9IE1hdGgucm91bmQodGhpcy5jb25maWcubWF4RmlsZVNpemUhIC8gKDEwMjQgKiAxMDI0KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBgRWwgYXJjaGl2byBleGNlZGUgZWwgdGFtYcOxbyBtw6F4aW1vIGRlICR7bWF4U2l6ZU1CfU1CYCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2FyIHRpcG9cbiAgICBjb25zdCBhbGxvd2VkVHlwZXMgPSB0aGlzLmNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzIHx8IFtdO1xuICAgIGNvbnN0IGlzQWxsb3dlZCA9IGFsbG93ZWRUeXBlcy5zb21lKChwYXR0ZXJuKSA9PiB7XG4gICAgICBpZiAocGF0dGVybi5lbmRzV2l0aCgnLyonKSkge1xuICAgICAgICBjb25zdCBiYXNlVHlwZSA9IHBhdHRlcm4ucmVwbGFjZSgnLyonLCAnJyk7XG4gICAgICAgIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aChiYXNlVHlwZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsZS50eXBlID09PSBwYXR0ZXJuO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0FsbG93ZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6ICdUaXBvIGRlIGFyY2hpdm8gbm8gcGVybWl0aWRvJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhIGNvbmZpZ3VyYWNpw7NuIGFjdHVhbCBkZWwgc2VydmljaW8uXG4gICAqL1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8dHlwZW9mIHRoaXMuY29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSZWFjdGlvbiBNZXRob2RzIChDb250ZW50IGZlZWRiYWNrIHdpdGggZW1vamlzKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNpIGVsIHVzdWFyaW8geWEgZGlvIGZlZWRiYWNrIHBhcmEgdW5hIGVudGlkYWQgZXNwZWPDrWZpY2EuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlUeXBlIC0gVGlwbyBkZSBlbnRpZGFkIChhcnRpY2xlLCBkb2NzLCBmZWF0dXJlLCBldGMuKVxuICAgKiBAcGFyYW0gZW50aXR5SWQgLSBJRCBkZSBsYSBlbnRpZGFkXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YSBkZSB2ZXJpZmljYWNpw7NuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgY2hlY2sgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jaGVja0ZlZWRiYWNrKCdhcnRpY2xlJywgJ2FydC0xMjMnKTtcbiAgICogaWYgKGNoZWNrLmhhc0ZlZWRiYWNrKSB7XG4gICAqICAgY29uc29sZS5sb2coJ1lhIGRpbyBmZWVkYmFjazonLCBjaGVjay5yZWFjdGlvblZhbHVlKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNoZWNrRmVlZGJhY2soXG4gICAgZW50aXR5VHlwZTogc3RyaW5nLFxuICAgIGVudGl0eUlkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICAgIGVudGl0eVR5cGUsXG4gICAgICBlbnRpdHlJZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5nZXQ8Q2hlY2tGZWVkYmFja1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L2NoZWNrPyR7cGFyYW1zfWApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhIG8gYWN0dWFsaXphIHVuYSByZWFjY2nDs24gKGZlZWRiYWNrIGNvbiBlbW9qaSkuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlSZWYgLSBSZWZlcmVuY2lhIGEgbGEgZW50aWRhZFxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZSBsYSByZWFjY2nDs24gKG5lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZSlcbiAgICogQHBhcmFtIGNvbW1lbnQgLSBDb21lbnRhcmlvIG9wY2lvbmFsIChtw6F4IDUwMCBjYXJhY3RlcmVzKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGFcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZVJlYWN0aW9uKFxuICAgKiAgIHsgZW50aXR5VHlwZTogJ2FydGljbGUnLCBlbnRpdHlJZDogJ2FydC0xMjMnIH0sXG4gICAqICAgJ3Bvc2l0aXZlJyxcbiAgICogICAnTXV5IMO6dGlsISdcbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjcmVhdGVSZWFjdGlvbihcbiAgICBlbnRpdHlSZWY6IEVudGl0eVJlZixcbiAgICB2YWx1ZTogUmVhY3Rpb25WYWx1ZSxcbiAgICBjb21tZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IENyZWF0ZUZlZWRiYWNrUmVxdWVzdCA9IHtcbiAgICAgIHR5cGU6ICdyZWFjdGlvbicsXG4gICAgICBlbnRpdHlSZWYsXG4gICAgICByZWFjdGlvblZhbHVlOiB2YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBjb21tZW50IHx8ICcnLFxuICAgICAgZGV2aWNlQ29udGV4dDogdGhpcy5jYXB0dXJlRGV2aWNlQ29udGV4dCgpLFxuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnLmFwcElkLFxuICAgIH07XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAucG9zdDxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPih0aGlzLmJhc2VVcmwsIHJlcXVlc3QpXG4gICAgKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSGVscGVycyBwcml2YWRvcyBwYXJhIGRldGVjY2nDs24gZGUgYnJvd3Nlci9PU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgcHJpdmF0ZSBkZXRlY3RCcm93c2VyKHVhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh1YS5pbmNsdWRlcygnRWRnLycpKSByZXR1cm4gJ0VkZ2UnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnQ2hyb21lLycpKSByZXR1cm4gJ0Nocm9tZSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdGaXJlZm94LycpKSByZXR1cm4gJ0ZpcmVmb3gnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnU2FmYXJpLycpICYmICF1YS5pbmNsdWRlcygnQ2hyb21lJykpIHJldHVybiAnU2FmYXJpJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ09wZXJhJykgfHwgdWEuaW5jbHVkZXMoJ09QUi8nKSkgcmV0dXJuICdPcGVyYSc7XG4gICAgcmV0dXJuICdVbmtub3duJztcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0T1ModWE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdXaW5kb3dzIE5UIDEwJykpIHJldHVybiAnV2luZG93cyAxMCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdXaW5kb3dzIE5UIDExJykpIHJldHVybiAnV2luZG93cyAxMSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdXaW5kb3dzJykpIHJldHVybiAnV2luZG93cyc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdNYWMgT1MgWCcpKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IHVhLm1hdGNoKC9NYWMgT1MgWCAoXFxkK1suX11cXGQrKS8pO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHJldHVybiBgbWFjT1MgJHttYXRjaFsxXS5yZXBsYWNlKCdfJywgJy4nKX1gO1xuICAgICAgfVxuICAgICAgcmV0dXJuICdtYWNPUyc7XG4gICAgfVxuICAgIGlmICh1YS5pbmNsdWRlcygnQW5kcm9pZCcpKSByZXR1cm4gJ0FuZHJvaWQnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnaVBob25lJykgfHwgdWEuaW5jbHVkZXMoJ2lQYWQnKSkgcmV0dXJuICdpT1MnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnTGludXgnKSkgcmV0dXJuICdMaW51eCc7XG4gICAgcmV0dXJuICdVbmtub3duJztcbiAgfVxufVxuIl19
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFhbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FzUXhEO0lBcFFDOztPQUVHO0lBQ0gsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FB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RSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9ELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFBRSxPQUFPLE9BQU8sQ0FBQztRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOytHQXpRVSxlQUFlO21IQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVkFMVEVDSF9GRUVEQkFDS19DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQge1xuICBDcmVhdGVGZWVkYmFja1JlcXVlc3QsXG4gIENyZWF0ZUZlZWRiYWNrUmVzcG9uc2UsXG4gIEdldEZlZWRiYWNrUmVzcG9uc2UsXG4gIENoZWNrRmVlZGJhY2tSZXNwb25zZSxcbiAgRGV2aWNlQ29udGV4dCxcbiAgRmVlZGJhY2tUeXBlLFxuICBDb250ZW50UmVmLFxuICBFbnRpdHlSZWYsXG4gIFJlYWN0aW9uVmFsdWUsXG4gIEZlZWRiYWNrRmlyZXN0b3JlRG9jLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZpcmVzdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9maXJlYmFzZS9maXJlc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBwYXJhIGdlc3Rpb25hciBmZWVkYmFjayBkZSB1c3Vhcmlvcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogQENvbXBvbmVudCh7Li4ufSlcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIHByaXZhdGUgZmVlZGJhY2tTZXJ2aWNlID0gaW5qZWN0KEZlZWRiYWNrU2VydmljZSk7XG4gKlxuICogICBhc3luYyBzdWJtaXRGZWVkYmFjaygpIHtcbiAqICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZUFzeW5jKFxuICogICAgICAgJ2ZlZWRiYWNrJyxcbiAqICAgICAgICdNaSBjb21lbnRhcmlvJyxcbiAqICAgICAgICdEZXNjcmlwY2nDs24gZGV0YWxsYWRhLi4uJ1xuICogICAgICk7XG4gKiAgICAgY29uc29sZS5sb2coJ0ZlZWRiYWNrIGVudmlhZG86JywgcmVzcG9uc2UuZmVlZGJhY2tJZCk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KFZBTFRFQ0hfRkVFREJBQ0tfQ09ORklHKTtcbiAgcHJpdmF0ZSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIGZpcmVzdG9yZSA9IGluamVjdChGaXJlc3RvcmVTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqXG4gICAqIFVSTCBiYXNlIHBhcmEgZW5kcG9pbnRzIGRlIGZlZWRiYWNrLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgYmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbmZpZy5hcGlVcmx9JHt0aGlzLmNvbmZpZy5mZWVkYmFja1ByZWZpeH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcHR1cmEgZWwgY29udGV4dG8gZGVsIGRpc3Bvc2l0aXZvIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBjYXB0dXJlRGV2aWNlQ29udGV4dCgpOiBEZXZpY2VDb250ZXh0IHtcbiAgICBjb25zdCB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZXI6IHRoaXMuZGV0ZWN0QnJvd3Nlcih1YSksXG4gICAgICBvczogdGhpcy5kZXRlY3RPUyh1YSksXG4gICAgICB2aWV3cG9ydDogYCR7d2luZG93LmlubmVyV2lkdGh9eCR7d2luZG93LmlubmVySGVpZ2h0fWAsXG4gICAgICBsYW5ndWFnZTogbmF2aWdhdG9yLmxhbmd1YWdlLFxuICAgICAgdXNlckFnZW50OiB1YSxcbiAgICAgIHBhZ2VVcmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjay5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGZlZWRiYWNrXG4gICAqIEBwYXJhbSB0aXRsZSAtIFTDrXR1bG8gZGVsIGZlZWRiYWNrXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiAtIERlc2NyaXBjacOzbiBkZXRhbGxhZGFcbiAgICogQHBhcmFtIGF0dGFjaG1lbnRzIC0gVVJMcyBkZSBhcmNoaXZvcyBhZGp1bnRvcyAob3BjaW9uYWwpXG4gICAqIEBwYXJhbSBjb250ZW50UmVmIC0gUmVmZXJlbmNpYSBhIGNvbnRlbmlkbyBlc3BlY8OtZmljbyAob3BjaW9uYWwpXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29uIGxhIHJlc3B1ZXN0YVxuICAgKi9cbiAgY3JlYXRlKFxuICAgIHR5cGU6IEZlZWRiYWNrVHlwZSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IHN0cmluZ1tdID0gW10sXG4gICAgY29udGVudFJlZj86IENvbnRlbnRSZWZcbiAgKTogT2JzZXJ2YWJsZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRmVlZGJhY2tSZXF1ZXN0ID0ge1xuICAgICAgdHlwZSxcbiAgICAgIHRpdGxlLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBhdHRhY2htZW50cyxcbiAgICAgIGNvbnRlbnRSZWYsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPih0aGlzLmJhc2VVcmwsIHJlcXVlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgdW4gbnVldm8gZmVlZGJhY2sgKHZlcnNpw7NuIGFzeW5jL2F3YWl0KS5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZUFzeW5jKFxuICAgIHR5cGU6IEZlZWRiYWNrVHlwZSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IHN0cmluZ1tdID0gW10sXG4gICAgY29udGVudFJlZj86IENvbnRlbnRSZWZcbiAgKTogUHJvbWlzZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5jcmVhdGUodHlwZSwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhdHRhY2htZW50cywgY29udGVudFJlZilcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdW4gZmVlZGJhY2sgcG9yIElEIChzb2xvIGVsIHByb3BpZXRhcmlvKS5cbiAgICpcbiAgICogQHBhcmFtIGZlZWRiYWNrSWQgLSBJRCBkZWwgZmVlZGJhY2tcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBnZXRCeUlkKGZlZWRiYWNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0RmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEdldEZlZWRiYWNrUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtmZWVkYmFja0lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdW4gZmVlZGJhY2sgcG9yIElEICh2ZXJzacOzbiBhc3luYy9hd2FpdCkuXG4gICAqL1xuICBhc3luYyBnZXRCeUlkQXN5bmMoZmVlZGJhY2tJZDogc3RyaW5nKTogUHJvbWlzZTxHZXRGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuZ2V0QnlJZChmZWVkYmFja0lkKSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhIHNpIHVuIGFyY2hpdm8gY3VtcGxlIGNvbiBsYXMgcmVzdHJpY2Npb25lcy5cbiAgICovXG4gIHZhbGlkYXRlRmlsZShmaWxlOiBGaWxlKTogeyB2YWxpZDogYm9vbGVhbjsgZXJyb3I/OiBzdHJpbmcgfSB7XG4gICAgLy8gVmVyaWZpY2FyIHRhbWHDsW9cbiAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5jb25maWcubWF4RmlsZVNpemUhKSB7XG4gICAgICBjb25zdCBtYXhTaXplTUIgPSBNYXRoLnJvdW5kKHRoaXMuY29uZmlnLm1heEZpbGVTaXplISAvICgxMDI0ICogMTAyNCkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICBlcnJvcjogYEVsIGFyY2hpdm8gZXhjZWRlIGVsIHRhbWHDsW8gbcOheGltbyBkZSAke21heFNpemVNQn1NQmAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhciB0aXBvXG4gICAgY29uc3QgYWxsb3dlZFR5cGVzID0gdGhpcy5jb25maWcuYWxsb3dlZEZpbGVUeXBlcyB8fCBbXTtcbiAgICBjb25zdCBpc0FsbG93ZWQgPSBhbGxvd2VkVHlwZXMuc29tZSgocGF0dGVybikgPT4ge1xuICAgICAgaWYgKHBhdHRlcm4uZW5kc1dpdGgoJy8qJykpIHtcbiAgICAgICAgY29uc3QgYmFzZVR5cGUgPSBwYXR0ZXJuLnJlcGxhY2UoJy8qJywgJycpO1xuICAgICAgICByZXR1cm4gZmlsZS50eXBlLnN0YXJ0c1dpdGgoYmFzZVR5cGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbGUudHlwZSA9PT0gcGF0dGVybjtcbiAgICB9KTtcblxuICAgIGlmICghaXNBbGxvd2VkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiAnVGlwbyBkZSBhcmNoaXZvIG5vIHBlcm1pdGlkbycsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBsYSBjb25maWd1cmFjacOzbiBhY3R1YWwgZGVsIHNlcnZpY2lvLlxuICAgKi9cbiAgZ2V0Q29uZmlnKCk6IFJlYWRvbmx5PHR5cGVvZiB0aGlzLmNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUmVhY3Rpb24gTWV0aG9kcyAoQ29udGVudCBmZWVkYmFjayB3aXRoIGVtb2ppcylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBWZXJpZmljYSBzaSBlbCB1c3VhcmlvIHlhIGRpbyBmZWVkYmFjayBwYXJhIHVuYSBlbnRpZGFkIGVzcGVjw61maWNhLlxuICAgKlxuICAgKiBQcmltZXJvIGludGVudGEgbGVlciBkZSBGaXJlYmFzZSAocsOhcGlkbywgc2luIGxhdGVuY2lhIGRlIHJlZCBhbCBiYWNrZW5kKS5cbiAgICogU2kgRmlyZWJhc2Ugbm8gZXN0w6EgZGlzcG9uaWJsZSBvIGZhbGxhLCBoYWNlIGZhbGxiYWNrIGEgbGEgQVBJLlxuICAgKlxuICAgKiBAcGFyYW0gZW50aXR5VHlwZSAtIFRpcG8gZGUgZW50aWRhZCAoYXJ0aWNsZSwgZG9jcywgZmVhdHVyZSwgZXRjLilcbiAgICogQHBhcmFtIGVudGl0eUlkIC0gSUQgZGUgbGEgZW50aWRhZFxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGEgZGUgdmVyaWZpY2FjacOzblxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGNoZWNrID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY2hlY2tGZWVkYmFjaygnYXJ0aWNsZScsICdhcnQtMTIzJyk7XG4gICAqIGlmIChjaGVjay5oYXNGZWVkYmFjaykge1xuICAgKiAgIGNvbnNvbGUubG9nKCdZYSBkaW8gZmVlZGJhY2s6JywgY2hlY2sucmVhY3Rpb25WYWx1ZSk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjaGVja0ZlZWRiYWNrKFxuICAgIGVudGl0eVR5cGU6IHN0cmluZyxcbiAgICBlbnRpdHlJZDogc3RyaW5nXG4gICk6IFByb21pc2U8Q2hlY2tGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgLy8gMS4gSW50ZW50YXIgRmlyZWJhc2UgcHJpbWVybyAoc2kgZXN0w6EgZGlzcG9uaWJsZSlcbiAgICBpZiAodGhpcy5maXJlc3RvcmUgJiYgdGhpcy5hdXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB1c2VySWQgPSB0aGlzLmF1dGgudXNlcigpPy51c2VySWQ7XG4gICAgICAgIGlmICh1c2VySWQpIHtcbiAgICAgICAgICAvLyBQYXRoOiBmZWVkYmFjay97ZW50aXR5VHlwZX0ve2VudGl0eUlkfS97dXNlcklkfVxuICAgICAgICAgIC8vIEZpcmVzdG9yZVNlcnZpY2UgYWdyZWdhIGF1dG9tw6F0aWNhbWVudGUgZWwgcHJlZmlqbyBhcHBzL3thcHBJZH0vXG4gICAgICAgICAgY29uc3QgY29sbGVjdGlvblBhdGggPSBgZmVlZGJhY2svJHtlbnRpdHlUeXBlfS8ke2VudGl0eUlkfWA7XG4gICAgICAgICAgY29uc3QgZG9jID0gYXdhaXQgdGhpcy5maXJlc3RvcmUuZ2V0RG9jPEZlZWRiYWNrRmlyZXN0b3JlRG9jPihcbiAgICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgICAgdXNlcklkXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChkb2MpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbklkOiAnJyxcbiAgICAgICAgICAgICAgaGFzRmVlZGJhY2s6IHRydWUsXG4gICAgICAgICAgICAgIGZlZWRiYWNrSWQ6IGRvYy5mZWVkYmFja0lkLFxuICAgICAgICAgICAgICB0eXBlOiBkb2MudHlwZSBhcyBGZWVkYmFja1R5cGUsXG4gICAgICAgICAgICAgIHJlYWN0aW9uVmFsdWU6IGRvYy5yZWFjdGlvblZhbHVlIGFzIFJlYWN0aW9uVmFsdWUsXG4gICAgICAgICAgICAgIGNyZWF0ZWRBdDogZG9jLmNyZWF0ZWRBdD8udG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRG9jIG5vIGV4aXN0ZSA9IG5vIGhheSBmZWVkYmFja1xuICAgICAgICAgIHJldHVybiB7IG9wZXJhdGlvbklkOiAnJywgaGFzRmVlZGJhY2s6IGZhbHNlIH07XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignW0ZlZWRiYWNrU2VydmljZV0gRmlyZWJhc2UgY2hlY2sgZmFpbGVkLCBmYWxsaW5nIGJhY2sgdG8gQVBJOicsIGVycm9yKTtcbiAgICAgICAgLy8gRmFsbGJhY2sgYSBBUElcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAyLiBGYWxsYmFjazogbGxhbWFyIEFQSVxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnLmFwcElkLFxuICAgICAgZW50aXR5VHlwZSxcbiAgICAgIGVudGl0eUlkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLmdldDxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vY2hlY2s/JHtwYXJhbXN9YClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgbyBhY3R1YWxpemEgdW5hIHJlYWNjacOzbiAoZmVlZGJhY2sgY29uIGVtb2ppKS5cbiAgICpcbiAgICogQHBhcmFtIGVudGl0eVJlZiAtIFJlZmVyZW5jaWEgYSBsYSBlbnRpZGFkXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIGRlIGxhIHJlYWNjacOzbiAobmVnYXRpdmUsIG5ldXRyYWwsIHBvc2l0aXZlKVxuICAgKiBAcGFyYW0gY29tbWVudCAtIENvbWVudGFyaW8gb3BjaW9uYWwgKG3DoXggNTAwIGNhcmFjdGVyZXMpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlUmVhY3Rpb24oXG4gICAqICAgeyBlbnRpdHlUeXBlOiAnYXJ0aWNsZScsIGVudGl0eUlkOiAnYXJ0LTEyMycgfSxcbiAgICogICAncG9zaXRpdmUnLFxuICAgKiAgICdNdXkgw7p0aWwhJ1xuICAgKiApO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVJlYWN0aW9uKFxuICAgIGVudGl0eVJlZjogRW50aXR5UmVmLFxuICAgIHZhbHVlOiBSZWFjdGlvblZhbHVlLFxuICAgIGNvbW1lbnQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRmVlZGJhY2tSZXF1ZXN0ID0ge1xuICAgICAgdHlwZTogJ3JlYWN0aW9uJyxcbiAgICAgIGVudGl0eVJlZixcbiAgICAgIHJlYWN0aW9uVmFsdWU6IHZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGNvbW1lbnQgfHwgJycsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdClcbiAgICApO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBIZWxwZXJzIHByaXZhZG9zIHBhcmEgZGV0ZWNjacOzbiBkZSBicm93c2VyL09TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBwcml2YXRlIGRldGVjdEJyb3dzZXIodWE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdFZGcvJykpIHJldHVybiAnRWRnZSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdDaHJvbWUvJykpIHJldHVybiAnQ2hyb21lJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0ZpcmVmb3gvJykpIHJldHVybiAnRmlyZWZveCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdTYWZhcmkvJykgJiYgIXVhLmluY2x1ZGVzKCdDaHJvbWUnKSkgcmV0dXJuICdTYWZhcmknO1xuICAgIGlmICh1YS5pbmNsdWRlcygnT3BlcmEnKSB8fCB1YS5pbmNsdWRlcygnT1BSLycpKSByZXR1cm4gJ09wZXJhJztcbiAgICByZXR1cm4gJ1Vua25vd24nO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RPUyh1YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MgTlQgMTAnKSkgcmV0dXJuICdXaW5kb3dzIDEwJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MgTlQgMTEnKSkgcmV0dXJuICdXaW5kb3dzIDExJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MnKSkgcmV0dXJuICdXaW5kb3dzJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ01hYyBPUyBYJykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gdWEubWF0Y2goL01hYyBPUyBYIChcXGQrWy5fXVxcZCspLyk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIGBtYWNPUyAke21hdGNoWzFdLnJlcGxhY2UoJ18nLCAnLicpfWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ21hY09TJztcbiAgICB9XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdBbmRyb2lkJykpIHJldHVybiAnQW5kcm9pZCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdpUGhvbmUnKSB8fCB1YS5pbmNsdWRlcygnaVBhZCcpKSByZXR1cm4gJ2lPUyc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdMaW51eCcpKSByZXR1cm4gJ0xpbnV4JztcbiAgICByZXR1cm4gJ1Vua25vd24nO1xuICB9XG59XG4iXX0=
@@ -27,4 +27,4 @@ export const DEFAULT_FEEDBACK_TYPE_OPTIONS = [
27
27
  icon: 'bulb-outline',
28
28
  },
29
29
  ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlKQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUF5QjtJQUNqRTtRQUNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsS0FBSyxFQUFFLG1CQUFtQjtRQUMxQixXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLElBQUksRUFBRSxhQUFhO0tBQ3BCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsY0FBYztRQUNyQixLQUFLLEVBQUUsc0JBQXNCO1FBQzdCLFdBQVcsRUFBRSx5Q0FBeUM7UUFDdEQsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFVBQVU7UUFDakIsS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixXQUFXLEVBQUUsMEJBQTBCO1FBQ3ZDLElBQUksRUFBRSxvQkFBb0I7S0FDM0I7SUFDRDtRQUNFLEtBQUssRUFBRSxZQUFZO1FBQ25CLEtBQUssRUFBRSxZQUFZO1FBQ25CLFdBQVcsRUFBRSwyQ0FBMkM7UUFDeEQsSUFBSSxFQUFFLGNBQWM7S0FDckI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgc2VydmljaW8gZGUgRmVlZGJhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsdGVjaEZlZWRiYWNrQ29uZmlnIHtcbiAgLyoqIFVSTCBiYXNlIGRlIGxhIEFQSSAqL1xuICBhcGlVcmw6IHN0cmluZztcbiAgLyoqIElEIGRlIGxhIGFwbGljYWNpw7NuIChlajogJ215LXZhbHRlY2gtYXBwJykgKi9cbiAgYXBwSWQ6IHN0cmluZztcbiAgLyoqIFByZWZpam8gcGFyYSBlbmRwb2ludHMgKGRlZmF1bHQ6ICcvdjEvZmVlZGJhY2snKSAqL1xuICBmZWVkYmFja1ByZWZpeD86IHN0cmluZztcbiAgLyoqIE7Dum1lcm8gbcOheGltbyBkZSBhZGp1bnRvcyAoZGVmYXVsdDogNSkgKi9cbiAgbWF4QXR0YWNobWVudHM/OiBudW1iZXI7XG4gIC8qKiBUYW1hw7FvIG3DoXhpbW8gcG9yIGFyY2hpdm8gZW4gYnl0ZXMgKGRlZmF1bHQ6IDEwTUIpICovXG4gIG1heEZpbGVTaXplPzogbnVtYmVyO1xuICAvKiogVGlwb3MgZGUgYXJjaGl2byBwZXJtaXRpZG9zIChkZWZhdWx0OiBbJ2ltYWdlLyonLCAndmlkZW8vKicsICdhcHBsaWNhdGlvbi9wZGYnXSkgKi9cbiAgYWxsb3dlZEZpbGVUeXBlcz86IHN0cmluZ1tdO1xuICAvKiogUnV0YSBlbiBGaXJlYmFzZSBTdG9yYWdlIHBhcmEgYWRqdW50b3MgKGRlZmF1bHQ6ICdmZWVkYmFjaycpICovXG4gIHN0b3JhZ2VQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRpcG9zIGRlIGZlZWRiYWNrIGRpc3BvbmlibGVzLlxuICovXG5leHBvcnQgdHlwZSBGZWVkYmFja1R5cGUgPVxuICB8ICdpc3N1ZSdcbiAgfCAncG9vci1jb250ZW50J1xuICB8ICdmZWVkYmFjaydcbiAgfCAnc3VnZ2VzdGlvbidcbiAgfCAncmVhY3Rpb24nO1xuXG4vKipcbiAqIFZhbG9yIGRlIHJlYWNjacOzbiAocGFyYSBmZWVkYmFjayB0aXBvIGVtb2ppKS5cbiAqL1xuZXhwb3J0IHR5cGUgUmVhY3Rpb25WYWx1ZSA9ICduZWdhdGl2ZScgfCAnbmV1dHJhbCcgfCAncG9zaXRpdmUnO1xuXG4vKipcbiAqIEVzdGFkbyBkZSB1biBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IHR5cGUgRmVlZGJhY2tTdGF0dXMgPSAnbmV3JyB8ICdyZXZpZXdlZCcgfCAncmVzb2x2ZWQnO1xuXG4vKipcbiAqIFRpcG9zIGRlIGNvbnRlbmlkbyBwYXJhIHJlZmVyZW5jaWEuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnRUeXBlID1cbiAgfCAnYXJ0aWNsZSdcbiAgfCAnZmFxJ1xuICB8ICduZXdzJ1xuICB8ICdwYWdlJ1xuICB8ICdwcm9kdWN0J1xuICB8ICdldmVudCdcbiAgfCAnb3RoZXInO1xuXG4vKipcbiAqIFJlZmVyZW5jaWEgYSBjb250ZW5pZG8gZXNwZWPDrWZpY28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudFJlZiB7XG4gIGNvbnRlbnRJZDogc3RyaW5nO1xuICBjb250ZW50VHlwZTogQ29udGVudFR5cGU7XG59XG5cbi8qKlxuICogUmVmZXJlbmNpYSBhIGVudGlkYWQgKHBhcmEgcmVhY3Rpb25zIHkgZmVlZGJhY2sgZGUgY29udGVuaWRvKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlSZWYge1xuICAvKiogVGlwbyBkZSBlbnRpZGFkOiAnYXJ0aWNsZScsICdkb2NzJywgJ2ZlYXR1cmUnLCAnYnVnJywgZXRjLiAqL1xuICBlbnRpdHlUeXBlOiBzdHJpbmc7XG4gIC8qKiBJRCBkZSBsYSBlbnRpZGFkICovXG4gIGVudGl0eUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGV4dG8gZGVsIGRpc3Bvc2l0aXZvIGRlbCB1c3VhcmlvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUNvbnRleHQge1xuICBicm93c2VyOiBzdHJpbmc7XG4gIG9zOiBzdHJpbmc7XG4gIHZpZXdwb3J0OiBzdHJpbmc7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHVzZXJBZ2VudDogc3RyaW5nO1xuICBwYWdlVXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW50cmFkYSBkZSBmZWVkYmFjayBjb21wbGV0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFjayB7XG4gIGZlZWRiYWNrSWQ6IHN0cmluZztcbiAgYXBwSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIHR5cGU6IEZlZWRiYWNrVHlwZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYXR0YWNobWVudHM6IHN0cmluZ1tdO1xuICBjb250ZW50UmVmPzogQ29udGVudFJlZjtcbiAgZW50aXR5UmVmPzogRW50aXR5UmVmO1xuICByZWFjdGlvblZhbHVlPzogUmVhY3Rpb25WYWx1ZTtcbiAgZGV2aWNlQ29udGV4dDogRGV2aWNlQ29udGV4dDtcbiAgc3RhdHVzOiBGZWVkYmFja1N0YXR1cztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBjcmVhciBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVGZWVkYmFja1JlcXVlc3Qge1xuICB0eXBlOiBGZWVkYmFja1R5cGU7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYXR0YWNobWVudHM/OiBzdHJpbmdbXTtcbiAgY29udGVudFJlZj86IENvbnRlbnRSZWY7XG4gIGVudGl0eVJlZj86IEVudGl0eVJlZjtcbiAgcmVhY3Rpb25WYWx1ZT86IFJlYWN0aW9uVmFsdWU7XG4gIGRldmljZUNvbnRleHQ6IERldmljZUNvbnRleHQ7XG4gIGFwcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgYWwgY3JlYXIgZmVlZGJhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGZlZWRiYWNrSWQ6IHN0cmluZztcbiAgc3RhdHVzOiBGZWVkYmFja1N0YXR1cztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgYWwgb2J0ZW5lciBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRGZWVkYmFja1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZmVlZGJhY2s6IEZlZWRiYWNrO1xufVxuXG4vKipcbiAqIE9wY2lvbmVzIGRlIHRpcG8gZGUgZmVlZGJhY2sgcGFyYSBVSS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFja1R5cGVPcHRpb24ge1xuICB2YWx1ZTogRmVlZGJhY2tUeXBlO1xuICBsYWJlbDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwb3IgZGVmZWN0byBkZSB0aXBvcyBkZSBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVFREJBQ0tfVFlQRV9PUFRJT05TOiBGZWVkYmFja1R5cGVPcHRpb25bXSA9IFtcbiAge1xuICAgIHZhbHVlOiAnaXNzdWUnLFxuICAgIGxhYmVsOiAnUmVwb3J0YXIgcHJvYmxlbWEnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWxnbyBubyBmdW5jaW9uYSBjb3JyZWN0YW1lbnRlJyxcbiAgICBpY29uOiAnYnVnLW91dGxpbmUnLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICdwb29yLWNvbnRlbnQnLFxuICAgIGxhYmVsOiAnQ29udGVuaWRvIGluY29ycmVjdG8nLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5mb3JtYWNpw7NuIGluY29ycmVjdGEgbyBkZXNhY3R1YWxpemFkYScsXG4gICAgaWNvbjogJ2RvY3VtZW50LXRleHQtb3V0bGluZScsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJ2ZlZWRiYWNrJyxcbiAgICBsYWJlbDogJ0NvbWVudGFyaW8gZ2VuZXJhbCcsXG4gICAgZGVzY3JpcHRpb246ICdUdSBvcGluacOzbiBvIGV4cGVyaWVuY2lhJyxcbiAgICBpY29uOiAnY2hhdGJ1YmJsZS1vdXRsaW5lJyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnc3VnZ2VzdGlvbicsXG4gICAgbGFiZWw6ICdTdWdlcmVuY2lhJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3B1ZXN0YSBkZSBtZWpvcmEgbyBudWV2YSBmdW5jaW9uYWxpZGFkJyxcbiAgICBpY29uOiAnYnVsYi1vdXRsaW5lJyxcbiAgfSxcbl07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDaGVjayBGZWVkYmFjayBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXNwb25zZSBhbCB2ZXJpZmljYXIgc2kgZXhpc3RlIGZlZWRiYWNrIHBhcmEgdW5hIGVudGlkYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tGZWVkYmFja1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaGFzRmVlZGJhY2s6IGJvb2xlYW47XG4gIGZlZWRiYWNrSWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBGZWVkYmFja1R5cGU7XG4gIHJlYWN0aW9uVmFsdWU/OiBSZWFjdGlvblZhbHVlO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMaXN0IEZlZWRiYWNrIFR5cGVzIChBZG1pbilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGxpc3RhciBmZWVkYmFjayAoYWRtaW4pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RGZWVkYmFja1JlcXVlc3Qge1xuICBhcHBJZD86IHN0cmluZztcbiAgdHlwZT86IEZlZWRiYWNrVHlwZTtcbiAgc3RhdHVzPzogRmVlZGJhY2tTdGF0dXM7XG4gIGVudGl0eVR5cGU/OiBzdHJpbmc7XG4gIGVudGl0eUlkPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIGRhdGVGcm9tPzogc3RyaW5nO1xuICBkYXRlVG8/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBuZXh0VG9rZW4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgYWwgbGlzdGFyIGZlZWRiYWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RGZWVkYmFja1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZmVlZGJhY2tzOiBGZWVkYmFja1tdO1xuICBuZXh0VG9rZW4/OiBzdHJpbmc7XG4gIGNvdW50OiBudW1iZXI7XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlKQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUF5QjtJQUNqRTtRQUNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsS0FBSyxFQUFFLG1CQUFtQjtRQUMxQixXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLElBQUksRUFBRSxhQUFhO0tBQ3BCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsY0FBYztRQUNyQixLQUFLLEVBQUUsc0JBQXNCO1FBQzdCLFdBQVcsRUFBRSx5Q0FBeUM7UUFDdEQsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFVBQVU7UUFDakIsS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixXQUFXLEVBQUUsMEJBQTBCO1FBQ3ZDLElBQUksRUFBRSxvQkFBb0I7S0FDM0I7SUFDRDtRQUNFLEtBQUssRUFBRSxZQUFZO1FBQ25CLEtBQUssRUFBRSxZQUFZO1FBQ25CLFdBQVcsRUFBRSwyQ0FBMkM7UUFDeEQsSUFBSSxFQUFFLGNBQWM7S0FDckI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgc2VydmljaW8gZGUgRmVlZGJhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsdGVjaEZlZWRiYWNrQ29uZmlnIHtcbiAgLyoqIFVSTCBiYXNlIGRlIGxhIEFQSSAqL1xuICBhcGlVcmw6IHN0cmluZztcbiAgLyoqIElEIGRlIGxhIGFwbGljYWNpw7NuIChlajogJ215LXZhbHRlY2gtYXBwJykgKi9cbiAgYXBwSWQ6IHN0cmluZztcbiAgLyoqIFByZWZpam8gcGFyYSBlbmRwb2ludHMgKGRlZmF1bHQ6ICcvdjEvZmVlZGJhY2snKSAqL1xuICBmZWVkYmFja1ByZWZpeD86IHN0cmluZztcbiAgLyoqIE7Dum1lcm8gbcOheGltbyBkZSBhZGp1bnRvcyAoZGVmYXVsdDogNSkgKi9cbiAgbWF4QXR0YWNobWVudHM/OiBudW1iZXI7XG4gIC8qKiBUYW1hw7FvIG3DoXhpbW8gcG9yIGFyY2hpdm8gZW4gYnl0ZXMgKGRlZmF1bHQ6IDEwTUIpICovXG4gIG1heEZpbGVTaXplPzogbnVtYmVyO1xuICAvKiogVGlwb3MgZGUgYXJjaGl2byBwZXJtaXRpZG9zIChkZWZhdWx0OiBbJ2ltYWdlLyonLCAndmlkZW8vKicsICdhcHBsaWNhdGlvbi9wZGYnXSkgKi9cbiAgYWxsb3dlZEZpbGVUeXBlcz86IHN0cmluZ1tdO1xuICAvKiogUnV0YSBlbiBGaXJlYmFzZSBTdG9yYWdlIHBhcmEgYWRqdW50b3MgKGRlZmF1bHQ6ICdmZWVkYmFjaycpICovXG4gIHN0b3JhZ2VQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRpcG9zIGRlIGZlZWRiYWNrIGRpc3BvbmlibGVzLlxuICovXG5leHBvcnQgdHlwZSBGZWVkYmFja1R5cGUgPVxuICB8ICdpc3N1ZSdcbiAgfCAncG9vci1jb250ZW50J1xuICB8ICdmZWVkYmFjaydcbiAgfCAnc3VnZ2VzdGlvbidcbiAgfCAncmVhY3Rpb24nO1xuXG4vKipcbiAqIFZhbG9yIGRlIHJlYWNjacOzbiAocGFyYSBmZWVkYmFjayB0aXBvIGVtb2ppKS5cbiAqL1xuZXhwb3J0IHR5cGUgUmVhY3Rpb25WYWx1ZSA9ICduZWdhdGl2ZScgfCAnbmV1dHJhbCcgfCAncG9zaXRpdmUnO1xuXG4vKipcbiAqIEVzdGFkbyBkZSB1biBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IHR5cGUgRmVlZGJhY2tTdGF0dXMgPSAnbmV3JyB8ICdyZXZpZXdlZCcgfCAncmVzb2x2ZWQnO1xuXG4vKipcbiAqIFRpcG9zIGRlIGNvbnRlbmlkbyBwYXJhIHJlZmVyZW5jaWEuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnRUeXBlID1cbiAgfCAnYXJ0aWNsZSdcbiAgfCAnZmFxJ1xuICB8ICduZXdzJ1xuICB8ICdwYWdlJ1xuICB8ICdwcm9kdWN0J1xuICB8ICdldmVudCdcbiAgfCAnb3RoZXInO1xuXG4vKipcbiAqIFJlZmVyZW5jaWEgYSBjb250ZW5pZG8gZXNwZWPDrWZpY28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudFJlZiB7XG4gIGNvbnRlbnRJZDogc3RyaW5nO1xuICBjb250ZW50VHlwZTogQ29udGVudFR5cGU7XG59XG5cbi8qKlxuICogUmVmZXJlbmNpYSBhIGVudGlkYWQgKHBhcmEgcmVhY3Rpb25zIHkgZmVlZGJhY2sgZGUgY29udGVuaWRvKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlSZWYge1xuICAvKiogVGlwbyBkZSBlbnRpZGFkOiAnYXJ0aWNsZScsICdkb2NzJywgJ2ZlYXR1cmUnLCAnYnVnJywgZXRjLiAqL1xuICBlbnRpdHlUeXBlOiBzdHJpbmc7XG4gIC8qKiBJRCBkZSBsYSBlbnRpZGFkICovXG4gIGVudGl0eUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGV4dG8gZGVsIGRpc3Bvc2l0aXZvIGRlbCB1c3VhcmlvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUNvbnRleHQge1xuICBicm93c2VyOiBzdHJpbmc7XG4gIG9zOiBzdHJpbmc7XG4gIHZpZXdwb3J0OiBzdHJpbmc7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHVzZXJBZ2VudDogc3RyaW5nO1xuICBwYWdlVXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW50cmFkYSBkZSBmZWVkYmFjayBjb21wbGV0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFjayB7XG4gIGZlZWRiYWNrSWQ6IHN0cmluZztcbiAgYXBwSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIHR5cGU6IEZlZWRiYWNrVHlwZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYXR0YWNobWVudHM6IHN0cmluZ1tdO1xuICBjb250ZW50UmVmPzogQ29udGVudFJlZjtcbiAgZW50aXR5UmVmPzogRW50aXR5UmVmO1xuICByZWFjdGlvblZhbHVlPzogUmVhY3Rpb25WYWx1ZTtcbiAgZGV2aWNlQ29udGV4dDogRGV2aWNlQ29udGV4dDtcbiAgc3RhdHVzOiBGZWVkYmFja1N0YXR1cztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBjcmVhciBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVGZWVkYmFja1JlcXVlc3Qge1xuICB0eXBlOiBGZWVkYmFja1R5cGU7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYXR0YWNobWVudHM/OiBzdHJpbmdbXTtcbiAgY29udGVudFJlZj86IENvbnRlbnRSZWY7XG4gIGVudGl0eVJlZj86IEVudGl0eVJlZjtcbiAgcmVhY3Rpb25WYWx1ZT86IFJlYWN0aW9uVmFsdWU7XG4gIGRldmljZUNvbnRleHQ6IERldmljZUNvbnRleHQ7XG4gIGFwcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgYWwgY3JlYXIgZmVlZGJhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGZlZWRiYWNrSWQ6IHN0cmluZztcbiAgc3RhdHVzOiBGZWVkYmFja1N0YXR1cztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgYWwgb2J0ZW5lciBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRGZWVkYmFja1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZmVlZGJhY2s6IEZlZWRiYWNrO1xufVxuXG4vKipcbiAqIE9wY2lvbmVzIGRlIHRpcG8gZGUgZmVlZGJhY2sgcGFyYSBVSS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFja1R5cGVPcHRpb24ge1xuICB2YWx1ZTogRmVlZGJhY2tUeXBlO1xuICBsYWJlbDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwb3IgZGVmZWN0byBkZSB0aXBvcyBkZSBmZWVkYmFjay5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVFREJBQ0tfVFlQRV9PUFRJT05TOiBGZWVkYmFja1R5cGVPcHRpb25bXSA9IFtcbiAge1xuICAgIHZhbHVlOiAnaXNzdWUnLFxuICAgIGxhYmVsOiAnUmVwb3J0YXIgcHJvYmxlbWEnLFxuICAgIGRlc2NyaXB0aW9uOiAnQWxnbyBubyBmdW5jaW9uYSBjb3JyZWN0YW1lbnRlJyxcbiAgICBpY29uOiAnYnVnLW91dGxpbmUnLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICdwb29yLWNvbnRlbnQnLFxuICAgIGxhYmVsOiAnQ29udGVuaWRvIGluY29ycmVjdG8nLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5mb3JtYWNpw7NuIGluY29ycmVjdGEgbyBkZXNhY3R1YWxpemFkYScsXG4gICAgaWNvbjogJ2RvY3VtZW50LXRleHQtb3V0bGluZScsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJ2ZlZWRiYWNrJyxcbiAgICBsYWJlbDogJ0NvbWVudGFyaW8gZ2VuZXJhbCcsXG4gICAgZGVzY3JpcHRpb246ICdUdSBvcGluacOzbiBvIGV4cGVyaWVuY2lhJyxcbiAgICBpY29uOiAnY2hhdGJ1YmJsZS1vdXRsaW5lJyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnc3VnZ2VzdGlvbicsXG4gICAgbGFiZWw6ICdTdWdlcmVuY2lhJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Byb3B1ZXN0YSBkZSBtZWpvcmEgbyBudWV2YSBmdW5jaW9uYWxpZGFkJyxcbiAgICBpY29uOiAnYnVsYi1vdXRsaW5lJyxcbiAgfSxcbl07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDaGVjayBGZWVkYmFjayBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXNwb25zZSBhbCB2ZXJpZmljYXIgc2kgZXhpc3RlIGZlZWRiYWNrIHBhcmEgdW5hIGVudGlkYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tGZWVkYmFja1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaGFzRmVlZGJhY2s6IGJvb2xlYW47XG4gIGZlZWRiYWNrSWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBGZWVkYmFja1R5cGU7XG4gIHJlYWN0aW9uVmFsdWU/OiBSZWFjdGlvblZhbHVlO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMaXN0IEZlZWRiYWNrIFR5cGVzIChBZG1pbilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGxpc3RhciBmZWVkYmFjayAoYWRtaW4pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RGZWVkYmFja1JlcXVlc3Qge1xuICBhcHBJZD86IHN0cmluZztcbiAgdHlwZT86IEZlZWRiYWNrVHlwZTtcbiAgc3RhdHVzPzogRmVlZGJhY2tTdGF0dXM7XG4gIGVudGl0eVR5cGU/OiBzdHJpbmc7XG4gIGVudGl0eUlkPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIGRhdGVGcm9tPzogc3RyaW5nO1xuICBkYXRlVG8/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBuZXh0VG9rZW4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgYWwgbGlzdGFyIGZlZWRiYWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RGZWVkYmFja1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZmVlZGJhY2tzOiBGZWVkYmFja1tdO1xuICBuZXh0VG9rZW4/OiBzdHJpbmc7XG4gIGNvdW50OiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGaXJlYmFzZSBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBEb2N1bWVudG8gZGUgZmVlZGJhY2sgZW4gRmlyZXN0b3JlLlxuICogVXNhZG8gcGFyYSBsZWN0dXJhIHLDoXBpZGEgZGVsIGVzdGFkbyBkZSBmZWVkYmFjayBkZWwgdXN1YXJpby5cbiAqXG4gKiBQYXRoOiBhcHBzL3thcHBJZH0vZmVlZGJhY2sve2VudGl0eVR5cGV9L3tlbnRpdHlJZH0ve3VzZXJJZH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFja0ZpcmVzdG9yZURvYyB7XG4gIGlkPzogc3RyaW5nO1xuICBmZWVkYmFja0lkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgcmVhY3Rpb25WYWx1ZTogc3RyaW5nO1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xufVxuIl19
@@ -34833,6 +34833,8 @@ class FeedbackService {
34833
34833
  constructor() {
34834
34834
  this.config = inject(VALTECH_FEEDBACK_CONFIG);
34835
34835
  this.http = inject(HttpClient);
34836
+ this.firestore = inject(FirestoreService, { optional: true });
34837
+ this.auth = inject(AuthService, { optional: true });
34836
34838
  }
34837
34839
  /**
34838
34840
  * URL base para endpoints de feedback.
@@ -34938,6 +34940,9 @@ class FeedbackService {
34938
34940
  /**
34939
34941
  * Verifica si el usuario ya dio feedback para una entidad específica.
34940
34942
  *
34943
+ * Primero intenta leer de Firebase (rápido, sin latencia de red al backend).
34944
+ * Si Firebase no está disponible o falla, hace fallback a la API.
34945
+ *
34941
34946
  * @param entityType - Tipo de entidad (article, docs, feature, etc.)
34942
34947
  * @param entityId - ID de la entidad
34943
34948
  * @returns Promise con la respuesta de verificación
@@ -34951,6 +34956,35 @@ class FeedbackService {
34951
34956
  * ```
34952
34957
  */
34953
34958
  async checkFeedback(entityType, entityId) {
34959
+ // 1. Intentar Firebase primero (si está disponible)
34960
+ if (this.firestore && this.auth) {
34961
+ try {
34962
+ const userId = this.auth.user()?.userId;
34963
+ if (userId) {
34964
+ // Path: feedback/{entityType}/{entityId}/{userId}
34965
+ // FirestoreService agrega automáticamente el prefijo apps/{appId}/
34966
+ const collectionPath = `feedback/${entityType}/${entityId}`;
34967
+ const doc = await this.firestore.getDoc(collectionPath, userId);
34968
+ if (doc) {
34969
+ return {
34970
+ operationId: '',
34971
+ hasFeedback: true,
34972
+ feedbackId: doc.feedbackId,
34973
+ type: doc.type,
34974
+ reactionValue: doc.reactionValue,
34975
+ createdAt: doc.createdAt?.toISOString(),
34976
+ };
34977
+ }
34978
+ // Doc no existe = no hay feedback
34979
+ return { operationId: '', hasFeedback: false };
34980
+ }
34981
+ }
34982
+ catch (error) {
34983
+ console.warn('[FeedbackService] Firebase check failed, falling back to API:', error);
34984
+ // Fallback a API
34985
+ }
34986
+ }
34987
+ // 2. Fallback: llamar API
34954
34988
  const params = new URLSearchParams({
34955
34989
  appId: this.config.appId,
34956
34990
  entityType,
@@ -35511,6 +35545,21 @@ class ContentReactionComponent {
35511
35545
  async loadPreviousReaction() {
35512
35546
  if (!this.props.entityRef)
35513
35547
  return;
35548
+ // Si hay initialValue, usarlo directamente sin consultar
35549
+ if (this.props.initialValue) {
35550
+ this.state.update((s) => ({
35551
+ ...s,
35552
+ selectedValue: this.props.initialValue,
35553
+ hadPreviousReaction: true,
35554
+ isLoading: false,
35555
+ isSubmitted: true,
35556
+ }));
35557
+ return;
35558
+ }
35559
+ // Si skipInitialCheck está activo, no consultar
35560
+ if (this.props.skipInitialCheck) {
35561
+ return;
35562
+ }
35514
35563
  this.state.update((s) => ({ ...s, isLoading: true, error: null }));
35515
35564
  try {
35516
35565
  const check = await this.feedbackService.checkFeedback(this.props.entityRef.entityType, this.props.entityRef.entityId);
@@ -37803,7 +37852,7 @@ class DocsPageComponent {
37803
37852
  </aside>
37804
37853
  }
37805
37854
  </div>
37806
- `, isInline: true, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;@media (min-width: 1200px){grid-template-columns:1fr 220px;padding:2rem}&__content{min-width:0;max-width:900px}&__header{margin-bottom:2rem}&__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}&__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color);line-height:1.2;@media (min-width: 768px){font-size:2.5rem}}&__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade);&--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}&--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}&--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}}&__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium)}&__sections{>*:last-child{margin-bottom:0}}&__toc{display:none;@media (min-width: 1200px){display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}}// Dark mode :host-context(.dark),:host-context([color-scheme=\"dark\"]){.docs-page{&__badge{background:#ffffff1a;color:var(--ion-color-medium);&--success{background:#2e7d3233;color:#81c784}&--warning{background:#e6510033;color:#ffb74d}&--danger{background:#c6282833;color:#e57373}}}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DocsNavLinksComponent, selector: "val-docs-nav-links", inputs: ["props"], outputs: ["navigate"] }, { kind: "component", type: DocsTocComponent, selector: "val-docs-toc", inputs: ["props"], outputs: ["sectionChange"] }] }); }
37855
+ `, isInline: true, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem}@media (min-width: 1200px){.docs-page{grid-template-columns:1fr 220px;padding:2rem}}.docs-page__content{min-width:0;max-width:900px}.docs-page__header{margin-bottom:2rem}.docs-page__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.docs-page__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color, #1a1a1a);line-height:1.2}@media (min-width: 768px){.docs-page__title{font-size:2.5rem}}.docs-page__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade)}.docs-page__badge--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}.docs-page__badge--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}.docs-page__badge--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}.docs-page__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium, #666)}.docs-page__sections>*:last-child{margin-bottom:0}.docs-page__toc{display:none}@media (min-width: 1200px){.docs-page__toc{display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}.docs-page__sections h2{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--ion-text-color, #1a1a1a);scroll-margin-top:2rem}.docs-page__sections h3{font-size:1.125rem;font-weight:600;margin:1.5rem 0 1rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections h4{font-size:1rem;font-weight:600;margin:1.25rem 0 .75rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections p{line-height:1.7;color:var(--ion-text-color, #1a1a1a);margin:0 0 1rem}.docs-page__sections ul,.docs-page__sections ol{padding-left:1.5rem;margin:0 0 1rem}.docs-page__sections li{margin-bottom:.5rem;line-height:1.6;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections a{color:var(--ion-color-primary, #3880ff);text-decoration:none}.docs-page__sections a:hover{text-decoration:underline}.docs-page__sections code:not([class*=language-]){background:#0000000f;padding:.125rem .375rem;border-radius:4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.875em}.docs-page__sections pre:not([class*=language-]){background:#0000000a;padding:1rem;border-radius:8px;overflow-x:auto;margin:0 0 1rem}.docs-page__sections pre:not([class*=language-]) code{background:none;padding:0}.docs-page__sections table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.875rem}.docs-page__sections th,.docs-page__sections td{padding:.75rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}.docs-page__sections th{font-weight:600;background:#00000005}.docs-page__sections blockquote{margin:0 0 1rem;padding:1rem 1.5rem;border-left:4px solid var(--ion-color-primary, #3880ff);background:#00000005;border-radius:0 8px 8px 0}.docs-page__sections blockquote p:last-child{margin-bottom:0}.docs-page__sections img{max-width:100%;height:auto;border-radius:8px}.docs-page__sections hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:2rem 0}.docs-page__sections strong{font-weight:600}.docs-page__sections section{margin-bottom:2rem}:host-context(.dark) .docs-page__badge,:host-context([color-scheme=\"dark\"]) .docs-page__badge{background:#ffffff1a;color:var(--ion-color-medium)}:host-context(.dark) .docs-page__badge--success,:host-context([color-scheme=\"dark\"]) .docs-page__badge--success{background:#2e7d3233;color:#81c784}:host-context(.dark) .docs-page__badge--warning,:host-context([color-scheme=\"dark\"]) .docs-page__badge--warning{background:#e6510033;color:#ffb74d}:host-context(.dark) .docs-page__badge--danger,:host-context([color-scheme=\"dark\"]) .docs-page__badge--danger{background:#c6282833;color:#e57373}:host-context(.dark) .docs-page__sections code:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections code:not([class*=language-]){background:#ffffff1a}:host-context(.dark) .docs-page__sections pre:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections pre:not([class*=language-]){background:#ffffff0f}:host-context(.dark) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections th{background:#ffffff0a}:host-context(.dark) .docs-page__sections th,:host-context(.dark) .docs-page__sections td,:host-context([color-scheme=\"dark\"]) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections td{border-color:#ffffff1a}:host-context(.dark) .docs-page__sections blockquote,:host-context([color-scheme=\"dark\"]) .docs-page__sections blockquote{background:#ffffff0a}:host-context(.dark) .docs-page__sections hr,:host-context([color-scheme=\"dark\"]) .docs-page__sections hr{border-color:#ffffff1a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DocsNavLinksComponent, selector: "val-docs-nav-links", inputs: ["props"], outputs: ["navigate"] }, { kind: "component", type: DocsTocComponent, selector: "val-docs-toc", inputs: ["props"], outputs: ["sectionChange"] }] }); }
37807
37856
  }
37808
37857
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsPageComponent, decorators: [{
37809
37858
  type: Component,
@@ -37844,7 +37893,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
37844
37893
  </aside>
37845
37894
  }
37846
37895
  </div>
37847
- `, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;@media (min-width: 1200px){grid-template-columns:1fr 220px;padding:2rem}&__content{min-width:0;max-width:900px}&__header{margin-bottom:2rem}&__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}&__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color);line-height:1.2;@media (min-width: 768px){font-size:2.5rem}}&__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade);&--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}&--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}&--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}}&__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium)}&__sections{>*:last-child{margin-bottom:0}}&__toc{display:none;@media (min-width: 1200px){display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}}// Dark mode :host-context(.dark),:host-context([color-scheme=\"dark\"]){.docs-page{&__badge{background:#ffffff1a;color:var(--ion-color-medium);&--success{background:#2e7d3233;color:#81c784}&--warning{background:#e6510033;color:#ffb74d}&--danger{background:#c6282833;color:#e57373}}}}\n"] }]
37896
+ `, styles: [".docs-page{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1.5rem}@media (min-width: 1200px){.docs-page{grid-template-columns:1fr 220px;padding:2rem}}.docs-page__content{min-width:0;max-width:900px}.docs-page__header{margin-bottom:2rem}.docs-page__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.docs-page__title{margin:0;font-size:2rem;font-weight:700;color:var(--ion-text-color, #1a1a1a);line-height:1.2}@media (min-width: 768px){.docs-page__title{font-size:2.5rem}}.docs-page__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#00000014;color:var(--ion-color-medium-shade)}.docs-page__badge--success{background:var(--ion-color-success-tint, #e8f5e9);color:var(--ion-color-success-shade, #2e7d32)}.docs-page__badge--warning{background:var(--ion-color-warning-tint, #fff3e0);color:var(--ion-color-warning-shade, #e65100)}.docs-page__badge--danger{background:var(--ion-color-danger-tint, #ffebee);color:var(--ion-color-danger-shade, #c62828)}.docs-page__lead{margin:1rem 0 0;font-size:1.125rem;line-height:1.7;color:var(--ion-color-medium, #666)}.docs-page__sections>*:last-child{margin-bottom:0}.docs-page__toc{display:none}@media (min-width: 1200px){.docs-page__toc{display:block;position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow-y:auto}}.docs-page__sections h2{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--ion-text-color, #1a1a1a);scroll-margin-top:2rem}.docs-page__sections h3{font-size:1.125rem;font-weight:600;margin:1.5rem 0 1rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections h4{font-size:1rem;font-weight:600;margin:1.25rem 0 .75rem;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections p{line-height:1.7;color:var(--ion-text-color, #1a1a1a);margin:0 0 1rem}.docs-page__sections ul,.docs-page__sections ol{padding-left:1.5rem;margin:0 0 1rem}.docs-page__sections li{margin-bottom:.5rem;line-height:1.6;color:var(--ion-text-color, #1a1a1a)}.docs-page__sections a{color:var(--ion-color-primary, #3880ff);text-decoration:none}.docs-page__sections a:hover{text-decoration:underline}.docs-page__sections code:not([class*=language-]){background:#0000000f;padding:.125rem .375rem;border-radius:4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.875em}.docs-page__sections pre:not([class*=language-]){background:#0000000a;padding:1rem;border-radius:8px;overflow-x:auto;margin:0 0 1rem}.docs-page__sections pre:not([class*=language-]) code{background:none;padding:0}.docs-page__sections table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.875rem}.docs-page__sections th,.docs-page__sections td{padding:.75rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}.docs-page__sections th{font-weight:600;background:#00000005}.docs-page__sections blockquote{margin:0 0 1rem;padding:1rem 1.5rem;border-left:4px solid var(--ion-color-primary, #3880ff);background:#00000005;border-radius:0 8px 8px 0}.docs-page__sections blockquote p:last-child{margin-bottom:0}.docs-page__sections img{max-width:100%;height:auto;border-radius:8px}.docs-page__sections hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:2rem 0}.docs-page__sections strong{font-weight:600}.docs-page__sections section{margin-bottom:2rem}:host-context(.dark) .docs-page__badge,:host-context([color-scheme=\"dark\"]) .docs-page__badge{background:#ffffff1a;color:var(--ion-color-medium)}:host-context(.dark) .docs-page__badge--success,:host-context([color-scheme=\"dark\"]) .docs-page__badge--success{background:#2e7d3233;color:#81c784}:host-context(.dark) .docs-page__badge--warning,:host-context([color-scheme=\"dark\"]) .docs-page__badge--warning{background:#e6510033;color:#ffb74d}:host-context(.dark) .docs-page__badge--danger,:host-context([color-scheme=\"dark\"]) .docs-page__badge--danger{background:#c6282833;color:#e57373}:host-context(.dark) .docs-page__sections code:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections code:not([class*=language-]){background:#ffffff1a}:host-context(.dark) .docs-page__sections pre:not([class*=language-]),:host-context([color-scheme=\"dark\"]) .docs-page__sections pre:not([class*=language-]){background:#ffffff0f}:host-context(.dark) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections th{background:#ffffff0a}:host-context(.dark) .docs-page__sections th,:host-context(.dark) .docs-page__sections td,:host-context([color-scheme=\"dark\"]) .docs-page__sections th,:host-context([color-scheme=\"dark\"]) .docs-page__sections td{border-color:#ffffff1a}:host-context(.dark) .docs-page__sections blockquote,:host-context([color-scheme=\"dark\"]) .docs-page__sections blockquote{background:#ffffff0a}:host-context(.dark) .docs-page__sections hr,:host-context([color-scheme=\"dark\"]) .docs-page__sections hr{border-color:#ffffff1a}\n"] }]
37848
37897
  }], propDecorators: { props: [{
37849
37898
  type: Input
37850
37899
  }] } });