obsidian-integration-testing 12.3.0 → 14.0.0
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/lib/cjs/adb.cjs +1 -1
- package/dist/lib/cjs/app-config.cjs +1 -1
- package/dist/lib/cjs/app-config.d.cts +24 -24
- package/dist/lib/cjs/appium-dependencies.cjs +1 -1
- package/dist/lib/cjs/appium-session-config.cjs +1 -1
- package/dist/lib/cjs/connect-to-cdp.cjs +1 -1
- package/dist/lib/cjs/connect-to-cdp.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-bootstrap.cjs +1 -1
- package/dist/lib/cjs/demo-vault-bootstrap.d.cts +10 -2
- package/dist/lib/cjs/desktop-only-plugin-skip-error.cjs +1 -1
- package/dist/lib/cjs/device-readiness.cjs +1 -1
- package/dist/lib/cjs/device-settings.cjs +1 -1
- package/dist/lib/cjs/emulator-reclaim.cjs +1 -1
- package/dist/lib/cjs/emulator-reclaim.d.cts +17 -17
- package/dist/lib/cjs/enable-plugin.cjs +1 -1
- package/dist/lib/cjs/eval-in-obsidian.cjs +1 -1
- package/dist/lib/cjs/eval-in-obsidian.d.cts +17 -12
- package/dist/lib/cjs/fit-screenshot.cjs +1 -1
- package/dist/lib/cjs/generate-function-call.cjs +1 -1
- package/dist/lib/cjs/generate-function-call.d.cts +1 -1
- package/dist/lib/cjs/global-setup-core.cjs +1 -1
- package/dist/lib/cjs/global-setup-core.d.cts +4 -4
- package/dist/lib/cjs/index.cjs +1 -1
- package/dist/lib/cjs/index.d.cts +4 -4
- package/dist/lib/cjs/integration-setup-failed-error.cjs +1 -1
- package/dist/lib/cjs/jest/global-setup.cjs +1 -1
- package/dist/lib/cjs/jest/global-setup.d.cts +6 -6
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/mobile-input.cjs +1 -1
- package/dist/lib/cjs/namespace-bootstrap.cjs +13 -3
- package/dist/lib/cjs/obsidian-instance.cjs +1 -1
- package/dist/lib/cjs/obsidian-instance.d.cts +3 -3
- package/dist/lib/cjs/obsidian-version-switch.cjs +1 -1
- package/dist/lib/cjs/open-obsidian-settings-tab.cjs +3 -3
- package/dist/lib/cjs/open-obsidian-settings-tab.d.cts +4 -4
- package/dist/lib/cjs/owned-vault-seed.cjs +3 -3
- package/dist/lib/cjs/parent-liveness.cjs +1 -1
- package/dist/lib/cjs/parent-liveness.d.cts +1 -1
- package/dist/lib/cjs/poll-in-obsidian.cjs +1 -1
- package/dist/lib/cjs/poll-in-obsidian.d.cts +3 -3
- package/dist/lib/cjs/poll-until.cjs +1 -1
- package/dist/lib/cjs/poll-until.d.cts +4 -4
- package/dist/lib/cjs/process-capture.cjs +1 -1
- package/dist/lib/cjs/process-capture.d.cts +2 -2
- package/dist/lib/cjs/process-exit-message.cjs +1 -1
- package/dist/lib/cjs/process-exit-message.d.cts +2 -2
- package/dist/lib/cjs/run-version-matrix.cjs +3 -3
- package/dist/lib/cjs/setup-lock.cjs +1 -1
- package/dist/lib/cjs/setup-lock.d.cts +1 -1
- package/dist/lib/cjs/sharp-loader.cjs +1 -1
- package/dist/lib/cjs/sharp-loader.d.cts +6 -6
- package/dist/lib/cjs/temporary-vault.cjs +3 -2
- package/dist/lib/cjs/temporary-vault.d.cts +4 -4
- package/dist/lib/cjs/transport-appium.cjs +3 -1
- package/dist/lib/cjs/transport-desktop-cdp.cjs +7 -5
- package/dist/lib/cjs/transport-factory.cjs +2 -2
- package/dist/lib/cjs/transport-options.cjs +1 -1
- package/dist/lib/cjs/transport.cjs +1 -1
- package/dist/lib/cjs/transport.d.cts +10 -10
- package/dist/lib/cjs/vault-teardown-verdict.cjs +1 -1
- package/dist/lib/cjs/vitest/global-setup.cjs +1 -1
- package/dist/lib/cjs/vitest/global-setup.d.cts +6 -6
- package/dist/lib/cjs/webview-cdp.cjs +1 -1
- package/dist/lib/esm/adb.mjs +1 -1
- package/dist/lib/esm/app-config.d.mts +24 -24
- package/dist/lib/esm/app-config.mjs +1 -1
- package/dist/lib/esm/appium-dependencies.mjs +1 -1
- package/dist/lib/esm/appium-session-config.mjs +1 -1
- package/dist/lib/esm/connect-to-cdp.d.mts +4 -4
- package/dist/lib/esm/connect-to-cdp.mjs +1 -1
- package/dist/lib/esm/demo-vault-bootstrap.d.mts +10 -2
- package/dist/lib/esm/demo-vault-bootstrap.mjs +1 -1
- package/dist/lib/esm/desktop-only-plugin-skip-error.mjs +1 -1
- package/dist/lib/esm/device-readiness.mjs +1 -1
- package/dist/lib/esm/device-settings.mjs +1 -1
- package/dist/lib/esm/emulator-reclaim.d.mts +17 -17
- package/dist/lib/esm/emulator-reclaim.mjs +1 -1
- package/dist/lib/esm/enable-plugin.mjs +1 -1
- package/dist/lib/esm/eval-in-obsidian.d.mts +17 -12
- package/dist/lib/esm/eval-in-obsidian.mjs +1 -1
- package/dist/lib/esm/fit-screenshot.mjs +1 -1
- package/dist/lib/esm/generate-function-call.d.mts +1 -1
- package/dist/lib/esm/generate-function-call.mjs +1 -1
- package/dist/lib/esm/global-setup-core.d.mts +4 -4
- package/dist/lib/esm/global-setup-core.mjs +1 -1
- package/dist/lib/esm/index.d.mts +4 -4
- package/dist/lib/esm/index.mjs +1 -1
- package/dist/lib/esm/integration-setup-failed-error.mjs +1 -1
- package/dist/lib/esm/jest/global-setup.d.mts +6 -6
- package/dist/lib/esm/jest/global-setup.mjs +1 -1
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/esm/mobile-input.mjs +1 -1
- package/dist/lib/esm/namespace-bootstrap.mjs +13 -3
- package/dist/lib/esm/obsidian-instance.d.mts +3 -3
- package/dist/lib/esm/obsidian-instance.mjs +1 -1
- package/dist/lib/esm/obsidian-version-switch.mjs +1 -1
- package/dist/lib/esm/open-obsidian-settings-tab.d.mts +4 -4
- package/dist/lib/esm/open-obsidian-settings-tab.mjs +3 -3
- package/dist/lib/esm/owned-vault-seed.mjs +3 -3
- package/dist/lib/esm/parent-liveness.d.mts +1 -1
- package/dist/lib/esm/parent-liveness.mjs +1 -1
- package/dist/lib/esm/poll-in-obsidian.d.mts +3 -3
- package/dist/lib/esm/poll-in-obsidian.mjs +1 -1
- package/dist/lib/esm/poll-until.d.mts +4 -4
- package/dist/lib/esm/poll-until.mjs +1 -1
- package/dist/lib/esm/process-capture.d.mts +2 -2
- package/dist/lib/esm/process-capture.mjs +1 -1
- package/dist/lib/esm/process-exit-message.d.mts +2 -2
- package/dist/lib/esm/process-exit-message.mjs +1 -1
- package/dist/lib/esm/run-version-matrix.mjs +3 -3
- package/dist/lib/esm/setup-lock.d.mts +1 -1
- package/dist/lib/esm/setup-lock.mjs +1 -1
- package/dist/lib/esm/sharp-loader.d.mts +6 -6
- package/dist/lib/esm/sharp-loader.mjs +1 -1
- package/dist/lib/esm/temporary-vault.d.mts +4 -4
- package/dist/lib/esm/temporary-vault.mjs +3 -2
- package/dist/lib/esm/transport-appium.mjs +3 -1
- package/dist/lib/esm/transport-desktop-cdp.mjs +7 -5
- package/dist/lib/esm/transport-factory.mjs +2 -2
- package/dist/lib/esm/transport-options.mjs +1 -1
- package/dist/lib/esm/transport.d.mts +10 -10
- package/dist/lib/esm/vault-teardown-verdict.mjs +1 -1
- package/dist/lib/esm/vitest/global-setup.d.mts +6 -6
- package/dist/lib/esm/vitest/global-setup.mjs +1 -1
- package/dist/lib/esm/webview-cdp.mjs +1 -1
- package/package.json +1 -7
|
@@ -46,4 +46,4 @@ export {
|
|
|
46
46
|
resolveDeviceIdleTimeoutInMilliseconds,
|
|
47
47
|
resolveNetworkReadyTimeoutInMilliseconds
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RldmljZS1yZWFkaW5lc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIGhlbHBlcnMgZm9yIGRlY2lkaW5nIHdoZW4gYSBmcmVzaGx5LWJvb3RlZCBBbmRyb2lkIGVtdWxhdG9yIGlzIHJlYWR5XG4gKiBlbm91Z2ggdG8gZXN0YWJsaXNoIGFuIEFwcGl1bSBzZXNzaW9uLCBwbHVzIHJlc29sdmluZyB0aGUgdHdvIHJlYWRpbmVzcy13YWl0XG4gKiB0aW1lb3V0cyBmcm9tIHRoZSB0cmFuc3BvcnQgb3B0aW9ucy4gS2VwdCBzZXBhcmF0ZSBmcm9tIHRoZSBpbnRlZ3JhdGlvbi1vbmx5XG4gKiBgdHJhbnNwb3J0LWZhY3RvcnlgIHNvIHRoZSBwYXJzaW5nIGFuZCBkZWZhdWx0IHJlc29sdXRpb24gc3RheSB1bml0LXRlc3RhYmxlXG4gKiAodGhlIGZhY3RvcnkgaXRzZWxmIG5lZWRzIGEgcmVhbCBlbXVsYXRvciBhbmQgaXMgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKS5cbiAqXG4gKiBSZWFkaW5lc3MgaXMgdHdvIGluZGVwZW5kZW50IHF1ZXN0aW9ucywgd2FpdGVkIG9uIGluIHR3byBwaGFzZXM6XG4gKlxuICogMS4gKipJcyB0aGUgZ3Vlc3QgaWRsZT8qKiBgc3lzLmJvb3RfY29tcGxldGVkYCBmaXJlcyAqYmVmb3JlKiBpdCBpczogcGFja2FnZVxuICogICAgb3B0aW1pemF0aW9uIChgZGV4Mm9hdGApIGFuZCBzeXN0ZW0gc2VydmljZXMga2VlcCBjaHVybmluZyBhZnRlciBpdCwgc28gYVxuICogICAgc2Vzc2lvbiBlc3RhYmxpc2hlZCB0aGUgaW5zdGFudCBpdCBmaXJlcyBtYWtlcyBldmVyeSBvbmUgb2YgVWlBdXRvbWF0b3IyJ3NcbiAqICAgIHNlcmlhbGl6ZWQgYGFkYmAgcm91bmQtdHJpcHMgY29udGVuZCB3aXRoIHRoYXQgd29yayBhbmQgaW5mbGF0ZSB+M3guIEdhdGluZ1xuICogICAgdGhlIHNlc3Npb24gb24gYSBsYXRlciwgcXVpZXRlciBzaWduYWwgKHRoZSBib290IGFuaW1hdGlvbiBoYXMgc3RvcHBlZCBhbmRcbiAqICAgIHRoZSBwYWNrYWdlIG1hbmFnZXIgaXMgc2VydmluZykgbGV0cyBpdCBydW4gYWdhaW5zdCBhbiBpZGxlIGd1ZXN0IGluc3RlYWQuXG4gKiAyLiAqKkRvZXMgdGhlIGd1ZXN0IGhhdmUgYSBuZXR3b3JrPyoqIEJvdGggaWRsZSBzaWduYWxzIGFyZSB0cnVlIHdlbGwgKmJlZm9yZSpcbiAqICAgIHRoZSBkZWZhdWx0IG5ldHdvcmsgaXMgY3JlYXRlZCBhbmQgdmFsaWRhdGVkIFx1MjAxNCB0aGF0IGxhbmRzIH44MHMgaW50byBndWVzdFxuICogICAgdXB0aW1lLCB0ZW5zIG9mIHNlY29uZHMgYWZ0ZXIgdGhlIGlkbGUgZ2F0ZSBjbGVhcnMgXHUyMDE0IGFuZCBuZWl0aGVyIHNheXNcbiAqICAgIGFueXRoaW5nIGFib3V0IGNvbm5lY3Rpdml0eSwgc28gYW4gaWRsZS1vbmx5IGdhdGUgaGFuZHMgdGhlIHN1aXRlIGEgZGV2aWNlXG4gKiAgICB3aXRoIG5vIHJvdXRlLiBTZWUge0BsaW5rIGNoZWNrTmV0d29ya1ZhbGlkYXRlZH0gZm9yIHRoZSBtZWFzdXJlbWVudCBhbmRcbiAqICAgIGZvciB3aHkgdGhlIHRocmVlIG9idmlvdXMgY29ubmVjdGl2aXR5IHByb2JlcyBhcmUgYWxsIHdyb25nIGhlcmUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtb3B0aW9ucy5tanMnO1xuXG5jb25zdCBBQ1RJVkVfREVGQVVMVF9ORVRXT1JLX1BBVFRFUk4gPSAvXlxccypBY3RpdmUgZGVmYXVsdCBuZXR3b3JrOlxccyooPzxuZXR3b3JrSWQ+XFxTKykvbTtcbmNvbnN0IEJPT1RfQU5JTUFUSU9OX1NUT1BQRURfU1RBVEUgPSAnc3RvcHBlZCc7XG5jb25zdCBGSVJTVF9WQUxJREFURURfUEFUVEVSTiA9IC9cXGJmaXJzdFZhbGlkYXRlZFxccysoPzx0aW1lc3RhbXA+XFxkKykvO1xuY29uc3QgTkVUV09SS19BR0VOVF9JTkZPX01BUktFUiA9ICdOZXR3b3JrQWdlbnRJbmZveyc7XG5jb25zdCBORVRXT1JLX0lEX1BBVFRFUk4gPSAvXlxcZCskLztcbmNvbnN0IFBBQ0tBR0VfTElORV9QUkVGSVggPSAncGFja2FnZTonO1xuY29uc3QgVkFMSURBVEVEX1NDT1JFX1BPTElDWSA9ICdJU19WQUxJREFURUQnO1xuXG4vKipcbiAqIERlZmF1bHQgZm9yIHtAbGluayBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLmRldmljZUlkbGVUaW1lb3V0SW5NaWxsaXNlY29uZHN9LlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVZJQ0VfSURMRV9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDYwXzAwMDtcblxuLyoqXG4gKiBEZWZhdWx0IGZvciB7QGxpbmsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucy5uZXR3b3JrUmVhZHlUaW1lb3V0SW5NaWxsaXNlY29uZHN9LlxuICpcbiAqIFRoZSBidWRnZXQgc3RhcnRzICphZnRlciogYHN5cy5ib290X2NvbXBsZXRlZGAsIHdoZXJlIHRoZSBtZWFzdXJlZCB3YWl0IG9uIGFcbiAqIGNvbGQgV0hQWCBlbXVsYXRvciBpcyB+MzBzICh2YWxpZGF0aW9uIGF0IH44MHMgZnJvbSBib290LCBhZ2FpbnN0IGEgYm9vdCBmbGFnXG4gKiBhdCB+NTZzKS4gVGhlIGRlZmF1bHQgaXMgaGVhZHJvb20gZm9yIHRoZSBzdGFydmVkL0NJIHJlZ2ltZSB0aGUgb3RoZXIgQW5kcm9pZFxuICogYnVkZ2V0cyBhcmUgYWxyZWFkeSBzaXplZCBmb3IsIG5vdCB0aGUgZXhwZWN0ZWQgY29zdC5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTkVUV09SS19SRUFEWV9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDEyMF8wMDA7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNoZWNrRGV2aWNlSWRsZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tEZXZpY2VJZGxlUGFyYW1zIHtcbiAgLyoqXG4gIFJhdyBzdGRvdXQgb2YgYGFkYiBzaGVsbCBnZXRwcm9wIGluaXQuc3ZjLmJvb3RhbmltYC5cbiAgICovXG4gIHJlYWRvbmx5IGJvb3RBbmltYXRpb25Qcm9wZXJ0eTogc3RyaW5nO1xuXG4gIC8qKlxuICBSYXcgc3Rkb3V0IG9mIGBhZGIgc2hlbGwgY21kIHBhY2thZ2UgbGlzdCBwYWNrYWdlc2AuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTGlzdE91dHB1dDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBjaGVja05ldHdvcmtWYWxpZGF0ZWR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrTmV0d29ya1ZhbGlkYXRlZFBhcmFtcyB7XG4gIC8qKlxuICBSYXcgc3Rkb3V0IG9mIGBhZGIgc2hlbGwgZHVtcHN5cyBjb25uZWN0aXZpdHlgLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGl2aXR5T3V0cHV0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVjaWRlcyB3aGV0aGVyIGEgYm9vdGVkIGVtdWxhdG9yIGlzIGlkbGUgZW5vdWdoIHRvIHN0YXJ0IGFuIEFwcGl1bSBzZXNzaW9uLFxuICogZnJvbSB0aGUgcmF3IG91dHB1dCBvZiB0aGUgdHdvIHByb2JlIGNvbW1hbmRzLlxuICpcbiAqIFRoZSBndWVzdCBpcyBjb25zaWRlcmVkIGlkbGUgb25jZSB0aGUgYm9vdCBhbmltYXRpb24gaGFzIHN0b3BwZWQgKiphbmQqKiB0aGVcbiAqIHBhY2thZ2UgbWFuYWdlciBpcyBzZXJ2aW5nIChpdCBsaXN0cyBhdCBsZWFzdCBvbmUgcGFja2FnZSkuIEJvdGggYXJlIGJpbmFyeSxcbiAqIGxhdGVyLXRoYW4tYHN5cy5ib290X2NvbXBsZXRlZGAgc2lnbmFscywgc28gdGhpcyByZXR1cm5zIGB0cnVlYCB3ZWxsIGFmdGVyIHRoZVxuICogcHJlbWF0dXJlIGJvb3QtY29tcGxldGVkIGZsYWcgYnV0IHdpdGhvdXQgYW55IGxhdGVuY3kgdGhyZXNob2xkcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHNhbXBsZWQgcHJvYmUgb3V0cHV0cy5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBndWVzdCBpcyBpZGxlIGVub3VnaCB0byBwcm9jZWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tEZXZpY2VJZGxlKHBhcmFtczogQ2hlY2tEZXZpY2VJZGxlUGFyYW1zKTogYm9vbGVhbiB7XG4gIGNvbnN0IGlzQm9vdEFuaW1hdGlvblN0b3BwZWQgPSBwYXJhbXMuYm9vdEFuaW1hdGlvblByb3BlcnR5LnRyaW0oKSA9PT0gQk9PVF9BTklNQVRJT05fU1RPUFBFRF9TVEFURTtcbiAgY29uc3QgaXNQYWNrYWdlTWFuYWdlclJlYWR5ID0gcGFyYW1zLnBhY2thZ2VMaXN0T3V0cHV0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5zb21lKChsaW5lKSA9PiBsaW5lLnRyaW1TdGFydCgpLnN0YXJ0c1dpdGgoUEFDS0FHRV9MSU5FX1BSRUZJWCkpO1xuICByZXR1cm4gaXNCb290QW5pbWF0aW9uU3RvcHBlZCAmJiBpc1BhY2thZ2VNYW5hZ2VyUmVhZHk7XG59XG5cbi8qKlxuICogRGVjaWRlcyB3aGV0aGVyIGEgYm9vdGVkIGVtdWxhdG9yIGhhcyBhIHdvcmtpbmcgbmV0d29yaywgZnJvbSB0aGUgcmF3IG91dHB1dFxuICogb2YgYGFkYiBzaGVsbCBkdW1wc3lzIGNvbm5lY3Rpdml0eWAuXG4gKlxuICogUmVhZHkgbWVhbnMgdGhlIGR1bXAgbmFtZXMgYW4gKiphY3RpdmUgZGVmYXVsdCBuZXR3b3JrKiogKmFuZCogdGhhdCBuZXR3b3JrJ3NcbiAqIG93biBhZ2VudCBpbmZvIHJlcG9ydHMgdmFsaWRhdGlvbiBcdTIwMTQgZWl0aGVyIGFuIGBJU19WQUxJREFURURgIHNjb3JlIHBvbGljeSBvciBhXG4gKiBub24temVybyBgZmlyc3RWYWxpZGF0ZWRgIHRpbWVzdGFtcC4gQm90aCBhcmUgcmVxdWlyZWQ6IGEgZGVmYXVsdCBuZXR3b3JrXG4gKiBleGlzdHMgZm9yIHNlY29uZHMgYmVmb3JlIGl0IHZhbGlkYXRlcywgYW5kIGR1cmluZyB0aGF0IHdpbmRvdyBpdCBjYXJyaWVzIG5vXG4gKiB1c2FibGUgcm91dGUuXG4gKlxuICogV2h5IHRoaXMgbWF0dGVycyBhdCBhbGw6IHRoZSB0d28ge0BsaW5rIGNoZWNrRGV2aWNlSWRsZX0gc2lnbmFscyBhcmUgc2F0aXNmaWVkXG4gKiB3ZWxsIGJlZm9yZSB0aGlzIG9uZS4gVmFsaWRhdGlvbiBsYW5kcyB+NzAtODBzIGludG8gZ3Vlc3QgdXB0aW1lIFx1MjAxNCBtZWFzdXJlZCBvblxuICogYG9ic2lkaWFuX3Rlc3RgLCBgY3JlYXRlZCA3MDYzNSBmaXJzdFZhbGlkYXRlZCA3MjY4MWAsIGFuZCBvbiBhIGNvbGQgYm9vdCBvZlxuICogYG9ic2lkaWFuX3NjcmVlbnNob3RzYCwgYGNyZWF0ZWQgNjY4NzAgZmlyc3RWYWxpZGF0ZWQgNzk4NzBgLCB3aGljaCBhdCA4NXNcbiAqIHVwdGltZSBzdGlsbCBzY29yZWQgYEVWRVJfRVZBTFVBVEVEJklTX1VOTUVURVJFRGAgd2l0aCBubyBgSVNfVkFMSURBVEVEYCBhbmRcbiAqIG5vIGBmaXJzdFZhbGlkYXRlZGAgZmllbGQgYXQgYWxsLiBBZ2FpbnN0IGEgYm9vdCBmbGFnIGF0IH41NnMgdGhhdCBsZWF2ZXMgYVxuICogZ2FwIG9mIHRlbnMgb2Ygc2Vjb25kcyBvbiBhIGZhc3QgaG9zdCwgYW5kIG1vcmUgb24gYSBzbG93IG9uZS4gQSBzdWl0ZSBzdGFydGVkXG4gKiBpbiB0aGF0IGdhcCBkb2VzIG5vdCBtZXJlbHkgcnVuIHNsb3dseTogYSB0ZXN0IHRoYXQgcmVhY2hlcyB0aGUgbmV0d29yayBydW5zXG4gKiB0byBjb21wbGV0aW9uIGFnYWluc3QgYSBzaWxlbnRseSBlbXB0eSByZXN1bHQsIHdoaWNoIG5vIGFzc2VydGlvbiBpbnNpZGUgdGhlXG4gKiBzdWl0ZSBjYW4gdGVsbCBhcGFydCBmcm9tIGEgZ2VudWluZWx5IGVtcHR5IGZlZWQuXG4gKlxuICogYGR1bXBzeXMgY29ubmVjdGl2aXR5YCBpcyB0aGUgaG9uZXN0IHNvdXJjZSwgYW5kIHRoZSB0aHJlZSBwcm9iZXMgdGhhdCBsb29rXG4gKiBsaWtlIGJldHRlciBvbmVzIGFyZSBhbGwgd3JvbmcgXHUyMDE0IGVhY2ggb2YgdGhlbSBtaXNsZWQgYSBmdWxsIGRheSBvZlxuICogaW52ZXN0aWdhdGlvbiBiZWZvcmUgdGhpcyB3YXMgdW5kZXJzdG9vZDpcbiAqXG4gKiAtIGBpcCByb3V0ZWAgc2hvd3MgKipubyoqIGRlZmF1bHQgcm91dGUgb24gYSBoZWFsdGh5IGRldmljZTogQW5kcm9pZCB1c2VzXG4gKiAgIHBlci1uZXR3b3JrIHBvbGljeSByb3V0aW5nLCBhbmQgdGhlIHJvdXRlIGxpdmVzIGluIHRhYmxlIDEwMTUsIG5vdCBgbWFpbmAuXG4gKiAtIGBwaW5nYCBmYWlscyBvbiBhIGhlYWx0aHkgZGV2aWNlOiBRRU1VIHVzZXItbW9kZSBOQVQgZG9lcyBub3QgZm9yd2FyZCBJQ01QXG4gKiAgIG9uIFdpbmRvd3MgaG9zdHMuXG4gKiAtIGBnZXRwcm9wIG5ldC5kbnMxYCBpcyBlbXB0eSBvbiBldmVyeSBtb2Rlcm4gQW5kcm9pZDogRE5TIHdlbnQgcGVyLW5ldHdvcmtcbiAqICAgaW4gOC85LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgc2FtcGxlZCBwcm9iZSBvdXRwdXQuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgZ3Vlc3QgaGFzIGEgdmFsaWRhdGVkIGRlZmF1bHQgbmV0d29yay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrTmV0d29ya1ZhbGlkYXRlZChwYXJhbXM6IENoZWNrTmV0d29ya1ZhbGlkYXRlZFBhcmFtcyk6IGJvb2xlYW4ge1xuICBjb25zdCBhY3RpdmVOZXR3b3JrSWQgPSBBQ1RJVkVfREVGQVVMVF9ORVRXT1JLX1BBVFRFUk4uZXhlYyhwYXJhbXMuY29ubmVjdGl2aXR5T3V0cHV0KT8uZ3JvdXBzPy5bJ25ldHdvcmtJZCddID8/ICcnO1xuICBpZiAoIU5FVFdPUktfSURfUEFUVEVSTi50ZXN0KGFjdGl2ZU5ldHdvcmtJZCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBhZ2VudEluZm8gPSBleHRyYWN0TmV0d29ya0FnZW50SW5mbyhwYXJhbXMuY29ubmVjdGl2aXR5T3V0cHV0LCBhY3RpdmVOZXR3b3JrSWQpO1xuICBpZiAoYWdlbnRJbmZvLmluY2x1ZGVzKFZBTElEQVRFRF9TQ09SRV9QT0xJQ1kpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCBmaXJzdFZhbGlkYXRlZFRpbWVzdGFtcCA9IE51bWJlcihGSVJTVF9WQUxJREFURURfUEFUVEVSTi5leGVjKGFnZW50SW5mbyk/Lmdyb3Vwcz8uWyd0aW1lc3RhbXAnXSA/PyAnMCcpO1xuICByZXR1cm4gZmlyc3RWYWxpZGF0ZWRUaW1lc3RhbXAgPiAwO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwb3N0LWJvb3QgZGV2aWNlLWlkbGUgd2FpdCB0aW1lb3V0LCBhcHBseWluZyB0aGUgZGVmYXVsdCB3aGVuXG4gKiB0aGUgb3B0aW9uIGlzIG9taXR0ZWQuXG4gKlxuICogVGhpcyBib3VuZHMgaG93IGxvbmcgdGhlIGZhY3Rvcnkgd2FpdHMgZm9yIGEgZnJlc2hseS1zdGFydGVkIGVtdWxhdG9yIHRvXG4gKiBiZWNvbWUgaWRsZSAoc2VlIHtAbGluayBjaGVja0RldmljZUlkbGV9KSBiZWZvcmUgZXN0YWJsaXNoaW5nIHRoZSBzZXNzaW9uLiBBXG4gKiB2YWx1ZSBvZiBgMGAgc2tpcHMgdGhlIHdhaXQgZW50aXJlbHkuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgQW5kcm9pZCBBcHBpdW0gdHJhbnNwb3J0IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRGV2aWNlSWRsZVRpbWVvdXRJbk1pbGxpc2Vjb25kcyhcbiAgb3B0aW9uczogT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9uc1xuKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9wdGlvbnMuZGV2aWNlSWRsZVRpbWVvdXRJbk1pbGxpc2Vjb25kcyA/PyBERUZBVUxUX0RFVklDRV9JRExFX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBuZXR3b3JrLXJlYWR5IHdhaXQgdGltZW91dCwgYXBwbHlpbmcgdGhlIGRlZmF1bHQgd2hlbiB0aGUgb3B0aW9uXG4gKiBpcyBvbWl0dGVkLlxuICpcbiAqIFRoaXMgYm91bmRzIGhvdyBsb25nIHRoZSBmYWN0b3J5IHdhaXRzLCBhZnRlciB0aGUgaWRsZSBnYXRlLCBmb3IgdGhlIGd1ZXN0IHRvXG4gKiByZXBvcnQgYSB2YWxpZGF0ZWQgZGVmYXVsdCBuZXR3b3JrIChzZWUge0BsaW5rIGNoZWNrTmV0d29ya1ZhbGlkYXRlZH0pIGJlZm9yZVxuICogZXN0YWJsaXNoaW5nIHRoZSBzZXNzaW9uLiBBIHZhbHVlIG9mIGAwYCBza2lwcyB0aGUgd2FpdCBlbnRpcmVseS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBBbmRyb2lkIEFwcGl1bSB0cmFuc3BvcnQgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVOZXR3b3JrUmVhZHlUaW1lb3V0SW5NaWxsaXNlY29uZHMoXG4gIG9wdGlvbnM6IE9ic2lkaWFuQW5kcm9pZEFwcGl1bVRyYW5zcG9ydE9wdGlvbnNcbik6IG51bWJlciB7XG4gIHJldHVybiBvcHRpb25zLm5ldHdvcmtSZWFkeVRpbWVvdXRJbk1pbGxpc2Vjb25kcyA/PyBERUZBVUxUX05FVFdPUktfUkVBRFlfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFM7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGBOZXR3b3JrQWdlbnRJbmZve1x1MjAyNn1gIGVudHJ5IGZvciBvbmUgbmV0d29yayBpZCBmcm9tIGFcbiAqIGNvbm5lY3Rpdml0eSBkdW1wLlxuICpcbiAqICoqQm91bmRlZCB0byB0aGUgZW50cnkncyBvd24gbGluZSwgYW5kIHRoYXQgYm91bmQgaXMgbG9hZC1iZWFyaW5nLioqIEEgcmVhbFxuICogZHVtcCBsaXN0cyB0aGUgYWN0aXZlIG5ldHdvcmsncyBhZ2VudCB1bmRlciBgQ3VycmVudCBOZXR3b3JrczpgIGFuZCB0aGVuLCBtdWNoXG4gKiBmdXJ0aGVyIGRvd24sIGEgYE5ldHdvcmtPZmZlcmAgcGVyIHByb3ZpZGVyIFx1MjAxNCBhbmQgdGhvc2Ugb2ZmZXJzIGNhcnJ5XG4gKiBgSVNfVkFMSURBVEVEYCBpbiB0aGVpciBzY29yZSBwb2xpY2llcyB3aGF0ZXZlciB0aGUgbGl2ZSBuZXR3b3JrIGlzIGRvaW5nLiBBXG4gKiBkdW1wIHNhbXBsZWQgaGVyZSB3aXRoIGFuIHVudmFsaWRhdGVkIGRlZmF1bHQgbmV0d29yayBoZWxkIHNldmVuIHN1Y2ggb2ZmZXJzLFxuICogc28gcmVhZGluZyBwYXN0IHRoZSBhZ2VudCdzIG93biBsaW5lIHJlcG9ydHMgKmV2ZXJ5KiBkdW1wIGFzIHZhbGlkYXRlZC4gT25lXG4gKiBlbnRyeSBpcyBvbmUgbGluZSBpbiB0aGUgb2JzZXJ2ZWQgb3V0cHV0OyBhbiBlbnRyeSB0aGF0IGV2ZXIgd3JhcHMgcmVhZHMgYXNcbiAqIG5vdC1yZWFkeSwgd2hpY2ggaXMgdGhlIHNhZmUgZGlyZWN0aW9uIHRvIGJlIHdyb25nIGluLlxuICpcbiAqIEBwYXJhbSBjb25uZWN0aXZpdHlPdXRwdXQgLSBSYXcgc3Rkb3V0IG9mIGBhZGIgc2hlbGwgZHVtcHN5cyBjb25uZWN0aXZpdHlgLlxuICogQHBhcmFtIG5ldHdvcmtJZCAtIFRoZSBuZXR3b3JrIGlkIHdob3NlIGVudHJ5IHRvIGV4dHJhY3QuXG4gKiBAcmV0dXJucyBUaGUgZW50cnkncyBsaW5lLCBvciBhbiBlbXB0eSBzdHJpbmcgd2hlbiB0aGUgZHVtcCBoYXMgbm8gc3VjaCBlbnRyeS5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdE5ldHdvcmtBZ2VudEluZm8oY29ubmVjdGl2aXR5T3V0cHV0OiBzdHJpbmcsIG5ldHdvcmtJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgc3RhcnRJbmRleCA9IGNvbm5lY3Rpdml0eU91dHB1dC5pbmRleE9mKGAke05FVFdPUktfQUdFTlRfSU5GT19NQVJLRVJ9bmV0d29ya3ske25ldHdvcmtJZH19YCk7XG4gIGlmIChzdGFydEluZGV4ID09PSAtMSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IGxpbmVFbmRJbmRleCA9IGNvbm5lY3Rpdml0eU91dHB1dC5pbmRleE9mKCdcXG4nLCBzdGFydEluZGV4KTtcbiAgcmV0dXJuIGxpbmVFbmRJbmRleCA9PT0gLTFcbiAgICA/IGNvbm5lY3Rpdml0eU91dHB1dC5zbGljZShzdGFydEluZGV4KVxuICAgIDogY29ubmVjdGl2aXR5T3V0cHV0LnNsaWNlKHN0YXJ0SW5kZXgsIGxpbmVFbmRJbmRleCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUEyQkEsTUFBTSxpQ0FBaUM7QUFDdkMsTUFBTSwrQkFBK0I7QUFDckMsTUFBTSwwQkFBMEI7QUFDaEMsTUFBTSw0QkFBNEI7QUFDbEMsTUFBTSxxQkFBcUI7QUFDM0IsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSx5QkFBeUI7QUFLeEIsTUFBTSw4Q0FBOEM7QUFVcEQsTUFBTSxnREFBZ0Q7QUF1Q3RELFNBQVMsZ0JBQWdCLFFBQXdDO0FBQ3RFLFFBQU0seUJBQXlCLE9BQU8sc0JBQXNCLEtBQUssTUFBTTtBQUN2RSxRQUFNLHdCQUF3QixPQUFPLGtCQUNsQyxNQUFNLElBQUksRUFDVixLQUFLLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRSxXQUFXLG1CQUFtQixDQUFDO0FBQ2xFLFNBQU8sMEJBQTBCO0FBQ25DO0FBcUNPLFNBQVMsc0JBQXNCLFFBQThDO0FBQ2xGLFFBQU0sa0JBQWtCLCtCQUErQixLQUFLLE9BQU8sa0JBQWtCLEdBQUcsU0FBUyxXQUFXLEtBQUs7QUFDakgsTUFBSSxDQUFDLG1CQUFtQixLQUFLLGVBQWUsR0FBRztBQUM3QyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sWUFBWSx3QkFBd0IsT0FBTyxvQkFBb0IsZUFBZTtBQUNwRixNQUFJLFVBQVUsU0FBUyxzQkFBc0IsR0FBRztBQUM5QyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sMEJBQTBCLE9BQU8sd0JBQXdCLEtBQUssU0FBUyxHQUFHLFNBQVMsV0FBVyxLQUFLLEdBQUc7QUFDNUcsU0FBTywwQkFBMEI7QUFDbkM7QUFhTyxTQUFTLHVDQUNkLFNBQ1E7QUFDUixTQUFPLFFBQVEsbUNBQW1DO0FBQ3BEO0FBYU8sU0FBUyx5Q0FDZCxTQUNRO0FBQ1IsU0FBTyxRQUFRLHFDQUFxQztBQUN0RDtBQW1CQSxTQUFTLHdCQUF3QixvQkFBNEIsV0FBMkI7QUFDdEYsUUFBTSxhQUFhLG1CQUFtQixRQUFRLEdBQUcseUJBQXlCLFdBQVcsU0FBUyxHQUFHO0FBQ2pHLE1BQUksZUFBZSxJQUFJO0FBQ3JCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxlQUFlLG1CQUFtQixRQUFRLE1BQU0sVUFBVTtBQUNoRSxTQUFPLGlCQUFpQixLQUNwQixtQkFBbUIsTUFBTSxVQUFVLElBQ25DLG1CQUFtQixNQUFNLFlBQVksWUFBWTtBQUN2RDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RldmljZS1yZWFkaW5lc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIGhlbHBlcnMgZm9yIGRlY2lkaW5nIHdoZW4gYSBmcmVzaGx5LWJvb3RlZCBBbmRyb2lkIGVtdWxhdG9yIGlzIHJlYWR5XG4gKiBlbm91Z2ggdG8gZXN0YWJsaXNoIGFuIEFwcGl1bSBzZXNzaW9uLCBwbHVzIHJlc29sdmluZyB0aGUgdHdvIHJlYWRpbmVzcy13YWl0XG4gKiB0aW1lb3V0cyBmcm9tIHRoZSB0cmFuc3BvcnQgb3B0aW9ucy4gS2VwdCBzZXBhcmF0ZSBmcm9tIHRoZSBpbnRlZ3JhdGlvbi1vbmx5XG4gKiBgdHJhbnNwb3J0LWZhY3RvcnlgIHNvIHRoZSBwYXJzaW5nIGFuZCBkZWZhdWx0IHJlc29sdXRpb24gc3RheSB1bml0LXRlc3RhYmxlXG4gKiAodGhlIGZhY3RvcnkgaXRzZWxmIG5lZWRzIGEgcmVhbCBlbXVsYXRvciBhbmQgaXMgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKS5cbiAqXG4gKiBSZWFkaW5lc3MgaXMgdHdvIGluZGVwZW5kZW50IHF1ZXN0aW9ucywgd2FpdGVkIG9uIGluIHR3byBwaGFzZXM6XG4gKlxuICogMS4gKipJcyB0aGUgZ3Vlc3QgaWRsZT8qKiBgc3lzLmJvb3RfY29tcGxldGVkYCBmaXJlcyAqYmVmb3JlKiBpdCBpczogcGFja2FnZVxuICogICAgb3B0aW1pemF0aW9uIChgZGV4Mm9hdGApIGFuZCBzeXN0ZW0gc2VydmljZXMga2VlcCBjaHVybmluZyBhZnRlciBpdCwgc28gYVxuICogICAgc2Vzc2lvbiBlc3RhYmxpc2hlZCB0aGUgaW5zdGFudCBpdCBmaXJlcyBtYWtlcyBldmVyeSBvbmUgb2YgVWlBdXRvbWF0b3IyJ3NcbiAqICAgIHNlcmlhbGl6ZWQgYGFkYmAgcm91bmQtdHJpcHMgY29udGVuZCB3aXRoIHRoYXQgd29yayBhbmQgaW5mbGF0ZSB+M3guIEdhdGluZ1xuICogICAgdGhlIHNlc3Npb24gb24gYSBsYXRlciwgcXVpZXRlciBzaWduYWwgKHRoZSBib290IGFuaW1hdGlvbiBoYXMgc3RvcHBlZCBhbmRcbiAqICAgIHRoZSBwYWNrYWdlIG1hbmFnZXIgaXMgc2VydmluZykgbGV0cyBpdCBydW4gYWdhaW5zdCBhbiBpZGxlIGd1ZXN0IGluc3RlYWQuXG4gKiAyLiAqKkRvZXMgdGhlIGd1ZXN0IGhhdmUgYSBuZXR3b3JrPyoqIEJvdGggaWRsZSBzaWduYWxzIGFyZSB0cnVlIHdlbGwgKmJlZm9yZSpcbiAqICAgIHRoZSBkZWZhdWx0IG5ldHdvcmsgaXMgY3JlYXRlZCBhbmQgdmFsaWRhdGVkIFx1MjAxNCB0aGF0IGxhbmRzIH44MHMgaW50byBndWVzdFxuICogICAgdXB0aW1lLCB0ZW5zIG9mIHNlY29uZHMgYWZ0ZXIgdGhlIGlkbGUgZ2F0ZSBjbGVhcnMgXHUyMDE0IGFuZCBuZWl0aGVyIHNheXNcbiAqICAgIGFueXRoaW5nIGFib3V0IGNvbm5lY3Rpdml0eSwgc28gYW4gaWRsZS1vbmx5IGdhdGUgaGFuZHMgdGhlIHN1aXRlIGEgZGV2aWNlXG4gKiAgICB3aXRoIG5vIHJvdXRlLiBTZWUge0BsaW5rIGNoZWNrTmV0d29ya1ZhbGlkYXRlZH0gZm9yIHRoZSBtZWFzdXJlbWVudCBhbmRcbiAqICAgIGZvciB3aHkgdGhlIHRocmVlIG9idmlvdXMgY29ubmVjdGl2aXR5IHByb2JlcyBhcmUgYWxsIHdyb25nIGhlcmUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtb3B0aW9ucy5tanMnO1xuXG5jb25zdCBBQ1RJVkVfREVGQVVMVF9ORVRXT1JLX1BBVFRFUk4gPSAvXlxccypBY3RpdmUgZGVmYXVsdCBuZXR3b3JrOlxccyooPzxuZXR3b3JrSWQ+XFxTKykvbTtcbmNvbnN0IEJPT1RfQU5JTUFUSU9OX1NUT1BQRURfU1RBVEUgPSAnc3RvcHBlZCc7XG5jb25zdCBGSVJTVF9WQUxJREFURURfUEFUVEVSTiA9IC9cXGJmaXJzdFZhbGlkYXRlZFxccysoPzx0aW1lc3RhbXA+XFxkKykvO1xuY29uc3QgTkVUV09SS19BR0VOVF9JTkZPX01BUktFUiA9ICdOZXR3b3JrQWdlbnRJbmZveyc7XG5jb25zdCBORVRXT1JLX0lEX1BBVFRFUk4gPSAvXlxcZCskLztcbmNvbnN0IFBBQ0tBR0VfTElORV9QUkVGSVggPSAncGFja2FnZTonO1xuY29uc3QgVkFMSURBVEVEX1NDT1JFX1BPTElDWSA9ICdJU19WQUxJREFURUQnO1xuXG4vKipcbiAqIERlZmF1bHQgZm9yIHtAbGluayBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLmRldmljZUlkbGVUaW1lb3V0SW5NaWxsaXNlY29uZHN9LlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVZJQ0VfSURMRV9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDYwXzAwMDtcblxuLyoqXG4gKiBEZWZhdWx0IGZvciB7QGxpbmsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucy5uZXR3b3JrUmVhZHlUaW1lb3V0SW5NaWxsaXNlY29uZHN9LlxuICpcbiAqIFRoZSBidWRnZXQgc3RhcnRzICphZnRlciogYHN5cy5ib290X2NvbXBsZXRlZGAsIHdoZXJlIHRoZSBtZWFzdXJlZCB3YWl0IG9uIGFcbiAqIGNvbGQgV0hQWCBlbXVsYXRvciBpcyB+MzBzICh2YWxpZGF0aW9uIGF0IH44MHMgZnJvbSBib290LCBhZ2FpbnN0IGEgYm9vdCBmbGFnXG4gKiBhdCB+NTZzKS4gVGhlIGRlZmF1bHQgaXMgaGVhZHJvb20gZm9yIHRoZSBzdGFydmVkL0NJIHJlZ2ltZSB0aGUgb3RoZXIgQW5kcm9pZFxuICogYnVkZ2V0cyBhcmUgYWxyZWFkeSBzaXplZCBmb3IsIG5vdCB0aGUgZXhwZWN0ZWQgY29zdC5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTkVUV09SS19SRUFEWV9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDEyMF8wMDA7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNoZWNrRGV2aWNlSWRsZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tEZXZpY2VJZGxlUGFyYW1zIHtcbiAgLyoqXG4gIFJhdyBzdGRvdXQgb2YgYGFkYiBzaGVsbCBnZXRwcm9wIGluaXQuc3ZjLmJvb3RhbmltYC5cbiAgICovXG4gIHJlYWRvbmx5IGJvb3RBbmltYXRpb25Qcm9wZXJ0eTogc3RyaW5nO1xuXG4gIC8qKlxuICBSYXcgc3Rkb3V0IG9mIGBhZGIgc2hlbGwgY21kIHBhY2thZ2UgbGlzdCBwYWNrYWdlc2AuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTGlzdE91dHB1dDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBjaGVja05ldHdvcmtWYWxpZGF0ZWR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrTmV0d29ya1ZhbGlkYXRlZFBhcmFtcyB7XG4gIC8qKlxuICBSYXcgc3Rkb3V0IG9mIGBhZGIgc2hlbGwgZHVtcHN5cyBjb25uZWN0aXZpdHlgLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGl2aXR5T3V0cHV0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVjaWRlcyB3aGV0aGVyIGEgYm9vdGVkIGVtdWxhdG9yIGlzIGlkbGUgZW5vdWdoIHRvIHN0YXJ0IGFuIEFwcGl1bSBzZXNzaW9uLFxuICogZnJvbSB0aGUgcmF3IG91dHB1dCBvZiB0aGUgdHdvIHByb2JlIGNvbW1hbmRzLlxuICpcbiAqIFRoZSBndWVzdCBpcyBjb25zaWRlcmVkIGlkbGUgb25jZSB0aGUgYm9vdCBhbmltYXRpb24gaGFzIHN0b3BwZWQgKiphbmQqKiB0aGVcbiAqIHBhY2thZ2UgbWFuYWdlciBpcyBzZXJ2aW5nIChpdCBsaXN0cyBhdCBsZWFzdCBvbmUgcGFja2FnZSkuIEJvdGggYXJlIGJpbmFyeSxcbiAqIGxhdGVyLXRoYW4tYHN5cy5ib290X2NvbXBsZXRlZGAgc2lnbmFscywgc28gdGhpcyByZXR1cm5zIGB0cnVlYCB3ZWxsIGFmdGVyIHRoZVxuICogcHJlbWF0dXJlIGJvb3QtY29tcGxldGVkIGZsYWcgYnV0IHdpdGhvdXQgYW55IGxhdGVuY3kgdGhyZXNob2xkcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHNhbXBsZWQgcHJvYmUgb3V0cHV0cy5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBndWVzdCBpcyBpZGxlIGVub3VnaCB0byBwcm9jZWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tEZXZpY2VJZGxlKHBhcmFtczogQ2hlY2tEZXZpY2VJZGxlUGFyYW1zKTogYm9vbGVhbiB7XG4gIGNvbnN0IGlzQm9vdEFuaW1hdGlvblN0b3BwZWQgPSBwYXJhbXMuYm9vdEFuaW1hdGlvblByb3BlcnR5LnRyaW0oKSA9PT0gQk9PVF9BTklNQVRJT05fU1RPUFBFRF9TVEFURTtcbiAgY29uc3QgaXNQYWNrYWdlTWFuYWdlclJlYWR5ID0gcGFyYW1zLnBhY2thZ2VMaXN0T3V0cHV0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5zb21lKChsaW5lKSA9PiBsaW5lLnRyaW1TdGFydCgpLnN0YXJ0c1dpdGgoUEFDS0FHRV9MSU5FX1BSRUZJWCkpO1xuICByZXR1cm4gaXNCb290QW5pbWF0aW9uU3RvcHBlZCAmJiBpc1BhY2thZ2VNYW5hZ2VyUmVhZHk7XG59XG5cbi8qKlxuICogRGVjaWRlcyB3aGV0aGVyIGEgYm9vdGVkIGVtdWxhdG9yIGhhcyBhIHdvcmtpbmcgbmV0d29yaywgZnJvbSB0aGUgcmF3IG91dHB1dFxuICogb2YgYGFkYiBzaGVsbCBkdW1wc3lzIGNvbm5lY3Rpdml0eWAuXG4gKlxuICogUmVhZHkgbWVhbnMgdGhlIGR1bXAgbmFtZXMgYW4gKiphY3RpdmUgZGVmYXVsdCBuZXR3b3JrKiogKmFuZCogdGhhdCBuZXR3b3JrJ3NcbiAqIG93biBhZ2VudCBpbmZvIHJlcG9ydHMgdmFsaWRhdGlvbiBcdTIwMTQgZWl0aGVyIGFuIGBJU19WQUxJREFURURgIHNjb3JlIHBvbGljeSBvciBhXG4gKiBub24temVybyBgZmlyc3RWYWxpZGF0ZWRgIHRpbWVzdGFtcC4gQm90aCBhcmUgcmVxdWlyZWQ6IGEgZGVmYXVsdCBuZXR3b3JrXG4gKiBleGlzdHMgZm9yIHNlY29uZHMgYmVmb3JlIGl0IHZhbGlkYXRlcywgYW5kIGR1cmluZyB0aGF0IHdpbmRvdyBpdCBjYXJyaWVzIG5vXG4gKiB1c2FibGUgcm91dGUuXG4gKlxuICogV2h5IHRoaXMgbWF0dGVycyBhdCBhbGw6IHRoZSB0d28ge0BsaW5rIGNoZWNrRGV2aWNlSWRsZX0gc2lnbmFscyBhcmUgc2F0aXNmaWVkXG4gKiB3ZWxsIGJlZm9yZSB0aGlzIG9uZS4gVmFsaWRhdGlvbiBsYW5kcyB+NzAtODBzIGludG8gZ3Vlc3QgdXB0aW1lIFx1MjAxNCBtZWFzdXJlZCBvblxuICogYG9ic2lkaWFuX3Rlc3RgLCBgY3JlYXRlZCA3MDYzNSBmaXJzdFZhbGlkYXRlZCA3MjY4MWAsIGFuZCBvbiBhIGNvbGQgYm9vdCBvZlxuICogYG9ic2lkaWFuX3NjcmVlbnNob3RzYCwgYGNyZWF0ZWQgNjY4NzAgZmlyc3RWYWxpZGF0ZWQgNzk4NzBgLCB3aGljaCBhdCA4NXNcbiAqIHVwdGltZSBzdGlsbCBzY29yZWQgYEVWRVJfRVZBTFVBVEVEJklTX1VOTUVURVJFRGAgd2l0aCBubyBgSVNfVkFMSURBVEVEYCBhbmRcbiAqIG5vIGBmaXJzdFZhbGlkYXRlZGAgZmllbGQgYXQgYWxsLiBBZ2FpbnN0IGEgYm9vdCBmbGFnIGF0IH41NnMgdGhhdCBsZWF2ZXMgYVxuICogZ2FwIG9mIHRlbnMgb2Ygc2Vjb25kcyBvbiBhIGZhc3QgaG9zdCwgYW5kIG1vcmUgb24gYSBzbG93IG9uZS4gQSBzdWl0ZSBzdGFydGVkXG4gKiBpbiB0aGF0IGdhcCBkb2VzIG5vdCBtZXJlbHkgcnVuIHNsb3dseTogYSB0ZXN0IHRoYXQgcmVhY2hlcyB0aGUgbmV0d29yayBydW5zXG4gKiB0byBjb21wbGV0aW9uIGFnYWluc3QgYSBzaWxlbnRseSBlbXB0eSByZXN1bHQsIHdoaWNoIG5vIGFzc2VydGlvbiBpbnNpZGUgdGhlXG4gKiBzdWl0ZSBjYW4gdGVsbCBhcGFydCBmcm9tIGEgZ2VudWluZWx5IGVtcHR5IGZlZWQuXG4gKlxuICogYGR1bXBzeXMgY29ubmVjdGl2aXR5YCBpcyB0aGUgaG9uZXN0IHNvdXJjZSwgYW5kIHRoZSB0aHJlZSBwcm9iZXMgdGhhdCBsb29rXG4gKiBsaWtlIGJldHRlciBvbmVzIGFyZSBhbGwgd3JvbmcgXHUyMDE0IGVhY2ggb2YgdGhlbSBtaXNsZWQgYSBmdWxsIGRheSBvZlxuICogaW52ZXN0aWdhdGlvbiBiZWZvcmUgdGhpcyB3YXMgdW5kZXJzdG9vZDpcbiAqXG4gKiAtIGBpcCByb3V0ZWAgc2hvd3MgKipubyoqIGRlZmF1bHQgcm91dGUgb24gYSBoZWFsdGh5IGRldmljZTogQW5kcm9pZCB1c2VzXG4gKiAgIHBlci1uZXR3b3JrIHBvbGljeSByb3V0aW5nLCBhbmQgdGhlIHJvdXRlIGxpdmVzIGluIHRhYmxlIDEwMTUsIG5vdCBgbWFpbmAuXG4gKiAtIGBwaW5nYCBmYWlscyBvbiBhIGhlYWx0aHkgZGV2aWNlOiBRRU1VIHVzZXItbW9kZSBOQVQgZG9lcyBub3QgZm9yd2FyZCBJQ01QXG4gKiAgIG9uIFdpbmRvd3MgaG9zdHMuXG4gKiAtIGBnZXRwcm9wIG5ldC5kbnMxYCBpcyBlbXB0eSBvbiBldmVyeSBtb2Rlcm4gQW5kcm9pZDogRE5TIHdlbnQgcGVyLW5ldHdvcmtcbiAqICAgaW4gOC85LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgc2FtcGxlZCBwcm9iZSBvdXRwdXQuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgZ3Vlc3QgaGFzIGEgdmFsaWRhdGVkIGRlZmF1bHQgbmV0d29yay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrTmV0d29ya1ZhbGlkYXRlZChwYXJhbXM6IENoZWNrTmV0d29ya1ZhbGlkYXRlZFBhcmFtcyk6IGJvb2xlYW4ge1xuICBjb25zdCBhY3RpdmVOZXR3b3JrSWQgPSBBQ1RJVkVfREVGQVVMVF9ORVRXT1JLX1BBVFRFUk4uZXhlYyhwYXJhbXMuY29ubmVjdGl2aXR5T3V0cHV0KT8uZ3JvdXBzPy5bJ25ldHdvcmtJZCddID8/ICcnO1xuICBpZiAoIU5FVFdPUktfSURfUEFUVEVSTi50ZXN0KGFjdGl2ZU5ldHdvcmtJZCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBhZ2VudEluZm8gPSBleHRyYWN0TmV0d29ya0FnZW50SW5mbyhwYXJhbXMuY29ubmVjdGl2aXR5T3V0cHV0LCBhY3RpdmVOZXR3b3JrSWQpO1xuICBpZiAoYWdlbnRJbmZvLmluY2x1ZGVzKFZBTElEQVRFRF9TQ09SRV9QT0xJQ1kpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCBmaXJzdFZhbGlkYXRlZFRpbWVzdGFtcCA9IE51bWJlcihGSVJTVF9WQUxJREFURURfUEFUVEVSTi5leGVjKGFnZW50SW5mbyk/Lmdyb3Vwcz8uWyd0aW1lc3RhbXAnXSA/PyAnMCcpO1xuICByZXR1cm4gZmlyc3RWYWxpZGF0ZWRUaW1lc3RhbXAgPiAwO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwb3N0LWJvb3QgZGV2aWNlLWlkbGUgd2FpdCB0aW1lb3V0LCBhcHBseWluZyB0aGUgZGVmYXVsdCB3aGVuXG4gKiB0aGUgb3B0aW9uIGlzIG9taXR0ZWQuXG4gKlxuICogVGhpcyBib3VuZHMgaG93IGxvbmcgdGhlIGZhY3Rvcnkgd2FpdHMgZm9yIGEgZnJlc2hseS1zdGFydGVkIGVtdWxhdG9yIHRvXG4gKiBiZWNvbWUgaWRsZSAoc2VlIHtAbGluayBjaGVja0RldmljZUlkbGV9KSBiZWZvcmUgZXN0YWJsaXNoaW5nIHRoZSBzZXNzaW9uLiBBXG4gKiB2YWx1ZSBvZiBgMGAgc2tpcHMgdGhlIHdhaXQgZW50aXJlbHkuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgQW5kcm9pZCBBcHBpdW0gdHJhbnNwb3J0IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRGV2aWNlSWRsZVRpbWVvdXRJbk1pbGxpc2Vjb25kcyhcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoIC0tIFBlcm1hbmVudDogYE9ic2lkaWFuQW5kcm9pZEFwcGl1bVRyYW5zcG9ydE9wdGlvbnNgIGlzIG9uZSB0cmFuc3BvcnQgb3B0aW9ucyBiYWcgcmVhZCBieSBzaXggaGVscGVycywgc28gbm8gcGVyLW93bmVyIG5hbWUgY2FuIHNhdGlzZnkgdGhlbSBhbGwuXG4gIG9wdGlvbnM6IE9ic2lkaWFuQW5kcm9pZEFwcGl1bVRyYW5zcG9ydE9wdGlvbnNcbik6IG51bWJlciB7XG4gIHJldHVybiBvcHRpb25zLmRldmljZUlkbGVUaW1lb3V0SW5NaWxsaXNlY29uZHMgPz8gREVGQVVMVF9ERVZJQ0VfSURMRV9USU1FT1VUX0lOX01JTExJU0VDT05EUztcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgbmV0d29yay1yZWFkeSB3YWl0IHRpbWVvdXQsIGFwcGx5aW5nIHRoZSBkZWZhdWx0IHdoZW4gdGhlIG9wdGlvblxuICogaXMgb21pdHRlZC5cbiAqXG4gKiBUaGlzIGJvdW5kcyBob3cgbG9uZyB0aGUgZmFjdG9yeSB3YWl0cywgYWZ0ZXIgdGhlIGlkbGUgZ2F0ZSwgZm9yIHRoZSBndWVzdCB0b1xuICogcmVwb3J0IGEgdmFsaWRhdGVkIGRlZmF1bHQgbmV0d29yayAoc2VlIHtAbGluayBjaGVja05ldHdvcmtWYWxpZGF0ZWR9KSBiZWZvcmVcbiAqIGVzdGFibGlzaGluZyB0aGUgc2Vzc2lvbi4gQSB2YWx1ZSBvZiBgMGAgc2tpcHMgdGhlIHdhaXQgZW50aXJlbHkuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgQW5kcm9pZCBBcHBpdW0gdHJhbnNwb3J0IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTmV0d29ya1JlYWR5VGltZW91dEluTWlsbGlzZWNvbmRzKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2ggLS0gUGVybWFuZW50OiBgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9uc2AgaXMgb25lIHRyYW5zcG9ydCBvcHRpb25zIGJhZyByZWFkIGJ5IHNpeCBoZWxwZXJzLCBzbyBubyBwZXItb3duZXIgbmFtZSBjYW4gc2F0aXNmeSB0aGVtIGFsbC5cbiAgb3B0aW9uczogT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9uc1xuKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9wdGlvbnMubmV0d29ya1JlYWR5VGltZW91dEluTWlsbGlzZWNvbmRzID8/IERFRkFVTFRfTkVUV09SS19SRUFEWV9USU1FT1VUX0lOX01JTExJU0VDT05EUztcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgYE5ldHdvcmtBZ2VudEluZm97XHUyMDI2fWAgZW50cnkgZm9yIG9uZSBuZXR3b3JrIGlkIGZyb20gYVxuICogY29ubmVjdGl2aXR5IGR1bXAuXG4gKlxuICogKipCb3VuZGVkIHRvIHRoZSBlbnRyeSdzIG93biBsaW5lLCBhbmQgdGhhdCBib3VuZCBpcyBsb2FkLWJlYXJpbmcuKiogQSByZWFsXG4gKiBkdW1wIGxpc3RzIHRoZSBhY3RpdmUgbmV0d29yaydzIGFnZW50IHVuZGVyIGBDdXJyZW50IE5ldHdvcmtzOmAgYW5kIHRoZW4sIG11Y2hcbiAqIGZ1cnRoZXIgZG93biwgYSBgTmV0d29ya09mZmVyYCBwZXIgcHJvdmlkZXIgXHUyMDE0IGFuZCB0aG9zZSBvZmZlcnMgY2FycnlcbiAqIGBJU19WQUxJREFURURgIGluIHRoZWlyIHNjb3JlIHBvbGljaWVzIHdoYXRldmVyIHRoZSBsaXZlIG5ldHdvcmsgaXMgZG9pbmcuIEFcbiAqIGR1bXAgc2FtcGxlZCBoZXJlIHdpdGggYW4gdW52YWxpZGF0ZWQgZGVmYXVsdCBuZXR3b3JrIGhlbGQgc2V2ZW4gc3VjaCBvZmZlcnMsXG4gKiBzbyByZWFkaW5nIHBhc3QgdGhlIGFnZW50J3Mgb3duIGxpbmUgcmVwb3J0cyAqZXZlcnkqIGR1bXAgYXMgdmFsaWRhdGVkLiBPbmVcbiAqIGVudHJ5IGlzIG9uZSBsaW5lIGluIHRoZSBvYnNlcnZlZCBvdXRwdXQ7IGFuIGVudHJ5IHRoYXQgZXZlciB3cmFwcyByZWFkcyBhc1xuICogbm90LXJlYWR5LCB3aGljaCBpcyB0aGUgc2FmZSBkaXJlY3Rpb24gdG8gYmUgd3JvbmcgaW4uXG4gKlxuICogQHBhcmFtIGNvbm5lY3Rpdml0eU91dHB1dCAtIFJhdyBzdGRvdXQgb2YgYGFkYiBzaGVsbCBkdW1wc3lzIGNvbm5lY3Rpdml0eWAuXG4gKiBAcGFyYW0gbmV0d29ya0lkIC0gVGhlIG5ldHdvcmsgaWQgd2hvc2UgZW50cnkgdG8gZXh0cmFjdC5cbiAqIEByZXR1cm5zIFRoZSBlbnRyeSdzIGxpbmUsIG9yIGFuIGVtcHR5IHN0cmluZyB3aGVuIHRoZSBkdW1wIGhhcyBubyBzdWNoIGVudHJ5LlxuICovXG5mdW5jdGlvbiBleHRyYWN0TmV0d29ya0FnZW50SW5mbyhjb25uZWN0aXZpdHlPdXRwdXQ6IHN0cmluZywgbmV0d29ya0lkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBzdGFydEluZGV4ID0gY29ubmVjdGl2aXR5T3V0cHV0LmluZGV4T2YoYCR7TkVUV09SS19BR0VOVF9JTkZPX01BUktFUn1uZXR3b3JreyR7bmV0d29ya0lkfX1gKTtcbiAgaWYgKHN0YXJ0SW5kZXggPT09IC0xKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgbGluZUVuZEluZGV4ID0gY29ubmVjdGl2aXR5T3V0cHV0LmluZGV4T2YoJ1xcbicsIHN0YXJ0SW5kZXgpO1xuICByZXR1cm4gbGluZUVuZEluZGV4ID09PSAtMVxuICAgID8gY29ubmVjdGl2aXR5T3V0cHV0LnNsaWNlKHN0YXJ0SW5kZXgpXG4gICAgOiBjb25uZWN0aXZpdHlPdXRwdXQuc2xpY2Uoc3RhcnRJbmRleCwgbGluZUVuZEluZGV4KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQTJCQSxNQUFNLGlDQUFpQztBQUN2QyxNQUFNLCtCQUErQjtBQUNyQyxNQUFNLDBCQUEwQjtBQUNoQyxNQUFNLDRCQUE0QjtBQUNsQyxNQUFNLHFCQUFxQjtBQUMzQixNQUFNLHNCQUFzQjtBQUM1QixNQUFNLHlCQUF5QjtBQUt4QixNQUFNLDhDQUE4QztBQVVwRCxNQUFNLGdEQUFnRDtBQXVDdEQsU0FBUyxnQkFBZ0IsUUFBd0M7QUFDdEUsUUFBTSx5QkFBeUIsT0FBTyxzQkFBc0IsS0FBSyxNQUFNO0FBQ3ZFLFFBQU0sd0JBQXdCLE9BQU8sa0JBQ2xDLE1BQU0sSUFBSSxFQUNWLEtBQUssQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFLFdBQVcsbUJBQW1CLENBQUM7QUFDbEUsU0FBTywwQkFBMEI7QUFDbkM7QUFxQ08sU0FBUyxzQkFBc0IsUUFBOEM7QUFDbEYsUUFBTSxrQkFBa0IsK0JBQStCLEtBQUssT0FBTyxrQkFBa0IsR0FBRyxTQUFTLFdBQVcsS0FBSztBQUNqSCxNQUFJLENBQUMsbUJBQW1CLEtBQUssZUFBZSxHQUFHO0FBQzdDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxZQUFZLHdCQUF3QixPQUFPLG9CQUFvQixlQUFlO0FBQ3BGLE1BQUksVUFBVSxTQUFTLHNCQUFzQixHQUFHO0FBQzlDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSwwQkFBMEIsT0FBTyx3QkFBd0IsS0FBSyxTQUFTLEdBQUcsU0FBUyxXQUFXLEtBQUssR0FBRztBQUM1RyxTQUFPLDBCQUEwQjtBQUNuQztBQWFPLFNBQVMsdUNBRWQsU0FDUTtBQUNSLFNBQU8sUUFBUSxtQ0FBbUM7QUFDcEQ7QUFhTyxTQUFTLHlDQUVkLFNBQ1E7QUFDUixTQUFPLFFBQVEscUNBQXFDO0FBQ3REO0FBbUJBLFNBQVMsd0JBQXdCLG9CQUE0QixXQUEyQjtBQUN0RixRQUFNLGFBQWEsbUJBQW1CLFFBQVEsR0FBRyx5QkFBeUIsV0FBVyxTQUFTLEdBQUc7QUFDakcsTUFBSSxlQUFlLElBQUk7QUFDckIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGVBQWUsbUJBQW1CLFFBQVEsTUFBTSxVQUFVO0FBQ2hFLFNBQU8saUJBQWlCLEtBQ3BCLG1CQUFtQixNQUFNLFVBQVUsSUFDbkMsbUJBQW1CLE1BQU0sWUFBWSxZQUFZO0FBQ3ZEOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -64,4 +64,4 @@ export {
|
|
|
64
64
|
withSoftKeyboardEnabled,
|
|
65
65
|
writeDeviceSetting
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RldmljZS1zZXR0aW5ncy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlYWRzIGFuZCB3cml0ZXMgQW5kcm9pZCBkZXZpY2Ugc2V0dGluZ3MgXHUyMDE0IGFuZCB3cmFwcyB0aGUgb25lIHNldHRpbmcgYVxuICogc2NyZWVuc2hvdCBzdWl0ZSBoYXMgdG8gY2hhbmdlLlxuICpcbiAqIFRoZSBzY3JlZW5zaG90IEFWRHMgYXJlIGJ1aWx0IGBody5rZXlib2FyZD15ZXNgLCBzbyBBbmRyb2lkIHN1cHByZXNzZXMgdGhlXG4gKiBvbi1zY3JlZW4ga2V5Ym9hcmQgZXZlbiB3aGVyZSB0aGUgcGFnZSBhc2tzIGZvciBvbmUuIGBzaG93X2ltZV93aXRoX2hhcmRfa2V5Ym9hcmRgXG4gKiBpcyB3aGF0IHR1cm5zIGl0IGJhY2sgb24uIHtAbGluayB3aXRoU29mdEtleWJvYXJkRW5hYmxlZH0gZmxpcHMgaXQsIHJ1bnMgdGhlXG4gKiB3b3JrLCBhbmQgcHV0cyB0aGUgZGV2aWNlIGJhY2sgZXhhY3RseSBhcyBpdCBmb3VuZCBpdCBcdTIwMTQgaW5jbHVkaW5nIHJlc3RvcmluZyBhXG4gKiBzZXR0aW5nIHRoYXQgaGFkIG5ldmVyIGJlZW4gd3JpdHRlbiwgd2hpY2ggdGFrZXMgYSBkZWxldGUgcmF0aGVyIHRoYW4gYSB3cml0ZVxuICogKHNlZSBgZGV2aWNlLXNldHRpbmctcmVzdG9yZWApLlxuICpcbiAqIEV2ZXJ5IGZ1bmN0aW9uIGhlcmUgc2hlbGxzIG91dCwgc28gdGhlIHdob2xlIG1vZHVsZSBpcyBpbnRlZ3JhdGlvbi10aW1lIGNvZGU7XG4gKiB0aGUgcmVzdG9yZSBkZWNpc2lvbiBhbmQgdGhlIGFyZ3VtZW50IGxpc3QgaXQgZGVwZW5kcyBvbiBhcmUgdW5pdC10ZXN0ZWQgaW5cbiAqIHRoZWlyIG93biBtb2R1bGVzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIGNvZGUgKHNoZWxscyBvdXQgdG8gYSByZWFsIGRldmljZSkgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgRGV2aWNlU2V0dGluZ05hbWVzcGFjZSB9IGZyb20gJy4vZGV2aWNlLXNldHRpbmdzLWNvbW1hbmQubWpzJztcblxuaW1wb3J0IHsgcnVuQWRiVGV4dCB9IGZyb20gJy4vYWRiLm1qcyc7XG5pbXBvcnQge1xuICBEZXZpY2VTZXR0aW5nUmVzdG9yZUtpbmQsXG4gIHJlc29sdmVEZXZpY2VTZXR0aW5nUmVzdG9yZVxufSBmcm9tICcuL2RldmljZS1zZXR0aW5nLXJlc3RvcmUubWpzJztcbmltcG9ydCB7XG4gIGJ1aWxkRGV2aWNlU2V0dGluZ3NDb21tYW5kQXJndW1lbnRzLFxuICBEZXZpY2VTZXR0aW5nVmVyYlxufSBmcm9tICcuL2RldmljZS1zZXR0aW5ncy1jb21tYW5kLm1qcyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGRlbGV0ZURldmljZVNldHRpbmd9IGFuZCB7QGxpbmsgcmVhZERldmljZVNldHRpbmd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZVNldHRpbmdQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGRldmljZSB0byBhZGRyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNldHRpbmcncyBuYW1lIHdpdGhpbiB7QGxpbmsgbmFtZXNwYWNlfSwgZS5nLiBgc2hvd19pbWVfd2l0aF9oYXJkX2tleWJvYXJkYC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNldHRpbmdzIG5hbWVzcGFjZSB0aGUgbmFtZSBsaXZlcyBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQge0BsaW5rIERldmljZVNldHRpbmdOYW1lc3BhY2UuU2VjdXJlfVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlPzogRGV2aWNlU2V0dGluZ05hbWVzcGFjZTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgd2l0aFNvZnRLZXlib2FyZEVuYWJsZWR9LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFdoYXQgdGhlIHdyYXBwZWQgd29yayByZXR1cm5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhTb2Z0S2V5Ym9hcmRFbmFibGVkUGFyYW1zPFQ+
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RldmljZS1zZXR0aW5ncy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlYWRzIGFuZCB3cml0ZXMgQW5kcm9pZCBkZXZpY2Ugc2V0dGluZ3MgXHUyMDE0IGFuZCB3cmFwcyB0aGUgb25lIHNldHRpbmcgYVxuICogc2NyZWVuc2hvdCBzdWl0ZSBoYXMgdG8gY2hhbmdlLlxuICpcbiAqIFRoZSBzY3JlZW5zaG90IEFWRHMgYXJlIGJ1aWx0IGBody5rZXlib2FyZD15ZXNgLCBzbyBBbmRyb2lkIHN1cHByZXNzZXMgdGhlXG4gKiBvbi1zY3JlZW4ga2V5Ym9hcmQgZXZlbiB3aGVyZSB0aGUgcGFnZSBhc2tzIGZvciBvbmUuIGBzaG93X2ltZV93aXRoX2hhcmRfa2V5Ym9hcmRgXG4gKiBpcyB3aGF0IHR1cm5zIGl0IGJhY2sgb24uIHtAbGluayB3aXRoU29mdEtleWJvYXJkRW5hYmxlZH0gZmxpcHMgaXQsIHJ1bnMgdGhlXG4gKiB3b3JrLCBhbmQgcHV0cyB0aGUgZGV2aWNlIGJhY2sgZXhhY3RseSBhcyBpdCBmb3VuZCBpdCBcdTIwMTQgaW5jbHVkaW5nIHJlc3RvcmluZyBhXG4gKiBzZXR0aW5nIHRoYXQgaGFkIG5ldmVyIGJlZW4gd3JpdHRlbiwgd2hpY2ggdGFrZXMgYSBkZWxldGUgcmF0aGVyIHRoYW4gYSB3cml0ZVxuICogKHNlZSBgZGV2aWNlLXNldHRpbmctcmVzdG9yZWApLlxuICpcbiAqIEV2ZXJ5IGZ1bmN0aW9uIGhlcmUgc2hlbGxzIG91dCwgc28gdGhlIHdob2xlIG1vZHVsZSBpcyBpbnRlZ3JhdGlvbi10aW1lIGNvZGU7XG4gKiB0aGUgcmVzdG9yZSBkZWNpc2lvbiBhbmQgdGhlIGFyZ3VtZW50IGxpc3QgaXQgZGVwZW5kcyBvbiBhcmUgdW5pdC10ZXN0ZWQgaW5cbiAqIHRoZWlyIG93biBtb2R1bGVzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIGNvZGUgKHNoZWxscyBvdXQgdG8gYSByZWFsIGRldmljZSkgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgRGV2aWNlU2V0dGluZ05hbWVzcGFjZSB9IGZyb20gJy4vZGV2aWNlLXNldHRpbmdzLWNvbW1hbmQubWpzJztcblxuaW1wb3J0IHsgcnVuQWRiVGV4dCB9IGZyb20gJy4vYWRiLm1qcyc7XG5pbXBvcnQge1xuICBEZXZpY2VTZXR0aW5nUmVzdG9yZUtpbmQsXG4gIHJlc29sdmVEZXZpY2VTZXR0aW5nUmVzdG9yZVxufSBmcm9tICcuL2RldmljZS1zZXR0aW5nLXJlc3RvcmUubWpzJztcbmltcG9ydCB7XG4gIGJ1aWxkRGV2aWNlU2V0dGluZ3NDb21tYW5kQXJndW1lbnRzLFxuICBEZXZpY2VTZXR0aW5nVmVyYlxufSBmcm9tICcuL2RldmljZS1zZXR0aW5ncy1jb21tYW5kLm1qcyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGRlbGV0ZURldmljZVNldHRpbmd9IGFuZCB7QGxpbmsgcmVhZERldmljZVNldHRpbmd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZVNldHRpbmdQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGRldmljZSB0byBhZGRyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNldHRpbmcncyBuYW1lIHdpdGhpbiB7QGxpbmsgbmFtZXNwYWNlfSwgZS5nLiBgc2hvd19pbWVfd2l0aF9oYXJkX2tleWJvYXJkYC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNldHRpbmdzIG5hbWVzcGFjZSB0aGUgbmFtZSBsaXZlcyBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQge0BsaW5rIERldmljZVNldHRpbmdOYW1lc3BhY2UuU2VjdXJlfVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlPzogRGV2aWNlU2V0dGluZ05hbWVzcGFjZTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgd2l0aFNvZnRLZXlib2FyZEVuYWJsZWR9LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFdoYXQgdGhlIHdyYXBwZWQgd29yayByZXR1cm5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhTb2Z0S2V5Ym9hcmRFbmFibGVkUGFyYW1zPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSB3b3JrIHRvIHJ1biB3aGlsZSB0aGUgb24tc2NyZWVuIGtleWJvYXJkIGlzIHBlcm1pdHRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNhbGxiYWNrOiAodGhpczogdm9pZCkgPT4gUHJvbWlzZTxUPjtcblxuICAvKipcbiAgICogVGhlIGRldmljZSB0byBhZGRyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgd3JpdGVEZXZpY2VTZXR0aW5nfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXcml0ZURldmljZVNldHRpbmdQYXJhbXMgZXh0ZW5kcyBEZXZpY2VTZXR0aW5nUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSB0byB3cml0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHNldHRpbmcgZGVjaWRpbmcgd2hldGhlciBBbmRyb2lkIGRyYXdzIGEga2V5Ym9hcmQgd2hpbGUgYSBoYXJkd2FyZSBvbmUgaXMgYXR0YWNoZWQuXG4gKi9cbmNvbnN0IFNPRlRfS0VZQk9BUkRfU0VUVElOR19OQU1FID0gJ3Nob3dfaW1lX3dpdGhfaGFyZF9rZXlib2FyZCc7XG5cbmNvbnN0IFNPRlRfS0VZQk9BUkRfU0VUVElOR19PTiA9ICcxJztcblxuLyoqXG4gKiBDbGVhcnMgYSBkZXZpY2Ugc2V0dGluZywgcmV0dXJuaW5nIGl0IHRvIG5ldmVyLWhhdmluZy1iZWVuLXdyaXR0ZW4uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBkZXZpY2UsIHRoZSBzZXR0aW5nIGFuZCBpdHMgbmFtZXNwYWNlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBzZXR0aW5nIGlzIGdvbmUuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBQZXJtYW5lbnQ6IGBEZXZpY2VTZXR0aW5nUGFyYW1zYCBpcyBvbmUgYmFnIHNoYXJlZCBieSB0aGUgcmVhZCBhbmQgZGVsZXRlIGhlbHBlcnMsIHNvIG5vIHBlci1vd25lciBuYW1lIGNhbiBzYXRpc2Z5IGJvdGguXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlRGV2aWNlU2V0dGluZyhwYXJhbXM6IERldmljZVNldHRpbmdQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcnVuQWRiVGV4dCh7XG4gICAgY29tbWFuZEFyZ3VtZW50czogYnVpbGREZXZpY2VTZXR0aW5nc0NvbW1hbmRBcmd1bWVudHMoe1xuICAgICAgbmFtZTogcGFyYW1zLm5hbWUsXG4gICAgICAuLi4ocGFyYW1zLm5hbWVzcGFjZSAhPT0gdW5kZWZpbmVkICYmIHsgbmFtZXNwYWNlOiBwYXJhbXMubmFtZXNwYWNlIH0pLFxuICAgICAgdmVyYjogRGV2aWNlU2V0dGluZ1ZlcmIuRGVsZXRlXG4gICAgfSksXG4gICAgZGV2aWNlSWQ6IHBhcmFtcy5kZXZpY2VJZFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZWFkcyBhIGRldmljZSBzZXR0aW5nLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZGV2aWNlLCB0aGUgc2V0dGluZyBhbmQgaXRzIG5hbWVzcGFjZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNldHRpbmcncyB2YWx1ZSwgb3IgdGhlIGxpdGVyYWwgYG51bGxgIHdoZW4gaXQgaGFzIG5ldmVyXG4gKiAgIGJlZW4gd3JpdHRlbi5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoIC0tIFBlcm1hbmVudDogYERldmljZVNldHRpbmdQYXJhbXNgIGlzIG9uZSBiYWcgc2hhcmVkIGJ5IHRoZSByZWFkIGFuZCBkZWxldGUgaGVscGVycywgc28gbm8gcGVyLW93bmVyIG5hbWUgY2FuIHNhdGlzZnkgYm90aC5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkRGV2aWNlU2V0dGluZyhwYXJhbXM6IERldmljZVNldHRpbmdQYXJhbXMpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gYXdhaXQgcnVuQWRiVGV4dCh7XG4gICAgY29tbWFuZEFyZ3VtZW50czogYnVpbGREZXZpY2VTZXR0aW5nc0NvbW1hbmRBcmd1bWVudHMoe1xuICAgICAgbmFtZTogcGFyYW1zLm5hbWUsXG4gICAgICAuLi4ocGFyYW1zLm5hbWVzcGFjZSAhPT0gdW5kZWZpbmVkICYmIHsgbmFtZXNwYWNlOiBwYXJhbXMubmFtZXNwYWNlIH0pLFxuICAgICAgdmVyYjogRGV2aWNlU2V0dGluZ1ZlcmIuR2V0XG4gICAgfSksXG4gICAgZGV2aWNlSWQ6IHBhcmFtcy5kZXZpY2VJZFxuICB9KTtcbn1cblxuLyoqXG4gKiBQZXJtaXRzIHRoZSBvbi1zY3JlZW4ga2V5Ym9hcmQgZm9yIHRoZSBkdXJhdGlvbiBvZiBhIGNhbGxiYWNrLCB0aGVuIHJlc3RvcmVzIHRoZSBkZXZpY2UgZXhhY3RseS5cbiAqXG4gKiBUaGUgcmVzdG9yZSBydW5zIHdoZXRoZXIgdGhlIGNhbGxiYWNrIHN1Y2NlZWRlZCBvciB0aHJldyBcdTIwMTQgYSBzdWl0ZSB0aGF0IGRpZXMgbWlkLWNhcHR1cmUgbXVzdCBub3QgbGVhdmVcbiAqIHRoZSBkZXZpY2UgY29uZmlndXJlZCBkaWZmZXJlbnRseSB0aGFuIGl0IGZvdW5kIGl0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFdoYXQgdGhlIHdyYXBwZWQgd29yayByZXR1cm5zLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBkZXZpY2UgYW5kIHRoZSB3b3JrIHRvIHJ1bi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gd2hhdGV2ZXIgdGhlIGNhbGxiYWNrIHJldHVybmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2l0aFNvZnRLZXlib2FyZEVuYWJsZWQ8VD4ocGFyYW1zOiBXaXRoU29mdEtleWJvYXJkRW5hYmxlZFBhcmFtczxUPik6IFByb21pc2U8VD4ge1xuICBjb25zdCBzZXR0aW5nUGFyYW1zOiBEZXZpY2VTZXR0aW5nUGFyYW1zID0ge1xuICAgIGRldmljZUlkOiBwYXJhbXMuZGV2aWNlSWQsXG4gICAgbmFtZTogU09GVF9LRVlCT0FSRF9TRVRUSU5HX05BTUVcbiAgfTtcblxuICBjb25zdCBwcmV2aW91c1ZhbHVlID0gYXdhaXQgcmVhZERldmljZVNldHRpbmcoc2V0dGluZ1BhcmFtcyk7XG4gIGF3YWl0IHdyaXRlRGV2aWNlU2V0dGluZyh7IC4uLnNldHRpbmdQYXJhbXMsIHZhbHVlOiBTT0ZUX0tFWUJPQVJEX1NFVFRJTkdfT04gfSk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgcGFyYW1zLmNhbGxiYWNrKCk7XG4gIH0gZmluYWxseSB7XG4gICAgY29uc3QgcmVzdG9yZSA9IHJlc29sdmVEZXZpY2VTZXR0aW5nUmVzdG9yZShwcmV2aW91c1ZhbHVlKTtcbiAgICBpZiAocmVzdG9yZS5raW5kID09PSBEZXZpY2VTZXR0aW5nUmVzdG9yZUtpbmQuRGVsZXRlKSB7XG4gICAgICBhd2FpdCBkZWxldGVEZXZpY2VTZXR0aW5nKHNldHRpbmdQYXJhbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB3cml0ZURldmljZVNldHRpbmcoeyAuLi5zZXR0aW5nUGFyYW1zLCB2YWx1ZTogcmVzdG9yZS52YWx1ZSB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBXcml0ZXMgYSBkZXZpY2Ugc2V0dGluZy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGRldmljZSwgdGhlIHNldHRpbmcsIGl0cyBuYW1lc3BhY2UgYW5kIHRoZSB2YWx1ZSB0byB3cml0ZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgc2V0dGluZyBpcyB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVEZXZpY2VTZXR0aW5nKHBhcmFtczogV3JpdGVEZXZpY2VTZXR0aW5nUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHJ1bkFkYlRleHQoe1xuICAgIGNvbW1hbmRBcmd1bWVudHM6IGJ1aWxkRGV2aWNlU2V0dGluZ3NDb21tYW5kQXJndW1lbnRzKHtcbiAgICAgIG5hbWU6IHBhcmFtcy5uYW1lLFxuICAgICAgLi4uKHBhcmFtcy5uYW1lc3BhY2UgIT09IHVuZGVmaW5lZCAmJiB7IG5hbWVzcGFjZTogcGFyYW1zLm5hbWVzcGFjZSB9KSxcbiAgICAgIHZhbHVlOiBwYXJhbXMudmFsdWUsXG4gICAgICB2ZXJiOiBEZXZpY2VTZXR0aW5nVmVyYi5QdXRcbiAgICB9KSxcbiAgICBkZXZpY2VJZDogcGFyYW1zLmRldmljZUlkXG4gIH0pO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBc0JBLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFzRFAsTUFBTSw2QkFBNkI7QUFFbkMsTUFBTSwyQkFBMkI7QUFTakMsZUFBc0Isb0JBQW9CLFFBQTRDO0FBQ3BGLFFBQU0sV0FBVztBQUFBLElBQ2Ysa0JBQWtCLG9DQUFvQztBQUFBLE1BQ3BELE1BQU0sT0FBTztBQUFBLE1BQ2IsR0FBSSxPQUFPLGNBQWMsVUFBYSxFQUFFLFdBQVcsT0FBTyxVQUFVO0FBQUEsTUFDcEUsTUFBTSxrQkFBa0I7QUFBQSxJQUMxQixDQUFDO0FBQUEsSUFDRCxVQUFVLE9BQU87QUFBQSxFQUNuQixDQUFDO0FBQ0g7QUFVQSxlQUFzQixrQkFBa0IsUUFBOEM7QUFDcEYsU0FBTyxNQUFNLFdBQVc7QUFBQSxJQUN0QixrQkFBa0Isb0NBQW9DO0FBQUEsTUFDcEQsTUFBTSxPQUFPO0FBQUEsTUFDYixHQUFJLE9BQU8sY0FBYyxVQUFhLEVBQUUsV0FBVyxPQUFPLFVBQVU7QUFBQSxNQUNwRSxNQUFNLGtCQUFrQjtBQUFBLElBQzFCLENBQUM7QUFBQSxJQUNELFVBQVUsT0FBTztBQUFBLEVBQ25CLENBQUM7QUFDSDtBQVlBLGVBQXNCLHdCQUEyQixRQUFzRDtBQUNyRyxRQUFNLGdCQUFxQztBQUFBLElBQ3pDLFVBQVUsT0FBTztBQUFBLElBQ2pCLE1BQU07QUFBQSxFQUNSO0FBRUEsUUFBTSxnQkFBZ0IsTUFBTSxrQkFBa0IsYUFBYTtBQUMzRCxRQUFNLG1CQUFtQixFQUFFLEdBQUcsZUFBZSxPQUFPLHlCQUF5QixDQUFDO0FBRTlFLE1BQUk7QUFDRixXQUFPLE1BQU0sT0FBTyxTQUFTO0FBQUEsRUFDL0IsVUFBRTtBQUNBLFVBQU0sVUFBVSw0QkFBNEIsYUFBYTtBQUN6RCxRQUFJLFFBQVEsU0FBUyx5QkFBeUIsUUFBUTtBQUNwRCxZQUFNLG9CQUFvQixhQUFhO0FBQUEsSUFDekMsT0FBTztBQUNMLFlBQU0sbUJBQW1CLEVBQUUsR0FBRyxlQUFlLE9BQU8sUUFBUSxNQUFNLENBQUM7QUFBQSxJQUNyRTtBQUFBLEVBQ0Y7QUFDRjtBQVFBLGVBQXNCLG1CQUFtQixRQUFpRDtBQUN4RixRQUFNLFdBQVc7QUFBQSxJQUNmLGtCQUFrQixvQ0FBb0M7QUFBQSxNQUNwRCxNQUFNLE9BQU87QUFBQSxNQUNiLEdBQUksT0FBTyxjQUFjLFVBQWEsRUFBRSxXQUFXLE9BQU8sVUFBVTtBQUFBLE1BQ3BFLE9BQU8sT0FBTztBQUFBLE1BQ2QsTUFBTSxrQkFBa0I7QUFBQSxJQUMxQixDQUFDO0FBQUEsSUFDRCxVQUFVLE9BQU87QUFBQSxFQUNuQixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -20,23 +20,10 @@ import type { ProcessListEntry } from './emulator-backend.mjs';
|
|
|
20
20
|
export declare const ADB_DEVICE_CHECK_TIMEOUT_IN_MILLISECONDS = 5000;
|
|
21
21
|
export declare const ADB_DUMPSYS_MAX_BUFFER_IN_BYTES = 8388608;
|
|
22
22
|
export declare const HOST_PROCESS_QUERY_TIMEOUT_IN_MILLISECONDS = 30000;
|
|
23
|
-
/**
|
|
24
|
-
* A host command and its arguments.
|
|
25
|
-
*/
|
|
26
|
-
export interface HostCommandQuery {
|
|
27
|
-
/**
|
|
28
|
-
The executable to run.
|
|
29
|
-
*/
|
|
30
|
-
readonly command: string;
|
|
31
|
-
/**
|
|
32
|
-
The command's arguments.
|
|
33
|
-
*/
|
|
34
|
-
readonly commandArguments: string[];
|
|
35
|
-
}
|
|
36
23
|
/**
|
|
37
24
|
* Parameters for {@link EmulatorReclaimer.reclaimLeftoverEmulators}.
|
|
38
25
|
*/
|
|
39
|
-
export interface
|
|
26
|
+
export interface EmulatorReclaimerReclaimLeftoverEmulatorsParams {
|
|
40
27
|
/**
|
|
41
28
|
An AVD whose leftover is left alone — the one a preflight is about to adopt instead.
|
|
42
29
|
*/
|
|
@@ -53,7 +40,7 @@ export interface ReclaimLeftoverEmulatorsParams {
|
|
|
53
40
|
/**
|
|
54
41
|
* Parameters for {@link EmulatorReclaimer.stopEmulator}.
|
|
55
42
|
*/
|
|
56
|
-
export interface
|
|
43
|
+
export interface EmulatorReclaimerStopEmulatorParams {
|
|
57
44
|
/**
|
|
58
45
|
The AVD name, named in the warning so the leftover is identifiable, and the key of its marker.
|
|
59
46
|
*/
|
|
@@ -74,6 +61,19 @@ export interface StopEmulatorParams {
|
|
|
74
61
|
*/
|
|
75
62
|
readonly ownedEmulatorPids: readonly number[];
|
|
76
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* A host command and its arguments.
|
|
66
|
+
*/
|
|
67
|
+
export interface HostCommandQuery {
|
|
68
|
+
/**
|
|
69
|
+
The executable to run.
|
|
70
|
+
*/
|
|
71
|
+
readonly command: string;
|
|
72
|
+
/**
|
|
73
|
+
The command's arguments.
|
|
74
|
+
*/
|
|
75
|
+
readonly commandArguments: string[];
|
|
76
|
+
}
|
|
77
77
|
/**
|
|
78
78
|
* Finds, stops and verifies the harness's emulators, reporting through the
|
|
79
79
|
* caller's log so each caller keeps its own prefix.
|
|
@@ -122,7 +122,7 @@ export declare class EmulatorReclaimer {
|
|
|
122
122
|
*
|
|
123
123
|
* @param params - Which AVD to leave alone, and whether this run is ending.
|
|
124
124
|
*/
|
|
125
|
-
reclaimLeftoverEmulators(params:
|
|
125
|
+
reclaimLeftoverEmulators(params: EmulatorReclaimerReclaimLeftoverEmulatorsParams): Promise<void>;
|
|
126
126
|
/**
|
|
127
127
|
* Stops an emulator this harness owns, and **verifies** it stopped.
|
|
128
128
|
*
|
|
@@ -139,7 +139,7 @@ export declare class EmulatorReclaimer {
|
|
|
139
139
|
*
|
|
140
140
|
* @param params - The emulator process, the device it serves and the PIDs this run owns.
|
|
141
141
|
*/
|
|
142
|
-
stopEmulator(params:
|
|
142
|
+
stopEmulator(params: EmulatorReclaimerStopEmulatorParams): Promise<void>;
|
|
143
143
|
/**
|
|
144
144
|
* Decides whether the emulator this run started is really gone.
|
|
145
145
|
*
|
|
@@ -288,4 +288,4 @@ export {
|
|
|
288
288
|
EmulatorReclaimer,
|
|
289
289
|
HOST_PROCESS_QUERY_TIMEOUT_IN_MILLISECONDS
|
|
290
290
|
};
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VtdWxhdG9yLXJlY2xhaW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTdG9wcyB0aGUgZW11bGF0b3JzIHRoaXMgaGFybmVzcyBzdGFydGVkLCBhbmQgKip2ZXJpZmllcyoqIGVhY2ggc3RvcCBcdTIwMTQgdGhlXG4gKiBtYXJrZXItZHJpdmVuIGhhbGYgb2YgZW11bGF0b3Igb3duZXJzaGlwIChgZW11bGF0b3ItbWFya2VyLnRzYCwgKipMNTYqKikuXG4gKlxuICogSXQgbGl2ZXMgYXBhcnQgZnJvbSBgdHJhbnNwb3J0LWZhY3RvcnkudHNgIHNvIHRoYXQgYSBwcm9jZXNzIHdpdGggbm8gYnVzaW5lc3NcbiAqIGxvYWRpbmcgdGhlIHdob2xlIHRyYW5zcG9ydCBzdGFjayBjYW4gc3RpbGwgc3RvcCBhbiBlbXVsYXRvciBjb3JyZWN0bHkuIFRoYXRcbiAqIHByb2Nlc3MgaXMgdGhlIGVtdWxhdG9yIHJlYXBlciAoYGVtdWxhdG9yLXJlYXBlci50c2ApOiBpdCBydW5zIGRldGFjaGVkIGZyb21cbiAqIGFueSB0ZXN0IHJ1bm5lciwgYW5kIGluIHRoaXMgcmVwbydzIG93biBzdWl0ZXMgaXQgcnVucyBzdHJhaWdodCBmcm9tIHNvdXJjZVxuICogdW5kZXIgTm9kZSdzIHR5cGUgc3RyaXBwaW5nLCB3aGVyZSBhIG1vZHVsZSByZWFkaW5nIHRoZSBidWlsZC10aW1lXG4gKiBgT0JTSURJQU5fTUVUQURBVEFgIGdsb2JhbCBcdTIwMTQgd2hpY2ggdGhlIGZhY3RvcnkncyBpbXBvcnQgZ3JhcGggcmVhY2hlcyBcdTIwMTRcbiAqIGNhbm5vdCBsb2FkIGF0IGFsbC4gU28gbm90aGluZyB0aGlzIG1vZHVsZSBpbXBvcnRzIG1heSByZWFjaCBpdCBlaXRoZXIuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVncmF0aW9uLXRpbWUgZW11bGF0b3IgbWFuYWdlbWVudCBjb3ZlcmVkIGJ5IHRoZSBBbmRyb2lkIGludGVncmF0aW9uIHN1aXRlLCBub3QgdW5pdCB0ZXN0cy4gKi9cblxuaW1wb3J0IHR5cGUgeyBDaGlsZFByb2Nlc3MgfSBmcm9tICdub2RlOmNoaWxkX3Byb2Nlc3MnO1xuXG5pbXBvcnQgeyBleGVjRmlsZSB9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgdHlwZSB7IFByb2Nlc3NMaXN0RW50cnkgfSBmcm9tICcuL2VtdWxhdG9yLWJhY2tlbmQubWpzJztcbmltcG9ydCB0eXBlIHsgRW11bGF0b3JNYXJrZXIgfSBmcm9tICcuL2VtdWxhdG9yLW1hcmtlci5tanMnO1xuXG5pbXBvcnQgeyBjaGVja0lzRGV2aWNlTGlzdGVkIH0gZnJvbSAnLi9hZGItZGV2aWNlLWxpc3QubWpzJztcbmltcG9ydCB7XG4gIHBhcnNlUG9zaXhQcm9jZXNzTGlzdCxcbiAgcGFyc2VXaW5kb3dzVGFza0xpc3QsXG4gIHNlbGVjdEVtdWxhdG9yQmFja2VuZFBpZHNcbn0gZnJvbSAnLi9lbXVsYXRvci1iYWNrZW5kLm1qcyc7XG5pbXBvcnQge1xuICBjbGVhckVtdWxhdG9yTWFya2VyLFxuICBjbGVhckVtdWxhdG9yTWFya2VySWZTdG9wcGVkLFxuICBsaXN0RW11bGF0b3JNYXJrZXJzLFxuICByZXNvbHZlRW11bGF0b3JNYXJrZXJWZXJkaWN0LFxuICBzZWxlY3RMaXZlTWFya2VkUGlkc1xufSBmcm9tICcuL2VtdWxhdG9yLW1hcmtlci5tanMnO1xuaW1wb3J0IHtcbiAga2lsbFByb2Nlc3NUcmVlLFxuICBraWxsUHJvY2Vzc1RyZWVCeVBpZFxufSBmcm9tICcuL2tpbGwtcHJvY2Vzcy10cmVlLm1qcyc7XG5pbXBvcnQgeyBjaGVja0lzUHJvY2Vzc0FsaXZlIH0gZnJvbSAnLi9wcm9jZXNzLWxpdmVuZXNzLm1qcyc7XG5pbXBvcnQge1xuICBidWlsZFRlYXJkb3duTWVzc2FnZSxcbiAgcmVzb2x2ZVRlYXJkb3duT3V0Y29tZVxufSBmcm9tICcuL3RlYXJkb3duLXZlcmRpY3QubWpzJztcblxuLyoqXG4gKiBCdWRnZXQgZm9yIG9uZSBxdWljayBgYWRiYCBjYWxsIFx1MjAxNCBgYWRiIGRldmljZXNgLCBhIGNvbnNvbGUgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFEQl9ERVZJQ0VfQ0hFQ0tfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSA1MDAwO1xuXG4vKlxuICogYGR1bXBzeXMgY29ubmVjdGl2aXR5YCBpcyBmYXIgbGFyZ2VyIHRoYW4gdGhlIG90aGVyIHByb2Jlcycgb3V0cHV0LCBhbmQgTm9kZSdzXG4gKiBkZWZhdWx0IDEgTWlCIGBtYXhCdWZmZXJgIHdvdWxkIGZhaWwgdGhlIGNhbGwgcmF0aGVyIHRoYW4gdHJ1bmNhdGUgaXQgXHUyMDE0IHdoaWNoXG4gKiB3b3VsZCByZWFkIGFzIFwibm90IHJlYWR5XCIgZm9yZXZlciBhbmQgYnVybiB0aGUgd2hvbGUgbmV0d29yayBidWRnZXQuIEEgaG9zdFxuICogcHJvY2VzcyBsaXN0aW5nIHNoYXJlcyB0aGUgc2FtZSBjZWlsaW5nLlxuICovXG5leHBvcnQgY29uc3QgQURCX0RVTVBTWVNfTUFYX0JVRkZFUl9JTl9CWVRFUyA9IDhfMzg4XzYwODtcblxuLypcbiAqIDMwcywgbm90IHRoZSAxMHMgYSBgdGFza2xpc3RgIGNvc3RzIG9uIGFuIGlkbGUgaG9zdDogdGhpcyBxdWVyeSBydW5zIGluIHRoZVxuICogc2FtZSBwb3N0LWJvb3QgY29udGVudGlvbiB3aW5kb3cgdGhhdCBpbmZsYXRlcyBldmVyeSBgYWRiYCByb3VuZC10cmlwIDI1LTUweFxuICogKEw0NSksIGFuZCB0aGUgZmlyc3QgZW5kLXRvLWVuZCBydW4gb3ZlcnJhbiBhIDEwcyBidWRnZXQgdGhlcmUgXHUyMDE0IHNpbGVudGx5XG4gKiBkaXNhcm1pbmcgdGhlIHRlYXJkb3duIGVzY2FsYXRpb24uIFNpemVkIGxpa2UgYEFEQl9EVU1QU1lTX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTYCxcbiAqIGZvciB0aGUgc2FtZSByZWFzb24uXG4gKi9cbmV4cG9ydCBjb25zdCBIT1NUX1BST0NFU1NfUVVFUllfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSAzMF8wMDA7XG5cbmNvbnN0IEVNVUxBVE9SX0VTQ0FMQVRFRF9TVE9QX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gNTAwMDtcbmNvbnN0IEVNVUxBVE9SX1NUT1BfUE9MTF9JTlRFUlZBTF9JTl9NSUxMSVNFQ09ORFMgPSA1MDA7XG5jb25zdCBFTVVMQVRPUl9TVE9QX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gMjBfMDAwO1xuY29uc3QgTUlMTElTRUNPTkRTX1BFUl9TRUNPTkQgPSAxMDAwO1xuXG4vKipcbiAqIEEgaG9zdCBjb21tYW5kIGFuZCBpdHMgYXJndW1lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RDb21tYW5kUXVlcnkge1xuICAvKipcbiAgVGhlIGV4ZWN1dGFibGUgdG8gcnVuLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nO1xuXG4gIC8qKlxuICBUaGUgY29tbWFuZCdzIGFyZ3VtZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRBcmd1bWVudHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBFbXVsYXRvclJlY2xhaW1lci5yZWNsYWltTGVmdG92ZXJFbXVsYXRvcnN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY2xhaW1MZWZ0b3ZlckVtdWxhdG9yc1BhcmFtcyB7XG4gIC8qKlxuICBBbiBBVkQgd2hvc2UgbGVmdG92ZXIgaXMgbGVmdCBhbG9uZSBcdTIwMTQgdGhlIG9uZSBhIHByZWZsaWdodCBpcyBhYm91dCB0byBhZG9wdCBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhjZXB0QXZkTmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogYCdwcmVmbGlnaHQnYCBzcGFyZXMgYW4gZW11bGF0b3IgYW5vdGhlciBsaXZlIGhhcm5lc3MgcHJvY2VzcyBzdGlsbCBvd25zLlxuICAgKiBgJ2VuZC1vZi1ydW4nYCBkb2VzIG5vdDogdGhlIGNhbGxlciBob2xkcyB0aGUgYGFuZHJvaWRgIGxvY2sgd2l0aCBubyBydW4gaW5cbiAgICogZmxpZ2h0IFx1MjAxNCB0aGUgcnVuJ3Mgb3duIGdsb2JhbCB0ZWFyZG93biwgb3IgdGhlIGVtdWxhdG9yIHJlYXBlciBhZnRlciB0aGVcbiAgICogcnVuIGlzIGdvbmUgXHUyMDE0IHNvIHRoYXQgb3duZXIgY2FuIG9ubHkgYmUgb25lIG9mIHRoZSBmaW5pc2hlZCBydW4nc1xuICAgKiBwcm9jZXNzZXMsIHdoaWNoIG5vIGxvbmdlciBoYXMgYSB0dXJuIHRvIHN0b3AgaXQuXG4gICAqL1xuICByZWFkb25seSBzY29wZTogJ2VuZC1vZi1ydW4nIHwgJ3ByZWZsaWdodCc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIEVtdWxhdG9yUmVjbGFpbWVyLnN0b3BFbXVsYXRvcn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcEVtdWxhdG9yUGFyYW1zIHtcbiAgLyoqXG4gIFRoZSBBVkQgbmFtZSwgbmFtZWQgaW4gdGhlIHdhcm5pbmcgc28gdGhlIGxlZnRvdmVyIGlzIGlkZW50aWZpYWJsZSwgYW5kIHRoZSBrZXkgb2YgaXRzIG1hcmtlci5cbiAgICovXG4gIHJlYWRvbmx5IGF2ZE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRldmljZSB0aGUgZW11bGF0b3IgaXMgc2VydmluZywgc2h1dCBkb3duIG92ZXIgaXRzIGNvbnNvbGUgYW5kIHBvbGxlZFxuICAgKiB0byBkZWNpZGUgd2hldGhlciBpdCBhY3R1YWxseSBzdG9wcGVkLiBgdW5kZWZpbmVkYCB3aGVuIHRoZSBlbXVsYXRvciBmYWlsZWRcbiAgICogYmVmb3JlIGFueSBkZXZpY2UgYXBwZWFyZWQuXG4gICAqL1xuICByZWFkb25seSBkZXZpY2VJZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGVtdWxhdG9yIGxhdW5jaGVyIHByb2Nlc3MgdGhpcyBydW4gc3Bhd25lZC4gYHVuZGVmaW5lZGAgZm9yIGEgbGVmdG92ZXJcbiAgICogdGhpcyBydW4gdG9vayBvdmVyLCB3aG9zZSBsYXVuY2hlciBiZWxvbmdlZCB0byBhbm90aGVyIHByb2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlbXVsYXRvclByb2Nlc3M/OiBDaGlsZFByb2Nlc3MgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gIFRoZSBlbXVsYXRvciBQSURzIHRoaXMgcnVuIG93bnMsIGVzY2FsYXRlZCB0byB3aGVuIHRoZSBjb25zb2xlIGFuZCB0aGUgbGF1bmNoZXIncyB0cmVlIGtpbGwgbGVhdmUgb25lIGJlaGluZC5cbiAgICovXG4gIHJlYWRvbmx5IG93bmVkRW11bGF0b3JQaWRzOiByZWFkb25seSBudW1iZXJbXTtcbn1cblxuaW50ZXJmYWNlIENoZWNrSXNFbXVsYXRvckdvbmVQYXJhbXMge1xuICAvKipcbiAgVGhlIGRldmljZSB0aGUgZW11bGF0b3Igc2VydmVzLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5vbmUgZXZlciBhcHBlYXJlZCBcdTIwMTQgdGhlIFBJRHMgYXJlIHRoZW4gdGhlIG9ubHkgcHJvb2YuXG4gICAqL1xuICByZWFkb25seSBkZXZpY2VJZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgVGhlIGVtdWxhdG9yIFBJRHMgdGhpcyBydW4gb3ducy5cbiAgICovXG4gIHJlYWRvbmx5IG93bmVkRW11bGF0b3JQaWRzOiByZWFkb25seSBudW1iZXJbXTtcbn1cblxuaW50ZXJmYWNlIFdhaXRGb3JFbXVsYXRvclN0b3BwZWRQYXJhbXMge1xuICAvKipcbiAgVGhlIGRldmljZSB0aGUgZW11bGF0b3Igc2VydmVzLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5vbmUgZXZlciBhcHBlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRldmljZUlkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICBUaGUgZW11bGF0b3IgUElEcyB0aGlzIHJ1biBvd25zLlxuICAgKi9cbiAgcmVhZG9ubHkgb3duZWRFbXVsYXRvclBpZHM6IHJlYWRvbmx5IG51bWJlcltdO1xuXG4gIC8qKlxuICBIb3cgbG9uZyB0byB3YWl0IGZvciB0aGUgZW11bGF0b3IgdG8gZGlzYXBwZWFyLCBpbiBtaWxsaXNlY29uZHMuXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGaW5kcywgc3RvcHMgYW5kIHZlcmlmaWVzIHRoZSBoYXJuZXNzJ3MgZW11bGF0b3JzLCByZXBvcnRpbmcgdGhyb3VnaCB0aGVcbiAqIGNhbGxlcidzIGxvZyBzbyBlYWNoIGNhbGxlciBrZWVwcyBpdHMgb3duIHByZWZpeC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVtdWxhdG9yUmVjbGFpbWVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2c6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByZWNsYWltZXIgdGhhdCByZXBvcnRzIHVuZGVyIHRoZSBjYWxsZXIncyBvd24gbG9nIHByZWZpeC5cbiAgICpcbiAgICogQHBhcmFtIGxvZyAtIFJlY2VpdmVzIGV2ZXJ5IHByb2dyZXNzIGFuZCB2ZXJkaWN0IGxpbmUuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IobG9nOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5sb2cgPSBsb2c7XG4gIH1cblxuICAvKipcbiAgICogUnVucyBgYWRiIGRldmljZXNgIGFuZCByZXR1cm5zIGl0cyByYXcgc3Rkb3V0LlxuICAgKlxuICAgKiBUaGUgcmF3IGxpc3RpbmcgaXMgd2hhdCB0ZWFyZG93biBuZWVkczogYGdldENvbm5lY3RlZERldmljZUlkc2Aga2VlcHMgb25seVxuICAgKiB0aGUgYGRldmljZWAgc3RhdGUsIGFuZCBhbiBlbXVsYXRvciBvbiBpdHMgd2F5IG91dCBhbnN3ZXJzIGBvZmZsaW5lYCB3aGlsZVxuICAgKiBzdGlsbCBob2xkaW5nIHRoZSBBVkQgXHUyMDE0IHNlZSBgYWRiLWRldmljZS1saXN0LnRzYC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHJhdyBgYWRiIGRldmljZXNgIG91dHB1dC5cbiAgICogQHRocm93cyBJZiBhZGIgY291bGQgbm90IGJlIHJ1biBhdCBhbGwuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGV2aWNlc091dHB1dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGV4ZWNGaWxlKCdhZGInLCBbJ2RldmljZXMnXSwgeyB0aW1lb3V0OiBBREJfREVWSUNFX0NIRUNLX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTIH0sIChlcnJvciwgc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgRmFpbGVkIHRvIHJ1biAnYWRiIGRldmljZXMnOiAke2Vycm9yLm1lc3NhZ2V9LiBJcyBBREIgaW5zdGFsbGVkIGFuZCBpbiBQQVRIP2ApKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0ZGVycikge1xuICAgICAgICAgIHRoaXMubG9nKGBBREIgc3RkZXJyOiAke3N0ZGVyci50cmltKCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzb2x2ZShzdGRvdXQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdHMgZXZlcnkgcHJvY2VzcyBvbiB0aGUgaG9zdC5cbiAgICpcbiAgICogQSBob3N0IGFsd2F5cyBoYXMgcHJvY2Vzc2VzLCBzbyBhIGxpc3RpbmcgdGhhdCBwYXJzZXMgdG8gKip6ZXJvKiogcm93cyBpcyBhXG4gICAqIGZhaWxlZCBxdWVyeSBob3dldmVyIGl0IGV4aXRlZCwgYW5kIGNvbWVzIGJhY2sgYXMgYHVuZGVmaW5lZGAgZXhhY3RseSBsaWtlXG4gICAqIG9uZSB0aGF0IGRpZCBub3QgcnVuIFx1MjAxNCBuZXZlciBhcyBhbiBlbXB0eSBsaXN0IGEgY2FsbGVyIGNvdWxkIHJlYWQgYXMgXCJub1xuICAgKiBlbXVsYXRvciBpcyBydW5uaW5nXCIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBob3N0J3MgcHJvY2Vzc2VzLCBvciBgdW5kZWZpbmVkYCB3aGVuIHRoZSBsaXN0aW5nIGZhaWxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBxdWVyeUhvc3RQcm9jZXNzZXMoKTogUHJvbWlzZTxQcm9jZXNzTGlzdEVudHJ5W10gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBxdWVyeSA9IGJ1aWxkSG9zdFByb2Nlc3NRdWVyeSgpO1xuICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUpID0+IHtcbiAgICAgIGV4ZWNGaWxlKFxuICAgICAgICBxdWVyeS5jb21tYW5kLFxuICAgICAgICBxdWVyeS5jb21tYW5kQXJndW1lbnRzLFxuICAgICAgICB7IG1heEJ1ZmZlcjogQURCX0RVTVBTWVNfTUFYX0JVRkZFUl9JTl9CWVRFUywgdGltZW91dDogSE9TVF9QUk9DRVNTX1FVRVJZX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTIH0sXG4gICAgICAgIChlcnJvciwgc3Rkb3V0KSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmxvZyhgV2FybmluZzogY291bGQgbm90IGxpc3QgaG9zdCBwcm9jZXNzZXMgKFxcYCR7cXVlcnkuY29tbWFuZH1cXGApOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc29sdmUoZXJyb3IgPyAnJyA6IHN0ZG91dCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBwcm9jZXNzZXMgPSBwYXJzZUhvc3RQcm9jZXNzTGlzdChvdXRwdXQpO1xuICAgIGlmIChwcm9jZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmxvZyhgV2FybmluZzogXFxgJHtxdWVyeS5jb21tYW5kfVxcYCBsaXN0ZWQgbm8gcHJvY2Vzc2VzLmApO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvY2Vzc2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3BzIHRoZSBlbXVsYXRvcnMgdGhpcyBoYXJuZXNzIHN0YXJ0ZWQgdGhhdCBubyBsaXZlIHJ1biBpcyByZXNwb25zaWJsZVxuICAgKiBmb3IsIGFuZCBkcm9wcyB0aGUgbWFya2VycyB0aGF0IG5vIGxvbmdlciBkZXNjcmliZSBhIHJ1bm5pbmcgZW11bGF0b3IuXG4gICAqXG4gICAqIE9ubHkgZXZlciBhY3RzIG9uIGEgKiptYXJrZXItdmVyaWZpZWQqKiBlbXVsYXRvcjogb25lIHdob3NlIG1hcmtlciBuYW1lcyBhXG4gICAqIFBJRCB0aGF0IGlzIHN0aWxsIGEgbGl2ZSBlbXVsYXRvciBwcm9jZXNzLiBBbiBlbXVsYXRvciB3aXRob3V0IGEgbWFya2VyIFx1MjAxNFxuICAgKiBib290ZWQgYnkgaGFuZCwgYnkgQ0ksIG9yIGJ5IGFub3RoZXIgdG9vbCBcdTIwMTQgaXMgbmV2ZXIgdG91Y2hlZCwgd2hpY2gga2VlcHNcbiAgICogdGhlIEw0NiBsaW5lOiBuZXZlciBhIGBxZW11KmAgc3dlZXAuXG4gICAqXG4gICAqIENhbGxlcnMgbXVzdCBob2xkIHRoZSBgYW5kcm9pZGAgc2V0dXAgbG9jayAoTDcpLCB3aGljaCBpcyB3aGF0IG1ha2VzIGFcbiAgICogbGVmdG92ZXIgc2FmZSB0byBzdG9wOiBubyBvdGhlciBBbmRyb2lkIHJ1biBjYW4gYmUgbWlkLWZsaWdodCBvbiBpdC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFdoaWNoIEFWRCB0byBsZWF2ZSBhbG9uZSwgYW5kIHdoZXRoZXIgdGhpcyBydW4gaXMgZW5kaW5nLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlY2xhaW1MZWZ0b3ZlckVtdWxhdG9ycyhwYXJhbXM6IFJlY2xhaW1MZWZ0b3ZlckVtdWxhdG9yc1BhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1hcmtlcnMgPSBsaXN0RW11bGF0b3JNYXJrZXJzKCkuZmlsdGVyKChtYXJrZXIpID0+IG1hcmtlci5hdmROYW1lICE9PSBwYXJhbXMuZXhjZXB0QXZkTmFtZSk7XG4gICAgaWYgKG1hcmtlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJvY2Vzc2VzID0gYXdhaXQgdGhpcy5xdWVyeUhvc3RQcm9jZXNzZXMoKTtcbiAgICBpZiAocHJvY2Vzc2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFdpdGhvdXQgYSBsaXN0aW5nIGV2ZXJ5IG1hcmtlciB3b3VsZCByZWFkIGFzIHN0YWxlLCBhbmQgZGVsZXRpbmcgdGhlbSB3b3VsZCBsZWF2ZSB0aGUgbGVmdG92ZXJzIGltcG9zc2libGUgdG8gY29udmljdC5cbiAgICAgIHRoaXMubG9nKGBDYW5ub3QganVkZ2UgJHtTdHJpbmcobWFya2Vycy5sZW5ndGgpfSBlbXVsYXRvciBtYXJrZXIocykgd2l0aG91dCBhIGhvc3QgcHJvY2VzcyBsaXN0aW5nOyBsZWF2aW5nIHRoZW0gZm9yIGEgbGF0ZXIgcnVuLmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpdmVFbXVsYXRvclBpZHMgPSBzZWxlY3RFbXVsYXRvckJhY2tlbmRQaWRzKHsga25vd25QaWRzOiBbXSwgcHJvY2Vzc2VzIH0pO1xuICAgIGZvciAoY29uc3QgbWFya2VyIG9mIG1hcmtlcnMpIHtcbiAgICAgIGF3YWl0IHRoaXMucmVjbGFpbUxlZnRvdmVyRW11bGF0b3IobWFya2VyLCBsaXZlRW11bGF0b3JQaWRzLCBwYXJhbXMuc2NvcGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wcyBhbiBlbXVsYXRvciB0aGlzIGhhcm5lc3Mgb3ducywgYW5kICoqdmVyaWZpZXMqKiBpdCBzdG9wcGVkLlxuICAgKlxuICAgKiBUaGUgY29uc29sZSBzaHV0ZG93biBnb2VzIGZpcnN0IGJlY2F1c2UgaXQgaXMgdGhlIG9ubHkgcGF0aCB0aGF0IHJlbGVhc2VzXG4gICAqIHRoZSBBVkQncyBgbXVsdGlpbnN0YW5jZS5sb2NrYDsgYSBgdGFza2tpbGxgIGxlYXZlcyB0aGUgbG9jayBiZWhpbmQsIGFuZCBhXG4gICAqIHN0YWxlIGxvY2sgaXMgd2hhdCBtYWtlcyB0aGUgbmV4dCBydW4gZmFpbCB3aXRoIGBSdW5uaW5nIG11bHRpcGxlIGVtdWxhdG9yc1xuICAgKiB3aXRoIHRoZSBzYW1lIEFWRGAgXHUyMDE0IGEgRkFUQUwgdGhlIGVtdWxhdG9yIHdyaXRlcyB0byBpdHMgb3duIHN0ZG91dCwgd2hlcmVcbiAgICogbm9ib2R5IHNlZXMgaXQuXG4gICAqXG4gICAqIFdvcmtzIHdpdGhvdXQgYSBsYXVuY2hlciBoYW5kbGUgdG9vOiBhIGxlZnRvdmVyIHRoaXMgcnVuIHRvb2sgb3ZlciBoYXMgb25seVxuICAgKiBpdHMgUElEcywgd2hpY2ggaXMgYWxsIHRoZSBlc2NhbGF0aW9uIGJlbG93IGV2ZXIgbmVlZGVkLiBUaGUgbWFya2VyIGdvZXNcbiAgICogb25seSB3aXRoIGEgKip2ZXJpZmllZCoqIHN0b3AsIHNvIGFuIGVtdWxhdG9yIHRoYXQgb3V0bGl2ZWQgdGhpcyBhdHRlbXB0XG4gICAqIHN0YXlzIGNvbnZpY3RhYmxlIGJ5IHRoZSBuZXh0IG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBlbXVsYXRvciBwcm9jZXNzLCB0aGUgZGV2aWNlIGl0IHNlcnZlcyBhbmQgdGhlIFBJRHMgdGhpcyBydW4gb3ducy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzdG9wRW11bGF0b3IocGFyYW1zOiBTdG9wRW11bGF0b3JQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAocGFyYW1zLmRldmljZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMua2lsbEVtdWxhdG9yQ29uc29sZShwYXJhbXMuZGV2aWNlSWQpO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmVtdWxhdG9yUHJvY2Vzcykge1xuICAgICAga2lsbFByb2Nlc3NUcmVlKHBhcmFtcy5lbXVsYXRvclByb2Nlc3MpO1xuICAgIH1cblxuICAgIGNvbnN0IHdhaXRQYXJhbXM6IFdhaXRGb3JFbXVsYXRvclN0b3BwZWRQYXJhbXMgPSB7XG4gICAgICBkZXZpY2VJZDogcGFyYW1zLmRldmljZUlkLFxuICAgICAgb3duZWRFbXVsYXRvclBpZHM6IHBhcmFtcy5vd25lZEVtdWxhdG9yUGlkcyxcbiAgICAgIHRpbWVvdXRJbk1pbGxpc2Vjb25kczogRU1VTEFUT1JfU1RPUF9USU1FT1VUX0lOX01JTExJU0VDT05EU1xuICAgIH07XG5cbiAgICBsZXQgaGFzRXNjYWxhdGVkID0gZmFsc2U7XG4gICAgbGV0IGlzU3RvcHBlZCA9IGF3YWl0IHRoaXMud2FpdEZvckVtdWxhdG9yU3RvcHBlZCh3YWl0UGFyYW1zKTtcblxuICAgIGlmICghaXNTdG9wcGVkKSB7XG4gICAgICBjb25zdCBzdXJ2aXZpbmdQaWRzID0gcGFyYW1zLm93bmVkRW11bGF0b3JQaWRzLmZpbHRlcigocGlkKSA9PiBjaGVja0lzUHJvY2Vzc0FsaXZlKHBpZCkpO1xuICAgICAgaWYgKHN1cnZpdmluZ1BpZHMubGVuZ3RoID4gMCkge1xuICAgICAgICBoYXNFc2NhbGF0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmxvZyhcbiAgICAgICAgICBgQXV0by1zdGFydGVkIGVtdWxhdG9yIG91dGxpdmVkIGl0cyBjb25zb2xlIHNodXRkb3duIGFuZCB0aGUgbGF1bmNoZXIncyBwcm9jZXNzIHRyZWU7IGVzY2FsYXRpbmcgdG8gdGhlIGVtdWxhdG9yIFBJRChzKSB0aGlzIHJ1biBvd25zOiBbJHtzdXJ2aXZpbmdQaWRzLmpvaW4oJywgJyl9XS5gXG4gICAgICAgICk7XG4gICAgICAgIGZvciAoY29uc3QgcGlkIG9mIHN1cnZpdmluZ1BpZHMpIHtcbiAgICAgICAgICBraWxsUHJvY2Vzc1RyZWVCeVBpZChwaWQpO1xuICAgICAgICB9XG4gICAgICAgIGlzU3RvcHBlZCA9IGF3YWl0IHRoaXMud2FpdEZvckVtdWxhdG9yU3RvcHBlZCh7IC4uLndhaXRQYXJhbXMsIHRpbWVvdXRJbk1pbGxpc2Vjb25kczogRU1VTEFUT1JfRVNDQUxBVEVEX1NUT1BfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2coYnVpbGRUZWFyZG93bk1lc3NhZ2Uoe1xuICAgICAgZXZpZGVuY2U6IHBhcmFtcy5kZXZpY2VJZCA9PT0gdW5kZWZpbmVkID8gYEFWRCBcIiR7cGFyYW1zLmF2ZE5hbWV9XCJgIDogYEFWRCBcIiR7cGFyYW1zLmF2ZE5hbWV9XCIgb24gZGV2aWNlICR7cGFyYW1zLmRldmljZUlkfWAsXG4gICAgICBvdXRjb21lOiByZXNvbHZlVGVhcmRvd25PdXRjb21lKHsgaGFzRXNjYWxhdGVkLCBpc1N0b3BwZWQgfSksXG4gICAgICBzdWJqZWN0OiAnQXV0by1zdGFydGVkIGVtdWxhdG9yJyxcbiAgICAgIHRpbWVvdXRJbk1pbGxpc2Vjb25kczogRU1VTEFUT1JfU1RPUF9USU1FT1VUX0lOX01JTExJU0VDT05EU1xuICAgIH0pKTtcblxuICAgIGlmIChpc1N0b3BwZWQpIHtcbiAgICAgIGNsZWFyRW11bGF0b3JNYXJrZXJJZlN0b3BwZWQocGFyYW1zLmF2ZE5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNpZGVzIHdoZXRoZXIgdGhlIGVtdWxhdG9yIHRoaXMgcnVuIHN0YXJ0ZWQgaXMgcmVhbGx5IGdvbmUuXG4gICAqXG4gICAqIFR3byBpbmRlcGVuZGVudCBwcm9vZnMsIGNoZWFwZXN0IGZpcnN0OiBub25lIG9mIHRoZSBQSURzIHRoaXMgcnVuIG93bnMgaXNcbiAgICogYWxpdmUsIGFuZCB0aGUgZGV2aWNlIG5vIGxvbmdlciBhcHBlYXJzIGluIGBhZGIgZGV2aWNlc2AgKippbiBhbnkgc3RhdGUqKiAoYVxuICAgKiBkeWluZyBlbXVsYXRvciBhbnN3ZXJzIGBvZmZsaW5lYCB3aGlsZSBpdCBzdGlsbCBob2xkcyB0aGUgQVZEKS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBkZXZpY2UgYW5kIHRoZSBQSURzIHRoaXMgcnVuIG93bnMuXG4gICAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIG5vdGhpbmcgb2YgdGhpcyBydW4ncyBlbXVsYXRvciBpcyBsZWZ0LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0lzRW11bGF0b3JHb25lKHBhcmFtczogQ2hlY2tJc0VtdWxhdG9yR29uZVBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmIChwYXJhbXMub3duZWRFbXVsYXRvclBpZHMuc29tZSgocGlkKSA9PiBjaGVja0lzUHJvY2Vzc0FsaXZlKHBpZCkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5kZXZpY2VJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuICFjaGVja0lzRGV2aWNlTGlzdGVkKHsgZGV2aWNlSWQ6IHBhcmFtcy5kZXZpY2VJZCwgZGV2aWNlc091dHB1dDogYXdhaXQgdGhpcy5nZXREZXZpY2VzT3V0cHV0KCkgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIC8qXG4gICAgICAgKiBBbiBhZGIgdGhhdCBjYW5ub3QgcnVuIGlzIG5vdCBldmlkZW5jZSBhYm91dCB0aGUgZW11bGF0b3IgXHUyMDE0IGFuZCB0aGUgUElEXG4gICAgICAgKiBwcm9iZSBhYm92ZSBoYXMgYWxyZWFkeSBzYWlkIHRoaXMgcnVuJ3MgcHJvY2Vzc2VzIGFyZSBnb25lLCB3aGljaCBpcyB0aGVcbiAgICAgICAqIHN0cm9uZ2VyIG9mIHRoZSB0d28gcHJvb2ZzLlxuICAgICAgICovXG4gICAgICB0aGlzLmxvZyhgQ291bGQgbm90IHJlLWNoZWNrIGNvbm5lY3RlZCBkZXZpY2VzIHdoaWxlIHN0b3BwaW5nIHRoZSBlbXVsYXRvcjogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcil9YCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXNrcyB0aGUgZW11bGF0b3IgdG8gc2h1dCBpdHNlbGYgZG93biBvdmVyIGl0cyBjb25zb2xlLlxuICAgKlxuICAgKiBQcmVmZXJyZWQgb3ZlciBraWxsaW5nIHRoZSBwcm9jZXNzIG91dHJpZ2h0IGJlY2F1c2UgaXQgaXMgdGhlIHBhdGggdGhhdFxuICAgKiByZWxlYXNlcyB0aGUgQVZEJ3MgYG11bHRpaW5zdGFuY2UubG9ja2AuIEJlc3QtZWZmb3J0OiBhIGNvbnNvbGUgdGhhdCBkb2VzXG4gICAqIG5vdCBhbnN3ZXIgaXMgcmVwb3J0ZWQgYW5kIHRoZSBjYWxsZXIgZmFsbHMgdGhyb3VnaCB0byB0aGUga2lsbC5cbiAgICpcbiAgICogQHBhcmFtIGRldmljZUlkIC0gVGhlIGVtdWxhdG9yJ3MgZGV2aWNlIElELlxuICAgKi9cbiAgcHJpdmF0ZSBraWxsRW11bGF0b3JDb25zb2xlKGRldmljZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgIGV4ZWNGaWxlKCdhZGInLCBbJy1zJywgZGV2aWNlSWQsICdlbXUnLCAna2lsbCddLCB7IHRpbWVvdXQ6IEFEQl9ERVZJQ0VfQ0hFQ0tfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgfSwgKGVycm9yLCBzdGRvdXQpID0+IHtcbiAgICAgICAgdGhpcy5sb2coXG4gICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgID8gYEVtdWxhdG9yIGNvbnNvbGUgc2h1dGRvd24gZm9yICR7ZGV2aWNlSWR9IGRpZCBub3QgYW5zd2VyOiAke2Vycm9yLm1lc3NhZ2V9YFxuICAgICAgICAgICAgOiBgRW11bGF0b3IgY29uc29sZSBzaHV0ZG93biBmb3IgJHtkZXZpY2VJZH06ICR7c3Rkb3V0LnRyaW0oKX1gXG4gICAgICAgICk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdHMgb24gb25lIGVtdWxhdG9yIG1hcmtlciBmb3Ige0BsaW5rIHJlY2xhaW1MZWZ0b3ZlckVtdWxhdG9yc30uXG4gICAqXG4gICAqIEBwYXJhbSBtYXJrZXIgLSBUaGUgbWFya2VyIHRvIGp1ZGdlLlxuICAgKiBAcGFyYW0gbGl2ZUVtdWxhdG9yUGlkcyAtIFRoZSBlbXVsYXRvciBwcm9jZXNzZXMgY3VycmVudGx5IHJ1bm5pbmcgb24gdGhlIGhvc3QuXG4gICAqIEBwYXJhbSBzY29wZSAtIFdoZXRoZXIgYW4gZW11bGF0b3IgYW5vdGhlciBsaXZlIGhhcm5lc3MgcHJvY2VzcyBvd25zIGlzIHNwYXJlZC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVjbGFpbUxlZnRvdmVyRW11bGF0b3IobWFya2VyOiBFbXVsYXRvck1hcmtlciwgbGl2ZUVtdWxhdG9yUGlkczogcmVhZG9ubHkgbnVtYmVyW10sIHNjb3BlOiBSZWNsYWltTGVmdG92ZXJFbXVsYXRvcnNQYXJhbXNbJ3Njb3BlJ10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2ZXJkaWN0ID0gcmVzb2x2ZUVtdWxhdG9yTWFya2VyVmVyZGljdCh7XG4gICAgICBjdXJyZW50UGlkOiBwcm9jZXNzLnBpZCxcbiAgICAgIGlzT3duZXJBbGl2ZTogY2hlY2tJc1Byb2Nlc3NBbGl2ZShtYXJrZXIub3duZXJQaWQpLFxuICAgICAgbGl2ZUVtdWxhdG9yUGlkcyxcbiAgICAgIG1hcmtlclxuICAgIH0pO1xuXG4gICAgaWYgKHZlcmRpY3QgPT09ICdzdGFsZS1tYXJrZXInKSB7XG4gICAgICB0aGlzLmxvZyhgRHJvcHBpbmcgdGhlIGVtdWxhdG9yIG1hcmtlciBmb3IgQVZEIFwiJHttYXJrZXIuYXZkTmFtZX1cIjogbm9uZSBvZiBpdHMgUElEcyBbJHttYXJrZXIub3duZWRFbXVsYXRvclBpZHMuam9pbignLCAnKX1dIGlzIGEgcnVubmluZyBlbXVsYXRvciBhbnkgbW9yZS5gKTtcbiAgICAgIGNsZWFyRW11bGF0b3JNYXJrZXIobWFya2VyLmF2ZE5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQSBtYXJrZXIgd3JpdHRlbiBhdCBsYXVuY2ggaGFzIG5vIGRldmljZSB5ZXQ6IHRoZSBlbXVsYXRvciB3YXMgc3RpbGxcbiAgICAgKiBib290aW5nIHdoZW4gd2hhdGV2ZXIgcmVjb3JkZWQgaXQgc3RvcHBlZCBsb29raW5nLiBUaGUgc3RvcCBiZWxvdyByZWFkc1xuICAgICAqIHRoYXQgYWJzZW5jZSBjb3JyZWN0bHkgXHUyMDE0IG5vIGNvbnNvbGUgdG8gc2h1dCBkb3duLCB0aGUgb3duZWQgUElEcyBhcmUgdGhlXG4gICAgICogd2hvbGUgb2YgdGhlIGV2aWRlbmNlIFx1MjAxNCBzbyBpdCBpcyBkZXNjcmliZWQgcmF0aGVyIHRoYW4gcGFwZXJlZCBvdmVyLlxuICAgICAqL1xuICAgIGNvbnN0IGV2aWRlbmNlID0gZGVzY3JpYmVNYXJrZWRFbXVsYXRvcihtYXJrZXIpO1xuXG4gICAgaWYgKHZlcmRpY3QgPT09ICdpbi11c2UtYnktbGl2ZS1ydW4nICYmIHNjb3BlID09PSAncHJlZmxpZ2h0Jykge1xuICAgICAgdGhpcy5sb2coYExlYXZpbmcgdGhlIGVtdWxhdG9yIGZvciAke2V2aWRlbmNlfSBhbG9uZTogdGhlIGhhcm5lc3MgcHJvY2VzcyB0aGF0IG93bnMgaXQgKFBJRCAke1N0cmluZyhtYXJrZXIub3duZXJQaWQpfSkgaXMgc3RpbGwgcnVubmluZy5gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhZ2VJblNlY29uZHMgPSBNYXRoLnJvdW5kKChEYXRlLm5vdygpIC0gbWFya2VyLnN0YXJ0ZWRBdEluTWlsbGlzZWNvbmRzKSAvIE1JTExJU0VDT05EU19QRVJfU0VDT05EKTtcbiAgICB0aGlzLmxvZyhcbiAgICAgIGBTdG9wcGluZyB0aGUgZW11bGF0b3IgZm9yICR7ZXZpZGVuY2V9OiB0aGlzIGhhcm5lc3Mgc3RhcnRlZCBpdCAke1N0cmluZyhhZ2VJblNlY29uZHMpfXMgYWdvLCBhbmQgbm8gbGl2ZSBydW4gaXMgbGVmdCB0byBzdG9wIGl0LmBcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuc3RvcEVtdWxhdG9yKHtcbiAgICAgIGF2ZE5hbWU6IG1hcmtlci5hdmROYW1lLFxuICAgICAgZGV2aWNlSWQ6IG1hcmtlci5kZXZpY2VJZCxcbiAgICAgIG93bmVkRW11bGF0b3JQaWRzOiBzZWxlY3RMaXZlTWFya2VkUGlkcyhtYXJrZXIsIGxpdmVFbXVsYXRvclBpZHMpXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUG9sbHMgdW50aWwgdGhpcyBydW4ncyBlbXVsYXRvciBpcyBnb25lLCBvciB0aGUgYnVkZ2V0IGVsYXBzZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZGV2aWNlLCB0aGUgUElEcyB0aGlzIHJ1biBvd25zLCBhbmQgdGhlIGJ1ZGdldC5cbiAgICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIGVtdWxhdG9yIGRpc2FwcGVhcmVkIHdpdGhpbiB0aGUgYnVkZ2V0LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB3YWl0Rm9yRW11bGF0b3JTdG9wcGVkKHBhcmFtczogV2FpdEZvckVtdWxhdG9yU3RvcHBlZFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRlYWRsaW5lID0gRGF0ZS5ub3coKSArIHBhcmFtcy50aW1lb3V0SW5NaWxsaXNlY29uZHM7XG5cbiAgICB3aGlsZSAoRGF0ZS5ub3coKSA8IGRlYWRsaW5lKSB7XG4gICAgICBpZiAoYXdhaXQgdGhpcy5jaGVja0lzRW11bGF0b3JHb25lKHBhcmFtcykpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgRU1VTEFUT1JfU1RPUF9QT0xMX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIHBsYXRmb3JtJ3MgXCJsaXN0IGV2ZXJ5IHByb2Nlc3NcIiBxdWVyeS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgY29tbWFuZCBhbmQgYXJndW1lbnRzIHRvIHJ1bi5cbiAqL1xuZnVuY3Rpb24gYnVpbGRIb3N0UHJvY2Vzc1F1ZXJ5KCk6IEhvc3RDb21tYW5kUXVlcnkge1xuICByZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuICAgID8geyBjb21tYW5kOiAndGFza2xpc3QnLCBjb21tYW5kQXJndW1lbnRzOiBbJy9GTycsICdDU1YnLCAnL05IJ10gfVxuICAgIDogeyBjb21tYW5kOiAncHMnLCBjb21tYW5kQXJndW1lbnRzOiBbJy1lbycsICdwaWQ9LGNvbW09J10gfTtcbn1cblxuLyoqXG4gKiBOYW1lcyB0aGUgZW11bGF0b3IgYSBtYXJrZXIgZGVzY3JpYmVzLCBmb3IgdGhlIGxvZy5cbiAqXG4gKiBAcGFyYW0gbWFya2VyIC0gVGhlIG1hcmtlci5cbiAqIEByZXR1cm5zIFRoZSBBVkQgYW5kIGl0cyBkZXZpY2UsIG9yIHRoZSBBVkQgYWxvbmUgZm9yIGEgbGF1bmNoIHRoYXQgaGFkIG5vdCBwcm9kdWNlZCBhIGRldmljZSB5ZXQuXG4gKi9cbmZ1bmN0aW9uIGRlc2NyaWJlTWFya2VkRW11bGF0b3IobWFya2VyOiBFbXVsYXRvck1hcmtlcik6IHN0cmluZyB7XG4gIHJldHVybiBtYXJrZXIuZGV2aWNlSWQgPT09IHVuZGVmaW5lZFxuICAgID8gYEFWRCBcIiR7bWFya2VyLmF2ZE5hbWV9XCIgKG5vIGRldmljZTogaXQgd2FzIHN0aWxsIGJvb3Rpbmcgd2hlbiBpdCB3YXMgcmVjb3JkZWQpYFxuICAgIDogYEFWRCBcIiR7bWFya2VyLmF2ZE5hbWV9XCIgb24gZGV2aWNlICR7bWFya2VyLmRldmljZUlkfWA7XG59XG5cbi8qKlxuICogUGFyc2VzIGEgaG9zdCBwcm9jZXNzIGxpc3Rpbmcgd2l0aCB0aGUgcGxhdGZvcm0ncyBwYXJzZXIuXG4gKlxuICogQHBhcmFtIG91dHB1dCAtIFJhdyBzdGRvdXQgb2Yge0BsaW5rIGJ1aWxkSG9zdFByb2Nlc3NRdWVyeX0ncyBjb21tYW5kLlxuICogQHJldHVybnMgVGhlIGxpc3RlZCBwcm9jZXNzZXMuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlSG9zdFByb2Nlc3NMaXN0KG91dHB1dDogc3RyaW5nKTogUHJvY2Vzc0xpc3RFbnRyeVtdIHtcbiAgcmV0dXJuIHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgPyBwYXJzZVdpbmRvd3NUYXNrTGlzdChvdXRwdXQpIDogcGFyc2VQb3NpeFByb2Nlc3NMaXN0KG91dHB1dCk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiQUFtQkEsU0FBUyxnQkFBZ0I7QUFDekIsT0FBTyxhQUFhO0FBS3BCLFNBQVMsMkJBQTJCO0FBQ3BDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLDJCQUEyQjtBQUNwQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtBLE1BQU0sMkNBQTJDO0FBUWpELE1BQU0sa0NBQWtDO0FBU3hDLE1BQU0sNkNBQTZDO0FBRTFELE1BQU0sa0RBQWtEO0FBQ3hELE1BQU0sOENBQThDO0FBQ3BELE1BQU0sd0NBQXdDO0FBQzlDLE1BQU0sMEJBQTBCO0FBaUd6QixN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
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VtdWxhdG9yLXJlY2xhaW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTdG9wcyB0aGUgZW11bGF0b3JzIHRoaXMgaGFybmVzcyBzdGFydGVkLCBhbmQgKip2ZXJpZmllcyoqIGVhY2ggc3RvcCBcdTIwMTQgdGhlXG4gKiBtYXJrZXItZHJpdmVuIGhhbGYgb2YgZW11bGF0b3Igb3duZXJzaGlwIChgZW11bGF0b3ItbWFya2VyLnRzYCwgKipMNTYqKikuXG4gKlxuICogSXQgbGl2ZXMgYXBhcnQgZnJvbSBgdHJhbnNwb3J0LWZhY3RvcnkudHNgIHNvIHRoYXQgYSBwcm9jZXNzIHdpdGggbm8gYnVzaW5lc3NcbiAqIGxvYWRpbmcgdGhlIHdob2xlIHRyYW5zcG9ydCBzdGFjayBjYW4gc3RpbGwgc3RvcCBhbiBlbXVsYXRvciBjb3JyZWN0bHkuIFRoYXRcbiAqIHByb2Nlc3MgaXMgdGhlIGVtdWxhdG9yIHJlYXBlciAoYGVtdWxhdG9yLXJlYXBlci50c2ApOiBpdCBydW5zIGRldGFjaGVkIGZyb21cbiAqIGFueSB0ZXN0IHJ1bm5lciwgYW5kIGluIHRoaXMgcmVwbydzIG93biBzdWl0ZXMgaXQgcnVucyBzdHJhaWdodCBmcm9tIHNvdXJjZVxuICogdW5kZXIgTm9kZSdzIHR5cGUgc3RyaXBwaW5nLCB3aGVyZSBhIG1vZHVsZSByZWFkaW5nIHRoZSBidWlsZC10aW1lXG4gKiBgT0JTSURJQU5fTUVUQURBVEFgIGdsb2JhbCBcdTIwMTQgd2hpY2ggdGhlIGZhY3RvcnkncyBpbXBvcnQgZ3JhcGggcmVhY2hlcyBcdTIwMTRcbiAqIGNhbm5vdCBsb2FkIGF0IGFsbC4gU28gbm90aGluZyB0aGlzIG1vZHVsZSBpbXBvcnRzIG1heSByZWFjaCBpdCBlaXRoZXIuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVncmF0aW9uLXRpbWUgZW11bGF0b3IgbWFuYWdlbWVudCBjb3ZlcmVkIGJ5IHRoZSBBbmRyb2lkIGludGVncmF0aW9uIHN1aXRlLCBub3QgdW5pdCB0ZXN0cy4gKi9cblxuaW1wb3J0IHR5cGUgeyBDaGlsZFByb2Nlc3MgfSBmcm9tICdub2RlOmNoaWxkX3Byb2Nlc3MnO1xuXG5pbXBvcnQgeyBleGVjRmlsZSB9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgdHlwZSB7IFByb2Nlc3NMaXN0RW50cnkgfSBmcm9tICcuL2VtdWxhdG9yLWJhY2tlbmQubWpzJztcbmltcG9ydCB0eXBlIHsgRW11bGF0b3JNYXJrZXIgfSBmcm9tICcuL2VtdWxhdG9yLW1hcmtlci5tanMnO1xuXG5pbXBvcnQgeyBjaGVja0lzRGV2aWNlTGlzdGVkIH0gZnJvbSAnLi9hZGItZGV2aWNlLWxpc3QubWpzJztcbmltcG9ydCB7XG4gIHBhcnNlUG9zaXhQcm9jZXNzTGlzdCxcbiAgcGFyc2VXaW5kb3dzVGFza0xpc3QsXG4gIHNlbGVjdEVtdWxhdG9yQmFja2VuZFBpZHNcbn0gZnJvbSAnLi9lbXVsYXRvci1iYWNrZW5kLm1qcyc7XG5pbXBvcnQge1xuICBjbGVhckVtdWxhdG9yTWFya2VyLFxuICBjbGVhckVtdWxhdG9yTWFya2VySWZTdG9wcGVkLFxuICBsaXN0RW11bGF0b3JNYXJrZXJzLFxuICByZXNvbHZlRW11bGF0b3JNYXJrZXJWZXJkaWN0LFxuICBzZWxlY3RMaXZlTWFya2VkUGlkc1xufSBmcm9tICcuL2VtdWxhdG9yLW1hcmtlci5tanMnO1xuaW1wb3J0IHtcbiAga2lsbFByb2Nlc3NUcmVlLFxuICBraWxsUHJvY2Vzc1RyZWVCeVBpZFxufSBmcm9tICcuL2tpbGwtcHJvY2Vzcy10cmVlLm1qcyc7XG5pbXBvcnQgeyBjaGVja0lzUHJvY2Vzc0FsaXZlIH0gZnJvbSAnLi9wcm9jZXNzLWxpdmVuZXNzLm1qcyc7XG5pbXBvcnQge1xuICBidWlsZFRlYXJkb3duTWVzc2FnZSxcbiAgcmVzb2x2ZVRlYXJkb3duT3V0Y29tZVxufSBmcm9tICcuL3RlYXJkb3duLXZlcmRpY3QubWpzJztcblxuLyoqXG4gKiBCdWRnZXQgZm9yIG9uZSBxdWljayBgYWRiYCBjYWxsIFx1MjAxNCBgYWRiIGRldmljZXNgLCBhIGNvbnNvbGUgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFEQl9ERVZJQ0VfQ0hFQ0tfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSA1MDAwO1xuXG4vKlxuICogYGR1bXBzeXMgY29ubmVjdGl2aXR5YCBpcyBmYXIgbGFyZ2VyIHRoYW4gdGhlIG90aGVyIHByb2Jlcycgb3V0cHV0LCBhbmQgTm9kZSdzXG4gKiBkZWZhdWx0IDEgTWlCIGBtYXhCdWZmZXJgIHdvdWxkIGZhaWwgdGhlIGNhbGwgcmF0aGVyIHRoYW4gdHJ1bmNhdGUgaXQgXHUyMDE0IHdoaWNoXG4gKiB3b3VsZCByZWFkIGFzIFwibm90IHJlYWR5XCIgZm9yZXZlciBhbmQgYnVybiB0aGUgd2hvbGUgbmV0d29yayBidWRnZXQuIEEgaG9zdFxuICogcHJvY2VzcyBsaXN0aW5nIHNoYXJlcyB0aGUgc2FtZSBjZWlsaW5nLlxuICovXG5leHBvcnQgY29uc3QgQURCX0RVTVBTWVNfTUFYX0JVRkZFUl9JTl9CWVRFUyA9IDhfMzg4XzYwODtcblxuLypcbiAqIDMwcywgbm90IHRoZSAxMHMgYSBgdGFza2xpc3RgIGNvc3RzIG9uIGFuIGlkbGUgaG9zdDogdGhpcyBxdWVyeSBydW5zIGluIHRoZVxuICogc2FtZSBwb3N0LWJvb3QgY29udGVudGlvbiB3aW5kb3cgdGhhdCBpbmZsYXRlcyBldmVyeSBgYWRiYCByb3VuZC10cmlwIDI1LTUweFxuICogKEw0NSksIGFuZCB0aGUgZmlyc3QgZW5kLXRvLWVuZCBydW4gb3ZlcnJhbiBhIDEwcyBidWRnZXQgdGhlcmUgXHUyMDE0IHNpbGVudGx5XG4gKiBkaXNhcm1pbmcgdGhlIHRlYXJkb3duIGVzY2FsYXRpb24uIFNpemVkIGxpa2UgYEFEQl9EVU1QU1lTX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTYCxcbiAqIGZvciB0aGUgc2FtZSByZWFzb24uXG4gKi9cbmV4cG9ydCBjb25zdCBIT1NUX1BST0NFU1NfUVVFUllfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgPSAzMF8wMDA7XG5cbmNvbnN0IEVNVUxBVE9SX0VTQ0FMQVRFRF9TVE9QX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gNTAwMDtcbmNvbnN0IEVNVUxBVE9SX1NUT1BfUE9MTF9JTlRFUlZBTF9JTl9NSUxMSVNFQ09ORFMgPSA1MDA7XG5jb25zdCBFTVVMQVRPUl9TVE9QX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gMjBfMDAwO1xuY29uc3QgTUlMTElTRUNPTkRTX1BFUl9TRUNPTkQgPSAxMDAwO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBFbXVsYXRvclJlY2xhaW1lci5yZWNsYWltTGVmdG92ZXJFbXVsYXRvcnN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtdWxhdG9yUmVjbGFpbWVyUmVjbGFpbUxlZnRvdmVyRW11bGF0b3JzUGFyYW1zIHtcbiAgLyoqXG4gIEFuIEFWRCB3aG9zZSBsZWZ0b3ZlciBpcyBsZWZ0IGFsb25lIFx1MjAxNCB0aGUgb25lIGEgcHJlZmxpZ2h0IGlzIGFib3V0IHRvIGFkb3B0IGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSBleGNlcHRBdmROYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBgJ3ByZWZsaWdodCdgIHNwYXJlcyBhbiBlbXVsYXRvciBhbm90aGVyIGxpdmUgaGFybmVzcyBwcm9jZXNzIHN0aWxsIG93bnMuXG4gICAqIGAnZW5kLW9mLXJ1bidgIGRvZXMgbm90OiB0aGUgY2FsbGVyIGhvbGRzIHRoZSBgYW5kcm9pZGAgbG9jayB3aXRoIG5vIHJ1biBpblxuICAgKiBmbGlnaHQgXHUyMDE0IHRoZSBydW4ncyBvd24gZ2xvYmFsIHRlYXJkb3duLCBvciB0aGUgZW11bGF0b3IgcmVhcGVyIGFmdGVyIHRoZVxuICAgKiBydW4gaXMgZ29uZSBcdTIwMTQgc28gdGhhdCBvd25lciBjYW4gb25seSBiZSBvbmUgb2YgdGhlIGZpbmlzaGVkIHJ1bidzXG4gICAqIHByb2Nlc3Nlcywgd2hpY2ggbm8gbG9uZ2VyIGhhcyBhIHR1cm4gdG8gc3RvcCBpdC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiAnZW5kLW9mLXJ1bicgfCAncHJlZmxpZ2h0Jztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgRW11bGF0b3JSZWNsYWltZXIuc3RvcEVtdWxhdG9yfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbXVsYXRvclJlY2xhaW1lclN0b3BFbXVsYXRvclBhcmFtcyB7XG4gIC8qKlxuICBUaGUgQVZEIG5hbWUsIG5hbWVkIGluIHRoZSB3YXJuaW5nIHNvIHRoZSBsZWZ0b3ZlciBpcyBpZGVudGlmaWFibGUsIGFuZCB0aGUga2V5IG9mIGl0cyBtYXJrZXIuXG4gICAqL1xuICByZWFkb25seSBhdmROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXZpY2UgdGhlIGVtdWxhdG9yIGlzIHNlcnZpbmcsIHNodXQgZG93biBvdmVyIGl0cyBjb25zb2xlIGFuZCBwb2xsZWRcbiAgICogdG8gZGVjaWRlIHdoZXRoZXIgaXQgYWN0dWFsbHkgc3RvcHBlZC4gYHVuZGVmaW5lZGAgd2hlbiB0aGUgZW11bGF0b3IgZmFpbGVkXG4gICAqIGJlZm9yZSBhbnkgZGV2aWNlIGFwcGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlSWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBlbXVsYXRvciBsYXVuY2hlciBwcm9jZXNzIHRoaXMgcnVuIHNwYXduZWQuIGB1bmRlZmluZWRgIGZvciBhIGxlZnRvdmVyXG4gICAqIHRoaXMgcnVuIHRvb2sgb3Zlciwgd2hvc2UgbGF1bmNoZXIgYmVsb25nZWQgdG8gYW5vdGhlciBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW11bGF0b3JQcm9jZXNzPzogQ2hpbGRQcm9jZXNzIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICBUaGUgZW11bGF0b3IgUElEcyB0aGlzIHJ1biBvd25zLCBlc2NhbGF0ZWQgdG8gd2hlbiB0aGUgY29uc29sZSBhbmQgdGhlIGxhdW5jaGVyJ3MgdHJlZSBraWxsIGxlYXZlIG9uZSBiZWhpbmQuXG4gICAqL1xuICByZWFkb25seSBvd25lZEVtdWxhdG9yUGlkczogcmVhZG9ubHkgbnVtYmVyW107XG59XG5cbi8qKlxuICogQSBob3N0IGNvbW1hbmQgYW5kIGl0cyBhcmd1bWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdENvbW1hbmRRdWVyeSB7XG4gIC8qKlxuICBUaGUgZXhlY3V0YWJsZSB0byBydW4uXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmc7XG5cbiAgLyoqXG4gIFRoZSBjb21tYW5kJ3MgYXJndW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZEFyZ3VtZW50czogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBFbXVsYXRvclJlY2xhaW1lckNoZWNrSXNFbXVsYXRvckdvbmVQYXJhbXMge1xuICAvKipcbiAgVGhlIGRldmljZSB0aGUgZW11bGF0b3Igc2VydmVzLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5vbmUgZXZlciBhcHBlYXJlZCBcdTIwMTQgdGhlIFBJRHMgYXJlIHRoZW4gdGhlIG9ubHkgcHJvb2YuXG4gICAqL1xuICByZWFkb25seSBkZXZpY2VJZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgVGhlIGVtdWxhdG9yIFBJRHMgdGhpcyBydW4gb3ducy5cbiAgICovXG4gIHJlYWRvbmx5IG93bmVkRW11bGF0b3JQaWRzOiByZWFkb25seSBudW1iZXJbXTtcbn1cblxuaW50ZXJmYWNlIEVtdWxhdG9yUmVjbGFpbWVyV2FpdEZvckVtdWxhdG9yU3RvcHBlZFBhcmFtcyB7XG4gIC8qKlxuICBUaGUgZGV2aWNlIHRoZSBlbXVsYXRvciBzZXJ2ZXMsIG9yIGB1bmRlZmluZWRgIHdoZW4gbm9uZSBldmVyIGFwcGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlSWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gIFRoZSBlbXVsYXRvciBQSURzIHRoaXMgcnVuIG93bnMuXG4gICAqL1xuICByZWFkb25seSBvd25lZEVtdWxhdG9yUGlkczogcmVhZG9ubHkgbnVtYmVyW107XG5cbiAgLyoqXG4gIEhvdyBsb25nIHRvIHdhaXQgZm9yIHRoZSBlbXVsYXRvciB0byBkaXNhcHBlYXIsIGluIG1pbGxpc2Vjb25kcy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZpbmRzLCBzdG9wcyBhbmQgdmVyaWZpZXMgdGhlIGhhcm5lc3MncyBlbXVsYXRvcnMsIHJlcG9ydGluZyB0aHJvdWdoIHRoZVxuICogY2FsbGVyJ3MgbG9nIHNvIGVhY2ggY2FsbGVyIGtlZXBzIGl0cyBvd24gcHJlZml4LlxuICovXG5leHBvcnQgY2xhc3MgRW11bGF0b3JSZWNsYWltZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJlY2xhaW1lciB0aGF0IHJlcG9ydHMgdW5kZXIgdGhlIGNhbGxlcidzIG93biBsb2cgcHJlZml4LlxuICAgKlxuICAgKiBAcGFyYW0gbG9nIC0gUmVjZWl2ZXMgZXZlcnkgcHJvZ3Jlc3MgYW5kIHZlcmRpY3QgbGluZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihsb2c6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICB0aGlzLmxvZyA9IGxvZztcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGBhZGIgZGV2aWNlc2AgYW5kIHJldHVybnMgaXRzIHJhdyBzdGRvdXQuXG4gICAqXG4gICAqIFRoZSByYXcgbGlzdGluZyBpcyB3aGF0IHRlYXJkb3duIG5lZWRzOiBgZ2V0Q29ubmVjdGVkRGV2aWNlSWRzYCBrZWVwcyBvbmx5XG4gICAqIHRoZSBgZGV2aWNlYCBzdGF0ZSwgYW5kIGFuIGVtdWxhdG9yIG9uIGl0cyB3YXkgb3V0IGFuc3dlcnMgYG9mZmxpbmVgIHdoaWxlXG4gICAqIHN0aWxsIGhvbGRpbmcgdGhlIEFWRCBcdTIwMTQgc2VlIGBhZGItZGV2aWNlLWxpc3QudHNgLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgcmF3IGBhZGIgZGV2aWNlc2Agb3V0cHV0LlxuICAgKiBAdGhyb3dzIElmIGFkYiBjb3VsZCBub3QgYmUgcnVuIGF0IGFsbC5cbiAgICovXG4gIHB1YmxpYyBnZXREZXZpY2VzT3V0cHV0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgZXhlY0ZpbGUoJ2FkYicsIFsnZGV2aWNlcyddLCB7IHRpbWVvdXQ6IEFEQl9ERVZJQ0VfQ0hFQ0tfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgfSwgKGVycm9yLCBzdGRvdXQsIHN0ZGVycikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gcnVuICdhZGIgZGV2aWNlcyc6ICR7ZXJyb3IubWVzc2FnZX0uIElzIEFEQiBpbnN0YWxsZWQgYW5kIGluIFBBVEg/YCkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RkZXJyKSB7XG4gICAgICAgICAgdGhpcy5sb2coYEFEQiBzdGRlcnI6ICR7c3RkZXJyLnRyaW0oKX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXNvbHZlKHN0ZG91dCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0cyBldmVyeSBwcm9jZXNzIG9uIHRoZSBob3N0LlxuICAgKlxuICAgKiBBIGhvc3QgYWx3YXlzIGhhcyBwcm9jZXNzZXMsIHNvIGEgbGlzdGluZyB0aGF0IHBhcnNlcyB0byAqKnplcm8qKiByb3dzIGlzIGFcbiAgICogZmFpbGVkIHF1ZXJ5IGhvd2V2ZXIgaXQgZXhpdGVkLCBhbmQgY29tZXMgYmFjayBhcyBgdW5kZWZpbmVkYCBleGFjdGx5IGxpa2VcbiAgICogb25lIHRoYXQgZGlkIG5vdCBydW4gXHUyMDE0IG5ldmVyIGFzIGFuIGVtcHR5IGxpc3QgYSBjYWxsZXIgY291bGQgcmVhZCBhcyBcIm5vXG4gICAqIGVtdWxhdG9yIGlzIHJ1bm5pbmdcIi5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGhvc3QncyBwcm9jZXNzZXMsIG9yIGB1bmRlZmluZWRgIHdoZW4gdGhlIGxpc3RpbmcgZmFpbGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHF1ZXJ5SG9zdFByb2Nlc3NlcygpOiBQcm9taXNlPFByb2Nlc3NMaXN0RW50cnlbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gYnVpbGRIb3N0UHJvY2Vzc1F1ZXJ5KCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSkgPT4ge1xuICAgICAgZXhlY0ZpbGUoXG4gICAgICAgIHF1ZXJ5LmNvbW1hbmQsXG4gICAgICAgIHF1ZXJ5LmNvbW1hbmRBcmd1bWVudHMsXG4gICAgICAgIHsgbWF4QnVmZmVyOiBBREJfRFVNUFNZU19NQVhfQlVGRkVSX0lOX0JZVEVTLCB0aW1lb3V0OiBIT1NUX1BST0NFU1NfUVVFUllfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMgfSxcbiAgICAgICAgKGVycm9yLCBzdGRvdXQpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMubG9nKGBXYXJuaW5nOiBjb3VsZCBub3QgbGlzdCBob3N0IHByb2Nlc3NlcyAoXFxgJHtxdWVyeS5jb21tYW5kfVxcYCk6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzb2x2ZShlcnJvciA/ICcnIDogc3Rkb3V0KTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHByb2Nlc3NlcyA9IHBhcnNlSG9zdFByb2Nlc3NMaXN0KG91dHB1dCk7XG4gICAgaWYgKHByb2Nlc3Nlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubG9nKGBXYXJuaW5nOiBcXGAke3F1ZXJ5LmNvbW1hbmR9XFxgIGxpc3RlZCBubyBwcm9jZXNzZXMuYCk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9jZXNzZXM7XG4gIH1cblxuICAvKipcbiAgICogU3RvcHMgdGhlIGVtdWxhdG9ycyB0aGlzIGhhcm5lc3Mgc3RhcnRlZCB0aGF0IG5vIGxpdmUgcnVuIGlzIHJlc3BvbnNpYmxlXG4gICAqIGZvciwgYW5kIGRyb3BzIHRoZSBtYXJrZXJzIHRoYXQgbm8gbG9uZ2VyIGRlc2NyaWJlIGEgcnVubmluZyBlbXVsYXRvci5cbiAgICpcbiAgICogT25seSBldmVyIGFjdHMgb24gYSAqKm1hcmtlci12ZXJpZmllZCoqIGVtdWxhdG9yOiBvbmUgd2hvc2UgbWFya2VyIG5hbWVzIGFcbiAgICogUElEIHRoYXQgaXMgc3RpbGwgYSBsaXZlIGVtdWxhdG9yIHByb2Nlc3MuIEFuIGVtdWxhdG9yIHdpdGhvdXQgYSBtYXJrZXIgXHUyMDE0XG4gICAqIGJvb3RlZCBieSBoYW5kLCBieSBDSSwgb3IgYnkgYW5vdGhlciB0b29sIFx1MjAxNCBpcyBuZXZlciB0b3VjaGVkLCB3aGljaCBrZWVwc1xuICAgKiB0aGUgTDQ2IGxpbmU6IG5ldmVyIGEgYHFlbXUqYCBzd2VlcC5cbiAgICpcbiAgICogQ2FsbGVycyBtdXN0IGhvbGQgdGhlIGBhbmRyb2lkYCBzZXR1cCBsb2NrIChMNyksIHdoaWNoIGlzIHdoYXQgbWFrZXMgYVxuICAgKiBsZWZ0b3ZlciBzYWZlIHRvIHN0b3A6IG5vIG90aGVyIEFuZHJvaWQgcnVuIGNhbiBiZSBtaWQtZmxpZ2h0IG9uIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gV2hpY2ggQVZEIHRvIGxlYXZlIGFsb25lLCBhbmQgd2hldGhlciB0aGlzIHJ1biBpcyBlbmRpbmcuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVjbGFpbUxlZnRvdmVyRW11bGF0b3JzKHBhcmFtczogRW11bGF0b3JSZWNsYWltZXJSZWNsYWltTGVmdG92ZXJFbXVsYXRvcnNQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtYXJrZXJzID0gbGlzdEVtdWxhdG9yTWFya2VycygpLmZpbHRlcigobWFya2VyKSA9PiBtYXJrZXIuYXZkTmFtZSAhPT0gcGFyYW1zLmV4Y2VwdEF2ZE5hbWUpO1xuICAgIGlmIChtYXJrZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2Nlc3NlcyA9IGF3YWl0IHRoaXMucXVlcnlIb3N0UHJvY2Vzc2VzKCk7XG4gICAgaWYgKHByb2Nlc3NlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBXaXRob3V0IGEgbGlzdGluZyBldmVyeSBtYXJrZXIgd291bGQgcmVhZCBhcyBzdGFsZSwgYW5kIGRlbGV0aW5nIHRoZW0gd291bGQgbGVhdmUgdGhlIGxlZnRvdmVycyBpbXBvc3NpYmxlIHRvIGNvbnZpY3QuXG4gICAgICB0aGlzLmxvZyhgQ2Fubm90IGp1ZGdlICR7U3RyaW5nKG1hcmtlcnMubGVuZ3RoKX0gZW11bGF0b3IgbWFya2VyKHMpIHdpdGhvdXQgYSBob3N0IHByb2Nlc3MgbGlzdGluZzsgbGVhdmluZyB0aGVtIGZvciBhIGxhdGVyIHJ1bi5gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXZlRW11bGF0b3JQaWRzID0gc2VsZWN0RW11bGF0b3JCYWNrZW5kUGlkcyh7IGtub3duUGlkczogW10sIHByb2Nlc3NlcyB9KTtcbiAgICBmb3IgKGNvbnN0IG1hcmtlciBvZiBtYXJrZXJzKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlY2xhaW1MZWZ0b3ZlckVtdWxhdG9yKG1hcmtlciwgbGl2ZUVtdWxhdG9yUGlkcywgcGFyYW1zLnNjb3BlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RvcHMgYW4gZW11bGF0b3IgdGhpcyBoYXJuZXNzIG93bnMsIGFuZCAqKnZlcmlmaWVzKiogaXQgc3RvcHBlZC5cbiAgICpcbiAgICogVGhlIGNvbnNvbGUgc2h1dGRvd24gZ29lcyBmaXJzdCBiZWNhdXNlIGl0IGlzIHRoZSBvbmx5IHBhdGggdGhhdCByZWxlYXNlc1xuICAgKiB0aGUgQVZEJ3MgYG11bHRpaW5zdGFuY2UubG9ja2A7IGEgYHRhc2traWxsYCBsZWF2ZXMgdGhlIGxvY2sgYmVoaW5kLCBhbmQgYVxuICAgKiBzdGFsZSBsb2NrIGlzIHdoYXQgbWFrZXMgdGhlIG5leHQgcnVuIGZhaWwgd2l0aCBgUnVubmluZyBtdWx0aXBsZSBlbXVsYXRvcnNcbiAgICogd2l0aCB0aGUgc2FtZSBBVkRgIFx1MjAxNCBhIEZBVEFMIHRoZSBlbXVsYXRvciB3cml0ZXMgdG8gaXRzIG93biBzdGRvdXQsIHdoZXJlXG4gICAqIG5vYm9keSBzZWVzIGl0LlxuICAgKlxuICAgKiBXb3JrcyB3aXRob3V0IGEgbGF1bmNoZXIgaGFuZGxlIHRvbzogYSBsZWZ0b3ZlciB0aGlzIHJ1biB0b29rIG92ZXIgaGFzIG9ubHlcbiAgICogaXRzIFBJRHMsIHdoaWNoIGlzIGFsbCB0aGUgZXNjYWxhdGlvbiBiZWxvdyBldmVyIG5lZWRlZC4gVGhlIG1hcmtlciBnb2VzXG4gICAqIG9ubHkgd2l0aCBhICoqdmVyaWZpZWQqKiBzdG9wLCBzbyBhbiBlbXVsYXRvciB0aGF0IG91dGxpdmVkIHRoaXMgYXR0ZW1wdFxuICAgKiBzdGF5cyBjb252aWN0YWJsZSBieSB0aGUgbmV4dCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZW11bGF0b3IgcHJvY2VzcywgdGhlIGRldmljZSBpdCBzZXJ2ZXMgYW5kIHRoZSBQSURzIHRoaXMgcnVuIG93bnMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3RvcEVtdWxhdG9yKHBhcmFtczogRW11bGF0b3JSZWNsYWltZXJTdG9wRW11bGF0b3JQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAocGFyYW1zLmRldmljZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMua2lsbEVtdWxhdG9yQ29uc29sZShwYXJhbXMuZGV2aWNlSWQpO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmVtdWxhdG9yUHJvY2Vzcykge1xuICAgICAga2lsbFByb2Nlc3NUcmVlKHBhcmFtcy5lbXVsYXRvclByb2Nlc3MpO1xuICAgIH1cblxuICAgIGNvbnN0IHdhaXRQYXJhbXM6IEVtdWxhdG9yUmVjbGFpbWVyV2FpdEZvckVtdWxhdG9yU3RvcHBlZFBhcmFtcyA9IHtcbiAgICAgIGRldmljZUlkOiBwYXJhbXMuZGV2aWNlSWQsXG4gICAgICBvd25lZEVtdWxhdG9yUGlkczogcGFyYW1zLm93bmVkRW11bGF0b3JQaWRzLFxuICAgICAgdGltZW91dEluTWlsbGlzZWNvbmRzOiBFTVVMQVRPUl9TVE9QX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTXG4gICAgfTtcblxuICAgIGxldCBoYXNFc2NhbGF0ZWQgPSBmYWxzZTtcbiAgICBsZXQgaXNTdG9wcGVkID0gYXdhaXQgdGhpcy53YWl0Rm9yRW11bGF0b3JTdG9wcGVkKHdhaXRQYXJhbXMpO1xuXG4gICAgaWYgKCFpc1N0b3BwZWQpIHtcbiAgICAgIGNvbnN0IHN1cnZpdmluZ1BpZHMgPSBwYXJhbXMub3duZWRFbXVsYXRvclBpZHMuZmlsdGVyKChwaWQpID0+IGNoZWNrSXNQcm9jZXNzQWxpdmUocGlkKSk7XG4gICAgICBpZiAoc3Vydml2aW5nUGlkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGhhc0VzY2FsYXRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubG9nKFxuICAgICAgICAgIGBBdXRvLXN0YXJ0ZWQgZW11bGF0b3Igb3V0bGl2ZWQgaXRzIGNvbnNvbGUgc2h1dGRvd24gYW5kIHRoZSBsYXVuY2hlcidzIHByb2Nlc3MgdHJlZTsgZXNjYWxhdGluZyB0byB0aGUgZW11bGF0b3IgUElEKHMpIHRoaXMgcnVuIG93bnM6IFske3N1cnZpdmluZ1BpZHMuam9pbignLCAnKX1dLmBcbiAgICAgICAgKTtcbiAgICAgICAgZm9yIChjb25zdCBwaWQgb2Ygc3Vydml2aW5nUGlkcykge1xuICAgICAgICAgIGtpbGxQcm9jZXNzVHJlZUJ5UGlkKHBpZCk7XG4gICAgICAgIH1cbiAgICAgICAgaXNTdG9wcGVkID0gYXdhaXQgdGhpcy53YWl0Rm9yRW11bGF0b3JTdG9wcGVkKHsgLi4ud2FpdFBhcmFtcywgdGltZW91dEluTWlsbGlzZWNvbmRzOiBFTVVMQVRPUl9FU0NBTEFURURfU1RPUF9USU1FT1VUX0lOX01JTExJU0VDT05EUyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxvZyhidWlsZFRlYXJkb3duTWVzc2FnZSh7XG4gICAgICBldmlkZW5jZTogcGFyYW1zLmRldmljZUlkID09PSB1bmRlZmluZWQgPyBgQVZEIFwiJHtwYXJhbXMuYXZkTmFtZX1cImAgOiBgQVZEIFwiJHtwYXJhbXMuYXZkTmFtZX1cIiBvbiBkZXZpY2UgJHtwYXJhbXMuZGV2aWNlSWR9YCxcbiAgICAgIG91dGNvbWU6IHJlc29sdmVUZWFyZG93bk91dGNvbWUoeyBoYXNFc2NhbGF0ZWQsIGlzU3RvcHBlZCB9KSxcbiAgICAgIHN1YmplY3Q6ICdBdXRvLXN0YXJ0ZWQgZW11bGF0b3InLFxuICAgICAgdGltZW91dEluTWlsbGlzZWNvbmRzOiBFTVVMQVRPUl9TVE9QX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTXG4gICAgfSkpO1xuXG4gICAgaWYgKGlzU3RvcHBlZCkge1xuICAgICAgY2xlYXJFbXVsYXRvck1hcmtlcklmU3RvcHBlZChwYXJhbXMuYXZkTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlY2lkZXMgd2hldGhlciB0aGUgZW11bGF0b3IgdGhpcyBydW4gc3RhcnRlZCBpcyByZWFsbHkgZ29uZS5cbiAgICpcbiAgICogVHdvIGluZGVwZW5kZW50IHByb29mcywgY2hlYXBlc3QgZmlyc3Q6IG5vbmUgb2YgdGhlIFBJRHMgdGhpcyBydW4gb3ducyBpc1xuICAgKiBhbGl2ZSwgYW5kIHRoZSBkZXZpY2Ugbm8gbG9uZ2VyIGFwcGVhcnMgaW4gYGFkYiBkZXZpY2VzYCAqKmluIGFueSBzdGF0ZSoqIChhXG4gICAqIGR5aW5nIGVtdWxhdG9yIGFuc3dlcnMgYG9mZmxpbmVgIHdoaWxlIGl0IHN0aWxsIGhvbGRzIHRoZSBBVkQpLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGRldmljZSBhbmQgdGhlIFBJRHMgdGhpcyBydW4gb3ducy5cbiAgICogQHJldHVybnMgYHRydWVgIHdoZW4gbm90aGluZyBvZiB0aGlzIHJ1bidzIGVtdWxhdG9yIGlzIGxlZnQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNoZWNrSXNFbXVsYXRvckdvbmUocGFyYW1zOiBFbXVsYXRvclJlY2xhaW1lckNoZWNrSXNFbXVsYXRvckdvbmVQYXJhbXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAocGFyYW1zLm93bmVkRW11bGF0b3JQaWRzLnNvbWUoKHBpZCkgPT4gY2hlY2tJc1Byb2Nlc3NBbGl2ZShwaWQpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuZGV2aWNlSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAhY2hlY2tJc0RldmljZUxpc3RlZCh7IGRldmljZUlkOiBwYXJhbXMuZGV2aWNlSWQsIGRldmljZXNPdXRwdXQ6IGF3YWl0IHRoaXMuZ2V0RGV2aWNlc091dHB1dCgpIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAvKlxuICAgICAgICogQW4gYWRiIHRoYXQgY2Fubm90IHJ1biBpcyBub3QgZXZpZGVuY2UgYWJvdXQgdGhlIGVtdWxhdG9yIFx1MjAxNCBhbmQgdGhlIFBJRFxuICAgICAgICogcHJvYmUgYWJvdmUgaGFzIGFscmVhZHkgc2FpZCB0aGlzIHJ1bidzIHByb2Nlc3NlcyBhcmUgZ29uZSwgd2hpY2ggaXMgdGhlXG4gICAgICAgKiBzdHJvbmdlciBvZiB0aGUgdHdvIHByb29mcy5cbiAgICAgICAqL1xuICAgICAgdGhpcy5sb2coYENvdWxkIG5vdCByZS1jaGVjayBjb25uZWN0ZWQgZGV2aWNlcyB3aGlsZSBzdG9wcGluZyB0aGUgZW11bGF0b3I6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpfWApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFza3MgdGhlIGVtdWxhdG9yIHRvIHNodXQgaXRzZWxmIGRvd24gb3ZlciBpdHMgY29uc29sZS5cbiAgICpcbiAgICogUHJlZmVycmVkIG92ZXIga2lsbGluZyB0aGUgcHJvY2VzcyBvdXRyaWdodCBiZWNhdXNlIGl0IGlzIHRoZSBwYXRoIHRoYXRcbiAgICogcmVsZWFzZXMgdGhlIEFWRCdzIGBtdWx0aWluc3RhbmNlLmxvY2tgLiBCZXN0LWVmZm9ydDogYSBjb25zb2xlIHRoYXQgZG9lc1xuICAgKiBub3QgYW5zd2VyIGlzIHJlcG9ydGVkIGFuZCB0aGUgY2FsbGVyIGZhbGxzIHRocm91Z2ggdG8gdGhlIGtpbGwuXG4gICAqXG4gICAqIEBwYXJhbSBkZXZpY2VJZCAtIFRoZSBlbXVsYXRvcidzIGRldmljZSBJRC5cbiAgICovXG4gIHByaXZhdGUga2lsbEVtdWxhdG9yQ29uc29sZShkZXZpY2VJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICBleGVjRmlsZSgnYWRiJywgWyctcycsIGRldmljZUlkLCAnZW11JywgJ2tpbGwnXSwgeyB0aW1lb3V0OiBBREJfREVWSUNFX0NIRUNLX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTIH0sIChlcnJvciwgc3Rkb3V0KSA9PiB7XG4gICAgICAgIHRoaXMubG9nKFxuICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICA/IGBFbXVsYXRvciBjb25zb2xlIHNodXRkb3duIGZvciAke2RldmljZUlkfSBkaWQgbm90IGFuc3dlcjogJHtlcnJvci5tZXNzYWdlfWBcbiAgICAgICAgICAgIDogYEVtdWxhdG9yIGNvbnNvbGUgc2h1dGRvd24gZm9yICR7ZGV2aWNlSWR9OiAke3N0ZG91dC50cmltKCl9YFxuICAgICAgICApO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RzIG9uIG9uZSBlbXVsYXRvciBtYXJrZXIgZm9yIHtAbGluayByZWNsYWltTGVmdG92ZXJFbXVsYXRvcnN9LlxuICAgKlxuICAgKiBAcGFyYW0gbWFya2VyIC0gVGhlIG1hcmtlciB0byBqdWRnZS5cbiAgICogQHBhcmFtIGxpdmVFbXVsYXRvclBpZHMgLSBUaGUgZW11bGF0b3IgcHJvY2Vzc2VzIGN1cnJlbnRseSBydW5uaW5nIG9uIHRoZSBob3N0LlxuICAgKiBAcGFyYW0gc2NvcGUgLSBXaGV0aGVyIGFuIGVtdWxhdG9yIGFub3RoZXIgbGl2ZSBoYXJuZXNzIHByb2Nlc3Mgb3ducyBpcyBzcGFyZWQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHJlY2xhaW1MZWZ0b3ZlckVtdWxhdG9yKG1hcmtlcjogRW11bGF0b3JNYXJrZXIsIGxpdmVFbXVsYXRvclBpZHM6IHJlYWRvbmx5IG51bWJlcltdLCBzY29wZTogRW11bGF0b3JSZWNsYWltZXJSZWNsYWltTGVmdG92ZXJFbXVsYXRvcnNQYXJhbXNbJ3Njb3BlJ10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2ZXJkaWN0ID0gcmVzb2x2ZUVtdWxhdG9yTWFya2VyVmVyZGljdCh7XG4gICAgICBjdXJyZW50UGlkOiBwcm9jZXNzLnBpZCxcbiAgICAgIGlzT3duZXJBbGl2ZTogY2hlY2tJc1Byb2Nlc3NBbGl2ZShtYXJrZXIub3duZXJQaWQpLFxuICAgICAgbGl2ZUVtdWxhdG9yUGlkcyxcbiAgICAgIG1hcmtlclxuICAgIH0pO1xuXG4gICAgaWYgKHZlcmRpY3QgPT09ICdzdGFsZS1tYXJrZXInKSB7XG4gICAgICB0aGlzLmxvZyhgRHJvcHBpbmcgdGhlIGVtdWxhdG9yIG1hcmtlciBmb3IgQVZEIFwiJHttYXJrZXIuYXZkTmFtZX1cIjogbm9uZSBvZiBpdHMgUElEcyBbJHttYXJrZXIub3duZWRFbXVsYXRvclBpZHMuam9pbignLCAnKX1dIGlzIGEgcnVubmluZyBlbXVsYXRvciBhbnkgbW9yZS5gKTtcbiAgICAgIGNsZWFyRW11bGF0b3JNYXJrZXIobWFya2VyLmF2ZE5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQSBtYXJrZXIgd3JpdHRlbiBhdCBsYXVuY2ggaGFzIG5vIGRldmljZSB5ZXQ6IHRoZSBlbXVsYXRvciB3YXMgc3RpbGxcbiAgICAgKiBib290aW5nIHdoZW4gd2hhdGV2ZXIgcmVjb3JkZWQgaXQgc3RvcHBlZCBsb29raW5nLiBUaGUgc3RvcCBiZWxvdyByZWFkc1xuICAgICAqIHRoYXQgYWJzZW5jZSBjb3JyZWN0bHkgXHUyMDE0IG5vIGNvbnNvbGUgdG8gc2h1dCBkb3duLCB0aGUgb3duZWQgUElEcyBhcmUgdGhlXG4gICAgICogd2hvbGUgb2YgdGhlIGV2aWRlbmNlIFx1MjAxNCBzbyBpdCBpcyBkZXNjcmliZWQgcmF0aGVyIHRoYW4gcGFwZXJlZCBvdmVyLlxuICAgICAqL1xuICAgIGNvbnN0IGV2aWRlbmNlID0gZGVzY3JpYmVNYXJrZWRFbXVsYXRvcihtYXJrZXIpO1xuXG4gICAgaWYgKHZlcmRpY3QgPT09ICdpbi11c2UtYnktbGl2ZS1ydW4nICYmIHNjb3BlID09PSAncHJlZmxpZ2h0Jykge1xuICAgICAgdGhpcy5sb2coYExlYXZpbmcgdGhlIGVtdWxhdG9yIGZvciAke2V2aWRlbmNlfSBhbG9uZTogdGhlIGhhcm5lc3MgcHJvY2VzcyB0aGF0IG93bnMgaXQgKFBJRCAke1N0cmluZyhtYXJrZXIub3duZXJQaWQpfSkgaXMgc3RpbGwgcnVubmluZy5gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhZ2VJblNlY29uZHMgPSBNYXRoLnJvdW5kKChEYXRlLm5vdygpIC0gbWFya2VyLnN0YXJ0ZWRBdEluTWlsbGlzZWNvbmRzKSAvIE1JTExJU0VDT05EU19QRVJfU0VDT05EKTtcbiAgICB0aGlzLmxvZyhcbiAgICAgIGBTdG9wcGluZyB0aGUgZW11bGF0b3IgZm9yICR7ZXZpZGVuY2V9OiB0aGlzIGhhcm5lc3Mgc3RhcnRlZCBpdCAke1N0cmluZyhhZ2VJblNlY29uZHMpfXMgYWdvLCBhbmQgbm8gbGl2ZSBydW4gaXMgbGVmdCB0byBzdG9wIGl0LmBcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuc3RvcEVtdWxhdG9yKHtcbiAgICAgIGF2ZE5hbWU6IG1hcmtlci5hdmROYW1lLFxuICAgICAgZGV2aWNlSWQ6IG1hcmtlci5kZXZpY2VJZCxcbiAgICAgIG93bmVkRW11bGF0b3JQaWRzOiBzZWxlY3RMaXZlTWFya2VkUGlkcyhtYXJrZXIsIGxpdmVFbXVsYXRvclBpZHMpXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUG9sbHMgdW50aWwgdGhpcyBydW4ncyBlbXVsYXRvciBpcyBnb25lLCBvciB0aGUgYnVkZ2V0IGVsYXBzZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZGV2aWNlLCB0aGUgUElEcyB0aGlzIHJ1biBvd25zLCBhbmQgdGhlIGJ1ZGdldC5cbiAgICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIGVtdWxhdG9yIGRpc2FwcGVhcmVkIHdpdGhpbiB0aGUgYnVkZ2V0LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB3YWl0Rm9yRW11bGF0b3JTdG9wcGVkKHBhcmFtczogRW11bGF0b3JSZWNsYWltZXJXYWl0Rm9yRW11bGF0b3JTdG9wcGVkUGFyYW1zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGVhZGxpbmUgPSBEYXRlLm5vdygpICsgcGFyYW1zLnRpbWVvdXRJbk1pbGxpc2Vjb25kcztcblxuICAgIHdoaWxlIChEYXRlLm5vdygpIDwgZGVhZGxpbmUpIHtcbiAgICAgIGlmIChhd2FpdCB0aGlzLmNoZWNrSXNFbXVsYXRvckdvbmUocGFyYW1zKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCBFTVVMQVRPUl9TVE9QX1BPTExfSU5URVJWQUxfSU5fTUlMTElTRUNPTkRTKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgcGxhdGZvcm0ncyBcImxpc3QgZXZlcnkgcHJvY2Vzc1wiIHF1ZXJ5LlxuICpcbiAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGFuZCBhcmd1bWVudHMgdG8gcnVuLlxuICovXG5mdW5jdGlvbiBidWlsZEhvc3RQcm9jZXNzUXVlcnkoKTogSG9zdENvbW1hbmRRdWVyeSB7XG4gIHJldHVybiBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInXG4gICAgPyB7IGNvbW1hbmQ6ICd0YXNrbGlzdCcsIGNvbW1hbmRBcmd1bWVudHM6IFsnL0ZPJywgJ0NTVicsICcvTkgnXSB9XG4gICAgOiB7IGNvbW1hbmQ6ICdwcycsIGNvbW1hbmRBcmd1bWVudHM6IFsnLWVvJywgJ3BpZD0sY29tbT0nXSB9O1xufVxuXG4vKipcbiAqIE5hbWVzIHRoZSBlbXVsYXRvciBhIG1hcmtlciBkZXNjcmliZXMsIGZvciB0aGUgbG9nLlxuICpcbiAqIEBwYXJhbSBtYXJrZXIgLSBUaGUgbWFya2VyLlxuICogQHJldHVybnMgVGhlIEFWRCBhbmQgaXRzIGRldmljZSwgb3IgdGhlIEFWRCBhbG9uZSBmb3IgYSBsYXVuY2ggdGhhdCBoYWQgbm90IHByb2R1Y2VkIGEgZGV2aWNlIHlldC5cbiAqL1xuZnVuY3Rpb24gZGVzY3JpYmVNYXJrZWRFbXVsYXRvcihtYXJrZXI6IEVtdWxhdG9yTWFya2VyKTogc3RyaW5nIHtcbiAgcmV0dXJuIG1hcmtlci5kZXZpY2VJZCA9PT0gdW5kZWZpbmVkXG4gICAgPyBgQVZEIFwiJHttYXJrZXIuYXZkTmFtZX1cIiAobm8gZGV2aWNlOiBpdCB3YXMgc3RpbGwgYm9vdGluZyB3aGVuIGl0IHdhcyByZWNvcmRlZClgXG4gICAgOiBgQVZEIFwiJHttYXJrZXIuYXZkTmFtZX1cIiBvbiBkZXZpY2UgJHttYXJrZXIuZGV2aWNlSWR9YDtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBob3N0IHByb2Nlc3MgbGlzdGluZyB3aXRoIHRoZSBwbGF0Zm9ybSdzIHBhcnNlci5cbiAqXG4gKiBAcGFyYW0gb3V0cHV0IC0gUmF3IHN0ZG91dCBvZiB7QGxpbmsgYnVpbGRIb3N0UHJvY2Vzc1F1ZXJ5fSdzIGNvbW1hbmQuXG4gKiBAcmV0dXJucyBUaGUgbGlzdGVkIHByb2Nlc3Nlcy5cbiAqL1xuZnVuY3Rpb24gcGFyc2VIb3N0UHJvY2Vzc0xpc3Qob3V0cHV0OiBzdHJpbmcpOiBQcm9jZXNzTGlzdEVudHJ5W10ge1xuICByZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/IHBhcnNlV2luZG93c1Rhc2tMaXN0KG91dHB1dCkgOiBwYXJzZVBvc2l4UHJvY2Vzc0xpc3Qob3V0cHV0KTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICJBQW1CQSxTQUFTLGdCQUFnQjtBQUN6QixPQUFPLGFBQWE7QUFLcEIsU0FBUywyQkFBMkI7QUFDcEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsMkJBQTJC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MEJBQW9CLE9BQU8sT0FBTztBQUNsQztBQUFBLElBQ0Y7QUFRQSxVQUFNLFdBQVcsdUJBQXVCLE1BQU07QUFFOUMsUUFBSSxZQUFZLHdCQUF3QixVQUFVLGFBQWE7QUFDN0QsV0FBSyxJQUFJLDRCQUE0QixRQUFRLGlEQUFpRCxPQUFPLE9BQU8sUUFBUSxDQUFDLHFCQUFxQjtBQUMxSTtBQUFBLElBQ0Y7QUFFQSxVQUFNLGVBQWUsS0FBSyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sMkJBQTJCLHVCQUF1QjtBQUN2RyxTQUFLO0FBQUEsTUFDSCw2QkFBNkIsUUFBUSw2QkFBNkIsT0FBTyxZQUFZLENBQUM7QUFBQSxJQUN4RjtBQUNBLFVBQU0sS0FBSyxhQUFhO0FBQUEsTUFDdEIsU0FBUyxPQUFPO0FBQUEsTUFDaEIsVUFBVSxPQUFPO0FBQUEsTUFDakIsbUJBQW1CLHFCQUFxQixRQUFRLGdCQUFnQjtBQUFBLElBQ2xFLENBQUM7QUFBQSxFQUNIO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFjLHVCQUF1QixRQUF5RTtBQUM1RyxVQUFNLFdBQVcsS0FBSyxJQUFJLElBQUksT0FBTztBQUVyQyxXQUFPLEtBQUssSUFBSSxJQUFJLFVBQVU7QUFDNUIsVUFBSSxNQUFNLEtBQUssb0JBQW9CLE1BQU0sR0FBRztBQUMxQyxlQUFPO0FBQUEsTUFDVDtBQUVBLFlBQU0sSUFBSSxRQUFRLENBQUMsWUFBWTtBQUM3QixtQkFBVyxTQUFTLDJDQUEyQztBQUFBLE1BQ2pFLENBQUM7QUFBQSxJQUNIO0FBRUEsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQU9BLFNBQVMsd0JBQTBDO0FBQ2pELFNBQU8sUUFBUSxhQUFhLFVBQ3hCLEVBQUUsU0FBUyxZQUFZLGtCQUFrQixDQUFDLE9BQU8sT0FBTyxLQUFLLEVBQUUsSUFDL0QsRUFBRSxTQUFTLE1BQU0sa0JBQWtCLENBQUMsT0FBTyxZQUFZLEVBQUU7QUFDL0Q7QUFRQSxTQUFTLHVCQUF1QixRQUFnQztBQUM5RCxTQUFPLE9BQU8sYUFBYSxTQUN2QixRQUFRLE9BQU8sT0FBTyw2REFDdEIsUUFBUSxPQUFPLE9BQU8sZUFBZSxPQUFPLFFBQVE7QUFDMUQ7QUFRQSxTQUFTLHFCQUFxQixRQUFvQztBQUNoRSxTQUFPLFFBQVEsYUFBYSxVQUFVLHFCQUFxQixNQUFNLElBQUksc0JBQXNCLE1BQU07QUFDbkc7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -83,4 +83,4 @@ export {
|
|
|
83
83
|
enablePluginWithErrorCapture,
|
|
84
84
|
getGenericPluginLoadFailureMessage
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VuYWJsZS1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTaGFyZWQgaGVscGVyIGZvciBlbmFibGluZyBhbiBPYnNpZGlhbiBwbHVnaW4gd2l0aCBlcnJvciBjYXB0dXJlLlxuICogVXNlZCBieSBib3RoIHRoZSBnbG9iYWwgc2V0dXAgYW5kIGludGVncmF0aW9uIHRlc3RzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIGNvZGUgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vbkFyZ3VtZW50cyB9IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5tanMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBlbmFibGVQbHVnaW5XaXRoRXJyb3JDYXB0dXJlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmFibGVQbHVnaW5QYXJhbXMge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBwbHVnaW4gdG8gZW5hYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXN1bHQgb2YgZW5hYmxpbmcgYSBwbHVnaW4gd2l0aCBlcnJvciBjYXB0dXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuYWJsZVBsdWdpblJlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSBjYXB0dXJlZCBieSB0aGUgYGxvYWRQbHVnaW5gIG1vbmtleS1wYXRjaCwgb3IgYHVuZGVmaW5lZGBcbiAgICogd2hlbiB0aGUgcGF0Y2ggc2F3IG5vIHRocm93LiBXaGVuIE9ic2lkaWFuIHN3YWxsb3dzIHRoZSBlcnJvciAqYmVmb3JlKiB0aGVcbiAgICogcGF0Y2ggKGxlYXZpbmcgdGhpcyBlbXB0eSkgYnV0IHRoZSBwbHVnaW4gc3RpbGwgZmFpbGVkIHRvIGxvYWQsIHRoZSByZWFsXG4gICAqIGNhdXNlIFx1MjAxNCBpZiBpdCByZWFjaGVkIHRoZSByZW5kZXJlciBjb25zb2xlIFx1MjAxNCBpcyBpbiB7QGxpbmsgRW5hYmxlUGx1Z2luUmVzdWx0LnJlbmRlcmVyQ29uc29sZUVycm9yc30uXG4gICAqL1xuICByZWFkb25seSBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcGx1Z2luIGlzIGluIHRoZSBlbmFibGVkIHNldCBhZnRlciB0aGUgZW5hYmxlIGF0dGVtcHQuXG4gICAqIEEgcGx1Z2luIGNhbiBiZSBcImVuYWJsZWRcIiAoY29uZmlndXJlZCkgYnV0IG5vdCBcImxvYWRlZFwiIChmYWlsZWQgdG8gaW5pdGlhbGl6ZSkuXG4gICAqL1xuICByZWFkb25seSBpc0VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBsdWdpbiBpbnN0YW5jZSBhY3R1YWxseSBleGlzdHMgaW4gYGFwcC5wbHVnaW5zLnBsdWdpbnNgLlxuICAgKiBUaGlzIGlzIHRoZSBkZWZpbml0aXZlIGNoZWNrIFx1MjAxNCBhIHBsdWdpbiB0aGF0IGlzIGVuYWJsZWQgYnV0IG5vdCBsb2FkZWQgaGFzIGZhaWxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9hZGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb25zb2xlL2Vycm9yIG91dHB1dCBjYXB0dXJlZCBpbiB0aGUgcmVuZGVyZXIgZHVyaW5nIHRoZSBlbmFibGUgd2luZG93IFx1MjAxNFxuICAgKiBwb3B1bGF0ZWQgKipvbmx5Kiogd2hlbiB0aGUgcGx1Z2luIGZhaWxlZCB0byBsb2FkIGFuZCB0aGUgbW9ua2V5LXBhdGNoIHNhd1xuICAgKiBubyB0aHJvdyAoYCFlcnJvck1lc3NhZ2UgJiYgIWlzTG9hZGVkYCksIGkuZS4gZXhhY3RseSB0aGUgY2FzZSB0aGF0IHdvdWxkXG4gICAqIG90aGVyd2lzZSBzdXJmYWNlIHRoZSBnZW5lcmljIHtAbGluayBnZXRHZW5lcmljUGx1Z2luTG9hZEZhaWx1cmVNZXNzYWdlfSB0ZXh0LlxuICAgKiBgdW5kZWZpbmVkYCBvdGhlcndpc2UgKGluY2x1ZGluZyBvbiBzdWNjZXNzIGFuZCB3aGVuIHtAbGluayBFbmFibGVQbHVnaW5SZXN1bHQuZXJyb3JNZXNzYWdlfSBhbHJlYWR5IGhhcyB0aGUgZXJyb3IpLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVuZGVyZXJDb25zb2xlRXJyb3JzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RpbmdFcnJvclRvU3RyaW5nIHtcbiAgZXJyb3JUb1N0cmluZyhlcnJvcjogdW5rbm93bik6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdGluZ0hvbGRlciB7XG4gIF9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3Rpbmc6IEludGVncmF0aW9uVGVzdGluZ0Vycm9yVG9TdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyBhIHBsdWdpbiBpbnNpZGUgT2JzaWRpYW4gYW5kIGNhcHR1cmVzIGFueSBsb2FkIGVycm9yLlxuICpcbiAqIE1vbmtleS1wYXRjaGVzIGBhcHAucGx1Z2lucy5sb2FkUGx1Z2luYCB0byBpbnRlcmNlcHQgZXJyb3JzIGJlZm9yZVxuICogT2JzaWRpYW4ncyBgZW5hYmxlUGx1Z2luYCB0cnktY2F0Y2ggc3dhbGxvd3MgdGhlbS4gVGhlIG9yaWdpbmFsIG1ldGhvZFxuICogaXMgYWx3YXlzIHJlc3RvcmVkIGluIGEgYGZpbmFsbHlgIGJsb2NrLlxuICpcbiAqIERlc2lnbmVkIHRvIGJlIHBhc3NlZCBhcyB0aGUgYGNhbGxiYWNrYCBhcmd1bWVudCB0byB7QGxpbmsgZXZhbEluT2JzaWRpYW59LlxuICpcbiAqIEBwYXJhbSBpbnB1dCAtIFRoZSBjb21tb24gaW5wdXQgcGx1cyB0aGUgcGx1Z2luIElELlxuICogQHBhcmFtIGlucHV0LmFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gaW5wdXQucGx1Z2luSWQgLSBUaGUgSUQgb2YgdGhlIHBsdWdpbiB0byBlbmFibGUuXG4gKiBAcmV0dXJucyBUaGUgZW5hYmxlIHJlc3VsdCB3aXRoIGVycm9yIG1lc3NhZ2UgYW5kIGVuYWJsZWQgc3RhdHVzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5hYmxlUGx1Z2luV2l0aEVycm9yQ2FwdHVyZSh7IGFwcCwgcGx1Z2luSWQgfTogQ29tbW9uQXJndW1lbnRzICYgRW5hYmxlUGx1Z2luUGFyYW1zKTogUHJvbWlzZTxFbmFibGVQbHVnaW5SZXN1bHQ+IHtcbiAgaWYgKCFhcHAucGx1Z2lucy5pc0VuYWJsZWQoKSkge1xuICAgIGF3YWl0IGFwcC5wbHVnaW5zLnNldEVuYWJsZSh0cnVlKTtcbiAgfVxuXG4gIC8qXG4gICAqIEZvcmNlIGEgZ2VudWluZSByZWxvYWQgd2hlbiByZXRyeWluZy4gSWYgYSBwcmlvciBhdHRlbXB0IGxlZnQgdGhlIHBsdWdpbiBpblxuICAgKiB0aGUgZW5hYmxlZCBzZXQgYnV0IG5vdCBsb2FkZWQgKHRoZSBjb2xkLWJvb3QgcmFjZSksIGEgcGxhaW4gcmUtZW5hYmxlIGNhblxuICAgKiBzaG9ydC1jaXJjdWl0IG9uIHNvbWUgT2JzaWRpYW4gdmVyc2lvbnMgd2l0aG91dCByZS1hdHRlbXB0aW5nIHRoZSBsb2FkLlxuICAgKiBGdWxseSByZXNldCB0aGUgZW5hYmxlZCBzdGF0ZSBmaXJzdCBzbyB0aGUgYGVuYWJsZVBsdWdpbkFuZFNhdmVgIGJlbG93IGlzIGFcbiAgICogcmVhbCBmcmVzaCBlbmFibGUgKyBsb2FkLiBOby1vcCBvbiB0aGUgZmlyc3QgYXR0ZW1wdCAobm90IHlldCBlbmFibGVkKS5cbiAgICovXG4gIGlmIChhcHAucGx1Z2lucy5lbmFibGVkUGx1Z2lucy5oYXMocGx1Z2luSWQpICYmICFPYmplY3QuaGFzT3duKGFwcC5wbHVnaW5zLnBsdWdpbnMsIHBsdWdpbklkKSkge1xuICAgIGF3YWl0IGFwcC5wbHVnaW5zLmRpc2FibGVQbHVnaW5BbmRTYXZlKHBsdWdpbklkKTtcbiAgfVxuXG4gIGxldCBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZCAtLSBJbnRlbnRpb25hbCBtb25rZXktcGF0Y2g7IHJlc3RvcmVkIGluIGZpbmFsbHkuXG4gIGNvbnN0IG9yaWdMb2FkUGx1Z2luID0gYXBwLnBsdWdpbnMubG9hZFBsdWdpbjtcbiAgYXBwLnBsdWdpbnMubG9hZFBsdWdpbiA9IGFzeW5jIGZ1bmN0aW9uIGxvYWRQbHVnaW4oaWQ6IHN0cmluZywgaXNVc2VyRW5hYmxlZD86IGJvb2xlYW4pOiBQcm9taXNlPFBsdWdpbj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBvcmlnTG9hZFBsdWdpbi5jYWxsKHRoaXMsIGlkLCBpc1VzZXJFbmFibGVkKTtcbiAgICAgIGVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheCAtLSBBcHByb3ZlZCBkb3VibGUgY2FzdDogYF9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgIGlzIG91ciBpbnRlcm5hbCBXaW5kb3cgYXVnbWVudGF0aW9uLCBpbnRlbnRpb25hbGx5IGtlcHQgbG9jYWwgKG5vdCBkZWNsYXJlZCBnbG9iYWxseSkgdG8gYXZvaWQgbGVha2luZyBpbnRvIGNvbnN1bWVyIHR5cGVzLlxuICAgICAgY29uc3QgaG9sZGVyID0gZ2xvYmFsVGhpcyBhcyB1bmtub3duIGFzIFBhcnRpYWw8SW50ZWdyYXRpb25UZXN0aW5nSG9sZGVyPjtcbiAgICAgIGVycm9yTWVzc2FnZSA9IGhvbGRlci5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy5lcnJvclRvU3RyaW5nKGVycm9yKSA/PyBTdHJpbmcoZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuXG4gIC8qXG4gICAqIExheWVyIDEgXHUyMDE0IGNhcHR1cmUgdGhlIHJlbmRlcmVyIGNvbnNvbGUgKyB1bmNhdWdodCBlcnJvcnMgZm9yIHRoZSBkdXJhdGlvbiBvZlxuICAgKiB0aGUgZW5hYmxlLiBJZiBPYnNpZGlhbiBzd2FsbG93cyB0aGUgbG9hZCBlcnJvciBiZWZvcmUgdGhlIG1vbmtleS1wYXRjaCBhYm92ZVxuICAgKiBzZWVzIGl0IChsZWF2aW5nIGBlcnJvck1lc3NhZ2VgIGVtcHR5KSwgdGhlIHJlYWwgY2F1c2UgaXMgdHlwaWNhbGx5IHN0aWxsXG4gICAqIGBjb25zb2xlLmVycm9yYCdkLCBzbyBjYXB0dXJpbmcgaXQgaGVyZSBzdXJmYWNlcyBpdCBpbiBwbGFjZSBvZiB0aGUgZ2VuZXJpY1xuICAgKiBmYWxsYmFjay4gV29ya3Mgb24gZGVza3RvcCBhbmQgQW5kcm9pZCBhbGlrZSBzaW5jZSB0aGlzIHdob2xlIGZ1bmN0aW9uIGlzXG4gICAqIHNlcmlhbGl6ZWQgYW5kIGluamVjdGVkIGludG8gdGhlIHJlbmRlcmVyLlxuICAgKi9cbiAgY29uc3QgY2FwdHVyZWRDb25zb2xlOiBzdHJpbmdbXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gQXBwcm92ZWQgZG91YmxlIGNhc3QsIHNhbWUgcmF0aW9uYWxlIGFzIGFib3ZlLlxuICBjb25zdCBmb3JtYXRIb2xkZXIgPSBnbG9iYWxUaGlzIGFzIHVua25vd24gYXMgUGFydGlhbDxJbnRlZ3JhdGlvblRlc3RpbmdIb2xkZXI+O1xuICBmdW5jdGlvbiBmb3JtYXRBcmd1bWVudChhcmd1bWVudDogdW5rbm93bik6IHN0cmluZyB7XG4gICAgaWYgKGFyZ3VtZW50IGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHJldHVybiBmb3JtYXRIb2xkZXIuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8uZXJyb3JUb1N0cmluZyhhcmd1bWVudCkgPz8gU3RyaW5nKGFyZ3VtZW50KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBhcmd1bWVudDtcbiAgICB9XG4gICAgaWYgKGFyZ3VtZW50ID09PSB1bmRlZmluZWQgfHwgYXJndW1lbnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBTdHJpbmcoYXJndW1lbnQpO1xuICAgIH1cbiAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkoYXJndW1lbnQpO1xuICAgIHJldHVybiBqc29uID8/IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhcmd1bWVudCk7XG4gIH1cbiAgZnVuY3Rpb24gcmVjb3JkQ29uc29sZSguLi5pbnB1dDogdW5rbm93bltdKTogdm9pZCB7XG4gICAgY2FwdHVyZWRDb25zb2xlLnB1c2goaW5wdXQubWFwKChhcmd1bWVudCkgPT4gZm9ybWF0QXJndW1lbnQoYXJndW1lbnQpKS5qb2luKCcgJykpO1xuICB9XG4gIGNvbnN0IG9yaWdDb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICBjb25zdCBvcmlnQ29uc29sZVdhcm4gPSBjb25zb2xlLndhcm47XG4gIGNvbnNvbGUuZXJyb3IgPSAoLi4uaW5wdXQ6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgIHJlY29yZENvbnNvbGUoLi4uaW5wdXQpO1xuICAgIG9yaWdDb25zb2xlRXJyb3IuYXBwbHkoY29uc29sZSwgaW5wdXQpO1xuICB9O1xuICBjb25zb2xlLndhcm4gPSAoLi4uaW5wdXQ6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgIHJlY29yZENvbnNvbGUoLi4uaW5wdXQpO1xuICAgIG9yaWdDb25zb2xlV2Fybi5hcHBseShjb25zb2xlLCBpbnB1dCk7XG4gIH07XG4gIGZ1bmN0aW9uIG9uV2luZG93RXJyb3IoZXZlbnQ6IEVycm9yRXZlbnQpOiB2b2lkIHtcbiAgICBjYXB0dXJlZENvbnNvbGUucHVzaChldmVudC5lcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZm9ybWF0QXJndW1lbnQoZXZlbnQuZXJyb3IpIDogZXZlbnQubWVzc2FnZSk7XG4gIH1cbiAgZnVuY3Rpb24gb25VbmhhbmRsZWRSZWplY3Rpb24oZXZlbnQ6IFByb21pc2VSZWplY3Rpb25FdmVudCk6IHZvaWQge1xuICAgIGNhcHR1cmVkQ29uc29sZS5wdXNoKGZvcm1hdEFyZ3VtZW50KGV2ZW50LnJlYXNvbikpO1xuICB9XG4gIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBvbldpbmRvd0Vycm9yKTtcbiAgZ2xvYmFsVGhpcy5hZGRFdmVudExpc3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCBvblVuaGFuZGxlZFJlamVjdGlvbik7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBhcHAucGx1Z2lucy5lbmFibGVQbHVnaW5BbmRTYXZlKHBsdWdpbklkKTtcbiAgfSBmaW5hbGx5IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBJbnRlbnRpb25hbCByZXN0b3JlIG9mIG1vbmtleS1wYXRjaC5cbiAgICBhcHAucGx1Z2lucy5sb2FkUGx1Z2luID0gb3JpZ0xvYWRQbHVnaW47XG4gICAgY29uc29sZS5lcnJvciA9IG9yaWdDb25zb2xlRXJyb3I7XG4gICAgY29uc29sZS53YXJuID0gb3JpZ0NvbnNvbGVXYXJuO1xuICAgIGdsb2JhbFRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBvbldpbmRvd0Vycm9yKTtcbiAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsIG9uVW5oYW5kbGVkUmVqZWN0aW9uKTtcbiAgfVxuXG4gIGNvbnN0IGlzTG9hZGVkID0gT2JqZWN0Lmhhc093bihhcHAucGx1Z2lucy5wbHVnaW5zLCBwbHVnaW5JZCk7XG5cbiAgbGV0IHJlbmRlcmVyQ29uc29sZUVycm9yczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpZiAoIWVycm9yTWVzc2FnZSAmJiAhaXNMb2FkZWQpIHtcbiAgICBjb25zdCBqb2luZWQgPSBjYXB0dXJlZENvbnNvbGUuam9pbignXFxuJykudHJpbSgpO1xuICAgIHJlbmRlcmVyQ29uc29sZUVycm9ycyA9IGpvaW5lZCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVycm9yTWVzc2FnZSxcbiAgICBpc0VuYWJsZWQ6IGFwcC5wbHVnaW5zLmVuYWJsZWRQbHVnaW5zLmhhcyhwbHVnaW5JZCksXG4gICAgaXNMb2FkZWQsXG4gICAgcmVuZGVyZXJDb25zb2xlRXJyb3JzXG4gIH07XG59XG5cbi8qKlxuICogVGhlIGdlbmVyaWMgbGFzdC1yZXNvcnQgbWVzc2FnZSBzaG93biB3aGVuIGEgcGx1Z2luIGlzIGluIHRoZSBlbmFibGVkIHNldCBidXRcbiAqIG5vdCBsb2FkZWQgYW5kIG5vIHJlYWwgZXJyb3IgY291bGQgYmUgY2FwdHVyZWQgKG5laXRoZXIgdGhlIGBsb2FkUGx1Z2luYFxuICogbW9ua2V5LXBhdGNoIG5vciB0aGUgcmVuZGVyZXIgY29uc29sZSBub3IsIG9uIEFuZHJvaWQsIGBhZGIgbG9nY2F0YCBzdXJmYWNlZCBhXG4gKiBjYXVzZSkuXG4gKlxuICogSG9zdC1zaWRlIGhlbHBlciBcdTIwMTQgdXNlZCBieSB0aGUgc2V0dXAgb3JjaGVzdHJhdGlvbiB0byBjb21wb3NlIHRoZSBmaW5hbFxuICogZmFpbHVyZSBtZXNzYWdlLCBzbyB0aGUgcmVuZGVyZXItaW5qZWN0ZWQge0BsaW5rIGVuYWJsZVBsdWdpbldpdGhFcnJvckNhcHR1cmV9XG4gKiBzdGF5cyBzZWxmLWNvbnRhaW5lZC5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgSUQgb2YgdGhlIHBsdWdpbiB0aGF0IGZhaWxlZCB0byBsb2FkLlxuICogQHJldHVybnMgVGhlIGdlbmVyaWMgZmFpbHVyZSBtZXNzYWdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2VuZXJpY1BsdWdpbkxvYWRGYWlsdXJlTWVzc2FnZShwbHVnaW5JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBQbHVnaW4gXCIke3BsdWdpbklkfVwiIGlzIGluIHRoZSBlbmFibGVkIHNldCBidXQgbm90IGxvYWRlZC4gYFxuICAgICsgJ09ic2lkaWFuIG1heSBoYXZlIGNhdWdodCB0aGUgZXJyb3IgYmVmb3JlIHRoZSBtb25rZXktcGF0Y2guICdcbiAgICArICdDaGVjayB0aGUgT2JzaWRpYW4gY29uc29sZSBmb3IgZGV0YWlscy4nO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBK0VBLGVBQXNCLDZCQUE2QixFQUFFLEtBQUssU0FBUyxHQUFzRTtBQUN2SSxNQUFJLENBQUMsSUFBSSxRQUFRLFVBQVUsR0FBRztBQUM1QixVQUFNLElBQUksUUFBUSxVQUFVLElBQUk7QUFBQSxFQUNsQztBQVNBLE1BQUksSUFBSSxRQUFRLGVBQWUsSUFBSSxRQUFRLEtBQUssQ0FBQyxPQUFPLE9BQU8sSUFBSSxRQUFRLFNBQVMsUUFBUSxHQUFHO0FBQzdGLFVBQU0sSUFBSSxRQUFRLHFCQUFxQixRQUFRO0FBQUEsRUFDakQ7QUFFQSxNQUFJO0FBRUosUUFBTSxpQkFBaUIsSUFBSSxRQUFRO0FBQ25DLE1BQUksUUFBUSxhQUFhLGVBQWUsV0FBVyxJQUFZLGVBQTBDO0FBQ3ZHLFFBQUk7QUFDRixZQUFNLFNBQVMsTUFBTSxlQUFlLEtBQUssTUFBTSxJQUFJLGFBQWE7QUFDaEUscUJBQWU7QUFDZixhQUFPO0FBQUEsSUFDVCxTQUFTLE9BQU87QUFFZCxZQUFNLFNBQVM7QUFDZixxQkFBZSxPQUFPLDhCQUE4QixjQUFjLEtBQUssS0FBSyxPQUFPLEtBQUs7QUFDeEYsWUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBVUEsUUFBTSxrQkFBNEIsQ0FBQztBQUVuQyxRQUFNLGVBQWU7QUFDckIsV0FBUyxlQUFlLFVBQTJCO0FBQ2pELFFBQUksb0JBQW9CLE9BQU87QUFDN0IsYUFBTyxhQUFhLDhCQUE4QixjQUFjLFFBQVEsS0FBSyxPQUFPLFFBQVE7QUFBQSxJQUM5RjtBQUNBLFFBQUksT0FBTyxhQUFhLFVBQVU7QUFDaEMsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLGFBQWEsVUFBYSxhQUFhLE1BQU07QUFDL0MsYUFBTyxPQUFPLFFBQVE7QUFBQSxJQUN4QjtBQUNBLFVBQU0sT0FBTyxLQUFLLFVBQVUsUUFBUTtBQUNwQyxXQUFPLFFBQVEsT0FBTyxVQUFVLFNBQVMsS0FBSyxRQUFRO0FBQUEsRUFDeEQ7QUFDQSxXQUFTLGlCQUFpQixPQUF3QjtBQUNoRCxvQkFBZ0IsS0FBSyxNQUFNLElBQUksQ0FBQyxhQUFhLGVBQWUsUUFBUSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUM7QUFBQSxFQUNsRjtBQUNBLFFBQU0sbUJBQW1CLFFBQVE7QUFDakMsUUFBTSxrQkFBa0IsUUFBUTtBQUNoQyxVQUFRLFFBQVEsSUFBSSxVQUEyQjtBQUM3QyxrQkFBYyxHQUFHLEtBQUs7QUFDdEIscUJBQWlCLE1BQU0sU0FBUyxLQUFLO0FBQUEsRUFDdkM7QUFDQSxVQUFRLE9BQU8sSUFBSSxVQUEyQjtBQUM1QyxrQkFBYyxHQUFHLEtBQUs7QUFDdEIsb0JBQWdCLE1BQU0sU0FBUyxLQUFLO0FBQUEsRUFDdEM7QUFDQSxXQUFTLGNBQWMsT0FBeUI7QUFDOUMsb0JBQWdCLEtBQUssTUFBTSxpQkFBaUIsUUFBUSxlQUFlLE1BQU0sS0FBSyxJQUFJLE1BQU0sT0FBTztBQUFBLEVBQ2pHO0FBQ0EsV0FBUyxxQkFBcUIsT0FBb0M7QUFDaEUsb0JBQWdCLEtBQUssZUFBZSxNQUFNLE1BQU0sQ0FBQztBQUFBLEVBQ25EO0FBQ0EsYUFBVyxpQkFBaUIsU0FBUyxhQUFhO0FBQ2xELGFBQVcsaUJBQWlCLHNCQUFzQixvQkFBb0I7QUFFdEUsTUFBSTtBQUNGLFVBQU0sSUFBSSxRQUFRLG9CQUFvQixRQUFRO0FBQUEsRUFDaEQsVUFBRTtBQUVBLFFBQUksUUFBUSxhQUFhO0FBQ3pCLFlBQVEsUUFBUTtBQUNoQixZQUFRLE9BQU87QUFDZixlQUFXLG9CQUFvQixTQUFTLGFBQWE7QUFDckQsZUFBVyxvQkFBb0Isc0JBQXNCLG9CQUFvQjtBQUFBLEVBQzNFO0FBRUEsUUFBTSxXQUFXLE9BQU8sT0FBTyxJQUFJLFFBQVEsU0FBUyxRQUFRO0FBRTVELE1BQUk7QUFDSixNQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtBQUM5QixVQUFNLFNBQVMsZ0JBQWdCLEtBQUssSUFBSSxFQUFFLEtBQUs7QUFDL0MsNEJBQXdCLFVBQVU7QUFBQSxFQUNwQztBQUVBLFNBQU87QUFBQSxJQUNMO0FBQUEsSUFDQSxXQUFXLElBQUksUUFBUSxlQUFlLElBQUksUUFBUTtBQUFBLElBQ2xEO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFDRjtBQWVPLFNBQVMsbUNBQW1DLFVBQTBCO0FBQzNFLFNBQU8sV0FBVyxRQUFRO0FBRzVCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VuYWJsZS1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTaGFyZWQgaGVscGVyIGZvciBlbmFibGluZyBhbiBPYnNpZGlhbiBwbHVnaW4gd2l0aCBlcnJvciBjYXB0dXJlLlxuICogVXNlZCBieSBib3RoIHRoZSBnbG9iYWwgc2V0dXAgYW5kIGludGVncmF0aW9uIHRlc3RzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIGNvZGUgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vbkFyZ3VtZW50cyB9IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5tanMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBlbmFibGVQbHVnaW5XaXRoRXJyb3JDYXB0dXJlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmFibGVQbHVnaW5QYXJhbXMge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBwbHVnaW4gdG8gZW5hYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXN1bHQgb2YgZW5hYmxpbmcgYSBwbHVnaW4gd2l0aCBlcnJvciBjYXB0dXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuYWJsZVBsdWdpblJlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSBjYXB0dXJlZCBieSB0aGUgYGxvYWRQbHVnaW5gIG1vbmtleS1wYXRjaCwgb3IgYHVuZGVmaW5lZGBcbiAgICogd2hlbiB0aGUgcGF0Y2ggc2F3IG5vIHRocm93LiBXaGVuIE9ic2lkaWFuIHN3YWxsb3dzIHRoZSBlcnJvciAqYmVmb3JlKiB0aGVcbiAgICogcGF0Y2ggKGxlYXZpbmcgdGhpcyBlbXB0eSkgYnV0IHRoZSBwbHVnaW4gc3RpbGwgZmFpbGVkIHRvIGxvYWQsIHRoZSByZWFsXG4gICAqIGNhdXNlIFx1MjAxNCBpZiBpdCByZWFjaGVkIHRoZSByZW5kZXJlciBjb25zb2xlIFx1MjAxNCBpcyBpbiB7QGxpbmsgRW5hYmxlUGx1Z2luUmVzdWx0LnJlbmRlcmVyQ29uc29sZUVycm9yc30uXG4gICAqL1xuICByZWFkb25seSBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcGx1Z2luIGlzIGluIHRoZSBlbmFibGVkIHNldCBhZnRlciB0aGUgZW5hYmxlIGF0dGVtcHQuXG4gICAqIEEgcGx1Z2luIGNhbiBiZSBcImVuYWJsZWRcIiAoY29uZmlndXJlZCkgYnV0IG5vdCBcImxvYWRlZFwiIChmYWlsZWQgdG8gaW5pdGlhbGl6ZSkuXG4gICAqL1xuICByZWFkb25seSBpc0VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBsdWdpbiBpbnN0YW5jZSBhY3R1YWxseSBleGlzdHMgaW4gYGFwcC5wbHVnaW5zLnBsdWdpbnNgLlxuICAgKiBUaGlzIGlzIHRoZSBkZWZpbml0aXZlIGNoZWNrIFx1MjAxNCBhIHBsdWdpbiB0aGF0IGlzIGVuYWJsZWQgYnV0IG5vdCBsb2FkZWQgaGFzIGZhaWxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9hZGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb25zb2xlL2Vycm9yIG91dHB1dCBjYXB0dXJlZCBpbiB0aGUgcmVuZGVyZXIgZHVyaW5nIHRoZSBlbmFibGUgd2luZG93IFx1MjAxNFxuICAgKiBwb3B1bGF0ZWQgKipvbmx5Kiogd2hlbiB0aGUgcGx1Z2luIGZhaWxlZCB0byBsb2FkIGFuZCB0aGUgbW9ua2V5LXBhdGNoIHNhd1xuICAgKiBubyB0aHJvdyAoYCFlcnJvck1lc3NhZ2UgJiYgIWlzTG9hZGVkYCksIGkuZS4gZXhhY3RseSB0aGUgY2FzZSB0aGF0IHdvdWxkXG4gICAqIG90aGVyd2lzZSBzdXJmYWNlIHRoZSBnZW5lcmljIHtAbGluayBnZXRHZW5lcmljUGx1Z2luTG9hZEZhaWx1cmVNZXNzYWdlfSB0ZXh0LlxuICAgKiBgdW5kZWZpbmVkYCBvdGhlcndpc2UgKGluY2x1ZGluZyBvbiBzdWNjZXNzIGFuZCB3aGVuIHtAbGluayBFbmFibGVQbHVnaW5SZXN1bHQuZXJyb3JNZXNzYWdlfSBhbHJlYWR5IGhhcyB0aGUgZXJyb3IpLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVuZGVyZXJDb25zb2xlRXJyb3JzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RpbmdFcnJvclRvU3RyaW5nIHtcbiAgZXJyb3JUb1N0cmluZzogKGVycm9yOiB1bmtub3duKSA9PiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RpbmdIb2xkZXIge1xuICBfX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nOiBJbnRlZ3JhdGlvblRlc3RpbmdFcnJvclRvU3RyaW5nO1xufVxuXG4vKipcbiAqIEVuYWJsZXMgYSBwbHVnaW4gaW5zaWRlIE9ic2lkaWFuIGFuZCBjYXB0dXJlcyBhbnkgbG9hZCBlcnJvci5cbiAqXG4gKiBNb25rZXktcGF0Y2hlcyBgYXBwLnBsdWdpbnMubG9hZFBsdWdpbmAgdG8gaW50ZXJjZXB0IGVycm9ycyBiZWZvcmVcbiAqIE9ic2lkaWFuJ3MgYGVuYWJsZVBsdWdpbmAgdHJ5LWNhdGNoIHN3YWxsb3dzIHRoZW0uIFRoZSBvcmlnaW5hbCBtZXRob2RcbiAqIGlzIGFsd2F5cyByZXN0b3JlZCBpbiBhIGBmaW5hbGx5YCBibG9jay5cbiAqXG4gKiBEZXNpZ25lZCB0byBiZSBwYXNzZWQgYXMgdGhlIGBjYWxsYmFja2AgYXJndW1lbnQgdG8ge0BsaW5rIGV2YWxJbk9ic2lkaWFufS5cbiAqXG4gKiBAcGFyYW0gaW5wdXQgLSBUaGUgY29tbW9uIGlucHV0IHBsdXMgdGhlIHBsdWdpbiBJRC5cbiAqIEBwYXJhbSBpbnB1dC5hcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGlucHV0LnBsdWdpbklkIC0gVGhlIElEIG9mIHRoZSBwbHVnaW4gdG8gZW5hYmxlLlxuICogQHJldHVybnMgVGhlIGVuYWJsZSByZXN1bHQgd2l0aCBlcnJvciBtZXNzYWdlIGFuZCBlbmFibGVkIHN0YXR1cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuYWJsZVBsdWdpbldpdGhFcnJvckNhcHR1cmUoeyBhcHAsIHBsdWdpbklkIH06IENvbW1vbkFyZ3VtZW50cyAmIEVuYWJsZVBsdWdpblBhcmFtcyk6IFByb21pc2U8RW5hYmxlUGx1Z2luUmVzdWx0PiB7XG4gIGlmICghYXBwLnBsdWdpbnMuaXNFbmFibGVkKCkpIHtcbiAgICBhd2FpdCBhcHAucGx1Z2lucy5zZXRFbmFibGUodHJ1ZSk7XG4gIH1cblxuICAvKlxuICAgKiBGb3JjZSBhIGdlbnVpbmUgcmVsb2FkIHdoZW4gcmV0cnlpbmcuIElmIGEgcHJpb3IgYXR0ZW1wdCBsZWZ0IHRoZSBwbHVnaW4gaW5cbiAgICogdGhlIGVuYWJsZWQgc2V0IGJ1dCBub3QgbG9hZGVkICh0aGUgY29sZC1ib290IHJhY2UpLCBhIHBsYWluIHJlLWVuYWJsZSBjYW5cbiAgICogc2hvcnQtY2lyY3VpdCBvbiBzb21lIE9ic2lkaWFuIHZlcnNpb25zIHdpdGhvdXQgcmUtYXR0ZW1wdGluZyB0aGUgbG9hZC5cbiAgICogRnVsbHkgcmVzZXQgdGhlIGVuYWJsZWQgc3RhdGUgZmlyc3Qgc28gdGhlIGBlbmFibGVQbHVnaW5BbmRTYXZlYCBiZWxvdyBpcyBhXG4gICAqIHJlYWwgZnJlc2ggZW5hYmxlICsgbG9hZC4gTm8tb3Agb24gdGhlIGZpcnN0IGF0dGVtcHQgKG5vdCB5ZXQgZW5hYmxlZCkuXG4gICAqL1xuICBpZiAoYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMuaGFzKHBsdWdpbklkKSAmJiAhT2JqZWN0Lmhhc093bihhcHAucGx1Z2lucy5wbHVnaW5zLCBwbHVnaW5JZCkpIHtcbiAgICBhd2FpdCBhcHAucGx1Z2lucy5kaXNhYmxlUGx1Z2luQW5kU2F2ZShwbHVnaW5JZCk7XG4gIH1cblxuICBsZXQgZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2QgLS0gSW50ZW50aW9uYWwgbW9ua2V5LXBhdGNoOyByZXN0b3JlZCBpbiBmaW5hbGx5LlxuICBjb25zdCBvcmlnTG9hZFBsdWdpbiA9IGFwcC5wbHVnaW5zLmxvYWRQbHVnaW47XG4gIGFwcC5wbHVnaW5zLmxvYWRQbHVnaW4gPSBhc3luYyBmdW5jdGlvbiBsb2FkUGx1Z2luKGlkOiBzdHJpbmcsIGlzVXNlckVuYWJsZWQ/OiBib29sZWFuKTogUHJvbWlzZTxQbHVnaW4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3JpZ0xvYWRQbHVnaW4uY2FsbCh0aGlzLCBpZCwgaXNVc2VyRW5hYmxlZCk7XG4gICAgICBlcnJvck1lc3NhZ2UgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gQXBwcm92ZWQgZG91YmxlIGNhc3Q6IGBfX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYCBpcyBvdXIgaW50ZXJuYWwgV2luZG93IGF1Z21lbnRhdGlvbiwgaW50ZW50aW9uYWxseSBrZXB0IGxvY2FsIChub3QgZGVjbGFyZWQgZ2xvYmFsbHkpIHRvIGF2b2lkIGxlYWtpbmcgaW50byBjb25zdW1lciB0eXBlcy5cbiAgICAgIGNvbnN0IGhvbGRlciA9IGdsb2JhbFRoaXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPEludGVncmF0aW9uVGVzdGluZ0hvbGRlcj47XG4gICAgICBlcnJvck1lc3NhZ2UgPSBob2xkZXIuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8uZXJyb3JUb1N0cmluZyhlcnJvcikgPz8gU3RyaW5nKGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfTtcblxuICAvKlxuICAgKiBMYXllciAxIFx1MjAxNCBjYXB0dXJlIHRoZSByZW5kZXJlciBjb25zb2xlICsgdW5jYXVnaHQgZXJyb3JzIGZvciB0aGUgZHVyYXRpb24gb2ZcbiAgICogdGhlIGVuYWJsZS4gSWYgT2JzaWRpYW4gc3dhbGxvd3MgdGhlIGxvYWQgZXJyb3IgYmVmb3JlIHRoZSBtb25rZXktcGF0Y2ggYWJvdmVcbiAgICogc2VlcyBpdCAobGVhdmluZyBgZXJyb3JNZXNzYWdlYCBlbXB0eSksIHRoZSByZWFsIGNhdXNlIGlzIHR5cGljYWxseSBzdGlsbFxuICAgKiBgY29uc29sZS5lcnJvcmAnZCwgc28gY2FwdHVyaW5nIGl0IGhlcmUgc3VyZmFjZXMgaXQgaW4gcGxhY2Ugb2YgdGhlIGdlbmVyaWNcbiAgICogZmFsbGJhY2suIFdvcmtzIG9uIGRlc2t0b3AgYW5kIEFuZHJvaWQgYWxpa2Ugc2luY2UgdGhpcyB3aG9sZSBmdW5jdGlvbiBpc1xuICAgKiBzZXJpYWxpemVkIGFuZCBpbmplY3RlZCBpbnRvIHRoZSByZW5kZXJlci5cbiAgICovXG4gIGNvbnN0IGNhcHR1cmVkQ29uc29sZTogc3RyaW5nW10gPSBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tIEFwcHJvdmVkIGRvdWJsZSBjYXN0LCBzYW1lIHJhdGlvbmFsZSBhcyBhYm92ZS5cbiAgY29uc3QgZm9ybWF0SG9sZGVyID0gZ2xvYmFsVGhpcyBhcyB1bmtub3duIGFzIFBhcnRpYWw8SW50ZWdyYXRpb25UZXN0aW5nSG9sZGVyPjtcbiAgZnVuY3Rpb24gZm9ybWF0QXJndW1lbnQoYXJndW1lbnQ6IHVua25vd24pOiBzdHJpbmcge1xuICAgIGlmIChhcmd1bWVudCBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICByZXR1cm4gZm9ybWF0SG9sZGVyLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3Rpbmc/LmVycm9yVG9TdHJpbmcoYXJndW1lbnQpID8/IFN0cmluZyhhcmd1bWVudCk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgYXJndW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYXJndW1lbnQ7XG4gICAgfVxuICAgIGlmIChhcmd1bWVudCA9PT0gdW5kZWZpbmVkIHx8IGFyZ3VtZW50ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKGFyZ3VtZW50KTtcbiAgICB9XG4gICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KGFyZ3VtZW50KTtcbiAgICByZXR1cm4ganNvbiA/PyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYXJndW1lbnQpO1xuICB9XG4gIGZ1bmN0aW9uIHJlY29yZENvbnNvbGUoLi4uaW5wdXQ6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGNhcHR1cmVkQ29uc29sZS5wdXNoKGlucHV0Lm1hcCgoYXJndW1lbnQpID0+IGZvcm1hdEFyZ3VtZW50KGFyZ3VtZW50KSkuam9pbignICcpKTtcbiAgfVxuICBjb25zdCBvcmlnQ29uc29sZUVycm9yID0gY29uc29sZS5lcnJvcjtcbiAgY29uc3Qgb3JpZ0NvbnNvbGVXYXJuID0gY29uc29sZS53YXJuO1xuICBjb25zb2xlLmVycm9yID0gKC4uLmlucHV0OiB1bmtub3duW10pOiB2b2lkID0+IHtcbiAgICByZWNvcmRDb25zb2xlKC4uLmlucHV0KTtcbiAgICBvcmlnQ29uc29sZUVycm9yLmFwcGx5KGNvbnNvbGUsIGlucHV0KTtcbiAgfTtcbiAgY29uc29sZS53YXJuID0gKC4uLmlucHV0OiB1bmtub3duW10pOiB2b2lkID0+IHtcbiAgICByZWNvcmRDb25zb2xlKC4uLmlucHV0KTtcbiAgICBvcmlnQ29uc29sZVdhcm4uYXBwbHkoY29uc29sZSwgaW5wdXQpO1xuICB9O1xuICBmdW5jdGlvbiBvbldpbmRvd0Vycm9yKGV2ZW50OiBFcnJvckV2ZW50KTogdm9pZCB7XG4gICAgY2FwdHVyZWRDb25zb2xlLnB1c2goZXZlbnQuZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGZvcm1hdEFyZ3VtZW50KGV2ZW50LmVycm9yKSA6IGV2ZW50Lm1lc3NhZ2UpO1xuICB9XG4gIGZ1bmN0aW9uIG9uVW5oYW5kbGVkUmVqZWN0aW9uKGV2ZW50OiBQcm9taXNlUmVqZWN0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBjYXB0dXJlZENvbnNvbGUucHVzaChmb3JtYXRBcmd1bWVudChldmVudC5yZWFzb24pKTtcbiAgfVxuICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25XaW5kb3dFcnJvcik7XG4gIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcigndW5oYW5kbGVkcmVqZWN0aW9uJywgb25VbmhhbmRsZWRSZWplY3Rpb24pO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgYXBwLnBsdWdpbnMuZW5hYmxlUGx1Z2luQW5kU2F2ZShwbHVnaW5JZCk7XG4gIH0gZmluYWxseSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXRvbWljLXVwZGF0ZXMgLS0gSW50ZW50aW9uYWwgcmVzdG9yZSBvZiBtb25rZXktcGF0Y2guXG4gICAgYXBwLnBsdWdpbnMubG9hZFBsdWdpbiA9IG9yaWdMb2FkUGx1Z2luO1xuICAgIGNvbnNvbGUuZXJyb3IgPSBvcmlnQ29uc29sZUVycm9yO1xuICAgIGNvbnNvbGUud2FybiA9IG9yaWdDb25zb2xlV2FybjtcbiAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25XaW5kb3dFcnJvcik7XG4gICAgZ2xvYmFsVGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCBvblVuaGFuZGxlZFJlamVjdGlvbik7XG4gIH1cblxuICBjb25zdCBpc0xvYWRlZCA9IE9iamVjdC5oYXNPd24oYXBwLnBsdWdpbnMucGx1Z2lucywgcGx1Z2luSWQpO1xuXG4gIGxldCByZW5kZXJlckNvbnNvbGVFcnJvcnM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgaWYgKCFlcnJvck1lc3NhZ2UgJiYgIWlzTG9hZGVkKSB7XG4gICAgY29uc3Qgam9pbmVkID0gY2FwdHVyZWRDb25zb2xlLmpvaW4oJ1xcbicpLnRyaW0oKTtcbiAgICByZW5kZXJlckNvbnNvbGVFcnJvcnMgPSBqb2luZWQgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlcnJvck1lc3NhZ2UsXG4gICAgaXNFbmFibGVkOiBhcHAucGx1Z2lucy5lbmFibGVkUGx1Z2lucy5oYXMocGx1Z2luSWQpLFxuICAgIGlzTG9hZGVkLFxuICAgIHJlbmRlcmVyQ29uc29sZUVycm9yc1xuICB9O1xufVxuXG4vKipcbiAqIFRoZSBnZW5lcmljIGxhc3QtcmVzb3J0IG1lc3NhZ2Ugc2hvd24gd2hlbiBhIHBsdWdpbiBpcyBpbiB0aGUgZW5hYmxlZCBzZXQgYnV0XG4gKiBub3QgbG9hZGVkIGFuZCBubyByZWFsIGVycm9yIGNvdWxkIGJlIGNhcHR1cmVkIChuZWl0aGVyIHRoZSBgbG9hZFBsdWdpbmBcbiAqIG1vbmtleS1wYXRjaCBub3IgdGhlIHJlbmRlcmVyIGNvbnNvbGUgbm9yLCBvbiBBbmRyb2lkLCBgYWRiIGxvZ2NhdGAgc3VyZmFjZWQgYVxuICogY2F1c2UpLlxuICpcbiAqIEhvc3Qtc2lkZSBoZWxwZXIgXHUyMDE0IHVzZWQgYnkgdGhlIHNldHVwIG9yY2hlc3RyYXRpb24gdG8gY29tcG9zZSB0aGUgZmluYWxcbiAqIGZhaWx1cmUgbWVzc2FnZSwgc28gdGhlIHJlbmRlcmVyLWluamVjdGVkIHtAbGluayBlbmFibGVQbHVnaW5XaXRoRXJyb3JDYXB0dXJlfVxuICogc3RheXMgc2VsZi1jb250YWluZWQuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIElEIG9mIHRoZSBwbHVnaW4gdGhhdCBmYWlsZWQgdG8gbG9hZC5cbiAqIEByZXR1cm5zIFRoZSBnZW5lcmljIGZhaWx1cmUgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdlbmVyaWNQbHVnaW5Mb2FkRmFpbHVyZU1lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgUGx1Z2luIFwiJHtwbHVnaW5JZH1cIiBpcyBpbiB0aGUgZW5hYmxlZCBzZXQgYnV0IG5vdCBsb2FkZWQuIGBcbiAgICArICdPYnNpZGlhbiBtYXkgaGF2ZSBjYXVnaHQgdGhlIGVycm9yIGJlZm9yZSB0aGUgbW9ua2V5LXBhdGNoLiAnXG4gICAgKyAnQ2hlY2sgdGhlIE9ic2lkaWFuIGNvbnNvbGUgZm9yIGRldGFpbHMuJztcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICJBQStFQSxlQUFzQiw2QkFBNkIsRUFBRSxLQUFLLFNBQVMsR0FBc0U7QUFDdkksTUFBSSxDQUFDLElBQUksUUFBUSxVQUFVLEdBQUc7QUFDNUIsVUFBTSxJQUFJLFFBQVEsVUFBVSxJQUFJO0FBQUEsRUFDbEM7QUFTQSxNQUFJLElBQUksUUFBUSxlQUFlLElBQUksUUFBUSxLQUFLLENBQUMsT0FBTyxPQUFPLElBQUksUUFBUSxTQUFTLFFBQVEsR0FBRztBQUM3RixVQUFNLElBQUksUUFBUSxxQkFBcUIsUUFBUTtBQUFBLEVBQ2pEO0FBRUEsTUFBSTtBQUVKLFFBQU0saUJBQWlCLElBQUksUUFBUTtBQUNuQyxNQUFJLFFBQVEsYUFBYSxlQUFlLFdBQVcsSUFBWSxlQUEwQztBQUN2RyxRQUFJO0FBQ0YsWUFBTSxTQUFTLE1BQU0sZUFBZSxLQUFLLE1BQU0sSUFBSSxhQUFhO0FBQ2hFLHFCQUFlO0FBQ2YsYUFBTztBQUFBLElBQ1QsU0FBUyxPQUFPO0FBRWQsWUFBTSxTQUFTO0FBQ2YscUJBQWUsT0FBTyw4QkFBOEIsY0FBYyxLQUFLLEtBQUssT0FBTyxLQUFLO0FBQ3hGLFlBQU07QUFBQSxJQUNSO0FBQUEsRUFDRjtBQVVBLFFBQU0sa0JBQTRCLENBQUM7QUFFbkMsUUFBTSxlQUFlO0FBQ3JCLFdBQVMsZUFBZSxVQUEyQjtBQUNqRCxRQUFJLG9CQUFvQixPQUFPO0FBQzdCLGFBQU8sYUFBYSw4QkFBOEIsY0FBYyxRQUFRLEtBQUssT0FBTyxRQUFRO0FBQUEsSUFDOUY7QUFDQSxRQUFJLE9BQU8sYUFBYSxVQUFVO0FBQ2hDLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxhQUFhLFVBQWEsYUFBYSxNQUFNO0FBQy9DLGFBQU8sT0FBTyxRQUFRO0FBQUEsSUFDeEI7QUFDQSxVQUFNLE9BQU8sS0FBSyxVQUFVLFFBQVE7QUFDcEMsV0FBTyxRQUFRLE9BQU8sVUFBVSxTQUFTLEtBQUssUUFBUTtBQUFBLEVBQ3hEO0FBQ0EsV0FBUyxpQkFBaUIsT0FBd0I7QUFDaEQsb0JBQWdCLEtBQUssTUFBTSxJQUFJLENBQUMsYUFBYSxlQUFlLFFBQVEsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDO0FBQUEsRUFDbEY7QUFDQSxRQUFNLG1CQUFtQixRQUFRO0FBQ2pDLFFBQU0sa0JBQWtCLFFBQVE7QUFDaEMsVUFBUSxRQUFRLElBQUksVUFBMkI7QUFDN0Msa0JBQWMsR0FBRyxLQUFLO0FBQ3RCLHFCQUFpQixNQUFNLFNBQVMsS0FBSztBQUFBLEVBQ3ZDO0FBQ0EsVUFBUSxPQUFPLElBQUksVUFBMkI7QUFDNUMsa0JBQWMsR0FBRyxLQUFLO0FBQ3RCLG9CQUFnQixNQUFNLFNBQVMsS0FBSztBQUFBLEVBQ3RDO0FBQ0EsV0FBUyxjQUFjLE9BQXlCO0FBQzlDLG9CQUFnQixLQUFLLE1BQU0saUJBQWlCLFFBQVEsZUFBZSxNQUFNLEtBQUssSUFBSSxNQUFNLE9BQU87QUFBQSxFQUNqRztBQUNBLFdBQVMscUJBQXFCLE9BQW9DO0FBQ2hFLG9CQUFnQixLQUFLLGVBQWUsTUFBTSxNQUFNLENBQUM7QUFBQSxFQUNuRDtBQUNBLGFBQVcsaUJBQWlCLFNBQVMsYUFBYTtBQUNsRCxhQUFXLGlCQUFpQixzQkFBc0Isb0JBQW9CO0FBRXRFLE1BQUk7QUFDRixVQUFNLElBQUksUUFBUSxvQkFBb0IsUUFBUTtBQUFBLEVBQ2hELFVBQUU7QUFFQSxRQUFJLFFBQVEsYUFBYTtBQUN6QixZQUFRLFFBQVE7QUFDaEIsWUFBUSxPQUFPO0FBQ2YsZUFBVyxvQkFBb0IsU0FBUyxhQUFhO0FBQ3JELGVBQVcsb0JBQW9CLHNCQUFzQixvQkFBb0I7QUFBQSxFQUMzRTtBQUVBLFFBQU0sV0FBVyxPQUFPLE9BQU8sSUFBSSxRQUFRLFNBQVMsUUFBUTtBQUU1RCxNQUFJO0FBQ0osTUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVU7QUFDOUIsVUFBTSxTQUFTLGdCQUFnQixLQUFLLElBQUksRUFBRSxLQUFLO0FBQy9DLDRCQUF3QixVQUFVO0FBQUEsRUFDcEM7QUFFQSxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0EsV0FBVyxJQUFJLFFBQVEsZUFBZSxJQUFJLFFBQVE7QUFBQSxJQUNsRDtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQ0Y7QUFlTyxTQUFTLG1DQUFtQyxVQUEwQjtBQUMzRSxTQUFPLFdBQVcsUUFBUTtBQUc1QjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -105,7 +105,7 @@ export interface EvalInObsidianParams<Input extends GenericObject, Result, TCont
|
|
|
105
105
|
/**
|
|
106
106
|
* The function to evaluate in the Obsidian context.
|
|
107
107
|
*/
|
|
108
|
-
callback(input: CommonArguments & ContextArguments<TContextId> & Input)
|
|
108
|
+
readonly callback: (input: CommonArguments & ContextArguments<TContextId> & Input) => Promisable<Result>;
|
|
109
109
|
/**
|
|
110
110
|
* A {@link ContextId} linking this call to a persistent store on `window`
|
|
111
111
|
* in the Obsidian process. The callback receives a typed `context` object
|
|
@@ -191,7 +191,7 @@ export interface Lib {
|
|
|
191
191
|
* to hold.
|
|
192
192
|
* @returns A {@link Promise} that resolves once the click has been injected.
|
|
193
193
|
*/
|
|
194
|
-
clickElement(this: void, params: ClickElementParams)
|
|
194
|
+
clickElement: (this: void, params: ClickElementParams) => Promise<void>;
|
|
195
195
|
/**
|
|
196
196
|
* Clicks at the given web-contents coordinates using **trusted** Electron
|
|
197
197
|
* pointer input, so Chromium synthesizes a real `click` (or `contextmenu`,
|
|
@@ -226,7 +226,7 @@ export interface Lib {
|
|
|
226
226
|
* press and any modifiers to hold.
|
|
227
227
|
* @returns A {@link Promise} that resolves once the click has been injected.
|
|
228
228
|
*/
|
|
229
|
-
clickMouse(this: void, params: ClickMouseParams)
|
|
229
|
+
clickMouse: (this: void, params: ClickMouseParams) => Promise<void>;
|
|
230
230
|
/**
|
|
231
231
|
* Creates a note and does not return until its content is verifiably on
|
|
232
232
|
* disk, rewriting it if it is not.
|
|
@@ -255,7 +255,7 @@ export interface Lib {
|
|
|
255
255
|
* @returns A {@link Promise} resolving to the created file, once its content
|
|
256
256
|
* is confirmed.
|
|
257
257
|
*/
|
|
258
|
-
createNote(this: void, params: CreateNoteParams)
|
|
258
|
+
createNote: (this: void, params: CreateNoteParams) => Promise<TFile>;
|
|
259
259
|
/**
|
|
260
260
|
* Moves the mouse pointer to the center of an element using **trusted**
|
|
261
261
|
* Electron pointer input, then polls until the element actually matches
|
|
@@ -276,8 +276,11 @@ export interface Lib {
|
|
|
276
276
|
*
|
|
277
277
|
* @param params - The element to hover.
|
|
278
278
|
* @returns A {@link Promise} that resolves once the element matches `:hover`.
|
|
279
|
+
* @throws When the element never matches `:hover`. Resolving quietly there
|
|
280
|
+
* would let a test read an element that is not hovered and pass on whatever
|
|
281
|
+
* its base style happens to be.
|
|
279
282
|
*/
|
|
280
|
-
hoverElement(this: void, params: HoverElementParams)
|
|
283
|
+
hoverElement: (this: void, params: HoverElementParams) => Promise<void>;
|
|
281
284
|
/**
|
|
282
285
|
* Moves the mouse pointer to the given web-contents coordinates using a
|
|
283
286
|
* **trusted** Electron pointer move.
|
|
@@ -302,7 +305,7 @@ export interface Lib {
|
|
|
302
305
|
* @param params - The web-contents DIP coordinates to move to.
|
|
303
306
|
* @returns A {@link Promise} that resolves once the move has been injected.
|
|
304
307
|
*/
|
|
305
|
-
moveMouse(this: void, params: MoveMouseParams)
|
|
308
|
+
moveMouse: (this: void, params: MoveMouseParams) => Promise<void>;
|
|
306
309
|
/**
|
|
307
310
|
* Opens Obsidian's settings modal on a given tab, and does not return until
|
|
308
311
|
* that tab has actually rendered.
|
|
@@ -332,7 +335,7 @@ export interface Lib {
|
|
|
332
335
|
* @throws Error if no tab carries {@link OpenSettingsTabParams.tabId}, or if
|
|
333
336
|
* the tab does not render within the timeout.
|
|
334
337
|
*/
|
|
335
|
-
openSettingsTab(this: void, params: OpenSettingsTabParams)
|
|
338
|
+
openSettingsTab: (this: void, params: OpenSettingsTabParams) => Promise<string[]>;
|
|
336
339
|
/**
|
|
337
340
|
* Presses a single key (optionally with modifiers) using **trusted** Electron
|
|
338
341
|
* keyboard input, firing the full real key pipeline —
|
|
@@ -367,7 +370,7 @@ export interface Lib {
|
|
|
367
370
|
* @returns A {@link Promise} that resolves once the key press has been
|
|
368
371
|
* injected.
|
|
369
372
|
*/
|
|
370
|
-
pressKey(this: void, params: PressKeyParams)
|
|
373
|
+
pressKey: (this: void, params: PressKeyParams) => Promise<void>;
|
|
371
374
|
/**
|
|
372
375
|
* Types text into a CodeMirror {@link Editor} using **trusted** Electron
|
|
373
376
|
* keyboard input.
|
|
@@ -390,7 +393,7 @@ export interface Lib {
|
|
|
390
393
|
* @param params - The editor to type into and the text to type.
|
|
391
394
|
* @returns A {@link Promise} that resolves once the keystrokes have settled.
|
|
392
395
|
*/
|
|
393
|
-
typeIntoEditor(this: void, params: TypeIntoEditorParams)
|
|
396
|
+
typeIntoEditor: (this: void, params: TypeIntoEditorParams) => Promise<void>;
|
|
394
397
|
/**
|
|
395
398
|
* Moves the mouse pointer to a point just outside an element's bounding box
|
|
396
399
|
* using a **trusted** Electron pointer move, then polls until the element no
|
|
@@ -408,8 +411,10 @@ export interface Lib {
|
|
|
408
411
|
* @param params - The element to move the pointer away from.
|
|
409
412
|
* @returns A {@link Promise} that resolves once the element no longer matches
|
|
410
413
|
* `:hover`.
|
|
414
|
+
* @throws When the element keeps matching `:hover`, which is what a
|
|
415
|
+
* full-viewport element does.
|
|
411
416
|
*/
|
|
412
|
-
unhoverElement(this: void, params: UnhoverElementParams)
|
|
417
|
+
unhoverElement: (this: void, params: UnhoverElementParams) => Promise<void>;
|
|
413
418
|
/**
|
|
414
419
|
* Polls a predicate until it becomes truthy, or rejects once a bounded
|
|
415
420
|
* timeout elapses.
|
|
@@ -432,7 +437,7 @@ export interface Lib {
|
|
|
432
437
|
* timeout message.
|
|
433
438
|
* @returns A {@link Promise} that resolves once the predicate is truthy.
|
|
434
439
|
*/
|
|
435
|
-
waitUntil(this: void, params: WaitUntilParams)
|
|
440
|
+
waitUntil: (this: void, params: WaitUntilParams) => Promise<void>;
|
|
436
441
|
}
|
|
437
442
|
/**
|
|
438
443
|
* The mouse button a trusted click presses, in Electron's `sendInputEvent`
|
|
@@ -547,7 +552,7 @@ export interface WaitUntilParams {
|
|
|
547
552
|
*
|
|
548
553
|
* @returns Whether the awaited condition has been met.
|
|
549
554
|
*/
|
|
550
|
-
predicate(this: void)
|
|
555
|
+
readonly predicate: (this: void) => boolean | Promise<boolean>;
|
|
551
556
|
/**
|
|
552
557
|
* The maximum time to wait before rejecting.
|
|
553
558
|
*
|