@ironcorelabs/ironweb 4.3.1 → 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commonjs/Constants.js +11 -2
- package/commonjs/shim/Initialize.js +28 -2
- package/commonjs/shim/index.js +6 -3
- package/commonjs/shim/sdk/UserSDK.js +33 -1
- package/es/Constants.js +10 -1
- package/es/shim/Initialize.js +26 -1
- package/es/shim/index.js +2 -1
- package/es/shim/sdk/UserSDK.js +31 -0
- package/ironweb.d.ts +15 -0
- package/ironweb.min.js +1 -1
- package/ironweb.min.js.map +1 -1
- package/package.json +1 -1
package/commonjs/Constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Versions = exports.UserAndGroupTypes = exports.GroupPermissions = exports.Frame = exports.ErrorCodes = exports.CryptoConstants = exports.ALLOWED_ID_CHAR_REGEX = exports.HEADER_META_LENGTH_LENGTH = exports.VERSION_HEADER_LENGTH = exports.DOCUMENT_ENCRYPTION_DETAILS_VERSION_NUMBER = void 0;
|
|
3
|
+
exports.Versions = exports.UserStatus = exports.UserAndGroupTypes = exports.GroupPermissions = exports.Frame = exports.ErrorCodes = exports.CryptoConstants = exports.ALLOWED_ID_CHAR_REGEX = exports.HEADER_META_LENGTH_LENGTH = exports.VERSION_HEADER_LENGTH = exports.DOCUMENT_ENCRYPTION_DETAILS_VERSION_NUMBER = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Number which is prepended onto encrypted documents to denote which classification of encrypted data
|
|
6
6
|
* the document represents. Used to have a place to denote header info, symmetric encryption details, etc
|
|
@@ -47,6 +47,7 @@ var ErrorCodes;
|
|
|
47
47
|
ErrorCodes[ErrorCodes["USER_UPDATE_KEY_REQUEST_FAILURE"] = 211] = "USER_UPDATE_KEY_REQUEST_FAILURE";
|
|
48
48
|
ErrorCodes[ErrorCodes["USER_PRIVATE_KEY_ROTATION_FAILURE"] = 212] = "USER_PRIVATE_KEY_ROTATION_FAILURE";
|
|
49
49
|
ErrorCodes[ErrorCodes["USER_DEVICE_LIST_REQUEST_FAILURE"] = 213] = "USER_DEVICE_LIST_REQUEST_FAILURE";
|
|
50
|
+
ErrorCodes[ErrorCodes["USER_UPDATE_STATUS_REQUEST_FAILURE"] = 214] = "USER_UPDATE_STATUS_REQUEST_FAILURE";
|
|
50
51
|
ErrorCodes[ErrorCodes["DOCUMENT_LIST_REQUEST_FAILURE"] = 300] = "DOCUMENT_LIST_REQUEST_FAILURE";
|
|
51
52
|
ErrorCodes[ErrorCodes["DOCUMENT_GET_REQUEST_FAILURE"] = 301] = "DOCUMENT_GET_REQUEST_FAILURE";
|
|
52
53
|
ErrorCodes[ErrorCodes["DOCUMENT_CREATE_REQUEST_FAILURE"] = 302] = "DOCUMENT_CREATE_REQUEST_FAILURE";
|
|
@@ -112,7 +113,15 @@ exports.UserAndGroupTypes = {
|
|
|
112
113
|
USER: "user",
|
|
113
114
|
GROUP: "group",
|
|
114
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* Status values for a user. A disabled user cannot call SDK functions but
|
|
118
|
+
* remains a member of any groups they were added to.
|
|
119
|
+
*/
|
|
120
|
+
exports.UserStatus = {
|
|
121
|
+
DISABLED: 0,
|
|
122
|
+
ENABLED: 1,
|
|
123
|
+
};
|
|
115
124
|
exports.Versions = {
|
|
116
125
|
//This define is replaced at runtime during development, and at build time in the build script with the proper version
|
|
117
|
-
SDK_VERSION: "4.
|
|
126
|
+
SDK_VERSION: "4.4.1",
|
|
118
127
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deleteDeviceByPublicSigningKey = exports.initialize = exports.createUserDeviceKeys = exports.createNewUser = void 0;
|
|
3
|
+
exports.updateUserStatus = exports.deleteDeviceByPublicSigningKey = exports.initialize = exports.createUserDeviceKeys = exports.createNewUser = void 0;
|
|
4
4
|
var futurejs_1 = require("futurejs");
|
|
5
5
|
var Constants_1 = require("../Constants");
|
|
6
6
|
var SDKError_1 = require("../lib/SDKError");
|
|
@@ -77,7 +77,6 @@ var createNewUser = function (jwtCallback, passcode, needsRotation) {
|
|
|
77
77
|
return FrameMediator.sendMessage(payload);
|
|
78
78
|
})
|
|
79
79
|
//Rename a few fields and strip out the users private key and currentKeyId since they'll probably be confusing that they're getting back an encrypted private key
|
|
80
|
-
//eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
81
80
|
.map(function (_a) {
|
|
82
81
|
var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
|
|
83
82
|
return ({
|
|
@@ -164,3 +163,30 @@ var deleteDeviceByPublicSigningKey = function (jwtCallback, publicSigningKey) {
|
|
|
164
163
|
.toPromise();
|
|
165
164
|
};
|
|
166
165
|
exports.deleteDeviceByPublicSigningKey = deleteDeviceByPublicSigningKey;
|
|
166
|
+
/**
|
|
167
|
+
* Update the status (enabled or disabled) of the user identified by the provided JWT.
|
|
168
|
+
* Authenticates with a JWT and does not require an initialized SDK. The user id is taken
|
|
169
|
+
* from the `sub` claim of the JWT.
|
|
170
|
+
*/
|
|
171
|
+
var updateUserStatus = function (jwtCallback, status) {
|
|
172
|
+
return getJWT(jwtCallback)
|
|
173
|
+
.flatMap(function (jwtToken) {
|
|
174
|
+
var payload = {
|
|
175
|
+
type: "UPDATE_USER_STATUS_JWT",
|
|
176
|
+
message: { jwtToken: jwtToken, status: status },
|
|
177
|
+
};
|
|
178
|
+
return FrameMediator.sendMessage(payload);
|
|
179
|
+
})
|
|
180
|
+
.map(function (_a) {
|
|
181
|
+
var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
|
|
182
|
+
return ({
|
|
183
|
+
accountID: id,
|
|
184
|
+
segmentID: segmentId,
|
|
185
|
+
needsRotation: needsRotation,
|
|
186
|
+
status: status,
|
|
187
|
+
userMasterPublicKey: userMasterPublicKey,
|
|
188
|
+
});
|
|
189
|
+
})
|
|
190
|
+
.toPromise();
|
|
191
|
+
};
|
|
192
|
+
exports.updateUserStatus = updateUserStatus;
|
package/commonjs/shim/index.js
CHANGED
|
@@ -14,13 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.SDKError = exports.ErrorCodes = exports.isInitialized = exports.initialize = exports.createNewDeviceKeys = exports.createNewUser = exports.deleteDeviceByPublicSigningKey = void 0;
|
|
17
|
+
exports.SDKError = exports.ErrorCodes = exports.isInitialized = exports.initialize = exports.createNewDeviceKeys = exports.createNewUser = exports.UserStatus = exports.updateUserStatus = exports.deleteDeviceByPublicSigningKey = void 0;
|
|
18
18
|
var Constants_1 = require("../Constants");
|
|
19
19
|
var SDKError_1 = require("../lib/SDKError");
|
|
20
20
|
var Init = require("./Initialize");
|
|
21
21
|
var ShimUtils_1 = require("./ShimUtils");
|
|
22
22
|
var Initialize_1 = require("./Initialize");
|
|
23
23
|
Object.defineProperty(exports, "deleteDeviceByPublicSigningKey", { enumerable: true, get: function () { return Initialize_1.deleteDeviceByPublicSigningKey; } });
|
|
24
|
+
Object.defineProperty(exports, "updateUserStatus", { enumerable: true, get: function () { return Initialize_1.updateUserStatus; } });
|
|
25
|
+
var Constants_2 = require("../Constants");
|
|
26
|
+
Object.defineProperty(exports, "UserStatus", { enumerable: true, get: function () { return Constants_2.UserStatus; } });
|
|
24
27
|
/**
|
|
25
28
|
* Checks bowser functionality to ensure random number generation is supported.
|
|
26
29
|
*/
|
|
@@ -120,8 +123,8 @@ exports.isInitialized = isInitialized;
|
|
|
120
123
|
/**
|
|
121
124
|
* List of SDK Error Codes
|
|
122
125
|
*/
|
|
123
|
-
var
|
|
124
|
-
Object.defineProperty(exports, "ErrorCodes", { enumerable: true, get: function () { return
|
|
126
|
+
var Constants_3 = require("../Constants");
|
|
127
|
+
Object.defineProperty(exports, "ErrorCodes", { enumerable: true, get: function () { return Constants_3.ErrorCodes; } });
|
|
125
128
|
/**
|
|
126
129
|
* SDK Error which extends normal Error object but adds `code` property which will be one of the ErrorCodes from above
|
|
127
130
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.listDevices = exports.deleteDeviceByPublicSigningKey = exports.deleteDevice = exports.deauthorizeDevice = exports.rotateMasterKey = exports.changePasscode = void 0;
|
|
3
|
+
exports.disableSelf = exports.listDevices = exports.deleteDeviceByPublicSigningKey = exports.deleteDevice = exports.deauthorizeDevice = exports.rotateMasterKey = exports.changePasscode = void 0;
|
|
4
4
|
var ShimUtils_1 = require("../ShimUtils");
|
|
5
5
|
var FrameMediator = require("../FrameMediator");
|
|
6
6
|
/**
|
|
@@ -105,3 +105,35 @@ var listDevices = function () {
|
|
|
105
105
|
.toPromise();
|
|
106
106
|
};
|
|
107
107
|
exports.listDevices = listDevices;
|
|
108
|
+
/**
|
|
109
|
+
* Disables the currently authenticated user. Disabled users are unable to call any
|
|
110
|
+
* other authorized SDK functions but remain in any groups they belonged to. Users
|
|
111
|
+
* cannot re-enable themselves; an admin must call `updateUserStatus` with a JWT for
|
|
112
|
+
* the user to re-enable them.
|
|
113
|
+
*/
|
|
114
|
+
var disableSelf = function () {
|
|
115
|
+
(0, ShimUtils_1.checkSDKInitialized)();
|
|
116
|
+
var payload = {
|
|
117
|
+
type: "DISABLE_USER_SELF",
|
|
118
|
+
message: null,
|
|
119
|
+
};
|
|
120
|
+
// The frame wipes its ApiState and device keys on a successful disable, so mirror the
|
|
121
|
+
// current-device path of `deleteDevice` here: drop the parent-window symmetric key now
|
|
122
|
+
// and clear the init flag on success. Otherwise `isInitialized()` keeps returning true
|
|
123
|
+
// while the frame is empty, and the next SDK call fails confusingly in the frame.
|
|
124
|
+
(0, ShimUtils_1.clearParentWindowSymmetricKey)();
|
|
125
|
+
return FrameMediator.sendMessage(payload)
|
|
126
|
+
.map(function (_a) {
|
|
127
|
+
var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
|
|
128
|
+
(0, ShimUtils_1.clearSDKInitialized)();
|
|
129
|
+
return {
|
|
130
|
+
accountID: id,
|
|
131
|
+
segmentID: segmentId,
|
|
132
|
+
needsRotation: needsRotation,
|
|
133
|
+
status: status,
|
|
134
|
+
userMasterPublicKey: userMasterPublicKey,
|
|
135
|
+
};
|
|
136
|
+
})
|
|
137
|
+
.toPromise();
|
|
138
|
+
};
|
|
139
|
+
exports.disableSelf = disableSelf;
|
package/es/Constants.js
CHANGED
|
@@ -44,6 +44,7 @@ export var ErrorCodes;
|
|
|
44
44
|
ErrorCodes[ErrorCodes["USER_UPDATE_KEY_REQUEST_FAILURE"] = 211] = "USER_UPDATE_KEY_REQUEST_FAILURE";
|
|
45
45
|
ErrorCodes[ErrorCodes["USER_PRIVATE_KEY_ROTATION_FAILURE"] = 212] = "USER_PRIVATE_KEY_ROTATION_FAILURE";
|
|
46
46
|
ErrorCodes[ErrorCodes["USER_DEVICE_LIST_REQUEST_FAILURE"] = 213] = "USER_DEVICE_LIST_REQUEST_FAILURE";
|
|
47
|
+
ErrorCodes[ErrorCodes["USER_UPDATE_STATUS_REQUEST_FAILURE"] = 214] = "USER_UPDATE_STATUS_REQUEST_FAILURE";
|
|
47
48
|
ErrorCodes[ErrorCodes["DOCUMENT_LIST_REQUEST_FAILURE"] = 300] = "DOCUMENT_LIST_REQUEST_FAILURE";
|
|
48
49
|
ErrorCodes[ErrorCodes["DOCUMENT_GET_REQUEST_FAILURE"] = 301] = "DOCUMENT_GET_REQUEST_FAILURE";
|
|
49
50
|
ErrorCodes[ErrorCodes["DOCUMENT_CREATE_REQUEST_FAILURE"] = 302] = "DOCUMENT_CREATE_REQUEST_FAILURE";
|
|
@@ -109,7 +110,15 @@ export var UserAndGroupTypes = {
|
|
|
109
110
|
USER: "user",
|
|
110
111
|
GROUP: "group",
|
|
111
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* Status values for a user. A disabled user cannot call SDK functions but
|
|
115
|
+
* remains a member of any groups they were added to.
|
|
116
|
+
*/
|
|
117
|
+
export var UserStatus = {
|
|
118
|
+
DISABLED: 0,
|
|
119
|
+
ENABLED: 1,
|
|
120
|
+
};
|
|
112
121
|
export var Versions = {
|
|
113
122
|
//This define is replaced at runtime during development, and at build time in the build script with the proper version
|
|
114
|
-
SDK_VERSION: "4.
|
|
123
|
+
SDK_VERSION: "4.4.1",
|
|
115
124
|
};
|
package/es/shim/Initialize.js
CHANGED
|
@@ -74,7 +74,6 @@ export var createNewUser = function (jwtCallback, passcode, needsRotation) {
|
|
|
74
74
|
return FrameMediator.sendMessage(payload);
|
|
75
75
|
})
|
|
76
76
|
//Rename a few fields and strip out the users private key and currentKeyId since they'll probably be confusing that they're getting back an encrypted private key
|
|
77
|
-
//eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
78
77
|
.map(function (_a) {
|
|
79
78
|
var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
|
|
80
79
|
return ({
|
|
@@ -157,3 +156,29 @@ export var deleteDeviceByPublicSigningKey = function (jwtCallback, publicSigning
|
|
|
157
156
|
})
|
|
158
157
|
.toPromise();
|
|
159
158
|
};
|
|
159
|
+
/**
|
|
160
|
+
* Update the status (enabled or disabled) of the user identified by the provided JWT.
|
|
161
|
+
* Authenticates with a JWT and does not require an initialized SDK. The user id is taken
|
|
162
|
+
* from the `sub` claim of the JWT.
|
|
163
|
+
*/
|
|
164
|
+
export var updateUserStatus = function (jwtCallback, status) {
|
|
165
|
+
return getJWT(jwtCallback)
|
|
166
|
+
.flatMap(function (jwtToken) {
|
|
167
|
+
var payload = {
|
|
168
|
+
type: "UPDATE_USER_STATUS_JWT",
|
|
169
|
+
message: { jwtToken: jwtToken, status: status },
|
|
170
|
+
};
|
|
171
|
+
return FrameMediator.sendMessage(payload);
|
|
172
|
+
})
|
|
173
|
+
.map(function (_a) {
|
|
174
|
+
var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
|
|
175
|
+
return ({
|
|
176
|
+
accountID: id,
|
|
177
|
+
segmentID: segmentId,
|
|
178
|
+
needsRotation: needsRotation,
|
|
179
|
+
status: status,
|
|
180
|
+
userMasterPublicKey: userMasterPublicKey,
|
|
181
|
+
});
|
|
182
|
+
})
|
|
183
|
+
.toPromise();
|
|
184
|
+
};
|
package/es/shim/index.js
CHANGED
|
@@ -2,7 +2,8 @@ import { ErrorCodes } from "../Constants";
|
|
|
2
2
|
import SDKError from "../lib/SDKError";
|
|
3
3
|
import * as Init from "./Initialize";
|
|
4
4
|
import { checkSDKInitialized } from "./ShimUtils";
|
|
5
|
-
export { deleteDeviceByPublicSigningKey } from "./Initialize";
|
|
5
|
+
export { deleteDeviceByPublicSigningKey, updateUserStatus } from "./Initialize";
|
|
6
|
+
export { UserStatus } from "../Constants";
|
|
6
7
|
/**
|
|
7
8
|
* Checks bowser functionality to ensure random number generation is supported.
|
|
8
9
|
*/
|
package/es/shim/sdk/UserSDK.js
CHANGED
|
@@ -96,3 +96,34 @@ export var listDevices = function () {
|
|
|
96
96
|
})
|
|
97
97
|
.toPromise();
|
|
98
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* Disables the currently authenticated user. Disabled users are unable to call any
|
|
101
|
+
* other authorized SDK functions but remain in any groups they belonged to. Users
|
|
102
|
+
* cannot re-enable themselves; an admin must call `updateUserStatus` with a JWT for
|
|
103
|
+
* the user to re-enable them.
|
|
104
|
+
*/
|
|
105
|
+
export var disableSelf = function () {
|
|
106
|
+
checkSDKInitialized();
|
|
107
|
+
var payload = {
|
|
108
|
+
type: "DISABLE_USER_SELF",
|
|
109
|
+
message: null,
|
|
110
|
+
};
|
|
111
|
+
// The frame wipes its ApiState and device keys on a successful disable, so mirror the
|
|
112
|
+
// current-device path of `deleteDevice` here: drop the parent-window symmetric key now
|
|
113
|
+
// and clear the init flag on success. Otherwise `isInitialized()` keeps returning true
|
|
114
|
+
// while the frame is empty, and the next SDK call fails confusingly in the frame.
|
|
115
|
+
clearParentWindowSymmetricKey();
|
|
116
|
+
return FrameMediator.sendMessage(payload)
|
|
117
|
+
.map(function (_a) {
|
|
118
|
+
var _b = _a.message, id = _b.id, segmentId = _b.segmentId, needsRotation = _b.needsRotation, status = _b.status, userMasterPublicKey = _b.userMasterPublicKey;
|
|
119
|
+
clearSDKInitialized();
|
|
120
|
+
return {
|
|
121
|
+
accountID: id,
|
|
122
|
+
segmentID: segmentId,
|
|
123
|
+
needsRotation: needsRotation,
|
|
124
|
+
status: status,
|
|
125
|
+
userMasterPublicKey: userMasterPublicKey,
|
|
126
|
+
};
|
|
127
|
+
})
|
|
128
|
+
.toPromise();
|
|
129
|
+
};
|
package/ironweb.d.ts
CHANGED
|
@@ -155,6 +155,18 @@ export interface UserCreateResponse {
|
|
|
155
155
|
userMasterPublicKey: PublicKey<Base64String>;
|
|
156
156
|
needsRotation: boolean;
|
|
157
157
|
}
|
|
158
|
+
export interface UserUpdateResponse {
|
|
159
|
+
accountID: string;
|
|
160
|
+
segmentID: number;
|
|
161
|
+
status: UserStatus;
|
|
162
|
+
userMasterPublicKey: PublicKey<Base64String>;
|
|
163
|
+
needsRotation: boolean;
|
|
164
|
+
}
|
|
165
|
+
export const UserStatus: {
|
|
166
|
+
DISABLED: 0;
|
|
167
|
+
ENABLED: 1;
|
|
168
|
+
};
|
|
169
|
+
export type UserStatus = 0 | 1;
|
|
158
170
|
export interface DeviceKeys {
|
|
159
171
|
accountId: string;
|
|
160
172
|
segmentId: number;
|
|
@@ -200,6 +212,7 @@ export interface User {
|
|
|
200
212
|
listDevices(): Promise<UserDeviceListResponse>;
|
|
201
213
|
changePasscode(currentPasscode: string, newPasscode: string): Promise<void>;
|
|
202
214
|
rotateMasterKey(passcode: string): Promise<void>;
|
|
215
|
+
disableSelf(): Promise<UserUpdateResponse>;
|
|
203
216
|
}
|
|
204
217
|
|
|
205
218
|
export interface Document {
|
|
@@ -306,6 +319,7 @@ export interface ErrorCodes {
|
|
|
306
319
|
USER_DEVICE_DELETE_REQUEST_FAILURE: 210;
|
|
307
320
|
USER_UPDATE_KEY_REQUEST_FAILURE: 211;
|
|
308
321
|
USER_PRIVATE_KEY_ROTATION_FAILURE: 212;
|
|
322
|
+
USER_UPDATE_STATUS_REQUEST_FAILURE: 214;
|
|
309
323
|
DOCUMENT_LIST_REQUEST_FAILURE: 300;
|
|
310
324
|
DOCUMENT_GET_REQUEST_FAILURE: 301;
|
|
311
325
|
DOCUMENT_CREATE_REQUEST_FAILURE: 302;
|
|
@@ -360,3 +374,4 @@ export function createNewUser(jwtCallback: JWTCallback, passcode: string, option
|
|
|
360
374
|
export function createNewDeviceKeys(jwtCallback: JWTCallback, passcode: string): Promise<DeviceKeys>;
|
|
361
375
|
export function isInitialized(): boolean;
|
|
362
376
|
export function deleteDeviceByPublicSigningKey(jwtCallback: JWTCallback, publicSigningKey: Base64String): Promise<number>;
|
|
377
|
+
export function updateUserStatus(jwtCallback: JWTCallback, status: UserStatus): Promise<UserUpdateResponse>;
|
package/ironweb.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ironweb=t():e.ironweb=t()}(self,(()=>(()=>{"use strict";var e={52(e,t){var r="utf8: invalid string",n="utf8: invalid source encoding";function o(e){for(var t=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);if(o<128)t+=1;else if(o<2048)t+=2;else if(o<55296)t+=3;else{if(!(o<=57343))throw new Error(r);if(n>=e.length-1)throw new Error(r);n++,t+=4}}return t}t.lF=function(e){for(var t=new Uint8Array(o(e)),r=0,n=0;n<e.length;n++){var a=e.charCodeAt(n);a<128?t[r++]=a:a<2048?(t[r++]=192|a>>6,t[r++]=128|63&a):a<55296?(t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a):(n++,a=(1023&a)<<10,a|=1023&e.charCodeAt(n),a+=65536,t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a)}return t},t.D4=function(e){for(var t=[],r=0;r<e.length;r++){var o=e[r];if(128&o){var a=void 0;if(o<224){if(r>=e.length)throw new Error(n);if(128!=(192&(E=e[++r])))throw new Error(n);o=(31&o)<<6|63&E,a=128}else if(o<240){if(r>=e.length-1)throw new Error(n);var E=e[++r],i=e[++r];if(128!=(192&E)||128!=(192&i))throw new Error(n);o=(15&o)<<12|(63&E)<<6|63&i,a=2048}else{if(!(o<248))throw new Error(n);if(r>=e.length-2)throw new Error(n);E=e[++r],i=e[++r];var u=e[++r];if(128!=(192&E)||128!=(192&i)||128!=(192&u))throw new Error(n);o=(15&o)<<18|(63&E)<<12|(63&i)<<6|63&u,a=65536}if(o<a||o>=55296&&o<=57343)throw new Error(n);if(o>=65536){if(o>1114111)throw new Error(n);o-=65536,t.push(String.fromCharCode(55296|o>>10)),o=56320|1023&o}}t.push(String.fromCharCode(o))}return t.join("")}},526(e,t){t.bg=function(e){var t,r,a=i(e),E=a[0],u=a[1],s=new o(function(e,t,r){return 3*(t+r)/4-r}(0,E,u)),c=0,_=u>0?E-4:E;for(r=0;r<_;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],s[c++]=t>>16&255,s[c++]=t>>8&255,s[c++]=255&t;2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,s[c++]=255&t);1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,s[c++]=t>>8&255,s[c++]=255&t);return s},t.iI=function(e){for(var t,n=e.length,o=n%3,a=[],E=16383,i=0,s=n-o;i<s;i+=E)a.push(u(e,i,i+E>s?s:i+E));1===o?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return a.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=0;E<64;++E)r[E]=a[E],n[a.charCodeAt(E)]=E;function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,n){for(var o,a,E=[],i=t;i<n;i+=3)o=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),E.push(r[(a=o)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return E.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},702(e,t){var r=function(){function e(e){this.action=e}return e.prototype.engage=function(e,t){this.action(e,t)},e.prototype.engageAndCatch=function(e,t){try{this.engage(e,t)}catch(t){e(t)}},e.prototype.then=function(e,t){return this.toPromise().then(e,t)},e.prototype.toPromise=function(){var e=this;return new Promise((function(t,r){return e.engage(r,t)}))},e.prototype.map=function(t){return this.flatMap((function(r){return e.of(t(r))}))},e.prototype.flatMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch(e,(function(r){return t(r).engageAndCatch(e,n)}))}))},e.prototype.handleWith=function(t){var r=this;return new e((function(e,n){r.engage((function(r){t(r).engage(e,n)}),n)}))},e.prototype.errorMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch((function(r){return e(t(r))}),n)}))},e.tryF=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}r(n)}))},e.tryP=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}n.then(r).catch(e)}))},e.of=function(t){return new e((function(e,r){r(t)}))},e.reject=function(t){return new e((function(e){e(t)}))},e.encase=function(t,r){return new e((function(e,n){var o;try{o=t(r)}catch(t){return e(t)}n(o)}))},e.gather2=function(t,r){return new e((function(e,n){var o=[],a=0,E=!1;t.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[0]=e,2===++a&&n(o)})),r.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[1]=e,2===++a&&n(o)}))}))},e.gather3=function(e,t,r){var n=this.gather2(e,t);return this.gather2(n,r).map((function(e){var t=e[0];return[t[0],t[1],e[1]]}))},e.gather4=function(e,t,r,n){var o=this.gather2(e,t),a=this.gather2(r,n);return this.gather2(o,a).map((function(e){var t=e[0],r=t[0],n=t[1],o=e[1];return[r,n,o[0],o[1]]}))},e.all=function(e){return Array.isArray(e)?this.allArray(e):this.allObject(e)},e.allArray=function(t){return new e((function(e,r){var n=[],o=0;0===t.length&&r(n),t.forEach((function(a,E){a.engageAndCatch((function(t){e(t)}),(function(e){n[E]=e,(o+=1)===t.length&&r(n)}))}))}))},e.allObject=function(e){var t=Object.keys(e),r=t.map((function(t){return e[t]}));return this.allArray(r).map((function(e){return t.reduce((function(t,r,n){return t[r]=e[n],t}),{})}))},e}();t.A=r}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};r.r(n),r.d(n,{ErrorCodes:()=>s,SDKError:()=>I,codec:()=>He,createNewDeviceKeys:()=>qe,createNewUser:()=>Ze,deleteDeviceByPublicSigningKey:()=>X,document:()=>xe,group:()=>je,initialize:()=>$e,isInitialized:()=>et,search:()=>ke,user:()=>Be});var o={};r.r(o),r.d(o,{base64:()=>Z,utf8:()=>J});var a={};r.r(a),r.d(a,{advanced:()=>Ue,decrypt:()=>ue,decryptFromStore:()=>ie,decryptStream:()=>Ie,encrypt:()=>ce,encryptStream:()=>pe,encryptToStore:()=>se,getDocumentIDFromBytes:()=>Ee,getMetadata:()=>ae,grantAccess:()=>fe,list:()=>oe,revokeAccess:()=>me,updateEncryptedData:()=>Re,updateEncryptedDataInStore:()=>_e,updateName:()=>Ae});var E={};r.r(E),r.d(E,{addAdmins:()=>he,addMembers:()=>Oe,create:()=>ge,deleteGroup:()=>Pe,get:()=>le,list:()=>Te,removeAdmins:()=>ye,removeMembers:()=>Ne,removeSelfAsMember:()=>Le,rotatePrivateKey:()=>De,update:()=>Se});var i={};r.r(i),r.d(i,{createBlindSearchIndex:()=>ve,initializeBlindSearchIndex:()=>we,transliterateString:()=>Fe});var u={};r.r(u),r.d(u,{changePasscode:()=>be,deauthorizeDevice:()=>Ye,deleteDevice:()=>Ve,deleteDeviceByPublicSigningKey:()=>Qe,listDevices:()=>Ke,rotateMasterKey:()=>Ge});var s,c=1,_=2,R=/^[a-zA-Z0-9_.$#|@/:;=+'-]{1,100}$/,A={VERSION_HEADER_LENGTH:1,IV_LENGTH:12,SALT_LENGTH:32,AES_SYMMETRIC_KEY_LENGTH:32,PBKDF2_ITERATIONS:25e4,NATIVE_DECRYPT_FAILURE_ERROR:"OperationError"};!function(e){e[e.JWT_FORMAT_FAILURE=100]="JWT_FORMAT_FAILURE",e[e.JWT_RETRIEVAL_FAILURE=101]="JWT_RETRIEVAL_FAILURE",e[e.VERIFY_API_REQUEST_FAILURE=102]="VERIFY_API_REQUEST_FAILURE",e[e.BROWSER_FRAME_MESSAGE_FAILURE=103]="BROWSER_FRAME_MESSAGE_FAILURE",e[e.RANDOM_NUMBER_GENERATION_FAILURE=104]="RANDOM_NUMBER_GENERATION_FAILURE",e[e.PASSCODE_FORMAT_FAILURE=105]="PASSCODE_FORMAT_FAILURE",e[e.PASSCODE_RETRIEVAL_FAILURE=106]="PASSCODE_RETRIEVAL_FAILURE",e[e.SIGNATURE_GENERATION_FAILURE=107]="SIGNATURE_GENERATION_FAILURE",e[e.USER_NOT_SYNCED_FAILURE=108]="USER_NOT_SYNCED_FAILURE",e[e.WEBASSEMBLY_SUPPORT_FAILURE=109]="WEBASSEMBLY_SUPPORT_FAILURE",e[e.FRAME_LOAD_FAILURE=110]="FRAME_LOAD_FAILURE",e[e.USER_VERIFY_API_REQUEST_FAILURE=200]="USER_VERIFY_API_REQUEST_FAILURE",e[e.USER_CREATE_REQUEST_FAILURE=201]="USER_CREATE_REQUEST_FAILURE",e[e.USER_UPDATE_REQUEST_FAILURE=202]="USER_UPDATE_REQUEST_FAILURE",e[e.USER_PASSCODE_INCORRECT=203]="USER_PASSCODE_INCORRECT",e[e.USER_KEY_LIST_REQUEST_FAILURE=204]="USER_KEY_LIST_REQUEST_FAILURE",e[e.USER_DEVICE_ADD_REQUEST_FAILURE=205]="USER_DEVICE_ADD_REQUEST_FAILURE",e[e.USER_MASTER_KEY_GENERATION_FAILURE=206]="USER_MASTER_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_GENERATION_FAILURE=207]="USER_DEVICE_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_DECRYPTION_FAILURE=208]="USER_DEVICE_KEY_DECRYPTION_FAILURE",e[e.USER_PASSCODE_CHANGE_FAILURE=209]="USER_PASSCODE_CHANGE_FAILURE",e[e.USER_DEVICE_DELETE_REQUEST_FAILURE=210]="USER_DEVICE_DELETE_REQUEST_FAILURE",e[e.USER_UPDATE_KEY_REQUEST_FAILURE=211]="USER_UPDATE_KEY_REQUEST_FAILURE",e[e.USER_PRIVATE_KEY_ROTATION_FAILURE=212]="USER_PRIVATE_KEY_ROTATION_FAILURE",e[e.USER_DEVICE_LIST_REQUEST_FAILURE=213]="USER_DEVICE_LIST_REQUEST_FAILURE",e[e.DOCUMENT_LIST_REQUEST_FAILURE=300]="DOCUMENT_LIST_REQUEST_FAILURE",e[e.DOCUMENT_GET_REQUEST_FAILURE=301]="DOCUMENT_GET_REQUEST_FAILURE",e[e.DOCUMENT_CREATE_REQUEST_FAILURE=302]="DOCUMENT_CREATE_REQUEST_FAILURE",e[e.DOCUMENT_UPDATE_REQUEST_FAILURE=303]="DOCUMENT_UPDATE_REQUEST_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE=304]="DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE=305]="DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_DECRYPT_FAILURE=306]="DOCUMENT_DECRYPT_FAILURE",e[e.DOCUMENT_ENCRYPT_FAILURE=307]="DOCUMENT_ENCRYPT_FAILURE",e[e.DOCUMENT_REENCRYPT_FAILURE=308]="DOCUMENT_REENCRYPT_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_FAILURE=309]="DOCUMENT_GRANT_ACCESS_FAILURE",e[e.DOCUMENT_MAX_SIZE_EXCEEDED=310]="DOCUMENT_MAX_SIZE_EXCEEDED",e[e.DOCUMENT_CREATE_WITH_ACCESS_FAILURE=311]="DOCUMENT_CREATE_WITH_ACCESS_FAILURE",e[e.DOCUMENT_HEADER_PARSE_FAILURE=312]="DOCUMENT_HEADER_PARSE_FAILURE",e[e.DOCUMENT_TRANSFORM_REQUEST_FAILURE=313]="DOCUMENT_TRANSFORM_REQUEST_FAILURE",e[e.DOCUMENT_STREAM_DECRYPT_FAILURE=314]="DOCUMENT_STREAM_DECRYPT_FAILURE",e[e.DOCUMENT_STREAM_ENCRYPT_FAILURE=315]="DOCUMENT_STREAM_ENCRYPT_FAILURE",e[e.GROUP_LIST_REQUEST_FAILURE=400]="GROUP_LIST_REQUEST_FAILURE",e[e.GROUP_GET_REQUEST_FAILURE=401]="GROUP_GET_REQUEST_FAILURE",e[e.GROUP_CREATE_REQUEST_FAILURE=402]="GROUP_CREATE_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBERS_REQUEST_FAILURE=403]="GROUP_ADD_MEMBERS_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE=404]="GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE",e[e.GROUP_REMOVE_MEMBERS_REQUEST_FAILURE=405]="GROUP_REMOVE_MEMBERS_REQUEST_FAILURE",e[e.GROUP_REMOVE_SELF_REQUEST_FAILURE=406]="GROUP_REMOVE_SELF_REQUEST_FAILURE",e[e.GROUP_KEY_GENERATION_FAILURE=407]="GROUP_KEY_GENERATION_FAILURE",e[e.GROUP_MEMBER_KEY_ENCRYPTION_FAILURE=408]="GROUP_MEMBER_KEY_ENCRYPTION_FAILURE",e[e.GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE=409]="GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE",e[e.GROUP_ADD_ADMINS_REQUEST_FAILURE=410]="GROUP_ADD_ADMINS_REQUEST_FAILURE",e[e.GROUP_KEY_DECRYPTION_FAILURE=411]="GROUP_KEY_DECRYPTION_FAILURE",e[e.GROUP_REMOVE_ADMINS_REQUEST_FAILURE=412]="GROUP_REMOVE_ADMINS_REQUEST_FAILURE",e[e.GROUP_UPDATE_REQUEST_FAILURE=413]="GROUP_UPDATE_REQUEST_FAILURE",e[e.GROUP_DELETE_REQUEST_FAILURE=414]="GROUP_DELETE_REQUEST_FAILURE",e[e.GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE=415]="GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE",e[e.GROUP_PRIVATE_KEY_ROTATION_FAILURE=416]="GROUP_PRIVATE_KEY_ROTATION_FAILURE",e[e.GROUP_UPDATE_KEY_REQUEST_FAILURE=417]="GROUP_UPDATE_KEY_REQUEST_FAILURE",e[e.GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE=418]="GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE",e[e.REQUEST_RATE_LIMITED=500]="REQUEST_RATE_LIMITED",e[e.POLICY_APPLY_REQUEST_FAILURE=600]="POLICY_APPLY_REQUEST_FAILURE",e[e.SEARCH_CREATE_INDEX_FAILURE=700]="SEARCH_CREATE_INDEX_FAILURE",e[e.SEARCH_INIT_INDEX_FAILURE=701]="SEARCH_INIT_INDEX_FAILURE",e[e.SEARCH_TOKENIZE_DATA_FAILURE=702]="SEARCH_TOKENIZE_DATA_FAILURE",e[e.SEARCH_TOKENIZE_QUERY_FAILURE=703]="SEARCH_TOKENIZE_QUERY_FAILURE"}(s||(s={}));var f={FRAME_DOMAIN:"https://api.ironcorelabs.com",FRAME_PATH:"/ironweb-frame"};"string"==typeof _ICL_FRAME_DOMAIN_REPLACEMENT_&&_ICL_FRAME_DOMAIN_REPLACEMENT_.length&&(f.FRAME_DOMAIN=_ICL_FRAME_DOMAIN_REPLACEMENT_);var m,d={SDK_VERSION:"4.3.1"},p=(m=function(e,t){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},m(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});const I=function(e){function t(r,n){var o=e.call(this,r.message)||this;return!function(e){return"number"==typeof e.code&&e.name!==A.NATIVE_DECRYPT_FAILURE_ERROR}(r)?(o.code=n,o.rawError=r):(o.code=r.code,o.rawError=r.rawError),Object.setPrototypeOf(o,t.prototype),o}return p(t,e),t}(Error);var U=r(702),T=r(52),l=r(526);function g(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=e.reduce((function(e,t){return e+t.length}),0),n=0;return e.reduce((function(e,t){return e.set(t,n),n+=t.length,e}),new Uint8Array(r))}function D(e){return U.A.tryF((function(){var t,r=e[0],n=null;if(1===r)t=c;else{if(2!==r)throw new Error("Provided encrypted document doesn't appear to be valid. Invalid version.");var o=new DataView(e.buffer,e.byteOffset).getUint16(c,!1);t=c+_+o;var a=e.slice(c+_,t);n=JSON.parse(T.D4(a))._did_}var E=t+A.IV_LENGTH;return{documentID:n,iv:e.slice(t,E),contentOffset:E}})).errorMap((function(e){return new I(e,s.DOCUMENT_HEADER_PARSE_FAILURE)}))}var S=function(){function e(e){var t=this;this.callbackCount=0,this.callbacks={},this.processMessageIntoShim=function(e){var r=e.data,n=r.data,o=r.replyID,a=t.callbacks[o];a&&(delete t.callbacks[o],a(n))};var r=new MessageChannel;r.port1.start(),r.port1.addEventListener("message",this.processMessageIntoShim),this.messagePort=r.port1,e.addEventListener("load",(function(){e.contentWindow.postMessage("MESSAGE_PORT_INIT",f.FRAME_DOMAIN,[r.port2])}))}return e.prototype.postMessageToFrame=function(e,t){var r=this;void 0===t&&(t=[]);var n={replyID:this.callbackCount++,data:e};try{return this.messagePort.postMessage(n,t.map((function(e){return e instanceof Uint8Array?e.buffer:e}))),new U.A((function(e,t){r.callbacks[n.replyID]=t}))}catch(e){var o=t.some((function(e){return e instanceof ReadableStream||e instanceof WritableStream}))?"Streaming encrypt/decrypt requires transferable streams, which is not supported by this browser. It is known to be supported by Chrome, Firefox, and Edge.":"Failure occurred when passing message due to the lack of browser support.";return U.A.reject(new I(new Error(o),s.BROWSER_FRAME_MESSAGE_FAILURE))}},e}(),h=window.document.createElement("iframe"),y=new S(h),O=new Promise((function(e,t){h.addEventListener("load",(function(){var r=setTimeout((function(){t(new I(new Error("Failed to load IronWeb frame."),s.FRAME_LOAD_FAILURE))}),1e3);y.postMessageToFrame({type:"FRAME_LOADED_CHECK"}).engage(t,(function(){clearTimeout(r),e()}))}))}));function N(e,t){return U.A.tryP((function(){return O})).flatMap((function(){return y.postMessageToFrame(e,t)})).flatMap((function(e){return function(e){return"ERROR_RESPONSE"===e.type}(e)?U.A.reject(new I(new Error(e.message.text),e.message.code)):U.A.of(e)}))}h.height="0",h.width="0",h.style.display="none",h.style.position="absolute",h.style.top="-999px",h.style.left="-999px",h.src="".concat(f.FRAME_DOMAIN).concat(f.FRAME_PATH,"?version=").concat(d.SDK_VERSION),window.document.body.appendChild(h);var L,P="1",C=!1;function M(){return"".concat(P,"-icldassk")}function v(){C=!0}function w(){if(!C)throw new Error('SDK "initialize()" method has not yet been called or completed execution. SDK methods cannot be used until initialization is complete.')}function F(e){if(e)try{localStorage.setItem(M(),e)}catch(e){}}function b(){try{return localStorage.getItem(M())||void 0}catch(e){return}}function G(e,t){void 0===t&&(t=!1);var r={};return e.filter((function(e){return!(r[e]||t&&!e.length)&&(r[e]=!0,!0)}))}function Y(e){if("string"!=typeof e||!e.length)throw new Error("Invalid ID provided. Expected a non-zero length string but got ".concat(e));if(!R.test(e))throw new Error("Invalid ID provided. Provided value includes invalid characters: '".concat(e,"'."))}function V(e){if(!(e instanceof Uint8Array&&e.length))throw new Error("Invalid document data format provided. Expected a Uint8Array.")}function Q(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted document content. Content should be a Uint8Array.");if(e.byteLength<A.IV_LENGTH+1)throw new Error("Invalid encrypted document content. Length of content does not meet minimum requirements.")}function K(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted deks. Edeks should be a Uint8Array.");if(e.byteLength<=0)throw new Error("Invalid encrypted deks. Length does not meet minimum requirements.")}function x(e){var t=e&&Array.isArray(e.users)&&e.users.length,r=e&&Array.isArray(e.groups)&&e.groups.length;if(!t&&!r)throw new Error("You must provide a list of users or groups with which to change document access.")}function B(e){if(!Array.isArray(e)||!e.length)throw new Error("You must provide a list of users to perform this operation.")}function j(e){var t=[],r=[];return e.users&&e.users.length&&(t=G(e.users.map((function(e){return e.id})),!0)),e.groups&&e.groups.length&&(r=G(e.groups.map((function(e){return e.id})),!0)),[t,r]}function k(e){return U.A.tryP((function(){var t=e();if(t&&"function"==typeof t.then)return t;throw new I(new Error("JWT callback did not return a Promise."),s.JWT_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?U.A.of(e):U.A.reject(new I(new Error("JWT should be a non-zero length string, but instead got '".concat(e,"'")),s.JWT_RETRIEVAL_FAILURE))}))}var H=function(e,t,r){return void 0===r&&(r=!1),k(e).flatMap((function(e){return N({type:"CREATE_USER",message:{passcode:t,jwtToken:e,needsRotation:r}})})).map((function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}})).toPromise()},W=function(e,t){return k(e).flatMap((function(e){return N({type:"CREATE_DETATCHED_USER_DEVICE",message:{passcode:t,jwtToken:e}})})).map((function(e){return e.message})).toPromise()};function z(e,t){return L=e,k(e).flatMap((function(e){return N({type:"INIT_SDK",message:{jwtToken:e,symmetricKey:b()}})})).flatMap((function(e){return"INIT_PASSCODE_REQUIRED"===e.type?function(e,t){return U.A.tryP((function(){var r=e(t);if(r&&"function"==typeof r.then)return r;throw new I(new Error("Passcode callback did not return a Promise."),s.PASSCODE_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?U.A.of(e):U.A.reject(new I(new Error("User provided passcode should be a non-zero length string, but instead got '".concat(e,"'")),s.PASSCODE_RETRIEVAL_FAILURE))}))}(t,e.message.doesUserExist).flatMap((function(t){return function(e,t){return k(L).flatMap((function(r){return N({type:e?"GEN_DEVICE_KEYS":"CREATE_USER_AND_DEVICE",message:{passcode:t,jwtToken:r}})})).map((function(e){return F(e.message.symmetricKey),v(),{user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}}))}(e.message.doesUserExist,t)})):(F(e.message.symmetricKey),v(),U.A.of({user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}))})).toPromise()}var X=function(e,t){return k(e).flatMap((function(e){return N({type:"DELETE_DEVICE_BY_SIGNING_KEY_JWT",message:{jwtToken:e,publicSigningKey:t}}).map((function(e){return e.message}))})).toPromise()},J={fromBytes:function(e){return(0,T.D4)(e)},toBytes:function(e){return(0,T.lF)(e)}},Z={fromBytes:function(e){return(0,l.iI)(e)},toBytes:function(e){return(0,l.bg)(e)}},q=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function E(e){try{u(n.next(e))}catch(e){a(e)}}function i(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(E,i)}u((n=n.apply(e,t||[])).next())}))},$=function(e,t){var r,n,o,a,E={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;E;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return E.label++,{value:a[1],done:!1};case 5:E.label++,n=a[1],a=[0];continue;case 7:a=E.ops.pop(),E.trys.pop();continue;default:if(!(o=E.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){E=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){E.label=a[1];break}if(6===a[0]&&E.label<o[1]){E.label=o[1],o=a;break}if(o&&E.label<o[2]){E.label=o[2],E.ops.push(a);break}o[2]&&E.ops.pop(),E.trys.pop();continue}a=t.call(e,E)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}},ee=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),E=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)E.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return E},te=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},re=2048e3;function ne(e){var t=window.crypto.getRandomValues(new Uint8Array(16)),r=Array.prototype.map.call(t,(function(e){return"00".concat(e.toString(16)).slice(-2)})).join("");return e?{documentID:e.documentID||r,documentName:e.documentName||"",accessList:{users:e.accessList&&e.accessList.users?e.accessList.users:[],groups:e.accessList&&e.accessList.groups?e.accessList.groups:[],grantToAuthor:!1!==e.grantToAuthor},policy:e.policy}:{documentID:r,documentName:"",accessList:{users:[],groups:[],grantToAuthor:!0}}}function oe(){return w(),N({type:"DOCUMENT_LIST"}).map((function(e){return e.message})).toPromise()}function ae(e){return w(),Y(e),N({type:"DOCUMENT_META_GET",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function Ee(e){return w(),Q(e),D(e).map((function(e){return e.documentID})).toPromise()}function ie(e){return console.warn("decryptFromStore is deprecated. Use decrypt instead."),w(),Y(e),N({type:"DOCUMENT_STORE_DECRYPT",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function ue(e,t){w(),Y(e),Q(t);var r={type:"DOCUMENT_DECRYPT",message:{documentID:e,documentData:t.slice()}};return N(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function se(e,t){if(console.warn("encryptToStore is deprecated. Use encrypt instead and manage storage of the result yourself."),w(),V(e),e.length>re)return Promise.reject(new I(new Error("Document of length ".concat(e.length," exceeds maximum allowed byte size of ").concat(re)),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_STORE_ENCRYPT",message:{documentID:r.documentID,documentData:e.slice(),documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return N(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function ce(e,t){w(),V(e);var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return N(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function _e(e,t){if(w(),Y(e),V(t),t.length>re)return Promise.reject(new I(new Error("Document of length ".concat(t.length," exceeds maximum allowed byte size of ").concat(re)),s.DOCUMENT_MAX_SIZE_EXCEEDED));var r={type:"DOCUMENT_STORE_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return N(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function Re(e,t){w(),Y(e),V(t);var r={type:"DOCUMENT_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return N(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function Ae(e,t){return w(),Y(e),N({type:"DOCUMENT_UPDATE_NAME",message:{documentID:e,name:""===t?null:t}}).map((function(e){return e.message})).toPromise()}function fe(e,t){w(),Y(e),x(t);var r=ee(j(t),2);return N({type:"DOCUMENT_GRANT",message:{documentID:e,userGrants:r[0],groupGrants:r[1]}}).map((function(e){return e.message})).toPromise()}function me(e,t){w(),Y(e),x(t);var r=ee(j(t),2);return N({type:"DOCUMENT_REVOKE",message:{documentID:e,userRevocations:r[0],groupRevocations:r[1]}}).map((function(e){return e.message})).toPromise()}function de(e){var t=this;return U.A.tryP((function(){return q(t,void 0,void 0,(function(){var t,r,n,o,a,E,i,u=this;return $(this,(function(R){switch(R.label){case 0:t=e.getReader(),R.label=1;case 1:return R.trys.push([1,7,,8]),r=[],n=0,o=function(e){return q(u,void 0,void 0,(function(){var o,a,E;return $(this,(function(i){switch(i.label){case 0:return n<e?[4,t.read()]:[3,2];case 1:if(o=i.sent(),a=o.done,E=o.value,a)throw new I(new Error("Encrypted stream ended before header could be parsed"),s.DOCUMENT_HEADER_PARSE_FAILURE);return r.push(E),n+=E.length,[3,0];case 2:return[2]}}))}))},[4,o(c+_)];case 2:return R.sent(),2!==(a=g.apply(void 0,te([],ee(r),!1)))[0]?[3,4]:(E=new DataView(a.buffer,a.byteOffset).getUint16(c,!1),[4,o(c+_+E+12)]);case 3:return R.sent(),[3,6];case 4:return[4,o(c+12)];case 5:R.sent(),R.label=6;case 6:return[2,{reader:t,buffer:g.apply(void 0,te([],ee(r),!1))}];case 7:throw i=R.sent(),t.releaseLock(),i;case 8:return[2]}}))}))})).flatMap((function(e){var t=e.reader,r=e.buffer;return D(r).map((function(e){var n=r.slice(e.contentOffset),o=new ReadableStream({start:function(e){n.length>0&&e.enqueue(n)},pull:function(e){return t.read().then((function(t){var r=t.done,n=t.value;r?e.close():e.enqueue(n)}))},cancel:function(){return t.cancel()}});return{documentID:e.documentID,iv:e.iv,ciphertextStream:o}})).errorMap((function(e){return t.releaseLock(),e}))}))}function pe(e,t){w();var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1];return N({type:"DOCUMENT_STREAM_ENCRYPT",message:{documentID:r.documentID,documentName:r.documentName,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,documentName:t.documentName,encryptedStream:t.encryptedStream,created:t.created,updated:t.updated}})).toPromise()}function Ie(e,t){return w(),Y(e),de(t).flatMap((function(t){var r=t.iv,n=t.ciphertextStream;return N({type:"DOCUMENT_STREAM_DECRYPT",message:{documentID:e,iv:r,encryptedStream:n}},[n]).map((function(t){var r=t.message;return{documentID:e,documentName:r.documentName,visibleTo:r.visibleTo,association:r.association,created:r.created,updated:r.updated,plaintextStream:r.plaintextStream}}))})).toPromise()}var Ue={decryptUnmanaged:function(e,t){return w(),K(t),Q(e),U.A.tryP((function(){return Ee(e)})).flatMap((function(r){var n={type:"DOCUMENT_UNMANAGED_DECRYPT",message:{edeks:t,documentData:e.slice()}};return N(n,[n.message.documentData]).map((function(e){var t=e.message;return{data:t.data,documentID:r,accessVia:t.accessVia}}))})).toPromise()},decryptStreamUnmanaged:function(e,t){return w(),K(t),de(e).flatMap((function(e){var r=e.documentID,n=e.iv,o=e.ciphertextStream;return N({type:"DOCUMENT_UNMANAGED_STREAM_DECRYPT",message:{edeks:t,iv:n,encryptedStream:o}},[o]).map((function(e){var t=e.message;return{documentID:r,plaintextStream:t.plaintextStream,accessVia:t.accessVia}}))})).toPromise()},encryptStreamUnmanaged:function(e,t){w();var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1];return N({type:"DOCUMENT_UNMANAGED_STREAM_ENCRYPT",message:{documentID:r.documentID,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,encryptedStream:t.encryptedStream,edeks:t.edeks}})).toPromise()},encryptUnmanaged:function(e,t){w(),V(e);var r=ne(t);r.documentID&&Y(r.documentID);var n=ee(j(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_UNMANAGED_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return N(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}};function Te(){return w(),N({type:"GROUP_LIST"}).map((function(e){return e.message})).toPromise()}function le(e){return w(),Y(e),N({type:"GROUP_GET",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function ge(e){return void 0===e&&(e={groupName:"",addAsMember:!0,addAsAdmin:!0,needsRotation:!1}),w(),function(e,t){if(!t&&!1===e)throw new Error("Failed to create group because group ownership must be held by a group administrator")}(e.addAsAdmin,e.ownerUserId),e.groupID&&Y(e.groupID),N({type:"GROUP_CREATE",message:{groupID:e.groupID||"",groupName:e.groupName||"",ownerUserId:e.ownerUserId,addAsMember:!1!==e.addAsMember,addAsAdmin:!1!==e.addAsAdmin,needsRotation:!0===e.needsRotation,userLists:{memberList:e.memberList?G(e.memberList,!0):[],adminList:e.adminList?G(e.adminList,!0):[]}}}).map((function(e){return e.message})).toPromise()}function De(e){return w(),Y(e),N({type:"ROTATE_GROUP_PRIVATE_KEY",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function Se(e,t){if(w(),Y(e),null===t.groupName||"string"==typeof t.groupName&&t.groupName.length)return N({type:"GROUP_UPDATE",message:{groupID:e,groupName:t.groupName}}).map((function(e){return e.message})).toPromise();throw new Error("Group update must provide a new name which is either a non-zero length string or null.")}function he(e,t){return w(),Y(e),B(t),N({type:"GROUP_ADD_ADMINS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function ye(e,t){return w(),Y(e),B(t),N({type:"GROUP_REMOVE_ADMINS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function Oe(e,t){return w(),Y(e),B(t),N({type:"GROUP_ADD_MEMBERS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function Ne(e,t){return w(),Y(e),B(t),N({type:"GROUP_REMOVE_MEMBERS",message:{groupID:e,userList:G(t,!0)}}).map((function(e){return e.message})).toPromise()}function Le(e){return w(),Y(e),N({type:"GROUP_REMOVE_SELF_AS_MEMBER",message:{groupID:e}}).map((function(){})).toPromise()}function Pe(e){return w(),Y(e),N({type:"GROUP_DELETE",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}var Ce=function(){return Ce=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ce.apply(this,arguments)},Me=function(){function e(e){this.searchIndexId=e}return e.prototype.tokenizeData=function(e,t){return N({type:"BLIND_SEARCH_INDEX_TOKENIZE_DATA",message:{data:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e.prototype.tokenizeQuery=function(e,t){return N({type:"BLIND_SEARCH_INDEX_TOKENIZE_QUERY",message:{query:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e}(),ve=function(e){return w(),Y(e),N({type:"BLIND_SEARCH_INDEX_CREATE",message:{groupId:e}}).map((function(e){return e.message})).toPromise()},we=function(e){return w(),V(e.searchIndexEncryptedSalt),V(e.searchIndexEdeks),N({type:"BLIND_SEARCH_INDEX_INIT",message:Ce({},e)}).map((function(e){var t=e.message;return new Me(t.searchIndexId)})).toPromise()},Fe=function(e){return N({type:"SEARCH_TRANSLITERATE_STRING",message:e}).map((function(e){return e.message})).toPromise()};function be(e,t){return w(),N({type:"CHANGE_USER_PASSCODE",message:{currentPasscode:e,newPasscode:t}}).map((function(){})).toPromise()}function Ge(e){return w(),N({type:"ROTATE_USER_PRIVATE_KEY",message:{passcode:e}}).map((function(){})).toPromise()}var Ye=function(){return Ve().then((function(e){return{transformKeyDeleted:e>0}}))},Ve=function(e){w();var t=void 0===e,r={type:"DELETE_DEVICE",message:e};return t&&function(){try{localStorage.removeItem(M())}catch(e){}}(),N(r).map((function(e){var r=e.message;return t&&(C=!1),r})).toPromise()},Qe=function(e){return w(),N({type:"DELETE_DEVICE_BY_SIGNING_KEY",message:e}).map((function(e){return e.message})).toPromise()},Ke=function(){w();return N({type:"LIST_DEVICES",message:null}).map((function(e){return e.message})).toPromise()},xe=a,Be=u,je=E,ke=i,He=o;function We(){var e=window.crypto;return"object"==typeof e&&"function"==typeof e.getRandomValues}function ze(){return"object"==typeof WebAssembly&&WebAssembly&&"function"==typeof WebAssembly.instantiate}var Xe=function(){return Promise.reject(new I(new Error("Request failed due to a lack of browser support for WebAssembly."),s.WEBASSEMBLY_SUPPORT_FAILURE))},Je=function(){return Promise.reject(new I(new Error("Request failed due to a lack of browser support for random number generation."),s.RANDOM_NUMBER_GENERATION_FAILURE))};function Ze(e,t,r){if(void 0===r&&(r={needsRotation:!1}),!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return We()?ze()?H(e,t,r.needsRotation||!1):Xe():Je()}function qe(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return We()?ze()?W(e,t):Xe():Je()}function $e(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.initialize'.");if(!t||"function"!=typeof t)throw new Error("You must provide a function which will generate the users escrow passcode as the second parameter to 'IronWeb.initialize'.");return We()?ze()?z(e,t):Xe():Je()}function et(){try{return w(),!0}catch(e){return!1}}return n})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ironweb=t():e.ironweb=t()}(self,(()=>(()=>{"use strict";var e={52(e,t){var r="utf8: invalid string",n="utf8: invalid source encoding";function o(e){for(var t=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);if(o<128)t+=1;else if(o<2048)t+=2;else if(o<55296)t+=3;else{if(!(o<=57343))throw new Error(r);if(n>=e.length-1)throw new Error(r);n++,t+=4}}return t}t.lF=function(e){for(var t=new Uint8Array(o(e)),r=0,n=0;n<e.length;n++){var a=e.charCodeAt(n);a<128?t[r++]=a:a<2048?(t[r++]=192|a>>6,t[r++]=128|63&a):a<55296?(t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a):(n++,a=(1023&a)<<10,a|=1023&e.charCodeAt(n),a+=65536,t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a)}return t},t.D4=function(e){for(var t=[],r=0;r<e.length;r++){var o=e[r];if(128&o){var a=void 0;if(o<224){if(r>=e.length)throw new Error(n);if(128!=(192&(E=e[++r])))throw new Error(n);o=(31&o)<<6|63&E,a=128}else if(o<240){if(r>=e.length-1)throw new Error(n);var E=e[++r],s=e[++r];if(128!=(192&E)||128!=(192&s))throw new Error(n);o=(15&o)<<12|(63&E)<<6|63&s,a=2048}else{if(!(o<248))throw new Error(n);if(r>=e.length-2)throw new Error(n);E=e[++r],s=e[++r];var u=e[++r];if(128!=(192&E)||128!=(192&s)||128!=(192&u))throw new Error(n);o=(15&o)<<18|(63&E)<<12|(63&s)<<6|63&u,a=65536}if(o<a||o>=55296&&o<=57343)throw new Error(n);if(o>=65536){if(o>1114111)throw new Error(n);o-=65536,t.push(String.fromCharCode(55296|o>>10)),o=56320|1023&o}}t.push(String.fromCharCode(o))}return t.join("")}},526(e,t){t.bg=function(e){var t,r,a=s(e),E=a[0],u=a[1],i=new o(function(e,t,r){return 3*(t+r)/4-r}(0,E,u)),c=0,_=u>0?E-4:E;for(r=0;r<_;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],i[c++]=t>>16&255,i[c++]=t>>8&255,i[c++]=255&t;2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,i[c++]=255&t);1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,i[c++]=t>>8&255,i[c++]=255&t);return i},t.iI=function(e){for(var t,n=e.length,o=n%3,a=[],E=16383,s=0,i=n-o;s<i;s+=E)a.push(u(e,s,s+E>i?i:s+E));1===o?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return a.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=0;E<64;++E)r[E]=a[E],n[a.charCodeAt(E)]=E;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,n){for(var o,a,E=[],s=t;s<n;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),E.push(r[(a=o)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return E.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},702(e,t){var r=function(){function e(e){this.action=e}return e.prototype.engage=function(e,t){this.action(e,t)},e.prototype.engageAndCatch=function(e,t){try{this.engage(e,t)}catch(t){e(t)}},e.prototype.then=function(e,t){return this.toPromise().then(e,t)},e.prototype.toPromise=function(){var e=this;return new Promise((function(t,r){return e.engage(r,t)}))},e.prototype.map=function(t){return this.flatMap((function(r){return e.of(t(r))}))},e.prototype.flatMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch(e,(function(r){return t(r).engageAndCatch(e,n)}))}))},e.prototype.handleWith=function(t){var r=this;return new e((function(e,n){r.engage((function(r){t(r).engage(e,n)}),n)}))},e.prototype.errorMap=function(t){var r=this;return new e((function(e,n){r.engageAndCatch((function(r){return e(t(r))}),n)}))},e.tryF=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}r(n)}))},e.tryP=function(t){return new e((function(e,r){var n;try{n=t()}catch(t){return e(t)}n.then(r).catch(e)}))},e.of=function(t){return new e((function(e,r){r(t)}))},e.reject=function(t){return new e((function(e){e(t)}))},e.encase=function(t,r){return new e((function(e,n){var o;try{o=t(r)}catch(t){return e(t)}n(o)}))},e.gather2=function(t,r){return new e((function(e,n){var o=[],a=0,E=!1;t.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[0]=e,2===++a&&n(o)})),r.engageAndCatch((function(t){E||(E=!0,e(t))}),(function(e){o[1]=e,2===++a&&n(o)}))}))},e.gather3=function(e,t,r){var n=this.gather2(e,t);return this.gather2(n,r).map((function(e){var t=e[0];return[t[0],t[1],e[1]]}))},e.gather4=function(e,t,r,n){var o=this.gather2(e,t),a=this.gather2(r,n);return this.gather2(o,a).map((function(e){var t=e[0],r=t[0],n=t[1],o=e[1];return[r,n,o[0],o[1]]}))},e.all=function(e){return Array.isArray(e)?this.allArray(e):this.allObject(e)},e.allArray=function(t){return new e((function(e,r){var n=[],o=0;0===t.length&&r(n),t.forEach((function(a,E){a.engageAndCatch((function(t){e(t)}),(function(e){n[E]=e,(o+=1)===t.length&&r(n)}))}))}))},e.allObject=function(e){var t=Object.keys(e),r=t.map((function(t){return e[t]}));return this.allArray(r).map((function(e){return t.reduce((function(t,r,n){return t[r]=e[n],t}),{})}))},e}();t.A=r}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};r.r(n),r.d(n,{ErrorCodes:()=>i,SDKError:()=>U,UserStatus:()=>d,codec:()=>Ze,createNewDeviceKeys:()=>nt,createNewUser:()=>rt,deleteDeviceByPublicSigningKey:()=>q,document:()=>We,group:()=>Xe,initialize:()=>ot,isInitialized:()=>at,search:()=>Je,updateUserStatus:()=>$,user:()=>ze});var o={};r.r(o),r.d(o,{base64:()=>te,utf8:()=>ee});var a={};r.r(a),r.d(a,{advanced:()=>ge,decrypt:()=>Re,decryptFromStore:()=>_e,decryptStream:()=>De,encrypt:()=>fe,encryptStream:()=>le,encryptToStore:()=>Ae,getDocumentIDFromBytes:()=>ce,getMetadata:()=>ie,grantAccess:()=>Ie,list:()=>ue,revokeAccess:()=>Ue,updateEncryptedData:()=>de,updateEncryptedDataInStore:()=>me,updateName:()=>pe});var E={};r.r(E),r.d(E,{addAdmins:()=>Oe,addMembers:()=>Me,create:()=>ye,deleteGroup:()=>Fe,get:()=>he,list:()=>Se,removeAdmins:()=>Pe,removeMembers:()=>Ce,removeSelfAsMember:()=>ve,rotatePrivateKey:()=>Le,update:()=>Ne});var s={};r.r(s),r.d(s,{createBlindSearchIndex:()=>Ge,initializeBlindSearchIndex:()=>Ye,transliterateString:()=>Qe});var u={};r.r(u),r.d(u,{changePasscode:()=>Ke,deauthorizeDevice:()=>xe,deleteDevice:()=>Be,deleteDeviceByPublicSigningKey:()=>je,disableSelf:()=>He,listDevices:()=>ke,rotateMasterKey:()=>Ve});var i,c=1,_=2,R=/^[a-zA-Z0-9_.$#|@/:;=+'-]{1,100}$/,A={VERSION_HEADER_LENGTH:1,IV_LENGTH:12,SALT_LENGTH:32,AES_SYMMETRIC_KEY_LENGTH:32,PBKDF2_ITERATIONS:25e4,NATIVE_DECRYPT_FAILURE_ERROR:"OperationError"};!function(e){e[e.JWT_FORMAT_FAILURE=100]="JWT_FORMAT_FAILURE",e[e.JWT_RETRIEVAL_FAILURE=101]="JWT_RETRIEVAL_FAILURE",e[e.VERIFY_API_REQUEST_FAILURE=102]="VERIFY_API_REQUEST_FAILURE",e[e.BROWSER_FRAME_MESSAGE_FAILURE=103]="BROWSER_FRAME_MESSAGE_FAILURE",e[e.RANDOM_NUMBER_GENERATION_FAILURE=104]="RANDOM_NUMBER_GENERATION_FAILURE",e[e.PASSCODE_FORMAT_FAILURE=105]="PASSCODE_FORMAT_FAILURE",e[e.PASSCODE_RETRIEVAL_FAILURE=106]="PASSCODE_RETRIEVAL_FAILURE",e[e.SIGNATURE_GENERATION_FAILURE=107]="SIGNATURE_GENERATION_FAILURE",e[e.USER_NOT_SYNCED_FAILURE=108]="USER_NOT_SYNCED_FAILURE",e[e.WEBASSEMBLY_SUPPORT_FAILURE=109]="WEBASSEMBLY_SUPPORT_FAILURE",e[e.FRAME_LOAD_FAILURE=110]="FRAME_LOAD_FAILURE",e[e.USER_VERIFY_API_REQUEST_FAILURE=200]="USER_VERIFY_API_REQUEST_FAILURE",e[e.USER_CREATE_REQUEST_FAILURE=201]="USER_CREATE_REQUEST_FAILURE",e[e.USER_UPDATE_REQUEST_FAILURE=202]="USER_UPDATE_REQUEST_FAILURE",e[e.USER_PASSCODE_INCORRECT=203]="USER_PASSCODE_INCORRECT",e[e.USER_KEY_LIST_REQUEST_FAILURE=204]="USER_KEY_LIST_REQUEST_FAILURE",e[e.USER_DEVICE_ADD_REQUEST_FAILURE=205]="USER_DEVICE_ADD_REQUEST_FAILURE",e[e.USER_MASTER_KEY_GENERATION_FAILURE=206]="USER_MASTER_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_GENERATION_FAILURE=207]="USER_DEVICE_KEY_GENERATION_FAILURE",e[e.USER_DEVICE_KEY_DECRYPTION_FAILURE=208]="USER_DEVICE_KEY_DECRYPTION_FAILURE",e[e.USER_PASSCODE_CHANGE_FAILURE=209]="USER_PASSCODE_CHANGE_FAILURE",e[e.USER_DEVICE_DELETE_REQUEST_FAILURE=210]="USER_DEVICE_DELETE_REQUEST_FAILURE",e[e.USER_UPDATE_KEY_REQUEST_FAILURE=211]="USER_UPDATE_KEY_REQUEST_FAILURE",e[e.USER_PRIVATE_KEY_ROTATION_FAILURE=212]="USER_PRIVATE_KEY_ROTATION_FAILURE",e[e.USER_DEVICE_LIST_REQUEST_FAILURE=213]="USER_DEVICE_LIST_REQUEST_FAILURE",e[e.USER_UPDATE_STATUS_REQUEST_FAILURE=214]="USER_UPDATE_STATUS_REQUEST_FAILURE",e[e.DOCUMENT_LIST_REQUEST_FAILURE=300]="DOCUMENT_LIST_REQUEST_FAILURE",e[e.DOCUMENT_GET_REQUEST_FAILURE=301]="DOCUMENT_GET_REQUEST_FAILURE",e[e.DOCUMENT_CREATE_REQUEST_FAILURE=302]="DOCUMENT_CREATE_REQUEST_FAILURE",e[e.DOCUMENT_UPDATE_REQUEST_FAILURE=303]="DOCUMENT_UPDATE_REQUEST_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE=304]="DOCUMENT_GRANT_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE=305]="DOCUMENT_REVOKE_ACCESS_REQUEST_FAILURE",e[e.DOCUMENT_DECRYPT_FAILURE=306]="DOCUMENT_DECRYPT_FAILURE",e[e.DOCUMENT_ENCRYPT_FAILURE=307]="DOCUMENT_ENCRYPT_FAILURE",e[e.DOCUMENT_REENCRYPT_FAILURE=308]="DOCUMENT_REENCRYPT_FAILURE",e[e.DOCUMENT_GRANT_ACCESS_FAILURE=309]="DOCUMENT_GRANT_ACCESS_FAILURE",e[e.DOCUMENT_MAX_SIZE_EXCEEDED=310]="DOCUMENT_MAX_SIZE_EXCEEDED",e[e.DOCUMENT_CREATE_WITH_ACCESS_FAILURE=311]="DOCUMENT_CREATE_WITH_ACCESS_FAILURE",e[e.DOCUMENT_HEADER_PARSE_FAILURE=312]="DOCUMENT_HEADER_PARSE_FAILURE",e[e.DOCUMENT_TRANSFORM_REQUEST_FAILURE=313]="DOCUMENT_TRANSFORM_REQUEST_FAILURE",e[e.DOCUMENT_STREAM_DECRYPT_FAILURE=314]="DOCUMENT_STREAM_DECRYPT_FAILURE",e[e.DOCUMENT_STREAM_ENCRYPT_FAILURE=315]="DOCUMENT_STREAM_ENCRYPT_FAILURE",e[e.GROUP_LIST_REQUEST_FAILURE=400]="GROUP_LIST_REQUEST_FAILURE",e[e.GROUP_GET_REQUEST_FAILURE=401]="GROUP_GET_REQUEST_FAILURE",e[e.GROUP_CREATE_REQUEST_FAILURE=402]="GROUP_CREATE_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBERS_REQUEST_FAILURE=403]="GROUP_ADD_MEMBERS_REQUEST_FAILURE",e[e.GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE=404]="GROUP_ADD_MEMBER_NOT_ADMIN_FAILURE",e[e.GROUP_REMOVE_MEMBERS_REQUEST_FAILURE=405]="GROUP_REMOVE_MEMBERS_REQUEST_FAILURE",e[e.GROUP_REMOVE_SELF_REQUEST_FAILURE=406]="GROUP_REMOVE_SELF_REQUEST_FAILURE",e[e.GROUP_KEY_GENERATION_FAILURE=407]="GROUP_KEY_GENERATION_FAILURE",e[e.GROUP_MEMBER_KEY_ENCRYPTION_FAILURE=408]="GROUP_MEMBER_KEY_ENCRYPTION_FAILURE",e[e.GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE=409]="GROUP_ADD_ADMINS_NOT_ADMIN_FAILURE",e[e.GROUP_ADD_ADMINS_REQUEST_FAILURE=410]="GROUP_ADD_ADMINS_REQUEST_FAILURE",e[e.GROUP_KEY_DECRYPTION_FAILURE=411]="GROUP_KEY_DECRYPTION_FAILURE",e[e.GROUP_REMOVE_ADMINS_REQUEST_FAILURE=412]="GROUP_REMOVE_ADMINS_REQUEST_FAILURE",e[e.GROUP_UPDATE_REQUEST_FAILURE=413]="GROUP_UPDATE_REQUEST_FAILURE",e[e.GROUP_DELETE_REQUEST_FAILURE=414]="GROUP_DELETE_REQUEST_FAILURE",e[e.GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE=415]="GROUP_CREATE_WITH_MEMBERS_OR_ADMINS_FAILURE",e[e.GROUP_PRIVATE_KEY_ROTATION_FAILURE=416]="GROUP_PRIVATE_KEY_ROTATION_FAILURE",e[e.GROUP_UPDATE_KEY_REQUEST_FAILURE=417]="GROUP_UPDATE_KEY_REQUEST_FAILURE",e[e.GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE=418]="GROUP_ROTATE_PRIVATE_KEY_NOT_ADMIN_FAILURE",e[e.REQUEST_RATE_LIMITED=500]="REQUEST_RATE_LIMITED",e[e.POLICY_APPLY_REQUEST_FAILURE=600]="POLICY_APPLY_REQUEST_FAILURE",e[e.SEARCH_CREATE_INDEX_FAILURE=700]="SEARCH_CREATE_INDEX_FAILURE",e[e.SEARCH_INIT_INDEX_FAILURE=701]="SEARCH_INIT_INDEX_FAILURE",e[e.SEARCH_TOKENIZE_DATA_FAILURE=702]="SEARCH_TOKENIZE_DATA_FAILURE",e[e.SEARCH_TOKENIZE_QUERY_FAILURE=703]="SEARCH_TOKENIZE_QUERY_FAILURE"}(i||(i={}));var f={FRAME_DOMAIN:"https://api.ironcorelabs.com",FRAME_PATH:"/ironweb-frame"};"string"==typeof _ICL_FRAME_DOMAIN_REPLACEMENT_&&_ICL_FRAME_DOMAIN_REPLACEMENT_.length&&(f.FRAME_DOMAIN=_ICL_FRAME_DOMAIN_REPLACEMENT_);var m,d={DISABLED:0,ENABLED:1},p={SDK_VERSION:"4.4.1"},I=(m=function(e,t){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},m(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});const U=function(e){function t(r,n){var o=e.call(this,r.message)||this;return!function(e){return"number"==typeof e.code&&e.name!==A.NATIVE_DECRYPT_FAILURE_ERROR}(r)?(o.code=n,o.rawError=r):(o.code=r.code,o.rawError=r.rawError),Object.setPrototypeOf(o,t.prototype),o}return I(t,e),t}(Error);var T=r(702),l=r(52),D=r(526);function g(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=e.reduce((function(e,t){return e+t.length}),0),n=0;return e.reduce((function(e,t){return e.set(t,n),n+=t.length,e}),new Uint8Array(r))}function S(e){return T.A.tryF((function(){var t,r=e[0],n=null;if(1===r)t=c;else{if(2!==r)throw new Error("Provided encrypted document doesn't appear to be valid. Invalid version.");var o=new DataView(e.buffer,e.byteOffset).getUint16(c,!1);t=c+_+o;var a=e.slice(c+_,t);n=JSON.parse(l.D4(a))._did_}var E=t+A.IV_LENGTH;return{documentID:n,iv:e.slice(t,E),contentOffset:E}})).errorMap((function(e){return new U(e,i.DOCUMENT_HEADER_PARSE_FAILURE)}))}var h=function(){function e(e){var t=this;this.callbackCount=0,this.callbacks={},this.processMessageIntoShim=function(e){var r=e.data,n=r.data,o=r.replyID,a=t.callbacks[o];a&&(delete t.callbacks[o],a(n))};var r=new MessageChannel;r.port1.start(),r.port1.addEventListener("message",this.processMessageIntoShim),this.messagePort=r.port1,e.addEventListener("load",(function(){e.contentWindow.postMessage("MESSAGE_PORT_INIT",f.FRAME_DOMAIN,[r.port2])}))}return e.prototype.postMessageToFrame=function(e,t){var r=this;void 0===t&&(t=[]);var n={replyID:this.callbackCount++,data:e};try{return this.messagePort.postMessage(n,t.map((function(e){return e instanceof Uint8Array?e.buffer:e}))),new T.A((function(e,t){r.callbacks[n.replyID]=t}))}catch(e){var o=t.some((function(e){return e instanceof ReadableStream||e instanceof WritableStream}))?"Streaming encrypt/decrypt requires transferable streams, which is not supported by this browser. It is known to be supported by Chrome, Firefox, and Edge.":"Failure occurred when passing message due to the lack of browser support.";return T.A.reject(new U(new Error(o),i.BROWSER_FRAME_MESSAGE_FAILURE))}},e}(),y=window.document.createElement("iframe"),L=new h(y),N=new Promise((function(e,t){y.addEventListener("load",(function(){var r=setTimeout((function(){t(new U(new Error("Failed to load IronWeb frame."),i.FRAME_LOAD_FAILURE))}),1e3);L.postMessageToFrame({type:"FRAME_LOADED_CHECK"}).engage(t,(function(){clearTimeout(r),e()}))}))}));function O(e,t){return T.A.tryP((function(){return N})).flatMap((function(){return L.postMessageToFrame(e,t)})).flatMap((function(e){return function(e){return"ERROR_RESPONSE"===e.type}(e)?T.A.reject(new U(new Error(e.message.text),e.message.code)):T.A.of(e)}))}y.height="0",y.width="0",y.style.display="none",y.style.position="absolute",y.style.top="-999px",y.style.left="-999px",y.src="".concat(f.FRAME_DOMAIN).concat(f.FRAME_PATH,"?version=").concat(p.SDK_VERSION),window.document.body.appendChild(y);var P,M="1",C=!1;function v(){return"".concat(M,"-icldassk")}function F(){C=!0}function w(){C=!1}function b(){if(!C)throw new Error('SDK "initialize()" method has not yet been called or completed execution. SDK methods cannot be used until initialization is complete.')}function G(e){if(e)try{localStorage.setItem(v(),e)}catch(e){}}function Y(){try{return localStorage.getItem(v())||void 0}catch(e){return}}function Q(){try{localStorage.removeItem(v())}catch(e){}}function K(e,t){void 0===t&&(t=!1);var r={};return e.filter((function(e){return!(r[e]||t&&!e.length)&&(r[e]=!0,!0)}))}function V(e){if("string"!=typeof e||!e.length)throw new Error("Invalid ID provided. Expected a non-zero length string but got ".concat(e));if(!R.test(e))throw new Error("Invalid ID provided. Provided value includes invalid characters: '".concat(e,"'."))}function x(e){if(!(e instanceof Uint8Array&&e.length))throw new Error("Invalid document data format provided. Expected a Uint8Array.")}function B(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted document content. Content should be a Uint8Array.");if(e.byteLength<A.IV_LENGTH+1)throw new Error("Invalid encrypted document content. Length of content does not meet minimum requirements.")}function j(e){if(!(e instanceof Uint8Array))throw new Error("Invalid encrypted deks. Edeks should be a Uint8Array.");if(e.byteLength<=0)throw new Error("Invalid encrypted deks. Length does not meet minimum requirements.")}function k(e){var t=e&&Array.isArray(e.users)&&e.users.length,r=e&&Array.isArray(e.groups)&&e.groups.length;if(!t&&!r)throw new Error("You must provide a list of users or groups with which to change document access.")}function H(e){if(!Array.isArray(e)||!e.length)throw new Error("You must provide a list of users to perform this operation.")}function W(e){var t=[],r=[];return e.users&&e.users.length&&(t=K(e.users.map((function(e){return e.id})),!0)),e.groups&&e.groups.length&&(r=K(e.groups.map((function(e){return e.id})),!0)),[t,r]}function z(e){return T.A.tryP((function(){var t=e();if(t&&"function"==typeof t.then)return t;throw new U(new Error("JWT callback did not return a Promise."),i.JWT_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?T.A.of(e):T.A.reject(new U(new Error("JWT should be a non-zero length string, but instead got '".concat(e,"'")),i.JWT_RETRIEVAL_FAILURE))}))}var X=function(e,t,r){return void 0===r&&(r=!1),z(e).flatMap((function(e){return O({type:"CREATE_USER",message:{passcode:t,jwtToken:e,needsRotation:r}})})).map((function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}})).toPromise()},J=function(e,t){return z(e).flatMap((function(e){return O({type:"CREATE_DETATCHED_USER_DEVICE",message:{passcode:t,jwtToken:e}})})).map((function(e){return e.message})).toPromise()};function Z(e,t){return P=e,z(e).flatMap((function(e){return O({type:"INIT_SDK",message:{jwtToken:e,symmetricKey:Y()}})})).flatMap((function(e){return"INIT_PASSCODE_REQUIRED"===e.type?function(e,t){return T.A.tryP((function(){var r=e(t);if(r&&"function"==typeof r.then)return r;throw new U(new Error("Passcode callback did not return a Promise."),i.PASSCODE_FORMAT_FAILURE)})).flatMap((function(e){return"string"==typeof e&&e.length>0?T.A.of(e):T.A.reject(new U(new Error("User provided passcode should be a non-zero length string, but instead got '".concat(e,"'")),i.PASSCODE_RETRIEVAL_FAILURE))}))}(t,e.message.doesUserExist).flatMap((function(t){return function(e,t){return z(P).flatMap((function(r){return O({type:e?"GEN_DEVICE_KEYS":"CREATE_USER_AND_DEVICE",message:{passcode:t,jwtToken:r}})})).map((function(e){return G(e.message.symmetricKey),F(),{user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}}))}(e.message.doesUserExist,t)})):(G(e.message.symmetricKey),F(),T.A.of({user:e.message.user,groupsNeedingRotation:e.message.groupsNeedingRotation}))})).toPromise()}var q=function(e,t){return z(e).flatMap((function(e){return O({type:"DELETE_DEVICE_BY_SIGNING_KEY_JWT",message:{jwtToken:e,publicSigningKey:t}}).map((function(e){return e.message}))})).toPromise()},$=function(e,t){return z(e).flatMap((function(e){return O({type:"UPDATE_USER_STATUS_JWT",message:{jwtToken:e,status:t}})})).map((function(e){var t=e.message;return{accountID:t.id,segmentID:t.segmentId,needsRotation:t.needsRotation,status:t.status,userMasterPublicKey:t.userMasterPublicKey}})).toPromise()},ee={fromBytes:function(e){return(0,l.D4)(e)},toBytes:function(e){return(0,l.lF)(e)}},te={fromBytes:function(e){return(0,D.iI)(e)},toBytes:function(e){return(0,D.bg)(e)}},re=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function E(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(E,s)}u((n=n.apply(e,t||[])).next())}))},ne=function(e,t){var r,n,o,a,E={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;E;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return E.label++,{value:a[1],done:!1};case 5:E.label++,n=a[1],a=[0];continue;case 7:a=E.ops.pop(),E.trys.pop();continue;default:if(!(o=E.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){E=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){E.label=a[1];break}if(6===a[0]&&E.label<o[1]){E.label=o[1],o=a;break}if(o&&E.label<o[2]){E.label=o[2],E.ops.push(a);break}o[2]&&E.ops.pop(),E.trys.pop();continue}a=t.call(e,E)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},oe=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),E=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)E.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return E},ae=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},Ee=2048e3;function se(e){var t=window.crypto.getRandomValues(new Uint8Array(16)),r=Array.prototype.map.call(t,(function(e){return"00".concat(e.toString(16)).slice(-2)})).join("");return e?{documentID:e.documentID||r,documentName:e.documentName||"",accessList:{users:e.accessList&&e.accessList.users?e.accessList.users:[],groups:e.accessList&&e.accessList.groups?e.accessList.groups:[],grantToAuthor:!1!==e.grantToAuthor},policy:e.policy}:{documentID:r,documentName:"",accessList:{users:[],groups:[],grantToAuthor:!0}}}function ue(){return b(),O({type:"DOCUMENT_LIST"}).map((function(e){return e.message})).toPromise()}function ie(e){return b(),V(e),O({type:"DOCUMENT_META_GET",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function ce(e){return b(),B(e),S(e).map((function(e){return e.documentID})).toPromise()}function _e(e){return console.warn("decryptFromStore is deprecated. Use decrypt instead."),b(),V(e),O({type:"DOCUMENT_STORE_DECRYPT",message:{documentID:e}}).map((function(e){return e.message})).toPromise()}function Re(e,t){b(),V(e),B(t);var r={type:"DOCUMENT_DECRYPT",message:{documentID:e,documentData:t.slice()}};return O(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function Ae(e,t){if(console.warn("encryptToStore is deprecated. Use encrypt instead and manage storage of the result yourself."),b(),x(e),e.length>Ee)return Promise.reject(new U(new Error("Document of length ".concat(e.length," exceeds maximum allowed byte size of ").concat(Ee)),i.DOCUMENT_MAX_SIZE_EXCEEDED));var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_STORE_ENCRYPT",message:{documentID:r.documentID,documentData:e.slice(),documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return O(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function fe(e,t){b(),x(e);var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,documentName:r.documentName,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return O(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}function me(e,t){if(b(),V(e),x(t),t.length>Ee)return Promise.reject(new U(new Error("Document of length ".concat(t.length," exceeds maximum allowed byte size of ").concat(Ee)),i.DOCUMENT_MAX_SIZE_EXCEEDED));var r={type:"DOCUMENT_STORE_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return O(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function de(e,t){b(),V(e),x(t);var r={type:"DOCUMENT_UPDATE_DATA",message:{documentID:e,documentData:t.slice()}};return O(r,[r.message.documentData]).map((function(e){return e.message})).toPromise()}function pe(e,t){return b(),V(e),O({type:"DOCUMENT_UPDATE_NAME",message:{documentID:e,name:""===t?null:t}}).map((function(e){return e.message})).toPromise()}function Ie(e,t){b(),V(e),k(t);var r=oe(W(t),2);return O({type:"DOCUMENT_GRANT",message:{documentID:e,userGrants:r[0],groupGrants:r[1]}}).map((function(e){return e.message})).toPromise()}function Ue(e,t){b(),V(e),k(t);var r=oe(W(t),2);return O({type:"DOCUMENT_REVOKE",message:{documentID:e,userRevocations:r[0],groupRevocations:r[1]}}).map((function(e){return e.message})).toPromise()}function Te(e){var t=this;return T.A.tryP((function(){return re(t,void 0,void 0,(function(){var t,r,n,o,a,E,s,u=this;return ne(this,(function(R){switch(R.label){case 0:t=e.getReader(),R.label=1;case 1:return R.trys.push([1,7,,8]),r=[],n=0,o=function(e){return re(u,void 0,void 0,(function(){var o,a,E;return ne(this,(function(s){switch(s.label){case 0:return n<e?[4,t.read()]:[3,2];case 1:if(o=s.sent(),a=o.done,E=o.value,a)throw new U(new Error("Encrypted stream ended before header could be parsed"),i.DOCUMENT_HEADER_PARSE_FAILURE);return r.push(E),n+=E.length,[3,0];case 2:return[2]}}))}))},[4,o(c+_)];case 2:return R.sent(),2!==(a=g.apply(void 0,ae([],oe(r),!1)))[0]?[3,4]:(E=new DataView(a.buffer,a.byteOffset).getUint16(c,!1),[4,o(c+_+E+12)]);case 3:return R.sent(),[3,6];case 4:return[4,o(c+12)];case 5:R.sent(),R.label=6;case 6:return[2,{reader:t,buffer:g.apply(void 0,ae([],oe(r),!1))}];case 7:throw s=R.sent(),t.releaseLock(),s;case 8:return[2]}}))}))})).flatMap((function(e){var t=e.reader,r=e.buffer;return S(r).map((function(e){var n=r.slice(e.contentOffset),o=new ReadableStream({start:function(e){n.length>0&&e.enqueue(n)},pull:function(e){return t.read().then((function(t){var r=t.done,n=t.value;r?e.close():e.enqueue(n)}))},cancel:function(){return t.cancel()}});return{documentID:e.documentID,iv:e.iv,ciphertextStream:o}})).errorMap((function(e){return t.releaseLock(),e}))}))}function le(e,t){b();var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1];return O({type:"DOCUMENT_STREAM_ENCRYPT",message:{documentID:r.documentID,documentName:r.documentName,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,documentName:t.documentName,encryptedStream:t.encryptedStream,created:t.created,updated:t.updated}})).toPromise()}function De(e,t){return b(),V(e),Te(t).flatMap((function(t){var r=t.iv,n=t.ciphertextStream;return O({type:"DOCUMENT_STREAM_DECRYPT",message:{documentID:e,iv:r,encryptedStream:n}},[n]).map((function(t){var r=t.message;return{documentID:e,documentName:r.documentName,visibleTo:r.visibleTo,association:r.association,created:r.created,updated:r.updated,plaintextStream:r.plaintextStream}}))})).toPromise()}var ge={decryptUnmanaged:function(e,t){return b(),j(t),B(e),T.A.tryP((function(){return ce(e)})).flatMap((function(r){var n={type:"DOCUMENT_UNMANAGED_DECRYPT",message:{edeks:t,documentData:e.slice()}};return O(n,[n.message.documentData]).map((function(e){var t=e.message;return{data:t.data,documentID:r,accessVia:t.accessVia}}))})).toPromise()},decryptStreamUnmanaged:function(e,t){return b(),j(t),Te(e).flatMap((function(e){var r=e.documentID,n=e.iv,o=e.ciphertextStream;return O({type:"DOCUMENT_UNMANAGED_STREAM_DECRYPT",message:{edeks:t,iv:n,encryptedStream:o}},[o]).map((function(e){var t=e.message;return{documentID:r,plaintextStream:t.plaintextStream,accessVia:t.accessVia}}))})).toPromise()},encryptStreamUnmanaged:function(e,t){b();var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1];return O({type:"DOCUMENT_UNMANAGED_STREAM_ENCRYPT",message:{documentID:r.documentID,plaintextStream:e,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}},[e]).map((function(e){var t=e.message;return{documentID:t.documentID,encryptedStream:t.encryptedStream,edeks:t.edeks}})).toPromise()},encryptUnmanaged:function(e,t){b(),x(e);var r=se(t);r.documentID&&V(r.documentID);var n=oe(W(r.accessList),2),o=n[0],a=n[1],E={type:"DOCUMENT_UNMANAGED_ENCRYPT",message:{documentData:e.slice(),documentID:r.documentID,userGrants:o,groupGrants:a,grantToAuthor:r.accessList.grantToAuthor,policy:r.policy}};return O(E,[E.message.documentData]).map((function(e){return e.message})).toPromise()}};function Se(){return b(),O({type:"GROUP_LIST"}).map((function(e){return e.message})).toPromise()}function he(e){return b(),V(e),O({type:"GROUP_GET",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function ye(e){return void 0===e&&(e={groupName:"",addAsMember:!0,addAsAdmin:!0,needsRotation:!1}),b(),function(e,t){if(!t&&!1===e)throw new Error("Failed to create group because group ownership must be held by a group administrator")}(e.addAsAdmin,e.ownerUserId),e.groupID&&V(e.groupID),O({type:"GROUP_CREATE",message:{groupID:e.groupID||"",groupName:e.groupName||"",ownerUserId:e.ownerUserId,addAsMember:!1!==e.addAsMember,addAsAdmin:!1!==e.addAsAdmin,needsRotation:!0===e.needsRotation,userLists:{memberList:e.memberList?K(e.memberList,!0):[],adminList:e.adminList?K(e.adminList,!0):[]}}}).map((function(e){return e.message})).toPromise()}function Le(e){return b(),V(e),O({type:"ROTATE_GROUP_PRIVATE_KEY",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}function Ne(e,t){if(b(),V(e),null===t.groupName||"string"==typeof t.groupName&&t.groupName.length)return O({type:"GROUP_UPDATE",message:{groupID:e,groupName:t.groupName}}).map((function(e){return e.message})).toPromise();throw new Error("Group update must provide a new name which is either a non-zero length string or null.")}function Oe(e,t){return b(),V(e),H(t),O({type:"GROUP_ADD_ADMINS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function Pe(e,t){return b(),V(e),H(t),O({type:"GROUP_REMOVE_ADMINS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function Me(e,t){return b(),V(e),H(t),O({type:"GROUP_ADD_MEMBERS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function Ce(e,t){return b(),V(e),H(t),O({type:"GROUP_REMOVE_MEMBERS",message:{groupID:e,userList:K(t,!0)}}).map((function(e){return e.message})).toPromise()}function ve(e){return b(),V(e),O({type:"GROUP_REMOVE_SELF_AS_MEMBER",message:{groupID:e}}).map((function(){})).toPromise()}function Fe(e){return b(),V(e),O({type:"GROUP_DELETE",message:{groupID:e}}).map((function(e){return e.message})).toPromise()}var we=function(){return we=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},we.apply(this,arguments)},be=function(){function e(e){this.searchIndexId=e}return e.prototype.tokenizeData=function(e,t){return O({type:"BLIND_SEARCH_INDEX_TOKENIZE_DATA",message:{data:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e.prototype.tokenizeQuery=function(e,t){return O({type:"BLIND_SEARCH_INDEX_TOKENIZE_QUERY",message:{query:e,partitionId:t,searchIndexId:this.searchIndexId}}).map((function(e){return e.message})).toPromise()},e}(),Ge=function(e){return b(),V(e),O({type:"BLIND_SEARCH_INDEX_CREATE",message:{groupId:e}}).map((function(e){return e.message})).toPromise()},Ye=function(e){return b(),x(e.searchIndexEncryptedSalt),x(e.searchIndexEdeks),O({type:"BLIND_SEARCH_INDEX_INIT",message:we({},e)}).map((function(e){var t=e.message;return new be(t.searchIndexId)})).toPromise()},Qe=function(e){return O({type:"SEARCH_TRANSLITERATE_STRING",message:e}).map((function(e){return e.message})).toPromise()};function Ke(e,t){return b(),O({type:"CHANGE_USER_PASSCODE",message:{currentPasscode:e,newPasscode:t}}).map((function(){})).toPromise()}function Ve(e){return b(),O({type:"ROTATE_USER_PRIVATE_KEY",message:{passcode:e}}).map((function(){})).toPromise()}var xe=function(){return Be().then((function(e){return{transformKeyDeleted:e>0}}))},Be=function(e){b();var t=void 0===e,r={type:"DELETE_DEVICE",message:e};return t&&Q(),O(r).map((function(e){var r=e.message;return t&&w(),r})).toPromise()},je=function(e){return b(),O({type:"DELETE_DEVICE_BY_SIGNING_KEY",message:e}).map((function(e){return e.message})).toPromise()},ke=function(){b();return O({type:"LIST_DEVICES",message:null}).map((function(e){return e.message})).toPromise()},He=function(){b();return Q(),O({type:"DISABLE_USER_SELF",message:null}).map((function(e){var t=e.message,r=t.id,n=t.segmentId,o=t.needsRotation,a=t.status,E=t.userMasterPublicKey;return w(),{accountID:r,segmentID:n,needsRotation:o,status:a,userMasterPublicKey:E}})).toPromise()},We=a,ze=u,Xe=E,Je=s,Ze=o;function qe(){var e=window.crypto;return"object"==typeof e&&"function"==typeof e.getRandomValues}function $e(){return"object"==typeof WebAssembly&&WebAssembly&&"function"==typeof WebAssembly.instantiate}var et=function(){return Promise.reject(new U(new Error("Request failed due to a lack of browser support for WebAssembly."),i.WEBASSEMBLY_SUPPORT_FAILURE))},tt=function(){return Promise.reject(new U(new Error("Request failed due to a lack of browser support for random number generation."),i.RANDOM_NUMBER_GENERATION_FAILURE))};function rt(e,t,r){if(void 0===r&&(r={needsRotation:!1}),!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return qe()?$e()?X(e,t,r.needsRotation||!1):et():tt()}function nt(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.createNewUser'.");return qe()?$e()?J(e,t):et():tt()}function ot(e,t){if(!e||"function"!=typeof e)throw new Error("You must provide a function which will generate a JWT as the first parameter to 'IronWeb.initialize'.");if(!t||"function"!=typeof t)throw new Error("You must provide a function which will generate the users escrow passcode as the second parameter to 'IronWeb.initialize'.");return qe()?$e()?Z(e,t):et():tt()}function at(){try{return b(),!0}catch(e){return!1}}return n})()));
|
|
2
2
|
//# sourceMappingURL=ironweb.min.js.map
|