obsidian-typings 2.7.0 → 2.8.1
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.
- package/dist/implementations.cjs +62 -62
- package/dist/implementations.d.ts +54 -54
- package/dist/obsidian-typings.api.json +16 -3
- package/dist/types.d.ts +1028 -981
- package/package.json +1 -1
package/dist/implementations.cjs
CHANGED
|
@@ -66,47 +66,6 @@ __export(implementations_exports, {
|
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(implementations_exports);
|
|
68
68
|
|
|
69
|
-
// src/obsidian/implementations/Constructors/getTFolderConstructor.ts
|
|
70
|
-
var import_obsidian = require("obsidian");
|
|
71
|
-
function getTFolderConstructor() {
|
|
72
|
-
return import_obsidian.TFolder;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// src/obsidian/implementations/Utils/PathUtils.ts
|
|
76
|
-
function parentFolderPath(path) {
|
|
77
|
-
return path.replace(/\/?[^\/]*$/, "") || "/";
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// src/obsidian/implementations/Functions/createTFolderInstance.ts
|
|
81
|
-
function createTFolderInstance(app, path) {
|
|
82
|
-
let folder = app.vault.getFolderByPath(path);
|
|
83
|
-
if (folder) {
|
|
84
|
-
return folder;
|
|
85
|
-
}
|
|
86
|
-
folder = new (getTFolderConstructor())(app.vault, path);
|
|
87
|
-
folder.parent = createTFolderInstance(app, parentFolderPath(path));
|
|
88
|
-
folder.deleted = true;
|
|
89
|
-
return folder;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// src/obsidian/implementations/Constructors/getTFileConstructor.ts
|
|
93
|
-
var import_obsidian2 = require("obsidian");
|
|
94
|
-
function getTFileConstructor() {
|
|
95
|
-
return import_obsidian2.TFile;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// src/obsidian/implementations/Functions/createTFileInstance.ts
|
|
99
|
-
function createTFileInstance(app, path) {
|
|
100
|
-
let file = app.vault.getFileByPath(path);
|
|
101
|
-
if (file) {
|
|
102
|
-
return file;
|
|
103
|
-
}
|
|
104
|
-
file = new (getTFileConstructor())(app.vault, path);
|
|
105
|
-
file.parent = createTFolderInstance(app, parentFolderPath(path));
|
|
106
|
-
file.deleted = true;
|
|
107
|
-
return file;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
69
|
// src/obsidian/implementations/Classes/CustomArrayDictImpl.ts
|
|
111
70
|
var CustomArrayDictImpl = class {
|
|
112
71
|
data = /* @__PURE__ */ new Map();
|
|
@@ -154,6 +113,67 @@ var CustomArrayDictImpl = class {
|
|
|
154
113
|
}
|
|
155
114
|
};
|
|
156
115
|
|
|
116
|
+
// src/obsidian/implementations/Constructors/getTFolderConstructor.ts
|
|
117
|
+
var import_obsidian = require("obsidian");
|
|
118
|
+
function getTFolderConstructor() {
|
|
119
|
+
return import_obsidian.TFolder;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// src/obsidian/implementations/Utils/PathUtils.ts
|
|
123
|
+
function parentFolderPath(path) {
|
|
124
|
+
return path.replace(/\/?[^\/]*$/, "") || "/";
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// src/obsidian/implementations/Functions/createTFolderInstance.ts
|
|
128
|
+
function createTFolderInstance(app, path) {
|
|
129
|
+
let folder = app.vault.getFolderByPath(path);
|
|
130
|
+
if (folder) {
|
|
131
|
+
return folder;
|
|
132
|
+
}
|
|
133
|
+
folder = new (getTFolderConstructor())(app.vault, path);
|
|
134
|
+
folder.parent = createTFolderInstance(app, parentFolderPath(path));
|
|
135
|
+
folder.deleted = true;
|
|
136
|
+
return folder;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// src/obsidian/implementations/Constructors/getTFileConstructor.ts
|
|
140
|
+
var import_obsidian2 = require("obsidian");
|
|
141
|
+
function getTFileConstructor() {
|
|
142
|
+
return import_obsidian2.TFile;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// src/obsidian/implementations/Functions/createTFileInstance.ts
|
|
146
|
+
function createTFileInstance(app, path) {
|
|
147
|
+
let file = app.vault.getFileByPath(path);
|
|
148
|
+
if (file) {
|
|
149
|
+
return file;
|
|
150
|
+
}
|
|
151
|
+
file = new (getTFileConstructor())(app.vault, path);
|
|
152
|
+
file.parent = createTFolderInstance(app, parentFolderPath(path));
|
|
153
|
+
file.deleted = true;
|
|
154
|
+
return file;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// src/obsidian/implementations/TypeGuards/isReferenceCache.ts
|
|
158
|
+
function isReferenceCache(reference) {
|
|
159
|
+
return !!reference.position;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// src/obsidian/implementations/TypeGuards/isEmbedCache.ts
|
|
163
|
+
function isEmbedCache(reference) {
|
|
164
|
+
return isReferenceCache(reference) && reference.original[0] === "!";
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// src/obsidian/implementations/TypeGuards/isFrontmatterLinkCache.ts
|
|
168
|
+
function isFrontmatterLinkCache(reference) {
|
|
169
|
+
return !!reference.key;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// src/obsidian/implementations/TypeGuards/isLinkCache.ts
|
|
173
|
+
function isLinkCache(reference) {
|
|
174
|
+
return isReferenceCache(reference) && reference.original[0] !== "!";
|
|
175
|
+
}
|
|
176
|
+
|
|
157
177
|
// src/obsidian/implementations/Constants/FileExtension.ts
|
|
158
178
|
var FileExtension = {
|
|
159
179
|
_3gp: "3gp",
|
|
@@ -348,26 +368,6 @@ function getAppConstructor() {
|
|
|
348
368
|
return import_obsidian3.App;
|
|
349
369
|
}
|
|
350
370
|
|
|
351
|
-
// src/obsidian/implementations/TypeGuards/isReferenceCache.ts
|
|
352
|
-
function isReferenceCache(reference) {
|
|
353
|
-
return !!reference.position;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
// src/obsidian/implementations/TypeGuards/isEmbedCache.ts
|
|
357
|
-
function isEmbedCache(reference) {
|
|
358
|
-
return isReferenceCache(reference) && reference.original[0] === "!";
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
// src/obsidian/implementations/TypeGuards/isFrontmatterLinkCache.ts
|
|
362
|
-
function isFrontmatterLinkCache(reference) {
|
|
363
|
-
return !!reference.key;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
// src/obsidian/implementations/TypeGuards/isLinkCache.ts
|
|
367
|
-
function isLinkCache(reference) {
|
|
368
|
-
return isReferenceCache(reference) && reference.original[0] !== "!";
|
|
369
|
-
}
|
|
370
|
-
|
|
371
371
|
// src/obsidian/implementations/Constructors/Views/getViewConstructorByViewType.ts
|
|
372
372
|
function getViewConstructorByViewType(app, viewType) {
|
|
373
373
|
const leaf = app.workspace.createLeafInTabGroup();
|
|
@@ -492,4 +492,4 @@ function getMarkdownViewConstructor(app) {
|
|
|
492
492
|
function getAllPropertiesViewConstructor(app) {
|
|
493
493
|
return getViewConstructorByViewType(app, ViewType.AllProperties);
|
|
494
494
|
}
|
|
495
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9nZXRURm9sZGVyQ29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9VdGlscy9QYXRoVXRpbHMudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9GdW5jdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2dldFRGaWxlQ29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9GdW5jdGlvbnMvY3JlYXRlVEZpbGVJbnN0YW5jZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NsYXNzZXMvQ3VzdG9tQXJyYXlEaWN0SW1wbC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0YW50cy9GaWxlRXh0ZW5zaW9uLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RhbnRzL0ludGVybmFsUGx1Z2luTmFtZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0YW50cy9WaWV3VHlwZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9nZXRJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2dldEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2dldEFwcENvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc1JlZmVyZW5jZUNhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc0VtYmVkQ2FjaGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9UeXBlR3VhcmRzL2lzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9UeXBlR3VhcmRzL2lzTGlua0NhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0T3V0bGluZVZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRCcm93c2VyVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldFJlbGVhc2VOb3Rlc1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRQZGZWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0U3luY1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRPdXRnb2luZ0xpbmtWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Q2FudmFzVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldFRhZ1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRBdWRpb1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRMb2NhbEdyYXBoVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldEJhY2tsaW5rVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldEZpbGVFeHBsb3JlclZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRTZWFyY2hWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0VmlkZW9WaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0SW1hZ2VWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0QnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RW1wdHlWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0R3JhcGhWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Qm9va21hcmtzVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldE1hcmtkb3duVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldEFsbFByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBmcm9tICcuL0Z1bmN0aW9ucy9jcmVhdGVURm9sZGVySW5zdGFuY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9GdW5jdGlvbnMvY3JlYXRlVEZpbGVJbnN0YW5jZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NsYXNzZXMvQ3VzdG9tQXJyYXlEaWN0SW1wbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0YW50cy9GaWxlRXh0ZW5zaW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RhbnRzL1ZpZXdUeXBlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RhbnRzL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1V0aWxzL1BhdGhVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9nZXRJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2dldEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2dldFRGb2xkZXJDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9nZXRBcHBDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9nZXRURmlsZUNvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vVHlwZUd1YXJkcy9pc0VtYmVkQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzUmVmZXJlbmNlQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzTGlua0NhY2hlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldE91dGxpbmVWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0QnJvd3NlclZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRSZWxlYXNlTm90ZXNWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0UGRmVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0U3luY1ZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRPdXRnb2luZ0xpbmtWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Q2FudmFzVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldFRhZ1ZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRBdWRpb1ZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRMb2NhbEdyYXBoVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldEJhY2tsaW5rVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldEZpbGVFeHBsb3JlclZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRTZWFyY2hWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0VmlkZW9WaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0SW1hZ2VWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0QnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RW1wdHlWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0R3JhcGhWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Qm9va21hcmtzVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldE1hcmtkb3duVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldEFsbFByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IuanMnO1xuaW1wb3J0ICcuLi8uLi9pbmRleC5qcyc7XG4iLCAiaW1wb3J0IHtcbiAgICBURm9sZGVyXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVEZvbGRlckNvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9URm9sZGVyQ29uc3RydWN0b3IudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgVEZvbGRlciBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgVEZvbGRlciBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRGb2xkZXJDb25zdHJ1Y3RvcigpOiBURm9sZGVyQ29uc3RydWN0b3Ige1xuICAgIHJldHVybiBURm9sZGVyIGFzIFRGb2xkZXJDb25zdHJ1Y3Rvcjtcbn1cbiIsICIvKipcbiAqIEdldCB0aGUgcGFyZW50IGZvbGRlciBwYXRoIG9mIGEgZ2l2ZW4gcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgcGFyZW50IGZvbGRlciBwYXRoIG9mLlxuICogQHJldHVybnMgVGhlIHBhcmVudCBmb2xkZXIgcGF0aC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcmVudEZvbGRlclBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cXC8/W15cXC9dKiQvLCAnJykgfHwgJy8nO1xufVxuIiwgImltcG9ydCB7XG4gICAgdHlwZSBBcHAsXG4gICAgVEZvbGRlclxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBnZXRURm9sZGVyQ29uc3RydWN0b3IgfSBmcm9tICcuLi9Db25zdHJ1Y3RvcnMvZ2V0VEZvbGRlckNvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB7IHBhcmVudEZvbGRlclBhdGggfSBmcm9tICcuLi9VdGlscy9QYXRoVXRpbHMuanMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURm9sZGVyIGV2ZW4gdGhlIHVuZGVybHlpbmcgZm9sZGVyIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmb2xkZXIgb24gdGhlIGZpbGUgc3lzdGVtLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZvbGRlckluc3RhbmNlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIHtcbiAgICBsZXQgZm9sZGVyID0gYXBwLnZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfVxuXG4gICAgZm9sZGVyID0gbmV3IChnZXRURm9sZGVyQ29uc3RydWN0b3IoKSkoYXBwLnZhdWx0LCBwYXRoKTtcbiAgICBmb2xkZXIucGFyZW50ID0gY3JlYXRlVEZvbGRlckluc3RhbmNlKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZm9sZGVyLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFRGaWxlQ29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1RGaWxlQ29uc3RydWN0b3IudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgVEZpbGUgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIFRGaWxlIGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VEZpbGVDb25zdHJ1Y3RvcigpOiBURmlsZUNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gVEZpbGUgYXMgVEZpbGVDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQge1xuICAgIHR5cGUgQXBwLFxuICAgIFRGaWxlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGdldFRGaWxlQ29uc3RydWN0b3IgfSBmcm9tICcuLi9Db25zdHJ1Y3RvcnMvZ2V0VEZpbGVDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi4vVXRpbHMvUGF0aFV0aWxzLmpzJztcbmltcG9ydCB7IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSB9IGZyb20gJy4vY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZpbGUgZXZlbiB0aGUgdW5kZXJseWluZyBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGaWxlSW5zdGFuY2UoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICBsZXQgZmlsZSA9IGFwcC52YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBuZXcgKGdldFRGaWxlQ29uc3RydWN0b3IoKSkoYXBwLnZhdWx0LCBwYXRoKTtcbiAgICBmaWxlLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZShhcHAsIHBhcmVudEZvbGRlclBhdGgocGF0aCkpO1xuICAgIGZpbGUuZGVsZXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIGZpbGU7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0LmpzJztcblxuLyoqIEBwdWJsaWMgKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21BcnJheURpY3RJbXBsPFQ+IGltcGxlbWVudHMgQ3VzdG9tQXJyYXlEaWN0PFQ+IHtcbiAgICBwdWJsaWMgZGF0YTogTWFwPHN0cmluZywgVFtdPiA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGxldCB2YWx1ZXMgPSB0aGlzLmdldChrZXkpO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgdmFsdWVzID0gW107XG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0KGtleSwgdmFsdWVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZShrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKCF2YWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMucmVtb3ZlKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhcihrZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IFRbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldChrZXkpIHx8IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmRhdGEua2V5cygpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLmRlbGV0ZShrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmdldChrZXkpPy5jb250YWlucyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGxldCBhbnMgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmtleXMoKSkge1xuICAgICAgICAgICAgYW5zICs9IHRoaXMuZ2V0KGtleSk/Lmxlbmd0aCA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFucztcbiAgICB9XG59XG4iLCAiLyoqIEBwdWJsaWMgKi9cbmV4cG9ydCBjb25zdCBGaWxlRXh0ZW5zaW9uID0ge1xuICAgIF8zZ3A6ICczZ3AnLFxuICAgIGF2aWY6ICdhdmlmJyxcbiAgICBibXA6ICdibXAnLFxuICAgIGNhbnZhczogJ2NhbnZhcycsXG4gICAgZmxhYzogJ2ZsYWMnLFxuICAgIGdpZjogJ2dpZicsXG4gICAganBlZzogJ2pwZWcnLFxuICAgIGpwZzogJ2pwZycsXG4gICAgbTRhOiAnbTRhJyxcbiAgICBtZDogJ21kJyxcbiAgICBta3Y6ICdta3YnLFxuICAgIG1vdjogJ21vdicsXG4gICAgbXAzOiAnbXAzJyxcbiAgICBtcDQ6ICdtcDQnLFxuICAgIG9nYTogJ29nYScsXG4gICAgb2dnOiAnb2dnJyxcbiAgICBvZ3Y6ICdvZ3YnLFxuICAgIG9wdXM6ICdvcHVzJyxcbiAgICBwZGY6ICdwZGYnLFxuICAgIHBuZzogJ3BuZycsXG4gICAgc3ZnOiAnc3ZnJyxcbiAgICB3YXY6ICd3YXYnLFxuICAgIHdlYm06ICd3ZWJtJyxcbiAgICB3ZWJwOiAnd2VicCdcbn0gYXMgY29uc3Q7XG4iLCAiLyoqIEBwdWJsaWMgKi9cbmV4cG9ydCBjb25zdCBJbnRlcm5hbFBsdWdpbk5hbWUgPSB7XG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IEF1ZGlvIHJlY29yZGVyXG4gICAgICovXG4gICAgQXVkaW9SZWNvcmRlcjogJ2F1ZGlvLXJlY29yZGVyJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogQmFja2xpbmtzXG4gICAgICovXG4gICAgQmFja2xpbms6ICdiYWNrbGluaycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IEJvb2ttYXJrc1xuICAgICAqL1xuICAgIEJvb2ttYXJrczogJ2Jvb2ttYXJrcycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFdlYiB2aWV3ZXJcbiAgICAgKi9cbiAgICBCcm93c2VyOiAnYnJvd3NlcicsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IENhbnZhc1xuICAgICAqL1xuICAgIENhbnZhczogJ2NhbnZhcycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IENvbW1hbmQgcGFsZXR0ZVxuICAgICAqL1xuICAgIENvbW1hbmRQYWxldHRlOiAnY29tbWFuZC1wYWxldHRlJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogRGFpbHkgbm90ZXNcbiAgICAgKi9cbiAgICBEYWlseU5vdGVzOiAnZGFpbHktbm90ZXMnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiAoaGlkZGVuKVxuICAgICAqL1xuICAgIEVkaXRvclN0YXR1czogJ2VkaXRvci1zdGF0dXMnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBGaWxlc1xuICAgICAqL1xuICAgIEZpbGVFeHBsb3JlcjogJ2ZpbGUtZXhwbG9yZXInLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBGaWxlIHJlY292ZXJ5XG4gICAgICovXG4gICAgRmlsZVJlY292ZXJ5OiAnZmlsZS1yZWNvdmVyeScsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFNlYXJjaFxuICAgICAqL1xuICAgIEdsb2JhbFNlYXJjaDogJ2dsb2JhbC1zZWFyY2gnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBHcmFwaCB2aWV3XG4gICAgICovXG4gICAgR3JhcGg6ICdncmFwaCcsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IEZvcm1hdCBjb252ZXJ0ZXJcbiAgICAgKi9cbiAgICBNYXJrZG93bkltcG9ydGVyOiAnbWFya2Rvd24taW1wb3J0ZXInLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBOb3RlIGNvbXBvc2VyXG4gICAgICovXG4gICAgTm90ZUNvbXBvc2VyOiAnbm90ZS1jb21wb3NlcicsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IE91dGdvaW5nIGxpbmtzXG4gICAgICovXG4gICAgT3V0Z29pbmdMaW5rOiAnb3V0Z29pbmctbGluaycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IE91dGxpbmVcbiAgICAgKi9cbiAgICBPdXRsaW5lOiAnb3V0bGluZScsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFBhZ2UgcHJldmlld1xuICAgICAqL1xuICAgIFBhZ2VQcmV2aWV3OiAncGFnZS1wcmV2aWV3JyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogUHJvcGVydGllcyB2aWV3XG4gICAgICovXG4gICAgUHJvcGVydGllczogJ3Byb3BlcnRpZXMnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBQdWJsaXNoXG4gICAgICovXG4gICAgUHVibGlzaDogJ3B1Ymxpc2gnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBSYW5kb20gbm90ZVxuICAgICAqL1xuICAgIFJhbmRvbU5vdGU6ICdyYW5kb20tbm90ZScsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFNsYXNoIGNvbW1hbmRzXG4gICAgICovXG4gICAgU2xhc2hDb21tYW5kOiAnc2xhc2gtY29tbWFuZCcsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFNsaWRlc1xuICAgICAqL1xuICAgIFNsaWRlczogJ3NsaWRlcycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFF1aWNrIFN3aXRjaGVyXG4gICAgICovXG4gICAgU3dpdGNoZXI6ICdzd2l0Y2hlcicsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFN5bmNcbiAgICAgKi9cbiAgICBTeW5jOiAnc3luYycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFRhZ3Mgdmlld1xuICAgICAqL1xuICAgIFRhZ1BhbmU6ICd0YWctcGFuZScsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFRlbXBsYXRlc1xuICAgICAqL1xuICAgIFRlbXBsYXRlczogJ3RlbXBsYXRlcycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFdvcmQgY291bnRcbiAgICAgKi9cbiAgICBXb3JkQ291bnQ6ICd3b3JkLWNvdW50JyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogV29ya3NwYWNlc1xuICAgICAqL1xuICAgIFdvcmtzcGFjZXM6ICd3b3Jrc3BhY2VzJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogVW5pcXVlIG5vdGUgY3JlYXRvclxuICAgICAqL1xuICAgIFprUHJlZml4ZXI6ICd6ay1wcmVmaXhlcidcbn0gYXMgY29uc3Q7XG4iLCAiaW1wb3J0IHsgSW50ZXJuYWxQbHVnaW5OYW1lIH0gZnJvbSAnLi9JbnRlcm5hbFBsdWdpbk5hbWUuanMnO1xuXG4vKiogQHB1YmxpYyAqL1xuZXhwb3J0IGNvbnN0IFZpZXdUeXBlID0ge1xuICAgIEFsbFByb3BlcnRpZXM6ICdhbGwtcHJvcGVydGllcycsXG4gICAgQXVkaW86ICdhdWRpbycsXG4gICAgQmFja2xpbms6IEludGVybmFsUGx1Z2luTmFtZS5CYWNrbGluayxcbiAgICBCb29rbWFya3M6IEludGVybmFsUGx1Z2luTmFtZS5Cb29rbWFya3MsXG4gICAgQnJvd3NlcjogJ2Jyb3dzZXInLFxuICAgIEJyb3dzZXJIaXN0b3J5OiAnYnJvd3Nlci1oaXN0b3J5JyxcbiAgICBDYW52YXM6IEludGVybmFsUGx1Z2luTmFtZS5DYW52YXMsXG4gICAgRW1wdHk6ICdlbXB0eScsXG4gICAgRmlsZUV4cGxvcmVyOiBJbnRlcm5hbFBsdWdpbk5hbWUuRmlsZUV4cGxvcmVyLFxuICAgIEZpbGVQcm9wZXJ0aWVzOiAnZmlsZS1wcm9wZXJ0aWVzJyxcbiAgICBHcmFwaDogSW50ZXJuYWxQbHVnaW5OYW1lLkdyYXBoLFxuICAgIEltYWdlOiAnaW1hZ2UnLFxuICAgIExvY2FsR3JhcGg6ICdsb2NhbGdyYXBoJyxcbiAgICBNYXJrZG93bjogJ21hcmtkb3duJyxcbiAgICBPdXRnb2luZ0xpbms6IEludGVybmFsUGx1Z2luTmFtZS5PdXRnb2luZ0xpbmssXG4gICAgT3V0bGluZTogSW50ZXJuYWxQbHVnaW5OYW1lLk91dGxpbmUsXG4gICAgUGRmOiAncGRmJyxcbiAgICBSZWxlYXNlTm90ZXM6ICdyZWxlYXNlLW5vdGVzJyxcbiAgICBTZWFyY2g6ICdzZWFyY2gnLFxuICAgIFN5bmM6ICdzeW5jJyxcbiAgICBUYWc6ICd0YWcnLFxuICAgIFZpZGVvOiAndmlkZW8nXG59IGFzIGNvbnN0O1xuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9JbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEludGVybmFsUGx1Z2luIGNvbnN0cnVjdG9yLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIEludGVybmFsUGx1Z2luIGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJuYWxQbHVnaW5Db25zdHJ1Y3RvcjxJbnN0YW5jZT4oYXBwOiBBcHApOiBJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yPEluc3RhbmNlPiB7XG4gICAgY29uc3QgYW55UGx1Z2luID0gT2JqZWN0LnZhbHVlcyhhcHAuaW50ZXJuYWxQbHVnaW5zLnBsdWdpbnMpWzBdO1xuICAgIGlmICghYW55UGx1Z2luKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gaW50ZXJuYWwgcGx1Z2luIGZvdW5kJyk7XG4gICAgfVxuICAgIHJldHVybiBhbnlQbHVnaW4uY29uc3RydWN0b3IgYXMgSW50ZXJuYWxQbHVnaW5Db25zdHJ1Y3RvcjxJbnN0YW5jZT47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9JbnRlcm5hbFBsdWdpbnNDb25zdHJ1Y3Rvci50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBJbnRlcm5hbFBsdWdpbnMgY29uc3RydWN0b3IuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgSW50ZXJuYWxQbHVnaW5zIGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJuYWxQbHVnaW5zQ29uc3RydWN0b3IoYXBwOiBBcHApOiBJbnRlcm5hbFBsdWdpbnNDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIGFwcC5pbnRlcm5hbFBsdWdpbnMuY29uc3RydWN0b3IgYXMgSW50ZXJuYWxQbHVnaW5zQ29uc3RydWN0b3I7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBBcHBcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBBcHBDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvQXBwQ29uc3RydWN0b3IudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgQXBwIGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBBcHAgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBDb25zdHJ1Y3RvcigpOiBBcHBDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIEFwcCBhcyBBcHBDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgUmVmZXJlbmNlLFxuICAgIFJlZmVyZW5jZUNhY2hlXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcmVmZXJlbmNlIGlzIGEgcmVmZXJlbmNlIGNhY2hlLlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2UgLSBUaGUgcmVmZXJlbmNlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcmVmZXJlbmNlIGlzIGEgcmVmZXJlbmNlIGNhY2hlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNSZWZlcmVuY2VDYWNoZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBSZWZlcmVuY2VDYWNoZSB7XG4gICAgcmV0dXJuICEhKHJlZmVyZW5jZSBhcyBQYXJ0aWFsPFJlZmVyZW5jZUNhY2hlPikucG9zaXRpb247XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEVtYmVkQ2FjaGUsXG4gICAgUmVmZXJlbmNlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGlzUmVmZXJlbmNlQ2FjaGUgfSBmcm9tICcuL2lzUmVmZXJlbmNlQ2FjaGUudHMnO1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSByZWZlcmVuY2UgaXMgYW4gZW1iZWQgY2FjaGUuXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSByZWZlcmVuY2UgaXMgYW4gZW1iZWQgY2FjaGUuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0VtYmVkQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgRW1iZWRDYWNoZSB7XG4gICAgcmV0dXJuIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlKSAmJiByZWZlcmVuY2Uub3JpZ2luYWxbMF0gPT09ICchJztcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gICAgUmVmZXJlbmNlXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcmVmZXJlbmNlIGlzIGEgZnJvbnRtYXR0ZXIgbGluayBjYWNoZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIGZyb250bWF0dGVyIGxpbmsgY2FjaGUuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIEZyb250bWF0dGVyTGlua0NhY2hlIHtcbiAgICByZXR1cm4gISEocmVmZXJlbmNlIGFzIFBhcnRpYWw8RnJvbnRtYXR0ZXJMaW5rQ2FjaGU+KS5rZXk7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIExpbmtDYWNoZSxcbiAgICBSZWZlcmVuY2Vcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgaXNSZWZlcmVuY2VDYWNoZSB9IGZyb20gJy4vaXNSZWZlcmVuY2VDYWNoZS50cyc7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHJlZmVyZW5jZSBpcyBhIGxpbmsgY2FjaGUuXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSByZWZlcmVuY2UgaXMgYSBsaW5rIGNhY2hlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNMaW5rQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgTGlua0NhY2hlIHtcbiAgICByZXR1cm4gaXNSZWZlcmVuY2VDYWNoZShyZWZlcmVuY2UpICYmIHJlZmVyZW5jZS5vcmlnaW5hbFswXSAhPT0gJyEnO1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBBcHAsXG4gICAgQ29uc3RydWN0b3IsXG4gICAgVmlld1xufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogR2V0IHRoZSB2aWV3IGNvbnN0cnVjdG9yIGJ5IHZpZXcgdHlwZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcC5cbiAqIEBwYXJhbSB2aWV3VHlwZSAtIFRoZSB2aWV3IHR5cGUuXG4gKiBAcmV0dXJucyBUaGUgdmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGU8VFZpZXcgZXh0ZW5kcyBWaWV3ID0gVmlldz4oXG4gICAgYXBwOiBBcHAsXG4gICAgdmlld1R5cGU6IHN0cmluZ1xuKTogQ29uc3RydWN0b3I8VFZpZXc+IHtcbiAgICBjb25zdCBsZWFmID0gYXBwLndvcmtzcGFjZS5jcmVhdGVMZWFmSW5UYWJHcm91cCgpO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHZpZXdDcmVhdG9yID0gYXBwLnZpZXdSZWdpc3RyeS5nZXRWaWV3Q3JlYXRvckJ5VHlwZSh2aWV3VHlwZSk7XG4gICAgICAgIGlmICghdmlld0NyZWF0b3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVmlldyBjcmVhdG9yIG5vdCBmb3VuZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3Q3JlYXRvcihsZWFmKTtcbiAgICAgICAgcmV0dXJuIHZpZXcuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3I8VFZpZXc+O1xuICAgIH0gZmluYWxseSB7XG4gICAgICAgIGxlYWYuZGV0YWNoKCk7XG4gICAgfVxufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBBcHBcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBPdXRsaW5lVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9PdXRsaW5lVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgT3V0bGluZVZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIE91dGxpbmVWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3V0bGluZVZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IE91dGxpbmVWaWV3Q29uc3RydWN0b3Ige1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuT3V0bGluZSkgYXMgT3V0bGluZVZpZXdDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgQXBwXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQnJvd3NlclZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQnJvd3NlclZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEJyb3dzZXJWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBCcm93c2VyVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJyb3dzZXJWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBCcm93c2VyVmlld0NvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLkJyb3dzZXIpIGFzIEJyb3dzZXJWaWV3Q29uc3RydWN0b3I7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IFJlbGVhc2VOb3Rlc1ZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvVmlld3MvUmVsZWFzZU5vdGVzVmlldy5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIFJlbGVhc2VOb3Rlc1ZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIFJlbGVhc2VOb3Rlc1ZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxlYXNlTm90ZXNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxSZWxlYXNlTm90ZXNWaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5SZWxlYXNlTm90ZXMpIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPFJlbGVhc2VOb3Rlc1ZpZXc+O1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBUeXBlZFZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvVHlwZWRWaWV3Q29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHR5cGUgeyBQZGZWaWV3IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL1ZpZXdzL1BkZlZpZXcuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBQZGZWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBQZGZWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGRmVmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogVHlwZWRWaWV3Q29uc3RydWN0b3I8UGRmVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuUGRmKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxQZGZWaWV3Pjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgQXBwXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgU3luY1ZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvU3luY1ZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIFN5bmNWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBTeW5jVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN5bmNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBTeW5jVmlld0NvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLlN5bmMpIGFzIFN5bmNWaWV3Q29uc3RydWN0b3I7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IE91dGdvaW5nTGlua1ZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL091dGdvaW5nTGluay9PdXRnb2luZ0xpbmtWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgT3V0Z29pbmdMaW5rVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgT3V0Z29pbmdMaW5rVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE91dGdvaW5nTGlua1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPE91dGdvaW5nTGlua1ZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLk91dGdvaW5nTGluaykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8T3V0Z29pbmdMaW5rVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEFwcFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IENhbnZhc1ZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQ2FudmFzVmlld0NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgQ2FudmFzVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgQ2FudmFzVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENhbnZhc1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IENhbnZhc1ZpZXdDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5DYW52YXMpIGFzIENhbnZhc1ZpZXdDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVHlwZWRWaWV3Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1ZpZXdzL1R5cGVkVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgVGFnVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9WaWV3cy9UYWdWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgVGFnVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgVGFnVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRhZ1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPFRhZ1ZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLlRhZykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8VGFnVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEF1ZGlvVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9WaWV3cy9BdWRpb1ZpZXcuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBBdWRpb1ZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIEF1ZGlvVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF1ZGlvVmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogVHlwZWRWaWV3Q29uc3RydWN0b3I8QXVkaW9WaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5BdWRpbykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8QXVkaW9WaWV3Pjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVHlwZWRWaWV3Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1ZpZXdzL1R5cGVkVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgTG9jYWxHcmFwaFZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL0dyYXBoL0xvY2FsR3JhcGhWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgTG9jYWxHcmFwaFZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIExvY2FsR3JhcGhWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxHcmFwaFZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPExvY2FsR3JhcGhWaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5Mb2NhbEdyYXBoKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxMb2NhbEdyYXBoVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEJhY2tsaW5rVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbnMvQmFja2xpbmsvQmFja2xpbmtWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgQmFja2xpbmtWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBCYWNrbGlua1ZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWNrbGlua1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEJhY2tsaW5rVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuQmFja2xpbmspIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPEJhY2tsaW5rVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeHBsb3JlclZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL0ZpbGVFeHBsb3Jlci9GaWxlRXhwbG9yZXJWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgRmlsZUV4cGxvcmVyVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgRmlsZUV4cGxvcmVyVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVFeHBsb3JlclZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEZpbGVFeHBsb3JlclZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLkZpbGVFeHBsb3JlcikgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8RmlsZUV4cGxvcmVyVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaFZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL0dsb2JhbFNlYXJjaC9TZWFyY2hWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgU2VhcmNoVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgU2VhcmNoVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXJjaFZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPFNlYXJjaFZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLlNlYXJjaCkgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8U2VhcmNoVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IFZpZGVvVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9WaWV3cy9WaWRlb1ZpZXcuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBWaWRlb1ZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIFZpZGVvVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZGVvVmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogVHlwZWRWaWV3Q29uc3RydWN0b3I8VmlkZW9WaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5WaWRlbykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8VmlkZW9WaWV3Pjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVHlwZWRWaWV3Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1ZpZXdzL1R5cGVkVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgSW1hZ2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL1ZpZXdzL0ltYWdlVmlldy5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEltYWdlVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgSW1hZ2VWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW1hZ2VWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxJbWFnZVZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLkltYWdlKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxJbWFnZVZpZXc+O1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBBcHBcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUge1xuICAgIEJyb3dzZXJIaXN0b3J5Vmlld0NvbnN0cnVjdG9yXG59IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBCcm93c2VySGlzdG9yeVZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIEJyb3dzZXJIaXN0b3J5VmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJyb3dzZXJIaXN0b3J5Vmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogQnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3Ige1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuQnJvd3Nlckhpc3RvcnkpIGFzIEJyb3dzZXJIaXN0b3J5Vmlld0NvbnN0cnVjdG9yO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBUeXBlZFZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvVHlwZWRWaWV3Q29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHR5cGUgeyBFbXB0eVZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvVmlld3MvRW1wdHlWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgRW1wdHlWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBFbXB0eVZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbXB0eVZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEVtcHR5Vmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuRW1wdHkpIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPEVtcHR5Vmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbnMvR3JhcGgvR3JhcGhWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgR3JhcGhWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBHcmFwaFZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRHcmFwaFZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEdyYXBoVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuR3JhcGgpIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPEdyYXBoVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEFwcFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gICAgRmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3Jcbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9GaWxlUHJvcGVydGllc1ZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEZpbGVQcm9wZXJ0aWVzVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgRmlsZVByb3BlcnRpZXNWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBGaWxlUHJvcGVydGllc1ZpZXdDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5GaWxlUHJvcGVydGllcykgYXMgRmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3I7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEFwcFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQm9va21hcmtzVmlld0NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgQm9va21hcmtzVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgQm9va21hcmtzVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5Cb29rbWFya3MpIGFzIEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgQXBwLFxuICAgIE1hcmtkb3duVmlld1xufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIE1hcmtkb3duVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgTWFya2Rvd25WaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFya2Rvd25WaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxNYXJrZG93blZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLk1hcmtkb3duKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxNYXJrZG93blZpZXc+O1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBUeXBlZFZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvVHlwZWRWaWV3Q29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHR5cGUgeyBBbGxQcm9wZXJ0aWVzVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbnMvUHJvcGVydGllcy9BbGxQcm9wZXJ0aWVzVmlldy5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEFsbFByb3BlcnRpZXNWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBBbGxQcm9wZXJ0aWVzVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbFByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxBbGxQcm9wZXJ0aWVzVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuQWxsUHJvcGVydGllcykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8QWxsUHJvcGVydGllc1ZpZXc+O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0FBLHNCQUVPO0FBU0EsU0FBUyx3QkFBNEM7QUFDeEQsU0FBTztBQUNYOzs7QUNOTyxTQUFTLGlCQUFpQixNQUFzQjtBQUNuRCxTQUFPLEtBQUssUUFBUSxjQUFjLEVBQUUsS0FBSztBQUM3Qzs7O0FDR08sU0FBUyxzQkFBc0IsS0FBVSxNQUF1QjtBQUNuRSxNQUFJLFNBQVMsSUFBSSxNQUFNLGdCQUFnQixJQUFJO0FBQzNDLE1BQUksUUFBUTtBQUNSLFdBQU87QUFBQSxFQUNYO0FBRUEsV0FBUyxLQUFLLHNCQUFzQixHQUFHLElBQUksT0FBTyxJQUFJO0FBQ3RELFNBQU8sU0FBUyxzQkFBc0IsS0FBSyxpQkFBaUIsSUFBSSxDQUFDO0FBQ2pFLFNBQU8sVUFBVTtBQUNqQixTQUFPO0FBQ1g7OztBQ3RCQSxJQUFBQSxtQkFFTztBQVNBLFNBQVMsc0JBQXdDO0FBQ3BELFNB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QUFPLDZCQUE2QixLQUFLLFNBQVMsS0FBSztBQUMzRDs7O0FDRk8sU0FBUyx3QkFBd0IsS0FBMkM7QUFDL0UsU0FBTyw2QkFBNkIsS0FBSyxTQUFTLEtBQUs7QUFDM0Q7OztBQ0NPLFNBQVMsaUNBQWlDLEtBQXlDO0FBQ3RGLFNBQU8sNkJBQTZCLEtBQUssU0FBUyxjQUFjO0FBQ3BFOzs7QUNMTyxTQUFTLHdCQUF3QixLQUEyQztBQUMvRSxTQUFPLDZCQUE2QixLQUFLLFNBQVMsS0FBSztBQUMzRDs7O0FDRk8sU0FBUyx3QkFBd0IsS0FBMkM7QUFDL0UsU0FBTyw2QkFBNkIsS0FBSyxTQUFTLEtBQUs7QUFDM0Q7OztBQ0NPLFNBQVMsaUNBQWlDLEtBQXlDO0FBQ3RGLFNBQU8sNkJBQTZCLEtBQUssU0FBUyxjQUFjO0FBQ3BFOzs7QUNKTyxTQUFTLDRCQUE0QixLQUFvQztBQUM1RSxTQUFPLDZCQUE2QixLQUFLLFNBQVMsU0FBUztBQUMvRDs7O0FDRE8sU0FBUywyQkFBMkIsS0FBOEM7QUFDckYsU0FBTyw2QkFBNkIsS0FBSyxTQUFTLFFBQVE7QUFDOUQ7OztBQ0pPLFNBQVMsZ0NBQWdDLEtBQW1EO0FBQy9GLFNBQU8sNkJBQTZCLEtBQUssU0FBUyxhQUFhO0FBQ25FOyIsCiAgIm5hbWVzIjogWyJpbXBvcnRfb2JzaWRpYW4iLCAiaW1wb3J0X29ic2lkaWFuIl0KfQo=
|
|
495
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NsYXNzZXMvQ3VzdG9tQXJyYXlEaWN0SW1wbC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9nZXRURm9sZGVyQ29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9VdGlscy9QYXRoVXRpbHMudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9GdW5jdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2dldFRGaWxlQ29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9GdW5jdGlvbnMvY3JlYXRlVEZpbGVJbnN0YW5jZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNSZWZlcmVuY2VDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNFbWJlZENhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc0Zyb250bWF0dGVyTGlua0NhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc0xpbmtDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0YW50cy9GaWxlRXh0ZW5zaW9uLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RhbnRzL0ludGVybmFsUGx1Z2luTmFtZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0YW50cy9WaWV3VHlwZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9nZXRJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2dldEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2dldEFwcENvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0T3V0bGluZVZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRCcm93c2VyVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldFJlbGVhc2VOb3Rlc1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRQZGZWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0U3luY1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRPdXRnb2luZ0xpbmtWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Q2FudmFzVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldFRhZ1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRBdWRpb1ZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRMb2NhbEdyYXBoVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldEJhY2tsaW5rVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldEZpbGVFeHBsb3JlclZpZXdDb25zdHJ1Y3Rvci50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRTZWFyY2hWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0VmlkZW9WaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0SW1hZ2VWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0QnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RW1wdHlWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0R3JhcGhWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Qm9va21hcmtzVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldE1hcmtkb3duVmlld0NvbnN0cnVjdG9yLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL1ZpZXdzL2dldEFsbFByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBmcm9tICcuL0NsYXNzZXMvQ3VzdG9tQXJyYXlEaWN0SW1wbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0Z1bmN0aW9ucy9jcmVhdGVURm9sZGVySW5zdGFuY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9GdW5jdGlvbnMvY3JlYXRlVEZpbGVJbnN0YW5jZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1V0aWxzL1BhdGhVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1R5cGVHdWFyZHMvaXNFbWJlZENhY2hlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vVHlwZUd1YXJkcy9pc0Zyb250bWF0dGVyTGlua0NhY2hlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vVHlwZUd1YXJkcy9pc1JlZmVyZW5jZUNhY2hlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vVHlwZUd1YXJkcy9pc0xpbmtDYWNoZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0YW50cy9GaWxlRXh0ZW5zaW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RhbnRzL1ZpZXdUeXBlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RhbnRzL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9nZXRJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2dldEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2dldFRGb2xkZXJDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9nZXRBcHBDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9nZXRURmlsZUNvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldE91dGxpbmVWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0QnJvd3NlclZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRSZWxlYXNlTm90ZXNWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0UGRmVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0U3luY1ZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRPdXRnb2luZ0xpbmtWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Q2FudmFzVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldFRhZ1ZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRBdWRpb1ZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRMb2NhbEdyYXBoVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldEJhY2tsaW5rVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldEZpbGVFeHBsb3JlclZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9WaWV3cy9nZXRTZWFyY2hWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0VmlkZW9WaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0SW1hZ2VWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0QnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RW1wdHlWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0R3JhcGhWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0RmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvVmlld3MvZ2V0Qm9va21hcmtzVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldE1hcmtkb3duVmlld0NvbnN0cnVjdG9yLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL1ZpZXdzL2dldEFsbFByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IuanMnO1xuaW1wb3J0ICcuLi8uLi9pbmRleC5qcyc7XG4iLCAiaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0LmpzJztcblxuLyoqIEBwdWJsaWMgKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21BcnJheURpY3RJbXBsPFQ+IGltcGxlbWVudHMgQ3VzdG9tQXJyYXlEaWN0PFQ+IHtcbiAgICBwdWJsaWMgZGF0YTogTWFwPHN0cmluZywgVFtdPiA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGxldCB2YWx1ZXMgPSB0aGlzLmdldChrZXkpO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgdmFsdWVzID0gW107XG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0KGtleSwgdmFsdWVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZShrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKCF2YWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMucmVtb3ZlKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhcihrZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IFRbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldChrZXkpIHx8IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmRhdGEua2V5cygpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLmRlbGV0ZShrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmdldChrZXkpPy5jb250YWlucyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGxldCBhbnMgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmtleXMoKSkge1xuICAgICAgICAgICAgYW5zICs9IHRoaXMuZ2V0KGtleSk/Lmxlbmd0aCA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFucztcbiAgICB9XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURm9sZGVyXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVEZvbGRlckNvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9URm9sZGVyQ29uc3RydWN0b3IudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgVEZvbGRlciBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgVEZvbGRlciBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRGb2xkZXJDb25zdHJ1Y3RvcigpOiBURm9sZGVyQ29uc3RydWN0b3Ige1xuICAgIHJldHVybiBURm9sZGVyIGFzIFRGb2xkZXJDb25zdHJ1Y3Rvcjtcbn1cbiIsICIvKipcbiAqIEdldCB0aGUgcGFyZW50IGZvbGRlciBwYXRoIG9mIGEgZ2l2ZW4gcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgcGFyZW50IGZvbGRlciBwYXRoIG9mLlxuICogQHJldHVybnMgVGhlIHBhcmVudCBmb2xkZXIgcGF0aC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcmVudEZvbGRlclBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cXC8/W15cXC9dKiQvLCAnJykgfHwgJy8nO1xufVxuIiwgImltcG9ydCB7XG4gICAgdHlwZSBBcHAsXG4gICAgVEZvbGRlclxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBnZXRURm9sZGVyQ29uc3RydWN0b3IgfSBmcm9tICcuLi9Db25zdHJ1Y3RvcnMvZ2V0VEZvbGRlckNvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB7IHBhcmVudEZvbGRlclBhdGggfSBmcm9tICcuLi9VdGlscy9QYXRoVXRpbHMuanMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURm9sZGVyIGV2ZW4gdGhlIHVuZGVybHlpbmcgZm9sZGVyIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmb2xkZXIgb24gdGhlIGZpbGUgc3lzdGVtLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZvbGRlckluc3RhbmNlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIHtcbiAgICBsZXQgZm9sZGVyID0gYXBwLnZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfVxuXG4gICAgZm9sZGVyID0gbmV3IChnZXRURm9sZGVyQ29uc3RydWN0b3IoKSkoYXBwLnZhdWx0LCBwYXRoKTtcbiAgICBmb2xkZXIucGFyZW50ID0gY3JlYXRlVEZvbGRlckluc3RhbmNlKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZm9sZGVyLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFRGaWxlQ29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1RGaWxlQ29uc3RydWN0b3IudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgVEZpbGUgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIFRGaWxlIGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VEZpbGVDb25zdHJ1Y3RvcigpOiBURmlsZUNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gVEZpbGUgYXMgVEZpbGVDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQge1xuICAgIHR5cGUgQXBwLFxuICAgIFRGaWxlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGdldFRGaWxlQ29uc3RydWN0b3IgfSBmcm9tICcuLi9Db25zdHJ1Y3RvcnMvZ2V0VEZpbGVDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi4vVXRpbHMvUGF0aFV0aWxzLmpzJztcbmltcG9ydCB7IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSB9IGZyb20gJy4vY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZpbGUgZXZlbiB0aGUgdW5kZXJseWluZyBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGaWxlSW5zdGFuY2UoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICBsZXQgZmlsZSA9IGFwcC52YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBuZXcgKGdldFRGaWxlQ29uc3RydWN0b3IoKSkoYXBwLnZhdWx0LCBwYXRoKTtcbiAgICBmaWxlLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZShhcHAsIHBhcmVudEZvbGRlclBhdGgocGF0aCkpO1xuICAgIGZpbGUuZGVsZXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIGZpbGU7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIFJlZmVyZW5jZSxcbiAgICBSZWZlcmVuY2VDYWNoZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHJlZmVyZW5jZSBpcyBhIHJlZmVyZW5jZSBjYWNoZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIHJlZmVyZW5jZSBjYWNoZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgUmVmZXJlbmNlQ2FjaGUge1xuICAgIHJldHVybiAhIShyZWZlcmVuY2UgYXMgUGFydGlhbDxSZWZlcmVuY2VDYWNoZT4pLnBvc2l0aW9uO1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBFbWJlZENhY2hlLFxuICAgIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBpc1JlZmVyZW5jZUNhY2hlIH0gZnJvbSAnLi9pc1JlZmVyZW5jZUNhY2hlLnRzJztcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcmVmZXJlbmNlIGlzIGFuIGVtYmVkIGNhY2hlLlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2UgLSBUaGUgcmVmZXJlbmNlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcmVmZXJlbmNlIGlzIGFuIGVtYmVkIGNhY2hlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFbWJlZENhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIEVtYmVkQ2FjaGUge1xuICAgIHJldHVybiBpc1JlZmVyZW5jZUNhY2hlKHJlZmVyZW5jZSkgJiYgcmVmZXJlbmNlLm9yaWdpbmFsWzBdID09PSAnISc7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICAgIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHJlZmVyZW5jZSBpcyBhIGZyb250bWF0dGVyIGxpbmsgY2FjaGUuXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSByZWZlcmVuY2UgaXMgYSBmcm9udG1hdHRlciBsaW5rIGNhY2hlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGcm9udG1hdHRlckxpbmtDYWNoZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBGcm9udG1hdHRlckxpbmtDYWNoZSB7XG4gICAgcmV0dXJuICEhKHJlZmVyZW5jZSBhcyBQYXJ0aWFsPEZyb250bWF0dGVyTGlua0NhY2hlPikua2V5O1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBMaW5rQ2FjaGUsXG4gICAgUmVmZXJlbmNlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGlzUmVmZXJlbmNlQ2FjaGUgfSBmcm9tICcuL2lzUmVmZXJlbmNlQ2FjaGUudHMnO1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSByZWZlcmVuY2UgaXMgYSBsaW5rIGNhY2hlLlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2UgLSBUaGUgcmVmZXJlbmNlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcmVmZXJlbmNlIGlzIGEgbGluayBjYWNoZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTGlua0NhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIExpbmtDYWNoZSB7XG4gICAgcmV0dXJuIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlKSAmJiByZWZlcmVuY2Uub3JpZ2luYWxbMF0gIT09ICchJztcbn1cbiIsICIvKiogQHB1YmxpYyAqL1xuZXhwb3J0IGNvbnN0IEZpbGVFeHRlbnNpb24gPSB7XG4gICAgXzNncDogJzNncCcsXG4gICAgYXZpZjogJ2F2aWYnLFxuICAgIGJtcDogJ2JtcCcsXG4gICAgY2FudmFzOiAnY2FudmFzJyxcbiAgICBmbGFjOiAnZmxhYycsXG4gICAgZ2lmOiAnZ2lmJyxcbiAgICBqcGVnOiAnanBlZycsXG4gICAganBnOiAnanBnJyxcbiAgICBtNGE6ICdtNGEnLFxuICAgIG1kOiAnbWQnLFxuICAgIG1rdjogJ21rdicsXG4gICAgbW92OiAnbW92JyxcbiAgICBtcDM6ICdtcDMnLFxuICAgIG1wNDogJ21wNCcsXG4gICAgb2dhOiAnb2dhJyxcbiAgICBvZ2c6ICdvZ2cnLFxuICAgIG9ndjogJ29ndicsXG4gICAgb3B1czogJ29wdXMnLFxuICAgIHBkZjogJ3BkZicsXG4gICAgcG5nOiAncG5nJyxcbiAgICBzdmc6ICdzdmcnLFxuICAgIHdhdjogJ3dhdicsXG4gICAgd2VibTogJ3dlYm0nLFxuICAgIHdlYnA6ICd3ZWJwJ1xufSBhcyBjb25zdDtcbiIsICIvKiogQHB1YmxpYyAqL1xuZXhwb3J0IGNvbnN0IEludGVybmFsUGx1Z2luTmFtZSA9IHtcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogQXVkaW8gcmVjb3JkZXJcbiAgICAgKi9cbiAgICBBdWRpb1JlY29yZGVyOiAnYXVkaW8tcmVjb3JkZXInLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBCYWNrbGlua3NcbiAgICAgKi9cbiAgICBCYWNrbGluazogJ2JhY2tsaW5rJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogQm9va21hcmtzXG4gICAgICovXG4gICAgQm9va21hcmtzOiAnYm9va21hcmtzJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogV2ViIHZpZXdlclxuICAgICAqL1xuICAgIEJyb3dzZXI6ICdicm93c2VyJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogQ2FudmFzXG4gICAgICovXG4gICAgQ2FudmFzOiAnY2FudmFzJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogQ29tbWFuZCBwYWxldHRlXG4gICAgICovXG4gICAgQ29tbWFuZFBhbGV0dGU6ICdjb21tYW5kLXBhbGV0dGUnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBEYWlseSBub3Rlc1xuICAgICAqL1xuICAgIERhaWx5Tm90ZXM6ICdkYWlseS1ub3RlcycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IChoaWRkZW4pXG4gICAgICovXG4gICAgRWRpdG9yU3RhdHVzOiAnZWRpdG9yLXN0YXR1cycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IEZpbGVzXG4gICAgICovXG4gICAgRmlsZUV4cGxvcmVyOiAnZmlsZS1leHBsb3JlcicsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IEZpbGUgcmVjb3ZlcnlcbiAgICAgKi9cbiAgICBGaWxlUmVjb3Zlcnk6ICdmaWxlLXJlY292ZXJ5JyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogU2VhcmNoXG4gICAgICovXG4gICAgR2xvYmFsU2VhcmNoOiAnZ2xvYmFsLXNlYXJjaCcsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IEdyYXBoIHZpZXdcbiAgICAgKi9cbiAgICBHcmFwaDogJ2dyYXBoJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogRm9ybWF0IGNvbnZlcnRlclxuICAgICAqL1xuICAgIE1hcmtkb3duSW1wb3J0ZXI6ICdtYXJrZG93bi1pbXBvcnRlcicsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IE5vdGUgY29tcG9zZXJcbiAgICAgKi9cbiAgICBOb3RlQ29tcG9zZXI6ICdub3RlLWNvbXBvc2VyJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogT3V0Z29pbmcgbGlua3NcbiAgICAgKi9cbiAgICBPdXRnb2luZ0xpbms6ICdvdXRnb2luZy1saW5rJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogT3V0bGluZVxuICAgICAqL1xuICAgIE91dGxpbmU6ICdvdXRsaW5lJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogUGFnZSBwcmV2aWV3XG4gICAgICovXG4gICAgUGFnZVByZXZpZXc6ICdwYWdlLXByZXZpZXcnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBQcm9wZXJ0aWVzIHZpZXdcbiAgICAgKi9cbiAgICBQcm9wZXJ0aWVzOiAncHJvcGVydGllcycsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFB1Ymxpc2hcbiAgICAgKi9cbiAgICBQdWJsaXNoOiAncHVibGlzaCcsXG4gICAgLyoqXG4gICAgICogUGx1Z2luIG5hbWUgaW4gVUk6IFJhbmRvbSBub3RlXG4gICAgICovXG4gICAgUmFuZG9tTm90ZTogJ3JhbmRvbS1ub3RlJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogU2xhc2ggY29tbWFuZHNcbiAgICAgKi9cbiAgICBTbGFzaENvbW1hbmQ6ICdzbGFzaC1jb21tYW5kJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogU2xpZGVzXG4gICAgICovXG4gICAgU2xpZGVzOiAnc2xpZGVzJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogUXVpY2sgU3dpdGNoZXJcbiAgICAgKi9cbiAgICBTd2l0Y2hlcjogJ3N3aXRjaGVyJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogU3luY1xuICAgICAqL1xuICAgIFN5bmM6ICdzeW5jJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogVGFncyB2aWV3XG4gICAgICovXG4gICAgVGFnUGFuZTogJ3RhZy1wYW5lJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogVGVtcGxhdGVzXG4gICAgICovXG4gICAgVGVtcGxhdGVzOiAndGVtcGxhdGVzJyxcbiAgICAvKipcbiAgICAgKiBQbHVnaW4gbmFtZSBpbiBVSTogV29yZCBjb3VudFxuICAgICAqL1xuICAgIFdvcmRDb3VudDogJ3dvcmQtY291bnQnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBXb3Jrc3BhY2VzXG4gICAgICovXG4gICAgV29ya3NwYWNlczogJ3dvcmtzcGFjZXMnLFxuICAgIC8qKlxuICAgICAqIFBsdWdpbiBuYW1lIGluIFVJOiBVbmlxdWUgbm90ZSBjcmVhdG9yXG4gICAgICovXG4gICAgWmtQcmVmaXhlcjogJ3prLXByZWZpeGVyJ1xufSBhcyBjb25zdDtcbiIsICJpbXBvcnQgeyBJbnRlcm5hbFBsdWdpbk5hbWUgfSBmcm9tICcuL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5cbi8qKiBAcHVibGljICovXG5leHBvcnQgY29uc3QgVmlld1R5cGUgPSB7XG4gICAgQWxsUHJvcGVydGllczogJ2FsbC1wcm9wZXJ0aWVzJyxcbiAgICBBdWRpbzogJ2F1ZGlvJyxcbiAgICBCYWNrbGluazogSW50ZXJuYWxQbHVnaW5OYW1lLkJhY2tsaW5rLFxuICAgIEJvb2ttYXJrczogSW50ZXJuYWxQbHVnaW5OYW1lLkJvb2ttYXJrcyxcbiAgICBCcm93c2VyOiAnYnJvd3NlcicsXG4gICAgQnJvd3Nlckhpc3Rvcnk6ICdicm93c2VyLWhpc3RvcnknLFxuICAgIENhbnZhczogSW50ZXJuYWxQbHVnaW5OYW1lLkNhbnZhcyxcbiAgICBFbXB0eTogJ2VtcHR5JyxcbiAgICBGaWxlRXhwbG9yZXI6IEludGVybmFsUGx1Z2luTmFtZS5GaWxlRXhwbG9yZXIsXG4gICAgRmlsZVByb3BlcnRpZXM6ICdmaWxlLXByb3BlcnRpZXMnLFxuICAgIEdyYXBoOiBJbnRlcm5hbFBsdWdpbk5hbWUuR3JhcGgsXG4gICAgSW1hZ2U6ICdpbWFnZScsXG4gICAgTG9jYWxHcmFwaDogJ2xvY2FsZ3JhcGgnLFxuICAgIE1hcmtkb3duOiAnbWFya2Rvd24nLFxuICAgIE91dGdvaW5nTGluazogSW50ZXJuYWxQbHVnaW5OYW1lLk91dGdvaW5nTGluayxcbiAgICBPdXRsaW5lOiBJbnRlcm5hbFBsdWdpbk5hbWUuT3V0bGluZSxcbiAgICBQZGY6ICdwZGYnLFxuICAgIFJlbGVhc2VOb3RlczogJ3JlbGVhc2Utbm90ZXMnLFxuICAgIFNlYXJjaDogJ3NlYXJjaCcsXG4gICAgU3luYzogJ3N5bmMnLFxuICAgIFRhZzogJ3RhZycsXG4gICAgVmlkZW86ICd2aWRlbydcbn0gYXMgY29uc3Q7XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2luQ29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL0ludGVybmFsUGx1Z2luQ29uc3RydWN0b3IudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgSW50ZXJuYWxQbHVnaW4gY29uc3RydWN0b3IuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgSW50ZXJuYWxQbHVnaW4gY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yPEluc3RhbmNlPihhcHA6IEFwcCk6IEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+IHtcbiAgICBjb25zdCBhbnlQbHVnaW4gPSBPYmplY3QudmFsdWVzKGFwcC5pbnRlcm5hbFBsdWdpbnMucGx1Z2lucylbMF07XG4gICAgaWYgKCFhbnlQbHVnaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnRlcm5hbCBwbHVnaW4gZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIGFueVBsdWdpbi5jb25zdHJ1Y3RvciBhcyBJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yPEluc3RhbmNlPjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW5zQ29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL0ludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEludGVybmFsUGx1Z2lucyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIFRoZSBJbnRlcm5hbFBsdWdpbnMgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnRlcm5hbFBsdWdpbnNDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gYXBwLmludGVybmFsUGx1Z2lucy5jb25zdHJ1Y3RvciBhcyBJbnRlcm5hbFBsdWdpbnNDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQge1xuICAgIEFwcFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEFwcENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9BcHBDb25zdHJ1Y3Rvci50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBBcHAgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIEFwcCBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcENvbnN0cnVjdG9yKCk6IEFwcENvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gQXBwIGFzIEFwcENvbnN0cnVjdG9yO1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBBcHAsXG4gICAgQ29uc3RydWN0b3IsXG4gICAgVmlld1xufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogR2V0IHRoZSB2aWV3IGNvbnN0cnVjdG9yIGJ5IHZpZXcgdHlwZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcC5cbiAqIEBwYXJhbSB2aWV3VHlwZSAtIFRoZSB2aWV3IHR5cGUuXG4gKiBAcmV0dXJucyBUaGUgdmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGU8VFZpZXcgZXh0ZW5kcyBWaWV3ID0gVmlldz4oXG4gICAgYXBwOiBBcHAsXG4gICAgdmlld1R5cGU6IHN0cmluZ1xuKTogQ29uc3RydWN0b3I8VFZpZXc+IHtcbiAgICBjb25zdCBsZWFmID0gYXBwLndvcmtzcGFjZS5jcmVhdGVMZWFmSW5UYWJHcm91cCgpO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHZpZXdDcmVhdG9yID0gYXBwLnZpZXdSZWdpc3RyeS5nZXRWaWV3Q3JlYXRvckJ5VHlwZSh2aWV3VHlwZSk7XG4gICAgICAgIGlmICghdmlld0NyZWF0b3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVmlldyBjcmVhdG9yIG5vdCBmb3VuZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3Q3JlYXRvcihsZWFmKTtcbiAgICAgICAgcmV0dXJuIHZpZXcuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3I8VFZpZXc+O1xuICAgIH0gZmluYWxseSB7XG4gICAgICAgIGxlYWYuZGV0YWNoKCk7XG4gICAgfVxufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBBcHBcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBPdXRsaW5lVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9PdXRsaW5lVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgT3V0bGluZVZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIE91dGxpbmVWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3V0bGluZVZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IE91dGxpbmVWaWV3Q29uc3RydWN0b3Ige1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuT3V0bGluZSkgYXMgT3V0bGluZVZpZXdDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgQXBwXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQnJvd3NlclZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQnJvd3NlclZpZXdDb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEJyb3dzZXJWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBCcm93c2VyVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJyb3dzZXJWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBCcm93c2VyVmlld0NvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLkJyb3dzZXIpIGFzIEJyb3dzZXJWaWV3Q29uc3RydWN0b3I7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IFJlbGVhc2VOb3Rlc1ZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvVmlld3MvUmVsZWFzZU5vdGVzVmlldy5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIFJlbGVhc2VOb3Rlc1ZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIFJlbGVhc2VOb3Rlc1ZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxlYXNlTm90ZXNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxSZWxlYXNlTm90ZXNWaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5SZWxlYXNlTm90ZXMpIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPFJlbGVhc2VOb3Rlc1ZpZXc+O1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBUeXBlZFZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvVHlwZWRWaWV3Q29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHR5cGUgeyBQZGZWaWV3IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL1ZpZXdzL1BkZlZpZXcuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBQZGZWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBQZGZWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGRmVmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogVHlwZWRWaWV3Q29uc3RydWN0b3I8UGRmVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuUGRmKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxQZGZWaWV3Pjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgQXBwXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgU3luY1ZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvU3luY1ZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIFN5bmNWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBTeW5jVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN5bmNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBTeW5jVmlld0NvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLlN5bmMpIGFzIFN5bmNWaWV3Q29uc3RydWN0b3I7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IE91dGdvaW5nTGlua1ZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL091dGdvaW5nTGluay9PdXRnb2luZ0xpbmtWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgT3V0Z29pbmdMaW5rVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgT3V0Z29pbmdMaW5rVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE91dGdvaW5nTGlua1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPE91dGdvaW5nTGlua1ZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLk91dGdvaW5nTGluaykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8T3V0Z29pbmdMaW5rVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEFwcFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IENhbnZhc1ZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQ2FudmFzVmlld0NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgQ2FudmFzVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgQ2FudmFzVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENhbnZhc1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IENhbnZhc1ZpZXdDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5DYW52YXMpIGFzIENhbnZhc1ZpZXdDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVHlwZWRWaWV3Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1ZpZXdzL1R5cGVkVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgVGFnVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9WaWV3cy9UYWdWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgVGFnVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgVGFnVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRhZ1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPFRhZ1ZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLlRhZykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8VGFnVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEF1ZGlvVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9WaWV3cy9BdWRpb1ZpZXcuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBBdWRpb1ZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIEF1ZGlvVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF1ZGlvVmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogVHlwZWRWaWV3Q29uc3RydWN0b3I8QXVkaW9WaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5BdWRpbykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8QXVkaW9WaWV3Pjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVHlwZWRWaWV3Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1ZpZXdzL1R5cGVkVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgTG9jYWxHcmFwaFZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL0dyYXBoL0xvY2FsR3JhcGhWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgTG9jYWxHcmFwaFZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIExvY2FsR3JhcGhWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxHcmFwaFZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPExvY2FsR3JhcGhWaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5Mb2NhbEdyYXBoKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxMb2NhbEdyYXBoVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEJhY2tsaW5rVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbnMvQmFja2xpbmsvQmFja2xpbmtWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgQmFja2xpbmtWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBCYWNrbGlua1ZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWNrbGlua1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEJhY2tsaW5rVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuQmFja2xpbmspIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPEJhY2tsaW5rVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeHBsb3JlclZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL0ZpbGVFeHBsb3Jlci9GaWxlRXhwbG9yZXJWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgRmlsZUV4cGxvcmVyVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgRmlsZUV4cGxvcmVyVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVFeHBsb3JlclZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEZpbGVFeHBsb3JlclZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLkZpbGVFeHBsb3JlcikgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8RmlsZUV4cGxvcmVyVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IFNlYXJjaFZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW5zL0dsb2JhbFNlYXJjaC9TZWFyY2hWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgU2VhcmNoVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgU2VhcmNoVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXJjaFZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPFNlYXJjaFZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLlNlYXJjaCkgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8U2VhcmNoVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IFZpZGVvVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9WaWV3cy9WaWRlb1ZpZXcuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBWaWRlb1ZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIFZpZGVvVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZGVvVmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogVHlwZWRWaWV3Q29uc3RydWN0b3I8VmlkZW9WaWV3PiB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5WaWRlbykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8VmlkZW9WaWV3Pjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgVHlwZWRWaWV3Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvQ29uc3RydWN0b3JzL1ZpZXdzL1R5cGVkVmlld0NvbnN0cnVjdG9yLnRzJztcbmltcG9ydCB0eXBlIHsgSW1hZ2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL1ZpZXdzL0ltYWdlVmlldy5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEltYWdlVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgSW1hZ2VWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW1hZ2VWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxJbWFnZVZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLkltYWdlKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxJbWFnZVZpZXc+O1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBBcHBcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUge1xuICAgIEJyb3dzZXJIaXN0b3J5Vmlld0NvbnN0cnVjdG9yXG59IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi9Db25zdGFudHMvVmlld1R5cGUudHMnO1xuaW1wb3J0IHsgZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZSB9IGZyb20gJy4vZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZS50cyc7XG5cbi8qKlxuICogR2V0IHRoZSBCcm93c2VySGlzdG9yeVZpZXcgY29uc3RydWN0b3IuXG4gKlxuICogQHJldHVybnMgVGhlIEJyb3dzZXJIaXN0b3J5VmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJyb3dzZXJIaXN0b3J5Vmlld0NvbnN0cnVjdG9yKGFwcDogQXBwKTogQnJvd3Nlckhpc3RvcnlWaWV3Q29uc3RydWN0b3Ige1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuQnJvd3Nlckhpc3RvcnkpIGFzIEJyb3dzZXJIaXN0b3J5Vmlld0NvbnN0cnVjdG9yO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBUeXBlZFZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvVHlwZWRWaWV3Q29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHR5cGUgeyBFbXB0eVZpZXcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbHMvVmlld3MvRW1wdHlWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgRW1wdHlWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBFbXB0eVZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbXB0eVZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEVtcHR5Vmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuRW1wdHkpIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPEVtcHR5Vmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbnMvR3JhcGgvR3JhcGhWaWV3LmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgR3JhcGhWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBHcmFwaFZpZXcgY29uc3RydWN0b3IuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRHcmFwaFZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFR5cGVkVmlld0NvbnN0cnVjdG9yPEdyYXBoVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuR3JhcGgpIGFzIFR5cGVkVmlld0NvbnN0cnVjdG9yPEdyYXBoVmlldz47XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEFwcFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gICAgRmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3Jcbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9GaWxlUHJvcGVydGllc1ZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEZpbGVQcm9wZXJ0aWVzVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgRmlsZVByb3BlcnRpZXNWaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBGaWxlUHJvcGVydGllc1ZpZXdDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5GaWxlUHJvcGVydGllcykgYXMgRmlsZVByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3I7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEFwcFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvQm9va21hcmtzVmlld0NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB7IFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vQ29uc3RhbnRzL1ZpZXdUeXBlLnRzJztcbmltcG9ydCB7IGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUgfSBmcm9tICcuL2dldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUudHMnO1xuXG4vKipcbiAqIEdldCB0aGUgQm9va21hcmtzVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgQm9va21hcmtzVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIGdldFZpZXdDb25zdHJ1Y3RvckJ5Vmlld1R5cGUoYXBwLCBWaWV3VHlwZS5Cb29rbWFya3MpIGFzIEJvb2ttYXJrc1ZpZXdDb25zdHJ1Y3Rvcjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgQXBwLFxuICAgIE1hcmtkb3duVmlld1xufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFR5cGVkVmlld0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWxzL0NvbnN0cnVjdG9ycy9WaWV3cy9UeXBlZFZpZXdDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIE1hcmtkb3duVmlldyBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcmV0dXJucyBUaGUgTWFya2Rvd25WaWV3IGNvbnN0cnVjdG9yLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFya2Rvd25WaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxNYXJrZG93blZpZXc+IHtcbiAgICByZXR1cm4gZ2V0Vmlld0NvbnN0cnVjdG9yQnlWaWV3VHlwZShhcHAsIFZpZXdUeXBlLk1hcmtkb3duKSBhcyBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxNYXJrZG93blZpZXc+O1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBUeXBlZFZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9Db25zdHJ1Y3RvcnMvVmlld3MvVHlwZWRWaWV3Q29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHR5cGUgeyBBbGxQcm9wZXJ0aWVzVmlldyB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbnMvUHJvcGVydGllcy9BbGxQcm9wZXJ0aWVzVmlldy5qcyc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL0NvbnN0YW50cy9WaWV3VHlwZS50cyc7XG5pbXBvcnQgeyBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlIH0gZnJvbSAnLi9nZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlLnRzJztcblxuLyoqXG4gKiBHZXQgdGhlIEFsbFByb3BlcnRpZXNWaWV3IGNvbnN0cnVjdG9yLlxuICpcbiAqIEByZXR1cm5zIFRoZSBBbGxQcm9wZXJ0aWVzVmlldyBjb25zdHJ1Y3Rvci5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbFByb3BlcnRpZXNWaWV3Q29uc3RydWN0b3IoYXBwOiBBcHApOiBUeXBlZFZpZXdDb25zdHJ1Y3RvcjxBbGxQcm9wZXJ0aWVzVmlldz4ge1xuICAgIHJldHVybiBnZXRWaWV3Q29uc3RydWN0b3JCeVZpZXdUeXBlKGFwcCwgVmlld1R5cGUuQWxsUHJvcGVydGllcykgYXMgVHlwZWRWaWV3Q29uc3RydWN0b3I8QWxsUHJvcGVydGllc1ZpZXc+O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0dPLElBQU0sc0JBQU4sTUFBMkQ7QUFBQSxFQUN2RCxPQUF5QixvQkFBSSxJQUFJO0FBQUEsRUFFakMsSUFBSSxLQUFhLE9BQWdCO0FBQ3BDLFFBQUksU0FBUyxLQUFLLElBQUksR0FBRztBQUN6QixRQUFJLENBQUMsUUFBUTtBQUNULGVBQVMsQ0FBQztBQUNWLFdBQUssS0FBSyxJQUFJLEtBQUssTUFBTTtBQUFBLElBQzdCO0FBRUEsUUFBSSxDQUFDLE9BQU8sU0FBUyxLQUFLLEdBQUc7QUFDekIsYUFBTyxLQUFLLEtBQUs7QUFBQSxJQUNyQjtBQUFBLEVBQ0o7QUFBQSxFQUVPLE9BQU8sS0FBYSxPQUFnQjtBQUN2QyxVQUFNLFNBQVMsS0FBSyxJQUFJLEdBQUc7QUFDM0IsUUFBSSxDQUFDLFFBQVE7QUFDVDtBQUFBLElBQ0o7QUFDQSxXQUFPLE9BQU8sS0FBSztBQUVu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LElBQU0scUJBQXFCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJOUIsZUFBZTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWYsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVYsV0FBVztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVgsU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVQsUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVIsZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJaEIsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVosY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWQsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWQsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWQsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWQsT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVAsa0JBQWtCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJbEIsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWQsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWQsU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVQsYUFBYTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWIsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVosU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVQsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVosY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWQsUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVIsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVYsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSU4sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVQsV0FBVztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVgsV0FBVztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVgsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVosWUFBWTtBQUNoQjs7O0FD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QU8sNkJBQTZCLEtBQUssU0FBUyxLQUFLO0FBQzNEOzs7QUNGTyxTQUFTLHdCQUF3QixLQUEyQztBQUMvRSxTQUFPLDZCQUE2QixLQUFLLFNBQVMsS0FBSztBQUMzRDs7O0FDQ08sU0FBUyxpQ0FBaUMsS0FBeUM7QUFDdEYsU0FBTyw2QkFBNkIsS0FBSyxTQUFTLGNBQWM7QUFDcEU7OztBQ0xPLFNBQVMsd0JBQXdCLEtBQTJDO0FBQy9FLFNBQU8sNkJBQTZCLEtBQUssU0FBUyxLQUFLO0FBQzNEOzs7QUNGTyxTQUFTLHdCQUF3QixLQUEyQztBQUMvRSxTQUFPLDZCQUE2QixLQUFLLFNBQVMsS0FBSztBQUMzRDs7O0FDQ08sU0FBUyxpQ0FBaUMsS0FBeUM7QUFDdEYsU0FBTyw2QkFBNkIsS0FBSyxTQUFTLGNBQWM7QUFDcEU7OztBQ0pPLFNBQVMsNEJBQTRCLEtBQW9DO0FBQzVFLFNBQU8sNkJBQTZCLEtBQUssU0FBUyxTQUFTO0FBQy9EOzs7QUNETyxTQUFTLDJCQUEyQixLQUE4QztBQUNyRixTQUFPLDZCQUE2QixLQUFLLFNBQVMsUUFBUTtBQUM5RDs7O0FDSk8sU0FBUyxnQ0FBZ0MsS0FBbUQ7QUFDL0YsU0FBTyw2QkFBNkIsS0FBSyxTQUFTLGFBQWE7QUFDbkU7IiwKICAibmFtZXMiOiBbImltcG9ydF9vYnNpZGlhbiIsICJpbXBvcnRfb2JzaWRpYW4iXQp9Cg==
|
|
@@ -4,20 +4,6 @@ import { Extension } from '@codemirror/state';
|
|
|
4
4
|
import { EditorView, ViewUpdate } from '@codemirror/view';
|
|
5
5
|
import { App, CachedMetadata, CloseableComponent, Command, Component, Constructor, DataAdapter, Debouncer, EditableFileView, Editor, EditorPosition, EditorRange, EditorSuggest, EmbedCache, EventRef, Events, FileStats, FileView, FrontmatterLinkCache, HoverLinkSource, HoverPopover, IconName, ItemView, KeymapInfo, LinkCache, Loc, MarkdownFileInfo, MarkdownView, Menu, Modal, PaneType, Plugin as Plugin$1, PluginManifest, PluginSettingTab, Reference, ReferenceCache, Scope, SearchComponent, SearchResult, SettingTab, SplitDirection, TAbstractFile, TFile, TFolder, TextFileView, Vault, View, ViewCreator, ViewState, Workspace, WorkspaceLeaf, WorkspaceTabs } from 'obsidian';
|
|
6
6
|
|
|
7
|
-
export type StyleModule = {};
|
|
8
|
-
export type StyleSpec = {};
|
|
9
|
-
/**
|
|
10
|
-
* Creates and properly initializes the instance of TFolder even the underlying folder does not exist.
|
|
11
|
-
* This doesn't create the missing folder on the file system.
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
export declare function createTFolderInstance(app: App, path: string): TFolder;
|
|
15
|
-
/**
|
|
16
|
-
* Creates and properly initializes the instance of TFile even the underlying file does not exist.
|
|
17
|
-
* This doesn't create the missing file on the file system.
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
export declare function createTFileInstance(app: App, path: string): TFile;
|
|
21
7
|
/** @todo Documentation incomplete */
|
|
22
8
|
/** @public */
|
|
23
9
|
export interface CustomArrayDict<T> {
|
|
@@ -43,6 +29,60 @@ export declare class CustomArrayDictImpl<T> implements CustomArrayDict<T> {
|
|
|
43
29
|
contains(key: string, value: T): boolean;
|
|
44
30
|
count(): number;
|
|
45
31
|
}
|
|
32
|
+
export type StyleModule = {};
|
|
33
|
+
export type StyleSpec = {};
|
|
34
|
+
/**
|
|
35
|
+
* Creates and properly initializes the instance of TFolder even the underlying folder does not exist.
|
|
36
|
+
* This doesn't create the missing folder on the file system.
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export declare function createTFolderInstance(app: App, path: string): TFolder;
|
|
40
|
+
/**
|
|
41
|
+
* Creates and properly initializes the instance of TFile even the underlying file does not exist.
|
|
42
|
+
* This doesn't create the missing file on the file system.
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export declare function createTFileInstance(app: App, path: string): TFile;
|
|
46
|
+
/**
|
|
47
|
+
* Get the parent folder path of a given path.
|
|
48
|
+
*
|
|
49
|
+
* @param path - The path to get the parent folder path of.
|
|
50
|
+
* @returns The parent folder path.
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export declare function parentFolderPath(path: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Check if the reference is an embed cache.
|
|
56
|
+
*
|
|
57
|
+
* @param reference - The reference to check.
|
|
58
|
+
* @returns Whether the reference is an embed cache.
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export declare function isEmbedCache(reference: Reference): reference is EmbedCache;
|
|
62
|
+
/**
|
|
63
|
+
* Check if the reference is a frontmatter link cache.
|
|
64
|
+
*
|
|
65
|
+
* @param reference - The reference to check.
|
|
66
|
+
* @returns Whether the reference is a frontmatter link cache.
|
|
67
|
+
* @public
|
|
68
|
+
*/
|
|
69
|
+
export declare function isFrontmatterLinkCache(reference: Reference): reference is FrontmatterLinkCache;
|
|
70
|
+
/**
|
|
71
|
+
* Check if the reference is a reference cache.
|
|
72
|
+
*
|
|
73
|
+
* @param reference - The reference to check.
|
|
74
|
+
* @returns Whether the reference is a reference cache.
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
export declare function isReferenceCache(reference: Reference): reference is ReferenceCache;
|
|
78
|
+
/**
|
|
79
|
+
* Check if the reference is a link cache.
|
|
80
|
+
*
|
|
81
|
+
* @param reference - The reference to check.
|
|
82
|
+
* @returns Whether the reference is a link cache.
|
|
83
|
+
* @public
|
|
84
|
+
*/
|
|
85
|
+
export declare function isLinkCache(reference: Reference): reference is LinkCache;
|
|
46
86
|
/** @public */
|
|
47
87
|
export declare const FileExtension: {
|
|
48
88
|
readonly _3gp: "3gp";
|
|
@@ -214,14 +254,6 @@ export declare const InternalPluginName: {
|
|
|
214
254
|
*/
|
|
215
255
|
readonly ZkPrefixer: "zk-prefixer";
|
|
216
256
|
};
|
|
217
|
-
/**
|
|
218
|
-
* Get the parent folder path of a given path.
|
|
219
|
-
*
|
|
220
|
-
* @param path - The path to get the parent folder path of.
|
|
221
|
-
* @returns The parent folder path.
|
|
222
|
-
* @public
|
|
223
|
-
*/
|
|
224
|
-
export declare function parentFolderPath(path: string): string;
|
|
225
257
|
/** @public */
|
|
226
258
|
export interface MobileFileInfo {
|
|
227
259
|
renderCallback(el: HTMLElement): void;
|
|
@@ -1010,38 +1042,6 @@ export type TFileConstructor = new (vault: Vault, path: string) => TFile;
|
|
|
1010
1042
|
* @public
|
|
1011
1043
|
*/
|
|
1012
1044
|
export declare function getTFileConstructor(): TFileConstructor;
|
|
1013
|
-
/**
|
|
1014
|
-
* Check if the reference is an embed cache.
|
|
1015
|
-
*
|
|
1016
|
-
* @param reference - The reference to check.
|
|
1017
|
-
* @returns Whether the reference is an embed cache.
|
|
1018
|
-
* @public
|
|
1019
|
-
*/
|
|
1020
|
-
export declare function isEmbedCache(reference: Reference): reference is EmbedCache;
|
|
1021
|
-
/**
|
|
1022
|
-
* Check if the reference is a frontmatter link cache.
|
|
1023
|
-
*
|
|
1024
|
-
* @param reference - The reference to check.
|
|
1025
|
-
* @returns Whether the reference is a frontmatter link cache.
|
|
1026
|
-
* @public
|
|
1027
|
-
*/
|
|
1028
|
-
export declare function isFrontmatterLinkCache(reference: Reference): reference is FrontmatterLinkCache;
|
|
1029
|
-
/**
|
|
1030
|
-
* Check if the reference is a reference cache.
|
|
1031
|
-
*
|
|
1032
|
-
* @param reference - The reference to check.
|
|
1033
|
-
* @returns Whether the reference is a reference cache.
|
|
1034
|
-
* @public
|
|
1035
|
-
*/
|
|
1036
|
-
export declare function isReferenceCache(reference: Reference): reference is ReferenceCache;
|
|
1037
|
-
/**
|
|
1038
|
-
* Check if the reference is a link cache.
|
|
1039
|
-
*
|
|
1040
|
-
* @param reference - The reference to check.
|
|
1041
|
-
* @returns Whether the reference is a link cache.
|
|
1042
|
-
* @public
|
|
1043
|
-
*/
|
|
1044
|
-
export declare function isLinkCache(reference: Reference): reference is LinkCache;
|
|
1045
1045
|
/** @todo Documentation incomplete */
|
|
1046
1046
|
/** @public */
|
|
1047
1047
|
export interface OutlineView extends InfoFileView {
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
"text": "export interface AbstractSearchComponent "
|
|
198
198
|
}
|
|
199
199
|
],
|
|
200
|
-
"fileUrlPath": "src/obsidian/internals/AbstractSearchComponent.d.ts",
|
|
200
|
+
"fileUrlPath": "src/obsidian/internals/Components/AbstractSearchComponent.d.ts",
|
|
201
201
|
"releaseTag": "Public",
|
|
202
202
|
"name": "AbstractSearchComponent",
|
|
203
203
|
"preserveMemberOrder": false,
|
|
@@ -13988,11 +13988,24 @@
|
|
|
13988
13988
|
"kind": "Content",
|
|
13989
13989
|
"text": "): "
|
|
13990
13990
|
},
|
|
13991
|
+
{
|
|
13992
|
+
"kind": "Reference",
|
|
13993
|
+
"text": "Promise",
|
|
13994
|
+
"canonicalReference": "!Promise:interface"
|
|
13995
|
+
},
|
|
13996
|
+
{
|
|
13997
|
+
"kind": "Content",
|
|
13998
|
+
"text": "<"
|
|
13999
|
+
},
|
|
13991
14000
|
{
|
|
13992
14001
|
"kind": "Reference",
|
|
13993
14002
|
"text": "FileEntry",
|
|
13994
14003
|
"canonicalReference": "obsidian-typings!FileEntry:interface"
|
|
13995
14004
|
},
|
|
14005
|
+
{
|
|
14006
|
+
"kind": "Content",
|
|
14007
|
+
"text": ">"
|
|
14008
|
+
},
|
|
13996
14009
|
{
|
|
13997
14010
|
"kind": "Content",
|
|
13998
14011
|
"text": ";"
|
|
@@ -14001,7 +14014,7 @@
|
|
|
14001
14014
|
"isOptional": false,
|
|
14002
14015
|
"returnTypeTokenRange": {
|
|
14003
14016
|
"startIndex": 3,
|
|
14004
|
-
"endIndex":
|
|
14017
|
+
"endIndex": 7
|
|
14005
14018
|
},
|
|
14006
14019
|
"releaseTag": "Public",
|
|
14007
14020
|
"overloadIndex": 1,
|
|
@@ -25389,7 +25402,7 @@
|
|
|
25389
25402
|
"text": " "
|
|
25390
25403
|
}
|
|
25391
25404
|
],
|
|
25392
|
-
"fileUrlPath": "src/obsidian/internals/EditorSearchComponent.d.ts",
|
|
25405
|
+
"fileUrlPath": "src/obsidian/internals/Components/EditorSearchComponent.d.ts",
|
|
25393
25406
|
"releaseTag": "Public",
|
|
25394
25407
|
"name": "EditorSearchComponent",
|
|
25395
25408
|
"preserveMemberOrder": false,
|