obsidian-dev-utils 14.4.1-beta.1 → 14.4.1-beta.10

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.
@@ -32,7 +32,7 @@ __export(Library_exports, {
32
32
  LIBRARY_VERSION: () => LIBRARY_VERSION
33
33
  });
34
34
  module.exports = __toCommonJS(Library_exports);
35
- const LIBRARY_VERSION = "14.4.1-beta.1";
35
+ const LIBRARY_VERSION = "14.4.1-beta.10";
36
36
  const LIBRARY_NAME = "obsidian-dev-utils";
37
37
  const LIBRARY_STYLES = ".obsidian-dev-utils {\n /* default styles */\n}\n\n.obsidian-dev-utils.alert-modal {\n /* default styles */\n}\n\n.obsidian-dev-utils.confirm-modal {\n /* default styles */\n}\n\n.obsidian-dev-utils.plugin-settings-tab {\n /* default styles */\n}\n\n.obsidian-dev-utils.plugin-settings-tab .value-component-invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n\n.obsidian-dev-utils.prompt-modal {\n /* default styles */\n}\n\n.obsidian-dev-utils.select-item-modal {\n /* default styles */\n}\n";
38
38
  // Annotate the CommonJS export names for ESM import in node:
@@ -43,14 +43,17 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
43
43
  this.containerEl.addClass(import_CssClass.CssClass.LibraryName, (0, import_PluginId.getPluginId)(), import_CssClass.CssClass.PluginSettingsTab);
44
44
  }
45
45
  validatorsMap = /* @__PURE__ */ new WeakMap();
46
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
- async revalidate(valueComponent) {
48
- const validator = this.validatorsMap.get(valueComponent);
49
- if (validator) {
50
- return await validator();
51
- }
52
- return true;
53
- }
46
+ /**
47
+ * Binds a value component to a plugin setting.
48
+ *
49
+ * @typeParam UIValue - The type of the value of the UI component.
50
+ * @typeParam TValueComponent - The type of the value component.
51
+ * @typeParam Property - The property of the plugin settings to bind to.
52
+ * @param valueComponent - The value component to bind.
53
+ * @param property - The property of the plugin settings to bind to.
54
+ * @param options - The options for binding the value component.
55
+ * @returns The value component.
56
+ */
54
57
  bind(valueComponent, property, options) {
55
58
  const DEFAULT_OPTIONS = {
56
59
  componentToPluginSettingsValueConverter: (value) => value,
@@ -95,9 +98,23 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
95
98
  (0, import_Async.invokeAsyncSafely)(() => validate());
96
99
  return valueComponent;
97
100
  }
101
+ /**
102
+ * Revalidates the value component.
103
+ *
104
+ * @param valueComponent - The value component to revalidate.
105
+ * @returns A promise that resolves to a boolean indicating whether the value component is valid.
106
+ */
107
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
+ async revalidate(valueComponent) {
109
+ const validator = this.validatorsMap.get(valueComponent);
110
+ if (validator) {
111
+ return await validator();
112
+ }
113
+ return true;
114
+ }
98
115
  }
99
116
  // Annotate the CommonJS export names for ESM import in node:
100
117
  0 && (module.exports = {
101
118
  PluginSettingsTabBase
102
119
  });
