@coolon/angular-ui-powerups 13.0.4 → 13.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. package/esm2020/lib/components/commands/command/command.component.mjs +1 -1
  2. package/esm2020/lib/components/commands/command-face.mjs +1 -1
  3. package/esm2020/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +1 -1
  4. package/esm2020/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +1 -1
  5. package/esm2020/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +1 -1
  6. package/esm2020/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +1 -1
  7. package/esm2020/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +27 -4
  8. package/esm2020/lib/interaction/in-place-interaction-context.mjs +1 -1
  9. package/esm2020/lib/interaction/services/interaction.service.mjs +11 -11
  10. package/esm2020/lib/place/place-router.mjs +6 -2
  11. package/esm2020/lib/place/url-snapshot.mjs +2 -2
  12. package/fesm2015/coolon-angular-ui-powerups.mjs +46 -14
  13. package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -1
  14. package/fesm2020/coolon-angular-ui-powerups.mjs +41 -14
  15. package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -1
  16. package/lib/components/commands/command/command.component.d.ts +1 -1
  17. package/lib/components/commands/command-face.d.ts +4 -5
  18. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +8 -2
  19. package/lib/interaction/in-place-interaction-context.d.ts +1 -1
  20. package/lib/interaction/services/interaction.service.d.ts +5 -5
  21. package/package.json +6 -2
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
93
93
  type: HostBinding,
94
94
  args: ["class"]
95
95
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBRUwsT0FBTyxFQUNQLEdBQUcsRUFFSCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFVBQVUsRUFFWCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFM0U7O0dBRUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBK0J2RCxZQUFZLE9BQW1CLEVBQXVDLE1BQXVCO1FBQzNGLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFmekIsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFJMUIsY0FBUyxHQUF3QixtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFZ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TixJQUFJO3NCQURILEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFPTixTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29tbWFuZCxcbiAgRHNsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFRyYWNrRXh0ZXJuYWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRW51bSB9IGZyb20gJ3R5cGVzY3JpcHQtc3RyaW5nLWVudW1zJztcbmltcG9ydCB7IEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuLi8uLi9hbGlnbm1lbnQnO1xuaW1wb3J0IHsgQ29tbWFuZEZhY2UgfSBmcm9tICcuLi9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHsgUG9wdXBBd2FyZUNvbXBvbmVudCB9IGZyb20gJy4uL2dyb3VwL3BvcHVwLWF3YXJlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQT1BVUF9DT05UQUlORVIsIFBvcHVwQ29udGFpbmVyIH0gZnJvbSAnLi4vZ3JvdXAvcG9wdXAtY29udGFpbmVyJztcblxuLyoqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtY29tbWFuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21tYW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbWFuZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb21wb25lbnQgZXh0ZW5kcyBQb3B1cEF3YXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCgpXG4gIGNvbW1hbmQ6IENvbW1hbmQ8dW5rbm93bj47XG5cbiAgQElucHV0KCkgQFRyYWNrRXh0ZXJuYWwoKVxuICBmYWNlTW9kZWw6IFZhbHVlTW9kZWw8Q29tbWFuZEZhY2U+O1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgnZmFjZU1vZGVsJylcbiAgZmFjZTogQ29tbWFuZEZhY2U7XG5cbiAgQElucHV0KCkgQFRyYWNrRXh0ZXJuYWwoKVxuICBidXN5RmFjZU1vZGVsOiBWYWx1ZU1vZGVsPENvbW1hbmRGYWNlPjtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoJ2J1c3lGYWNlTW9kZWwnKVxuICBidXN5RmFjZTogQ29tbWFuZEZhY2U7XG5cbiAgQ29tbWFuZEZhY2UgPSBDb21tYW5kRmFjZTtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKVxuICBhbGlnbkZhY2U6IEhvcml6b250YWxBbGlnbm1lbnQgPSBIb3Jpem9udGFsQWxpZ25tZW50LkNFTlRFUjtcblxuICByZWFkb25seSBmYWNlcyQ6IExpc3RNb2RlbENoYWluPENvbW1hbmRGYWNlPjtcbiAgcmVhZG9ubHkgYnV0dG9uU3R5bGUkOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcbiAgcmVhZG9ubHkgY29sb3IkOiBWYWx1ZU1vZGVsQ2hhaW48J3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgfCB1bmRlZmluZWQ+O1xuICBwcml2YXRlIGFjdGl2ZUZhY2UkOiBWYWx1ZU1vZGVsQ2hhaW48Q29tbWFuZEZhY2U+O1xuXG4gIHJlYWRvbmx5IGljb25Pbmx5JDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcmVhZG9ubHkgdG9vbHRpcCQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIEBJbmplY3QoUE9QVVBfQ09OVEFJTkVSKSBAT3B0aW9uYWwoKSBwYXJlbnQ/OiBQb3B1cENvbnRhaW5lcikge1xuICAgIHN1cGVyKGVsZW1lbnQsIHBhcmVudCk7XG4gICAgY29uc3QgeyBjaGFpbiwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmZhY2VzJCA9IGNoYWluKHRoaXMuY29tbWFuZC5idXN5KS5tYXBUb0xpc3QoYnVzeSA9PiB7XG4gICAgICByZXR1cm4gYnVzeSA/XG4gICAgICAgIFt0aGlzLmJ1c3lGYWNlTW9kZWwudmFsdWUsIHRoaXMuZmFjZU1vZGVsLnZhbHVlXSA6XG4gICAgICAgIFt0aGlzLmZhY2VNb2RlbC52YWx1ZSwgdGhpcy5idXN5RmFjZU1vZGVsLnZhbHVlXTtcbiAgICB9LCB7IGFsbG93TmlsOiB0cnVlLCBkZXBlbmRzT246IFt0aGlzLmZhY2VNb2RlbCwgdGhpcy5idXN5RmFjZU1vZGVsXSB9KVxuICAgICAgLnJlamVjdE5pbCgpO1xuICAgIHRoaXMuYWN0aXZlRmFjZSQgPSB0aGlzLmZhY2VzJC5maXJzdCgpO1xuICAgIHRoaXMuYnV0dG9uU3R5bGUkID0gY2hhaW4odGhpcy5hY3RpdmVGYWNlJCkubWFwKGYgPT4gQ29tbWFuZEZhY2UuZ2V0U3R5bGVPZihmKSk7XG4gICAgdGhpcy5jb2xvciQgPSBjaGFpbih0aGlzLmFjdGl2ZUZhY2UkKS5tYXAoZiA9PiBDb21tYW5kRmFjZS5nZXRDb2xvck9mKGYpKTtcbiAgICB0aGlzLnRvb2x0aXAkID0gY2hhaW4odGhpcy5hY3RpdmVGYWNlJCkubWFwKGYgPT4gQ29tbWFuZEZhY2UuZ2V0VG9vbHRpcE9mKGYpKTtcbiAgICB0aGlzLmljb25Pbmx5JCA9IHRoaXMuZmFjZXMkLnNlbGVjdChmYWNlID0+IHtcbiAgICAgIHJldHVybiBpc0VtcHR5KENvbW1hbmRGYWNlLmdldFRleHRPZihmYWNlKSkgJiYgIWlzRW1wdHkoQ29tbWFuZEZhY2UuZ2V0SWNvbk9mKGZhY2UpKTtcbiAgICB9KS5jb3VudCgpLmVxdWFscyh0aGlzLmZhY2VzJC5jb3VudCgpKTtcbiAgfVxuXG4gIGlzQWN0aXZlKGZhY2U6IENvbW1hbmRGYWNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlRmFjZSQucXVlcnkoKS5lcXVhbHMoZmFjZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wcmV2aW91c1NpYmxpbmcpXG4gIH1cblxuICBnZXRGYWNlKCk6IENvbW1hbmRGYWNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mYWNlO1xuICB9XG5cblxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvbk9ubHkkLnZhbHVlXCI+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtwZWN0aW5Db21tYW5kXT1cImNvbW1hbmRcIiBbY29sb3JdPVwiY29sb3IkLnZhbHVlXCIgW2NsYXNzLmJ1c3ldPVwiY29tbWFuZC5idXN5LnZhbHVlXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpY29uT25seSQudmFsdWVcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYnV0dG9uU3R5bGUkLnZhbHVlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ29tbWFuZEZhY2UuU3R5bGUuU1RST0tFRFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW3BlY3RpbkNvbW1hbmRdPVwiY29tbWFuZFwiIFtjb2xvcl09XCJjb2xvciQudmFsdWVcIiBbY2xhc3MuYnVzeV09XCJjb21tYW5kLmJ1c3kudmFsdWVcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbW1hbmRGYWNlLlN0eWxlLlJBSVNFRFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBbcGVjdGluQ29tbWFuZF09XCJjb21tYW5kXCIgW2NvbG9yXT1cImNvbG9yJC52YWx1ZVwiIFtjbGFzcy5idXN5XT1cImNvbW1hbmQuYnVzeS52YWx1ZVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAkLnZhbHVlXCI+XG4gICAgICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFtwZWN0aW5Db21tYW5kXT1cImNvbW1hbmRcIiBbY29sb3JdPVwiY29sb3IkLnZhbHVlXCIgW2NsYXNzLmJ1c3ldPVwiY29tbWFuZC5idXN5LnZhbHVlXCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2NsYXNzXT1cImFsaWduRmFjZVwiIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBRUwsT0FBTyxFQUNQLEdBQUcsRUFFSCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFVBQVUsRUFFWCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFM0U7O0dBRUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBK0J2RCxZQUFZLE9BQW1CLEVBQXVDLE1BQXVCO1FBQzNGLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFmekIsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFJMUIsY0FBUyxHQUF3QixtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFZ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TixJQUFJO3NCQURILEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFPTixTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29tbWFuZCxcbiAgRHNsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFRyYWNrRXh0ZXJuYWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRW51bSB9IGZyb20gJ3R5cGVzY3JpcHQtc3RyaW5nLWVudW1zJztcbmltcG9ydCB7IEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuLi8uLi9hbGlnbm1lbnQnO1xuaW1wb3J0IHsgQ29tbWFuZEZhY2UgfSBmcm9tICcuLi9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHsgUG9wdXBBd2FyZUNvbXBvbmVudCB9IGZyb20gJy4uL2dyb3VwL3BvcHVwLWF3YXJlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQT1BVUF9DT05UQUlORVIsIFBvcHVwQ29udGFpbmVyIH0gZnJvbSAnLi4vZ3JvdXAvcG9wdXAtY29udGFpbmVyJztcblxuLyoqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtY29tbWFuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21tYW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbWFuZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb21wb25lbnQgZXh0ZW5kcyBQb3B1cEF3YXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCgpXG4gIGNvbW1hbmQ6IENvbW1hbmQ8dW5rbm93bj47XG5cbiAgQElucHV0KCkgQFRyYWNrRXh0ZXJuYWwoKVxuICBmYWNlTW9kZWw6IFZhbHVlTW9kZWw8Q29tbWFuZEZhY2U+O1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgnZmFjZU1vZGVsJylcbiAgZmFjZTogQ29tbWFuZEZhY2U7XG5cbiAgQElucHV0KCkgQFRyYWNrRXh0ZXJuYWwoKVxuICBidXN5RmFjZU1vZGVsOiBWYWx1ZU1vZGVsPENvbW1hbmRGYWNlPjtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoJ2J1c3lGYWNlTW9kZWwnKVxuICBidXN5RmFjZTogQ29tbWFuZEZhY2U7XG5cbiAgQ29tbWFuZEZhY2UgPSBDb21tYW5kRmFjZTtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKVxuICBhbGlnbkZhY2U6IEhvcml6b250YWxBbGlnbm1lbnQgPSBIb3Jpem9udGFsQWxpZ25tZW50LkNFTlRFUjtcblxuICByZWFkb25seSBmYWNlcyQ6IExpc3RNb2RlbENoYWluPENvbW1hbmRGYWNlPjtcbiAgcmVhZG9ubHkgYnV0dG9uU3R5bGUkOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcbiAgcmVhZG9ubHkgY29sb3IkOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPlxuICBwcml2YXRlIGFjdGl2ZUZhY2UkOiBWYWx1ZU1vZGVsQ2hhaW48Q29tbWFuZEZhY2U+O1xuXG4gIHJlYWRvbmx5IGljb25Pbmx5JDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcmVhZG9ubHkgdG9vbHRpcCQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIEBJbmplY3QoUE9QVVBfQ09OVEFJTkVSKSBAT3B0aW9uYWwoKSBwYXJlbnQ/OiBQb3B1cENvbnRhaW5lcikge1xuICAgIHN1cGVyKGVsZW1lbnQsIHBhcmVudCk7XG4gICAgY29uc3QgeyBjaGFpbiwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmZhY2VzJCA9IGNoYWluKHRoaXMuY29tbWFuZC5idXN5KS5tYXBUb0xpc3QoYnVzeSA9PiB7XG4gICAgICByZXR1cm4gYnVzeSA/XG4gICAgICAgIFt0aGlzLmJ1c3lGYWNlTW9kZWwudmFsdWUsIHRoaXMuZmFjZU1vZGVsLnZhbHVlXSA6XG4gICAgICAgIFt0aGlzLmZhY2VNb2RlbC52YWx1ZSwgdGhpcy5idXN5RmFjZU1vZGVsLnZhbHVlXTtcbiAgICB9LCB7IGFsbG93TmlsOiB0cnVlLCBkZXBlbmRzT246IFt0aGlzLmZhY2VNb2RlbCwgdGhpcy5idXN5RmFjZU1vZGVsXSB9KVxuICAgICAgLnJlamVjdE5pbCgpO1xuICAgIHRoaXMuYWN0aXZlRmFjZSQgPSB0aGlzLmZhY2VzJC5maXJzdCgpO1xuICAgIHRoaXMuYnV0dG9uU3R5bGUkID0gY2hhaW4odGhpcy5hY3RpdmVGYWNlJCkubWFwKGYgPT4gQ29tbWFuZEZhY2UuZ2V0U3R5bGVPZihmKSk7XG4gICAgdGhpcy5jb2xvciQgPSBjaGFpbih0aGlzLmFjdGl2ZUZhY2UkKS5tYXAoZiA9PiBDb21tYW5kRmFjZS5nZXRDb2xvck9mKGYpKTtcbiAgICB0aGlzLnRvb2x0aXAkID0gY2hhaW4odGhpcy5hY3RpdmVGYWNlJCkubWFwKGYgPT4gQ29tbWFuZEZhY2UuZ2V0VG9vbHRpcE9mKGYpKTtcbiAgICB0aGlzLmljb25Pbmx5JCA9IHRoaXMuZmFjZXMkLnNlbGVjdChmYWNlID0+IHtcbiAgICAgIHJldHVybiBpc0VtcHR5KENvbW1hbmRGYWNlLmdldFRleHRPZihmYWNlKSkgJiYgIWlzRW1wdHkoQ29tbWFuZEZhY2UuZ2V0SWNvbk9mKGZhY2UpKTtcbiAgICB9KS5jb3VudCgpLmVxdWFscyh0aGlzLmZhY2VzJC5jb3VudCgpKTtcbiAgfVxuXG4gIGlzQWN0aXZlKGZhY2U6IENvbW1hbmRGYWNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlRmFjZSQucXVlcnkoKS5lcXVhbHMoZmFjZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wcmV2aW91c1NpYmxpbmcpXG4gIH1cblxuICBnZXRGYWNlKCk6IENvbW1hbmRGYWNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mYWNlO1xuICB9XG5cblxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvbk9ubHkkLnZhbHVlXCI+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtwZWN0aW5Db21tYW5kXT1cImNvbW1hbmRcIiBbY29sb3JdPVwiY29sb3IkLnZhbHVlXCIgW2NsYXNzLmJ1c3ldPVwiY29tbWFuZC5idXN5LnZhbHVlXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpY29uT25seSQudmFsdWVcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYnV0dG9uU3R5bGUkLnZhbHVlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ29tbWFuZEZhY2UuU3R5bGUuU1RST0tFRFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW3BlY3RpbkNvbW1hbmRdPVwiY29tbWFuZFwiIFtjb2xvcl09XCJjb2xvciQudmFsdWVcIiBbY2xhc3MuYnVzeV09XCJjb21tYW5kLmJ1c3kudmFsdWVcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbW1hbmRGYWNlLlN0eWxlLlJBSVNFRFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBbcGVjdGluQ29tbWFuZF09XCJjb21tYW5kXCIgW2NvbG9yXT1cImNvbG9yJC52YWx1ZVwiIFtjbGFzcy5idXN5XT1cImNvbW1hbmQuYnVzeS52YWx1ZVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAkLnZhbHVlXCI+XG4gICAgICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFtwZWN0aW5Db21tYW5kXT1cImNvbW1hbmRcIiBbY29sb3JdPVwiY29sb3IkLnZhbHVlXCIgW2NsYXNzLmJ1c3ldPVwiY29tbWFuZC5idXN5LnZhbHVlXCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2NsYXNzXT1cImFsaWduRmFjZVwiIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -109,4 +109,4 @@ export var CommandFace;
109
109
  ], Adapter.prototype, "style", null);
