jconsumer-shared 1.1.9 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/account-service.mjs +1 -1
  3. package/esm2022/lib/auth-service.mjs +1 -1
  4. package/esm2022/lib/booking-service.mjs +1 -1
  5. package/esm2022/lib/calendar/date-time/datetime-processor.service.mjs +1 -1
  6. package/esm2022/lib/common.service.mjs +1 -1
  7. package/esm2022/lib/confirm/confirm-box.component.mjs +3 -3
  8. package/esm2022/lib/confirm/confirm-box.module.mjs +1 -1
  9. package/esm2022/lib/consumer-service.mjs +9 -1
  10. package/esm2022/lib/currency-service.mjs +1 -1
  11. package/esm2022/lib/environment.service.mjs +1 -1
  12. package/esm2022/lib/error-message.module.mjs +1 -1
  13. package/esm2022/lib/error-message.service.mjs +1 -1
  14. package/esm2022/lib/file-service.mjs +1 -1
  15. package/esm2022/lib/form-message/field-error-display/field-error-display.component.mjs +3 -3
  16. package/esm2022/lib/form-message/form-message-display.module.mjs +1 -1
  17. package/esm2022/lib/form-message/form-message-display.service.mjs +1 -1
  18. package/esm2022/lib/form-message/form-success-display/form-success-display.component.mjs +3 -3
  19. package/esm2022/lib/group-storage.service.mjs +1 -1
  20. package/esm2022/lib/i8n.module.mjs +1 -1
  21. package/esm2022/lib/injector-resolver.mjs +1 -1
  22. package/esm2022/lib/j-gallery/j-gallery.component.mjs +3 -3
  23. package/esm2022/lib/j-gallery/j-gallery.module.mjs +1 -1
  24. package/esm2022/lib/j-gallery/j-gallery.service.mjs +1 -1
  25. package/esm2022/lib/local-storage.service.mjs +1 -1
  26. package/esm2022/lib/media-service.mjs +1 -1
  27. package/esm2022/lib/order.service.mjs +9 -1
  28. package/esm2022/lib/payment/modes/payment-modes.component.mjs +3 -3
  29. package/esm2022/lib/payment/modes/payment-modes.module.mjs +1 -1
  30. package/esm2022/lib/payment/payment.module.mjs +1 -1
  31. package/esm2022/lib/paytm.service.mjs +1 -1
  32. package/esm2022/lib/phone-input/phone-input.component.mjs +3 -3
  33. package/esm2022/lib/phone-input/phone-input.module.mjs +1 -1
  34. package/esm2022/lib/pipes/autolink/autolink.module.mjs +1 -1
  35. package/esm2022/lib/pipes/autolink/autolink.pipe.mjs +1 -1
  36. package/esm2022/lib/pipes/capitalize/capitalize.module.mjs +1 -1
  37. package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +1 -1
  38. package/esm2022/lib/pipes/date-format/date-format.module.mjs +1 -1
  39. package/esm2022/lib/pipes/date-format/date-format.pipe.mjs +1 -1
  40. package/esm2022/lib/pipes/filter/filter.module.mjs +1 -1
  41. package/esm2022/lib/pipes/filter/filter.pipe.mjs +1 -1
  42. package/esm2022/lib/pipes/limit-to/limitTo.module.mjs +1 -1
  43. package/esm2022/lib/pipes/limit-to/limitTo.pipe.mjs +1 -1
  44. package/esm2022/lib/pipes/safe-html/safehtml.module.mjs +1 -1
  45. package/esm2022/lib/pipes/safe-html/safehtml.pipe.mjs +1 -1
  46. package/esm2022/lib/pipes/short-filename/short-file-name.module.mjs +1 -1
  47. package/esm2022/lib/pipes/short-filename/short-file-name.pipe.mjs +1 -1
  48. package/esm2022/lib/project-constants.mjs +1 -1
  49. package/esm2022/lib/project-messages.mjs +1 -1
  50. package/esm2022/lib/questionaire/edit/questionnaire.component.mjs +3 -3
  51. package/esm2022/lib/questionaire/edit/questionnaire.module.mjs +1 -1
  52. package/esm2022/lib/questionaire/questionaire-service.mjs +1 -1
  53. package/esm2022/lib/razorpay.service.mjs +1 -1
  54. package/esm2022/lib/request-dialog/request-dialog.component.mjs +3 -3
  55. package/esm2022/lib/request-dialog/request-dialog.module.mjs +1 -1
  56. package/esm2022/lib/service-meta.mjs +1 -1
  57. package/esm2022/lib/session-storage.service.mjs +1 -1
  58. package/esm2022/lib/shared-account.guard.mjs +1 -1
  59. package/esm2022/lib/shared-account.resolver.mjs +1 -1
  60. package/esm2022/lib/shared.service.mjs +1 -1
  61. package/esm2022/lib/showuploadfile/showuploadfile.component.mjs +3 -3
  62. package/esm2022/lib/showuploadfile/showuploadfile.module.mjs +1 -1
  63. package/esm2022/lib/skeleton/skeleton-loading.component.mjs +3 -3
  64. package/esm2022/lib/skeleton/skeleton-loading.module.mjs +1 -1
  65. package/esm2022/lib/spinner/loading-spinner.component.mjs +1 -1
  66. package/esm2022/lib/spinner/loading-spinner.module.mjs +1 -1
  67. package/esm2022/lib/storage.service.mjs +1 -1
  68. package/esm2022/lib/subscription.service.mjs +1 -1
  69. package/esm2022/lib/theme.service.mjs +1 -1
  70. package/esm2022/lib/timezone-converter.mjs +1 -1
  71. package/esm2022/lib/toast.service.mjs +1 -1
  72. package/esm2022/lib/twilio-service.mjs +1 -1
  73. package/esm2022/lib/utility/remote-loader.mjs +1 -1
  74. package/esm2022/lib/word-processor.service.mjs +1 -1
  75. package/esm2022/public-api.mjs +1 -1
  76. package/fesm2022/jconsumer-shared.mjs +36 -20
  77. package/fesm2022/jconsumer-shared.mjs.map +1 -1
  78. package/jconsumer-shared-1.2.0.tgz +0 -0
  79. package/lib/consumer-service.d.ts +2 -0
  80. package/lib/order.service.d.ts +2 -0
  81. package/package.json +1 -1
  82. package/jconsumer-shared-1.1.9.tgz +0 -0
@@ -5,10 +5,10 @@ export class SkeletonLoadingComponent {
5
5
  ngOnInit() {
6
6
  }
7
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkeletonLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkeletonLoadingComponent, selector: "app-skeleton-loading", ngImport: i0, template: "<ul class=\"o-vertical-spacing o-vertical-spacing--l\">\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n\r\n</ul>\r\n", styles: [".skeleton-box{display:inline-block;height:1em;position:relative;overflow:hidden;background-color:#dddbdd}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.blog-post__headline{font-size:1.25em;font-weight:700}.blog-post__meta{font-size:.85em;color:#6b6b6b}.o-media{display:flex}.o-media__body{flex-grow:1;margin-left:1em}.o-vertical-spacing>*+*{margin-top:.75em}.o-vertical-spacing--l>*+*{margin-top:2em}header h1{font-family:Rubik,sans-serif;font-weight:500;line-height:1.2;font-size:2em}header p:not(:first-child){margin-top:1em}\n"] });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkeletonLoadingComponent, selector: "app-skeleton-loading", ngImport: i0, template: "<ul class=\"o-vertical-spacing o-vertical-spacing--l\">\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n\n</ul>\n", styles: [".skeleton-box{display:inline-block;height:1em;position:relative;overflow:hidden;background-color:#dddbdd}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.blog-post__headline{font-size:1.25em;font-weight:700}.blog-post__meta{font-size:.85em;color:#6b6b6b}.o-media{display:flex}.o-media__body{flex-grow:1;margin-left:1em}.o-vertical-spacing>*+*{margin-top:.75em}.o-vertical-spacing--l>*+*{margin-top:2em}header h1{font-family:Rubik,sans-serif;font-weight:500;line-height:1.2;font-size:2em}header p:not(:first-child){margin-top:1em}\n"] });
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkeletonLoadingComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'app-skeleton-loading', template: "<ul class=\"o-vertical-spacing o-vertical-spacing--l\">\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n <li class=\"blog-post o-media\">\r\n <div class=\"o-media__figure\">\r\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\r\n </div>\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\r\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\r\n </p>\r\n <div class=\"blog-post__meta\">\r\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n\r\n</ul>\r\n", styles: [".skeleton-box{display:inline-block;height:1em;position:relative;overflow:hidden;background-color:#dddbdd}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.blog-post__headline{font-size:1.25em;font-weight:700}.blog-post__meta{font-size:.85em;color:#6b6b6b}.o-media{display:flex}.o-media__body{flex-grow:1;margin-left:1em}.o-vertical-spacing>*+*{margin-top:.75em}.o-vertical-spacing--l>*+*{margin-top:2em}header h1{font-family:Rubik,sans-serif;font-weight:500;line-height:1.2;font-size:2em}header p:not(:first-child){margin-top:1em}\n"] }]
12
+ args: [{ selector: 'app-skeleton-loading', template: "<ul class=\"o-vertical-spacing o-vertical-spacing--l\">\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n <li class=\"blog-post o-media\">\n <div class=\"o-media__figure\">\n <span class=\"skeleton-box\" style=\"width:100px;height:80px;\"></span>\n </div>\n <div class=\"o-media__body\">\n <div class=\"o-vertical-spacing\">\n <h3 class=\"blog-post__headline\">\n <span class=\"skeleton-box\" style=\"width:55%;\"></span>\n </h3>\n <p>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n <span class=\"skeleton-box\" style=\"width:90%;\"></span>\n <span class=\"skeleton-box\" style=\"width:83%;\"></span>\n <span class=\"skeleton-box\" style=\"width:80%;\"></span>\n </p>\n <div class=\"blog-post__meta\">\n <span class=\"skeleton-box\" style=\"width:70px;\"></span>\n </div>\n </div>\n </div>\n </li>\n\n</ul>\n", styles: [".skeleton-box{display:inline-block;height:1em;position:relative;overflow:hidden;background-color:#dddbdd}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.blog-post__headline{font-size:1.25em;font-weight:700}.blog-post__meta{font-size:.85em;color:#6b6b6b}.o-media{display:flex}.o-media__body{flex-grow:1;margin-left:1em}.o-vertical-spacing>*+*{margin-top:.75em}.o-vertical-spacing--l>*+*{margin-top:2em}header h1{font-family:Rubik,sans-serif;font-weight:500;line-height:1.2;font-size:2em}header p:not(:first-child){margin-top:1em}\n"] }]
13
13
  }], ctorParameters: () => [] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU9sRCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3dHQUxVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDREQ1ByQyxzMklBNEdBOzs0RkRyR2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1za2VsZXRvbi1sb2FkaW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNrZWxldG9uTG9hZGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHVsIGNsYXNzPVwiby12ZXJ0aWNhbC1zcGFjaW5nIG8tdmVydGljYWwtc3BhY2luZy0tbFwiPlxyXG4gIDxsaSBjbGFzcz1cImJsb2ctcG9zdCBvLW1lZGlhXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiby1tZWRpYV9fZmlndXJlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19ib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJibG9nLXBvc3RfX2hlYWRsaW5lXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6NTUlO1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxwPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo4MyU7XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJibG9nLXBvc3RfX21ldGFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo3MHB4O1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2xpPlxyXG4gIDxsaSBjbGFzcz1cImJsb2ctcG9zdCBvLW1lZGlhXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiby1tZWRpYV9fZmlndXJlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19ib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJibG9nLXBvc3RfX2hlYWRsaW5lXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6NTUlO1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxwPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo4MyU7XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJibG9nLXBvc3RfX21ldGFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo3MHB4O1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2xpPlxyXG4gIDxsaSBjbGFzcz1cImJsb2ctcG9zdCBvLW1lZGlhXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiby1tZWRpYV9fZmlndXJlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19ib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJibG9nLXBvc3RfX2hlYWRsaW5lXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6NTUlO1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxwPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo4MyU7XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJibG9nLXBvc3RfX21ldGFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo3MHB4O1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2xpPlxyXG4gIDxsaSBjbGFzcz1cImJsb2ctcG9zdCBvLW1lZGlhXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiby1tZWRpYV9fZmlndXJlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19ib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJibG9nLXBvc3RfX2hlYWRsaW5lXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6NTUlO1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxwPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo4MyU7XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJibG9nLXBvc3RfX21ldGFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo3MHB4O1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2xpPlxyXG4gIDxsaSBjbGFzcz1cImJsb2ctcG9zdCBvLW1lZGlhXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiby1tZWRpYV9fZmlndXJlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19ib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJibG9nLXBvc3RfX2hlYWRsaW5lXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6NTUlO1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxwPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo4MyU7XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjgwJTtcIj48L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJibG9nLXBvc3RfX21ldGFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo3MHB4O1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2xpPlxyXG5cclxuPC91bD5cclxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tbG9hZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU9sRCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3dHQUxVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDREQ1ByQyw4b0lBNEdBOzs0RkRyR2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1za2VsZXRvbi1sb2FkaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NrZWxldG9uLWxvYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9za2VsZXRvbi1sb2FkaW5nLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTa2VsZXRvbkxvYWRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIiwiPHVsIGNsYXNzPVwiby12ZXJ0aWNhbC1zcGFjaW5nIG8tdmVydGljYWwtc3BhY2luZy0tbFwiPlxuICA8bGkgY2xhc3M9XCJibG9nLXBvc3Qgby1tZWRpYVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19maWd1cmVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWVkaWFfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiYmxvZy1wb3N0X19oZWFkbGluZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo1NSU7XCI+PC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODMlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvZy1wb3N0X19tZXRhXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjcwcHg7XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2xpPlxuICA8bGkgY2xhc3M9XCJibG9nLXBvc3Qgby1tZWRpYVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19maWd1cmVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWVkaWFfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiYmxvZy1wb3N0X19oZWFkbGluZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo1NSU7XCI+PC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODMlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvZy1wb3N0X19tZXRhXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjcwcHg7XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2xpPlxuICA8bGkgY2xhc3M9XCJibG9nLXBvc3Qgby1tZWRpYVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19maWd1cmVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWVkaWFfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiYmxvZy1wb3N0X19oZWFkbGluZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo1NSU7XCI+PC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODMlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvZy1wb3N0X19tZXRhXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjcwcHg7XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2xpPlxuICA8bGkgY2xhc3M9XCJibG9nLXBvc3Qgby1tZWRpYVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19maWd1cmVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWVkaWFfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiYmxvZy1wb3N0X19oZWFkbGluZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo1NSU7XCI+PC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODMlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvZy1wb3N0X19tZXRhXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjcwcHg7XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2xpPlxuICA8bGkgY2xhc3M9XCJibG9nLXBvc3Qgby1tZWRpYVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1lZGlhX19maWd1cmVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDoxMDBweDtoZWlnaHQ6ODBweDtcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWVkaWFfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXZlcnRpY2FsLXNwYWNpbmdcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiYmxvZy1wb3N0X19oZWFkbGluZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2tlbGV0b24tYm94XCIgc3R5bGU9XCJ3aWR0aDo1NSU7XCI+PC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODMlO1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNrZWxldG9uLWJveFwiIHN0eWxlPVwid2lkdGg6ODAlO1wiPjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvZy1wb3N0X19tZXRhXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza2VsZXRvbi1ib3hcIiBzdHlsZT1cIndpZHRoOjcwcHg7XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2xpPlxuXG48L3VsPlxuIl19
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
21
21
  ]
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tbG9hZGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBYXhFLE1BQU0sT0FBTyxxQkFBcUI7d0dBQXJCLHFCQUFxQjt5R0FBckIscUJBQXFCLGlCQVQ5Qix3QkFBd0IsYUFHeEIsWUFBWSxhQUdaLHdCQUF3Qjt5R0FHZixxQkFBcUIsWUFOOUIsWUFBWTs7NEZBTUgscUJBQXFCO2tCQVhqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU2tlbGV0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9za2VsZXRvbi1sb2FkaW5nLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2tlbGV0b25Mb2FkaW5nQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNrZWxldG9uTG9hZGluZ0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNrZWxldG9uTG9hZGluZ01vZHVsZSB7IH1cclxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc2tlbGV0b24vc2tlbGV0b24tbG9hZGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBYXhFLE1BQU0sT0FBTyxxQkFBcUI7d0dBQXJCLHFCQUFxQjt5R0FBckIscUJBQXFCLGlCQVQ5Qix3QkFBd0IsYUFHeEIsWUFBWSxhQUdaLHdCQUF3Qjt5R0FHZixxQkFBcUIsWUFOOUIsWUFBWTs7NEZBTUgscUJBQXFCO2tCQVhqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTa2VsZXRvbkxvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL3NrZWxldG9uLWxvYWRpbmcuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2tlbGV0b25Mb2FkaW5nQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNrZWxldG9uTG9hZGluZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNrZWxldG9uTG9hZGluZ01vZHVsZSB7IH1cbiJdfQ==
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
19
19
  }], ctorParameters: () => [], propDecorators: { spinnerParams: [{
20
20
  type: Input
21
21
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU96RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3ZCLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFNO0lBQ2QsTUFBTSxDQUFNO0lBQ1osZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQzt3R0FUUSx1QkFBdUI7NEZBQXZCLHVCQUF1QixtSENQcEMsMkdBQW1HOzs0RkRPdEYsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLGlDQUFpQzt3REFNbEMsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWNvbW1vbi1pbm5lcmxvYWRpbmctc3Bpbm5lcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgc3Bpbm5lclBhcmFtczogYW55ID0gW107XHJcbiAgICBkaWFtZXRlcjogYW55O1xyXG4gICAgc3Ryb2tlOiBhbnk7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZGlhbWV0ZXIgPSAodGhpcy5zcGlubmVyUGFyYW1zWydkaWFtZXRlciddKSA/IHRoaXMuc3Bpbm5lclBhcmFtc1snZGlhbWV0ZXInXSA6IDQwO1xyXG4gICAgICAgIHRoaXMuc3Ryb2tlID0gKHRoaXMuc3Bpbm5lclBhcmFtc1snc3Ryb2tld2lkdGgnXSkgPyB0aGlzLnNwaW5uZXJQYXJhbXNbJ3N0cm9rZXdpZHRoJ10gOiA1O1xyXG4gICAgfVxyXG59XHJcbiIsIjxtYXQtc3Bpbm5lciBjbGFzcz1cImlubmVyLWxvYWQtc3Bpbm5lclwiIFtzdHJva2VXaWR0aF09XCJzdHJva2VcIiBbZGlhbWV0ZXJdPVwiZGlhbWV0ZXJcIj48L21hdC1zcGlubmVyPiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU96RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3ZCLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFNO0lBQ2QsTUFBTSxDQUFNO0lBQ1osZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQzt3R0FUUSx1QkFBdUI7NEZBQXZCLHVCQUF1QixtSENQcEMsMkdBQW1HOzs0RkRPdEYsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLGlDQUFpQzt3REFNbEMsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY29tbW9uLWlubmVybG9hZGluZy1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIExvYWRpbmdTcGlubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBzcGlubmVyUGFyYW1zOiBhbnkgPSBbXTtcbiAgICBkaWFtZXRlcjogYW55O1xuICAgIHN0cm9rZTogYW55O1xuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kaWFtZXRlciA9ICh0aGlzLnNwaW5uZXJQYXJhbXNbJ2RpYW1ldGVyJ10pID8gdGhpcy5zcGlubmVyUGFyYW1zWydkaWFtZXRlciddIDogNDA7XG4gICAgICAgIHRoaXMuc3Ryb2tlID0gKHRoaXMuc3Bpbm5lclBhcmFtc1snc3Ryb2tld2lkdGgnXSkgPyB0aGlzLnNwaW5uZXJQYXJhbXNbJ3N0cm9rZXdpZHRoJ10gOiA1O1xuICAgIH1cbn1cbiIsIjxtYXQtc3Bpbm5lciBjbGFzcz1cImlubmVyLWxvYWQtc3Bpbm5lclwiIFtzdHJva2VXaWR0aF09XCJzdHJva2VcIiBbZGlhbWV0ZXJdPVwiZGlhbWV0ZXJcIj48L21hdC1zcGlubmVyPiJdfQ==
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
25
25
  ]
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBYzlFLE1BQU0sT0FBTyxvQkFBb0I7d0dBQXBCLG9CQUFvQjt5R0FBcEIsb0JBQW9CLGlCQVB6Qix1QkFBdUIsYUFKdkIsWUFBWTtZQUNaLHdCQUF3QixhQU14Qix1QkFBdUI7eUdBSWxCLG9CQUFvQixZQVh6QixZQUFZO1lBQ1osd0JBQXdCOzs0RkFVbkIsb0JBQW9CO2tCQWJoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLHdCQUF3QjtxQkFDM0I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHVCQUF1QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1QjtxQkFDMUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRpbmdTcGlubmVyTW9kdWxlIHsgfVxyXG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBYzlFLE1BQU0sT0FBTyxvQkFBb0I7d0dBQXBCLG9CQUFvQjt5R0FBcEIsb0JBQW9CLGlCQVB6Qix1QkFBdUIsYUFKdkIsWUFBWTtZQUNaLHdCQUF3QixhQU14Qix1QkFBdUI7eUdBSWxCLG9CQUFvQixZQVh6QixZQUFZO1lBQ1osd0JBQXdCOzs0RkFVbkIsb0JBQW9CO2tCQWJoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLHdCQUF3QjtxQkFDM0I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHVCQUF1QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1QjtxQkFDMUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExvYWRpbmdTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTG9hZGluZ1NwaW5uZXJDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTG9hZGluZ1NwaW5uZXJDb21wb25lbnRcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NwaW5uZXJNb2R1bGUgeyB9XG4iXX0=
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
72
72
  providedIn: 'root'
73
73
  }]