103
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5nc1RhYkJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFBsdWdpblNldHRpbmdzVGFiQmFzZVxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5nIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBJdCBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kIHRvIGJpbmQgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsZSBjaGFuZ2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IFBsdWdpblNldHRpbmdUYWIgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgS2V5c01hdGNoaW5nIH0gZnJvbSAnLi4vLi4vQHR5cGVzLnRzJztcbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5TZXR0aW5nc0Jhc2UgfSBmcm9tICcuL1BsdWdpblNldHRpbmdzQmFzZS50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nIH0gZnJvbSAnLi9WYWx1ZUNvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcblxufSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IFBsdWdpbkJhc2UgfSBmcm9tICcuL1BsdWdpbkJhc2UudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuL1BsdWdpbklkLnRzJztcbmltcG9ydCB7IGdldFZhbGlkYXRvckVsZW1lbnQgfSBmcm9tICcuL1ZhbHVlQ29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBiaW5kaW5nIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+IHtcbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKi9cbiAgb25DaGFuZ2VkPzogKCkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdCB0byBiaW5kIHRoZSBjb21wb25lbnQgdG8uIERlZmF1bHQgaXMgdGhlIHBsdWdpbidzIGN1cnJlbnQgc2V0dGluZ3MuXG4gICAqL1xuICBwbHVnaW5TZXR0aW5ncz86IFBsdWdpblNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBzYXZlcyB0aGUgcGx1Z2luIHNldHRpbmdzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCB2YWx1ZSBjaGFuZ2VzLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZEF1dG9TYXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgc2hvd3MgdGhlIHZhbGlkYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgaW52YWxpZC4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBzaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIFVJIHZhbHVlIGJlZm9yZSBzZXR0aW5nIGl0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIEFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGAoZW1wdHkgc3RyaW5nKWAgb3IgYHZvaWRgIGlmIGl0IGlzIHZhbGlkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICB2YWx1ZVZhbGlkYXRvcj86ICh1aVZhbHVlOiBVSVZhbHVlKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD47XG59XG5cbi8qKlxuICogRXh0ZW5kZWQgb3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWUsIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3M+IGV4dGVuZHMgQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBVSSBjb21wb25lbnQncyB2YWx1ZSBiYWNrIHRvIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIGNvbXBvbmVudFRvUGx1Z2luU2V0dGluZ3NWYWx1ZUNvbnZlcnRlcjogKHVpVmFsdWU6IFVJVmFsdWUpID0+IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHBsdWdpbiBzZXR0aW5ncyB2YWx1ZSB0byB0aGUgdmFsdWUgdXNlZCBieSB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gcGx1Z2luU2V0dGluZ3NWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgVUkgY29tcG9uZW50LlxuICAgKi9cbiAgcGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyOiAocGx1Z2luU2V0dGluZ3NWYWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBVSVZhbHVlO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5ncyB0YWJzIGluIE9ic2lkaWFuLlxuICogUHJvdmlkZXMgYSBtZXRob2QgZm9yIGJpbmRpbmcgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsaW5nIGNoYW5nZXMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgUGx1Z2luQmFzZS5cbiAqIEB0eXBlUGFyYW0gUGx1Z2luU2V0dGluZ3MgLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpblNldHRpbmdzVGFiQmFzZTxcbiAgVFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3M+LFxuICBQbHVnaW5TZXR0aW5ncyBleHRlbmRzIFBsdWdpblNldHRpbmdzQmFzZSA9IFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPGluZmVyIFA+ID8gUCA6IG5ldmVyXG4+IGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XG4gIHByaXZhdGUgdmFsaWRhdG9yc01hcCA9IG5ldyBXZWFrTWFwPFZhbHVlQ29tcG9uZW50PHVua25vd24+LCAoKSA9PiBQcm9taXNlPGJvb2xlYW4+PigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcnJpZGUgcGx1Z2luOiBUUGx1Z2luKSB7XG4gICAgc3VwZXIocGx1Z2luLmFwcCwgcGx1Z2luKTtcbiAgICB0aGlzLmNvbnRhaW5lckVsLmFkZENsYXNzKENzc0NsYXNzLkxpYnJhcnlOYW1lLCBnZXRQbHVnaW5JZCgpLCBDc3NDbGFzcy5QbHVnaW5TZXR0aW5nc1RhYik7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgYXN5bmMgcmV2YWxpZGF0ZSh2YWx1ZUNvbXBvbmVudDogVmFsdWVDb21wb25lbnQ8YW55Pik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yc01hcC5nZXQodmFsdWVDb21wb25lbnQpO1xuICAgIGlmICh2YWxpZGF0b3IpIHtcbiAgICAgIHJldHVybiBhd2FpdCB2YWxpZGF0b3IoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBiaW5kPFxuICAgIFVJVmFsdWUsXG4gICAgVFZhbHVlQ29tcG9uZW50XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5OiBLZXlzTWF0Y2hpbmc8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+LFxuICAgIG9wdGlvbnM/OiBCaW5kT3B0aW9uczxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZT5cbiAgKTogVFZhbHVlQ29tcG9uZW50O1xuXG4gIHByb3RlY3RlZCBiaW5kPFxuICAgIFVJVmFsdWUsXG4gICAgVFZhbHVlQ29tcG9uZW50LFxuICAgIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3NcbiAgPihcbiAgICB2YWx1ZUNvbXBvbmVudDogVFZhbHVlQ29tcG9uZW50ICYgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmc8VUlWYWx1ZT4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIG9wdGlvbnM6IEJpbmRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWUsIFByb3BlcnR5PlxuICApOiBUVmFsdWVDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIGJpbmQ8XG4gICAgVUlWYWx1ZSxcbiAgICBUVmFsdWVDb21wb25lbnQsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5nc1xuICA+KFxuICAgIHZhbHVlQ29tcG9uZW50OiBUVmFsdWVDb21wb25lbnQgJiBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgb3B0aW9ucz86IEJpbmRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlPlxuICApOiBUVmFsdWVDb21wb25lbnQge1xuICAgIHR5cGUgUHJvcGVydHlUeXBlID0gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogQmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHk+ID0ge1xuICAgICAgY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyOiAodmFsdWU6IFVJVmFsdWUpOiBQcm9wZXJ0eVR5cGUgPT4gdmFsdWUgYXMgUHJvcGVydHlUeXBlLFxuICAgICAgcGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyOiAodmFsdWU6IFByb3BlcnR5VHlwZSk6IFVJVmFsdWUgPT4gdmFsdWUgYXMgVUlWYWx1ZSxcbiAgICAgIHNob3VsZEF1dG9TYXZlOiB0cnVlLFxuICAgICAgc2hvdWxkU2hvd1ZhbGlkYXRpb25NZXNzYWdlOiB0cnVlXG4gICAgfTtcblxuICAgIGNvbnN0IG9wdGlvbnNFeHQ6IEJpbmRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWUsIFByb3BlcnR5PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3QgcGx1Z2luU2V0dGluZ3NGbiA9ICgpOiBQbHVnaW5TZXR0aW5ncyA9PiBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHRoaXMucGx1Z2luLnNldHRpbmdzQ29weTtcblxuICAgIGNvbnN0IHZhbGlkYXRlID0gYXN5bmMgKHVpVmFsdWU/OiBVSVZhbHVlKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnNFeHQudmFsdWVWYWxpZGF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB1aVZhbHVlID8/PSB2YWx1ZUNvbXBvbmVudC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgb3B0aW9uc0V4dC52YWx1ZVZhbGlkYXRvcih1aVZhbHVlKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBjb25zdCB2YWxpZGF0b3JFbGVtZW50ID0gZ2V0VmFsaWRhdG9yRWxlbWVudCh2YWx1ZUNvbXBvbmVudCk7XG4gICAgICBpZiAodmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyAnJyk7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQudGl0bGUgPSBlcnJvck1lc3NhZ2UgPz8gJyc7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQudG9nZ2xlQ2xhc3MoQ3NzQ2xhc3MuVmFsdWVDb21wb25lbnRJbnZhbGlkLCAhIWVycm9yTWVzc2FnZSk7XG4gICAgICAgIGlmICh2YWxpZGF0b3JFbGVtZW50LmlzQWN0aXZlRWxlbWVudCgpICYmIG9wdGlvbnNFeHQuc2hvdWxkU2hvd1ZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICAgICAgdmFsaWRhdG9yRWxlbWVudC5yZXBvcnRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAhZXJyb3JNZXNzYWdlO1xuICAgIH07XG5cbiAgICB2YWx1ZUNvbXBvbmVudFxuICAgICAgLnNldFZhbHVlKG9wdGlvbnNFeHQucGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyKHBsdWdpblNldHRpbmdzRm4oKVtwcm9wZXJ0eV0pKVxuICAgICAgLm9uQ2hhbmdlKGFzeW5jICh1aVZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghYXdhaXQgdmFsaWRhdGUodWlWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGx1Z2luU2V0dGluZ3MgPSBwbHVnaW5TZXR0aW5nc0ZuKCk7XG4gICAgICAgIHBsdWdpblNldHRpbmdzW3Byb3BlcnR5XSA9IG9wdGlvbnNFeHQuY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyKHVpVmFsdWUpO1xuICAgICAgICBpZiAob3B0aW9uc0V4dC5zaG91bGRBdXRvU2F2ZSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBvcHRpb25zRXh0Lm9uQ2hhbmdlZD8uKCk7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHZhbGlkYXRvckVsZW1lbnQgPSBnZXRWYWxpZGF0b3JFbGVtZW50KHZhbHVlQ29tcG9uZW50KTtcbiAgICB2YWxpZGF0b3JFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGNvbnZlcnRBc3luY1RvU3luYygoKSA9PiB2YWxpZGF0ZSgpKSk7XG4gICAgdmFsaWRhdG9yRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIGNvbnZlcnRBc3luY1RvU3luYygoKSA9PiB2YWxpZGF0ZSgpKSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0aGlzLnZhbGlkYXRvcnNNYXAuc2V0KHZhbHVlQ29tcG9uZW50IGFzIFZhbHVlQ29tcG9uZW50PGFueT4sICgpID0+IHZhbGlkYXRlKCkpO1xuXG4gICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gdmFsaWRhdGUoKSk7XG4gICAgcmV0dXJuIHZhbHVlQ29tcG9uZW50O1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBQWlDO0FBT2pDLG1CQUlPO0FBQ1Asc0JBQXlCO0FBQ3pCLHdCQUEyQjtBQUMzQixzQkFBNEI7QUFDNUIsNEJBQW9DO0FBNkQ3QixNQUFlLDhCQUdaLGlDQUFpQjtBQUFBLEVBR2xCLFlBQTRCLFFBQWlCO0FBQ2xELFVBQU0sT0FBTyxLQUFLLE1BQU07QUFEUztBQUVqQyxTQUFLLFlBQVksU0FBUyx5QkFBUyxpQkFBYSw2QkFBWSxHQUFHLHlCQUFTLGlCQUFpQjtBQUFBLEVBQzNGO0FBQUEsRUFMUSxnQkFBZ0Isb0JBQUksUUFBeUQ7QUFBQTtBQUFBLEVBUXJGLE1BQWEsV0FBVyxnQkFBdUQ7QUFDN0UsVUFBTSxZQUFZLEtBQUssY0FBYyxJQUFJLGNBQWM7QUFDdkQsUUFBSSxXQUFXO0FBQ2IsYUFBTyxNQUFNLFVBQVU7QUFBQSxJQUN6QjtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQUEsRUFxQlUsS0FLUixnQkFDQSxVQUNBLFNBQ2lCO0FBRWpCLFVBQU0sa0JBQTBFO0FBQUEsTUFDOUUseUNBQXlDLENBQUMsVUFBaUM7QUFBQSxNQUMzRSx5Q0FBeUMsQ0FBQyxVQUFpQztBQUFBLE1BQzNFLGdCQUFnQjtBQUFBLE1BQ2hCLDZCQUE2QjtBQUFBLElBQy9CO0FBRUEsVUFBTSxhQUFxRSxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsUUFBUTtBQUM1RyxVQUFNLG1CQUFtQixNQUFzQixXQUFXLGtCQUFrQixLQUFLLE9BQU87QUFFeEYsVUFBTSxXQUFXLE9BQU8sWUFBd0M7QUFDOUQsVUFBSSxDQUFDLFdBQVcsZ0JBQWdCO0FBQzlCLGVBQU87QUFBQSxNQUNUO0FBQ0Esa0JBQVksZUFBZSxTQUFTO0FBQ3BDLFlBQU0sZUFBZSxNQUFNLFdBQVcsZUFBZSxPQUFPO0FBQzVELFlBQU1BLHdCQUFtQiwyQ0FBb0IsY0FBYztBQUMzRCxVQUFJQSxtQkFBa0I7QUFDcEIsUUFBQUEsa0JBQWlCLGtCQUFrQixnQkFBZ0IsRUFBRTtBQUNyRCxRQUFBQSxrQkFBaUIsUUFBUSxnQkFBZ0I7QUFDekMsUUFBQUEsa0JBQWlCLFlBQVkseUJBQVMsdUJBQXVCLENBQUMsQ0FBQyxZQUFZO0FBQzNFLFlBQUlBLGtCQUFpQixnQkFBZ0IsS0FBSyxXQUFXLDZCQUE2QjtBQUNoRixVQUFBQSxrQkFBaUIsZUFBZTtBQUFBLFFBQ2xDO0FBQUEsTUFDRjtBQUVBLGFBQU8sQ0FBQztBQUFBLElBQ1Y7QUFFQSxtQkFDRyxTQUFTLFdBQVcsd0NBQXdDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQ3pGLFNBQVMsT0FBTyxZQUFZO0FBQzNCLFVBQUksQ0FBQyxNQUFNLFNBQVMsT0FBTyxHQUFHO0FBQzVCO0FBQUEsTUFDRjtBQUNBLFlBQU0saUJBQWlCLGlCQUFpQjtBQUN4QyxxQkFBZSxRQUFRLElBQUksV0FBVyx3Q0FBd0MsT0FBTztBQUNyRixVQUFJLFdBQVcsZ0JBQWdCO0FBQzdCLGNBQU0sS0FBSyxPQUFPLGFBQWEsY0FBYztBQUFBLE1BQy9DO0FBRUEsWUFBTSxXQUFXLFlBQVk7QUFBQSxJQUMvQixDQUFDO0FBRUgsVUFBTSx1QkFBbUIsMkNBQW9CLGNBQWM7QUFDM0Qsc0JBQWtCLGlCQUFpQixhQUFTLGlDQUFtQixNQUFNLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGLHNCQUFrQixpQkFBaUIsWUFBUSxpQ0FBbUIsTUFBTSxTQUFTLENBQUMsQ0FBQztBQUUvRSxTQUFLLGNBQWMsSUFBSSxnQkFBdUMsTUFBTSxTQUFTLENBQUM7QUFFOUUsd0NBQWtCLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbInZhbGlkYXRvckVsZW1lbnQiXQp9Cg==
120
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5nc1RhYkJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFBsdWdpblNldHRpbmdzVGFiQmFzZVxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5nIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBJdCBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kIHRvIGJpbmQgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsZSBjaGFuZ2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IFBsdWdpblNldHRpbmdUYWIgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgS2V5c01hdGNoaW5nIH0gZnJvbSAnLi4vLi4vQHR5cGVzLnRzJztcbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5TZXR0aW5nc0Jhc2UgfSBmcm9tICcuL1BsdWdpblNldHRpbmdzQmFzZS50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nIH0gZnJvbSAnLi9WYWx1ZUNvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcblxufSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IFBsdWdpbkJhc2UgfSBmcm9tICcuL1BsdWdpbkJhc2UudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuL1BsdWdpbklkLnRzJztcbmltcG9ydCB7IGdldFZhbGlkYXRvckVsZW1lbnQgfSBmcm9tICcuL1ZhbHVlQ29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBiaW5kaW5nIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+IHtcbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKi9cbiAgb25DaGFuZ2VkPzogKCkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdCB0byBiaW5kIHRoZSBjb21wb25lbnQgdG8uIERlZmF1bHQgaXMgdGhlIHBsdWdpbidzIGN1cnJlbnQgc2V0dGluZ3MuXG4gICAqL1xuICBwbHVnaW5TZXR0aW5ncz86IFBsdWdpblNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBzYXZlcyB0aGUgcGx1Z2luIHNldHRpbmdzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCB2YWx1ZSBjaGFuZ2VzLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZEF1dG9TYXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgc2hvd3MgdGhlIHZhbGlkYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgaW52YWxpZC4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBzaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIFVJIHZhbHVlIGJlZm9yZSBzZXR0aW5nIGl0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIEFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGAoZW1wdHkgc3RyaW5nKWAgb3IgYHZvaWRgIGlmIGl0IGlzIHZhbGlkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICB2YWx1ZVZhbGlkYXRvcj86ICh1aVZhbHVlOiBVSVZhbHVlKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD47XG59XG5cbi8qKlxuICogRXh0ZW5kZWQgb3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWUsIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3M+IGV4dGVuZHMgQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBVSSBjb21wb25lbnQncyB2YWx1ZSBiYWNrIHRvIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIGNvbXBvbmVudFRvUGx1Z2luU2V0dGluZ3NWYWx1ZUNvbnZlcnRlcjogKHVpVmFsdWU6IFVJVmFsdWUpID0+IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHBsdWdpbiBzZXR0aW5ncyB2YWx1ZSB0byB0aGUgdmFsdWUgdXNlZCBieSB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gcGx1Z2luU2V0dGluZ3NWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgVUkgY29tcG9uZW50LlxuICAgKi9cbiAgcGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyOiAocGx1Z2luU2V0dGluZ3NWYWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBVSVZhbHVlO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5ncyB0YWJzIGluIE9ic2lkaWFuLlxuICogUHJvdmlkZXMgYSBtZXRob2QgZm9yIGJpbmRpbmcgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsaW5nIGNoYW5nZXMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgUGx1Z2luQmFzZS5cbiAqIEB0eXBlUGFyYW0gUGx1Z2luU2V0dGluZ3MgLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpblNldHRpbmdzVGFiQmFzZTxcbiAgVFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3M+LFxuICBQbHVnaW5TZXR0aW5ncyBleHRlbmRzIFBsdWdpblNldHRpbmdzQmFzZSA9IFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPGluZmVyIFA+ID8gUCA6IG5ldmVyXG4+IGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XG4gIHByaXZhdGUgdmFsaWRhdG9yc01hcCA9IG5ldyBXZWFrTWFwPFZhbHVlQ29tcG9uZW50PHVua25vd24+LCAoKSA9PiBQcm9taXNlPGJvb2xlYW4+PigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcnJpZGUgcGx1Z2luOiBUUGx1Z2luKSB7XG4gICAgc3VwZXIocGx1Z2luLmFwcCwgcGx1Z2luKTtcbiAgICB0aGlzLmNvbnRhaW5lckVsLmFkZENsYXNzKENzc0NsYXNzLkxpYnJhcnlOYW1lLCBnZXRQbHVnaW5JZCgpLCBDc3NDbGFzcy5QbHVnaW5TZXR0aW5nc1RhYik7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBVSVZhbHVlIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEB0eXBlUGFyYW0gVFZhbHVlQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBiaW5kLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyB0byBiaW5kIHRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBiaW5kaW5nIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYmluZDxcbiAgICBVSVZhbHVlLFxuICAgIFRWYWx1ZUNvbXBvbmVudFxuICA+KFxuICAgIHZhbHVlQ29tcG9uZW50OiBUVmFsdWVDb21wb25lbnQgJiBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPixcbiAgICBwcm9wZXJ0eTogS2V5c01hdGNoaW5nPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlPixcbiAgICBvcHRpb25zPzogQmluZE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+XG4gICk6IFRWYWx1ZUNvbXBvbmVudDtcblxuICAvKipcbiAgICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBVSVZhbHVlIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEB0eXBlUGFyYW0gVFZhbHVlQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBQcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgYmluZGluZyB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIGJpbmQ8XG4gICAgVUlWYWx1ZSxcbiAgICBUVmFsdWVDb21wb25lbnQsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5nc1xuICA+KFxuICAgIHZhbHVlQ29tcG9uZW50OiBUVmFsdWVDb21wb25lbnQgJiBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgb3B0aW9uczogQmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHk+XG4gICk6IFRWYWx1ZUNvbXBvbmVudDtcblxuICAvKipcbiAgICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBVSVZhbHVlIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEB0eXBlUGFyYW0gVFZhbHVlQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBQcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgYmluZGluZyB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIGJpbmQ8XG4gICAgVUlWYWx1ZSxcbiAgICBUVmFsdWVDb21wb25lbnQsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5nc1xuICA+KFxuICAgIHZhbHVlQ29tcG9uZW50OiBUVmFsdWVDb21wb25lbnQgJiBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgb3B0aW9ucz86IEJpbmRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlPlxuICApOiBUVmFsdWVDb21wb25lbnQge1xuICAgIHR5cGUgUHJvcGVydHlUeXBlID0gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogQmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHk+ID0ge1xuICAgICAgY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyOiAodmFsdWU6IFVJVmFsdWUpOiBQcm9wZXJ0eVR5cGUgPT4gdmFsdWUgYXMgUHJvcGVydHlUeXBlLFxuICAgICAgcGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyOiAodmFsdWU6IFByb3BlcnR5VHlwZSk6IFVJVmFsdWUgPT4gdmFsdWUgYXMgVUlWYWx1ZSxcbiAgICAgIHNob3VsZEF1dG9TYXZlOiB0cnVlLFxuICAgICAgc2hvdWxkU2hvd1ZhbGlkYXRpb25NZXNzYWdlOiB0cnVlXG4gICAgfTtcblxuICAgIGNvbnN0IG9wdGlvbnNFeHQ6IEJpbmRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWUsIFByb3BlcnR5PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3QgcGx1Z2luU2V0dGluZ3NGbiA9ICgpOiBQbHVnaW5TZXR0aW5ncyA9PiBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHRoaXMucGx1Z2luLnNldHRpbmdzQ29weTtcblxuICAgIGNvbnN0IHZhbGlkYXRlID0gYXN5bmMgKHVpVmFsdWU/OiBVSVZhbHVlKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnNFeHQudmFsdWVWYWxpZGF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB1aVZhbHVlID8/PSB2YWx1ZUNvbXBvbmVudC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgb3B0aW9uc0V4dC52YWx1ZVZhbGlkYXRvcih1aVZhbHVlKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBjb25zdCB2YWxpZGF0b3JFbGVtZW50ID0gZ2V0VmFsaWRhdG9yRWxlbWVudCh2YWx1ZUNvbXBvbmVudCk7XG4gICAgICBpZiAodmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyAnJyk7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQudGl0bGUgPSBlcnJvck1lc3NhZ2UgPz8gJyc7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQudG9nZ2xlQ2xhc3MoQ3NzQ2xhc3MuVmFsdWVDb21wb25lbnRJbnZhbGlkLCAhIWVycm9yTWVzc2FnZSk7XG4gICAgICAgIGlmICh2YWxpZGF0b3JFbGVtZW50LmlzQWN0aXZlRWxlbWVudCgpICYmIG9wdGlvbnNFeHQuc2hvdWxkU2hvd1ZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICAgICAgdmFsaWRhdG9yRWxlbWVudC5yZXBvcnRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAhZXJyb3JNZXNzYWdlO1xuICAgIH07XG5cbiAgICB2YWx1ZUNvbXBvbmVudFxuICAgICAgLnNldFZhbHVlKG9wdGlvbnNFeHQucGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyKHBsdWdpblNldHRpbmdzRm4oKVtwcm9wZXJ0eV0pKVxuICAgICAgLm9uQ2hhbmdlKGFzeW5jICh1aVZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghYXdhaXQgdmFsaWRhdGUodWlWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGx1Z2luU2V0dGluZ3MgPSBwbHVnaW5TZXR0aW5nc0ZuKCk7XG4gICAgICAgIHBsdWdpblNldHRpbmdzW3Byb3BlcnR5XSA9IG9wdGlvbnNFeHQuY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyKHVpVmFsdWUpO1xuICAgICAgICBpZiAob3B0aW9uc0V4dC5zaG91bGRBdXRvU2F2ZSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBvcHRpb25zRXh0Lm9uQ2hhbmdlZD8uKCk7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHZhbGlkYXRvckVsZW1lbnQgPSBnZXRWYWxpZGF0b3JFbGVtZW50KHZhbHVlQ29tcG9uZW50KTtcbiAgICB2YWxpZGF0b3JFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGNvbnZlcnRBc3luY1RvU3luYygoKSA9PiB2YWxpZGF0ZSgpKSk7XG4gICAgdmFsaWRhdG9yRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIGNvbnZlcnRBc3luY1RvU3luYygoKSA9PiB2YWxpZGF0ZSgpKSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0aGlzLnZhbGlkYXRvcnNNYXAuc2V0KHZhbHVlQ29tcG9uZW50IGFzIFZhbHVlQ29tcG9uZW50PGFueT4sICgpID0+IHZhbGlkYXRlKCkpO1xuXG4gICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gdmFsaWRhdGUoKSk7XG4gICAgcmV0dXJuIHZhbHVlQ29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldmFsaWRhdGVzIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gcmV2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgdmFsdWUgY29tcG9uZW50IGlzIHZhbGlkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJvdGVjdGVkIGFzeW5jIHJldmFsaWRhdGUodmFsdWVDb21wb25lbnQ6IFZhbHVlQ29tcG9uZW50PGFueT4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLnZhbGlkYXRvcnNNYXAuZ2V0KHZhbHVlQ29tcG9uZW50KTtcbiAgICBpZiAodmFsaWRhdG9yKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdmFsaWRhdG9yKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBaUM7QUFPakMsbUJBSU87QUFDUCxzQkFBeUI7QUFDekIsd0JBQTJCO0FBQzNCLHNCQUE0QjtBQUM1Qiw0QkFBb0M7QUE2RDdCLE1BQWUsOEJBR1osaUNBQWlCO0FBQUEsRUFHbEIsWUFBNEIsUUFBaUI7QUFDbEQsVUFBTSxPQUFPLEtBQUssTUFBTTtBQURTO0FBRWpDLFNBQUssWUFBWSxTQUFTLHlCQUFTLGlCQUFhLDZCQUFZLEdBQUcseUJBQVMsaUJBQWlCO0FBQUEsRUFDM0Y7QUFBQSxFQUxRLGdCQUFnQixvQkFBSSxRQUF5RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQTBEM0UsS0FLUixnQkFDQSxVQUNBLFNBQ2lCO0FBRWpCLFVBQU0sa0JBQTBFO0FBQUEsTUFDOUUseUNBQXlDLENBQUMsVUFBaUM7QUFBQSxNQUMzRSx5Q0FBeUMsQ0FBQyxVQUFpQztBQUFBLE1BQzNFLGdCQUFnQjtBQUFBLE1BQ2hCLDZCQUE2QjtBQUFBLElBQy9CO0FBRUEsVUFBTSxhQUFxRSxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsUUFBUTtBQUM1RyxVQUFNLG1CQUFtQixNQUFzQixXQUFXLGtCQUFrQixLQUFLLE9BQU87QUFFeEYsVUFBTSxXQUFXLE9BQU8sWUFBd0M7QUFDOUQsVUFBSSxDQUFDLFdBQVcsZ0JBQWdCO0FBQzlCLGVBQU87QUFBQSxNQUNUO0FBQ0Esa0JBQVksZUFBZSxTQUFTO0FBQ3BDLFlBQU0sZUFBZSxNQUFNLFdBQVcsZUFBZSxPQUFPO0FBQzVELFlBQU1BLHdCQUFtQiwyQ0FBb0IsY0FBYztBQUMzRCxVQUFJQSxtQkFBa0I7QUFDcEIsUUFBQUEsa0JBQWlCLGtCQUFrQixnQkFBZ0IsRUFBRTtBQUNyRCxRQUFBQSxrQkFBaUIsUUFBUSxnQkFBZ0I7QUFDekMsUUFBQUEsa0JBQWlCLFlBQVkseUJBQVMsdUJBQXVCLENBQUMsQ0FBQyxZQUFZO0FBQzNFLFlBQUlBLGtCQUFpQixnQkFBZ0IsS0FBSyxXQUFXLDZCQUE2QjtBQUNoRixVQUFBQSxrQkFBaUIsZUFBZTtBQUFBLFFBQ2xDO0FBQUEsTUFDRjtBQUVBLGFBQU8sQ0FBQztBQUFBLElBQ1Y7QUFFQSxtQkFDRyxTQUFTLFdBQVcsd0NBQXdDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQ3pGLFNBQVMsT0FBTyxZQUFZO0FBQzNCLFVBQUksQ0FBQyxNQUFNLFNBQVMsT0FBTyxHQUFHO0FBQzVCO0FBQUEsTUFDRjtBQUNBLFlBQU0saUJBQWlCLGlCQUFpQjtBQUN4QyxxQkFBZSxRQUFRLElBQUksV0FBVyx3Q0FBd0MsT0FBTztBQUNyRixVQUFJLFdBQVcsZ0JBQWdCO0FBQzdCLGNBQU0sS0FBSyxPQUFPLGFBQWEsY0FBYztBQUFBLE1BQy9DO0FBRUEsWUFBTSxXQUFXLFlBQVk7QUFBQSxJQUMvQixDQUFDO0FBRUgsVUFBTSx1QkFBbUIsMkNBQW9CLGNBQWM7QUFDM0Qsc0JBQWtCLGlCQUFpQixhQUFTLGlDQUFtQixNQUFNLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGLHNCQUFrQixpQkFBaUIsWUFBUSxpQ0FBbUIsTUFBTSxTQUFTLENBQUMsQ0FBQztBQUUvRSxTQUFLLGNBQWMsSUFBSSxnQkFBdUMsTUFBTSxTQUFTLENBQUM7QUFFOUUsd0NBQWtCLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE1BQWdCLFdBQVcsZ0JBQXVEO0FBQ2hGLFVBQU0sWUFBWSxLQUFLLGNBQWMsSUFBSSxjQUFjO0FBQ3ZELFFBQUksV0FBVztBQUNiLGFBQU8sTUFBTSxVQUFVO0FBQUEsSUFDekI7QUFFQSxXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogWyJ2YWxpZGF0b3JFbGVtZW50Il0KfQo=
@@ -65,7 +65,34 @@ export declare abstract class PluginSettingsTabBase<TPlugin extends PluginBase<P
65
65
  plugin: TPlugin;
