@gravitee/ui-components 3.17.0 → 3.17.4

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 (89) hide show
  1. package/package.json +18 -24
  2. package/src/atoms/gv-autocomplete.js +6 -5
  3. package/src/atoms/gv-button.js +4 -4
  4. package/src/atoms/gv-checkbox.js +3 -3
  5. package/src/atoms/gv-date-picker-calendar.js +5 -4
  6. package/src/atoms/gv-date-picker-cell.js +4 -4
  7. package/src/atoms/gv-date-picker.js +5 -4
  8. package/src/atoms/gv-file-upload.js +5 -4
  9. package/src/atoms/gv-icon.js +7 -15
  10. package/src/atoms/gv-image.js +4 -4
  11. package/src/atoms/gv-input-message.js +3 -2
  12. package/src/atoms/gv-input.js +3 -3
  13. package/src/atoms/gv-link.js +6 -6
  14. package/src/atoms/gv-message.js +3 -3
  15. package/src/atoms/gv-metric.js +3 -3
  16. package/src/atoms/gv-relative-time.js +4 -6
  17. package/src/atoms/gv-select.js +5 -5
  18. package/src/atoms/gv-spinner.js +2 -2
  19. package/src/atoms/gv-state.js +3 -3
  20. package/src/atoms/gv-switch.js +4 -4
  21. package/src/atoms/gv-tag.js +3 -3
  22. package/src/atoms/gv-text.js +4 -4
  23. package/src/charts/gv-chart-bar.js +2 -2
  24. package/src/charts/gv-chart-gauge.js +2 -2
  25. package/src/charts/gv-chart-histogram.js +2 -2
  26. package/src/charts/gv-chart-line.js +2 -2
  27. package/src/charts/gv-chart-map.js +2 -2
  28. package/src/charts/gv-chart-pie.js +2 -2
  29. package/src/lib/item.js +2 -2
  30. package/src/lib/studio.js +3 -3
  31. package/src/mixins/chart-element.js +4 -3
  32. package/src/mixins/input-element.js +3 -3
  33. package/src/mixins/item-resource.js +3 -3
  34. package/src/mixins/with-skeleton-attribute.js +2 -2
  35. package/src/molecules/gv-card-full.js +3 -3
  36. package/src/molecules/gv-card-list.js +4 -3
  37. package/src/molecules/gv-card.js +3 -3
  38. package/src/molecules/gv-category-list.js +3 -2
  39. package/src/molecules/gv-category.js +3 -3
  40. package/src/molecules/gv-code-hint.js +2 -2
  41. package/src/molecules/gv-code.js +3 -3
  42. package/src/molecules/gv-confirm.js +3 -2
  43. package/src/molecules/gv-cron-editor.js +3 -3
  44. package/src/molecules/gv-dropdown-menu.js +3 -2
  45. package/src/molecules/gv-expandable.js +3 -3
  46. package/src/molecules/gv-expression-language.js +3 -2
  47. package/src/molecules/gv-identity-picture.js +4 -3
  48. package/src/molecules/gv-list.js +4 -4
  49. package/src/molecules/gv-metrics.js +4 -4
  50. package/src/molecules/gv-modal.js +2 -2
  51. package/src/molecules/gv-nav.js +5 -5
  52. package/src/molecules/gv-option.js +6 -6
  53. package/src/molecules/gv-plans.js +6 -5
  54. package/src/molecules/gv-popover.js +4 -3
  55. package/src/molecules/gv-promote.js +3 -3
  56. package/src/molecules/gv-rating-list.js +5 -4
  57. package/src/molecules/gv-rating.js +4 -4
  58. package/src/molecules/gv-row-expandable.js +2 -2
  59. package/src/molecules/gv-row.js +3 -3
  60. package/src/molecules/gv-stats.js +4 -4
  61. package/src/molecules/gv-stepper.js +4 -4
  62. package/src/molecules/gv-table.js +8 -7
  63. package/src/molecules/gv-tree.js +4 -4
  64. package/src/organisms/gv-documentation.js +2 -2
  65. package/src/organisms/gv-header.js +6 -6
  66. package/src/organisms/gv-http-client.js +2 -2
  67. package/src/organisms/gv-menu.js +3 -3
  68. package/src/organisms/gv-newsletter-subscription.js +2 -2
  69. package/src/organisms/gv-pagination.js +2 -2
  70. package/src/organisms/gv-properties.js +3 -3
  71. package/src/organisms/gv-resizable-views.js +4 -3
  72. package/src/organisms/gv-resources.js +2 -2
  73. package/src/organisms/gv-schema-form-array.js +3 -3
  74. package/src/organisms/gv-schema-form-control-object.js +3 -3
  75. package/src/organisms/gv-schema-form-control.js +3 -2
  76. package/src/organisms/gv-schema-form.js +3 -3
  77. package/src/organisms/gv-tabs.js +3 -2
  78. package/src/organisms/gv-user-menu.js +4 -4
  79. package/src/organisms/gv-vertical-menu.js +2 -2
  80. package/src/policy-studio/gv-flow-step.js +3 -3
  81. package/src/policy-studio/gv-flow.js +3 -3
  82. package/src/policy-studio/gv-policy-studio-menu.js +4 -4
  83. package/src/policy-studio/gv-policy-studio.js +3 -3
  84. package/src/styles/empty.js +2 -2
  85. package/src/styles/input.js +2 -2
  86. package/src/styles/link.js +2 -2
  87. package/src/styles/skeleton.js +2 -2
  88. package/src/styles/zoom.js +2 -2
  89. package/src/theme/gv-theme.js +2 -2
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { classMap } from 'lit/directives/class-map';
17
- import { LitElement, html, css } from 'lit';
16
+ import { classMap } from 'lit-html/directives/class-map';
17
+ import { LitElement, html, css } from 'lit-element';
18
18
  import { skeleton } from '../styles/skeleton';
19
19
  import { input } from '../styles/input';
20
20
  import { link } from '../styles/link';
@@ -528,4 +528,4 @@ export class GvInput extends InputElement(LitElement) {
528
528
 
529
529
  }
530
530
  window.customElements.define('gv-input', GvInput);
