angular-three 2.0.0-beta.242 → 2.0.0-beta.244
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/esm2022/index.mjs +2 -2
- package/esm2022/lib/canvas.mjs +19 -27
- package/esm2022/lib/directives/args.mjs +52 -14
- package/esm2022/lib/instance.mjs +10 -9
- package/esm2022/lib/loop.mjs +2 -2
- package/esm2022/lib/portal.mjs +119 -111
- package/esm2022/lib/renderer/catalogue.mjs +2 -2
- package/esm2022/lib/renderer/constants.mjs +3 -5
- package/esm2022/lib/renderer/index.mjs +276 -194
- package/esm2022/lib/renderer/state.mjs +49 -0
- package/esm2022/lib/renderer/utils.mjs +40 -24
- package/esm2022/lib/roots.mjs +25 -25
- package/esm2022/lib/routed-scene.mjs +3 -3
- package/esm2022/lib/store.mjs +14 -12
- package/esm2022/lib/three-types.mjs +1 -1
- package/esm2022/lib/utils/apply-props.mjs +3 -3
- package/esm2022/lib/utils/before-render.mjs +4 -3
- package/esm2022/lib/utils/parameters.mjs +33 -28
- package/esm2022/lib/utils/resolve-ref.mjs +8 -0
- package/esm2022/lib/utils/signal-store.mjs +3 -14
- package/fesm2022/angular-three.mjs +720 -1089
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +2 -2
- package/lib/canvas.d.ts +278 -1001
- package/lib/directives/args.d.ts +11 -4
- package/lib/instance.d.ts +8 -13
- package/lib/loop.d.ts +1 -1
- package/lib/portal.d.ts +41 -31
- package/lib/renderer/catalogue.d.ts +1 -1
- package/lib/renderer/constants.d.ts +2 -4
- package/lib/renderer/index.d.ts +15 -5
- package/lib/renderer/state.d.ts +23 -0
- package/lib/renderer/utils.d.ts +5 -22
- package/lib/roots.d.ts +5 -0
- package/lib/store.d.ts +12 -12
- package/lib/three-types.d.ts +8 -5
- package/lib/utils/parameters.d.ts +6 -9
- package/lib/utils/resolve-ref.d.ts +2 -0
- package/lib/utils/signal-store.d.ts +1 -5
- package/metadata.json +1 -1
- package/package.json +71 -72
- package/web-types.json +1 -1
- package/esm2022/lib/directives/common.mjs +0 -67
- package/esm2022/lib/directives/parent.mjs +0 -20
- package/esm2022/lib/ref.mjs +0 -50
- package/esm2022/lib/renderer/store.mjs +0 -439
- package/lib/directives/common.d.ts +0 -31
- package/lib/directives/parent.d.ts +0 -11
- package/lib/ref.d.ts +0 -7
- package/lib/renderer/store.d.ts +0 -65
|
@@ -20,14 +20,6 @@ function updater(_source) {
|
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
function patcher(_source) {
|
|
24
|
-
return (state) => {
|
|
25
|
-
const updater = reducer(state);
|
|
26
|
-
untracked(() => {
|
|
27
|
-
_source.update((previous) => ({ ...updater(previous), ...previous }));
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
23
|
function getter(_source) {
|
|
32
24
|
return (...keys) => {
|
|
33
25
|
const root = untracked(_source);
|
|
@@ -66,7 +58,6 @@ export function signalStore(initialState = {}, options) {
|
|
|
66
58
|
let source;
|
|
67
59
|
let update;
|
|
68
60
|
let get;
|
|
69
|
-
let patch;
|
|
70
61
|
let select;
|
|
71
62
|
let state;
|
|
72
63
|
const computedCache = new Map();
|
|
@@ -78,19 +69,17 @@ export function signalStore(initialState = {}, options) {
|
|
|
78
69
|
state = source.asReadonly();
|
|
79
70
|
get = getter(source);
|
|
80
71
|
update = updater(source);
|
|
81
|
-
patch = patcher(source);
|
|
82
72
|
select = selector(state, computedCache);
|
|
83
|
-
source.set(initialState({ update, get,
|
|
73
|
+
source.set(initialState({ update, get, select }));
|
|
84
74
|
}
|
|
85
75
|
else {
|
|
86
76
|
source = signal(initialState, options);
|
|
87
77
|
state = source.asReadonly();
|
|
88
78
|
get = getter(source);
|
|
89
79
|
update = updater(source);
|
|
90
|
-
patch = patcher(source);
|
|
91
80
|
select = selector(state, computedCache);
|
|
92
81
|
}
|
|
93
|
-
const store = { select, get, update,
|
|
82
|
+
const store = { select, get, update, state };
|
|
94
83
|
Object.defineProperty(store, 'snapshot', {
|
|
95
84
|
get: untracked.bind({}, state),
|
|
96
85
|
configurable: false,
|
|
@@ -98,4 +87,4 @@ export function signalStore(initialState = {}, options) {
|
|
|
98
87
|
});
|
|
99
88
|
return store;
|
|
100
89
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvc2lnbmFsLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixNQUFNLGtCQUFrQixHQUFHLCtCQUErQixDQUFDO0FBb0UzRCxTQUFTLE9BQU8sQ0FBdUIsS0FBMkM7SUFDakYsT0FBTyxDQUFDLFFBQWUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFrQixDQUFDO1lBQ3BDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUF1QixPQUE4QjtJQUNwRSxPQUFPLENBQUMsS0FBMkMsRUFBRSxFQUFFO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUF1QixPQUE4QjtJQUNwRSxPQUFPLENBQUMsS0FBMkMsRUFBRSxFQUFFO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUF1QixPQUE4QjtJQUNuRSxPQUFPLENBQUMsR0FBRyxJQUFjLEVBQUUsRUFBRTtRQUM1QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBRSxLQUFzQixDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBdUIsTUFBcUIsRUFBRSxhQUF1QztJQUNyRyxPQUFPLENBQUMsR0FBRyxjQUFxQixFQUFFLEVBQUU7UUFDbkMsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUMvQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFFLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxjQUErQyxDQUFDLENBQUMsQ0FBQztZQUNqRyxDQUFDO1lBQ0QsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxhQUFhLENBQUMsR0FBRyxDQUNoQixVQUFVLEVBQ1YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBRSxLQUFzQixDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQzVGLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBRSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLGNBQXFCO0lBQy9DLElBQUksT0FBTyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0MsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQzFCLGVBRXdHLEVBQUUsRUFDMUcsT0FBb0M7SUFFcEMsSUFBSSxNQUE2QixDQUFDO0lBQ2xDLElBQUksTUFBdUMsQ0FBQztJQUM1QyxJQUFJLEdBQWlDLENBQUM7SUFDdEMsSUFBSSxLQUFxQyxDQUFDO0lBQzFDLElBQUksTUFBdUMsQ0FBQztJQUM1QyxJQUFJLEtBQW9CLENBQUM7SUFFekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZCxPQUFPLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE9BQU8sWUFBWSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sR0FBRyxNQUFNLENBQUMsRUFBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQztTQUFNLENBQUM7UUFDUCxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFFcEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1FBQ3hDLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDOUIsWUFBWSxFQUFFLEtBQUs7UUFDbkIsVUFBVSxFQUFFLEtBQUs7S0FDakIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUE4QixDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDcmVhdGVDb21wdXRlZE9wdGlvbnMsXG5cdENyZWF0ZVNpZ25hbE9wdGlvbnMsXG5cdFNpZ25hbCxcblx0V3JpdGFibGVTaWduYWwsXG5cdGNvbXB1dGVkLFxuXHRzaWduYWwsXG5cdHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RBbnlSZWNvcmQgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IFNUT1JFX0NPTVBVVEVEX0tFWSA9ICdfX25ndF9zaWduYWxfc3RvcmVfY29tcHV0ZWRfXyc7XG5cbmV4cG9ydCB0eXBlIE5ndFNpZ25hbFN0b3JlPFN0YXRlIGV4dGVuZHMgb2JqZWN0PiA9IHtcblx0c2VsZWN0PFxuXHRcdEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSxcblx0XHRLZXkyIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV0sXG5cdFx0S2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdLFxuXHRcdEtleTQgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXSxcblx0Pihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0XHRrZXk0OiBLZXk0LFxuXHRcdG9wdGlvbnM/OiBDcmVhdGVDb21wdXRlZE9wdGlvbnM8U3RhdGVbS2V5MV1bS2V5Ml1bS2V5M11bS2V5NF0+LFxuXHQpOiBTaWduYWw8U3RhdGVbS2V5MV1bS2V5Ml1bS2V5M11bS2V5NF0+O1xuXHRzZWxlY3Q8S2V5MSBleHRlbmRzIGtleW9mIFN0YXRlLCBLZXkyIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV0sIEtleTMgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXVtLZXkyXT4oXG5cdFx0a2V5MTogS2V5MSxcblx0XHRrZXkyOiBLZXkyLFxuXHRcdGtleTM6IEtleTMsXG5cdFx0b3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXT4sXG5cdCk6IFNpZ25hbDxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXT47XG5cdHNlbGVjdDxLZXkxIGV4dGVuZHMga2V5b2YgU3RhdGUsIEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXT4oXG5cdFx0a2V5MTogS2V5MSxcblx0XHRrZXkyOiBLZXkyLFxuXHRcdG9wdGlvbnM/OiBDcmVhdGVDb21wdXRlZE9wdGlvbnM8U3RhdGVbS2V5MV1bS2V5Ml0+LFxuXHQpOiBTaWduYWw8U3RhdGVbS2V5MV1bS2V5Ml0+O1xuXHRzZWxlY3Q8S2V5IGV4dGVuZHMga2V5b2YgU3RhdGU+KGtleTogS2V5LCBvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFN0YXRlW0tleV0+KTogU2lnbmFsPFN0YXRlW0tleV0+O1xuXHRzZWxlY3Qob3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZT4pOiBTaWduYWw8U3RhdGU+O1xuXG5cdGdldDxcblx0XHRLZXkxIGV4dGVuZHMga2V5b2YgU3RhdGUsXG5cdFx0S2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdLFxuXHRcdEtleTMgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXVtLZXkyXSxcblx0XHRLZXk0IGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV1bS2V5Ml1bS2V5M10sXG5cdD4oXG5cdFx0a2V5MTogS2V5MSxcblx0XHRrZXkyOiBLZXkyLFxuXHRcdGtleTM6IEtleTMsXG5cdFx0a2V5NDogS2V5NCxcblx0KTogU3RhdGVbS2V5MV1bS2V5Ml1bS2V5M11bS2V5NF07XG5cdGdldDxLZXkxIGV4dGVuZHMga2V5b2YgU3RhdGUsIEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXSwgS2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdPihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0KTogU3RhdGVbS2V5MV1bS2V5Ml1bS2V5M107XG5cdGdldDxLZXkxIGV4dGVuZHMga2V5b2YgU3RhdGUsIEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXT4oa2V5MTogS2V5MSwga2V5MjogS2V5Mik6IFN0YXRlW0tleTFdW0tleTJdO1xuXHRnZXQ8S2V5IGV4dGVuZHMga2V5b2YgU3RhdGU+KGtleTogS2V5KTogU3RhdGVbS2V5XTtcblx0Z2V0KCk6IFN0YXRlO1xuXG5cdC8qKlxuXHQgKiBOZXcgc3RhdGUgdGFrZXMgcHJlY2VkZW5jZVxuXHQgKi9cblx0dXBkYXRlKHN0YXRlOiBQYXJ0aWFsPFN0YXRlPiB8ICgocHJldmlvdXM6IFN0YXRlKSA9PiBQYXJ0aWFsPFN0YXRlPikpOiB2b2lkO1xuXHQvKipcblx0ICogTm9uLXVuZGVmaW5lZCBvbGQgc3RhdGUgdGFrZXMgcHJlY2VkZW5jZVxuXHQgKi9cblx0cGF0Y2goc3RhdGU6IFBhcnRpYWw8U3RhdGU+IHwgKChwcmV2aW91czogU3RhdGUpID0+IFBhcnRpYWw8U3RhdGU+KSk6IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEVxdWl2YWxlbmNlIHRvIHNlbGVjdCgpXG5cdCAqL1xuXHRzdGF0ZTogU2lnbmFsPFN0YXRlPjtcblx0LyoqXG5cdCAqIEVxdWl2YWxlbmNlIHRvIGdldCgpXG5cdCAqL1xuXHRnZXQgc25hcHNob3QoKTogU3RhdGU7XG59O1xuXG5mdW5jdGlvbiByZWR1Y2VyPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihzdGF0ZTogU3RhdGUgfCAoKHByZXZpb3VzOiBTdGF0ZSkgPT4gU3RhdGUpKSB7XG5cdHJldHVybiAocHJldmlvdXM6IFN0YXRlKSA9PiB7XG5cdFx0Y29uc3QgcGFydGlhbCA9IHR5cGVvZiBzdGF0ZSA9PT0gJ2Z1bmN0aW9uJyA/IHN0YXRlKHByZXZpb3VzKSA6IHN0YXRlO1xuXHRcdE9iamVjdC5rZXlzKHBhcnRpYWwpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdFx0Y29uc3QgdHlwZWRLZXkgPSBrZXkgYXMga2V5b2YgU3RhdGU7XG5cdFx0XHRpZiAocGFydGlhbFt0eXBlZEtleV0gPT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c1t0eXBlZEtleV0gIT0gbnVsbCkge1xuXHRcdFx0XHRwYXJ0aWFsW3R5cGVkS2V5XSA9IHByZXZpb3VzW3R5cGVkS2V5XTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gcGFydGlhbDtcblx0fTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlcjxTdGF0ZSBleHRlbmRzIG9iamVjdD4oX3NvdXJjZTogV3JpdGFibGVTaWduYWw8U3RhdGU+KSB7XG5cdHJldHVybiAoc3RhdGU6IFN0YXRlIHwgKChwcmV2aW91czogU3RhdGUpID0+IFN0YXRlKSkgPT4ge1xuXHRcdGNvbnN0IHVwZGF0ZXIgPSByZWR1Y2VyKHN0YXRlKTtcblx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0X3NvdXJjZS51cGRhdGUoKHByZXZpb3VzKSA9PiAoeyAuLi5wcmV2aW91cywgLi4udXBkYXRlcihwcmV2aW91cykgfSkpO1xuXHRcdH0pO1xuXHR9O1xufVxuXG5mdW5jdGlvbiBwYXRjaGVyPFN0YXRlIGV4dGVuZHMgb2JqZWN0Pihfc291cmNlOiBXcml0YWJsZVNpZ25hbDxTdGF0ZT4pIHtcblx0cmV0dXJuIChzdGF0ZTogU3RhdGUgfCAoKHByZXZpb3VzOiBTdGF0ZSkgPT4gU3RhdGUpKSA9PiB7XG5cdFx0Y29uc3QgdXBkYXRlciA9IHJlZHVjZXIoc3RhdGUpO1xuXHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRfc291cmNlLnVwZGF0ZSgocHJldmlvdXMpID0+ICh7IC4uLnVwZGF0ZXIocHJldmlvdXMpLCAuLi5wcmV2aW91cyB9KSk7XG5cdFx0fSk7XG5cdH07XG59XG5cbmZ1bmN0aW9uIGdldHRlcjxTdGF0ZSBleHRlbmRzIG9iamVjdD4oX3NvdXJjZTogV3JpdGFibGVTaWduYWw8U3RhdGU+KSB7XG5cdHJldHVybiAoLi4ua2V5czogc3RyaW5nW10pID0+IHtcblx0XHRjb25zdCByb290ID0gdW50cmFja2VkKF9zb3VyY2UpO1xuXHRcdGlmIChrZXlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHJvb3Q7XG5cdFx0cmV0dXJuIGtleXMucmVkdWNlKCh2YWx1ZSwga2V5KSA9PiAodmFsdWUgYXMgTmd0QW55UmVjb3JkKVtrZXldLCByb290KTtcblx0fTtcbn1cblxuZnVuY3Rpb24gc2VsZWN0b3I8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KF9zdGF0ZTogU2lnbmFsPFN0YXRlPiwgY29tcHV0ZWRDYWNoZTogTWFwPHN0cmluZywgU2lnbmFsPGFueT4+KSB7XG5cdHJldHVybiAoLi4ua2V5c0FuZE9wdGlvbnM6IGFueVtdKSA9PiB7XG5cdFx0aWYgKGtleXNBbmRPcHRpb25zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIF9zdGF0ZTtcblx0XHRpZiAoa2V5c0FuZE9wdGlvbnMubGVuZ3RoID09PSAxICYmIHR5cGVvZiBrZXlzQW5kT3B0aW9uc1swXSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdGNvbnN0IGNhY2hlZEtleSA9IFNUT1JFX0NPTVBVVEVEX0tFWS5jb25jYXQoSlNPTi5zdHJpbmdpZnkoa2V5c0FuZE9wdGlvbnNbMF0pKTtcblx0XHRcdGlmICghY29tcHV0ZWRDYWNoZS5oYXMoY2FjaGVkS2V5KSkge1xuXHRcdFx0XHRjb21wdXRlZENhY2hlLnNldChjYWNoZWRLZXksIGNvbXB1dGVkKF9zdGF0ZSwga2V5c0FuZE9wdGlvbnMgYXMgQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPG9iamVjdD4pKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBjb21wdXRlZENhY2hlLmdldChjYWNoZWRLZXkpITtcblx0XHR9XG5cdFx0Y29uc3QgW2tleXMsIG9wdGlvbnNdID0gcGFyc2VTdG9yZU9wdGlvbnMoa2V5c0FuZE9wdGlvbnMpO1xuXHRcdGNvbnN0IGpvaW5lZEtleXMgPSBrZXlzLmpvaW4oJy0nKTtcblx0XHRjb25zdCBjYWNoZWRLZXlzID0gam9pbmVkS2V5cy5jb25jYXQoSlNPTi5zdHJpbmdpZnkob3B0aW9ucykpO1xuXG5cdFx0aWYgKCFjb21wdXRlZENhY2hlLmhhcyhjYWNoZWRLZXlzKSkge1xuXHRcdFx0Y29tcHV0ZWRDYWNoZS5zZXQoXG5cdFx0XHRcdGNhY2hlZEtleXMsXG5cdFx0XHRcdGNvbXB1dGVkKCgpID0+IGtleXMucmVkdWNlKCh2YWx1ZSwga2V5KSA9PiAodmFsdWUgYXMgTmd0QW55UmVjb3JkKVtrZXldLCBfc3RhdGUoKSksIG9wdGlvbnMpLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIGNvbXB1dGVkQ2FjaGUuZ2V0KGNhY2hlZEtleXMpITtcblx0fTtcbn1cblxuZnVuY3Rpb24gcGFyc2VTdG9yZU9wdGlvbnMoa2V5c0FuZE9wdGlvbnM6IGFueVtdKTogW3N0cmluZ1tdLCBDcmVhdGVDb21wdXRlZE9wdGlvbnM8YW55Pj9dIHtcblx0aWYgKHR5cGVvZiBrZXlzQW5kT3B0aW9ucy5hdCgtMSkgPT09ICdvYmplY3QnKSB7XG5cdFx0cmV0dXJuIFtrZXlzQW5kT3B0aW9ucy5zbGljZSgwLCAtMSksIGtleXNBbmRPcHRpb25zLmF0KC0xKV07XG5cdH1cblxuXHRyZXR1cm4gW2tleXNBbmRPcHRpb25zLCB7IGVxdWFsOiBPYmplY3QuaXMgfV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxTdGF0ZSBleHRlbmRzIG9iamVjdD4oXG5cdGluaXRpYWxTdGF0ZTpcblx0XHR8IFBhcnRpYWw8U3RhdGU+XG5cdFx0fCAoKHN0b3JlQXBpOiBQaWNrPE5ndFNpZ25hbFN0b3JlPFN0YXRlPiwgJ2dldCcgfCAndXBkYXRlJyB8ICdwYXRjaCcgfCAnc2VsZWN0Jz4pID0+IFBhcnRpYWw8U3RhdGU+KSA9IHt9LFxuXHRvcHRpb25zPzogQ3JlYXRlU2lnbmFsT3B0aW9uczxTdGF0ZT4sXG4pOiBOZ3RTaWduYWxTdG9yZTxTdGF0ZT4ge1xuXHRsZXQgc291cmNlOiBXcml0YWJsZVNpZ25hbDxTdGF0ZT47XG5cdGxldCB1cGRhdGU6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsndXBkYXRlJ107XG5cdGxldCBnZXQ6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsnZ2V0J107XG5cdGxldCBwYXRjaDogTmd0U2lnbmFsU3RvcmU8U3RhdGU+WydwYXRjaCddO1xuXHRsZXQgc2VsZWN0OiBOZ3RTaWduYWxTdG9yZTxTdGF0ZT5bJ3NlbGVjdCddO1xuXHRsZXQgc3RhdGU6IFNpZ25hbDxTdGF0ZT47XG5cblx0Y29uc3QgY29tcHV0ZWRDYWNoZSA9IG5ldyBNYXAoKTtcblxuXHRpZiAoIW9wdGlvbnMpIHtcblx0XHRvcHRpb25zID0geyBlcXVhbDogT2JqZWN0LmlzIH07XG5cdH1cblxuXHRpZiAodHlwZW9mIGluaXRpYWxTdGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHNvdXJjZSA9IHNpZ25hbCh7fSBhcyBTdGF0ZSwgb3B0aW9ucyk7XG5cdFx0c3RhdGUgPSBzb3VyY2UuYXNSZWFkb25seSgpO1xuXHRcdGdldCA9IGdldHRlcihzb3VyY2UpO1xuXHRcdHVwZGF0ZSA9IHVwZGF0ZXIoc291cmNlKTtcblx0XHRwYXRjaCA9IHBhdGNoZXIoc291cmNlKTtcblx0XHRzZWxlY3QgPSBzZWxlY3RvcihzdGF0ZSwgY29tcHV0ZWRDYWNoZSk7XG5cdFx0c291cmNlLnNldChpbml0aWFsU3RhdGUoeyB1cGRhdGUsIGdldCwgcGF0Y2gsIHNlbGVjdCB9KSBhcyBTdGF0ZSk7XG5cdH0gZWxzZSB7XG5cdFx0c291cmNlID0gc2lnbmFsKGluaXRpYWxTdGF0ZSBhcyBTdGF0ZSwgb3B0aW9ucyk7XG5cdFx0c3RhdGUgPSBzb3VyY2UuYXNSZWFkb25seSgpO1xuXHRcdGdldCA9IGdldHRlcihzb3VyY2UpO1xuXHRcdHVwZGF0ZSA9IHVwZGF0ZXIoc291cmNlKTtcblx0XHRwYXRjaCA9IHBhdGNoZXIoc291cmNlKTtcblx0XHRzZWxlY3QgPSBzZWxlY3RvcihzdGF0ZSwgY29tcHV0ZWRDYWNoZSk7XG5cdH1cblxuXHRjb25zdCBzdG9yZSA9IHsgc2VsZWN0LCBnZXQsIHVwZGF0ZSwgcGF0Y2gsIHN0YXRlIH07XG5cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0b3JlLCAnc25hcHNob3QnLCB7XG5cdFx0Z2V0OiB1bnRyYWNrZWQuYmluZCh7fSwgc3RhdGUpLFxuXHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG5cdFx0ZW51bWVyYWJsZTogZmFsc2UsXG5cdH0pO1xuXG5cdHJldHVybiBzdG9yZSBhcyBOZ3RTaWduYWxTdG9yZTxTdGF0ZT47XG59XG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvc2lnbmFsLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixNQUFNLGtCQUFrQixHQUFHLCtCQUErQixDQUFDO0FBZ0UzRCxTQUFTLE9BQU8sQ0FBdUIsS0FBMkM7SUFDakYsT0FBTyxDQUFDLFFBQWUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFrQixDQUFDO1lBQ3BDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUF1QixPQUE4QjtJQUNwRSxPQUFPLENBQUMsS0FBMkMsRUFBRSxFQUFFO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxF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LEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUU3QyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDeEMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUM5QixZQUFZLEVBQUUsS0FBSztRQUNuQixVQUFVLEVBQUUsS0FBSztLQUNqQixDQUFDLENBQUM7SUFFSCxPQUFPLEtBQThCLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENyZWF0ZUNvbXB1dGVkT3B0aW9ucyxcblx0Q3JlYXRlU2lnbmFsT3B0aW9ucyxcblx0U2lnbmFsLFxuXHRXcml0YWJsZVNpZ25hbCxcblx0Y29tcHV0ZWQsXG5cdHNpZ25hbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgU1RPUkVfQ09NUFVURURfS0VZID0gJ19fbmd0X3NpZ25hbF9zdG9yZV9jb21wdXRlZF9fJztcblxuZXhwb3J0IHR5cGUgTmd0U2lnbmFsU3RvcmU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuXHRzZWxlY3Q8XG5cdFx0S2V5MSBleHRlbmRzIGtleW9mIFN0YXRlLFxuXHRcdEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXSxcblx0XHRLZXkzIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV1bS2V5Ml0sXG5cdFx0S2V5NCBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdW0tleTNdLFxuXHQ+KFxuXHRcdGtleTE6IEtleTEsXG5cdFx0a2V5MjogS2V5Mixcblx0XHRrZXkzOiBLZXkzLFxuXHRcdGtleTQ6IEtleTQsXG5cdFx0b3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XT4sXG5cdCk6IFNpZ25hbDxTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XT47XG5cdHNlbGVjdDxLZXkxIGV4dGVuZHMga2V5b2YgU3RhdGUsIEtleTIgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXSwgS2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdPihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0XHRvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFN0YXRlW0tleTFdW0tleTJdW0tleTNdPixcblx0KTogU2lnbmFsPFN0YXRlW0tleTFdW0tleTJdW0tleTNdPjtcblx0c2VsZWN0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdPihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0b3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxTdGF0ZVtLZXkxXVtLZXkyXT4sXG5cdCk6IFNpZ25hbDxTdGF0ZVtLZXkxXVtLZXkyXT47XG5cdHNlbGVjdDxLZXkgZXh0ZW5kcyBrZXlvZiBTdGF0ZT4oa2V5OiBLZXksIG9wdGlvbnM/OiBDcmVhdGVDb21wdXRlZE9wdGlvbnM8U3RhdGVbS2V5XT4pOiBTaWduYWw8U3RhdGVbS2V5XT47XG5cdHNlbGVjdChvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFN0YXRlPik6IFNpZ25hbDxTdGF0ZT47XG5cblx0Z2V0PFxuXHRcdEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSxcblx0XHRLZXkyIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV0sXG5cdFx0S2V5MyBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdW0tleTJdLFxuXHRcdEtleTQgZXh0ZW5kcyBrZXlvZiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXSxcblx0Pihcblx0XHRrZXkxOiBLZXkxLFxuXHRcdGtleTI6IEtleTIsXG5cdFx0a2V5MzogS2V5Myxcblx0XHRrZXk0OiBLZXk0LFxuXHQpOiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXVtLZXk0XTtcblx0Z2V0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdLCBLZXkzIGV4dGVuZHMga2V5b2YgU3RhdGVbS2V5MV1bS2V5Ml0+KFxuXHRcdGtleTE6IEtleTEsXG5cdFx0a2V5MjogS2V5Mixcblx0XHRrZXkzOiBLZXkzLFxuXHQpOiBTdGF0ZVtLZXkxXVtLZXkyXVtLZXkzXTtcblx0Z2V0PEtleTEgZXh0ZW5kcyBrZXlvZiBTdGF0ZSwgS2V5MiBleHRlbmRzIGtleW9mIFN0YXRlW0tleTFdPihrZXkxOiBLZXkxLCBrZXkyOiBLZXkyKTogU3RhdGVbS2V5MV1bS2V5Ml07XG5cdGdldDxLZXkgZXh0ZW5kcyBrZXlvZiBTdGF0ZT4oa2V5OiBLZXkpOiBTdGF0ZVtLZXldO1xuXHRnZXQoKTogU3RhdGU7XG5cblx0LyoqXG5cdCAqIE5ldyBzdGF0ZSB0YWtlcyBwcmVjZWRlbmNlXG5cdCAqL1xuXHR1cGRhdGUoc3RhdGU6IFBhcnRpYWw8U3RhdGU+IHwgKChwcmV2aW91czogU3RhdGUpID0+IFBhcnRpYWw8U3RhdGU+KSk6IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEVxdWl2YWxlbmNlIHRvIHNlbGVjdCgpXG5cdCAqL1xuXHRzdGF0ZTogU2lnbmFsPFN0YXRlPjtcblx0LyoqXG5cdCAqIEVxdWl2YWxlbmNlIHRvIGdldCgpXG5cdCAqL1xuXHRnZXQgc25hcHNob3QoKTogU3RhdGU7XG59O1xuXG5mdW5jdGlvbiByZWR1Y2VyPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihzdGF0ZTogU3RhdGUgfCAoKHByZXZpb3VzOiBTdGF0ZSkgPT4gU3RhdGUpKSB7XG5cdHJldHVybiAocHJldmlvdXM6IFN0YXRlKSA9PiB7XG5cdFx0Y29uc3QgcGFydGlhbCA9IHR5cGVvZiBzdGF0ZSA9PT0gJ2Z1bmN0aW9uJyA/IHN0YXRlKHByZXZpb3VzKSA6IHN0YXRlO1xuXHRcdE9iamVjdC5rZXlzKHBhcnRpYWwpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdFx0Y29uc3QgdHlwZWRLZXkgPSBrZXkgYXMga2V5b2YgU3RhdGU7XG5cdFx0XHRpZiAocGFydGlhbFt0eXBlZEtleV0gPT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c1t0eXBlZEtleV0gIT0gbnVsbCkge1xuXHRcdFx0XHRwYXJ0aWFsW3R5cGVkS2V5XSA9IHByZXZpb3VzW3R5cGVkS2V5XTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gcGFydGlhbDtcblx0fTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlcjxTdGF0ZSBleHRlbmRzIG9iamVjdD4oX3NvdXJjZTogV3JpdGFibGVTaWduYWw8U3RhdGU+KSB7XG5cdHJldHVybiAoc3RhdGU6IFN0YXRlIHwgKChwcmV2aW91czogU3RhdGUpID0+IFN0YXRlKSkgPT4ge1xuXHRcdGNvbnN0IHVwZGF0ZXIgPSByZWR1Y2VyKHN0YXRlKTtcblx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0X3NvdXJjZS51cGRhdGUoKHByZXZpb3VzKSA9PiAoeyAuLi5wcmV2aW91cywgLi4udXBkYXRlcihwcmV2aW91cykgfSkpO1xuXHRcdH0pO1xuXHR9O1xufVxuXG5mdW5jdGlvbiBnZXR0ZXI8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KF9zb3VyY2U6IFdyaXRhYmxlU2lnbmFsPFN0YXRlPikge1xuXHRyZXR1cm4gKC4uLmtleXM6IHN0cmluZ1tdKSA9PiB7XG5cdFx0Y29uc3Qgcm9vdCA9IHVudHJhY2tlZChfc291cmNlKTtcblx0XHRpZiAoa2V5cy5sZW5ndGggPT09IDApIHJldHVybiByb290O1xuXHRcdHJldHVybiBrZXlzLnJlZHVjZSgodmFsdWUsIGtleSkgPT4gKHZhbHVlIGFzIE5ndEFueVJlY29yZClba2V5XSwgcm9vdCk7XG5cdH07XG59XG5cbmZ1bmN0aW9uIHNlbGVjdG9yPFN0YXRlIGV4dGVuZHMgb2JqZWN0Pihfc3RhdGU6IFNpZ25hbDxTdGF0ZT4sIGNvbXB1dGVkQ2FjaGU6IE1hcDxzdHJpbmcsIFNpZ25hbDxhbnk+Pikge1xuXHRyZXR1cm4gKC4uLmtleXNBbmRPcHRpb25zOiBhbnlbXSkgPT4ge1xuXHRcdGlmIChrZXlzQW5kT3B0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBfc3RhdGU7XG5cdFx0aWYgKGtleXNBbmRPcHRpb25zLmxlbmd0aCA9PT0gMSAmJiB0eXBlb2Yga2V5c0FuZE9wdGlvbnNbMF0gPT09ICdvYmplY3QnKSB7XG5cdFx0XHRjb25zdCBjYWNoZWRLZXkgPSBTVE9SRV9DT01QVVRFRF9LRVkuY29uY2F0KEpTT04uc3RyaW5naWZ5KGtleXNBbmRPcHRpb25zWzBdKSk7XG5cdFx0XHRpZiAoIWNvbXB1dGVkQ2FjaGUuaGFzKGNhY2hlZEtleSkpIHtcblx0XHRcdFx0Y29tcHV0ZWRDYWNoZS5zZXQoY2FjaGVkS2V5LCBjb21wdXRlZChfc3RhdGUsIGtleXNBbmRPcHRpb25zIGFzIENyZWF0ZUNvbXB1dGVkT3B0aW9uczxvYmplY3Q+KSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gY29tcHV0ZWRDYWNoZS5nZXQoY2FjaGVkS2V5KSE7XG5cdFx0fVxuXHRcdGNvbnN0IFtrZXlzLCBvcHRpb25zXSA9IHBhcnNlU3RvcmVPcHRpb25zKGtleXNBbmRPcHRpb25zKTtcblx0XHRjb25zdCBqb2luZWRLZXlzID0ga2V5cy5qb2luKCctJyk7XG5cdFx0Y29uc3QgY2FjaGVkS2V5cyA9IGpvaW5lZEtleXMuY29uY2F0KEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcblxuXHRcdGlmICghY29tcHV0ZWRDYWNoZS5oYXMoY2FjaGVkS2V5cykpIHtcblx0XHRcdGNvbXB1dGVkQ2FjaGUuc2V0KFxuXHRcdFx0XHRjYWNoZWRLZXlzLFxuXHRcdFx0XHRjb21wdXRlZCgoKSA9PiBrZXlzLnJlZHVjZSgodmFsdWUsIGtleSkgPT4gKHZhbHVlIGFzIE5ndEFueVJlY29yZClba2V5XSwgX3N0YXRlKCkpLCBvcHRpb25zKSxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiBjb21wdXRlZENhY2hlLmdldChjYWNoZWRLZXlzKSE7XG5cdH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3RvcmVPcHRpb25zKGtleXNBbmRPcHRpb25zOiBhbnlbXSk6IFtzdHJpbmdbXSwgQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPGFueT4/XSB7XG5cdGlmICh0eXBlb2Yga2V5c0FuZE9wdGlvbnMuYXQoLTEpID09PSAnb2JqZWN0Jykge1xuXHRcdHJldHVybiBba2V5c0FuZE9wdGlvbnMuc2xpY2UoMCwgLTEpLCBrZXlzQW5kT3B0aW9ucy5hdCgtMSldO1xuXHR9XG5cblx0cmV0dXJuIFtrZXlzQW5kT3B0aW9ucywgeyBlcXVhbDogT2JqZWN0LmlzIH1dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KFxuXHRpbml0aWFsU3RhdGU6XG5cdFx0fCBQYXJ0aWFsPFN0YXRlPlxuXHRcdHwgKChzdG9yZUFwaTogUGljazxOZ3RTaWduYWxTdG9yZTxTdGF0ZT4sICdnZXQnIHwgJ3VwZGF0ZScgfCAnc2VsZWN0Jz4pID0+IFBhcnRpYWw8U3RhdGU+KSA9IHt9LFxuXHRvcHRpb25zPzogQ3JlYXRlU2lnbmFsT3B0aW9uczxTdGF0ZT4sXG4pOiBOZ3RTaWduYWxTdG9yZTxTdGF0ZT4ge1xuXHRsZXQgc291cmNlOiBXcml0YWJsZVNpZ25hbDxTdGF0ZT47XG5cdGxldCB1cGRhdGU6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsndXBkYXRlJ107XG5cdGxldCBnZXQ6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsnZ2V0J107XG5cdGxldCBzZWxlY3Q6IE5ndFNpZ25hbFN0b3JlPFN0YXRlPlsnc2VsZWN0J107XG5cdGxldCBzdGF0ZTogU2lnbmFsPFN0YXRlPjtcblxuXHRjb25zdCBjb21wdXRlZENhY2hlID0gbmV3IE1hcCgpO1xuXG5cdGlmICghb3B0aW9ucykge1xuXHRcdG9wdGlvbnMgPSB7IGVxdWFsOiBPYmplY3QuaXMgfTtcblx0fVxuXG5cdGlmICh0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0c291cmNlID0gc2lnbmFsKHt9IGFzIFN0YXRlLCBvcHRpb25zKTtcblx0XHRzdGF0ZSA9IHNvdXJjZS5hc1JlYWRvbmx5KCk7XG5cdFx0Z2V0ID0gZ2V0dGVyKHNvdXJjZSk7XG5cdFx0dXBkYXRlID0gdXBkYXRlcihzb3VyY2UpO1xuXHRcdHNlbGVjdCA9IHNlbGVjdG9yKHN0YXRlLCBjb21wdXRlZENhY2hlKTtcblx0XHRzb3VyY2Uuc2V0KGluaXRpYWxTdGF0ZSh7IHVwZGF0ZSwgZ2V0LCBzZWxlY3QgfSkgYXMgU3RhdGUpO1xuXHR9IGVsc2Uge1xuXHRcdHNvdXJjZSA9IHNpZ25hbChpbml0aWFsU3RhdGUgYXMgU3RhdGUsIG9wdGlvbnMpO1xuXHRcdHN0YXRlID0gc291cmNlLmFzUmVhZG9ubHkoKTtcblx0XHRnZXQgPSBnZXR0ZXIoc291cmNlKTtcblx0XHR1cGRhdGUgPSB1cGRhdGVyKHNvdXJjZSk7XG5cdFx0c2VsZWN0ID0gc2VsZWN0b3Ioc3RhdGUsIGNvbXB1dGVkQ2FjaGUpO1xuXHR9XG5cblx0Y29uc3Qgc3RvcmUgPSB7IHNlbGVjdCwgZ2V0LCB1cGRhdGUsIHN0YXRlIH07XG5cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0b3JlLCAnc25hcHNob3QnLCB7XG5cdFx0Z2V0OiB1bnRyYWNrZWQuYmluZCh7fSwgc3RhdGUpLFxuXHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG5cdFx0ZW51bWVyYWJsZTogZmFsc2UsXG5cdH0pO1xuXG5cdHJldHVybiBzdG9yZSBhcyBOZ3RTaWduYWxTdG9yZTxTdGF0ZT47XG59XG4iXX0=
|