/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // main.ts var main_exports = {}; __export(main_exports, { SyncGraphSettingTab: () => SyncGraphSettingTab, default: () => SyncGraphPlugin }); module.exports = __toCommonJS(main_exports); var import_obsidian = require("obsidian"); var DEFAULT_SETTINGS = { autoSync: false, defaultDepth: 1, defaultIncomingLinks: true, defaultOutgoingLinks: true, defaultNeighborLinks: true }; var SyncGraphSettingTab = class extends import_obsidian.PluginSettingTab { constructor(app, plugin) { super(app, plugin); this.plugin = plugin; } display() { let { containerEl } = this; containerEl.empty(); new import_obsidian.Setting(containerEl).setName("Auto Sync").addToggle((toggle) => toggle.setValue(this.plugin.settings.autoSync).onChange(async (value) => { this.plugin.settings.autoSync = value; await this.plugin.saveSettings(); })); new import_obsidian.Setting(containerEl).setName("Default depth").addSlider((value) => value.setLimits(1, 5, 1).setValue(this.plugin.settings.defaultDepth).onChange(async (value2) => { this.plugin.settings.defaultDepth = value2; await this.plugin.saveSettings(); }).setDynamicTooltip()); new import_obsidian.Setting(containerEl).setName("Default Incoming Links").addToggle((toggle) => toggle.setValue(this.plugin.settings.defaultIncomingLinks).onChange(async (value) => { this.plugin.settings.defaultIncomingLinks = value; await this.plugin.saveSettings(); })); new import_obsidian.Setting(containerEl).setName("Default Outgoing Links").addToggle((toggle) => toggle.setValue(this.plugin.settings.defaultOutgoingLinks).onChange(async (value) => { this.plugin.settings.defaultOutgoingLinks = value; await this.plugin.saveSettings(); })); new import_obsidian.Setting(containerEl).setName("Default Neighbor Links").addToggle((toggle) => toggle.setValue(this.plugin.settings.defaultNeighborLinks).onChange(async (value) => { this.plugin.settings.defaultNeighborLinks = value; await this.plugin.saveSettings(); })); } }; var SyncGraphPlugin = class extends import_obsidian.Plugin { async onload() { await this.loadSettings(); this.addSettingTab(new SyncGraphSettingTab(this.app, this)); this.addCommand({ id: "sync-graph-settings-to-localgraph", name: "Sync Graph Settings to Local Graph", callback: async () => { await this.syncGlobalToLocal(); } }); this.app.workspace.on("active-leaf-change", async () => { if (this.settings.autoSync) { await this.syncGlobalToLocal(); } }); } async loadSettings() { this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); } async syncGlobalToLocal() { const configDir = this.app.vault.configDir; const graphConfigPath = (0, import_obsidian.normalizePath)(configDir + "/graph.json"); const graphConfigJson = await this.app.vault.adapter.read(graphConfigPath); const graphConfig = JSON.parse(graphConfigJson); const graphColorGroups = graphConfig.colorGroups; const searchFilters = graphConfig.search; const closeSettings = graphConfig.close; this.getLocalGraphLeaves().forEach((leaf) => { this.setSettings(leaf, graphColorGroups, searchFilters, closeSettings); }); } getLocalGraphLeaves() { return this.app.workspace.getLeavesOfType("localgraph"); } setSettings(localGraphLeaf, colorGroups, searchFilters, closeSettings) { const viewState = localGraphLeaf.getViewState(); viewState.state.options.colorGroups = colorGroups; viewState.state.options.search = searchFilters; viewState.state.options.close = closeSettings; viewState.state.options.localJumps = this.settings.defaultDepth; viewState.state.options.localBacklinks = this.settings.defaultIncomingLinks; viewState.state.options.localForelinks = this.settings.defaultOutgoingLinks; viewState.state.options.localInterlinks = this.settings.defaultNeighborLinks; localGraphLeaf.setViewState(viewState); } async saveSettings() { await this.saveData(this.settings); } }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWFpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgUGx1Z2luLCBXb3Jrc3BhY2VMZWFmLCBub3JtYWxpemVQYXRoLCBQbHVnaW5TZXR0aW5nVGFiLCBTZXR0aW5nLCBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmludGVyZmFjZSBTeW5jR3JhcGhQbHVnaW5TZXR0aW5ncyB7XG5cdGF1dG9TeW5jOiBib29sZWFuO1xuXHRkZWZhdWx0RGVwdGg6IG51bWJlcjtcblx0ZGVmYXVsdEluY29taW5nTGlua3M6IGJvb2xlYW47XG5cdGRlZmF1bHRPdXRnb2luZ0xpbmtzOiBib29sZWFuO1xuXHRkZWZhdWx0TmVpZ2hib3JMaW5rczogYm9vbGVhbjtcbn1cblxuY29uc3QgREVGQVVMVF9TRVRUSU5HUzogU3luY0dyYXBoUGx1Z2luU2V0dGluZ3MgPSB7XG5cdGF1dG9TeW5jOiBmYWxzZSxcblx0ZGVmYXVsdERlcHRoOiAxLFxuXHRkZWZhdWx0SW5jb21pbmdMaW5rczogdHJ1ZSxcblx0ZGVmYXVsdE91dGdvaW5nTGlua3M6IHRydWUsXG5cdGRlZmF1bHROZWlnaGJvckxpbmtzOiB0cnVlXG59XG5cbmV4cG9ydCBjbGFzcyBTeW5jR3JhcGhTZXR0aW5nVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XG5cdHBsdWdpbjogU3luY0dyYXBoUGx1Z2luO1xuXG5cdGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwbHVnaW46IFN5bmNHcmFwaFBsdWdpbikge1xuXHRcdHN1cGVyKGFwcCwgcGx1Z2luKTtcblx0XHR0aGlzLnBsdWdpbiA9IHBsdWdpbjtcblx0fVxuXG5cdGRpc3BsYXkoKTogdm9pZCB7XG5cdFx0bGV0IHsgY29udGFpbmVyRWwgfSA9IHRoaXM7XG5cblx0XHRjb250YWluZXJFbC5lbXB0eSgpO1xuXG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZShcIkF1dG8gU3luY1wiKVxuXHRcdFx0LmFkZFRvZ2dsZSgodG9nZ2xlKSA9PlxuXHRcdFx0XHR0b2dnbGVcblx0XHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuYXV0b1N5bmMpXG5cdFx0XHRcdFx0Lm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuYXV0b1N5bmMgPSB2YWx1ZTtcblx0XHRcdFx0XHRcdGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuXHRcdFx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoXCJEZWZhdWx0IGRlcHRoXCIpLmFkZFNsaWRlcigodmFsdWUpID0+XG5cdFx0XHRcdHZhbHVlXG5cdFx0XHRcdFx0LnNldExpbWl0cygxLCA1LCAxKVxuXHRcdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0RGVwdGgpXG5cdFx0XHRcdFx0Lm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuZGVmYXVsdERlcHRoID0gdmFsdWU7XG5cdFx0XHRcdFx0XHRhd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5zZXREeW5hbWljVG9vbHRpcCgpXG5cdFx0XHQpO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoXCJEZWZhdWx0IEluY29taW5nIExpbmtzXCIpXG5cdFx0XHQuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG5cdFx0XHRcdHRvZ2dsZVxuXHRcdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0SW5jb21pbmdMaW5rcylcblx0XHRcdFx0XHQub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0SW5jb21pbmdMaW5rcyA9IHZhbHVlO1xuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG5cdFx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoXCJEZWZhdWx0IE91dGdvaW5nIExpbmtzXCIpXG5cdFx0XHQuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG5cdFx0XHRcdHRvZ2dsZVxuXHRcdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0T3V0Z29pbmdMaW5rcylcblx0XHRcdFx0XHQub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0T3V0Z29pbmdMaW5rcyA9IHZhbHVlO1xuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG5cdFx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoXCJEZWZhdWx0IE5laWdoYm9yIExpbmtzXCIpXG5cdFx0XHQuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG5cdFx0XHRcdHRvZ2dsZVxuXHRcdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0TmVpZ2hib3JMaW5rcylcblx0XHRcdFx0XHQub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0TmVpZ2hib3JMaW5rcyA9IHZhbHVlO1xuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG5cdFx0XHRcdFx0fSlcblx0XHQpO1xuXHR9XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3luY0dyYXBoUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcblx0c2V0dGluZ3M6IFN5bmNHcmFwaFBsdWdpblNldHRpbmdzO1xuXG5cdGFzeW5jIG9ubG9hZCgpIHtcblx0XHRhd2FpdCB0aGlzLmxvYWRTZXR0aW5ncygpO1xuXG5cdFx0dGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBTeW5jR3JhcGhTZXR0aW5nVGFiKHRoaXMuYXBwLCB0aGlzKSk7XG5cblx0XHR0aGlzLmFkZENvbW1hbmQoe1xuXHRcdFx0aWQ6IFwic3luYy1ncmFwaC1zZXR0aW5ncy10by1sb2NhbGdyYXBoXCIsXG5cdFx0XHRuYW1lOiBcIlN5bmMgR3JhcGggU2V0dGluZ3MgdG8gTG9jYWwgR3JhcGhcIixcblx0XHRcdGNhbGxiYWNrOiBhc3luYyAoKSA9PiB7IGF3YWl0IHRoaXMuc3luY0dsb2JhbFRvTG9jYWwoKSB9XG5cdFx0fSlcblxuXHRcdHRoaXMuYXBwLndvcmtzcGFjZS5vbignYWN0aXZlLWxlYWYtY2hhbmdlJywgYXN5bmMgKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuc2V0dGluZ3MuYXV0b1N5bmMpIHtcblx0XHRcdFx0YXdhaXQgdGhpcy5zeW5jR2xvYmFsVG9Mb2NhbCgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQpO1xuXHR9XG5cblx0YXN5bmMgbG9hZFNldHRpbmdzKCkge1xuXHRcdHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX1NFVFRJTkdTLCBhd2FpdCB0aGlzLmxvYWREYXRhKCkpO1xuXHR9XG5cblx0YXN5bmMgc3luY0dsb2JhbFRvTG9jYWwoKSB7XG5cdFx0Y29uc3QgY29uZmlnRGlyID0gdGhpcy5hcHAudmF1bHQuY29uZmlnRGlyO1xuXHRcdGNvbnN0IGdyYXBoQ29uZmlnUGF0aCA9IG5vcm1hbGl6ZVBhdGgoY29uZmlnRGlyICsgJy9ncmFwaC5qc29uJyk7XG5cblx0XHQvLyB0aGlzLmFwcC52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGgoJy5vYnNpZGlhbi9ncmFwaC5qc29uJykgd291bGQgcmV0dXJuIG51bGxcblx0XHQvLyBTbyB3ZSdyZSBkb2luZyBpdCB0aGUgbGVzcyBzYWZlIHdheVxuXHRcdGNvbnN0IGdyYXBoQ29uZmlnSnNvbiA9IGF3YWl0IHRoaXMuYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChncmFwaENvbmZpZ1BhdGgpO1xuXHRcdGNvbnN0IGdyYXBoQ29uZmlnID0gSlNPTi5wYXJzZShncmFwaENvbmZpZ0pzb24pO1xuXHRcdGNvbnN0IGdyYXBoQ29sb3JHcm91cHMgPSBncmFwaENvbmZpZy5jb2xvckdyb3Vwcztcblx0XHRjb25zdCBzZWFyY2hGaWx0ZXJzID0gZ3JhcGhDb25maWcuc2VhcmNoO1xuXHRcdGNvbnN0IGNsb3NlU2V0dGluZ3MgPSBncmFwaENvbmZpZy5jbG9zZTtcblx0XHR0aGlzLmdldExvY2FsR3JhcGhMZWF2ZXMoKS5mb3JFYWNoKChsZWFmKSA9PiB7XG5cdFx0XHR0aGlzLnNldFNldHRpbmdzKGxlYWYsIGdyYXBoQ29sb3JHcm91cHMsIHNlYXJjaEZpbHRlcnMsIGNsb3NlU2V0dGluZ3MpO1xuXHRcdH0pXG5cdH1cblxuXHRnZXRMb2NhbEdyYXBoTGVhdmVzKCkge1xuXHRcdHJldHVybiB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKCdsb2NhbGdyYXBoJyk7XG5cdH1cblxuXHRzZXRTZXR0aW5ncyhsb2NhbEdyYXBoTGVhZjogV29ya3NwYWNlTGVhZiwgY29sb3JHcm91cHM6IGFueSwgc2VhcmNoRmlsdGVyczogYW55LCBjbG9zZVNldHRpbmdzOiBhbnkpIHtcblx0XHRjb25zdCB2aWV3U3RhdGUgPSBsb2NhbEdyYXBoTGVhZi5nZXRWaWV3U3RhdGUoKTtcblx0XHR2aWV3U3RhdGUuc3RhdGUub3B0aW9ucy5jb2xvckdyb3VwcyA9IGNvbG9yR3JvdXBzO1xuXHRcdHZpZXdTdGF0ZS5zdGF0ZS5vcHRpb25zLnNlYXJjaCA9IHNlYXJjaEZpbHRlcnM7XG5cdFx0dmlld1N0YXRlLnN0YXRlLm9wdGlvbnMuY2xvc2UgPSBjbG9zZVNldHRpbmdzO1xuXG5cdFx0dmlld1N0YXRlLnN0YXRlLm9wdGlvbnMubG9jYWxKdW1wcyA9IHRoaXMuc2V0dGluZ3MuZGVmYXVsdERlcHRoO1xuXHRcdHZpZXdTdGF0ZS5zdGF0ZS5vcHRpb25zLmxvY2FsQmFja2xpbmtzID0gdGhpcy5zZXR0aW5ncy5kZWZhdWx0SW5jb21pbmdMaW5rcztcblx0XHR2aWV3U3RhdGUuc3RhdGUub3B0aW9ucy5sb2NhbEZvcmVsaW5rcyA9IHRoaXMuc2V0dGluZ3MuZGVmYXVsdE91dGdvaW5nTGlua3M7XG5cdFx0dmlld1N0YXRlLnN0YXRlLm9wdGlvbnMubG9jYWxJbnRlcmxpbmtzID0gdGhpcy5zZXR0aW5ncy5kZWZhdWx0TmVpZ2hib3JMaW5rcztcblx0XHRsb2NhbEdyYXBoTGVhZi5zZXRWaWV3U3RhdGUodmlld1N0YXRlKTtcblx0fVxuXG5cdGFzeW5jIHNhdmVTZXR0aW5ncygpIHtcblx0XHRhd2FpdCB0aGlzLnNhdmVEYXRhKHRoaXMuc2V0dGluZ3MpO1xuXHR9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxzQkFBcUY7QUFVckYsSUFBTSxtQkFBNEM7QUFBQSxFQUNqRCxVQUFVO0FBQUEsRUFDVixjQUFjO0FBQUEsRUFDZCxzQkFBc0I7QUFBQSxFQUN0QixzQkFBc0I7QUFBQSxFQUN0QixzQkFBc0I7QUFDdkI7QUFFTyxJQUFNLHNCQUFOLGNBQWtDLGlDQUFpQjtBQUFBLEVBR3pELFlBQVksS0FBVSxRQUF5QjtBQUM5QyxVQUFNLEtBQUssTUFBTTtBQUNqQixTQUFLLFNBQVM7QUFBQSxFQUNmO0FBQUEsRUFFQSxVQUFnQjtBQUNmLFFBQUksRUFBRSxnQkFBZ0I7QUFFdEIsZ0JBQVksTUFBTTtBQUVsQixRQUFJLHdCQUFRLFdBQVcsRUFDckIsUUFBUSxXQUFXLEVBQ25CLFVBQVUsQ0FBQyxXQUNYLE9BQ0UsU0FBUyxLQUFLLE9BQU8sU0FBUyxRQUFRLEVBQ3RDLFNBQVMsT0FBTyxVQUFVO0FBQzFCLFdBQUssT0FBTyxTQUFTLFdBQVc7QUFDaEMsWUFBTSxLQUFLLE9BQU8sYUFBYTtBQUFBLElBQ2hDLENBQUMsQ0FDSjtBQUVBLFFBQUksd0JBQVEsV0FBVyxFQUNyQixRQUFRLGVBQWUsRUFBRSxVQUFVLENBQUMsVUFDcEMsTUFDRSxVQUFVLEdBQUcsR0FBRyxDQUFDLEVBQ2pCLFNBQVMsS0FBSyxPQUFPLFNBQVMsWUFBWSxFQUMxQyxTQUFTLE9BQU8sV0FBVTtBQUMxQixXQUFLLE9BQU8sU0FBUyxlQUFlO0FBQ3BDLFlBQU0sS0FBSyxPQUFPLGFBQWE7QUFBQSxJQUNoQyxDQUFDLEVBQ0Esa0JBQWtCLENBQ3JCO0FBQ0QsUUFBSSx3QkFBUSxXQUFXLEVBQ3JCLFFBQVEsd0JBQXdCLEVBQ2hDLFVBQVUsQ0FBQyxXQUNYLE9BQ0UsU0FBUyxLQUFLLE9BQU8sU0FBUyxvQkFBb0IsRUFDbEQsU0FBUyxPQUFPLFVBQVU7QUFDMUIsV0FBSyxPQUFPLFNBQVMsdUJBQXVCO0FBQzVDLFlBQU0sS0FBSyxPQUFPLGFBQWE7QUFBQSxJQUNoQyxDQUFDLENBQ0o7QUFDQSxRQUFJLHdCQUFRLFdBQVcsRUFDckIsUUFBUSx3QkFBd0IsRUFDaEMsVUFBVSxDQUFDLFdBQ1gsT0FDRSxTQUFTLEtBQUssT0FBTyxTQUFTLG9CQUFvQixFQUNsRCxTQUFTLE9BQU8sVUFBVTtBQUMxQixXQUFLLE9BQU8sU0FBUyx1QkFBdUI7QUFDNUMsWUFBTSxLQUFLLE9BQU8sYUFBYTtBQUFBLElBQ2hDLENBQUMsQ0FDSjtBQUNBLFFBQUksd0JBQVEsV0FBVyxFQUNyQixRQUFRLHdCQUF3QixFQUNoQyxVQUFVLENBQUMsV0FDWCxPQUNFLFNBQVMsS0FBSyxPQUFPLFNBQVMsb0JBQW9CLEVBQ2xELFNBQVMsT0FBTyxVQUFVO0FBQzFCLFdBQUssT0FBTyxTQUFTLHVCQUF1QjtBQUM1QyxZQUFNLEtBQUssT0FBTyxhQUFhO0FBQUEsSUFDaEMsQ0FBQyxDQUNKO0FBQUEsRUFDRDtBQUNEO0FBR0EsSUFBcUIsa0JBQXJCLGNBQTZDLHVCQUFPO0FBQUEsRUFHbkQsTUFBTSxTQUFTO0FBQ2QsVUFBTSxLQUFLLGFBQWE7QUFFeEIsU0FBSyxjQUFjLElBQUksb0JBQW9CLEtBQUssS0FBSyxJQUFJLENBQUM7QUFFMUQsU0FBSyxXQUFXO0FBQUEsTUFDZixJQUFJO0FBQUEsTUFDSixNQUFNO0FBQUEsTUFDTixVQUFVLFlBQVk7QUFBRSxjQUFNLEtBQUssa0JBQWtCO0FBQUEsTUFBRTtBQUFBLElBQ3hELENBQUM7QUFFRCxTQUFLLElBQUksVUFBVSxHQUFHLHNCQUFzQixZQUFZO0FBQ3ZELFVBQUksS0FBSyxTQUFTLFVBQVU7QUFDM0IsY0FBTSxLQUFLLGtCQUFrQjtBQUFBLE1BQzlCO0FBQUEsSUFDRCxDQUNBO0FBQUEsRUFDRDtBQUFBLEVBRUEsTUFBTSxlQUFlO0FBQ3BCLFNBQUssV0FBVyxPQUFPLE9BQU8sQ0FBQyxHQUFHLGtCQUFrQixNQUFNLEtBQUssU0FBUyxDQUFDO0FBQUEsRUFDMUU7QUFBQSxFQUVBLE1BQU0sb0JBQW9CO0FBQ3pCLFVBQU0sWUFBWSxLQUFLLElBQUksTUFBTTtBQUNqQyxVQUFNLGtCQUFrQixtQ0FBYyxZQUFZLGFBQWE7QUFJL0QsVUFBTSxrQkFBa0IsTUFBTSxLQUFLLElBQUksTUFBTSxRQUFRLEtBQUssZUFBZTtBQUN6RSxVQUFNLGNBQWMsS0FBSyxNQUFNLGVBQWU7QUFDOUMsVUFBTSxtQkFBbUIsWUFBWTtBQUNyQyxVQUFNLGdCQUFnQixZQUFZO0FBQ2xDLFVBQU0sZ0JBQWdCLFlBQVk7QUFDbEMsU0FBSyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsU0FBUztBQUM1QyxXQUFLLFlBQVksTUFBTSxrQkFBa0IsZUFBZSxhQUFhO0FBQUEsSUFDdEUsQ0FBQztBQUFBLEVBQ0Y7QUFBQSxFQUVBLHNCQUFzQjtBQUNyQixXQUFPLEtBQUssSUFBSSxVQUFVLGdCQUFnQixZQUFZO0FBQUEsRUFDdkQ7QUFBQSxFQUVBLFlBQVksZ0JBQStCLGFBQWtCLGVBQW9CLGVBQW9CO0FBQ3BHLFVBQU0sWUFBWSxlQUFlLGFBQWE7QUFDOUMsY0FBVSxNQUFNLFFBQVEsY0FBYztBQUN0QyxjQUFVLE1BQU0sUUFBUSxTQUFTO0FBQ2pDLGNBQVUsTUFBTSxRQUFRLFFBQVE7QUFFaEMsY0FBVSxNQUFNLFFBQVEsYUFBYSxLQUFLLFNBQVM7QUFDbkQsY0FBVSxNQUFNLFFBQVEsaUJBQWlCLEtBQUssU0FBUztBQUN2RCxjQUFVLE1BQU0sUUFBUSxpQkFBaUIsS0FBSyxTQUFTO0FBQ3ZELGNBQVUsTUFBTSxRQUFRLGtCQUFrQixLQUFLLFNBQVM7QUFDeEQsbUJBQWUsYUFBYSxTQUFTO0FBQUEsRUFDdEM7QUFBQSxFQUVBLE1BQU0sZUFBZTtBQUNwQixVQUFNLEtBQUssU0FBUyxLQUFLLFFBQVE7QUFBQSxFQUNsQztBQUNEOyIsCiAgIm5hbWVzIjogW10KfQo=