@mnaoumov/typescript-dev-toolkit 3.13.0 → 4.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/bundlers/esbuild-impl/preprocess-plugin.cjs +1 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
- package/dist/lib/cjs/docs-site/api-doc-link-rendering.cjs +1 -1
- package/dist/lib/cjs/docs-site/api-doc-settings.cjs +1 -1
- package/dist/lib/cjs/docs-site/api-doc-types.cjs +1 -1
- package/dist/lib/cjs/docs-site/api-doc-types.d.cts +57 -57
- package/dist/lib/cjs/docs-site/link-check.cjs +1 -1
- package/dist/lib/cjs/docs-site/link-check.d.cts +8 -8
- package/dist/lib/cjs/docs-site/og-images.cjs +1 -1
- package/dist/lib/cjs/docs-site/satteri-github-alerts.cjs +1 -1
- package/dist/lib/cjs/docs-site/unrendered-alerts.cjs +1 -1
- package/dist/lib/cjs/docs-site/unrendered-alerts.d.cts +2 -2
- package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.cjs +1 -1
- package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.d.cts +2 -2
- package/dist/lib/cjs/linters/eslint-config.cjs +2 -2
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.cjs +1 -1
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.d.cts +2 -2
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.cjs +3 -3
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +4 -4
- package/dist/lib/cjs/linters/eslint-rules/index.d.cts +1 -1
- package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.cjs +1 -1
- package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.cjs +1 -1
- package/dist/lib/cjs/linters/eslint-rules/readonly-interface-members.cjs +68 -0
- package/dist/lib/cjs/linters/eslint-rules/readonly-interface-members.d.cts +18 -0
- package/dist/lib/cjs/linters/eslint-rules/require-method-template.cjs +1 -1
- package/dist/lib/cjs/linters/eslint-rules/require-super-call.cjs +1 -1
- package/dist/lib/cjs/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +1 -1
- package/dist/lib/cjs/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +279 -279
- package/dist/lib/cjs/linters/over-exposure.cjs +1 -1
- package/dist/lib/cjs/linters/over-exposure.d.cts +6 -6
- package/dist/lib/cjs/npm.cjs +1 -1
- package/dist/lib/cjs/npm.d.cts +1 -1
- package/dist/lib/cjs/upstream-sync.cjs +1 -1
- package/dist/lib/cjs/upstream-sync.d.cts +31 -31
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +1 -1
- package/dist/lib/esm/docs-site/api-doc-link-rendering.mjs +1 -1
- package/dist/lib/esm/docs-site/api-doc-settings.mjs +1 -1
- package/dist/lib/esm/docs-site/api-doc-types.d.mts +57 -57
- package/dist/lib/esm/docs-site/link-check.d.mts +8 -8
- package/dist/lib/esm/docs-site/link-check.mjs +1 -1
- package/dist/lib/esm/docs-site/og-images.mjs +1 -1
- package/dist/lib/esm/docs-site/satteri-github-alerts.mjs +1 -1
- package/dist/lib/esm/docs-site/unrendered-alerts.d.mts +2 -2
- package/dist/lib/esm/docs-site/unrendered-alerts.mjs +1 -1
- package/dist/lib/esm/linters/eslint-agnostic-core-boundary.d.mts +2 -2
- package/dist/lib/esm/linters/eslint-agnostic-core-boundary.mjs +1 -1
- package/dist/lib/esm/linters/eslint-config.mjs +2 -2
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.d.mts +2 -2
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.mjs +1 -1
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.mjs +3 -3
- package/dist/lib/esm/linters/eslint-rules/index.d.mts +1 -1
- package/dist/lib/esm/linters/eslint-rules/index.mjs +3 -3
- package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.mjs +1 -1
- package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.mjs +1 -1
- package/dist/lib/esm/linters/eslint-rules/readonly-interface-members.d.mts +18 -0
- package/dist/lib/esm/linters/eslint-rules/readonly-interface-members.mjs +43 -0
- package/dist/lib/esm/linters/eslint-rules/require-method-template.mjs +1 -1
- package/dist/lib/esm/linters/eslint-rules/require-super-call.mjs +1 -1
- package/dist/lib/esm/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +1 -1
- package/dist/lib/esm/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +279 -279
- package/dist/lib/esm/linters/over-exposure.d.mts +6 -6
- package/dist/lib/esm/linters/over-exposure.mjs +1 -1
- package/dist/lib/esm/npm.d.mts +1 -1
- package/dist/lib/esm/npm.mjs +1 -1
- package/dist/lib/esm/upstream-sync.d.mts +31 -31
- package/dist/lib/esm/upstream-sync.mjs +1 -1
- package/linters/eslint-rules/readonly-interface-members/package.json +6 -0
- package/package.json +3 -3
- package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.cjs +0 -103
- package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.d.cts +0 -20
- package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.d.mts +0 -20
- package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.mjs +0 -78
- package/linters/eslint-rules/readonly-params-options-result-members/package.json +0 -6
|
@@ -235,4 +235,4 @@ export {
|
|
|
235
235
|
parseRetryAfterInMilliseconds,
|
|
236
236
|
resolveWithinRoot
|
|
237
237
|
};
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvbGluay1jaGVjay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVmFsaWRhdGlvbiBvZiB0aGUgbGlua3MgZW1pdHRlZCBieSB0aGUgYnVpbHQgZG9jdW1lbnRhdGlvbiBIVE1MLlxuICpcbiAqIEludGVybmFsIChzYW1lLXNpdGUpIGxpbmtzIGFyZSB2YWxpZGF0ZWQgb2ZmbGluZTogZXZlcnkgYGhyZWZgL2BzcmNgIG11c3QgcmVzb2x2ZSB0byBhIHJlYWxcbiAqIGZpbGUgaW4gdGhlIGJ1aWxkIG91dHB1dCwgYW5kIGV2ZXJ5IGAjZnJhZ21lbnRgIG11c3QgcmVzb2x2ZSB0byBhIHJlYWwgZWxlbWVudCBpZCBvbiB0aGVcbiAqIHRhcmdldCBwYWdlLlxuICpcbiAqIEV4dGVybmFsIGxpbmtzIGNhbiBvbmx5IGJlIHZhbGlkYXRlZCBvdmVyIHRoZSBuZXR3b3JrLCBzbyB0aG9zZSByZXF1ZXN0cyBhcmUgaGVhdmlseVxuICogZGVkdXBsaWNhdGVkIOKAlCBlYWNoIHVuaXF1ZSBleHRlcm5hbCBVUkwgaXMgZmV0Y2hlZCBhdCBtb3N0IG9uY2UgcmVnYXJkbGVzcyBvZiBob3cgbWFueSBvZiB0aGVcbiAqIHRob3VzYW5kcyBvZiBnZW5lcmF0ZWQgcGFnZXMgcmVmZXJlbmNlIGl0IOKAlCBhbmQgcnVuIHRocm91Z2ggYSBib3VuZGVkIGNvbmN1cnJlbmN5IHBvb2wuXG4gKi9cblxuaW1wb3J0IHsgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7XG4gIGFzc2VydE5ldmVyLFxuICBlbnN1cmVOb25OdWxsYWJsZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnbm9kZTpwYXRoL3Bvc2l4JztcblxuY29uc3QgTElOS19BVFRSSUJVVEVfUkVHRVggPSAvXFxiKD86aHJlZnxzcmMpPSg/PHF1b3RlPlsnXCJdKSg/PHZhbHVlPi4qPylcXGs8cXVvdGU+L2dpdTtcbmNvbnN0IElEX0FUVFJJQlVURV9SRUdFWCA9IC9cXGJpZD0oPzxxdW90ZT5bJ1wiXSkoPzx2YWx1ZT4uKj8pXFxrPHF1b3RlPi9naXU7XG5jb25zdCBIVFRQX09LX1NUQVRVUyA9IDIwMDtcblxuLyoqXG4gKiBUaGUge0BsaW5rIEJyb2tlbkxpbmsuaHR0cFN0YXR1c30gc2VudGluZWwgZm9yIGEgbmV0d29yay1sZXZlbCBmYWlsdXJlICh0aW1lb3V0LCBETlMsXG4gKiBjb25uZWN0aW9uIHJlZnVzZWQpIHdoZXJlIG5vIEhUVFAgcmVzcG9uc2Ugd2FzIHJlY2VpdmVkLlxuICovXG5leHBvcnQgY29uc3QgTkVUV09SS19GQUlMVVJFX1NUQVRVUyA9IDA7XG5cbi8qKlxuICogQSBzaW5nbGUgbGluayB0aGF0IGRvZXMgbm90IHJlc29sdmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJva2VuTGluayB7XG4gIC8qKlxuICAgKiBUaGUgSFRUUCBzdGF0dXMgcmV0dXJuZWQgYnkgYW4gZXh0ZXJuYWwgbGluaywgd2hlbiB7QGxpbmsgQnJva2VuTGluay5yZWFzb259IGlzXG4gICAqIGBleHRlcm5hbC1lcnJvcmAuIGAwYCBkZW5vdGVzIGEgbmV0d29yay1sZXZlbCBmYWlsdXJlICh0aW1lb3V0LCBETlMsIGNvbm5lY3Rpb24gcmVmdXNlZCkuXG4gICAqL1xuICBodHRwU3RhdHVzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgVVJMIG9mIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgdGhlIGJyb2tlbiBsaW5rLlxuICAgKi9cbiAgcGFnZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaHkgdGhlIGxpbmsgaXMgY29uc2lkZXJlZCBicm9rZW4uXG4gICAqL1xuICByZWFzb246ICdleHRlcm5hbC1lcnJvcicgfCAnbWlzc2luZy1mcmFnbWVudCcgfCAnbWlzc2luZy1wYWdlJztcblxuICAvKipcbiAgICogVGhlIHJlc29sdmVkIGFic29sdXRlIFVSTCB0aGUgbGluayBwb2ludHMgYXQuXG4gICAqL1xuICB0YXJnZXRVcmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3N9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3RCcm9rZW5FeHRlcm5hbExpbmtzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW4tZmxpZ2h0IHByb2JlcyBhZ2FpbnN0IG9uZSBob3N0LiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1BFUl9IT1NUX0NPTkNVUlJFTkNZfS5cbiAgICovXG4gIHJlYWRvbmx5IHBlckhvc3RDb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogSG93IGEgdHJhbnNpZW50IGZhaWx1cmUgaXMgcmV0cmllZC5cbiAgICovXG4gIHJlYWRvbmx5IHJldHJ5PzogRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zO1xufVxuXG4vKipcbiAqIEEgc2luZ2xlIGJ1aWx0IGRvY3VtZW50YXRpb24gcGFnZSB0byB2YWxpZGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudGF0aW9uUGFnZSB7XG4gIC8qKlxuICAgKiBUaGUgcGFnZSdzIHJlbmRlcmVkIEhUTUwuXG4gICAqL1xuICBodG1sOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYWdlJ3MgcGF0aCByZWxhdGl2ZSB0byB0aGUgYnVpbGQtb3V0cHV0IHJvb3QsIGUuZy4gYGFwaS9mb28vaW5kZXguaHRtbGAuXG4gICAqL1xuICByZWxhdGl2ZVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGF0IG9uZSBwcm9iZSBvZiBhbiBleHRlcm5hbCBVUkwgbGVhcm5lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlcm5hbExpbmtQcm9iZVJlc3VsdCB7XG4gIC8qKlxuICAgKiBIb3cgbG9uZyB0aGUgc2VydmVyIGFza2VkIHRoZSBjbGllbnQgdG8gd2FpdCBiZWZvcmUgYXNraW5nIGFnYWluIChpdHMgYFJldHJ5LUFmdGVyYCBoZWFkZXIpLCB3aGVuIGl0IHNhaWQuXG4gICAqL1xuICByZWFkb25seSByZXRyeUFmdGVySW5NaWxsaXNlY29uZHM/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIHN0YXR1cywgb3Ige0BsaW5rIE5FVFdPUktfRkFJTFVSRV9TVEFUVVN9IHdoZW4gbm8gcmVzcG9uc2Ugd2FzIHJlY2VpdmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogSG93IHtAbGluayBjb2xsZWN0QnJva2VuRXh0ZXJuYWxMaW5rc30gcmV0cmllcyBhIHRyYW5zaWVudCBmYWlsdXJlOiBhIG5ldHdvcmsgZmFpbHVyZSwgYW4gSFRUUCBgNDI5YCBvciBhbiBIVFRQIGA1eHhgLlxuICpcbiAqIEVhY2ggd2FpdCBkb3VibGVzIGZyb20ge0BsaW5rIEV4dGVybmFsTGlua1JldHJ5T3B0aW9ucy5pbml0aWFsRGVsYXlJbk1pbGxpc2Vjb25kc30gdXAgdG9cbiAqIHtAbGluayBFeHRlcm5hbExpbmtSZXRyeU9wdGlvbnMubWF4RGVsYXlJbk1pbGxpc2Vjb25kc30sIGlzIGppdHRlcmVkIGludG8gaXRzIHVwcGVyIGhhbGYsIGFuZCBpcyBuZXZlciBzaG9ydGVyIHRoYW4gdGhlXG4gKiBzZXJ2ZXIncyBgUmV0cnktQWZ0ZXJgLiBUaGUgd2FpdHMgb2Ygb25lIFVSTCBuZXZlciBhZGQgdXAgdG8gbW9yZSB0aGFuXG4gKiB7QGxpbmsgRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zLnRvdGFsQnVkZ2V0SW5NaWxsaXNlY29uZHN9OyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGF0dGVtcHQgaXMgZmluYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmaXJzdCB3YWl0LiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX0lOSVRJQUxfREVMQVlfSU5fTUlMTElTRUNPTkRTfS5cbiAgICovXG4gIHJlYWRvbmx5IGluaXRpYWxEZWxheUluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9uZ2VzdCBzaW5nbGUgd2FpdCB0aGUgYmFja29mZiBncm93cyB0by4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVhURVJOQUxfTElOS19SRVRSWV9NQVhfREVMQVlfSU5fTUlMTElTRUNPTkRTfS5cbiAgICovXG4gIHJlYWRvbmx5IG1heERlbGF5SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBudW1iZXIgaW4gYFswLCAxKWAgZm9yIHRoZSBqaXR0ZXIuIERlZmF1bHRzIHRvIGBNYXRoLnJhbmRvbWAuXG4gICAqL1xuICByZWFkb25seSByYW5kb20/OiAoKSA9PiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdhaXRzIHRoZSBnaXZlbiB0aW1lLiBEZWZhdWx0cyB0byBhIGBzZXRUaW1lb3V0YC5cbiAgICovXG4gIHJlYWRvbmx5IHNsZWVwPzogKG1pbGxpc2Vjb25kczogbnVtYmVyKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCBvbmUgVVJMIG1heSBzcGVuZCB3YWl0aW5nIGJldHdlZW4gaXRzIGF0dGVtcHRzLiBEZWZhdWx0cyB0b1xuICAgKiB7QGxpbmsgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX1RPVEFMX0JVREdFVF9JTl9NSUxMSVNFQ09ORFN9LlxuICAgKi9cbiAgcmVhZG9ubHkgdG90YWxCdWRnZXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGaWxlc3lzdGVtIGFjY2VzcyB0aGUgbGluayBjaGVja2VyIG5lZWRzLCBpbmplY3RlZCBzbyB0aGUgcHVyZSBkZWNpc2lvbiBsb2dpYyBjYW4gYmUgdGVzdGVkXG4gKiBhZ2FpbnN0IGFuIGluLW1lbW9yeSBzdHViIGluc3RlYWQgb2YgYSByZWFsIGJ1aWxkIG91dHB1dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rQ2hlY2tGaWxlU3lzdGVtIHtcbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBlbGVtZW50IGlkcyBwcmVzZW50IG9uIGFuIGFscmVhZHktcmVzb2x2ZWQgcGFnZS5cbiAgICpcbiAgICogQHBhcmFtIHBhZ2VLZXkgLSBUaGUga2V5IHJldHVybmVkIGJ5IHtAbGluayBMaW5rQ2hlY2tGaWxlU3lzdGVtLnJlc29sdmVFeGlzdGluZ1BhZ2V9LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0IG9mIGVsZW1lbnQgaWRzIG9uIHRoYXQgcGFnZS5cbiAgICovXG4gIHJlYWRJZHM6IChwYWdlS2V5OiBzdHJpbmcpID0+IFNldDxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhbiBvdXRwdXQtcmVsYXRpdmUgcGF0aCB0byBhbiBleGlzdGluZyBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gb3V0cHV0UmVsYXRpdmVQYXRoIC0gVGhlIGRlY29kZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgYnVpbGQtb3V0cHV0IHJvb3QuXG4gICAqIEByZXR1cm5zIEEgc3RhYmxlIGtleSAoZS5nLiB0aGUgcmVzb2x2ZWQgYWJzb2x1dGUgZmlsZSBwYXRoKSBmb3IgdGhlIGV4aXN0aW5nIHBhZ2UsIG9yXG4gICAqICAgYG51bGxgIHdoZW4gbm90aGluZyBleGlzdHMgYXQgdGhhdCBwYXRoIG9yIHRoZSBwYXRoIGVzY2FwZXMgdGhlIGJ1aWxkLW91dHB1dCByb290LlxuICAgKi9cbiAgcmVzb2x2ZUV4aXN0aW5nUGFnZTogKG91dHB1dFJlbGF0aXZlUGF0aDogc3RyaW5nKSA9PiBudWxsIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHtAbGluayBDb2xsZWN0QnJva2VuRXh0ZXJuYWxMaW5rc09wdGlvbnMucGVySG9zdENvbmN1cnJlbmN5fS4gQSBkb2N1bWVudGF0aW9uIHNpdGUgbGlua3MgdGhvdXNhbmRzIG9mXG4gKiBwYWdlcyBvZiBpdHMgc2libGluZyBzaXRlcywgYWxsIG9uIG9uZSBob3N0LCBhbmQgR2l0SHViIFBhZ2VzIGFuc3dlcnMgYSBidXJzdCBvZiB0aGVtIHdpdGggYSBgNTAzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVhURVJOQUxfTElOS19QRVJfSE9TVF9DT05DVVJSRU5DWSA9IDg7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQge0BsaW5rIEV4dGVybmFsTGlua1JldHJ5T3B0aW9ucy5pbml0aWFsRGVsYXlJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VYVEVSTkFMX0xJTktfUkVUUllfSU5JVElBTF9ERUxBWV9JTl9NSUxMSVNFQ09ORFMgPSAxMDAwO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHtAbGluayBFeHRlcm5hbExpbmtSZXRyeU9wdGlvbnMubWF4RGVsYXlJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VYVEVSTkFMX0xJTktfUkVUUllfTUFYX0RFTEFZX0lOX01JTExJU0VDT05EUyA9IDE2XzAwMDtcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCB7QGxpbmsgRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zLnRvdGFsQnVkZ2V0SW5NaWxsaXNlY29uZHN9LlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX1RPVEFMX0JVREdFVF9JTl9NSUxMSVNFQ09ORFMgPSA0NV8wMDA7XG5cbmNvbnN0IEhUVFBfVE9PX01BTllfUkVRVUVTVFNfU1RBVFVTID0gNDI5O1xuY29uc3QgSFRUUF9TRVJWRVJfRVJST1JfTUlOX1NUQVRVUyA9IDUwMDtcbmNvbnN0IE1JTExJU0VDT05EU19QRVJfU0VDT05EID0gMTAwMDtcbmNvbnN0IEpJVFRFUl9GTE9PUiA9IDAuNTtcbmNvbnN0IEJBQ0tPRkZfRkFDVE9SID0gMjtcblxuaW50ZXJmYWNlIFBlbmRpbmdQcm9iZSB7XG4gIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcmVhZG9ubHkgcGFnZVVybDogc3RyaW5nO1xuICByZWFkb25seSB1cmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIGRlZHVwbGljYXRlZCBleHRlcm5hbCBVUkxzIG92ZXIgdGhlIG5ldHdvcmsgdGhyb3VnaCBhIGJvdW5kZWQgY29uY3VycmVuY3kgcG9vbC5cbiAqXG4gKiBBIG5ldHdvcmsgZmFpbHVyZSwgYW4gSFRUUCBgNDI5YCBhbmQgYW4gSFRUUCBgNXh4YCBhcmUgcmV0cmllZCB3aXRoIGFuIGV4cG9uZW50aWFsLCBqaXR0ZXJlZCBiYWNrb2ZmIHRoYXQgaG9ub3JzXG4gKiBgUmV0cnktQWZ0ZXJgIChzZWUge0BsaW5rIEV4dGVybmFsTGlua1JldHJ5T3B0aW9uc30pOyBhbnkgb3RoZXIgc3RhdHVzLCBhIGA0MDRgIGluY2x1ZGVkLCBpcyBmaW5hbCBhdCBvbmNlLiBQcm9iZXMgb2ZcbiAqIG9uZSBob3N0IGFyZSBhbHNvIGNhcHBlZCBhdCB7QGxpbmsgQ29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3NPcHRpb25zLnBlckhvc3RDb25jdXJyZW5jeX0sIGFuZCBhIHByb2JlIG9mIGFub3RoZXIgaG9zdFxuICogaXMgc3RhcnRlZCB3aGlsZSBvbmUgaG9zdCBpcyBhdCBpdHMgY2FwLlxuICpcbiAqIEBwYXJhbSB0YXJnZXRzIC0gVGhlIHVuaXF1ZSBleHRlcm5hbCBVUkwg4oaSIHJlZmVyZW5jaW5nIHBhZ2UgbWFwIGZyb20ge0BsaW5rIGNvbGxlY3RFeHRlcm5hbFRhcmdldHN9LlxuICogQHBhcmFtIGZldGNoVXJsU3RhdHVzIC0gSW5qZWN0ZWQgcHJvYmUgcmV0dXJuaW5nIHRoZSBIVFRQIHN0YXR1cyBmb3IgYSBVUkwgKGAwYCBmb3IgYSBuZXR3b3JrIGZhaWx1cmUpLCBvciBhblxuICogICB7QGxpbmsgRXh0ZXJuYWxMaW5rUHJvYmVSZXN1bHR9IHRoYXQgYWxzbyBjYXJyaWVzIHRoZSBzZXJ2ZXIncyBgUmV0cnktQWZ0ZXJgLlxuICogQHBhcmFtIGNvbmN1cnJlbmN5IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGluLWZsaWdodCBwcm9iZXMuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwZXItaG9zdCBjYXAgYW5kIHRoZSByZXRyeSBwb2xpY3kuXG4gKiBAcmV0dXJucyBFdmVyeSBleHRlcm5hbCBVUkwgdGhhdCBkaWQgbm90IHJldHVybiBIVFRQIGAyMDBgLCBpbiB0aGUgbWFwJ3MgaXRlcmF0aW9uIG9yZGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3MoXG4gIHRhcmdldHM6IE1hcDxzdHJpbmcsIHN0cmluZz4sXG4gIGZldGNoVXJsU3RhdHVzOiAodXJsOiBzdHJpbmcpID0+IFByb21pc2U8RXh0ZXJuYWxMaW5rUHJvYmVSZXN1bHQgfCBudW1iZXI+LFxuICBjb25jdXJyZW5jeTogbnVtYmVyLFxuICBvcHRpb25zOiBDb2xsZWN0QnJva2VuRXh0ZXJuYWxMaW5rc09wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTxCcm9rZW5MaW5rW10+IHtcbiAgY29uc3QgcGVySG9zdENvbmN1cnJlbmN5ID0gTWF0aC5tYXgoMSwgb3B0aW9ucy5wZXJIb3N0Q29uY3VycmVuY3kgPz8gREVGQVVMVF9FWFRFUk5BTF9MSU5LX1BFUl9IT1NUX0NPTkNVUlJFTkNZKTtcbiAgY29uc3QgcGVuZGluZzogUGVuZGluZ1Byb2JlW10gPSBbLi4udGFyZ2V0c10ubWFwKChbdXJsLCBwYWdlVXJsXSwgaW5kZXgpID0+ICh7IGhvc3Q6IG5ldyBVUkwodXJsKS5ob3N0LCBpbmRleCwgcGFnZVVybCwgdXJsIH0pKTtcbiAgY29uc3QgcmVzdWx0czogKEJyb2tlbkxpbmsgfCBudWxsKVtdID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogcGVuZGluZy5sZW5ndGggfSwgKCkgPT4gbnVsbCk7XG4gIGNvbnN0IGluRmxpZ2h0QnlIb3N0ID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgY29uc3Qgd2FpdGVyczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICBhc3luYyBmdW5jdGlvbiBydW5Xb3JrZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgd2hpbGUgKHBlbmRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcG9zaXRpb24gPSBwZW5kaW5nLmZpbmRJbmRleCgocHJvYmUpID0+IChpbkZsaWdodEJ5SG9zdC5nZXQocHJvYmUuaG9zdCkgPz8gMCkgPCBwZXJIb3N0Q29uY3VycmVuY3kpO1xuICAgICAgaWYgKHBvc2l0aW9uID09PSAtMSkge1xuICAgICAgICAvLyBFdmVyeSBwZW5kaW5nIFVSTCBpcyBvbiBhIGhvc3QgYXQgaXRzIGNhcCwgc28gYSBwcm9iZSBpcyBpbiBmbGlnaHQgdGhlcmUgYW5kIHdha2VzIHRoaXMgd29ya2VyIHdoZW4gaXQgZW5kcy5cbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmVQcm9taXNlKSA9PiB7XG4gICAgICAgICAgd2FpdGVycy5wdXNoKHJlc29sdmVQcm9taXNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbcHJvYmVdID0gcGVuZGluZy5zcGxpY2UocG9zaXRpb24sIDEpO1xuICAgICAgY29uc3QgeyBob3N0LCBpbmRleCwgcGFnZVVybCwgdXJsIH0gPSBlbnN1cmVOb25OdWxsYWJsZShwcm9iZSk7XG4gICAgICBpbkZsaWdodEJ5SG9zdC5zZXQoaG9zdCwgKGluRmxpZ2h0QnlIb3N0LmdldChob3N0KSA/PyAwKSArIDEpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaHR0cFN0YXR1cyA9IGF3YWl0IHByb2JlV2l0aFJldHJ5KHVybCwgZmV0Y2hVcmxTdGF0dXMsIG9wdGlvbnMucmV0cnkgPz8ge30pO1xuICAgICAgICBpZiAoaHR0cFN0YXR1cyAhPT0gSFRUUF9PS19TVEFUVVMpIHtcbiAgICAgICAgICByZXN1bHRzW2luZGV4XSA9IHsgaHR0cFN0YXR1cywgcGFnZVVybCwgcmVhc29uOiAnZXh0ZXJuYWwtZXJyb3InLCB0YXJnZXRVcmw6IHVybCB9O1xuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpbkZsaWdodEJ5SG9zdC5zZXQoaG9zdCwgZW5zdXJlTm9uTnVsbGFibGUoaW5GbGlnaHRCeUhvc3QuZ2V0KGhvc3QpKSAtIDEpO1xuICAgICAgICBmb3IgKGNvbnN0IHdha2Ugb2Ygd2FpdGVycy5zcGxpY2UoMCkpIHtcbiAgICAgICAgICB3YWtlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCB3b3JrZXJDb3VudCA9IE1hdGgubWF4KDEsIE1hdGgubWluKGNvbmN1cnJlbmN5LCBwZW5kaW5nLmxlbmd0aCkpO1xuICBhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKHsgbGVuZ3RoOiB3b3JrZXJDb3VudCB9LCAoKSA9PiBydW5Xb3JrZXIoKSkpO1xuXG4gIC8vIEluZGV4ZWQgYXNzaWdubWVudCBhYm92ZSBrZWVwcyBmYWlsdXJlcyBpbiB0aGUgbWFwJ3MgaXRlcmF0aW9uIG9yZGVyOyBkcm9wIHRoZSBzdWNjZXNzZnVsIGdhcHMuXG4gIHJldHVybiByZXN1bHRzLmZpbHRlcigoYnJva2VuTGluayk6IGJyb2tlbkxpbmsgaXMgQnJva2VuTGluayA9PiBicm9rZW5MaW5rICE9PSBudWxsKTtcbn1cblxuLyoqXG4gKiBGaW5kcyBldmVyeSBpbnRlcm5hbCBsaW5rIGFjcm9zcyB0aGUgYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWdlcyB0aGF0IGRvZXMgbm90IHJlc29sdmUuXG4gKlxuICogRXh0ZXJuYWwgYW5kIG5vbi1IVFRQIGxpbmtzIGFyZSBpZ25vcmVkLiBFYWNoIGludGVybmFsIGxpbmsgbXVzdCByZXNvbHZlIHRvIGFuIGV4aXN0aW5nIHBhZ2UsXG4gKiBhbmQgZWFjaCBgI2ZyYWdtZW50YCBtdXN0IHJlc29sdmUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudCBpZCBvbiB0aGUgdGFyZ2V0IHBhZ2UuXG4gKlxuICogQHBhcmFtIHBhZ2VzIC0gVGhlIGJ1aWx0IGRvY3VtZW50YXRpb24gcGFnZXMgdG8gdmFsaWRhdGUuXG4gKiBAcGFyYW0gZmlsZVN5c3RlbSAtIEluamVjdGVkIGFjY2VzcyB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICogQHBhcmFtIHNpdGVCYXNlVXJsIC0gVGhlIGFic29sdXRlIGJhc2UgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tICh3aXRoIGEgdHJhaWxpbmcgc2xhc2gpLlxuICogQHJldHVybnMgRXZlcnkgYnJva2VuIGludGVybmFsIGxpbmssIGluIHBhZ2UtdGhlbi1kb2N1bWVudCBvcmRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbGxlY3RCcm9rZW5MaW5rcyhwYWdlczogRG9jdW1lbnRhdGlvblBhZ2VbXSwgZmlsZVN5c3RlbTogTGlua0NoZWNrRmlsZVN5c3RlbSwgc2l0ZUJhc2VVcmw6IHN0cmluZyk6IEJyb2tlbkxpbmtbXSB7XG4gIGNvbnN0IGJyb2tlbkxpbmtzOiBCcm9rZW5MaW5rW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHBhZ2Ugb2YgcGFnZXMpIHtcbiAgICBjb25zdCBwYWdlVXJsID0gZ2V0UGFnZVVybChwYWdlLnJlbGF0aXZlUGF0aCwgc2l0ZUJhc2VVcmwpO1xuICAgIGZvciAoY29uc3QgcmF3TGluayBvZiBleHRyYWN0TGlua3MocGFnZS5odG1sKSkge1xuICAgICAgY29uc3QgdGFyZ2V0VXJsID0gbmV3IFVSTChyYXdMaW5rLCBwYWdlVXJsKTtcbiAgICAgIGlmICghaXNJbnRlcm5hbERvY1VybCh0YXJnZXRVcmwsIHNpdGVCYXNlVXJsKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGFnZUtleSA9IGZpbGVTeXN0ZW0ucmVzb2x2ZUV4aXN0aW5nUGFnZShnZXRPdXRwdXRSZWxhdGl2ZVBhdGgodGFyZ2V0VXJsLCBzaXRlQmFzZVVybCkpO1xuICAgICAgaWYgKHBhZ2VLZXkgPT09IG51bGwpIHtcbiAgICAgICAgYnJva2VuTGlua3MucHVzaCh7IHBhZ2VVcmwsIHJlYXNvbjogJ21pc3NpbmctcGFnZScsIHRhcmdldFVybDogdGFyZ2V0VXJsLmhyZWYgfSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmcmFnbWVudCA9IHRhcmdldFVybC5oYXNoLnNsaWNlKDEpO1xuICAgICAgaWYgKGZyYWdtZW50Lmxlbmd0aCA+IDAgJiYgIWZpbGVTeXN0ZW0ucmVhZElkcyhwYWdlS2V5KS5oYXMoZnJhZ21lbnQpKSB7XG4gICAgICAgIGJyb2tlbkxpbmtzLnB1c2goeyBwYWdlVXJsLCByZWFzb246ICdtaXNzaW5nLWZyYWdtZW50JywgdGFyZ2V0VXJsOiB0YXJnZXRVcmwuaHJlZiB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYnJva2VuTGlua3M7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgZXZlcnkgdW5pcXVlIGV4dGVybmFsIFVSTCByZWZlcmVuY2VkIGFjcm9zcyB0aGUgYnVpbHQgcGFnZXMsIGRlZHVwbGljYXRlZC5cbiAqXG4gKiBPbmx5IEhUVFAoUykgbGlua3MgdGhhdCBhcmUgbm90IHtAbGluayBpc0ludGVybmFsRG9jVXJsfSBhcmUgcmV0dXJuZWQuIEVhY2ggdW5pcXVlIFVSTCBtYXBzIHRvXG4gKiB0aGUgZmlyc3QgcGFnZSB0aGF0IHJlZmVyZW5jZWQgaXQsIHNvIGEgbGF0ZXIgZmFpbHVyZSBjYW4gYmUgcmVwb3J0ZWQgd2l0aCBhIGNvbmNyZXRlIGV4YW1wbGVcbiAqIHBhZ2UgZXZlbiB0aG91Z2ggdGhlIFVSTCBpcyBmZXRjaGVkIG9ubHkgb25jZS5cbiAqXG4gKiBAcGFyYW0gcGFnZXMgLSBUaGUgYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWdlcyB0byBzY2FuLlxuICogQHBhcmFtIHNpdGVCYXNlVXJsIC0gVGhlIGFic29sdXRlIGJhc2UgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tICh3aXRoIGEgdHJhaWxpbmcgc2xhc2gpLlxuICogQHJldHVybnMgQSBtYXAgZnJvbSBlYWNoIHVuaXF1ZSBleHRlcm5hbCBVUkwgdG8gb25lIHJlZmVyZW5jaW5nIHBhZ2UgVVJMLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29sbGVjdEV4dGVybmFsVGFyZ2V0cyhwYWdlczogRG9jdW1lbnRhdGlvblBhZ2VbXSwgc2l0ZUJhc2VVcmw6IHN0cmluZyk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCB0YXJnZXRzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IHBhZ2Ugb2YgcGFnZXMpIHtcbiAgICBjb25zdCBwYWdlVXJsID0gZ2V0UGFnZVVybChwYWdlLnJlbGF0aXZlUGF0aCwgc2l0ZUJhc2VVcmwpO1xuICAgIGZvciAoY29uc3QgcmF3TGluayBvZiBleHRyYWN0TGlua3MocGFnZS5odG1sKSkge1xuICAgICAgY29uc3QgdGFyZ2V0VXJsID0gbmV3IFVSTChyYXdMaW5rLCBwYWdlVXJsKTtcbiAgICAgIGlmICgodGFyZ2V0VXJsLnByb3RvY29sICE9PSAnaHR0cDonICYmIHRhcmdldFVybC5wcm90b2NvbCAhPT0gJ2h0dHBzOicpIHx8IGlzSW50ZXJuYWxEb2NVcmwodGFyZ2V0VXJsLCBzaXRlQmFzZVVybCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGV4dGVybmFsVXJsID0gYCR7dGFyZ2V0VXJsLm9yaWdpbn0ke3RhcmdldFVybC5wYXRobmFtZX0ke3RhcmdldFVybC5zZWFyY2h9YDtcbiAgICAgIGlmICghdGFyZ2V0cy5oYXMoZXh0ZXJuYWxVcmwpKSB7XG4gICAgICAgIHRhcmdldHMuc2V0KGV4dGVybmFsVXJsLCBwYWdlVXJsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0cztcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgdmFsdWVzIG9mIGV2ZXJ5IGBpZGAgYXR0cmlidXRlIGluIGEgY2h1bmsgb2YgSFRNTC5cbiAqXG4gKiBAcGFyYW0gaHRtbCAtIFRoZSBIVE1MIHRvIHNjYW4uXG4gKiBAcmV0dXJucyBUaGUgc2V0IG9mIGVsZW1lbnQgaWRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdElkcyhodG1sOiBzdHJpbmcpOiBTZXQ8c3RyaW5nPiB7XG4gIHJldHVybiBuZXcgU2V0KFsuLi5odG1sLm1hdGNoQWxsKElEX0FUVFJJQlVURV9SRUdFWCldLm1hcCgobWF0Y2gpID0+IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICd2YWx1ZScpKSk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHZhbHVlcyBvZiBldmVyeSBgaHJlZmAvYHNyY2AgYXR0cmlidXRlIGluIGEgY2h1bmsgb2YgSFRNTC5cbiAqXG4gKiBAcGFyYW0gaHRtbCAtIFRoZSBIVE1MIHRvIHNjYW4uXG4gKiBAcmV0dXJucyBUaGUgcmF3IGxpbmsgdmFsdWVzLCBpbiBkb2N1bWVudCBvcmRlciAoZHVwbGljYXRlcyBwcmVzZXJ2ZWQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdExpbmtzKGh0bWw6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIFsuLi5odG1sLm1hdGNoQWxsKExJTktfQVRUUklCVVRFX1JFR0VYKV0ubWFwKChtYXRjaCkgPT4gZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ3ZhbHVlJykpO1xufVxuXG4vKipcbiAqIEZvcm1hdHMgYnJva2VuIGxpbmtzIGludG8gYSBodW1hbi1yZWFkYWJsZSBtdWx0aS1saW5lIHJlcG9ydC5cbiAqXG4gKiBAcGFyYW0gYnJva2VuTGlua3MgLSBUaGUgYnJva2VuIGxpbmtzIHRvIGRlc2NyaWJlLlxuICogQHJldHVybnMgT25lIGxpbmUgcGVyIGJyb2tlbiBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0QnJva2VuTGlua3MoYnJva2VuTGlua3M6IEJyb2tlbkxpbmtbXSk6IHN0cmluZyB7XG4gIHJldHVybiBicm9rZW5MaW5rc1xuICAgIC5tYXAoKGJyb2tlbkxpbmspID0+IHtcbiAgICAgIHN3aXRjaCAoYnJva2VuTGluay5yZWFzb24pIHtcbiAgICAgICAgY2FzZSAnZXh0ZXJuYWwtZXJyb3InOiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Jyb2tlbkxpbmsucGFnZVVybH0gbGlua3MgdG8gZXh0ZXJuYWwgVVJMICR7YnJva2VuTGluay50YXJnZXRVcmx9IHRoYXQgcmV0dXJuZWQgJHtkZXNjcmliZUh0dHBTdGF0dXMoYnJva2VuTGluay5odHRwU3RhdHVzKX0uYDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdtaXNzaW5nLWZyYWdtZW50Jzoge1xuICAgICAgICAgIHJldHVybiBgJHticm9rZW5MaW5rLnBhZ2VVcmx9IGxpbmtzIHRvIG1pc3NpbmcgZnJhZ21lbnQgJHticm9rZW5MaW5rLnRhcmdldFVybH0uYDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdtaXNzaW5nLXBhZ2UnOiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Jyb2tlbkxpbmsucGFnZVVybH0gbGlua3MgdG8gbWlzc2luZyBwYWdlICR7YnJva2VuTGluay50YXJnZXRVcmx9LmA7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHJldHVybiBhc3NlcnROZXZlcihicm9rZW5MaW5rLnJlYXNvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIC5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgYnVpbGQtb3V0cHV0LXJlbGF0aXZlIHBhdGggZm9yIGFuIGludGVybmFsIGRvY3VtZW50YXRpb24gVVJMLlxuICpcbiAqIEBwYXJhbSB0YXJnZXRVcmwgLSBUaGUgcmVzb2x2ZWQgYWJzb2x1dGUgbGluayBVUkwgKG11c3QgYmUge0BsaW5rIGlzSW50ZXJuYWxEb2NVcmx9KS5cbiAqIEBwYXJhbSBzaXRlQmFzZVVybCAtIFRoZSBhYnNvbHV0ZSBiYXNlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSAod2l0aCBhIHRyYWlsaW5nIHNsYXNoKS5cbiAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIGJ1aWxkLW91dHB1dCByb290LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3V0cHV0UmVsYXRpdmVQYXRoKHRhcmdldFVybDogVVJMLCBzaXRlQmFzZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgYmFzZSA9IG5ldyBVUkwoc2l0ZUJhc2VVcmwpO1xuICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybC5wYXRobmFtZS5zbGljZShiYXNlLnBhdGhuYW1lLmxlbmd0aCkpO1xufVxuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBhYnNvbHV0ZSBVUkwgYSBidWlsdCBwYWdlIGlzIHNlcnZlZCBhdC5cbiAqXG4gKiBAcGFyYW0gcmVsYXRpdmVQYXRoIC0gVGhlIHBhZ2UncyBwYXRoIHJlbGF0aXZlIHRvIHRoZSBidWlsZC1vdXRwdXQgcm9vdC5cbiAqIEBwYXJhbSBzaXRlQmFzZVVybCAtIFRoZSBhYnNvbHV0ZSBiYXNlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSAod2l0aCBhIHRyYWlsaW5nIHNsYXNoKS5cbiAqIEByZXR1cm5zIFRoZSBwYWdlJ3MgYWJzb2x1dGUgVVJMLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFnZVVybChyZWxhdGl2ZVBhdGg6IHN0cmluZywgc2l0ZUJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSByZWxhdGl2ZVBhdGgucmVwbGFjZUFsbCgnXFxcXCcsICcvJyk7XG4gIGNvbnN0IHVybFBhdGggPSBub3JtYWxpemVkID09PSAnaW5kZXguaHRtbCcgPyAnJyA6IG5vcm1hbGl6ZWQucmVwbGFjZSgvaW5kZXhcXC5odG1sJC91LCAnJyk7XG4gIHJldHVybiBuZXcgVVJMKHVybFBhdGgsIHNpdGVCYXNlVXJsKS5ocmVmO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIHJlc29sdmVkIGxpbmsgcG9pbnRzIGF0IGEgcGFnZSBob3N0ZWQgYnkgdGhpcyBkb2N1bWVudGF0aW9uIHNpdGUuXG4gKlxuICogQHBhcmFtIHRhcmdldFVybCAtIFRoZSByZXNvbHZlZCBhYnNvbHV0ZSBsaW5rIFVSTC5cbiAqIEBwYXJhbSBzaXRlQmFzZVVybCAtIFRoZSBhYnNvbHV0ZSBiYXNlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSAod2l0aCBhIHRyYWlsaW5nIHNsYXNoKS5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBsaW5rIGlzIHNhbWUtb3JpZ2luIGFuZCB1bmRlciB0aGUgc2l0ZSBiYXNlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVybmFsRG9jVXJsKHRhcmdldFVybDogVVJMLCBzaXRlQmFzZVVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGJhc2UgPSBuZXcgVVJMKHNpdGVCYXNlVXJsKTtcbiAgcmV0dXJuIHRhcmdldFVybC5vcmlnaW4gPT09IGJhc2Uub3JpZ2luICYmIHRhcmdldFVybC5wYXRobmFtZS5zdGFydHNXaXRoKGJhc2UucGF0aG5hbWUpO1xufVxuXG4vKipcbiAqIFJlYWRzIGFuIEhUVFAgYFJldHJ5LUFmdGVyYCBoZWFkZXIsIHdoaWNoIGlzIGVpdGhlciBhIG51bWJlciBvZiBzZWNvbmRzIG9yIGFuIEhUVFAgZGF0ZS5cbiAqXG4gKiBAcGFyYW0gaGVhZGVyVmFsdWUgLSBUaGUgaGVhZGVyJ3MgdmFsdWUsIG9yIGBudWxsYCB3aGVuIHRoZSByZXNwb25zZSBoYXMgbm9uZS5cbiAqIEBwYXJhbSBub3dJbk1pbGxpc2Vjb25kcyAtIFRoZSBjdXJyZW50IHRpbWUsIGFnYWluc3Qgd2hpY2ggYSBkYXRlIGlzIG1lYXN1cmVkLlxuICogQHJldHVybnMgSG93IGxvbmcgdG8gd2FpdCwgbmV2ZXIgbmVnYXRpdmUsIG9yIGB1bmRlZmluZWRgIHdoZW4gdGhlIGhlYWRlciBpcyBhYnNlbnQgb3IgdW5yZWFkYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmV0cnlBZnRlckluTWlsbGlzZWNvbmRzKGhlYWRlclZhbHVlOiBudWxsIHwgc3RyaW5nLCBub3dJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdHJpbW1lZCA9IGhlYWRlclZhbHVlPy50cmltKCkgPz8gJyc7XG4gIGlmICh0cmltbWVkID09PSAnJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoL15cXGQrJC91LnRlc3QodHJpbW1lZCkpIHtcbiAgICByZXR1cm4gTnVtYmVyKHRyaW1tZWQpICogTUlMTElTRUNPTkRTX1BFUl9TRUNPTkQ7XG4gIH1cblxuICBjb25zdCBkYXRlSW5NaWxsaXNlY29uZHMgPSBEYXRlLnBhcnNlKHRyaW1tZWQpO1xuICByZXR1cm4gTnVtYmVyLmlzTmFOKGRhdGVJbk1pbGxpc2Vjb25kcykgPyB1bmRlZmluZWQgOiBNYXRoLm1heCgwLCBkYXRlSW5NaWxsaXNlY29uZHMgLSBub3dJbk1pbGxpc2Vjb25kcyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYW4gb3V0cHV0LXJlbGF0aXZlIHBhdGggdG8gYW4gYWJzb2x1dGUgcGF0aCBpbnNpZGUgdGhlIGJ1aWxkLW91dHB1dCByb290LCByZWplY3RpbmdcbiAqIHBhdGhzIHRoYXQgZXNjYXBlIGl0IHZpYSBgLi5gIHNlZ21lbnRzLlxuICpcbiAqIEBwYXJhbSBvdXRwdXRSb290UGF0aCAtIFRoZSBhYnNvbHV0ZSBidWlsZC1vdXRwdXQgcm9vdCBwYXRoLlxuICogQHBhcmFtIG91dHB1dFJlbGF0aXZlUGF0aCAtIFRoZSBkZWNvZGVkIG91dHB1dC1yZWxhdGl2ZSBwYXRoLlxuICogQHJldHVybnMgVGhlIGpvaW5lZCBwYXRoIHdoZW4gaXQgc3RheXMgd2l0aGluIHRoZSByb290LCBvdGhlcndpc2UgYG51bGxgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVdpdGhpblJvb3Qob3V0cHV0Um9vdFBhdGg6IHN0cmluZywgb3V0cHV0UmVsYXRpdmVQYXRoOiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgY29uc3Qgcm9vdCA9IG5vcm1hbGl6ZShvdXRwdXRSb290UGF0aC5yZXBsYWNlQWxsKCdcXFxcJywgJy8nKSkucmVwbGFjZSgvXFwvJC91LCAnJyk7XG4gIGxldCBqb2luZWQgPSBub3JtYWxpemUoYCR7cm9vdH0vJHtvdXRwdXRSZWxhdGl2ZVBhdGgucmVwbGFjZUFsbCgnXFxcXCcsICcvJyl9YCk7XG4gIGlmIChqb2luZWQubGVuZ3RoID4gMSkge1xuICAgIGpvaW5lZCA9IGpvaW5lZC5yZXBsYWNlKC9cXC8kL3UsICcnKTtcbiAgfVxuXG4gIHJldHVybiBqb2luZWQgIT09IHJvb3QgJiYgIWpvaW5lZC5zdGFydHNXaXRoKGAke3Jvb3R9L2ApID8gbnVsbCA6IGpvaW5lZDtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVIdHRwU3RhdHVzKGh0dHBTdGF0dXM6IG51bWJlciB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIHJldHVybiBodHRwU3RhdHVzID09PSB1bmRlZmluZWQgfHwgaHR0cFN0YXR1cyA9PT0gTkVUV09SS19GQUlMVVJFX1NUQVRVUyA/ICdhIG5ldHdvcmsgZmFpbHVyZScgOiBgSFRUUCAke1N0cmluZyhodHRwU3RhdHVzKX1gO1xufVxuXG5mdW5jdGlvbiBpc1RyYW5zaWVudFN0YXR1cyhzdGF0dXM6IG51bWJlcik6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdHVzID09PSBORVRXT1JLX0ZBSUxVUkVfU1RBVFVTIHx8IHN0YXR1cyA9PT0gSFRUUF9UT09fTUFOWV9SRVFVRVNUU19TVEFUVVMgfHwgc3RhdHVzID49IEhUVFBfU0VSVkVSX0VSUk9SX01JTl9TVEFUVVM7XG59XG5cbi8qXG4gKiBBIHNpdGUgbGlua2luZyBpdHMgc2libGluZyBzaXRlcyBwcm9iZXMgdGhvdXNhbmRzIG9mIFVSTHMgb24gb25lIGhvc3QsIGFuZCBpbiBDSSBHaXRIdWIgUGFnZXMgYW5zd2VycyBhIGZldyBvZiB0aGVtXG4gKiB3aXRoIGEgNTAzLCBvciBkcm9wcyB0aGUgY29ubmVjdGlvbiwgd2hpbGUgdGhlIHBhZ2Ugc2VydmVzIDIwMCBhIG1vbWVudCBsYXRlci4gVGhyZWUgYXR0ZW1wdHMgYSBzZWNvbmQgYXBhcnQgZ2F2ZSB1cFxuICogdG9vIHNvb24gZm9yIHRoYXQgKDIwMjYtMTAtMTYpLCBzbyB0aGUgd2FpdCBncm93cyB1bnRpbCB0aGUgYnVkZ2V0IGlzIHNwZW50LlxuICovXG5hc3luYyBmdW5jdGlvbiBwcm9iZVdpdGhSZXRyeShcbiAgdXJsOiBzdHJpbmcsXG4gIGZldGNoVXJsU3RhdHVzOiAodXJsOiBzdHJpbmcpID0+IFByb21pc2U8RXh0ZXJuYWxMaW5rUHJvYmVSZXN1bHQgfCBudW1iZXI+LFxuICByZXRyeTogRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zXG4pOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCBpbml0aWFsRGVsYXlJbk1pbGxpc2Vjb25kcyA9IHJldHJ5LmluaXRpYWxEZWxheUluTWlsbGlzZWNvbmRzID8/IERFRkFVTFRfRVhURVJOQUxfTElOS19SRVRSWV9JTklUSUFMX0RFTEFZX0lOX01JTExJU0VDT05EUztcbiAgY29uc3QgbWF4RGVsYXlJbk1pbGxpc2Vjb25kcyA9IHJldHJ5Lm1heERlbGF5SW5NaWxsaXNlY29uZHMgPz8gREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX01BWF9ERUxBWV9JTl9NSUxMSVNFQ09ORFM7XG4gIGNvbnN0IHRvdGFsQnVkZ2V0SW5NaWxsaXNlY29uZHMgPSByZXRyeS50b3RhbEJ1ZGdldEluTWlsbGlzZWNvbmRzID8/IERFRkFVTFRfRVhURVJOQUxfTElOS19SRVRSWV9UT1RBTF9CVURHRVRfSU5fTUlMTElTRUNPTkRTO1xuICBjb25zdCByYW5kb20gPSByZXRyeS5yYW5kb20gPz8gTWF0aC5yYW5kb207XG4gIGNvbnN0IHNsZWVwID0gcmV0cnkuc2xlZXAgPz8gc2xlZXBXaXRoVGltZW91dDtcblxuICBsZXQgd2FpdGVkSW5NaWxsaXNlY29uZHMgPSAwO1xuICBmb3IgKGxldCBhdHRlbXB0ID0gMDs7IGF0dGVtcHQrKykge1xuICAgIGNvbnN0IHByb2JlUmVzdWx0ID0gYXdhaXQgZmV0Y2hVcmxTdGF0dXModXJsKTtcbiAgICBjb25zdCB7IHJldHJ5QWZ0ZXJJbk1pbGxpc2Vjb25kcywgc3RhdHVzIH0gPSB0eXBlb2YgcHJvYmVSZXN1bHQgPT09ICdudW1iZXInID8geyByZXRyeUFmdGVySW5NaWxsaXNlY29uZHM6IHVuZGVmaW5lZCwgc3RhdHVzOiBwcm9iZVJlc3VsdCB9IDogcHJvYmVSZXN1bHQ7XG4gICAgY29uc3QgcmVtYWluaW5nSW5NaWxsaXNlY29uZHMgPSB0b3RhbEJ1ZGdldEluTWlsbGlzZWNvbmRzIC0gd2FpdGVkSW5NaWxsaXNlY29uZHM7XG4gICAgaWYgKCFpc1RyYW5zaWVudFN0YXR1cyhzdGF0dXMpIHx8IHJlbWFpbmluZ0luTWlsbGlzZWNvbmRzIDw9IDApIHtcbiAgICAgIHJldHVybiBzdGF0dXM7XG4gICAgfVxuXG4gICAgY29uc3QgYmFja29mZkluTWlsbGlzZWNvbmRzID0gTWF0aC5taW4obWF4RGVsYXlJbk1pbGxpc2Vjb25kcywgaW5pdGlhbERlbGF5SW5NaWxsaXNlY29uZHMgKiBCQUNLT0ZGX0ZBQ1RPUiAqKiBhdHRlbXB0KTtcbiAgICBjb25zdCBqaXR0ZXJlZEluTWlsbGlzZWNvbmRzID0gYmFja29mZkluTWlsbGlzZWNvbmRzICogKEpJVFRFUl9GTE9PUiArICgxIC0gSklUVEVSX0ZMT09SKSAqIHJhbmRvbSgpKTtcbiAgICBjb25zdCBkZWxheUluTWlsbGlzZWNvbmRzID0gTWF0aC5taW4ocmVtYWluaW5nSW5NaWxsaXNlY29uZHMsIE1hdGgubWF4KGppdHRlcmVkSW5NaWxsaXNlY29uZHMsIHJldHJ5QWZ0ZXJJbk1pbGxpc2Vjb25kcyA/PyAwKSk7XG4gICAgYXdhaXQgc2xlZXAoZGVsYXlJbk1pbGxpc2Vjb25kcyk7XG4gICAgd2FpdGVkSW5NaWxsaXNlY29uZHMgKz0gZGVsYXlJbk1pbGxpc2Vjb25kcztcbiAgfVxufVxuXG5mdW5jdGlvbiBzbGVlcFdpdGhUaW1lb3V0KG1pbGxpc2Vjb25kczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZVByb21pc2UpID0+IHtcbiAgICBnbG9iYWxUaGlzLnNldFRpbWVvdXQocmVzb2x2ZVByb21pc2UsIG1pbGxpc2Vjb25kcyk7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFFMUIsTUFBTSx1QkFBdUI7QUFDN0IsTUFBTSxxQkFBcUI7QUFDM0IsTUFBTSxpQkFBaUI7QUFNaEIsTUFBTSx5QkFBeUI7QUF3SS9CLE1BQU0sNkNBQTZDO0FBS25ELE1BQU0sNERBQTREO0FBS2xFLE1BQU0sd0RBQXdEO0FBSzlELE1BQU0sMkRBQTJEO0FBRXhFLE1BQU0sZ0NBQWdDO0FBQ3RDLE1BQU0sK0JBQStCO0FBQ3JDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sZUFBZTtBQUNyQixNQUFNLGlCQUFpQjtBQXdCdkIsZUFBc0IsMkJBQ3BCLFNBQ0EsZ0JBQ0EsYUFDQSxVQUE2QyxDQUFDLEdBQ3ZCO0FBQ3ZCLFFBQU0scUJBQXFCLEtBQUssSUFBSSxHQUFHLFFBQVEsc0JBQXNCLDBDQUEwQztBQUMvRyxRQUFNLFVBQTBCLENBQUMsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxPQUFPLEdBQUcsV0FBVyxFQUFFLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRSxNQUFNLE9BQU8sU0FBUyxJQUFJLEVBQUU7QUFDOUgsUUFBTSxVQUFpQyxN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
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvbGluay1jaGVjay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVmFsaWRhdGlvbiBvZiB0aGUgbGlua3MgZW1pdHRlZCBieSB0aGUgYnVpbHQgZG9jdW1lbnRhdGlvbiBIVE1MLlxuICpcbiAqIEludGVybmFsIChzYW1lLXNpdGUpIGxpbmtzIGFyZSB2YWxpZGF0ZWQgb2ZmbGluZTogZXZlcnkgYGhyZWZgL2BzcmNgIG11c3QgcmVzb2x2ZSB0byBhIHJlYWxcbiAqIGZpbGUgaW4gdGhlIGJ1aWxkIG91dHB1dCwgYW5kIGV2ZXJ5IGAjZnJhZ21lbnRgIG11c3QgcmVzb2x2ZSB0byBhIHJlYWwgZWxlbWVudCBpZCBvbiB0aGVcbiAqIHRhcmdldCBwYWdlLlxuICpcbiAqIEV4dGVybmFsIGxpbmtzIGNhbiBvbmx5IGJlIHZhbGlkYXRlZCBvdmVyIHRoZSBuZXR3b3JrLCBzbyB0aG9zZSByZXF1ZXN0cyBhcmUgaGVhdmlseVxuICogZGVkdXBsaWNhdGVkIOKAlCBlYWNoIHVuaXF1ZSBleHRlcm5hbCBVUkwgaXMgZmV0Y2hlZCBhdCBtb3N0IG9uY2UgcmVnYXJkbGVzcyBvZiBob3cgbWFueSBvZiB0aGVcbiAqIHRob3VzYW5kcyBvZiBnZW5lcmF0ZWQgcGFnZXMgcmVmZXJlbmNlIGl0IOKAlCBhbmQgcnVuIHRocm91Z2ggYSBib3VuZGVkIGNvbmN1cnJlbmN5IHBvb2wuXG4gKi9cblxuaW1wb3J0IHsgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7XG4gIGFzc2VydE5ldmVyLFxuICBlbnN1cmVOb25OdWxsYWJsZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnbm9kZTpwYXRoL3Bvc2l4JztcblxuY29uc3QgTElOS19BVFRSSUJVVEVfUkVHRVggPSAvXFxiKD86aHJlZnxzcmMpPSg/PHF1b3RlPlsnXCJdKSg/PHZhbHVlPi4qPylcXGs8cXVvdGU+L2dpdTtcbmNvbnN0IElEX0FUVFJJQlVURV9SRUdFWCA9IC9cXGJpZD0oPzxxdW90ZT5bJ1wiXSkoPzx2YWx1ZT4uKj8pXFxrPHF1b3RlPi9naXU7XG5jb25zdCBIVFRQX09LX1NUQVRVUyA9IDIwMDtcblxuLyoqXG4gKiBUaGUge0BsaW5rIEJyb2tlbkxpbmsuaHR0cFN0YXR1c30gc2VudGluZWwgZm9yIGEgbmV0d29yay1sZXZlbCBmYWlsdXJlICh0aW1lb3V0LCBETlMsXG4gKiBjb25uZWN0aW9uIHJlZnVzZWQpIHdoZXJlIG5vIEhUVFAgcmVzcG9uc2Ugd2FzIHJlY2VpdmVkLlxuICovXG5leHBvcnQgY29uc3QgTkVUV09SS19GQUlMVVJFX1NUQVRVUyA9IDA7XG5cbi8qKlxuICogQSBzaW5nbGUgbGluayB0aGF0IGRvZXMgbm90IHJlc29sdmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJva2VuTGluayB7XG4gIC8qKlxuICAgKiBUaGUgSFRUUCBzdGF0dXMgcmV0dXJuZWQgYnkgYW4gZXh0ZXJuYWwgbGluaywgd2hlbiB7QGxpbmsgQnJva2VuTGluay5yZWFzb259IGlzXG4gICAqIGBleHRlcm5hbC1lcnJvcmAuIGAwYCBkZW5vdGVzIGEgbmV0d29yay1sZXZlbCBmYWlsdXJlICh0aW1lb3V0LCBETlMsIGNvbm5lY3Rpb24gcmVmdXNlZCkuXG4gICAqL1xuICByZWFkb25seSBodHRwU3RhdHVzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgVVJMIG9mIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgdGhlIGJyb2tlbiBsaW5rLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaHkgdGhlIGxpbmsgaXMgY29uc2lkZXJlZCBicm9rZW4uXG4gICAqL1xuICByZWFkb25seSByZWFzb246ICdleHRlcm5hbC1lcnJvcicgfCAnbWlzc2luZy1mcmFnbWVudCcgfCAnbWlzc2luZy1wYWdlJztcblxuICAvKipcbiAgICogVGhlIHJlc29sdmVkIGFic29sdXRlIFVSTCB0aGUgbGluayBwb2ludHMgYXQuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRVcmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3N9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3RCcm9rZW5FeHRlcm5hbExpbmtzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW4tZmxpZ2h0IHByb2JlcyBhZ2FpbnN0IG9uZSBob3N0LiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1BFUl9IT1NUX0NPTkNVUlJFTkNZfS5cbiAgICovXG4gIHJlYWRvbmx5IHBlckhvc3RDb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogSG93IGEgdHJhbnNpZW50IGZhaWx1cmUgaXMgcmV0cmllZC5cbiAgICovXG4gIHJlYWRvbmx5IHJldHJ5PzogRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zO1xufVxuXG4vKipcbiAqIEEgc2luZ2xlIGJ1aWx0IGRvY3VtZW50YXRpb24gcGFnZSB0byB2YWxpZGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudGF0aW9uUGFnZSB7XG4gIC8qKlxuICAgKiBUaGUgcGFnZSdzIHJlbmRlcmVkIEhUTUwuXG4gICAqL1xuICByZWFkb25seSBodG1sOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYWdlJ3MgcGF0aCByZWxhdGl2ZSB0byB0aGUgYnVpbGQtb3V0cHV0IHJvb3QsIGUuZy4gYGFwaS9mb28vaW5kZXguaHRtbGAuXG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGF0IG9uZSBwcm9iZSBvZiBhbiBleHRlcm5hbCBVUkwgbGVhcm5lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlcm5hbExpbmtQcm9iZVJlc3VsdCB7XG4gIC8qKlxuICAgKiBIb3cgbG9uZyB0aGUgc2VydmVyIGFza2VkIHRoZSBjbGllbnQgdG8gd2FpdCBiZWZvcmUgYXNraW5nIGFnYWluIChpdHMgYFJldHJ5LUFmdGVyYCBoZWFkZXIpLCB3aGVuIGl0IHNhaWQuXG4gICAqL1xuICByZWFkb25seSByZXRyeUFmdGVySW5NaWxsaXNlY29uZHM/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIHN0YXR1cywgb3Ige0BsaW5rIE5FVFdPUktfRkFJTFVSRV9TVEFUVVN9IHdoZW4gbm8gcmVzcG9uc2Ugd2FzIHJlY2VpdmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogSG93IHtAbGluayBjb2xsZWN0QnJva2VuRXh0ZXJuYWxMaW5rc30gcmV0cmllcyBhIHRyYW5zaWVudCBmYWlsdXJlOiBhIG5ldHdvcmsgZmFpbHVyZSwgYW4gSFRUUCBgNDI5YCBvciBhbiBIVFRQIGA1eHhgLlxuICpcbiAqIEVhY2ggd2FpdCBkb3VibGVzIGZyb20ge0BsaW5rIEV4dGVybmFsTGlua1JldHJ5T3B0aW9ucy5pbml0aWFsRGVsYXlJbk1pbGxpc2Vjb25kc30gdXAgdG9cbiAqIHtAbGluayBFeHRlcm5hbExpbmtSZXRyeU9wdGlvbnMubWF4RGVsYXlJbk1pbGxpc2Vjb25kc30sIGlzIGppdHRlcmVkIGludG8gaXRzIHVwcGVyIGhhbGYsIGFuZCBpcyBuZXZlciBzaG9ydGVyIHRoYW4gdGhlXG4gKiBzZXJ2ZXIncyBgUmV0cnktQWZ0ZXJgLiBUaGUgd2FpdHMgb2Ygb25lIFVSTCBuZXZlciBhZGQgdXAgdG8gbW9yZSB0aGFuXG4gKiB7QGxpbmsgRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zLnRvdGFsQnVkZ2V0SW5NaWxsaXNlY29uZHN9OyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGF0dGVtcHQgaXMgZmluYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmaXJzdCB3YWl0LiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX0lOSVRJQUxfREVMQVlfSU5fTUlMTElTRUNPTkRTfS5cbiAgICovXG4gIHJlYWRvbmx5IGluaXRpYWxEZWxheUluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9uZ2VzdCBzaW5nbGUgd2FpdCB0aGUgYmFja29mZiBncm93cyB0by4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVhURVJOQUxfTElOS19SRVRSWV9NQVhfREVMQVlfSU5fTUlMTElTRUNPTkRTfS5cbiAgICovXG4gIHJlYWRvbmx5IG1heERlbGF5SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBudW1iZXIgaW4gYFswLCAxKWAgZm9yIHRoZSBqaXR0ZXIuIERlZmF1bHRzIHRvIGBNYXRoLnJhbmRvbWAuXG4gICAqL1xuICByZWFkb25seSByYW5kb20/OiAoKSA9PiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdhaXRzIHRoZSBnaXZlbiB0aW1lLiBEZWZhdWx0cyB0byBhIGBzZXRUaW1lb3V0YC5cbiAgICovXG4gIHJlYWRvbmx5IHNsZWVwPzogKG1pbGxpc2Vjb25kczogbnVtYmVyKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCBvbmUgVVJMIG1heSBzcGVuZCB3YWl0aW5nIGJldHdlZW4gaXRzIGF0dGVtcHRzLiBEZWZhdWx0cyB0b1xuICAgKiB7QGxpbmsgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX1RPVEFMX0JVREdFVF9JTl9NSUxMSVNFQ09ORFN9LlxuICAgKi9cbiAgcmVhZG9ubHkgdG90YWxCdWRnZXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGaWxlc3lzdGVtIGFjY2VzcyB0aGUgbGluayBjaGVja2VyIG5lZWRzLCBpbmplY3RlZCBzbyB0aGUgcHVyZSBkZWNpc2lvbiBsb2dpYyBjYW4gYmUgdGVzdGVkXG4gKiBhZ2FpbnN0IGFuIGluLW1lbW9yeSBzdHViIGluc3RlYWQgb2YgYSByZWFsIGJ1aWxkIG91dHB1dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rQ2hlY2tGaWxlU3lzdGVtIHtcbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBlbGVtZW50IGlkcyBwcmVzZW50IG9uIGFuIGFscmVhZHktcmVzb2x2ZWQgcGFnZS5cbiAgICpcbiAgICogQHBhcmFtIHBhZ2VLZXkgLSBUaGUga2V5IHJldHVybmVkIGJ5IHtAbGluayBMaW5rQ2hlY2tGaWxlU3lzdGVtLnJlc29sdmVFeGlzdGluZ1BhZ2V9LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0IG9mIGVsZW1lbnQgaWRzIG9uIHRoYXQgcGFnZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWRJZHM6IChwYWdlS2V5OiBzdHJpbmcpID0+IFNldDxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhbiBvdXRwdXQtcmVsYXRpdmUgcGF0aCB0byBhbiBleGlzdGluZyBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gb3V0cHV0UmVsYXRpdmVQYXRoIC0gVGhlIGRlY29kZWQgcGF0aCByZWxhdGl2ZSB0byB0aGUgYnVpbGQtb3V0cHV0IHJvb3QuXG4gICAqIEByZXR1cm5zIEEgc3RhYmxlIGtleSAoZS5nLiB0aGUgcmVzb2x2ZWQgYWJzb2x1dGUgZmlsZSBwYXRoKSBmb3IgdGhlIGV4aXN0aW5nIHBhZ2UsIG9yXG4gICAqICAgYG51bGxgIHdoZW4gbm90aGluZyBleGlzdHMgYXQgdGhhdCBwYXRoIG9yIHRoZSBwYXRoIGVzY2FwZXMgdGhlIGJ1aWxkLW91dHB1dCByb290LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4aXN0aW5nUGFnZTogKG91dHB1dFJlbGF0aXZlUGF0aDogc3RyaW5nKSA9PiBudWxsIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHtAbGluayBDb2xsZWN0QnJva2VuRXh0ZXJuYWxMaW5rc09wdGlvbnMucGVySG9zdENvbmN1cnJlbmN5fS4gQSBkb2N1bWVudGF0aW9uIHNpdGUgbGlua3MgdGhvdXNhbmRzIG9mXG4gKiBwYWdlcyBvZiBpdHMgc2libGluZyBzaXRlcywgYWxsIG9uIG9uZSBob3N0LCBhbmQgR2l0SHViIFBhZ2VzIGFuc3dlcnMgYSBidXJzdCBvZiB0aGVtIHdpdGggYSBgNTAzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVhURVJOQUxfTElOS19QRVJfSE9TVF9DT05DVVJSRU5DWSA9IDg7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQge0BsaW5rIEV4dGVybmFsTGlua1JldHJ5T3B0aW9ucy5pbml0aWFsRGVsYXlJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VYVEVSTkFMX0xJTktfUkVUUllfSU5JVElBTF9ERUxBWV9JTl9NSUxMSVNFQ09ORFMgPSAxMDAwO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHtAbGluayBFeHRlcm5hbExpbmtSZXRyeU9wdGlvbnMubWF4RGVsYXlJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VYVEVSTkFMX0xJTktfUkVUUllfTUFYX0RFTEFZX0lOX01JTExJU0VDT05EUyA9IDE2XzAwMDtcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCB7QGxpbmsgRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zLnRvdGFsQnVkZ2V0SW5NaWxsaXNlY29uZHN9LlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX1RPVEFMX0JVREdFVF9JTl9NSUxMSVNFQ09ORFMgPSA0NV8wMDA7XG5cbmNvbnN0IEhUVFBfVE9PX01BTllfUkVRVUVTVFNfU1RBVFVTID0gNDI5O1xuY29uc3QgSFRUUF9TRVJWRVJfRVJST1JfTUlOX1NUQVRVUyA9IDUwMDtcbmNvbnN0IE1JTExJU0VDT05EU19QRVJfU0VDT05EID0gMTAwMDtcbmNvbnN0IEpJVFRFUl9GTE9PUiA9IDAuNTtcbmNvbnN0IEJBQ0tPRkZfRkFDVE9SID0gMjtcblxuaW50ZXJmYWNlIFBlbmRpbmdQcm9iZSB7XG4gIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcmVhZG9ubHkgcGFnZVVybDogc3RyaW5nO1xuICByZWFkb25seSB1cmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIGRlZHVwbGljYXRlZCBleHRlcm5hbCBVUkxzIG92ZXIgdGhlIG5ldHdvcmsgdGhyb3VnaCBhIGJvdW5kZWQgY29uY3VycmVuY3kgcG9vbC5cbiAqXG4gKiBBIG5ldHdvcmsgZmFpbHVyZSwgYW4gSFRUUCBgNDI5YCBhbmQgYW4gSFRUUCBgNXh4YCBhcmUgcmV0cmllZCB3aXRoIGFuIGV4cG9uZW50aWFsLCBqaXR0ZXJlZCBiYWNrb2ZmIHRoYXQgaG9ub3JzXG4gKiBgUmV0cnktQWZ0ZXJgIChzZWUge0BsaW5rIEV4dGVybmFsTGlua1JldHJ5T3B0aW9uc30pOyBhbnkgb3RoZXIgc3RhdHVzLCBhIGA0MDRgIGluY2x1ZGVkLCBpcyBmaW5hbCBhdCBvbmNlLiBQcm9iZXMgb2ZcbiAqIG9uZSBob3N0IGFyZSBhbHNvIGNhcHBlZCBhdCB7QGxpbmsgQ29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3NPcHRpb25zLnBlckhvc3RDb25jdXJyZW5jeX0sIGFuZCBhIHByb2JlIG9mIGFub3RoZXIgaG9zdFxuICogaXMgc3RhcnRlZCB3aGlsZSBvbmUgaG9zdCBpcyBhdCBpdHMgY2FwLlxuICpcbiAqIEBwYXJhbSB0YXJnZXRzIC0gVGhlIHVuaXF1ZSBleHRlcm5hbCBVUkwg4oaSIHJlZmVyZW5jaW5nIHBhZ2UgbWFwIGZyb20ge0BsaW5rIGNvbGxlY3RFeHRlcm5hbFRhcmdldHN9LlxuICogQHBhcmFtIGZldGNoVXJsU3RhdHVzIC0gSW5qZWN0ZWQgcHJvYmUgcmV0dXJuaW5nIHRoZSBIVFRQIHN0YXR1cyBmb3IgYSBVUkwgKGAwYCBmb3IgYSBuZXR3b3JrIGZhaWx1cmUpLCBvciBhblxuICogICB7QGxpbmsgRXh0ZXJuYWxMaW5rUHJvYmVSZXN1bHR9IHRoYXQgYWxzbyBjYXJyaWVzIHRoZSBzZXJ2ZXIncyBgUmV0cnktQWZ0ZXJgLlxuICogQHBhcmFtIGNvbmN1cnJlbmN5IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGluLWZsaWdodCBwcm9iZXMuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwZXItaG9zdCBjYXAgYW5kIHRoZSByZXRyeSBwb2xpY3kuXG4gKiBAcmV0dXJucyBFdmVyeSBleHRlcm5hbCBVUkwgdGhhdCBkaWQgbm90IHJldHVybiBIVFRQIGAyMDBgLCBpbiB0aGUgbWFwJ3MgaXRlcmF0aW9uIG9yZGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3MoXG4gIHRhcmdldHM6IE1hcDxzdHJpbmcsIHN0cmluZz4sXG4gIGZldGNoVXJsU3RhdHVzOiAodXJsOiBzdHJpbmcpID0+IFByb21pc2U8RXh0ZXJuYWxMaW5rUHJvYmVSZXN1bHQgfCBudW1iZXI+LFxuICBjb25jdXJyZW5jeTogbnVtYmVyLFxuICBvcHRpb25zOiBDb2xsZWN0QnJva2VuRXh0ZXJuYWxMaW5rc09wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTxCcm9rZW5MaW5rW10+IHtcbiAgY29uc3QgcGVySG9zdENvbmN1cnJlbmN5ID0gTWF0aC5tYXgoMSwgb3B0aW9ucy5wZXJIb3N0Q29uY3VycmVuY3kgPz8gREVGQVVMVF9FWFRFUk5BTF9MSU5LX1BFUl9IT1NUX0NPTkNVUlJFTkNZKTtcbiAgY29uc3QgcGVuZGluZzogUGVuZGluZ1Byb2JlW10gPSBbLi4udGFyZ2V0c10ubWFwKChbdXJsLCBwYWdlVXJsXSwgaW5kZXgpID0+ICh7IGhvc3Q6IG5ldyBVUkwodXJsKS5ob3N0LCBpbmRleCwgcGFnZVVybCwgdXJsIH0pKTtcbiAgY29uc3QgcmVzdWx0czogKEJyb2tlbkxpbmsgfCBudWxsKVtdID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogcGVuZGluZy5sZW5ndGggfSwgKCkgPT4gbnVsbCk7XG4gIGNvbnN0IGluRmxpZ2h0QnlIb3N0ID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgY29uc3Qgd2FpdGVyczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICBhc3luYyBmdW5jdGlvbiBydW5Xb3JrZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgd2hpbGUgKHBlbmRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcG9zaXRpb24gPSBwZW5kaW5nLmZpbmRJbmRleCgocHJvYmUpID0+IChpbkZsaWdodEJ5SG9zdC5nZXQocHJvYmUuaG9zdCkgPz8gMCkgPCBwZXJIb3N0Q29uY3VycmVuY3kpO1xuICAgICAgaWYgKHBvc2l0aW9uID09PSAtMSkge1xuICAgICAgICAvLyBFdmVyeSBwZW5kaW5nIFVSTCBpcyBvbiBhIGhvc3QgYXQgaXRzIGNhcCwgc28gYSBwcm9iZSBpcyBpbiBmbGlnaHQgdGhlcmUgYW5kIHdha2VzIHRoaXMgd29ya2VyIHdoZW4gaXQgZW5kcy5cbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmVQcm9taXNlKSA9PiB7XG4gICAgICAgICAgd2FpdGVycy5wdXNoKHJlc29sdmVQcm9taXNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbcHJvYmVdID0gcGVuZGluZy5zcGxpY2UocG9zaXRpb24sIDEpO1xuICAgICAgY29uc3QgeyBob3N0LCBpbmRleCwgcGFnZVVybCwgdXJsIH0gPSBlbnN1cmVOb25OdWxsYWJsZShwcm9iZSk7XG4gICAgICBpbkZsaWdodEJ5SG9zdC5zZXQoaG9zdCwgKGluRmxpZ2h0QnlIb3N0LmdldChob3N0KSA/PyAwKSArIDEpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaHR0cFN0YXR1cyA9IGF3YWl0IHByb2JlV2l0aFJldHJ5KHVybCwgZmV0Y2hVcmxTdGF0dXMsIG9wdGlvbnMucmV0cnkgPz8ge30pO1xuICAgICAgICBpZiAoaHR0cFN0YXR1cyAhPT0gSFRUUF9PS19TVEFUVVMpIHtcbiAgICAgICAgICByZXN1bHRzW2luZGV4XSA9IHsgaHR0cFN0YXR1cywgcGFnZVVybCwgcmVhc29uOiAnZXh0ZXJuYWwtZXJyb3InLCB0YXJnZXRVcmw6IHVybCB9O1xuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpbkZsaWdodEJ5SG9zdC5zZXQoaG9zdCwgZW5zdXJlTm9uTnVsbGFibGUoaW5GbGlnaHRCeUhvc3QuZ2V0KGhvc3QpKSAtIDEpO1xuICAgICAgICBmb3IgKGNvbnN0IHdha2Ugb2Ygd2FpdGVycy5zcGxpY2UoMCkpIHtcbiAgICAgICAgICB3YWtlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCB3b3JrZXJDb3VudCA9IE1hdGgubWF4KDEsIE1hdGgubWluKGNvbmN1cnJlbmN5LCBwZW5kaW5nLmxlbmd0aCkpO1xuICBhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKHsgbGVuZ3RoOiB3b3JrZXJDb3VudCB9LCAoKSA9PiBydW5Xb3JrZXIoKSkpO1xuXG4gIC8vIEluZGV4ZWQgYXNzaWdubWVudCBhYm92ZSBrZWVwcyBmYWlsdXJlcyBpbiB0aGUgbWFwJ3MgaXRlcmF0aW9uIG9yZGVyOyBkcm9wIHRoZSBzdWNjZXNzZnVsIGdhcHMuXG4gIHJldHVybiByZXN1bHRzLmZpbHRlcigoYnJva2VuTGluayk6IGJyb2tlbkxpbmsgaXMgQnJva2VuTGluayA9PiBicm9rZW5MaW5rICE9PSBudWxsKTtcbn1cblxuLyoqXG4gKiBGaW5kcyBldmVyeSBpbnRlcm5hbCBsaW5rIGFjcm9zcyB0aGUgYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWdlcyB0aGF0IGRvZXMgbm90IHJlc29sdmUuXG4gKlxuICogRXh0ZXJuYWwgYW5kIG5vbi1IVFRQIGxpbmtzIGFyZSBpZ25vcmVkLiBFYWNoIGludGVybmFsIGxpbmsgbXVzdCByZXNvbHZlIHRvIGFuIGV4aXN0aW5nIHBhZ2UsXG4gKiBhbmQgZWFjaCBgI2ZyYWdtZW50YCBtdXN0IHJlc29sdmUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudCBpZCBvbiB0aGUgdGFyZ2V0IHBhZ2UuXG4gKlxuICogQHBhcmFtIHBhZ2VzIC0gVGhlIGJ1aWx0IGRvY3VtZW50YXRpb24gcGFnZXMgdG8gdmFsaWRhdGUuXG4gKiBAcGFyYW0gZmlsZVN5c3RlbSAtIEluamVjdGVkIGFjY2VzcyB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICogQHBhcmFtIHNpdGVCYXNlVXJsIC0gVGhlIGFic29sdXRlIGJhc2UgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tICh3aXRoIGEgdHJhaWxpbmcgc2xhc2gpLlxuICogQHJldHVybnMgRXZlcnkgYnJva2VuIGludGVybmFsIGxpbmssIGluIHBhZ2UtdGhlbi1kb2N1bWVudCBvcmRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbGxlY3RCcm9rZW5MaW5rcyhwYWdlczogRG9jdW1lbnRhdGlvblBhZ2VbXSwgZmlsZVN5c3RlbTogTGlua0NoZWNrRmlsZVN5c3RlbSwgc2l0ZUJhc2VVcmw6IHN0cmluZyk6IEJyb2tlbkxpbmtbXSB7XG4gIGNvbnN0IGJyb2tlbkxpbmtzOiBCcm9rZW5MaW5rW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHBhZ2Ugb2YgcGFnZXMpIHtcbiAgICBjb25zdCBwYWdlVXJsID0gZ2V0UGFnZVVybChwYWdlLnJlbGF0aXZlUGF0aCwgc2l0ZUJhc2VVcmwpO1xuICAgIGZvciAoY29uc3QgcmF3TGluayBvZiBleHRyYWN0TGlua3MocGFnZS5odG1sKSkge1xuICAgICAgY29uc3QgdGFyZ2V0VXJsID0gbmV3IFVSTChyYXdMaW5rLCBwYWdlVXJsKTtcbiAgICAgIGlmICghaXNJbnRlcm5hbERvY1VybCh0YXJnZXRVcmwsIHNpdGVCYXNlVXJsKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGFnZUtleSA9IGZpbGVTeXN0ZW0ucmVzb2x2ZUV4aXN0aW5nUGFnZShnZXRPdXRwdXRSZWxhdGl2ZVBhdGgodGFyZ2V0VXJsLCBzaXRlQmFzZVVybCkpO1xuICAgICAgaWYgKHBhZ2VLZXkgPT09IG51bGwpIHtcbiAgICAgICAgYnJva2VuTGlua3MucHVzaCh7IHBhZ2VVcmwsIHJlYXNvbjogJ21pc3NpbmctcGFnZScsIHRhcmdldFVybDogdGFyZ2V0VXJsLmhyZWYgfSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmcmFnbWVudCA9IHRhcmdldFVybC5oYXNoLnNsaWNlKDEpO1xuICAgICAgaWYgKGZyYWdtZW50Lmxlbmd0aCA+IDAgJiYgIWZpbGVTeXN0ZW0ucmVhZElkcyhwYWdlS2V5KS5oYXMoZnJhZ21lbnQpKSB7XG4gICAgICAgIGJyb2tlbkxpbmtzLnB1c2goeyBwYWdlVXJsLCByZWFzb246ICdtaXNzaW5nLWZyYWdtZW50JywgdGFyZ2V0VXJsOiB0YXJnZXRVcmwuaHJlZiB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYnJva2VuTGlua3M7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgZXZlcnkgdW5pcXVlIGV4dGVybmFsIFVSTCByZWZlcmVuY2VkIGFjcm9zcyB0aGUgYnVpbHQgcGFnZXMsIGRlZHVwbGljYXRlZC5cbiAqXG4gKiBPbmx5IEhUVFAoUykgbGlua3MgdGhhdCBhcmUgbm90IHtAbGluayBpc0ludGVybmFsRG9jVXJsfSBhcmUgcmV0dXJuZWQuIEVhY2ggdW5pcXVlIFVSTCBtYXBzIHRvXG4gKiB0aGUgZmlyc3QgcGFnZSB0aGF0IHJlZmVyZW5jZWQgaXQsIHNvIGEgbGF0ZXIgZmFpbHVyZSBjYW4gYmUgcmVwb3J0ZWQgd2l0aCBhIGNvbmNyZXRlIGV4YW1wbGVcbiAqIHBhZ2UgZXZlbiB0aG91Z2ggdGhlIFVSTCBpcyBmZXRjaGVkIG9ubHkgb25jZS5cbiAqXG4gKiBAcGFyYW0gcGFnZXMgLSBUaGUgYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWdlcyB0byBzY2FuLlxuICogQHBhcmFtIHNpdGVCYXNlVXJsIC0gVGhlIGFic29sdXRlIGJhc2UgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tICh3aXRoIGEgdHJhaWxpbmcgc2xhc2gpLlxuICogQHJldHVybnMgQSBtYXAgZnJvbSBlYWNoIHVuaXF1ZSBleHRlcm5hbCBVUkwgdG8gb25lIHJlZmVyZW5jaW5nIHBhZ2UgVVJMLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29sbGVjdEV4dGVybmFsVGFyZ2V0cyhwYWdlczogRG9jdW1lbnRhdGlvblBhZ2VbXSwgc2l0ZUJhc2VVcmw6IHN0cmluZyk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCB0YXJnZXRzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IHBhZ2Ugb2YgcGFnZXMpIHtcbiAgICBjb25zdCBwYWdlVXJsID0gZ2V0UGFnZVVybChwYWdlLnJlbGF0aXZlUGF0aCwgc2l0ZUJhc2VVcmwpO1xuICAgIGZvciAoY29uc3QgcmF3TGluayBvZiBleHRyYWN0TGlua3MocGFnZS5odG1sKSkge1xuICAgICAgY29uc3QgdGFyZ2V0VXJsID0gbmV3IFVSTChyYXdMaW5rLCBwYWdlVXJsKTtcbiAgICAgIGlmICgodGFyZ2V0VXJsLnByb3RvY29sICE9PSAnaHR0cDonICYmIHRhcmdldFVybC5wcm90b2NvbCAhPT0gJ2h0dHBzOicpIHx8IGlzSW50ZXJuYWxEb2NVcmwodGFyZ2V0VXJsLCBzaXRlQmFzZVVybCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGV4dGVybmFsVXJsID0gYCR7dGFyZ2V0VXJsLm9yaWdpbn0ke3RhcmdldFVybC5wYXRobmFtZX0ke3RhcmdldFVybC5zZWFyY2h9YDtcbiAgICAgIGlmICghdGFyZ2V0cy5oYXMoZXh0ZXJuYWxVcmwpKSB7XG4gICAgICAgIHRhcmdldHMuc2V0KGV4dGVybmFsVXJsLCBwYWdlVXJsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0cztcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgdmFsdWVzIG9mIGV2ZXJ5IGBpZGAgYXR0cmlidXRlIGluIGEgY2h1bmsgb2YgSFRNTC5cbiAqXG4gKiBAcGFyYW0gaHRtbCAtIFRoZSBIVE1MIHRvIHNjYW4uXG4gKiBAcmV0dXJucyBUaGUgc2V0IG9mIGVsZW1lbnQgaWRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdElkcyhodG1sOiBzdHJpbmcpOiBTZXQ8c3RyaW5nPiB7XG4gIHJldHVybiBuZXcgU2V0KFsuLi5odG1sLm1hdGNoQWxsKElEX0FUVFJJQlVURV9SRUdFWCldLm1hcCgobWF0Y2gpID0+IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICd2YWx1ZScpKSk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHZhbHVlcyBvZiBldmVyeSBgaHJlZmAvYHNyY2AgYXR0cmlidXRlIGluIGEgY2h1bmsgb2YgSFRNTC5cbiAqXG4gKiBAcGFyYW0gaHRtbCAtIFRoZSBIVE1MIHRvIHNjYW4uXG4gKiBAcmV0dXJucyBUaGUgcmF3IGxpbmsgdmFsdWVzLCBpbiBkb2N1bWVudCBvcmRlciAoZHVwbGljYXRlcyBwcmVzZXJ2ZWQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdExpbmtzKGh0bWw6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIFsuLi5odG1sLm1hdGNoQWxsKExJTktfQVRUUklCVVRFX1JFR0VYKV0ubWFwKChtYXRjaCkgPT4gZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ3ZhbHVlJykpO1xufVxuXG4vKipcbiAqIEZvcm1hdHMgYnJva2VuIGxpbmtzIGludG8gYSBodW1hbi1yZWFkYWJsZSBtdWx0aS1saW5lIHJlcG9ydC5cbiAqXG4gKiBAcGFyYW0gYnJva2VuTGlua3MgLSBUaGUgYnJva2VuIGxpbmtzIHRvIGRlc2NyaWJlLlxuICogQHJldHVybnMgT25lIGxpbmUgcGVyIGJyb2tlbiBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0QnJva2VuTGlua3MoYnJva2VuTGlua3M6IEJyb2tlbkxpbmtbXSk6IHN0cmluZyB7XG4gIHJldHVybiBicm9rZW5MaW5rc1xuICAgIC5tYXAoKGJyb2tlbkxpbmspID0+IHtcbiAgICAgIHN3aXRjaCAoYnJva2VuTGluay5yZWFzb24pIHtcbiAgICAgICAgY2FzZSAnZXh0ZXJuYWwtZXJyb3InOiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Jyb2tlbkxpbmsucGFnZVVybH0gbGlua3MgdG8gZXh0ZXJuYWwgVVJMICR7YnJva2VuTGluay50YXJnZXRVcmx9IHRoYXQgcmV0dXJuZWQgJHtkZXNjcmliZUh0dHBTdGF0dXMoYnJva2VuTGluay5odHRwU3RhdHVzKX0uYDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdtaXNzaW5nLWZyYWdtZW50Jzoge1xuICAgICAgICAgIHJldHVybiBgJHticm9rZW5MaW5rLnBhZ2VVcmx9IGxpbmtzIHRvIG1pc3NpbmcgZnJhZ21lbnQgJHticm9rZW5MaW5rLnRhcmdldFVybH0uYDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdtaXNzaW5nLXBhZ2UnOiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Jyb2tlbkxpbmsucGFnZVVybH0gbGlua3MgdG8gbWlzc2luZyBwYWdlICR7YnJva2VuTGluay50YXJnZXRVcmx9LmA7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHJldHVybiBhc3NlcnROZXZlcihicm9rZW5MaW5rLnJlYXNvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIC5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgYnVpbGQtb3V0cHV0LXJlbGF0aXZlIHBhdGggZm9yIGFuIGludGVybmFsIGRvY3VtZW50YXRpb24gVVJMLlxuICpcbiAqIEBwYXJhbSB0YXJnZXRVcmwgLSBUaGUgcmVzb2x2ZWQgYWJzb2x1dGUgbGluayBVUkwgKG11c3QgYmUge0BsaW5rIGlzSW50ZXJuYWxEb2NVcmx9KS5cbiAqIEBwYXJhbSBzaXRlQmFzZVVybCAtIFRoZSBhYnNvbHV0ZSBiYXNlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSAod2l0aCBhIHRyYWlsaW5nIHNsYXNoKS5cbiAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIHBhdGggcmVsYXRpdmUgdG8gdGhlIGJ1aWxkLW91dHB1dCByb290LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3V0cHV0UmVsYXRpdmVQYXRoKHRhcmdldFVybDogVVJMLCBzaXRlQmFzZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgYmFzZSA9IG5ldyBVUkwoc2l0ZUJhc2VVcmwpO1xuICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybC5wYXRobmFtZS5zbGljZShiYXNlLnBhdGhuYW1lLmxlbmd0aCkpO1xufVxuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBhYnNvbHV0ZSBVUkwgYSBidWlsdCBwYWdlIGlzIHNlcnZlZCBhdC5cbiAqXG4gKiBAcGFyYW0gcmVsYXRpdmVQYXRoIC0gVGhlIHBhZ2UncyBwYXRoIHJlbGF0aXZlIHRvIHRoZSBidWlsZC1vdXRwdXQgcm9vdC5cbiAqIEBwYXJhbSBzaXRlQmFzZVVybCAtIFRoZSBhYnNvbHV0ZSBiYXNlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSAod2l0aCBhIHRyYWlsaW5nIHNsYXNoKS5cbiAqIEByZXR1cm5zIFRoZSBwYWdlJ3MgYWJzb2x1dGUgVVJMLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFnZVVybChyZWxhdGl2ZVBhdGg6IHN0cmluZywgc2l0ZUJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSByZWxhdGl2ZVBhdGgucmVwbGFjZUFsbCgnXFxcXCcsICcvJyk7XG4gIGNvbnN0IHVybFBhdGggPSBub3JtYWxpemVkID09PSAnaW5kZXguaHRtbCcgPyAnJyA6IG5vcm1hbGl6ZWQucmVwbGFjZSgvaW5kZXhcXC5odG1sJC91LCAnJyk7XG4gIHJldHVybiBuZXcgVVJMKHVybFBhdGgsIHNpdGVCYXNlVXJsKS5ocmVmO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIHJlc29sdmVkIGxpbmsgcG9pbnRzIGF0IGEgcGFnZSBob3N0ZWQgYnkgdGhpcyBkb2N1bWVudGF0aW9uIHNpdGUuXG4gKlxuICogQHBhcmFtIHRhcmdldFVybCAtIFRoZSByZXNvbHZlZCBhYnNvbHV0ZSBsaW5rIFVSTC5cbiAqIEBwYXJhbSBzaXRlQmFzZVVybCAtIFRoZSBhYnNvbHV0ZSBiYXNlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSAod2l0aCBhIHRyYWlsaW5nIHNsYXNoKS5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBsaW5rIGlzIHNhbWUtb3JpZ2luIGFuZCB1bmRlciB0aGUgc2l0ZSBiYXNlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVybmFsRG9jVXJsKHRhcmdldFVybDogVVJMLCBzaXRlQmFzZVVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGJhc2UgPSBuZXcgVVJMKHNpdGVCYXNlVXJsKTtcbiAgcmV0dXJuIHRhcmdldFVybC5vcmlnaW4gPT09IGJhc2Uub3JpZ2luICYmIHRhcmdldFVybC5wYXRobmFtZS5zdGFydHNXaXRoKGJhc2UucGF0aG5hbWUpO1xufVxuXG4vKipcbiAqIFJlYWRzIGFuIEhUVFAgYFJldHJ5LUFmdGVyYCBoZWFkZXIsIHdoaWNoIGlzIGVpdGhlciBhIG51bWJlciBvZiBzZWNvbmRzIG9yIGFuIEhUVFAgZGF0ZS5cbiAqXG4gKiBAcGFyYW0gaGVhZGVyVmFsdWUgLSBUaGUgaGVhZGVyJ3MgdmFsdWUsIG9yIGBudWxsYCB3aGVuIHRoZSByZXNwb25zZSBoYXMgbm9uZS5cbiAqIEBwYXJhbSBub3dJbk1pbGxpc2Vjb25kcyAtIFRoZSBjdXJyZW50IHRpbWUsIGFnYWluc3Qgd2hpY2ggYSBkYXRlIGlzIG1lYXN1cmVkLlxuICogQHJldHVybnMgSG93IGxvbmcgdG8gd2FpdCwgbmV2ZXIgbmVnYXRpdmUsIG9yIGB1bmRlZmluZWRgIHdoZW4gdGhlIGhlYWRlciBpcyBhYnNlbnQgb3IgdW5yZWFkYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmV0cnlBZnRlckluTWlsbGlzZWNvbmRzKGhlYWRlclZhbHVlOiBudWxsIHwgc3RyaW5nLCBub3dJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdHJpbW1lZCA9IGhlYWRlclZhbHVlPy50cmltKCkgPz8gJyc7XG4gIGlmICh0cmltbWVkID09PSAnJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoL15cXGQrJC91LnRlc3QodHJpbW1lZCkpIHtcbiAgICByZXR1cm4gTnVtYmVyKHRyaW1tZWQpICogTUlMTElTRUNPTkRTX1BFUl9TRUNPTkQ7XG4gIH1cblxuICBjb25zdCBkYXRlSW5NaWxsaXNlY29uZHMgPSBEYXRlLnBhcnNlKHRyaW1tZWQpO1xuICByZXR1cm4gTnVtYmVyLmlzTmFOKGRhdGVJbk1pbGxpc2Vjb25kcykgPyB1bmRlZmluZWQgOiBNYXRoLm1heCgwLCBkYXRlSW5NaWxsaXNlY29uZHMgLSBub3dJbk1pbGxpc2Vjb25kcyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYW4gb3V0cHV0LXJlbGF0aXZlIHBhdGggdG8gYW4gYWJzb2x1dGUgcGF0aCBpbnNpZGUgdGhlIGJ1aWxkLW91dHB1dCByb290LCByZWplY3RpbmdcbiAqIHBhdGhzIHRoYXQgZXNjYXBlIGl0IHZpYSBgLi5gIHNlZ21lbnRzLlxuICpcbiAqIEBwYXJhbSBvdXRwdXRSb290UGF0aCAtIFRoZSBhYnNvbHV0ZSBidWlsZC1vdXRwdXQgcm9vdCBwYXRoLlxuICogQHBhcmFtIG91dHB1dFJlbGF0aXZlUGF0aCAtIFRoZSBkZWNvZGVkIG91dHB1dC1yZWxhdGl2ZSBwYXRoLlxuICogQHJldHVybnMgVGhlIGpvaW5lZCBwYXRoIHdoZW4gaXQgc3RheXMgd2l0aGluIHRoZSByb290LCBvdGhlcndpc2UgYG51bGxgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVdpdGhpblJvb3Qob3V0cHV0Um9vdFBhdGg6IHN0cmluZywgb3V0cHV0UmVsYXRpdmVQYXRoOiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgY29uc3Qgcm9vdCA9IG5vcm1hbGl6ZShvdXRwdXRSb290UGF0aC5yZXBsYWNlQWxsKCdcXFxcJywgJy8nKSkucmVwbGFjZSgvXFwvJC91LCAnJyk7XG4gIGxldCBqb2luZWQgPSBub3JtYWxpemUoYCR7cm9vdH0vJHtvdXRwdXRSZWxhdGl2ZVBhdGgucmVwbGFjZUFsbCgnXFxcXCcsICcvJyl9YCk7XG4gIGlmIChqb2luZWQubGVuZ3RoID4gMSkge1xuICAgIGpvaW5lZCA9IGpvaW5lZC5yZXBsYWNlKC9cXC8kL3UsICcnKTtcbiAgfVxuXG4gIHJldHVybiBqb2luZWQgIT09IHJvb3QgJiYgIWpvaW5lZC5zdGFydHNXaXRoKGAke3Jvb3R9L2ApID8gbnVsbCA6IGpvaW5lZDtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVIdHRwU3RhdHVzKGh0dHBTdGF0dXM6IG51bWJlciB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIHJldHVybiBodHRwU3RhdHVzID09PSB1bmRlZmluZWQgfHwgaHR0cFN0YXR1cyA9PT0gTkVUV09SS19GQUlMVVJFX1NUQVRVUyA/ICdhIG5ldHdvcmsgZmFpbHVyZScgOiBgSFRUUCAke1N0cmluZyhodHRwU3RhdHVzKX1gO1xufVxuXG5mdW5jdGlvbiBpc1RyYW5zaWVudFN0YXR1cyhzdGF0dXM6IG51bWJlcik6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdHVzID09PSBORVRXT1JLX0ZBSUxVUkVfU1RBVFVTIHx8IHN0YXR1cyA9PT0gSFRUUF9UT09fTUFOWV9SRVFVRVNUU19TVEFUVVMgfHwgc3RhdHVzID49IEhUVFBfU0VSVkVSX0VSUk9SX01JTl9TVEFUVVM7XG59XG5cbi8qXG4gKiBBIHNpdGUgbGlua2luZyBpdHMgc2libGluZyBzaXRlcyBwcm9iZXMgdGhvdXNhbmRzIG9mIFVSTHMgb24gb25lIGhvc3QsIGFuZCBpbiBDSSBHaXRIdWIgUGFnZXMgYW5zd2VycyBhIGZldyBvZiB0aGVtXG4gKiB3aXRoIGEgNTAzLCBvciBkcm9wcyB0aGUgY29ubmVjdGlvbiwgd2hpbGUgdGhlIHBhZ2Ugc2VydmVzIDIwMCBhIG1vbWVudCBsYXRlci4gVGhyZWUgYXR0ZW1wdHMgYSBzZWNvbmQgYXBhcnQgZ2F2ZSB1cFxuICogdG9vIHNvb24gZm9yIHRoYXQgKDIwMjYtMTAtMTYpLCBzbyB0aGUgd2FpdCBncm93cyB1bnRpbCB0aGUgYnVkZ2V0IGlzIHNwZW50LlxuICovXG5hc3luYyBmdW5jdGlvbiBwcm9iZVdpdGhSZXRyeShcbiAgdXJsOiBzdHJpbmcsXG4gIGZldGNoVXJsU3RhdHVzOiAodXJsOiBzdHJpbmcpID0+IFByb21pc2U8RXh0ZXJuYWxMaW5rUHJvYmVSZXN1bHQgfCBudW1iZXI+LFxuICByZXRyeTogRXh0ZXJuYWxMaW5rUmV0cnlPcHRpb25zXG4pOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCBpbml0aWFsRGVsYXlJbk1pbGxpc2Vjb25kcyA9IHJldHJ5LmluaXRpYWxEZWxheUluTWlsbGlzZWNvbmRzID8/IERFRkFVTFRfRVhURVJOQUxfTElOS19SRVRSWV9JTklUSUFMX0RFTEFZX0lOX01JTExJU0VDT05EUztcbiAgY29uc3QgbWF4RGVsYXlJbk1pbGxpc2Vjb25kcyA9IHJldHJ5Lm1heERlbGF5SW5NaWxsaXNlY29uZHMgPz8gREVGQVVMVF9FWFRFUk5BTF9MSU5LX1JFVFJZX01BWF9ERUxBWV9JTl9NSUxMSVNFQ09ORFM7XG4gIGNvbnN0IHRvdGFsQnVkZ2V0SW5NaWxsaXNlY29uZHMgPSByZXRyeS50b3RhbEJ1ZGdldEluTWlsbGlzZWNvbmRzID8/IERFRkFVTFRfRVhURVJOQUxfTElOS19SRVRSWV9UT1RBTF9CVURHRVRfSU5fTUlMTElTRUNPTkRTO1xuICBjb25zdCByYW5kb20gPSByZXRyeS5yYW5kb20gPz8gTWF0aC5yYW5kb207XG4gIGNvbnN0IHNsZWVwID0gcmV0cnkuc2xlZXAgPz8gc2xlZXBXaXRoVGltZW91dDtcblxuICBsZXQgd2FpdGVkSW5NaWxsaXNlY29uZHMgPSAwO1xuICBmb3IgKGxldCBhdHRlbXB0ID0gMDs7IGF0dGVtcHQrKykge1xuICAgIGNvbnN0IHByb2JlUmVzdWx0ID0gYXdhaXQgZmV0Y2hVcmxTdGF0dXModXJsKTtcbiAgICBjb25zdCB7IHJldHJ5QWZ0ZXJJbk1pbGxpc2Vjb25kcywgc3RhdHVzIH0gPSB0eXBlb2YgcHJvYmVSZXN1bHQgPT09ICdudW1iZXInID8geyByZXRyeUFmdGVySW5NaWxsaXNlY29uZHM6IHVuZGVmaW5lZCwgc3RhdHVzOiBwcm9iZVJlc3VsdCB9IDogcHJvYmVSZXN1bHQ7XG4gICAgY29uc3QgcmVtYWluaW5nSW5NaWxsaXNlY29uZHMgPSB0b3RhbEJ1ZGdldEluTWlsbGlzZWNvbmRzIC0gd2FpdGVkSW5NaWxsaXNlY29uZHM7XG4gICAgaWYgKCFpc1RyYW5zaWVudFN0YXR1cyhzdGF0dXMpIHx8IHJlbWFpbmluZ0luTWlsbGlzZWNvbmRzIDw9IDApIHtcbiAgICAgIHJldHVybiBzdGF0dXM7XG4gICAgfVxuXG4gICAgY29uc3QgYmFja29mZkluTWlsbGlzZWNvbmRzID0gTWF0aC5taW4obWF4RGVsYXlJbk1pbGxpc2Vjb25kcywgaW5pdGlhbERlbGF5SW5NaWxsaXNlY29uZHMgKiBCQUNLT0ZGX0ZBQ1RPUiAqKiBhdHRlbXB0KTtcbiAgICBjb25zdCBqaXR0ZXJlZEluTWlsbGlzZWNvbmRzID0gYmFja29mZkluTWlsbGlzZWNvbmRzICogKEpJVFRFUl9GTE9PUiArICgxIC0gSklUVEVSX0ZMT09SKSAqIHJhbmRvbSgpKTtcbiAgICBjb25zdCBkZWxheUluTWlsbGlzZWNvbmRzID0gTWF0aC5taW4ocmVtYWluaW5nSW5NaWxsaXNlY29uZHMsIE1hdGgubWF4KGppdHRlcmVkSW5NaWxsaXNlY29uZHMsIHJldHJ5QWZ0ZXJJbk1pbGxpc2Vjb25kcyA/PyAwKSk7XG4gICAgYXdhaXQgc2xlZXAoZGVsYXlJbk1pbGxpc2Vjb25kcyk7XG4gICAgd2FpdGVkSW5NaWxsaXNlY29uZHMgKz0gZGVsYXlJbk1pbGxpc2Vjb25kcztcbiAgfVxufVxuXG5mdW5jdGlvbiBzbGVlcFdpdGhUaW1lb3V0KG1pbGxpc2Vjb25kczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZVByb21pc2UpID0+IHtcbiAgICBnbG9iYWxUaGlzLnNldFRpbWVvdXQocmVzb2x2ZVByb21pc2UsIG1pbGxpc2Vjb25kcyk7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFFMUIsTUFBTSx1QkFBdUI7QUFDN0IsTUFBTSxxQkFBcUI7QUFDM0IsTUFBTSxpQkFBaUI7QUFNaEIsTUFBTSx5QkFBeUI7QUF3SS9CLE1BQU0sNkNBQTZDO0FBS25ELE1BQU0sNERBQTREO0FBS2xFLE1BQU0sd0RBQXdEO0FBSzlELE1BQU0sMkRBQTJEO0FBRXhFLE1BQU0sZ0NBQWdDO0FBQ3RDLE1BQU0sK0JBQStCO0FBQ3JDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sZUFBZTtBQUNyQixNQUFNLGlCQUFpQjtBQXdCdkIsZUFBc0IsMkJBQ3BCLFNBQ0EsZ0JBQ0EsYUFDQSxVQUE2QyxDQUFDLEdBQ3ZCO0FBQ3ZCLFFBQU0scUJBQXFCLEtBQUssSUFBSSxHQUFHLFFBQVEsc0JBQXNCLDBDQUEwQztBQUMvRyxRQUFNLFVBQTBCLENBQUMsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxPQUFPLEdBQUcsV0FBVyxF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
|
|
@@ -164,4 +164,4 @@ async function walkDirectory(directory, contentDocsDirectory, pages) {
|
|
|
164
164
|
export {
|
|
165
165
|
generateOgImages
|
|
166
166
|
};
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvb2ctaW1hZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBHZW5lcmF0ZXMgYW4gT3BlbiBHcmFwaCBjYXJkIGZvciBldmVyeSBkb2N1bWVudGF0aW9uIHBhZ2UsIHJldXNpbmcgdGhlIGNhcmRzIHdob3NlIGlucHV0cyBkaWQgbm90IGNoYW5nZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZvbnQgfSBmcm9tICdzYXRvcmknO1xuXG5pbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgbWtkaXIsXG4gIHJlYWRkaXIsXG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBkaXJuYW1lIH0gZnJvbSAnbm9kZTpwYXRoL3Bvc2l4JztcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlWWFtbCB9IGZyb20gJ3lhbWwnO1xuXG5pbXBvcnQgdHlwZSB7IE9nQ2FyZENvbnRlbnQgfSBmcm9tICcuL29nLWltYWdlLnRzJztcblxuaW1wb3J0IHsgZ2V0T2dJbWFnZVBhZ2VTbHVnIH0gZnJvbSAnLi9vZy1pbWFnZS1wYWdlLnRzJztcbmltcG9ydCB7XG4gIGNvbXB1dGVPZ0hhc2gsXG4gIGxvYWRGb250cyxcbiAgbG9hZExvZ29EYXRhVXJpLFxuICByZW5kZXJPZ0ltYWdlXG59IGZyb20gJy4vb2ctaW1hZ2UudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBnZW5lcmF0ZU9nSW1hZ2VzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZU9nSW1hZ2VzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGV2ZXJ5IGNhcmQncyBmb290ZXIgY2Fycmllcywgbm9ybWFsbHkgdGhlIHBhY2thZ2UncyBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmRUZXh0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudGF0aW9uIGNvbnRlbnQgcm9vdCwgbm9ybWFsbHkgYDxkb2NzPi9zcmMvY29udGVudC9kb2NzYC4gRXZlcnkgYC5tZGAgLyBgLm1keGAgcGFnZSB1bmRlciBpdCB3aXRoIGFcbiAgICogYHRpdGxlYCBnZXRzIGEgY2FyZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnREb2NzRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBTVkcgbG9nbyBkcmF3biBvbiBldmVyeSBjYXJkLiBBIG1pc3NpbmcgZmlsZSByZW5kZXJzIHRoZSBjYXJkcyB3aXRob3V0IG9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGZhdmljb25QYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgaG9sZGluZyB0aGUgZm9udHMgdGhlIGNhcmRzIGFyZSByZW5kZXJlZCB3aXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9udHNEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB0aGUgY2FyZHMgYXJlIHdyaXR0ZW4gdG8sIG5vcm1hbGx5IGA8ZG9jcz4vcHVibGljL29nYCwgc2VydmVkIGF0IGA8YmFzZT4vb2cvPHNsdWc+LnBuZ2AuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXREaXJlY3Rvcnk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENhY2hlTWFuaWZlc3Qge1xuICAvLyBFYWNoIHBhZ2UncyBjb250ZW50IGhhc2gsIGJ5IHNsdWcuXG4gIHJlYWRvbmx5IGNhcmRzOiBDYXJkSGFzaGVzO1xuICAvLyBUaGUgaGFzaCBvZiB0aGUgbG9nbyBldmVyeSBjYXJkIGNhcnJpZXMuIFRoZSBwYWdlIGhhc2hlcyBjYW5ub3Qgc2VlIGl0LCBzbyBhIGRpZmZlcmVudCBsb2dvIGRyb3BzIHRoZW0gYWxsLlxuICByZWFkb25seSBsb2dvSGFzaDogc3RyaW5nO1xufVxuXG50eXBlIENhcmRIYXNoZXMgPSBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuXG5pbnRlcmZhY2UgR2VuZXJhdGVJbWFnZXNXaXRoUG9vbE9wdGlvbnMge1xuICByZWFkb25seSBicmFuZFRleHQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY2FyZHM6IENhcmRIYXNoZXM7XG4gIHJlYWRvbmx5IGNoYW5nZWRQYWdlczogUGFnZUVudHJ5W107XG4gIHJlYWRvbmx5IGZvbnRzOiBGb250W107XG4gIHJlYWRvbmx5IGxvZ29EYXRhVXJpOiBudWxsIHwgc3RyaW5nO1xuICByZWFkb25seSBvdXRwdXREaXJlY3Rvcnk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhZ2VFbnRyeSB7XG4gIGhhc2g6IHN0cmluZztcbiAgcGFyYW1zOiBPZ0NhcmRDb250ZW50O1xuICBzbHVnOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPTkNVUlJFTkNZID0gMTA7XG5jb25zdCBQUk9HUkVTU19MT0dfSU5URVJWQUwgPSAxMDA7XG5jb25zdCBNQU5JRkVTVF9JTkRFTlQgPSAyO1xuXG4vLyBGcm9udG1hdHRlciBpcyBwYXJzZWQgaGVyZSByYXRoZXIgdGhhbiB3aXRoIGBncmF5LW1hdHRlcmAuIEl0cyBgbGliL2VuZ2luZXMuanNgIGJpbmRzIGpzLXlhbWwnc1xuLy8gYHNhZmVMb2FkYC9gc2FmZUR1bXBgIGF0IE1PRFVMRS1MT0FEIHRpbWUsIGFuZCBib3RoIHdlcmUgcmVtb3ZlZCBpbiBqcy15YW1sIHY0IOKAlCBzbyBtZXJlbHlcbi8vIElNUE9SVElORyBgZ3JheS1tYXR0ZXJgIHRocm93cyBgQ2Fubm90IHJlYWQgcHJvcGVydGllcyBvZiB1bmRlZmluZWQgKHJlYWRpbmcgJ2JpbmQnKWAsIGJlZm9yZSBhblxuLy8gYGVuZ2luZXNgIG9wdGlvbiBjb3VsZCBvdmVycmlkZSB0aGUgZGVmYXVsdC4gT25seSB0aGUgZnJvbnRtYXR0ZXIgb2JqZWN0IGlzIG5lZWRlZCBoZXJlLlxuY29uc3QgRlJPTlRfTUFUVEVSX1JFR19FWFAgPSAvXi0tLVxccj9cXG4oPzxGcm9udE1hdHRlcj5bXFxzXFxTXSo/KVxccj9cXG4tLS0oPzpcXHI/XFxufCQpLztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIE9wZW4gR3JhcGggY2FyZHMuXG4gKlxuICogQSBjYXJkIGlzIHJlLXJlbmRlcmVkIG9ubHkgd2hlbiBpdHMgdGl0bGUsIGRlc2NyaXB0aW9uLCBzaWduYXR1cmUgb3IgYmFkZ2UgY2hhbmdlZCwgdHJhY2tlZCBieSBhIGhhc2ggbWFuaWZlc3RcbiAqIGJlc2lkZSB0aGUgY2FyZHMuIEEgZGlmZmVyZW50IGxvZ28gZmlsZSByZS1yZW5kZXJzIGV2ZXJ5IGNhcmQuIE1pc3NpbmcgY29udGVudCBvciBmb250cyBza2lwIHRoZSBzdGVwIHdpdGggYSB3YXJuaW5nIHJhdGhlciB0aGFuIGZhaWxpbmcgdGhlIGJ1aWxkLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZU9nSW1hZ2VzKG9wdGlvbnM6IEdlbmVyYXRlT2dJbWFnZXNQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBicmFuZFRleHQsIGNvbnRlbnREb2NzRGlyZWN0b3J5LCBmYXZpY29uUGF0aCwgZm9udHNEaXJlY3RvcnksIG91dHB1dERpcmVjdG9yeSB9ID0gb3B0aW9ucztcbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gYCR7b3V0cHV0RGlyZWN0b3J5fS8uY2FjaGUtbWFuaWZlc3QuanNvbmA7XG5cbiAgaWYgKCFleGlzdHNTeW5jKGNvbnRlbnREb2NzRGlyZWN0b3J5KSkge1xuICAgIGNvbnNvbGUud2FybihgT0cgaW1hZ2VzOiBjb250ZW50IGRpciBub3QgZm91bmQgKCR7Y29udGVudERvY3NEaXJlY3Rvcnl9KTsgc2tpcHBpbmcuYCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gTG9hZCBmb250cyBmaXJzdCDigJQgc2F0b3JpIGNhbm5vdCByZW5kZXIgd2l0aG91dCB0aGVtLlxuICBjb25zdCBmb250cyA9IGF3YWl0IGxvYWRGb250cyhmb250c0RpcmVjdG9yeSk7XG4gIGlmICghZm9udHMpIHtcbiAgICBjb25zb2xlLndhcm4oYE9HIGltYWdlczogbm8gZm9udHMgYXZhaWxhYmxlIGluICR7Zm9udHNEaXJlY3Rvcnl9OyBza2lwcGluZyBPRyBpbWFnZSBnZW5lcmF0aW9uLmApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHBhZ2VzOiBQYWdlRW50cnlbXSA9IFtdO1xuICBhd2FpdCB3YWxrRGlyZWN0b3J5KGNvbnRlbnREb2NzRGlyZWN0b3J5LCBjb250ZW50RG9jc0RpcmVjdG9yeSwgcGFnZXMpO1xuICBjb25zb2xlLndhcm4oYE9HIGltYWdlczogZm91bmQgJHtTdHJpbmcocGFnZXMubGVuZ3RoKX0gcGFnZXNgKTtcblxuICBjb25zdCBsb2dvSGFzaCA9IGF3YWl0IGNvbXB1dGVMb2dvSGFzaChmYXZpY29uUGF0aCk7XG4gIGNvbnN0IG1hbmlmZXN0ID0gYXdhaXQgbG9hZENhY2hlTWFuaWZlc3QobWFuaWZlc3RQYXRoKTtcbiAgY29uc3QgY2FyZHMgPSBtYW5pZmVzdD8ubG9nb0hhc2ggPT09IGxvZ29IYXNoID8geyAuLi5tYW5pZmVzdC5jYXJkcyB9IDoge307XG4gIGNvbnN0IGNoYW5nZWRQYWdlcyA9IHBhZ2VzLmZpbHRlcigocGFnZSkgPT4gY2FyZHNbcGFnZS5zbHVnXSAhPT0gcGFnZS5oYXNoKTtcbiAgY29uc29sZS53YXJuKGBPRyBpbWFnZXM6ICR7U3RyaW5nKGNoYW5nZWRQYWdlcy5sZW5ndGgpfSBjaGFuZ2VkIC8gJHtTdHJpbmcocGFnZXMubGVuZ3RoKX0gdG90YWxgKTtcblxuICBpZiAoY2hhbmdlZFBhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgIGNvbnNvbGUud2FybignQWxsIE9HIGltYWdlcyB1cCB0byBkYXRlLicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFJhc3Rlcml6ZSB0aGUgc2l0ZSBsb2dvIG9uY2UgKHNoYXJlZCBhY3Jvc3MgZXZlcnkgY2FyZCk7IGRlZ3JhZGUgZ3JhY2VmdWxseSBpZiBhYnNlbnQuXG4gIGNvbnN0IGxvZ29EYXRhVXJpID0gYXdhaXQgbG9hZExvZ29EYXRhVXJpKGZhdmljb25QYXRoKTtcbiAgaWYgKCFsb2dvRGF0YVVyaSkge1xuICAgIGNvbnNvbGUud2FybihgT0cgaW1hZ2VzOiBmYXZpY29uIG5vdCBmb3VuZCAoJHtmYXZpY29uUGF0aH0pOyByZW5kZXJpbmcgY2FyZHMgd2l0aG91dCBhIGxvZ28uYCk7XG4gIH1cblxuICBhd2FpdCBnZW5lcmF0ZUltYWdlc1dpdGhQb29sKHsgYnJhbmRUZXh0LCBjYXJkcywgY2hhbmdlZFBhZ2VzLCBmb250cywgbG9nb0RhdGFVcmksIG91dHB1dERpcmVjdG9yeSB9KTtcblxuICBjb25zdCBuZXdNYW5pZmVzdDogQ2FjaGVNYW5pZmVzdCA9IHsgY2FyZHMsIGxvZ29IYXNoIH07XG4gIGF3YWl0IG1rZGlyKGRpcm5hbWUobWFuaWZlc3RQYXRoKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGF3YWl0IHdyaXRlRmlsZShtYW5pZmVzdFBhdGgsIEpTT04uc3RyaW5naWZ5KG5ld01hbmlmZXN0LCBudWxsLCBNQU5JRkVTVF9JTkRFTlQpKTtcbiAgY29uc29sZS53YXJuKGBPRyBpbWFnZXM6IGRvbmUuIEdlbmVyYXRlZCAke1N0cmluZyhjaGFuZ2VkUGFnZXMubGVuZ3RoKX0gaW1hZ2VzLmApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb21wdXRlTG9nb0hhc2goZmF2aWNvblBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBleGlzdHNTeW5jKGZhdmljb25QYXRoKSA/IGNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShhd2FpdCByZWFkRmlsZShmYXZpY29uUGF0aCkpLmRpZ2VzdCgnaGV4JykgOiAnJztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVJbWFnZXNXaXRoUG9vbChvcHRpb25zOiBHZW5lcmF0ZUltYWdlc1dpdGhQb29sT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IGJyYW5kVGV4dCwgY2FyZHMsIGNoYW5nZWRQYWdlcywgZm9udHMsIGxvZ29EYXRhVXJpLCBvdXRwdXREaXJlY3RvcnkgfSA9IG9wdGlvbnM7XG4gIGxldCBjb21wbGV0ZWQgPSAwO1xuICBsZXQgaW5kZXggPSAwO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NOZXh0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAobGV0IHBhZ2UgPSBjaGFuZ2VkUGFnZXNbaW5kZXgrK107IHBhZ2UgIT09IHVuZGVmaW5lZDsgcGFnZSA9IGNoYW5nZWRQYWdlc1tpbmRleCsrXSkge1xuICAgICAgY29uc3Qgb3V0cHV0UGF0aCA9IGAke291dHB1dERpcmVjdG9yeX0vJHtwYWdlLnNsdWd9LnBuZ2A7XG4gICAgICBhd2FpdCBta2RpcihkaXJuYW1lKG91dHB1dFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGF3YWl0IHdyaXRlRmlsZShvdXRwdXRQYXRoLCBhd2FpdCByZW5kZXJPZ0ltYWdlKHBhZ2UucGFyYW1zLCB7IGJyYW5kVGV4dCwgZm9udHMsIGxvZ29EYXRhVXJpIH0pKTtcbiAgICAgIGNhcmRzW3BhZ2Uuc2x1Z10gPSBwYWdlLmhhc2g7XG4gICAgICBjb21wbGV0ZWQrKztcbiAgICAgIGlmIChjb21wbGV0ZWQgJSBQUk9HUkVTU19MT0dfSU5URVJWQUwgPT09IDApIHtcbiAgICAgICAgY29uc29sZS53YXJuKGAgICR7U3RyaW5nKGNvbXBsZXRlZCl9LyR7U3RyaW5nKGNoYW5nZWRQYWdlcy5sZW5ndGgpfSBpbWFnZXMgZ2VuZXJhdGVkLi4uYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoQXJyYXkuZnJvbSh7IGxlbmd0aDogQ09OQ1VSUkVOQ1kgfSwgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHByb2Nlc3NOZXh0KCk7XG4gIH0pKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZENhY2hlTWFuaWZlc3QobWFuaWZlc3RQYXRoOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlTWFuaWZlc3QgfCBudWxsPiB7XG4gIGlmICghZXhpc3RzU3luYyhtYW5pZmVzdFBhdGgpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQSBtYW5pZmVzdCB3cml0dGVuIGJlZm9yZSB0aGUgbG9nbyB3YXMgdHJhY2tlZCBpcyBhIGZsYXQgc2x1Zy10by1oYXNoIG1hcDogaXQgaGFzIG5vIGBsb2dvSGFzaGAsIHNvIGV2ZXJ5IGNhcmRcbiAgLy8gcmUtcmVuZGVycyBvbmNlLlxuICBjb25zdCBtYW5pZmVzdCA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUobWFuaWZlc3RQYXRoLCAndXRmLTgnKSkgYXMgUGFydGlhbDxDYWNoZU1hbmlmZXN0PjtcbiAgcmV0dXJuIHR5cGVvZiBtYW5pZmVzdC5sb2dvSGFzaCA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIG1hbmlmZXN0LmNhcmRzID09PSAnb2JqZWN0J1xuICAgID8geyBjYXJkczogbWFuaWZlc3QuY2FyZHMsIGxvZ29IYXNoOiBtYW5pZmVzdC5sb2dvSGFzaCB9XG4gICAgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBwYXJzZUZyb250TWF0dGVyKGNvbnRlbnQ6IHN0cmluZyk6IFBhcnRpYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgY29uc3QgZnJvbnRNYXR0ZXIgPSBGUk9OVF9NQVRURVJfUkVHX0VYUC5leGVjKGNvbnRlbnQpPy5ncm91cHM/LlsnRnJvbnRNYXR0ZXInXTtcbiAgcmV0dXJuIGZyb250TWF0dGVyID09PSB1bmRlZmluZWQgPyB7fSA6IChwYXJzZVlhbWwoZnJvbnRNYXR0ZXIpIGFzIG51bGwgfCBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+PikgPz8ge307XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhcnNlUGFnZShmaWxlUGF0aDogc3RyaW5nLCBjb250ZW50RG9jc0RpcmVjdG9yeTogc3RyaW5nKTogUHJvbWlzZTxudWxsIHwgUGFnZUVudHJ5PiB7XG4gIGNvbnN0IGRhdGEgPSBwYXJzZUZyb250TWF0dGVyKGF3YWl0IHJlYWRGaWxlKGZpbGVQYXRoLCAndXRmLTgnKSk7XG5cbiAgY29uc3QgdGl0bGUgPSB0b09wdGlvbmFsU3RyaW5nKGRhdGFbJ3RpdGxlJ10pO1xuICBpZiAoIXRpdGxlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBiYWRnZSA9IGRhdGFbJ3NpZGViYXInXSBhcyBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pj4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHBhcmFtczogT2dDYXJkQ29udGVudCA9IHtcbiAgICBiYWRnZTogdG9PcHRpb25hbFN0cmluZyhiYWRnZT8uWydiYWRnZSddPy5bJ3RleHQnXSksXG4gICAgZGVzY3JpcHRpb246IHRvT3B0aW9uYWxTdHJpbmcoZGF0YVsnZGVzY3JpcHRpb24nXSkgPz8gJycsXG4gICAgc2lnbmF0dXJlOiB0b09wdGlvbmFsU3RyaW5nKGRhdGFbJ3NpZ25hdHVyZSddKSA/PyAnJyxcbiAgICB0aXRsZVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgaGFzaDogY29tcHV0ZU9nSGFzaChwYXJhbXMpLFxuICAgIHBhcmFtcyxcbiAgICBzbHVnOiBnZXRPZ0ltYWdlUGFnZVNsdWcoZGF0YSwgZmlsZVBhdGgsIGNvbnRlbnREb2NzRGlyZWN0b3J5KVxuICB9O1xufVxuXG5mdW5jdGlvbiB0b09wdGlvbmFsU3RyaW5nKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2Fsa0RpcmVjdG9yeShkaXJlY3Rvcnk6IHN0cmluZywgY29udGVudERvY3NEaXJlY3Rvcnk6IHN0cmluZywgcGFnZXM6IFBhZ2VFbnRyeVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGVudHJpZXMgPSBhd2FpdCByZWFkZGlyKGRpcmVjdG9yeSwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IGAke2RpcmVjdG9yeX0vJHtlbnRyeS5uYW1lfWA7XG4gICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGF3YWl0IHdhbGtEaXJlY3RvcnkoZnVsbFBhdGgsIGNvbnRlbnREb2NzRGlyZWN0b3J5LCBwYWdlcyk7XG4gICAgfSBlbHNlIGlmIChlbnRyeS5uYW1lLmVuZHNXaXRoKCcubWQnKSB8fCBlbnRyeS5uYW1lLmVuZHNXaXRoKCcubWR4JykpIHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCBwYXJzZVBhZ2UoZnVsbFBhdGgsIGNvbnRlbnREb2NzRGlyZWN0b3J5KTtcbiAgICAgIGlmIChwYWdlKSB7XG4gICAgICAgIHBhZ2VzLnB1c2gocGFnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxrQkFBa0I7QUFDM0IsU0FBUyxrQkFBa0I7QUFDM0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsZUFBZTtBQUN4QixTQUFTLFNBQVMsaUJBQWlCO0FBSW5DLFNBQVMsMEJBQTBCO0FBQ25DO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUF5RFAsTUFBTSxjQUFjO0FBQ3BCLE1BQU0sd0JBQXdCO0FBQzlCLE1BQU0sa0JBQWtCO0FBTXhCLE1BQU0sdUJBQXVCO0FBVTdCLGVBQXNCLGlCQUFpQixTQUFnRDtBQUNyRixRQUFNLEVBQUUsV0FBVyxzQkFBc0IsYUFBYSxnQkFBZ0IsZ0JBQWdCLElBQUk7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
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvb2ctaW1hZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBHZW5lcmF0ZXMgYW4gT3BlbiBHcmFwaCBjYXJkIGZvciBldmVyeSBkb2N1bWVudGF0aW9uIHBhZ2UsIHJldXNpbmcgdGhlIGNhcmRzIHdob3NlIGlucHV0cyBkaWQgbm90IGNoYW5nZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZvbnQgfSBmcm9tICdzYXRvcmknO1xuXG5pbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgbWtkaXIsXG4gIHJlYWRkaXIsXG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBkaXJuYW1lIH0gZnJvbSAnbm9kZTpwYXRoL3Bvc2l4JztcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlWWFtbCB9IGZyb20gJ3lhbWwnO1xuXG5pbXBvcnQgdHlwZSB7IE9nQ2FyZENvbnRlbnQgfSBmcm9tICcuL29nLWltYWdlLnRzJztcblxuaW1wb3J0IHsgZ2V0T2dJbWFnZVBhZ2VTbHVnIH0gZnJvbSAnLi9vZy1pbWFnZS1wYWdlLnRzJztcbmltcG9ydCB7XG4gIGNvbXB1dGVPZ0hhc2gsXG4gIGxvYWRGb250cyxcbiAgbG9hZExvZ29EYXRhVXJpLFxuICByZW5kZXJPZ0ltYWdlXG59IGZyb20gJy4vb2ctaW1hZ2UudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBnZW5lcmF0ZU9nSW1hZ2VzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZU9nSW1hZ2VzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGV2ZXJ5IGNhcmQncyBmb290ZXIgY2Fycmllcywgbm9ybWFsbHkgdGhlIHBhY2thZ2UncyBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmRUZXh0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudGF0aW9uIGNvbnRlbnQgcm9vdCwgbm9ybWFsbHkgYDxkb2NzPi9zcmMvY29udGVudC9kb2NzYC4gRXZlcnkgYC5tZGAgLyBgLm1keGAgcGFnZSB1bmRlciBpdCB3aXRoIGFcbiAgICogYHRpdGxlYCBnZXRzIGEgY2FyZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnREb2NzRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBTVkcgbG9nbyBkcmF3biBvbiBldmVyeSBjYXJkLiBBIG1pc3NpbmcgZmlsZSByZW5kZXJzIHRoZSBjYXJkcyB3aXRob3V0IG9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGZhdmljb25QYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgaG9sZGluZyB0aGUgZm9udHMgdGhlIGNhcmRzIGFyZSByZW5kZXJlZCB3aXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9udHNEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB0aGUgY2FyZHMgYXJlIHdyaXR0ZW4gdG8sIG5vcm1hbGx5IGA8ZG9jcz4vcHVibGljL29nYCwgc2VydmVkIGF0IGA8YmFzZT4vb2cvPHNsdWc+LnBuZ2AuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXREaXJlY3Rvcnk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENhY2hlTWFuaWZlc3Qge1xuICAvLyBFYWNoIHBhZ2UncyBjb250ZW50IGhhc2gsIGJ5IHNsdWcuXG4gIHJlYWRvbmx5IGNhcmRzOiBDYXJkSGFzaGVzO1xuICAvLyBUaGUgaGFzaCBvZiB0aGUgbG9nbyBldmVyeSBjYXJkIGNhcnJpZXMuIFRoZSBwYWdlIGhhc2hlcyBjYW5ub3Qgc2VlIGl0LCBzbyBhIGRpZmZlcmVudCBsb2dvIGRyb3BzIHRoZW0gYWxsLlxuICByZWFkb25seSBsb2dvSGFzaDogc3RyaW5nO1xufVxuXG50eXBlIENhcmRIYXNoZXMgPSBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuXG5pbnRlcmZhY2UgR2VuZXJhdGVJbWFnZXNXaXRoUG9vbE9wdGlvbnMge1xuICByZWFkb25seSBicmFuZFRleHQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY2FyZHM6IENhcmRIYXNoZXM7XG4gIHJlYWRvbmx5IGNoYW5nZWRQYWdlczogUGFnZUVudHJ5W107XG4gIHJlYWRvbmx5IGZvbnRzOiBGb250W107XG4gIHJlYWRvbmx5IGxvZ29EYXRhVXJpOiBudWxsIHwgc3RyaW5nO1xuICByZWFkb25seSBvdXRwdXREaXJlY3Rvcnk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhZ2VFbnRyeSB7XG4gIHJlYWRvbmx5IGhhc2g6IHN0cmluZztcbiAgcmVhZG9ubHkgcGFyYW1zOiBPZ0NhcmRDb250ZW50O1xuICByZWFkb25seSBzbHVnOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPTkNVUlJFTkNZID0gMTA7XG5jb25zdCBQUk9HUkVTU19MT0dfSU5URVJWQUwgPSAxMDA7XG5jb25zdCBNQU5JRkVTVF9JTkRFTlQgPSAyO1xuXG4vLyBGcm9udG1hdHRlciBpcyBwYXJzZWQgaGVyZSByYXRoZXIgdGhhbiB3aXRoIGBncmF5LW1hdHRlcmAuIEl0cyBgbGliL2VuZ2luZXMuanNgIGJpbmRzIGpzLXlhbWwnc1xuLy8gYHNhZmVMb2FkYC9gc2FmZUR1bXBgIGF0IE1PRFVMRS1MT0FEIHRpbWUsIGFuZCBib3RoIHdlcmUgcmVtb3ZlZCBpbiBqcy15YW1sIHY0IOKAlCBzbyBtZXJlbHlcbi8vIElNUE9SVElORyBgZ3JheS1tYXR0ZXJgIHRocm93cyBgQ2Fubm90IHJlYWQgcHJvcGVydGllcyBvZiB1bmRlZmluZWQgKHJlYWRpbmcgJ2JpbmQnKWAsIGJlZm9yZSBhblxuLy8gYGVuZ2luZXNgIG9wdGlvbiBjb3VsZCBvdmVycmlkZSB0aGUgZGVmYXVsdC4gT25seSB0aGUgZnJvbnRtYXR0ZXIgb2JqZWN0IGlzIG5lZWRlZCBoZXJlLlxuY29uc3QgRlJPTlRfTUFUVEVSX1JFR19FWFAgPSAvXi0tLVxccj9cXG4oPzxGcm9udE1hdHRlcj5bXFxzXFxTXSo/KVxccj9cXG4tLS0oPzpcXHI/XFxufCQpLztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIE9wZW4gR3JhcGggY2FyZHMuXG4gKlxuICogQSBjYXJkIGlzIHJlLXJlbmRlcmVkIG9ubHkgd2hlbiBpdHMgdGl0bGUsIGRlc2NyaXB0aW9uLCBzaWduYXR1cmUgb3IgYmFkZ2UgY2hhbmdlZCwgdHJhY2tlZCBieSBhIGhhc2ggbWFuaWZlc3RcbiAqIGJlc2lkZSB0aGUgY2FyZHMuIEEgZGlmZmVyZW50IGxvZ28gZmlsZSByZS1yZW5kZXJzIGV2ZXJ5IGNhcmQuIE1pc3NpbmcgY29udGVudCBvciBmb250cyBza2lwIHRoZSBzdGVwIHdpdGggYSB3YXJuaW5nIHJhdGhlciB0aGFuIGZhaWxpbmcgdGhlIGJ1aWxkLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZU9nSW1hZ2VzKG9wdGlvbnM6IEdlbmVyYXRlT2dJbWFnZXNQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBicmFuZFRleHQsIGNvbnRlbnREb2NzRGlyZWN0b3J5LCBmYXZpY29uUGF0aCwgZm9udHNEaXJlY3RvcnksIG91dHB1dERpcmVjdG9yeSB9ID0gb3B0aW9ucztcbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gYCR7b3V0cHV0RGlyZWN0b3J5fS8uY2FjaGUtbWFuaWZlc3QuanNvbmA7XG5cbiAgaWYgKCFleGlzdHNTeW5jKGNvbnRlbnREb2NzRGlyZWN0b3J5KSkge1xuICAgIGNvbnNvbGUud2FybihgT0cgaW1hZ2VzOiBjb250ZW50IGRpciBub3QgZm91bmQgKCR7Y29udGVudERvY3NEaXJlY3Rvcnl9KTsgc2tpcHBpbmcuYCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gTG9hZCBmb250cyBmaXJzdCDigJQgc2F0b3JpIGNhbm5vdCByZW5kZXIgd2l0aG91dCB0aGVtLlxuICBjb25zdCBmb250cyA9IGF3YWl0IGxvYWRGb250cyhmb250c0RpcmVjdG9yeSk7XG4gIGlmICghZm9udHMpIHtcbiAgICBjb25zb2xlLndhcm4oYE9HIGltYWdlczogbm8gZm9udHMgYXZhaWxhYmxlIGluICR7Zm9udHNEaXJlY3Rvcnl9OyBza2lwcGluZyBPRyBpbWFnZSBnZW5lcmF0aW9uLmApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHBhZ2VzOiBQYWdlRW50cnlbXSA9IFtdO1xuICBhd2FpdCB3YWxrRGlyZWN0b3J5KGNvbnRlbnREb2NzRGlyZWN0b3J5LCBjb250ZW50RG9jc0RpcmVjdG9yeSwgcGFnZXMpO1xuICBjb25zb2xlLndhcm4oYE9HIGltYWdlczogZm91bmQgJHtTdHJpbmcocGFnZXMubGVuZ3RoKX0gcGFnZXNgKTtcblxuICBjb25zdCBsb2dvSGFzaCA9IGF3YWl0IGNvbXB1dGVMb2dvSGFzaChmYXZpY29uUGF0aCk7XG4gIGNvbnN0IG1hbmlmZXN0ID0gYXdhaXQgbG9hZENhY2hlTWFuaWZlc3QobWFuaWZlc3RQYXRoKTtcbiAgY29uc3QgY2FyZHMgPSBtYW5pZmVzdD8ubG9nb0hhc2ggPT09IGxvZ29IYXNoID8geyAuLi5tYW5pZmVzdC5jYXJkcyB9IDoge307XG4gIGNvbnN0IGNoYW5nZWRQYWdlcyA9IHBhZ2VzLmZpbHRlcigocGFnZSkgPT4gY2FyZHNbcGFnZS5zbHVnXSAhPT0gcGFnZS5oYXNoKTtcbiAgY29uc29sZS53YXJuKGBPRyBpbWFnZXM6ICR7U3RyaW5nKGNoYW5nZWRQYWdlcy5sZW5ndGgpfSBjaGFuZ2VkIC8gJHtTdHJpbmcocGFnZXMubGVuZ3RoKX0gdG90YWxgKTtcblxuICBpZiAoY2hhbmdlZFBhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgIGNvbnNvbGUud2FybignQWxsIE9HIGltYWdlcyB1cCB0byBkYXRlLicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFJhc3Rlcml6ZSB0aGUgc2l0ZSBsb2dvIG9uY2UgKHNoYXJlZCBhY3Jvc3MgZXZlcnkgY2FyZCk7IGRlZ3JhZGUgZ3JhY2VmdWxseSBpZiBhYnNlbnQuXG4gIGNvbnN0IGxvZ29EYXRhVXJpID0gYXdhaXQgbG9hZExvZ29EYXRhVXJpKGZhdmljb25QYXRoKTtcbiAgaWYgKCFsb2dvRGF0YVVyaSkge1xuICAgIGNvbnNvbGUud2FybihgT0cgaW1hZ2VzOiBmYXZpY29uIG5vdCBmb3VuZCAoJHtmYXZpY29uUGF0aH0pOyByZW5kZXJpbmcgY2FyZHMgd2l0aG91dCBhIGxvZ28uYCk7XG4gIH1cblxuICBhd2FpdCBnZW5lcmF0ZUltYWdlc1dpdGhQb29sKHsgYnJhbmRUZXh0LCBjYXJkcywgY2hhbmdlZFBhZ2VzLCBmb250cywgbG9nb0RhdGFVcmksIG91dHB1dERpcmVjdG9yeSB9KTtcblxuICBjb25zdCBuZXdNYW5pZmVzdDogQ2FjaGVNYW5pZmVzdCA9IHsgY2FyZHMsIGxvZ29IYXNoIH07XG4gIGF3YWl0IG1rZGlyKGRpcm5hbWUobWFuaWZlc3RQYXRoKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGF3YWl0IHdyaXRlRmlsZShtYW5pZmVzdFBhdGgsIEpTT04uc3RyaW5naWZ5KG5ld01hbmlmZXN0LCBudWxsLCBNQU5JRkVTVF9JTkRFTlQpKTtcbiAgY29uc29sZS53YXJuKGBPRyBpbWFnZXM6IGRvbmUuIEdlbmVyYXRlZCAke1N0cmluZyhjaGFuZ2VkUGFnZXMubGVuZ3RoKX0gaW1hZ2VzLmApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb21wdXRlTG9nb0hhc2goZmF2aWNvblBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBleGlzdHNTeW5jKGZhdmljb25QYXRoKSA/IGNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShhd2FpdCByZWFkRmlsZShmYXZpY29uUGF0aCkpLmRpZ2VzdCgnaGV4JykgOiAnJztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVJbWFnZXNXaXRoUG9vbChvcHRpb25zOiBHZW5lcmF0ZUltYWdlc1dpdGhQb29sT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IGJyYW5kVGV4dCwgY2FyZHMsIGNoYW5nZWRQYWdlcywgZm9udHMsIGxvZ29EYXRhVXJpLCBvdXRwdXREaXJlY3RvcnkgfSA9IG9wdGlvbnM7XG4gIGxldCBjb21wbGV0ZWQgPSAwO1xuICBsZXQgaW5kZXggPSAwO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NOZXh0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAobGV0IHBhZ2UgPSBjaGFuZ2VkUGFnZXNbaW5kZXgrK107IHBhZ2UgIT09IHVuZGVmaW5lZDsgcGFnZSA9IGNoYW5nZWRQYWdlc1tpbmRleCsrXSkge1xuICAgICAgY29uc3Qgb3V0cHV0UGF0aCA9IGAke291dHB1dERpcmVjdG9yeX0vJHtwYWdlLnNsdWd9LnBuZ2A7XG4gICAgICBhd2FpdCBta2RpcihkaXJuYW1lKG91dHB1dFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGF3YWl0IHdyaXRlRmlsZShvdXRwdXRQYXRoLCBhd2FpdCByZW5kZXJPZ0ltYWdlKHBhZ2UucGFyYW1zLCB7IGJyYW5kVGV4dCwgZm9udHMsIGxvZ29EYXRhVXJpIH0pKTtcbiAgICAgIGNhcmRzW3BhZ2Uuc2x1Z10gPSBwYWdlLmhhc2g7XG4gICAgICBjb21wbGV0ZWQrKztcbiAgICAgIGlmIChjb21wbGV0ZWQgJSBQUk9HUkVTU19MT0dfSU5URVJWQUwgPT09IDApIHtcbiAgICAgICAgY29uc29sZS53YXJuKGAgICR7U3RyaW5nKGNvbXBsZXRlZCl9LyR7U3RyaW5nKGNoYW5nZWRQYWdlcy5sZW5ndGgpfSBpbWFnZXMgZ2VuZXJhdGVkLi4uYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoQXJyYXkuZnJvbSh7IGxlbmd0aDogQ09OQ1VSUkVOQ1kgfSwgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHByb2Nlc3NOZXh0KCk7XG4gIH0pKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZENhY2hlTWFuaWZlc3QobWFuaWZlc3RQYXRoOiBzdHJpbmcpOiBQcm9taXNlPENhY2hlTWFuaWZlc3QgfCBudWxsPiB7XG4gIGlmICghZXhpc3RzU3luYyhtYW5pZmVzdFBhdGgpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQSBtYW5pZmVzdCB3cml0dGVuIGJlZm9yZSB0aGUgbG9nbyB3YXMgdHJhY2tlZCBpcyBhIGZsYXQgc2x1Zy10by1oYXNoIG1hcDogaXQgaGFzIG5vIGBsb2dvSGFzaGAsIHNvIGV2ZXJ5IGNhcmRcbiAgLy8gcmUtcmVuZGVycyBvbmNlLlxuICBjb25zdCBtYW5pZmVzdCA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUobWFuaWZlc3RQYXRoLCAndXRmLTgnKSkgYXMgUGFydGlhbDxDYWNoZU1hbmlmZXN0PjtcbiAgcmV0dXJuIHR5cGVvZiBtYW5pZmVzdC5sb2dvSGFzaCA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIG1hbmlmZXN0LmNhcmRzID09PSAnb2JqZWN0J1xuICAgID8geyBjYXJkczogbWFuaWZlc3QuY2FyZHMsIGxvZ29IYXNoOiBtYW5pZmVzdC5sb2dvSGFzaCB9XG4gICAgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBwYXJzZUZyb250TWF0dGVyKGNvbnRlbnQ6IHN0cmluZyk6IFBhcnRpYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgY29uc3QgZnJvbnRNYXR0ZXIgPSBGUk9OVF9NQVRURVJfUkVHX0VYUC5leGVjKGNvbnRlbnQpPy5ncm91cHM/LlsnRnJvbnRNYXR0ZXInXTtcbiAgcmV0dXJuIGZyb250TWF0dGVyID09PSB1bmRlZmluZWQgPyB7fSA6IChwYXJzZVlhbWwoZnJvbnRNYXR0ZXIpIGFzIG51bGwgfCBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+PikgPz8ge307XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhcnNlUGFnZShmaWxlUGF0aDogc3RyaW5nLCBjb250ZW50RG9jc0RpcmVjdG9yeTogc3RyaW5nKTogUHJvbWlzZTxudWxsIHwgUGFnZUVudHJ5PiB7XG4gIGNvbnN0IGRhdGEgPSBwYXJzZUZyb250TWF0dGVyKGF3YWl0IHJlYWRGaWxlKGZpbGVQYXRoLCAndXRmLTgnKSk7XG5cbiAgY29uc3QgdGl0bGUgPSB0b09wdGlvbmFsU3RyaW5nKGRhdGFbJ3RpdGxlJ10pO1xuICBpZiAoIXRpdGxlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBiYWRnZSA9IGRhdGFbJ3NpZGViYXInXSBhcyBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pj4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHBhcmFtczogT2dDYXJkQ29udGVudCA9IHtcbiAgICBiYWRnZTogdG9PcHRpb25hbFN0cmluZyhiYWRnZT8uWydiYWRnZSddPy5bJ3RleHQnXSksXG4gICAgZGVzY3JpcHRpb246IHRvT3B0aW9uYWxTdHJpbmcoZGF0YVsnZGVzY3JpcHRpb24nXSkgPz8gJycsXG4gICAgc2lnbmF0dXJlOiB0b09wdGlvbmFsU3RyaW5nKGRhdGFbJ3NpZ25hdHVyZSddKSA/PyAnJyxcbiAgICB0aXRsZVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgaGFzaDogY29tcHV0ZU9nSGFzaChwYXJhbXMpLFxuICAgIHBhcmFtcyxcbiAgICBzbHVnOiBnZXRPZ0ltYWdlUGFnZVNsdWcoZGF0YSwgZmlsZVBhdGgsIGNvbnRlbnREb2NzRGlyZWN0b3J5KVxuICB9O1xufVxuXG5mdW5jdGlvbiB0b09wdGlvbmFsU3RyaW5nKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2Fsa0RpcmVjdG9yeShkaXJlY3Rvcnk6IHN0cmluZywgY29udGVudERvY3NEaXJlY3Rvcnk6IHN0cmluZywgcGFnZXM6IFBhZ2VFbnRyeVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGVudHJpZXMgPSBhd2FpdCByZWFkZGlyKGRpcmVjdG9yeSwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IGAke2RpcmVjdG9yeX0vJHtlbnRyeS5uYW1lfWA7XG4gICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGF3YWl0IHdhbGtEaXJlY3RvcnkoZnVsbFBhdGgsIGNvbnRlbnREb2NzRGlyZWN0b3J5LCBwYWdlcyk7XG4gICAgfSBlbHNlIGlmIChlbnRyeS5uYW1lLmVuZHNXaXRoKCcubWQnKSB8fCBlbnRyeS5uYW1lLmVuZHNXaXRoKCcubWR4JykpIHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCBwYXJzZVBhZ2UoZnVsbFBhdGgsIGNvbnRlbnREb2NzRGlyZWN0b3J5KTtcbiAgICAgIGlmIChwYWdlKSB7XG4gICAgICAgIHBhZ2VzLnB1c2gocGFnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxrQkFBa0I7QUFDM0IsU0FBUyxrQkFBa0I7QUFDM0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsZUFBZTtBQUN4QixTQUFTLFNBQVMsaUJBQWlCO0FBSW5DLFNBQVMsMEJBQTBCO0FBQ25DO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUF5RFAsTUFBTSxjQUFjO0FBQ3BCLE1BQU0sd0JBQXdCO0FBQzlCLE1BQU0sa0JBQWtCO0FBTXhCLE1BQU0sdUJBQXVCO0FBVTdCLGVBQXNCLGlCQUFpQixTQUFnRDtBQUNyRixRQUFNLEVBQUUsV0FBVyxzQkFB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
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
GITHUB_ALERT_ASIDE_VARIANTS,
|
|
70
70
|
satteriGitHubAlerts
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2RvY3Mtc2l0ZS9zYXR0ZXJpLWdpdGh1Yi1hbGVydHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTXHUwMEU0dHRlcmkgbWRhc3QgcGx1Z2luIHRoYXQgdHVybnMgR2l0SHViIGFsZXJ0cyAoYD4gWyFOT1RFXWAgLi4uKSBpbnRvIFN0YXJsaWdodCBhc2lkZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCbG9ja3F1b3RlLFxuICBQYXJlbnRzLFxuICBUZXh0XG59IGZyb20gJ21kYXN0JztcbmltcG9ydCB0eXBlIHtcbiAgTWRhc3RQbHVnaW5EZWZpbml0aW9uLFxuICBNZGFzdFZpc2l0b3JDb250ZXh0XG59IGZyb20gJ3NhdHRlcmknO1xuXG4vKipcbiAqIFRoZSBTdGFybGlnaHQgYXNpZGUgdmFyaWFudCBlYWNoIEdpdEh1YiBhbGVydCB0eXBlIHJlbmRlcnMgYXMuXG4gKlxuICogU3RhcmxpZ2h0IGhhcyBmb3VyIHZhcmlhbnRzIGZvciBHaXRIdWIncyBmaXZlIHR5cGVzLCBzbyBgSU1QT1JUQU5UYCBhbmQgYFdBUk5JTkdgIHNoYXJlIGBjYXV0aW9uYCwgYW5kXG4gKiBgQ0FVVElPTmAgLSBHaXRIdWIncyBtb3N0IHNldmVyZSAtIHRha2VzIGBkYW5nZXJgLiBUaGlzIGlzIHRoZSBtYXBwaW5nIGBzdGFybGlnaHQtZ2l0aHViLWFsZXJ0c2AgdXNlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdJVEhVQl9BTEVSVF9BU0lERV9WQVJJQU5UUzogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2RvY3Mtc2l0ZS9zYXR0ZXJpLWdpdGh1Yi1hbGVydHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTXHUwMEU0dHRlcmkgbWRhc3QgcGx1Z2luIHRoYXQgdHVybnMgR2l0SHViIGFsZXJ0cyAoYD4gWyFOT1RFXWAgLi4uKSBpbnRvIFN0YXJsaWdodCBhc2lkZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCbG9ja3F1b3RlLFxuICBQYXJlbnRzLFxuICBUZXh0XG59IGZyb20gJ21kYXN0JztcbmltcG9ydCB0eXBlIHtcbiAgTWRhc3RQbHVnaW5EZWZpbml0aW9uLFxuICBNZGFzdFZpc2l0b3JDb250ZXh0XG59IGZyb20gJ3NhdHRlcmknO1xuXG4vKipcbiAqIFRoZSBTdGFybGlnaHQgYXNpZGUgdmFyaWFudCBlYWNoIEdpdEh1YiBhbGVydCB0eXBlIHJlbmRlcnMgYXMuXG4gKlxuICogU3RhcmxpZ2h0IGhhcyBmb3VyIHZhcmlhbnRzIGZvciBHaXRIdWIncyBmaXZlIHR5cGVzLCBzbyBgSU1QT1JUQU5UYCBhbmQgYFdBUk5JTkdgIHNoYXJlIGBjYXV0aW9uYCwgYW5kXG4gKiBgQ0FVVElPTmAgLSBHaXRIdWIncyBtb3N0IHNldmVyZSAtIHRha2VzIGBkYW5nZXJgLiBUaGlzIGlzIHRoZSBtYXBwaW5nIGBzdGFybGlnaHQtZ2l0aHViLWFsZXJ0c2AgdXNlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdJVEhVQl9BTEVSVF9BU0lERV9WQVJJQU5UUzogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcChbXG4gIFsnY2F1dGlvbicsICdkYW5nZXInXSxcbiAgWydpbXBvcnRhbnQnLCAnY2F1dGlvbiddLFxuICBbJ25vdGUnLCAnbm90ZSddLFxuICBbJ3RpcCcsICd0aXAnXSxcbiAgWyd3YXJuaW5nJywgJ2NhdXRpb24nXVxuXSk7XG5cbmNvbnN0IEFMRVJUX01BUktFUl9SRUdfRVhQID0gL15cXFshKD88VHlwZT5cXHcrKVxcXVtcXHJcXG5dKi87XG5cbmludGVyZmFjZSBBbGVydCB7XG4gIHJlYWRvbmx5IG1hcmtlckxlbmd0aDogbnVtYmVyO1xuICByZWFkb25seSBtYXJrZXJUZXh0OiBUZXh0O1xuICByZWFkb25seSB2YXJpYW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU1x1MDBFNHR0ZXJpIG1kYXN0IHBsdWdpbiB0aGF0IHR1cm5zIEdpdEh1YiBhbGVydHMgaW50byBTdGFybGlnaHQgYXNpZGVzLlxuICpcbiAqIFRoZSBndWlkZXMga2VlcCBHaXRIdWIncyBgPiBbIVRZUEVdYCBzeW50YXggYmVjYXVzZSBpdCBhbHNvIHJlbmRlcnMgb24gR2l0SHViLCB3aGVyZSBtb3N0IHBlb3BsZSByZWFkXG4gKiB0aGUgcmVwb3NpdG9yeS4gVGhlIHNpdGUgdXNlZCB0byByZWx5IG9uIGBzdGFybGlnaHQtZ2l0aHViLWFsZXJ0c2AgZm9yIHRoZSBjb252ZXJzaW9uLCBhbmQgb25cbiAqIFN0YXJsaWdodCBgMC40MmAgdGhhdCBwbHVnaW4gc2lsZW50bHkgZG9lcyBub3RoaW5nOiBpdCByZWdpc3RlcnMgaXRzZWxmIGluIGZyb250IG9mIGFuIG1kYXN0IHBsdWdpblxuICogTkFNRUQgYHN0YXJsaWdodC1hc2lkZXNgLCB3aGlsZSBTdGFybGlnaHQgbm93IHJlZ2lzdGVycyBpdHMgYXNpZGVzIGFzIGFuIHVubmFtZWQgZmFjdG9yeSwgc28gdGhlIGxvb2t1cFxuICogbWlzc2VzIGFuZCB0aGUgcGx1Z2luIHJldHVybnMgd2l0aG91dCBhIHdvcmQuIEV2ZXJ5IGFsZXJ0IHRoZW4gcmVuZGVyZWQgYXMgYSBwbGFpbiBibG9ja3F1b3RlIG9wZW5pbmdcbiAqIHdpdGggdGhlIGxpdGVyYWwgYFshV0FSTklOR11gLlxuICpcbiAqIFRoaXMgcGx1Z2luIGRvZXMgdGhlIHNhbWUgY29udmVyc2lvbiBmcm9tIHRoZSBzaXRlJ3Mgb3duIGBtZGFzdFBsdWdpbnNgLCB3aGljaCBydW4gYmVmb3JlIGV2ZXJ5IHBsdWdpblxuICogU3RhcmxpZ2h0IGFwcGVuZHM6IGl0IHJlcGxhY2VzIHRoZSBibG9ja3F1b3RlIHdpdGggYSBgY29udGFpbmVyRGlyZWN0aXZlYCBuYW1lZCBhZnRlciB0aGUgYXNpZGUgdmFyaWFudCxcbiAqIGV4YWN0bHkgd2hhdCBgOjo6Y2F1dGlvbmAgcGFyc2VzIHRvLCBhbmQgU3RhcmxpZ2h0J3Mgb3duIGFzaWRlcyBwbHVnaW4gdGhlbiByZW5kZXJzIGl0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBwbHVnaW4gZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhdHRlcmlHaXRIdWJBbGVydHMoKTogTWRhc3RQbHVnaW5EZWZpbml0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICBibG9ja3F1b3RlKG5vZGUsIGNvbnRleHQ6IE1kYXN0VmlzaXRvckNvbnRleHQpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGFsZXJ0ID0gcGFyc2VBbGVydChub2RlKTtcbiAgICAgIGlmIChhbGVydCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEdpdEh1YiBkb2VzIG5vdCBuZXN0IGFsZXJ0cywgc28gbmVpdGhlciBkbyB3ZTogYW4gYWxlcnQgaW5zaWRlIGFuIGFsZXJ0IHN0YXlzIGEgYmxvY2txdW90ZS5cbiAgICAgIGlmIChoYXNBbGVydEFuY2VzdG9yKG5vZGUsIGNvbnRleHQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5zZXRQcm9wZXJ0eShhbGVydC5tYXJrZXJUZXh0LCAndmFsdWUnLCBhbGVydC5tYXJrZXJUZXh0LnZhbHVlLnNsaWNlKGFsZXJ0Lm1hcmtlckxlbmd0aCkudHJpbVN0YXJ0KCkpO1xuICAgICAgY29udGV4dC5yZXBsYWNlTm9kZShub2RlLCB7XG4gICAgICAgIGNoaWxkcmVuOiBbLi4ubm9kZS5jaGlsZHJlbl0sXG4gICAgICAgIG5hbWU6IGFsZXJ0LnZhcmlhbnQsXG4gICAgICAgIHR5cGU6ICdjb250YWluZXJEaXJlY3RpdmUnXG4gICAgICB9KTtcbiAgICB9LFxuICAgIG5hbWU6ICdnaXRodWItYWxlcnRzJ1xuICB9O1xufVxuXG5mdW5jdGlvbiBoYXNBbGVydEFuY2VzdG9yKG5vZGU6IEJsb2NrcXVvdGUsIGNvbnRleHQ6IE1kYXN0VmlzaXRvckNvbnRleHQpOiBib29sZWFuIHtcbiAgbGV0IGFuY2VzdG9yOiBQYXJlbnRzIHwgdW5kZWZpbmVkID0gY29udGV4dC5wYXJlbnQobm9kZSk7XG4gIHdoaWxlIChhbmNlc3Rvcikge1xuICAgIGlmIChhbmNlc3Rvci50eXBlID09PSAnYmxvY2txdW90ZScgJiYgcGFyc2VBbGVydChhbmNlc3RvcikgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGFuY2VzdG9yID0gY29udGV4dC5wYXJlbnQoYW5jZXN0b3IpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwYXJzZUFsZXJ0KG5vZGU6IEJsb2NrcXVvdGUpOiBBbGVydCB8IG51bGwge1xuICBjb25zdCBbZmlyc3RDaGlsZF0gPSBub2RlLmNoaWxkcmVuO1xuICBpZiAoZmlyc3RDaGlsZD8udHlwZSAhPT0gJ3BhcmFncmFwaCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IFtmaXJzdEdyYW5kQ2hpbGRdID0gZmlyc3RDaGlsZC5jaGlsZHJlbjtcbiAgaWYgKGZpcnN0R3JhbmRDaGlsZD8udHlwZSAhPT0gJ3RleHQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtYXRjaCA9IEFMRVJUX01BUktFUl9SRUdfRVhQLmV4ZWMoZmlyc3RHcmFuZENoaWxkLnZhbHVlKTtcbiAgY29uc3QgdHlwZSA9IG1hdGNoPy5ncm91cHM/LlsnVHlwZSddPy50b0xvd2VyQ2FzZSgpO1xuICBpZiAobWF0Y2ggPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB2YXJpYW50ID0gR0lUSFVCX0FMRVJUX0FTSURFX1ZBUklBTlRTLmdldCh0eXBlKTtcbiAgaWYgKHZhcmlhbnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtYXJrZXJMZW5ndGg6IG1hdGNoWzBdLmxlbmd0aCxcbiAgICBtYXJrZXJUZXh0OiBmaXJzdEdyYW5kQ2hpbGQsXG4gICAgdmFyaWFudFxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFzQk8sTUFBTSw4QkFBMkQsb0JBQUksSUFBSTtBQUFBLEVBQzlFLENBQUMsV0FBVyxRQUFRO0FBQUEsRUFDcEIsQ0FBQyxhQUFhLFNBQVM7QUFBQSxFQUN2QixDQUFDLFFBQVEsTUFBTTtBQUFBLEVBQ2YsQ0FBQyxPQUFPLEtBQUs7QUFBQSxFQUNiLENBQUMsV0FBVyxTQUFTO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLHVCQUF1QjtBQXdCdEIsU0FBUyxzQkFBNkM7QUFDM0QsU0FBTztBQUFBLElBQ0wsV0FBVyxNQUFNLFNBQW9DO0FBQ25ELFlBQU0sUUFBUSxXQUFXLElBQUk7QUFDN0IsVUFBSSxVQUFVLE1BQU07QUFDbEI7QUFBQSxNQUNGO0FBR0EsVUFBSSxpQkFBaUIsTUFBTSxPQUFPLEdBQUc7QUFDbkM7QUFBQSxNQUNGO0FBRUEsY0FBUSxZQUFZLE1BQU0sWUFBWSxTQUFTLE1BQU0sV0FBVyxNQUFNLE1BQU0sTUFBTSxZQUFZLEVBQUUsVUFBVSxDQUFDO0FBQzNHLGNBQVEsWUFBWSxNQUFNO0FBQUEsUUFDeEIsVUFBVSxDQUFDLEdBQUcsS0FBSyxRQUFRO0FBQUEsUUFDM0IsTUFBTSxNQUFNO0FBQUEsUUFDWixNQUFNO0FBQUEsTUFDUixDQUFDO0FBQUEsSUFDSDtBQUFBLElBQ0EsTUFBTTtBQUFBLEVBQ1I7QUFDRjtBQUVBLFNBQVMsaUJBQWlCLE1BQWtCLFNBQXVDO0FBQ2pGLE1BQUksV0FBZ0MsUUFBUSxPQUFPLElBQUk7QUFDdkQsU0FBTyxVQUFVO0FBQ2YsUUFBSSxTQUFTLFNBQVMsZ0JBQWdCLFdBQVcsUUFBUSxNQUFNLE1BQU07QUFDbkUsYUFBTztBQUFBLElBQ1Q7QUFFQSxlQUFXLFFBQVEsT0FBTyxRQUFRO0FBQUEsRUFDcEM7QUFFQSxTQUFPO0FBQ1Q7QUFFQSxTQUFTLFdBQVcsTUFBZ0M7QUFDbEQsUUFBTSxDQUFDLFVBQVUsSUFBSSxLQUFLO0FBQzFCLE1BQUksWUFBWSxTQUFTLGFBQWE7QUFDcEMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLENBQUMsZUFBZSxJQUFJLFdBQVc7QUFDckMsTUFBSSxpQkFBaUIsU0FBUyxRQUFRO0FBQ3BDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxRQUFRLHFCQUFxQixLQUFLLGdCQUFnQixLQUFLO0FBQzdELFFBQU0sT0FBTyxPQUFPLFNBQVMsTUFBTSxHQUFHLFlBQVk7QUFDbEQsTUFBSSxVQUFVLFFBQVEsU0FBUyxRQUFXO0FBQ3hDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxVQUFVLDRCQUE0QixJQUFJLElBQUk7QUFDcEQsTUFBSSxZQUFZLFFBQVc7QUFDekIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQUEsSUFDTCxjQUFjLE1BQU0sQ0FBQyxFQUFFO0FBQUEsSUFDdkIsWUFBWTtBQUFBLElBQ1o7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -12,11 +12,11 @@ export interface UnrenderedAlert {
|
|
|
12
12
|
/**
|
|
13
13
|
* The alert marker as it appears on the page, e.g. `[!WARNING]`.
|
|
14
14
|
*/
|
|
15
|
-
marker: string;
|
|
15
|
+
readonly marker: string;
|
|
16
16
|
/**
|
|
17
17
|
* The page's path relative to the output root.
|
|
18
18
|
*/
|
|
19
|
-
relativePath: string;
|
|
19
|
+
readonly relativePath: string;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Collects every GitHub alert that rendered as a plain blockquote rather than as a Starlight aside.
|
|
@@ -23,4 +23,4 @@ export {
|
|
|
23
23
|
collectUnrenderedAlerts,
|
|
24
24
|
formatUnrenderedAlerts
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2RvY3Mtc2l0ZS91bnJlbmRlcmVkLWFsZXJ0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEZpbmRzIEdpdEh1YiBhbGVydHMgdGhhdCByZWFjaGVkIHRoZSBidWlsdCBkb2N1bWVudGF0aW9uIHNpdGUgYXMgcGxhaW4gYmxvY2txdW90ZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBEb2N1bWVudGF0aW9uUGFnZSB9IGZyb20gJy4vbGluay1jaGVjay50cyc7XG5cbi8qKlxuICogQSBHaXRIdWIgYWxlcnQgdGhhdCByZW5kZXJlZCBhcyBhIHBsYWluIGJsb2NrcXVvdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5yZW5kZXJlZEFsZXJ0IHtcbiAgLyoqXG4gICAqIFRoZSBhbGVydCBtYXJrZXIgYXMgaXQgYXBwZWFycyBvbiB0aGUgcGFnZSwgZS5nLiBgWyFXQVJOSU5HXWAuXG4gICAqL1xuICByZWFkb25seSBtYXJrZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhZ2UncyBwYXRoIHJlbGF0aXZlIHRvIHRoZSBvdXRwdXQgcm9vdC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgYSBibG9ja3F1b3RlIHdob3NlIGZpcnN0IHBhcmFncmFwaCBvcGVucyB3aXRoIGEgR2l0SHViIGFsZXJ0IG1hcmtlciAtIHRoZSBleGFjdCBzaGFwZSBhbiBhbGVydFxuICogdGFrZXMgd2hlbiBub3RoaW5nIGNvbnZlcnRlZCBpdC4gQSBtYXJrZXIgcXVvdGVkIGluIHByb3NlIG9yIGluc2lkZSBgPGNvZGU+YCBkb2VzIG5vdCBtYXRjaCwgYmVjYXVzZSBpdFxuICogZG9lcyBub3Qgb3BlbiBhIGJsb2NrcXVvdGUncyBmaXJzdCBwYXJhZ3JhcGguXG4gKi9cbmNvbnN0IFVOUkVOREVSRURfQUxFUlRfUkVHX0VYUCA9IC88YmxvY2txdW90ZVtePl0qPlxccyo8cFtePl0qPlxccypcXFshKD86Y2F1dGlvbnxpbXBvcnRhbnR8bm90ZXx0aXB8d2FybmluZylcXF0vZ2l1O1xuXG4vKipcbiAqIENvbGxlY3RzIGV2ZXJ5IEdpdEh1YiBhbGVydCB0aGF0IHJlbmRlcmVkIGFzIGEgcGxhaW4gYmxvY2txdW90ZSByYXRoZXIgdGhhbiBhcyBhIFN0YXJsaWdodCBhc2lkZS5cbiAqXG4gKiBUaGUgY29udmVyc2lvbiBpcyBhIG1hcmtkb3duLXByb2Nlc3NvciBwbHVnaW4sIGFuZCB3aGVuIGEgcHJvY2Vzc29yIHN3aXRjaCBsZWF2ZXMgaXQgdW5yZWdpc3RlcmVkIG5vdGhpbmdcbiAqIGZhaWxzOiB0aGUgc2l0ZSBidWlsZHMgYW5kIGV2ZXJ5IGFsZXJ0IHNob3dzIGl0cyBsaXRlcmFsIGBbIVRZUEVdYCBtYXJrZXIuIFNjYW5uaW5nIHRoZSBvdXRwdXQgaXMgdGhlXG4gKiBjaGVjayB0aGF0IGhvbGRzIHdoaWNoZXZlciBwbHVnaW4gcGVyZm9ybXMgdGhlIGNvbnZlcnNpb24uXG4gKlxuICogQHBhcmFtIHBhZ2VzIC0gVGhlIGJ1aWx0IHBhZ2VzLlxuICogQHJldHVybnMgVGhlIHVucmVuZGVyZWQgYWxlcnRzLCBpbiBwYWdlIG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29sbGVjdFVucmVuZGVyZWRBbGVydHMocGFnZXM6IHJlYWRvbmx5IERvY3VtZW50YXRpb25QYWdlW10pOiBVbnJlbmRlcmVkQWxlcnRbXSB7XG4gIGNvbnN0IHVucmVuZGVyZWRBbGVydHM6IFVucmVuZGVyZWRBbGVydFtdID0gW107XG4gIGZvciAoY29uc3QgcGFnZSBvZiBwYWdlcykge1xuICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgcGFnZS5odG1sLm1hdGNoQWxsKFVOUkVOREVSRURfQUxFUlRfUkVHX0VYUCkpIHtcbiAgICAgIHVucmVuZGVyZWRBbGVydHMucHVzaCh7XG4gICAgICAgIG1hcmtlcjogbWF0Y2hbMF0uc2xpY2UobWF0Y2hbMF0uaW5kZXhPZignWyEnKSksXG4gICAgICAgIHJlbGF0aXZlUGF0aDogcGFnZS5yZWxhdGl2ZVBhdGhcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bnJlbmRlcmVkQWxlcnRzO1xufVxuXG4vKipcbiAqIEZvcm1hdHMgdW5yZW5kZXJlZCBhbGVydHMgYXMgb25lIGxpbmUgZWFjaC5cbiAqXG4gKiBAcGFyYW0gdW5yZW5kZXJlZEFsZXJ0cyAtIFRoZSB1bnJlbmRlcmVkIGFsZXJ0cy5cbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgcmVwb3J0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VW5yZW5kZXJlZEFsZXJ0cyh1bnJlbmRlcmVkQWxlcnRzOiByZWFkb25seSBVbnJlbmRlcmVkQWxlcnRbXSk6IHN0cmluZyB7XG4gIHJldHVybiB1bnJlbmRlcmVkQWxlcnRzLm1hcCgoYWxlcnQpID0+IGAgICR7YWxlcnQucmVsYXRpdmVQYXRofTogJHthbGVydC5tYXJrZXJ9YCkuam9pbignXFxuJyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQTRCQSxNQUFNLDJCQUEyQjtBQVkxQixTQUFTLHdCQUF3QixPQUF3RDtBQUM5RixRQUFNLG1CQUFzQyxDQUFDO0FBQzdDLGFBQVcsUUFBUSxPQUFPO0FBQ3hCLGVBQVcsU0FBUyxLQUFLLEtBQUssU0FBUyx3QkFBd0IsR0FBRztBQUNoRSx1QkFBaUIsS0FBSztBQUFBLFFBQ3BCLFFBQVEsTUFBTSxDQUFDLEVBQUUsTUFBTSxNQUFNLENBQUMsRUFBRSxRQUFRLElBQUksQ0FBQztBQUFBLFFBQzdDLGNBQWMsS0FBSztBQUFBLE1BQ3JCLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQVFPLFNBQVMsdUJBQXVCLGtCQUFzRDtBQUMzRixTQUFPLGlCQUFpQixJQUFJLENBQUMsVUFBVSxLQUFLLE1BQU0sWUFBWSxLQUFLLE1BQU0sTUFBTSxFQUFFLEVBQUUsS0FBSyxJQUFJO0FBQzlGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -33,11 +33,11 @@ export interface NoRestrictedImportPatternEntry {
|
|
|
33
33
|
/**
|
|
34
34
|
* The glob group of import specifiers to ban.
|
|
35
35
|
*/
|
|
36
|
-
group: string[];
|
|
36
|
+
readonly group: string[];
|
|
37
37
|
/**
|
|
38
38
|
* Human-readable message shown when an import matches the group.
|
|
39
39
|
*/
|
|
40
|
-
message: string;
|
|
40
|
+
readonly message: string;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Builds the `no-restricted-imports` pattern entries banning a package's code from importing the given packages,
|
|
@@ -12,4 +12,4 @@ function getPackageBoundaryNoRestrictedImportPatterns(params) {
|
|
|
12
12
|
export {
|
|
13
13
|
getPackageBoundaryNoRestrictedImportPatterns
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LWFnbm9zdGljLWNvcmUtYm91bmRhcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBgbm8tcmVzdHJpY3RlZC1pbXBvcnRzYCBwYXR0ZXJuIGVudHJpZXMgdGhhdCBlbmZvcmNlIHRoZSBkZXBlbmRlbmN5IGFycm93cyBiZXR3ZWVuIHRoZSBwYWNrYWdlcyBvZiBhIHdvcmtzcGFjZTpcbiAqIHdoaWNoIHBhY2thZ2VzIGEgcGFja2FnZSdzIGNvZGUgbWF5IGltcG9ydCwgYnkgbmFtaW5nIHRoZSBvbmVzIGl0IG1heSBub3QuXG4gKlxuICogRXhwb3J0ZWQgYXMgc3RhbmRhbG9uZSBidWlsZGVycyBzbyB0aGUgcGF0dGVybnMgY2FuIGJlIHVuaXQtdGVzdGVkIGluZGVwZW5kZW50bHkgb2YgdGhlIGxhcmdlciBkZWNsYXJhdGl2ZVxuICogY29uZmlnLCBhbmQgc28gdGhlIG93bmluZyBwcm9qZWN0IGNhbiBhcHBseSB0aGVtIHNjb3BlZCB0byBlYWNoIHBhY2thZ2UncyBzb3VyY2UgZmlsZXMuXG4gKlxuICogV29ya3NwYWNlIGBwYWNrYWdlLmpzb25gIGRlcGVuZGVuY2llcyBlbmZvcmNlIHRoZSBzYW1lIGJvdW5kYXJ5IGluIHRoZSBlbmQsIGJlY2F1c2UgYW4gaW1wb3J0IG9mIGFuIHVuZGVjbGFyZWRcbiAqIHBhY2thZ2UgZmFpbHMgdG8gcmVzb2x2ZSBvbmNlIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZCBvbiBpdHMgb3duLiBJbnNpZGUgdGhlIHdvcmtzcGFjZSBldmVyeSBwYWNrYWdlIGlzXG4gKiByZXNvbHZhYmxlIGZyb20gZXZlcnkgb3RoZXIsIHNvIHdpdGhvdXQgdGhpcyBydWxlIGEgd3JvbmcgYXJyb3cgd291bGQgc3VyZmFjZSBvbmx5IGFmdGVyIHB1Ymxpc2hpbmcuXG4gKi9cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZ2V0UGFja2FnZUJvdW5kYXJ5Tm9SZXN0cmljdGVkSW1wb3J0UGF0dGVybnN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFBhY2thZ2VCb3VuZGFyeU5vUmVzdHJpY3RlZEltcG9ydFBhdHRlcm5zUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlcyB0aGUgcGFja2FnZSdzIGNvZGUgbXVzdCBub3QgaW1wb3J0LCBieSBwYWNrYWdlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBmb3JiaWRkZW5QYWNrYWdlTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZSB0aGUgcGF0dGVybnMgYXBwbHkgdG8sIG5hbWVkIGluIHRoZSBtZXNzYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBgbm8tcmVzdHJpY3RlZC1pbXBvcnRzYCBwYXR0ZXJuIGVudHJ5IHBhaXJpbmcgYSBncm91cCBvZiBiYW5uZWQgaW1wb3J0IHNwZWNpZmllcnMgd2l0aCBhXG4gKiBodW1hbi1yZWFkYWJsZSBtZXNzYWdlIGV4cGxhaW5pbmcgd2h5IHRoZXkgYXJlIGJhbm5lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb1Jlc3RyaWN0ZWRJbXBvcnRQYXR0ZXJuRW50cnkge1xuICAvKipcbiAgICogVGhlIGdsb2IgZ3JvdXAgb2YgaW1wb3J0IHNwZWNpZmllcnMgdG8gYmFuLlxuICAgKi9cbiAgcmVhZG9ubHkgZ3JvdXA6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSBtZXNzYWdlIHNob3duIHdoZW4gYW4gaW1wb3J0IG1hdGNoZXMgdGhlIGdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgYG5vLXJlc3RyaWN0ZWQtaW1wb3J0c2AgcGF0dGVybiBlbnRyaWVzIGJhbm5pbmcgYSBwYWNrYWdlJ3MgY29kZSBmcm9tIGltcG9ydGluZyB0aGUgZ2l2ZW4gcGFja2FnZXMsXG4gKiB0aHJvdWdoIHRoZWlyIHJvb3Qgb3IgYW55IHN1YnBhdGguXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0UGFja2FnZUJvdW5kYXJ5Tm9SZXN0cmljdGVkSW1wb3J0UGF0dGVybnNQYXJhbXN9LlxuICogQHJldHVybnMgT25lIHBhdHRlcm4gZW50cnkgcGVyIGZvcmJpZGRlbiBwYWNrYWdlOyBub25lIHdoZW4gbm90aGluZyBpcyBmb3JiaWRkZW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlQm91bmRhcnlOb1Jlc3RyaWN0ZWRJbXBvcnRQYXR0ZXJucyhwYXJhbXM6IEdldFBhY2thZ2VCb3VuZGFyeU5vUmVzdHJpY3RlZEltcG9ydFBhdHRlcm5zUGFyYW1zKTogTm9SZXN0cmljdGVkSW1wb3J0UGF0dGVybkVudHJ5W10ge1xuICByZXR1cm4gcGFyYW1zLmZvcmJpZGRlblBhY2thZ2VOYW1lcy5tYXAoKGZvcmJpZGRlblBhY2thZ2VOYW1lKSA9PiAoe1xuICAgIGdyb3VwOiBbZm9yYmlkZGVuUGFja2FnZU5hbWUsIGAke2ZvcmJpZGRlblBhY2thZ2VOYW1lfS8qYCwgYCR7Zm9yYmlkZGVuUGFja2FnZU5hbWV9LyoqYF0sXG4gICAgbWVzc2FnZTogYFxcYCR7cGFyYW1zLnBhY2thZ2VOYW1lfVxcYCBtdXN0IG5vdCBpbXBvcnQgXFxgJHtmb3JiaWRkZW5QYWNrYWdlTmFtZX1cXGA6IHRoZSBkZXBlbmRlbmN5IGFycm93cyBiZXR3ZWVuIHRoZSB3b3Jrc3BhY2UgcGFja2FnZXMgcG9pbnQgdGhlIG90aGVyIHdheS5gXG4gIH0pKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBb0RPLFNBQVMsNkNBQTZDLFFBQThGO0FBQ3pKLFNBQU8sT0FBTyxzQkFBc0IsSUFBSSxDQUFDLDBCQUEwQjtBQUFBLElBQ2pFLE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxvQkFBb0IsTUFBTSxHQUFHLG9CQUFvQixLQUFLO0FBQUEsSUFDdkYsU0FBUyxLQUFLLE9BQU8sV0FBVyx3QkFBd0Isb0JBQW9CO0FBQUEsRUFDOUUsRUFBRTtBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
|