74
74
  }], ctorParameters: () => [{ type: i1.ServiceMeta }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL3N0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFRZjtJQU5GLE9BQU8sR0FBUTtRQUNyQixZQUFZLEVBQUUsSUFBSTtRQUNsQixZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFBO0lBRUQsWUFDVSxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUM5QixDQUFDO0lBRUwsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixZQUFZLEVBQUUsSUFBSTtZQUNsQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRW5CLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxPQUFPLEVBQUUsTUFBTTtZQUUxQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQzdDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3RCLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELGNBQWM7UUFDWixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNO1lBQzFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDbkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ3RDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdkIsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQixDQUFDLENBQ0EsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7d0dBcEVVLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlTWV0YSB9IGZyb20gJy4vc2VydmljZS1tZXRhJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBzdG9yYWdlOiBhbnkgPSB7XHJcbiAgICAnc3Bjb25zdW1lcic6IG51bGwsXHJcbiAgICAnc2FsdXRhdGlvbic6IG51bGxcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlbWV0YTogU2VydmljZU1ldGFcclxuICApIHsgfVxyXG5cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMuc3RvcmFnZSA9IHtcclxuICAgICAgJ3NwY29uc3VtZXInOiBudWxsLFxyXG4gICAgICAnc2FsdXRhdGlvbic6IG51bGxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zdG9yYWdlW2tleV0gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldChrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVtrZXldO1xyXG4gIH1cclxuXHJcbiAgZ2V0U1BDb25zdW1lcigpIHtcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ3NwY29uc3VtZXInKTtcclxuICB9XHJcblxyXG4gIGdldFByb3ZpZGVyQ29uc3VtZXIoKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuXHJcbiAgICAgIGNvbnN0IHNwQ29uc3VtZXIgPSBfdGhpcy5nZXQoJ3NwY29uc3VtZXInKTtcclxuICAgICAgaWYgKHNwQ29uc3VtZXIpIHtcclxuICAgICAgICByZXNvbHZlKHNwQ29uc3VtZXIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIF90aGlzLmdldFNQQ29uc3VtZXIoKS5zdWJzY3JpYmUoKHNwY29uc3VtZXIpID0+IHtcclxuICAgICAgICAgIF90aGlzLnNldCgnc3Bjb25zdW1lcicsIHNwY29uc3VtZXIpO1xyXG4gICAgICAgICAgcmVzb2x2ZShzcGNvbnN1bWVyKTtcclxuICAgICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHJlamVjdChlcnJvcik7XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldFNhbHV0YXRpb25zUmVzdCgpIHtcclxuICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci91c2VyVGl0bGUnO1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gIH1cclxuICBnZXRTYWx1dGF0aW9ucygpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgIGNvbnN0IHNhbHV0YXRpb25zID0gX3RoaXMuZ2V0KCdzYWx1dGF0aW9ucycpO1xyXG4gICAgICBpZiAoc2FsdXRhdGlvbnMpIHtcclxuICAgICAgICByZXNvbHZlKHNhbHV0YXRpb25zKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBfdGhpcy5nZXRTYWx1dGF0aW9uc1Jlc3QoKS5zdWJzY3JpYmUoKHNhbHV0YXRpb25zKSA9PiB7XHJcbiAgICAgICAgICBfdGhpcy5zZXQoJ3NhbHV0YXRpb25zJywgc2FsdXRhdGlvbnMpO1xyXG4gICAgICAgICAgcmVzb2x2ZShzYWx1dGF0aW9ucyk7XHJcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL3N0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFRZjtJQU5GLE9BQU8sR0FBUTtRQUNyQixZQUFZLEVBQUUsSUFBSTtRQUNsQixZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFBO0lBRUQsWUFDVSxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUM5QixDQUFDO0lBRUwsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixZQUFZLEVBQUUsSUFBSTtZQUNsQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRW5CLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxPQUFPLEVBQUUsTUFBTTtZQUUxQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQzdDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3RCLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELGNBQWM7UUFDWixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNO1lBQzFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDbkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ3RDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdkIsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQixDQUFDLENBQ0EsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7d0dBcEVVLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VydmljZU1ldGEgfSBmcm9tICcuL3NlcnZpY2UtbWV0YSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0b3JhZ2U6IGFueSA9IHtcbiAgICAnc3Bjb25zdW1lcic6IG51bGwsXG4gICAgJ3NhbHV0YXRpb24nOiBudWxsXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlcnZpY2VtZXRhOiBTZXJ2aWNlTWV0YVxuICApIHsgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc3RvcmFnZSA9IHtcbiAgICAgICdzcGNvbnN1bWVyJzogbnVsbCxcbiAgICAgICdzYWx1dGF0aW9uJzogbnVsbFxuICAgIH1cbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIHRoaXMuc3RvcmFnZVtrZXldID0gdmFsdWU7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlW2tleV07XG4gIH1cblxuICBnZXRTUENvbnN1bWVyKCkge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ3NwY29uc3VtZXInKTtcbiAgfVxuXG4gIGdldFByb3ZpZGVyQ29uc3VtZXIoKSB7XG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblxuICAgICAgY29uc3Qgc3BDb25zdW1lciA9IF90aGlzLmdldCgnc3Bjb25zdW1lcicpO1xuICAgICAgaWYgKHNwQ29uc3VtZXIpIHtcbiAgICAgICAgcmVzb2x2ZShzcENvbnN1bWVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF90aGlzLmdldFNQQ29uc3VtZXIoKS5zdWJzY3JpYmUoKHNwY29uc3VtZXIpID0+IHtcbiAgICAgICAgICBfdGhpcy5zZXQoJ3NwY29uc3VtZXInLCBzcGNvbnN1bWVyKTtcbiAgICAgICAgICByZXNvbHZlKHNwY29uc3VtZXIpO1xuICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGdldFNhbHV0YXRpb25zUmVzdCgpIHtcbiAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvdXNlclRpdGxlJztcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gIH1cbiAgZ2V0U2FsdXRhdGlvbnMoKSB7XG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBjb25zdCBzYWx1dGF0aW9ucyA9IF90aGlzLmdldCgnc2FsdXRhdGlvbnMnKTtcbiAgICAgIGlmIChzYWx1dGF0aW9ucykge1xuICAgICAgICByZXNvbHZlKHNhbHV0YXRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF90aGlzLmdldFNhbHV0YXRpb25zUmVzdCgpLnN1YnNjcmliZSgoc2FsdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICBfdGhpcy5zZXQoJ3NhbHV0YXRpb25zJywgc2FsdXRhdGlvbnMpO1xuICAgICAgICAgIHJlc29sdmUoc2FsdXRhdGlvbnMpO1xuICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
21
21
  providedIn: 'root'
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRXBCLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXJDLFdBQVcsQ0FBQyxPQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQzt3R0FaUSxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUhoQixNQUFNOzs0RkFHVCxtQkFBbUI7a0JBSi9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2U6IGFueSkge1xyXG4gICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KG1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gICAgY2xlYXJNZXNzYWdlKCkge1xyXG4gICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KG51bGwpO1xyXG4gICAgfVxyXG4gICAgZ2V0TWVzc2FnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcbn0iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRXBCLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXJDLFdBQVcsQ0FBQyxPQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQzt3R0FaUSxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUhoQixNQUFNOzs0RkFHVCxtQkFBbUI7a0JBSi9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdGlvblNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZTogYW55KSB7XG4gICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KG1lc3NhZ2UpO1xuICAgIH1cbiAgICBjbGVhck1lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KG51bGwpO1xuICAgIH1cbiAgICBnZXRNZXNzYWdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxufSJdfQ==
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
47
47
  type: Inject,
48
48
  args: [DOCUMENT]
49
49
  }] }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBK0IsTUFBTSxlQUFlLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxZQUFZO0lBTUs7SUFMcEIsUUFBUSxDQUFZO0lBQ3BCLGdCQUFnQixHQUEyQixJQUFJLENBQUM7SUFFeEQsWUFDRSxlQUFpQyxFQUNQLFFBQWtCLENBQUMsa0JBQWtCOztRQUFyQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxhQUFxQixFQUFFLFNBQWlCO1FBQ2hELDhCQUE4QjtRQUM5QixNQUFNLFNBQVMsR0FBRyxHQUFHLGFBQWEsR0FBRyxTQUFTLE1BQU0sQ0FBQztRQUVyRCxvQ0FBb0M7UUFDcEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUMsa0JBQWtCO1FBQ2xELENBQUM7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBb0IsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFckUseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7UUFDckYsQ0FBQyxDQUFDO1FBRUYsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDcEQsbUNBQW1DO1FBQ3JDLENBQUMsQ0FBQztRQUVGLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RSxDQUFDO3dHQXhDVSxZQUFZLGtEQU1iLFFBQVE7NEdBTlAsWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcbiAgcHJpdmF0ZSB0aGVtZUxpbmtFbGVtZW50OiBIVE1MTGlua0VsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCAvLyBJbmplY3QgRE9DVU1FTlRcclxuICApIHtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGhlbWUodGhlbWVCYXNlUGF0aDogc3RyaW5nLCB0aGVtZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gQ29uc3RydWN0IHRoZSBmdWxsIENETiBwYXRoXHJcbiAgICBjb25zdCB0aGVtZVBhdGggPSBgJHt0aGVtZUJhc2VQYXRofSR7dGhlbWVOYW1lfS5jc3NgO1xyXG5cclxuICAgIC8vIFJlbW92ZSBleGlzdGluZyB0aGVtZSBpZiBpdOKAmXMgc2V0XHJcbiAgICBpZiAodGhpcy50aGVtZUxpbmtFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnRoZW1lTGlua0VsZW1lbnQpO1xyXG4gICAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQgPSBudWxsOyAvLyBSZXNldCByZWZlcmVuY2VcclxuICAgIH1cclxuXHJcbiAgICAvLyBDcmVhdGUgYSBuZXcgbGluayBlbGVtZW50IGZvciB0aGUgdGhlbWVcclxuICAgIHRoaXMudGhlbWVMaW5rRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnbGluaycpIGFzIEhUTUxMaW5rRWxlbWVudDtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMudGhlbWVMaW5rRWxlbWVudCwgJ3JlbCcsICdzdHlsZXNoZWV0Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnRoZW1lTGlua0VsZW1lbnQsICdocmVmJywgdGhlbWVQYXRoKTtcclxuXHJcbiAgICAvLyBIYW5kbGUgc3VjY2Vzc2Z1bCBsb2FkXHJcbiAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhgVGhlbWUgbG9hZGVkOiAke3RoZW1lUGF0aH1gKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoZW1lTmFtZSk7IC8vIEFwcGx5IHRoZW1lIGNsYXNzIHRvIGJvZHlcclxuICAgIH07XHJcblxyXG4gICAgLy8gSGFuZGxlIGxvYWQgZmFpbHVyZVxyXG4gICAgdGhpcy50aGVtZUxpbmtFbGVtZW50Lm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIHRoZW1lOiAke3RoZW1lUGF0aH1gKTtcclxuICAgICAgLy8gT3B0aW9uYWxseSBsb2FkIGEgZmFsbGJhY2sgdGhlbWVcclxuICAgIH07XHJcblxyXG4gICAgLy8gQXBwZW5kIHRoZSBuZXcgdGhlbWUgdG8gdGhlIGRvY3VtZW50IGhlYWRcclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnRoZW1lTGlua0VsZW1lbnQpO1xyXG4gIH1cclxufSJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBK0IsTUFBTSxlQUFlLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxZQUFZO0lBTUs7SUFMcEIsUUFBUSxDQUFZO0lBQ3BCLGdCQUFnQixHQUEyQixJQUFJLENBQUM7SUFFeEQsWUFDRSxlQUFpQyxFQUNQLFFBQWtCLENBQUMsa0JBQWtCOztRQUFyQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxhQUFxQixFQUFFLFNBQWlCO1FBQ2hELDhCQUE4QjtRQUM5QixNQUFNLFNBQVMsR0FBRyxHQUFHLGFBQWEsR0FBRyxTQUFTLE1BQU0sQ0FBQztRQUVyRCxvQ0FBb0M7UUFDcEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUMsa0JBQWtCO1FBQ2xELENBQUM7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBb0IsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFckUseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7UUFDckYsQ0FBQyxDQUFDO1FBRUYsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDcEQsbUNBQW1DO1FBQ3JDLENBQUMsQ0FBQztRQUVGLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RSxDQUFDO3dHQXhDVSxZQUFZLGtEQU1iLFFBQVE7NEdBTlAsWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuICBwcml2YXRlIHRoZW1lTGlua0VsZW1lbnQ6IEhUTUxMaW5rRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCAvLyBJbmplY3QgRE9DVU1FTlRcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgfVxuXG4gIGxvYWRUaGVtZSh0aGVtZUJhc2VQYXRoOiBzdHJpbmcsIHRoZW1lTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gQ29uc3RydWN0IHRoZSBmdWxsIENETiBwYXRoXG4gICAgY29uc3QgdGhlbWVQYXRoID0gYCR7dGhlbWVCYXNlUGF0aH0ke3RoZW1lTmFtZX0uY3NzYDtcblxuICAgIC8vIFJlbW92ZSBleGlzdGluZyB0aGVtZSBpZiBpdOKAmXMgc2V0XG4gICAgaWYgKHRoaXMudGhlbWVMaW5rRWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmRvY3VtZW50LmhlYWQsIHRoaXMudGhlbWVMaW5rRWxlbWVudCk7XG4gICAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQgPSBudWxsOyAvLyBSZXNldCByZWZlcmVuY2VcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgbGluayBlbGVtZW50IGZvciB0aGUgdGhlbWVcbiAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy50aGVtZUxpbmtFbGVtZW50LCAncmVsJywgJ3N0eWxlc2hlZXQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnRoZW1lTGlua0VsZW1lbnQsICdocmVmJywgdGhlbWVQYXRoKTtcblxuICAgIC8vIEhhbmRsZSBzdWNjZXNzZnVsIGxvYWRcbiAgICB0aGlzLnRoZW1lTGlua0VsZW1lbnQub25sb2FkID0gKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coYFRoZW1lIGxvYWRlZDogJHt0aGVtZVBhdGh9YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhlbWVOYW1lKTsgLy8gQXBwbHkgdGhlbWUgY2xhc3MgdG8gYm9keVxuICAgIH07XG5cbiAgICAvLyBIYW5kbGUgbG9hZCBmYWlsdXJlXG4gICAgdGhpcy50aGVtZUxpbmtFbGVtZW50Lm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCB0aGVtZTogJHt0aGVtZVBhdGh9YCk7XG4gICAgICAvLyBPcHRpb25hbGx5IGxvYWQgYSBmYWxsYmFjayB0aGVtZVxuICAgIH07XG5cbiAgICAvLyBBcHBlbmQgdGhlIG5ldyB0aGVtZSB0byB0aGUgZG9jdW1lbnQgaGVhZFxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnRoZW1lTGlua0VsZW1lbnQpO1xuICB9XG59Il19
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
46
46
  providedIn: 'root'
47
47
  }]