531
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWlucHV0LmpzIl0sIm5hbWVzIjpbImNsYXNzTWFwIiwiTGl0RWxlbWVudCIsImh0bWwiLCJjc3MiLCJza2VsZXRvbiIsImlucHV0IiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpMThuIiwiSW5wdXRFbGVtZW50Iiwic2hhcGVDbGlwYm9hcmQiLCJzaGFwZUNvcGllZCIsIkd2SW5wdXQiLCJwcm9wZXJ0aWVzIiwidHlwZSIsIlN0cmluZyIsInJlZmxlY3QiLCJsYXJnZSIsIkJvb2xlYW4iLCJtZWRpdW0iLCJzbWFsbCIsImljb24iLCJpY29uTGVmdCIsImF0dHJpYnV0ZSIsImxvYWRpbmciLCJtaW4iLCJOdW1iZXIiLCJtYXgiLCJhdXRvY29tcGxldGUiLCJjbGlwYm9hcmQiLCJjbGlja2FibGUiLCJjbGVhcmFibGUiLCJub1N1Ym1pdCIsInBhdHRlcm4iLCJkZXNjcmlwdGlvbiIsIl90eXBlIiwic3R5bGVzIiwic2hhcGVTZWFyY2giLCJzaGFwZUNsZWFyIiwic2hhcGVJbnZpc2libGUiLCJzaGFwZVZpc2libGUiLCJjb25zdHJ1Y3RvciIsIl9zaG93UGFzc3dvcmQiLCJ2YWx1ZSIsInJlc2V0IiwiZ2V0SW5wdXRFbGVtZW50IiwiYmx1ciIsImZvY3VzIiwiX2lucHV0IiwidXBkYXRlZCIsImNoYW5nZWRQcm9wZXJ0aWVzIiwiaGFzIiwibmFtZSIsInJlcXVpcmVkIiwidHJpbSIsImludmFsaWQiLCJyZWFkb25seSIsInNldEF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsInRpdGxlIiwibGFiZWwiLCJfcmVnZXhQYXR0ZXJuIiwiUmVnRXhwIiwiZGlzYWJsZWQiLCJwbGFjZWhvbGRlciIsInVwZGF0ZVN0YXRlIiwiX3NldENsaXBib2FyZEljb24iLCJzaGFwZSIsImZpcnN0VXBkYXRlZCIsImRlZmF1bHRJbnB1dEVsZW1lbnQiLCJub2RlIiwiY2hpbGROb2RlcyIsIm5vZGVUeXBlIiwiY2hpbGQiLCJub2RlTmFtZSIsInRvTG93ZXJDYXNlIiwicXVlcnlTZWxlY3RvciIsInJlbW92ZSIsInRoZW4iLCJtb2QiLCJjb3B5IiwiZGVmYXVsdCIsIl9jb3BpZWQiLCJzZXRUaW1lb3V0IiwiY2xpcGJvYXJkUG9wb3ZlciIsInNoYWRvd1Jvb3QiLCJhZGRFdmVudExpc3RlbmVyIiwiZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY2xpY2siLCJjbGlja2FibGVJY29uIiwiX29uSWNvbkNsaWNrIiwiYmluZCIsImlkIiwiX2lkIiwiX29uSW5wdXQiLCJfb25LZXlVcCIsIl9vbktleVByZXNzIiwidmFsaWQiLCJtYXRjaCIsInNldFZhbGlkaXR5IiwiX3ZhbHVlIiwidmFsdWVPZiIsImlzTmFOIiwidGFyZ2V0Iiwia2V5IiwiY2xpcGJvYXJkRGF0YSIsImdldERhdGEiLCJmcm9tQ2hhckNvZGUiLCJrZXlDb2RlIiwicmVnZXgiLCJ0ZXN0IiwiZm9ybSIsImNsb3Nlc3QiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImlzQ2xlYXJhYmxlIiwiaW5jbHVkZXMiLCJfb25JY29uVmlzaWJsZUNsaWNrIiwiaXNQYXNzd29yZCIsImhhc0NsaWNrYWJsZUljb24iLCJoYXNDbGlwYm9hcmQiLCJjbGVhciIsIl9yZW5kZXJDbGVhckljb24iLCJfcmVuZGVyUGFzc3dvcmRJY29uIiwiaGFzQmFja2dyb3VuZCIsIl9yZW5kZXJJY29uIiwiY2xhc3NlcyIsImNvcGllZCIsImljb25DbGFzc2VzIiwicmVuZGVyIiwicmVuZGVyTGFiZWwiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBVCxRQUF5QiwwQkFBekI7QUFFQSxT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SSxXQUFMLEVBRkssMEJBS0wsS0FBS1IsZ0JBQUwsRUFMSyxJQUtzQixLQUFLRyxXQUFMLEVBTHRCLElBSzRDLEtBQUtGLG1CQUFMLEVBTDVDLFdBT1AsS0FBSzdGLFdBQUwsSUFBb0IsSUFBcEIsR0FBMkJoQyxJQUFJLHdDQUF3QyxLQUFLZ0MsV0FBN0MsVUFBL0IsR0FBb0csRUFQN0YsR0FBWDtBQVNEOztBQXJlbUQ7QUF3ZXREcUcsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixVQUE3QixFQUF5QzdILE9BQXpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcblxuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCB7IGlucHV0IH0gZnJvbSAnLi4vc3R5bGVzL2lucHV0JztcbmltcG9ydCB7IGxpbmsgfSBmcm9tICcuLi9zdHlsZXMvbGluayc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgJy4vZ3YtaWNvbic7XG5pbXBvcnQgJy4uL21vbGVjdWxlcy9ndi1wb3BvdmVyJztcbmltcG9ydCB7IGkxOG4gfSBmcm9tICcuLi9saWIvaTE4bic7XG5pbXBvcnQgeyBJbnB1dEVsZW1lbnQgfSBmcm9tICcuLi9taXhpbnMvaW5wdXQtZWxlbWVudCc7XG5pbXBvcnQgeyBzaGFwZUNsaXBib2FyZCwgc2hhcGVDb3BpZWQgfSBmcm9tICcuLi9zdHlsZXMvc2hhcGVzJztcblxuLyoqXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWlucHV0OmlucHV0IC0gbWlycm9ycyBuYXRpdmUgaW5wdXQgZXZlbnRzIHdpdGggdGhlIGB2YWx1ZWAgb24gYGRldGFpbGBcbiAqIEBmaXJlcyBndi1pbnB1dDpjbGVhciAtIGV2ZW50IHdoZW4gdXNlciBjbGVhciBhIGNsZWFyYWJsZSBpbnB1dFxuICpcbiAqIEBhdHRyIHtCb29sZWFufSBkaXNhYmxlZCAtIHNhbWUgYXMgbmF0aXZlIGlucHV0IGVsZW1lbnQgYGRpc2FibGVkYCBhdHRyaWJ1dGVcbiAqIEBhdHRyIHtCb29sZWFufSByZXF1aXJlZCAtIHNhbWUgYXMgbmF0aXZlIGlucHV0IGVsZW1lbnQgYHJlcXVpcmVkYCBhdHRyaWJ1dGVcbiAqIEBhdHRyIHtCb29sZWFufSBza2VsZXRvbiAtIGVuYWJsZSBza2VsZXRvbiBzY3JlZW4gVUkgcGF0dGVybiAobG9hZGluZyBoaW50KVxuICogQGF0dHIge1N0cmluZ30gdmFsdWUgLSB0aGUgdmFsdWUgb2YgdGhlIGlucHV0XG4gKiBAYXR0ciB7U3RyaW5nfSBsYWJlbCAtIGxhYmVsIG9mIHRoZSBpbnB1dFxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSB0aXRsZSBvZiB0aGUgaW5wdXRcbiAqIEBhdHRyIHtTdHJpbmd9IG5hbWUgLSBuYW1lIG9mIHRoZSBpbnB1dFxuICogQGF0dHIge1N0cmluZ30gcGxhY2Vob2xkZXIgLSBhbiBleGFtcGxlIHZhbHVlIHRvIGRpc3BsYXkgaW4gdGhlIGlucHV0IHdoZW4gZW1wdHlcbiAqIEBhdHRyIHtTdHJpbmd9IGRlc2NyaXB0aW9uIC0gYSBkZXNjcmlwdGlvblxuICogQGF0dHIge1N0cmluZ30gdHlwZSAtIHR5cGUgb2YgdGhlIGlucHV0LCBjYW4gYmUgdGV4dCAoRGVmYXVsdCksIHBhc3N3b3JkLCBlbWFpbCwgc2VhcmNoLCBudW1iZXIsIHVybC5cbiAqIEBhdHRyIHtCb29sZWFufSBjbGlwYm9hcmQgLSBmb3IgcmVhZG9ubHkgaW5wdXQgd2l0aCBjbGlwYm9hcmRcbiAqIEBhdHRyIHtCb29sZWFufSBsYXJnZSAtIGZvciBhIGxhcmdlIGlucHV0XG4gKiBAYXR0ciB7Qm9vbGVhbn0gbWVkaXVtIC0gZm9yIGEgbWVkaXVtIGlucHV0IChEZWZhdWx0KVxuICogQGF0dHIge0Jvb2xlYW59IHNtYWxsIC0gZm9yIGEgc21hbGwgaW5wdXRcbiAqIEBhdHRyIHtTdHJpbmd9IGljb24gLSBpY29uIG9mIHRoZSBpbnB1dFxuICogQGF0dHIge1N0cmluZ30gaWNvbi1sZWZ0IC0gaWNvbiBvZiB0aGUgaW5wdXQgdG8gZGlzcGxheSBhdCBsZWZ0XG4gKiBAYXR0ciB7Qm9vbGVhbn0gdmFsaWQgLSBpZiB2YWx1ZSBpcyB2YWxpZFxuICogQGF0dHIge0Jvb2xlYW59IGludmFsaWQgLSBpZiB2YWx1ZSBpcyBpbnZhbGlkXG4gKiBAYXR0ciB7Qm9vbGVhbn0gW2xvYWRpbmc9ZmFsc2VdIC0gdHJ1ZSB0byBkaXNwbGF5IGEgbG9hZGluZyBpY29uXG4gKiBAYXR0ciB7Qm9vbGVhbn0gW2F1dG9mb2N1cz1mYWxzZV0gLSB0cnVlIHRvIHB1dCB0aGUgZm9jdXMgb24gdGhlIGlucHV0XG4gKiBAYXR0ciB7Qm9vbGVhbn0gW3JlYWRvbmx5PWZhbHNlXSAtIHRydWUgaWYgZmllbGQgaXMgcmVhZG9ubHkgbW9kZVxuICogQGF0dHIge1N0cmluZ30gW2F1dG9jb21wbGV0ZT0nb2ZmJ10gLSBzdGFuZGFyZCBhdXRvY29tcGxldGUgYXR0cmlidXRlXG4gKiBAYXR0ciB7Qm9vbGVhbn0gW2NsaWNrYWJsZT1mYWxzZV0gLSBJZiB0cnVlLCBpY29uIGhhcyBsaW5rIHN0eWxlXG4gKiBAYXR0ciB7Qm9vbGVhbn0gW2NsZWFyYWJsZT1mYWxzZV0gLSBJZiB0cnVlLCBpbnB1dCBjYW4gYmUgY2xlYXIgd2l0aCBidXR0b25cbiAqIEBhdHRyIHtCb29sZWFufSBbbm8tc3VibWl0PWZhbHNlXSAtIElmIHRydWUsIGlucHV0IGNhbm5vdCBkaXNwYXRjaCBuYXRpdmUgc3VibWl0IGV2ZW50IG9uIGVudGVyIGtleSBwcmVzcyB0byBjbG9zZXN0IGZvcm1cbiAqIEBhdHRyIHtTdHJpbmd9IFtwYXR0ZXJuPW51bGxdIC0gUGF0dGVybiBmb3IgaW5wdXQgdmFsaWRhdGlvbi4gSWYgdHlwZSBpcyB1cmwsIGRlZmF1bHQgcGF0dGVybiBpcyBeKGh0dHB8aHR0cHMpOi8vXG4gKlxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtaW5wdXQtLWJkYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLCAjRjVGNUY1KV0gLSBCb3JkZXIgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtaW5wdXQtLWJkcz1zb2xpZF0gLSBCb3JkZXIgc3R5bGVcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtaW5wdXQtaWNvbi0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IsICNGNUY1RjUpXSAtIEljb24gYmFja2dyb3VuZCBjb2xvclxuICovXG5leHBvcnQgY2xhc3MgR3ZJbnB1dCBleHRlbmRzIElucHV0RWxlbWVudChMaXRFbGVtZW50KSB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIucHJvcGVydGllcyxcbiAgICAgIHR5cGU6IHsgdHlwZTogU3RyaW5nLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBsYXJnZTogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBtZWRpdW06IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgc21hbGw6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgaWNvbjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGljb25MZWZ0OiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiAnaWNvbi1sZWZ0JyB9LFxuICAgICAgbG9hZGluZzogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBtaW46IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBtYXg6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBhdXRvY29tcGxldGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBjbGlwYm9hcmQ6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgY2xpY2thYmxlOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGNsZWFyYWJsZTogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBub1N1Ym1pdDogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICduby1zdWJtaXQnIH0sXG4gICAgICBwYXR0ZXJuOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgZGVzY3JpcHRpb246IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBfdHlwZTogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIHNrZWxldG9uLFxuICAgICAgaW5wdXQsXG4gICAgICBsaW5rLFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIC5jbGlja2FibGUgaW5wdXQsXG4gICAgICAgIC5jbGlja2FibGUgOjpzbG90dGVkKGlucHV0KSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsaWNrYWJsZSBpbnB1dDpob3ZlcixcbiAgICAgICAgLmNsaWNrYWJsZSA6OnNsb3R0ZWQoaW5wdXQ6aG92ZXIpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1kYXJrLCAjYmZiZmJmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWljb24ge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtaWNvbi5jb3BpZWQgZ3YtaWNvbiB7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiAjMzM5OTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2LmJveC1pY29uIGd2LWljb24ubG9hZGluZyxcbiAgICAgICAgLmxvYWRpbmcgOjpzbG90dGVkKGlucHV0KSB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyIDEuNnMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2FkaW5nLnNtYWxsIGd2LWljb24ge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gICAgICAgICAgdG8ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2xpcGJvYXJkIGlucHV0LFxuICAgICAgICAuY2xpcGJvYXJkIDo6c2xvdHRlZChpbnB1dCkge1xuICAgICAgICAgIGN1cnNvcjogY29weTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGlwYm9hcmQgaW5wdXQ6cmVhZC1vbmx5OmhvdmVyLFxuICAgICAgICAuY2xpcGJvYXJkIDo6c2xvdHRlZChpbnB1dDpyZWFkLW9ubHk6aG92ZXIpIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsaXBib2FyZF9fcG9wb3ZlciB7XG4gICAgICAgICAgLS1ndi1wb3BvdmVyLS1iZ2M6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmtlciwgIzM4M2UzZik7XG4gICAgICAgICAgLS1ndi1wb3BvdmVyLS1jOiB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKTtcbiAgICAgICAgICAtLWd2LXBvcG92ZXItLXA6IDByZW0gMC40cmVtIDByZW0gMC4ycmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGlwYm9hcmRfX3BvcG92ZXItY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZik7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc2hhcGVTZWFyY2goKSB7XG4gICAgcmV0dXJuICdnZW5lcmFsOnNlYXJjaCc7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHNoYXBlQ2xlYXIoKSB7XG4gICAgcmV0dXJuICdjb2RlOmVycm9yJztcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc2hhcGVJbnZpc2libGUoKSB7XG4gICAgcmV0dXJuICdnZW5lcmFsOmludmlzaWJsZSc7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHNoYXBlVmlzaWJsZSgpIHtcbiAgICByZXR1cm4gJ2dlbmVyYWw6dmlzaWJsZSc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3R5cGUgPSAndGV4dCc7XG4gICAgdGhpcy5fc2hvd1Bhc3N3b3JkID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlID0gJ29mZic7XG4gICAgdGhpcy5ub1N1Ym1pdCA9IGZhbHNlO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkuYmx1cigpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5mb2N1cygpO1xuICB9XG5cbiAgZ2V0SW5wdXRFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dCB8fCBzdXBlci5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdfdHlwZScpKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLnR5cGUgPSB0aGlzLl90eXBlO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2F1dG9jb21wbGV0ZScpKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmF1dG9jb21wbGV0ZSA9IHRoaXMuYXV0b2NvbXBsZXRlO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25hbWUnKSAmJiB0aGlzLm5hbWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5uYW1lID0gdGhpcy5uYW1lO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkucmVxdWlyZWQgPSB0aGlzLnJlcXVpcmVkO1xuICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKVsnYXJpYS1yZXF1aXJlZCddID0gISF0aGlzLnJlcXVpcmVkO1xuICAgICAgaWYgKHRoaXMudmFsdWUgPT0gbnVsbCB8fCB0aGlzLnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkucmVtb3ZlQXR0cmlidXRlKCdyZWFkb25seScpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xhYmVsJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd0aXRsZScpKSB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMudGl0bGUgfHwgdGhpcy5sYWJlbDtcbiAgICAgIGlmICh0aXRsZSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkudGl0bGUgPSB0aXRsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpICYmIHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KClbJ2FyaWEtbGFiZWwnXSA9IHRoaXMubGFiZWw7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncGF0dGVybicpKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLnBhdHRlcm4gPSB0aGlzLnBhdHRlcm47XG4gICAgICB0aGlzLl9yZWdleFBhdHRlcm4gPSBuZXcgUmVnRXhwKHRoaXMucGF0dGVybik7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NrZWxldG9uJykpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkIHx8IHRoaXMuc2tlbGV0b247XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncGxhY2Vob2xkZXInKSAmJiB0aGlzLnBsYWNlaG9sZGVyICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3ZhbHVlJykpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdtaW4nKSAmJiB0aGlzLm1pbiAhPSBudWxsKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLm1pbiA9IHRoaXMubWluO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ21heCcpICYmIHRoaXMubWF4ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkubWF4ID0gdGhpcy5tYXg7XG4gICAgfVxuICB9XG5cbiAgX3NldENsaXBib2FyZEljb24oc2hhcGUpIHtcbiAgICBpZiAodGhpcy5pY29uICE9IG51bGwgJiYgdGhpcy5pY29uICE9PSBzaGFwZUNvcGllZCAmJiB0aGlzLmljb24gIT09IHNoYXBlQ2xpcGJvYXJkKSB7XG4gICAgICB0aGlzLmljb25MZWZ0ID0gc2hhcGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaWNvbiA9IHNoYXBlO1xuICAgIH1cbiAgfVxuXG4gIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcykge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBjb25zdCBkZWZhdWx0SW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5jaGlsZE5vZGVzKSB7XG4gICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMSkge1xuICAgICAgICBjb25zdCBjaGlsZCA9IG5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyA/IG5vZGUgOiBub2RlLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgICAgIGlmIChjaGlsZCkge1xuICAgICAgICAgIHRoaXMuX2lucHV0ID0gY2hpbGQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuX2lucHV0KSB7XG4gICAgICBkZWZhdWx0SW5wdXRFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNsaXBib2FyZCkge1xuICAgICAgaW1wb3J0KCdjbGlwYm9hcmQtY29weScpLnRoZW4oXG4gICAgICAgIChtb2QpID0+XG4gICAgICAgICAgKHRoaXMuY29weSA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvcHkgPSBtb2QuZGVmYXVsdDtcbiAgICAgICAgICAgIGNvcHkodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9jb3BpZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xpcGJvYXJkSWNvbihzaGFwZUNvcGllZCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fY29waWVkID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX3NldENsaXBib2FyZEljb24oc2hhcGVDbGlwYm9hcmQpO1xuICAgICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgICAgfSksXG4gICAgICApO1xuICAgICAgdGhpcy5fc2V0Q2xpcGJvYXJkSWNvbihzaGFwZUNsaXBib2FyZCk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjbGlwYm9hcmRQb3BvdmVyID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5jbGlwYm9hcmRfX3BvcG92ZXInKTtcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBjbGlwYm9hcmRQb3BvdmVyLmNsaWNrKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2xpcGJvYXJkUG9wb3Zlci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgdGhpcy5jb3B5KHRoaXMudmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGlja2FibGVJY29uID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2d2LWljb24ubGluaycpO1xuICAgICAgaWYgKGNsaWNrYWJsZUljb24pIHtcbiAgICAgICAgY2xpY2thYmxlSWNvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uSWNvbkNsaWNrLmJpbmQodGhpcykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkuaWQgPSB0aGlzLl9pZDtcbiAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgdGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5fb25LZXlVcC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgdGhpcy5fb25LZXlQcmVzcy5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHVwZGF0ZVN0YXRlKHZhbHVlKSB7XG4gICAgc3VwZXIudXBkYXRlU3RhdGUodmFsdWUpO1xuICAgIGlmICh0aGlzLnZhbGlkID09PSB0cnVlICYmICF0aGlzLnJlYWRvbmx5KSB7XG4gICAgICBpZiAodGhpcy5fcmVnZXhQYXR0ZXJuKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHZhbHVlLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICBjb25zdCB2YWxpZCA9IHZhbHVlLm1hdGNoKHRoaXMuX3JlZ2V4UGF0dGVybik7XG4gICAgICAgICAgdGhpcy5zZXRWYWxpZGl0eSh2YWxpZCA9PSBudWxsLCBgZmllbGQgbm90IHJlc3BlY3QgdGhlIHBhdHRlcm4gJHt0aGlzLl9yZWdleFBhdHRlcm59YCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fdHlwZSA9PT0gJ251bWJlcicgJiYgdmFsdWUgIT0gbnVsbCAmJiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB2YWx1ZS50cmltKCkgIT09ICcnKSkge1xuICAgICAgICBjb25zdCBfdmFsdWUgPSBOdW1iZXIodmFsdWUpLnZhbHVlT2YoKTtcbiAgICAgICAgaWYgKGlzTmFOKF92YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLnNldFZhbGlkaXR5KHRydWUsIGBmaWVsZCBpcyBub3QgbnVtYmVyYCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5taW4gIT0gbnVsbCAmJiB0aGlzLm1pbiA+IF92YWx1ZSkge1xuICAgICAgICAgIHRoaXMuc2V0VmFsaWRpdHkodHJ1ZSwgYGZpZWxkIGlzIDwgJHt0aGlzLm1pbn1gKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1heCAhPSBudWxsICYmIHRoaXMubWF4IDwgX3ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5zZXRWYWxpZGl0eSh0cnVlLCBgZmllbGQgaXMgPiAke3RoaXMubWF4fWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0VmFsaWRpdHkoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX29uSW5wdXQoZSkge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoZS50YXJnZXQudmFsdWUpO1xuICAgIHRoaXMudmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdpbnB1dCcsIHRoaXMudmFsdWUpO1xuICB9XG5cbiAgX29uS2V5UHJlc3MoZSkge1xuICAgIGlmICh0aGlzLl90eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgbGV0IGtleTtcbiAgICAgIGlmIChlLnR5cGUgPT09ICdwYXN0ZScpIHtcbiAgICAgICAga2V5ID0gZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGtleSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoZS5rZXlDb2RlKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJlZ2V4ID0gL1swLTldLztcbiAgICAgIGlmICh0aGlzLm1pbiA9PSBudWxsIHx8IHRoaXMubWluIDwgMCkge1xuICAgICAgICByZWdleCA9IC9bMC05LV0vO1xuICAgICAgfVxuICAgICAgaWYgKCFyZWdleC50ZXN0KGtleSkpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9vbktleVVwKGUpIHtcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xuICAgICAgaWYgKCF0aGlzLm5vU3VibWl0KSB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgICBmb3JtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzdWJtaXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzdWJtaXQnLCB0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNDbGVhcmFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xlYXJhYmxlICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5ICYmICF0aGlzLmxvYWRpbmcgJiYgdGhpcy52YWx1ZSAhPSBudWxsICYmIHRoaXMudmFsdWUgIT09ICcnO1xuICB9XG5cbiAgc2V0IHR5cGUodmFsdWUpIHtcbiAgICBpZiAoWyd0ZXh0JywgJ3Bhc3N3b3JkJywgJ2VtYWlsJywgJ3NlYXJjaCcsICdudW1iZXInLCAndXJsJ10uaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICB0aGlzLl90eXBlID0gdmFsdWU7XG4gICAgfVxuICAgIGlmICh0aGlzLl90eXBlID09PSAndXJsJykge1xuICAgICAgdGhpcy5wYXR0ZXJuID0gJyhodHRwcz86Ly8udyopKDpcXFxcZCopP1xcXFwvPyguKiknO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl90eXBlID09PSAnZW1haWwnKSB7XG4gICAgICB0aGlzLnBhdHRlcm4gPVxuICAgICAgICAvXigoW148PigpXFxcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFxdKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3NlYXJjaCcgJiYgdGhpcy5pY29uID09IG51bGwgJiYgdGhpcy5pY29uTGVmdCA9PSBudWxsKSB7XG4gICAgICB0aGlzLmljb24gPSBHdklucHV0LnNoYXBlU2VhcmNoO1xuICAgICAgdGhpcy5jbGVhcmFibGUgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl90eXBlID09PSAncGFzc3dvcmQnKSB7XG4gICAgICB0aGlzLmljb24gPSBHdklucHV0LnNoYXBlU2VhcmNoO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgX29uSWNvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLl90eXBlID09PSAnc2VhcmNoJykge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnaW5wdXQnLCB0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnaWNvbi1jbGljaycsIHRoaXMudmFsdWUpO1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnc3VibWl0JywgdGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgX29uSWNvblZpc2libGVDbGljayhlKSB7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuX3Nob3dQYXNzd29yZCA9ICF0aGlzLl9zaG93UGFzc3dvcmQ7XG4gICAgICB0aGlzLl90eXBlID0gdGhpcy5fc2hvd1Bhc3N3b3JkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcbiAgICB9XG4gIH1cblxuICBnZXQgaXNQYXNzd29yZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgKHRoaXMuX3R5cGUgPT09ICdwYXNzd29yZCcgfHwgKHRoaXMuX3R5cGUgPT09ICd0ZXh0JyAmJiB0aGlzLl9zaG93UGFzc3dvcmQpKTtcbiAgfVxuXG4gIGdldCBoYXNDbGlja2FibGVJY29uKCkge1xuICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSAmJiAodGhpcy5jbGlja2FibGUgfHwgdGhpcy5fdHlwZSA9PT0gJ3NlYXJjaCcgfHwgdGhpcy5jbGlwYm9hcmQpO1xuICB9XG5cbiAgZ2V0IGhhc0NsaXBib2FyZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGlwYm9hcmQ7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLmZvY3VzKCk7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2NsZWFyJywgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBfcmVuZGVyQ2xlYXJJY29uKCkge1xuICAgIGlmICh0aGlzLmlzQ2xlYXJhYmxlKSB7XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiYm94LWljb24gYm94LWljb24tY2xlYXJcIj5cbiAgICAgICAgPGd2LWljb24gY2xhc3M9XCJsaW5rXCIgc2hhcGU9XCJjb2RlOmVycm9yXCIgdGl0bGU9XCIke2kxOG4oJ2d2LWlucHV0LmNsZWFyJyl9XCIgQGNsaWNrPVwiJHt0aGlzLmNsZWFyfVwiPjwvZ3YtaWNvbj5cbiAgICAgIDwvZGl2PmA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIF9yZW5kZXJQYXNzd29yZEljb24oKSB7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCkge1xuICAgICAgY29uc3Qgc2hhcGUgPSB0aGlzLl9zaG93UGFzc3dvcmQgPyAnZ2VuZXJhbDp2aXNpYmxlJyA6ICdnZW5lcmFsOmhpZGRlbic7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuX3Nob3dQYXNzd29yZCA/ICdTaG93JyA6ICdIaWRlJztcbiAgICAgIHJldHVybiBodG1sYDxkaXYgY2xhc3M9XCJib3gtaWNvblwiPlxuICAgICAgICA8Z3YtaWNvbiBjbGFzcz1cImxpbmtcIiBzaGFwZT1cIiR7c2hhcGV9XCIgdGl0bGU9XCIke3RpdGxlfVwiIEBjbGljaz1cIiR7dGhpcy5fb25JY29uVmlzaWJsZUNsaWNrfVwiPjwvZ3YtaWNvbj5cbiAgICAgIDwvZGl2PmA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldCBoYXNCYWNrZ3JvdW5kKCkge1xuICAgIHJldHVybiAhdGhpcy5sb2FkaW5nO1xuICB9XG5cbiAgX3JlbmRlckljb24oKSB7XG4gICAgbGV0IHNoYXBlID0gbnVsbDtcbiAgICBpZiAoKCF0aGlzLmlzUGFzc3dvcmQgJiYgdGhpcy5pY29uKSB8fCB0aGlzLmljb25MZWZ0KSB7XG4gICAgICBzaGFwZSA9ICghdGhpcy5pc1Bhc3N3b3JkICYmIHRoaXMuaWNvbikgfHwgdGhpcy5pY29uTGVmdDtcbiAgICB9XG4gICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgc2hhcGUgPSAnbmF2aWdhdGlvbjp3YWl0aW5nJztcbiAgICB9XG5cbiAgICBpZiAoc2hhcGUpIHtcbiAgICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICAgICdib3gtaWNvbic6IHRydWUsXG4gICAgICAgICdib3gtaWNvbi1sZWZ0JzogdGhpcy5pY29uTGVmdCAhPSBudWxsIHx8IHRoaXMuY2xlYXJhYmxlLFxuICAgICAgICAnYm94LWljb24tYmdjJzogdGhpcy5oYXNCYWNrZ3JvdW5kLFxuICAgICAgICBjb3BpZWQ6IHRoaXMuaGFzQ2xpcGJvYXJkICYmIHRoaXMuX2NvcGllZCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGljb25DbGFzc2VzID0ge1xuICAgICAgICBsaW5rOiB0aGlzLmhhc0NsaWNrYWJsZUljb24sXG4gICAgICAgIGxvYWRpbmc6IHRoaXMubG9hZGluZyxcbiAgICAgIH07XG4gICAgICBsZXQgdGl0bGUgPSAnJztcbiAgICAgIGlmICh0aGlzLl90eXBlID09PSAnc2VhcmNoJykge1xuICAgICAgICB0aXRsZSA9IGkxOG4oJ2d2LWlucHV0LnNlYXJjaCcpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc0NsaXBib2FyZCkge1xuICAgICAgICB0aXRsZSA9IGkxOG4oJ2d2LWlucHV0LmNvcHknKTtcbiAgICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoY2xhc3Nlcyl9XCI+XG4gICAgICAgICAgPGd2LXBvcG92ZXIgY2xhc3M9XCJjbGlwYm9hcmRfX3BvcG92ZXJcIiBldmVudD1cImNsaWNrXCIgZGVsYXk9XCI3NTBcIiAuYXJyb3c9XCIke2ZhbHNlfVwiPlxuICAgICAgICAgICAgPGd2LWljb24gY2xhc3M9XCIke2NsYXNzTWFwKGljb25DbGFzc2VzKX1cIiBzaGFwZT1cIiR7c2hhcGV9XCIgdGl0bGU9XCIke3RpdGxlfVwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICAgIDxkaXYgc2xvdD1cInBvcG92ZXJcIiBjbGFzcz1cImNsaXBib2FyZF9fcG9wb3Zlci1jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxndi1pY29uIHNoYXBlPVwiY29kZTpjaGVja1wiPjwvZ3YtaWNvbj5cbiAgICAgICAgICAgICAgPGRpdj5Db3BpZWQ8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZ3YtcG9wb3Zlcj5cbiAgICAgICAgPC9kaXY+YDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICB0aXRsZSA9IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICB9XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIj5cbiAgICAgICAgPGd2LWljb24gY2xhc3M9XCIke2NsYXNzTWFwKGljb25DbGFzc2VzKX1cIiBzaGFwZT1cIiR7c2hhcGV9XCIgdGl0bGU9XCIke3RpdGxlfVwiPjwvZ3YtaWNvbj5cbiAgICAgIDwvZGl2PmA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgJ2JveC1pbnB1dCc6IHRydWUsXG4gICAgICBza2VsZXRvbjogdGhpcy5za2VsZXRvbixcbiAgICAgIGxhcmdlOiB0aGlzLmxhcmdlLFxuICAgICAgbWVkaXVtOiB0aGlzLm1lZGl1bSB8fCAoIXRoaXMubGFyZ2UgJiYgIXRoaXMuc21hbGwpLFxuICAgICAgc21hbGw6IHRoaXMuc21hbGwsXG4gICAgICBpY29uOiAhIXRoaXMuaWNvbiAmJiAhdGhpcy5jbGVhcmFibGUsXG4gICAgICBjbGVhcmFibGU6IHRoaXMuY2xlYXJhYmxlLFxuICAgICAgJ2ljb24tbGVmdCc6ICEhdGhpcy5pY29uTGVmdCB8fCAoISF0aGlzLmljb24gJiYgdGhpcy5jbGVhcmFibGUpLFxuICAgICAgY2xpcGJvYXJkOiB0aGlzLmhhc0NsaXBib2FyZCxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkLFxuICAgIH07XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKGNsYXNzZXMpfVwiPlxuICAgICAgICAke3RoaXMucmVuZGVyTGFiZWwoKX1cbiAgICAgICAgPGlucHV0IC8+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJDbGVhckljb24oKX0gJHt0aGlzLl9yZW5kZXJJY29uKCl9ICR7dGhpcy5fcmVuZGVyUGFzc3dvcmRJY29uKCl9XG4gICAgICA8L2Rpdj5cbiAgICAgICR7dGhpcy5kZXNjcmlwdGlvbiAhPSBudWxsID8gaHRtbGA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiAuaW5uZXJIVE1MPVwiJHt0aGlzLmRlc2NyaXB0aW9ufVwiPjwvZGl2PmAgOiAnJ31cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWlucHV0JywgR3ZJbnB1dCk7XG4iXX0=
531
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWlucHV0LmpzIl0sIm5hbWVzIjpbImNsYXNzTWFwIiwiTGl0RWxlbWVudCIsImh0bWwiLCJjc3MiLCJza2VsZXRvbiIsImlucHV0IiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpMThuIiwiSW5wdXRFbGVtZW50Iiwic2hhcGVDbGlwYm9hcmQiLCJzaGFwZUNvcGllZCIsIkd2SW5wdXQiLCJwcm9wZXJ0aWVzIiwidHlwZSIsIlN0cmluZyIsInJlZmxlY3QiLCJsYXJnZSIsIkJvb2xlYW4iLCJtZWRpdW0iLCJzbWFsbCIsImljb24iLCJpY29uTGVmdCIsImF0dHJpYnV0ZSIsImxvYWRpbmciLCJtaW4iLCJOdW1iZXIiLCJtYXgiLCJhdXRvY29tcGxldGUiLCJjbGlwYm9hcmQiLCJjbGlja2FibGUiLCJjbGVhcmFibGUiLCJub1N1Ym1pdCIsInBhdHRlcm4iLCJkZXNjcmlwdGlvbiIsIl90eXBlIiwic3R5bGVzIiwic2hhcGVTZWFyY2giLCJzaGFwZUNsZWFyIiwic2hhcGVJbnZpc2libGUiLCJzaGFwZVZpc2libGUiLCJjb25zdHJ1Y3RvciIsIl9zaG93UGFzc3dvcmQiLCJ2YWx1ZSIsInJlc2V0IiwiZ2V0SW5wdXRFbGVtZW50IiwiYmx1ciIsImZvY3VzIiwiX2lucHV0IiwidXBkYXRlZCIsImNoYW5nZWRQcm9wZXJ0aWVzIiwiaGFzIiwibmFtZSIsInJlcXVpcmVkIiwidHJpbSIsImludmFsaWQiLCJyZWFkb25seSIsInNldEF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsInRpdGxlIiwibGFiZWwiLCJfcmVnZXhQYXR0ZXJuIiwiUmVnRXhwIiwiZGlzYWJsZWQiLCJwbGFjZWhvbGRlciIsInVwZGF0ZVN0YXRlIiwiX3NldENsaXBib2FyZEljb24iLCJzaGFwZSIsImZpcnN0VXBkYXRlZCIsImRlZmF1bHRJbnB1dEVsZW1lbnQiLCJub2RlIiwiY2hpbGROb2RlcyIsIm5vZGVUeXBlIiwiY2hpbGQiLCJub2RlTmFtZSIsInRvTG93ZXJDYXNlIiwicXVlcnlTZWxlY3RvciIsInJlbW92ZSIsInRoZW4iLCJtb2QiLCJjb3B5IiwiZGVmYXVsdCIsIl9jb3BpZWQiLCJzZXRUaW1lb3V0IiwiY2xpcGJvYXJkUG9wb3ZlciIsInNoYWRvd1Jvb3QiLCJhZGRFdmVudExpc3RlbmVyIiwiZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY2xpY2siLCJjbGlja2FibGVJY29uIiwiX29uSWNvbkNsaWNrIiwiYmluZCIsImlkIiwiX2lkIiwiX29uSW5wdXQiLCJfb25LZXlVcCIsIl9vbktleVByZXNzIiwidmFsaWQiLCJtYXRjaCIsInNldFZhbGlkaXR5IiwiX3ZhbHVlIiwidmFsdWVPZiIsImlzTmFOIiwidGFyZ2V0Iiwia2V5IiwiY2xpcGJvYXJkRGF0YSIsImdldERhdGEiLCJmcm9tQ2hhckNvZGUiLCJrZXlDb2RlIiwicmVnZXgiLCJ0ZXN0IiwiZm9ybSIsImNsb3Nlc3QiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImlzQ2xlYXJhYmxlIiwiaW5jbHVkZXMiLCJfb25JY29uVmlzaWJsZUNsaWNrIiwiaXNQYXNzd29yZCIsImhhc0NsaWNrYWJsZUljb24iLCJoYXNDbGlwYm9hcmQiLCJjbGVhciIsIl9yZW5kZXJDbGVhckljb24iLCJfcmVuZGVyUGFzc3dvcmRJY29uIiwiaGFzQmFja2dyb3VuZCIsIl9yZW5kZXJJY29uIiwiY2xhc3NlcyIsImNvcGllZCIsImljb25DbGFzc2VzIiwicmVuZGVyIiwicmVuZGVyTGFiZWwiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBVCxRQUF5QiwrQkFBekI7QUFFQSxT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SSxXQUFMLEVBRkssMEJBS0wsS0FBS1IsZ0JBQUwsRUFMSyxJQUtzQixLQUFLRyxXQUFMLEVBTHRCLElBSzRDLEtBQUtGLG1CQUFMLEVBTDVDLFdBT1AsS0FBSzdGLFdBQUwsSUFBb0IsSUFBcEIsR0FBMkJoQyxJQUFJLHdDQUF3QyxLQUFLZ0MsV0FBN0MsVUFBL0IsR0FBb0csRUFQN0YsR0FBWDtBQVNEOztBQXJlbUQ7QUF3ZXREcUcsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixVQUE3QixFQUF5QzdILE9BQXpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuXG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5pbXBvcnQgeyBpbnB1dCB9IGZyb20gJy4uL3N0eWxlcy9pbnB1dCc7XG5pbXBvcnQgeyBsaW5rIH0gZnJvbSAnLi4vc3R5bGVzL2xpbmsnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0ICcuL2d2LWljb24nO1xuaW1wb3J0ICcuLi9tb2xlY3VsZXMvZ3YtcG9wb3Zlcic7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vbWl4aW5zL2lucHV0LWVsZW1lbnQnO1xuaW1wb3J0IHsgc2hhcGVDbGlwYm9hcmQsIHNoYXBlQ29waWVkIH0gZnJvbSAnLi4vc3R5bGVzL3NoYXBlcyc7XG5cbi8qKlxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1pbnB1dDppbnB1dCAtIG1pcnJvcnMgbmF0aXZlIGlucHV0IGV2ZW50cyB3aXRoIHRoZSBgdmFsdWVgIG9uIGBkZXRhaWxgXG4gKiBAZmlyZXMgZ3YtaW5wdXQ6Y2xlYXIgLSBldmVudCB3aGVuIHVzZXIgY2xlYXIgYSBjbGVhcmFibGUgaW5wdXRcbiAqXG4gKiBAYXR0ciB7Qm9vbGVhbn0gZGlzYWJsZWQgLSBzYW1lIGFzIG5hdGl2ZSBpbnB1dCBlbGVtZW50IGBkaXNhYmxlZGAgYXR0cmlidXRlXG4gKiBAYXR0ciB7Qm9vbGVhbn0gcmVxdWlyZWQgLSBzYW1lIGFzIG5hdGl2ZSBpbnB1dCBlbGVtZW50IGByZXF1aXJlZGAgYXR0cmlidXRlXG4gKiBAYXR0ciB7Qm9vbGVhbn0gc2tlbGV0b24gLSBlbmFibGUgc2tlbGV0b24gc2NyZWVuIFVJIHBhdHRlcm4gKGxvYWRpbmcgaGludClcbiAqIEBhdHRyIHtTdHJpbmd9IHZhbHVlIC0gdGhlIHZhbHVlIG9mIHRoZSBpbnB1dFxuICogQGF0dHIge1N0cmluZ30gbGFiZWwgLSBsYWJlbCBvZiB0aGUgaW5wdXRcbiAqIEBhdHRyIHtTdHJpbmd9IHRpdGxlIC0gdGl0bGUgb2YgdGhlIGlucHV0XG4gKiBAYXR0ciB7U3RyaW5nfSBuYW1lIC0gbmFtZSBvZiB0aGUgaW5wdXRcbiAqIEBhdHRyIHtTdHJpbmd9IHBsYWNlaG9sZGVyIC0gYW4gZXhhbXBsZSB2YWx1ZSB0byBkaXNwbGF5IGluIHRoZSBpbnB1dCB3aGVuIGVtcHR5XG4gKiBAYXR0ciB7U3RyaW5nfSBkZXNjcmlwdGlvbiAtIGEgZGVzY3JpcHRpb25cbiAqIEBhdHRyIHtTdHJpbmd9IHR5cGUgLSB0eXBlIG9mIHRoZSBpbnB1dCwgY2FuIGJlIHRleHQgKERlZmF1bHQpLCBwYXNzd29yZCwgZW1haWwsIHNlYXJjaCwgbnVtYmVyLCB1cmwuXG4gKiBAYXR0ciB7Qm9vbGVhbn0gY2xpcGJvYXJkIC0gZm9yIHJlYWRvbmx5IGlucHV0IHdpdGggY2xpcGJvYXJkXG4gKiBAYXR0ciB7Qm9vbGVhbn0gbGFyZ2UgLSBmb3IgYSBsYXJnZSBpbnB1dFxuICogQGF0dHIge0Jvb2xlYW59IG1lZGl1bSAtIGZvciBhIG1lZGl1bSBpbnB1dCAoRGVmYXVsdClcbiAqIEBhdHRyIHtCb29sZWFufSBzbWFsbCAtIGZvciBhIHNtYWxsIGlucHV0XG4gKiBAYXR0ciB7U3RyaW5nfSBpY29uIC0gaWNvbiBvZiB0aGUgaW5wdXRcbiAqIEBhdHRyIHtTdHJpbmd9IGljb24tbGVmdCAtIGljb24gb2YgdGhlIGlucHV0IHRvIGRpc3BsYXkgYXQgbGVmdFxuICogQGF0dHIge0Jvb2xlYW59IHZhbGlkIC0gaWYgdmFsdWUgaXMgdmFsaWRcbiAqIEBhdHRyIHtCb29sZWFufSBpbnZhbGlkIC0gaWYgdmFsdWUgaXMgaW52YWxpZFxuICogQGF0dHIge0Jvb2xlYW59IFtsb2FkaW5nPWZhbHNlXSAtIHRydWUgdG8gZGlzcGxheSBhIGxvYWRpbmcgaWNvblxuICogQGF0dHIge0Jvb2xlYW59IFthdXRvZm9jdXM9ZmFsc2VdIC0gdHJ1ZSB0byBwdXQgdGhlIGZvY3VzIG9uIHRoZSBpbnB1dFxuICogQGF0dHIge0Jvb2xlYW59IFtyZWFkb25seT1mYWxzZV0gLSB0cnVlIGlmIGZpZWxkIGlzIHJlYWRvbmx5IG1vZGVcbiAqIEBhdHRyIHtTdHJpbmd9IFthdXRvY29tcGxldGU9J29mZiddIC0gc3RhbmRhcmQgYXV0b2NvbXBsZXRlIGF0dHJpYnV0ZVxuICogQGF0dHIge0Jvb2xlYW59IFtjbGlja2FibGU9ZmFsc2VdIC0gSWYgdHJ1ZSwgaWNvbiBoYXMgbGluayBzdHlsZVxuICogQGF0dHIge0Jvb2xlYW59IFtjbGVhcmFibGU9ZmFsc2VdIC0gSWYgdHJ1ZSwgaW5wdXQgY2FuIGJlIGNsZWFyIHdpdGggYnV0dG9uXG4gKiBAYXR0ciB7Qm9vbGVhbn0gW25vLXN1Ym1pdD1mYWxzZV0gLSBJZiB0cnVlLCBpbnB1dCBjYW5ub3QgZGlzcGF0Y2ggbmF0aXZlIHN1Ym1pdCBldmVudCBvbiBlbnRlciBrZXkgcHJlc3MgdG8gY2xvc2VzdCBmb3JtXG4gKiBAYXR0ciB7U3RyaW5nfSBbcGF0dGVybj1udWxsXSAtIFBhdHRlcm4gZm9yIGlucHV0IHZhbGlkYXRpb24uIElmIHR5cGUgaXMgdXJsLCBkZWZhdWx0IHBhdHRlcm4gaXMgXihodHRwfGh0dHBzKTovL1xuICpcbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LWlucHV0LS1iZGM9dmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvciwgI0Y1RjVGNSldIC0gQm9yZGVyIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWlucHV0LS1iZHM9c29saWRdIC0gQm9yZGVyIHN0eWxlXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWlucHV0LWljb24tLWJnYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLCAjRjVGNUY1KV0gLSBJY29uIGJhY2tncm91bmQgY29sb3JcbiAqL1xuZXhwb3J0IGNsYXNzIEd2SW5wdXQgZXh0ZW5kcyBJbnB1dEVsZW1lbnQoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnByb3BlcnRpZXMsXG4gICAgICB0eXBlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgbGFyZ2U6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgbWVkaXVtOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHNtYWxsOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGljb246IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBpY29uTGVmdDogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogJ2ljb24tbGVmdCcgfSxcbiAgICAgIGxvYWRpbmc6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgbWluOiB7IHR5cGU6IE51bWJlciB9LFxuICAgICAgbWF4OiB7IHR5cGU6IE51bWJlciB9LFxuICAgICAgYXV0b2NvbXBsZXRlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgY2xpcGJvYXJkOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGNsaWNrYWJsZTogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBjbGVhcmFibGU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgbm9TdWJtaXQ6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnbm8tc3VibWl0JyB9LFxuICAgICAgcGF0dGVybjogeyB0eXBlOiBTdHJpbmcsIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgX3R5cGU6IHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5zdXBlci5zdHlsZXMsXG4gICAgICBza2VsZXRvbixcbiAgICAgIGlucHV0LFxuICAgICAgbGluayxcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICAuY2xpY2thYmxlIGlucHV0LFxuICAgICAgICAuY2xpY2thYmxlIDo6c2xvdHRlZChpbnB1dCkge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGlja2FibGUgaW5wdXQ6aG92ZXIsXG4gICAgICAgIC5jbGlja2FibGUgOjpzbG90dGVkKGlucHV0OmhvdmVyKSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2JmYmZiZik7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LWljb24uY29waWVkIGd2LWljb24ge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogIzMzOTkwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5ib3gtaWNvbiBndi1pY29uLmxvYWRpbmcsXG4gICAgICAgIC5sb2FkaW5nIDo6c2xvdHRlZChpbnB1dCkge1xuICAgICAgICAgIGFuaW1hdGlvbjogc3Bpbm5lciAxLjZzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGluZy5zbWFsbCBndi1pY29uIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAa2V5ZnJhbWVzIHNwaW5uZXIge1xuICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsaXBib2FyZCBpbnB1dCxcbiAgICAgICAgLmNsaXBib2FyZCA6OnNsb3R0ZWQoaW5wdXQpIHtcbiAgICAgICAgICBjdXJzb3I6IGNvcHk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xpcGJvYXJkIGlucHV0OnJlYWQtb25seTpob3ZlcixcbiAgICAgICAgLmNsaXBib2FyZCA6OnNsb3R0ZWQoaW5wdXQ6cmVhZC1vbmx5OmhvdmVyKSB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGlwYm9hcmRfX3BvcG92ZXIge1xuICAgICAgICAgIC0tZ3YtcG9wb3Zlci0tYmdjOiB2YXIoLS1ndi10aGVtZS1jb2xvci1kYXJrZXIsICMzODNlM2YpO1xuICAgICAgICAgIC0tZ3YtcG9wb3Zlci0tYzogdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZik7XG4gICAgICAgICAgLS1ndi1wb3BvdmVyLS1wOiAwcmVtIDAuNHJlbSAwcmVtIDAuMnJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xpcGJvYXJkX19wb3BvdmVyLWNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAtLWd2LWljb24tLWM6IHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHNoYXBlU2VhcmNoKCkge1xuICAgIHJldHVybiAnZ2VuZXJhbDpzZWFyY2gnO1xuICB9XG5cbiAgc3RhdGljIGdldCBzaGFwZUNsZWFyKCkge1xuICAgIHJldHVybiAnY29kZTplcnJvcic7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHNoYXBlSW52aXNpYmxlKCkge1xuICAgIHJldHVybiAnZ2VuZXJhbDppbnZpc2libGUnO1xuICB9XG5cbiAgc3RhdGljIGdldCBzaGFwZVZpc2libGUoKSB7XG4gICAgcmV0dXJuICdnZW5lcmFsOnZpc2libGUnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl90eXBlID0gJ3RleHQnO1xuICAgIHRoaXMuX3Nob3dQYXNzd29yZCA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLmF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuICAgIHRoaXMubm9TdWJtaXQgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmJsdXIoKTtcbiAgfVxuXG4gIGZvY3VzKCkge1xuICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkuZm9jdXMoKTtcbiAgfVxuXG4gIGdldElucHV0RWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXQgfHwgc3VwZXIuZ2V0SW5wdXRFbGVtZW50KCk7XG4gIH1cblxuICB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKSB7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnX3R5cGUnKSkge1xuICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS50eXBlID0gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdhdXRvY29tcGxldGUnKSkge1xuICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5hdXRvY29tcGxldGUgPSB0aGlzLmF1dG9jb21wbGV0ZTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduYW1lJykgJiYgdGhpcy5uYW1lICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkubmFtZSA9IHRoaXMubmFtZTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdyZXF1aXJlZCcpKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLnJlcXVpcmVkID0gdGhpcy5yZXF1aXJlZDtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KClbJ2FyaWEtcmVxdWlyZWQnXSA9ICEhdGhpcy5yZXF1aXJlZDtcbiAgICAgIGlmICh0aGlzLnZhbHVlID09IG51bGwgfHwgdGhpcy52YWx1ZS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHRoaXMuaW52YWxpZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdyZWFkb25seScsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLnJlbW92ZUF0dHJpYnV0ZSgncmVhZG9ubHknKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpIHx8IGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygndGl0bGUnKSkge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlIHx8IHRoaXMubGFiZWw7XG4gICAgICBpZiAodGl0bGUgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLnRpdGxlID0gdGl0bGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGFiZWwnKSAmJiB0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpWydhcmlhLWxhYmVsJ10gPSB0aGlzLmxhYmVsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3BhdHRlcm4nKSkge1xuICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5wYXR0ZXJuID0gdGhpcy5wYXR0ZXJuO1xuICAgICAgdGhpcy5fcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCh0aGlzLnBhdHRlcm4pO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdza2VsZXRvbicpKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnNrZWxldG9uO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3BsYWNlaG9sZGVyJykgJiYgdGhpcy5wbGFjZWhvbGRlciAhPSBudWxsKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZScpKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlU3RhdGUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbWluJykgJiYgdGhpcy5taW4gIT0gbnVsbCkge1xuICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5taW4gPSB0aGlzLm1pbjtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdtYXgnKSAmJiB0aGlzLm1heCAhPSBudWxsKSB7XG4gICAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLm1heCA9IHRoaXMubWF4O1xuICAgIH1cbiAgfVxuXG4gIF9zZXRDbGlwYm9hcmRJY29uKHNoYXBlKSB7XG4gICAgaWYgKHRoaXMuaWNvbiAhPSBudWxsICYmIHRoaXMuaWNvbiAhPT0gc2hhcGVDb3BpZWQgJiYgdGhpcy5pY29uICE9PSBzaGFwZUNsaXBib2FyZCkge1xuICAgICAgdGhpcy5pY29uTGVmdCA9IHNoYXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmljb24gPSBzaGFwZTtcbiAgICB9XG4gIH1cblxuICBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgY29uc3QgZGVmYXVsdElucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIHRoaXMuY2hpbGROb2Rlcykge1xuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IDEpIHtcbiAgICAgICAgY29uc3QgY2hpbGQgPSBub2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgPyBub2RlIDogbm9kZS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICAgICAgICBpZiAoY2hpbGQpIHtcbiAgICAgICAgICB0aGlzLl9pbnB1dCA9IGNoaWxkO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLl9pbnB1dCkge1xuICAgICAgZGVmYXVsdElucHV0RWxlbWVudC5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGlwYm9hcmQpIHtcbiAgICAgIGltcG9ydCgnY2xpcGJvYXJkLWNvcHknKS50aGVuKFxuICAgICAgICAobW9kKSA9PlxuICAgICAgICAgICh0aGlzLmNvcHkgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3B5ID0gbW9kLmRlZmF1bHQ7XG4gICAgICAgICAgICBjb3B5KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fY29waWVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX3NldENsaXBib2FyZEljb24oc2hhcGVDb3BpZWQpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX2NvcGllZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLl9zZXRDbGlwYm9hcmRJY29uKHNoYXBlQ2xpcGJvYXJkKTtcbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3NldENsaXBib2FyZEljb24oc2hhcGVDbGlwYm9hcmQpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkUG9wb3ZlciA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcuY2xpcGJvYXJkX19wb3BvdmVyJyk7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgY2xpcGJvYXJkUG9wb3Zlci5jbGljaygpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNsaXBib2FyZFBvcG92ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHRoaXMuY29weSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY2xpY2thYmxlSWNvbiA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdndi1pY29uLmxpbmsnKTtcbiAgICAgIGlmIChjbGlja2FibGVJY29uKSB7XG4gICAgICAgIGNsaWNrYWJsZUljb24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkljb25DbGljay5iaW5kKHRoaXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmdldElucHV0RWxlbWVudCgpLmlkID0gdGhpcy5faWQ7XG4gICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXAuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIHRoaXMuX29uS2V5UHJlc3MuYmluZCh0aGlzKSk7XG4gIH1cblxuICB1cGRhdGVTdGF0ZSh2YWx1ZSkge1xuICAgIHN1cGVyLnVwZGF0ZVN0YXRlKHZhbHVlKTtcbiAgICBpZiAodGhpcy52YWxpZCA9PT0gdHJ1ZSAmJiAhdGhpcy5yZWFkb25seSkge1xuICAgICAgaWYgKHRoaXMuX3JlZ2V4UGF0dGVybikge1xuICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS50cmltKCkgIT09ICcnKSB7XG4gICAgICAgICAgY29uc3QgdmFsaWQgPSB2YWx1ZS5tYXRjaCh0aGlzLl9yZWdleFBhdHRlcm4pO1xuICAgICAgICAgIHRoaXMuc2V0VmFsaWRpdHkodmFsaWQgPT0gbnVsbCwgYGZpZWxkIG5vdCByZXNwZWN0IHRoZSBwYXR0ZXJuICR7dGhpcy5fcmVnZXhQYXR0ZXJufWApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3R5cGUgPT09ICdudW1iZXInICYmIHZhbHVlICE9IG51bGwgJiYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHwgdmFsdWUudHJpbSgpICE9PSAnJykpIHtcbiAgICAgICAgY29uc3QgX3ZhbHVlID0gTnVtYmVyKHZhbHVlKS52YWx1ZU9mKCk7XG4gICAgICAgIGlmIChpc05hTihfdmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5zZXRWYWxpZGl0eSh0cnVlLCBgZmllbGQgaXMgbm90IG51bWJlcmApO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWluICE9IG51bGwgJiYgdGhpcy5taW4gPiBfdmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnNldFZhbGlkaXR5KHRydWUsIGBmaWVsZCBpcyA8ICR7dGhpcy5taW59YCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXggIT0gbnVsbCAmJiB0aGlzLm1heCA8IF92YWx1ZSkge1xuICAgICAgICAgIHRoaXMuc2V0VmFsaWRpdHkodHJ1ZSwgYGZpZWxkIGlzID4gJHt0aGlzLm1heH1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldFZhbGlkaXR5KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9vbklucHV0KGUpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKGUudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlID0gZS50YXJnZXQudmFsdWU7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnaW5wdXQnLCB0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIF9vbktleVByZXNzKGUpIHtcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGxldCBrZXk7XG4gICAgICBpZiAoZS50eXBlID09PSAncGFzdGUnKSB7XG4gICAgICAgIGtleSA9IGUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXkgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZSk7XG4gICAgICB9XG5cbiAgICAgIGxldCByZWdleCA9IC9bMC05XS87XG4gICAgICBpZiAodGhpcy5taW4gPT0gbnVsbCB8fCB0aGlzLm1pbiA8IDApIHtcbiAgICAgICAgcmVnZXggPSAvWzAtOS1dLztcbiAgICAgIH1cbiAgICAgIGlmICghcmVnZXgudGVzdChrZXkpKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25LZXlVcChlKSB7XG4gICAgaWYgKGUua2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIGlmICghdGhpcy5ub1N1Ym1pdCkge1xuICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5jbG9zZXN0KCdmb3JtJyk7XG4gICAgICAgIGlmIChmb3JtKSB7XG4gICAgICAgICAgZm9ybS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc3VibWl0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnc3VibWl0JywgdGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzQ2xlYXJhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSAmJiAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy5sb2FkaW5nICYmIHRoaXMudmFsdWUgIT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSAnJztcbiAgfVxuXG4gIHNldCB0eXBlKHZhbHVlKSB7XG4gICAgaWYgKFsndGV4dCcsICdwYXNzd29yZCcsICdlbWFpbCcsICdzZWFyY2gnLCAnbnVtYmVyJywgJ3VybCddLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3VybCcpIHtcbiAgICAgIHRoaXMucGF0dGVybiA9ICcoaHR0cHM/Oi8vLncqKSg6XFxcXGQqKT9cXFxcLz8oLiopJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ2VtYWlsJykge1xuICAgICAgdGhpcy5wYXR0ZXJuID1cbiAgICAgICAgL14oKFtePD4oKVxcXFxbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClcXFxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcXSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09ICdzZWFyY2gnICYmIHRoaXMuaWNvbiA9PSBudWxsICYmIHRoaXMuaWNvbkxlZnQgPT0gbnVsbCkge1xuICAgICAgdGhpcy5pY29uID0gR3ZJbnB1dC5zaGFwZVNlYXJjaDtcbiAgICAgIHRoaXMuY2xlYXJhYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgdGhpcy5pY29uID0gR3ZJbnB1dC5zaGFwZVNlYXJjaDtcbiAgICB9XG4gIH1cblxuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIF9vbkljb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3NlYXJjaCcpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2lucHV0JywgdGhpcy52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2ljb24tY2xpY2snLCB0aGlzLnZhbHVlKTtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ3N1Ym1pdCcsIHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIF9vbkljb25WaXNpYmxlQ2xpY2soZSkge1xuICAgIGlmICh0aGlzLmlzUGFzc3dvcmQpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLl9zaG93UGFzc3dvcmQgPSAhdGhpcy5fc2hvd1Bhc3N3b3JkO1xuICAgICAgdGhpcy5fdHlwZSA9IHRoaXMuX3Nob3dQYXNzd29yZCA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzUGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmICh0aGlzLl90eXBlID09PSAncGFzc3dvcmQnIHx8ICh0aGlzLl90eXBlID09PSAndGV4dCcgJiYgdGhpcy5fc2hvd1Bhc3N3b3JkKSk7XG4gIH1cblxuICBnZXQgaGFzQ2xpY2thYmxlSWNvbigpIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMucmVhZG9ubHkgJiYgKHRoaXMuY2xpY2thYmxlIHx8IHRoaXMuX3R5cGUgPT09ICdzZWFyY2gnIHx8IHRoaXMuY2xpcGJvYXJkKTtcbiAgfVxuXG4gIGdldCBoYXNDbGlwYm9hcmQoKSB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xpcGJvYXJkO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5mb2N1cygpO1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdjbGVhcicsIHRoaXMudmFsdWUpO1xuICB9XG5cbiAgX3JlbmRlckNsZWFySWNvbigpIHtcbiAgICBpZiAodGhpcy5pc0NsZWFyYWJsZSkge1xuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImJveC1pY29uIGJveC1pY29uLWNsZWFyXCI+XG4gICAgICAgIDxndi1pY29uIGNsYXNzPVwibGlua1wiIHNoYXBlPVwiY29kZTplcnJvclwiIHRpdGxlPVwiJHtpMThuKCdndi1pbnB1dC5jbGVhcicpfVwiIEBjbGljaz1cIiR7dGhpcy5jbGVhcn1cIj48L2d2LWljb24+XG4gICAgICA8L2Rpdj5gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfcmVuZGVyUGFzc3dvcmRJY29uKCkge1xuICAgIGlmICh0aGlzLmlzUGFzc3dvcmQpIHtcbiAgICAgIGNvbnN0IHNoYXBlID0gdGhpcy5fc2hvd1Bhc3N3b3JkID8gJ2dlbmVyYWw6dmlzaWJsZScgOiAnZ2VuZXJhbDpoaWRkZW4nO1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLl9zaG93UGFzc3dvcmQgPyAnU2hvdycgOiAnSGlkZSc7XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiYm94LWljb25cIj5cbiAgICAgICAgPGd2LWljb24gY2xhc3M9XCJsaW5rXCIgc2hhcGU9XCIke3NoYXBlfVwiIHRpdGxlPVwiJHt0aXRsZX1cIiBAY2xpY2s9XCIke3RoaXMuX29uSWNvblZpc2libGVDbGlja31cIj48L2d2LWljb24+XG4gICAgICA8L2Rpdj5gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXQgaGFzQmFja2dyb3VuZCgpIHtcbiAgICByZXR1cm4gIXRoaXMubG9hZGluZztcbiAgfVxuXG4gIF9yZW5kZXJJY29uKCkge1xuICAgIGxldCBzaGFwZSA9IG51bGw7XG4gICAgaWYgKCghdGhpcy5pc1Bhc3N3b3JkICYmIHRoaXMuaWNvbikgfHwgdGhpcy5pY29uTGVmdCkge1xuICAgICAgc2hhcGUgPSAoIXRoaXMuaXNQYXNzd29yZCAmJiB0aGlzLmljb24pIHx8IHRoaXMuaWNvbkxlZnQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHNoYXBlID0gJ25hdmlnYXRpb246d2FpdGluZyc7XG4gICAgfVxuXG4gICAgaWYgKHNoYXBlKSB7XG4gICAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgICAnYm94LWljb24nOiB0cnVlLFxuICAgICAgICAnYm94LWljb24tbGVmdCc6IHRoaXMuaWNvbkxlZnQgIT0gbnVsbCB8fCB0aGlzLmNsZWFyYWJsZSxcbiAgICAgICAgJ2JveC1pY29uLWJnYyc6IHRoaXMuaGFzQmFja2dyb3VuZCxcbiAgICAgICAgY29waWVkOiB0aGlzLmhhc0NsaXBib2FyZCAmJiB0aGlzLl9jb3BpZWQsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBpY29uQ2xhc3NlcyA9IHtcbiAgICAgICAgbGluazogdGhpcy5oYXNDbGlja2FibGVJY29uLFxuICAgICAgICBsb2FkaW5nOiB0aGlzLmxvYWRpbmcsXG4gICAgICB9O1xuICAgICAgbGV0IHRpdGxlID0gJyc7XG4gICAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3NlYXJjaCcpIHtcbiAgICAgICAgdGl0bGUgPSBpMThuKCdndi1pbnB1dC5zZWFyY2gnKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNDbGlwYm9hcmQpIHtcbiAgICAgICAgdGl0bGUgPSBpMThuKCdndi1pbnB1dC5jb3B5Jyk7XG4gICAgICAgIHJldHVybiBodG1sYDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKGNsYXNzZXMpfVwiPlxuICAgICAgICAgIDxndi1wb3BvdmVyIGNsYXNzPVwiY2xpcGJvYXJkX19wb3BvdmVyXCIgZXZlbnQ9XCJjbGlja1wiIGRlbGF5PVwiNzUwXCIgLmFycm93PVwiJHtmYWxzZX1cIj5cbiAgICAgICAgICAgIDxndi1pY29uIGNsYXNzPVwiJHtjbGFzc01hcChpY29uQ2xhc3Nlcyl9XCIgc2hhcGU9XCIke3NoYXBlfVwiIHRpdGxlPVwiJHt0aXRsZX1cIj48L2d2LWljb24+XG4gICAgICAgICAgICA8ZGl2IHNsb3Q9XCJwb3BvdmVyXCIgY2xhc3M9XCJjbGlwYm9hcmRfX3BvcG92ZXItY29udGVudFwiPlxuICAgICAgICAgICAgICA8Z3YtaWNvbiBzaGFwZT1cImNvZGU6Y2hlY2tcIj48L2d2LWljb24+XG4gICAgICAgICAgICAgIDxkaXY+Q29waWVkPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2d2LXBvcG92ZXI+XG4gICAgICAgIDwvZGl2PmA7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgdGl0bGUgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoY2xhc3Nlcyl9XCI+XG4gICAgICAgIDxndi1pY29uIGNsYXNzPVwiJHtjbGFzc01hcChpY29uQ2xhc3Nlcyl9XCIgc2hhcGU9XCIke3NoYXBlfVwiIHRpdGxlPVwiJHt0aXRsZX1cIj48L2d2LWljb24+XG4gICAgICA8L2Rpdj5gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgICdib3gtaW5wdXQnOiB0cnVlLFxuICAgICAgc2tlbGV0b246IHRoaXMuc2tlbGV0b24sXG4gICAgICBsYXJnZTogdGhpcy5sYXJnZSxcbiAgICAgIG1lZGl1bTogdGhpcy5tZWRpdW0gfHwgKCF0aGlzLmxhcmdlICYmICF0aGlzLnNtYWxsKSxcbiAgICAgIHNtYWxsOiB0aGlzLnNtYWxsLFxuICAgICAgaWNvbjogISF0aGlzLmljb24gJiYgIXRoaXMuY2xlYXJhYmxlLFxuICAgICAgY2xlYXJhYmxlOiB0aGlzLmNsZWFyYWJsZSxcbiAgICAgICdpY29uLWxlZnQnOiAhIXRoaXMuaWNvbkxlZnQgfHwgKCEhdGhpcy5pY29uICYmIHRoaXMuY2xlYXJhYmxlKSxcbiAgICAgIGNsaXBib2FyZDogdGhpcy5oYXNDbGlwYm9hcmQsXG4gICAgICByZXF1aXJlZDogdGhpcy5yZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIj5cbiAgICAgICAgJHt0aGlzLnJlbmRlckxhYmVsKCl9XG4gICAgICAgIDxpbnB1dCAvPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICR7dGhpcy5fcmVuZGVyQ2xlYXJJY29uKCl9ICR7dGhpcy5fcmVuZGVySWNvbigpfSAke3RoaXMuX3JlbmRlclBhc3N3b3JkSWNvbigpfVxuICAgICAgPC9kaXY+XG4gICAgICAke3RoaXMuZGVzY3JpcHRpb24gIT0gbnVsbCA/IGh0bWxgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgLmlubmVySFRNTD1cIiR7dGhpcy5kZXNjcmlwdGlvbn1cIj48L2Rpdj5gIDogJyd9XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1pbnB1dCcsIEd2SW5wdXQpO1xuIl19
@@ -13,15 +13,15 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { LitElement, html, css } from 'lit';
16
+ import { LitElement, html, css } from 'lit-element';
17
17
  import { skeleton } from '../styles/skeleton';