66
66
  private validatorsMap;
67
67
  constructor(plugin: TPlugin);
68
- revalidate(valueComponent: ValueComponent<any>): Promise<boolean>;
68
+ /**
69
+ * Binds a value component to a plugin setting.
70
+ *
71
+ * @typeParam UIValue - The type of the value of the UI component.
72
+ * @typeParam TValueComponent - The type of the value component.
73
+ * @param valueComponent - The value component to bind.
74
+ * @param property - The property of the plugin settings to bind to.
75
+ * @param options - The options for binding the value component.
76
+ * @returns The value component.
77
+ */
69
78
  protected bind<UIValue, TValueComponent>(valueComponent: TValueComponent & ValueComponentWithChangeTracking<UIValue>, property: KeysMatching<PluginSettings, UIValue>, options?: BindOptions<PluginSettings, UIValue>): TValueComponent;
79
+ /**
80
+ * Binds a value component to a plugin setting.
81
+ *
82
+ * @typeParam UIValue - The type of the value of the UI component.
83
+ * @typeParam TValueComponent - The type of the value component.
84
+ * @typeParam Property - The property of the plugin settings to bind to.
85
+ * @param valueComponent - The value component to bind.
86
+ * @param property - The property of the plugin settings to bind to.
87
+ * @param options - The options for binding the value component.
88
+ * @returns The value component.
89
+ */
70
90
  protected bind<UIValue, TValueComponent, Property extends keyof PluginSettings>(valueComponent: TValueComponent & ValueComponentWithChangeTracking<UIValue>, property: Property, options: BindOptionsExtended<PluginSettings, UIValue, Property>): TValueComponent;