48
48
  }], ctorParameters: () => [] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL3RpbWV6b25lLWNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8saUJBQWlCO0lBRTVCO0lBRUEsQ0FBQztJQUNELHNEQUFzRDtJQUM5Qyx1QkFBdUIsQ0FBQyxRQUFnQjtRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUErQjtZQUMxQyxRQUFRO1lBQ1IsU0FBUyxFQUFFLE9BQU8sRUFBRyxrQ0FBa0M7WUFDdkQsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUNGLHVDQUF1QztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELGdDQUFnQztRQUNoQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUM3RSxnRUFBZ0U7UUFDaEUsT0FBTyxZQUFZLElBQUksS0FBSyxDQUFDLENBQUUsOENBQThDO0lBQy9FLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBTztRQUNsQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtRQUN2RSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMscUJBQXFCO1FBQy9ELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1FBQ3pELE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDakQsUUFBUTtZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxHQUFHLEVBQUUsU0FBUztZQUNkLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7UUFFSCw0Q0FBNEM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxNQUFNLG9CQUFvQixHQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRSxPQUFPLEdBQUcsYUFBYSxLQUFLLG9CQUFvQixHQUFHLENBQUM7SUFDdEQsQ0FBQzt3R0F4Q1UsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWV6b25lQ29udmVydGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gIH1cclxuICAvLyBGdW5jdGlvbiB0byBkeW5hbWljYWxseSBmZXRjaCB0aW1lem9uZSBhYmJyZXZpYXRpb25cclxuICBwcml2YXRlIGdldFRpbWV6b25lQWJicmV2aWF0aW9uKHRpbWVab25lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcclxuICAgICAgdGltZVpvbmUsXHJcbiAgICAgIHRpbWVTdHlsZTogJ3Nob3J0JywgIC8vIFVzZSB2YWxpZCBvcHRpb25zIGZvciB0aW1lU3R5bGVcclxuICAgICAgaG91ckN5Y2xlOiAnaDEyJ1xyXG4gICAgfTtcclxuICAgIC8vIENyZWF0ZSBhIGZvcm1hdHRlciBmb3IgdGhlIHRpbWUgem9uZVxyXG4gICAgY29uc3QgZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoW10sIG9wdGlvbnMpO1xyXG4gICAgLy8gR2V0IHRoZSB0aW1lem9uZSBhYmJyZXZpYXRpb25cclxuICAgIGNvbnN0IHBhcnRzID0gZm9ybWF0dGVyLmZvcm1hdFRvUGFydHMoZGF0ZSk7XHJcbiAgICBjb25zdCB0aW1lWm9uZUFiYnIgPSBwYXJ0cy5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAndGltZVpvbmVOYW1lJyk/LnZhbHVlO1xyXG4gICAgLy8gSWYgdGhlIGFiYnJldmlhdGlvbiBpc24ndCBhdmFpbGFibGUsIHJldHVybiB0aGUgZnVsbCB0aW1lem9uZVxyXG4gICAgcmV0dXJuIHRpbWVab25lQWJiciB8fCAnSVNUJzsgIC8vIERlZmF1bHQgdG8gSVNUIGlmIGFiYnJldmlhdGlvbiBpcyBub3QgZm91bmRcclxuICB9XHJcblxyXG4gIGdldFpvbmVkVGltZShtZXNzYWdlKSB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBKU09OLnBhcnNlKG1lc3NhZ2UudGltZVN0YW1wKTsgLy8gUGFyc2UgdGhlIHRpbWVzdGFtcFxyXG4gICAgY29uc3QgdGltZVpvbmUgPSBtZXNzYWdlLnRpbWVab25lLnRyaW0oKTsgLy8gVHJpbSB0aGUgdGltZSB6b25lXHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTsgLy8gQ3JlYXRlIGEgRGF0ZSBvYmplY3RcclxuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1VUycsIHtcclxuICAgICAgdGltZVpvbmUsXHJcbiAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgICAgbW9udGg6ICdzaG9ydCcsXHJcbiAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXHJcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICBob3VyMTI6IHRydWUsXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBGb3JtYXQgdGhlIGRhdGUgdXNpbmcgSW50bC5EYXRlVGltZUZvcm1hdFxyXG4gICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGZvcm1hdHRlci5mb3JtYXQoZGF0ZSk7XHJcbiAgICBjb25zdCB0aW1lWm9uZUFiYnJldmlhdGlvbiA9ICB0aGlzLmdldFRpbWV6b25lQWJicmV2aWF0aW9uKHRpbWVab25lKTtcclxuICAgIHJldHVybiBgJHtmb3JtYXR0ZWREYXRlfSAoJHt0aW1lWm9uZUFiYnJldmlhdGlvbn0pYDtcclxuICB9XHJcbn0iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUtY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL3RpbWV6b25lLWNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8saUJBQWlCO0lBRTVCO0lBRUEsQ0FBQztJQUNELHNEQUFzRDtJQUM5Qyx1QkFBdUIsQ0FBQyxRQUFnQjtRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUErQjtZQUMxQyxRQUFRO1lBQ1IsU0FBUyxFQUFFLE9BQU8sRUFBRyxrQ0FBa0M7WUFDdkQsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUNGLHVDQUF1QztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELGdDQUFnQztRQUNoQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUM3RSxnRUFBZ0U7UUFDaEUsT0FBTyxZQUFZLElBQUksS0FBSyxDQUFDLENBQUUsOENBQThDO0lBQy9FLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBTztRQUNsQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtRQUN2RSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMscUJBQXFCO1FBQy9ELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1FBQ3pELE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDakQsUUFBUTtZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxHQUFHLEVBQUUsU0FBUztZQUNkLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7UUFFSCw0Q0FBNEM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxNQUFNLG9CQUFvQixHQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRSxPQUFPLEdBQUcsYUFBYSxLQUFLLG9CQUFvQixHQUFHLENBQUM7SUFDdEQsQ0FBQzt3R0F4Q1UsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGltZXpvbmVDb252ZXJ0ZXIge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuXG4gIH1cbiAgLy8gRnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgZmV0Y2ggdGltZXpvbmUgYWJicmV2aWF0aW9uXG4gIHByaXZhdGUgZ2V0VGltZXpvbmVBYmJyZXZpYXRpb24odGltZVpvbmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3Qgb3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICB0aW1lWm9uZSxcbiAgICAgIHRpbWVTdHlsZTogJ3Nob3J0JywgIC8vIFVzZSB2YWxpZCBvcHRpb25zIGZvciB0aW1lU3R5bGVcbiAgICAgIGhvdXJDeWNsZTogJ2gxMidcbiAgICB9O1xuICAgIC8vIENyZWF0ZSBhIGZvcm1hdHRlciBmb3IgdGhlIHRpbWUgem9uZVxuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtdLCBvcHRpb25zKTtcbiAgICAvLyBHZXQgdGhlIHRpbWV6b25lIGFiYnJldmlhdGlvblxuICAgIGNvbnN0IHBhcnRzID0gZm9ybWF0dGVyLmZvcm1hdFRvUGFydHMoZGF0ZSk7XG4gICAgY29uc3QgdGltZVpvbmVBYmJyID0gcGFydHMuZmluZChwYXJ0ID0+IHBhcnQudHlwZSA9PT0gJ3RpbWVab25lTmFtZScpPy52YWx1ZTtcbiAgICAvLyBJZiB0aGUgYWJicmV2aWF0aW9uIGlzbid0IGF2YWlsYWJsZSwgcmV0dXJuIHRoZSBmdWxsIHRpbWV6b25lXG4gICAgcmV0dXJuIHRpbWVab25lQWJiciB8fCAnSVNUJzsgIC8vIERlZmF1bHQgdG8gSVNUIGlmIGFiYnJldmlhdGlvbiBpcyBub3QgZm91bmRcbiAgfVxuXG4gIGdldFpvbmVkVGltZShtZXNzYWdlKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gSlNPTi5wYXJzZShtZXNzYWdlLnRpbWVTdGFtcCk7IC8vIFBhcnNlIHRoZSB0aW1lc3RhbXBcbiAgICBjb25zdCB0aW1lWm9uZSA9IG1lc3NhZ2UudGltZVpvbmUudHJpbSgpOyAvLyBUcmltIHRoZSB0aW1lIHpvbmVcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTsgLy8gQ3JlYXRlIGEgRGF0ZSBvYmplY3RcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICB0aW1lWm9uZSxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnc2hvcnQnLFxuICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXIxMjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIEZvcm1hdCB0aGUgZGF0ZSB1c2luZyBJbnRsLkRhdGVUaW1lRm9ybWF0XG4gICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGZvcm1hdHRlci5mb3JtYXQoZGF0ZSk7XG4gICAgY29uc3QgdGltZVpvbmVBYmJyZXZpYXRpb24gPSAgdGhpcy5nZXRUaW1lem9uZUFiYnJldmlhdGlvbih0aW1lWm9uZSk7XG4gICAgcmV0dXJuIGAke2Zvcm1hdHRlZERhdGV9ICgke3RpbWVab25lQWJicmV2aWF0aW9ufSlgO1xuICB9XG59Il19
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
31
31
  providedIn: 'root'
32
32
  }]
33
33
  }], ctorParameters: () => [{ type: i1.MessageService }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sWUFBWTtJQUdiO0lBRFYsWUFDVSxjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDcEMsQ0FBQztJQUNMLGtDQUFrQztJQUNsQyxTQUFTLENBQUMsSUFBUyxFQUFFLE9BQVksRUFBRSxPQUFZO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBWTtRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFZO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQVk7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzt3R0F4QlUsWUFBWTs0R0FBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkgeyB9XHJcbiAgLy8gVHlwZXMgOiBzdWNjZXNzLGluZm8sd2FybixlcnJvclxyXG4gIHNob3dUb2FzdCh0eXBlOiBhbnksIGhlYWRpbmc6IGFueSwgY29udGVudDogYW55KSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiB0eXBlLCBzdW1tYXJ5OiBoZWFkaW5nLCBkZXRhaWw6IGNvbnRlbnQgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93U3VjY2VzcyhtZXNzYWdlOiBhbnkpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgZGV0YWlsOiBtZXNzYWdlIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0luZm8obWVzc2FnZTogYW55KSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnaW5mbycsIGRldGFpbDogbWVzc2FnZSB9KTtcclxuICB9XHJcblxyXG4gIHNob3dXYXJuKG1lc3NhZ2U6IGFueSkge1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3dhcm4nLCBkZXRhaWw6IG1lc3NhZ2UgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93RXJyb3IobWVzc2FnZTogYW55KSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBkZXRhaWw6IG1lc3NhZ2UgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sWUFBWTtJQUdiO0lBRFYsWUFDVSxjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDcEMsQ0FBQztJQUNMLGtDQUFrQztJQUNsQyxTQUFTLENBQUMsSUFBUyxFQUFFLE9BQVksRUFBRSxPQUFZO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBWTtRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFZO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQVk7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzt3R0F4QlUsWUFBWTs0R0FBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHsgfVxuICAvLyBUeXBlcyA6IHN1Y2Nlc3MsaW5mbyx3YXJuLGVycm9yXG4gIHNob3dUb2FzdCh0eXBlOiBhbnksIGhlYWRpbmc6IGFueSwgY29udGVudDogYW55KSB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogdHlwZSwgc3VtbWFyeTogaGVhZGluZywgZGV0YWlsOiBjb250ZW50IH0pO1xuICB9XG5cbiAgc2hvd1N1Y2Nlc3MobWVzc2FnZTogYW55KSB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBkZXRhaWw6IG1lc3NhZ2UgfSk7XG4gIH1cblxuICBzaG93SW5mbyhtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnaW5mbycsIGRldGFpbDogbWVzc2FnZSB9KTtcbiAgfVxuXG4gIHNob3dXYXJuKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICd3YXJuJywgZGV0YWlsOiBtZXNzYWdlIH0pO1xuICB9XG5cbiAgc2hvd0Vycm9yKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIGRldGFpbDogbWVzc2FnZSB9KTtcbiAgfVxuXG59XG4iXX0=
@@ -463,4 +463,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
463
463
  providedIn: 'any'
464
464
  }]
