@loaders.gl/crypto 4.0.0-alpha.5 → 4.0.0-alpha.6
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/bundle.js +2 -2
- package/dist/crypto-worker.js +2 -0
- package/dist/crypto-worker.js.map +7 -0
- package/dist/dist.min.js +1 -1
- package/dist/dist.min.js.map +2 -2
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/index.js +83 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/algorithms/crc32.js +41 -0
- package/dist/es5/lib/algorithms/crc32.js.map +1 -0
- package/dist/es5/lib/algorithms/crc32c.js +44 -0
- package/dist/es5/lib/algorithms/crc32c.js.map +1 -0
- package/dist/es5/lib/algorithms/md5-wasm.js +436 -0
- package/dist/es5/lib/algorithms/md5-wasm.js.map +1 -0
- package/dist/es5/lib/crc32-hash.js +150 -0
- package/dist/es5/lib/crc32-hash.js.map +1 -0
- package/dist/es5/lib/crc32c-hash.js +149 -0
- package/dist/es5/lib/crc32c-hash.js.map +1 -0
- package/dist/es5/lib/crypto-hash.js +186 -0
- package/dist/es5/lib/crypto-hash.js.map +1 -0
- package/dist/es5/lib/hash.js +149 -0
- package/dist/es5/lib/hash.js.map +1 -0
- package/dist/es5/lib/md5-hash.js +66 -0
- package/dist/es5/lib/md5-hash.js.map +1 -0
- package/dist/es5/lib/node-hash.js +147 -0
- package/dist/es5/lib/node-hash.js.map +1 -0
- package/dist/es5/lib/sha256-hash.js +33 -0
- package/dist/es5/lib/sha256-hash.js.map +1 -0
- package/dist/es5/lib/utils/base64-utils.js +55 -0
- package/dist/es5/lib/utils/base64-utils.js.map +1 -0
- package/dist/es5/lib/utils/digest-utils.js +23 -0
- package/dist/es5/lib/utils/digest-utils.js.map +1 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/workers/worker.js +65 -0
- package/dist/es5/workers/worker.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/algorithms/crc32.js +24 -0
- package/dist/esm/lib/algorithms/crc32.js.map +1 -0
- package/dist/esm/lib/algorithms/crc32c.js +27 -0
- package/dist/esm/lib/algorithms/crc32c.js.map +1 -0
- package/dist/esm/lib/algorithms/md5-wasm.js +428 -0
- package/dist/esm/lib/algorithms/md5-wasm.js.map +1 -0
- package/dist/esm/lib/crc32-hash.js +43 -0
- package/dist/esm/lib/crc32-hash.js.map +1 -0
- package/dist/esm/lib/crc32c-hash.js +42 -0
- package/dist/esm/lib/crc32c-hash.js.map +1 -0
- package/dist/esm/lib/crypto-hash.js +54 -0
- package/dist/esm/lib/crypto-hash.js.map +1 -0
- package/dist/esm/lib/hash.js +30 -0
- package/dist/esm/lib/hash.js.map +1 -0
- package/dist/esm/lib/md5-hash.js +19 -0
- package/dist/esm/lib/md5-hash.js.map +1 -0
- package/dist/esm/lib/node-hash.js +38 -0
- package/dist/esm/lib/node-hash.js.map +1 -0
- package/dist/esm/lib/sha256-hash.js +13 -0
- package/dist/esm/lib/sha256-hash.js.map +1 -0
- package/dist/esm/lib/utils/base64-utils.js +49 -0
- package/dist/esm/lib/utils/base64-utils.js.map +1 -0
- package/dist/esm/lib/utils/digest-utils.js +14 -0
- package/dist/esm/lib/utils/digest-utils.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/workers/cryptojs-worker.ts.disabled +26 -0
- package/dist/esm/workers/worker.js +22 -0
- package/dist/esm/workers/worker.js.map +1 -0
- package/dist/index.js +45 -25
- package/dist/lib/algorithms/crc32.js +25 -26
- package/dist/lib/algorithms/crc32c.js +33 -29
- package/dist/lib/algorithms/md5-wasm.js +414 -449
- package/dist/lib/crc32-hash.js +45 -54
- package/dist/lib/crc32c-hash.js +49 -53
- package/dist/lib/crypto-hash.d.ts +1 -1
- package/dist/lib/crypto-hash.d.ts.map +1 -1
- package/dist/lib/crypto-hash.js +55 -70
- package/dist/lib/hash.d.ts +1 -1
- package/dist/lib/hash.d.ts.map +1 -1
- package/dist/lib/hash.js +27 -36
- package/dist/lib/md5-hash.js +31 -22
- package/dist/lib/node-hash.d.ts +1 -1
- package/dist/lib/node-hash.d.ts.map +1 -1
- package/dist/lib/node-hash.js +39 -49
- package/dist/lib/sha256-hash.d.ts +1 -1
- package/dist/lib/sha256-hash.d.ts.map +1 -1
- package/dist/lib/sha256-hash.js +13 -11
- package/dist/lib/utils/base64-utils.js +62 -57
- package/dist/lib/utils/digest-utils.js +25 -13
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/workers/worker.js +22 -24
- package/package.json +8 -8
- package/src/lib/hash.ts +1 -1
- package/dist/bundle.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/algorithms/crc32.js.map +0 -1
- package/dist/lib/algorithms/crc32c.js.map +0 -1
- package/dist/lib/algorithms/md5-wasm.js.map +0 -1
- package/dist/lib/crc32-hash.js.map +0 -1
- package/dist/lib/crc32c-hash.js.map +0 -1
- package/dist/lib/crypto-hash.js.map +0 -1
- package/dist/lib/hash.js.map +0 -1
- package/dist/lib/md5-hash.js.map +0 -1
- package/dist/lib/node-hash.js.map +0 -1
- package/dist/lib/sha256-hash.js.map +0 -1
- package/dist/lib/utils/base64-utils.js.map +0 -1
- package/dist/lib/utils/digest-utils.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/worker.js +0 -2
- package/dist/worker.js.map +0 -7
- package/dist/workers/worker.js.map +0 -1
- /package/dist/{workers → es5/workers}/cryptojs-worker.ts.disabled +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","names":["_workerUtils","require","_crc32Hash","_crc32cHash","_md5Hash","createWorker","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","operation","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","t0","CRC32Hash","hash","abrupt","sent","CRC32CHash","MD5Hash","Error","concat","stop","_x","apply"],"sources":["../../../src/workers/worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport {CRC32Hash} from '../lib/crc32-hash';\nimport {CRC32CHash} from '../lib/crc32c-hash';\nimport {MD5Hash} from '../lib/md5-hash';\n\n// Assuming we can bundle as module\nexport {CRC32Hash, CRC32CHash};\n\ncreateWorker(async (data, options = {}) => {\n // @ts-ignore\n const {operation} = options;\n\n switch (operation) {\n case 'crc32':\n return await new CRC32Hash(options).hash(data);\n case 'crc32c':\n return await new CRC32CHash(options).hash(data);\n case 'md5':\n return await new MD5Hash(options).hash(data);\n default:\n throw new Error(`invalid option: ${operation}`);\n }\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,yBAAY;EAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAC,SAAAC,QAAOC,IAAI;IAAA,IAAAC,OAAA;MAAAC,SAAA;MAAAC,KAAA,GAAAC,SAAA;IAAA,OAAAP,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAER,OAAO,GAAAE,KAAA,CAAAO,MAAA,QAAAP,KAAA,QAAAQ,SAAA,GAAAR,KAAA,MAAG,CAAC,CAAC;UAE7BD,SAAS,GAAID,OAAO,CAApBC,SAAS;UAAAK,QAAA,CAAAK,EAAA,GAERV,SAAS;UAAAK,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAK,EAAA,KACV,OAAO,OAAAL,QAAA,CAAAK,EAAA,KAEP,QAAQ,OAAAL,QAAA,CAAAK,EAAA,KAER,KAAK;UAAA;QAAA;UAAAL,QAAA,CAAAE,IAAA;UAAA,OAHK,IAAII,oBAAS,CAACZ,OAAO,CAAC,CAACa,IAAI,CAACd,IAAI,CAAC;QAAA;UAAA,OAAAO,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAS,IAAA;QAAA;UAAAT,QAAA,CAAAE,IAAA;UAAA,OAEjC,IAAIQ,sBAAU,CAAChB,OAAO,CAAC,CAACa,IAAI,CAACd,IAAI,CAAC;QAAA;UAAA,OAAAO,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAS,IAAA;QAAA;UAAAT,QAAA,CAAAE,IAAA;UAAA,OAElC,IAAIS,gBAAO,CAACjB,OAAO,CAAC,CAACa,IAAI,CAACd,IAAI,CAAC;QAAA;UAAA,OAAAO,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAS,IAAA;QAAA;UAAA,MAEtC,IAAIG,KAAK,oBAAAC,MAAA,CAAoBlB,SAAS,CAAE,CAAC;QAAA;QAAA;UAAA,OAAAK,QAAA,CAAAc,IAAA;MAAA;IAAA,GAAAtB,OAAA;EAAA,CAEpD;EAAA,iBAAAuB,EAAA;IAAA,OAAA5B,IAAA,CAAA6B,KAAA,OAAAnB,SAAA;EAAA;AAAA,IAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export { CRC32Hash } from './lib/crc32-hash';
|
|
2
|
+
export { CRC32CHash } from './lib/crc32c-hash';
|
|
3
|
+
export { MD5Hash } from './lib/md5-hash';
|
|
4
|
+
export { SHA256Hash } from './lib/sha256-hash';
|
|
5
|
+
export { CryptoHash } from './lib/crypto-hash';
|
|
6
|
+
export { NodeHash } from './lib/node-hash';
|
|
7
|
+
export { hexToBase64 as _hexToBase64, toHex as _toHex } from './lib/utils/digest-utils';
|
|
8
|
+
const VERSION = typeof "4.0.0-alpha.6" !== 'undefined' ? "4.0.0-alpha.6" : 'latest';
|
|
9
|
+
export const CryptoWorker = {
|
|
10
|
+
id: 'crypto',
|
|
11
|
+
name: 'CRC32, CRC32c and MD5 Hashes',
|
|
12
|
+
module: 'crypto',
|
|
13
|
+
version: VERSION,
|
|
14
|
+
options: {
|
|
15
|
+
crypto: {}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export const CryptoJSWorker = {
|
|
19
|
+
id: 'cryptojs',
|
|
20
|
+
name: 'Cryptographic Hashes',
|
|
21
|
+
module: 'crypto',
|
|
22
|
+
version: VERSION,
|
|
23
|
+
options: {
|
|
24
|
+
cryptojs: {}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["CRC32Hash","CRC32CHash","MD5Hash","SHA256Hash","CryptoHash","NodeHash","hexToBase64","_hexToBase64","toHex","_toHex","VERSION","CryptoWorker","id","name","module","version","options","crypto","CryptoJSWorker","cryptojs"],"sources":["../../src/index.ts"],"sourcesContent":["// import type {WorkerObject} from '@loaders.gl/worker-utils';\n\nexport {CRC32Hash} from './lib/crc32-hash';\nexport {CRC32CHash} from './lib/crc32c-hash';\nexport {MD5Hash} from './lib/md5-hash';\nexport {SHA256Hash} from './lib/sha256-hash';\n\nexport {CryptoHash} from './lib/crypto-hash';\nexport {NodeHash} from './lib/node-hash';\n\nexport {hexToBase64 as _hexToBase64, toHex as _toHex} from './lib/utils/digest-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * Small, fast worker for CRC32, CRC32c and MD5 Hashes\n */\nexport const CryptoWorker = {\n id: 'crypto',\n name: 'CRC32, CRC32c and MD5 Hashes',\n module: 'crypto',\n version: VERSION,\n options: {\n crypto: {}\n }\n};\n\n/**\n * Large worker for full complement of Cryptographic Hashes\n * bundles the full crypto.js library\n */\nexport const CryptoJSWorker = {\n id: 'cryptojs',\n name: 'Cryptographic Hashes',\n module: 'crypto',\n version: VERSION,\n options: {\n cryptojs: {}\n }\n};\n"],"mappings":"AAEA,SAAQA,SAAS,QAAO,kBAAkB;AAC1C,SAAQC,UAAU,QAAO,mBAAmB;AAC5C,SAAQC,OAAO,QAAO,gBAAgB;AACtC,SAAQC,UAAU,QAAO,mBAAmB;AAE5C,SAAQC,UAAU,QAAO,mBAAmB;AAC5C,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,SAAQC,WAAW,IAAIC,YAAY,EAAEC,KAAK,IAAIC,MAAM,QAAO,0BAA0B;AAIrF,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAK3E,OAAO,MAAMC,YAAY,GAAG;EAC1BC,EAAE,EAAE,QAAQ;EACZC,IAAI,EAAE,8BAA8B;EACpCC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE;IACPC,MAAM,EAAE,CAAC;EACX;AACF,CAAC;AAMD,OAAO,MAAMC,cAAc,GAAG;EAC5BN,EAAE,EAAE,UAAU;EACdC,IAAI,EAAE,sBAAsB;EAC5BC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE;IACPG,QAAQ,EAAE,CAAC;EACb;AACF,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
export default class CRC32 {
|
|
3
|
+
constructor() {
|
|
4
|
+
_defineProperty(this, "crc", void 0);
|
|
5
|
+
this.crc = ~0;
|
|
6
|
+
}
|
|
7
|
+
update(arrayBuffer) {
|
|
8
|
+
const CRC32_TABLE = getCRC32Table();
|
|
9
|
+
const byteArray = new Uint8Array(arrayBuffer);
|
|
10
|
+
for (let i = 0; i < byteArray.byteLength; i++) {
|
|
11
|
+
this.crc = this.crc >>> 8 ^ CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff];
|
|
12
|
+
}
|
|
13
|
+
return this;
|
|
14
|
+
}
|
|
15
|
+
finalize() {
|
|
16
|
+
this.crc = Math.abs(this.crc ^ -1);
|
|
17
|
+
return this.crc;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const CRC32TAB = Uint32Array.of(0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d);
|
|
21
|
+
function getCRC32Table() {
|
|
22
|
+
return CRC32TAB;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=crc32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crc32.js","names":["CRC32","constructor","_defineProperty","crc","update","arrayBuffer","CRC32_TABLE","getCRC32Table","byteArray","Uint8Array","i","byteLength","finalize","Math","abs","CRC32TAB","Uint32Array","of"],"sources":["../../../../src/lib/algorithms/crc32.ts"],"sourcesContent":["// Inspired by https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n\n/**\n * Calculates the CRC32 checksum of a string.\n */\nexport default class CRC32 {\n crc: number;\n\n constructor() {\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const CRC32_TABLE = getCRC32Table();\n const byteArray = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteArray.byteLength; i++) {\n this.crc = (this.crc >>> 8) ^ CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff];\n // strings: crc = (crc >>> 8) ^ CRC32TAB[(crc ^ str.charCodeAt(i)) & 0xff];\n }\n return this;\n }\n\n finalize() {\n this.crc = Math.abs(this.crc ^ -1);\n return this.crc;\n }\n}\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32TAB = Uint32Array.of(\n 0x00000000,\n 0x77073096,\n 0xee0e612c,\n 0x990951ba,\n 0x076dc419,\n 0x706af48f,\n 0xe963a535,\n 0x9e6495a3,\n 0x0edb8832,\n 0x79dcb8a4,\n 0xe0d5e91e,\n 0x97d2d988,\n 0x09b64c2b,\n 0x7eb17cbd,\n 0xe7b82d07,\n 0x90bf1d91,\n 0x1db71064,\n 0x6ab020f2,\n 0xf3b97148,\n 0x84be41de,\n 0x1adad47d,\n 0x6ddde4eb,\n 0xf4d4b551,\n 0x83d385c7,\n 0x136c9856,\n 0x646ba8c0,\n 0xfd62f97a,\n 0x8a65c9ec,\n 0x14015c4f,\n 0x63066cd9,\n 0xfa0f3d63,\n 0x8d080df5,\n 0x3b6e20c8,\n 0x4c69105e,\n 0xd56041e4,\n 0xa2677172,\n 0x3c03e4d1,\n 0x4b04d447,\n 0xd20d85fd,\n 0xa50ab56b,\n 0x35b5a8fa,\n 0x42b2986c,\n 0xdbbbc9d6,\n 0xacbcf940,\n 0x32d86ce3,\n 0x45df5c75,\n 0xdcd60dcf,\n 0xabd13d59,\n 0x26d930ac,\n 0x51de003a,\n 0xc8d75180,\n 0xbfd06116,\n 0x21b4f4b5,\n 0x56b3c423,\n 0xcfba9599,\n 0xb8bda50f,\n 0x2802b89e,\n 0x5f058808,\n 0xc60cd9b2,\n 0xb10be924,\n 0x2f6f7c87,\n 0x58684c11,\n 0xc1611dab,\n 0xb6662d3d,\n 0x76dc4190,\n 0x01db7106,\n 0x98d220bc,\n 0xefd5102a,\n 0x71b18589,\n 0x06b6b51f,\n 0x9fbfe4a5,\n 0xe8b8d433,\n 0x7807c9a2,\n 0x0f00f934,\n 0x9609a88e,\n 0xe10e9818,\n 0x7f6a0dbb,\n 0x086d3d2d,\n 0x91646c97,\n 0xe6635c01,\n 0x6b6b51f4,\n 0x1c6c6162,\n 0x856530d8,\n 0xf262004e,\n 0x6c0695ed,\n 0x1b01a57b,\n 0x8208f4c1,\n 0xf50fc457,\n 0x65b0d9c6,\n 0x12b7e950,\n 0x8bbeb8ea,\n 0xfcb9887c,\n 0x62dd1ddf,\n 0x15da2d49,\n 0x8cd37cf3,\n 0xfbd44c65,\n 0x4db26158,\n 0x3ab551ce,\n 0xa3bc0074,\n 0xd4bb30e2,\n 0x4adfa541,\n 0x3dd895d7,\n 0xa4d1c46d,\n 0xd3d6f4fb,\n 0x4369e96a,\n 0x346ed9fc,\n 0xad678846,\n 0xda60b8d0,\n 0x44042d73,\n 0x33031de5,\n 0xaa0a4c5f,\n 0xdd0d7cc9,\n 0x5005713c,\n 0x270241aa,\n 0xbe0b1010,\n 0xc90c2086,\n 0x5768b525,\n 0x206f85b3,\n 0xb966d409,\n 0xce61e49f,\n 0x5edef90e,\n 0x29d9c998,\n 0xb0d09822,\n 0xc7d7a8b4,\n 0x59b33d17,\n 0x2eb40d81,\n 0xb7bd5c3b,\n 0xc0ba6cad,\n 0xedb88320,\n 0x9abfb3b6,\n 0x03b6e20c,\n 0x74b1d29a,\n 0xead54739,\n 0x9dd277af,\n 0x04db2615,\n 0x73dc1683,\n 0xe3630b12,\n 0x94643b84,\n 0x0d6d6a3e,\n 0x7a6a5aa8,\n 0xe40ecf0b,\n 0x9309ff9d,\n 0x0a00ae27,\n 0x7d079eb1,\n 0xf00f9344,\n 0x8708a3d2,\n 0x1e01f268,\n 0x6906c2fe,\n 0xf762575d,\n 0x806567cb,\n 0x196c3671,\n 0x6e6b06e7,\n 0xfed41b76,\n 0x89d32be0,\n 0x10da7a5a,\n 0x67dd4acc,\n 0xf9b9df6f,\n 0x8ebeeff9,\n 0x17b7be43,\n 0x60b08ed5,\n 0xd6d6a3e8,\n 0xa1d1937e,\n 0x38d8c2c4,\n 0x4fdff252,\n 0xd1bb67f1,\n 0xa6bc5767,\n 0x3fb506dd,\n 0x48b2364b,\n 0xd80d2bda,\n 0xaf0a1b4c,\n 0x36034af6,\n 0x41047a60,\n 0xdf60efc3,\n 0xa867df55,\n 0x316e8eef,\n 0x4669be79,\n 0xcb61b38c,\n 0xbc66831a,\n 0x256fd2a0,\n 0x5268e236,\n 0xcc0c7795,\n 0xbb0b4703,\n 0x220216b9,\n 0x5505262f,\n 0xc5ba3bbe,\n 0xb2bd0b28,\n 0x2bb45a92,\n 0x5cb36a04,\n 0xc2d7ffa7,\n 0xb5d0cf31,\n 0x2cd99e8b,\n 0x5bdeae1d,\n 0x9b64c2b0,\n 0xec63f226,\n 0x756aa39c,\n 0x026d930a,\n 0x9c0906a9,\n 0xeb0e363f,\n 0x72076785,\n 0x05005713,\n 0x95bf4a82,\n 0xe2b87a14,\n 0x7bb12bae,\n 0x0cb61b38,\n 0x92d28e9b,\n 0xe5d5be0d,\n 0x7cdcefb7,\n 0x0bdbdf21,\n 0x86d3d2d4,\n 0xf1d4e242,\n 0x68ddb3f8,\n 0x1fda836e,\n 0x81be16cd,\n 0xf6b9265b,\n 0x6fb077e1,\n 0x18b74777,\n 0x88085ae6,\n 0xff0f6a70,\n 0x66063bca,\n 0x11010b5c,\n 0x8f659eff,\n 0xf862ae69,\n 0x616bffd3,\n 0x166ccf45,\n 0xa00ae278,\n 0xd70dd2ee,\n 0x4e048354,\n 0x3903b3c2,\n 0xa7672661,\n 0xd06016f7,\n 0x4969474d,\n 0x3e6e77db,\n 0xaed16a4a,\n 0xd9d65adc,\n 0x40df0b66,\n 0x37d83bf0,\n 0xa9bcae53,\n 0xdebb9ec5,\n 0x47b2cf7f,\n 0x30b5ffe9,\n 0xbdbdf21c,\n 0xcabac28a,\n 0x53b39330,\n 0x24b4a3a6,\n 0xbad03605,\n 0xcdd70693,\n 0x54de5729,\n 0x23d967bf,\n 0xb3667a2e,\n 0xc4614ab8,\n 0x5d681b02,\n 0x2a6f2b94,\n 0xb40bbe37,\n 0xc30c8ea1,\n 0x5a05df1b,\n 0x2d02ef8d\n);\n\nfunction getCRC32Table() {\n return CRC32TAB;\n}\n"],"mappings":";AAKA,eAAe,MAAMA,KAAK,CAAC;EAGzBC,WAAWA,CAAA,EAAG;IAAAC,eAAA;IACZ,IAAI,CAACC,GAAG,GAAG,CAAC,CAAC;EACf;EAEAC,MAAMA,CAACC,WAAW,EAAE;IAClB,MAAMC,WAAW,GAAGC,aAAa,CAAC,CAAC;IACnC,MAAMC,SAAS,GAAG,IAAIC,UAAU,CAACJ,WAAW,CAAC;IAC7C,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,SAAS,CAACG,UAAU,EAAED,CAAC,EAAE,EAAE;MAC7C,IAAI,CAACP,GAAG,GAAI,IAAI,CAACA,GAAG,KAAK,CAAC,GAAIG,WAAW,CAAC,CAAC,IAAI,CAACH,GAAG,GAAGK,SAAS,CAACE,CAAC,CAAC,IAAI,IAAI,CAAC;IAE7E;IACA,OAAO,IAAI;EACb;EAEAE,QAAQA,CAAA,EAAG;IACT,IAAI,CAACT,GAAG,GAAGU,IAAI,CAACC,GAAG,CAAC,IAAI,CAACX,GAAG,GAAG,CAAC,CAAC,CAAC;IAClC,OAAO,IAAI,CAACA,GAAG;EACjB;AACF;AAGA,MAAMY,QAAQ,GAAGC,WAAW,CAACC,EAAE,CAC7B,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UACF,CAAC;AAED,SAASV,aAAaA,CAAA,EAAG;EACvB,OAAOQ,QAAQ;AACjB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
export default class CRC32C {
|
|
3
|
+
constructor() {
|
|
4
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5
|
+
_defineProperty(this, "options", void 0);
|
|
6
|
+
_defineProperty(this, "crc", void 0);
|
|
7
|
+
this.options = options;
|
|
8
|
+
this.crc = ~0;
|
|
9
|
+
}
|
|
10
|
+
update(arrayBuffer) {
|
|
11
|
+
const byteArray = new Uint8Array(arrayBuffer);
|
|
12
|
+
const CRC32_TABLE = getCRC32Table();
|
|
13
|
+
for (let i = 0; i < byteArray.length; i++) {
|
|
14
|
+
this.crc = CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff] ^ this.crc >>> 8;
|
|
15
|
+
}
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
finalize() {
|
|
19
|
+
this.crc = (this.crc ^ -1) >>> 0;
|
|
20
|
+
return this.crc;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const CRC32C_TABLE = Int32Array.of(0x00000000, 0xf26b8303, 0xe13b70f7, 0x1350f3f4, 0xc79a971f, 0x35f1141c, 0x26a1e7e8, 0xd4ca64eb, 0x8ad958cf, 0x78b2dbcc, 0x6be22838, 0x9989ab3b, 0x4d43cfd0, 0xbf284cd3, 0xac78bf27, 0x5e133c24, 0x105ec76f, 0xe235446c, 0xf165b798, 0x030e349b, 0xd7c45070, 0x25afd373, 0x36ff2087, 0xc494a384, 0x9a879fa0, 0x68ec1ca3, 0x7bbcef57, 0x89d76c54, 0x5d1d08bf, 0xaf768bbc, 0xbc267848, 0x4e4dfb4b, 0x20bd8ede, 0xd2d60ddd, 0xc186fe29, 0x33ed7d2a, 0xe72719c1, 0x154c9ac2, 0x061c6936, 0xf477ea35, 0xaa64d611, 0x580f5512, 0x4b5fa6e6, 0xb93425e5, 0x6dfe410e, 0x9f95c20d, 0x8cc531f9, 0x7eaeb2fa, 0x30e349b1, 0xc288cab2, 0xd1d83946, 0x23b3ba45, 0xf779deae, 0x05125dad, 0x1642ae59, 0xe4292d5a, 0xba3a117e, 0x4851927d, 0x5b016189, 0xa96ae28a, 0x7da08661, 0x8fcb0562, 0x9c9bf696, 0x6ef07595, 0x417b1dbc, 0xb3109ebf, 0xa0406d4b, 0x522bee48, 0x86e18aa3, 0x748a09a0, 0x67dafa54, 0x95b17957, 0xcba24573, 0x39c9c670, 0x2a993584, 0xd8f2b687, 0x0c38d26c, 0xfe53516f, 0xed03a29b, 0x1f682198, 0x5125dad3, 0xa34e59d0, 0xb01eaa24, 0x42752927, 0x96bf4dcc, 0x64d4cecf, 0x77843d3b, 0x85efbe38, 0xdbfc821c, 0x2997011f, 0x3ac7f2eb, 0xc8ac71e8, 0x1c661503, 0xee0d9600, 0xfd5d65f4, 0x0f36e6f7, 0x61c69362, 0x93ad1061, 0x80fde395, 0x72966096, 0xa65c047d, 0x5437877e, 0x4767748a, 0xb50cf789, 0xeb1fcbad, 0x197448ae, 0x0a24bb5a, 0xf84f3859, 0x2c855cb2, 0xdeeedfb1, 0xcdbe2c45, 0x3fd5af46, 0x7198540d, 0x83f3d70e, 0x90a324fa, 0x62c8a7f9, 0xb602c312, 0x44694011, 0x5739b3e5, 0xa55230e6, 0xfb410cc2, 0x092a8fc1, 0x1a7a7c35, 0xe811ff36, 0x3cdb9bdd, 0xceb018de, 0xdde0eb2a, 0x2f8b6829, 0x82f63b78, 0x709db87b, 0x63cd4b8f, 0x91a6c88c, 0x456cac67, 0xb7072f64, 0xa457dc90, 0x563c5f93, 0x082f63b7, 0xfa44e0b4, 0xe9141340, 0x1b7f9043, 0xcfb5f4a8, 0x3dde77ab, 0x2e8e845f, 0xdce5075c, 0x92a8fc17, 0x60c37f14, 0x73938ce0, 0x81f80fe3, 0x55326b08, 0xa759e80b, 0xb4091bff, 0x466298fc, 0x1871a4d8, 0xea1a27db, 0xf94ad42f, 0x0b21572c, 0xdfeb33c7, 0x2d80b0c4, 0x3ed04330, 0xccbbc033, 0xa24bb5a6, 0x502036a5, 0x4370c551, 0xb11b4652, 0x65d122b9, 0x97baa1ba, 0x84ea524e, 0x7681d14d, 0x2892ed69, 0xdaf96e6a, 0xc9a99d9e, 0x3bc21e9d, 0xef087a76, 0x1d63f975, 0x0e330a81, 0xfc588982, 0xb21572c9, 0x407ef1ca, 0x532e023e, 0xa145813d, 0x758fe5d6, 0x87e466d5, 0x94b49521, 0x66df1622, 0x38cc2a06, 0xcaa7a905, 0xd9f75af1, 0x2b9cd9f2, 0xff56bd19, 0x0d3d3e1a, 0x1e6dcdee, 0xec064eed, 0xc38d26c4, 0x31e6a5c7, 0x22b65633, 0xd0ddd530, 0x0417b1db, 0xf67c32d8, 0xe52cc12c, 0x1747422f, 0x49547e0b, 0xbb3ffd08, 0xa86f0efc, 0x5a048dff, 0x8ecee914, 0x7ca56a17, 0x6ff599e3, 0x9d9e1ae0, 0xd3d3e1ab, 0x21b862a8, 0x32e8915c, 0xc083125f, 0x144976b4, 0xe622f5b7, 0xf5720643, 0x07198540, 0x590ab964, 0xab613a67, 0xb831c993, 0x4a5a4a90, 0x9e902e7b, 0x6cfbad78, 0x7fab5e8c, 0x8dc0dd8f, 0xe330a81a, 0x115b2b19, 0x020bd8ed, 0xf0605bee, 0x24aa3f05, 0xd6c1bc06, 0xc5914ff2, 0x37faccf1, 0x69e9f0d5, 0x9b8273d6, 0x88d28022, 0x7ab90321, 0xae7367ca, 0x5c18e4c9, 0x4f48173d, 0xbd23943e, 0xf36e6f75, 0x0105ec76, 0x12551f82, 0xe03e9c81, 0x34f4f86a, 0xc69f7b69, 0xd5cf889d, 0x27a40b9e, 0x79b737ba, 0x8bdcb4b9, 0x988c474d, 0x6ae7c44e, 0xbe2da0a5, 0x4c4623a6, 0x5f16d052, 0xad7d5351);
|
|
24
|
+
function getCRC32Table() {
|
|
25
|
+
return CRC32C_TABLE;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=crc32c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crc32c.js","names":["CRC32C","constructor","options","arguments","length","undefined","_defineProperty","crc","update","arrayBuffer","byteArray","Uint8Array","CRC32_TABLE","getCRC32Table","i","finalize","CRC32C_TABLE","Int32Array","of"],"sources":["../../../../src/lib/algorithms/crc32c.ts"],"sourcesContent":["// From: https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// CRC32 doesn't appear to be supported natively by crypto-js\n\n// import {toBuffer} from '@loaders.gl/loader-utils';\n// import {calculate as sse4calculate} from 'sse4_crc32';\n\n/**\n * Calculates the CRC32C checksum of a string.\n */\nexport default class CRC32C {\n options;\n crc: number;\n\n constructor(options = {}) {\n this.options = options;\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const byteArray = new Uint8Array(arrayBuffer);\n const CRC32_TABLE = getCRC32Table();\n for (let i = 0; i < byteArray.length; i++) {\n this.crc = CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff] ^ (this.crc >>> 8);\n }\n return this;\n }\n\n finalize() {\n this.crc = (this.crc ^ -1) >>> 0;\n return this.crc;\n }\n}\n\n/**\n * This code is a manual javascript translation of c code generated by\n * pycrc 0.7.1 (http://www.tty1.net/pycrc/). Command line used:\n * './pycrc.py --model=crc-32c --generate c --algorithm=table-driven'\n */\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32C_TABLE = Int32Array.of(\n 0x00000000,\n 0xf26b8303,\n 0xe13b70f7,\n 0x1350f3f4,\n 0xc79a971f,\n 0x35f1141c,\n 0x26a1e7e8,\n 0xd4ca64eb,\n 0x8ad958cf,\n 0x78b2dbcc,\n 0x6be22838,\n 0x9989ab3b,\n 0x4d43cfd0,\n 0xbf284cd3,\n 0xac78bf27,\n 0x5e133c24,\n 0x105ec76f,\n 0xe235446c,\n 0xf165b798,\n 0x030e349b,\n 0xd7c45070,\n 0x25afd373,\n 0x36ff2087,\n 0xc494a384,\n 0x9a879fa0,\n 0x68ec1ca3,\n 0x7bbcef57,\n 0x89d76c54,\n 0x5d1d08bf,\n 0xaf768bbc,\n 0xbc267848,\n 0x4e4dfb4b,\n 0x20bd8ede,\n 0xd2d60ddd,\n 0xc186fe29,\n 0x33ed7d2a,\n 0xe72719c1,\n 0x154c9ac2,\n 0x061c6936,\n 0xf477ea35,\n 0xaa64d611,\n 0x580f5512,\n 0x4b5fa6e6,\n 0xb93425e5,\n 0x6dfe410e,\n 0x9f95c20d,\n 0x8cc531f9,\n 0x7eaeb2fa,\n 0x30e349b1,\n 0xc288cab2,\n 0xd1d83946,\n 0x23b3ba45,\n 0xf779deae,\n 0x05125dad,\n 0x1642ae59,\n 0xe4292d5a,\n 0xba3a117e,\n 0x4851927d,\n 0x5b016189,\n 0xa96ae28a,\n 0x7da08661,\n 0x8fcb0562,\n 0x9c9bf696,\n 0x6ef07595,\n 0x417b1dbc,\n 0xb3109ebf,\n 0xa0406d4b,\n 0x522bee48,\n 0x86e18aa3,\n 0x748a09a0,\n 0x67dafa54,\n 0x95b17957,\n 0xcba24573,\n 0x39c9c670,\n 0x2a993584,\n 0xd8f2b687,\n 0x0c38d26c,\n 0xfe53516f,\n 0xed03a29b,\n 0x1f682198,\n 0x5125dad3,\n 0xa34e59d0,\n 0xb01eaa24,\n 0x42752927,\n 0x96bf4dcc,\n 0x64d4cecf,\n 0x77843d3b,\n 0x85efbe38,\n 0xdbfc821c,\n 0x2997011f,\n 0x3ac7f2eb,\n 0xc8ac71e8,\n 0x1c661503,\n 0xee0d9600,\n 0xfd5d65f4,\n 0x0f36e6f7,\n 0x61c69362,\n 0x93ad1061,\n 0x80fde395,\n 0x72966096,\n 0xa65c047d,\n 0x5437877e,\n 0x4767748a,\n 0xb50cf789,\n 0xeb1fcbad,\n 0x197448ae,\n 0x0a24bb5a,\n 0xf84f3859,\n 0x2c855cb2,\n 0xdeeedfb1,\n 0xcdbe2c45,\n 0x3fd5af46,\n 0x7198540d,\n 0x83f3d70e,\n 0x90a324fa,\n 0x62c8a7f9,\n 0xb602c312,\n 0x44694011,\n 0x5739b3e5,\n 0xa55230e6,\n 0xfb410cc2,\n 0x092a8fc1,\n 0x1a7a7c35,\n 0xe811ff36,\n 0x3cdb9bdd,\n 0xceb018de,\n 0xdde0eb2a,\n 0x2f8b6829,\n 0x82f63b78,\n 0x709db87b,\n 0x63cd4b8f,\n 0x91a6c88c,\n 0x456cac67,\n 0xb7072f64,\n 0xa457dc90,\n 0x563c5f93,\n 0x082f63b7,\n 0xfa44e0b4,\n 0xe9141340,\n 0x1b7f9043,\n 0xcfb5f4a8,\n 0x3dde77ab,\n 0x2e8e845f,\n 0xdce5075c,\n 0x92a8fc17,\n 0x60c37f14,\n 0x73938ce0,\n 0x81f80fe3,\n 0x55326b08,\n 0xa759e80b,\n 0xb4091bff,\n 0x466298fc,\n 0x1871a4d8,\n 0xea1a27db,\n 0xf94ad42f,\n 0x0b21572c,\n 0xdfeb33c7,\n 0x2d80b0c4,\n 0x3ed04330,\n 0xccbbc033,\n 0xa24bb5a6,\n 0x502036a5,\n 0x4370c551,\n 0xb11b4652,\n 0x65d122b9,\n 0x97baa1ba,\n 0x84ea524e,\n 0x7681d14d,\n 0x2892ed69,\n 0xdaf96e6a,\n 0xc9a99d9e,\n 0x3bc21e9d,\n 0xef087a76,\n 0x1d63f975,\n 0x0e330a81,\n 0xfc588982,\n 0xb21572c9,\n 0x407ef1ca,\n 0x532e023e,\n 0xa145813d,\n 0x758fe5d6,\n 0x87e466d5,\n 0x94b49521,\n 0x66df1622,\n 0x38cc2a06,\n 0xcaa7a905,\n 0xd9f75af1,\n 0x2b9cd9f2,\n 0xff56bd19,\n 0x0d3d3e1a,\n 0x1e6dcdee,\n 0xec064eed,\n 0xc38d26c4,\n 0x31e6a5c7,\n 0x22b65633,\n 0xd0ddd530,\n 0x0417b1db,\n 0xf67c32d8,\n 0xe52cc12c,\n 0x1747422f,\n 0x49547e0b,\n 0xbb3ffd08,\n 0xa86f0efc,\n 0x5a048dff,\n 0x8ecee914,\n 0x7ca56a17,\n 0x6ff599e3,\n 0x9d9e1ae0,\n 0xd3d3e1ab,\n 0x21b862a8,\n 0x32e8915c,\n 0xc083125f,\n 0x144976b4,\n 0xe622f5b7,\n 0xf5720643,\n 0x07198540,\n 0x590ab964,\n 0xab613a67,\n 0xb831c993,\n 0x4a5a4a90,\n 0x9e902e7b,\n 0x6cfbad78,\n 0x7fab5e8c,\n 0x8dc0dd8f,\n 0xe330a81a,\n 0x115b2b19,\n 0x020bd8ed,\n 0xf0605bee,\n 0x24aa3f05,\n 0xd6c1bc06,\n 0xc5914ff2,\n 0x37faccf1,\n 0x69e9f0d5,\n 0x9b8273d6,\n 0x88d28022,\n 0x7ab90321,\n 0xae7367ca,\n 0x5c18e4c9,\n 0x4f48173d,\n 0xbd23943e,\n 0xf36e6f75,\n 0x0105ec76,\n 0x12551f82,\n 0xe03e9c81,\n 0x34f4f86a,\n 0xc69f7b69,\n 0xd5cf889d,\n 0x27a40b9e,\n 0x79b737ba,\n 0x8bdcb4b9,\n 0x988c474d,\n 0x6ae7c44e,\n 0xbe2da0a5,\n 0x4c4623a6,\n 0x5f16d052,\n 0xad7d5351\n);\n\nfunction getCRC32Table() {\n return CRC32C_TABLE;\n}\n"],"mappings":";AASA,eAAe,MAAMA,MAAM,CAAC;EAI1BC,WAAWA,CAAA,EAAe;IAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAAG,eAAA;IAAAA,eAAA;IACtB,IAAI,CAACJ,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACK,GAAG,GAAG,CAAC,CAAC;EACf;EAEAC,MAAMA,CAACC,WAAW,EAAE;IAClB,MAAMC,SAAS,GAAG,IAAIC,UAAU,CAACF,WAAW,CAAC;IAC7C,MAAMG,WAAW,GAAGC,aAAa,CAAC,CAAC;IACnC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,SAAS,CAACN,MAAM,EAAEU,CAAC,EAAE,EAAE;MACzC,IAAI,CAACP,GAAG,GAAGK,WAAW,CAAC,CAAC,IAAI,CAACL,GAAG,GAAGG,SAAS,CAACI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAI,IAAI,CAACP,GAAG,KAAK,CAAE;IAC7E;IACA,OAAO,IAAI;EACb;EAEAQ,QAAQA,CAAA,EAAG;IACT,IAAI,CAACR,GAAG,GAAG,CAAC,IAAI,CAACA,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,IAAI,CAACA,GAAG;EACjB;AACF;AASA,MAAMS,YAAY,GAAGC,UAAU,CAACC,EAAE,CAChC,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UACF,CAAC;AAED,SAASL,aAAaA,CAAA,EAAG;EACvB,OAAOG,YAAY;AACrB"}
|
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
const atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,
|
|
2
|
+
wasmB64 = atb('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'),
|
|
3
|
+
wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,
|
|
4
|
+
crypt = makeCrypt(),
|
|
5
|
+
biteSize = 240 * 16 * 16,
|
|
6
|
+
bounder = Math.floor(biteSize * 16 * 1.066666667),
|
|
7
|
+
upperLimit = 268435456 - 65536,
|
|
8
|
+
parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',
|
|
9
|
+
tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';
|
|
10
|
+
if (!wasm) {
|
|
11
|
+
console.log('WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript');
|
|
12
|
+
}
|
|
13
|
+
export default function md5WASM(data) {
|
|
14
|
+
var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;
|
|
15
|
+
const md5JS = makeMD5JS(),
|
|
16
|
+
md5WA = makeMD5WA(),
|
|
17
|
+
returnObj = {},
|
|
18
|
+
startTime = new Date().getTime();
|
|
19
|
+
returnObj['then'] = function (fun) {
|
|
20
|
+
thenFun = fun;
|
|
21
|
+
getThen();
|
|
22
|
+
return returnObj;
|
|
23
|
+
};
|
|
24
|
+
returnObj['catch'] = function (fun) {
|
|
25
|
+
catchFun = fun;
|
|
26
|
+
return returnObj;
|
|
27
|
+
};
|
|
28
|
+
if (true) {
|
|
29
|
+
if (data && typeof data === 'object') {
|
|
30
|
+
if (typeof Buffer === 'function' && data.constructor === Buffer) {
|
|
31
|
+
buff = data;
|
|
32
|
+
} else {
|
|
33
|
+
if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {
|
|
34
|
+
buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;
|
|
35
|
+
} else {
|
|
36
|
+
getCatch(new TypeError(parmTypeErrStr));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
getCatch(new TypeError(parmTypeErrStr));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (buff) {
|
|
44
|
+
len = buff.length;
|
|
45
|
+
if (wasm && len > bounder) {
|
|
46
|
+
if (len > upperLimit) {
|
|
47
|
+
getCatch(new Error(tooBigErrStr));
|
|
48
|
+
} else {
|
|
49
|
+
mem = new WebAssembly.Memory({
|
|
50
|
+
initial: len > 32000000 ? len > 64000000 ? len > 128000000 ? 4096 : 2048 : 1024 : 512
|
|
51
|
+
});
|
|
52
|
+
memView = new Uint32Array(mem.buffer);
|
|
53
|
+
imports = {
|
|
54
|
+
mem: mem,
|
|
55
|
+
log: console.log
|
|
56
|
+
};
|
|
57
|
+
importObj = {
|
|
58
|
+
imports
|
|
59
|
+
};
|
|
60
|
+
WebAssembly.instantiate(wasm, importObj).then(giterdone);
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
getThen(md5JS(buff));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return returnObj;
|
|
67
|
+
function giterdone(obj) {
|
|
68
|
+
getThen(md5WA(buff, obj.instance.exports, memView));
|
|
69
|
+
}
|
|
70
|
+
function getThen(r) {
|
|
71
|
+
var res = Boolean(r) ? r : result;
|
|
72
|
+
if (Boolean(r)) {
|
|
73
|
+
endTime = new Date().getTime();
|
|
74
|
+
}
|
|
75
|
+
if (typeof thenFun === 'function') {
|
|
76
|
+
if (Boolean(res)) {
|
|
77
|
+
thenFun(res, endTime - startTime);
|
|
78
|
+
thenFun = catchFun = null;
|
|
79
|
+
}
|
|
80
|
+
} else {
|
|
81
|
+
if (Boolean(r)) {
|
|
82
|
+
result = r;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function getCatch(err) {
|
|
87
|
+
if (typeof catchFun === 'function') {
|
|
88
|
+
catchFun(err);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function makeMD5WA() {
|
|
93
|
+
var loop, loops;
|
|
94
|
+
var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;
|
|
95
|
+
var md5WA = function (message) {
|
|
96
|
+
var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m, k;
|
|
97
|
+
var qwerty = new Date().getTime();
|
|
98
|
+
var md5Used = 0;
|
|
99
|
+
var a = 1732584193,
|
|
100
|
+
b = -271733879,
|
|
101
|
+
c = -1732584194,
|
|
102
|
+
d = 271733878,
|
|
103
|
+
i = 0,
|
|
104
|
+
l = message.length * 8,
|
|
105
|
+
len;
|
|
106
|
+
len = bytesToWordsNewer(message, memView);
|
|
107
|
+
memView[l >>> 5] |= 0x80 << l % 32;
|
|
108
|
+
memView[(l + 64 >>> 9 << 4) + 14] = l;
|
|
109
|
+
len = (l + 64 >>> 9 << 4) + 15;
|
|
110
|
+
m = memView;
|
|
111
|
+
while (i < len) {
|
|
112
|
+
if (len > i + bounder) {
|
|
113
|
+
setA(a);
|
|
114
|
+
setB(b);
|
|
115
|
+
setC(c);
|
|
116
|
+
setD(d);
|
|
117
|
+
loops(biteSize);
|
|
118
|
+
i = i + biteSize * 16;
|
|
119
|
+
a = getA();
|
|
120
|
+
b = getB();
|
|
121
|
+
c = getC();
|
|
122
|
+
d = getD();
|
|
123
|
+
md5Used++;
|
|
124
|
+
} else {
|
|
125
|
+
aa = a;
|
|
126
|
+
bb = b;
|
|
127
|
+
cc = c;
|
|
128
|
+
dd = d;
|
|
129
|
+
m00 = m[i + 0] >>> 0;
|
|
130
|
+
m01 = m[i + 1] >>> 0;
|
|
131
|
+
m02 = m[i + 2] >>> 0;
|
|
132
|
+
m03 = m[i + 3] >>> 0;
|
|
133
|
+
m04 = m[i + 4] >>> 0;
|
|
134
|
+
m05 = m[i + 5] >>> 0;
|
|
135
|
+
m06 = m[i + 6] >>> 0;
|
|
136
|
+
m07 = m[i + 7] >>> 0;
|
|
137
|
+
m08 = m[i + 8] >>> 0;
|
|
138
|
+
m09 = m[i + 9] >>> 0;
|
|
139
|
+
m10 = m[i + 10] >>> 0;
|
|
140
|
+
m11 = m[i + 11] >>> 0;
|
|
141
|
+
m12 = m[i + 12] >>> 0;
|
|
142
|
+
m13 = m[i + 13] >>> 0;
|
|
143
|
+
m14 = m[i + 14] >>> 0;
|
|
144
|
+
m15 = m[i + 15] >>> 0;
|
|
145
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m00 - 680876936) + b;
|
|
146
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m01 - 389564586) + a;
|
|
147
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m02 + 606105819) + d;
|
|
148
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m03 - 1044525330) + c;
|
|
149
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m04 - 176418897) + b;
|
|
150
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m05 + 1200080426) + a;
|
|
151
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m06 - 1473231341) + d;
|
|
152
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m07 - 45705983) + c;
|
|
153
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m08 + 1770035416) + b;
|
|
154
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m09 - 1958414417) + a;
|
|
155
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m10 - 42063) + d;
|
|
156
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m11 - 1990404162) + c;
|
|
157
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m12 + 1804603682) + b;
|
|
158
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m13 - 40341101) + a;
|
|
159
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m14 - 1502002290) + d;
|
|
160
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m15 + 1236535329) + c;
|
|
161
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m01 - 165796510) + b;
|
|
162
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m06 - 1069501632) + a;
|
|
163
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m11 + 643717713) + d;
|
|
164
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m00 - 373897302) + c;
|
|
165
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m05 - 701558691) + b;
|
|
166
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m10 + 38016083) + a;
|
|
167
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m15 - 660478335) + d;
|
|
168
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m04 - 405537848) + c;
|
|
169
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m09 + 568446438) + b;
|
|
170
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m14 - 1019803690) + a;
|
|
171
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m03 - 187363961) + d;
|
|
172
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m08 + 1163531501) + c;
|
|
173
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m13 - 1444681467) + b;
|
|
174
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m02 - 51403784) + a;
|
|
175
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m07 + 1735328473) + d;
|
|
176
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m12 - 1926607734) + c;
|
|
177
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;
|
|
178
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;
|
|
179
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;
|
|
180
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;
|
|
181
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;
|
|
182
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;
|
|
183
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;
|
|
184
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;
|
|
185
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;
|
|
186
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;
|
|
187
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;
|
|
188
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;
|
|
189
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;
|
|
190
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;
|
|
191
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;
|
|
192
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;
|
|
193
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;
|
|
194
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;
|
|
195
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;
|
|
196
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;
|
|
197
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;
|
|
198
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;
|
|
199
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;
|
|
200
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;
|
|
201
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;
|
|
202
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;
|
|
203
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;
|
|
204
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;
|
|
205
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;
|
|
206
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;
|
|
207
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;
|
|
208
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;
|
|
209
|
+
i = i + 16;
|
|
210
|
+
a = a + aa >>> 0;
|
|
211
|
+
b = b + bb >>> 0;
|
|
212
|
+
c = c + cc >>> 0;
|
|
213
|
+
d = d + dd >>> 0;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return crypt.endian([a, b, c, d]);
|
|
217
|
+
function ____(s, t, n) {
|
|
218
|
+
return n << s | n >>> t;
|
|
219
|
+
}
|
|
220
|
+
function bytesToWordsNewer(bytes, words) {
|
|
221
|
+
var i = -1,
|
|
222
|
+
l = Math.floor((bytes.length - 1) / 4),
|
|
223
|
+
j = 0,
|
|
224
|
+
b0,
|
|
225
|
+
b1,
|
|
226
|
+
b2,
|
|
227
|
+
b3;
|
|
228
|
+
while (l - 8 > i++) {
|
|
229
|
+
j = i << 2;
|
|
230
|
+
words[i] = bytes[j + 0] | bytes[j + 1] << 8 | bytes[j + 2] << 16 | bytes[j + 3] << 24;
|
|
231
|
+
}
|
|
232
|
+
i--;
|
|
233
|
+
while (l > i++) {
|
|
234
|
+
j = i << 2;
|
|
235
|
+
b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];
|
|
236
|
+
b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];
|
|
237
|
+
b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];
|
|
238
|
+
b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];
|
|
239
|
+
words[i] = b0 | b1 << 8 | b2 << 16 | b3 << 24;
|
|
240
|
+
}
|
|
241
|
+
return l + 1;
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
return function (message, exports, mView, options) {
|
|
245
|
+
var digestbytes;
|
|
246
|
+
loops = exports.loops;
|
|
247
|
+
loop = exports.loop;
|
|
248
|
+
getA = exports.getA;
|
|
249
|
+
getB = exports.getB;
|
|
250
|
+
getC = exports.getC;
|
|
251
|
+
getD = exports.getD;
|
|
252
|
+
getX = exports.getX;
|
|
253
|
+
setA = exports.setA;
|
|
254
|
+
setB = exports.setB;
|
|
255
|
+
setC = exports.setC;
|
|
256
|
+
setD = exports.setD;
|
|
257
|
+
setX = exports.setX;
|
|
258
|
+
memView = mView;
|
|
259
|
+
digestbytes = crypt.wordsToBytes(md5WA(message));
|
|
260
|
+
return options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
function makeMD5JS() {
|
|
264
|
+
var md5JS = function (message, options) {
|
|
265
|
+
var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m;
|
|
266
|
+
var qwerty = new Date().getTime();
|
|
267
|
+
var a = 1732584193,
|
|
268
|
+
b = -271733879,
|
|
269
|
+
c = -1732584194,
|
|
270
|
+
d = 271733878,
|
|
271
|
+
l = message.length * 8;
|
|
272
|
+
m = crypt.bytesToWords(message);
|
|
273
|
+
for (var j = 0; j < m.length; j++) {
|
|
274
|
+
m[j] = (m[j] << 8 | m[j] >>> 24) & 0x00ff00ff | (m[j] << 24 | m[j] >>> 8) & 0xff00ff00;
|
|
275
|
+
}
|
|
276
|
+
m[l >>> 5] |= 0x80 << l % 32;
|
|
277
|
+
m[(l + 64 >>> 9 << 4) + 14] = l;
|
|
278
|
+
for (var i = 0; i < m.length; i += 16) {
|
|
279
|
+
aa = a;
|
|
280
|
+
bb = b;
|
|
281
|
+
cc = c;
|
|
282
|
+
dd = d;
|
|
283
|
+
m00 = m[i + 0] >>> 0;
|
|
284
|
+
m01 = m[i + 1] >>> 0;
|
|
285
|
+
m02 = m[i + 2] >>> 0;
|
|
286
|
+
m03 = m[i + 3] >>> 0;
|
|
287
|
+
m04 = m[i + 4] >>> 0;
|
|
288
|
+
m05 = m[i + 5] >>> 0;
|
|
289
|
+
m06 = m[i + 6] >>> 0;
|
|
290
|
+
m07 = m[i + 7] >>> 0;
|
|
291
|
+
m08 = m[i + 8] >>> 0;
|
|
292
|
+
m09 = m[i + 9] >>> 0;
|
|
293
|
+
m10 = m[i + 10] >>> 0;
|
|
294
|
+
m11 = m[i + 11] >>> 0;
|
|
295
|
+
m12 = m[i + 12] >>> 0;
|
|
296
|
+
m13 = m[i + 13] >>> 0;
|
|
297
|
+
m14 = m[i + 14] >>> 0;
|
|
298
|
+
m15 = m[i + 15] >>> 0;
|
|
299
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m00 - 680876936) + b;
|
|
300
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m01 - 389564586) + a;
|
|
301
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m02 + 606105819) + d;
|
|
302
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m03 - 1044525330) + c;
|
|
303
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m04 - 176418897) + b;
|
|
304
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m05 + 1200080426) + a;
|
|
305
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m06 - 1473231341) + d;
|
|
306
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m07 - 45705983) + c;
|
|
307
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m08 + 1770035416) + b;
|
|
308
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m09 - 1958414417) + a;
|
|
309
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m10 - 42063) + d;
|
|
310
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m11 - 1990404162) + c;
|
|
311
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m12 + 1804603682) + b;
|
|
312
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m13 - 40341101) + a;
|
|
313
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m14 - 1502002290) + d;
|
|
314
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m15 + 1236535329) + c;
|
|
315
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m01 - 165796510) + b;
|
|
316
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m06 - 1069501632) + a;
|
|
317
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m11 + 643717713) + d;
|
|
318
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m00 - 373897302) + c;
|
|
319
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m05 - 701558691) + b;
|
|
320
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m10 + 38016083) + a;
|
|
321
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m15 - 660478335) + d;
|
|
322
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m04 - 405537848) + c;
|
|
323
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m09 + 568446438) + b;
|
|
324
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m14 - 1019803690) + a;
|
|
325
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m03 - 187363961) + d;
|
|
326
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m08 + 1163531501) + c;
|
|
327
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m13 - 1444681467) + b;
|
|
328
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m02 - 51403784) + a;
|
|
329
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m07 + 1735328473) + d;
|
|
330
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m12 - 1926607734) + c;
|
|
331
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;
|
|
332
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;
|
|
333
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;
|
|
334
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;
|
|
335
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;
|
|
336
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;
|
|
337
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;
|
|
338
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;
|
|
339
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;
|
|
340
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;
|
|
341
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;
|
|
342
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;
|
|
343
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;
|
|
344
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;
|
|
345
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;
|
|
346
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;
|
|
347
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;
|
|
348
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;
|
|
349
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;
|
|
350
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;
|
|
351
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;
|
|
352
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;
|
|
353
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;
|
|
354
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;
|
|
355
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;
|
|
356
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;
|
|
357
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;
|
|
358
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;
|
|
359
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;
|
|
360
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;
|
|
361
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;
|
|
362
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;
|
|
363
|
+
a = a + aa >>> 0;
|
|
364
|
+
b = b + bb >>> 0;
|
|
365
|
+
c = c + cc >>> 0;
|
|
366
|
+
d = d + dd >>> 0;
|
|
367
|
+
}
|
|
368
|
+
return crypt.endian([a, b, c, d]);
|
|
369
|
+
function ____(s, t, n) {
|
|
370
|
+
return n << s | n >>> t;
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
return function (message, options) {
|
|
374
|
+
var digestbytes = crypt.wordsToBytes(md5JS(message, options)),
|
|
375
|
+
result = options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);
|
|
376
|
+
return result;
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
function str2AB(str) {
|
|
380
|
+
var l,
|
|
381
|
+
buff,
|
|
382
|
+
buffView,
|
|
383
|
+
i = -1;
|
|
384
|
+
l = str.length - 1;
|
|
385
|
+
buff = new ArrayBuffer(str.length);
|
|
386
|
+
buffView = new Uint8Array(buff);
|
|
387
|
+
while (l > i++) {
|
|
388
|
+
buffView[i] = str.charCodeAt(i);
|
|
389
|
+
}
|
|
390
|
+
return buffView;
|
|
391
|
+
}
|
|
392
|
+
function nodeATOB(str) {
|
|
393
|
+
return Buffer.from(str, 'base64').toString('binary');
|
|
394
|
+
}
|
|
395
|
+
function identity(x) {
|
|
396
|
+
return x;
|
|
397
|
+
}
|
|
398
|
+
function makeCrypt() {
|
|
399
|
+
var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
400
|
+
return {
|
|
401
|
+
rotl: function (n, b) {
|
|
402
|
+
return n << b | n >>> 32 - b;
|
|
403
|
+
},
|
|
404
|
+
endian: function (n) {
|
|
405
|
+
if (n.constructor == Number) {
|
|
406
|
+
return crypt.rotl(n, 8) & 0x00ff00ff | crypt.rotl(n, 24) & 0xff00ff00;
|
|
407
|
+
}
|
|
408
|
+
for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);
|
|
409
|
+
return n;
|
|
410
|
+
},
|
|
411
|
+
bytesToWords: function (bytes) {
|
|
412
|
+
for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8) words[b >>> 5] |= bytes[i] << 24 - b % 32;
|
|
413
|
+
return words;
|
|
414
|
+
},
|
|
415
|
+
wordsToBytes: function (words) {
|
|
416
|
+
for (var bytes = [], b = 0; b < words.length * 32; b += 8) bytes.push(words[b >>> 5] >>> 24 - b % 32 & 0xff);
|
|
417
|
+
return bytes;
|
|
418
|
+
},
|
|
419
|
+
bytesToHex: function (bytes) {
|
|
420
|
+
for (var hex = [], i = 0; i < bytes.length; i++) {
|
|
421
|
+
hex.push((bytes[i] >>> 4).toString(16));
|
|
422
|
+
hex.push((bytes[i] & 0xf).toString(16));
|
|
423
|
+
}
|
|
424
|
+
return hex.join('');
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
//# sourceMappingURL=md5-wasm.js.map
|