110
110
  CommandFace.Adapter = Adapter;
111
111
  })(CommandFace || (CommandFace = {}));
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1mYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQWlCL0MsTUFBTSxLQUFXLFdBQVcsQ0FtRjNCO0FBbkZELFdBQWlCLFdBQVc7SUFFMUIsSUFBWSxRQUdYO0lBSEQsV0FBWSxRQUFRO1FBQ2xCLDJCQUFlLENBQUE7UUFDZix1QkFBVyxDQUFBO0lBQ2IsQ0FBQyxFQUhXLFFBQVEsR0FBUixvQkFBUSxLQUFSLG9CQUFRLFFBR25CO0lBRVksaUJBQUssR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUM7SUFHSCxTQUFnQixVQUFVLENBQUMsSUFBaUI7UUFDMUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDNUUsQ0FBQztJQUZlLHNCQUFVLGFBRXpCLENBQUE7SUFFRCxTQUFnQixVQUFVLENBQUMsSUFBaUI7UUFDMUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBRmUsc0JBQVUsYUFFekIsQ0FBQTtJQUVELFNBQWdCLFNBQVMsQ0FBQyxJQUFpQjtRQUN6QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFGZSxxQkFBUyxZQUV4QixDQUFBO0lBRUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBaUI7UUFDakQsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxRSxDQUFDO0lBRmUsNkJBQWlCLG9CQUVoQyxDQUFBO0lBRUQsU0FBZ0IsWUFBWSxDQUFDLElBQWlCO1FBQzVDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEUsQ0FBQztJQUZlLHdCQUFZLGVBRTNCLENBQUE7SUFFRCxTQUFnQixTQUFTLENBQUMsSUFBaUI7UUFDekMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRmUscUJBQVMsWUFFeEIsQ0FBQTtJQUVELE1BQWEsT0FBTztRQUNsQixZQUFxQixJQUFpQjtZQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ3RDLENBQUM7UUFHRCxJQUFJLElBQUk7WUFDTixPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFHRCxJQUFJLElBQUk7WUFDTixPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFHRCxJQUFJLFlBQVk7WUFDZCxPQUFPLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUdELElBQUksT0FBTztZQUNULE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUdELElBQUksaUJBQWlCO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUMxRCxDQUFDO1FBR0QsSUFBSSxlQUFlO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUN4RCxDQUFDO1FBR0QsSUFBSSxLQUFLO1lBQ1AsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBR0QsSUFBSSxLQUFLO1lBQ1AsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDO0tBRUY7SUF2Q0M7UUFEQyxPQUFPLEVBQUU7Ozt1Q0FHVDtJQUdEO1FBREMsT0FBTyxFQUFFOzs7dUNBR1Q7SUFHRDtRQURDLE9BQU8sRUFBRTs7OytDQUdUO0lBR0Q7UUFEQyxPQUFPLEVBQUU7OzswQ0FHVDtJQUdEO1FBREMsT0FBTyxFQUFFOzs7b0RBR1Q7SUFHRDtRQURDLE9BQU8sRUFBRTs7O2tEQUdUO0lBR0Q7UUFEQyxPQUFPLEVBQUU7Ozt3Q0FHVDtJQUdEO1FBREMsT0FBTyxFQUFFOzs7d0NBR1Q7SUExQ1UsbUJBQU8sVUE0Q25CLENBQUE7QUFDSCxDQUFDLEVBbkZnQixXQUFXLEtBQVgsV0FBVyxRQW1GM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3InO1xuXG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEVudW0gfSBmcm9tICd0eXBlc2NyaXB0LXN0cmluZy1lbnVtcyc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEZhY2Uge1xuICB0ZXh0PygpOiBzdHJpbmc7XG5cbiAgaWNvbj8oKTogc3RyaW5nO1xuXG4gIGljb25Qb3NpdGlvbj8oKTogc3RyaW5nO1xuXG4gIHRvb2x0aXA/KCk6IHN0cmluZztcblxuICBjb2xvcj8oKTogc3RyaW5nOyAvLyBUaGVtZVBhbGV0dGVcblxuICBzdHlsZT8oKTogc3RyaW5nOyAvLyBDb21tYW5kRmFjZS5TdHlsZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb21tYW5kRmFjZSB7XG5cbiAgZXhwb3J0IGVudW0gUG9zaXRpb24ge1xuICAgIFNUQVJUID0gJ3N0YXJ0JyxcbiAgICBFTkQgPSAnZW5kJ1xuICB9XG5cbiAgZXhwb3J0IGNvbnN0IFN0eWxlID0gRW51bSh7XG4gICAgRkxBVDogJ2ZsYXQnLFxuICAgIFNUUk9LRUQ6ICdzdHJva2VkJyxcbiAgICBSQUlTRUQ6ICdyYWlzZWQnXG4gIH0pO1xuICBleHBvcnQgdHlwZSBTdHlsZSA9IEVudW08dHlwZW9mIFN0eWxlPjtcblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JPZihmYWNlOiBDb21tYW5kRmFjZSk6IFRoZW1lUGFsZXR0ZSB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oZmFjZT8uY29sb3IpID8gZmFjZS5jb2xvcigpIGFzIFRoZW1lUGFsZXR0ZSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRTdHlsZU9mKGZhY2U6IENvbW1hbmRGYWNlKTogU3R5bGUge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/LnN0eWxlKSA/IGZhY2Uuc3R5bGUoKSBhcyBTdHlsZSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRJY29uT2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy5pY29uKSA/IGZhY2UuaWNvbigpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEljb25Qb3NpdGlvbk9mKGZhY2U6IENvbW1hbmRGYWNlKSB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oZmFjZT8uaWNvblBvc2l0aW9uKSA/IGZhY2UuaWNvblBvc2l0aW9uKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0VG9vbHRpcE9mKGZhY2U6IENvbW1hbmRGYWNlKSB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oZmFjZT8udG9vbHRpcCkgPyBmYWNlLnRvb2x0aXAoKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0T2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy50ZXh0KSA/IGZhY2UudGV4dCgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIEFkYXB0ZXIge1xuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZhY2U6IENvbW1hbmRGYWNlKSB7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCB0ZXh0KCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldFRleHRPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgaWNvbigpIHtcbiAgICAgIHJldHVybiBDb21tYW5kRmFjZS5nZXRJY29uT2YodGhpcy5mYWNlKTtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IGljb25Qb3NpdGlvbigpIHtcbiAgICAgIHJldHVybiBDb21tYW5kRmFjZS5nZXRJY29uUG9zaXRpb25PZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgdG9vbHRpcCgpIHtcbiAgICAgIHJldHVybiBDb21tYW5kRmFjZS5nZXRUb29sdGlwT2YodGhpcy5mYWNlKTtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IGljb25Qb3NpdGlvblN0YXJ0KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSBDb21tYW5kRmFjZS5Qb3NpdGlvbi5TVEFSVDtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IGljb25Qb3NpdGlvbkVuZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmljb25Qb3NpdGlvbiA9PT0gQ29tbWFuZEZhY2UuUG9zaXRpb24uRU5EO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgY29sb3IoKTogVGhlbWVQYWxldHRlIHtcbiAgICAgIHJldHVybiBDb21tYW5kRmFjZS5nZXRDb2xvck9mKHRoaXMuZmFjZSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCBzdHlsZSgpOiBTdHlsZSB7XG4gICAgICByZXR1cm4gQ29tbWFuZEZhY2UuZ2V0U3R5bGVPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICB9XG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1mYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQWlCL0MsTUFBTSxLQUFXLFdBQVcsQ0FtRjNCO0FBbkZELFdBQWlCLFdBQVc7SUFFMUIsSUFBWSxRQUdYO0lBSEQsV0FBWSxRQUFRO1FBQ2xCLDJCQUFlLENBQUE7UUFDZix1QkFBVyxDQUFBO0lBQ2IsQ0FBQyxFQUhXLFFBQVEsR0FBUixvQkFBUSxLQUFSLG9CQUFRLFFBR25CO0lBRVksaUJBQUssR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUM7SUFHSCxTQUFnQixVQUFVLENBQUMsSUFBaUI7UUFDMUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1RCxDQUFDO0lBRmUsc0JBQVUsYUFFekIsQ0FBQTtJQUVELFNBQWdCLFVBQVUsQ0FBQyxJQUFpQjtRQUMxQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVELENBQUM7SUFGZSxzQkFBVSxhQUV6QixDQUFBO0lBRUQsU0FBZ0IsU0FBUyxDQUFDLElBQWlCO1FBQ3pDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUQsQ0FBQztJQUZlLHFCQUFTLFlBRXhCLENBQUE7SUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFpQjtRQUNqRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFFLENBQUM7SUFGZSw2QkFBaUIsb0JBRWhDLENBQUE7SUFFRCxTQUFnQixZQUFZLENBQUMsSUFBaUI7UUFDNUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRSxDQUFDO0lBRmUsd0JBQVksZUFFM0IsQ0FBQTtJQUVELFNBQWdCLFNBQVMsQ0FBQyxJQUFpQjtRQUN6QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFGZSxxQkFBUyxZQUV4QixDQUFBO0lBRUQsTUFBYSxPQUFPO1FBQ2xCLFlBQXFCLElBQWlCO1lBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDdEMsQ0FBQztRQUdELElBQUksSUFBSTtZQUNOLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUdELElBQUksSUFBSTtZQUNOLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUdELElBQUksWUFBWTtZQUNkLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBR0QsSUFBSSxPQUFPO1lBQ1QsT0FBTyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBR0QsSUFBSSxpQkFBaUI7WUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzFELENBQUM7UUFHRCxJQUFJLGVBQWU7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hELENBQUM7UUFHRCxJQUFJLEtBQUs7WUFDUCxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFHRCxJQUFJLEtBQUs7WUFDUCxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7S0FFRjtJQXZDQztRQURDLE9BQU8sRUFBRTs7O3VDQUdUO0lBR0Q7UUFEQyxPQUFPLEVBQUU7Ozt1Q0FHVDtJQUdEO1FBREMsT0FBTyxFQUFFOzs7K0NBR1Q7SUFHRDtRQURDLE9BQU8sRUFBRTs7OzBDQUdUO0lBR0Q7UUFEQyxPQUFPLEVBQUU7OztvREFHVDtJQUdEO1FBREMsT0FBTyxFQUFFOzs7a0RBR1Q7SUFHRDtRQURDLE9BQU8sRUFBRTs7O3dDQUdUO0lBR0Q7UUFEQyxPQUFPLEVBQUU7Ozt3Q0FHVDtJQTFDVSxtQkFBTyxVQTRDbkIsQ0FBQTtBQUNILENBQUMsRUFuRmdCLFdBQVcsS0FBWCxXQUFXLFFBbUYzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5cbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRW51bSB9IGZyb20gJ3R5cGVzY3JpcHQtc3RyaW5nLWVudW1zJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kRmFjZSB7XG4gIHRleHQ/KCk6IHN0cmluZztcblxuICBpY29uPygpOiBzdHJpbmc7XG5cbiAgaWNvblBvc2l0aW9uPygpOiBzdHJpbmc7XG5cbiAgdG9vbHRpcD8oKTogc3RyaW5nO1xuXG4gIGNvbG9yPygpOiBzdHJpbmc7IC8vIFRoZW1lUGFsZXR0ZVxuXG4gIHN0eWxlPygpOiBzdHJpbmc7IC8vIENvbW1hbmRGYWNlLlN0eWxlO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENvbW1hbmRGYWNlIHtcblxuICBleHBvcnQgZW51bSBQb3NpdGlvbiB7XG4gICAgU1RBUlQgPSAnc3RhcnQnLFxuICAgIEVORCA9ICdlbmQnXG4gIH1cblxuICBleHBvcnQgY29uc3QgU3R5bGUgPSBFbnVtKHtcbiAgICBGTEFUOiAnZmxhdCcsXG4gICAgU1RST0tFRDogJ3N0cm9rZWQnLFxuICAgIFJBSVNFRDogJ3JhaXNlZCdcbiAgfSk7XG4gIGV4cG9ydCB0eXBlIFN0eWxlID0gRW51bTx0eXBlb2YgU3R5bGU+O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvck9mKGZhY2U6IENvbW1hbmRGYWNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy5jb2xvcikgPyBmYWNlLmNvbG9yKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVPZihmYWNlOiBDb21tYW5kRmFjZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oZmFjZT8uc3R5bGUpID8gZmFjZS5zdHlsZSgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEljb25PZihmYWNlOiBDb21tYW5kRmFjZSkge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/Lmljb24pID8gZmFjZS5pY29uKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0SWNvblBvc2l0aW9uT2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy5pY29uUG9zaXRpb24pID8gZmFjZS5pY29uUG9zaXRpb24oKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRUb29sdGlwT2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy50b29sdGlwKSA/IGZhY2UudG9vbHRpcCgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRPZihmYWNlOiBDb21tYW5kRmFjZSkge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/LnRleHQpID8gZmFjZS50ZXh0KCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQWRhcHRlciB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IHRleHQoKSB7XG4gICAgICByZXR1cm4gQ29tbWFuZEZhY2UuZ2V0VGV4dE9mKHRoaXMuZmFjZSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCBpY29uKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldEljb25PZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgaWNvblBvc2l0aW9uKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldEljb25Qb3NpdGlvbk9mKHRoaXMuZmFjZSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCB0b29sdGlwKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldFRvb2x0aXBPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgaWNvblBvc2l0aW9uU3RhcnQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5pY29uUG9zaXRpb24gPT09IENvbW1hbmRGYWNlLlBvc2l0aW9uLlNUQVJUO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgaWNvblBvc2l0aW9uRW5kKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSBDb21tYW5kRmFjZS5Qb3NpdGlvbi5FTkQ7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCBjb2xvcigpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldENvbG9yT2YodGhpcy5mYWNlKTtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IHN0eWxlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gQ29tbWFuZEZhY2UuZ2V0U3R5bGVPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICB9XG59XG4iXX0=
@@ -13,7 +13,7 @@ export class InlineActivityTriggerComponent extends AbstractActivityTriggerCompo
13
13
  }