465
465
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
466
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpbGlvLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvdHdpbGlvLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7O0FBSWpDLE1BQU0sT0FBTyxhQUFhO0lBMEJIO0lBekJuQixXQUFXLENBQWE7SUFDeEIsVUFBVSxDQUFhO0lBQ3ZCLGdCQUFnQixDQUFhO0lBQzdCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNiLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixnQkFBZ0IsQ0FBQztJQUNqQixpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFDdEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixZQUFZLENBQUM7SUFDYixjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsUUFBUSxDQUFZO0lBQzVCLFVBQVUsQ0FBUztJQUNuQixhQUFhLENBQUM7SUFDZCxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUNsQyxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUMzQixNQUFNLENBQUMsY0FBYyxDQUFNO0lBQ2xDLGVBQWUsQ0FBUztJQUN4QixjQUFjLENBQUM7SUFDZixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBQztJQUNYLGtCQUFrQixDQUFDO0lBQ25CLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixZQUFtQixlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FB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bnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IFZpZGVvIGZyb20gJ3R3aWxpby12aWRlbyc7XHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdhbnknXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUd2lsaW9TZXJ2aWNlIHtcclxuICAgIHJlbW90ZVZpZGVvOiBFbGVtZW50UmVmO1xyXG4gICAgbG9jYWxWaWRlbzogRWxlbWVudFJlZjtcclxuICAgIHByZXZpZXdDb250YWluZXI6IEVsZW1lbnRSZWY7XHJcbiAgICBtaWNyb3Bob25lID0gdHJ1ZTtcclxuICAgIHZpZGVvID0gdHJ1ZTtcclxuICAgIHByZXZpZXcgPSB0cnVlO1xyXG4gICAgcm9vbVBhcnRpY2lwYW50cztcclxuICAgIHBhcnRpY2lwYW50c0NvdW50ID0gMDtcclxuICAgIHNob3dQYXJ0aWNpcGFudCA9IGZhbHNlO1xyXG4gICAgcHJldmlld1RyYWNrO1xyXG4gICAgY2FtRGV2aWNlQ291bnQgPSAwO1xyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG4gICAgY2FtZXJhTW9kZTogc3RyaW5nO1xyXG4gICAgcHJldmlld1RyYWNrcztcclxuICAgIHRpbWVyU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIGVycm9yU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIHB1YmxpYyBzdGF0aWMgc2lnbmFsU3RyZW5ndGg6IGFueTtcclxuICAgIHNlbGVjdGVkVmlkZW9JZDogc3RyaW5nO1xyXG4gICAgYWN0aXZlQ2FtSW5kZXg7XHJcbiAgICBjYW0xRGV2aWNlOiBzdHJpbmc7XHJcbiAgICBjYW0yRGV2aWNlOiBzdHJpbmc7XHJcbiAgICBhY3RpdmVSb29tO1xyXG4gICAgcHJldmlld1RyYWNrc0Nsb25lO1xyXG4gICAgYnRuQ2xpY2tlZCA9IGZhbHNlO1xyXG4gICAgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWN0aXZhdGVUaW1lcih0aW1lcjogYW55KSB7XHJcbiAgICAgICAgdGhpcy50aW1lclN1YmplY3QubmV4dCh0aW1lcik7XHJcbiAgICB9XHJcbiAgICBnZXRUaW1lcigpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRpbWVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZW5kRXJyb3IoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JTdWJqZWN0Lm5leHQoZXJyb3IpO1xyXG4gICAgfVxyXG4gICAgZ2V0RXJyb3IoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcbiAgICAvLyBwcml2YXRlIHN0YXRpYyBnZXRTaWduYWxTdHJlbmd0aCAoKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIFR3aWxpb1NlcnZpY2Uuc2lnbmFsU3RyZW5ndGg7XHJcbiAgICAvLyB9XHJcbiAgICB1bm11dGVWaWRlbygpIHtcclxuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgX3RoaXMucHJldmlld1RyYWNrcy5mb3JFYWNoKGxvY2FsVHJhY2sgPT4ge1xyXG4gICAgICAgICAgICBpZihsb2NhbFRyYWNrLmtpbmQgPT09ICd2aWRlbycpIHtcclxuICAgICAgICAgICAgICAgICBfdGhpcy5wcmV2aWV3VHJhY2tzQ2xvbmUucHVzaChsb2NhbFRyYWNrKTtcclxuICAgICAgICAgICAgICAgIF90aGlzLmFkZFByZXZpZXdUcmFja1RvRG9tKGxvY2FsVHJhY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudmlkZW8gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgbXV0ZVZpZGVvKCkge1xyXG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICBfdGhpcy5wcmV2aWV3VHJhY2tzLmZvckVhY2gobG9jYWxUcmFjayA9PiB7XHJcbiAgICAgICAgICAgIGlmKGxvY2FsVHJhY2sua2luZCA9PT0gJ3ZpZGVvJykge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMucHJldmlld1RyYWNrc0Nsb25lLnNwbGljZSh0aGlzLnByZXZpZXdUcmFja3NDbG9uZS5pbmRleE9mKGxvY2FsVHJhY2spLCAxKTtcclxuICAgICAgICAgICAgICAgIF90aGlzLnJlbW92ZVByZXZpZXdUcmFja1RvRG9tKGxvY2FsVHJhY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52aWRlbyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmVtb3ZlUHJldmlld1RyYWNrVG9Eb20obG9jYWxUcmFjaykge1xyXG4gICAgICAgIGNvbnN0IF90aGlzPXRoaXM7XHJcbiAgICAgICAgaWYgKF90aGlzLnByZXZpZXdDb250YWluZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgbG9jYWxFbGVtZW50ID0gX3RoaXMucHJldmlld0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICB3aGlsZSAobG9jYWxFbGVtZW50LmZpcnN0Q2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIGxvY2FsRWxlbWVudC5yZW1vdmVDaGlsZChsb2NhbEVsZW1lbnQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxuICAgIG11dGVBdWRpbygpIHtcclxuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgX3RoaXMucHJldmlld1RyYWNrcy5mb3JFYWNoKGxvY2FsVHJhY2sgPT4ge1xyXG4gICAgICAgICAgICBpZihsb2NhbFRyYWNrLmtpbmQgPT09ICdhdWRpbycpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3NDbG9uZS5zcGxpY2UodGhpcy5wcmV2aWV3VHJhY2tzQ2xvbmUuaW5kZXhPZihsb2NhbFRyYWNrKSwgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1pY3JvcGhvbmUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHVubXV0ZUF1ZGlvKCkge1xyXG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICBfdGhpcy5wcmV2aWV3VHJhY2tzLmZvckVhY2gobG9jYWxUcmFjayA9PiB7XHJcbiAgICAgICAgICAgIGlmKGxvY2FsVHJhY2sua2luZCA9PT0gJ2F1ZGlvJykge1xyXG4gICAgICAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3NDbG9uZS5wdXNoKGxvY2FsVHJhY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5taWNyb3Bob25lID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGFkZFByZXZpZXdUcmFja1RvRG9tKHByZXZpZXdUcmFjaykge1xyXG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gcHJldmlld1RyYWNrLmF0dGFjaCgpO1xyXG4gICAgICAgIF90aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsICdyZW0tdmlkZW8nKTtcclxuICAgICAgICBfdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChfdGhpcy5wcmV2aWV3Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZVZpZGVvKCkge1xyXG4gICAgICAgIGNvbnN0IF90aGlzPSB0aGlzO1xyXG4gICAgICAgIFZpZGVvLmNyZWF0ZUxvY2FsVmlkZW9UcmFjayh7XHJcbiAgICAgICAgICAgIGRldmljZUlkOiB7IGV4YWN0OiBfdGhpcy5zZWxlY3RlZFZpZGVvSWQgfVxyXG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGxvY2FsVmlkZW9UcmFjaykge1xyXG4gICAgICAgICAgICBfdGhpcy5hY3RpdmVSb29tLmxvY2FsUGFydGljaXBhbnQucHVibGlzaFRyYWNrKGxvY2FsVmlkZW9UcmFjayk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC5pZGVudGl0eSArICcgYWRkZWQgdHJhY2s6ICcgKyBsb2NhbFZpZGVvVHJhY2sua2luZCk7XHJcbiAgICAgICAgICAgIF90aGlzLmF0dGFjaFRyYWNrcyhbbG9jYWxWaWRlb1RyYWNrXSwgX3RoaXMubG9jYWxWaWRlby5uYXRpdmVFbGVtZW50LCBfdGhpcy5hY3RpdmVSb29tKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZpZGVvID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGRpc2FibGVWaWRlbygpIHtcclxuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgX3RoaXMuYWN0aXZlUm9vbS5sb2NhbFBhcnRpY2lwYW50LnZpZGVvVHJhY2tzLmZvckVhY2gocHVibGljYXRpb24gPT4ge1xyXG4gICAgICAgICAgICBwdWJsaWNhdGlvbi50cmFjay5zdG9wKCk7XHJcbiAgICAgICAgICAgIHB1YmxpY2F0aW9uLnVucHVibGlzaCgpO1xyXG4gICAgICAgICAgICBpZiAoX3RoaXMubG9jYWxWaWRlbykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxFbGVtZW50ID0gX3RoaXMubG9jYWxWaWRlby5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKGxvY2FsRWxlbWVudC5maXJzdENoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxFbGVtZW50LnJlbW92ZUNoaWxkKGxvY2FsRWxlbWVudC5maXJzdENoaWxkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudmlkZW8gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIG11dGUoKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVSb29tLmxvY2FsUGFydGljaXBhbnQuYXVkaW9UcmFja3MuZm9yRWFjaChmdW5jdGlvbiAoYXVkaW9UcmFjaykge1xyXG4gICAgICAgICAgICBhdWRpb1RyYWNrLnRyYWNrLmRpc2FibGUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1pY3JvcGhvbmUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHVubXV0ZSgpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC5hdWRpb1RyYWNrcy5mb3JFYWNoKGZ1bmN0aW9uIChhdWRpb1RyYWNrKSB7XHJcbiAgICAgICAgICAgIGF1ZGlvVHJhY2sudHJhY2suZW5hYmxlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5taWNyb3Bob25lID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8vIG1lZGlhP1xyXG4gICAgc3dpdGNoQ2FtZXJhKHZpZGVvRGV2aWNlcykge1xyXG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICB0aGlzLmFjdGl2ZUNhbUluZGV4Kys7XHJcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlQ2FtSW5kZXggPj0gdmlkZW9EZXZpY2VzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNhbUluZGV4ID0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJWaWRlbyBEZXZpY2VzOlwiLCB2aWRlb0RldmljZXMpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiQWN0aXZlIENhbSBJbmRleDpcIiwgdGhpcy5hY3RpdmVDYW1JbmRleCk7XHJcbiAgICAgICAgLy8gX3RoaXMuc2VsZWN0ZWRWaWRlb0lkID1tZWRpYS5kZXZpY2VJZDtcclxuICAgICAgICBfdGhpcy5zZWxlY3RlZFZpZGVvSWQgPSB2aWRlb0RldmljZXNbdGhpcy5hY3RpdmVDYW1JbmRleF0uZGV2aWNlSWQ7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAvLyBpZiAoX3RoaXMuc2VsZWN0ZWRWaWRlb0lkID09PSBfdGhpcy5jYW0xRGV2aWNlKSB7XHJcbiAgICAgICAgLy8gICAgIF90aGlzLnNlbGVjdGVkVmlkZW9JZCA9IF90aGlzLmNhbTJEZXZpY2U7XHJcbiAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAvLyAgICAgX3RoaXMuc2VsZWN0ZWRWaWRlb0lkID0gX3RoaXMuY2FtMURldmljZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgY29uc3QgbG9jYWxQYXJ0aWNpcGFudCA9IF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudDtcclxuICAgICAgICBjb25zdCB0cmFja3MgPSBBcnJheS5mcm9tKGxvY2FsUGFydGljaXBhbnQudmlkZW9UcmFja3MudmFsdWVzKCkpLm1hcChcclxuICAgICAgICAgICAgZnVuY3Rpb24gKHRyYWNrUHVibGljYXRpb24pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFja1B1YmxpY2F0aW9uWyd0cmFjayddO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICBsb2NhbFBhcnRpY2lwYW50LnVucHVibGlzaFRyYWNrcyh0cmFja3MpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGxvY2FsUGFydGljaXBhbnQuaWRlbnRpdHkgKyAnIHJlbW92ZWQgdHJhY2s6ICcgKyB0cmFja3NbMF0ua2luZCk7XHJcbiAgICAgICAgX3RoaXMuZGV0YWNoVHJhY2tzKHRyYWNrcyk7XHJcbiAgICAgICAgX3RoaXMuc3RvcFRyYWNrcyh0cmFja3MpO1xyXG4gICAgICAgIGNvbnN0IHZpZGVvaWQgPSBfdGhpcy5zZWxlY3RlZFZpZGVvSWQ7XHJcbiAgICAgICAgVmlkZW8uY3JlYXRlTG9jYWxWaWRlb1RyYWNrKHtcclxuICAgICAgICAgICAgZGV2aWNlSWQ6IHsgZXhhY3Q6IHZpZGVvaWQgfVxyXG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGxvY2FsVmlkZW9UcmFjaykge1xyXG4gICAgICAgICAgICBsb2NhbFBhcnRpY2lwYW50LnB1Ymxpc2hUcmFjayhsb2NhbFZpZGVvVHJhY2spO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFBhcnRpY2lwYW50LmlkZW50aXR5ICsgJyBhZGRlZCB0cmFjazogJyArIGxvY2FsVmlkZW9UcmFjay5raW5kKTtcclxuICAgICAgICAgICAgX3RoaXMuYXR0YWNoVHJhY2tzKFtsb2NhbFZpZGVvVHJhY2tdLCBfdGhpcy5sb2NhbFZpZGVvLm5hdGl2ZUVsZW1lbnQsIF90aGlzLmFjdGl2ZVJvb20pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbm5lY3RUb1Jvb20oYWNjZXNzVG9rZW4sIG9wdGlvbnMsIHRyYWNrcz8pIHtcclxuICAgICAgICAvLyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkluIENvbm5lY3QgUm9vbVwiKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0cmFja3MpO1xyXG4gICAgICAgIGlmKHRyYWNrcykge1xyXG4gICAgICAgICAgICBfdGhpcy5wcmV2aWV3VHJhY2tzID0gdHJhY2tzO1xyXG4gICAgICAgICAgICBfdGhpcy5wcmV2aWV3VHJhY2tzQ2xvbmUgPSB0cmFja3Muc2xpY2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKF90aGlzLnByZXZpZXdUcmFja3MpIHtcclxuICAgICAgICAgICAgb3B0aW9uc1sndHJhY2tzJ10gPSBfdGhpcy5wcmV2aWV3VHJhY2tzO1xyXG4gICAgICAgIH0gICAgICBcclxuICAgICAgICBjb25zb2xlLmxvZyhfdGhpcy5wcmV2aWV3VHJhY2tzKTtcclxuICAgICAgICBWaWRlby5jb25uZWN0KGFjY2Vzc1Rva2VuLCBvcHRpb25zKS50aGVuKFxyXG4gICAgICAgICAgICAocm9vbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByb29tLmxvY2FsUGFydGljaXBhbnQuc2V0TmV0d29ya1F1YWxpdHlDb25maWd1cmF0aW9uKHtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbDogMixcclxuICAgICAgICAgICAgICAgICAgICByZW1vdGU6IDFcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMucHJldmlldyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMubG9hZGluZz0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5hY3RpdmVSb29tID0gcm9vbTtcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zWyd2aWRlbyddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFfdGhpcy5sb2NhbFZpZGVvLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImluIGNvbm5lY3QgbWV0aG9kXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5hdHRhY2hQYXJ0aWNpcGFudFRyYWNrcyhyb29tLmxvY2FsUGFydGljaXBhbnQsIF90aGlzLmxvY2FsVmlkZW8ubmF0aXZlRWxlbWVudCwgcm9vbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGlja2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5yb29tSm9pbmVkKHJvb20pO1xyXG4gICAgICAgICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIHJlamVjdChlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgfVxyXG4gICAgbmV0d29ya1F1YWxpdHlDaGFuZ2VkKG5ldHdvcmtRdWFsaXR5TGV2ZWwsIG5ldHdvcmtRdWFsaXR5U3RhdHMpIHtcclxuICAgICAgICBUd2lsaW9TZXJ2aWNlLnNpZ25hbFN0cmVuZ3RoID0gbmV0d29ya1F1YWxpdHlMZXZlbDtcclxuICAgICAgICBjb25zb2xlLmxvZyh7XHJcbiAgICAgICAgICAgIDE6ICfiloMnLFxyXG4gICAgICAgICAgICAyOiAn4paD4paEJyxcclxuICAgICAgICAgICAgMzogJ+KWg+KWhOKWhScsXHJcbiAgICAgICAgICAgIDQ6ICfiloPiloTiloXiloYnLFxyXG4gICAgICAgICAgICA1OiAn4paD4paE4paF4paG4paHJ1xyXG4gICAgICAgICAgfVtuZXR3b3JrUXVhbGl0eUxldmVsXSB8fCAnJyk7XHJcbiAgICAgICAgICBpZiAobmV0d29ya1F1YWxpdHlTdGF0cykge1xyXG4gICAgICAgICAgICAvLyBQcmludCBpbiBjb25zb2xlIHRoZSBuZXR3b3JrUXVhbGl0eVN0YXRzLCB3aGljaCBpcyBub24tbnVsbCBvbmx5IGlmIE5ldHdvcmsgUXVhbGl0eVxyXG4gICAgICAgICAgICAvLyB2ZXJib3NpdHkgaXMgMiAobW9kZXJhdGUpIG9yIGdyZWF0ZXJcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ05ldHdvcmsgUXVhbGl0eSBzdGF0aXN0aWNzOicsIG5ldHdvcmtRdWFsaXR5U3RhdHMpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQXR0YWNoIHRoZSBUcmFja3MgdG8gdGhlIERPTS5cclxuICAgIGF0dGFjaFRyYWNrcyh0cmFja3MsIGNvbnRhaW5lciwgcm9vbSkge1xyXG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICBjb25zb2xlLmxvZyhcImF0dGFjaFRyYWNrc1wiKTtcclxuICAgICAgICB0cmFja3MuZm9yRWFjaChmdW5jdGlvbiAodHJhY2spIHtcclxuICAgICAgICAgICAgaWYgKHRyYWNrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0cmFjayk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdHJhY2suYXR0YWNoKCk7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5yZW5kZXJlci5kYXRhWydpZCddID0gdHJhY2suc2lkO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgJ3JlbS12aWRlbycpO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoY29udGFpbmVyLCBlbGVtZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBBdHRhY2ggdGhlIFBhcnRpY2lwYW50J3MgVHJhY2tzIHRvIHRoZSBET00uXHJcbiAgICBhdHRhY2hQYXJ0aWNpcGFudFRyYWNrcyhwYXJ0aWNpcGFudCwgY29udGFpbmVyLCByb29tKSB7XHJcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIHZhciB0cmFja3MgPSBBcnJheS5mcm9tKHBhcnRpY2lwYW50LnRyYWNrcy52YWx1ZXMoKSkubWFwKGZ1bmN0aW9uICh0cmFja1B1YmxpY2F0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cmFja1B1YmxpY2F0aW9uWyd0cmFjayddO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiYXR0YWNoUGFydGljaXBhbnRUcmFja3NcIik7XHJcbiAgICAgICAgX3RoaXMuYXR0YWNoVHJhY2tzKHRyYWNrcywgY29udGFpbmVyLCByb29tKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEZXRhY2ggdGhlIFRyYWNrcyBmcm9tIHRoZSBET00uXHJcbiAgICBkZXRhY2hUcmFja3ModHJhY2tzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJkZXRhY2hUcmFja3NcIik7XHJcbiAgICAgICAgdHJhY2tzLmZvckVhY2goZnVuY3Rpb24gKHRyYWNrKSB7XHJcbiAgICAgICAgICAgIGlmICh0cmFjaykge1xyXG4gICAgICAgICAgICAgICAgdHJhY2suZGV0YWNoKCkuZm9yRWFjaChmdW5jdGlvbiAoZGV0YWNoZWRFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGV0YWNoZWRFbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEZXRhY2ggdGhlIFBhcnRpY2lwYW50J3MgVHJhY2tzIGZyb20gdGhlIERPTS5cclxuICAgIGRldGFjaFBhcnRpY2lwYW50VHJhY2tzKHBhcnRpY2lwYW50LCByb29tLCBfdGhpcykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZGV0YWNoUGFydGljaXBhbnRUcmFja3NcIik7XHJcbiAgICAgICAgdmFyIHRyYWNrcyA9IEFycmF5LmZyb20ocGFydGljaXBhbnQudHJhY2tzLnZhbHVlcygpKS5tYXAoZnVuY3Rpb24gKHRyYWNrUHVibGljYXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRyYWNrUHVibGljYXRpb25bJ3RyYWNrJ107XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgX3RoaXMuZGV0YWNoVHJhY2tzKHRyYWNrcywgcm9vbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gXHJcbiAgICBzdG9wVHJhY2tzKHRyYWNrcykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwic3RvcFRyYWNrc1wiKTtcclxuICAgICAgICB0cmFja3MuZm9yRWFjaChmdW5jdGlvbiAodHJhY2spIHtcclxuICAgICAgICAgICAgaWYgKHRyYWNrKSB7IHRyYWNrLnN0b3AoKTsgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICAvLyBTdWNjZXNzZnVsbHkgY29ubmVjdGVkIVxyXG4gICAgcm9vbUpvaW5lZChyb29tKSB7XHJcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIC8vIEF0dGFjaCB0aGUgVHJhY2tzIG9mIHRoZSBSb29tJ3MgUGFydGljaXBhbnRzLlxyXG4gICAgICAgIGlmICghX3RoaXMudmlkZW8pIHtcclxuICAgICAgICAgICAgX3RoaXMuZGlzYWJsZVZpZGVvKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghX3RoaXMubWljcm9waG9uZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5tdXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJvb20ubG9jYWxQYXJ0aWNpcGFudC5vbignbmV0d29ya1F1YWxpdHlMZXZlbENoYW5nZWQnLCB0aGlzLm5ldHdvcmtRdWFsaXR5Q2hhbmdlZCk7XHJcbiAgICAgICAgcm9vbS5wYXJ0aWNpcGFudHMuZm9yRWFjaCgocGFydGljaXBhbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJQYXJ0aWNpcGFudDpcIiwgcGFydGljaXBhbnQpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkFscmVhZHkgaW4gUm9vbTogJ1wiICsgcGFydGljaXBhbnQuaWRlbnRpdHkgKyBcIidcIik7XHJcbiAgICAgICAgICAgIF90aGlzLmF0dGFjaFBhcnRpY2lwYW50VHJhY2tzKHBhcnRpY2lwYW50LCBfdGhpcy5yZW1vdGVWaWRlby5uYXRpdmVFbGVtZW50LCByb29tKTtcclxuICAgICAgICAgICAgX3RoaXMucGFydGljaXBhbnRzQ291bnQgPSByb29tLnBhcnRpY2lwYW50cy5zaXplO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnZmlyc3Q6cGFydGljaXBhbnRzQ291bnQ6JyArIF90aGlzLnBhcnRpY2lwYW50c0NvdW50KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gV2hlbiBhIFBhcnRpY2lwYW50IGpvaW5zIHRoZSBSb29tLCBsb2cgdGhlIGV2ZW50LlxyXG4gICAgICAgIHJvb20ub24oJ3BhcnRpY2lwYW50Q29ubmVjdGVkJywgZnVuY3Rpb24gKHBhcnRpY2lwYW50KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUGFydGljaXBhbnQ6XCIsIHBhcnRpY2lwYW50KTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJKb2luaW5nOiAnXCIgKyBwYXJ0aWNpcGFudC5pZGVudGl0eSArIFwiJ1wiKTtcclxuICAgICAgICAgICAgX3RoaXMucGFydGljaXBhbnRzQ291bnQgPSByb29tLnBhcnRpY2lwYW50cy5zaXplO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImNvbm5lY3RlZCAtIFBhcnRpY2lwYW50czpcIiArIHJvb20ucGFydGljaXBhbnRzLnNpemUpO1xyXG4gICAgICAgICAgICBpZiAoX3RoaXMucGFydGljaXBhbnRzQ291bnQgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmFjdGl2YXRlVGltZXIodHJ1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5hY3RpdmF0ZVRpbWVyKGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBXaGVuIGEgUGFydGljaXBhbnQgYWRkcyBhIFRyYWNrLCBhdHRhY2ggaXQgdG8gdGhlIERPTS5cclxuICAgICAgICByb29tLm9uKCd0cmFja1N1YnNjcmliZWQnLCBmdW5jdGlvbiAodHJhY2ssIHRyYWNrUHVibGljYXRpb24sIHBhcnRpY2lwYW50KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTG9jYWwgUGFydGljaXBhbnQ6XCIsIHJvb20ubG9jYWxQYXJ0aWNpcGFudCk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUmVtb3RlIFBhcnRpY2lwYW50OlwiLCByb29tLnJlbW90ZVBhcnRpY2lwYW50KTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocGFydGljaXBhbnQuaWRlbnRpdHkgKyAnIGFkZGVkIHRyYWNrOiAnICsgdHJhY2sua2luZCk7XHJcbiAgICAgICAgICAgIF90aGlzLnBhcnRpY2lwYW50c0NvdW50ID0gcm9vbS5wYXJ0aWNpcGFudHMuc2l6ZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJQYXJ0aWNpcGFudHM6XCIgK190aGlzLnBhcnRpY2lwYW50c0NvdW50KTtcclxuICAgICAgICAgICAgLy8gdmFyIHByZXZpZXdDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVtb3RlVmlkZW8nKTtcclxuICAgICAgICAgICAgX3RoaXMuYXR0YWNoVHJhY2tzKFt0cmFja10sIF90aGlzLnJlbW90ZVZpZGVvLm5hdGl2ZUVsZW1lbnQsIHJvb20pO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygndHJhY2tzdWJzY3JpYmVkJyk7XHJcbiAgICAgICAgICAgIGlmKHRyYWNrLmtpbmQgPT09ICd2aWRlbycpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLnJlbW92ZVJlbW90ZVBhcnRpY2lwYW50RGV0YWlscyhfdGhpcy5yZW1vdGVWaWRlby5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoX3RoaXMucGFydGljaXBhbnRzQ291bnQgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmFjdGl2YXRlVGltZXIodHJ1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5hY3RpdmF0ZVRpbWVyKGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBXaGVuIGEgUGFydGljaXBhbnQgcmVtb3ZlcyBhIFRyYWNrLCBkZXRhY2ggaXQgZnJvbSB0aGUgRE9NLlxyXG4gICAgICAgIHJvb20ub24oJ3RyYWNrVW5zdWJzY3JpYmVkJywgZnVuY3Rpb24gKHRyYWNrLCB0cmFja1B1YmxpY2F0aW9uLCBwYXJ0aWNpcGFudCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhwYXJ0aWNpcGFudC5pZGVudGl0eSArICcgcmVtb3ZlZCB0cmFjazogJyArIHRyYWNrLmtpbmQpO1xyXG4gICAgICAgICAgICBfdGhpcy5kZXRhY2hUcmFja3MoW3RyYWNrXSk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0cmFja1Vuc3Vic2NyaWJlZCcpO1xyXG4gICAgICAgICAgICBpZih0cmFjay5raW5kID09PSAndmlkZW8nKSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5hZGRSZW1vdGVQYXJ0aWNpcGFudERldGFpbHMoX3RoaXMucmVtb3RlVmlkZW8ubmF0aXZlRWxlbWVudCwgcGFydGljaXBhbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcm9vbS5vbigncGFydGljaXBhbnRSZWNvbm5lY3RpbmcnLCByZW1vdGVQYXJ0aWNpcGFudCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlbW90ZVBhcnRpY2lwYW50LnN0YXRlLCAncmVjb25uZWN0aW5nJyk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke3JlbW90ZVBhcnRpY2lwYW50LmlkZW50aXR5fSBpcyByZWNvbm5lY3RpbmcgdGhlIHNpZ25hbGluZyBjb25uZWN0aW9uIHRvIHRoZSBSb29tIWApO1xyXG4gICAgICAgICAgICAvKiBVcGRhdGUgdGhlIFJlbW90ZVBhcnRpY2lwYW50IFVJIGhlcmUgKi9cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcm9vbS5vbigncGFydGljaXBhbnRSZWNvbm5lY3RlZCcsIHJlbW90ZVBhcnRpY2lwYW50ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVtb3RlUGFydGljaXBhbnQuc3RhdGUsICdjb25uZWN0ZWQnKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYCR7cmVtb3RlUGFydGljaXBhbnQuaWRlbnRpdHl9IGhhcyByZWNvbm5lY3RlZCB0aGUgc2lnbmFsaW5nIGNvbm5lY3Rpb24gdG8gdGhlIFJvb20hYCk7XHJcbiAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgUmVtb3RlUGFydGljaXBhbnQgVUkgaGVyZSAqL1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gV2hlbiBhIFBhcnRpY2lwYW50IGxlYXZlcyB0aGUgUm9vbSwgZGV0YWNoIGl0cyBUcmFja3MuXHJcbiAgICAgICAgcm9vbS5vbigncGFydGljaXBhbnREaXNjb25uZWN0ZWQnLCBmdW5jdGlvbiAocGFydGljaXBhbnQpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJQYXJ0aWNpcGFudCAnXCIgKyBwYXJ0aWNpcGFudC5pZGVudGl0eSArIFwiJyBsZWZ0IHRoZSByb29tXCIpO1xyXG4gICAgICAgICAgICBfdGhpcy5kZXRhY2hQYXJ0aWNpcGFudFRyYWNrcyhwYXJ0aWNpcGFudCwgcm9vbSwgX3RoaXMpO1xyXG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZGlzQ29ubmVjdGVkIC0gUGFydGljaXBhbnRzIFNpemU6XCIgKyByb29tLnBhcnRpY2lwYW50cy5zaXplKTtcclxuICAgICAgICAgICAgX3RoaXMucmVtb3ZlUmVtb3RlUGFydGljaXBhbnREZXRhaWxzKF90aGlzLnJlbW90ZVZpZGVvLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgICAgICBfdGhpcy5hY3RpdmF0ZVRpbWVyKHRydWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHJvb20ub24oJ3JlY29ubmVjdGluZycsIGVycm9yID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocm9vbS5zdGF0ZSwgJ3JlY29ubmVjdGluZycpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZW5kRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY29ubmVjdGVkIC0gUGFydGljaXBhbnRzOlwiICsgcm9vbS5wYXJ0aWNpcGFudHMuc2l6ZSk7XHJcbiAgICAgICAgICAgIGlmIChfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcih0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmFjdGl2YXRlVGltZXIoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgYXBwbGljYXRpb24gVUkgaGVyZSAqL1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByb29tLm9uKCdyZWNvbm5lY3RlZCcsICgpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocm9vbS5zdGF0ZSwgJ2Nvbm5lY3RlZCcpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUmVjb25uZWN0ZWQgeW91ciBzaWduYWxpbmcgYW5kIG1lZGlhIGNvbm5lY3Rpb25zIScpO1xyXG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY29ubmVjdGVkIC0gUGFydGljaXBhbnRzOlwiICsgcm9vbS5wYXJ0aWNpcGFudHMuc2l6ZSk7XHJcbiAgICAgICAgICAgIGlmIChfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcih0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmFjdGl2YXRlVGltZXIoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgYXBwbGljYXRpb24gVUkgaGVyZSAqL1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAvLyBPbmNlIHRoZSBMb2NhbFBhcnRpY2lwYW50IGxlYXZlcyB0aGUgcm9vbSwgZGV0YWNoIHRoZSBUcmFja3NcclxuICAgICAgICAvLyBvZiBhbGwgUGFydGljaXBhbnRzLCBpbmNsdWRpbmcgdGhhdCBvZiB0aGUgTG9jYWxQYXJ0aWNpcGFudC5cclxuICAgICAgICByb29tLm9uKCdkaXNjb25uZWN0ZWQnLCBmdW5jdGlvbiAocm9vbSwgZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ0xlZnQnKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocm9vbS5zdGF0ZSwgJ2Rpc2Nvbm5lY3RlZCcpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVycm9yOlwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIF90aGlzLnNlbmRFcnJvcihlcnJvcik7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHJvb20ubG9jYWxQYXJ0aWNpcGFudC50cmFja3MuZm9yRWFjaChwdWJsaWNhdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICBwdWJsaWNhdGlvbi50cmFjay5zdG9wKCk7XHJcbiAgICAgICAgICAgICAgICBwdWJsaWNhdGlvbi51bnB1Ymxpc2goKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGF0dGFjaGVkRWxlbWVudHMgPSBwdWJsaWNhdGlvbi50cmFjay5kZXRhY2goKTtcclxuICAgICAgICAgICAgICAgIGF0dGFjaGVkRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IGVsZW1lbnQucmVtb3ZlKCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKF90aGlzLmxvY2FsVmlkZW8pIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsRWxlbWVudCA9IF90aGlzLmxvY2FsVmlkZW8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChsb2NhbEVsZW1lbnQuZmlyc3RDaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsRWxlbWVudC5yZW1vdmVDaGlsZChsb2NhbEVsZW1lbnQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKF90aGlzLnJlbW90ZVZpZGVvKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdGVFbGVtZW50ID0gX3RoaXMucmVtb3RlVmlkZW8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChyZW1vdGVFbGVtZW50LmZpcnN0Q2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZW1vdGVFbGVtZW50LnJlbW92ZUNoaWxkKHJlbW90ZUVsZW1lbnQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgX3RoaXMucGFydGljaXBhbnRzQ291bnQgPSByb29tLnBhcnRpY2lwYW50cy5zaXplO1xyXG4gICAgICAgICAgICBfdGhpcy5kaXNjb25uZWN0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZW1vdmVSZW1vdGVQYXJ0aWNpcGFudERldGFpbHMoY29udGFpbmVyKSB7XHJcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlbW90ZUltZycpO1xyXG4gICAgICAgIGlmKGRpdikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGNvbnRhaW5lciwgZGl2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhZGRSZW1vdGVQYXJ0aWNpcGFudERldGFpbHMoY29udGFpbmVyLCBwYXJ0aWNpcGFudCkge1xyXG4gICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGRpdi5zZXRBdHRyaWJ1dGUoJ2lkJywncmVtb3RlSW1nJyk7XHJcbiAgICAgICAgY29uc3QgZGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGRpdjEuc2V0QXR0cmlidXRlKCdjbGFzcycsICdhdmF0YXItaW1nJyk7XHJcbiAgICAgICAgZGl2LmFwcGVuZENoaWxkKGRpdjEpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGNvbnN0IGRpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBkaXYyLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnYXZhdGFyLXRleHQnKTtcclxuXHJcbiAgICAgICAgY29uc3QgY29udGVudERpdiA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHBhcnRpY2lwYW50LmlkZW50aXR5KTtcclxuICAgICAgICBkaXYyLmFwcGVuZENoaWxkKGNvbnRlbnREaXYpO1xyXG4gICAgICAgIGRpdi5hcHBlbmRDaGlsZChkaXYyKTtcclxuICAgICAgICAvLyBjb25zdCBpbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltYWdlJyk7XHJcbiAgICAgICAgLy8gaW1hZ2Uuc2V0QXR0cmlidXRlKCdjbGFzcycsICcnKTtcclxuICAgICAgICAvLyBpbWFnZS5zZXRBdHRyaWJ1dGUoJ2FsdCcsIHBhcnRpY2lwYW50LmlkZW50aXR5KTtcclxuICAgICAgICAvLyBkaXYxLmFwcGVuZENoaWxkKGltYWdlKTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lciwgZGl2KTtcclxuICAgIH1cclxuICAgIGRpc2Nvbm5lY3QoKSB7XHJcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIGlmIChfdGhpcy5wcmV2aWV3VHJhY2tzKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3MuZm9yRWFjaChsb2NhbFRyYWNrID0+IHtcclxuICAgICAgICAgICAgICAgIGxvY2FsVHJhY2suc3RvcCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgX3RoaXMucHJldmlld1RyYWNrcyA9IG51bGw7XHJcbiAgICAgICAgaWYgKF90aGlzLmFjdGl2ZVJvb20gJiYgX3RoaXMuYWN0aXZlUm9vbS5sb2NhbFBhcnRpY2lwYW50ICYmIF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC5sb2NhbFRyYWNrcykge1xyXG4gICAgICAgICAgICBfdGhpcy5hY3RpdmVSb29tLmxvY2FsUGFydGljaXBhbnQubG9jYWxUcmFja3MuZm9yRWFjaChsb2NhbFRyYWNrID0+IHtcclxuICAgICAgICAgICAgICAgIGxvY2FsVHJhY2suc3RvcCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKF90aGlzLmFjdGl2ZVJvb20gJiYgX3RoaXMuYWN0aXZlUm9vbSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBfdGhpcy5hY3RpdmVSb29tLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICAgICAgX3RoaXMuYWN0aXZlUm9vbSA9IG51bGw7XHJcbiAgICAgICAgICAgIF90aGlzLmNhbTFEZXZpY2UgPSBudWxsO1xyXG4gICAgICAgICAgICBfdGhpcy5jYW0yRGV2aWNlID0gbnVsbDtcclxuICAgICAgICAgICAgX3RoaXMuc2VsZWN0ZWRWaWRlb0lkID0gbnVsbDsgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIF90aGlzLnZpZGVvID0gdHJ1ZTtcclxuICAgICAgICBfdGhpcy5taWNyb3Bob25lID0gdHJ1ZTtcclxuICAgICAgICBpZiAoX3RoaXMucmVtb3RlVmlkZW8pIHtcclxuICAgICAgICAgICAgX3RoaXMucmVtb3ZlUmVtb3RlUGFydGljaXBhbnREZXRhaWxzKF90aGlzLnJlbW90ZVZpZGVvLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn1cclxuIl19
466
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpbGlvLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvdHdpbGlvLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7O0FBSWpDLE1BQU0sT0FBTyxhQUFhO0lBMEJIO0lBekJuQixXQUFXLENBQWE7SUFDeEIsVUFBVSxDQUFhO0lBQ3ZCLGdCQUFnQixDQUFhO0lBQzdCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNiLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixnQkFBZ0IsQ0FBQztJQUNqQixpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFDdEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixZQUFZLENBQUM7SUFDYixjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsUUFBUSxDQUFZO0lBQzVCLFVBQVUsQ0FBUztJQUNuQixhQUFhLENBQUM7SUFDZCxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUNsQyxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUMzQixNQUFNLENBQUMsY0FBYyxDQUFNO0lBQ2xDLGVBQWUsQ0FBUztJQUN4QixjQUFjLENBQUM7SUFDZixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBQztJQUNYLGtCQUFrQixDQUFDO0lBQ25CLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixZQUFtQixlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCx3Q0FBd0M7SUFDeEMsMkNBQTJDO0lBQzNDLElBQUk7SUFDSixXQUFXO1FBQ1AsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLElBQUcsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0MsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLENBQUM7UUFFTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxTQUFTO1FBQ0wsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLElBQUcsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixLQUFLLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELHVCQUF1QixDQUFDLFVBQVU7UUFDOUIsTUFBTSxLQUFLLEdBQUMsSUFBSSxDQUFDO1FBQ2pCLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztZQUMxRCxPQUFPLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDN0IsWUFBWSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNMLENBQUM7SUFFTCxDQUFDO0lBQ0QsU0FBUztRQUNMLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQixLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxJQUFHLFVBQVUsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBQ0QsV0FBVztRQUNQLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQixLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxJQUFHLFVBQVUsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQzVCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUNELG9CQUFvQixDQUFDLFlBQVk7UUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDOUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsV0FBVztRQUNQLE1BQU0sS0FBSyxHQUFFLElBQUksQ0FBQztRQUNsQixLQUFLLENBQUMscUJBQXFCLENBQUM7WUFDeEIsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUU7U0FDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLGVBQWU7WUFDN0IsS0FBSyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDaEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1RixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxZQUFZO1FBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoRSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7Z0JBQ3BELE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUM3QixZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsVUFBVTtZQUNyRSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELE1BQU07UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxVQUFVO1lBQ3JFLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0QsU0FBUztJQUNULFlBQVksQ0FBQyxZQUFZO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0RCx5Q0FBeUM7UUFDekMsS0FBSyxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUVuRSxvREFBb0Q7UUFDcEQsZ0RBQWdEO1FBQ2hELFdBQVc7UUFDWCxnREFBZ0Q7UUFDaEQsSUFBSTtRQUNKLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDaEUsVUFBVSxnQkFBZ0I7WUFDdEIsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQ0osQ0FBQztRQUNGLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0UsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDdEMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1lBQ3hCLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7U0FDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLGVBQWU7WUFDN0IsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU87UUFDdkMsa0RBQWtEO1FBQ2xELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ1IsS0FBSyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDN0IsS0FBSyxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDcEMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw4QkFBOEIsQ0FBQztnQkFDakQsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7YUFDWixDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN0QixLQUFLLENBQUMsT0FBTyxHQUFFLEtBQUssQ0FBQztZQUNyQixLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztvQkFDakMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0YsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1QsaUJBQWlCO1FBQ3JCLENBQUMsQ0FDSixDQUFDO1FBQ0YsTUFBTTtJQUNWLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxtQkFBbUIsRUFBRSxtQkFBbUI7UUFDMUQsYUFBYSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQztRQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ1IsQ0FBQyxFQUFFLEdBQUc7WUFDTixDQUFDLEVBQUUsSUFBSTtZQUNQLENBQUMsRUFBRSxLQUFLO1lBQ1IsQ0FBQyxFQUFFLE1BQU07WUFDVCxDQUFDLEVBQUUsT0FBTztTQUNYLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5QixJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDeEIsc0ZBQXNGO1lBQ3RGLHVDQUF1QztZQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFFbkUsQ0FBQztJQUNOLENBQUM7SUFDRCxnQ0FBZ0M7SUFDaEMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsS0FBSztZQUMxQixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDdEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUM5QyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdELDhDQUE4QztJQUM5Qyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLElBQUk7UUFDaEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLGdCQUFnQjtZQUMvRSxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLFlBQVksQ0FBQyxNQUFNO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsS0FBSztZQUMxQixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxlQUFlO29CQUM1QyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEtBQUs7UUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLGdCQUFnQjtZQUMvRSxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELEdBQUc7SUFDSCxVQUFVLENBQUMsTUFBTTtRQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUs7WUFDMUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUNELDBCQUEwQjtJQUMxQixVQUFVLENBQUMsSUFBSTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQixnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDL0QsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNsRixLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUVILG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLFVBQVUsV0FBVztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgseURBQXlEO1FBQ3pELElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVztZQUNyRSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxHQUFHLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdEQsaUVBQWlFO1lBQ2pFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuRSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDL0IsSUFBRyxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMxRSxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsOERBQThEO1FBQzlELElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVztZQUN2RSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNqQyxJQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNwRixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixFQUFFLGlCQUFpQixDQUFDLEVBQUU7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsd0RBQXdELENBQUMsQ0FBQztZQUNuRywwQ0FBMEM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLGlCQUFpQixDQUFDLEVBQUU7WUFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsd0RBQXdELENBQUMsQ0FBQztZQUNuRywwQ0FBMEM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDTCx5REFBeUQ7UUFDekQsSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxVQUFVLFdBQVc7WUFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3hFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUUsS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztZQUN4QyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUNELG9DQUFvQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1lBQ2pFLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUNELG9DQUFvQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVMLCtEQUErRDtRQUMvRCwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxJQUFJLEVBQUUsS0FBSztZQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUMvQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QixXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7Z0JBQ3BELE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUM3QixZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7Z0JBQ3RELE9BQU8sYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUM5QixhQUFhLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNMLENBQUM7WUFDRCxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDakQsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELDhCQUE4QixDQUFDLFNBQVM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDTCxDQUFDO0lBQ0QsMkJBQTJCLENBQUMsU0FBUyxFQUFFLFdBQVc7UUFDOUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksRUFBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUUxQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsaURBQWlEO1FBQ2pELG1DQUFtQztRQUNuQyxtREFBbUQ7UUFDbkQsMkJBQTJCO1FBRTNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsVUFBVTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDckMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELEtBQUssQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMvRCxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QixLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO1FBQ0QsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkIsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNMLENBQUM7d0dBcGRRLGFBQWE7NEdBQWIsYUFBYSxjQUZWLEtBQUs7OzRGQUVSLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgVmlkZW8gZnJvbSAndHdpbGlvLXZpZGVvJztcbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBUd2lsaW9TZXJ2aWNlIHtcbiAgICByZW1vdGVWaWRlbzogRWxlbWVudFJlZjtcbiAgICBsb2NhbFZpZGVvOiBFbGVtZW50UmVmO1xuICAgIHByZXZpZXdDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gICAgbWljcm9waG9uZSA9IHRydWU7XG4gICAgdmlkZW8gPSB0cnVlO1xuICAgIHByZXZpZXcgPSB0cnVlO1xuICAgIHJvb21QYXJ0aWNpcGFudHM7XG4gICAgcGFydGljaXBhbnRzQ291bnQgPSAwO1xuICAgIHNob3dQYXJ0aWNpcGFudCA9IGZhbHNlO1xuICAgIHByZXZpZXdUcmFjaztcbiAgICBjYW1EZXZpY2VDb3VudCA9IDA7XG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuICAgIGNhbWVyYU1vZGU6IHN0cmluZztcbiAgICBwcmV2aWV3VHJhY2tzO1xuICAgIHRpbWVyU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBlcnJvclN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgcHVibGljIHN0YXRpYyBzaWduYWxTdHJlbmd0aDogYW55O1xuICAgIHNlbGVjdGVkVmlkZW9JZDogc3RyaW5nO1xuICAgIGFjdGl2ZUNhbUluZGV4O1xuICAgIGNhbTFEZXZpY2U6IHN0cmluZztcbiAgICBjYW0yRGV2aWNlOiBzdHJpbmc7XG4gICAgYWN0aXZlUm9vbTtcbiAgICBwcmV2aWV3VHJhY2tzQ2xvbmU7XG4gICAgYnRuQ2xpY2tlZCA9IGZhbHNlO1xuICAgIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgYWN0aXZhdGVUaW1lcih0aW1lcjogYW55KSB7XG4gICAgICAgIHRoaXMudGltZXJTdWJqZWN0Lm5leHQodGltZXIpO1xuICAgIH1cbiAgICBnZXRUaW1lcigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aW1lclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgc2VuZEVycm9yKGVycm9yOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lcnJvclN1YmplY3QubmV4dChlcnJvcik7XG4gICAgfVxuICAgIGdldEVycm9yKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgLy8gcHJpdmF0ZSBzdGF0aWMgZ2V0U2lnbmFsU3RyZW5ndGggKCkge1xuICAgIC8vICAgICByZXR1cm4gVHdpbGlvU2VydmljZS5zaWduYWxTdHJlbmd0aDtcbiAgICAvLyB9XG4gICAgdW5tdXRlVmlkZW8oKSB7XG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcbiAgICAgICAgX3RoaXMucHJldmlld1RyYWNrcy5mb3JFYWNoKGxvY2FsVHJhY2sgPT4ge1xuICAgICAgICAgICAgaWYobG9jYWxUcmFjay5raW5kID09PSAndmlkZW8nKSB7XG4gICAgICAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3NDbG9uZS5wdXNoKGxvY2FsVHJhY2spO1xuICAgICAgICAgICAgICAgIF90aGlzLmFkZFByZXZpZXdUcmFja1RvRG9tKGxvY2FsVHJhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZpZGVvID0gdHJ1ZTtcbiAgICB9XG4gICAgbXV0ZVZpZGVvKCkge1xuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgICAgIF90aGlzLnByZXZpZXdUcmFja3MuZm9yRWFjaChsb2NhbFRyYWNrID0+IHtcbiAgICAgICAgICAgIGlmKGxvY2FsVHJhY2sua2luZCA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3NDbG9uZS5zcGxpY2UodGhpcy5wcmV2aWV3VHJhY2tzQ2xvbmUuaW5kZXhPZihsb2NhbFRyYWNrKSwgMSk7XG4gICAgICAgICAgICAgICAgX3RoaXMucmVtb3ZlUHJldmlld1RyYWNrVG9Eb20obG9jYWxUcmFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZpZGVvID0gZmFsc2U7XG4gICAgfVxuICAgIHJlbW92ZVByZXZpZXdUcmFja1RvRG9tKGxvY2FsVHJhY2spIHtcbiAgICAgICAgY29uc3QgX3RoaXM9dGhpcztcbiAgICAgICAgaWYgKF90aGlzLnByZXZpZXdDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsRWxlbWVudCA9IF90aGlzLnByZXZpZXdDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIHdoaWxlIChsb2NhbEVsZW1lbnQuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgIGxvY2FsRWxlbWVudC5yZW1vdmVDaGlsZChsb2NhbEVsZW1lbnQuZmlyc3RDaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICBcbiAgICB9XG4gICAgbXV0ZUF1ZGlvKCkge1xuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgICAgIF90aGlzLnByZXZpZXdUcmFja3MuZm9yRWFjaChsb2NhbFRyYWNrID0+IHtcbiAgICAgICAgICAgIGlmKGxvY2FsVHJhY2sua2luZCA9PT0gJ2F1ZGlvJykge1xuICAgICAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3NDbG9uZS5zcGxpY2UodGhpcy5wcmV2aWV3VHJhY2tzQ2xvbmUuaW5kZXhPZihsb2NhbFRyYWNrKSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1pY3JvcGhvbmUgPSBmYWxzZTtcbiAgICB9XG4gICAgdW5tdXRlQXVkaW8oKSB7XG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcbiAgICAgICAgX3RoaXMucHJldmlld1RyYWNrcy5mb3JFYWNoKGxvY2FsVHJhY2sgPT4ge1xuICAgICAgICAgICAgaWYobG9jYWxUcmFjay5raW5kID09PSAnYXVkaW8nKSB7XG4gICAgICAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3NDbG9uZS5wdXNoKGxvY2FsVHJhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5taWNyb3Bob25lID0gdHJ1ZTtcbiAgICB9XG4gICAgYWRkUHJldmlld1RyYWNrVG9Eb20ocHJldmlld1RyYWNrKSB7XG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHByZXZpZXdUcmFjay5hdHRhY2goKTtcbiAgICAgICAgX3RoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgJ3JlbS12aWRlbycpO1xuICAgICAgICBfdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChfdGhpcy5wcmV2aWV3Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIGVsZW1lbnQpO1xuICAgIH1cblxuICAgIGVuYWJsZVZpZGVvKCkge1xuICAgICAgICBjb25zdCBfdGhpcz0gdGhpcztcbiAgICAgICAgVmlkZW8uY3JlYXRlTG9jYWxWaWRlb1RyYWNrKHtcbiAgICAgICAgICAgIGRldmljZUlkOiB7IGV4YWN0OiBfdGhpcy5zZWxlY3RlZFZpZGVvSWQgfVxuICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChsb2NhbFZpZGVvVHJhY2spIHtcbiAgICAgICAgICAgIF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC5wdWJsaXNoVHJhY2sobG9jYWxWaWRlb1RyYWNrKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC5pZGVudGl0eSArICcgYWRkZWQgdHJhY2s6ICcgKyBsb2NhbFZpZGVvVHJhY2sua2luZCk7XG4gICAgICAgICAgICBfdGhpcy5hdHRhY2hUcmFja3MoW2xvY2FsVmlkZW9UcmFja10sIF90aGlzLmxvY2FsVmlkZW8ubmF0aXZlRWxlbWVudCwgX3RoaXMuYWN0aXZlUm9vbSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZpZGVvID0gdHJ1ZTtcbiAgICB9XG4gICAgZGlzYWJsZVZpZGVvKCkge1xuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgICAgIF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC52aWRlb1RyYWNrcy5mb3JFYWNoKHB1YmxpY2F0aW9uID0+IHtcbiAgICAgICAgICAgIHB1YmxpY2F0aW9uLnRyYWNrLnN0b3AoKTtcbiAgICAgICAgICAgIHB1YmxpY2F0aW9uLnVucHVibGlzaCgpO1xuICAgICAgICAgICAgaWYgKF90aGlzLmxvY2FsVmlkZW8pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbEVsZW1lbnQgPSBfdGhpcy5sb2NhbFZpZGVvLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgd2hpbGUgKGxvY2FsRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsRWxlbWVudC5yZW1vdmVDaGlsZChsb2NhbEVsZW1lbnQuZmlyc3RDaGlsZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52aWRlbyA9IGZhbHNlO1xuICAgIH1cbiAgICBtdXRlKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC5hdWRpb1RyYWNrcy5mb3JFYWNoKGZ1bmN0aW9uIChhdWRpb1RyYWNrKSB7XG4gICAgICAgICAgICBhdWRpb1RyYWNrLnRyYWNrLmRpc2FibGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubWljcm9waG9uZSA9IGZhbHNlO1xuICAgIH1cbiAgICB1bm11dGUoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlUm9vbS5sb2NhbFBhcnRpY2lwYW50LmF1ZGlvVHJhY2tzLmZvckVhY2goZnVuY3Rpb24gKGF1ZGlvVHJhY2spIHtcbiAgICAgICAgICAgIGF1ZGlvVHJhY2sudHJhY2suZW5hYmxlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1pY3JvcGhvbmUgPSB0cnVlO1xuICAgIH1cbiAgICAvLyBtZWRpYT9cbiAgICBzd2l0Y2hDYW1lcmEodmlkZW9EZXZpY2VzKSB7XG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcbiAgICAgICAgdGhpcy5hY3RpdmVDYW1JbmRleCsrO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVDYW1JbmRleCA+PSB2aWRlb0RldmljZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNhbUluZGV4ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZyhcIlZpZGVvIERldmljZXM6XCIsIHZpZGVvRGV2aWNlcyk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiQWN0aXZlIENhbSBJbmRleDpcIiwgdGhpcy5hY3RpdmVDYW1JbmRleCk7XG4gICAgICAgIC8vIF90aGlzLnNlbGVjdGVkVmlkZW9JZCA9bWVkaWEuZGV2aWNlSWQ7XG4gICAgICAgIF90aGlzLnNlbGVjdGVkVmlkZW9JZCA9IHZpZGVvRGV2aWNlc1t0aGlzLmFjdGl2ZUNhbUluZGV4XS5kZXZpY2VJZDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgLy8gaWYgKF90aGlzLnNlbGVjdGVkVmlkZW9JZCA9PT0gX3RoaXMuY2FtMURldmljZSkge1xuICAgICAgICAvLyAgICAgX3RoaXMuc2VsZWN0ZWRWaWRlb0lkID0gX3RoaXMuY2FtMkRldmljZTtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIF90aGlzLnNlbGVjdGVkVmlkZW9JZCA9IF90aGlzLmNhbTFEZXZpY2U7XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3QgbG9jYWxQYXJ0aWNpcGFudCA9IF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudDtcbiAgICAgICAgY29uc3QgdHJhY2tzID0gQXJyYXkuZnJvbShsb2NhbFBhcnRpY2lwYW50LnZpZGVvVHJhY2tzLnZhbHVlcygpKS5tYXAoXG4gICAgICAgICAgICBmdW5jdGlvbiAodHJhY2tQdWJsaWNhdGlvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFja1B1YmxpY2F0aW9uWyd0cmFjayddO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBsb2NhbFBhcnRpY2lwYW50LnVucHVibGlzaFRyYWNrcyh0cmFja3MpO1xuICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFBhcnRpY2lwYW50LmlkZW50aXR5ICsgJyByZW1vdmVkIHRyYWNrOiAnICsgdHJhY2tzWzBdLmtpbmQpO1xuICAgICAgICBfdGhpcy5kZXRhY2hUcmFja3ModHJhY2tzKTtcbiAgICAgICAgX3RoaXMuc3RvcFRyYWNrcyh0cmFja3MpO1xuICAgICAgICBjb25zdCB2aWRlb2lkID0gX3RoaXMuc2VsZWN0ZWRWaWRlb0lkO1xuICAgICAgICBWaWRlby5jcmVhdGVMb2NhbFZpZGVvVHJhY2soe1xuICAgICAgICAgICAgZGV2aWNlSWQ6IHsgZXhhY3Q6IHZpZGVvaWQgfVxuICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChsb2NhbFZpZGVvVHJhY2spIHtcbiAgICAgICAgICAgIGxvY2FsUGFydGljaXBhbnQucHVibGlzaFRyYWNrKGxvY2FsVmlkZW9UcmFjayk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhsb2NhbFBhcnRpY2lwYW50LmlkZW50aXR5ICsgJyBhZGRlZCB0cmFjazogJyArIGxvY2FsVmlkZW9UcmFjay5raW5kKTtcbiAgICAgICAgICAgIF90aGlzLmF0dGFjaFRyYWNrcyhbbG9jYWxWaWRlb1RyYWNrXSwgX3RoaXMubG9jYWxWaWRlby5uYXRpdmVFbGVtZW50LCBfdGhpcy5hY3RpdmVSb29tKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29ubmVjdFRvUm9vbShhY2Nlc3NUb2tlbiwgb3B0aW9ucywgdHJhY2tzPykge1xuICAgICAgICAvLyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiSW4gQ29ubmVjdCBSb29tXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyh0cmFja3MpO1xuICAgICAgICBpZih0cmFja3MpIHtcbiAgICAgICAgICAgIF90aGlzLnByZXZpZXdUcmFja3MgPSB0cmFja3M7XG4gICAgICAgICAgICBfdGhpcy5wcmV2aWV3VHJhY2tzQ2xvbmUgPSB0cmFja3Muc2xpY2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoX3RoaXMucHJldmlld1RyYWNrcykge1xuICAgICAgICAgICAgb3B0aW9uc1sndHJhY2tzJ10gPSBfdGhpcy5wcmV2aWV3VHJhY2tzO1xuICAgICAgICB9ICAgICAgXG4gICAgICAgIGNvbnNvbGUubG9nKF90aGlzLnByZXZpZXdUcmFja3MpO1xuICAgICAgICBWaWRlby5jb25uZWN0KGFjY2Vzc1Rva2VuLCBvcHRpb25zKS50aGVuKFxuICAgICAgICAgICAgKHJvb206IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJvb20ubG9jYWxQYXJ0aWNpcGFudC5zZXROZXR3b3JrUXVhbGl0eUNvbmZpZ3VyYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICBsb2NhbDogMixcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlOiAxXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgX3RoaXMucHJldmlldyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIF90aGlzLmxvYWRpbmc9IGZhbHNlO1xuICAgICAgICAgICAgICAgIF90aGlzLmFjdGl2ZVJvb20gPSByb29tO1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zWyd2aWRlbyddKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghX3RoaXMubG9jYWxWaWRlby5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW4gY29ubmVjdCBtZXRob2RcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5hdHRhY2hQYXJ0aWNpcGFudFRyYWNrcyhyb29tLmxvY2FsUGFydGljaXBhbnQsIF90aGlzLmxvY2FsVmlkZW8ubmF0aXZlRWxlbWVudCwgcm9vbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGlja2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgX3RoaXMucm9vbUpvaW5lZChyb29tKTtcbiAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIC8vIH0pO1xuICAgIH1cbiAgICBuZXR3b3JrUXVhbGl0eUNoYW5nZWQobmV0d29ya1F1YWxpdHlMZXZlbCwgbmV0d29ya1F1YWxpdHlTdGF0cykge1xuICAgICAgICBUd2lsaW9TZXJ2aWNlLnNpZ25hbFN0cmVuZ3RoID0gbmV0d29ya1F1YWxpdHlMZXZlbDtcbiAgICAgICAgY29uc29sZS5sb2coe1xuICAgICAgICAgICAgMTogJ+KWgycsXG4gICAgICAgICAgICAyOiAn4paD4paEJyxcbiAgICAgICAgICAgIDM6ICfiloPiloTiloUnLFxuICAgICAgICAgICAgNDogJ+KWg+KWhOKWheKWhicsXG4gICAgICAgICAgICA1OiAn4paD4paE4paF4paG4paHJ1xuICAgICAgICAgIH1bbmV0d29ya1F1YWxpdHlMZXZlbF0gfHwgJycpO1xuICAgICAgICAgIGlmIChuZXR3b3JrUXVhbGl0eVN0YXRzKSB7XG4gICAgICAgICAgICAvLyBQcmludCBpbiBjb25zb2xlIHRoZSBuZXR3b3JrUXVhbGl0eVN0YXRzLCB3aGljaCBpcyBub24tbnVsbCBvbmx5IGlmIE5ldHdvcmsgUXVhbGl0eVxuICAgICAgICAgICAgLy8gdmVyYm9zaXR5IGlzIDIgKG1vZGVyYXRlKSBvciBncmVhdGVyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnTmV0d29yayBRdWFsaXR5IHN0YXRpc3RpY3M6JywgbmV0d29ya1F1YWxpdHlTdGF0cyk7XG4gICAgICAgICAgICBcbiAgICAgICAgIH1cbiAgICB9XG4gICAgLy8gQXR0YWNoIHRoZSBUcmFja3MgdG8gdGhlIERPTS5cbiAgICBhdHRhY2hUcmFja3ModHJhY2tzLCBjb250YWluZXIsIHJvb20pIHtcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAgICAgICBjb25zb2xlLmxvZyhcImF0dGFjaFRyYWNrc1wiKTtcbiAgICAgICAgdHJhY2tzLmZvckVhY2goZnVuY3Rpb24gKHRyYWNrKSB7XG4gICAgICAgICAgICBpZiAodHJhY2spIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0cmFjayk7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRyYWNrLmF0dGFjaCgpO1xuICAgICAgICAgICAgICAgIF90aGlzLnJlbmRlcmVyLmRhdGFbJ2lkJ10gPSB0cmFjay5zaWQ7XG4gICAgICAgICAgICAgICAgX3RoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgJ3JlbS12aWRlbycpO1xuICAgICAgICAgICAgICAgIF90aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lciwgZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgLy8gQXR0YWNoIHRoZSBQYXJ0aWNpcGFudCdzIFRyYWNrcyB0byB0aGUgRE9NLlxuICAgIGF0dGFjaFBhcnRpY2lwYW50VHJhY2tzKHBhcnRpY2lwYW50LCBjb250YWluZXIsIHJvb20pIHtcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgdHJhY2tzID0gQXJyYXkuZnJvbShwYXJ0aWNpcGFudC50cmFja3MudmFsdWVzKCkpLm1hcChmdW5jdGlvbiAodHJhY2tQdWJsaWNhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRyYWNrUHVibGljYXRpb25bJ3RyYWNrJ107XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLmxvZyhcImF0dGFjaFBhcnRpY2lwYW50VHJhY2tzXCIpO1xuICAgICAgICBfdGhpcy5hdHRhY2hUcmFja3ModHJhY2tzLCBjb250YWluZXIsIHJvb20pO1xuICAgIH1cblxuICAgIC8vIERldGFjaCB0aGUgVHJhY2tzIGZyb20gdGhlIERPTS5cbiAgICBkZXRhY2hUcmFja3ModHJhY2tzKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiZGV0YWNoVHJhY2tzXCIpO1xuICAgICAgICB0cmFja3MuZm9yRWFjaChmdW5jdGlvbiAodHJhY2spIHtcbiAgICAgICAgICAgIGlmICh0cmFjaykge1xuICAgICAgICAgICAgICAgIHRyYWNrLmRldGFjaCgpLmZvckVhY2goZnVuY3Rpb24gKGRldGFjaGVkRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBkZXRhY2hlZEVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIERldGFjaCB0aGUgUGFydGljaXBhbnQncyBUcmFja3MgZnJvbSB0aGUgRE9NLlxuICAgIGRldGFjaFBhcnRpY2lwYW50VHJhY2tzKHBhcnRpY2lwYW50LCByb29tLCBfdGhpcykge1xuICAgICAgICBjb25zb2xlLmxvZyhcImRldGFjaFBhcnRpY2lwYW50VHJhY2tzXCIpO1xuICAgICAgICB2YXIgdHJhY2tzID0gQXJyYXkuZnJvbShwYXJ0aWNpcGFudC50cmFja3MudmFsdWVzKCkpLm1hcChmdW5jdGlvbiAodHJhY2tQdWJsaWNhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRyYWNrUHVibGljYXRpb25bJ3RyYWNrJ107XG4gICAgICAgIH0pO1xuICAgICAgICBfdGhpcy5kZXRhY2hUcmFja3ModHJhY2tzLCByb29tKTtcbiAgICB9XG5cbiAgICAvLyBcbiAgICBzdG9wVHJhY2tzKHRyYWNrcykge1xuICAgICAgICBjb25zb2xlLmxvZyhcInN0b3BUcmFja3NcIik7XG4gICAgICAgIHRyYWNrcy5mb3JFYWNoKGZ1bmN0aW9uICh0cmFjaykge1xuICAgICAgICAgICAgaWYgKHRyYWNrKSB7IHRyYWNrLnN0b3AoKTsgfVxuICAgICAgICB9KVxuICAgIH1cbiAgICAvLyBTdWNjZXNzZnVsbHkgY29ubmVjdGVkIVxuICAgIHJvb21Kb2luZWQocm9vbSkge1xuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgICAgIC8vIEF0dGFjaCB0aGUgVHJhY2tzIG9mIHRoZSBSb29tJ3MgUGFydGljaXBhbnRzLlxuICAgICAgICBpZiAoIV90aGlzLnZpZGVvKSB7XG4gICAgICAgICAgICBfdGhpcy5kaXNhYmxlVmlkZW8oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV90aGlzLm1pY3JvcGhvbmUpIHtcbiAgICAgICAgICAgIF90aGlzLm11dGUoKTtcbiAgICAgICAgfVxuICAgICAgICByb29tLmxvY2FsUGFydGljaXBhbnQub24oJ25ldHdvcmtRdWFsaXR5TGV2ZWxDaGFuZ2VkJywgdGhpcy5uZXR3b3JrUXVhbGl0eUNoYW5nZWQpO1xuICAgICAgICByb29tLnBhcnRpY2lwYW50cy5mb3JFYWNoKChwYXJ0aWNpcGFudCkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJQYXJ0aWNpcGFudDpcIiwgcGFydGljaXBhbnQpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJBbHJlYWR5IGluIFJvb206ICdcIiArIHBhcnRpY2lwYW50LmlkZW50aXR5ICsgXCInXCIpO1xuICAgICAgICAgICAgX3RoaXMuYXR0YWNoUGFydGljaXBhbnRUcmFja3MocGFydGljaXBhbnQsIF90aGlzLnJlbW90ZVZpZGVvLm5hdGl2ZUVsZW1lbnQsIHJvb20pO1xuICAgICAgICAgICAgX3RoaXMucGFydGljaXBhbnRzQ291bnQgPSByb29tLnBhcnRpY2lwYW50cy5zaXplO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2ZpcnN0OnBhcnRpY2lwYW50c0NvdW50OicgKyBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFdoZW4gYSBQYXJ0aWNpcGFudCBqb2lucyB0aGUgUm9vbSwgbG9nIHRoZSBldmVudC5cbiAgICAgICAgcm9vbS5vbigncGFydGljaXBhbnRDb25uZWN0ZWQnLCBmdW5jdGlvbiAocGFydGljaXBhbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUGFydGljaXBhbnQ6XCIsIHBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiSm9pbmluZzogJ1wiICsgcGFydGljaXBhbnQuaWRlbnRpdHkgKyBcIidcIik7XG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImNvbm5lY3RlZCAtIFBhcnRpY2lwYW50czpcIiArIHJvb20ucGFydGljaXBhbnRzLnNpemUpO1xuICAgICAgICAgICAgaWYgKF90aGlzLnBhcnRpY2lwYW50c0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcih0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcihmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFdoZW4gYSBQYXJ0aWNpcGFudCBhZGRzIGEgVHJhY2ssIGF0dGFjaCBpdCB0byB0aGUgRE9NLlxuICAgICAgICByb29tLm9uKCd0cmFja1N1YnNjcmliZWQnLCBmdW5jdGlvbiAodHJhY2ssIHRyYWNrUHVibGljYXRpb24sIHBhcnRpY2lwYW50KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkxvY2FsIFBhcnRpY2lwYW50OlwiLCByb29tLmxvY2FsUGFydGljaXBhbnQpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJSZW1vdGUgUGFydGljaXBhbnQ6XCIsIHJvb20ucmVtb3RlUGFydGljaXBhbnQpO1xuICAgICAgICAgICAgY29uc29sZS5sb2cocGFydGljaXBhbnQuaWRlbnRpdHkgKyAnIGFkZGVkIHRyYWNrOiAnICsgdHJhY2sua2luZCk7XG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlBhcnRpY2lwYW50czpcIiArX3RoaXMucGFydGljaXBhbnRzQ291bnQpO1xuICAgICAgICAgICAgLy8gdmFyIHByZXZpZXdDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVtb3RlVmlkZW8nKTtcbiAgICAgICAgICAgIF90aGlzLmF0dGFjaFRyYWNrcyhbdHJhY2tdLCBfdGhpcy5yZW1vdGVWaWRlby5uYXRpdmVFbGVtZW50LCByb29tKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0cmFja3N1YnNjcmliZWQnKTtcbiAgICAgICAgICAgIGlmKHRyYWNrLmtpbmQgPT09ICd2aWRlbycpIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5yZW1vdmVSZW1vdGVQYXJ0aWNpcGFudERldGFpbHMoX3RoaXMucmVtb3RlVmlkZW8ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX3RoaXMucGFydGljaXBhbnRzQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5hY3RpdmF0ZVRpbWVyKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5hY3RpdmF0ZVRpbWVyKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gV2hlbiBhIFBhcnRpY2lwYW50IHJlbW92ZXMgYSBUcmFjaywgZGV0YWNoIGl0IGZyb20gdGhlIERPTS5cbiAgICAgICAgcm9vbS5vbigndHJhY2tVbnN1YnNjcmliZWQnLCBmdW5jdGlvbiAodHJhY2ssIHRyYWNrUHVibGljYXRpb24sIHBhcnRpY2lwYW50KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhwYXJ0aWNpcGFudC5pZGVudGl0eSArICcgcmVtb3ZlZCB0cmFjazogJyArIHRyYWNrLmtpbmQpO1xuICAgICAgICAgICAgX3RoaXMuZGV0YWNoVHJhY2tzKFt0cmFja10pO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ3RyYWNrVW5zdWJzY3JpYmVkJyk7XG4gICAgICAgICAgICBpZih0cmFjay5raW5kID09PSAndmlkZW8nKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuYWRkUmVtb3RlUGFydGljaXBhbnREZXRhaWxzKF90aGlzLnJlbW90ZVZpZGVvLm5hdGl2ZUVsZW1lbnQsIHBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJvb20ub24oJ3BhcnRpY2lwYW50UmVjb25uZWN0aW5nJywgcmVtb3RlUGFydGljaXBhbnQgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2cocmVtb3RlUGFydGljaXBhbnQuc3RhdGUsICdyZWNvbm5lY3RpbmcnKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke3JlbW90ZVBhcnRpY2lwYW50LmlkZW50aXR5fSBpcyByZWNvbm5lY3RpbmcgdGhlIHNpZ25hbGluZyBjb25uZWN0aW9uIHRvIHRoZSBSb29tIWApO1xuICAgICAgICAgICAgLyogVXBkYXRlIHRoZSBSZW1vdGVQYXJ0aWNpcGFudCBVSSBoZXJlICovXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcm9vbS5vbigncGFydGljaXBhbnRSZWNvbm5lY3RlZCcsIHJlbW90ZVBhcnRpY2lwYW50ID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlbW90ZVBhcnRpY2lwYW50LnN0YXRlLCAnY29ubmVjdGVkJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgJHtyZW1vdGVQYXJ0aWNpcGFudC5pZGVudGl0eX0gaGFzIHJlY29ubmVjdGVkIHRoZSBzaWduYWxpbmcgY29ubmVjdGlvbiB0byB0aGUgUm9vbSFgKTtcbiAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgUmVtb3RlUGFydGljaXBhbnQgVUkgaGVyZSAqL1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBXaGVuIGEgUGFydGljaXBhbnQgbGVhdmVzIHRoZSBSb29tLCBkZXRhY2ggaXRzIFRyYWNrcy5cbiAgICAgICAgcm9vbS5vbigncGFydGljaXBhbnREaXNjb25uZWN0ZWQnLCBmdW5jdGlvbiAocGFydGljaXBhbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUGFydGljaXBhbnQgJ1wiICsgcGFydGljaXBhbnQuaWRlbnRpdHkgKyBcIicgbGVmdCB0aGUgcm9vbVwiKTtcbiAgICAgICAgICAgIF90aGlzLmRldGFjaFBhcnRpY2lwYW50VHJhY2tzKHBhcnRpY2lwYW50LCByb29tLCBfdGhpcyk7XG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImRpc0Nvbm5lY3RlZCAtIFBhcnRpY2lwYW50cyBTaXplOlwiICsgcm9vbS5wYXJ0aWNpcGFudHMuc2l6ZSk7XG4gICAgICAgICAgICBfdGhpcy5yZW1vdmVSZW1vdGVQYXJ0aWNpcGFudERldGFpbHMoX3RoaXMucmVtb3RlVmlkZW8ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICBfdGhpcy5hY3RpdmF0ZVRpbWVyKHRydWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgICAgIHJvb20ub24oJ3JlY29ubmVjdGluZycsIGVycm9yID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJvb20uc3RhdGUsICdyZWNvbm5lY3RpbmcnKTtcbiAgICAgICAgICAgIF90aGlzLnNlbmRFcnJvcihlcnJvcik7XG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImNvbm5lY3RlZCAtIFBhcnRpY2lwYW50czpcIiArIHJvb20ucGFydGljaXBhbnRzLnNpemUpO1xuICAgICAgICAgICAgaWYgKF90aGlzLnBhcnRpY2lwYW50c0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcih0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcihmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKiBVcGRhdGUgdGhlIGFwcGxpY2F0aW9uIFVJIGhlcmUgKi9cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByb29tLm9uKCdyZWNvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJvb20uc3RhdGUsICdjb25uZWN0ZWQnKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSZWNvbm5lY3RlZCB5b3VyIHNpZ25hbGluZyBhbmQgbWVkaWEgY29ubmVjdGlvbnMhJyk7XG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImNvbm5lY3RlZCAtIFBhcnRpY2lwYW50czpcIiArIHJvb20ucGFydGljaXBhbnRzLnNpemUpO1xuICAgICAgICAgICAgaWYgKF90aGlzLnBhcnRpY2lwYW50c0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcih0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuYWN0aXZhdGVUaW1lcihmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKiBVcGRhdGUgdGhlIGFwcGxpY2F0aW9uIFVJIGhlcmUgKi9cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBcbiAgICAgICAgLy8gT25jZSB0aGUgTG9jYWxQYXJ0aWNpcGFudCBsZWF2ZXMgdGhlIHJvb20sIGRldGFjaCB0aGUgVHJhY2tzXG4gICAgICAgIC8vIG9mIGFsbCBQYXJ0aWNpcGFudHMsIGluY2x1ZGluZyB0aGF0IG9mIHRoZSBMb2NhbFBhcnRpY2lwYW50LlxuICAgICAgICByb29tLm9uKCdkaXNjb25uZWN0ZWQnLCBmdW5jdGlvbiAocm9vbSwgZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdMZWZ0Jyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyb29tLnN0YXRlLCAnZGlzY29ubmVjdGVkJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVycm9yOlwiLCBlcnJvcik7XG4gICAgICAgICAgICBfdGhpcy5zZW5kRXJyb3IoZXJyb3IpOyAgICAgICAgICAgIFxuICAgICAgICAgICAgcm9vbS5sb2NhbFBhcnRpY2lwYW50LnRyYWNrcy5mb3JFYWNoKHB1YmxpY2F0aW9uID0+IHtcbiAgICAgICAgICAgICAgICBwdWJsaWNhdGlvbi50cmFjay5zdG9wKCk7XG4gICAgICAgICAgICAgICAgcHVibGljYXRpb24udW5wdWJsaXNoKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0YWNoZWRFbGVtZW50cyA9IHB1YmxpY2F0aW9uLnRyYWNrLmRldGFjaCgpO1xuICAgICAgICAgICAgICAgIGF0dGFjaGVkRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IGVsZW1lbnQucmVtb3ZlKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoX3RoaXMubG9jYWxWaWRlbykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsRWxlbWVudCA9IF90aGlzLmxvY2FsVmlkZW8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICB3aGlsZSAobG9jYWxFbGVtZW50LmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxFbGVtZW50LnJlbW92ZUNoaWxkKGxvY2FsRWxlbWVudC5maXJzdENoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX3RoaXMucmVtb3RlVmlkZW8pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdGVFbGVtZW50ID0gX3RoaXMucmVtb3RlVmlkZW8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVtb3RlRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW90ZUVsZW1lbnQucmVtb3ZlQ2hpbGQocmVtb3RlRWxlbWVudC5maXJzdENoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfdGhpcy5wYXJ0aWNpcGFudHNDb3VudCA9IHJvb20ucGFydGljaXBhbnRzLnNpemU7XG4gICAgICAgICAgICBfdGhpcy5kaXNjb25uZWN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZW1vdmVSZW1vdGVQYXJ0aWNpcGFudERldGFpbHMoY29udGFpbmVyKSB7XG4gICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZW1vdGVJbWcnKTtcbiAgICAgICAgaWYoZGl2KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGNvbnRhaW5lciwgZGl2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhZGRSZW1vdGVQYXJ0aWNpcGFudERldGFpbHMoY29udGFpbmVyLCBwYXJ0aWNpcGFudCkge1xuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnaWQnLCdyZW1vdGVJbWcnKTtcbiAgICAgICAgY29uc3QgZGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBkaXYxLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnYXZhdGFyLWltZycpO1xuICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoZGl2MSk7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBkaXYyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGRpdjIuc2V0QXR0cmlidXRlKCdjbGFzcycsICdhdmF0YXItdGV4dCcpO1xuXG4gICAgICAgIGNvbnN0IGNvbnRlbnREaXYgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShwYXJ0aWNpcGFudC5pZGVudGl0eSk7XG4gICAgICAgIGRpdjIuYXBwZW5kQ2hpbGQoY29udGVudERpdik7XG4gICAgICAgIGRpdi5hcHBlbmRDaGlsZChkaXYyKTtcbiAgICAgICAgLy8gY29uc3QgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWFnZScpO1xuICAgICAgICAvLyBpbWFnZS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJycpO1xuICAgICAgICAvLyBpbWFnZS5zZXRBdHRyaWJ1dGUoJ2FsdCcsIHBhcnRpY2lwYW50LmlkZW50aXR5KTtcbiAgICAgICAgLy8gZGl2MS5hcHBlbmRDaGlsZChpbWFnZSk7XG4gICAgICAgIFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lciwgZGl2KTtcbiAgICB9XG4gICAgZGlzY29ubmVjdCgpIHtcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAgICAgICBpZiAoX3RoaXMucHJldmlld1RyYWNrcykge1xuICAgICAgICAgICAgX3RoaXMucHJldmlld1RyYWNrcy5mb3JFYWNoKGxvY2FsVHJhY2sgPT4ge1xuICAgICAgICAgICAgICAgIGxvY2FsVHJhY2suc3RvcCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgX3RoaXMucHJldmlld1RyYWNrcyA9IG51bGw7XG4gICAgICAgIGlmIChfdGhpcy5hY3RpdmVSb29tICYmIF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudCAmJiBfdGhpcy5hY3RpdmVSb29tLmxvY2FsUGFydGljaXBhbnQubG9jYWxUcmFja3MpIHtcbiAgICAgICAgICAgIF90aGlzLmFjdGl2ZVJvb20ubG9jYWxQYXJ0aWNpcGFudC5sb2NhbFRyYWNrcy5mb3JFYWNoKGxvY2FsVHJhY2sgPT4ge1xuICAgICAgICAgICAgICAgIGxvY2FsVHJhY2suc3RvcCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF90aGlzLmFjdGl2ZVJvb20gJiYgX3RoaXMuYWN0aXZlUm9vbSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX3RoaXMuYWN0aXZlUm9vbS5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICBfdGhpcy5hY3RpdmVSb29tID0gbnVsbDtcbiAgICAgICAgICAgIF90aGlzLmNhbTFEZXZpY2UgPSBudWxsO1xuICAgICAgICAgICAgX3RoaXMuY2FtMkRldmljZSA9IG51bGw7XG4gICAgICAgICAgICBfdGhpcy5zZWxlY3RlZFZpZGVvSWQgPSBudWxsOyAgICBcbiAgICAgICAgfVxuICAgICAgICBfdGhpcy52aWRlbyA9IHRydWU7XG4gICAgICAgIF90aGlzLm1pY3JvcGhvbmUgPSB0cnVlO1xuICAgICAgICBpZiAoX3RoaXMucmVtb3RlVmlkZW8pIHtcbiAgICAgICAgICAgIF90aGlzLnJlbW92ZVJlbW90ZVBhcnRpY2lwYW50RGV0YWlscyhfdGhpcy5yZW1vdGVWaWRlby5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSBcbiAgICB9XG59XG4iXX0=
@@ -13,4 +13,4 @@ export function loadRemoteModuleWithCache(options) {
13
13
  }
