@secrecy/lib 1.0.0-dev.57 → 1.0.0-dev.58
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/BaseClient.js +5 -11
- package/dist/PopupTools.js +4 -4
- package/dist/ZeusThunder.js +3 -3
- package/dist/client/SecrecyAppClient.js +2 -4
- package/dist/client/SecrecyCloudClient.js +23 -33
- package/dist/client/SecrecyDbClient.js +2 -2
- package/dist/client/SecrecyMailClient.js +7 -9
- package/dist/client/convert/file.js +2 -2
- package/dist/client/convert/node.js +5 -7
- package/dist/client/helpers.js +2 -2
- package/dist/client/storage.js +4 -4
- package/dist/crypto/file.js +5 -5
- package/dist/minify/index.js +2 -2
- package/dist/worker/workerCodes.js +255 -3
- package/dist/zeus/const.js +24 -13
- package/dist/zeus/index.d.ts +66 -34
- package/dist/zeus/index.js +33 -41
- package/package.json +15 -14
package/dist/client/helpers.js
CHANGED
|
@@ -74,7 +74,7 @@ export function login(_temp) {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
const lang = document.documentElement.lang;
|
|
77
|
-
const url = process.env.NEXT_PUBLIC_SECRECY_API_URL ?
|
|
77
|
+
const url = process.env.NEXT_PUBLIC_SECRECY_API_URL ? `http://localhost:3002${lang ? `/${lang}` : ""}/login#${data}` : `https://auth.${envStr}secrecy.me${lang ? `/${lang}` : ""}/login#${data}`;
|
|
78
78
|
|
|
79
79
|
const validate = infos => {
|
|
80
80
|
const storage = getStorage(session);
|
|
@@ -111,4 +111,4 @@ export function login(_temp) {
|
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWNyZWN5Q2xpZW50IiwicG9wdXAiLCJnZXRTdG9yYWdlIiwicGFyc2VJbmZvcyIsIndpbmRvdyIsImxvY2F0aW9uIiwiaGFzaCIsInN1YnN0ciIsInJlcyIsIkpTT04iLCJwYXJzZSIsImF0b2IiLCJnZXRTZWNyZWN5Q2xpZW50IiwiZW52Iiwic2Vzc2lvbiIsInN0b3JhZ2UiLCJ1YVNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImxvYWQiLCJ1YUtleXMiLCJ1c2VyQXBwS2V5cyIsInVhSnd0Iiwiand0IiwiaW5mb3MiLCJzYXZlIiwia2V5cyIsImxvZ2luIiwiYXBwQ29kZSIsInBhdGgiLCJyZWRpcmVjdCIsInNjb3BlcyIsImJhY2tQYXRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhcHBVcmwiLCJvcmlnaW4iLCJpbmNsdWRlcyIsImNsaWVudCIsImRhdGEiLCJidG9hIiwic3RyaW5naWZ5IiwicmVwbGFjZUFsbCIsImVudlN0ciIsImxhbmciLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInVybCIsInByb2Nlc3MiLCJORVhUX1BVQkxJQ19TRUNSRUNZX0FQSV9VUkwiLCJ2YWxpZGF0ZSIsImhyZWYiLCJlcnIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2hlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmVjeUNsaWVudCB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBwb3B1cCB9IGZyb20gXCIuLi9Qb3B1cFRvb2xzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNlY3JlY3lVc2VyQXBwIH0gZnJvbSBcIi4vdHlwZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiLi9zdG9yYWdlLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUluZm9zKCk6IFNlY3JlY3lVc2VyQXBwIHwgbnVsbCB7XG4gIGlmICghd2luZG93LmxvY2F0aW9uLmhhc2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyKDEpO1xuICB0cnkge1xuICAgIGNvbnN0IHJlcyA9IEpTT04ucGFyc2UoYXRvYihoYXNoKSk7XG4gICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBcIlwiO1xuICAgIC8vIFRPRE8gQWRkIG9iamVjdCBjb250ZW50IHZhbGlkYXRpb25cbiAgICByZXR1cm4gcmVzO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBIYXNoSW5mb3MgPSB7XG4gIGFwcFVybDogc3RyaW5nO1xuICBiYWNrUGF0aD86IHN0cmluZztcbiAgYXBwQ29kZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHBhdGg/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICByZWRpcmVjdD86IGJvb2xlYW47XG4gIHNjb3Blcz86IHtcbiAgICBlbWFpbDogYm9vbGVhbjtcbiAgfTtcbn07XG5leHBvcnQgdHlwZSBTZWNyZWN5RW52ID0gXCJkZXZcIiB8IFwicHJvZFwiO1xuZXhwb3J0IHR5cGUgVXNlU2VjcmVjeVBhcmFtcyA9IE9taXQ8SGFzaEluZm9zLCBcImFwcFVybFwiPiAmIHtcbiAgZW52OiBTZWNyZWN5RW52O1xuICBzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFZhbHVlPFQgZXh0ZW5kcyBVc2VTZWNyZWN5UGFyYW1zPiA9IFQgZXh0ZW5kcyB7IHJlZGlyZWN0OiB0cnVlIH1cbiAgPyBTZWNyZWN5Q2xpZW50IHwgbnVsbFxuICA6IFNlY3JlY3lDbGllbnQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWNyZWN5Q2xpZW50KFxuICBlbnY6IFNlY3JlY3lFbnYsXG4gIHNlc3Npb24/OiBib29sZWFuIHwgdW5kZWZpbmVkXG4pOiBTZWNyZWN5Q2xpZW50IHwgbnVsbCB7XG4gIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKHNlc3Npb24pO1xuICBjb25zdCB1YVNlc3Npb24gPSBzdG9yYWdlLnVzZXJBcHBTZXNzaW9uLmxvYWQoKTtcbiAgY29uc3QgdWFLZXlzID0gc3RvcmFnZS51c2VyQXBwS2V5cy5sb2FkKCk7XG4gIGNvbnN0IHVhSnd0ID0gc3RvcmFnZS5qd3QubG9hZCgpO1xuICBpZiAoIXVhU2Vzc2lvbiB8fCAhdWFLZXlzIHx8ICF1YUp3dCkge1xuICAgIGNvbnN0IGluZm9zID0gcGFyc2VJbmZvcygpO1xuICAgIGlmIChpbmZvcykge1xuICAgICAgc3RvcmFnZS51c2VyQXBwS2V5cy5zYXZlKGluZm9zLmtleXMpO1xuICAgICAgc3RvcmFnZS51c2VyQXBwU2Vzc2lvbi5zYXZlKGluZm9zLnVhU2Vzc2lvbik7XG4gICAgICBzdG9yYWdlLmp3dC5zYXZlKGluZm9zLmp3dCk7XG4gICAgICByZXR1cm4gbmV3IFNlY3JlY3lDbGllbnQoaW5mb3MudWFTZXNzaW9uLCBpbmZvcy5rZXlzLCBpbmZvcy5qd3QsIGVudik7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBTZWNyZWN5Q2xpZW50KHVhU2Vzc2lvbiwgdWFLZXlzLCB1YUp3dCwgZW52KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ2luPFQgZXh0ZW5kcyBVc2VTZWNyZWN5UGFyYW1zPihcbiAgeyBhcHBDb2RlLCBwYXRoLCByZWRpcmVjdCwgc2NvcGVzLCBiYWNrUGF0aCwgZW52LCBzZXNzaW9uIH06IFQgPSB7fSBhcyBUXG4pOiBQcm9taXNlPFZhbHVlPFQ+PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgYXBwVXJsID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgICBpZiAoYXBwQ29kZSAmJiAhYXBwVXJsLmluY2x1ZGVzKFwibG9jYWxob3N0XCIpKSB7XG4gICAgICByZXR1cm4gcmVqZWN0KFwiQ2FuJ3QgdXNlIGFwcENvZGUgaWYgbm90IGluIGxvY2FsaG9zdFwiKTtcbiAgICB9XG4gICAgY29uc3QgY2xpZW50ID0gZ2V0U2VjcmVjeUNsaWVudChlbnYpO1xuXG4gICAgaWYgKCFjbGllbnQpIHtcbiAgICAgIGNvbnN0IGluZm9zOiBIYXNoSW5mb3MgPSB7XG4gICAgICAgIGFwcFVybCxcbiAgICAgICAgYXBwQ29kZSxcbiAgICAgICAgcmVkaXJlY3QsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHNjb3BlcyxcbiAgICAgICAgYmFja1BhdGhcbiAgICAgIH07XG4gICAgICBjb25zdCBkYXRhID0gYnRvYShKU09OLnN0cmluZ2lmeShpbmZvcykpLnJlcGxhY2VBbGwoXCI9XCIsIFwiXCIpO1xuXG4gICAgICBsZXQgZW52U3RyID0gXCJcIjtcbiAgICAgIGlmIChlbnYgPT09IFwiZGV2XCIpIHtcbiAgICAgICAgZW52U3RyID0gXCJkZXYuXCI7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxhbmcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZztcblxuICAgICAgY29uc3QgdXJsID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfU0VDUkVDWV9BUElfVVJMXG4gICAgICAgID8gYGh0dHA6Ly9sb2NhbGhvc3Q6MzAwMiR7bGFuZyA/IGAvJHtsYW5nfWAgOiBcIlwifS9sb2dpbiMke2RhdGF9YFxuICAgICAgICA6IGBodHRwczovL2F1dGguJHtlbnZTdHJ9c2VjcmVjeS5tZSR7XG4gICAgICAgICAgICBsYW5nID8gYC8ke2xhbmd9YCA6IFwiXCJcbiAgICAgICAgICB9L2xvZ2luIyR7ZGF0YX1gO1xuXG4gICAgICBjb25zdCB2YWxpZGF0ZSA9IChpbmZvczogU2VjcmVjeVVzZXJBcHApOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IGdldFN0b3JhZ2Uoc2Vzc2lvbik7XG4gICAgICAgIHN0b3JhZ2UudXNlckFwcFNlc3Npb24uc2F2ZShpbmZvcy51YVNlc3Npb24pO1xuICAgICAgICBzdG9yYWdlLnVzZXJBcHBLZXlzLnNhdmUoaW5mb3Mua2V5cyk7XG4gICAgICAgIHN0b3JhZ2Uuand0LnNhdmUoaW5mb3Muand0KTtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUoXG4gICAgICAgICAgbmV3IFNlY3JlY3lDbGllbnQoXG4gICAgICAgICAgICBpbmZvcy51YVNlc3Npb24sXG4gICAgICAgICAgICBpbmZvcy5rZXlzLFxuICAgICAgICAgICAgaW5mb3Muand0LFxuICAgICAgICAgICAgZW52XG4gICAgICAgICAgKSBhcyBWYWx1ZTxUPlxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgaWYgKHJlZGlyZWN0KSB7XG4gICAgICAgIGNvbnN0IGluZm9zID0gcGFyc2VJbmZvcygpO1xuICAgICAgICBpZiAoaW5mb3MpIHtcbiAgICAgICAgICByZXR1cm4gdmFsaWRhdGUoaW5mb3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwgYXMgVmFsdWU8VD4pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb3B1cCh1cmwsIFwiU2VjcmVjeSBMb2dpblwiLCB7fSwgKGVyciwgZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5mb3MgPSBkYXRhIGFzIFNlY3JlY3lVc2VyQXBwO1xuICAgICAgICAgICAgaWYgKGluZm9zKSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZShpbmZvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc29sdmUoY2xpZW50IGFzIFZhbHVlPFQ+KTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxT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
|
|
114
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWNyZWN5Q2xpZW50IiwicG9wdXAiLCJnZXRTdG9yYWdlIiwicGFyc2VJbmZvcyIsIndpbmRvdyIsImxvY2F0aW9uIiwiaGFzaCIsInN1YnN0ciIsInJlcyIsIkpTT04iLCJwYXJzZSIsImF0b2IiLCJnZXRTZWNyZWN5Q2xpZW50IiwiZW52Iiwic2Vzc2lvbiIsInN0b3JhZ2UiLCJ1YVNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImxvYWQiLCJ1YUtleXMiLCJ1c2VyQXBwS2V5cyIsInVhSnd0Iiwiand0IiwiaW5mb3MiLCJzYXZlIiwia2V5cyIsImxvZ2luIiwiYXBwQ29kZSIsInBhdGgiLCJyZWRpcmVjdCIsInNjb3BlcyIsImJhY2tQYXRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhcHBVcmwiLCJvcmlnaW4iLCJpbmNsdWRlcyIsImNsaWVudCIsImRhdGEiLCJidG9hIiwic3RyaW5naWZ5IiwicmVwbGFjZUFsbCIsImVudlN0ciIsImxhbmciLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInVybCIsInByb2Nlc3MiLCJORVhUX1BVQkxJQ19TRUNSRUNZX0FQSV9VUkwiLCJ2YWxpZGF0ZSIsImhyZWYiLCJlcnIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2hlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmVjeUNsaWVudCB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBwb3B1cCB9IGZyb20gXCIuLi9Qb3B1cFRvb2xzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNlY3JlY3lVc2VyQXBwIH0gZnJvbSBcIi4vdHlwZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiLi9zdG9yYWdlLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUluZm9zKCk6IFNlY3JlY3lVc2VyQXBwIHwgbnVsbCB7XG4gIGlmICghd2luZG93LmxvY2F0aW9uLmhhc2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyKDEpO1xuICB0cnkge1xuICAgIGNvbnN0IHJlcyA9IEpTT04ucGFyc2UoYXRvYihoYXNoKSk7XG4gICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBcIlwiO1xuICAgIC8vIFRPRE8gQWRkIG9iamVjdCBjb250ZW50IHZhbGlkYXRpb25cbiAgICByZXR1cm4gcmVzO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBIYXNoSW5mb3MgPSB7XG4gIGFwcFVybDogc3RyaW5nO1xuICBiYWNrUGF0aD86IHN0cmluZztcbiAgYXBwQ29kZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHBhdGg/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICByZWRpcmVjdD86IGJvb2xlYW47XG4gIHNjb3Blcz86IHtcbiAgICBlbWFpbDogYm9vbGVhbjtcbiAgfTtcbn07XG5leHBvcnQgdHlwZSBTZWNyZWN5RW52ID0gXCJkZXZcIiB8IFwicHJvZFwiO1xuZXhwb3J0IHR5cGUgVXNlU2VjcmVjeVBhcmFtcyA9IE9taXQ8SGFzaEluZm9zLCBcImFwcFVybFwiPiAmIHtcbiAgZW52OiBTZWNyZWN5RW52O1xuICBzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFZhbHVlPFQgZXh0ZW5kcyBVc2VTZWNyZWN5UGFyYW1zPiA9IFQgZXh0ZW5kcyB7IHJlZGlyZWN0OiB0cnVlIH1cbiAgPyBTZWNyZWN5Q2xpZW50IHwgbnVsbFxuICA6IFNlY3JlY3lDbGllbnQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWNyZWN5Q2xpZW50KFxuICBlbnY6IFNlY3JlY3lFbnYsXG4gIHNlc3Npb24/OiBib29sZWFuIHwgdW5kZWZpbmVkXG4pOiBTZWNyZWN5Q2xpZW50IHwgbnVsbCB7XG4gIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKHNlc3Npb24pO1xuICBjb25zdCB1YVNlc3Npb24gPSBzdG9yYWdlLnVzZXJBcHBTZXNzaW9uLmxvYWQoKTtcbiAgY29uc3QgdWFLZXlzID0gc3RvcmFnZS51c2VyQXBwS2V5cy5sb2FkKCk7XG4gIGNvbnN0IHVhSnd0ID0gc3RvcmFnZS5qd3QubG9hZCgpO1xuICBpZiAoIXVhU2Vzc2lvbiB8fCAhdWFLZXlzIHx8ICF1YUp3dCkge1xuICAgIGNvbnN0IGluZm9zID0gcGFyc2VJbmZvcygpO1xuICAgIGlmIChpbmZvcykge1xuICAgICAgc3RvcmFnZS51c2VyQXBwS2V5cy5zYXZlKGluZm9zLmtleXMpO1xuICAgICAgc3RvcmFnZS51c2VyQXBwU2Vzc2lvbi5zYXZlKGluZm9zLnVhU2Vzc2lvbik7XG4gICAgICBzdG9yYWdlLmp3dC5zYXZlKGluZm9zLmp3dCk7XG4gICAgICByZXR1cm4gbmV3IFNlY3JlY3lDbGllbnQoaW5mb3MudWFTZXNzaW9uLCBpbmZvcy5rZXlzLCBpbmZvcy5qd3QsIGVudik7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBTZWNyZWN5Q2xpZW50KHVhU2Vzc2lvbiwgdWFLZXlzLCB1YUp3dCwgZW52KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ2luPFQgZXh0ZW5kcyBVc2VTZWNyZWN5UGFyYW1zPihcbiAgeyBhcHBDb2RlLCBwYXRoLCByZWRpcmVjdCwgc2NvcGVzLCBiYWNrUGF0aCwgZW52LCBzZXNzaW9uIH06IFQgPSB7fSBhcyBUXG4pOiBQcm9taXNlPFZhbHVlPFQ+PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgYXBwVXJsID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgICBpZiAoYXBwQ29kZSAmJiAhYXBwVXJsLmluY2x1ZGVzKFwibG9jYWxob3N0XCIpKSB7XG4gICAgICByZXR1cm4gcmVqZWN0KFwiQ2FuJ3QgdXNlIGFwcENvZGUgaWYgbm90IGluIGxvY2FsaG9zdFwiKTtcbiAgICB9XG4gICAgY29uc3QgY2xpZW50ID0gZ2V0U2VjcmVjeUNsaWVudChlbnYpO1xuXG4gICAgaWYgKCFjbGllbnQpIHtcbiAgICAgIGNvbnN0IGluZm9zOiBIYXNoSW5mb3MgPSB7XG4gICAgICAgIGFwcFVybCxcbiAgICAgICAgYXBwQ29kZSxcbiAgICAgICAgcmVkaXJlY3QsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHNjb3BlcyxcbiAgICAgICAgYmFja1BhdGhcbiAgICAgIH07XG4gICAgICBjb25zdCBkYXRhID0gYnRvYShKU09OLnN0cmluZ2lmeShpbmZvcykpLnJlcGxhY2VBbGwoXCI9XCIsIFwiXCIpO1xuXG4gICAgICBsZXQgZW52U3RyID0gXCJcIjtcbiAgICAgIGlmIChlbnYgPT09IFwiZGV2XCIpIHtcbiAgICAgICAgZW52U3RyID0gXCJkZXYuXCI7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxhbmcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZztcblxuICAgICAgY29uc3QgdXJsID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfU0VDUkVDWV9BUElfVVJMXG4gICAgICAgID8gYGh0dHA6Ly9sb2NhbGhvc3Q6MzAwMiR7bGFuZyA/IGAvJHtsYW5nfWAgOiBcIlwifS9sb2dpbiMke2RhdGF9YFxuICAgICAgICA6IGBodHRwczovL2F1dGguJHtlbnZTdHJ9c2VjcmVjeS5tZSR7XG4gICAgICAgICAgICBsYW5nID8gYC8ke2xhbmd9YCA6IFwiXCJcbiAgICAgICAgICB9L2xvZ2luIyR7ZGF0YX1gO1xuXG4gICAgICBjb25zdCB2YWxpZGF0ZSA9IChpbmZvczogU2VjcmVjeVVzZXJBcHApOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IGdldFN0b3JhZ2Uoc2Vzc2lvbik7XG4gICAgICAgIHN0b3JhZ2UudXNlckFwcFNlc3Npb24uc2F2ZShpbmZvcy51YVNlc3Npb24pO1xuICAgICAgICBzdG9yYWdlLnVzZXJBcHBLZXlzLnNhdmUoaW5mb3Mua2V5cyk7XG4gICAgICAgIHN0b3JhZ2Uuand0LnNhdmUoaW5mb3Muand0KTtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUoXG4gICAgICAgICAgbmV3IFNlY3JlY3lDbGllbnQoXG4gICAgICAgICAgICBpbmZvcy51YVNlc3Npb24sXG4gICAgICAgICAgICBpbmZvcy5rZXlzLFxuICAgICAgICAgICAgaW5mb3Muand0LFxuICAgICAgICAgICAgZW52XG4gICAgICAgICAgKSBhcyBWYWx1ZTxUPlxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgaWYgKHJlZGlyZWN0KSB7XG4gICAgICAgIGNvbnN0IGluZm9zID0gcGFyc2VJbmZvcygpO1xuICAgICAgICBpZiAoaW5mb3MpIHtcbiAgICAgICAgICByZXR1cm4gdmFsaWRhdGUoaW5mb3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwgYXMgVmFsdWU8VD4pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb3B1cCh1cmwsIFwiU2VjcmVjeSBMb2dpblwiLCB7fSwgKGVyciwgZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5mb3MgPSBkYXRhIGFzIFNlY3JlY3lVc2VyQXBwO1xuICAgICAgICAgICAgaWYgKGluZm9zKSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZShpbmZvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc29sdmUoY2xpZW50IGFzIFZhbHVlPFQ+KTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxT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
|
package/dist/client/storage.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { storeBuddy } from "../utils/store-buddy.js";
|
|
2
2
|
export function getStorage(session) {
|
|
3
|
-
const userAppSession = storeBuddy(
|
|
4
|
-
const userAppKeys = storeBuddy(
|
|
5
|
-
const jwt = storeBuddy(
|
|
3
|
+
const userAppSession = storeBuddy(`secrecy.user_app_session`, session).init(null);
|
|
4
|
+
const userAppKeys = storeBuddy(`secrecy.user_app_keys`, session).init(null);
|
|
5
|
+
const jwt = storeBuddy(`secrecy.jwt`, session).init(null);
|
|
6
6
|
return {
|
|
7
7
|
userAppKeys,
|
|
8
8
|
userAppSession,
|
|
9
9
|
jwt
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiZ2V0U3RvcmFnZSIsInNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImluaXQiLCJ1c2VyQXBwS2V5cyIsImp3dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc3RvcmFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgU3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuaW1wb3J0IHsgc3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmFnZShzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IHtcbiAgdXNlckFwcEtleXM6IFN0b3JlQnVkZHk8S2V5UGFpciB8IG51bGw+O1xuICB1c2VyQXBwU2Vzc2lvbjogU3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPjtcbiAgand0OiBTdG9yZUJ1ZGR5PHN0cmluZyB8IG51bGw+
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiZ2V0U3RvcmFnZSIsInNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImluaXQiLCJ1c2VyQXBwS2V5cyIsImp3dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc3RvcmFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgU3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuaW1wb3J0IHsgc3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmFnZShzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IHtcbiAgdXNlckFwcEtleXM6IFN0b3JlQnVkZHk8S2V5UGFpciB8IG51bGw+O1xuICB1c2VyQXBwU2Vzc2lvbjogU3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPjtcbiAgand0OiBTdG9yZUJ1ZGR5PHN0cmluZyB8IG51bGw+O1xufSB7XG4gIGNvbnN0IHVzZXJBcHBTZXNzaW9uID0gc3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPihcbiAgICBgc2VjcmVjeS51c2VyX2FwcF9zZXNzaW9uYCxcbiAgICBzZXNzaW9uXG4gICkuaW5pdChudWxsKTtcbiAgY29uc3QgdXNlckFwcEtleXMgPSBzdG9yZUJ1ZGR5PEtleVBhaXIgfCBudWxsPihcbiAgICBgc2VjcmVjeS51c2VyX2FwcF9rZXlzYCxcbiAgICBzZXNzaW9uXG4gICkuaW5pdChudWxsKTtcbiAgY29uc3Qgand0ID0gc3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPihgc2VjcmVjeS5qd3RgLCBzZXNzaW9uKS5pbml0KG51bGwpO1xuICByZXR1cm4geyB1c2VyQXBwS2V5cywgdXNlckFwcFNlc3Npb24sIGp3dCB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxVQUFULFFBQTJCLHlCQUEzQjtBQUVBLE9BQU8sU0FBU0MsVUFBVCxDQUFvQkMsT0FBcEIsRUFJTDtFQUNBLE1BQU1DLGNBQWMsR0FBR0gsVUFBVSxDQUM5QiwwQkFEOEIsRUFFL0JFLE9BRitCLENBQVYsQ0FHckJFLElBSHFCLENBR2hCLElBSGdCLENBQXZCO0VBSUEsTUFBTUMsV0FBVyxHQUFHTCxVQUFVLENBQzNCLHVCQUQyQixFQUU1QkUsT0FGNEIsQ0FBVixDQUdsQkUsSUFIa0IsQ0FHYixJQUhhLENBQXBCO0VBSUEsTUFBTUUsR0FBRyxHQUFHTixVQUFVLENBQWlCLGFBQWpCLEVBQStCRSxPQUEvQixDQUFWLENBQWtERSxJQUFsRCxDQUF1RCxJQUF2RCxDQUFaO0VBQ0EsT0FBTztJQUFFQyxXQUFGO0lBQWVGLGNBQWY7SUFBK0JHO0VBQS9CLENBQVA7QUFDRCJ9
|
package/dist/crypto/file.js
CHANGED
|
@@ -37,8 +37,8 @@ function encrypt(key) {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
function decrypt(header, key) {
|
|
40
|
-
assert(header.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,
|
|
41
|
-
assert(key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,
|
|
40
|
+
assert(header.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES, `header must be at least HEADERBYTES (${sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`);
|
|
41
|
+
assert(key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES, `key must be at least KEYBYTES (${sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`);
|
|
42
42
|
let destroyed = false;
|
|
43
43
|
const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(header, key);
|
|
44
44
|
|
|
@@ -88,7 +88,7 @@ export async function encryptSecretstream(key, data, progress, abort) {
|
|
|
88
88
|
|
|
89
89
|
for (const chunk of chunks(data, CHUNK_SIZE)) {
|
|
90
90
|
if (abort != null && abort.signal.aborted) {
|
|
91
|
-
throw new Error(
|
|
91
|
+
throw new Error(`Encrypt aborted`);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
spark.append(chunk);
|
|
@@ -142,7 +142,7 @@ export async function decryptSecretstream(key, data, progress, abort) {
|
|
|
142
142
|
|
|
143
143
|
for (const chunk of chunks(data, chunkSize)) {
|
|
144
144
|
if (abort != null && abort.signal.aborted) {
|
|
145
|
-
throw new Error(
|
|
145
|
+
throw new Error(`Decrypt aborted`);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
const tmp = decryptt(chunk);
|
|
@@ -207,4 +207,4 @@ export async function decryptSecretstream(key, data, progress, abort) {
|
|
|
207
207
|
// await Promise.all([mainSecretstream(random), mainSecretbox(random)]);
|
|
208
208
|
// }
|
|
209
209
|
// main();
|
|
210
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXR1cCIsInNvZGl1bSIsIlNwYXJrTUQ1IiwiY2h1bmtzIiwiYXNzZXJ0IiwiYyIsIm1lc3NhZ2UiLCJFcnJvciIsInNlY3JldHN0cmVhbUtleWdlbiIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfa2V5Z2VuIiwiZW5jcnlwdCIsImtleSIsImRlc3Ryb3llZCIsInN0YXRlIiwiaGVhZGVyIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1c2giLCJ0YWciLCJwbGFpbnRleHQiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1c2giLCJkZXN0cm95IiwiZGVjcnlwdCIsImJ5dGVMZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdWxsIiwiY2lwaGVydGV4dCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVsbCIsIkNIVU5LX1NJWkUiLCJlbmNyeXB0U2VjcmV0c3RyZWFtIiwiZGF0YSIsInByb2dyZXNzIiwiYWJvcnQiLCJjcnlwdCIsImNyeXB0ZWRDaHVuayIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTIiwibWF4IiwiTWF0aCIsImNlaWwiLCJwZXJjZW50IiwidG90YWwiLCJjdXJyZW50IiwiZmluYWwiLCJVaW50OEFycmF5Iiwic3BhcmtFbmNyeXB0ZWQiLCJBcnJheUJ1ZmZlciIsInNwYXJrIiwic2V0IiwiYXBwZW5kIiwibGFzdFBlcmNlbnQiLCJjaHVuayIsInNpZ25hbCIsImFib3J0ZWQiLCJsZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X1RBR19GSU5BTCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfVEFHX01FU1NBR0UiLCJjcnlwdGVkIiwic2xpY2UiLCJtZDVFbmNyeXB0ZWQiLCJlbmQiLCJtZDUiLCJkZWNyeXB0U2VjcmV0c3RyZWFtIiwiZGVjcnlwdHQiLCJjaHVua1NpemUiLCJ0bXAiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlVGFnIH0gZnJvbSBcImxpYnNvZGl1bS13cmFwcGVyc1wiO1xuaW1wb3J0IHsgc2V0dXAsIHNvZGl1bSB9IGZyb20gXCIuLi9zb2RpdW0uanNcIjtcbmltcG9ydCBTcGFya01ENSBmcm9tIFwic3BhcmstbWQ1XCI7XG5pbXBvcnQgeyBjaHVua3MgfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHMuanNcIjtcblxuZXhwb3J0IHR5cGUgRW5jcnlwdGVkRmlsZSA9IHtcbiAgZGF0YTogVWludDhBcnJheTtcbiAgbWQ1OiBzdHJpbmc7XG4gIG1kNUVuY3J5cHRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gYXNzZXJ0KGM6IGJvb2xlYW4sIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cbn1cblxudHlwZSBFbmNyeXB0Rm4gPSAodGFnOiBudW1iZXIsIHBsYWludGV4dDogVWludDhBcnJheSkgPT4gVWludDhBcnJheTtcblxudHlwZSBEZWNyeXB0Rm4gPSAoY2lwaGVydGV4dDogVWludDhBcnJheSkgPT4gTWVzc2FnZVRhZztcblxuZXhwb3J0IGZ1bmN0aW9uIHNlY3JldHN0cmVhbUtleWdlbigpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X2tleWdlbigpO1xufVxuXG5mdW5jdGlvbiBlbmNyeXB0KGtleTogVWludDhBcnJheSk6IHtcbiAgZGVzdHJveTogKCkgPT4gdm9pZDtcbiAgZW5jcnlwdDogRW5jcnlwdEZuO1xuICBoZWFkZXI6IFVpbnQ4QXJyYXk7XG59IHtcbiAgbGV0IGRlc3Ryb3llZCA9IGZhbHNlO1xuICBjb25zdCB7IHN0YXRlLCBoZWFkZXIgfSA9XG4gICAgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdXNoKGtleSk7XG5cbiAgY29uc3QgZW5jcnlwdDogRW5jcnlwdEZuID0gKHRhZywgcGxhaW50ZXh0KSA9PiB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG5cbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVzaChcbiAgICAgIHN0YXRlLFxuICAgICAgcGxhaW50ZXh0LFxuICAgICAgbnVsbCxcbiAgICAgIHRhZ1xuICAgICk7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGVzdHJveSgpOiB2b2lkIHtcbiAgICBhc3NlcnQoZGVzdHJveWVkID09PSBmYWxzZSwgXCJzdGF0ZSBhbHJlYWR5IGRlc3Ryb3llZFwiKTtcbiAgICBkZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbmNyeXB0LFxuICAgIGRlc3Ryb3ksXG4gICAgaGVhZGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRlY3J5cHQoXG4gIGhlYWRlcjogVWludDhBcnJheSxcbiAga2V5OiBVaW50OEFycmF5XG4pOiB7XG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG4gIGRlY3J5cHQ6IERlY3J5cHRGbjtcbn0ge1xuICBhc3NlcnQoXG4gICAgaGVhZGVyLmJ5dGVMZW5ndGggPj1cbiAgICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTLFxuICAgIGBoZWFkZXIgbXVzdCBiZSBhdCBsZWFzdCBIRUFERVJCWVRFUyAoJHtzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9IRUFERVJCWVRFU30pIGxvbmdgXG4gICk7XG4gIGFzc2VydChcbiAgICBrZXkuYnl0ZUxlbmd0aCA+PSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyxcbiAgICBga2V5IG11c3QgYmUgYXQgbGVhc3QgS0VZQllURVMgKCR7c29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfS0VZQllURVN9KSBsb25nYFxuICApO1xuXG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgY29uc3Qgc3RhdGUgPSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1bGwoXG4gICAgaGVhZGVyLFxuICAgIGtleVxuICApO1xuXG4gIGNvbnN0IGRlY3J5cHQ6IERlY3J5cHRGbiA9IGNpcGhlcnRleHQgPT4ge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuXG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1bGwoc3RhdGUsIGNpcGhlcnRleHQpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGVjcnlwdCxcbiAgICBkZXN0cm95XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBDSFVOS19TSVpFID0gODE5MjtcblxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3MgPSB7XG4gIHBlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbiAgY3VycmVudDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRTZWNyZXRzdHJlYW0oXG4gIGtleTogVWludDhBcnJheSxcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHJvZ3Jlc3M/OiAocHJvZ3Jlc3M6IFByb2dyZXNzKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBhYm9ydD86IEFib3J0Q29udHJvbGxlclxuKTogUHJvbWlzZTxFbmNyeXB0ZWRGaWxlPiB7XG4gIGF3YWl0IHNldHVwKCk7XG4gIGNvbnN0IHsgZW5jcnlwdDogY3J5cHQsIGRlc3Ryb3ksIGhlYWRlciB9ID0gZW5jcnlwdChrZXkpO1xuICBjb25zdCBjcnlwdGVkQ2h1bmsgPVxuICAgIENIVU5LX1NJWkUgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9BQllURVM7XG4gIGNvbnN0IG1heCA9XG4gICAgTWF0aC5jZWlsKGRhdGEuYnl0ZUxlbmd0aCAvIENIVU5LX1NJWkUpICogY3J5cHRlZENodW5rICsgaGVhZGVyLmJ5dGVMZW5ndGg7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgY29uc3Qgc3BhcmtFbmNyeXB0ZWQgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcbiAgY29uc3Qgc3BhcmsgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcblxuICBmaW5hbC5zZXQoaGVhZGVyKTtcbiAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGhlYWRlcik7XG4gIGxldCB0b3RhbCA9IGhlYWRlci5ieXRlTGVuZ3RoO1xuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiB0b3RhbCAvIG1heCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IHRvdGFsXG4gIH0pO1xuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBDSFVOS19TSVpFKSkge1xuICAgIGlmIChhYm9ydD8uc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW5jcnlwdCBhYm9ydGVkYCk7XG4gICAgfVxuICAgIHNwYXJrLmFwcGVuZChjaHVuayk7XG4gICAgY29uc3QgdGFnID1cbiAgICAgIGNodW5rLmxlbmd0aCA8IENIVU5LX1NJWkVcbiAgICAgICAgPyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfRklOQUxcbiAgICAgICAgOiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfTUVTU0FHRTtcbiAgICBjb25zdCBjcnlwdGVkID0gY3J5cHQodGFnLCBjaHVuayk7XG4gICAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGNyeXB0ZWQpO1xuICAgIGZpbmFsLnNldChjcnlwdGVkLCB0b3RhbCk7XG4gICAgdG90YWwgKz0gY3J5cHRlZC5ieXRlTGVuZ3RoO1xuICAgIGNvbnN0IHBlcmNlbnQgPSB0b3RhbCAvIG1heDtcbiAgICBpZiAocGVyY2VudCA+IGxhc3RQZXJjZW50ICsgMC4wMSkge1xuICAgICAgcHJvZ3Jlc3M/Lih7XG4gICAgICAgIHBlcmNlbnQsXG4gICAgICAgIHRvdGFsOiBtYXgsXG4gICAgICAgIGN1cnJlbnQ6IHRvdGFsXG4gICAgICB9KTtcbiAgICAgIGxhc3RQZXJjZW50ID0gcGVyY2VudDtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCk7XG4gIHByb2dyZXNzPy4oe1xuICAgIHBlcmNlbnQ6IDEsXG4gICAgdG90YWwsXG4gICAgY3VycmVudDogdG90YWxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogZmluYWwuc2xpY2UoMCwgdG90YWwpLFxuICAgIG1kNUVuY3J5cHRlZDogc3BhcmtFbmNyeXB0ZWQuZW5kKCksXG4gICAgbWQ1OiBzcGFyay5lbmQoKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjcnlwdFNlY3JldHN0cmVhbShcbiAga2V5OiBVaW50OEFycmF5LFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwcm9ncmVzcz86IChwcm9ncmVzczogUHJvZ3Jlc3MpID0+IFByb21pc2U8dm9pZD4sXG4gIGFib3J0PzogQWJvcnRDb250cm9sbGVyXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgYXdhaXQgc2V0dXAoKTtcbiAgY29uc3QgaGVhZGVyID0gZGF0YS5zbGljZShcbiAgICAwLFxuICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTXG4gICk7XG4gIGRhdGEgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTKTtcblxuICBjb25zdCB7IGRlY3J5cHQ6IGRlY3J5cHR0LCBkZXN0cm95IH0gPSBkZWNyeXB0KGhlYWRlciwga2V5KTtcbiAgY29uc3QgY2h1bmtTaXplID1cbiAgICBDSFVOS19TSVpFICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTO1xuICBjb25zdCBtYXggPSBNYXRoLmNlaWwoZGF0YS5ieXRlTGVuZ3RoIC8gY2h1bmtTaXplKSAqIENIVU5LX1NJWkU7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgbGV0IHRvdGFsID0gMDtcblxuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBjaHVua1NpemUpKSB7XG4gICAgaWYgKGFib3J0Py5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWNyeXB0IGFib3J0ZWRgKTtcbiAgICB9XG4gICAgY29uc3QgdG1wID0gZGVjcnlwdHQoY2h1bmspO1xuICAgIGZpbmFsLnNldCh0bXAubWVzc2FnZSwgdG90YWwpO1xuICAgIHRvdGFsICs9IHRtcC5tZXNzYWdlLmJ5dGVMZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuICAgIGlmIChwZXJjZW50ID4gbGFzdFBlcmNlbnQgKyAwLjAxKSB7XG4gICAgICBwcm9ncmVzcz8uKHtcbiAgICAgICAgcGVyY2VudCxcbiAgICAgICAgdG90YWw6IG1heCxcbiAgICAgICAgY3VycmVudDogdG90YWxcbiAgICAgIH0pO1xuICAgICAgbGFzdFBlcmNlbnQgPSBwZXJjZW50O1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKTtcbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMSxcbiAgICB0b3RhbCxcbiAgICBjdXJyZW50OiB0b3RhbFxuICB9KTtcbiAgcmV0dXJuIGZpbmFsLnNsaWNlKDAsIHRvdGFsKTtcbn1cblxuLy8gYXN5bmMgZnVuY3Rpb24gbWFpblNlY3JldHN0cmVhbShyYW5kb206IFVpbnQ4QXJyYXkpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgY29uc3Qga2V5ID0gc2VjcmV0c3RyZWFtS2V5Z2VuKCk7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zdCBjcnlwdGVkID0gZW5jcnlwdFNlY3JldHN0cmVhbShrZXksIHJhbmRvbSk7XG4vLyAgIGNvbnNvbGUudGltZUVuZChcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZGVjcnlwdGVkID0gZGVjcnlwdFNlY3JldHN0cmVhbShrZXksIGNyeXB0ZWQpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG4vLyBhc3luYyBmdW5jdGlvbiBtYWluU2VjcmV0Ym94KHJhbmRvbTogVWludDhBcnJheSk6IFByb21pc2U8dm9pZD4ge1xuLy8gICBjb25zdCBrZXkgPSBnZW5lcmF0ZVNlY3JldEJveCgpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRib3hfZW5jcnlwdFwiKTtcbi8vICAgY29uc3QgY3J5cHRlZCA9IGVuY3J5cHRGaWxlKHJhbmRvbSwga2V5KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwic2VjcmV0Ym94X2VuY3J5cHRcIik7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldGJveF9kZWNyeXB0XCIpO1xuLy8gICBjb25zdCBkZWNyeXB0ZWQgPSBkZWNyeXB0RmlsZShjcnlwdGVkLCBrZXkpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRib3hfZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG5cbi8vIGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4vLyAgIGF3YWl0IHJlYWR5O1xuLy8gICBjb25zb2xlLnRpbWUoXCJyYW5kb21ieXRlc19idWZcIik7XG4vLyAgIGNvbnN0IHJhbmRvbSA9IHJhbmRvbWJ5dGVzX2J1ZigxXzAwMF8wMDAgKiAxMDI0KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwicmFuZG9tYnl0ZXNfYnVmXCIpO1xuLy8gICBhd2FpdCBQcm9taXNlLmFsbChbbWFpblNlY3JldHN0cmVhbShyYW5kb20pLCBtYWluU2VjcmV0Ym94KHJhbmRvbSldKTtcbi8vIH1cblxuLy8gbWFpbigpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxLQUFULEVBQWdCQyxNQUFoQixRQUE4QixjQUE5QjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsV0FBckI7QUFDQSxTQUFTQyxNQUFULFFBQXVCLG1CQUF2Qjs7QUFRQSxTQUFTQyxNQUFULENBQWdCQyxDQUFoQixFQUE0QkMsT0FBNUIsRUFBbUQ7RUFDakQsSUFBSSxDQUFDRCxDQUFMLEVBQVE7SUFDTixNQUFNLElBQUlFLEtBQUosQ0FBVUQsT0FBVixDQUFOO0VBQ0Q7QUFDRjs7QUFNRCxPQUFPLFNBQVNFLGtCQUFULEdBQTBDO0VBQy9DLE9BQU9QLE1BQU0sQ0FBQ1EsNENBQVAsRUFBUDtBQUNEOztBQUVELFNBQVNDLE9BQVQsQ0FBaUJDLEdBQWpCLEVBSUU7RUFDQSxJQUFJQyxTQUFTLEdBQUcsS0FBaEI7RUFDQSxNQUFNO0lBQUVDLEtBQUY7SUFBU0M7RUFBVCxJQUNKYixNQUFNLENBQUNjLCtDQUFQLENBQXVESixHQUF2RCxDQURGOztFQUdBLE1BQU1ELE9BQWtCLEdBQUcsQ0FBQ00sR0FBRCxFQUFNQyxTQUFOLEtBQW9CO0lBQzdDYixNQUFNLENBQUNRLFNBQVMsS0FBSyxLQUFmLEVBQXNCLHlCQUF0QixDQUFOO0lBRUEsT0FBT1gsTUFBTSxDQUFDaUIsMENBQVAsQ0FDTEwsS0FESyxFQUVMSSxTQUZLLEVBR0wsSUFISyxFQUlMRCxHQUpLLENBQVA7RUFNRCxDQVREOztFQVdBLFNBQVNHLE9BQVQsR0FBeUI7SUFDdkJmLE1BQU0sQ0FBQ1EsU0FBUyxLQUFLLEtBQWYsRUFBc0IseUJBQXRCLENBQU47SUFDQUEsU0FBUyxHQUFHLElB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
|
|
210
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXR1cCIsInNvZGl1bSIsIlNwYXJrTUQ1IiwiY2h1bmtzIiwiYXNzZXJ0IiwiYyIsIm1lc3NhZ2UiLCJFcnJvciIsInNlY3JldHN0cmVhbUtleWdlbiIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfa2V5Z2VuIiwiZW5jcnlwdCIsImtleSIsImRlc3Ryb3llZCIsInN0YXRlIiwiaGVhZGVyIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1c2giLCJ0YWciLCJwbGFpbnRleHQiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1c2giLCJkZXN0cm95IiwiZGVjcnlwdCIsImJ5dGVMZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdWxsIiwiY2lwaGVydGV4dCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVsbCIsIkNIVU5LX1NJWkUiLCJlbmNyeXB0U2VjcmV0c3RyZWFtIiwiZGF0YSIsInByb2dyZXNzIiwiYWJvcnQiLCJjcnlwdCIsImNyeXB0ZWRDaHVuayIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTIiwibWF4IiwiTWF0aCIsImNlaWwiLCJwZXJjZW50IiwidG90YWwiLCJjdXJyZW50IiwiZmluYWwiLCJVaW50OEFycmF5Iiwic3BhcmtFbmNyeXB0ZWQiLCJBcnJheUJ1ZmZlciIsInNwYXJrIiwic2V0IiwiYXBwZW5kIiwibGFzdFBlcmNlbnQiLCJjaHVuayIsInNpZ25hbCIsImFib3J0ZWQiLCJsZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X1RBR19GSU5BTCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfVEFHX01FU1NBR0UiLCJjcnlwdGVkIiwic2xpY2UiLCJtZDVFbmNyeXB0ZWQiLCJlbmQiLCJtZDUiLCJkZWNyeXB0U2VjcmV0c3RyZWFtIiwiZGVjcnlwdHQiLCJjaHVua1NpemUiLCJ0bXAiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlVGFnIH0gZnJvbSBcImxpYnNvZGl1bS13cmFwcGVyc1wiO1xuaW1wb3J0IHsgc2V0dXAsIHNvZGl1bSB9IGZyb20gXCIuLi9zb2RpdW0uanNcIjtcbmltcG9ydCBTcGFya01ENSBmcm9tIFwic3BhcmstbWQ1XCI7XG5pbXBvcnQgeyBjaHVua3MgfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHMuanNcIjtcblxuZXhwb3J0IHR5cGUgRW5jcnlwdGVkRmlsZSA9IHtcbiAgZGF0YTogVWludDhBcnJheTtcbiAgbWQ1OiBzdHJpbmc7XG4gIG1kNUVuY3J5cHRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gYXNzZXJ0KGM6IGJvb2xlYW4sIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cbn1cblxudHlwZSBFbmNyeXB0Rm4gPSAodGFnOiBudW1iZXIsIHBsYWludGV4dDogVWludDhBcnJheSkgPT4gVWludDhBcnJheTtcblxudHlwZSBEZWNyeXB0Rm4gPSAoY2lwaGVydGV4dDogVWludDhBcnJheSkgPT4gTWVzc2FnZVRhZztcblxuZXhwb3J0IGZ1bmN0aW9uIHNlY3JldHN0cmVhbUtleWdlbigpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X2tleWdlbigpO1xufVxuXG5mdW5jdGlvbiBlbmNyeXB0KGtleTogVWludDhBcnJheSk6IHtcbiAgZGVzdHJveTogKCkgPT4gdm9pZDtcbiAgZW5jcnlwdDogRW5jcnlwdEZuO1xuICBoZWFkZXI6IFVpbnQ4QXJyYXk7XG59IHtcbiAgbGV0IGRlc3Ryb3llZCA9IGZhbHNlO1xuICBjb25zdCB7IHN0YXRlLCBoZWFkZXIgfSA9XG4gICAgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdXNoKGtleSk7XG5cbiAgY29uc3QgZW5jcnlwdDogRW5jcnlwdEZuID0gKHRhZywgcGxhaW50ZXh0KSA9PiB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG5cbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVzaChcbiAgICAgIHN0YXRlLFxuICAgICAgcGxhaW50ZXh0LFxuICAgICAgbnVsbCxcbiAgICAgIHRhZ1xuICAgICk7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGVzdHJveSgpOiB2b2lkIHtcbiAgICBhc3NlcnQoZGVzdHJveWVkID09PSBmYWxzZSwgXCJzdGF0ZSBhbHJlYWR5IGRlc3Ryb3llZFwiKTtcbiAgICBkZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbmNyeXB0LFxuICAgIGRlc3Ryb3ksXG4gICAgaGVhZGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRlY3J5cHQoXG4gIGhlYWRlcjogVWludDhBcnJheSxcbiAga2V5OiBVaW50OEFycmF5XG4pOiB7XG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG4gIGRlY3J5cHQ6IERlY3J5cHRGbjtcbn0ge1xuICBhc3NlcnQoXG4gICAgaGVhZGVyLmJ5dGVMZW5ndGggPj1cbiAgICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTLFxuICAgIGBoZWFkZXIgbXVzdCBiZSBhdCBsZWFzdCBIRUFERVJCWVRFUyAoJHtzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9IRUFERVJCWVRFU30pIGxvbmdgXG4gICk7XG4gIGFzc2VydChcbiAgICBrZXkuYnl0ZUxlbmd0aCA+PSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyxcbiAgICBga2V5IG11c3QgYmUgYXQgbGVhc3QgS0VZQllURVMgKCR7c29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfS0VZQllURVN9KSBsb25nYFxuICApO1xuXG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgY29uc3Qgc3RhdGUgPSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1bGwoXG4gICAgaGVhZGVyLFxuICAgIGtleVxuICApO1xuXG4gIGNvbnN0IGRlY3J5cHQ6IERlY3J5cHRGbiA9IGNpcGhlcnRleHQgPT4ge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuXG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1bGwoc3RhdGUsIGNpcGhlcnRleHQpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGVjcnlwdCxcbiAgICBkZXN0cm95XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBDSFVOS19TSVpFID0gODE5MjtcblxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3MgPSB7XG4gIHBlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbiAgY3VycmVudDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRTZWNyZXRzdHJlYW0oXG4gIGtleTogVWludDhBcnJheSxcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHJvZ3Jlc3M/OiAocHJvZ3Jlc3M6IFByb2dyZXNzKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBhYm9ydD86IEFib3J0Q29udHJvbGxlclxuKTogUHJvbWlzZTxFbmNyeXB0ZWRGaWxlPiB7XG4gIGF3YWl0IHNldHVwKCk7XG4gIGNvbnN0IHsgZW5jcnlwdDogY3J5cHQsIGRlc3Ryb3ksIGhlYWRlciB9ID0gZW5jcnlwdChrZXkpO1xuICBjb25zdCBjcnlwdGVkQ2h1bmsgPVxuICAgIENIVU5LX1NJWkUgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9BQllURVM7XG4gIGNvbnN0IG1heCA9XG4gICAgTWF0aC5jZWlsKGRhdGEuYnl0ZUxlbmd0aCAvIENIVU5LX1NJWkUpICogY3J5cHRlZENodW5rICsgaGVhZGVyLmJ5dGVMZW5ndGg7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgY29uc3Qgc3BhcmtFbmNyeXB0ZWQgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcbiAgY29uc3Qgc3BhcmsgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcblxuICBmaW5hbC5zZXQoaGVhZGVyKTtcbiAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGhlYWRlcik7XG4gIGxldCB0b3RhbCA9IGhlYWRlci5ieXRlTGVuZ3RoO1xuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiB0b3RhbCAvIG1heCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IHRvdGFsXG4gIH0pO1xuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBDSFVOS19TSVpFKSkge1xuICAgIGlmIChhYm9ydD8uc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW5jcnlwdCBhYm9ydGVkYCk7XG4gICAgfVxuICAgIHNwYXJrLmFwcGVuZChjaHVuayk7XG4gICAgY29uc3QgdGFnID1cbiAgICAgIGNodW5rLmxlbmd0aCA8IENIVU5LX1NJWkVcbiAgICAgICAgPyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfRklOQUxcbiAgICAgICAgOiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfTUVTU0FHRTtcbiAgICBjb25zdCBjcnlwdGVkID0gY3J5cHQodGFnLCBjaHVuayk7XG4gICAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGNyeXB0ZWQpO1xuICAgIGZpbmFsLnNldChjcnlwdGVkLCB0b3RhbCk7XG4gICAgdG90YWwgKz0gY3J5cHRlZC5ieXRlTGVuZ3RoO1xuICAgIGNvbnN0IHBlcmNlbnQgPSB0b3RhbCAvIG1heDtcbiAgICBpZiAocGVyY2VudCA+IGxhc3RQZXJjZW50ICsgMC4wMSkge1xuICAgICAgcHJvZ3Jlc3M/Lih7XG4gICAgICAgIHBlcmNlbnQsXG4gICAgICAgIHRvdGFsOiBtYXgsXG4gICAgICAgIGN1cnJlbnQ6IHRvdGFsXG4gICAgICB9KTtcbiAgICAgIGxhc3RQZXJjZW50ID0gcGVyY2VudDtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCk7XG4gIHByb2dyZXNzPy4oe1xuICAgIHBlcmNlbnQ6IDEsXG4gICAgdG90YWwsXG4gICAgY3VycmVudDogdG90YWxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogZmluYWwuc2xpY2UoMCwgdG90YWwpLFxuICAgIG1kNUVuY3J5cHRlZDogc3BhcmtFbmNyeXB0ZWQuZW5kKCksXG4gICAgbWQ1OiBzcGFyay5lbmQoKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjcnlwdFNlY3JldHN0cmVhbShcbiAga2V5OiBVaW50OEFycmF5LFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwcm9ncmVzcz86IChwcm9ncmVzczogUHJvZ3Jlc3MpID0+IFByb21pc2U8dm9pZD4sXG4gIGFib3J0PzogQWJvcnRDb250cm9sbGVyXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgYXdhaXQgc2V0dXAoKTtcbiAgY29uc3QgaGVhZGVyID0gZGF0YS5zbGljZShcbiAgICAwLFxuICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTXG4gICk7XG4gIGRhdGEgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTKTtcblxuICBjb25zdCB7IGRlY3J5cHQ6IGRlY3J5cHR0LCBkZXN0cm95IH0gPSBkZWNyeXB0KGhlYWRlciwga2V5KTtcbiAgY29uc3QgY2h1bmtTaXplID1cbiAgICBDSFVOS19TSVpFICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTO1xuICBjb25zdCBtYXggPSBNYXRoLmNlaWwoZGF0YS5ieXRlTGVuZ3RoIC8gY2h1bmtTaXplKSAqIENIVU5LX1NJWkU7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgbGV0IHRvdGFsID0gMDtcblxuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBjaHVua1NpemUpKSB7XG4gICAgaWYgKGFib3J0Py5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWNyeXB0IGFib3J0ZWRgKTtcbiAgICB9XG4gICAgY29uc3QgdG1wID0gZGVjcnlwdHQoY2h1bmspO1xuICAgIGZpbmFsLnNldCh0bXAubWVzc2FnZSwgdG90YWwpO1xuICAgIHRvdGFsICs9IHRtcC5tZXNzYWdlLmJ5dGVMZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuICAgIGlmIChwZXJjZW50ID4gbGFzdFBlcmNlbnQgKyAwLjAxKSB7XG4gICAgICBwcm9ncmVzcz8uKHtcbiAgICAgICAgcGVyY2VudCxcbiAgICAgICAgdG90YWw6IG1heCxcbiAgICAgICAgY3VycmVudDogdG90YWxcbiAgICAgIH0pO1xuICAgICAgbGFzdFBlcmNlbnQgPSBwZXJjZW50O1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKTtcbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMSxcbiAgICB0b3RhbCxcbiAgICBjdXJyZW50OiB0b3RhbFxuICB9KTtcbiAgcmV0dXJuIGZpbmFsLnNsaWNlKDAsIHRvdGFsKTtcbn1cblxuLy8gYXN5bmMgZnVuY3Rpb24gbWFpblNlY3JldHN0cmVhbShyYW5kb206IFVpbnQ4QXJyYXkpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgY29uc3Qga2V5ID0gc2VjcmV0c3RyZWFtS2V5Z2VuKCk7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zdCBjcnlwdGVkID0gZW5jcnlwdFNlY3JldHN0cmVhbShrZXksIHJhbmRvbSk7XG4vLyAgIGNvbnNvbGUudGltZUVuZChcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZGVjcnlwdGVkID0gZGVjcnlwdFNlY3JldHN0cmVhbShrZXksIGNyeXB0ZWQpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG4vLyBhc3luYyBmdW5jdGlvbiBtYWluU2VjcmV0Ym94KHJhbmRvbTogVWludDhBcnJheSk6IFByb21pc2U8dm9pZD4ge1xuLy8gICBjb25zdCBrZXkgPSBnZW5lcmF0ZVNlY3JldEJveCgpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRib3hfZW5jcnlwdFwiKTtcbi8vICAgY29uc3QgY3J5cHRlZCA9IGVuY3J5cHRGaWxlKHJhbmRvbSwga2V5KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwic2VjcmV0Ym94X2VuY3J5cHRcIik7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldGJveF9kZWNyeXB0XCIpO1xuLy8gICBjb25zdCBkZWNyeXB0ZWQgPSBkZWNyeXB0RmlsZShjcnlwdGVkLCBrZXkpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRib3hfZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG5cbi8vIGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4vLyAgIGF3YWl0IHJlYWR5O1xuLy8gICBjb25zb2xlLnRpbWUoXCJyYW5kb21ieXRlc19idWZcIik7XG4vLyAgIGNvbnN0IHJhbmRvbSA9IHJhbmRvbWJ5dGVzX2J1ZigxXzAwMF8wMDAgKiAxMDI0KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwicmFuZG9tYnl0ZXNfYnVmXCIpO1xuLy8gICBhd2FpdCBQcm9taXNlLmFsbChbbWFpblNlY3JldHN0cmVhbShyYW5kb20pLCBtYWluU2VjcmV0Ym94KHJhbmRvbSldKTtcbi8vIH1cblxuLy8gbWFpbigpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxLQUFULEVBQWdCQyxNQUFoQixRQUE4QixjQUE5QjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsV0FBckI7QUFDQSxTQUFTQyxNQUFULFFBQXVCLG1CQUF2Qjs7QUFRQSxTQUFTQyxNQUFULENBQWdCQyxDQUFoQixFQUE0QkMsT0FBNUIsRUFBbUQ7RUFDakQsSUFBSSxDQUFDRCxDQUFMLEVBQVE7SUFDTixNQUFNLElBQUlFLEtBQUosQ0FBVUQsT0FBVixDQUFOO0VBQ0Q7QUFDRjs7QUFNRCxPQUFPLFNBQVNFLGtCQUFULEdBQTBDO0VBQy9DLE9BQU9QLE1BQU0sQ0FBQ1EsNENBQVAsRUFBUDtBQUNEOztBQUVELFNBQVNDLE9BQVQsQ0FBaUJDLEdBQWpCLEVBSUU7RUFDQSxJQUFJQyxTQUFTLEdBQUcsS0FBaEI7RUFDQSxNQUFNO0lBQUVDLEtBQUY7SUFBU0M7RUFBVCxJQUNKYixNQUFNLENBQUNjLCtDQUFQLENBQXVESixHQUF2RCxDQURGOztFQUdBLE1BQU1ELE9BQWtCLEdBQUcsQ0FBQ00sR0FBRCxFQUFNQyxTQUFOLEtBQW9CO0lBQzdDYixNQUFNLENBQUNRLFNBQVMsS0FBSyxLQUFmLEVBQXNCLHlCQUF0QixDQUFOO0lBRUEsT0FBT1gsTUFBTSxDQUFDaUIsMENBQVAsQ0FDTEwsS0FESyxFQUVMSSxTQUZLLEVBR0wsSUFISyxFQUlMRCxHQUpLLENBQVA7RUFNRCxDQVREOztFQVdBLFNBQVNHLE9BQVQsR0FBeUI7SUFDdkJmLE1BQU0sQ0FBQ1EsU0FBUyxLQUFLLEtBQWYsRUFBc0IseUJBQXRCLENBQU47SUFDQUEsU0FBUyxHQUFHLElBQVo7RUFDRDs7RUFFRCxPQUFPO0lBQ0xGLE9BREs7SUFFTFMsT0FGSztJQUdMTDtFQUhLLENBQVA7QUFLRDs7QUFFRCxTQUFTTSxPQUFULENBQ0VOLE1BREYsRUFFRUgsR0FGRixFQU1FO0VBQ0FQLE1BQU0sQ0FDSlUsTUFBTSxDQUFDTyxVQUFQLElBQ0VwQixNQUFNLENBQUNxQixpREFGTCxFQUdILHdDQUF1Q3JCLE1BQU0sQ0FBQ3FCLGlEQUFrRCxRQUg3RixDQUFOO0VBS0FsQixNQUFNLENBQ0pPLEdBQUcsQ0FBQ1UsVUFBSixJQUFrQnBCLE1BQU0sQ0FBQ3NCLDhDQURyQixFQUVILGtDQUFpQ3RCLE1BQU0sQ0FBQ3NCLDhDQUErQyxRQUZwRixDQUFOO0VBS0EsSUFBSVgsU0FBUyxHQUFHLEtBQWhCO0VBQ0EsTUFBTUMsS0FBSyxHQUFHWixNQUFNLENBQUN1QiwrQ0FBUCxDQUNaVixNQURZLEVBRVpILEdBRlksQ0FBZDs7RUFLQSxNQUFNUyxPQUFrQixHQUFHSyxVQUFVLElBQUk7SUFDdkNyQixNQUFNLENBQUNRLFNBQVMsS0FBSyxLQUFmLEVBQXNCLHlCQUF0QixDQUFOO0lBRUEsT0FBT1gsTUFBTSxDQUFDeUIsMENBQVAsQ0FBa0RiLEtBQWxELEVBQXlEWSxVQUF6RCxDQUFQO0VBQ0QsQ0FKRDs7RUFNQSxTQUFTTixPQUFULEdBQXlCO0lBQ3ZCZixNQUFNLENBQUNRLFNBQVMsS0FBSyxLQUFmLEVBQXNCLHlCQUF0QixDQUFOO0lBQ0FBLFNBQVMsR0FBRyxJQUFaO0VBQ0Q7O0VBRUQsT0FBTztJQUNMUSxPQURLO0lBRUxEO0VBRkssQ0FBUDtBQUlEOztBQUVELE9BQU8sTUFBTVEsVUFBVSxHQUFHLElBQW5CO0FBUVAsT0FBTyxlQUFlQyxtQkFBZixDQUNMakIsR0FESyxFQUVMa0IsSUFGSyxFQUdMQyxRQUhLLEVBSUxDLEtBSkssRUFLbUI7RUFDeEIsTUFBTS9CLEtBQUssRUFBWDtFQUNBLE1BQU07SUFBRVUsT0FBTyxFQUFFc0IsS0FBWDtJQUFrQmIsT0FBbEI7SUFBMkJMO0VBQTNCLElBQXNDSixPQUFPLENBQUNDLEdBQUQsQ0FBbkQ7RUFDQSxNQUFNc0IsWUFBWSxHQUNoQk4sVUFBVSxHQUFHMUIsTUFBTSxDQUFDaUMsNENBRHRCO0VBRUEsTUFBTUMsR0FBRyxHQUNQQyxJQUFJLENBQUNDLElBQUwsQ0FBVVIsSUFBSSxDQUFDUixVQUFMLEdBQWtCTSxVQUE1QixJQUEwQ00sWUFBMUMsR0FBeURuQixNQUFNLENBQUNPLFVBRGxFO0VBR0FTLFFBQVEsUUFBUixZQUFBQSxRQUFRLENBQUc7SUFDVFEsT0FBTyxFQUFFLENBREE7SUFFVEMsS0FBSyxFQUFFSixHQUZFO0lBR1RLLE9BQU8sRUFBRTtFQUhBLENBQUgsQ0FBUjtFQUtBLE1BQU1DLEtBQUssR0FBRyxJQUFJQyxVQUFKLENBQWVQLEdBQWYsQ0FBZDtFQUNBLE1BQU1RLGNBQWMsR0FBRyxJQUFJekMsUUFBUSxDQUFDMEMsV0FBYixFQUF2QjtFQUNBLE1BQU1DLEtBQUssR0FBRyxJQUFJM0MsUUFBUSxDQUFDMEMsV0FBYixFQUFkO0VBRUFILEtBQUssQ0FBQ0ssR0FBTixDQUFVaEMsTUFBVjtFQUNBNkIsY0FBYyxDQUFDSSxNQUFmLENBQXNCakMsTUFBdEI7RUFDQSxJQUFJeUIsS0FBSyxHQUFHekIsTUFBTSxDQUFDTyxVQUFuQjtFQUNBUyxRQUFRLFFBQVIsWUFBQUEsUUFBUSxDQUFHO0lBQ1RRLE9BQU8sRUFBRUMsS0FBSyxHQUFHSixHQURSO0lBRVRJLEtBQUssRUFBRUosR0FGRTtJQUdUSyxPQUFPLEVBQUVEO0VBSEEsQ0FBSCxDQUFSO0VBS0EsSUFBSVMsV0FBVyxHQUFHVCxLQUFLLEdBQUdKLEdBQTFCOztFQUVBLEtBQUssTUFBTWMsS0FBWCxJQUFvQjlDLE1BQU0sQ0FBQzBCLElBQUQsRUFBT0YsVUFBUCxDQUExQixFQUE4QztJQUM1QyxJQUFJSSxLQUFKLFlBQUlBLEtBQUssQ0FBRW1CLE1BQVAsQ0FBY0MsT0FBbEIsRUFBMkI7TUFDekIsTUFBTSxJQUFJNUMsS0FBSixDQUFXLGlCQUFYLENBQU47SUFDRDs7SUFDRHNDLEtBQUssQ0FBQ0UsTUFBTixDQUFhRSxLQUFiO0lBQ0EsTUFBTWpDLEdBQUcsR0FDUGlDLEtBQUssQ0FBQ0csTUFBTixHQUFlekIsVUFBZixHQUNJMUIsTUFBTSxDQUFDb0QsK0NBRFgsR0FFSXBELE1BQU0sQ0FBQ3FELGlEQUhiO0lBSUEsTUFBTUMsT0FBTyxHQUFHdkIsS0FBSyxDQUFDaEIsR0FBRCxFQUFNaUMsS0FBTixDQUFyQjtJQUNBTixjQUFjLENBQUNJLE1BQWYsQ0FBc0JRLE9BQXRCO0lBQ0FkLEtBQUssQ0FBQ0ssR0FBTixDQUFVUyxPQUFWLEVBQW1CaEIsS0FBbkI7SUFDQUEsS0FBSyxJQUFJZ0IsT0FBTyxDQUFDbEMsVUFBakI7SUFDQSxNQUFNaUIsT0FBTyxHQUFHQyxLQUFLLEdBQUdKLEdBQXhCOztJQUNBLElBQUlHLE9BQU8sR0FBR1UsV0FBVyxHQUFHLElBQTVCLEVBQWtDO01BQ2hDbEIsUUFBUSxRQUFSLFlBQUFBLFFBQVEsQ0FBRztRQUNUUSxPQURTO1FBRVRDLEtBQUssRUFBRUosR0FGRTtRQUdUSyxPQUFPLEVBQUVEO01BSEEsQ0FBSCxDQUFSO01BS0FTLFdBQVcsR0FBR1YsT0FBZDtJQUNEO0VBQ0Y7O0VBRURuQixPQUFPO0VBQ1BXLFFBQVEsUUFBUixZQUFBQSxRQUFRLENBQUc7SUFDVFEsT0FBTyxFQUFFLENBREE7SUFFVEMsS0FGUztJQUdUQyxPQUFPLEVBQUVEO0VBSEEsQ0FBSCxDQUFSO0VBS0EsT0FBTztJQUNMVixJQUFJLEVBQUVZLEtBQUssQ0FBQ2UsS0FBTixDQUFZLENBQVosRUFBZWpCLEtBQWYsQ0FERDtJQUVMa0IsWUFBWSxFQUFFZCxjQUFjLENBQUNlLEdBQWYsRUFGVDtJQUdMQyxHQUFHLEVBQUVkLEtBQUssQ0FBQ2EsR0FBTjtFQUhBLENBQVA7QUFLRDtBQUVELE9BQU8sZUFBZUUsbUJBQWYsQ0FDTGpELEdBREssRUFFTGtCLElBRkssRUFHTEMsUUFISyxFQUlMQyxLQUpLLEVBS2dCO0VBQ3JCLE1BQU0vQixLQUFLLEVBQVg7RUFDQSxNQUFNYyxNQUFNLEdBQUdlLElBQUksQ0FBQzJCLEtBQUwsQ0FDYixDQURhLEVBRWJ2RCxNQUFNLENBQUNxQixpREFGTSxDQUFmO0VBSUFPLElBQUksR0FBR0EsSUFBSSxDQUFDMkIsS0FBTCxDQUFXdkQsTUFBTSxDQUFDcUIsaURBQWxCLENBQVA7RUFFQSxNQUFNO0lBQUVGLE9BQU8sRUFBRXlDLFFBQVg7SUFBcUIxQztFQUFyQixJQUFpQ0MsT0FBTyxDQUFDTixNQUFELEVBQVNILEdBQVQsQ0FBOUM7RUFDQSxNQUFNbUQsU0FBUyxHQUNibkMsVUFBVSxHQUFHMUIsTUFBTSxDQUFDaUMsNENBRHRCO0VBRUEsTUFBTUMsR0FBRyxHQUFHQyxJQUFJLENBQUNDLElBQUwsQ0FBVVIsSUFBSSxDQUFDUixVQUFMLEdBQWtCeUMsU0FBNUIsSUFBeUNuQyxVQUFyRDtFQUVBRyxRQUFRLFFBQVIsWUFBQUEsUUFBUSxDQUFHO0lBQ1RRLE9BQU8sRUFBRSxDQURBO0lBRVRDLEtBQUssRUFBRUosR0FGRTtJQUdUSyxPQUFPLEVBQUU7RUFIQSxDQUFILENBQVI7RUFLQSxNQUFNQyxLQUFLLEdBQUcsSUFBSUMsVUFBSixDQUFlUCxHQUFmLENBQWQ7RUFDQSxJQUFJSSxLQUFLLEdBQUcsQ0FBWjtFQUVBLElBQUlTLFdBQVcsR0FBR1QsS0FBSyxHQUFHSixHQUExQjs7RUFFQSxLQUFLLE1BQU1jLEtBQVgsSUFBb0I5QyxNQUFNLENBQUMwQixJQUFELEVBQU9pQyxTQUFQLENBQTFCLEVBQTZDO0lBQzNDLElBQUkvQixLQUFKLFlBQUlBLEtBQUssQ0FBRW1CLE1BQVAsQ0FBY0MsT0FBbEIsRUFBMkI7TUFDekIsTUFBTSxJQUFJNUMsS0FBSixDQUFXLGlCQUFYLENBQU47SUFDRDs7SUFDRCxNQUFNd0QsR0FBRyxHQUFHRixRQUFRLENBQUNaLEtBQUQsQ0FBcEI7SUFDQVIsS0FBSyxDQUFDSyxHQUFOLENBQVVpQixHQUFHLENBQUN6RCxPQUFkLEVBQXVCaUMsS0FBdkI7SUFDQUEsS0FBSyxJQUFJd0IsR0FBRyxDQUFDekQsT0FBSixDQUFZZSxVQUFyQjtJQUNBLE1BQU1pQixPQUFPLEdBQUdDLEtBQUssR0FBR0osR0FBeEI7O0lBQ0EsSUFBSUcsT0FBTyxHQUFHVSxXQUFXLEdBQUcsSUFBNUIsRUFBa0M7TUFDaENsQixRQUFRLFFBQVIsWUFBQUEsUUFBUSxDQUFHO1FBQ1RRLE9BRFM7UUFFVEMsS0FBSyxFQUFFSixHQUZFO1FBR1RLLE9BQU8sRUFBRUQ7TUFIQSxDQUFILENBQVI7TUFLQVMsV0FBVyxHQUFHVixPQUFkO0lBQ0Q7RUFDRjs7RUFFRG5CLE9BQU87RUFDUFcsUUFBUSxRQUFSLFlBQUFBLFFBQVEsQ0FBRztJQUNUUSxPQUFPLEVBQUUsQ0FEQTtJQUVUQyxLQUZTO0lBR1RDLE9BQU8sRUFBRUQ7RUFIQSxDQUFILENBQVI7RUFLQSxPQUFPRSxLQUFLLENBQUNlLEtBQU4sQ0FBWSxDQUFaLEVBQWVqQixLQUFmLENBQVA7QUFDRCxDLENBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEifQ==
|
package/dist/minify/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { calcUncompressedLen, compressBlockBound, compressBlockHC, uncompressBlock } from "./lz4.js";
|
|
2
2
|
import { concatenate } from "../utils/utils.js";
|
|
3
3
|
export function compress(data) {
|
|
4
|
-
if (data.byteLength >
|
|
4
|
+
if (data.byteLength > 15_000_000) {
|
|
5
5
|
return concatenate(new Uint8Array([0]), data);
|
|
6
6
|
}
|
|
7
7
|
|
|
@@ -25,4 +25,4 @@ export function uncompress(data) {
|
|
|
25
25
|
const uncompressedSize = uncompressBlock(realData, dst);
|
|
26
26
|
return dst.slice(0, uncompressedSize);
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxjVW5jb21wcmVzc2VkTGVuIiwiY29tcHJlc3NCbG9ja0JvdW5kIiwiY29tcHJlc3NCbG9ja0hDIiwidW5jb21wcmVzc0Jsb2NrIiwiY29uY2F0ZW5hdGUiLCJjb21wcmVzcyIsImRhdGEiLCJieXRlTGVuZ3RoIiwiVWludDhBcnJheSIsImNvbXByZXNzZWQiLCJjb21wcmVzc2VkU2l6ZSIsInNsaWNlIiwidW5jb21wcmVzcyIsInJlYWxEYXRhIiwiZHN0IiwidW5jb21wcmVzc2VkU2l6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taW5pZnkvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2FsY1VuY29tcHJlc3NlZExlbixcbiAgY29tcHJlc3NCbG9ja0JvdW5kLFxuICBjb21wcmVzc0Jsb2NrSEMsXG4gIHVuY29tcHJlc3NCbG9ja1xufSBmcm9tIFwiLi9sejQuanNcIjtcbmltcG9ydCB7IGNvbmNhdGVuYXRlIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wcmVzcyhkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gIGlmIChkYXRhLmJ5dGVMZW5ndGggPiAxNV8wMDBfMDAwKSB7XG4gICAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFswXSksIGRhdGEpO1xuICB9XG4gIGNvbnN0IGNvbXByZXNzZWQgPSBuZXcgVWludDhBcnJheShjb21wcmVzc0Jsb2NrQm91bmQoZGF0YS5ieXRlTGVuZ3RoKSk7XG4gIGNvbnN0IGNvbXByZXNzZWRTaXplID0gY29tcHJlc3NCbG9ja0hDKGRhdGEsIGNvbXByZXNzZWQsIDApO1xuICBpZiAoY29tcHJlc3NlZFNpemUgPT09IDApIHtcbiAgICByZXR1cm4gY29uY2F0ZW5hdGUobmV3IFVpbnQ4QXJyYXkoWzBdKSwgZGF0YSk7XG4gIH1cbiAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFsxXSksIGNvbXByZXNzZWQuc2xpY2UoMCwgY29tcHJlc3NlZFNpemUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuY29tcHJlc3MoZGF0YTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xuICBjb25zdCByZWFsRGF0YSA9IGRhdGEuc2xpY2UoMSk7XG4gIGlmIChkYXRhWzBdID09PSAwKSB7XG4gICAgcmV0dXJuIHJlYWxEYXRhO1xuICB9XG4gIGNvbnN0IGRzdCA9IG5ldyBVaW50OEFycmF5KGNhbGNVbmNvbXByZXNzZWRMZW4ocmVhbERhdGEpKTtcbiAgY29uc3QgdW5jb21wcmVzc2VkU2l6ZSA9IHVuY29tcHJlc3NCbG9jayhyZWFsRGF0YSwgZHN0KTtcbiAgcmV0dXJuIGRzdC5zbGljZSgwLCB1bmNvbXByZXNzZWRTaXplKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsbUJBREYsRUFFRUMsa0JBRkYsRUFHRUMsZUFIRixFQUlFQyxlQUpGLFFBS08sVUFMUDtBQU1BLFNBQVNDLFdBQVQsUUFBNEIsbUJBQTVCO0FBRUEsT0FBTyxTQUFTQyxRQUFULENBQWtCQyxJQUFsQixFQUFnRDtFQUNyRCxJQUFJQSxJQUFJLENBQUNDLFVBQUwsR0FBa0IsVUFBdEIsRUFBa0M7SUFDaEMsT0FBT0gsV0FBVyxDQUFDLElBQUlJLFVBQUosQ0FBZSxDQUFDLENBQUQsQ0FBZixDQUFELEVBQXNCRixJQUF0QixDQUFsQjtFQUNEOztFQUNELE1BQU1HLFVBQVUsR0FBRyxJQUFJRCxVQUFKLENBQWVQLGtCQUFrQixDQUFDSyxJQUFJLENBQUNDLFVBQU4sQ0FBakMsQ0FBbkI7RUFDQSxNQUFNRyxjQUFjLEdBQUdSLGVBQWUsQ0FBQ0ksSUFBRCxFQUFPRyxVQUFQLEVBQW1CLENBQW5CLENBQXRDOztFQUNBLElBQUlDLGNBQWMsS0FBSyxDQUF2QixFQUEwQjtJQUN4QixPQUFPTixXQUFXLENBQUMsSUFBSUksVUFBSixDQUFlLENBQUMsQ0FBRCxDQUFmLENBQUQsRUFBc0JGLElBQXRCLENBQWxCO0VBQ0Q7O0VBQ0QsT0FBT0YsV0FBVyxDQUFDLElBQUlJLFVBQUosQ0FBZSxDQUFDLENBQUQsQ0FBZixDQUFELEVBQXNCQyxVQUFVLENBQUNFLEtBQVgsQ0FBaUIsQ0FBakIsRUFBb0JELGNBQXBCLENBQXRCLENBQWxCO0FBQ0Q7QUFFRCxPQUFPLFNBQVNFLFVBQVQsQ0FBb0JOLElBQXBCLEVBQWtEO0VBQ3ZELE1BQU1PLFFBQVEsR0FBR1AsSUFBSSxDQUFDSyxLQUFMLENBQVcsQ0FBWCxDQUFqQjs7RUFDQSxJQUFJTCxJQUFJLENBQUMsQ0FBRCxDQUFKLEtBQVksQ0FBaEIsRUFBbUI7SUFDakIsT0FBT08sUUFBUDtFQUNEOztFQUNELE1BQU1DLEdBQUcsR0FBRyxJQUFJTixVQUFKLENBQWVSLG1CQUFtQixDQUFDYSxRQUFELENBQWxDLENBQVo7RUFDQSxNQUFNRSxnQkFBZ0IsR0FBR1osZUFBZSxDQUFDVSxRQUFELEVBQVdDLEdBQVgsQ0FBeEM7RUFDQSxPQUFPQSxHQUFHLENBQUNILEtBQUosQ0FBVSxDQUFWLEVBQWFJLGdCQUFiLENBQVA7QUFDRCJ9
|
|
@@ -1,3 +1,255 @@
|
|
|
1
|
-
export const workerSodiumScript =
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export const workerSodiumScript = `let sodium;
|
|
2
|
+
|
|
3
|
+
self.sodium = {
|
|
4
|
+
onload: (sod) => {
|
|
5
|
+
sodium = sod
|
|
6
|
+
postMessage({ event: "ready" })
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
importScripts('https://cdn.jsdelivr.net/gh/jedisct1/libsodium.js@master/dist/browsers/sodium.js');
|
|
11
|
+
importScripts('https://cdnjs.cloudflare.com/ajax/libs/spark-md5/3.0.0/spark-md5.min.js');
|
|
12
|
+
|
|
13
|
+
function* chunks(arr, n) {
|
|
14
|
+
for (let i = 0; i < arr.length; i += n) {
|
|
15
|
+
yield arr.slice(i, i + n);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function assert(c, message) {
|
|
20
|
+
if (!c) {
|
|
21
|
+
throw new Error(message);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function encrypt(key) {
|
|
26
|
+
let destroyed = false;
|
|
27
|
+
const {
|
|
28
|
+
state,
|
|
29
|
+
header
|
|
30
|
+
} = sodium.crypto_secretstream_xchacha20poly1305_init_push(key);
|
|
31
|
+
|
|
32
|
+
const encrypt = (tag, plaintext) => {
|
|
33
|
+
assert(destroyed === false, "state already destroyed");
|
|
34
|
+
|
|
35
|
+
return sodium.crypto_secretstream_xchacha20poly1305_push(
|
|
36
|
+
state,
|
|
37
|
+
plaintext,
|
|
38
|
+
null,
|
|
39
|
+
tag
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
function destroy() {
|
|
44
|
+
assert(destroyed === false, "state already destroyed");
|
|
45
|
+
destroyed = true;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
encrypt,
|
|
50
|
+
destroy,
|
|
51
|
+
header
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function decrypt(header, key) {
|
|
56
|
+
assert(
|
|
57
|
+
header.byteLength >=
|
|
58
|
+
sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,
|
|
59
|
+
"header must be at least HEADERBYTES (" + sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES + ") long"
|
|
60
|
+
);
|
|
61
|
+
assert(
|
|
62
|
+
key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,
|
|
63
|
+
"key must be at least KEYBYTES (" + sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES + ") long"
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
let destroyed = false;
|
|
67
|
+
const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(
|
|
68
|
+
header,
|
|
69
|
+
key
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const decrypt = ciphertext => {
|
|
73
|
+
assert(destroyed === false, "state already destroyed");
|
|
74
|
+
|
|
75
|
+
return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
function destroy() {
|
|
79
|
+
assert(destroyed === false, "state already destroyed");
|
|
80
|
+
destroyed = true;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return {
|
|
84
|
+
decrypt,
|
|
85
|
+
destroy
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const CHUNK_SIZE = 8192;
|
|
90
|
+
|
|
91
|
+
async function encryptSecretstream(key, data, progress) {
|
|
92
|
+
const { encrypt: crypt, destroy, header } = encrypt(key);
|
|
93
|
+
const cryptedChunk =
|
|
94
|
+
CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;
|
|
95
|
+
const max =
|
|
96
|
+
Math.ceil(data.byteLength / CHUNK_SIZE) * cryptedChunk + header.byteLength;
|
|
97
|
+
|
|
98
|
+
progress?.({
|
|
99
|
+
percent: 0,
|
|
100
|
+
total: max,
|
|
101
|
+
current: 0
|
|
102
|
+
});
|
|
103
|
+
const final = new Uint8Array(max);
|
|
104
|
+
const sparkEncrypted = new SparkMD5.ArrayBuffer();
|
|
105
|
+
const spark = new SparkMD5.ArrayBuffer();
|
|
106
|
+
|
|
107
|
+
final.set(header);
|
|
108
|
+
sparkEncrypted.append(header);
|
|
109
|
+
let total = header.byteLength;
|
|
110
|
+
progress?.({
|
|
111
|
+
percent: total / max,
|
|
112
|
+
total: max,
|
|
113
|
+
current: total
|
|
114
|
+
});
|
|
115
|
+
let lastPercent = total / max;
|
|
116
|
+
|
|
117
|
+
for (const chunk of chunks(data, CHUNK_SIZE)) {
|
|
118
|
+
spark.append(chunk);
|
|
119
|
+
const tag =
|
|
120
|
+
chunk.length < CHUNK_SIZE
|
|
121
|
+
? sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL
|
|
122
|
+
: sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE;
|
|
123
|
+
const crypted = crypt(tag, chunk);
|
|
124
|
+
sparkEncrypted.append(crypted);
|
|
125
|
+
final.set(crypted, total);
|
|
126
|
+
total += crypted.byteLength;
|
|
127
|
+
const percent = total / max;
|
|
128
|
+
if (percent > lastPercent + 0.01) {
|
|
129
|
+
progress?.({
|
|
130
|
+
percent,
|
|
131
|
+
total: max,
|
|
132
|
+
current: total
|
|
133
|
+
});
|
|
134
|
+
lastPercent = percent;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
destroy();
|
|
139
|
+
progress?.({
|
|
140
|
+
percent: 1,
|
|
141
|
+
total,
|
|
142
|
+
current: total
|
|
143
|
+
});
|
|
144
|
+
return {
|
|
145
|
+
data: final.slice(0, total),
|
|
146
|
+
md5Encrypted: sparkEncrypted.end(),
|
|
147
|
+
md5: spark.end()
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
async function decryptSecretstream(key, data, progress) {
|
|
152
|
+
const header = data.slice(
|
|
153
|
+
0,
|
|
154
|
+
sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES
|
|
155
|
+
);
|
|
156
|
+
data = data.slice(sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);
|
|
157
|
+
|
|
158
|
+
const { decrypt: decryptt, destroy } = decrypt(header, key);
|
|
159
|
+
const chunkSize =
|
|
160
|
+
CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;
|
|
161
|
+
const max = Math.ceil(data.byteLength / chunkSize) * CHUNK_SIZE;
|
|
162
|
+
|
|
163
|
+
progress?.({
|
|
164
|
+
percent: 0,
|
|
165
|
+
total: max,
|
|
166
|
+
current: 0
|
|
167
|
+
});
|
|
168
|
+
const final = new Uint8Array(max);
|
|
169
|
+
let total = 0;
|
|
170
|
+
let lastPercent = total / max;
|
|
171
|
+
|
|
172
|
+
for (const chunk of chunks(data, chunkSize)) {
|
|
173
|
+
const tmp = decryptt(chunk);
|
|
174
|
+
final.set(tmp.message, total);
|
|
175
|
+
total += tmp.message.byteLength;
|
|
176
|
+
|
|
177
|
+
const percent = total / max;
|
|
178
|
+
if (percent > lastPercent + 0.01) {
|
|
179
|
+
progress?.({
|
|
180
|
+
percent,
|
|
181
|
+
total: max,
|
|
182
|
+
current: total
|
|
183
|
+
});
|
|
184
|
+
lastPercent = percent;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
destroy();
|
|
189
|
+
progress?.({
|
|
190
|
+
percent: 1,
|
|
191
|
+
total,
|
|
192
|
+
current: total
|
|
193
|
+
});
|
|
194
|
+
return final.slice(0, total);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
self.onmessage = async ({ data }) => {
|
|
198
|
+
switch (data.event) {
|
|
199
|
+
case "encrypt": {
|
|
200
|
+
postMessage({ event: "working" })
|
|
201
|
+
postMessage({
|
|
202
|
+
event: "encrypt-result",
|
|
203
|
+
data: await encryptSecretstream(data.key, data.data, progress => postMessage({
|
|
204
|
+
event: "encrypt-progress",
|
|
205
|
+
data: progress
|
|
206
|
+
}))
|
|
207
|
+
});
|
|
208
|
+
postMessage({ event: "ready" })
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
case "decrypt": {
|
|
212
|
+
postMessage({ event: "working" })
|
|
213
|
+
postMessage({
|
|
214
|
+
event: "decrypt-result",
|
|
215
|
+
data: await decryptSecretstream(data.key, data.data, progress => postMessage({
|
|
216
|
+
event: "decrypt-progress",
|
|
217
|
+
data: progress
|
|
218
|
+
}))
|
|
219
|
+
});
|
|
220
|
+
postMessage({ event: "ready" })
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}`;
|
|
225
|
+
export const workerMd5Script = `importScripts('https://cdnjs.cloudflare.com/ajax/libs/spark-md5/3.0.0/spark-md5.min.js');
|
|
226
|
+
|
|
227
|
+
function* chunks(arr, n) {
|
|
228
|
+
for (let i = 0; i < arr.length; i += n) {
|
|
229
|
+
yield arr.slice(i, i + n);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const CHUNK_SIZE = 8192;
|
|
234
|
+
|
|
235
|
+
function md5(data) {
|
|
236
|
+
const spark = new SparkMD5.ArrayBuffer();
|
|
237
|
+
for (const chunk of chunks(data, CHUNK_SIZE)) {
|
|
238
|
+
spark.append(chunk);
|
|
239
|
+
}
|
|
240
|
+
return spark.end();
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
self.onmessage = ({ data }) => {
|
|
245
|
+
switch (data.event) {
|
|
246
|
+
case "md5": {
|
|
247
|
+
postMessage({
|
|
248
|
+
event: "md5-result",
|
|
249
|
+
data: md5(data.data)
|
|
250
|
+
});
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}`;
|
|
255
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3b3JrZXJTb2RpdW1TY3JpcHQiLCJ3b3JrZXJNZDVTY3JpcHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2VyL3dvcmtlckNvZGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB3b3JrZXJTb2RpdW1TY3JpcHQgPSBgbGV0IHNvZGl1bTtcblxuc2VsZi5zb2RpdW0gPSB7XG4gIG9ubG9hZDogKHNvZCkgPT4ge1xuICAgIHNvZGl1bSA9IHNvZFxuICAgIHBvc3RNZXNzYWdlKHsgZXZlbnQ6IFwicmVhZHlcIiB9KVxuICB9XG59O1xuXG5pbXBvcnRTY3JpcHRzKCdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamVkaXNjdDEvbGlic29kaXVtLmpzQG1hc3Rlci9kaXN0L2Jyb3dzZXJzL3NvZGl1bS5qcycpO1xuaW1wb3J0U2NyaXB0cygnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvc3BhcmstbWQ1LzMuMC4wL3NwYXJrLW1kNS5taW4uanMnKTtcblxuZnVuY3Rpb24qIGNodW5rcyhhcnIsIG4pIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IG4pIHtcbiAgICB5aWVsZCBhcnIuc2xpY2UoaSwgaSArIG4pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydChjLCBtZXNzYWdlKSB7XG4gIGlmICghYykge1xuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbmNyeXB0KGtleSkge1xuICBsZXQgZGVzdHJveWVkID0gZmFsc2U7XG4gIGNvbnN0IHtcbiAgICBzdGF0ZSxcbiAgICBoZWFkZXJcbiAgfSA9IHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X2luaXRfcHVzaChrZXkpO1xuXG4gIGNvbnN0IGVuY3J5cHQgPSAodGFnLCBwbGFpbnRleHQpID0+IHtcbiAgICBhc3NlcnQoZGVzdHJveWVkID09PSBmYWxzZSwgXCJzdGF0ZSBhbHJlYWR5IGRlc3Ryb3llZFwiKTtcblxuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9wdXNoKFxuICAgICAgc3RhdGUsXG4gICAgICBwbGFpbnRleHQsXG4gICAgICBudWxsLFxuICAgICAgdGFnXG4gICAgKTtcbiAgfTtcblxuICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuICAgIGRlc3Ryb3llZCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVuY3J5cHQsXG4gICAgZGVzdHJveSxcbiAgICBoZWFkZXJcbiAgfTtcbn1cblxuZnVuY3Rpb24gZGVjcnlwdChoZWFkZXIsIGtleSkge1xuICBhc3NlcnQoXG4gICAgaGVhZGVyLmJ5dGVMZW5ndGggPj1cbiAgICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTLFxuICAgIFwiaGVhZGVyIG11c3QgYmUgYXQgbGVhc3QgSEVBREVSQllURVMgKFwiICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfSEVBREVSQllURVMgKyBcIikgbG9uZ1wiXG4gICk7XG4gIGFzc2VydChcbiAgICBrZXkuYnl0ZUxlbmd0aCA+PSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyxcbiAgICBcImtleSBtdXN0IGJlIGF0IGxlYXN0IEtFWUJZVEVTIChcIiArIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0tFWUJZVEVTICsgXCIpIGxvbmdcIlxuICApO1xuXG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgY29uc3Qgc3RhdGUgPSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1bGwoXG4gICAgaGVhZGVyLFxuICAgIGtleVxuICApO1xuXG4gIGNvbnN0IGRlY3J5cHQgPSBjaXBoZXJ0ZXh0ID0+IHtcbiAgICBhc3NlcnQoZGVzdHJveWVkID09PSBmYWxzZSwgXCJzdGF0ZSBhbHJlYWR5IGRlc3Ryb3llZFwiKTtcblxuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9wdWxsKHN0YXRlLCBjaXBoZXJ0ZXh0KTtcbiAgfTtcblxuICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuICAgIGRlc3Ryb3llZCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRlY3J5cHQsXG4gICAgZGVzdHJveVxuICB9O1xufVxuXG5jb25zdCBDSFVOS19TSVpFID0gODE5MjtcblxuYXN5bmMgZnVuY3Rpb24gZW5jcnlwdFNlY3JldHN0cmVhbShrZXksIGRhdGEsIHByb2dyZXNzKSB7XG4gIGNvbnN0IHsgZW5jcnlwdDogY3J5cHQsIGRlc3Ryb3ksIGhlYWRlciB9ID0gZW5jcnlwdChrZXkpO1xuICBjb25zdCBjcnlwdGVkQ2h1bmsgPVxuICAgIENIVU5LX1NJWkUgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9BQllURVM7XG4gIGNvbnN0IG1heCA9XG4gICAgTWF0aC5jZWlsKGRhdGEuYnl0ZUxlbmd0aCAvIENIVU5LX1NJWkUpICogY3J5cHRlZENodW5rICsgaGVhZGVyLmJ5dGVMZW5ndGg7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgY29uc3Qgc3BhcmtFbmNyeXB0ZWQgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcbiAgY29uc3Qgc3BhcmsgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcblxuICBmaW5hbC5zZXQoaGVhZGVyKTtcbiAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGhlYWRlcik7XG4gIGxldCB0b3RhbCA9IGhlYWRlci5ieXRlTGVuZ3RoO1xuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiB0b3RhbCAvIG1heCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IHRvdGFsXG4gIH0pO1xuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBDSFVOS19TSVpFKSkge1xuICAgIHNwYXJrLmFwcGVuZChjaHVuayk7XG4gICAgY29uc3QgdGFnID1cbiAgICAgIGNodW5rLmxlbmd0aCA8IENIVU5LX1NJWkVcbiAgICAgICAgPyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfRklOQUxcbiAgICAgICAgOiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfTUVTU0FHRTtcbiAgICBjb25zdCBjcnlwdGVkID0gY3J5cHQodGFnLCBjaHVuayk7XG4gICAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGNyeXB0ZWQpO1xuICAgIGZpbmFsLnNldChjcnlwdGVkLCB0b3RhbCk7XG4gICAgdG90YWwgKz0gY3J5cHRlZC5ieXRlTGVuZ3RoO1xuICAgIGNvbnN0IHBlcmNlbnQgPSB0b3RhbCAvIG1heDtcbiAgICBpZiAocGVyY2VudCA+IGxhc3RQZXJjZW50ICsgMC4wMSkge1xuICAgICAgcHJvZ3Jlc3M/Lih7XG4gICAgICAgIHBlcmNlbnQsXG4gICAgICAgIHRvdGFsOiBtYXgsXG4gICAgICAgIGN1cnJlbnQ6IHRvdGFsXG4gICAgICB9KTtcbiAgICAgIGxhc3RQZXJjZW50ID0gcGVyY2VudDtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCk7XG4gIHByb2dyZXNzPy4oe1xuICAgIHBlcmNlbnQ6IDEsXG4gICAgdG90YWwsXG4gICAgY3VycmVudDogdG90YWxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogZmluYWwuc2xpY2UoMCwgdG90YWwpLFxuICAgIG1kNUVuY3J5cHRlZDogc3BhcmtFbmNyeXB0ZWQuZW5kKCksXG4gICAgbWQ1OiBzcGFyay5lbmQoKVxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBkZWNyeXB0U2VjcmV0c3RyZWFtKGtleSwgZGF0YSwgcHJvZ3Jlc3MpIHtcbiAgY29uc3QgaGVhZGVyID0gZGF0YS5zbGljZShcbiAgICAwLFxuICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTXG4gICk7XG4gIGRhdGEgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTKTtcblxuICBjb25zdCB7IGRlY3J5cHQ6IGRlY3J5cHR0LCBkZXN0cm95IH0gPSBkZWNyeXB0KGhlYWRlciwga2V5KTtcbiAgY29uc3QgY2h1bmtTaXplID1cbiAgICBDSFVOS19TSVpFICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTO1xuICBjb25zdCBtYXggPSBNYXRoLmNlaWwoZGF0YS5ieXRlTGVuZ3RoIC8gY2h1bmtTaXplKSAqIENIVU5LX1NJWkU7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgbGV0IHRvdGFsID0gMDtcbiAgbGV0IGxhc3RQZXJjZW50ID0gdG90YWwgLyBtYXg7XG5cbiAgZm9yIChjb25zdCBjaHVuayBvZiBjaHVua3MoZGF0YSwgY2h1bmtTaXplKSkge1xuICAgIGNvbnN0IHRtcCA9IGRlY3J5cHR0KGNodW5rKTtcbiAgICBmaW5hbC5zZXQodG1wLm1lc3NhZ2UsIHRvdGFsKTtcbiAgICB0b3RhbCArPSB0bXAubWVzc2FnZS5ieXRlTGVuZ3RoO1xuXG4gICAgY29uc3QgcGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuICAgIGlmIChwZXJjZW50ID4gbGFzdFBlcmNlbnQgKyAwLjAxKSB7XG4gICAgICBwcm9ncmVzcz8uKHtcbiAgICAgICAgcGVyY2VudCxcbiAgICAgICAgdG90YWw6IG1heCxcbiAgICAgICAgY3VycmVudDogdG90YWxcbiAgICAgIH0pO1xuICAgICAgbGFzdFBlcmNlbnQgPSBwZXJjZW50O1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKTtcbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMSxcbiAgICB0b3RhbCxcbiAgICBjdXJyZW50OiB0b3RhbFxuICB9KTtcbiAgcmV0dXJuIGZpbmFsLnNsaWNlKDAsIHRvdGFsKTtcbn1cblxuc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoeyBkYXRhIH0pID0+IHtcbiAgc3dpdGNoIChkYXRhLmV2ZW50KSB7XG4gICAgY2FzZSBcImVuY3J5cHRcIjoge1xuICAgICAgcG9zdE1lc3NhZ2UoeyBldmVudDogXCJ3b3JraW5nXCIgfSlcbiAgICAgIHBvc3RNZXNzYWdlKHtcbiAgICAgICAgZXZlbnQ6IFwiZW5jcnlwdC1yZXN1bHRcIixcbiAgICAgICAgZGF0YTogYXdhaXQgZW5jcnlwdFNlY3JldHN0cmVhbShkYXRhLmtleSwgZGF0YS5kYXRhLCBwcm9ncmVzcyA9PiBwb3N0TWVzc2FnZSh7XG4gICAgICAgICAgZXZlbnQ6IFwiZW5jcnlwdC1wcm9ncmVzc1wiLFxuICAgICAgICAgIGRhdGE6IHByb2dyZXNzXG4gICAgICAgIH0pKVxuICAgICAgfSk7XG4gICAgICBwb3N0TWVzc2FnZSh7IGV2ZW50OiBcInJlYWR5XCIgfSlcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIFwiZGVjcnlwdFwiOiB7XG4gICAgICBwb3N0TWVzc2FnZSh7IGV2ZW50OiBcIndvcmtpbmdcIiB9KVxuICAgICAgcG9zdE1lc3NhZ2Uoe1xuICAgICAgICBldmVudDogXCJkZWNyeXB0LXJlc3VsdFwiLFxuICAgICAgICBkYXRhOiBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKGRhdGEua2V5LCBkYXRhLmRhdGEsIHByb2dyZXNzID0+IHBvc3RNZXNzYWdlKHtcbiAgICAgICAgICBldmVudDogXCJkZWNyeXB0LXByb2dyZXNzXCIsXG4gICAgICAgICAgZGF0YTogcHJvZ3Jlc3NcbiAgICAgICAgfSkpXG4gICAgICB9KTtcbiAgICAgIHBvc3RNZXNzYWdlKHsgZXZlbnQ6IFwicmVhZHlcIiB9KVxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGNvbnN0IHdvcmtlck1kNVNjcmlwdCA9IGBpbXBvcnRTY3JpcHRzKCdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zcGFyay1tZDUvMy4wLjAvc3BhcmstbWQ1Lm1pbi5qcycpO1xuXG5mdW5jdGlvbiogY2h1bmtzKGFyciwgbikge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gbikge1xuICAgIHlpZWxkIGFyci5zbGljZShpLCBpICsgbik7XG4gIH1cbn1cblxuY29uc3QgQ0hVTktfU0laRSA9IDgxOTI7XG5cbmZ1bmN0aW9uIG1kNShkYXRhKSB7XG4gIGNvbnN0IHNwYXJrID0gbmV3IFNwYXJrTUQ1LkFycmF5QnVmZmVyKCk7XG4gIGZvciAoY29uc3QgY2h1bmsgb2YgY2h1bmtzKGRhdGEsIENIVU5LX1NJWkUpKSB7XG4gICAgc3BhcmsuYXBwZW5kKGNodW5rKTtcbiAgfVxuICByZXR1cm4gc3BhcmsuZW5kKCk7XG59XG5cblxuc2VsZi5vbm1lc3NhZ2UgPSAoeyBkYXRhIH0pID0+IHtcbiAgc3dpdGNoIChkYXRhLmV2ZW50KSB7XG4gICAgY2FzZSBcIm1kNVwiOiB7XG4gICAgICBwb3N0TWVzc2FnZSh7XG4gICAgICAgIGV2ZW50OiBcIm1kNS1yZXN1bHRcIixcbiAgICAgICAgZGF0YTogbWQ1KGRhdGEuZGF0YSlcbiAgICAgIH0pO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59YDtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNQSxrQkFBa0IsR0FBSTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQS9OTztBQWlPUCxPQUFPLE1BQU1DLGVBQWUsR0FBSTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBN0JPIn0=
|