18
18
  import { link } from '../styles/link';
19
- import { classMap } from 'lit/directives/class-map';
20
- import { styleMap } from 'lit/directives/style-map';
21
- import { until } from 'lit/directives/until';
19
+ import { classMap } from 'lit-html/directives/class-map';
20
+ import { styleMap } from 'lit-html/directives/style-map';
21
+ import { until } from 'lit-html/directives/until';
22
22
  import { dispatchCustomEvent } from '../lib/events';
23
23
  import './gv-icon';
24
- import { ifDefined } from 'lit/directives/if-defined';
24
+ import { ifDefined } from 'lit-html/directives/if-defined';
25
25
  /**
26
26
  * A link
27
27
  *
@@ -129,4 +129,4 @@ export class GvLink extends LitElement {
129
129
 
130
130
  }
131
131
  window.customElements.define('gv-link', GvLink);
132
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWxpbmsuanMiXSwibmFtZXMiOlsiTGl0RWxlbWVudCIsImh0bWwiLCJjc3MiLCJza2VsZXRvbiIsImxpbmsiLCJjbGFzc01hcCIsInN0eWxlTWFwIiwidW50aWwiLCJkaXNwYXRjaEN1c3RvbUV2ZW50IiwiaWZEZWZpbmVkIiwiR3ZMaW5rIiwicHJvcGVydGllcyIsImFjdGl2ZSIsInR5cGUiLCJCb29sZWFuIiwicmVmbGVjdCIsImljb24iLCJTdHJpbmciLCJwYXRoIiwidGl0bGUiLCJ0YXJnZXQiLCJfdGl0bGUiLCJhdHRyaWJ1dGUiLCJoZWxwIiwic21hbGwiLCJzdHlsZXMiLCJfb25DbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInZhbHVlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiY2F0Y2giLCJyZW5kZXIiLCJjbGFzc2VzIiwiaWNvblN0eWxlIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixnQkFBckI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixzQkFBdEI7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLE9BQU8sV0FBUDtBQUNBLFNBQVNDLFNBQVQsUUFBMEIsMkJBQTFCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUFMLEdBQVlmLElBQUksbUJBQWtCLEtBQUtlLElBQXZCLFlBQXFDVixRQUFRLENBQUM4QixTQUFELENBQTdDLGNBQWhCLEdBQXdGLEVBUm5GLFVBU0M3QixLQUFLLENBQUMsS0FBS2MsTUFBTixFQUFjLEVBQWQsQ0FUTixHQVMwQixLQUFLRSxJQUFMLEdBQVl0QixJQUFJLHNCQUFzQk0sS0FBSyxDQUFDLEtBQUtnQixJQUFOLEVBQVksRUFBWixDQUEzQixTQUFoQixHQUFzRSxFQVRoRyxlQUFYO0FBWUQ7O0FBdkpvQztBQTBKdkNjLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsU0FBN0IsRUFBd0M3QixNQUF4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgc2tlbGV0b24gfSBmcm9tICcuLi9zdHlsZXMvc2tlbGV0b24nO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IHN0eWxlTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvc3R5bGUtbWFwJztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvdW50aWwnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0ICcuL2d2LWljb24nO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5cbi8qKlxuICogQSBsaW5rXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWxpbms6Y2xpY2sgLSBDdXN0b20gY2xpY2sgZXZlbnQgZnJvbSBpbm5lciBsaW5rIGVsZW1lbnRcbiAqXG4gKiBAc2xvdCAtIFRoZSBjb250ZW50IG9mIHRoZSBsaW5rICh0ZXh0IG9yIEhUTUwpXG4gKlxuICogQGF0dHIge0Jvb2xlYW59IGFjdGl2ZSAtIHNldCBpZiBsaW5rIGlzIGFjdGl2ZVxuICogQGF0dHIge1N0cmluZ30gcGF0aCAtIGxpbmsgcGF0aFxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSBsaW5rIHRpdGxlXG4gKiBAYXR0ciB7U3RyaW5nfSB0YXJnZXQgLSBsaW5rIHRhcmdldFxuICogQGF0dHIge1N0cmluZ30gaGVscCAtIGhlbHAgdGV4dCBsZWZ0IGJldHdlZW4gcGFyZW50aGVzZXNcbiAqXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1saW5rLWEtLXB2PTE1cHhdIC0gVmVydGljYWwgcGFkZGluZyBmb3IgdGhlIGlubmVyIDxhPiB0YWdcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpbmstYS0tcGg9MTVweF0gLSBIb3Jpem9udGFsIHBhZGRpbmcgZm9yIHRoZSBpbm5lciA8YT4gdGFnXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWxpbmstLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KV0gLSBDb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1saW5rLWFjdGl2ZS0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKV0gLSBBY3RpdmUgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGluay0tYmdjPXRyYW5zcGFyZW50XSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGluay1hY3RpdmUtLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvci1kYXJrLCAjMjg0NDRmKV0gLSBBY3RpdmUgYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1saW5rLWFjdGl2ZS0tYmRjPW5vbmVdIC0gQWN0aXZlIGJvcmRlciBjb2xvclxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtbGluay1hY3RpdmUtLWJkcz1ub25lXSAtIEFjdGl2ZSBib3JkZXIgc3R5bGVcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpbmstYWN0aXZlLS1iZHc9bm9uZV0gLSBBY3RpdmUgYm9yZGVyIHdpZHRoXG4gKiBAY3NzcHJvcCB7U3RyaW5nfSBbLS1ndi1saW5rLS10YT1jZW50ZXJdIC0gVGV4dCBhbGlnblxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtbGluay0tdGQ9bm9uZV0gLSBUZXh0IGRlY29yYXRpb25cbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LWxpbmstLXRzaD1ub25lXS0gVGV4dCBzaGFkb3dcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpbmstaWNvbi0tcz0yNHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICovXG5leHBvcnQgY2xhc3MgR3ZMaW5rIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWN0aXZlOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGljb246IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBwYXRoOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICB0YXJnZXQ6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBfdGl0bGU6IHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBoZWxwOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgc21hbGw6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbGluayxcbiAgICAgIC8vIGxhbmd1YWdlPWNzc1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LWxpbmstaWNvbi0tcywgMjRweCk7XG4gICAgICAgICAgLS1saW5rLWFjdGl2ZS0tYzogdmFyKC0tZ3YtbGluay1hY3RpdmUtLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWxpbmstLWM6IHZhcigtLWd2LWxpbmstLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tcHY6IHZhcigtLWd2LWxpbmstYS0tcHYsIDE1cHgpO1xuICAgICAgICAgIC0tcGg6IHZhcigtLWd2LWxpbmstYS0tcGgsIDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgKixcbiAgICAgICAgKjpiZWZvcmUsXG4gICAgICAgICo6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXB2KSB2YXIoLS1waCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstLWMpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWxpbmstLWJnYywgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiB2YXIoLS1ndi1saW5rLS10YSwgY2VudGVyKTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogdmFyKC0tZ3YtbGluay0tdHNoLCBub25lKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWd2LWxpbmstLWJnYywgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogdmFyKC0tZ3YtbGluay1hY3RpdmUtLWJkcywgbm9uZSk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ndi1saW5rLWFjdGl2ZS0tYmR3LCBub25lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEgPiAqIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tbGluay1hY3RpdmUtLWMpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWxpbmstYWN0aXZlLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWd2LWxpbmstYWN0aXZlLS1iZGMsIG5vbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmsuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgYSBzcGFuLFxuICAgICAgICBhIGd2LWljb24ge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEgc3BhbiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBtYXJnaW46IDAuM3JlbSAwLjVyZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1ndi1saW5rLS10ZCwgbm9uZSk7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEuc21hbGwgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAwLjNyZW0gMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuaGVscCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUteHMsIDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlbHA6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlbHA6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgIH1cblxuICAgICAgICAuc2tlbGV0b24ge1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICBza2VsZXRvbixcbiAgICBdO1xuICB9XG5cbiAgYXN5bmMgX29uQ2xpY2soZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdjbGljaycsIHtcbiAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmUsXG4gICAgICBpY29uOiB0aGlzLmljb24sXG4gICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICB0aXRsZTogdGhpcy5fdGl0bGUsXG4gICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0LFxuICAgIH0pO1xuICB9XG5cbiAgc2V0IHRpdGxlKHZhbHVlKSB7XG4gICAgUHJvbWlzZS5yZXNvbHZlKHZhbHVlKVxuICAgICAgLnRoZW4oKHRpdGxlKSA9PiB7XG4gICAgICAgIHRoaXMuX3RpdGxlID0gdGl0bGU7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7fSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmUsXG4gICAgICBsaW5rOiB0cnVlLFxuICAgICAgc2tlbGV0b246IHRoaXMuc2tlbGV0b24sXG4gICAgICBzbWFsbDogdGhpcy5zbWFsbCxcbiAgICB9O1xuICAgIGNvbnN0IGljb25TdHlsZSA9IHRoaXMuYWN0aXZlXG4gICAgICA/IHsgJy0tZ3YtaWNvbi0tYyc6ICd2YXIoLS1saW5rLWFjdGl2ZS0tYyknLCAnLS1ndi1pY29uLW9wYWNpdHktLWMnOiAndmFyKC0tbGluay1hY3RpdmUtLWMpJyB9XG4gICAgICA6IHsgJy0tZ3YtaWNvbi0tYyc6ICd2YXIoLS1saW5rLS1jKScsICctLWd2LWljb24tb3BhY2l0eS0tYyc6ICd2YXIoLS1saW5rLS1jKScgfTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxhXG4gICAgICAgIEBjbGljaz0ke3RoaXMuX29uQ2xpY2t9XG4gICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIlxuICAgICAgICAuaHJlZj1cIiR7aWZEZWZpbmVkKHRoaXMucGF0aCl9XCJcbiAgICAgICAgLnRhcmdldD1cIiR7aWZEZWZpbmVkKHRoaXMudGFyZ2V0KX1cIlxuICAgICAgICA/dGl0bGU9XCIke3VudGlsKHRoaXMuX3RpdGxlLCAnJyl9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLmljb24gPyBodG1sYDxndi1pY29uIHNoYXBlPSR7dGhpcy5pY29ufSBzdHlsZT0ke3N0eWxlTWFwKGljb25TdHlsZSl9PjwvZ3YtaWNvbj5gIDogJyd9XG4gICAgICAgIDxzcGFuPiR7dW50aWwodGhpcy5fdGl0bGUsICcnKX0ke3RoaXMuaGVscCA/IGh0bWxgPHNwYW4gY2xhc3M9XCJoZWxwXCI+JHt1bnRpbCh0aGlzLmhlbHAsICcnKX08L3NwYW4+YCA6ICcnfTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWxpbmsnLCBHdkxpbmspO1xuIl19
132
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWxpbmsuanMiXSwibmFtZXMiOlsiTGl0RWxlbWVudCIsImh0bWwiLCJjc3MiLCJza2VsZXRvbiIsImxpbmsiLCJjbGFzc01hcCIsInN0eWxlTWFwIiwidW50aWwiLCJkaXNwYXRjaEN1c3RvbUV2ZW50IiwiaWZEZWZpbmVkIiwiR3ZMaW5rIiwicHJvcGVydGllcyIsImFjdGl2ZSIsInR5cGUiLCJCb29sZWFuIiwicmVmbGVjdCIsImljb24iLCJTdHJpbmciLCJwYXRoIiwidGl0bGUiLCJ0YXJnZXQiLCJfdGl0bGUiLCJhdHRyaWJ1dGUiLCJoZWxwIiwic21hbGwiLCJzdHlsZXMiLCJfb25DbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInZhbHVlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiY2F0Y2giLCJyZW5kZXIiLCJjbGFzc2VzIiwiaWNvblN0eWxlIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxhQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixnQkFBckI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLCtCQUF6QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQiwyQkFBdEI7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLE9BQU8sV0FBUDtBQUNBLFNBQVNDLFNBQVQsUUFBMEIsZ0NBQTFCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUFMLEdBQVlmLElBQUksbUJBQWtCLEtBQUtlLElBQXZCLFlBQXFDVixRQUFRLENBQUM4QixTQUFELENBQTdDLGNBQWhCLEdBQXdGLEVBUm5GLFVBU0M3QixLQUFLLENBQUMsS0FBS2MsTUFBTixFQUFjLEVBQWQsQ0FUTixHQVMwQixLQUFLRSxJQUFMLEdBQVl0QixJQUFJLHNCQUFzQk0sS0FBSyxDQUFDLEtBQUtnQixJQUFOLEVBQVksRUFBWixDQUEzQixTQUFoQixHQUFzRSxFQVRoRyxlQUFYO0FBWUQ7O0FBdkpvQztBQTBKdkNjLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsU0FBN0IsRUFBd0M3QixNQUF4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5pbXBvcnQgeyBsaW5rIH0gZnJvbSAnLi4vc3R5bGVzL2xpbmsnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvc3R5bGUtbWFwJztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy91bnRpbCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgJy4vZ3YtaWNvbic7XG5pbXBvcnQgeyBpZkRlZmluZWQgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL2lmLWRlZmluZWQnO1xuXG4vKipcbiAqIEEgbGlua1xuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1saW5rOmNsaWNrIC0gQ3VzdG9tIGNsaWNrIGV2ZW50IGZyb20gaW5uZXIgbGluayBlbGVtZW50XG4gKlxuICogQHNsb3QgLSBUaGUgY29udGVudCBvZiB0aGUgbGluayAodGV4dCBvciBIVE1MKVxuICpcbiAqIEBhdHRyIHtCb29sZWFufSBhY3RpdmUgLSBzZXQgaWYgbGluayBpcyBhY3RpdmVcbiAqIEBhdHRyIHtTdHJpbmd9IHBhdGggLSBsaW5rIHBhdGhcbiAqIEBhdHRyIHtTdHJpbmd9IHRpdGxlIC0gbGluayB0aXRsZVxuICogQGF0dHIge1N0cmluZ30gdGFyZ2V0IC0gbGluayB0YXJnZXRcbiAqIEBhdHRyIHtTdHJpbmd9IGhlbHAgLSBoZWxwIHRleHQgbGVmdCBiZXR3ZWVuIHBhcmVudGhlc2VzXG4gKlxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbGluay1hLS1wdj0xNXB4XSAtIFZlcnRpY2FsIHBhZGRpbmcgZm9yIHRoZSBpbm5lciA8YT4gdGFnXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1saW5rLWEtLXBoPTE1cHhdIC0gSG9yaXpvbnRhbCBwYWRkaW5nIGZvciB0aGUgaW5uZXIgPGE+IHRhZ1xuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1saW5rLS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNildIC0gQ29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGluay1hY3RpdmUtLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZildIC0gQWN0aXZlIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWxpbmstLWJnYz10cmFuc3BhcmVudF0gLSBCYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWxpbmstYWN0aXZlLS1iZ2M9dmFyKC0tZ3YtdGhlbWUtY29sb3ItZGFyaywgIzI4NDQ0ZildIC0gQWN0aXZlIGJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGluay1hY3RpdmUtLWJkYz1ub25lXSAtIEFjdGl2ZSBib3JkZXIgY29sb3JcbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LWxpbmstYWN0aXZlLS1iZHM9bm9uZV0gLSBBY3RpdmUgYm9yZGVyIHN0eWxlXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1saW5rLWFjdGl2ZS0tYmR3PW5vbmVdIC0gQWN0aXZlIGJvcmRlciB3aWR0aFxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtbGluay0tdGE9Y2VudGVyXSAtIFRleHQgYWxpZ25cbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LWxpbmstLXRkPW5vbmVdIC0gVGV4dCBkZWNvcmF0aW9uXG4gKiBAY3NzcHJvcCB7U3RyaW5nfSBbLS1ndi1saW5rLS10c2g9bm9uZV0tIFRleHQgc2hhZG93XG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1saW5rLWljb24tLXM9MjRweF0gLSBIZWlnaHQgYW5kIGljb24gd2lkdGhcbiAqL1xuZXhwb3J0IGNsYXNzIEd2TGluayBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGl2ZTogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBpY29uOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgcGF0aDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHRpdGxlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgdGFyZ2V0OiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgX3RpdGxlOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgaGVscDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNrZWxldG9uOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHNtYWxsOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGxpbmssXG4gICAgICAvLyBsYW5ndWFnZT1jc3NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiB2YXIoLS1ndi1saW5rLWljb24tLXMsIDI0cHgpO1xuICAgICAgICAgIC0tbGluay1hY3RpdmUtLWM6IHZhcigtLWd2LWxpbmstYWN0aXZlLS1jLCB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKSk7XG4gICAgICAgICAgLS1saW5rLS1jOiB2YXIoLS1ndi1saW5rLS1jLCB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpKTtcbiAgICAgICAgICAtLXB2OiB2YXIoLS1ndi1saW5rLWEtLXB2LCAxNXB4KTtcbiAgICAgICAgICAtLXBoOiB2YXIoLS1ndi1saW5rLWEtLXBoLCAxNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICosXG4gICAgICAgICo6YmVmb3JlLFxuICAgICAgICAqOmFmdGVyIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1wdikgdmFyKC0tcGgpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1saW5rLS1jKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi1saW5rLS1iZ2MsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogdmFyKC0tZ3YtbGluay0tdGEsIGNlbnRlcik7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IHZhcigtLWd2LWxpbmstLXRzaCwgbm9uZSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ndi1saW5rLS1iZ2MsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHZhcigtLWd2LWxpbmstYWN0aXZlLS1iZHMsIG5vbmUpO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tZ3YtbGluay1hY3RpdmUtLWJkdywgbm9uZSk7XG4gICAgICAgIH1cblxuICAgICAgICBhID4gKiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstYWN0aXZlLS1jKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi1saW5rLWFjdGl2ZS0tYmdjLCB2YXIoLS1ndi10aGVtZS1jb2xvci1kYXJrLCAjMjg0NDRmKSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ndi1saW5rLWFjdGl2ZS0tYmRjLCBub25lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5rLmFjdGl2ZTpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEgc3BhbixcbiAgICAgICAgYSBndi1pY29uIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBhIHNwYW4ge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgbWFyZ2luOiAwLjNyZW0gMC41cmVtO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tZ3YtbGluay0tdGQsIG5vbmUpO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICBhLnNtYWxsIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMC4zcmVtIDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlbHAge1xuICAgICAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXhzLCAxMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWxwOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWxwOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNrZWxldG9uIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgICBgLFxuICAgICAgc2tlbGV0b24sXG4gICAgXTtcbiAgfVxuXG4gIGFzeW5jIF9vbkNsaWNrKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xpY2snLCB7XG4gICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlLFxuICAgICAgaWNvbjogdGhpcy5pY29uLFxuICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgdGl0bGU6IHRoaXMuX3RpdGxlLFxuICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldCxcbiAgICB9KTtcbiAgfVxuXG4gIHNldCB0aXRsZSh2YWx1ZSkge1xuICAgIFByb21pc2UucmVzb2x2ZSh2YWx1ZSlcbiAgICAgIC50aGVuKCh0aXRsZSkgPT4ge1xuICAgICAgICB0aGlzLl90aXRsZSA9IHRpdGxlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZSkgPT4ge30pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlLFxuICAgICAgbGluazogdHJ1ZSxcbiAgICAgIHNrZWxldG9uOiB0aGlzLnNrZWxldG9uLFxuICAgICAgc21hbGw6IHRoaXMuc21hbGwsXG4gICAgfTtcbiAgICBjb25zdCBpY29uU3R5bGUgPSB0aGlzLmFjdGl2ZVxuICAgICAgPyB7ICctLWd2LWljb24tLWMnOiAndmFyKC0tbGluay1hY3RpdmUtLWMpJywgJy0tZ3YtaWNvbi1vcGFjaXR5LS1jJzogJ3ZhcigtLWxpbmstYWN0aXZlLS1jKScgfVxuICAgICAgOiB7ICctLWd2LWljb24tLWMnOiAndmFyKC0tbGluay0tYyknLCAnLS1ndi1pY29uLW9wYWNpdHktLWMnOiAndmFyKC0tbGluay0tYyknIH07XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8YVxuICAgICAgICBAY2xpY2s9JHt0aGlzLl9vbkNsaWNrfVxuICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoY2xhc3Nlcyl9XCJcbiAgICAgICAgLmhyZWY9XCIke2lmRGVmaW5lZCh0aGlzLnBhdGgpfVwiXG4gICAgICAgIC50YXJnZXQ9XCIke2lmRGVmaW5lZCh0aGlzLnRhcmdldCl9XCJcbiAgICAgICAgP3RpdGxlPVwiJHt1bnRpbCh0aGlzLl90aXRsZSwgJycpfVwiXG4gICAgICA+XG4gICAgICAgICR7dGhpcy5pY29uID8gaHRtbGA8Z3YtaWNvbiBzaGFwZT0ke3RoaXMuaWNvbn0gc3R5bGU9JHtzdHlsZU1hcChpY29uU3R5bGUpfT48L2d2LWljb24+YCA6ICcnfVxuICAgICAgICA8c3Bhbj4ke3VudGlsKHRoaXMuX3RpdGxlLCAnJyl9JHt0aGlzLmhlbHAgPyBodG1sYDxzcGFuIGNsYXNzPVwiaGVscFwiPiR7dW50aWwodGhpcy5oZWxwLCAnJyl9PC9zcGFuPmAgOiAnJ308L3NwYW4+XG4gICAgICA8L2E+XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1saW5rJywgR3ZMaW5rKTtcbiJdfQ==
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { classMap } from 'lit/directives/class-map';
17
- import { LitElement, html, css } from 'lit';
16
+ import { classMap } from 'lit-html/directives/class-map';
17
+ import { LitElement, html, css } from 'lit-element';
18
18
  import { dispatchCustomEvent } from '../lib/events';
19
19
  import '../atoms/gv-icon';
20
20
  /**
@@ -74,4 +74,4 @@ export class GvMessage extends LitElement {
74
74
 
75
75
  }
76
76
  window.customElements.define('gv-message', GvMessage);
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY2xhc3NNYXAiLCJMaXRFbGVtZW50IiwiaHRtbCIsImNzcyIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJHdk1lc3NhZ2UiLCJwcm9wZXJ0aWVzIiwidHlwZSIsIlN0cmluZyIsImNsb3NhYmxlIiwiQm9vbGVhbiIsIl9jbG9zZSIsImF0dHJpYnV0ZSIsInN0eWxlcyIsIl9vbkNsaWNrIiwic2V0VGltZW91dCIsInJlbmRlciIsIm1vZGVzIiwiYm94Iiwic2ltcGxlIiwiaW5mbyIsIndhcm5pbmciLCJzdWNjZXNzIiwiZXJyb3IiLCJjbG9zZSIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsT0FBTyxrQkFBUDtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sTUFBTUMsU0FBTixTQUF3QkosVUFBeEIsQ0FBbUM7QUFDbkIsYUFBVkssVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFO0FBQUVBLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUREO0FBRUxDLE1BQUFBLFFBQVEsRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVHO0FBQVIsT0FGTDtBQUdMQyxNQUFBQSxNQUFNLEVBQUU7QUFBRUosUUFBQUEsSUFBSSxFQUFFRyxPQUFSO0FBQWlCRSxRQUFBQSxTQUFTLEVBQUU7QUFBNUI7QUFISCxLQUFQO0FBS0Q7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyx1bUJBRkUsQ0FBUDtBQXNERDs7QUFFRFcsRUFBQUEsUUFBUSxHQUFHO0FBQ1QsU0FBS0gsTUFBTCxHQUFjLElBQWQ7QUFDQUksSUFBQUEsVUFBVSxDQUFDLE1BQU07QUFDZlgsTUFBQUEsbUJBQW1CLENBQUMsSUFBRCxFQUFPLE9BQVAsQ0FBbkI7QUFDRCxLQUZTLEVBRVAsR0FGTyxDQUFWO0FBR0Q7O0FBRURZLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaQyxNQUFBQSxHQUFHLEVBQUUsSUFETztBQUVaQyxNQUFBQSxNQUFNLEVBQUUsQ0FBQyxLQUFLWixJQUFOLElBQWUsS0FBS0EsSUFBTCxLQUFjLE1BQWQsSUFBd0IsS0FBS0EsSUFBTCxLQUFjLFNBQXRDLElBQW1ELEtBQUtBLElBQUwsS0FBYyxPQUFqRSxJQUE0RSxLQUFLQSxJQUFMLEtBQWMsU0FGckc7QUFHWmEsTUFBQUEsSUFBSSxFQUFFLEtBQUtiLElBQUwsS0FBYyxNQUhSO0FBSVpjLE1BQUFBLE9BQU8sRUFBRSxLQUFLZCxJQUFMLEtBQWMsU0FKWDtBQUtaZSxNQUFBQSxPQUFPLEVBQUUsS0FBS2YsSUFBTCxLQUFjLFNBTFg7QUFNWmdCLE1BQUFBLEtBQUssRUFBRSxLQUFLaEIsSUFBTCxLQUFjLE9BTlQ7QUFPWmlCLE1BQUFBLEtBQUssRUFBRSxLQUFLYjtBQVBBLEtBQWQ7QUFTQSxXQUFPVCxJQUFJLGdCQUNJRixRQUFRLENBQUNpQixLQUFELENBRFosaURBS0wsS0FBS1IsUUFBTCxHQUFnQlAsSUFBSSwwQ0FBMEMsS0FBS1ksUUFBL0MsY0FBcEIsR0FBNEYsRUFMdkYsVUFBWDtBQVFEOztBQTNGdUM7QUE4RjFDVyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFlBQTdCLEVBQTJDdEIsU0FBM0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5cbi8qKlxuICogTWVzc2FnZSBjb21wb25lbnRcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAZmlyZXMgZ3YtbWVzc2FnZTpjbG9zZSAtIENsaWNrIGV2ZW50IGZyb20gaW5uZXIgYnV0dG9uIGVsZW1lbnRcbiAqXG4gKiBAc2xvdCAtIFRoZSBjb250ZW50IG9mIHRoZSBidXR0b24gKHRleHQgb3IgSFRNTClcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSB0eXBlIC0gdHlwZSBvZiB0aGUgbWVzc2FnZS4gQ2FuIGJlIGRlZmF1bHQsIHN1Y2Nlc3MsIGVycm9yLCB3YXJuaW5nIG9yIGluZm8uXG4gKiBAYXR0ciB7Ym9vbGVhbn0gY2xvc2FibGUgLSBkZXRlcm1pbmVzIGlmIHRoZSBtZXNzYWdlIGNhbiBiZSBoaWRkZW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBHdk1lc3NhZ2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgY2xvc2FibGU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX2Nsb3NlOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1pbmZvLWxpZ2h0LCAjNjRiNWY2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWNjZXNzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1zdWNjZXNzLWxpZ2h0LCAjODFjNzg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXJuaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci13YXJuaW5nLWxpZ2h0LCAjZmZiNzRkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3ItZXJyb3ItbGlnaHQsICNlNTczNzMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDI0cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbjpob3ZlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgX29uQ2xpY2soKSB7XG4gICAgdGhpcy5fY2xvc2UgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xvc2UnKTtcbiAgICB9LCAyNTApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IG1vZGVzID0ge1xuICAgICAgYm94OiB0cnVlLFxuICAgICAgc2ltcGxlOiAhdGhpcy50eXBlIHx8ICh0aGlzLnR5cGUgIT09ICdpbmZvJyAmJiB0aGlzLnR5cGUgIT09ICdzdWNjZXNzJyAmJiB0aGlzLnR5cGUgIT09ICdlcnJvcicgJiYgdGhpcy50eXBlICE9PSAnd2FybmluZycpLFxuICAgICAgaW5mbzogdGhpcy50eXBlID09PSAnaW5mbycsXG4gICAgICB3YXJuaW5nOiB0aGlzLnR5cGUgPT09ICd3YXJuaW5nJyxcbiAgICAgIHN1Y2Nlc3M6IHRoaXMudHlwZSA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgZXJyb3I6IHRoaXMudHlwZSA9PT0gJ2Vycm9yJyxcbiAgICAgIGNsb3NlOiB0aGlzLl9jbG9zZSxcbiAgICB9O1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz0ke2NsYXNzTWFwKG1vZGVzKX0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgJHt0aGlzLmNsb3NhYmxlID8gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cImdlbmVyYWw6Y2xvc2VcIiBAY2xpY2s9XCIke3RoaXMuX29uQ2xpY2t9XCI+PC9ndi1pY29uPmAgOiAnJ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbWVzc2FnZScsIEd2TWVzc2FnZSk7XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY2xhc3NNYXAiLCJMaXRFbGVtZW50IiwiaHRtbCIsImNzcyIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJHdk1lc3NhZ2UiLCJwcm9wZXJ0aWVzIiwidHlwZSIsIlN0cmluZyIsImNsb3NhYmxlIiwiQm9vbGVhbiIsIl9jbG9zZSIsImF0dHJpYnV0ZSIsInN0eWxlcyIsIl9vbkNsaWNrIiwic2V0VGltZW91dCIsInJlbmRlciIsIm1vZGVzIiwiYm94Iiwic2ltcGxlIiwiaW5mbyIsIndhcm5pbmciLCJzdWNjZXNzIiwiZXJyb3IiLCJjbG9zZSIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLCtCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxhQUF0QztBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsT0FBTyxrQkFBUDtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sTUFBTUMsU0FBTixTQUF3QkosVUFBeEIsQ0FBbUM7QUFDbkIsYUFBVkssVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFO0FBQUVBLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUREO0FBRUxDLE1BQUFBLFFBQVEsRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVHO0FBQVIsT0FGTDtBQUdMQyxNQUFBQSxNQUFNLEVBQUU7QUFBRUosUUFBQUEsSUFBSSxFQUFFRyxPQUFSO0FBQWlCRSxRQUFBQSxTQUFTLEVBQUU7QUFBNUI7QUFISCxLQUFQO0FBS0Q7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyx1bUJBRkUsQ0FBUDtBQXNERDs7QUFFRFcsRUFBQUEsUUFBUSxHQUFHO0FBQ1QsU0FBS0gsTUFBTCxHQUFjLElBQWQ7QUFDQUksSUFBQUEsVUFBVSxDQUFDLE1BQU07QUFDZlgsTUFBQUEsbUJBQW1CLENBQUMsSUFBRCxFQUFPLE9BQVAsQ0FBbkI7QUFDRCxLQUZTLEVBRVAsR0FGTyxDQUFWO0FBR0Q7O0FBRURZLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaQyxNQUFBQSxHQUFHLEVBQUUsSUFETztBQUVaQyxNQUFBQSxNQUFNLEVBQUUsQ0FBQyxLQUFLWixJQUFOLElBQWUsS0FBS0EsSUFBTCxLQUFjLE1BQWQsSUFBd0IsS0FBS0EsSUFBTCxLQUFjLFNBQXRDLElBQW1ELEtBQUtBLElBQUwsS0FBYyxPQUFqRSxJQUE0RSxLQUFLQSxJQUFMLEtBQWMsU0FGckc7QUFHWmEsTUFBQUEsSUFBSSxFQUFFLEtBQUtiLElBQUwsS0FBYyxNQUhSO0FBSVpjLE1BQUFBLE9BQU8sRUFBRSxLQUFLZCxJQUFMLEtBQWMsU0FKWDtBQUtaZSxNQUFBQSxPQUFPLEVBQUUsS0FBS2YsSUFBTCxLQUFjLFNBTFg7QUFNWmdCLE1BQUFBLEtBQUssRUFBRSxLQUFLaEIsSUFBTCxLQUFjLE9BTlQ7QUFPWmlCLE1BQUFBLEtBQUssRUFBRSxLQUFLYjtBQVBBLEtBQWQ7QUFTQSxXQUFPVCxJQUFJLGdCQUNJRixRQUFRLENBQUNpQixLQUFELENBRFosaURBS0wsS0FBS1IsUUFBTCxHQUFnQlAsSUFBSSwwQ0FBMEMsS0FBS1ksUUFBL0MsY0FBcEIsR0FBNEYsRUFMdkYsVUFBWDtBQVFEOztBQTNGdUM7QUE4RjFDVyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFlBQTdCLEVBQTJDdEIsU0FBM0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWljb24nO1xuXG4vKipcbiAqIE1lc3NhZ2UgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LW1lc3NhZ2U6Y2xvc2UgLSBDbGljayBldmVudCBmcm9tIGlubmVyIGJ1dHRvbiBlbGVtZW50XG4gKlxuICogQHNsb3QgLSBUaGUgY29udGVudCBvZiB0aGUgYnV0dG9uICh0ZXh0IG9yIEhUTUwpXG4gKlxuICogQGF0dHIge1N0cmluZ30gdHlwZSAtIHR5cGUgb2YgdGhlIG1lc3NhZ2UuIENhbiBiZSBkZWZhdWx0LCBzdWNjZXNzLCBlcnJvciwgd2FybmluZyBvciBpbmZvLlxuICogQGF0dHIge2Jvb2xlYW59IGNsb3NhYmxlIC0gZGV0ZXJtaW5lcyBpZiB0aGUgbWVzc2FnZSBjYW4gYmUgaGlkZGVuLlxuICovXG5leHBvcnQgY2xhc3MgR3ZNZXNzYWdlIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGNsb3NhYmxlOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIF9jbG9zZTogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3ItaW5mby1saWdodCwgIzY0YjVmNik7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VjY2VzcyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3Itc3VjY2Vzcy1saWdodCwgIzgxYzc4NCk7XG4gICAgICAgIH1cblxuICAgICAgICAud2FybmluZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3Itd2FybmluZy1saWdodCwgI2ZmYjc0ZCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3Ige1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWVycm9yLWxpZ2h0LCAjZTU3MzczKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbiB7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWljb246aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIF9vbkNsaWNrKCkge1xuICAgIHRoaXMuX2Nsb3NlID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Nsb3NlJyk7XG4gICAgfSwgMjUwKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBtb2RlcyA9IHtcbiAgICAgIGJveDogdHJ1ZSxcbiAgICAgIHNpbXBsZTogIXRoaXMudHlwZSB8fCAodGhpcy50eXBlICE9PSAnaW5mbycgJiYgdGhpcy50eXBlICE9PSAnc3VjY2VzcycgJiYgdGhpcy50eXBlICE9PSAnZXJyb3InICYmIHRoaXMudHlwZSAhPT0gJ3dhcm5pbmcnKSxcbiAgICAgIGluZm86IHRoaXMudHlwZSA9PT0gJ2luZm8nLFxuICAgICAgd2FybmluZzogdGhpcy50eXBlID09PSAnd2FybmluZycsXG4gICAgICBzdWNjZXNzOiB0aGlzLnR5cGUgPT09ICdzdWNjZXNzJyxcbiAgICAgIGVycm9yOiB0aGlzLnR5cGUgPT09ICdlcnJvcicsXG4gICAgICBjbG9zZTogdGhpcy5fY2xvc2UsXG4gICAgfTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9JHtjbGFzc01hcChtb2Rlcyl9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICR7dGhpcy5jbG9zYWJsZSA/IGh0bWxgPGd2LWljb24gc2hhcGU9XCJnZW5lcmFsOmNsb3NlXCIgQGNsaWNrPVwiJHt0aGlzLl9vbkNsaWNrfVwiPjwvZ3YtaWNvbj5gIDogJyd9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LW1lc3NhZ2UnLCBHdk1lc3NhZ2UpO1xuIl19
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { classMap } from 'lit/directives/class-map';
17
- import { LitElement, html, css } from 'lit';
16
+ import { classMap } from 'lit-html/directives/class-map';
17
+ import { LitElement, html, css } from 'lit-element';
18
18
  import { skeleton } from '../styles/skeleton';
19
19
  import './gv-icon';
20
20
  /**
@@ -65,4 +65,4 @@ export class GvMetric extends LitElement {
65
65
 
66
66
  }
67
67
  window.customElements.define('gv-metric', GvMetric);
68
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1ldHJpYy5qcyJdLCJuYW1lcyI6WyJjbGFzc01hcCIsIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwic2tlbGV0b24iLCJHdk1ldHJpYyIsInByb3BlcnRpZXMiLCJpY29uIiwidHlwZSIsIlN0cmluZyIsIm5hbWUiLCJ2YWx1ZSIsIkJvb2xlYW4iLCJzdHlsZXMiLCJyZW5kZXIiLCJtb2RlcyIsIm1ldHJpYyIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsT0FBTyxXQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLFFBQU4sU0FBdUJKLFVBQXZCLENBQWtDO0FBQ2xCLGFBQVZLLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLElBQUksRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FERDtBQUVMQyxNQUFBQSxJQUFJLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BRkQ7QUFHTEUsTUFBQUEsS0FBSyxFQUFFO0FBQUVILFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUhGO0FBSUxMLE1BQUFBLFFBQVEsRUFBRTtBQUFFSSxRQUFBQSxJQUFJLEVBQUVJO0FBQVI7QUFKTCxLQUFQO0FBTUQ7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyxxakJBRkUsRUEyQ0xDLFFBM0NLLENBQVA7QUE2Q0Q7O0FBRURVLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaWCxNQUFBQSxRQUFRLEVBQUUsS0FBS0EsUUFESDtBQUVaWSxNQUFBQSxNQUFNLEVBQUU7QUFGSSxLQUFkO0FBS0EsV0FBT2QsSUFBSSxnQkFDSUYsUUFBUSxDQUFDZSxLQUFELENBRFosTUFFTCxLQUFLSixLQUFMLEdBQ0VULElBQUksdUNBRWtCLEtBQUtLLElBRnZCLDJFQUs0QixLQUFLSSxLQUxqQyxtQ0FNMkIsS0FBS0QsSUFOaEMsZ0JBRE4sR0FVRSxFQVpHLFVBQVg7QUFlRDs7QUEvRXNDO0FBa0Z6Q08sTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixXQUE3QixFQUEwQ2QsUUFBMUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCAnLi9ndi1pY29uJztcblxuLyoqXG4gKiBBIE1ldHJpY1xuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtTdHJpbmd9IGljb24gLSBuYW1lIG9mIHNoYXBlXG4gKiBAYXR0ciB7U3RyaW5nfSBuYW1lIC0gdGhlIG5hbWUgb2YgdGhlIG1ldHJpY1xuICogQGF0dHIge1N0cmluZ30gdmFsdWUgLSB0aGUgdmFsdWUgb2YgdGhlIG1ldHJpY1xuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1tZXRyaWMtLWM9dmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tZXRyaWMtaWNvbi0tcz0yNHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICovXG5leHBvcnQgY2xhc3MgR3ZNZXRyaWMgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgbmFtZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldHJpYyB7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiB2YXIoLS1ndi1tZXRyaWMtaWNvbi0tcywgMjRweCk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi1tZXRyaWMtLWMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgICAgbWluLXdpZHRoOiA3NXB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZXRyaWMtZGF0YSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWV0cmljLXZhbHVlIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0sIDE0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldHJpYy1uYW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14cywgMTBweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14cywgMTBweCk7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgICBgLFxuICAgICAgc2tlbGV0b24sXG4gICAgXTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBtb2RlcyA9IHtcbiAgICAgIHNrZWxldG9uOiB0aGlzLnNrZWxldG9uLFxuICAgICAgbWV0cmljOiB0cnVlLFxuICAgIH07XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9JHtjbGFzc01hcChtb2Rlcyl9PlxuICAgICAgICAke3RoaXMudmFsdWVcbiAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XG4gICAgICAgICAgICAgICAgPGd2LWljb24gc2hhcGU9XCIke3RoaXMuaWNvbn1cIj48L2d2LWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLWRhdGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXZhbHVlXCI+JHt0aGlzLnZhbHVlfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtbmFtZVwiPiR7dGhpcy5uYW1lfTwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGBcbiAgICAgICAgICA6ICcnfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1tZXRyaWMnLCBHdk1ldHJpYyk7XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1ldHJpYy5qcyJdLCJuYW1lcyI6WyJjbGFzc01hcCIsIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwic2tlbGV0b24iLCJHdk1ldHJpYyIsInByb3BlcnRpZXMiLCJpY29uIiwidHlwZSIsIlN0cmluZyIsIm5hbWUiLCJ2YWx1ZSIsIkJvb2xlYW4iLCJzdHlsZXMiLCJyZW5kZXIiLCJtb2RlcyIsIm1ldHJpYyIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLCtCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxhQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsT0FBTyxXQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLFFBQU4sU0FBdUJKLFVBQXZCLENBQWtDO0FBQ2xCLGFBQVZLLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLElBQUksRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FERDtBQUVMQyxNQUFBQSxJQUFJLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BRkQ7QUFHTEUsTUFBQUEsS0FBSyxFQUFFO0FBQUVILFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUhGO0FBSUxMLE1BQUFBLFFBQVEsRUFBRTtBQUFFSSxRQUFBQSxJQUFJLEVBQUVJO0FBQVI7QUFKTCxLQUFQO0FBTUQ7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyxxakJBRkUsRUEyQ0xDLFFBM0NLLENBQVA7QUE2Q0Q7O0FBRURVLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaWCxNQUFBQSxRQUFRLEVBQUUsS0FBS0EsUUFESDtBQUVaWSxNQUFBQSxNQUFNLEVBQUU7QUFGSSxLQUFkO0FBS0EsV0FBT2QsSUFBSSxnQkFDSUYsUUFBUSxDQUFDZSxLQUFELENBRFosTUFFTCxLQUFLSixLQUFMLEdBQ0VULElBQUksdUNBRWtCLEtBQUtLLElBRnZCLDJFQUs0QixLQUFLSSxLQUxqQyxtQ0FNMkIsS0FBS0QsSUFOaEMsZ0JBRE4sR0FVRSxFQVpHLFVBQVg7QUFlRDs7QUEvRXNDO0FBa0Z6Q08sTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixXQUE3QixFQUEwQ2QsUUFBMUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5pbXBvcnQgJy4vZ3YtaWNvbic7XG5cbi8qKlxuICogQSBNZXRyaWNcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBpY29uIC0gbmFtZSBvZiBzaGFwZVxuICogQGF0dHIge1N0cmluZ30gbmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBtZXRyaWNcbiAqIEBhdHRyIHtTdHJpbmd9IHZhbHVlIC0gdGhlIHZhbHVlIG9mIHRoZSBtZXRyaWNcbiAqIEBhdHRyIHtCb29sZWFufSBza2VsZXRvbiAtIGVuYWJsZSBza2VsZXRvbiBzY3JlZW4gVUkgcGF0dGVybiAobG9hZGluZyBoaW50KVxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbWV0cmljLS1jPXZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KV0gLSBDb2xvclxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbWV0cmljLWljb24tLXM9MjRweF0gLSBIZWlnaHQgYW5kIGljb24gd2lkdGhcbiAqL1xuZXhwb3J0IGNsYXNzIEd2TWV0cmljIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIG5hbWU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICB2YWx1ZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNrZWxldG9uOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZXRyaWMge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogdmFyKC0tZ3YtbWV0cmljLWljb24tLXMsIDI0cHgpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0tZ3YtbWV0cmljLS1jLCB2YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCkpO1xuICAgICAgICAgIG1pbi13aWR0aDogNzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAubWV0cmljLWRhdGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldHJpYy12YWx1ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSwgMTRweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZXRyaWMtbmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUteHMsIDEwcHgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUteHMsIDEwcHgpO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICAgIHNrZWxldG9uLFxuICAgIF07XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgbW9kZXMgPSB7XG4gICAgICBza2VsZXRvbjogdGhpcy5za2VsZXRvbixcbiAgICAgIG1ldHJpYzogdHJ1ZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPSR7Y2xhc3NNYXAobW9kZXMpfT5cbiAgICAgICAgJHt0aGlzLnZhbHVlXG4gICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgICAgICAgICAgIDxndi1pY29uIHNoYXBlPVwiJHt0aGlzLmljb259XCI+PC9ndi1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpYy1kYXRhXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpYy12YWx1ZVwiPiR7dGhpcy52YWx1ZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLW5hbWVcIj4ke3RoaXMubmFtZX08L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgXG4gICAgICAgICAgOiAnJ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbWV0cmljJywgR3ZNZXRyaWMpO1xuIl19
@@ -14,8 +14,9 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { getLanguage, getAvailableLanguages } from '../lib/i18n';
17
- import { LitElement, html } from 'lit';
18
- import { until } from 'lit/directives/until';
17
+ import { LitElement } from 'lit-element';
18
+ import { until } from 'lit-html/directives/until';
19
+ import { html } from 'lit-html';
19
20
  import { shouldPolyfill as shouldPolyfillIntlRelativeTimeFormat } from '@formatjs/intl-relativetimeformat/should-polyfill';
20
21
  const options = {
21
22
  year: 'numeric',
@@ -158,8 +159,6 @@ export class GvRelativeTime extends LitElement {
158
159
  }
159
160
 
160
161
  connectedCallback() {
161
- super.connectedCallback();
162
-
163
162
  if (this.updateIntervalId == null) {
164
163
  setTimeout(() => {
165
164
  this.performUpdate();
@@ -171,7 +170,6 @@ export class GvRelativeTime extends LitElement {
171
170
  }
172
171
 
173
172
  disconnectedCallback() {
174
- super.disconnectedCallback();
175
173
  clearInterval(this.updateIntervalId);
176
174
  this.updateIntervalId = null;
177
175
  }
@@ -182,4 +180,4 @@ export class GvRelativeTime extends LitElement {
182
180
 
183
181
  }
184
182
  window.customElements.define('gv-relative-time', GvRelativeTime);
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LXJlbGF0aXZlLXRpbWUuanMiXSwibmFtZXMiOlsiZ2V0TGFuZ3VhZ2UiLCJnZXRBdmFpbGFibGVMYW5ndWFnZXMiLCJMaXRFbGVtZW50IiwiaHRtbCIsInVudGlsIiwic2hvdWxkUG9seWZpbGwiLCJzaG91bGRQb2x5ZmlsbEludGxSZWxhdGl2ZVRpbWVGb3JtYXQiLCJvcHRpb25zIiwieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInRpbWVab25lTmFtZSIsIlVOSVRTIiwidW5pdCIsImR1cmF0aW9uIiwiR3ZSZWxhdGl2ZVRpbWUiLCJwcm9wZXJ0aWVzIiwiZGF0ZXRpbWUiLCJ0eXBlIiwiU3RyaW5nIiwidGl0bGUiLCJyZWZsZWN0Iiwibm9GdXR1cmUiLCJCb29sZWFuIiwiX3JlbGF0aXZlVGltZSIsImF0dHJpYnV0ZSIsIl91cGRhdGVJbnRlcnZhbElkIiwiY29uc3RydWN0b3IiLCJfZm9ybWF0dGVyIiwiZ2V0Rm9ybWF0dGVyIiwiSW50bCIsIlJlbGF0aXZlVGltZUZvcm1hdCIsInRoZW4iLCJQcm9taXNlIiwiYWxsIiwiT2JqZWN0IiwidmFsdWVzIiwibWFwIiwiX2xhbmciLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsIkVycm9yIiwidmFsdWUiLCJfZm9ybWF0RGF0ZUluVGhlUGFzdCIsImR0ZiIsIkRhdGVUaW1lRm9ybWF0IiwiZm9ybWF0IiwiRGF0ZSIsIl9kYXRldGltZSIsImRhdGUiLCJub3ciLCJnZXRUaW1lIiwiX2Zvcm1hdCIsImRhdGVTdHIiLCJsYW5nIiwiRm9ybWF0dGVyIiwiaXNOYU4iLCJudW1lcmljIiwiZGlmZiIsInJvdW5kZWRWYWx1ZSIsIk1hdGgiLCJyb3VuZCIsImFicyIsImNvbm5lY3RlZENhbGxiYWNrIiwidXBkYXRlSW50ZXJ2YWxJZCIsInNldFRpbWVvdXQiLCJwZXJmb3JtVXBkYXRlIiwic2V0SW50ZXJ2YWwiLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsImNsZWFySW50ZXJ2YWwiLCJyZW5kZXIiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsV0FBVCxFQUFzQkMscUJBQXRCLFFBQW1ELGFBQW5EO0FBQ0EsU0FBU0MsVUFBVCxFQUFxQkMsSUFBckIsUUFBaUMsS0FBakM7QUFDQSxTQUFTQyxLQUFULFFBQXNCLHNCQUF0QjtBQUNBLFNBQVNDLGNBQWMsSUFBSUMsb0NBQTNCLFFBQXVFLG1EQUF2RTtBQUVBLE1BQU1DLE9BQU8sR0FBRztBQUNkQyxFQUFBQSxJQUFJLEVBQUUsU0FEUTtBQUVkQyxFQUFBQSxLQUFLLEVBQUUsT0FGTztBQUdkQyxFQUFBQSxHQUFHLEVBQUUsU0FIUztBQUlkQyxFQUFBQSxJQUFJLEVBQUUsU0FKUTtBQUtkQyxFQUFBQSxNQUFNLEVBQUUsU0FMTTtBQU1kQyxFQUFBQSxZQUFZLEVBQUU7QUFOQSxDQUFoQjtBQVNBLE1BQU1DLEtBQUssR0FBRyxDQUNaO0FBQUVDLEVBQUFBLElBQUksRUFBRSxNQUFSO0FBQWdCQyxFQUFBQSxRQUFRLEVBQUUsT0FBTyxFQUFQLEdBQVksRUFBWixHQUFpQixFQUFqQixHQUFzQjtBQUFoRCxDQURZLEVBRVo7QUFBRUQsRUFBQUEsSUFBSSxFQUFFLE9BQVI7QUFBaUJDLEVBQUFBLFFBQVEsRUFBRSxPQUFPLEVBQVAsR0FBWSxFQUFaLEdBQWlCLEVBQWpCLElBQXVCLFNBQVMsRUFBaEM7QUFBM0IsQ0FGWSxFQUdaO0FBQUVELEVBQUFBLElBQUksRUFBRSxNQUFSO0FBQWdCQyxFQUFBQSxRQUFRLEVBQUUsT0FBTyxFQUFQLEdBQVksRUFBWixHQUFpQixFQUFqQixHQUFzQjtBQUFoRCxDQUhZLEVBSVo7QUFBRUQsRUFBQUEsSUFBSSxFQUFFLEtBQVI7QUFB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QUFyQjs7QUFDQSxVQUFJa0IsSUFBSSxDQUFDRSxHQUFMLENBQVNwQixLQUFULEtBQW1CLENBQXZCLEVBQTBCO0FBQ3hCLGVBQU9JLE1BQU0sQ0FBQ2EsWUFBRCxFQUFlaEQsSUFBZixDQUFiO0FBQ0Q7QUFDRjs7QUFDRCxXQUFPbUMsTUFBTSxDQUFDYyxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsSUFBSSxHQUFHLElBQWxCLENBQUQsRUFBMEIsUUFBMUIsQ0FBYjtBQUNEOztBQUVESyxFQUFBQSxpQkFBaUIsR0FBRztBQUNsQixVQUFNQSxpQkFBTjs7QUFDQSxRQUFJLEtBQUtDLGdCQUFMLElBQXlCLElBQTdCLEVBQW1DO0FBQ2pDQyxNQUFBQSxVQUFVLENBQUMsTUFBTTtBQUNmLGFBQUtDLGFBQUw7QUFDRCxPQUZTLENBQVY7QUFHQSxXQUFLRixnQkFBTCxHQUF3QkcsV0FBVyxDQUFDLE1BQU07QUFDeEMsYUFBS0QsYUFBTDtBQUNELE9BRmtDLEVBRWhDLEtBQUssSUFGMkIsQ0FBbkM7QUFHRDtBQUNGOztBQUVERSxFQUFBQSxvQkFBb0IsR0FBRztBQUNyQixVQUFNQSxvQkFBTjtBQUNBQyxJQUFBQSxhQUFhLENBQUMsS0FBS0wsZ0JBQU4sQ0FBYjtBQUNBLFNBQUtBLGdCQUFMLEdBQXdCLElBQXhCO0FBQ0Q7O0FBRURNLEVBQUFBLE1BQU0sR0FBRztBQUNQLFdBQU92RSxJQUFJLGdCQUFnQixLQUFLbUIsS0FBckIsS0FBK0JsQixLQUFLLENBQUMsS0FBS29ELE9BQUwsQ0FBYSxLQUFLSixTQUFsQixFQUE2QnBELFdBQVcsRUFBeEMsQ0FBRCxDQUFwQyxTQUFYO0FBQ0Q7O0FBeEc0QztBQTJHL0MyRSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLGtCQUE3QixFQUFpRDVELGNBQWpEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGdldExhbmd1YWdlLCBnZXRBdmFpbGFibGVMYW5ndWFnZXMgfSBmcm9tICcuLi9saWIvaTE4bic7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvdW50aWwnO1xuaW1wb3J0IHsgc2hvdWxkUG9seWZpbGwgYXMgc2hvdWxkUG9seWZpbGxJbnRsUmVsYXRpdmVUaW1lRm9ybWF0IH0gZnJvbSAnQGZvcm1hdGpzL2ludGwtcmVsYXRpdmV0aW1lZm9ybWF0L3Nob3VsZC1wb2x5ZmlsbCc7XG5cbmNvbnN0IG9wdGlvbnMgPSB7XG4gIHllYXI6ICdudW1lcmljJyxcbiAgbW9udGg6ICdzaG9ydCcsXG4gIGRheTogJ251bWVyaWMnLFxuICBob3VyOiAnbnVtZXJpYycsXG4gIG1pbnV0ZTogJ251bWVyaWMnLFxuICB0aW1lWm9uZU5hbWU6ICdzaG9ydCcsXG59O1xuXG5jb25zdCBVTklUUyA9IFtcbiAgeyB1bml0OiAneWVhcicsIGR1cmF0aW9uOiAxMDAwICogNjAgKiA2MCAqIDI0ICogMzY1LjI1IH0sXG4gIHsgdW5pdDogJ21vbnRoJywgZHVyYXRpb246IDEwMDAgKiA2MCAqIDYwICogMjQgKiAoMzY1LjI1IC8gMTIpIH0sXG4gIHsgdW5pdDogJ3dlZWsnLCBkdXJhdGlvbjogMTAwMCAqIDYwICogNjAgKiAyNCAqIDcgfSxcbiAgeyB1bml0OiAnZGF5JywgZHVyYXRpb246IDEwMDAgKiA2MCAqIDYwICogMjQgfSxcbiAgeyB1bml0OiAnaG91cicsIGR1cmF0aW9uOiAxMDAwICogNjAgKiA2MCB9LFxuICB7IHVuaXQ6ICdtaW51dGUnLCBkdXJhdGlvbjogMTAwMCAqIDYwIH0sXG4gIHsgdW5pdDogJ3NlY29uZCcsIGR1cmF0aW9uOiAxMDAwIH0sXG5dO1xuXG4vKipcbiAqIENvbXBvbmVudCB0byBkaXNwbGF5IGEgbG9jYWxpemVkIGh1bWFuaXplZCByZWxhdGl2ZSBkYXRlIChleDogXCJ0d28gbWludXRlcyBhZ29cIikuXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQHByb3Age1N0cmluZ3xOdW1iZXJ9IGRhdGV0aW1lIC0gRGF0ZSBhcyBJU08gc3RyaW5nIG9yIHRpbWVzdGFtcC5cbiAqIEBwcm9wIHtCb29sZWFufSBub0Z1dHVyZSAtIFdoZXRoZXIgYSBkYXRlIGluIGZ1dHVyZSBpcyBhbGxvd2VkIG9yIG5vdCAodXNlZnVsIHdoZW4gbm90IHN5bmMpLlxuICovXG5leHBvcnQgY2xhc3MgR3ZSZWxhdGl2ZVRpbWUgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRldGltZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHRpdGxlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgbm9GdXR1cmU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX3JlbGF0aXZlVGltZTogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF91cGRhdGVJbnRlcnZhbElkOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2Zvcm1hdHRlciA9IG51bGw7XG4gIH1cblxuICBhc3luYyBnZXRGb3JtYXR0ZXIoKSB7XG4gICAgaWYgKHRoaXMuX2Zvcm1hdHRlciA9PSBudWxsKSB7XG4gICAgICBpZiAoIXNob3VsZFBvbHlmaWxsSW50bFJlbGF0aXZlVGltZUZvcm1hdCgpKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1hdHRlciA9IEludGwuUmVsYXRpdmVUaW1lRm9ybWF0O1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0dGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTG9hZCB0aGUgbmVlZGVkIHBvbHlmaWxscyAxc3QgQkVGT1JFIGxvYWRpbmcgZGF0YVxuICAgICAgICByZXR1cm4gaW1wb3J0KCdAZm9ybWF0anMvaW50bC1sb2NhbGUvcG9seWZpbGwnKVxuICAgICAgICAgIC50aGVuKCgpID0+IGltcG9ydCgnQGZvcm1hdGpzL2ludGwtcmVsYXRpdmV0aW1lZm9ybWF0L3BvbHlmaWxsJykpXG4gICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhnZXRBdmFpbGFibGVMYW5ndWFnZXMoKSkubWFwKChfbGFuZykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbXBvcnQoYEBmb3JtYXRqcy9pbnRsLXJlbGF0aXZldGltZWZvcm1hdC9sb2NhbGUtZGF0YS8ke19sYW5nfWApO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIClcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9mb3JtYXR0ZXIgPSBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdDtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXR0ZXI7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgbG9hZCBAZm9ybWF0anMvaW50bCBwb2x5ZmlsbHMnKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdHRlcjtcbiAgICB9XG4gIH1cblxuICBzZXQgZGF0ZXRpbWUodmFsdWUpIHtcbiAgICB2YWx1ZSA9IHRoaXMubm9GdXR1cmUgPyB0aGlzLl9mb3JtYXREYXRlSW5UaGVQYXN0KHZhbHVlKSA6IHZhbHVlO1xuICAgIGNvbnN0IGR0ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGdldExhbmd1YWdlKCksIG9wdGlvbnMpO1xuICAgIHRoaXMudGl0bGUgPSBkdGYuZm9ybWF0KG5ldyBEYXRlKHZhbHVlKSk7XG4gICAgdGhpcy5fZGF0ZXRpbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIF9mb3JtYXREYXRlSW5UaGVQYXN0KGRhdGUpIHtcbiAgICAvLyB0byBhdm9pZCB0byBoYXZlIGRhdGUgaW4gdGhlIGZ1dHVyZSBpbiBjYXNlIG9mIGRlc3luY2hyb25pemF0aW9uIGJldHdlZW4gYnJvd3NlciBhbmQgc2VydmVyXG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICBpZiAobm93LmdldFRpbWUoKSA8IG5ldyBEYXRlKGRhdGUpLmdldFRpbWUoKSkge1xuICAgICAgICBkYXRlID0gbm93O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG4gIGFzeW5jIF9mb3JtYXQoZGF0ZVN0ciwgbGFuZykge1xuICAgIGNvbnN0IEZvcm1hdHRlciA9IGF3YWl0IHRoaXMuZ2V0Rm9ybWF0dGVyKCk7XG4gICAgY29uc3QgZm9ybWF0ID0gKHZhbHVlLCB1bml0KSA9PiB7XG4gICAgICBpZiAoIWlzTmFOKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsYW5nLCB7IG51bWVyaWM6ICdhdXRvJyB9KS5mb3JtYXQoLXZhbHVlLCB1bml0KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGRpZmYgPSBub3cgLSBuZXcgRGF0ZShkYXRlU3RyKS5nZXRUaW1lKCk7XG5cbiAgICBmb3IgKGNvbnN0IHsgdW5pdCwgZHVyYXRpb24gfSBvZiBVTklUUykge1xuICAgICAgY29uc3QgdmFsdWUgPSBkaWZmIC8gZHVyYXRpb247XG4gICAgICBjb25zdCByb3VuZGVkVmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlKTtcbiAgICAgIGlmIChNYXRoLmFicyh2YWx1ZSkgPj0gMSkge1xuICAgICAgICByZXR1cm4gZm9ybWF0KHJvdW5kZWRWYWx1ZSwgdW5pdCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXQoTWF0aC5yb3VuZChkaWZmIC8gMTAwMCksICdzZWNvbmQnKTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKHRoaXMudXBkYXRlSW50ZXJ2YWxJZCA9PSBudWxsKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5wZXJmb3JtVXBkYXRlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudXBkYXRlSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdGhpcy5wZXJmb3JtVXBkYXRlKCk7XG4gICAgICB9LCAxMCAqIDEwMDApO1xuICAgIH1cbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZUludGVydmFsSWQpO1xuICAgIHRoaXMudXBkYXRlSW50ZXJ2YWxJZCA9IG51bGw7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIGh0bWxgPHNwYW4gdGl0bGU9XCIke3RoaXMudGl0bGV9XCI+JHt1bnRpbCh0aGlzLl9mb3JtYXQodGhpcy5fZGF0ZXRpbWUsIGdldExhbmd1YWdlKCkpKX08L3NwYW4+YDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1yZWxhdGl2ZS10aW1lJywgR3ZSZWxhdGl2ZVRpbWUpO1xuIl19
183
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LXJlbGF0aXZlLXRpbWUuanMiXSwibmFtZXMiOlsiZ2V0TGFuZ3VhZ2UiLCJnZXRBdmFpbGFibGVMYW5ndWFnZXMiLCJMaXRFbGVtZW50IiwidW50aWwiLCJodG1sIiwic2hvdWxkUG9seWZpbGwiLCJzaG91bGRQb2x5ZmlsbEludGxSZWxhdGl2ZVRpbWVGb3JtYXQiLCJvcHRpb25zIiwieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInRpbWVab25lTmFtZSIsIlVOSVRTIiwidW5pdCIsImR1cmF0aW9uIiwiR3ZSZWxhdGl2ZVRpbWUiLCJwcm9wZXJ0aWVzIiwiZGF0ZXRpbWUiLCJ0eXBlIiwiU3RyaW5nIiwidGl0bGUiLCJyZWZsZWN0Iiwibm9GdXR1cmUiLCJCb29sZWFuIiwiX3JlbGF0aXZlVGltZSIsImF0dHJpYnV0ZSIsIl91cGRhdGVJbnRlcnZhbElkIiwiY29uc3RydWN0b3IiLCJfZm9ybWF0dGVyIiwiZ2V0Rm9ybWF0dGVyIiwiSW50bCIsIlJlbGF0aXZlVGltZUZvcm1hdCIsInRoZW4iLCJQcm9taXNlIiwiYWxsIiwiT2JqZWN0IiwidmFsdWVzIiwibWFwIiwiX2xhbmciLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsIkVycm9yIiwidmFsdWUiLCJfZm9ybWF0RGF0ZUluVGhlUGFzdCIsImR0ZiIsIkRhdGVUaW1lRm9ybWF0IiwiZm9ybWF0IiwiRGF0ZSIsIl9kYXRldGltZSIsImRhdGUiLCJub3ciLCJnZXRUaW1lIiwiX2Zvcm1hdCIsImRhdGVTdHIiLCJsYW5nIiwiRm9ybWF0dGVyIiwiaXNOYU4iLCJudW1lcmljIiwiZGlmZiIsInJvdW5kZWRWYWx1ZSIsIk1hdGgiLCJyb3VuZCIsImFicyIsImNvbm5lY3RlZENhbGxiYWNrIiwidXBkYXRlSW50ZXJ2YWxJZCIsInNldFRpbWVvdXQiLCJwZXJmb3JtVXBkYXRlIiwic2V0SW50ZXJ2YWwiLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsImNsZWFySW50ZXJ2YWwiLCJyZW5kZXIiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsV0FBVCxFQUFzQkMscUJBQXRCLFFBQW1ELGFBQW5EO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixhQUEzQjtBQUNBLFNBQVNDLEtBQVQsUUFBc0IsMkJBQXRCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixVQUFyQjtBQUNBLFNBQVNDLGNBQWMsSUFBSUMsb0NBQTNCLFFBQXVFLG1EQUF2RTtBQUVBLE1BQU1DLE9BQU8sR0FBRztBQUNkQyxFQUFBQSxJQUFJLEVBQUUsU0FEUTtBQUVkQyxFQUFBQSxLQUFLLEVBQUUsT0FGTztBQUdkQyxFQUFBQSxHQUFHLEVBQUUsU0FIUztBQUlkQyxFQUFBQSxJQUFJLEVBQUUsU0FKUTtBQUtkQyxFQUFBQSxNQUFNLEVBQUUsU0FMTTtBQU1kQyxFQUFBQSxZQUFZLEVBQUU7QUFOQSxDQUFoQjtBQVNBLE1BQU1DLEtBQUssR0FBRyxDQUNaO0FBQUVDLEVBQUFBLElBQUksRUFBRSxNQUFSO0FBQWdCQyxFQUFBQSxRQUFRLEVBQUUsT0FBTyxFQUFQLEdBQVksRUFBWixHQUFpQixFQUFqQixHQUFzQjtBQUFoRCxDQURZLEVBRVo7QUFBRUQsRUFBQUEsSUFBSSxFQUFFLE9BQVI7QUFBaUJDLEVBQUFBLFFBQVEsRUFBRSxPQUFPLEVBQVAsR0FBWSxFQUFaLEdBQWlCLEVBQWpCLElBQXVCLFNBQVMsRUFBaEM7QUFBM0IsQ0FGWSxFQUdaO0FBQUVELEVBQUFBLElBQUksRUFBRSxNQUFSO0FBQWdCQyxFQUFBQSxRQUFRLEVBQUUsT0FBTyxFQUFQLEdBQVksRUFBWixHQUFpQixFQUFqQixHQUFzQjtBQUFoRCxDQUhZLEVBSVo7QUFBRUQsRUFBQUEsSUFB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TCxDQUFXbkIsS0FBWCxDQUFyQjs7QUFDQSxVQUFJa0IsSUFBSSxDQUFDRSxHQUFMLENBQVNwQixLQUFULEtBQW1CLENBQXZCLEVBQTBCO0FBQ3hCLGVBQU9JLE1BQU0sQ0FBQ2EsWUFBRCxFQUFlaEQsSUFBZixDQUFiO0FBQ0Q7QUFDRjs7QUFDRCxXQUFPbUMsTUFBTSxDQUFDYyxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsSUFBSSxHQUFHLElBQWxCLENBQUQsRUFBMEIsUUFBMUIsQ0FBYjtBQUNEOztBQUVESyxFQUFBQSxpQkFBaUIsR0FBRztBQUNsQixRQUFJLEtBQUtDLGdCQUFMLElBQXlCLElBQTdCLEVBQW1DO0FBQ2pDQyxNQUFBQSxVQUFVLENBQUMsTUFBTTtBQUNmLGFBQUtDLGFBQUw7QUFDRCxPQUZTLENBQVY7QUFHQSxXQUFLRixnQkFBTCxHQUF3QkcsV0FBVyxDQUFDLE1BQU07QUFDeEMsYUFBS0QsYUFBTDtBQUNELE9BRmtDLEVBRWhDLEtBQUssSUFGMkIsQ0FBbkM7QUFHRDtBQUNGOztBQUVERSxFQUFBQSxvQkFBb0IsR0FBRztBQUNyQkMsSUFBQUEsYUFBYSxDQUFDLEtBQUtMLGdCQUFOLENBQWI7QUFDQSxTQUFLQSxnQkFBTCxHQUF3QixJQUF4QjtBQUNEOztBQUVETSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxXQUFPdEUsSUFBSSxnQkFBZ0IsS0FBS2tCLEtBQXJCLEtBQStCbkIsS0FBSyxDQUFDLEtBQUtxRCxPQUFMLENBQWEsS0FBS0osU0FBbEIsRUFBNkJwRCxXQUFXLEVBQXhDLENBQUQsQ0FBcEMsU0FBWDtBQUNEOztBQXRHNEM7QUF5Ry9DMkUsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixrQkFBN0IsRUFBaUQ1RCxjQUFqRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBnZXRMYW5ndWFnZSwgZ2V0QXZhaWxhYmxlTGFuZ3VhZ2VzIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgTGl0RWxlbWVudCB9IGZyb20gJ2xpdC1lbGVtZW50JztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy91bnRpbCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0LWh0bWwnO1xuaW1wb3J0IHsgc2hvdWxkUG9seWZpbGwgYXMgc2hvdWxkUG9seWZpbGxJbnRsUmVsYXRpdmVUaW1lRm9ybWF0IH0gZnJvbSAnQGZvcm1hdGpzL2ludGwtcmVsYXRpdmV0aW1lZm9ybWF0L3Nob3VsZC1wb2x5ZmlsbCc7XG5cbmNvbnN0IG9wdGlvbnMgPSB7XG4gIHllYXI6ICdudW1lcmljJyxcbiAgbW9udGg6ICdzaG9ydCcsXG4gIGRheTogJ251bWVyaWMnLFxuICBob3VyOiAnbnVtZXJpYycsXG4gIG1pbnV0ZTogJ251bWVyaWMnLFxuICB0aW1lWm9uZU5hbWU6ICdzaG9ydCcsXG59O1xuXG5jb25zdCBVTklUUyA9IFtcbiAgeyB1bml0OiAneWVhcicsIGR1cmF0aW9uOiAxMDAwICogNjAgKiA2MCAqIDI0ICogMzY1LjI1IH0sXG4gIHsgdW5pdDogJ21vbnRoJywgZHVyYXRpb246IDEwMDAgKiA2MCAqIDYwICogMjQgKiAoMzY1LjI1IC8gMTIpIH0sXG4gIHsgdW5pdDogJ3dlZWsnLCBkdXJhdGlvbjogMTAwMCAqIDYwICogNjAgKiAyNCAqIDcgfSxcbiAgeyB1bml0OiAnZGF5JywgZHVyYXRpb246IDEwMDAgKiA2MCAqIDYwICogMjQgfSxcbiAgeyB1bml0OiAnaG91cicsIGR1cmF0aW9uOiAxMDAwICogNjAgKiA2MCB9LFxuICB7IHVuaXQ6ICdtaW51dGUnLCBkdXJhdGlvbjogMTAwMCAqIDYwIH0sXG4gIHsgdW5pdDogJ3NlY29uZCcsIGR1cmF0aW9uOiAxMDAwIH0sXG5dO1xuXG4vKipcbiAqIENvbXBvbmVudCB0byBkaXNwbGF5IGEgbG9jYWxpemVkIGh1bWFuaXplZCByZWxhdGl2ZSBkYXRlIChleDogXCJ0d28gbWludXRlcyBhZ29cIikuXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQHByb3Age1N0cmluZ3xOdW1iZXJ9IGRhdGV0aW1lIC0gRGF0ZSBhcyBJU08gc3RyaW5nIG9yIHRpbWVzdGFtcC5cbiAqIEBwcm9wIHtCb29sZWFufSBub0Z1dHVyZSAtIFdoZXRoZXIgYSBkYXRlIGluIGZ1dHVyZSBpcyBhbGxvd2VkIG9yIG5vdCAodXNlZnVsIHdoZW4gbm90IHN5bmMpLlxuICovXG5leHBvcnQgY2xhc3MgR3ZSZWxhdGl2ZVRpbWUgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRldGltZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHRpdGxlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgbm9GdXR1cmU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX3JlbGF0aXZlVGltZTogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF91cGRhdGVJbnRlcnZhbElkOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2Zvcm1hdHRlciA9IG51bGw7XG4gIH1cblxuICBhc3luYyBnZXRGb3JtYXR0ZXIoKSB7XG4gICAgaWYgKHRoaXMuX2Zvcm1hdHRlciA9PSBudWxsKSB7XG4gICAgICBpZiAoIXNob3VsZFBvbHlmaWxsSW50bFJlbGF0aXZlVGltZUZvcm1hdCgpKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1hdHRlciA9IEludGwuUmVsYXRpdmVUaW1lRm9ybWF0O1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0dGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTG9hZCB0aGUgbmVlZGVkIHBvbHlmaWxscyAxc3QgQkVGT1JFIGxvYWRpbmcgZGF0YVxuICAgICAgICByZXR1cm4gaW1wb3J0KCdAZm9ybWF0anMvaW50bC1sb2NhbGUvcG9seWZpbGwnKVxuICAgICAgICAgIC50aGVuKCgpID0+IGltcG9ydCgnQGZvcm1hdGpzL2ludGwtcmVsYXRpdmV0aW1lZm9ybWF0L3BvbHlmaWxsJykpXG4gICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhnZXRBdmFpbGFibGVMYW5ndWFnZXMoKSkubWFwKChfbGFuZykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbXBvcnQoYEBmb3JtYXRqcy9pbnRsLXJlbGF0aXZldGltZWZvcm1hdC9sb2NhbGUtZGF0YS8ke19sYW5nfWApO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIClcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9mb3JtYXR0ZXIgPSBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdDtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXR0ZXI7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgbG9hZCBAZm9ybWF0anMvaW50bCBwb2x5ZmlsbHMnKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdHRlcjtcbiAgICB9XG4gIH1cblxuICBzZXQgZGF0ZXRpbWUodmFsdWUpIHtcbiAgICB2YWx1ZSA9IHRoaXMubm9GdXR1cmUgPyB0aGlzLl9mb3JtYXREYXRlSW5UaGVQYXN0KHZhbHVlKSA6IHZhbHVlO1xuICAgIGNvbnN0IGR0ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGdldExhbmd1YWdlKCksIG9wdGlvbnMpO1xuICAgIHRoaXMudGl0bGUgPSBkdGYuZm9ybWF0KG5ldyBEYXRlKHZhbHVlKSk7XG4gICAgdGhpcy5fZGF0ZXRpbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIF9mb3JtYXREYXRlSW5UaGVQYXN0KGRhdGUpIHtcbiAgICAvLyB0byBhdm9pZCB0byBoYXZlIGRhdGUgaW4gdGhlIGZ1dHVyZSBpbiBjYXNlIG9mIGRlc3luY2hyb25pemF0aW9uIGJldHdlZW4gYnJvd3NlciBhbmQgc2VydmVyXG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICBpZiAobm93LmdldFRpbWUoKSA8IG5ldyBEYXRlKGRhdGUpLmdldFRpbWUoKSkge1xuICAgICAgICBkYXRlID0gbm93O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG4gIGFzeW5jIF9mb3JtYXQoZGF0ZVN0ciwgbGFuZykge1xuICAgIGNvbnN0IEZvcm1hdHRlciA9IGF3YWl0IHRoaXMuZ2V0Rm9ybWF0dGVyKCk7XG4gICAgY29uc3QgZm9ybWF0ID0gKHZhbHVlLCB1bml0KSA9PiB7XG4gICAgICBpZiAoIWlzTmFOKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsYW5nLCB7IG51bWVyaWM6ICdhdXRvJyB9KS5mb3JtYXQoLXZhbHVlLCB1bml0KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGRpZmYgPSBub3cgLSBuZXcgRGF0ZShkYXRlU3RyKS5nZXRUaW1lKCk7XG5cbiAgICBmb3IgKGNvbnN0IHsgdW5pdCwgZHVyYXRpb24gfSBvZiBVTklUUykge1xuICAgICAgY29uc3QgdmFsdWUgPSBkaWZmIC8gZHVyYXRpb247XG4gICAgICBjb25zdCByb3VuZGVkVmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlKTtcbiAgICAgIGlmIChNYXRoLmFicyh2YWx1ZSkgPj0gMSkge1xuICAgICAgICByZXR1cm4gZm9ybWF0KHJvdW5kZWRWYWx1ZSwgdW5pdCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXQoTWF0aC5yb3VuZChkaWZmIC8gMTAwMCksICdzZWNvbmQnKTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIGlmICh0aGlzLnVwZGF0ZUludGVydmFsSWQgPT0gbnVsbCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucGVyZm9ybVVwZGF0ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnVwZGF0ZUludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMucGVyZm9ybVVwZGF0ZSgpO1xuICAgICAgfSwgMTAgKiAxMDAwKTtcbiAgICB9XG4gIH1cblxuICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMudXBkYXRlSW50ZXJ2YWxJZCk7XG4gICAgdGhpcy51cGRhdGVJbnRlcnZhbElkID0gbnVsbDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gaHRtbGA8c3BhbiB0aXRsZT1cIiR7dGhpcy50aXRsZX1cIj4ke3VudGlsKHRoaXMuX2Zvcm1hdCh0aGlzLl9kYXRldGltZSwgZ2V0TGFuZ3VhZ2UoKSkpfTwvc3Bhbj5gO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LXJlbGF0aXZlLXRpbWUnLCBHdlJlbGF0aXZlVGltZSk7XG4iXX0=