14
14
  return remoteEntryCache[remoteEntry];
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi91dGlsaXR5L3JlbW90ZS1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekUsTUFBTSxnQkFBZ0IsR0FBaUMsRUFBRSxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE9BR3pDO0lBQ0MsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7WUFDL0MsV0FBVztZQUNYLGFBQWE7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9hZFJlbW90ZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL25hdGl2ZS1mZWRlcmF0aW9uXCI7XHJcblxyXG5jb25zdCByZW1vdGVFbnRyeUNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBQcm9taXNlPGFueT4+ID0ge307XHJcblxyXG4vKipcclxuICogTG9hZCByZW1vdGUgbW9kdWxlIHdpdGggY2FjaGluZyB0byBhdm9pZCByZWR1bmRhbnQgbmV0d29yayByZXF1ZXN0c1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZW1vdGVNb2R1bGVXaXRoQ2FjaGUob3B0aW9uczoge1xyXG4gIHJlbW90ZUVudHJ5OiBzdHJpbmc7XHJcbiAgZXhwb3NlZE1vZHVsZTogc3RyaW5nO1xyXG59KTogUHJvbWlzZTxhbnk+IHtcclxuICBjb25zdCB7IHJlbW90ZUVudHJ5LCBleHBvc2VkTW9kdWxlIH0gPSBvcHRpb25zO1xyXG5cclxuICBpZiAoIXJlbW90ZUVudHJ5Q2FjaGVbcmVtb3RlRW50cnldKSB7XHJcbiAgICByZW1vdGVFbnRyeUNhY2hlW3JlbW90ZUVudHJ5XSA9IGxvYWRSZW1vdGVNb2R1bGUoe1xyXG4gICAgICByZW1vdGVFbnRyeSxcclxuICAgICAgZXhwb3NlZE1vZHVsZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlbW90ZUVudHJ5Q2FjaGVbcmVtb3RlRW50cnldO1xyXG59XHJcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi91dGlsaXR5L3JlbW90ZS1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekUsTUFBTSxnQkFBZ0IsR0FBaUMsRUFBRSxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE9BR3pDO0lBQ0MsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7WUFDL0MsV0FBVztZQUNYLGFBQWE7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9hZFJlbW90ZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL25hdGl2ZS1mZWRlcmF0aW9uXCI7XG5cbmNvbnN0IHJlbW90ZUVudHJ5Q2FjaGU6IFJlY29yZDxzdHJpbmcsIFByb21pc2U8YW55Pj4gPSB7fTtcblxuLyoqXG4gKiBMb2FkIHJlbW90ZSBtb2R1bGUgd2l0aCBjYWNoaW5nIHRvIGF2b2lkIHJlZHVuZGFudCBuZXR3b3JrIHJlcXVlc3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVtb3RlTW9kdWxlV2l0aENhY2hlKG9wdGlvbnM6IHtcbiAgcmVtb3RlRW50cnk6IHN0cmluZztcbiAgZXhwb3NlZE1vZHVsZTogc3RyaW5nO1xufSk6IFByb21pc2U8YW55PiB7XG4gIGNvbnN0IHsgcmVtb3RlRW50cnksIGV4cG9zZWRNb2R1bGUgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKCFyZW1vdGVFbnRyeUNhY2hlW3JlbW90ZUVudHJ5XSkge1xuICAgIHJlbW90ZUVudHJ5Q2FjaGVbcmVtb3RlRW50cnldID0gbG9hZFJlbW90ZU1vZHVsZSh7XG4gICAgICByZW1vdGVFbnRyeSxcbiAgICAgIGV4cG9zZWRNb2R1bGUsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVtb3RlRW50cnlDYWNoZVtyZW1vdGVFbnRyeV07XG59XG4iXX0=
@@ -178,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
178
178
  providedIn: 'root'
