@sapui5/sap.fe.base 1.130.6 → 1.132.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,6 +15,7 @@ import type ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
15
15
  import ControllerMetadata from "sap/ui/core/mvc/ControllerMetadata";
16
16
  import type OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
17
17
  import type Context from "sap/ui/model/Context";
18
+ import type { Model$PropertyChangeEvent } from "sap/ui/model/Model";
18
19
  import JSONModel from "sap/ui/model/json/JSONModel";
19
20
 
20
21
  type OverrideDefinition = Record<string, Function>;
@@ -33,6 +34,7 @@ type UI5PropertyMetadata = {
33
34
  defaultValue?: unknown;
34
35
  byValue?: boolean;
35
36
  isBindingInfo?: boolean;
37
+ bindToState?: string;
36
38
  expectedAnnotations?: string[];
37
39
  expectedTypes?: string[];
38
40
  allowedValues?: string[];
@@ -240,6 +242,9 @@ export type BindingInfoHolder<T> = T & {
240
242
  export function defineState(): PropertyDecorator {
241
243
  return function (target: UI5ControlDefinition, propertyKey: string, propertyDescriptor: TypedPropertyDescriptor<unknown>) {
242
244
  const metadata = ensureMetadata(target);
245
+ if (metadata.stateProperty !== undefined) {
246
+ throw new Error("Only one state property per control is allowed");
247
+ }
243
248
  metadata.stateProperty = propertyKey;
244
249
  delete propertyDescriptor.writable;
245
250
  metadata.statePropertyDefaultValue ??= (propertyDescriptor as { initializer?: Function }).initializer?.();
@@ -512,6 +517,53 @@ export function defineUI5Class(sTarget: string, metadataDefinition?: Partial<UI5
512
517
  return registerUI5Metadata(constructor, sTarget, constructor.prototype);
513
518
  } as ClassDecorator;
514
519
  }
520
+ type Constructor<T = {}> = new (...a: unknown[]) => T;
521
+ /**
522
+ * Mixin a specific interface including all its methods and properties into the control.
523
+ * @param interfaceClass Implementation class of the control
524
+ * @returns The decorated class
525
+ */
526
+ export function mixin<T extends IInterfaceWithMixin>(interfaceClass: Constructor<T>): ClassDecorator {
527
+ return function (baseCtor: UI5ControlAndMore) {
528
+ if (baseCtor.prototype.extend) {
529
+ throw new Error("The mixinInterface decorator must be placed after `defineUi5Class`");
530
+ }
531
+ const metadata = ensureMetadata(baseCtor.prototype);
532
+ const interfaceName = interfaceClass.prototype.getInterfaceName?.();
533
+ if (interfaceName) {
534
+ metadata.interfaces.push(interfaceName);
535
+ }
536
+
537
+ Object.getOwnPropertyNames(interfaceClass.prototype).forEach((name) => {
538
+ if (name !== "constructor" && name !== "setupMixin") {
539
+ Object.defineProperty(
540
+ baseCtor.prototype,
541
+ name,
542
+ Object.getOwnPropertyDescriptor(interfaceClass.prototype, name) || Object.create(null)
543
+ );
544
+ }
545
+ });
546
+ // Hook to add potentially more logic to the mixin
547
+ interfaceClass.prototype.setupMixin?.(baseCtor);
548
+ return baseCtor;
549
+ } as ClassDecorator;
550
+ }
551
+
552
+ export interface IInterfaceWithMixin {
553
+ /**
554
+ * Returns the name of the interface that should be added to the receiving control.
555
+ * If not defined, the interface will not be added.
556
+ * @returns The name of the interface
557
+ */
558
+ getInterfaceName?(): string;
559
+
560
+ /**
561
+ * Hook to add more logic to the mixin.
562
+ * This is called before the controls are created and can be used to add some additional logic to the base class.
563
+ * @param baseClass The base class that will be extended
564
+ */
565
+ setupMixin?(baseClass: Function): void;
566
+ }
515
567
 
516
568
  export function createReference<T extends UI5Element>(): Ref<T> {
517
569
  return {
@@ -546,24 +598,15 @@ function _getHandlerForStateProperty(jsonModel: JSONModel, prop: string): unknow
546
598
  const pathInModel = `/${prop.toString()}`;
547
599
  const oObj = deepClone(jsonModel.getObject(pathInModel));
548
600
  let oTarget;
601
+ if (prop === "__bindingInfo") {
602
+ return { model: "$componentState" };
603
+ }
549
604
  if (typeof oObj === "string") {
550
- oTarget = { value: oObj };
551
- oTarget.toString = function (): string {
552
- return this.value;
553
- };
554
- oTarget.valueOf = function (): string {
555
- return this.value;
556
- };
605
+ oTarget = oObj;
557
606
  } else if (typeof oObj === "number") {
558
- oTarget = { value: oObj };
559
- oTarget.toString = function (): string {
560
- return this.value.toString();
561
- };
562
- oTarget.valueOf = function (): number {
563
- return this.value;
564
- };
607
+ oTarget = oObj;
565
608
  } else if (typeof oObj === "boolean") {
566
- oTarget = new Boolean(oObj);
609
+ oTarget = oObj;
567
610
  } else if (Array.isArray(oObj)) {
568
611
  oTarget = new Proxy(oObj, {
569
612
  get(target: unknown[], p: string | symbol, receiver: unknown[]): unknown {
@@ -584,10 +627,12 @@ function _getHandlerForStateProperty(jsonModel: JSONModel, prop: string): unknow
584
627
  } else {
585
628
  oTarget = { ...oObj };
586
629
  }
587
- oTarget.__bindingInfo = {
588
- model: "$componentState",
589
- path: pathInModel
590
- };
630
+ if (typeof oTarget === "object") {
631
+ oTarget.__bindingInfo = {
632
+ model: "$componentState",
633
+ path: pathInModel
634
+ };
635
+ }
591
636
  return oTarget;
592
637
  }
593
638
 
@@ -596,56 +641,105 @@ function _createStateProperty(
596
641
  targetControl: Control & {
597
642
  _updateState: Function;
598
643
  _updateStateDebounced: Function;
644
+ _ignoreStatePropertyUpdate: boolean;
599
645
  _updateStateTimer: unknown;
600
646
  _changedProps?: string[];
601
647
  }
602
648
  ): void {
603
- if (obj.metadata?.stateProperty) {
604
- const stateModel = new JSONModel({});
605
- targetControl.setModel(stateModel, "$componentState");
649
+ if (obj.metadata?.stateProperty || (targetControl?.getModel && targetControl.getModel("$componentState"))) {
650
+ if (obj.metadata?.stateProperty) {
651
+ targetControl.setModel(new JSONModel(), "$componentState");
652
+ }
653
+ const stateModel = targetControl.getModel("$componentState") as JSONModel;
654
+
606
655
  let updatingState = false;
607
- // This method can be used to force the state to be applied and wait for it to be applied in tests
608
- targetControl._updateState = async function (): Promise<void> {
609
- delete this._updateStateTimer;
610
- if (!updatingState) {
611
- updatingState = true;
612
- await (this as { onStateChange?: Function }).onStateChange?.(this._changedProps);
613
- this._changedProps = [];
614
- updatingState = false;
656
+ const boundToStateProps: string[] = [];
657
+ for (const propertyName in obj.metadata?.properties) {
658
+ const propertyDef = obj.metadata.properties[propertyName];
659
+ if (propertyDef.bindToState) {
660
+ boundToStateProps.push(propertyName);
615
661
  }
616
- };
617
- targetControl._updateStateDebounced = function (changedProp: string): void {
618
- this._changedProps ??= [];
619
- if (!this._changedProps.includes(changedProp)) {
620
- this._changedProps.push(changedProp);
621
- }
622
- if (!this._updateStateTimer && !updatingState) {
623
- this._updateStateTimer = setTimeout(() => {
624
- this._updateState();
625
- }, 200);
626
- }
627
- };
628
- Object.defineProperty(targetControl, obj.metadata.stateProperty, {
629
- configurable: true,
630
- get: () => {
631
- return new Proxy(stateModel, {
632
- get: (target: JSONModel, prop: string): unknown => {
633
- return _getHandlerForStateProperty(target, prop);
634
- },
635
- set: (setStateModel: JSONModel, prop, value): boolean => {
636
- const setResult = setStateModel.setProperty(`/${prop.toString()}`, value);
637
- targetControl._updateStateDebounced(prop.toString());
638
- return setResult;
639
- }
640
- });
641
- },
642
- set: function (value) {
643
- // Replacing the complete state
644
- stateModel.setProperty(`/`, value);
662
+ }
663
+ // as we may have bound properties in parent classes and subclasses, we keep track of those in the model itself
664
+ const initialBoundProperties = stateModel.getProperty("/__boundProperties") ?? [];
665
+ stateModel.setProperty("/__boundProperties", [...initialBoundProperties, ...boundToStateProps]);
666
+
667
+ stateModel.attachPropertyChange((evt: Model$PropertyChangeEvent) => {
668
+ const path = evt.getParameter("path")?.substring(1); // to remove the first /
669
+ if (path && boundToStateProps.includes(path)) {
670
+ targetControl.setProperty(path, evt.getParameter("value"));
645
671
  }
646
672
  });
647
- if (obj.metadata.statePropertyDefaultValue) {
648
- targetControl[obj.metadata.stateProperty as keyof Control] = { ...obj.metadata.statePropertyDefaultValue } as never;
673
+ if (obj.metadata?.stateProperty) {
674
+ // This method can be used to force the state to be applied and wait for it to be applied in tests
675
+ targetControl._updateState = async function (): Promise<void> {
676
+ delete this._updateStateTimer;
677
+ if (!updatingState) {
678
+ updatingState = true;
679
+ await (this as { onStateChange?: Function }).onStateChange?.(this._changedProps);
680
+ this._changedProps = [];
681
+ updatingState = false;
682
+ }
683
+ };
684
+ targetControl._updateStateDebounced = function (changedProp: string): void {
685
+ this._changedProps ??= [];
686
+ if (!this._changedProps.includes(changedProp)) {
687
+ this._changedProps.push(changedProp);
688
+ }
689
+ if (!this._updateStateTimer && !updatingState) {
690
+ this._updateStateTimer = setTimeout(() => {
691
+ this._updateState();
692
+ }, 200);
693
+ }
694
+ };
695
+ Object.defineProperty(targetControl, obj.metadata.stateProperty, {
696
+ configurable: true,
697
+ get: () => {
698
+ return new Proxy(stateModel, {
699
+ get: (target: JSONModel, prop: string): unknown => {
700
+ return _getHandlerForStateProperty(target, prop);
701
+ },
702
+ set: (setStateModel: JSONModel, prop, value): boolean => {
703
+ // we need to check whether the property is a known bound property in any of the related classes
704
+ const knownBoundProperties = setStateModel.getProperty("/__boundProperties") ?? [];
705
+ if (knownBoundProperties.includes(prop.toString())) {
706
+ targetControl._ignoreStatePropertyUpdate = true;
707
+ targetControl.setProperty(prop.toString(), value);
708
+ targetControl._ignoreStatePropertyUpdate = false;
709
+ }
710
+ const setResult = setStateModel.setProperty(`/${prop.toString()}`, value);
711
+ targetControl._updateStateDebounced(prop.toString());
712
+ return setResult;
713
+ }
714
+ });
715
+ },
716
+ set: function (value) {
717
+ const knownBoundProperties = stateModel.getProperty("/__boundProperties") ?? [];
718
+ // Replacing the complete state
719
+ stateModel.setProperty(`/`, value);
720
+ // restoring the boundProperties references
721
+ stateModel.setProperty("/__boundProperties", knownBoundProperties);
722
+ }
723
+ });
724
+ if (obj.metadata.statePropertyDefaultValue) {
725
+ targetControl[obj.metadata.stateProperty as keyof Control] = { ...obj.metadata.statePropertyDefaultValue } as never;
726
+ }
727
+ const fnApplySettings = targetControl.applySettings;
728
+ targetControl.applySettings = function (mSettings: { models?: Record<string, never> }): typeof targetControl {
729
+ delete mSettings?.models?.$componentState;
730
+ return fnApplySettings.call(this, mSettings);
731
+ };
732
+ }
733
+ const fnSetProperty = targetControl.setProperty;
734
+
735
+ if (boundToStateProps.length > 0) {
736
+ targetControl.setProperty = function (sPropertyName: string, oValue: unknown, bSuppressInvalidate): typeof targetControl {
737
+ if (boundToStateProps.includes(sPropertyName) && !this._ignoreStatePropertyUpdate) {
738
+ stateModel.setProperty(`/${sPropertyName}`, oValue);
739
+ targetControl._updateStateDebounced(sPropertyName);
740
+ }
741
+ return fnSetProperty.call(this, sPropertyName, oValue, bSuppressInvalidate);
742
+ };
649
743
  }
650
744
  }
651
745
  }
@@ -754,7 +848,8 @@ function registerUI5Metadata(clazz: UI5ControlAndMore, name: string, inObj: UI5C
754
848
  }
755
849
  });
756
850
  }
757
- if (propertyDefault !== undefined) {
851
+ if (propertyDefault !== undefined && this[propertyKey] !== propertyDefault) {
852
+ // don't overwrite the default value if it's already there
758
853
  this._applyingSettings = true;
759
854
  this[propertyKey] = propertyDefault;
760
855
  this._applyingSettings = false;
@@ -11,7 +11,6 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Element"], function (Cla
11
11
  var event = ClassSupport.event;
12
12
  var defineUI5Class = ClassSupport.defineUI5Class;
13
13
  function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
14
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
15
14
  function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
16
15
  function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
17
16
  function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
@@ -25,15 +24,15 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Element"], function (Cla
25
24
  let EventDelegateHook = (_dec = defineUI5Class("sap.fe.base.EventDelegateHook"), _dec2 = property({
26
25
  type: "boolean"
27
26
  }), _dec3 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_Element) {
28
- _inheritsLoose(EventDelegateHook, _Element);
29
27
  function EventDelegateHook(idOrSettings, settings) {
30
28
  var _this;
31
29
  _this = _Element.call(this, idOrSettings, settings) || this;
32
- _initializerDefineProperty(_this, "stopTapPropagation", _descriptor, _assertThisInitialized(_this));
33
- _initializerDefineProperty(_this, "tap", _descriptor2, _assertThisInitialized(_this));
30
+ _initializerDefineProperty(_this, "stopTapPropagation", _descriptor, _this);
31
+ _initializerDefineProperty(_this, "tap", _descriptor2, _this);
34
32
  return _this;
35
33
  }
36
34
  _exports = EventDelegateHook;
35
+ _inheritsLoose(EventDelegateHook, _Element);
37
36
  var _proto = EventDelegateHook.prototype;
38
37
  _proto.setParent = function setParent(parentObject) {
39
38
  if (this.getParent()) {
@@ -49,7 +48,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Element"], function (Cla
49
48
  this.fireEvent("tap");
50
49
  };
51
50
  return EventDelegateHook;
52
- }(Element), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "stopTapPropagation", [_dec2], {
51
+ }(Element), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "stopTapPropagation", [_dec2], {
53
52
  configurable: true,
54
53
  enumerable: true,
55
54
  writable: true,
@@ -61,8 +60,8 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Element"], function (Cla
61
60
  enumerable: true,
62
61
  writable: true,
63
62
  initializer: null
64
- })), _class2)) || _class);
63
+ }), _class2)) || _class);
65
64
  _exports = EventDelegateHook;
66
65
  return _exports;
67
66
  }, false);
68
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFdmVudERlbGVnYXRlSG9vayIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJldmVudCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfRWxlbWVudCIsIl9pbmhlcml0c0xvb3NlIiwiaWRPclNldHRpbmdzIiwic2V0dGluZ3MiLCJfdGhpcyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9kZXNjcmlwdG9yMiIsIl9leHBvcnRzIiwiX3Byb3RvIiwicHJvdG90eXBlIiwic2V0UGFyZW50IiwicGFyZW50T2JqZWN0IiwiZ2V0UGFyZW50IiwicmVtb3ZlRXZlbnREZWxlZ2F0ZSIsImFkZEV2ZW50RGVsZWdhdGUiLCJvbnRhcCIsInRhcEV2ZW50Iiwic3RvcFRhcFByb3BhZ2F0aW9uIiwic3RvcFByb3BhZ2F0aW9uIiwiZmlyZUV2ZW50IiwiRWxlbWVudCIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRXZlbnREZWxlZ2F0ZUhvb2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyAkRWxlbWVudFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCBFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSB7IEV2ZW50SGFuZGxlciB9IGZyb20gXCJ0eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxuLyoqXG4gKiBDcmVhdGUgYW4gZXZlbnQgZGVsZWdhdGUgaG9vayBvbiB0aGUgcGFyZW50IG9mIHRoaXMgY29udHJvbCB0byBkZWFsIHdpdGggZXZlbnQgcHJvcGFnYXRpb24uXG4gKlxuICogVGhpcyBpcyBhIHNwZWNpZmljIHNvbHV0aW9uIGZvciB0aGUgQXZhdGFyIGNvbnRyb2wgY2FzZSB3aGVyZSB0aGUgcHJlc3MgY2Fubm90IGJlIGludGVycnVwdGVkIGFuZCB3aGljaCB0aGVuIGVuZHMgdXAgaW50ZXJhY3Rpbmcgd2l0aCBjb250cm9sIGJlaGluZCBpdC5cbiAqXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5iYXNlLkV2ZW50RGVsZWdhdGVIb29rXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdmVudERlbGVnYXRlSG9vayBleHRlbmRzIEVsZW1lbnQge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzdG9wVGFwUHJvcGFnYXRpb24gPSBmYWxzZTtcblxuXHRAZXZlbnQoKVxuXHR0YXA/OiBFdmVudEhhbmRsZXI7XG5cblx0Y29uc3RydWN0b3IoaWRPclNldHRpbmdzPzogRXZlbnREZWxlZ2F0ZVNldHRpbmdzKTtcblxuXHRjb25zdHJ1Y3RvcihpZE9yU2V0dGluZ3M6IHN0cmluZywgc2V0dGluZ3M/OiBFdmVudERlbGVnYXRlU2V0dGluZ3MpO1xuXG5cdGNvbnN0cnVjdG9yKGlkT3JTZXR0aW5ncz86IHN0cmluZyB8IFByb3BlcnRpZXNPZjxFdmVudERlbGVnYXRlSG9vaz4sIHNldHRpbmdzPzogRXZlbnREZWxlZ2F0ZVNldHRpbmdzKSB7XG5cdFx0c3VwZXIoaWRPclNldHRpbmdzIGFzIHN0cmluZywgc2V0dGluZ3MpO1xuXHR9XG5cblx0c2V0UGFyZW50KHBhcmVudE9iamVjdDogRWxlbWVudCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmdldFBhcmVudCgpKSB7XG5cdFx0XHQodGhpcy5nZXRQYXJlbnQoKSBhcyBFbGVtZW50KS5yZW1vdmVFdmVudERlbGVnYXRlKHRoaXMpO1xuXHRcdH1cblx0XHRwYXJlbnRPYmplY3QuYWRkRXZlbnREZWxlZ2F0ZSh0aGlzKTtcblx0XHRzdXBlci5zZXRQYXJlbnQocGFyZW50T2JqZWN0KTtcblx0fVxuXG5cdG9udGFwKHRhcEV2ZW50OiBKUXVlcnkuRXZlbnQpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5zdG9wVGFwUHJvcGFnYXRpb24pIHtcblx0XHRcdHRhcEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdH1cblx0XHR0aGlzLmZpcmVFdmVudChcInRhcFwiKTtcblx0fVxufVxuXG50eXBlIEV2ZW50RGVsZWdhdGVTZXR0aW5ncyA9ICRFbGVtZW50U2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8RXZlbnREZWxlZ2F0ZUhvb2s+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQSxJQU9xQkEsaUJBQWlCLElBQUFDLElBQUEsR0FEckNDLGNBQWMsQ0FBQywrQkFBK0IsQ0FBQyxFQUFBQyxLQUFBLEdBRTlDQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHN0JDLEtBQUssQ0FBQyxDQUFDLEVBQUFOLElBQUEsQ0FBQU8sTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxRQUFBO0lBQUFDLGNBQUEsQ0FBQVgsaUJBQUEsRUFBQVUsUUFBQTtJQU9SLFNBQUFWLGtCQUFZWSxZQUF1RCxFQUFFQyxRQUFnQyxFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUN0R0EsS0FBQSxHQUFBSixRQUFBLENBQUFLLElBQUEsT0FBTUgsWUFBWSxFQUFZQyxRQUFRLENBQUM7TUFBQ0csMEJBQUEsQ0FBQUYsS0FBQSx3QkFBQUcsV0FBQSxFQUFBQyxzQkFBQSxDQUFBSixLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsU0FBQUssWUFBQSxFQUFBRCxzQkFBQSxDQUFBSixLQUFBO01BQUEsT0FBQUEsS0FBQTtJQUN6QztJQUFDTSxRQUFBLEdBQUFwQixpQkFBQTtJQUFBLElBQUFxQixNQUFBLEdBQUFyQixpQkFBQSxDQUFBc0IsU0FBQTtJQUFBRCxNQUFBLENBRURFLFNBQVMsR0FBVCxTQUFBQSxVQUFVQyxZQUFxQixFQUFRO01BQ3RDLElBQUksSUFBSSxDQUFDQyxTQUFTLENBQUMsQ0FBQyxFQUFFO1FBQ3BCLElBQUksQ0FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBYUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO01BQ3hEO01BQ0FGLFlBQVksQ0FBQ0csZ0JBQWdCLENBQUMsSUFBSSxDQUFDO01BQ25DakIsUUFBQSxDQUFBWSxTQUFBLENBQU1DLFNBQVMsQ0FBQVIsSUFBQSxPQUFDUyxZQUFZO0lBQzdCLENBQUM7SUFBQUgsTUFBQSxDQUVETyxLQUFLLEdBQUwsU0FBQUEsTUFBTUMsUUFBc0IsRUFBUTtNQUNuQyxJQUFJLElBQUksQ0FBQ0Msa0JBQWtCLEVBQUU7UUFDNUJELFFBQVEsQ0FBQ0UsZUFBZSxDQUFDLENBQUM7TUFDM0I7TUFDQSxJQUFJLENBQUNDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUFBLE9BQUFoQyxpQkFBQTtFQUFBLEVBNUI2Q2lDLE9BQU8sSUFBQWhCLFdBQUEsR0FBQWlCLHlCQUFBLENBQUF6QixPQUFBLENBQUFhLFNBQUEseUJBQUFuQixLQUFBO0lBQUFnQyxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBLFdBQUFBLENBQUE7TUFBQSxPQUVoQyxLQUFLO0lBQUE7RUFBQSxJQUFBbkIsWUFBQSxHQUFBZSx5QkFBQSxDQUFBekIsT0FBQSxDQUFBYSxTQUFBLFVBQUFoQixLQUFBO0lBQUE2QixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsS0FBQTdCLE9BQUEsTUFBQUQsTUFBQTtFQUFBWSxRQUFBLEdBQUFwQixpQkFBQTtFQUFBLE9BQUFvQixRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFdmVudERlbGVnYXRlSG9vayIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJldmVudCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfRWxlbWVudCIsImlkT3JTZXR0aW5ncyIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJzZXRQYXJlbnQiLCJwYXJlbnRPYmplY3QiLCJnZXRQYXJlbnQiLCJyZW1vdmVFdmVudERlbGVnYXRlIiwiYWRkRXZlbnREZWxlZ2F0ZSIsIm9udGFwIiwidGFwRXZlbnQiLCJzdG9wVGFwUHJvcGFnYXRpb24iLCJzdG9wUHJvcGFnYXRpb24iLCJmaXJlRXZlbnQiLCJFbGVtZW50IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFdmVudERlbGVnYXRlSG9vay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7ICRFbGVtZW50U2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IEVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCB0eXBlIHsgRXZlbnRIYW5kbGVyIH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBldmVudCBkZWxlZ2F0ZSBob29rIG9uIHRoZSBwYXJlbnQgb2YgdGhpcyBjb250cm9sIHRvIGRlYWwgd2l0aCBldmVudCBwcm9wYWdhdGlvbi5cbiAqXG4gKiBUaGlzIGlzIGEgc3BlY2lmaWMgc29sdXRpb24gZm9yIHRoZSBBdmF0YXIgY29udHJvbCBjYXNlIHdoZXJlIHRoZSBwcmVzcyBjYW5ub3QgYmUgaW50ZXJydXB0ZWQgYW5kIHdoaWNoIHRoZW4gZW5kcyB1cCBpbnRlcmFjdGluZyB3aXRoIGNvbnRyb2wgYmVoaW5kIGl0LlxuICpcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmJhc2UuRXZlbnREZWxlZ2F0ZUhvb2tcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV2ZW50RGVsZWdhdGVIb29rIGV4dGVuZHMgRWxlbWVudCB7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHN0b3BUYXBQcm9wYWdhdGlvbiA9IGZhbHNlO1xuXG5cdEBldmVudCgpXG5cdHRhcD86IEV2ZW50SGFuZGxlcjtcblxuXHRjb25zdHJ1Y3RvcihpZE9yU2V0dGluZ3M/OiBFdmVudERlbGVnYXRlU2V0dGluZ3MpO1xuXG5cdGNvbnN0cnVjdG9yKGlkT3JTZXR0aW5nczogc3RyaW5nLCBzZXR0aW5ncz86IEV2ZW50RGVsZWdhdGVTZXR0aW5ncyk7XG5cblx0Y29uc3RydWN0b3IoaWRPclNldHRpbmdzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPEV2ZW50RGVsZWdhdGVIb29rPiwgc2V0dGluZ3M/OiBFdmVudERlbGVnYXRlU2V0dGluZ3MpIHtcblx0XHRzdXBlcihpZE9yU2V0dGluZ3MgYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRzZXRQYXJlbnQocGFyZW50T2JqZWN0OiBFbGVtZW50KTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuZ2V0UGFyZW50KCkpIHtcblx0XHRcdCh0aGlzLmdldFBhcmVudCgpIGFzIEVsZW1lbnQpLnJlbW92ZUV2ZW50RGVsZWdhdGUodGhpcyk7XG5cdFx0fVxuXHRcdHBhcmVudE9iamVjdC5hZGRFdmVudERlbGVnYXRlKHRoaXMpO1xuXHRcdHN1cGVyLnNldFBhcmVudChwYXJlbnRPYmplY3QpO1xuXHR9XG5cblx0b250YXAodGFwRXZlbnQ6IEpRdWVyeS5FdmVudCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnN0b3BUYXBQcm9wYWdhdGlvbikge1xuXHRcdFx0dGFwRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0fVxuXHRcdHRoaXMuZmlyZUV2ZW50KFwidGFwXCIpO1xuXHR9XG59XG5cbnR5cGUgRXZlbnREZWxlZ2F0ZVNldHRpbmdzID0gJEVsZW1lbnRTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxFdmVudERlbGVnYXRlSG9vaz47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEEsSUFPcUJBLGlCQUFpQixJQUFBQyxJQUFBLEdBRHJDQyxjQUFjLENBQUMsK0JBQStCLENBQUMsRUFBQUMsS0FBQSxHQUU5Q0MsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBRzdCQyxLQUFLLENBQUMsQ0FBQyxFQUFBTixJQUFBLENBQUFPLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMsUUFBQTtJQU9SLFNBQUFWLGtCQUFZVyxZQUF1RCxFQUFFQyxRQUFnQyxFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUN0R0EsS0FBQSxHQUFBSCxRQUFBLENBQUFJLElBQUEsT0FBTUgsWUFBWSxFQUFZQyxRQUFRLENBQUM7TUFBQ0csMEJBQUEsQ0FBQUYsS0FBQSx3QkFBQUcsV0FBQSxFQUFBSCxLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsU0FBQUksWUFBQSxFQUFBSixLQUFBO01BQUEsT0FBQUEsS0FBQTtJQUN6QztJQUFDSyxRQUFBLEdBQUFsQixpQkFBQTtJQUFBbUIsY0FBQSxDQUFBbkIsaUJBQUEsRUFBQVUsUUFBQTtJQUFBLElBQUFVLE1BQUEsR0FBQXBCLGlCQUFBLENBQUFxQixTQUFBO0lBQUFELE1BQUEsQ0FFREUsU0FBUyxHQUFULFNBQUFBLFNBQVNBLENBQUNDLFlBQXFCLEVBQVE7TUFDdEMsSUFBSSxJQUFJLENBQUNDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDcEIsSUFBSSxDQUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFhQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7TUFDeEQ7TUFDQUYsWUFBWSxDQUFDRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7TUFDbkNoQixRQUFBLENBQUFXLFNBQUEsQ0FBTUMsU0FBUyxDQUFBUixJQUFBLE9BQUNTLFlBQVk7SUFDN0IsQ0FBQztJQUFBSCxNQUFBLENBRURPLEtBQUssR0FBTCxTQUFBQSxLQUFLQSxDQUFDQyxRQUFzQixFQUFRO01BQ25DLElBQUksSUFBSSxDQUFDQyxrQkFBa0IsRUFBRTtRQUM1QkQsUUFBUSxDQUFDRSxlQUFlLENBQUMsQ0FBQztNQUMzQjtNQUNBLElBQUksQ0FBQ0MsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQUEsT0FBQS9CLGlCQUFBO0VBQUEsRUE1QjZDZ0MsT0FBTyxHQUFBaEIsV0FBQSxHQUFBaUIseUJBQUEsQ0FBQXhCLE9BQUEsQ0FBQVksU0FBQSx5QkFBQWxCLEtBQUE7SUFBQStCLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUEsV0FBQUEsQ0FBQTtNQUFBLE9BRWhDLEtBQUs7SUFBQTtFQUFBLElBQUFwQixZQUFBLEdBQUFnQix5QkFBQSxDQUFBeEIsT0FBQSxDQUFBWSxTQUFBLFVBQUFmLEtBQUE7SUFBQTRCLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBNUIsT0FBQSxNQUFBRCxNQUFBO0VBQUFVLFFBQUEsR0FBQWxCLGlCQUFBO0VBQUEsT0FBQWtCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -44,7 +44,7 @@ sap.ui.define([], function () {
44
44
  if (execution === "BeforeAsync" || execution === "AfterAsync") {
45
45
  descriptor.value = async function () {
46
46
  const cExTInstanceHookMap = this;
47
- const handlers = (cExTInstanceHookMap === null || cExTInstanceHookMap === void 0 ? void 0 : cExTInstanceHookMap.hookedHandlers) && (cExTInstanceHookMap === null || cExTInstanceHookMap === void 0 ? void 0 : cExTInstanceHookMap.hookedHandlers[propertyKey.toString()]) || [];
47
+ const handlers = cExTInstanceHookMap?.hookedHandlers && cExTInstanceHookMap?.hookedHandlers[propertyKey.toString()] || [];
48
48
  let returnValue;
49
49
  if (execution === "AfterAsync") {
50
50
  returnValue = await oldValue.bind(this)(...arguments);
@@ -60,7 +60,7 @@ sap.ui.define([], function () {
60
60
  } else {
61
61
  descriptor.value = function () {
62
62
  const cExTInstanceHookMap = this;
63
- const handlers = (cExTInstanceHookMap === null || cExTInstanceHookMap === void 0 ? void 0 : cExTInstanceHookMap.hookedHandlers) && (cExTInstanceHookMap === null || cExTInstanceHookMap === void 0 ? void 0 : cExTInstanceHookMap.hookedHandlers[propertyKey.toString()]) || [];
63
+ const handlers = cExTInstanceHookMap?.hookedHandlers && cExTInstanceHookMap?.hookedHandlers[propertyKey.toString()] || [];
64
64
  let returnValue;
65
65
  if (execution === "After") {
66
66
  returnValue = oldValue.bind(this)(...arguments);
@@ -128,10 +128,9 @@ sap.ui.define([], function () {
128
128
  const indexableController = controller;
129
129
  const indexableTarget = target;
130
130
  for (const registeredHandler of registeredHandlers[index]) {
131
- var _controller$getView;
132
131
  const handlerFunction = indexableTarget[registeredHandler.targetMethod].bind(target);
133
132
  indexableController[registeredHandler.name][`attach${String(registeredHandler.method)}`](handlerFunction);
134
- (_controller$getView = controller.getView()) === null || _controller$getView === void 0 ? void 0 : _controller$getView.attachBeforeExit(() => {
133
+ controller.getView()?.attachBeforeExit(() => {
135
134
  indexableController[registeredHandler.name][`detach${String(registeredHandler.method)}`](handlerFunction);
136
135
  });
137
136
  }
@@ -151,4 +150,4 @@ sap.ui.define([], function () {
151
150
  _exports.xmlViewPreprocessor = xmlViewPreprocessor;
152
151
  return _exports;
153
152
  }, false);
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWdpc3RlcmVkSW5zdGFuY2VzIiwicmVnaXN0ZXJlZEhhbmRsZXJzIiwiaG9va2FibGUiLCJleGVjdXRpb24iLCJ0YXJnZXQiLCJwcm9wZXJ0eUtleSIsImRlc2NyaXB0b3IiLCJpbmRleGFibGVUYXJnZXQiLCJ0b1N0cmluZyIsImZuIiwiY0V4VEluc3RhbmNlSG9va01hcCIsImhvb2tlZEhhbmRsZXJzIiwicHVzaCIsImhhbmRsZXJzIiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwib2xkVmFsdWUiLCJ2YWx1ZSIsInJldHVyblZhbHVlIiwiYmluZCIsImFyZ3VtZW50cyIsImhhbmRsZXIiLCJfZXhwb3J0cyIsImlzQWxyZWFkeVJlZ2lzdGVyZWQiLCJleGlzdGluZ1JlZ2lzdHJhdGlvbnMiLCJuZXdSZWdpc3RyYXRpb24iLCJmaW5kIiwiciIsIm5hbWUiLCJtZXRob2QiLCJ0YXJnZXRNZXRob2QiLCJjb250cm9sbGVyRXh0ZW5zaW9uSGFuZGxlciIsIlN0cmluZyIsImNvbnN0cnVjdG9yIiwiaW5pdENvbnRyb2xsZXJFeHRlbnNpb25Ib29rSGFuZGxlcnMiLCJjb250cm9sbGVyIiwiaW5kZXhhYmxlQ29udHJvbGxlciIsInJlZ2lzdGVyZWRIYW5kbGVyIiwiX2NvbnRyb2xsZXIkZ2V0VmlldyIsImhhbmRsZXJGdW5jdGlvbiIsImdldFZpZXciLCJhdHRhY2hCZWZvcmVFeGl0IiwieG1sVmlld1ByZXByb2Nlc3NvciIsInNvdXJjZSIsIl9jYWxsZXIiLCJfc2V0dGluZ3MiLCJzb3VyY2VWaWV3IiwiZ2V0Q29udHJvbGxlciIsIm1hY3JvQVBJQ2hpbGQiLCJmaW5kQWdncmVnYXRlZE9iamVjdHMiLCJzIiwiaXNBIiwibWFuYWdlZE9iamVjdCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiSG9va1N1cHBvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFeHRlbnNpb25PdmVycmlkZUV4ZWN1dGlvbiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBYTUxWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvWE1MVmlld1wiO1xuXG4vKipcbiAqIFRoaXMgdHlwZSBpcyB0byBiZSBleHRlbmRlZCB3aXRoIGFsbCBjb250cm9sbGVyIGV4dGVuc2lvbnMgYW5kIG1ldGhvZHMgdGhhdCBhcmUgaG9va2FibGUuXG4gKi9cbnR5cGUgSG9va2FibGVDb250cm9sbGVyRXh0ZW5zaW9ucyA9IHtcblx0ZWRpdEZsb3c6IHtcblx0XHRvbkFmdGVyU2F2ZTogdHJ1ZTtcblx0XHRvbkJlZm9yZVNhdmU6IHRydWU7XG5cdH07XG5cdGNvbGxhYm9yYXRpb25NYW5hZ2VyOiB7XG5cdFx0Y29sbGVjdEF2YWlsYWJsZUNhcmRzOiB0cnVlO1xuXHR9O1xuXHRwYWdpbmF0b3I6IHtcblx0XHRpbml0aWFsaXplOiB0cnVlO1xuXHR9O1xuXHRyb3V0aW5nOiB7XG5cdFx0b25BZnRlckJpbmRpbmc6IHRydWU7XG5cdH07XG59O1xuXG50eXBlIEhhbmRsZXJDb25maWd1cmF0aW9uPENFeHROYW1lIGV4dGVuZHMga2V5b2YgSG9va2FibGVDb250cm9sbGVyRXh0ZW5zaW9ucz4gPSB7XG5cdG5hbWU6IENFeHROYW1lO1xuXHRtZXRob2Q6IGtleW9mIEhvb2thYmxlQ29udHJvbGxlckV4dGVuc2lvbnNbQ0V4dE5hbWVdO1xufTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG50eXBlIEhhbmRsZXJSZWdpc3RyYXRpb24gPSBIYW5kbGVyQ29uZmlndXJhdGlvbjxhbnk+ICYgeyB0YXJnZXRNZXRob2Q6IHN0cmluZyB9O1xuXG50eXBlIEZ1bmN0aW9uTWFwID0ge1xuXHRba2V5OiBzdHJpbmddOiBGdW5jdGlvbjtcbn07XG50eXBlIERlZXBGdW5jdGlvbk1hcCA9IHtcblx0W2tleTogc3RyaW5nXTogRnVuY3Rpb25NYXA7XG59O1xudHlwZSBIb29rTWFwID0ge1xuXHRob29rZWRIYW5kbGVyczoge1xuXHRcdFtrZXk6IHN0cmluZ106IEZ1bmN0aW9uW107XG5cdH07XG59O1xuXG4vLyBVc2UgdHdvIGFycmF5cyBhcyB3ZSBjYW5ub3QgaW5kZXggYSBtYXAgdGhyb3VnaCBhbiBhcmJpdHJhcnkgb2JqZWN0IGluc3RhbmNlXG5jb25zdCByZWdpc3RlcmVkSW5zdGFuY2VzOiBGdW5jdGlvbltdID0gW107XG5jb25zdCByZWdpc3RlcmVkSGFuZGxlcnM6IEhhbmRsZXJSZWdpc3RyYXRpb25bXVtdID0gW107XG5cbi8qKlxuICogTWFya3MgYSBjb250cm9sbGVyIGV4dGVuc2lvbiBtZXRob2QgdG8gYmUgaG9va2FibGUgYnkgZ2VuZXJhdGluZyBhZGRpdGlvbmFsIG1ldGhvZHMgdGhhdCBjYW4gYmUgdXNlZCB0byBhdHRhY2ggYW5kIGRldGFjaCBoYW5kbGVycyBhdCBydW50aW1lLlxuICogQHBhcmFtIGV4ZWN1dGlvblxuICogQHJldHVybnMgQSBtZXRob2QgZGVjb3JhdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBob29rYWJsZShleGVjdXRpb246IEV4dGVuc2lvbk92ZXJyaWRlRXhlY3V0aW9uKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IHVua25vd24sIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikge1xuXHRcdGNvbnN0IGluZGV4YWJsZVRhcmdldCA9IHRhcmdldCBhcyBGdW5jdGlvbk1hcDtcblxuXHRcdGluZGV4YWJsZVRhcmdldFtgYXR0YWNoJHtwcm9wZXJ0eUtleS50b1N0cmluZygpfWBdID0gZnVuY3Rpb24gKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuXHRcdFx0Y29uc3QgY0V4VEluc3RhbmNlSG9va01hcCA9IHRoaXMgYXMgdW5rbm93biBhcyBIb29rTWFwO1xuXHRcdFx0aWYgKCFjRXhUSW5zdGFuY2VIb29rTWFwLmhvb2tlZEhhbmRsZXJzKSB7XG5cdFx0XHRcdGNFeFRJbnN0YW5jZUhvb2tNYXAuaG9va2VkSGFuZGxlcnMgPSB7fTtcblx0XHRcdH1cblx0XHRcdGlmICghY0V4VEluc3RhbmNlSG9va01hcC5ob29rZWRIYW5kbGVyc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0XHRjRXhUSW5zdGFuY2VIb29rTWFwLmhvb2tlZEhhbmRsZXJzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0gW107XG5cdFx0XHR9XG5cdFx0XHRjRXhUSW5zdGFuY2VIb29rTWFwLmhvb2tlZEhhbmRsZXJzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLnB1c2goZm4pO1xuXHRcdH07XG5cdFx0aW5kZXhhYmxlVGFyZ2V0W2BkZXRhY2gke3Byb3BlcnR5S2V5LnRvU3RyaW5nKCl9YF0gPSBmdW5jdGlvbiAoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG5cdFx0XHRjb25zdCBjRXhUSW5zdGFuY2VIb29rTWFwID0gdGhpcyBhcyB1bmtub3duIGFzIEhvb2tNYXA7XG5cdFx0XHRjb25zdCBoYW5kbGVycyA9IGNFeFRJbnN0YW5jZUhvb2tNYXAuaG9va2VkSGFuZGxlcnNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV07XG5cdFx0XHRjb25zdCBpbmRleCA9IGhhbmRsZXJzLmluZGV4T2YoZm4pO1xuXHRcdFx0aWYgKGluZGV4ICE9PSAtMSkge1xuXHRcdFx0XHRoYW5kbGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRjb25zdCBvbGRWYWx1ZSA9IGRlc2NyaXB0b3IudmFsdWU7XG5cdFx0aWYgKGV4ZWN1dGlvbiA9PT0gXCJCZWZvcmVBc3luY1wiIHx8IGV4ZWN1dGlvbiA9PT0gXCJBZnRlckFzeW5jXCIpIHtcblx0XHRcdGRlc2NyaXB0b3IudmFsdWUgPSBhc3luYyBmdW5jdGlvbiAoLi4uYXJnczogdW5rbm93bltdKTogUHJvbWlzZTx1bmtub3duPiB7XG5cdFx0XHRcdGNvbnN0IGNFeFRJbnN0YW5jZUhvb2tNYXAgPSB0aGlzIGFzIHVua25vd24gYXMgSG9va01hcDtcblx0XHRcdFx0Y29uc3QgaGFuZGxlcnMgPSAoY0V4VEluc3RhbmNlSG9va01hcD8uaG9va2VkSGFuZGxlcnMgJiYgY0V4VEluc3RhbmNlSG9va01hcD8uaG9va2VkSGFuZGxlcnNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0pIHx8IFtdO1xuXHRcdFx0XHRsZXQgcmV0dXJuVmFsdWU6IHVua25vd247XG5cdFx0XHRcdGlmIChleGVjdXRpb24gPT09IFwiQWZ0ZXJBc3luY1wiKSB7XG5cdFx0XHRcdFx0cmV0dXJuVmFsdWUgPSBhd2FpdCBvbGRWYWx1ZS5iaW5kKHRoaXMpKC4uLmFyZ3MpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGZvciAoY29uc3QgaGFuZGxlciBvZiBoYW5kbGVycykge1xuXHRcdFx0XHRcdGF3YWl0IGhhbmRsZXIuYmluZCh0aGlzKSguLi5hcmdzKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoZXhlY3V0aW9uID09PSBcIkJlZm9yZUFzeW5jXCIpIHtcblx0XHRcdFx0XHRyZXR1cm5WYWx1ZSA9IGF3YWl0IG9sZFZhbHVlLmJpbmQodGhpcykoLi4uYXJncyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHJldHVyblZhbHVlO1xuXHRcdFx0fTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICguLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duIHtcblx0XHRcdFx0Y29uc3QgY0V4VEluc3RhbmNlSG9va01hcCA9IHRoaXMgYXMgdW5rbm93biBhcyBIb29rTWFwO1xuXHRcdFx0XHRjb25zdCBoYW5kbGVycyA9IChjRXhUSW5zdGFuY2VIb29rTWFwPy5ob29rZWRIYW5kbGVycyAmJiBjRXhUSW5zdGFuY2VIb29rTWFwPy5ob29rZWRIYW5kbGVyc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkgfHwgW107XG5cdFx0XHRcdGxldCByZXR1cm5WYWx1ZTogdW5rbm93bjtcblx0XHRcdFx0aWYgKGV4ZWN1dGlvbiA9PT0gXCJBZnRlclwiKSB7XG5cdFx0XHRcdFx0cmV0dXJuVmFsdWUgPSBvbGRWYWx1ZS5iaW5kKHRoaXMpKC4uLmFyZ3MpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGZvciAoY29uc3QgaGFuZGxlciBvZiBoYW5kbGVycykge1xuXHRcdFx0XHRcdGhhbmRsZXIuYmluZCh0aGlzKSguLi5hcmdzKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoZXhlY3V0aW9uID09PSBcIkJlZm9yZVwiKSB7XG5cdFx0XHRcdFx0cmV0dXJuVmFsdWUgPSBvbGRWYWx1ZS5iaW5kKHRoaXMpKC4uLmFyZ3MpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiByZXR1cm5WYWx1ZTtcblx0XHRcdH07XG5cdFx0fVxuXHR9O1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbmV3UmVnaXN0cmF0aW9uIGlzIGFscmVhZHkgaW5jbHVkZWQgaW4gc29tZSBleGlzdGluZ1JlZ2lzdHJhdGlvbnMgYnkgY29tcGFyaW5nIGFsbCByZWxldmFudCBhdHRyaWJ1dGVzLlxuICogQHBhcmFtIGV4aXN0aW5nUmVnaXN0cmF0aW9uc1xuICogQHBhcmFtIG5ld1JlZ2lzdHJhdGlvblxuICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSBjaGVja1xuICovXG5mdW5jdGlvbiBpc0FscmVhZHlSZWdpc3RlcmVkKGV4aXN0aW5nUmVnaXN0cmF0aW9uczogSGFuZGxlclJlZ2lzdHJhdGlvbltdLCBuZXdSZWdpc3RyYXRpb246IEhhbmRsZXJSZWdpc3RyYXRpb24pOiBib29sZWFuIHtcblx0cmV0dXJuICEhZXhpc3RpbmdSZWdpc3RyYXRpb25zLmZpbmQoXG5cdFx0KHIpID0+IHIubmFtZSA9PT0gbmV3UmVnaXN0cmF0aW9uLm5hbWUgJiYgci5tZXRob2QgPT09IG5ld1JlZ2lzdHJhdGlvbi5tZXRob2QgJiYgci50YXJnZXRNZXRob2QgPT09IG5ld1JlZ2lzdHJhdGlvbi50YXJnZXRNZXRob2Rcblx0KTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYSBtZXRob2QgYXMgY29udHJvbGxlciBleHRlbnNpb24gaG9vayBoYW5kbGVyLlxuICpcbiAqIEN1cnJlbnRseSwgb25seSBtZXRob2RzIG9mIHJ1bnRpbWUgYnVpbGRpbmcgYmxvY2tzIGFyZSBzdXBwb3J0ZWQuXG4gKiBAcGFyYW0gbmFtZSBDb250cm9sbGVyIGV4dGVuc2lvbiB0byBob29rIGludG9cbiAqIEBwYXJhbSBtZXRob2QgTWV0aG9kIHRvIGhvb2sgaW50b1xuICogQHJldHVybnMgQSBtZXRob2QgZGVjb3JhdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sbGVyRXh0ZW5zaW9uSGFuZGxlcjxDRXh0TmFtZSBleHRlbmRzIGtleW9mIEhvb2thYmxlQ29udHJvbGxlckV4dGVuc2lvbnM+KFxuXHRuYW1lOiBDRXh0TmFtZSxcblx0bWV0aG9kOiBrZXlvZiBIb29rYWJsZUNvbnRyb2xsZXJFeHRlbnNpb25zW0NFeHROYW1lXVxuKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IHsgY29uc3RydWN0b3I6IEZ1bmN0aW9uIH0sIHByb3BlcnR5S2V5OiBzdHJpbmcpIHtcblx0XHRjb25zdCBuZXdSZWdpc3RyYXRpb24gPSB7IG5hbWUsIG1ldGhvZDogU3RyaW5nKG1ldGhvZCksIHRhcmdldE1ldGhvZDogcHJvcGVydHlLZXkgfTtcblx0XHRjb25zdCBpbmRleCA9IHJlZ2lzdGVyZWRJbnN0YW5jZXMuaW5kZXhPZih0YXJnZXQuY29uc3RydWN0b3IpO1xuXG5cdFx0Ly8gV2UgbmVlZCB0byBjaGVjayBpZiB0aGlzIGV4YWN0IGhhbmRsZXIgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGFzIGhhbmRsZXJzIGFyZSByZWdpc3RlcmVkIHN0YXRpY2FsbHkgKG9uIHRoZSBjb25zdHJ1Y3Rvcilcblx0XHRpZiAoaW5kZXggIT09IC0xICYmICFpc0FscmVhZHlSZWdpc3RlcmVkKHJlZ2lzdGVyZWRIYW5kbGVyc1tpbmRleF0sIG5ld1JlZ2lzdHJhdGlvbikpIHtcblx0XHRcdHJlZ2lzdGVyZWRIYW5kbGVyc1tpbmRleF0ucHVzaChuZXdSZWdpc3RyYXRpb24pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZWdpc3RlcmVkSW5zdGFuY2VzLnB1c2godGFyZ2V0LmNvbnN0cnVjdG9yKTtcblx0XHRcdHJlZ2lzdGVyZWRIYW5kbGVycy5wdXNoKFtuZXdSZWdpc3RyYXRpb25dKTtcblx0XHR9XG5cdH0gYXMgTWV0aG9kRGVjb3JhdG9yO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIGFsbCBjb250cm9sbGVyIGV4dGVuc2lvbiBoYW5kbGVycyByZWdpc3RlcmVkIGZvciBhIGdpdmVuIHRhcmdldC5cbiAqIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IGNsYXNzIHRvIGluaXRpYWxpemUgdGhlIGhhbmRsZXJzIGZvclxuICogQHBhcmFtIHRhcmdldC5jb25zdHJ1Y3RvclxuICogQHBhcmFtIGNvbnRyb2xsZXIgUGFnZUNvbnRyb2xsZXIgaW5zdGFuY2UgdG8gZ2V0IHRoZSBjb250cm9sbGVyIGV4dGVuc2lvbnMgaW5zdGFuY2VzIGZyb21cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb250cm9sbGVyRXh0ZW5zaW9uSG9va0hhbmRsZXJzKHRhcmdldDogeyBjb25zdHJ1Y3RvcjogRnVuY3Rpb24gfSwgY29udHJvbGxlcjogQ29udHJvbGxlcik6IHZvaWQge1xuXHRjb25zdCBpbmRleCA9IHJlZ2lzdGVyZWRJbnN0YW5jZXMuaW5kZXhPZih0YXJnZXQuY29uc3RydWN0b3IpO1xuXHRpZiAoaW5kZXggIT09IC0xKSB7XG5cdFx0Y29uc3QgaW5kZXhhYmxlQ29udHJvbGxlciA9IGNvbnRyb2xsZXIgYXMgdW5rbm93biBhcyBEZWVwRnVuY3Rpb25NYXA7XG5cdFx0Y29uc3QgaW5kZXhhYmxlVGFyZ2V0ID0gdGFyZ2V0IGFzIHVua25vd24gYXMgRnVuY3Rpb25NYXA7XG5cblx0XHRmb3IgKGNvbnN0IHJlZ2lzdGVyZWRIYW5kbGVyIG9mIHJlZ2lzdGVyZWRIYW5kbGVyc1tpbmRleF0pIHtcblx0XHRcdGNvbnN0IGhhbmRsZXJGdW5jdGlvbiA9IGluZGV4YWJsZVRhcmdldFtyZWdpc3RlcmVkSGFuZGxlci50YXJnZXRNZXRob2RdLmJpbmQodGFyZ2V0KTtcblxuXHRcdFx0aW5kZXhhYmxlQ29udHJvbGxlcltyZWdpc3RlcmVkSGFuZGxlci5uYW1lXVtgYXR0YWNoJHtTdHJpbmcocmVnaXN0ZXJlZEhhbmRsZXIubWV0aG9kKX1gXShoYW5kbGVyRnVuY3Rpb24pO1xuXHRcdFx0Y29udHJvbGxlci5nZXRWaWV3KCk/LmF0dGFjaEJlZm9yZUV4aXQoKCkgPT4ge1xuXHRcdFx0XHRpbmRleGFibGVDb250cm9sbGVyW3JlZ2lzdGVyZWRIYW5kbGVyLm5hbWVdW2BkZXRhY2gke1N0cmluZyhyZWdpc3RlcmVkSGFuZGxlci5tZXRob2QpfWBdKGhhbmRsZXJGdW5jdGlvbik7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHhtbFZpZXdQcmVwcm9jZXNzb3Ioc291cmNlOiBvYmplY3QsIF9jYWxsZXI/OiB1bmtub3duLCBfc2V0dGluZ3M/OiBvYmplY3QpOiB2b2lkIHtcblx0Y29uc3Qgc291cmNlVmlldyA9IHNvdXJjZSBhcyBYTUxWaWV3O1xuXHRjb25zdCBjb250cm9sbGVyID0gc291cmNlVmlldy5nZXRDb250cm9sbGVyKCkgYXMgQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0aWYgKGNvbnRyb2xsZXIpIHtcblx0XHRjb25zdCBtYWNyb0FQSUNoaWxkID0gc291cmNlVmlldy5maW5kQWdncmVnYXRlZE9iamVjdHModHJ1ZSwgKHMpID0+IHMuaXNBKFwic2FwLmZlLm1hY3Jvcy5NYWNyb0FQSVwiKSk7XG5cdFx0Zm9yIChjb25zdCBtYW5hZ2VkT2JqZWN0IG9mIG1hY3JvQVBJQ2hpbGQpIHtcblx0XHRcdGluaXRDb250cm9sbGVyRXh0ZW5zaW9uSG9va0hhbmRsZXJzKG1hbmFnZWRPYmplY3QsIGNvbnRyb2xsZXIpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztFQUlBO0FBQ0E7QUFDQTtFQXFCQTtFQWVBO0VBQ0EsTUFBTUEsbUJBQStCLEdBQUcsRUFBRTtFQUMxQyxNQUFNQyxrQkFBMkMsR0FBRyxFQUFFOztFQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sU0FBU0MsUUFBUUEsQ0FBQ0MsU0FBcUMsRUFBbUI7SUFDaEYsT0FBTyxVQUFVQyxNQUFlLEVBQUVDLFdBQTRCLEVBQUVDLFVBQThCLEVBQUU7TUFDL0YsTUFBTUMsZUFBZSxHQUFHSCxNQUFxQjtNQUU3Q0csZUFBZSxDQUFDLFNBQVNGLFdBQVcsQ0FBQ0csUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVUMsRUFBWSxFQUFRO1FBQ2xGLE1BQU1DLG1CQUFtQixHQUFHLElBQTBCO1FBQ3RELElBQUksQ0FBQ0EsbUJBQW1CLENBQUNDLGNBQWMsRUFBRTtVQUN4Q0QsbUJBQW1CLENBQUNDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEM7UUFDQSxJQUFJLENBQUNELG1CQUFtQixDQUFDQyxjQUFjLENBQUNOLFdBQVcsQ0FBQ0csUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1VBQ2hFRSxtQkFBbUIsQ0FBQ0MsY0FBYyxDQUFDTixXQUFXLENBQUNHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFO1FBQ2hFO1FBQ0FFLG1CQUFtQixDQUFDQyxjQUFjLENBQUNOLFdBQVcsQ0FBQ0csUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDSSxJQUFJLENBQUNILEVBQUUsQ0FBQztNQUNwRSxDQUFDO01BQ0RGLGVBQWUsQ0FBQyxTQUFTRixXQUFXLENBQUNHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVVDLEVBQVksRUFBUTtRQUNsRixNQUFNQyxtQkFBbUIsR0FBRyxJQUEwQjtRQUN0RCxNQUFNRyxRQUFRLEdBQUdILG1CQUFt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TUFDakIsTUFBTXVCLG1CQUFtQixHQUFHRCxVQUF3QztNQUNwRSxNQUFNN0IsZUFBZSxHQUFHSCxNQUFnQztNQUV4RCxLQUFLLE1BQU1rQyxpQkFBaUIsSUFBSXJDLGtCQUFrQixDQUFDYSxLQUFLLENBQUMsRUFBRTtRQUFBLElBQUF5QixtQkFBQTtRQUMxRCxNQUFNQyxlQUFlLEdBQUdqQyxlQUFlLENBQUMrQixpQkFBaUIsQ0FBQ1AsWUFBWSxDQUFDLENBQUNYLElBQUksQ0FBQ2hCLE1BQU0sQ0FBQztRQUVwRmlDLG1CQUFtQixDQUFDQyxpQkFBaUIsQ0FBQ1QsSUFBSSxDQUFDLENBQUMsU0FBU0ksTUFBTSxDQUFDSyxpQkFBaUIsQ0FBQ1IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDVSxlQUFlLENBQUM7UUFDekcsQ0FBQUQsbUJBQUEsR0FBQUgsVUFBVSxDQUFDSyxPQUFPLENBQUMsQ0FBQyxjQUFBRixtQkFBQSx1QkFBcEJBLG1CQUFBLENBQXNCRyxnQkFBZ0IsQ0FBQyxNQUFNO1VBQzVDTCxtQkFBbUIsQ0FBQ0MsaUJBQWlCLENBQUNULElBQUksQ0FBQyxDQUFDLFNBQVNJLE1BQU0sQ0FBQ0ssaUJBQWlCLENBQUNSLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQ1UsZUFBZSxDQUFDO1FBQzFHLENBQUMsQ0FBQztNQUNIO0lBQ0Q7RUFDRDtFQUFDakIsUUFBQSxDQUFBWSxtQ0FBQSxHQUFBQSxtQ0FBQTtFQUVNLFNBQVNRLG1CQUFtQkEsQ0FBQ0MsTUFBYyxFQUFFQyxPQUFpQixFQUFFQyxTQUFrQixFQUFRO0lBQ2hHLE1BQU1DLFVBQVUsR0FBR0gsTUFBaUI7SUFDcEMsTUFBTVIsVUFBVSxHQUFHVyxVQUFVLENBQUNDLGFBQWEsQ0FBQyxDQUEyQjtJQUN2RSxJQUFJWixVQUFVLEVBQUU7TUFDZixNQUFNYSxhQUFhLEdBQUdGLFVBQVUsQ0FBQ0cscUJBQXFCLENBQUMsSUFBSSxFQUFHQyxDQUFDLElBQUtBLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7TUFDcEcsS0FBSyxNQUFNQyxhQUFhLElBQUlKLGFBQWEsRUFBRTtRQUMxQ2QsbUNBQW1DLENBQUNrQixhQUFhLEVBQUVqQixVQUFVLENBQUM7TUFDL0Q7SUFDRDtFQUNEO0VBQUNiLFFBQUEsQ0FBQW9CLG1CQUFBLEdBQUFBLG1CQUFBO0VBQUEsT0FBQXBCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWdpc3RlcmVkSW5zdGFuY2VzIiwicmVnaXN0ZXJlZEhhbmRsZXJzIiwiaG9va2FibGUiLCJleGVjdXRpb24iLCJ0YXJnZXQiLCJwcm9wZXJ0eUtleSIsImRlc2NyaXB0b3IiLCJpbmRleGFibGVUYXJnZXQiLCJ0b1N0cmluZyIsImZuIiwiY0V4VEluc3RhbmNlSG9va01hcCIsImhvb2tlZEhhbmRsZXJzIiwicHVzaCIsImhhbmRsZXJzIiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwib2xkVmFsdWUiLCJ2YWx1ZSIsInJldHVyblZhbHVlIiwiYmluZCIsImFyZ3VtZW50cyIsImhhbmRsZXIiLCJfZXhwb3J0cyIsImlzQWxyZWFkeVJlZ2lzdGVyZWQiLCJleGlzdGluZ1JlZ2lzdHJhdGlvbnMiLCJuZXdSZWdpc3RyYXRpb24iLCJmaW5kIiwiciIsIm5hbWUiLCJtZXRob2QiLCJ0YXJnZXRNZXRob2QiLCJjb250cm9sbGVyRXh0ZW5zaW9uSGFuZGxlciIsIlN0cmluZyIsImNvbnN0cnVjdG9yIiwiaW5pdENvbnRyb2xsZXJFeHRlbnNpb25Ib29rSGFuZGxlcnMiLCJjb250cm9sbGVyIiwiaW5kZXhhYmxlQ29udHJvbGxlciIsInJlZ2lzdGVyZWRIYW5kbGVyIiwiaGFuZGxlckZ1bmN0aW9uIiwiZ2V0VmlldyIsImF0dGFjaEJlZm9yZUV4aXQiLCJ4bWxWaWV3UHJlcHJvY2Vzc29yIiwic291cmNlIiwiX2NhbGxlciIsIl9zZXR0aW5ncyIsInNvdXJjZVZpZXciLCJnZXRDb250cm9sbGVyIiwibWFjcm9BUElDaGlsZCIsImZpbmRBZ2dyZWdhdGVkT2JqZWN0cyIsInMiLCJpc0EiLCJtYW5hZ2VkT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJIb29rU3VwcG9ydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4dGVuc2lvbk92ZXJyaWRlRXhlY3V0aW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFhNTFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9YTUxWaWV3XCI7XG5cbi8qKlxuICogVGhpcyB0eXBlIGlzIHRvIGJlIGV4dGVuZGVkIHdpdGggYWxsIGNvbnRyb2xsZXIgZXh0ZW5zaW9ucyBhbmQgbWV0aG9kcyB0aGF0IGFyZSBob29rYWJsZS5cbiAqL1xudHlwZSBIb29rYWJsZUNvbnRyb2xsZXJFeHRlbnNpb25zID0ge1xuXHRlZGl0Rmxvdzoge1xuXHRcdG9uQWZ0ZXJTYXZlOiB0cnVlO1xuXHRcdG9uQmVmb3JlU2F2ZTogdHJ1ZTtcblx0fTtcblx0Y29sbGFib3JhdGlvbk1hbmFnZXI6IHtcblx0XHRjb2xsZWN0QXZhaWxhYmxlQ2FyZHM6IHRydWU7XG5cdH07XG5cdHBhZ2luYXRvcjoge1xuXHRcdGluaXRpYWxpemU6IHRydWU7XG5cdH07XG5cdHJvdXRpbmc6IHtcblx0XHRvbkFmdGVyQmluZGluZzogdHJ1ZTtcblx0fTtcbn07XG5cbnR5cGUgSGFuZGxlckNvbmZpZ3VyYXRpb248Q0V4dE5hbWUgZXh0ZW5kcyBrZXlvZiBIb29rYWJsZUNvbnRyb2xsZXJFeHRlbnNpb25zPiA9IHtcblx0bmFtZTogQ0V4dE5hbWU7XG5cdG1ldGhvZDoga2V5b2YgSG9va2FibGVDb250cm9sbGVyRXh0ZW5zaW9uc1tDRXh0TmFtZV07XG59O1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbnR5cGUgSGFuZGxlclJlZ2lzdHJhdGlvbiA9IEhhbmRsZXJDb25maWd1cmF0aW9uPGFueT4gJiB7IHRhcmdldE1ldGhvZDogc3RyaW5nIH07XG5cbnR5cGUgRnVuY3Rpb25NYXAgPSB7XG5cdFtrZXk6IHN0cmluZ106IEZ1bmN0aW9uO1xufTtcbnR5cGUgRGVlcEZ1bmN0aW9uTWFwID0ge1xuXHRba2V5OiBzdHJpbmddOiBGdW5jdGlvbk1hcDtcbn07XG50eXBlIEhvb2tNYXAgPSB7XG5cdGhvb2tlZEhhbmRsZXJzOiB7XG5cdFx0W2tleTogc3RyaW5nXTogRnVuY3Rpb25bXTtcblx0fTtcbn07XG5cbi8vIFVzZSB0d28gYXJyYXlzIGFzIHdlIGNhbm5vdCBpbmRleCBhIG1hcCB0aHJvdWdoIGFuIGFyYml0cmFyeSBvYmplY3QgaW5zdGFuY2VcbmNvbnN0IHJlZ2lzdGVyZWRJbnN0YW5jZXM6IEZ1bmN0aW9uW10gPSBbXTtcbmNvbnN0IHJlZ2lzdGVyZWRIYW5kbGVyczogSGFuZGxlclJlZ2lzdHJhdGlvbltdW10gPSBbXTtcblxuLyoqXG4gKiBNYXJrcyBhIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG1ldGhvZCB0byBiZSBob29rYWJsZSBieSBnZW5lcmF0aW5nIGFkZGl0aW9uYWwgbWV0aG9kcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGF0dGFjaCBhbmQgZGV0YWNoIGhhbmRsZXJzIGF0IHJ1bnRpbWUuXG4gKiBAcGFyYW0gZXhlY3V0aW9uXG4gKiBAcmV0dXJucyBBIG1ldGhvZCBkZWNvcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhvb2thYmxlKGV4ZWN1dGlvbjogRXh0ZW5zaW9uT3ZlcnJpZGVFeGVjdXRpb24pOiBNZXRob2REZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogdW5rbm93biwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCwgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yKSB7XG5cdFx0Y29uc3QgaW5kZXhhYmxlVGFyZ2V0ID0gdGFyZ2V0IGFzIEZ1bmN0aW9uTWFwO1xuXG5cdFx0aW5kZXhhYmxlVGFyZ2V0W2BhdHRhY2gke3Byb3BlcnR5S2V5LnRvU3RyaW5nKCl9YF0gPSBmdW5jdGlvbiAoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG5cdFx0XHRjb25zdCBjRXhUSW5zdGFuY2VIb29rTWFwID0gdGhpcyBhcyB1bmtub3duIGFzIEhvb2tNYXA7XG5cdFx0XHRpZiAoIWNFeFRJbnN0YW5jZUhvb2tNYXAuaG9va2VkSGFuZGxlcnMpIHtcblx0XHRcdFx0Y0V4VEluc3RhbmNlSG9va01hcC5ob29rZWRIYW5kbGVycyA9IHt9O1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFjRXhUSW5zdGFuY2VIb29rTWFwLmhvb2tlZEhhbmRsZXJzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRcdGNFeFRJbnN0YW5jZUhvb2tNYXAuaG9va2VkSGFuZGxlcnNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0gPSBbXTtcblx0XHRcdH1cblx0XHRcdGNFeFRJbnN0YW5jZUhvb2tNYXAuaG9va2VkSGFuZGxlcnNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0ucHVzaChmbik7XG5cdFx0fTtcblx0XHRpbmRleGFibGVUYXJnZXRbYGRldGFjaCR7cHJvcGVydHlLZXkudG9TdHJpbmcoKX1gXSA9IGZ1bmN0aW9uIChmbjogRnVuY3Rpb24pOiB2b2lkIHtcblx0XHRcdGNvbnN0IGNFeFRJbnN0YW5jZUhvb2tNYXAgPSB0aGlzIGFzIHVua25vd24gYXMgSG9va01hcDtcblx0XHRcdGNvbnN0IGhhbmRsZXJzID0gY0V4VEluc3RhbmNlSG9va01hcC5ob29rZWRIYW5kbGVyc1twcm9wZXJ0eUtleS50b1N0cmluZygpXTtcblx0XHRcdGNvbnN0IGluZGV4ID0gaGFuZGxlcnMuaW5kZXhPZihmbik7XG5cdFx0XHRpZiAoaW5kZXggIT09IC0xKSB7XG5cdFx0XHRcdGhhbmRsZXJzLnNwbGljZShpbmRleCwgMSk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdGNvbnN0IG9sZFZhbHVlID0gZGVzY3JpcHRvci52YWx1ZTtcblx0XHRpZiAoZXhlY3V0aW9uID09PSBcIkJlZm9yZUFzeW5jXCIgfHwgZXhlY3V0aW9uID09PSBcIkFmdGVyQXN5bmNcIikge1xuXHRcdFx0ZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzOiB1bmtub3duW10pOiBQcm9taXNlPHVua25vd24+IHtcblx0XHRcdFx0Y29uc3QgY0V4VEluc3RhbmNlSG9va01hcCA9IHRoaXMgYXMgdW5rbm93biBhcyBIb29rTWFwO1xuXHRcdFx0XHRjb25zdCBoYW5kbGVycyA9IChjRXhUSW5zdGFuY2VIb29rTWFwPy5ob29rZWRIYW5kbGVycyAmJiBjRXhUSW5zdGFuY2VIb29rTWFwPy5ob29rZWRIYW5kbGVyc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkgfHwgW107XG5cdFx0XHRcdGxldCByZXR1cm5WYWx1ZTogdW5rbm93bjtcblx0XHRcdFx0aWYgKGV4ZWN1dGlvbiA9PT0gXCJBZnRlckFzeW5jXCIpIHtcblx0XHRcdFx0XHRyZXR1cm5WYWx1ZSA9IGF3YWl0IG9sZFZhbHVlLmJpbmQodGhpcykoLi4uYXJncyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9yIChjb25zdCBoYW5kbGVyIG9mIGhhbmRsZXJzKSB7XG5cdFx0XHRcdFx0YXdhaXQgaGFuZGxlci5iaW5kKHRoaXMpKC4uLmFyZ3MpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChleGVjdXRpb24gPT09IFwiQmVmb3JlQXN5bmNcIikge1xuXHRcdFx0XHRcdHJldHVyblZhbHVlID0gYXdhaXQgb2xkVmFsdWUuYmluZCh0aGlzKSguLi5hcmdzKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gcmV0dXJuVmFsdWU7XG5cdFx0XHR9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKC4uLmFyZ3M6IHVua25vd25bXSk6IHVua25vd24ge1xuXHRcdFx0XHRjb25zdCBjRXhUSW5zdGFuY2VIb29rTWFwID0gdGhpcyBhcyB1bmtub3duIGFzIEhvb2tNYXA7XG5cdFx0XHRcdGNvbnN0IGhhbmRsZXJzID0gKGNFeFRJbnN0YW5jZUhvb2tNYXA/Lmhvb2tlZEhhbmRsZXJzICYmIGNFeFRJbnN0YW5jZUhvb2tNYXA/Lmhvb2tlZEhhbmRsZXJzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB8fCBbXTtcblx0XHRcdFx0bGV0IHJldHVyblZhbHVlOiB1bmtub3duO1xuXHRcdFx0XHRpZiAoZXhlY3V0aW9uID09PSBcIkFmdGVyXCIpIHtcblx0XHRcdFx0XHRyZXR1cm5WYWx1ZSA9IG9sZFZhbHVlLmJpbmQodGhpcykoLi4uYXJncyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9yIChjb25zdCBoYW5kbGVyIG9mIGhhbmRsZXJzKSB7XG5cdFx0XHRcdFx0aGFuZGxlci5iaW5kKHRoaXMpKC4uLmFyZ3MpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChleGVjdXRpb24gPT09IFwiQmVmb3JlXCIpIHtcblx0XHRcdFx0XHRyZXR1cm5WYWx1ZSA9IG9sZFZhbHVlLmJpbmQodGhpcykoLi4uYXJncyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHJldHVyblZhbHVlO1xuXHRcdFx0fTtcblx0XHR9XG5cdH07XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBuZXdSZWdpc3RyYXRpb24gaXMgYWxyZWFkeSBpbmNsdWRlZCBpbiBzb21lIGV4aXN0aW5nUmVnaXN0cmF0aW9ucyBieSBjb21wYXJpbmcgYWxsIHJlbGV2YW50IGF0dHJpYnV0ZXMuXG4gKiBAcGFyYW0gZXhpc3RpbmdSZWdpc3RyYXRpb25zXG4gKiBAcGFyYW0gbmV3UmVnaXN0cmF0aW9uXG4gKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIGNoZWNrXG4gKi9cbmZ1bmN0aW9uIGlzQWxyZWFkeVJlZ2lzdGVyZWQoZXhpc3RpbmdSZWdpc3RyYXRpb25zOiBIYW5kbGVyUmVnaXN0cmF0aW9uW10sIG5ld1JlZ2lzdHJhdGlvbjogSGFuZGxlclJlZ2lzdHJhdGlvbik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFleGlzdGluZ1JlZ2lzdHJhdGlvbnMuZmluZChcblx0XHQocikgPT4gci5uYW1lID09PSBuZXdSZWdpc3RyYXRpb24ubmFtZSAmJiByLm1ldGhvZCA9PT0gbmV3UmVnaXN0cmF0aW9uLm1ldGhvZCAmJiByLnRhcmdldE1ldGhvZCA9PT0gbmV3UmVnaXN0cmF0aW9uLnRhcmdldE1ldGhvZFxuXHQpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhIG1ldGhvZCBhcyBjb250cm9sbGVyIGV4dGVuc2lvbiBob29rIGhhbmRsZXIuXG4gKlxuICogQ3VycmVudGx5LCBvbmx5IG1ldGhvZHMgb2YgcnVudGltZSBidWlsZGluZyBibG9ja3MgYXJlIHN1cHBvcnRlZC5cbiAqIEBwYXJhbSBuYW1lIENvbnRyb2xsZXIgZXh0ZW5zaW9uIHRvIGhvb2sgaW50b1xuICogQHBhcmFtIG1ldGhvZCBNZXRob2QgdG8gaG9vayBpbnRvXG4gKiBAcmV0dXJucyBBIG1ldGhvZCBkZWNvcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xsZXJFeHRlbnNpb25IYW5kbGVyPENFeHROYW1lIGV4dGVuZHMga2V5b2YgSG9va2FibGVDb250cm9sbGVyRXh0ZW5zaW9ucz4oXG5cdG5hbWU6IENFeHROYW1lLFxuXHRtZXRob2Q6IGtleW9mIEhvb2thYmxlQ29udHJvbGxlckV4dGVuc2lvbnNbQ0V4dE5hbWVdXG4pOiBNZXRob2REZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogeyBjb25zdHJ1Y3RvcjogRnVuY3Rpb24gfSwgcHJvcGVydHlLZXk6IHN0cmluZykge1xuXHRcdGNvbnN0IG5ld1JlZ2lzdHJhdGlvbiA9IHsgbmFtZSwgbWV0aG9kOiBTdHJpbmcobWV0aG9kKSwgdGFyZ2V0TWV0aG9kOiBwcm9wZXJ0eUtleSB9O1xuXHRcdGNvbnN0IGluZGV4ID0gcmVnaXN0ZXJlZEluc3RhbmNlcy5pbmRleE9mKHRhcmdldC5jb25zdHJ1Y3Rvcik7XG5cblx0XHQvLyBXZSBuZWVkIHRvIGNoZWNrIGlmIHRoaXMgZXhhY3QgaGFuZGxlciBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgYXMgaGFuZGxlcnMgYXJlIHJlZ2lzdGVyZWQgc3RhdGljYWxseSAob24gdGhlIGNvbnN0cnVjdG9yKVxuXHRcdGlmIChpbmRleCAhPT0gLTEgJiYgIWlzQWxyZWFkeVJlZ2lzdGVyZWQocmVnaXN0ZXJlZEhhbmRsZXJzW2luZGV4XSwgbmV3UmVnaXN0cmF0aW9uKSkge1xuXHRcdFx0cmVnaXN0ZXJlZEhhbmRsZXJzW2luZGV4XS5wdXNoKG5ld1JlZ2lzdHJhdGlvbik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlZ2lzdGVyZWRJbnN0YW5jZXMucHVzaCh0YXJnZXQuY29uc3RydWN0b3IpO1xuXHRcdFx0cmVnaXN0ZXJlZEhhbmRsZXJzLnB1c2goW25ld1JlZ2lzdHJhdGlvbl0pO1xuXHRcdH1cblx0fSBhcyBNZXRob2REZWNvcmF0b3I7XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgYWxsIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIGhhbmRsZXJzIHJlZ2lzdGVyZWQgZm9yIGEgZ2l2ZW4gdGFyZ2V0LlxuICogQHBhcmFtIHRhcmdldCBUYXJnZXQgY2xhc3MgdG8gaW5pdGlhbGl6ZSB0aGUgaGFuZGxlcnMgZm9yXG4gKiBAcGFyYW0gdGFyZ2V0LmNvbnN0cnVjdG9yXG4gKiBAcGFyYW0gY29udHJvbGxlciBQYWdlQ29udHJvbGxlciBpbnN0YW5jZSB0byBnZXQgdGhlIGNvbnRyb2xsZXIgZXh0ZW5zaW9ucyBpbnN0YW5jZXMgZnJvbVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvbnRyb2xsZXJFeHRlbnNpb25Ib29rSGFuZGxlcnModGFyZ2V0OiB7IGNvbnN0cnVjdG9yOiBGdW5jdGlvbiB9LCBjb250cm9sbGVyOiBDb250cm9sbGVyKTogdm9pZCB7XG5cdGNvbnN0IGluZGV4ID0gcmVnaXN0ZXJlZEluc3RhbmNlcy5pbmRleE9mKHRhcmdldC5jb25zdHJ1Y3Rvcik7XG5cdGlmIChpbmRleCAhPT0gLTEpIHtcblx0XHRjb25zdCBpbmRleGFibGVDb250cm9sbGVyID0gY29udHJvbGxlciBhcyB1bmtub3duIGFzIERlZXBGdW5jdGlvbk1hcDtcblx0XHRjb25zdCBpbmRleGFibGVUYXJnZXQgPSB0YXJnZXQgYXMgdW5rbm93biBhcyBGdW5jdGlvbk1hcDtcblxuXHRcdGZvciAoY29uc3QgcmVnaXN0ZXJlZEhhbmRsZXIgb2YgcmVnaXN0ZXJlZEhhbmRsZXJzW2luZGV4XSkge1xuXHRcdFx0Y29uc3QgaGFuZGxlckZ1bmN0aW9uID0gaW5kZXhhYmxlVGFyZ2V0W3JlZ2lzdGVyZWRIYW5kbGVyLnRhcmdldE1ldGhvZF0uYmluZCh0YXJnZXQpO1xuXG5cdFx0XHRpbmRleGFibGVDb250cm9sbGVyW3JlZ2lzdGVyZWRIYW5kbGVyLm5hbWVdW2BhdHRhY2gke1N0cmluZyhyZWdpc3RlcmVkSGFuZGxlci5tZXRob2QpfWBdKGhhbmRsZXJGdW5jdGlvbik7XG5cdFx0XHRjb250cm9sbGVyLmdldFZpZXcoKT8uYXR0YWNoQmVmb3JlRXhpdCgoKSA9PiB7XG5cdFx0XHRcdGluZGV4YWJsZUNvbnRyb2xsZXJbcmVnaXN0ZXJlZEhhbmRsZXIubmFtZV1bYGRldGFjaCR7U3RyaW5nKHJlZ2lzdGVyZWRIYW5kbGVyLm1ldGhvZCl9YF0oaGFuZGxlckZ1bmN0aW9uKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24geG1sVmlld1ByZXByb2Nlc3Nvcihzb3VyY2U6IG9iamVjdCwgX2NhbGxlcj86IHVua25vd24sIF9zZXR0aW5ncz86IG9iamVjdCk6IHZvaWQge1xuXHRjb25zdCBzb3VyY2VWaWV3ID0gc291cmNlIGFzIFhNTFZpZXc7XG5cdGNvbnN0IGNvbnRyb2xsZXIgPSBzb3VyY2VWaWV3LmdldENvbnRyb2xsZXIoKSBhcyBDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuXHRpZiAoY29udHJvbGxlcikge1xuXHRcdGNvbnN0IG1hY3JvQVBJQ2hpbGQgPSBzb3VyY2VWaWV3LmZpbmRBZ2dyZWdhdGVkT2JqZWN0cyh0cnVlLCAocykgPT4gcy5pc0EoXCJzYXAuZmUubWFjcm9zLk1hY3JvQVBJXCIpKTtcblx0XHRmb3IgKGNvbnN0IG1hbmFnZWRPYmplY3Qgb2YgbWFjcm9BUElDaGlsZCkge1xuXHRcdFx0aW5pdENvbnRyb2xsZXJFeHRlbnNpb25Ib29rSGFuZGxlcnMobWFuYWdlZE9iamVjdCwgY29udHJvbGxlcik7XG5cdFx0fVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0VBSUE7QUFDQTtBQUNBO0VBcUJBO0VBZUE7RUFDQSxNQUFNQSxtQkFBK0IsR0FBRyxFQUFFO0VBQzFDLE1BQU1DLGtCQUEyQyxHQUFHLEVBQUU7O0VBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDTyxTQUFTQyxRQUFRQSxDQUFDQyxTQUFxQyxFQUFtQjtJQUNoRixPQUFPLFVBQVVDLE1BQWUsRUFBRUMsV0FBNEIsRUFBRUMsVUFBOEIsRUFBRTtNQUMvRixNQUFNQyxlQUFlLEdBQUdILE1BQXFCO01BRTdDRyxlQUFlLENBQUMsU0FBU0YsV0FBVyxDQUFDRyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVQyxFQUFZLEVBQVE7UUFDbEYsTUFBTUMsbUJBQW1CLEdBQUcsSUFBMEI7UUFDdEQsSUFBSSxDQUFDQSxtQkFBbUIsQ0FBQ0MsY0FBYyxFQUFFO1VBQ3hDRCxtQkFBbUIsQ0FBQ0MsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN4QztRQUNBLElBQUksQ0FBQ0QsbUJBQW1CLENBQUNDLGNBQWMsQ0FBQ04sV0FBVyxDQUFDRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDaEVFLG1CQUFtQixDQUFDQyxjQUFjLENBQUNOLFdBQVcsQ0FBQ0csUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUU7UUFDaEU7UUFDQUUsbUJBQW1CLENBQUNDLGNBQWMsQ0FBQ04sV0FBVyxDQUFDRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUNJLElBQUksQ0FBQ0gsRUFBRSxDQUFDO01BQ3BFLENBQUM7TUFDREYsZUFBZSxDQUFDLFNBQVNGLFdBQVcsQ0FBQ0csUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVUMsRUFBWSxFQUFRO1FBQ2xGLE1BQU1DLG1CQUFtQixHQUFHLElBQTBCO1FBQ3RELE1BQU1HLFFBQVEsR0FBR0gsbUJBQW1CLENBQUNDLGNBQWMsQ0FBQ04sV0FBVyxDQUFDRyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU1NLEtBQUssR0FBR0QsUUFBUSxDQUFDRSxPQUFPLENBQUNOLEVBQUUsQ0FBQztRQUNsQyxJQUFJSyxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7VUFDakJELFFBQVEsQ0FBQ0csTUFBTSxDQUFDRixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFCO01BQ0QsQ0FBQztNQUVELE1BQU1HLFFBQVEsR0FBR1gsVUFBVSxDQUFDWSxLQUFLO01BQ2pDLElBQUlmLFNBQVMsS0FBSyxhQUFhLElBQUlBLFNBQVMsS0FBSyxZQUFZLEVBQUU7UUFDOURHLFVBQVUsQ0FBQ1ksS0FBSyxHQUFHLGtCQUFzRDtVQUN4RSxNQUFNUixtQkFBbUIsR0FBRyxJQUEwQjtVQUN0RCxNQUFNRyxRQUFRLEdBQUlILG1CQUFtQixFQUFFQyxjQUFjLElBQUlELG1CQUFtQixFQUFFQyxjQUFjLENBQUNOLFdBQVcsQ0FBQ0csUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFLLEVBQUU7VUFDM0gsSUFBSVcsV0FBb0I7VUFDeEIsSUFBSWhCLFNBQVMsS0FBSyxZQUFZLEVBQUU7WUFDL0JnQixXQUFXLEdBQUcsTUFBTUYsUUFBUSxDQUFDRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBQUMsU0FBTyxDQUFDO1VBQ2pEO1VBQ0EsS0FBSyxNQUFNQyxPQUFPLElBQUlULFFBQVEsRUFBRTtZQUMvQixNQUFNUyxPQUFPLENBQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFBQyxTQUFPLENBQUM7VUFDbEM7VUFDQSxJQUFJbEIsU0FBUyxLQUFLLGFBQWEsRUFBRTtZQUNoQ2dCLFdBQVcsR0FBRyxNQUFNRixRQUFRLENBQUNHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFBQyxTQUFPLENBQUM7VUFDakQ7VUFDQSxPQUFPRixXQUFXO1FBQ25CLENBQUM7TUFDRixDQUFDLE1BQU07UUFDTmIsVUFBVSxDQUFDWSxLQUFLLEdBQUcsWUFBdUM7VUFDekQsTUFBTVIsbUJBQW1CLEdBQUcsSUFBMEI7VUFDdEQsTUFBTUcsUUFBUSxHQUFJSCxtQkFBbUIsRUFBRUMsY0FBYyxJQUFJRCxtQkFBbUIsRUFBRUMsY0FBYyxDQUFDTixXQUFXLENBQUNHLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSyxFQUFFO1VBQzNILElBQUlXLFdBQW9CO1VBQ3hCLElBQUloQixTQUFTLEtBQUssT0FBTyxFQUFFO1lBQzFCZ0IsV0FBVyxHQUFHRixRQUFRLENBQUNHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFBQyxTQUFPLENBQUM7VUFDM0M7VUFDQSxLQUFLLE1BQU1DLE9BQU8sSUFBSVQsUUFBUSxFQUFFO1lBQy9CUyxPQUFPLENBQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFBQyxTQUFPLENBQUM7VUFDNUI7VUFDQSxJQUFJbEIsU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUMzQmdCLFdBQVcsR0FBR0YsUUFBUSxDQUFDRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBQUMsU0FBTyxDQUFDO1VBQzNDO1VBQ0EsT0FBT0YsV0FBVztRQUNuQixDQUFDO01BQ0Y7SUFDRCxDQUFDO0VBQ0Y7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEFJLFFBQUEsQ0FBQXJCLFFBQUEsR0FBQUEsUUFBQTtFQU1BLFNBQVNzQixtQkFBbUJBLENBQUNDLHFCQUE0QyxFQUFFQyxlQUFvQyxFQUFXO0lBQ3pILE9BQU8sQ0FBQyxDQUFDRCxxQkFBcUIsQ0FBQ0UsSUFBSSxDQUNqQ0MsQ0FBQyxJQUFLQSxDQUFDLENBQUNDLElBQUksS0FBS0gsZUFBZSxDQUFDRyxJQUFJLElBQUlELENBQUMsQ0FBQ0UsTUFBTSxLQUFLSixlQUFlLENBQUNJLE1BQU0sSUFBSUYsQ0FBQyxDQUFDRyxZQUFZLEtBQUtMLGVBQWUsQ0FBQ0ssWUFDckgsQ0FBQztFQUNGOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDTyxTQUFTQywwQkFBMEJBLENBQ3pDSCxJQUFjLEVBQ2RDLE1BQW9ELEVBQ2xDO0lBQ2xCLE9BQU8sVUFBVTFCLE1BQWlDLEVBQUVDLFdBQW1CLEVBQUU7TUFDeEUsTUFBTXFCLGVBQWUsR0FBRztRQUFFRyxJQUFJO1FBQUVDLE1BQU0sRUFBRUcsTUFBTSxDQUFDSCxNQUFNLENBQUM7UUFBRUMsWUFBWSxFQUFFMUI7TUFBWSxDQUFDO01BQ25GLE1BQU1TLEtBQUssR0FBR2QsbUJBQW1CLENBQUNlLE9BQU8sQ0FBQ1gsTUFBTSxDQUFDOEIsV0FBVyxDQUFDOztNQUU3RDtNQUNBLElBQUlwQixLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQ1UsbUJBQW1CLENBQUN2QixrQkFBa0IsQ0FBQ2EsS0FBSyxDQUFDLEVBQUVZLGVBQWUsQ0FBQyxFQUFFO1FBQ3JGekIsa0JBQWtCLENBQUNhLEtBQUssQ0FBQyxDQUFDRixJQUFJLENBQUNjLGVBQWUsQ0FBQztNQUNoRCxDQUFDLE1BQU07UUFDTjFCLG1CQUFtQixDQUFDWSxJQUFJLENBQUNSLE1BQU0sQ0FBQzhCLFdBQVcsQ0FBQztRQUM1Q2pDLGtCQUFrQixDQUFDVyxJQUFJLENBQUMsQ0FBQ2MsZUFBZSxDQUFDLENBQUM7TUFDM0M7SUFDRCxDQUFDO0VBQ0Y7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEFILFFBQUEsQ0FBQVMsMEJBQUEsR0FBQUEsMEJBQUE7RUFNTyxTQUFTRyxtQ0FBbUNBLENBQUMvQixNQUFpQyxFQUFFZ0MsVUFBc0IsRUFBUTtJQUNwSCxNQUFNdEIsS0FBSyxHQUFHZCxtQkFBbUIsQ0FBQ2UsT0FBTyxDQUFDWCxNQUFNLENBQUM4QixXQUFXLENBQUM7SUFDN0QsSUFBSXBCLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtNQUNqQixNQUFNdUIsbUJBQW1CLEdBQUdELFVBQXdDO01BQ3BFLE1BQU03QixlQUFlLEdBQUdILE1BQWdDO01BRXhELEtBQUssTUFBTWtDLGlCQUFpQixJQUFJckMsa0JBQWtCLENBQUNhLEtBQUssQ0FBQyxFQUFFO1FBQzFELE1BQU15QixlQUFlLEdBQUdoQyxlQUFlLENBQUMrQixpQkFBaUIsQ0FBQ1AsWUFBWSxDQUFDLENBQUNYLElBQUksQ0FBQ2hCLE1BQU0sQ0FBQztRQUVwRmlDLG1CQUFtQixDQUFDQyxpQkFBaUIsQ0FBQ1QsSUFBSSxDQUFDLENBQUMsU0FBU0ksTUFBTSxDQUFDSyxpQkFBaUIsQ0FBQ1IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDUyxlQUFlLENBQUM7UUFDekdILFVBQVUsQ0FBQ0ksT0FBTyxDQUFDLENBQUMsRUFBRUMsZ0JBQWdCLENBQUMsTUFBTTtVQUM1Q0osbUJBQW1CLENBQUNDLGlCQUFpQixDQUFDVCxJQUFJLENBQUMsQ0FBQyxTQUFTSSxNQUFNLENBQUNLLGlCQUFpQixDQUFDUixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUNTLGVBQWUsQ0FBQztRQUMxRyxDQUFDLENBQUM7TUFDSDtJQUNEO0VBQ0Q7RUFBQ2hCLFFBQUEsQ0FBQVksbUNBQUEsR0FBQUEsbUNBQUE7RUFFTSxTQUFTTyxtQkFBbUJBLENBQUNDLE1BQWMsRUFBRUMsT0FBaUIsRUFBRUMsU0FBa0IsRUFBUTtJQUNoRyxNQUFNQyxVQUFVLEdBQUdILE1BQWlCO0lBQ3BDLE1BQU1QLFVBQVUsR0FBR1UsVUFBVSxDQUFDQyxhQUFhLENBQUMsQ0FBMkI7SUFDdkUsSUFBSVgsVUFBVSxFQUFFO01BQ2YsTUFBTVksYUFBYSxHQUFHRixVQUFVLENBQUNHLHFCQUFxQixDQUFDLElBQUksRUFBR0MsQ0FBQyxJQUFLQSxDQUFDLENBQUNDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO01BQ3BHLEtBQUssTUFBTUMsYUFBYSxJQUFJSixhQUFhLEVBQUU7UUFDMUNiLG1DQUFtQyxDQUFDaUIsYUFBYSxFQUFFaEIsVUFBVSxDQUFDO01BQy9EO0lBQ0Q7RUFDRDtFQUFDYixRQUFBLENBQUFtQixtQkFBQSxHQUFBQSxtQkFBQTtFQUFBLE9BQUFuQixRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -10,7 +10,6 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/ManagedObject", "sap/ui/
10
10
  var property = ClassSupport.property;
11
11
  var defineUI5Class = ClassSupport.defineUI5Class;
12
12
  function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
13
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
14
13
  function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
15
14
  function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
16
15
  function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
@@ -18,17 +17,17 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/ManagedObject", "sap/ui/
18
17
  let ViewLoader = (_dec = defineUI5Class("sap.fe.base.jsx-runtime.MDXViewLoader"), _dec2 = property({
19
18
  type: "string"
20
19
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_View) {
21
- _inheritsLoose(ViewLoader, _View);
22
20
  function ViewLoader(mSettings) {
23
21
  var _this;
24
22
  delete mSettings.cache;
25
23
  _this = _View.call(this, mSettings) || this;
26
- _initializerDefineProperty(_this, "viewName", _descriptor, _assertThisInitialized(_this));
24
+ _initializerDefineProperty(_this, "viewName", _descriptor, _this);
27
25
  _this.sViewName = _this.viewName;
28
- _this._oContainingView = _assertThisInitialized(_this);
26
+ _this._oContainingView = _this;
29
27
  return _this;
30
28
  }
31
29
  _exports = ViewLoader;
30
+ _inheritsLoose(ViewLoader, _View);
32
31
  var _proto = ViewLoader.prototype;
33
32
  _proto.loadDependency = async function loadDependency(name) {
34
33
  return new Promise(resolve => {
@@ -38,11 +37,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/ManagedObject", "sap/ui/
38
37
  });
39
38
  };
40
39
  _proto.initViewSettings = async function initViewSettings(mSettings) {
41
- var _getMetadata, _ref;
42
40
  const viewConfig = this.getViewData();
43
41
  const viewContent = viewConfig.viewContent || (await this.loadDependency(viewConfig._jsxViewName));
44
42
  delete mSettings.cache;
45
- if (viewContent !== null && viewContent !== void 0 && (_getMetadata = (_ref = viewContent).getMetadata) !== null && _getMetadata !== void 0 && _getMetadata.call(_ref).isA("sap.ui.core.mvc.Controller")) {
43
+ if (viewContent?.getMetadata?.().isA("sap.ui.core.mvc.Controller")) {
46
44
  mSettings.controller = new viewContent(viewConfig);
47
45
  } else {
48
46
  this.viewContentFn = viewContent;
@@ -57,19 +55,17 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/ManagedObject", "sap/ui/
57
55
  // @ts-ignore
58
56
  ;
59
57
  _proto.createContent = function createContent(oController) {
60
- var _mPreprocessors;
61
- ViewLoader.preprocessorData = this === null || this === void 0 ? void 0 : (_mPreprocessors = this.mPreprocessors) === null || _mPreprocessors === void 0 ? void 0 : _mPreprocessors.xml;
58
+ ViewLoader.preprocessorData = this?.mPreprocessors?.xml;
62
59
  ViewLoader.controller = oController;
63
60
  const owner = Component.getOwnerComponentFor(this) ?? {
64
61
  runAsOwner: fn => fn()
65
62
  };
66
63
  return owner.runAsOwner(() => {
67
64
  return ManagedObject.runWithPreprocessors(() => {
68
- var _this$viewContentFn;
69
65
  if (oController && oController.render) {
70
66
  return oController.render();
71
67
  }
72
- return (_this$viewContentFn = this.viewContentFn) === null || _this$viewContentFn === void 0 ? void 0 : _this$viewContentFn.call(this);
68
+ return this.viewContentFn?.();
73
69
  }, {
74
70
  id: sId => {
75
71
  return this.createId(sId);
@@ -81,13 +77,13 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/ManagedObject", "sap/ui/
81
77
  });
82
78
  };
83
79
  return ViewLoader;
84
- }(View), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "viewName", [_dec2], {
80
+ }(View), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "viewName", [_dec2], {
85
81
  configurable: true,
86
82
  enumerable: true,
87
83
  writable: true,
88
84
  initializer: null
89
- })), _class2)) || _class);
85
+ }), _class2)) || _class);
90
86
  _exports = ViewLoader;
91
87
  return _exports;
92
88
  }, false);
93
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWaWV3TG9hZGVyIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX1ZpZXciLCJfaW5oZXJpdHNMb29zZSIsIm1TZXR0aW5ncyIsIl90aGlzIiwiY2FjaGUiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJzVmlld05hbWUiLCJ2aWV3TmFtZSIsIl9vQ29udGFpbmluZ1ZpZXciLCJfZXhwb3J0cyIsIl9wcm90byIsInByb3RvdHlwZSIsImxvYWREZXBlbmRlbmN5IiwibmFtZSIsIlByb21pc2UiLCJyZXNvbHZlIiwic2FwIiwidWkiLCJyZXF1aXJlIiwiTURYQ29udGVudCIsImluaXRWaWV3U2V0dGluZ3MiLCJfZ2V0TWV0YWRhdGEiLCJfcmVmIiwidmlld0NvbmZpZyIsImdldFZpZXdEYXRhIiwidmlld0NvbnRlbnQiLCJfanN4Vmlld05hbWUiLCJnZXRNZXRhZGF0YSIsImlzQSIsImNvbnRyb2xsZXIiLCJ2aWV3Q29udGVudEZuIiwiZ2V0Q29udHJvbGxlck5hbWUiLCJ2aWV3RGF0YSIsImNvbnRyb2xsZXJOYW1lIiwiY3JlYXRlQ29udGVudCIsIm9Db250cm9sbGVyIiwiX21QcmVwcm9jZXNzb3JzIiwicHJlcHJvY2Vzc29yRGF0YSIsIm1QcmVwcm9jZXNzb3JzIiwieG1sIiwib3duZXIiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsInJ1bkFzT3duZXIiLCJmbiIsIk1hbmFnZWRPYmplY3QiLCJydW5XaXRoUHJlcHJvY2Vzc29ycyIsIl90aGlzJHZpZXdDb250ZW50Rm4iLCJyZW5kZXIiLCJpZCIsInNJZCIsImNyZWF0ZUlkIiwic2V0dGluZ3MiLCJWaWV3IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJWaWV3TG9hZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5vbkFic3RyYWN0Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFhNTFByZXByb2Nlc3NvckNvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlclwiO1xuaW1wb3J0IFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgdHlwZSB7IE1hbmFnZWRPYmplY3RFeCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi90eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxudHlwZSBKU1hWaWV3Q29udHJvbGxlciA9IENvbnRyb2xsZXIgJiB7IHJlbmRlcj86ICgpID0+IENvbnRyb2wgfTtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5iYXNlLmpzeC1ydW50aW1lLk1EWFZpZXdMb2FkZXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZpZXdMb2FkZXIgZXh0ZW5kcyBWaWV3IHtcblx0c3RhdGljIHByZXByb2Nlc3NvckRhdGE/OiBYTUxQcmVwcm9jZXNzb3JDb250ZXh0O1xuXG5cdHN0YXRpYyBjb250cm9sbGVyOiBDb250cm9sbGVyO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmlld05hbWUhOiBzdHJpbmc7XG5cblx0cHJpdmF0ZSB2aWV3Q29udGVudD86IENvbnRyb2w7XG5cblx0cHJpdmF0ZSB2aWV3Q29udGVudEZuPzogRnVuY3Rpb247XG5cblx0cHVibGljIHNWaWV3TmFtZTogc3RyaW5nO1xuXG5cdHB1YmxpYyBfb0NvbnRhaW5pbmdWaWV3OiB0aGlzO1xuXG5cdGNvbnN0cnVjdG9yKG1TZXR0aW5nczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcblx0XHRkZWxldGUgbVNldHRpbmdzLmNhY2hlO1xuXHRcdHN1cGVyKG1TZXR0aW5ncyk7XG5cdFx0dGhpcy5zVmlld05hbWUgPSB0aGlzLnZpZXdOYW1lO1xuXHRcdHRoaXMuX29Db250YWluaW5nVmlldyA9IHRoaXM7XG5cdH1cblxuXHRhc3luYyBsb2FkRGVwZW5kZW5jeShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHNhcC51aS5yZXF1aXJlKFtuYW1lXSwgKE1EWENvbnRlbnQ6IEZ1bmN0aW9uKTogdm9pZCA9PiB7XG5cdFx0XHRcdHJlc29sdmUoTURYQ29udGVudCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdGFzeW5jIGluaXRWaWV3U2V0dGluZ3MobVNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IHZpZXdDb25maWcgPSB0aGlzLmdldFZpZXdEYXRhKCkgYXMgeyB2aWV3Q29udGVudD86IENvbnRyb2w7IF9qc3hWaWV3TmFtZTogc3RyaW5nIH0gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0XHRjb25zdCB2aWV3Q29udGVudCA9IHZpZXdDb25maWcudmlld0NvbnRlbnQgfHwgKChhd2FpdCB0aGlzLmxvYWREZXBlbmRlbmN5KHZpZXdDb25maWcuX2pzeFZpZXdOYW1lKSkgYXMgQ29udHJvbCB8IEZ1bmN0aW9uKTtcblx0XHRkZWxldGUgbVNldHRpbmdzLmNhY2hlO1xuXHRcdGlmICgodmlld0NvbnRlbnQgYXMgQ29udHJvbCk/LmdldE1ldGFkYXRhPy4oKS5pc0EoXCJzYXAudWkuY29yZS5tdmMuQ29udHJvbGxlclwiKSkge1xuXHRcdFx0bVNldHRpbmdzLmNvbnRyb2xsZXIgPSBuZXcgKHZpZXdDb250ZW50IGFzIE5vbkFic3RyYWN0Q2xhc3M8Q29udHJvbD4pKHZpZXdDb25maWcgYXMgJENvbnRyb2xTZXR0aW5ncyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudmlld0NvbnRlbnRGbiA9IHZpZXdDb250ZW50IGFzIEZ1bmN0aW9uO1xuXHRcdH1cblx0fVxuXG5cdGdldENvbnRyb2xsZXJOYW1lKCk6IHN0cmluZyB7XG5cdFx0Y29uc3Qgdmlld0RhdGEgPSB0aGlzLmdldFZpZXdEYXRhKCkgYXMgeyBjb250cm9sbGVyTmFtZTogc3RyaW5nIH07XG5cdFx0cmV0dXJuIHZpZXdEYXRhLmNvbnRyb2xsZXJOYW1lO1xuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHQvLyBAdHMtaWdub3JlXG5cdGNyZWF0ZUNvbnRlbnQob0NvbnRyb2xsZXI6IEpTWFZpZXdDb250cm9sbGVyKTogQ29udHJvbCB7XG5cdFx0Vmlld0xvYWRlci5wcmVwcm9jZXNzb3JEYXRhID0gKHRoaXMgYXMgeyBtUHJlcHJvY2Vzc29ycz86IHsgeG1sPzogWE1MUHJlcHJvY2Vzc29yQ29udGV4dCB9IH0pPy5tUHJlcHJvY2Vzc29ycz8ueG1sO1xuXHRcdFZpZXdMb2FkZXIuY29udHJvbGxlciA9IG9Db250cm9sbGVyO1xuXG5cdFx0Y29uc3Qgb3duZXIgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3IodGhpcykhID8/IHsgcnVuQXNPd25lcjogKGZuOiBGdW5jdGlvbikgPT4gZm4oKSB9O1xuXHRcdHJldHVybiBvd25lci5ydW5Bc093bmVyKCgpID0+IHtcblx0XHRcdHJldHVybiAoTWFuYWdlZE9iamVjdCBhcyBNYW5hZ2VkT2JqZWN0RXgpLnJ1bldpdGhQcmVwcm9jZXNzb3JzKFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0aWYgKG9Db250cm9sbGVyICYmIG9Db250cm9sbGVyLnJlbmRlcikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG9Db250cm9sbGVyLnJlbmRlcigpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdGhpcy52aWV3Q29udGVudEZuPy4oKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkOiAoc0lkOiBzdHJpbmcpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmNyZWF0ZUlkKHNJZCk7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRzZXR0aW5nczogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0dGhpcy5jb250cm9sbGVyID0gb0NvbnRyb2xsZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O01BYXFCQSxVQUFVLElBQUFDLElBQUEsR0FEOUJDLGNBQWMsQ0FBQyx1Q0FBdUMsQ0FBQyxFQUFBQyxLQUFBLEdBTXREQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFKLElBQUEsQ0FBQUssTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxLQUFBO0lBQUFDLGNBQUEsQ0FBQVQsVUFBQSxFQUFBUSxLQUFBO0lBVzdCLFNBQUFSLFdBQVlVLFNBQWtDLEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQy9DLE9BQU9ELFNBQVMsQ0FBQ0UsS0FBSztNQUN0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
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWaWV3TG9hZGVyIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX1ZpZXciLCJtU2V0dGluZ3MiLCJfdGhpcyIsImNhY2hlIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJzVmlld05hbWUiLCJ2aWV3TmFtZSIsIl9vQ29udGFpbmluZ1ZpZXciLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwibG9hZERlcGVuZGVuY3kiLCJuYW1lIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzYXAiLCJ1aSIsInJlcXVpcmUiLCJNRFhDb250ZW50IiwiaW5pdFZpZXdTZXR0aW5ncyIsInZpZXdDb25maWciLCJnZXRWaWV3RGF0YSIsInZpZXdDb250ZW50IiwiX2pzeFZpZXdOYW1lIiwiZ2V0TWV0YWRhdGEiLCJpc0EiLCJjb250cm9sbGVyIiwidmlld0NvbnRlbnRGbiIsImdldENvbnRyb2xsZXJOYW1lIiwidmlld0RhdGEiLCJjb250cm9sbGVyTmFtZSIsImNyZWF0ZUNvbnRlbnQiLCJvQ29udHJvbGxlciIsInByZXByb2Nlc3NvckRhdGEiLCJtUHJlcHJvY2Vzc29ycyIsInhtbCIsIm93bmVyIiwiQ29tcG9uZW50IiwiZ2V0T3duZXJDb21wb25lbnRGb3IiLCJydW5Bc093bmVyIiwiZm4iLCJNYW5hZ2VkT2JqZWN0IiwicnVuV2l0aFByZXByb2Nlc3NvcnMiLCJyZW5kZXIiLCJpZCIsInNJZCIsImNyZWF0ZUlkIiwic2V0dGluZ3MiLCJWaWV3IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJWaWV3TG9hZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5vbkFic3RyYWN0Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFhNTFByZXByb2Nlc3NvckNvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlclwiO1xuaW1wb3J0IFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgdHlwZSB7IE1hbmFnZWRPYmplY3RFeCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi90eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxudHlwZSBKU1hWaWV3Q29udHJvbGxlciA9IENvbnRyb2xsZXIgJiB7IHJlbmRlcj86ICgpID0+IENvbnRyb2wgfTtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5iYXNlLmpzeC1ydW50aW1lLk1EWFZpZXdMb2FkZXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZpZXdMb2FkZXIgZXh0ZW5kcyBWaWV3IHtcblx0c3RhdGljIHByZXByb2Nlc3NvckRhdGE/OiBYTUxQcmVwcm9jZXNzb3JDb250ZXh0O1xuXG5cdHN0YXRpYyBjb250cm9sbGVyOiBDb250cm9sbGVyO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmlld05hbWUhOiBzdHJpbmc7XG5cblx0cHJpdmF0ZSB2aWV3Q29udGVudD86IENvbnRyb2w7XG5cblx0cHJpdmF0ZSB2aWV3Q29udGVudEZuPzogRnVuY3Rpb247XG5cblx0cHVibGljIHNWaWV3TmFtZTogc3RyaW5nO1xuXG5cdHB1YmxpYyBfb0NvbnRhaW5pbmdWaWV3OiB0aGlzO1xuXG5cdGNvbnN0cnVjdG9yKG1TZXR0aW5nczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcblx0XHRkZWxldGUgbVNldHRpbmdzLmNhY2hlO1xuXHRcdHN1cGVyKG1TZXR0aW5ncyk7XG5cdFx0dGhpcy5zVmlld05hbWUgPSB0aGlzLnZpZXdOYW1lO1xuXHRcdHRoaXMuX29Db250YWluaW5nVmlldyA9IHRoaXM7XG5cdH1cblxuXHRhc3luYyBsb2FkRGVwZW5kZW5jeShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHNhcC51aS5yZXF1aXJlKFtuYW1lXSwgKE1EWENvbnRlbnQ6IEZ1bmN0aW9uKTogdm9pZCA9PiB7XG5cdFx0XHRcdHJlc29sdmUoTURYQ29udGVudCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdGFzeW5jIGluaXRWaWV3U2V0dGluZ3MobVNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IHZpZXdDb25maWcgPSB0aGlzLmdldFZpZXdEYXRhKCkgYXMgeyB2aWV3Q29udGVudD86IENvbnRyb2w7IF9qc3hWaWV3TmFtZTogc3RyaW5nIH0gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblx0XHRjb25zdCB2aWV3Q29udGVudCA9IHZpZXdDb25maWcudmlld0NvbnRlbnQgfHwgKChhd2FpdCB0aGlzLmxvYWREZXBlbmRlbmN5KHZpZXdDb25maWcuX2pzeFZpZXdOYW1lKSkgYXMgQ29udHJvbCB8IEZ1bmN0aW9uKTtcblx0XHRkZWxldGUgbVNldHRpbmdzLmNhY2hlO1xuXHRcdGlmICgodmlld0NvbnRlbnQgYXMgQ29udHJvbCk/LmdldE1ldGFkYXRhPy4oKS5pc0EoXCJzYXAudWkuY29yZS5tdmMuQ29udHJvbGxlclwiKSkge1xuXHRcdFx0bVNldHRpbmdzLmNvbnRyb2xsZXIgPSBuZXcgKHZpZXdDb250ZW50IGFzIE5vbkFic3RyYWN0Q2xhc3M8Q29udHJvbD4pKHZpZXdDb25maWcgYXMgJENvbnRyb2xTZXR0aW5ncyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudmlld0NvbnRlbnRGbiA9IHZpZXdDb250ZW50IGFzIEZ1bmN0aW9uO1xuXHRcdH1cblx0fVxuXG5cdGdldENvbnRyb2xsZXJOYW1lKCk6IHN0cmluZyB7XG5cdFx0Y29uc3Qgdmlld0RhdGEgPSB0aGlzLmdldFZpZXdEYXRhKCkgYXMgeyBjb250cm9sbGVyTmFtZTogc3RyaW5nIH07XG5cdFx0cmV0dXJuIHZpZXdEYXRhLmNvbnRyb2xsZXJOYW1lO1xuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHQvLyBAdHMtaWdub3JlXG5cdGNyZWF0ZUNvbnRlbnQob0NvbnRyb2xsZXI6IEpTWFZpZXdDb250cm9sbGVyKTogQ29udHJvbCB7XG5cdFx0Vmlld0xvYWRlci5wcmVwcm9jZXNzb3JEYXRhID0gKHRoaXMgYXMgeyBtUHJlcHJvY2Vzc29ycz86IHsgeG1sPzogWE1MUHJlcHJvY2Vzc29yQ29udGV4dCB9IH0pPy5tUHJlcHJvY2Vzc29ycz8ueG1sO1xuXHRcdFZpZXdMb2FkZXIuY29udHJvbGxlciA9IG9Db250cm9sbGVyO1xuXG5cdFx0Y29uc3Qgb3duZXIgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3IodGhpcykhID8/IHsgcnVuQXNPd25lcjogKGZuOiBGdW5jdGlvbikgPT4gZm4oKSB9O1xuXHRcdHJldHVybiBvd25lci5ydW5Bc093bmVyKCgpID0+IHtcblx0XHRcdHJldHVybiAoTWFuYWdlZE9iamVjdCBhcyBNYW5hZ2VkT2JqZWN0RXgpLnJ1bldpdGhQcmVwcm9jZXNzb3JzKFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0aWYgKG9Db250cm9sbGVyICYmIG9Db250cm9sbGVyLnJlbmRlcikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG9Db250cm9sbGVyLnJlbmRlcigpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdGhpcy52aWV3Q29udGVudEZuPy4oKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkOiAoc0lkOiBzdHJpbmcpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmNyZWF0ZUlkKHNJZCk7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRzZXR0aW5nczogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0dGhpcy5jb250cm9sbGVyID0gb0NvbnRyb2xsZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7TUFhcUJBLFVBQVUsSUFBQUMsSUFBQSxHQUQ5QkMsY0FBYyxDQUFDLHVDQUF1QyxDQUFDLEVBQUFDLEtBQUEsR0FNdERDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUosSUFBQSxDQUFBSyxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLEtBQUE7SUFXN0IsU0FBQVIsV0FBWVMsU0FBa0MsRUFBRTtNQUFBLElBQUFDLEtBQUE7TUFDL0MsT0FBT0QsU0FBUyxDQUFDRSxLQUFLO01BQ3RCRCxLQUFBLEdBQUFGLEtBQUEsQ0FBQUksSUFBQSxPQUFNSCxTQUFTLENBQUM7TUFBQ0ksMEJBQUEsQ0FBQUgsS0FBQSxjQUFBSSxXQUFBLEVBQUFKLEtBQUE7TUFDakJBLEtBQUEsQ0FBS0ssU0FBUyxHQUFHTCxL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