/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __export = (target, all) => { __markAsModule(target); for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __reExport = (target, module2, desc) => { if (module2 && typeof module2 === "object" || typeof module2 === "function") { for (let key of __getOwnPropNames(module2)) if (!__hasOwnProp.call(target, key) && key !== "default") __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); } return target; }; var __toModule = (module2) => { return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); }; var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/main.ts __export(exports, { default: () => JustSharePleasePlugin }); var import_obsidian2 = __toModule(require("obsidian")); // src/settings.ts var defaultSettings = { url: "http://localhost:8080", shared: [] }; // src/settings-tab.ts var import_obsidian = __toModule(require("obsidian")); var JSPSettingsTab = class extends import_obsidian.PluginSettingTab { constructor(app, plugin) { super(app, plugin); this.plugin = plugin; } display() { this.containerEl.empty(); this.containerEl.createEl("h2", { text: "Just Share Please Settings" }); this.containerEl.createEl("hr"); this.containerEl.createEl("p", { text: "If you like this plugin and want to support its development, you can do so through my website by clicking this fancy image!" }); this.containerEl.createEl("a", { href: "https://ellpeck.de/support" }).createEl("img", { attr: { src: "https://ellpeck.de/res/generalsupport.png" }, cls: "just-share-please-support" }); } }; // src/main.ts var JustSharePleasePlugin = class extends import_obsidian2.Plugin { onload() { return __async(this, null, function* () { yield this.loadSettings(); this.addSettingTab(new JSPSettingsTab(this.app, this)); this.registerEvent(this.app.workspace.on("file-menu", (m, f) => __async(this, null, function* () { if (f instanceof import_obsidian2.TFile) { let shared = this.settings.shared.find((i) => i.path == f.path); if (!shared) { m.addItem((i) => { i.setTitle("Share to JSP"); i.setIcon("share"); i.onClick(() => __async(this, null, function* () { let response = yield (0, import_obsidian2.requestUrl)({ url: `${this.settings.url}/share.php`, method: "POST", body: JSON.stringify({ content: yield this.app.vault.cachedRead(f) }), throw: false }); console.log(response.status + " " + response.text); if (response.status == 200) { shared = response.json; shared.path = f.path; this.settings.shared.push(shared); yield this.saveSettings(); } })); }); } else { m.addItem((i) => { i.setTitle("Copy JSP link"); i.setIcon("link"); i.onClick(() => navigator.clipboard.writeText(`${this.settings.url}#${shared.id}`)); }); m.addItem((i) => { i.setTitle("Update in JSP"); i.setIcon("share"); i.onClick(() => __async(this, null, function* () { let response = yield (0, import_obsidian2.requestUrl)({ url: `${this.settings.url}/share.php?id=${shared.id}`, method: "PATCH", headers: { "Password": shared.password }, body: JSON.stringify({ content: yield this.app.vault.cachedRead(f) }), throw: false }); console.log(response.status + " " + response.text); })); }); m.addItem((i) => { i.setTitle("Delete from JSP"); i.setIcon("trash"); i.onClick(() => __async(this, null, function* () { let response = yield (0, import_obsidian2.requestUrl)({ url: `${this.settings.url}/share.php?id=${shared.id}`, method: "DELETE", headers: { "Password": shared.password }, throw: false }); console.log(response.status); if (response.status == 200) { this.settings.shared.remove(shared); yield this.saveSettings(); } })); }); } } }))); }); } loadSettings() { return __async(this, null, function* () { this.settings = Object.assign({}, defaultSettings, yield this.loadData()); }); } saveSettings() { return __async(this, null, function* () { yield this.saveData(this.settings); }); } }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL21haW4udHMiLCAic3JjL3NldHRpbmdzLnRzIiwgInNyYy9zZXR0aW5ncy10YWIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7UGx1Z2luLCByZXF1ZXN0VXJsLCBURmlsZX0gZnJvbSBcIm9ic2lkaWFuXCI7XHJcbmltcG9ydCB7ZGVmYXVsdFNldHRpbmdzLCBKU1BTZXR0aW5ncywgU2hhcmVkSXRlbX0gZnJvbSBcIi4vc2V0dGluZ3NcIjtcclxuaW1wb3J0IHtKU1BTZXR0aW5nc1RhYn0gZnJvbSBcIi4vc2V0dGluZ3MtdGFiXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKdXN0U2hhcmVQbGVhc2VQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xyXG5cclxuICAgIC8vIFRPRE8gYWxsb3cgZGVsZXRpbmcgdXBsb2FkcyB3aG9zZSBsb2NhbCBmaWxlcyBoYXZlIGJlZW4gZGVsZXRlZCAodGhyb3VnaCBjb21tYW5kPylcclxuICAgIC8vIFRPRE8gYWRkIGEgc2V0dGluZyBmb3IgYXV0by1yZWZyZXNoaW5nIHVwbG9hZHMgd2hlbiBzYXZpbmdcclxuICAgIC8vIFRPRE8gc3RyaXAgZnJvbnRtYXR0ZXIgYmVmb3JlIHVwbG9hZGluZz8gbWF5YmUgb3B0aW9uYWxseVxyXG4gICAgc2V0dGluZ3M6IEpTUFNldHRpbmdzO1xyXG5cclxuICAgIGFzeW5jIG9ubG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmxvYWRTZXR0aW5ncygpO1xyXG4gICAgICAgIHRoaXMuYWRkU2V0dGluZ1RhYihuZXcgSlNQU2V0dGluZ3NUYWIodGhpcy5hcHAsIHRoaXMpKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbihcImZpbGUtbWVudVwiLCBhc3luYyAobSwgZikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZiBpbnN0YW5jZW9mIFRGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2hhcmVkID0gdGhpcy5zZXR0aW5ncy5zaGFyZWQuZmluZChpID0+IGkucGF0aCA9PSBmLnBhdGgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFzaGFyZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAobmV3bHkpIHNoYXJlIGEgbm90ZVxyXG4gICAgICAgICAgICAgICAgICAgIG0uYWRkSXRlbShpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5zZXRUaXRsZShcIlNoYXJlIHRvIEpTUFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5zZXRJY29uKFwic2hhcmVcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0VXJsKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuc2V0dGluZ3MudXJsfS9zaGFyZS5waHBgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe2NvbnRlbnQ6IGF3YWl0IHRoaXMuYXBwLnZhdWx0LmNhY2hlZFJlYWQoZil9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdzogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gZGlzcGxheSBtZXNzYWdlIGFib3V0IHN0YXR1cyBzdWNjZXNzL2ZhaWwgYW5kIGNvcHkgVVJMIHRvIGNsaXBib2FyZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2Uuc3RhdHVzICsgXCIgXCIgKyByZXNwb25zZS50ZXh0KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZCA9IHJlc3BvbnNlLmpzb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkLnBhdGggPSBmLnBhdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5zaGFyZWQucHVzaChzaGFyZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2F2ZVNldHRpbmdzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb3B5IG5vdGUgbGlua1xyXG4gICAgICAgICAgICAgICAgICAgIG0uYWRkSXRlbShpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5zZXRUaXRsZShcIkNvcHkgSlNQIGxpbmtcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkuc2V0SWNvbihcImxpbmtcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gbGV0IHBlb3BsZSBrbm93IHRoaXMgaGFwcGVuZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5vbkNsaWNrKCgpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGAke3RoaXMuc2V0dGluZ3MudXJsfSMke3NoYXJlZC5pZH1gKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIG0uYWRkSXRlbShpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5zZXRUaXRsZShcIlVwZGF0ZSBpbiBKU1BcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkuc2V0SWNvbihcInNoYXJlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpLm9uQ2xpY2soYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdFVybCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLnNldHRpbmdzLnVybH0vc2hhcmUucGhwP2lkPSR7c2hhcmVkLmlkfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBBVENIXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1wiUGFzc3dvcmRcIjogc2hhcmVkLnBhc3N3b3JkfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7Y29udGVudDogYXdhaXQgdGhpcy5hcHAudmF1bHQuY2FjaGVkUmVhZChmKX0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93OiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyBkaXNwbGF5IG1lc3NhZ2UgYWJvdXQgc3RhdHVzIHN1Y2Nlc3MvZmFpbCBhZnRlciB1cGRhdGluZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2Uuc3RhdHVzICsgXCIgXCIgKyByZXNwb25zZS50ZXh0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRlbGV0ZVxyXG4gICAgICAgICAgICAgICAgICAgIG0uYWRkSXRlbShpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5zZXRUaXRsZShcIkRlbGV0ZSBmcm9tIEpTUFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaS5zZXRJY29uKFwidHJhc2hcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkub25DbGljayhhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0VXJsKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuc2V0dGluZ3MudXJsfS9zaGFyZS5waHA/aWQ9JHtzaGFyZWQuaWR9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1wiUGFzc3dvcmRcIjogc2hhcmVkLnBhc3N3b3JkfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdzogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gZGlzcGxheSBtZXNzYWdlIGFib3V0IHN0YXR1cyBzdWNjZXNzL2ZhaWwgd2hlbiBkZWxldGluZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2Uuc3RhdHVzKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3Muc2hhcmVkLnJlbW92ZShzaGFyZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2F2ZVNldHRpbmdzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGxvYWRTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLnNldHRpbmdzID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFNldHRpbmdzLCBhd2FpdCB0aGlzLmxvYWREYXRhKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNhdmVTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVEYXRhKHRoaXMuc2V0dGluZ3MpO1xyXG4gICAgfVxyXG59XHJcbiIsICJleHBvcnQgY29uc3QgZGVmYXVsdFNldHRpbmdzOiBKU1BTZXR0aW5ncyA9IHtcclxuICAgIHVybDogXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIixcclxuICAgIHNoYXJlZDogW11cclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSlNQU2V0dGluZ3Mge1xyXG5cclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgc2hhcmVkOiBTaGFyZWRJdGVtW107XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZEl0ZW0ge1xyXG5cclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwYXNzd29yZDogc3RyaW5nO1xyXG4gICAgcGF0aDogc3RyaW5nO1xyXG5cclxufVxyXG4iLCAiaW1wb3J0IHtBcHAsIFBsdWdpblNldHRpbmdUYWIsIFNldHRpbmd9IGZyb20gXCJvYnNpZGlhblwiO1xyXG5pbXBvcnQge2RlZmF1bHRTZXR0aW5nc30gZnJvbSBcIi4vc2V0dGluZ3NcIjtcclxuaW1wb3J0IEp1c3RTaGFyZVBsZWFzZVBsdWdpbiBmcm9tIFwiLi9tYWluXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgSlNQU2V0dGluZ3NUYWIgZXh0ZW5kcyBQbHVnaW5TZXR0aW5nVGFiIHtcclxuXHJcbiAgICBwbHVnaW46IEp1c3RTaGFyZVBsZWFzZVBsdWdpbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBKdXN0U2hhcmVQbGVhc2VQbHVnaW4pIHtcclxuICAgICAgICBzdXBlcihhcHAsIHBsdWdpbik7XHJcbiAgICAgICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmVtcHR5KCk7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJFbC5jcmVhdGVFbChcImgyXCIsIHt0ZXh0OiBcIkp1c3QgU2hhcmUgUGxlYXNlIFNldHRpbmdzXCJ9KTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBUT0RPIHNldHRpbmdzXHJcblxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuY3JlYXRlRWwoXCJoclwiKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwicFwiLCB7dGV4dDogXCJJZiB5b3UgbGlrZSB0aGlzIHBsdWdpbiBhbmQgd2FudCB0byBzdXBwb3J0IGl0cyBkZXZlbG9wbWVudCwgeW91IGNhbiBkbyBzbyB0aHJvdWdoIG15IHdlYnNpdGUgYnkgY2xpY2tpbmcgdGhpcyBmYW5jeSBpbWFnZSFcIn0pO1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuY3JlYXRlRWwoXCJhXCIsIHtocmVmOiBcImh0dHBzOi8vZWxscGVjay5kZS9zdXBwb3J0XCJ9KVxyXG4gICAgICAgICAgICAuY3JlYXRlRWwoXCJpbWdcIiwge1xyXG4gICAgICAgICAgICAgICAgYXR0cjoge3NyYzogXCJodHRwczovL2VsbHBlY2suZGUvcmVzL2dlbmVyYWxzdXBwb3J0LnBuZ1wifSxcclxuICAgICAgICAgICAgICAgIGNsczogXCJqdXN0LXNoYXJlLXBsZWFzZS1zdXBwb3J0XCJcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBLHVCQUF3Qzs7O0FDQWpDLElBQU0sa0JBQStCO0FBQUEsRUFDeEMsS0FBSztBQUFBLEVBQ0wsUUFBUTtBQUFBOzs7QUNGWixzQkFBNkM7QUFJdEMsbUNBQTZCLGlDQUFpQjtBQUFBLEVBSWpELFlBQVksS0FBVSxRQUErQjtBQUNqRCxVQUFNLEtBQUs7QUFDWCxTQUFLLFNBQVM7QUFBQTtBQUFBLEVBR2xCLFVBQWdCO0FBQ1osU0FBSyxZQUFZO0FBQ2pCLFNBQUssWUFBWSxTQUFTLE1BQU0sRUFBQyxNQUFNO0FBSXZDLFNBQUssWUFBWSxTQUFTO0FBQzFCLFNBQUssWUFBWSxTQUFTLEtBQUssRUFBQyxNQUFNO0FBQ3RDLFNBQUssWUFBWSxTQUFTLEtBQUssRUFBQyxNQUFNLGdDQUNqQyxTQUFTLE9BQU87QUFBQSxNQUNiLE1BQU0sRUFBQyxLQUFLO0FBQUEsTUFDWixLQUFLO0FBQUE7QUFBQTtBQUFBOzs7QUZwQnJCLDBDQUFtRCx3QkFBTztBQUFBLEVBT2hELFNBQXdCO0FBQUE7QUFDMUIsWUFBTSxLQUFLO0FBQ1gsV0FBSyxjQUFjLElBQUksZUFBZSxLQUFLLEtBQUs7QUFFaEQsV0FBSyxjQUFjLEtBQUssSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFPLEdBQUcsTUFBTTtBQUNsRSxZQUFJLGFBQWEsd0JBQU87QUFDcEIsY0FBSSxTQUFTLEtBQUssU0FBUyxPQUFPLEtBQUssT0FBSyxFQUFFLFFBQVEsRUFBRTtBQUN4RCxjQUFJLENBQUMsUUFBUTtBQUVULGNBQUUsUUFBUSxPQUFLO0FBQ1gsZ0JBQUUsU0FBUztBQUNYLGdCQUFFLFFBQVE7QUFDVixnQkFBRSxRQUFRLE1BQVk7QUFDbEIsb0JBQUksV0FBVyxNQUFNLGlDQUFXO0FBQUEsa0JBQzVCLEtBQUssR0FBRyxLQUFLLFNBQVM7QUFBQSxrQkFDdEIsUUFBUTtBQUFBLGtCQUNSLE1BQU0sS0FBSyxVQUFVLEVBQUMsU0FBUyxNQUFNLEtBQUssSUFBSSxNQUFNLFdBQVc7QUFBQSxrQkFDL0QsT0FBTztBQUFBO0FBSVgsd0JBQVEsSUFBSSxTQUFTLFNBQVMsTUFBTSxTQUFTO0FBRTdDLG9CQUFJLFNBQVMsVUFBVSxLQUFLO0FBQ3hCLDJCQUFTLFNBQVM7QUFDbEIseUJBQU8sT0FBTyxFQUFFO0FBQ2hCLHVCQUFLLFNBQVMsT0FBTyxLQUFLO0FBQzFCLHdCQUFNLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQSxpQkFJcEI7QUFFSCxjQUFFLFFBQVEsT0FBSztBQUNYLGdCQUFFLFNBQVM7QUFDWCxnQkFBRSxRQUFRO0FBRVYsZ0JBQUUsUUFBUSxNQUFNLFVBQVUsVUFBVSxVQUFVLEdBQUcsS0FBSyxTQUFTLE9BQU8sT0FBTztBQUFBO0FBSWpGLGNBQUUsUUFBUSxPQUFLO0FBQ1gsZ0JBQUUsU0FBUztBQUNYLGdCQUFFLFFBQVE7QUFDVixnQkFBRSxRQUFRLE1BQVk7QUFDbEIsb0JBQUksV0FBVyxNQUFNLGlDQUFXO0FBQUEsa0JBQzVCLEtBQUssR0FBRyxLQUFLLFNBQVMsb0JBQW9CLE9BQU87QUFBQSxrQkFDakQsUUFBUTtBQUFBLGtCQUNSLFNBQVMsRUFBQyxZQUFZLE9BQU87QUFBQSxrQkFDN0IsTUFBTSxLQUFLLFVBQVUsRUFBQyxTQUFTLE1BQU0sS0FBSyxJQUFJLE1BQU0sV0FBVztBQUFBLGtCQUMvRCxPQUFPO0FBQUE7QUFJWCx3QkFBUSxJQUFJLFNBQVMsU0FBUyxNQUFNLFNBQVM7QUFBQTtBQUFBO0FBS3JELGNBQUUsUUFBUSxPQUFLO0FBQ1gsZ0JBQUUsU0FBUztBQUNYLGdCQUFFLFFBQVE7QUFDVixnQkFBRSxRQUFRLE1BQVk7QUFDbEIsb0JBQUksV0FBVyxNQUFNLGlDQUFXO0FBQUEsa0JBQzVCLEtBQUssR0FBRyxLQUFLLFNBQVMsb0JBQW9CLE9BQU87QUFBQSxrQkFDakQsUUFBUTtBQUFBLGtCQUNSLFNBQVMsRUFBQyxZQUFZLE9BQU87QUFBQSxrQkFDN0IsT0FBTztBQUFBO0FBSVgsd0JBQVEsSUFBSSxTQUFTO0FBRXJCLG9CQUFJLFNBQVMsVUFBVSxLQUFLO0FBQ3hCLHVCQUFLLFNBQVMsT0FBTyxPQUFPO0FBQzVCLHdCQUFNLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTakMsZUFBOEI7QUFBQTtBQUNoQyxXQUFLLFdBQVcsT0FBTyxPQUFPLElBQUksaUJBQWlCLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQSxFQUc1RCxlQUE4QjtBQUFBO0FBQ2hDLFlBQU0sS0FBSyxTQUFTLEtBQUs7QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==