14
14
  }
15
15
  InlineActivityTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InlineActivityTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- InlineActivityTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InlineActivityTriggerComponent, selector: "aup-inline-activity-trigger", viewQueries: [{ propertyName: "_interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n</aup-in-place-interaction-context>\n", styles: [":host{display:inline-block}\n"], components: [{ type: i1.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity"] }, { type: i2.CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }] });
16
+ InlineActivityTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InlineActivityTriggerComponent, selector: "aup-inline-activity-trigger", viewQueries: [{ propertyName: "_interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n</aup-in-place-interaction-context>\n", styles: [":host{display:inline-block}\n"], components: [{ type: i1.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }, { type: i2.CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }] });
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InlineActivityTriggerComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'aup-inline-activity-trigger', template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n</aup-in-place-interaction-context>\n", styles: [":host{display:inline-block}\n"] }]
@@ -54,7 +54,7 @@ export class AddCardActivityComponent extends AbstractActivityTriggerComponent {
54
54
  }
55
55
  }
56
56
  AddCardActivityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AddCardActivityComponent, deps: [{ token: i1.InteractionService }], target: i0.ɵɵFactoryTarget.Component });
57
- AddCardActivityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AddCardActivityComponent, selector: "aup-add-card-activity", inputs: { interactionStyle: "interactionStyle", renderAs: "renderAs" }, host: { properties: { "class": "this.activityTypeClass", "class.not-card": "this.notCard" } }, viewQueries: [{ propertyName: "inlineInteractionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}\n"], components: [{ type: i2.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity"] }, { type: i3.CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }, { type: i4.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }], directives: [{ type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
57
+ AddCardActivityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AddCardActivityComponent, selector: "aup-add-card-activity", inputs: { interactionStyle: "interactionStyle", renderAs: "renderAs" }, host: { properties: { "class": "this.activityTypeClass", "class.not-card": "this.notCard" } }, viewQueries: [{ propertyName: "inlineInteractionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}\n"], components: [{ type: i2.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }, { type: i3.CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }, { type: i4.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }], directives: [{ type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AddCardActivityComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'aup-add-card-activity', template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}\n"] }]
@@ -42,7 +42,7 @@ export class AddItemInteractionContextComponent extends DisposableComponent {
42
42
  }
43
43
  }
44
44
  AddItemInteractionContextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AddItemInteractionContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- AddItemInteractionContextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AddItemInteractionContextComponent, selector: "aup-add-item-interaction-context", inputs: { label: "label", icon: "icon", activityClass: "activityClass", activityData: "activityData", addCommand: "addCommand" }, host: { properties: { "class.interaction-active": "this.active", "tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n", styles: [":host{--def-link-color: var(--link-color, currentColor);--def-link-color-hover: var(--link-color-hover, currentColor);--def-link-background: var(--link-background, transparent);--def-link-background-hover: var(--link-background-hover, rgba(0, 0, 0, .05));--def-link-border-radius: var(--link-border-radius, 4px);--def-link-padding: var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}\n"], components: [{ type: i1.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity"] }, { type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }], directives: [{ type: i3.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
45
+ AddItemInteractionContextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AddItemInteractionContextComponent, selector: "aup-add-item-interaction-context", inputs: { label: "label", icon: "icon", activityClass: "activityClass", activityData: "activityData", addCommand: "addCommand" }, host: { properties: { "class.interaction-active": "this.active", "tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n", styles: [":host{--def-link-color: var(--link-color, currentColor);--def-link-color-hover: var(--link-color-hover, currentColor);--def-link-background: var(--link-background, transparent);--def-link-background-hover: var(--link-background-hover, rgba(0, 0, 0, .05));--def-link-border-radius: var(--link-border-radius, 4px);--def-link-padding: var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}\n"], components: [{ type: i1.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }, { type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }], directives: [{ type: i3.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
46
46
  __decorate([
47
47
  TrackExternal(),
48
48
  __metadata("design:type", Command)
@@ -117,7 +117,7 @@ export class InlineStringEditorComponent extends DisposableComponent {
117
117
  }
118
118
  }
119
119
  InlineStringEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InlineStringEditorComponent, deps: [{ token: i1.InteractionService }], target: i0.ɵɵFactoryTarget.Component });
120
- InlineStringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InlineStringEditorComponent, selector: "aup-inline-string-editor", inputs: { editorModel: "editorModel", facesModel: "facesModel", faces: "faces", label: "label", placeHolder: "placeHolder", placeHolderModel: "placeHolderModel" }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container\" *ngIf=\"!editorModel.isEditing()\">\n <mat-form-field appearance=\"standard\" floatLabel=\"always\" (click)=\"startEdit()\"\n [class.editable]=\"editingEnabled.value\" [class.empty]=\"isEmpty()\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeHolder}}\"\n [ngModel]=\"editorModel.valueModel.value\"\n [disabled]=\"true\"\n >\n <!-- <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>-->\n <!-- <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>-->\n <!-- <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>-->\n </mat-form-field>\n <aup-command *ngIf=\"editCommand.enabled.value\" [command]=\"editCommand\" [faceModel]=\"editFaceModel\"></aup-command>\n</div>\n<aup-in-place-interaction-context [animateFirstActivity]=\"false\"></aup-in-place-interaction-context>\n", components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }, { type: i4.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
120
+ InlineStringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InlineStringEditorComponent, selector: "aup-inline-string-editor", inputs: { editorModel: "editorModel", facesModel: "facesModel", faces: "faces", label: "label", placeHolder: "placeHolder", placeHolderModel: "placeHolderModel" }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container\" *ngIf=\"!editorModel.isEditing()\">\n <mat-form-field appearance=\"standard\" floatLabel=\"always\" (click)=\"startEdit()\"\n [class.editable]=\"editingEnabled.value\" [class.empty]=\"isEmpty()\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeHolder}}\"\n [ngModel]=\"editorModel.valueModel.value\"\n [disabled]=\"true\"\n >\n <!-- <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>-->\n <!-- <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>-->\n <!-- <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>-->\n </mat-form-field>\n <aup-command *ngIf=\"editCommand.enabled.value\" [command]=\"editCommand\" [faceModel]=\"editFaceModel\"></aup-command>\n</div>\n<aup-in-place-interaction-context [animateFirstActivity]=\"false\"></aup-in-place-interaction-context>\n", components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }, { type: i4.InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
121
121
  __decorate([
122
122
  TrackExternal(),
123
123
  __metadata("design:type", InlineEditorModel)
@@ -28,6 +28,12 @@ export class InPlaceInteractionContextComponent extends DisposableComponent {
28
28
  * the activity will replace the existing content immediately.
29
29
  */
30
30
  this.animateFirstActivity = true;
31
+ /**
32
+ * If true the activity will sync with the router to enable back button support. This is a work around for
33
+ * deeply nested activities that can't be linked with the root place interactionContext hook for cancelling
34
+ * active interactions.
35
+ */
36
+ this.syncWithRoutes = true;
31
37
  }
32
38
  get animationDuration() {
33
39
  return this.animateFirstActivity ? (this.tabConfig?.animationDuration || "500ms") : "0ms";
@@ -36,9 +42,24 @@ export class InPlaceInteractionContextComponent extends DisposableComponent {
36
42
  return this.isActive();
37
43
  }
38
44
  ngAfterViewInit() {
39
- this.interactionService.registerInplaceInteractionContext(this);
45
+ // NOTE: this is a temp work around to detach inplace contexts from the router until AUP-88 is implemented.
46
+ // https://coolon.atlassian.net/browse/AUP-88?atlOrigin=eyJpIjoiOTg5YjEzZGUzZjRmNDg0NmExOWU3ZGJmMzJiNTRmNGYiLCJwIjoiaiJ9
47
+ if (this.syncWithRoutes) {
48
+ this.interactionService.registerInplaceInteractionContext(this);
49
+ }
50
+ else {
51
+ this.activityContainerComponent.initialise("dont-care", {
52
+ async notifyActive(interactionContext) {
53
+ return undefined;
54
+ },
55
+ async notifyFinished(interactionContext) {
56
+ return undefined;
57
+ }
58
+ });
59
+ }
40
60
  }
41
- initialise(id, api) {
61
+ // this is a regsitration callback from the interaction service
62
+ onInplaceInteractionContextRegistered(id, api) {
42
63
  this.activityContainerComponent.initialise(id, api);
43
64
  }
44
65
  get identifier() {
@@ -70,7 +91,7 @@ export class InPlaceInteractionContextComponent extends DisposableComponent {
70
91
  }
71
92
  }
72
93
  InPlaceInteractionContextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InPlaceInteractionContextComponent, deps: [{ token: i1.InteractionService }, { token: MAT_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
73
- InPlaceInteractionContextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: { animateFirstActivity: "animateFirstActivity" }, host: { properties: { "class.active": "this.active" } }, viewQueries: [{ propertyName: "activityContainerComponent", first: true, predicate: ["activityContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs [dynamicHeight]=\"false\" [animationDuration]=\"animationDuration\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-activity-container{flex:1}\n"], components: [{ type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { type: i3.ActivityContainerComponent, selector: "aup-activity-container", inputs: ["dynamicHeight"] }] });
94
+ InPlaceInteractionContextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: { animateFirstActivity: "animateFirstActivity", syncWithRoutes: "syncWithRoutes" }, host: { properties: { "class.active": "this.active" } }, viewQueries: [{ propertyName: "activityContainerComponent", first: true, predicate: ["activityContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs [dynamicHeight]=\"false\" [animationDuration]=\"animationDuration\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-activity-container{flex:1}\n"], components: [{ type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { type: i3.ActivityContainerComponent, selector: "aup-activity-container", inputs: ["dynamicHeight"] }] });
74
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InPlaceInteractionContextComponent, decorators: [{
75
96
  type: Component,
76
97
  args: [{ selector: "aup-in-place-interaction-context", template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs [dynamicHeight]=\"false\" [animationDuration]=\"animationDuration\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-activity-container{flex:1}\n"] }]
@@ -84,8 +105,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
84
105
  args: ["activityContainer", { static: true }]
85
106
  }], animateFirstActivity: [{
86
107
  type: Input
108
+ }], syncWithRoutes: [{
109
+ type: Input
87
110
  }], active: [{
88
111
  type: HostBinding,
89
112
  args: ["class.active"]
90
113
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbi1wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0L2luLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZUFBZSxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7OztBQUVoRzs7Ozs7Ozs7OztHQVVHO0FBTUgsTUFBTSxPQUFPLGtDQUE0QyxTQUFRLG1CQUFtQjtJQXFCbEYsWUFBcUIsa0JBQXNDLEVBQXdELFNBQXdCO1FBQ3pJLEtBQUssRUFBRSxDQUFDO1FBRFcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUF3RCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBaEIzSTs7O1dBR0c7UUFFSCx5QkFBb0IsR0FBRyxJQUFJLENBQUM7SUFhNUIsQ0FBQztJQVhELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1RixDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQU1ELGVBQWU7UUFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFVLEVBQUUsR0FBMkI7UUFDaEQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVyxDQUFhLE9BQWdCLEVBQUUsWUFBaUQsRUFBRSxJQUFTO1FBQ3BHLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGtCQUFrQixDQUFLLE9BQWdCLEVBQUUsU0FBeUU7UUFDaEgsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFHRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBYSxZQUFpRCxFQUFFLElBQVMsRUFBRSxPQUFvQztRQUMxSCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRixDQUFDOzsrSEFwRVUsa0NBQWtDLG9EQXFCd0IsZUFBZTttSEFyQnpFLGtDQUFrQyxpV0M1Qi9DLDBXQVNBOzJGRG1CYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0Usa0NBQWtDOzswQkF5QmtCLE1BQU07MkJBQUMsZUFBZTs7MEJBQUcsUUFBUTs0Q0FsQi9GLDBCQUEwQjtzQkFEekIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBUWhELG9CQUFvQjtzQkFEbkIsS0FBSztnQkFRRixNQUFNO3NCQURULFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTUFUX1RBQlNfQ09ORklHLCBNYXRUYWJzQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tIFwiLi4vLi4vYWN0aXZpdHlcIjtcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSBcIi4uLy4uL2FsZXJ0XCI7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSBcIi4uLy4uL2NvbmZpcm1cIjtcbmltcG9ydCB7IEluUGxhY2VJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHRcIjtcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gXCIuLi9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIEBleGFtcGxlXG4gKiAgIDxhdXAtaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCAjaW5QbGFjZUludGVyYWN0aW9uQ29udGV4dD5cbiAqICAgPC9hdXAtaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dD5cbiAqXG4gKiAgIGluIHlvdXIgY29tcG9uZW50XG4gKiAgICAgQFZpZXdDaGlsZCgnaW5QbGFjZUludGVyYWN0aW9uQ29udGV4dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gKiAgICAgaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQ7XG4gKlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF1cC1pbi1wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBJblBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEluUGxhY2VJbnRlcmFjdGlvbkNvbnRleHQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGQoXCJhY3Rpdml0eUNvbnRhaW5lclwiLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBhY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDogQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8YW55LCBhbnksIGFueT47XG5cbiAgLyoqXG4gICAqIElmIHRydWUgdGhlbiB0aGUgZmlyc3Qgc3RhcnRBY3Rpdml0eSBjYWxsIHdpbGwgc2xpZGUgdGhlIGFjdGl2aXR5IGludG8gdmlldy4gSWYgZmFsc2VcbiAgICogdGhlIGFjdGl2aXR5IHdpbGwgcmVwbGFjZSB0aGUgZXhpc3RpbmcgY29udGVudCBpbW1lZGlhdGVseS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGFuaW1hdGVGaXJzdEFjdGl2aXR5ID0gdHJ1ZTtcblxuICBnZXQgYW5pbWF0aW9uRHVyYXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbmltYXRlRmlyc3RBY3Rpdml0eSA/ICh0aGlzLnRhYkNvbmZpZz8uYW5pbWF0aW9uRHVyYXRpb24gfHwgXCI1MDBtc1wiKSA6IFwiMG1zXCI7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5hY3RpdmVcIilcbiAgZ2V0IGFjdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0FjdGl2ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgaW50ZXJhY3Rpb25TZXJ2aWNlOiBJbnRlcmFjdGlvblNlcnZpY2UsIEBJbmplY3QoTUFUX1RBQlNfQ09ORklHKSBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IHRhYkNvbmZpZzogTWF0VGFic0NvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UucmVnaXN0ZXJJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0KHRoaXMpO1xuICB9XG5cbiAgaW5pdGlhbGlzZShpZDogc3RyaW5nLCBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGkpIHtcbiAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmluaXRpYWxpc2UoaWQsIGFwaSk7XG4gIH1cblxuICBnZXQgaWRlbnRpZmllcigpIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudC5pZGVudGlmaWVyO1xuICB9XG5cbiAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb250YWluZXJDb21wb25lbnQuYWxlcnQoYWxlcnQpO1xuICB9XG5cbiAgY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb250YWluZXJDb21wb25lbnQuY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmNvbmZpcm0oY29uZmlybSk7XG4gIH1cblxuICBjb25maXJtT3JSZWplY3QoY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmNvbmZpcm1PclJlamVjdChjb25maXJtKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQxLCBSMSwgRTE+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudC5jb25maXJtVGhlbihjb25maXJtLCBhY3Rpdml0eVR5cGUpO1xuICB9XG5cbiAgY29uZmlybVRoZW5FeGVjdXRlPFIxPihjb25maXJtOiBDb25maXJtLCBvcGVyYXRpb246IChpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkgPT4gKFByb21pc2U8UjE+IHwgUjEpKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmNvbmZpcm1UaGVuRXhlY3V0ZShjb25maXJtLCBvcGVyYXRpb24pO1xuICB9XG5cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudC5pc0FjdGl2ZSgpO1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEsIG9wdGlvbnM/OiBJbnRlcmFjdGlvbkNvbnRleHQuT3B0aW9ucyk6IFByb21pc2U8UjE+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudC5zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSwgb3B0aW9ucyk7XG4gIH1cblxufVxuIiwiPG1hdC10YWItZ3JvdXAgbm8tdGFiLWhlYWRlciBbc2VsZWN0ZWRJbmRleF09XCJpc0FjdGl2ZSgpID8gMSA6IDBcIiBmdWxsLWhlaWdodC10YWJzIFtkeW5hbWljSGVpZ2h0XT1cImZhbHNlXCIgW2FuaW1hdGlvbkR1cmF0aW9uXT1cImFuaW1hdGlvbkR1cmF0aW9uXCI+XG4gIDxtYXQtdGFiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9tYXQtdGFiPlxuICA8bWF0LXRhYj5cbiAgICA8YXVwLWFjdGl2aXR5LWNvbnRhaW5lciAjYWN0aXZpdHlDb250YWluZXIgW2R5bmFtaWNIZWlnaHRdPVwiZmFsc2VcIj48L2F1cC1hY3Rpdml0eS1jb250YWluZXI+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cblxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbi1wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0L2luLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZUFBZSxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7OztBQUVoRzs7Ozs7Ozs7OztHQVVHO0FBTUgsTUFBTSxPQUFPLGtDQUE0QyxTQUFRLG1CQUFtQjtJQTZCbEYsWUFBcUIsa0JBQXNDLEVBQXdELFNBQXdCO1FBQ3pJLEtBQUssRUFBRSxDQUFDO1FBRFcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUF3RCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBeEIzSTs7O1dBR0c7UUFFSCx5QkFBb0IsR0FBRyxJQUFJLENBQUM7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QUFjO3NCQURiLEtBQUs7Z0JBUUYsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1BVF9UQUJTX0NPTkZJRywgTWF0VGFic0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlIH0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSBcIi4uLy4uL2FjdGl2aXR5XCI7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gXCIuLi8uLi9hbGVydFwiO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gXCIuLi8uLi9jb25maXJtXCI7XG5pbXBvcnQgeyBJblBsYWNlSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL2luLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHRcIjtcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcblxuLyoqXG4gKiBAZXhhbXBsZVxuICogICA8YXVwLWluLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQgI2luUGxhY2VJbnRlcmFjdGlvbkNvbnRleHQ+XG4gKiAgIDwvYXVwLWluLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQ+XG4gKlxuICogICBpbiB5b3VyIGNvbXBvbmVudFxuICogICAgIEBWaWV3Q2hpbGQoJ2luUGxhY2VJbnRlcmFjdGlvbkNvbnRleHQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICogICAgIGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0O1xuICpcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhdXAtaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2luLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2luLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgSW5QbGFjZUludGVyYWN0aW9uQ29udGV4dENvbXBvbmVudDxELCBSLCBFPiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBJblBsYWNlSW50ZXJhY3Rpb25Db250ZXh0LCBBZnRlclZpZXdJbml0IHtcblxuICBAVmlld0NoaWxkKFwiYWN0aXZpdHlDb250YWluZXJcIiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgYWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ6IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlIHRoZW4gdGhlIGZpcnN0IHN0YXJ0QWN0aXZpdHkgY2FsbCB3aWxsIHNsaWRlIHRoZSBhY3Rpdml0eSBpbnRvIHZpZXcuIElmIGZhbHNlXG4gICAqIHRoZSBhY3Rpdml0eSB3aWxsIHJlcGxhY2UgdGhlIGV4aXN0aW5nIGNvbnRlbnQgaW1tZWRpYXRlbHkuXG4gICAqL1xuICBASW5wdXQoKVxuICBhbmltYXRlRmlyc3RBY3Rpdml0eSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIElmIHRydWUgdGhlIGFjdGl2aXR5IHdpbGwgc3luYyB3aXRoIHRoZSByb3V0ZXIgdG8gZW5hYmxlIGJhY2sgYnV0dG9uIHN1cHBvcnQuICBUaGlzIGlzIGEgd29yayBhcm91bmQgZm9yXG4gICAqIGRlZXBseSBuZXN0ZWQgYWN0aXZpdGllcyB0aGF0IGNhbid0IGJlIGxpbmtlZCB3aXRoIHRoZSByb290IHBsYWNlIGludGVyYWN0aW9uQ29udGV4dCBob29rIGZvciBjYW5jZWxsaW5nXG4gICAqIGFjdGl2ZSBpbnRlcmFjdGlvbnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBzeW5jV2l0aFJvdXRlcyA9IHRydWU7XG5cbiAgZ2V0IGFuaW1hdGlvbkR1cmF0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYW5pbWF0ZUZpcnN0QWN0aXZpdHkgPyAodGhpcy50YWJDb25maWc/LmFuaW1hdGlvbkR1cmF0aW9uIHx8IFwiNTAwbXNcIikgOiBcIjBtc1wiO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuYWN0aXZlXCIpXG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNBY3RpdmUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlLCBASW5qZWN0KE1BVF9UQUJTX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSB0YWJDb25maWc6IE1hdFRhYnNDb25maWcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIE5PVEU6IHRoaXMgaXMgYSB0ZW1wIHdvcmsgYXJvdW5kIHRvIGRldGFjaCBpbnBsYWNlIGNvbnRleHRzIGZyb20gdGhlIHJvdXRlciB1bnRpbCBBVVAtODggaXMgaW1wbGVtZW50ZWQuXG4gICAgLy8gaHR0cHM6Ly9jb29sb24uYXRsYXNzaWFuLm5ldC9icm93c2UvQVVQLTg4P2F0bE9yaWdpbj1leUpwSWpvaU9UZzVZakV6WkdVelpqUm1ORGcwTm1FeE9XVTNaR0ptTXpKaU5UUm1OR1lpTENKd0lqb2lhaUo5XG5cbiAgICBpZiAodGhpcy5zeW5jV2l0aFJvdXRlcykge1xuICAgICAgdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UucmVnaXN0ZXJJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0KHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmluaXRpYWxpc2UoXCJkb250LWNhcmVcIiwge1xuICAgICAgICBhc3luYyBub3RpZnlBY3RpdmUoaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9LFxuICAgICAgICBhc3luYyBub3RpZnlGaW5pc2hlZChpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRoaXMgaXMgYSByZWdzaXRyYXRpb24gY2FsbGJhY2sgZnJvbSB0aGUgaW50ZXJhY3Rpb24gc2VydmljZVxuICBvbklucGxhY2VJbnRlcmFjdGlvbkNvbnRleHRSZWdpc3RlcmVkKGlkOiBzdHJpbmcsIGFwaTogSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaSkge1xuICAgIHRoaXMuYWN0aXZpdHlDb250YWluZXJDb21wb25lbnQuaW5pdGlhbGlzZShpZCwgYXBpKTtcbiAgfVxuXG4gIGdldCBpZGVudGlmaWVyKCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmlkZW50aWZpZXI7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudC5hbGVydChhbGVydCk7XG4gIH1cblxuICBjYW5jZWxBY3RpdmVBY3Rpdml0eSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudC5jYW5jZWxBY3RpdmVBY3Rpdml0eSgpO1xuICB9XG5cbiAgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb250YWluZXJDb21wb25lbnQuY29uZmlybShjb25maXJtKTtcbiAgfVxuXG4gIGNvbmZpcm1PclJlamVjdChjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb250YWluZXJDb21wb25lbnQuY29uZmlybU9yUmVqZWN0KGNvbmZpcm0pO1xuICB9XG5cbiAgY29uZmlybVRoZW48RDEsIFIxLCBFMT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmNvbmZpcm1UaGVuKGNvbmZpcm0sIGFjdGl2aXR5VHlwZSk7XG4gIH1cblxuICBjb25maXJtVGhlbkV4ZWN1dGU8UjE+KGNvbmZpcm06IENvbmZpcm0sIG9wZXJhdGlvbjogKGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KSA9PiAoUHJvbWlzZTxSMT4gfCBSMSkpOiBQcm9taXNlPFIxPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb250YWluZXJDb21wb25lbnQuY29uZmlybVRoZW5FeGVjdXRlKGNvbmZpcm0sIG9wZXJhdGlvbik7XG4gIH1cblxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LmlzQWN0aXZlKCk7XG4gIH1cblxuICBzdGFydEFjdGl2aXR5PEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSwgb3B0aW9ucz86IEludGVyYWN0aW9uQ29udGV4dC5PcHRpb25zKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LnN0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhLCBvcHRpb25zKTtcbiAgfVxuXG59XG4iLCI8bWF0LXRhYi1ncm91cCBuby10YWItaGVhZGVyIFtzZWxlY3RlZEluZGV4XT1cImlzQWN0aXZlKCkgPyAxIDogMFwiIGZ1bGwtaGVpZ2h0LXRhYnMgW2R5bmFtaWNIZWlnaHRdPVwiZmFsc2VcIiBbYW5pbWF0aW9uRHVyYXRpb25dPVwiYW5pbWF0aW9uRHVyYXRpb25cIj5cbiAgPG1hdC10YWI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiPlxuICAgIDxhdXAtYWN0aXZpdHktY29udGFpbmVyICNhY3Rpdml0eUNvbnRhaW5lciBbZHluYW1pY0hlaWdodF09XCJmYWxzZVwiPjwvYXVwLWFjdGl2aXR5LWNvbnRhaW5lcj5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2luLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tICcuL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJblBsYWNlSW50ZXJhY3Rpb25Db250ZXh0IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgaW5pdGlhbGlzZShpZDogc3RyaW5nLCBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGkpXG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2luLXBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tICcuL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJblBsYWNlSW50ZXJhY3Rpb25Db250ZXh0IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgb25JbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0UmVnaXN0ZXJlZChpZDogc3RyaW5nLCBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGkpXG59XG4iXX0=
@@ -1,9 +1,9 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { DelegatingValueModel, Dsl, GarbageCollector, MutableListModel, Trace } from '@coolon/pectin';
4
- import { assert } from '@coolon/typescript-utilities';
5
- import { InteractionServiceRoutingAdapter } from './interaction-service-routing-adapter';
6
- import { ModalInteractionContextFactory } from './modal-interaction-context.factory';
2
+ import { Injectable } from "@angular/core";
3
+ import { DelegatingValueModel, Dsl, GarbageCollector, MutableListModel, Trace } from "@coolon/pectin";
4
+ import { assert } from "@coolon/typescript-utilities";
5
+ import { InteractionServiceRoutingAdapter } from "./interaction-service-routing-adapter";
6
+ import { ModalInteractionContextFactory } from "./modal-interaction-context.factory";
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "./modal-interaction-context.factory";
9
9
  let inplaceMonitorCount = 0;
@@ -44,13 +44,13 @@ export class InteractionService {
44
44
  */
45
45
  createModalInteractionContextDisposedWith(disposable) {
46
46
  // TODO: look at making the registry the factory..
47
- return this.modelInteractionContextFactory.createInteractionContext('modal', new InteractionService.ApiAdapter(this.placeRouter, this.modalInteractionRegistry));
47
+ return this.modelInteractionContextFactory.createInteractionContext("modal", new InteractionService.ApiAdapter(this.placeRouter, this.modalInteractionRegistry));
48
48
  }
49
49
  registerInplaceInteractionContext(interactionContext) {
50
50
  // TODO: look at making the registry the factory..
51
51
  // Todo: check for double registration.
52
52
  // Todo: allow multiple inplace interactions..
53
- interactionContext.initialise(`ip${++inplaceMonitorCount}`, new InteractionService.ApiAdapter(this.placeRouter, this.inPlaceInteractionRegistry));
53
+ interactionContext.onInplaceInteractionContextRegistered(`ip${++inplaceMonitorCount}`, new InteractionService.ApiAdapter(this.placeRouter, this.inPlaceInteractionRegistry));
54
54
  }
55
55
  /**
56
56
  * Creates an interaction context that will prevent any other contexts from starting an
@@ -65,16 +65,16 @@ export class InteractionService {
65
65
  this._navigationInProgress.setDelegate(this.placeRouter.navigationInProgress$);
66
66
  const self = this;
67
67
  return new InteractionServiceRoutingAdapter(this.activeInteractionContextIds, this.activeModalContext, () => {
68
- return self.modelInteractionContextFactory.createInteractionContext('exclusive', new InteractionService.ApiAdapter(this.placeRouter, this.exclusiveInteractionRegistry));
68
+ return self.modelInteractionContextFactory.createInteractionContext("exclusive", new InteractionService.ApiAdapter(this.placeRouter, this.exclusiveInteractionRegistry));
69
69
  });
70
70
  }
71
71
  }
72
72
  InteractionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InteractionService, deps: [{ token: i1.ModalInteractionContextFactory }], target: i0.ɵɵFactoryTarget.Injectable });
73
- InteractionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InteractionService, providedIn: 'root' });
73
+ InteractionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InteractionService, providedIn: "root" });
74
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InteractionService, decorators: [{
75
75
  type: Injectable,
76
76
  args: [{
77
- providedIn: 'root'
77
+ providedIn: "root"
78
78
  }]
79
79
  }], ctorParameters: function () { return [{ type: i1.ModalInteractionContextFactory }]; } });
80
80
  (function (InteractionService) {
@@ -147,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
147
147
  ], ApiAdapter.prototype, "notifyFinished", null);
148
148
  InteractionService.ApiAdapter = ApiAdapter;
149
149
  })(InteractionService || (InteractionService = {}));
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUVMLG9CQUFvQixFQUVwQixHQUFHLEVBQ0gsZ0JBQWdCLEVBRWhCLGdCQUFnQixFQUNHLEtBQUssRUFHekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJdEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQUVyRixJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUs1QixNQUFNLE9BQU8sa0JBQWtCO0lBbUI3QixZQUFxQiw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQWpCbEUsWUFBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUdsRCxzRkFBc0Y7UUFDdEYsdUZBQXVGO1FBQ3ZGLHdFQUF3RTtRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBWTlGLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxlQUFl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RztZQUN6RywyRUFBMkU7WUFDM0UsaUdBQWlHO1lBQ2pHLGlGQUFpRjtZQUNqRixPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7Z0JBQ3BDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLENBQUM7UUFDM0QsQ0FBQztLQUNGO0lBYkM7UUFEQyxLQUFLLEVBQUU7Ozs7b0RBYVA7SUEvQlUsNkJBQVUsYUFnQ3RCLENBQUE7QUFFSCxDQUFDLEVBL0ZnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBK0ZsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIE11dGFibGVWYWx1ZU1vZGVsLCBUcmFjZSxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi8uLi9wbGFjZS9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHsgSW5QbGFjZUludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gXCIuLi9pbi1wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0XCI7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyIH0gZnJvbSAnLi9pbnRlcmFjdGlvbi1zZXJ2aWNlLXJvdXRpbmctYWRhcHRlcic7XG5cbmltcG9ydCB7IE1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeSB9IGZyb20gJy4vbW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5JztcblxubGV0IGlucGxhY2VNb25pdG9yQ291bnQgPSAwO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVNb2RhbENvbnRleHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PigpO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVJbmxpbmVDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4oKTtcbiAgLy8gcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlQ29udGV4dDogVmFsdWVNb2RlbENoYWluPEludGVyYWN0aW9uQ29udGV4dD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX25hdmlnYXRpb25JblByb2dyZXNzID0gbmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpO1xuXG4gIHByaXZhdGUgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyO1xuICBwcml2YXRlIGV4Y2x1c2l2ZUludGVyYWN0aW9uUmVnaXN0cnk6IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnk7XG4gIHByaXZhdGUgbW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5OiBJbnRlcmFjdGlvblNlcnZpY2UuQ29udGV4dFJlZ2lzdHJ5O1xuICBwcml2YXRlIGluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5OiBJbnRlcmFjdGlvblNlcnZpY2UuQ29udGV4dFJlZ2lzdHJ5O1xuICBwcml2YXRlIGFjdGl2ZU1vZGFsQ29udGV4dDogVmFsdWVNb2RlbENoYWluPEludGVyYWN0aW9uQ29udGV4dD47XG5cbiAgcmVhZG9ubHkgYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuICByZWFkb25seSBpbk1vZGFsSW50ZXJhY3Rpb246IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgbW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5OiBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkpIHtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMuZ2FyYmFnZSk7XG5cbiAgICB0aGlzLmV4Y2x1c2l2ZUludGVyYWN0aW9uUmVnaXN0cnkgPSBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLkNvbnRleHRSZWdpc3RyeSgpO1xuICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5ID0gbmV3IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnkoKTtcbiAgICB0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5ID0gbmV3IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnkoKTtcblxuICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmRpc2FibGVXaGVuKHZhbHVlT2YuYW55KFxuICAgICAgdGhpcy5leGNsdXNpdmVJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZSxcbiAgICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZVxuICAgICkuYXJlVHJ1dGh5KCkpO1xuXG4gICAgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5kaXNhYmxlV2hlbih2YWx1ZU9mLmFueShcbiAgICAgIHRoaXMuZXhjbHVzaXZlSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmUsXG4gICAgICB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmUsXG4gICAgICB0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZVxuICAgICkuYXJlVHJ1dGh5KCkpO1xuXG4gICAgdGhpcy5hY3RpdmUgPSB2YWx1ZU9mLmFueShcbiAgICAgIHRoaXMuaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlLFxuICAgICAgdGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlXG4gICAgKS5hcmVUcnV0aHkoKTtcblxuXG4gICAgLy8gVE9ETzogY2hhaW4uY29uY2F0KGxpc3RPclZhbHVlTW9kZWxzKSB3b3VsZCBiZSBuaWNlLlxuICAgIHRoaXMuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzID0gY2hhaW4odGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5pbnRlcmFjdGlvbkNvbnRleHRJZHMpXG4gICAgICAuY29uY2F0KHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmludGVyYWN0aW9uQ29udGV4dElkcyk7XG5cbiAgICB0aGlzLmFjdGl2ZU1vZGFsQ29udGV4dCA9IGNoYWluKHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmludGVyYWN0aW9uQ29udGV4dHMpLmZpcnN0KCk7XG4gICAgdGhpcy5pbk1vZGFsSW50ZXJhY3Rpb24gPSBjaGFpbih0aGlzLmFjdGl2ZU1vZGFsQ29udGV4dCkuaXNOb3ROaWwoKTtcblxuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSAjY3JlYXRlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHREaXNwb3NlZFdpdGggaW5zdGVhZC5cbiAgICogQHBhcmFtIGRpc3Bvc2FibGVcbiAgICovXG4gIGNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0Rm9yKGRpc3Bvc2FibGU6IERpc3Bvc2FibGUuQ29sbGVjdG9yKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RhbEludGVyYWN0aW9uQ29udGV4dERpc3Bvc2VkV2l0aChkaXNwb3NhYmxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG1vZGVsIGludGVyYWN0aW9uIGNvbnRleHQgdGhhdCB3aWxsIGJlIGRpc3Bvc2VkIGFsb25nIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGRpc3Bvc2FibGVcbiAgICovXG4gIGNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RGlzcG9zZWRXaXRoKGRpc3Bvc2FibGU6IERpc3Bvc2FibGUuQ29sbGVjdG9yKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICAvLyBUT0RPOiBsb29rIGF0IG1ha2luZyB0aGUgcmVnaXN0cnkgdGhlIGZhY3RvcnkuLlxuICAgIHJldHVybiB0aGlzLm1vZGVsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeS5jcmVhdGVJbnRlcmFjdGlvbkNvbnRleHQoJ21vZGFsJywgbmV3IEludGVyYWN0aW9uU2VydmljZS5BcGlBZGFwdGVyKHRoaXMucGxhY2VSb3V0ZXIsIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5KSk7XG4gIH1cblxuICByZWdpc3RlcklucGxhY2VJbnRlcmFjdGlvbkNvbnRleHQoaW50ZXJhY3Rpb25Db250ZXh0OiBJblBsYWNlSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgLy8gVE9ETzogbG9vayBhdCBtYWtpbmcgdGhlIHJlZ2lzdHJ5IHRoZSBmYWN0b3J5Li5cbiAgICAvLyBUb2RvOiBjaGVjayBmb3IgZG91YmxlIHJlZ2lzdHJhdGlvbi5cbiAgICAvLyBUb2RvOiBhbGxvdyBtdWx0aXBsZSBpbnBsYWNlIGludGVyYWN0aW9ucy4uXG4gICAgaW50ZXJhY3Rpb25Db250ZXh0LmluaXRpYWxpc2UoYGlwJHsrK2lucGxhY2VNb25pdG9yQ291bnR9YCwgbmV3IEludGVyYWN0aW9uU2VydmljZS5BcGlBZGFwdGVyKHRoaXMucGxhY2VSb3V0ZXIsIHRoaXMuaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnkpKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW50ZXJhY3Rpb24gY29udGV4dCB0aGF0IHdpbGwgcHJldmVudCBhbnkgb3RoZXIgY29udGV4dHMgZnJvbSBzdGFydGluZyBhblxuICAgKiBhY3Rpdml0eSB1bnRpbCBpdCBpcyBkaXNwb3NlZC4gIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSB0aGUgcm91dGVyIGZvciBwYXNzaW5nXG4gICAqIHRvIFBsYWNlQ29tcG9uZW50LmNhbkRlYWN0aXZhdGUoaW50ZXJhY3Rpb25Db250ZXh0KS4gIFRoaXMgZW5zdXJlcyBjb21wb25lbnRzIGRvbid0XG4gICAqIHRyeSBhbmQgaW50ZXJhY3QgaW4gYSB3YXkgdGhhdCB3ZSBjYW4ndCB0cmFjayBhbmQgc3luY2hyb25pc2Ugd2l0aCB0aGUgYnJvd3NlciBiYWNrXG4gICAqIGJ1dHRvbi5cbiAgICovXG4gIHJlZ2lzdGVyUGxhY2VSb3V0ZXIocm91dGVyOiBQbGFjZVJvdXRlcik6IEludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyIHtcbiAgICBhc3NlcnQuaXNGYWxzZXkodGhpcy5wbGFjZVJvdXRlcik7XG4gICAgdGhpcy5wbGFjZVJvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uSW5Qcm9ncmVzcy5zZXREZWxlZ2F0ZSh0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25JblByb2dyZXNzJCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBJbnRlcmFjdGlvblNlcnZpY2VSb3V0aW5nQWRhcHRlcihcbiAgICAgIHRoaXMuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzLFxuICAgICAgdGhpcy5hY3RpdmVNb2RhbENvbnRleHQsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHJldHVybiBzZWxmLm1vZGVsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeS5jcmVhdGVJbnRlcmFjdGlvbkNvbnRleHQoJ2V4Y2x1c2l2ZScsIG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuQXBpQWRhcHRlcih0aGlzLnBsYWNlUm91dGVyLCB0aGlzLmV4Y2x1c2l2ZUludGVyYWN0aW9uUmVnaXN0cnkpKTtcbiAgICAgIH0pO1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXBpIHtcblxuICAgIC8qKlxuICAgICAqIE5vdGlmaWVzIHRoZSBpbnRlcmFjdGlvbiBzZXJ2aWNlIHRoYXQgYSBwYXJ0aWN1bGFyIGludGVyYWN0aW9uQ29udGV4dCBoYXMgYmVjb21lIGFjdGl2ZS4gVGhlIGludGVyYWN0aW9uXG4gICAgICogc2VydmljZXMgd2lsbCB0aGVuIHB1c2ggY2hhbmdlcyB0byB0aGUgcm91dGVyIHRvIHRyYWNrIHN0YXRlLiAgSWYgdGhlIHJvdXRlciBpcyBpZGxlLCB0aGUgcHJvbWlzZSB3aWxsXG4gICAgICogcmVzb2x2ZSB3aGVuIHRoZSByb3V0aW5nIGhhcyBmaW5pc2hlZCB1cGRhdGluZy4gIE90aGVyd2lzZSBpdCB3aWxsIHJldHVybiBpbW1lZGlhdGVseS5cbiAgICAgKiBAcGFyYW0gaW50ZXJhY3Rpb25Db250ZXh0XG4gICAgICovXG4gICAgbm90aWZ5QWN0aXZlKGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KTogUHJvbWlzZTx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIE5vdGlmaWVzIHRoZSBpbnRlcmFjdGlvbiBzZXJ2aWNlIHRoYXQgYSBwYXJ0aWN1bGFyIGludGVyYWN0aW9uQ29udGV4dCBoYXMgYmVjb21lIGlkbGUuIFRoZSBpbnRlcmFjdGlvblxuICAgICAqIHNlcnZpY2VzIHdpbGwgdGhlbiBwdXNoIGNoYW5nZXMgdG8gdGhlIHJvdXRlciB0byB0cmFjayBzdGF0ZS4gIElmIHRoZSByb3V0ZXIgaXMgaWRsZSwgdGhlIHByb21pc2Ugd2lsbFxuICAgICAqIHJlc29sdmUgd2hlbiB0aGUgcm91dGluZyBoYXMgZmluaXNoZWQgdXBkYXRpbmcuICBPdGhlcndpc2UsIGl0IHdpbGwgcmV0dXJuIGltbWVkaWF0ZWx5LlxuICAgICAqIEBwYXJhbSBpbnRlcmFjdGlvbkNvbnRleHRcbiAgICAgKi9cbiAgICBub3RpZnlGaW5pc2hlZChpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj47XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIHRoZSBzZXJ2aWNlIHRvIGtlZXAgdHJhY2sgb2Ygd2hhdCB0aGUgQVBJIGFkYXB0ZXJzIGFyZSBkb2luZyB0b1xuICAgKiBlbnN1cmUgdGhlIHJ1bGVzIGFyZSBmb2xsb3dlZCwgaS5lLiBtb2RhbCBvciBpbi1wbGFjZSBpbnRlcmFjdGlvbiBhcmVuJ3Qgc3RhcnRlZCB3aGlsZVxuICAgKiBhbiBleGNsdXNpdmUgcm91dGluZyBpbnRlcmFjdGlvbiBpcyBhY3RpdmUuXG4gICAqL1xuICBleHBvcnQgY2xhc3MgQ29udGV4dFJlZ2lzdHJ5IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgICBwcml2YXRlIF9pbnRlcmFjdGlvbnMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxJbnRlcmFjdGlvbkNvbnRleHQ+KCk7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWREZWxlZ2F0ZSA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKSk7XG4gICAgcmVhZG9ubHkgYWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dElkczogTGlzdE1vZGVsQ2hhaW48c3RyaW5nPjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2ludGVyYWN0aW9ucykuaXNOb3RFbXB0eSgpO1xuICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHRJZHMgPSBjaGFpbih0aGlzLl9pbnRlcmFjdGlvbnMpLnBsdWNrKFwiaWRlbnRpZmllclwiKTtcbiAgICB9XG5cbiAgICBnZXQgaW50ZXJhY3Rpb25Db250ZXh0cygpOkxpc3RNb2RlbDxJbnRlcmFjdGlvbkNvbnRleHQ+IHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGlvbnMucmVhZG9ubHk7XG4gICAgfVxuXG4gICAgc3RhcnQoY29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgICB0aGlzLl9pbnRlcmFjdGlvbnMucHVzaChjb250ZXh0KTtcbiAgICB9XG5cbiAgICBmaW5pc2goY29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgICB0aGlzLl9pbnRlcmFjdGlvbnMucmVtb3ZlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlzQWN0aXZlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlLnZhbHVlO1xuICAgIH1cblxuICAgIGRpc2FibGVXaGVuKGRpc2FibGVkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgICB0aGlzLl9kaXNhYmxlZERlbGVnYXRlLnNldERlbGVnYXRlKGRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXBpQWRhcHRlciBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3IgaW1wbGVtZW50cyBBcGkge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dFJlZ2lzdHJ5OiBDb250ZXh0UmVnaXN0cnkpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gQFRyYWNlKClcbiAgICBub3RpZnlBY3RpdmUoY29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIGFzc2VydC5pc1RydXRoeShjb250ZXh0LmlkZW50aWZpZXIpO1xuICAgICAgdGhpcy5jb250ZXh0UmVnaXN0cnkuc3RhcnQoY29udGV4dCk7XG4gICAgICByZXR1cm4gdGhpcy5pc05hdmlnYXRpb25JblByb2dyZXNzKCkgPyBQcm9taXNlLnJlc29sdmUoKSA6IHRoaXMucGxhY2VSb3V0ZXIuc3luY0ludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZXIoKTtcbiAgICB9XG5cbiAgICAvLyBAVHJhY2UoKVxuICAgIHByaXZhdGUgaXNOYXZpZ2F0aW9uSW5Qcm9ncmVzcygpIHtcbiAgICAgIHJldHVybiB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25JblByb2dyZXNzJC52YWx1ZTtcbiAgICB9XG5cbiAgICBAVHJhY2UoKVxuICAgIG5vdGlmeUZpbmlzaGVkKGNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCk6IFByb21pc2U8YW55PiB7XG4gICAgICB0aGlzLmNvbnRleHRSZWdpc3RyeS5maW5pc2goY29udGV4dCk7XG4gICAgICAvLyA6OiBJbXBvcnRhbnQgOjpcbiAgICAgIC8vIFRoaXMgbWV0aG9kIHdpbGwgYmUgdHJhdmVyc2VkIGJ5IGJvdGggdGhlIHBsYWNlIHJvdXRlciAoZHVyaW5nIGNhbiBjYW5EZWFjdGl2YXRlIGd1YXJkcykgYW5kIHVzZXIgbGFuZCBjb2RlXG4gICAgICAvLyAoYm90aCB3aGVuIHJvdXRpbmcgaXMgaWRsZSBhbmQgd2hpbGUgaXQgaXMgYWN0aXZlIGluIFBsYWNlQ29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKSkuXG4gICAgICAvLyBUaGUgcmVzdWx0IG9mIHB1c2hJbnRlcmFjdGlvbklkc1RvUm91dGUgd2lsbCBub3Qgc3RhcnQgdW50aWwgYWZ0ZXIgdGhlIGN1cnJlbnQgcm91dGUgZmluaXNoZXMsIGFuZCB0aGVcbiAgICAgIC8vIGN1cnJlbnQgcm91dGUgd29uJ3QgZmluaXNoIHVudGlsIGFmdGVyIHRoaXMgcHJvbWlzZSByZXR1cm5zLi4uIERlYWRsb2NrLlxuICAgICAgLy8gU28gaW4gb3JkZXIgdG8ga2VlcCB0aGlzIGxvZ2ljIG91dCBvZiB0aGUgYWN0aXZpdGllcyB3ZSBwZXJmb3JtIHRoZSBjaGVjayBoZXJlIGFuZCBlbnN1cmUgdGhhdFxuICAgICAgLy8gYW55IGludGVyYWN0aW9ucyB3aXRoIHRoZSBjb250ZXh0IHdoaWxlIHJvdXRpbmcgaXMgYWN0aXZlIHJldHVybnMgaW1tZWRpYXRlbHkuXG4gICAgICByZXR1cm4gdGhpcy5pc05hdmlnYXRpb25JblByb2dyZXNzKCkgP1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKSA6XG4gICAgICAgIHRoaXMucGxhY2VSb3V0ZXIuc3luY0ludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZXIoKTtcbiAgICB9XG4gIH1cblxufVxuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUVMLG9CQUFvQixFQUVwQixHQUFHLEVBQ0gsZ0JBQWdCLEVBRWhCLGdCQUFnQixFQUNHLEtBQUssRUFHekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJdEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQUVyRixJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUs1QixNQUFNLE9BQU8sa0JBQWtCO0lBbUI3QixZQUFxQiw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQWpCbEUsWUFBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUdsRCxzRkFBc0Y7UUFDdEYsdUZBQXVGO1FBQ3ZGLHdFQUF3RTtRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBWTlGLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxlQUFl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QXlHO1lBQ3pHLDJFQUEyRTtZQUMzRSxpR0FBaUc7WUFDakcsaUZBQWlGO1lBQ2pGLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztnQkFDcEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsbUNBQW1DLEVBQUUsQ0FBQztRQUMzRCxDQUFDO0tBQ0Y7SUFiQztRQURDLEtBQUssRUFBRTs7OztvREFhUDtJQS9CVSw2QkFBVSxhQWdDdEIsQ0FBQTtBQUVILENBQUMsRUEvRmdCLGtCQUFrQixLQUFsQixrQkFBa0IsUUErRmxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLCBMaXN0TW9kZWwsXG4gIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBNdXRhYmxlVmFsdWVNb2RlbCwgVHJhY2UsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gXCIuLi8uLi9wbGFjZS9wbGFjZS1yb3V0ZXJcIjtcbmltcG9ydCB7IEluUGxhY2VJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vaW4tcGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSBcIi4uL2ludGVyYWN0aW9uLWNvbnRleHRcIjtcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyIH0gZnJvbSBcIi4vaW50ZXJhY3Rpb24tc2VydmljZS1yb3V0aW5nLWFkYXB0ZXJcIjtcblxuaW1wb3J0IHsgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IH0gZnJvbSBcIi4vbW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5XCI7XG5cbmxldCBpbnBsYWNlTW9uaXRvckNvdW50ID0gMDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVNb2RhbENvbnRleHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PigpO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVJbmxpbmVDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4oKTtcbiAgLy8gcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlQ29udGV4dDogVmFsdWVNb2RlbENoYWluPEludGVyYWN0aW9uQ29udGV4dD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX25hdmlnYXRpb25JblByb2dyZXNzID0gbmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpO1xuXG4gIHByaXZhdGUgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyO1xuICBwcml2YXRlIGV4Y2x1c2l2ZUludGVyYWN0aW9uUmVnaXN0cnk6IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnk7XG4gIHByaXZhdGUgbW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5OiBJbnRlcmFjdGlvblNlcnZpY2UuQ29udGV4dFJlZ2lzdHJ5O1xuICBwcml2YXRlIGluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5OiBJbnRlcmFjdGlvblNlcnZpY2UuQ29udGV4dFJlZ2lzdHJ5O1xuICBwcml2YXRlIGFjdGl2ZU1vZGFsQ29udGV4dDogVmFsdWVNb2RlbENoYWluPEludGVyYWN0aW9uQ29udGV4dD47XG5cbiAgcmVhZG9ubHkgYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuICByZWFkb25seSBpbk1vZGFsSW50ZXJhY3Rpb246IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgbW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5OiBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkpIHtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMuZ2FyYmFnZSk7XG5cbiAgICB0aGlzLmV4Y2x1c2l2ZUludGVyYWN0aW9uUmVnaXN0cnkgPSBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLkNvbnRleHRSZWdpc3RyeSgpO1xuICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5ID0gbmV3IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnkoKTtcbiAgICB0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5ID0gbmV3IEludGVyYWN0aW9uU2VydmljZS5Db250ZXh0UmVnaXN0cnkoKTtcblxuICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmRpc2FibGVXaGVuKHZhbHVlT2YuYW55KFxuICAgICAgdGhpcy5leGNsdXNpdmVJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZSxcbiAgICAgIHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZVxuICAgICkuYXJlVHJ1dGh5KCkpO1xuXG4gICAgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5kaXNhYmxlV2hlbih2YWx1ZU9mLmFueShcbiAgICAgIHRoaXMuZXhjbHVzaXZlSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmUsXG4gICAgICB0aGlzLm1vZGFsSW50ZXJhY3Rpb25SZWdpc3RyeS5hY3RpdmUsXG4gICAgICB0aGlzLmluUGxhY2VJbnRlcmFjdGlvblJlZ2lzdHJ5LmFjdGl2ZVxuICAgICkuYXJlVHJ1dGh5KCkpO1xuXG4gICAgdGhpcy5hY3RpdmUgPSB2YWx1ZU9mLmFueShcbiAgICAgIHRoaXMuaW5QbGFjZUludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlLFxuICAgICAgdGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkuYWN0aXZlXG4gICAgKS5hcmVUcnV0aHkoKTtcblxuXG4gICAgLy8gVE9ETzogY2hhaW4uY29uY2F0KGxpc3RPclZhbHVlTW9kZWxzKSB3b3VsZCBiZSBuaWNlLlxuICAgIHRoaXMuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzID0gY2hhaW4odGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeS5pbnRlcmFjdGlvbkNvbnRleHRJZHMpXG4gICAgICAuY29uY2F0KHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmludGVyYWN0aW9uQ29udGV4dElkcyk7XG5cbiAgICB0aGlzLmFjdGl2ZU1vZGFsQ29udGV4dCA9IGNoYWluKHRoaXMubW9kYWxJbnRlcmFjdGlvblJlZ2lzdHJ5LmludGVyYWN0aW9uQ29udGV4dHMpLmZpcnN0KCk7XG4gICAgdGhpcy5pbk1vZGFsSW50ZXJhY3Rpb24gPSBjaGFpbih0aGlzLmFjdGl2ZU1vZGFsQ29udGV4dCkuaXNOb3ROaWwoKTtcblxuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSAjY3JlYXRlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHREaXNwb3NlZFdpdGggaW5zdGVhZC5cbiAgICogQHBhcmFtIGRpc3Bvc2FibGVcbiAgICovXG4gIGNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0Rm9yKGRpc3Bvc2FibGU6IERpc3Bvc2FibGUuQ29sbGVjdG9yKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RhbEludGVyYWN0aW9uQ29udGV4dERpc3Bvc2VkV2l0aChkaXNwb3NhYmxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG1vZGVsIGludGVyYWN0aW9uIGNvbnRleHQgdGhhdCB3aWxsIGJlIGRpc3Bvc2VkIGFsb25nIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGRpc3Bvc2FibGVcbiAgICovXG4gIGNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RGlzcG9zZWRXaXRoKGRpc3Bvc2FibGU6IERpc3Bvc2FibGUuQ29sbGVjdG9yKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICAvLyBUT0RPOiBsb29rIGF0IG1ha2luZyB0aGUgcmVnaXN0cnkgdGhlIGZhY3RvcnkuLlxuICAgIHJldHVybiB0aGlzLm1vZGVsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeS5jcmVhdGVJbnRlcmFjdGlvbkNvbnRleHQoXCJtb2RhbFwiLCBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaUFkYXB0ZXIodGhpcy5wbGFjZVJvdXRlciwgdGhpcy5tb2RhbEludGVyYWN0aW9uUmVnaXN0cnkpKTtcbiAgfVxuXG4gIHJlZ2lzdGVySW5wbGFjZUludGVyYWN0aW9uQ29udGV4dChpbnRlcmFjdGlvbkNvbnRleHQ6IEluUGxhY2VJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICAvLyBUT0RPOiBsb29rIGF0IG1ha2luZyB0aGUgcmVnaXN0cnkgdGhlIGZhY3RvcnkuLlxuICAgIC8vIFRvZG86IGNoZWNrIGZvciBkb3VibGUgcmVnaXN0cmF0aW9uLlxuICAgIC8vIFRvZG86IGFsbG93IG11bHRpcGxlIGlucGxhY2UgaW50ZXJhY3Rpb25zLi5cbiAgICBpbnRlcmFjdGlvbkNvbnRleHQub25JbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0UmVnaXN0ZXJlZChgaXAkeysraW5wbGFjZU1vbml0b3JDb3VudH1gLCBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaUFkYXB0ZXIodGhpcy5wbGFjZVJvdXRlciwgdGhpcy5pblBsYWNlSW50ZXJhY3Rpb25SZWdpc3RyeSkpO1xuICB9XG5cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnRlcmFjdGlvbiBjb250ZXh0IHRoYXQgd2lsbCBwcmV2ZW50IGFueSBvdGhlciBjb250ZXh0cyBmcm9tIHN0YXJ0aW5nIGFuXG4gICAqIGFjdGl2aXR5IHVudGlsIGl0IGlzIGRpc3Bvc2VkLiAgVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRoZSByb3V0ZXIgZm9yIHBhc3NpbmdcbiAgICogdG8gUGxhY2VDb21wb25lbnQuY2FuRGVhY3RpdmF0ZShpbnRlcmFjdGlvbkNvbnRleHQpLiAgVGhpcyBlbnN1cmVzIGNvbXBvbmVudHMgZG9uJ3RcbiAgICogdHJ5IGFuZCBpbnRlcmFjdCBpbiBhIHdheSB0aGF0IHdlIGNhbid0IHRyYWNrIGFuZCBzeW5jaHJvbmlzZSB3aXRoIHRoZSBicm93c2VyIGJhY2tcbiAgICogYnV0dG9uLlxuICAgKi9cbiAgcmVnaXN0ZXJQbGFjZVJvdXRlcihyb3V0ZXI6IFBsYWNlUm91dGVyKTogSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXIge1xuICAgIGFzc2VydC5pc0ZhbHNleSh0aGlzLnBsYWNlUm91dGVyKTtcbiAgICB0aGlzLnBsYWNlUm91dGVyID0gcm91dGVyO1xuICAgIHRoaXMuX25hdmlnYXRpb25JblByb2dyZXNzLnNldERlbGVnYXRlKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3MkKTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IEludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyKFxuICAgICAgdGhpcy5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMsXG4gICAgICB0aGlzLmFjdGl2ZU1vZGFsQ29udGV4dCxcbiAgICAgICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHNlbGYubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dChcImV4Y2x1c2l2ZVwiLCBuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaUFkYXB0ZXIodGhpcy5wbGFjZVJvdXRlciwgdGhpcy5leGNsdXNpdmVJbnRlcmFjdGlvblJlZ2lzdHJ5KSk7XG4gICAgICB9KTtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSW50ZXJhY3Rpb25TZXJ2aWNlIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIEFwaSB7XG5cbiAgICAvKipcbiAgICAgKiBOb3RpZmllcyB0aGUgaW50ZXJhY3Rpb24gc2VydmljZSB0aGF0IGEgcGFydGljdWxhciBpbnRlcmFjdGlvbkNvbnRleHQgaGFzIGJlY29tZSBhY3RpdmUuIFRoZSBpbnRlcmFjdGlvblxuICAgICAqIHNlcnZpY2VzIHdpbGwgdGhlbiBwdXNoIGNoYW5nZXMgdG8gdGhlIHJvdXRlciB0byB0cmFjayBzdGF0ZS4gIElmIHRoZSByb3V0ZXIgaXMgaWRsZSwgdGhlIHByb21pc2Ugd2lsbFxuICAgICAqIHJlc29sdmUgd2hlbiB0aGUgcm91dGluZyBoYXMgZmluaXNoZWQgdXBkYXRpbmcuICBPdGhlcndpc2UgaXQgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkuXG4gICAgICogQHBhcmFtIGludGVyYWN0aW9uQ29udGV4dFxuICAgICAqL1xuICAgIG5vdGlmeUFjdGl2ZShpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiBOb3RpZmllcyB0aGUgaW50ZXJhY3Rpb24gc2VydmljZSB0aGF0IGEgcGFydGljdWxhciBpbnRlcmFjdGlvbkNvbnRleHQgaGFzIGJlY29tZSBpZGxlLiBUaGUgaW50ZXJhY3Rpb25cbiAgICAgKiBzZXJ2aWNlcyB3aWxsIHRoZW4gcHVzaCBjaGFuZ2VzIHRvIHRoZSByb3V0ZXIgdG8gdHJhY2sgc3RhdGUuICBJZiB0aGUgcm91dGVyIGlzIGlkbGUsIHRoZSBwcm9taXNlIHdpbGxcbiAgICAgKiByZXNvbHZlIHdoZW4gdGhlIHJvdXRpbmcgaGFzIGZpbmlzaGVkIHVwZGF0aW5nLiAgT3RoZXJ3aXNlLCBpdCB3aWxsIHJldHVybiBpbW1lZGlhdGVseS5cbiAgICAgKiBAcGFyYW0gaW50ZXJhY3Rpb25Db250ZXh0XG4gICAgICovXG4gICAgbm90aWZ5RmluaXNoZWQoaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBQcm9taXNlPHVua25vd24+O1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciB0aGUgc2VydmljZSB0byBrZWVwIHRyYWNrIG9mIHdoYXQgdGhlIEFQSSBhZGFwdGVycyBhcmUgZG9pbmcgdG9cbiAgICogZW5zdXJlIHRoZSBydWxlcyBhcmUgZm9sbG93ZWQsIGkuZS4gbW9kYWwgb3IgaW4tcGxhY2UgaW50ZXJhY3Rpb24gYXJlbid0IHN0YXJ0ZWQgd2hpbGVcbiAgICogYW4gZXhjbHVzaXZlIHJvdXRpbmcgaW50ZXJhY3Rpb24gaXMgYWN0aXZlLlxuICAgKi9cbiAgZXhwb3J0IGNsYXNzIENvbnRleHRSZWdpc3RyeSBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gICAgcHJpdmF0ZSBfaW50ZXJhY3Rpb25zID0gbmV3IE11dGFibGVMaXN0TW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PigpO1xuICAgIHByaXZhdGUgX2Rpc2FibGVkRGVsZWdhdGUgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSkpO1xuICAgIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgICByZWFkb25seSBpbnRlcmFjdGlvbkNvbnRleHRJZHM6IExpc3RNb2RlbENoYWluPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgdGhpcy5hY3RpdmUgPSBjaGFpbih0aGlzLl9pbnRlcmFjdGlvbnMpLmlzTm90RW1wdHkoKTtcbiAgICAgIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0SWRzID0gY2hhaW4odGhpcy5faW50ZXJhY3Rpb25zKS5wbHVjayhcImlkZW50aWZpZXJcIik7XG4gICAgfVxuXG4gICAgZ2V0IGludGVyYWN0aW9uQ29udGV4dHMoKTogTGlzdE1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2ludGVyYWN0aW9ucy5yZWFkb25seTtcbiAgICB9XG5cbiAgICBzdGFydChjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICAgIHRoaXMuX2ludGVyYWN0aW9ucy5wdXNoKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGZpbmlzaChjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICAgIHRoaXMuX2ludGVyYWN0aW9ucy5yZW1vdmUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgaXNBY3RpdmUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gICAgfVxuXG4gICAgZGlzYWJsZVdoZW4oZGlzYWJsZWQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkRGVsZWdhdGUuc2V0RGVsZWdhdGUoZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBBcGlBZGFwdGVyIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciBpbXBsZW1lbnRzIEFwaSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlciwgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0UmVnaXN0cnk6IENvbnRleHRSZWdpc3RyeSkge1xuICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyBAVHJhY2UoKVxuICAgIG5vdGlmeUFjdGl2ZShjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBQcm9taXNlPGFueT4ge1xuICAgICAgYXNzZXJ0LmlzVHJ1dGh5KGNvbnRleHQuaWRlbnRpZmllcik7XG4gICAgICB0aGlzLmNvbnRleHRSZWdpc3RyeS5zdGFydChjb250ZXh0KTtcbiAgICAgIHJldHVybiB0aGlzLmlzTmF2aWdhdGlvbkluUHJvZ3Jlc3MoKSA/IFByb21pc2UucmVzb2x2ZSgpIDogdGhpcy5wbGFjZVJvdXRlci5zeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcigpO1xuICAgIH1cblxuICAgIC8vIEBUcmFjZSgpXG4gICAgcHJpdmF0ZSBpc05hdmlnYXRpb25JblByb2dyZXNzKCkge1xuICAgICAgcmV0dXJuIHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3MkLnZhbHVlO1xuICAgIH1cblxuICAgIEBUcmFjZSgpXG4gICAgbm90aWZ5RmluaXNoZWQoY29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRoaXMuY29udGV4dFJlZ2lzdHJ5LmZpbmlzaChjb250ZXh0KTtcbiAgICAgIC8vIDo6IEltcG9ydGFudCA6OlxuICAgICAgLy8gVGhpcyBtZXRob2Qgd2lsbCBiZSB0cmF2ZXJzZWQgYnkgYm90aCB0aGUgcGxhY2Ugcm91dGVyIChkdXJpbmcgY2FuIGNhbkRlYWN0aXZhdGUgZ3VhcmRzKSBhbmQgdXNlciBsYW5kIGNvZGVcbiAgICAgIC8vIChib3RoIHdoZW4gcm91dGluZyBpcyBpZGxlIGFuZCB3aGlsZSBpdCBpcyBhY3RpdmUgaW4gUGxhY2VDb21wb25lbnQuY2FuRGVhY3RpdmF0ZSgpKS5cbiAgICAgIC8vIFRoZSByZXN1bHQgb2YgcHVzaEludGVyYWN0aW9uSWRzVG9Sb3V0ZSB3aWxsIG5vdCBzdGFydCB1bnRpbCBhZnRlciB0aGUgY3VycmVudCByb3V0ZSBmaW5pc2hlcywgYW5kIHRoZVxuICAgICAgLy8gY3VycmVudCByb3V0ZSB3b24ndCBmaW5pc2ggdW50aWwgYWZ0ZXIgdGhpcyBwcm9taXNlIHJldHVybnMuLi4gRGVhZGxvY2suXG4gICAgICAvLyBTbyBpbiBvcmRlciB0byBrZWVwIHRoaXMgbG9naWMgb3V0IG9mIHRoZSBhY3Rpdml0aWVzIHdlIHBlcmZvcm0gdGhlIGNoZWNrIGhlcmUgYW5kIGVuc3VyZSB0aGF0XG4gICAgICAvLyBhbnkgaW50ZXJhY3Rpb25zIHdpdGggdGhlIGNvbnRleHQgd2hpbGUgcm91dGluZyBpcyBhY3RpdmUgcmV0dXJucyBpbW1lZGlhdGVseS5cbiAgICAgIHJldHVybiB0aGlzLmlzTmF2aWdhdGlvbkluUHJvZ3Jlc3MoKSA/XG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpIDpcbiAgICAgICAgdGhpcy5wbGFjZVJvdXRlci5zeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcigpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=