179
179
  }]
180
180
  }], ctorParameters: () => [] });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZC1wcm9jZXNzb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi93b3JkLXByb2Nlc3Nvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUs5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU87SUFDdEMsYUFBYSxDQUFNO0lBQ25CLGVBQWUsQ0FBTTtJQUVyQixnQkFBZ0IsQ0FBQztJQUNqQjs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxhQUFrQjtRQUNqQyxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxXQUFnQjtRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsR0FBUTtRQUNsQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsR0FBUTtRQUNuQixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3RFLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxFQUFPLEVBQUUsT0FBWTtRQUN0QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxFQUFFLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsRUFBTyxFQUFFLEtBQVU7UUFDbEMsZ0RBQWdEO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLElBQVMsRUFBRSxhQUFtQjtRQUMvQyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNOLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0Qsc0RBQXNEO1FBQ3RELElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0csQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxJQUFTLEVBQUUsWUFBaUI7UUFDaEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELGlEQUFpRDtRQUNqRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztRQUN0RixtQ0FBbUM7UUFDbkMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDRDs7O09BR0c7SUFDSCxtQkFBbUIsQ0FBQyxPQUFZO1FBQzlCLG9DQUFvQztRQUNwQyxJQUFJLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztZQUN2QixtQ0FBbUM7WUFDbkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUM1QixZQUFZLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztnQkFDakUsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUNEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLEdBQVE7UUFDMUIsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsd0JBQXdCLENBQUMsT0FBWSxFQUFFLGFBQW1CO1FBQ3hELElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0Qsc0RBQXNEO1FBQ3RELE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRDs7O09BR0c7SUFDSCxvQkFBb0IsQ0FBQyxJQUFTO1FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNoRCxnREFBZ0Q7UUFDaEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO3dHQXJLVSxhQUFhOzRHQUFiLGFBQWEsY0FMWixNQUFNOzs0RkFLUCxhQUFhO2tCQU56QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXHJcbmltcG9ydCB7IE1lc3NhZ2VzIH0gZnJvbSBcIi4vcHJvamVjdC1tZXNzYWdlc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG4vKipcclxuICogVGVybWlub2xvZ3kvV29yZCBGYWN0b3J5XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgV29yZFByb2Nlc3NvciB7XHJcbiAgVElNRU9VVF9ERUxBWV9MQVJHRTEwID0gMTAwMDA7IC8vIG1zZWNcclxuICB0ZXJtaW5vbG9naWVzOiBhbnk7XHJcbiAgc3B0ZXJtaW5vbG9naWVzOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIHRvIHNldCB0aGUgdGVybWlubG9naWVzIGZvciBKYWxkZWVcclxuICAgKiBAcGFyYW0gdGVybWlub2xvZ2llcyBcclxuICAgKi9cclxuICBzZXRUZXJtaW5vbG9naWVzKHRlcm1pbm9sb2dpZXM6IGFueSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJTZXQgVGVybWlub2xvZ2llczpcIiwgdGVybWlub2xvZ2llcyk7XHJcbiAgICB0aGlzLnRlcm1pbm9sb2dpZXMgPSB0ZXJtaW5vbG9naWVzO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBNZXRob2QgdG8gZ2V0IHRoZSB0ZXJtaW5vbG9naWVzXHJcbiAgICovXHJcbiAgZ2V0VGVybWlub2xvZ2llcygpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1pbm9sb2dpZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAgTWV0aG9kIHRvIHNldCB0aGUgc3AgdGVybWlubG9naWVzIGZvciBKYWxkZWVcclxuICAgKiBAcGFyYW0gdGVybWlub2xvZ3kgXHJcbiAgICovXHJcbiAgc2V0U1BUZXJtaW5vbG9naWVzKHRlcm1pbm9sb2d5OiBhbnkpIHtcclxuICAgIHRoaXMuc3B0ZXJtaW5vbG9naWVzID0gdGVybWlub2xvZ3k7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgdG8gZ2V0IHRoZSBzcCB0ZXJtaW5vbG9naWVzXHJcbiAgICovXHJcbiAgZ2V0U1BUZXJtaW5vbG9naWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3B0ZXJtaW5vbG9naWVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIHJldHVybnMgdGhlIENhbWVsQ2FzZVxyXG4gICAqIEBwYXJhbSBzdHIgdGV4dCB0byBjb252ZXJ0XHJcbiAgICovXHJcbiAgdG9DYW1lbENhc2Uoc3RyOiBhbnkpIHtcclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IHRoZSBmaXJzdCBsZXR0ZXIgdG8gVXBwZXJjYXNlXHJcbiAgICogQHBhcmFtIHN0ciBcclxuICAgKi9cclxuICBmaXJzdFRvVXBwZXIoc3RyOiBhbnkpIHtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgaWYgKHN0ci5zdWJzdHIoMCwgNykgPT09ICdodHRwOi8vJyB8fCBzdHIuc3Vic3RyKDAsIDgpID09PSAnaHR0cHM6Ly8nKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gc3RyLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyLnN1YnN0cigxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBTaG93L0hpZGUgU3VjY2VzcyBvciBFcnJvciBNZXNzYWdlc1xyXG4gICAqIEBwYXJhbSBvYiBPYmplY3QgdG8gcHV0IHRoZSBtZXNzYWdlXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZSB0byBzaG93XHJcbiAgICovXHJcbiAgYXBpU3VjY2Vzc0F1dG9IaWRlKG9iOiBhbnksIG1lc3NhZ2U6IGFueSkge1xyXG4gICAgY29uc3QgcmVwbGFjZWRfbWVzc2FnZSA9IHRoaXMuZmluZFRlcm1pbm9sb2d5VGVybShtZXNzYWdlKTtcclxuICAgIG9iLmFwaV9zdWNjZXNzID0gdGhpcy5maXJzdFRvVXBwZXIocmVwbGFjZWRfbWVzc2FnZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgb2IuYXBpX3N1Y2Nlc3MgPSBudWxsO1xyXG4gICAgfSwgdGhpcy5USU1FT1VUX0RFTEFZX0xBUkdFMTApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTaG93IGVycm9yIGFuZCBoaWRlIGl0IGF1dG9tYXRpY2FsbHlcclxuICAgKiBAcGFyYW0gb2IgT2JqZWN0IGhvbGRzIHRoZSBtZXNzYWdlXHJcbiAgICogQHBhcmFtIGVycm9yIE1lc3NhZ2UgdG8gYmUgc2hvd25cclxuICAgKi9cclxuICBhcGlFcnJvckF1dG9IaWRlKG9iOiBhbnksIGVycm9yOiBhbnkpIHtcclxuICAgIC8vIGVycm9yID0gdGhpcy5lcnJvclNlcnZpY2UuZ2V0QXBpRXJyb3IoZXJyb3IpO1xyXG4gICAgY29uc3QgcmVwbGFjZWRfbWVzc2FnZSA9IHRoaXMuZmluZFRlcm1pbm9sb2d5VGVybShlcnJvcik7XHJcbiAgICBvYi5hcGlfZXJyb3IgPSB0aGlzLmZpcnN0VG9VcHBlcihyZXBsYWNlZF9tZXNzYWdlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBvYi5hcGlfZXJyb3IgPSBudWxsO1xyXG4gICAgfSwgdGhpcy5USU1FT1VUX0RFTEFZX0xBUkdFMTApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHRlcm1pbm9sb2d5IGZyb20gdGVybWlub2xvZ2llc1xyXG4gICAqIEBwYXJhbSB0ZXJtIFxyXG4gICAqL1xyXG4gIGdldFRlcm1pbm9sb2d5VGVybSh0ZXJtOiBhbnksIHRlcm1pbm9sb2dpZXM/OiBhbnkpIHtcclxuICAgIGlmICh0ZXJtaW5vbG9naWVzKSB7XHJcbiAgICAgIHRoaXMuc2V0VGVybWlub2xvZ2llcyh0ZXJtaW5vbG9naWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRlcm1pbm9sb2dpZXMgPSB0aGlzLmdldFRlcm1pbm9sb2dpZXMoKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRlcm1fb25seSA9IHRlcm0ucmVwbGFjZSgvW1xcW1xcXSddL2csICcnKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJHZXQgVGVybWlub2xvZ3kgVGVybVwiLCB0ZXJtaW5vbG9naWVzKTtcclxuICAgIGlmICh0ZXJtaW5vbG9naWVzKSB7XHJcbiAgICAgIHJldHVybiAodGVybWlub2xvZ2llc1t0ZXJtX29ubHldKSA/IHRlcm1pbm9sb2dpZXNbdGVybV9vbmx5XSA6ICgodGVybSA9PT0gdGVybV9vbmx5KSA/IHRlcm1fb25seSA6IHRlcm0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICh0ZXJtID09PSB0ZXJtX29ubHkpID8gdGVybV9vbmx5IDogdGVybTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmVwbGFjZSB0aGUgdGVybSB3aXRoaW4gdGhlIGZ1bGwgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSB0ZXJtIHRlcm0gdG8gYmUgcmVwbGFjZWRcclxuICAgKiBAcGFyYW0gZnVsbF9tZXNzYWdlIGZ1bGwgbWVzc2FnZVxyXG4gICAqL1xyXG4gIHJlbW92ZVRlcm1pbm9sb2d5VGVybSh0ZXJtOiBhbnksIGZ1bGxfbWVzc2FnZTogYW55KSB7XHJcbiAgICBjb25zdCB0ZXJtX3JlcGxhY2UgPSB0aGlzLmdldFRlcm1pbm9sb2d5VGVybSh0ZXJtKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiVGVybSBUbyByZXBsYWNlOlwiLCB0ZXJtX3JlcGxhY2UpO1xyXG4gICAgY29uc3QgdGVybV9vbmx5ID0gdGVybS5yZXBsYWNlKC9bXFxbXFxdJ10vZywgJycpOyAvLyB0ZXJtIG1heSBtZSB3aXRoIG9yIHdpdGhvdXQgJ1snICddJ1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJUZXJtOlwiLCB0ZXJtX29ubHkpO1xyXG4gICAgcmV0dXJuIGZ1bGxfbWVzc2FnZS5yZXBsYWNlKCdbJyArIHRlcm1fb25seSArICddJywgdGVybV9yZXBsYWNlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRmluZCB0aGUgdGVybWlub2xvZ3lcclxuICAgKiBAcGFyYW0gbWVzc2FnZSBcclxuICAgKi9cclxuICBmaW5kVGVybWlub2xvZ3lUZXJtKG1lc3NhZ2U6IGFueSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJNZXNzYWdlOlwiLCBtZXNzYWdlKTtcclxuICAgIGxldCByZXBsYWNlZF9tc2cgPSBtZXNzYWdlO1xyXG4gICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgY29uc3QgbWF0Y2hlcyA9IG1lc3NhZ2UubWF0Y2goL1xcWyguKj8pXFxdL2cpO1xyXG4gICAgICByZXBsYWNlZF9tc2cgPSBtZXNzYWdlO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcIk1hdGNoZXNcIiwgbWF0Y2hlcyk7XHJcbiAgICAgIGlmIChtYXRjaGVzKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XHJcbiAgICAgICAgICByZXBsYWNlZF9tc2cgPSB0aGlzLnJlbW92ZVRlcm1pbm9sb2d5VGVybShtYXRjaCwgcmVwbGFjZWRfbXNnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXBsYWNlZF9tc2c7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCB0aGUgbWVzc2FnZSBmcm9tIHRoZSBtZXNzYWdlcyBsaXN0XHJcbiAgICogQHBhcmFtIGtleSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGdldFByb2plY3RNZXNzc2FnZXMoa2V5OiBhbnkpIHtcclxuICAgIGxldCBtZXNzYWdlID0gTWVzc2FnZXNba2V5XSB8fCAnJztcclxuICAgIG1lc3NhZ2UgPSB0aGlzLmZpbmRUZXJtaW5vbG9neVRlcm0obWVzc2FnZSk7XHJcbiAgICByZXR1cm4gdGhpcy5maXJzdFRvVXBwZXIobWVzc2FnZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEV4dHJhY3QgZXJyb3IgbWVzc2FnZSBmcm9tIHRoZSBlcnJvciBvYmplY3RcclxuICAgKiBAcGFyYW0gZXJyb3IgZXJyb3IgbWVzc2FnZSB0byBzaG93blxyXG4gICAqL1xyXG4gIGdldFByb2plY3RFcnJvck1lc3NzYWdlcyhtZXNzYWdlOiBhbnksIHRlcm1pbm9sb2dpZXM/OiBhbnkpIHtcclxuICAgIGlmICh0ZXJtaW5vbG9naWVzKSB7XHJcbiAgICAgIHRoaXMuc2V0VGVybWlub2xvZ2llcyh0aGlzLnRlcm1pbm9sb2dpZXMpO1xyXG4gICAgfVxyXG4gICAgLy8gbGV0IG1lc3NhZ2UgPSB0aGlzLmVycm9yU2VydmljZS5nZXRBcGlFcnJvcihlcnJvcik7XHJcbiAgICBtZXNzYWdlID0gdGhpcy5maW5kVGVybWlub2xvZ3lUZXJtKG1lc3NhZ2UpO1xyXG4gICAgcmV0dXJuIHRoaXMuZmlyc3RUb1VwcGVyKG1lc3NhZ2UpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHRlcm1pbm9sb2d5IGZyb20gdGVybWlub2xvZ2llc1xyXG4gICAqIEBwYXJhbSB0ZXJtIFxyXG4gICAqL1xyXG4gIGdldFNQVGVybWlub2xvZ3lUZXJtKHRlcm06IGFueSkge1xyXG4gICAgY29uc3QgdGVybV9vbmx5ID0gdGVybTtcclxuICAgIGNvbnN0IHRlcm1pbm9sb2dpZXMgPSB0aGlzLmdldFNQVGVybWlub2xvZ2llcygpO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJUZXJtaW5vbG9naWVzOlwiLCB0ZXJtaW5vbG9naWVzKTtcclxuICAgIGlmICh0ZXJtaW5vbG9naWVzKSB7XHJcbiAgICAgIHJldHVybiAodGVybWlub2xvZ2llc1t0ZXJtX29ubHldKSA/IHRlcm1pbm9sb2dpZXNbdGVybV9vbmx5XSA6ICgodGVybSA9PT0gdGVybV9vbmx5KSA/IHRlcm1fb25seSA6IHRlcm0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICh0ZXJtID09PSB0ZXJtX29ubHkpID8gdGVybV9vbmx5IDogdGVybTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZC1wcm9jZXNzb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi93b3JkLXByb2Nlc3Nvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUs5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU87SUFDdEMsYUFBYSxDQUFNO0lBQ25CLGVBQWUsQ0FBTTtJQUVyQixnQkFBZ0IsQ0FBQztJQUNqQjs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxhQUFrQjtRQUNqQyxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxXQUFnQjtRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsR0FBUTtRQUNsQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsR0FBUTtRQUNuQixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUs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LFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO3dHQXJLVSxhQUFhOzRHQUFiLGFBQWEsY0FMWixNQUFNOzs0RkFLUCxhQUFhO2tCQU56QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5pbXBvcnQgeyBNZXNzYWdlcyB9IGZyb20gXCIuL3Byb2plY3QtbWVzc2FnZXNcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG4vKipcbiAqIFRlcm1pbm9sb2d5L1dvcmQgRmFjdG9yeVxuICovXG5leHBvcnQgY2xhc3MgV29yZFByb2Nlc3NvciB7XG4gIFRJTUVPVVRfREVMQVlfTEFSR0UxMCA9IDEwMDAwOyAvLyBtc2VjXG4gIHRlcm1pbm9sb2dpZXM6IGFueTtcbiAgc3B0ZXJtaW5vbG9naWVzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBzZXQgdGhlIHRlcm1pbmxvZ2llcyBmb3IgSmFsZGVlXG4gICAqIEBwYXJhbSB0ZXJtaW5vbG9naWVzIFxuICAgKi9cbiAgc2V0VGVybWlub2xvZ2llcyh0ZXJtaW5vbG9naWVzOiBhbnkpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhcIlNldCBUZXJtaW5vbG9naWVzOlwiLCB0ZXJtaW5vbG9naWVzKTtcbiAgICB0aGlzLnRlcm1pbm9sb2dpZXMgPSB0ZXJtaW5vbG9naWVzO1xuICB9XG4gIC8qKlxuICAgKiBNZXRob2QgdG8gZ2V0IHRoZSB0ZXJtaW5vbG9naWVzXG4gICAqL1xuICBnZXRUZXJtaW5vbG9naWVzKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm1pbm9sb2dpZXM7XG4gIH1cblxuICAvKipcbiAgICogIE1ldGhvZCB0byBzZXQgdGhlIHNwIHRlcm1pbmxvZ2llcyBmb3IgSmFsZGVlXG4gICAqIEBwYXJhbSB0ZXJtaW5vbG9neSBcbiAgICovXG4gIHNldFNQVGVybWlub2xvZ2llcyh0ZXJtaW5vbG9neTogYW55KSB7XG4gICAgdGhpcy5zcHRlcm1pbm9sb2dpZXMgPSB0ZXJtaW5vbG9neTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gZ2V0IHRoZSBzcCB0ZXJtaW5vbG9naWVzXG4gICAqL1xuICBnZXRTUFRlcm1pbm9sb2dpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3B0ZXJtaW5vbG9naWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCByZXR1cm5zIHRoZSBDYW1lbENhc2VcbiAgICogQHBhcmFtIHN0ciB0ZXh0IHRvIGNvbnZlcnRcbiAgICovXG4gIHRvQ2FtZWxDYXNlKHN0cjogYW55KSB7XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRoZSBmaXJzdCBsZXR0ZXIgdG8gVXBwZXJjYXNlXG4gICAqIEBwYXJhbSBzdHIgXG4gICAqL1xuICBmaXJzdFRvVXBwZXIoc3RyOiBhbnkpIHtcbiAgICBpZiAoc3RyKSB7XG4gICAgICBpZiAoc3RyLnN1YnN0cigwLCA3KSA9PT0gJ2h0dHA6Ly8nIHx8IHN0ci5zdWJzdHIoMCwgOCkgPT09ICdodHRwczovLycpIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzdHIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHIuc3Vic3RyKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKipcbiAgICogU2hvdy9IaWRlIFN1Y2Nlc3Mgb3IgRXJyb3IgTWVzc2FnZXNcbiAgICogQHBhcmFtIG9iIE9iamVjdCB0byBwdXQgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZSB0byBzaG93XG4gICAqL1xuICBhcGlTdWNjZXNzQXV0b0hpZGUob2I6IGFueSwgbWVzc2FnZTogYW55KSB7XG4gICAgY29uc3QgcmVwbGFjZWRfbWVzc2FnZSA9IHRoaXMuZmluZFRlcm1pbm9sb2d5VGVybShtZXNzYWdlKTtcbiAgICBvYi5hcGlfc3VjY2VzcyA9IHRoaXMuZmlyc3RUb1VwcGVyKHJlcGxhY2VkX21lc3NhZ2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgb2IuYXBpX3N1Y2Nlc3MgPSBudWxsO1xuICAgIH0sIHRoaXMuVElNRU9VVF9ERUxBWV9MQVJHRTEwKTtcbiAgfVxuICAvKipcbiAgICogU2hvdyBlcnJvciBhbmQgaGlkZSBpdCBhdXRvbWF0aWNhbGx5XG4gICAqIEBwYXJhbSBvYiBPYmplY3QgaG9sZHMgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIGVycm9yIE1lc3NhZ2UgdG8gYmUgc2hvd25cbiAgICovXG4gIGFwaUVycm9yQXV0b0hpZGUob2I6IGFueSwgZXJyb3I6IGFueSkge1xuICAgIC8vIGVycm9yID0gdGhpcy5lcnJvclNlcnZpY2UuZ2V0QXBpRXJyb3IoZXJyb3IpO1xuICAgIGNvbnN0IHJlcGxhY2VkX21lc3NhZ2UgPSB0aGlzLmZpbmRUZXJtaW5vbG9neVRlcm0oZXJyb3IpO1xuICAgIG9iLmFwaV9lcnJvciA9IHRoaXMuZmlyc3RUb1VwcGVyKHJlcGxhY2VkX21lc3NhZ2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgb2IuYXBpX2Vycm9yID0gbnVsbDtcbiAgICB9LCB0aGlzLlRJTUVPVVRfREVMQVlfTEFSR0UxMCk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCB0aGUgdGVybWlub2xvZ3kgZnJvbSB0ZXJtaW5vbG9naWVzXG4gICAqIEBwYXJhbSB0ZXJtIFxuICAgKi9cbiAgZ2V0VGVybWlub2xvZ3lUZXJtKHRlcm06IGFueSwgdGVybWlub2xvZ2llcz86IGFueSkge1xuICAgIGlmICh0ZXJtaW5vbG9naWVzKSB7XG4gICAgICB0aGlzLnNldFRlcm1pbm9sb2dpZXModGVybWlub2xvZ2llcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRlcm1pbm9sb2dpZXMgPSB0aGlzLmdldFRlcm1pbm9sb2dpZXMoKTtcbiAgICB9XG4gICAgY29uc3QgdGVybV9vbmx5ID0gdGVybS5yZXBsYWNlKC9bXFxbXFxdJ10vZywgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gY29uc29sZS5sb2coXCJHZXQgVGVybWlub2xvZ3kgVGVybVwiLCB0ZXJtaW5vbG9naWVzKTtcbiAgICBpZiAodGVybWlub2xvZ2llcykge1xuICAgICAgcmV0dXJuICh0ZXJtaW5vbG9naWVzW3Rlcm1fb25seV0pID8gdGVybWlub2xvZ2llc1t0ZXJtX29ubHldIDogKCh0ZXJtID09PSB0ZXJtX29ubHkpID8gdGVybV9vbmx5IDogdGVybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAodGVybSA9PT0gdGVybV9vbmx5KSA/IHRlcm1fb25seSA6IHRlcm07XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBSZXBsYWNlIHRoZSB0ZXJtIHdpdGhpbiB0aGUgZnVsbCBtZXNzYWdlXG4gICAqIEBwYXJhbSB0ZXJtIHRlcm0gdG8gYmUgcmVwbGFjZWRcbiAgICogQHBhcmFtIGZ1bGxfbWVzc2FnZSBmdWxsIG1lc3NhZ2VcbiAgICovXG4gIHJlbW92ZVRlcm1pbm9sb2d5VGVybSh0ZXJtOiBhbnksIGZ1bGxfbWVzc2FnZTogYW55KSB7XG4gICAgY29uc3QgdGVybV9yZXBsYWNlID0gdGhpcy5nZXRUZXJtaW5vbG9neVRlcm0odGVybSk7XG4gICAgLy8gY29uc29sZS5sb2coXCJUZXJtIFRvIHJlcGxhY2U6XCIsIHRlcm1fcmVwbGFjZSk7XG4gICAgY29uc3QgdGVybV9vbmx5ID0gdGVybS5yZXBsYWNlKC9bXFxbXFxdJ10vZywgJycpOyAvLyB0ZXJtIG1heSBtZSB3aXRoIG9yIHdpdGhvdXQgJ1snICddJ1xuICAgIC8vIGNvbnNvbGUubG9nKFwiVGVybTpcIiwgdGVybV9vbmx5KTtcbiAgICByZXR1cm4gZnVsbF9tZXNzYWdlLnJlcGxhY2UoJ1snICsgdGVybV9vbmx5ICsgJ10nLCB0ZXJtX3JlcGxhY2UpO1xuICB9XG4gIC8qKlxuICAgKiBGaW5kIHRoZSB0ZXJtaW5vbG9neVxuICAgKiBAcGFyYW0gbWVzc2FnZSBcbiAgICovXG4gIGZpbmRUZXJtaW5vbG9neVRlcm0obWVzc2FnZTogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2coXCJNZXNzYWdlOlwiLCBtZXNzYWdlKTtcbiAgICBsZXQgcmVwbGFjZWRfbXNnID0gbWVzc2FnZTtcbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IG1lc3NhZ2UubWF0Y2goL1xcWyguKj8pXFxdL2cpO1xuICAgICAgcmVwbGFjZWRfbXNnID0gbWVzc2FnZTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwiTWF0Y2hlc1wiLCBtYXRjaGVzKTtcbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgICAgICAgIHJlcGxhY2VkX21zZyA9IHRoaXMucmVtb3ZlVGVybWlub2xvZ3lUZXJtKG1hdGNoLCByZXBsYWNlZF9tc2cpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXBsYWNlZF9tc2c7XG4gIH1cbiAgLyoqXG4gICAqIGdldCB0aGUgbWVzc2FnZSBmcm9tIHRoZSBtZXNzYWdlcyBsaXN0XG4gICAqIEBwYXJhbSBrZXkgaWRlbnRpZmllciBmb3IgdGhlIG1lc3NhZ2VcbiAgICovXG4gIGdldFByb2plY3RNZXNzc2FnZXMoa2V5OiBhbnkpIHtcbiAgICBsZXQgbWVzc2FnZSA9IE1lc3NhZ2VzW2tleV0gfHwgJyc7XG4gICAgbWVzc2FnZSA9IHRoaXMuZmluZFRlcm1pbm9sb2d5VGVybShtZXNzYWdlKTtcbiAgICByZXR1cm4gdGhpcy5maXJzdFRvVXBwZXIobWVzc2FnZSk7XG4gIH1cbiAgLyoqXG4gICAqIEV4dHJhY3QgZXJyb3IgbWVzc2FnZSBmcm9tIHRoZSBlcnJvciBvYmplY3RcbiAgICogQHBhcmFtIGVycm9yIGVycm9yIG1lc3NhZ2UgdG8gc2hvd25cbiAgICovXG4gIGdldFByb2plY3RFcnJvck1lc3NzYWdlcyhtZXNzYWdlOiBhbnksIHRlcm1pbm9sb2dpZXM/OiBhbnkpIHtcbiAgICBpZiAodGVybWlub2xvZ2llcykge1xuICAgICAgdGhpcy5zZXRUZXJtaW5vbG9naWVzKHRoaXMudGVybWlub2xvZ2llcyk7XG4gICAgfVxuICAgIC8vIGxldCBtZXNzYWdlID0gdGhpcy5lcnJvclNlcnZpY2UuZ2V0QXBpRXJyb3IoZXJyb3IpO1xuICAgIG1lc3NhZ2UgPSB0aGlzLmZpbmRUZXJtaW5vbG9neVRlcm0obWVzc2FnZSk7XG4gICAgcmV0dXJuIHRoaXMuZmlyc3RUb1VwcGVyKG1lc3NhZ2UpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgdGhlIHRlcm1pbm9sb2d5IGZyb20gdGVybWlub2xvZ2llc1xuICAgKiBAcGFyYW0gdGVybSBcbiAgICovXG4gIGdldFNQVGVybWlub2xvZ3lUZXJtKHRlcm06IGFueSkge1xuICAgIGNvbnN0IHRlcm1fb25seSA9IHRlcm07XG4gICAgY29uc3QgdGVybWlub2xvZ2llcyA9IHRoaXMuZ2V0U1BUZXJtaW5vbG9naWVzKCk7XG4gICAgLy8gY29uc29sZS5sb2coXCJUZXJtaW5vbG9naWVzOlwiLCB0ZXJtaW5vbG9naWVzKTtcbiAgICBpZiAodGVybWlub2xvZ2llcykge1xuICAgICAgcmV0dXJuICh0ZXJtaW5vbG9naWVzW3Rlcm1fb25seV0pID8gdGVybWlub2xvZ2llc1t0ZXJtX29ubHldIDogKCh0ZXJtID09PSB0ZXJtX29ubHkpID8gdGVybV9vbmx5IDogdGVybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAodGVybSA9PT0gdGVybV9vbmx5KSA/IHRlcm1fb25seSA6IHRlcm07XG4gICAgfVxuICB9XG59Il19