application-sidebar 1.0.35 → 1.0.37

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.
@@ -0,0 +1,33 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MixpanelService {
4
+ constructor() { }
5
+ /**
6
+ * Push new action to mixpanel.
7
+ *
8
+ * @param {string} id Name of the action to track.
9
+ * @param {*} [action={}] Actions object with custom capitalizeproperties.
10
+ * @memberof MixpanelService
11
+ */
12
+ productTrackEvent(event, properties = {}) {
13
+ if (window.mixpanel) {
14
+ var superProperties = window.mixpanel.persistence?.props;
15
+ if (superProperties?.app_name !== properties.AppName) {
16
+ this.registerTrackEvent({ 'app_name': properties.AppName });
17
+ }
18
+ window.mixpanel && window.mixpanel.track(event, properties);
19
+ }
20
+ }
21
+ registerTrackEvent(updateInfo) {
22
+ window.mixpanel && window.mixpanel.register(updateInfo);
23
+ }
24
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MixpanelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MixpanelService, providedIn: 'root' });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MixpanelService, decorators: [{
28
+ type: Injectable,
29
+ args: [{
30
+ providedIn: 'root'
31
+ }]
32
+ }], ctorParameters: function () { return []; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4cGFuZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uLXNpZGViYXIvc3JjL2xpYi9zZXJ2aWNlcy9taXhwYW5lbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLGdCQUFlLENBQUM7SUFFaEI7Ozs7OztPQU1HO0lBQ0gsaUJBQWlCLENBQUMsS0FBYSxFQUFFLGFBQWtCLEVBQUU7UUFDbkQsSUFBRyxNQUFNLENBQUMsUUFBUSxFQUFDO1lBQ2pCLElBQUksZUFBZSxHQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUMxRCxJQUFHLGVBQWUsRUFBRSxRQUFRLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBQztnQkFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUMsVUFBVSxFQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO2FBQzFEO1lBQ0QsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsVUFBVTtRQUMzQixNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7MkhBckJVLGVBQWU7K0hBQWYsZUFBZSxjQUhkLE1BQU07OzRGQUdQLGVBQWU7a0JBSjNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZGVjbGFyZSB2YXIgd2luZG93OiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5leHBvcnQgY2xhc3MgTWl4cGFuZWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBQdXNoIG5ldyBhY3Rpb24gdG8gbWl4cGFuZWwuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCBOYW1lIG9mIHRoZSBhY3Rpb24gdG8gdHJhY2suXG4gICAqIEBwYXJhbSB7Kn0gW2FjdGlvbj17fV0gQWN0aW9ucyBvYmplY3Qgd2l0aCBjdXN0b20gY2FwaXRhbGl6ZXByb3BlcnRpZXMuXG4gICAqIEBtZW1iZXJvZiBNaXhwYW5lbFNlcnZpY2VcbiAgICovXG4gIHByb2R1Y3RUcmFja0V2ZW50KGV2ZW50OiBzdHJpbmcsIHByb3BlcnRpZXM6IGFueSA9IHt9KTogdm9pZCB7XG4gICAgaWYod2luZG93Lm1peHBhbmVsKXtcbiAgICAgIHZhciBzdXBlclByb3BlcnRpZXMgPSAgd2luZG93Lm1peHBhbmVsLnBlcnNpc3RlbmNlPy5wcm9wcztcbiAgICAgIGlmKHN1cGVyUHJvcGVydGllcz8uYXBwX25hbWUgIT09IHByb3BlcnRpZXMuQXBwTmFtZSl7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJUcmFja0V2ZW50KHsnYXBwX25hbWUnOnByb3BlcnRpZXMuQXBwTmFtZX0pO1xuICAgICAgfVxuICAgICAgd2luZG93Lm1peHBhbmVsICYmIHdpbmRvdy5taXhwYW5lbC50cmFjayhldmVudCwgcHJvcGVydGllcyk7XG4gICAgfVxuICB9XG4gIHJlZ2lzdGVyVHJhY2tFdmVudCh1cGRhdGVJbmZvKSB7XG4gICAgd2luZG93Lm1peHBhbmVsICYmIHdpbmRvdy5taXhwYW5lbC5yZWdpc3Rlcih1cGRhdGVJbmZvKTtcbiAgfVxufVxuIl19
@@ -1,9 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
- import * as momentImported from 'moment';
3
+ import moment from 'moment';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/router";
6
- const moment = momentImported;
7
6
  export class UrlContextService {
8
7
  activatedRoute;
9
8
  router;
@@ -101,4 +100,4 @@ export class UrlContextService {
101
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UrlContextService, decorators: [{
102
101
  type: Injectable
103
102
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uLXNpZGViYXIvc3JjL2xpYi9zZXJ2aWNlcy91cmwtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssY0FBYyxNQUFNLFFBQVEsQ0FBQzs7O0FBQUMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDO0FBR3hFLE1BQU0sT0FBTyxpQkFBaUI7SUFJTjtJQUF1QztJQUhuRCxXQUFXLENBQUM7SUFHcEIsWUFBb0IsY0FBOEIsRUFBUyxNQUFjO1FBQXJELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDckUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLHlCQUF5QixHQUFHLFVBQVMsR0FBRyxFQUFFLE1BQU07UUFDbkQsSUFBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNYLEtBQUksSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUNuQixHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ3hDO1lBQ0QsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxD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aUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCAqIGFzIG1vbWVudEltcG9ydGVkIGZyb20gJ21vbWVudCc7IGNvbnN0IG1vbWVudCA9IG1vbWVudEltcG9ydGVkO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXJsQ29udGV4dFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcXVlcnlQYXJhbXM7XG4gICAgXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHVibGljIHJvdXRlcjogUm91dGVyKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gcGFyYW1zO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJlcGFyZVVybFdpdGhRdWVyeVBhcmFtcyA9IGZ1bmN0aW9uKHVybCwgcGFyYW1zKSB7XG4gICAgICAgIGlmKE9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdXJsICs9IFwiP1wiO1xuICAgICAgICAgICAgZm9yKHZhciBrZXkgaW4gcGFyYW1zKSB7XG4gICAgICAgICAgICAgICAgdXJsICs9IGtleSArIFwiPVwiICsgcGFyYW1zW2tleV0gKyBcIiZcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKC8mXFxzKiQvLCBcIlwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREYXRlUmFuZ2VVcmxWYWwgPSBmdW5jdGlvbihkYXRlUmFuZ2UpIHtcbiAgICAgICAgaWYodHlwZW9mIGRhdGVSYW5nZSA9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgaWYoZGF0ZVJhbmdlLnZhbHVlID09ICdjdXN0b20nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlUmFuZ2Uuc3RhcnREYXRlKS5mb3JtYXQoJ1gnKSArICcsJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBtb21lbnQoZGF0ZVJhbmdlLmVuZERhdGUpLmZvcm1hdCgnWCcpICsgJywnICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudChkYXRlUmFuZ2UucHJldlN0YXJ0RGF0ZSkuZm9ybWF0KCdYJykgKyAnLCcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50KGRhdGVSYW5nZS5wcmV2RW5kRGF0ZSkuZm9ybWF0KCdYJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlUmFuZ2UubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlUmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGVLZXlTdHJva2UgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICB2YXIga2V5c3Ryb2tlO1xuICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgICAgIGlmKG5hdmlnYXRvci5wbGF0Zm9ybS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoJ01BQycpPj0wKSB7XG4gICAgICAgICAgICBrZXlzdHJva2UgPSAnbWV0YUtleSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBrZXlzdHJva2UgPSAnY3RybEtleSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZihldmVudFtrZXlzdHJva2VdKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZWxzZSByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFVybEFuZE9wZW5UYWIgPSBmdW5jdGlvbih1cmwsIHBhcmFtcywgaXNSb3V0ZXJMaW5rKXtcbiAgICAgICAgaWYoT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB1cmwgPSB0aGlzLnByZXBhcmVVcmxXaXRoUXVlcnlQYXJhbXModXJsLCBwYXJhbXMpO1xuICAgICAgICAgICAgdXJsICs9IFwiJlwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXJsICs9IFwiP1wiO1xuICAgICAgICB9XG4gICAgICAgIHVybCArPSAndGlkPScgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNykgKyBcIi1cIiArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KSArIFwiLVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KSArIFwiLVwiICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpO1xuICAgICAgICBcblxuICAgICAgICBpZih0aGlzLnF1ZXJ5UGFyYW1zLmhhc093blByb3BlcnR5KCd1c2VQcm9kJykpIHtcbiAgICAgICAgICAgIHVybCArPSAnJnVzZVByb2Q9Jyt0aGlzLnF1ZXJ5UGFyYW1zWyd1c2VQcm9kJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoaXNSb3V0ZXJMaW5rKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTmV3IFRhYiBSb3V0ZXIgVXJsID1cIiwgdXJsKTtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsIHF1ZXJ5UGFyYW1zOiB0aGlzLnF1ZXJ5UGFyYW1zLCByZXBsYWNlVXJsOiB0cnVlfSkudGhlbihyZXN1bHQgPT4geyAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7IH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIk5ldyBUYWIgTGluayBVcmwgXCIsIGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59LyR7dXJsfWApO1xuICAgICAgICAgICAgd2luZG93Lm9wZW4oYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vJHt1cmx9YCwgJ19ibGFuaycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBpc0RldkVudmlyb25tZW50KCl7XG4gICAgICAgIHRyeXtcbiAgICAgICAgICAgIGlmKCB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCdoZXJva3VhcHAnKSA+IC0xIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJ2xvY2FsaG9zdCcpID4gLTEgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZigndGVzdCcpID4gLTEpe1xuICAgICAgICAgICAgICAgIGlmKHRoaXMucXVlcnlQYXJhbXMuaGFzT3duUHJvcGVydHkoJ3VzZVByb2QnKSB8fCAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZVByb2QnKSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlUHJvZCcpICE9PSBudWxsKSl7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgfWNhdGNoKGVycm9yKXtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgXG4gICAgXG4gICAgfVxufSJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uLXNpZGViYXIvc3JjL2xpYi9zZXJ2aWNlcy91cmwtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQUc1QixNQUFNLE9BQU8saUJBQWlCO0lBSU47SUFBdUM7SUFIbkQsV0FBVyxDQUFDO0lBR3BCLFlBQW9CLGNBQThCLEVBQVMsTUFBYztRQUFyRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSx5QkFBeUIsR0FBRyxVQUFTLEdBQUcsRUFBRSxNQUFNO1FBQ25ELElBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDWCxLQUFJLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtnQkFDbkIsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUN4QztZQUNELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNsQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2Ys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aW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcmxDb250ZXh0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBxdWVyeVBhcmFtcztcbiAgICBcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlQYXJhbXMgPSBwYXJhbXM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcmVwYXJlVXJsV2l0aFF1ZXJ5UGFyYW1zID0gZnVuY3Rpb24odXJsLCBwYXJhbXMpIHtcbiAgICAgICAgaWYoT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB1cmwgKz0gXCI/XCI7XG4gICAgICAgICAgICBmb3IodmFyIGtleSBpbiBwYXJhbXMpIHtcbiAgICAgICAgICAgICAgICB1cmwgKz0ga2V5ICsgXCI9XCIgKyBwYXJhbXNba2V5XSArIFwiJlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoLyZcXHMqJC8sIFwiXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERhdGVSYW5nZVVybFZhbCA9IGZ1bmN0aW9uKGRhdGVSYW5nZSkge1xuICAgICAgICBpZih0eXBlb2YgZGF0ZVJhbmdlID09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBpZihkYXRlUmFuZ2UudmFsdWUgPT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9tZW50KGRhdGVSYW5nZS5zdGFydERhdGUpLmZvcm1hdCgnWCcpICsgJywnICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudChkYXRlUmFuZ2UuZW5kRGF0ZSkuZm9ybWF0KCdYJykgKyAnLCcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50KGRhdGVSYW5nZS5wcmV2U3RhcnREYXRlKS5mb3JtYXQoJ1gnKSArICcsJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBtb21lbnQoZGF0ZVJhbmdlLnByZXZFbmREYXRlKS5mb3JtYXQoJ1gnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVSYW5nZS5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGVSYW5nZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB2YWxpZGF0ZUtleVN0cm9rZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgIHZhciBrZXlzdHJva2U7XG4gICAgICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICAgICAgaWYobmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZignTUFDJyk+PTApIHtcbiAgICAgICAgICAgIGtleXN0cm9rZSA9ICdtZXRhS2V5JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGtleXN0cm9rZSA9ICdjdHJsS2V5JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKGV2ZW50W2tleXN0cm9rZV0pIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VXJsQW5kT3BlblRhYiA9IGZ1bmN0aW9uKHVybCwgcGFyYW1zLCBpc1JvdXRlckxpbmspe1xuICAgICAgICBpZihPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHVybCA9IHRoaXMucHJlcGFyZVVybFdpdGhRdWVyeVBhcmFtcyh1cmwsIHBhcmFtcyk7XG4gICAgICAgICAgICB1cmwgKz0gXCImXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cmwgKz0gXCI/XCI7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9ICd0aWQ9JyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KSArIFwiLVwiICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpICsgXCItXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpICsgXCItXCIgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNyk7XG4gICAgICAgIFxuXG4gICAgICAgIGlmKHRoaXMucXVlcnlQYXJhbXMuaGFzT3duUHJvcGVydHkoJ3VzZVByb2QnKSkge1xuICAgICAgICAgICAgdXJsICs9ICcmdXNlUHJvZD0nK3RoaXMucXVlcnlQYXJhbXNbJ3VzZVByb2QnXTtcbiAgICAgICAgfVxuICAgICAgICBpZihpc1JvdXRlckxpbmspe1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJOZXcgVGFiIFJvdXRlciBVcmwgPVwiLCB1cmwpO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSwgcXVlcnlQYXJhbXM6IHRoaXMucXVlcnlQYXJhbXMsIHJlcGxhY2VVcmw6IHRydWV9KS50aGVuKHJlc3VsdCA9PiB7ICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTsgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTmV3IFRhYiBMaW5rIFVybCBcIiwgYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vJHt1cmx9YCk7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS8ke3VybH1gLCAnX2JsYW5rJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGlzRGV2RW52aXJvbm1lbnQoKXtcbiAgICAgICAgdHJ5e1xuICAgICAgICAgICAgaWYoIHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJ2hlcm9rdWFwcCcpID4gLTEgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZignbG9jYWxob3N0JykgPiAtMSB8fCB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCd0ZXN0JykgPiAtMSl7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5xdWVyeVBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndXNlUHJvZCcpIHx8IChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlUHJvZCcpICYmIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VQcm9kJykgIT09IG51bGwpKXtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICB9Y2F0Y2goZXJyb3Ipe1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICBcbiAgICBcbiAgICB9XG59Il19