91
+ /**
92
+ * Revalidates the value component.
93
+ *
94
+ * @param valueComponent - The value component to revalidate.
95
+ * @returns A promise that resolves to a boolean indicating whether the value component is valid.
96
+ */
97
+ protected revalidate(valueComponent: ValueComponent<any>): Promise<boolean>;
71
98
  }
@@ -47,6 +47,7 @@ var import_copyToObsidianPluginsFolderPlugin = require('./copyToObsidianPluginsF
47
47
  var import_fixEsmPlugin = require('./fixEsmPlugin.cjs');
48
48
  var import_fixSourceMapsPlugin = require('./fixSourceMapsPlugin.cjs');
49
49
  var import_preprocessPlugin = require('./preprocessPlugin.cjs');
50
+ var import_watchCssChangesPlugin = require('./watchCssChangesPlugin.cjs');
50
51
  var __process = globalThis["process"] ?? {
51
52
  "browser": true,
52
53
  "cwd": () => "/",
@@ -133,6 +134,7 @@ async function buildObsidianPlugin(options) {
133
134
  platform: "node",
134
135
  plugins: [
135
136
  (0, import_preprocessPlugin.preprocessPlugin)(),
137
+ (0, import_watchCssChangesPlugin.watchCssChangesPlugin)(),
136
138
  (0, import_fixEsmPlugin.fixEsmPlugin)(),
137
139
  (0, import_fixSourceMapsPlugin.fixSourceMapsPlugin)(isProductionBuild, distPath, pluginName),
138
140
  ...customEsbuildPlugins,
@@ -162,4 +164,4 @@ async function invokeEsbuild(buildContext, isProductionBuild) {
162
164
  buildObsidianPlugin,
163
165
  invokeEsbuild
164
166
  });
165
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9PYnNpZGlhblBsdWdpbkJ1aWxkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE9ic2lkaWFuUGx1Z2luQnVpbGRlclxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBidWlsZCBhbmQgYnVuZGxlIGFuIE9ic2lkaWFuIHBsdWdpbiB1c2luZyBlc2J1aWxkLlxuICogSXQgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgYnVpbGQgcHJvY2VzcyBiYXNlZCBvbiBkaWZmZXJlbnQgYnVpbGQgbW9kZXMgKGRldmVsb3BtZW50IG9yIHByb2R1Y3Rpb24pLFxuICogYW5kIGl0IHNldHMgdXAgdmFyaW91cyBlc2J1aWxkIHBsdWdpbnMgdG8gcHJlcHJvY2VzcywgbGludCwgZml4IHNvdXJjZSBtYXBzLCBhbmQgY29weSBmaWxlcyB0byB0aGUgT2JzaWRpYW4gcGx1Z2lucyBmb2xkZXIuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbnRleHQsXG4gIEJ1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICdkb3RlbnYnO1xuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9FcnJvci50cyc7XG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuL1BsdWdpbi9PYnNpZGlhblBsdWdpblJlcG9QYXRocy50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBidWlsZFZhbGlkYXRlIH0gZnJvbSAnLi4vYnVpbGQudHMnO1xuaW1wb3J0IHsgQ2xpVGFza1Jlc3VsdCB9IGZyb20gJy4uL0NsaVV0aWxzLnRzJztcbmltcG9ydCB7XG4gIGJ1aWx0aW5Nb2R1bGVzLFxuICBjcCxcbiAgZXhpc3RzU3luYyxcbiAgbWtkaXIsXG4gIHByb2Nlc3MsXG4gIHJtLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnLi4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi4vTnBtLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tICcuLi9Sb290LnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luLnRzJztcbmltcG9ydCB7IGZpeEVzbVBsdWdpbiB9IGZyb20gJy4vZml4RXNtUGx1Z2luLnRzJztcbmltcG9ydCB7IGZpeFNvdXJjZU1hcHNQbHVnaW4gfSBmcm9tICcuL2ZpeFNvdXJjZU1hcHNQbHVnaW4udHMnO1xuaW1wb3J0IHsgcHJlcHJvY2Vzc1BsdWdpbiB9IGZyb20gJy4vcHJlcHJvY2Vzc1BsdWdpbi50cyc7XG5cbi8qKlxuICogRW51bWVyYXRpb24gcmVwcmVzZW50aW5nIHRoZSBidWlsZCBtb2Rlcy5cbiAqL1xuZXhwb3J0IGVudW0gQnVpbGRNb2RlIHtcbiAgLyoqIERldmVsb3BtZW50IG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgRGV2ZWxvcG1lbnQsXG4gIC8qKiBQcm9kdWN0aW9uIG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGAvKlxuVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgRVNCVUlMRFxuaWYgeW91IHdhbnQgdG8gdmlldyB0aGUgc291cmNlLCBwbGVhc2UgdmlzaXQgdGhlIGdpdGh1YiByZXBvc2l0b3J5IG9mIHRoaXMgcGx1Z2luXG4qL1xuYDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBidWlsZGluZyBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPYnNpZGlhblBsdWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIFRoZSBidWlsZCBtb2RlLCBlaXRoZXIgRGV2ZWxvcG1lbnQgb3IgUHJvZHVjdGlvblxuICAgKi9cbiAgbW9kZTogQnVpbGRNb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19ESVJgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgb2JzaWRpYW5Db25maWdEaXI/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYge1xuICBPQlNJRElBTl9DT05GSUdfRElSOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RlIGFuZCBjb25maWd1cmF0aW9uIGRpcmVjdG9yeS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBidWlsZGluZyB0aGUgcGx1Z2luLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBgVGFza1Jlc3VsdGAgaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ob3B0aW9uczogQnVpbGRPYnNpZGlhblBsdWdpbk9wdGlvbnMpOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgYXdhaXQgYnVpbGRWYWxpZGF0ZSgpO1xuICBjb25maWcoKTtcbiAgY29uc3Qgb2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52ID0gcHJvY2Vzcy5lbnYgYXMgUGFydGlhbDxPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnY+O1xuXG4gIGNvbnN0IHtcbiAgICBjdXN0b21Fc2J1aWxkUGx1Z2lucyA9IFtdLFxuICAgIG1vZGUsXG4gICAgb2JzaWRpYW5Db25maWdEaXI6IF9vYnNpZGlhbkNvbmZpZ0RpclxuICB9ID0gb3B0aW9ucztcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0RpciA9IF9vYnNpZGlhbkNvbmZpZ0RpciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0RJUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBtb2RlID09PSBCdWlsZE1vZGUuUHJvZHVjdGlvbjtcblxuICBjb25zdCBkaXN0RGlyID0gcmVzb2x2ZVBhdGhGcm9tUm9vdChpc1Byb2R1Y3Rpb25CdWlsZCA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYpO1xuICBpZiAoIWRpc3REaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGRpc3QgZGlyZWN0b3J5Jyk7XG4gIH1cblxuICBpZiAoZXhpc3RzU3luYyhkaXN0RGlyKSkge1xuICAgIGF3YWl0IHJtKGRpc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICB9XG4gIGF3YWl0IG1rZGlyKGRpc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IGRpc3RGaWxlTmFtZXMgPSBbXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlN0eWxlc0Nzc1xuICBdO1xuICBpZiAoIWlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oZGlzdERpciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBkaXN0RmlsZU5hbWVzKSB7XG4gICAgY29uc3QgbG9jYWxGaWxlID0gcmVzb2x2ZVBhdGhGcm9tUm9vdChmaWxlTmFtZSk7XG4gICAgaWYgKCFsb2NhbEZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVybWluZSB0aGUgbG9jYWwgZmlsZSBmb3IgJHtmaWxlTmFtZX1gKTtcbiAgICB9XG4gICAgY29uc3QgZGlzdEZpbGUgPSBqb2luKGRpc3REaXIsIGZpbGVOYW1lKTtcblxuICAgIGlmIChleGlzdHNTeW5jKGxvY2FsRmlsZSkpIHtcbiAgICAgIGF3YWl0IGNwKGxvY2FsRmlsZSwgZGlzdEZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3RQYXRoID0gam9pbihkaXN0RGlyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IHBsdWdpbk5hbWUgPSBwYWNrYWdlSnNvbi5uYW1lID8/ICcodW5rbm93biknO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zID0ge1xuICAgIGJhbm5lcjoge1xuICAgICAganM6IGJhbm5lclxuICAgIH0sXG4gICAgYnVuZGxlOiB0cnVlLFxuICAgIGVudHJ5UG9pbnRzOiBbcmVzb2x2ZVBhdGhGcm9tUm9vdChqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpblRzKSkgPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignQ291bGQgbm90IGRldGVybWluZSB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBwbHVnaW4nKSldLFxuICAgIGV4dGVybmFsOiBbXG4gICAgICAnb2JzaWRpYW4nLFxuICAgICAgJ2VsZWN0cm9uJyxcbiAgICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgICAnQGNvZGVtaXJyb3IvY29tbWFuZHMnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAgICdAY29kZW1pcnJvci9zZWFyY2gnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAgICdAY29kZW1pcnJvci92aWV3JyxcbiAgICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAgICdAbGV6ZXIvaGlnaGxpZ2h0JyxcbiAgICAgICdAbGV6ZXIvbHInLFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2VzbGludCcsXG4gICAgICAuLi5idWlsdGluTW9kdWxlc1xuICAgIF0sXG4gICAgZm9ybWF0OiAnY2pzJyxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1pbmlmeTogaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgb3V0ZmlsZTogZGlzdFBhdGgsXG4gICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBwcmVwcm9jZXNzUGx1Z2luKCksXG4gICAgICBmaXhFc21QbHVnaW4oKSxcbiAgICAgIGZpeFNvdXJjZU1hcHNQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQsIGRpc3RQYXRoLCBwbHVnaW5OYW1lKSxcbiAgICAgIC4uLmN1c3RvbUVzYnVpbGRQbHVnaW5zLFxuICAgICAgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luKGlzUHJvZHVjdGlvbkJ1aWxkLCBkaXN0RGlyLCBvYnNpZGlhbkNvbmZpZ0RpciwgcGx1Z2luTmFtZSlcbiAgICBdLFxuICAgIHNvdXJjZW1hcDogaXNQcm9kdWN0aW9uQnVpbGQgPyBmYWxzZSA6ICdpbmxpbmUnLFxuICAgIHRhcmdldDogJ2VzbmV4dCcsXG4gICAgdHJlZVNoYWtpbmc6IHRydWVcbiAgfTtcblxuICBjb25zdCBidWlsZENvbnRleHQgPSBhd2FpdCBjb250ZXh0KGJ1aWxkT3B0aW9ucyk7XG4gIHJldHVybiBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgaXNQcm9kdWN0aW9uQnVpbGQpO1xufVxuXG4vKipcbiAqIEludm9rZXMgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCB0aGUgcHJvdmlkZWQgYnVpbGQgY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGJ1aWxkIGNvbnRleHQgZ2VuZXJhdGVkIGJ5IGVzYnVpbGQuXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGBUYXNrUmVzdWx0YCBpbmRpY2F0aW5nIHRoZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhlIGJ1aWxkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW52b2tlRXNidWlsZChidWlsZENvbnRleHQ6IEJ1aWxkQ29udGV4dCwgaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW4pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgaWYgKGlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGRDb250ZXh0LnJlYnVpbGQoKTtcbiAgICBjb25zdCBpc1N1Y2Nlc3MgPSByZXN1bHQuZXJyb3JzLmxlbmd0aCA9PSAwICYmIHJlc3VsdC53YXJuaW5ncy5sZW5ndGggPT0gMDtcbiAgICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5TdWNjZXNzKGlzU3VjY2Vzcyk7XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgYnVpbGRDb250ZXh0LndhdGNoKCk7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuRG9Ob3RFeGl0KCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQkEsb0JBQXVCO0FBQ3ZCLHFCQUF3QjtBQUV4QixtQkFBZ0M7QUFDaEMscUNBQXdDO0FBQ3hDLGtCQUFxQjtBQUNyQixtQkFBOEI7QUFDOUIsc0JBQThCO0FBQzlCLHlCQVFPO0FBQ1AsaUJBQWdDO0FBQ2hDLGtCQUFvQztBQUNwQywrQ0FBa0Q7QUFDbEQsMEJBQTZCO0FBQzdCLGlDQUFvQztBQUNwQyw4QkFBaUM7QUF6Q2pDLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF5Q08sSUFBSyxZQUFMLGtCQUFLQSxlQUFMO0FBRUwsRUFBQUEsc0JBQUE7QUFFQSxFQUFBQSxzQkFBQTtBQUpVLFNBQUFBO0FBQUEsR0FBQTtBQVVMLE1BQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0N0QixlQUFzQixvQkFBb0IsU0FBNkQ7QUFDckcsWUFBTSw0QkFBYztBQUNwQiw0QkFBTztBQUNQLFFBQU0sMkJBQTJCLDJCQUFRO0FBRXpDLFFBQU07QUFBQSxJQUNKLHVCQUF1QixDQUFDO0FBQUEsSUFDeEI7QUFBQSxJQUNBLG1CQUFtQjtBQUFBLEVBQ3JCLElBQUk7QUFF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
167
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9PYnNpZGlhblBsdWdpbkJ1aWxkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE9ic2lkaWFuUGx1Z2luQnVpbGRlclxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBidWlsZCBhbmQgYnVuZGxlIGFuIE9ic2lkaWFuIHBsdWdpbiB1c2luZyBlc2J1aWxkLlxuICogSXQgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgYnVpbGQgcHJvY2VzcyBiYXNlZCBvbiBkaWZmZXJlbnQgYnVpbGQgbW9kZXMgKGRldmVsb3BtZW50IG9yIHByb2R1Y3Rpb24pLFxuICogYW5kIGl0IHNldHMgdXAgdmFyaW91cyBlc2J1aWxkIHBsdWdpbnMgdG8gcHJlcHJvY2VzcywgbGludCwgZml4IHNvdXJjZSBtYXBzLCBhbmQgY29weSBmaWxlcyB0byB0aGUgT2JzaWRpYW4gcGx1Z2lucyBmb2xkZXIuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbnRleHQsXG4gIEJ1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICdkb3RlbnYnO1xuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9FcnJvci50cyc7XG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuL1BsdWdpbi9PYnNpZGlhblBsdWdpblJlcG9QYXRocy50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBidWlsZFZhbGlkYXRlIH0gZnJvbSAnLi4vYnVpbGQudHMnO1xuaW1wb3J0IHsgQ2xpVGFza1Jlc3VsdCB9IGZyb20gJy4uL0NsaVV0aWxzLnRzJztcbmltcG9ydCB7XG4gIGJ1aWx0aW5Nb2R1bGVzLFxuICBjcCxcbiAgZXhpc3RzU3luYyxcbiAgbWtkaXIsXG4gIHByb2Nlc3MsXG4gIHJtLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnLi4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi4vTnBtLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tICcuLi9Sb290LnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luLnRzJztcbmltcG9ydCB7IGZpeEVzbVBsdWdpbiB9IGZyb20gJy4vZml4RXNtUGx1Z2luLnRzJztcbmltcG9ydCB7IGZpeFNvdXJjZU1hcHNQbHVnaW4gfSBmcm9tICcuL2ZpeFNvdXJjZU1hcHNQbHVnaW4udHMnO1xuaW1wb3J0IHsgcHJlcHJvY2Vzc1BsdWdpbiB9IGZyb20gJy4vcHJlcHJvY2Vzc1BsdWdpbi50cyc7XG5pbXBvcnQgeyB3YXRjaENzc0NoYW5nZXNQbHVnaW4gfSBmcm9tICcuL3dhdGNoQ3NzQ2hhbmdlc1BsdWdpbi50cyc7XG5cbi8qKlxuICogRW51bWVyYXRpb24gcmVwcmVzZW50aW5nIHRoZSBidWlsZCBtb2Rlcy5cbiAqL1xuZXhwb3J0IGVudW0gQnVpbGRNb2RlIHtcbiAgLyoqIERldmVsb3BtZW50IG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgRGV2ZWxvcG1lbnQsXG4gIC8qKiBQcm9kdWN0aW9uIG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGAvKlxuVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgRVNCVUlMRFxuaWYgeW91IHdhbnQgdG8gdmlldyB0aGUgc291cmNlLCBwbGVhc2UgdmlzaXQgdGhlIGdpdGh1YiByZXBvc2l0b3J5IG9mIHRoaXMgcGx1Z2luXG4qL1xuYDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBidWlsZGluZyBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPYnNpZGlhblBsdWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIFRoZSBidWlsZCBtb2RlLCBlaXRoZXIgRGV2ZWxvcG1lbnQgb3IgUHJvZHVjdGlvblxuICAgKi9cbiAgbW9kZTogQnVpbGRNb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19ESVJgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgb2JzaWRpYW5Db25maWdEaXI/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYge1xuICBPQlNJRElBTl9DT05GSUdfRElSOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RlIGFuZCBjb25maWd1cmF0aW9uIGRpcmVjdG9yeS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBidWlsZGluZyB0aGUgcGx1Z2luLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBgVGFza1Jlc3VsdGAgaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ob3B0aW9uczogQnVpbGRPYnNpZGlhblBsdWdpbk9wdGlvbnMpOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgYXdhaXQgYnVpbGRWYWxpZGF0ZSgpO1xuICBjb25maWcoKTtcbiAgY29uc3Qgb2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52ID0gcHJvY2Vzcy5lbnYgYXMgUGFydGlhbDxPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnY+O1xuXG4gIGNvbnN0IHtcbiAgICBjdXN0b21Fc2J1aWxkUGx1Z2lucyA9IFtdLFxuICAgIG1vZGUsXG4gICAgb2JzaWRpYW5Db25maWdEaXI6IF9vYnNpZGlhbkNvbmZpZ0RpclxuICB9ID0gb3B0aW9ucztcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0RpciA9IF9vYnNpZGlhbkNvbmZpZ0RpciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0RJUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBtb2RlID09PSBCdWlsZE1vZGUuUHJvZHVjdGlvbjtcblxuICBjb25zdCBkaXN0RGlyID0gcmVzb2x2ZVBhdGhGcm9tUm9vdChpc1Byb2R1Y3Rpb25CdWlsZCA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYpO1xuICBpZiAoIWRpc3REaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGRpc3QgZGlyZWN0b3J5Jyk7XG4gIH1cblxuICBpZiAoZXhpc3RzU3luYyhkaXN0RGlyKSkge1xuICAgIGF3YWl0IHJtKGRpc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICB9XG4gIGF3YWl0IG1rZGlyKGRpc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IGRpc3RGaWxlTmFtZXMgPSBbXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlN0eWxlc0Nzc1xuICBdO1xuICBpZiAoIWlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oZGlzdERpciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBkaXN0RmlsZU5hbWVzKSB7XG4gICAgY29uc3QgbG9jYWxGaWxlID0gcmVzb2x2ZVBhdGhGcm9tUm9vdChmaWxlTmFtZSk7XG4gICAgaWYgKCFsb2NhbEZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVybWluZSB0aGUgbG9jYWwgZmlsZSBmb3IgJHtmaWxlTmFtZX1gKTtcbiAgICB9XG4gICAgY29uc3QgZGlzdEZpbGUgPSBqb2luKGRpc3REaXIsIGZpbGVOYW1lKTtcblxuICAgIGlmIChleGlzdHNTeW5jKGxvY2FsRmlsZSkpIHtcbiAgICAgIGF3YWl0IGNwKGxvY2FsRmlsZSwgZGlzdEZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3RQYXRoID0gam9pbihkaXN0RGlyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IHBsdWdpbk5hbWUgPSBwYWNrYWdlSnNvbi5uYW1lID8/ICcodW5rbm93biknO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zID0ge1xuICAgIGJhbm5lcjoge1xuICAgICAganM6IGJhbm5lclxuICAgIH0sXG4gICAgYnVuZGxlOiB0cnVlLFxuICAgIGVudHJ5UG9pbnRzOiBbcmVzb2x2ZVBhdGhGcm9tUm9vdChqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpblRzKSkgPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignQ291bGQgbm90IGRldGVybWluZSB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBwbHVnaW4nKSldLFxuICAgIGV4dGVybmFsOiBbXG4gICAgICAnb2JzaWRpYW4nLFxuICAgICAgJ2VsZWN0cm9uJyxcbiAgICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgICAnQGNvZGVtaXJyb3IvY29tbWFuZHMnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAgICdAY29kZW1pcnJvci9zZWFyY2gnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAgICdAY29kZW1pcnJvci92aWV3JyxcbiAgICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAgICdAbGV6ZXIvaGlnaGxpZ2h0JyxcbiAgICAgICdAbGV6ZXIvbHInLFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2VzbGludCcsXG4gICAgICAuLi5idWlsdGluTW9kdWxlc1xuICAgIF0sXG4gICAgZm9ybWF0OiAnY2pzJyxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1pbmlmeTogaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgb3V0ZmlsZTogZGlzdFBhdGgsXG4gICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBwcmVwcm9jZXNzUGx1Z2luKCksXG4gICAgICB3YXRjaENzc0NoYW5nZXNQbHVnaW4oKSxcbiAgICAgIGZpeEVzbVBsdWdpbigpLFxuICAgICAgZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCwgZGlzdFBhdGgsIHBsdWdpbk5hbWUpLFxuICAgICAgLi4uY3VzdG9tRXNidWlsZFBsdWdpbnMsXG4gICAgICBjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQsIGRpc3REaXIsIG9ic2lkaWFuQ29uZmlnRGlyLCBwbHVnaW5OYW1lKVxuICAgIF0sXG4gICAgc291cmNlbWFwOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IGZhbHNlIDogJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnZXNuZXh0JyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgcmV0dXJuIGF3YWl0IGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZCk7XG59XG5cbi8qKlxuICogSW52b2tlcyB0aGUgYnVpbGQgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBidWlsZCBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgYnVpbGQgY29udGV4dCBnZW5lcmF0ZWQgYnkgZXNidWlsZC5cbiAqIEBwYXJhbSBpc1Byb2R1Y3Rpb25CdWlsZCAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJ1aWxkIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgYFRhc2tSZXN1bHRgIGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZENvbnRleHQucmVidWlsZCgpO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHJlc3VsdC5lcnJvcnMubGVuZ3RoID09IDAgJiYgcmVzdWx0Lndhcm5pbmdzLmxlbmd0aCA9PSAwO1xuICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LlN1Y2Nlc3MoaXNTdWNjZXNzKTtcbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBidWlsZENvbnRleHQud2F0Y2goKTtcbiAgICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5Eb05vdEV4aXQoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQSxvQkFBdUI7QUFDdkIscUJBQXdCO0FBRXhCLG1CQUFnQztBQUNoQyxxQ0FBd0M7QUFDeEMsa0JBQXFCO0FBQ3JCLG1CQUE4QjtBQUM5QixzQkFBOEI7QUFDOUIseUJBUU87QUFDUCxpQkFBZ0M7QUFDaEMsa0JBQW9DO0FBQ3BDLCtDQUFrRDtBQUNsRCwwQkFBNkI7QUFDN0IsaUNBQW9DO0FBQ3BDLDhCQUFpQztBQUNqQyxtQ0FBc0M7QUExQ3RDLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUEwQ08sSUFBSyxZQUFMLGtCQUFLQSxlQUFMO0FBRUwsRUFBQUEsc0JBQUE7QUFFQSxFQUFBQSxzQkFBQTtBQUpVLFNBQUFBO0FBQUEsR0FBQTtBQVVMLE1BQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0N0QixlQUFzQixvQkFBb0IsU0FBNkQ7QUFDckcsWUFBTSw0QkFBYztB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
@@ -43,7 +43,8 @@ __export(esbuild_exports, {
43
43
  fixEsmPlugin: () => fixEsmPlugin,
44
44
  fixSourceMapsPlugin: () => fixSourceMapsPlugin,
45
45
  preprocessPlugin: () => preprocessPlugin,
46
- renameToCjsPlugin: () => renameToCjsPlugin
46
+ renameToCjsPlugin: () => renameToCjsPlugin,
47
+ watchCssChangesPlugin: () => watchCssChangesPlugin
47
48
  });
48
49
  module.exports = __toCommonJS(esbuild_exports);
49
50
  var copyToObsidianPluginsFolderPlugin = __toESM(__extractDefault(require('./copyToObsidianPluginsFolderPlugin.cjs')), 1);
@@ -53,6 +54,7 @@ var fixSourceMapsPlugin = __toESM(__extractDefault(require('./fixSourceMapsPlugi
53
54
  var ObsidianPluginBuilder = __toESM(__extractDefault(require('./ObsidianPluginBuilder.cjs')), 1);
54
55
  var preprocessPlugin = __toESM(__extractDefault(require('./preprocessPlugin.cjs')), 1);
55
56
  var renameToCjsPlugin = __toESM(__extractDefault(require('./renameToCjsPlugin.cjs')), 1);
57
+ var watchCssChangesPlugin = __toESM(__extractDefault(require('./watchCssChangesPlugin.cjs')), 1);
56
58
  var __process = globalThis["process"] ?? {
57
59
  "browser": true,
58
60
  "cwd": () => "/",
@@ -67,6 +69,7 @@ var __process = globalThis["process"] ?? {
67
69
  fixEsmPlugin,
68
70
  fixSourceMapsPlugin,
69
71
  preprocessPlugin,
70
- renameToCjsPlugin
72
+ renameToCjsPlugin,
73
+ watchCssChangesPlugin
71
74
  });
72
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XG4gIFwiYnJvd3NlclwiOiB0cnVlLFxuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiBmcm9tICcuL2NvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyBEZXBlbmRlbmN5IGZyb20gJy4vRGVwZW5kZW5jeS50cyc7XG5leHBvcnQgKiBhcyBmaXhFc21QbHVnaW4gZnJvbSAnLi9maXhFc21QbHVnaW4udHMnO1xuZXhwb3J0ICogYXMgZml4U291cmNlTWFwc1BsdWdpbiBmcm9tICcuL2ZpeFNvdXJjZU1hcHNQbHVnaW4udHMnO1xuZXhwb3J0ICogYXMgT2JzaWRpYW5QbHVnaW5CdWlsZGVyIGZyb20gJy4vT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzJztcbmV4cG9ydCAqIGFzIHByZXByb2Nlc3NQbHVnaW4gZnJvbSAnLi9wcmVwcm9jZXNzUGx1Z2luLnRzJztcbmV4cG9ydCAqIGFzIHJlbmFtZVRvQ2pzUGx1Z2luIGZyb20gJy4vcmVuYW1lVG9DanNQbHVnaW4udHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSx3Q0FBbUQ7QUFDbkQsaUJBQTRCO0FBQzVCLG1CQUE4QjtBQUM5QiwwQkFBcUM7QUFDckMsNEJBQXVDO0FBQ3ZDLHVCQUFrQztBQUNsQyx3QkFBbUM7QUFkbkMsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDsiLAogICJuYW1lcyI6IFtdCn0K
75
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XG4gIFwiYnJvd3NlclwiOiB0cnVlLFxuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiBmcm9tICcuL2NvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyBEZXBlbmRlbmN5IGZyb20gJy4vRGVwZW5kZW5jeS50cyc7XG5leHBvcnQgKiBhcyBmaXhFc21QbHVnaW4gZnJvbSAnLi9maXhFc21QbHVnaW4udHMnO1xuZXhwb3J0ICogYXMgZml4U291cmNlTWFwc1BsdWdpbiBmcm9tICcuL2ZpeFNvdXJjZU1hcHNQbHVnaW4udHMnO1xuZXhwb3J0ICogYXMgT2JzaWRpYW5QbHVnaW5CdWlsZGVyIGZyb20gJy4vT2JzaWRpYW5QbHVnaW5CdWlsZGVyLnRzJztcbmV4cG9ydCAqIGFzIHByZXByb2Nlc3NQbHVnaW4gZnJvbSAnLi9wcmVwcm9jZXNzUGx1Z2luLnRzJztcbmV4cG9ydCAqIGFzIHJlbmFtZVRvQ2pzUGx1Z2luIGZyb20gJy4vcmVuYW1lVG9DanNQbHVnaW4udHMnO1xuZXhwb3J0ICogYXMgd2F0Y2hDc3NDaGFuZ2VzUGx1Z2luIGZyb20gJy4vd2F0Y2hDc3NDaGFuZ2VzUGx1Z2luLnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSx3Q0FBbUQ7QUFDbkQsaUJBQTRCO0FBQzVCLG1CQUE4QjtBQUM5QiwwQkFBcUM7QUFDckMsNEJBQXVDO0FBQ3ZDLHVCQUFrQztBQUNsQyx3QkFBbUM7QUFDbkMsNEJBQXVDO0FBZnZDLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -5,3 +5,4 @@ export * as fixSourceMapsPlugin from './fixSourceMapsPlugin.ts';
5
5
  export * as ObsidianPluginBuilder from './ObsidianPluginBuilder.ts';
6
6
  export * as preprocessPlugin from './preprocessPlugin.ts';
7
7
  export * as renameToCjsPlugin from './renameToCjsPlugin.ts';
8
+ export * as watchCssChangesPlugin from './watchCssChangesPlugin.ts';
@@ -0,0 +1,57 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
+
8
+ (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
9
+
10
+ "use strict";
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
15
+ var __export = (target, all) => {
16
+ for (var name in all)
17
+ __defProp(target, name, { get: all[name], enumerable: true });
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") {
21
+ for (let key of __getOwnPropNames(from))
22
+ if (!__hasOwnProp.call(to, key) && key !== except)
23
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
+ }
25
+ return to;
26
+ };
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var watchCssChangesPlugin_exports = {};
29
+ __export(watchCssChangesPlugin_exports, {
30
+ watchCssChangesPlugin: () => watchCssChangesPlugin
31
+ });
32
+ module.exports = __toCommonJS(watchCssChangesPlugin_exports);
33
+ var import_ObsidianPluginRepoPaths = require('../../obsidian/Plugin/ObsidianPluginRepoPaths.cjs');
34
+ var import_NodeModules = require('../NodeModules.cjs');
35
+ var import_Root = require('../Root.cjs');
36
+ function watchCssChangesPlugin() {
37
+ const stylesCssPath = (0, import_Root.resolvePathFromRootSafe)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.StylesCss);
38
+ const watchFiles = [];
39
+ if ((0, import_NodeModules.existsSync)(stylesCssPath)) {
40
+ watchFiles.push(stylesCssPath);
41
+ }
42
+ return {
43
+ name: "watch-css-changes",
44
+ setup(build) {
45
+ build.onLoad({ filter: /\.*/, namespace: "watch-css-changes" }, () => {
46
+ return {
47
+ watchFiles
48
+ };
49
+ });
50
+ }
51
+ };
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ watchCssChangesPlugin
56
+ });
57
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC93YXRjaENzc0NoYW5nZXNQbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHtcbiAgT25Mb2FkUmVzdWx0LFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290U2FmZSB9IGZyb20gJy4uL1Jvb3QudHMnO1xuXG4vKipcbiAqIEByZXR1cm5zIEEgcGx1Z2luIHRoYXQgd2F0Y2hlcyBmb3IgY2hhbmdlcyB0byBDU1MgZmlsZXMgYW5kIHJlYnVpbGRzIHRoZSBwbHVnaW4gd2hlbiB0aGV5IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQ3NzQ2hhbmdlc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCBzdHlsZXNDc3NQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcbiAgY29uc3Qgd2F0Y2hGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGV4aXN0c1N5bmMoc3R5bGVzQ3NzUGF0aCkpIHtcbiAgICB3YXRjaEZpbGVzLnB1c2goc3R5bGVzQ3NzUGF0aCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICd3YXRjaC1jc3MtY2hhbmdlcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uTG9hZCh7IGZpbHRlcjogL1xcLiovLCBuYW1lc3BhY2U6ICd3YXRjaC1jc3MtY2hhbmdlcycgfSwgKCk6IE9uTG9hZFJlc3VsdCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgd2F0Y2hGaWxlc1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBLHFDQUF3QztBQUN4Qyx5QkFBMkI7QUFDM0Isa0JBQXdDO0FBS2pDLFNBQVMsd0JBQWdDO0FBQzlDLFFBQU0sb0JBQWdCLHFDQUF3Qix1REFBd0IsU0FBUztBQUMvRSxRQUFNLGFBQXVCLENBQUM7QUFDOUIsVUFBSSwrQkFBVyxhQUFhLEdBQUc7QUFDN0IsZUFBVyxLQUFLLGFBQWE7QUFBQSxFQUMvQjtBQUVBLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLE9BQU8sRUFBRSxRQUFRLE9BQU8sV0FBVyxvQkFBb0IsR0FBRyxNQUFvQjtBQUNsRixlQUFPO0FBQUEsVUFDTDtBQUFBLFFBQ0Y7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,5 @@
1
+ import type { Plugin } from 'esbuild';
2
+ /**
3
+ * @returns A plugin that watches for changes to CSS files and rebuilds the plugin when they change.
4
+ */
5
+ export declare function watchCssChangesPlugin(): Plugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "14.4.1-beta.1",
3
+ "version": "14.4.1-beta.10",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "keywords": [
6
6
  "obsidian"