1(async function(doc, win, imageelement, worker, workerFn, cryptojs, downgradejs, fetchry) { 2 // åå§ç¶æ 3 const isAccelerate = false; 4 const dbVersion = 5; 5 const gcTime = 5 * 60 * 1000 * 1; 6 const ckTime = 1 * 60 * 1000 * 1; 7 const preload = '100% 0px'; 8 9 const isSupport = isAccelerate && (win.Worker) && ('indexedDB' in window); 10 const workerjs = worker(workerFn); 11 const databasejs = { 12 db: null, 13 open: function(dbName, version, stores) { 14 return new Promise((resolve, reject) => { 15 const request = indexedDB.open(dbName, version); 16 request.onerror = (event) => { 17 reject(`æ°æ®åºæå¼å¤±è´¥(open): ${event.target.error}`); 18 }; 19 request.onsuccess = async (event) => { 20 this.db = event.target.result; 21 console.log(`@è¿æ¥æå: ${dbName}`); 22 resolve(); 23 }; 24 request.onupgradeneeded = (event) => { 25 const db = event.target.result; 26 stores.forEach(store => { 27 if (!db.objectStoreNames.contains(store.name)) { 28 db.createObjectStore(store.name, store.options); 29 } 30 }); 31 }; 32 }); 33 }, 34 add: function(storeName, data, key) { 35 if (!this.db) { 36 return Promise.reject('æ°æ®åºæªè¿æ¥(add)'); 37 }; 38 return new Promise((resolve, reject) => { 39 const transaction = this.db.transaction(storeName, 'readwrite'); 40 const store = transaction.objectStore(storeName); 41 const request = store.count(data.key); 42 request.onsuccess = () => { 43 // 1. å·²ç»åå¨ 44 if (request.result > 0) { 45 resolve(false); 46 return; 47 } 48 49 // 2. æ·»å æ°æ® 50 const addRequest = store.add(data); 51 addRequest.onsuccess = () => resolve(addRequest.result); 52 53 // 3. æ·»å 失败 54 addRequest.onerror = (event) => { 55 store.clear(); 56 console.log("@æä½å¤±è´¥->æ¸ åº"); 57 reject(event.target.error); 58 }; 59 }; 60 request.onerror = (event) => reject(event.target.error); 61 }); 62 }, 63 update: function(storeName, data, key) { 64 if (!this.db) { 65 return Promise.reject('æ°æ®åºæªè¿æ¥(update)'); 66 } 67 return new Promise((resolve, reject) => { 68 const transaction = this.db.transaction(storeName, 'readwrite'); 69 const store = transaction.objectStore(storeName); 70 const checkRequest = key ? store.get(key) : store.get(data.key); 71 checkRequest.onsuccess = () => { 72 const request = checkRequest.result 73 ? store.put(data) // æ´æ° 74 : store.add(data); // æ°å¢ 75 request.onsuccess = () => resolve(request.result); 76 request.onerror = (event) => { 77 store.clear(); 78 console.log("@æä½å¤±è´¥->æ¸ åº"); 79 reject(event.target.error); 80 }; 81 }; 82 checkRequest.onerror = (event) => reject(event.target.error); 83 }); 84 }, 85 get(storeName, key) { 86 if (!this.db) { 87 return Promise.reject('æ°æ®åºæªè¿æ¥(get)') 88 }; 89 return new Promise((resolve, reject) => { 90 const transaction = this.db.transaction(storeName, 'readonly'); 91 const store = transaction.objectStore(storeName); 92 const request = store.get(key); 93 request.onsuccess = () => resolve(request.result); 94 request.onerror = (event) => reject(event.target.error); 95 }); 96 }, 97 clearBytime(storeName, cleartime, islog = false) { 98 const _this = this; 99 const _versiondataname = 'iversion'; 100 const currdate = Date.now(); 101 if (!_this.db) { 102 return Promise.reject('æ°æ®åºæªè¿æ¥(clearBytime)') 103 }; 104 105 // çæ¬æ£æµ 106 databasejs.get(_versiondataname, "1").then((res) => { 107 const currtime= currdate - res.timestamp; 108 if (currtime >= cleartime) { 109 console.log(`@ç®åè¿æ¥: ${parseFloat(currtime / cleartime * 100).toFixed(2)}%, è¿è¡æ¸ ç`); 110 databasejs.clear(storeName).then(() => { 111 databasejs.update(_versiondataname, { key: '1', timestamp: Date.now() }); 112 }) 113 } else { 114 islog && console.log(`@ç®åè¿æ¥: ${(currtime / cleartime * 100).toFixed(2)}%, è·³è¿æ¸ ç`); 115 } 116 }).catch((err) => { 117 // æ·»å çæ¬ 118 databasejs.add(_versiondataname, { key: '1', timestamp: Date.now() }).then(() => { 119 console.log(`@åå§çæ¬`); 120 }); 121 }) 122 }, 123 clear(storeName) { 124 return new Promise((resolve, reject) => { 125 if (!this.db) { 126 return reject('æ°æ®åºæªè¿æ¥(clear)') 127 }; 128 const transaction = this.db.transaction(storeName, 'readwrite'); 129 const store = transaction.objectStore(storeName); 130 const request = store.clear(); 131 132 request.onsuccess = () => { 133 console.log(`@æ°æ®æ¸ 空[${storeName}]`); 134 resolve(); 135 }; 136 request.onerror = (e) => reject(e.target.error); 137 }); 138 }, 139 gc() { 140 const _this = this; 141 _this.clearBytime('imgchace', gcTime, true); 142 setInterval(() => _this.clearBytime('imgchace', gcTime, false), ckTime); 143 } 144 }; 145 146 // åå§ååº 147 if(isSupport) { 148 await databasejs.open('xqbjdb', dbVersion, [ 149 { name: 'imgchace', options: { keyPath: 'key' } }, 150 { name: 'iversion', options: { keyPath: 'key' } } 151 ]); 152 153 // 宿¶æ¸ ç 154 databasejs.gc(); 155 156 // æ¶æ¯å¤ç 157 workerjs.onmessage = function(e) { 158 const {event, el: {imgkeys, imglink, imgtype, noloads, preview}, src, blob, key} = e.data; 159 const __this = document.querySelector(`img[data-key='${imgkeys}']`); 160 161 if(!__this) return; 162 163 // console.log('æ¶æ¯äºä»¶', event, imgkeys); 164 switch (event) { 165 case 'init': 166 __this.classList.add('loading'); 167 break; 168 169 case 'load': 170 __this.load = "success"; 171 __this.src = src; 172 173 __this.onload = () => { 174 __this.setAttribute("w", __this.naturalWi
174dth); 175 __this.setAttribute("h", __this.naturalHeight); 176 __this.classList.remove('loading'); 177 observer.unobserve(__this); 178 }; 179 180 __this.onerror = (err) => { 181 console.error('å¾çè·å失败:', err); 182 }; 183 184 delete __this.dataset.key; 185 186 databasejs.add('imgchace', { key, blob, timestamp: Date.now() }); 187 break; 188 189 case 'error': 190 __this.load = "error"; 191 __this.classList.remove("loading"); 192 delete __this.src; 193 break; 194 } 195 }; 196 } 197 // å建å®ä¾ 198 const observer = new IntersectionObserver( (entries) => { 199 entries.forEach(entry => { 200 if (entry.isIntersecting) { 201 const __this = entry.target; 202 imgparse(__this); 203 } 204 }); 205 }, { 206 threshold: [0.1], 207 rootMargin: preload 208 }); 209 210 // èµæºè§£æ 211 const imgparse = (img) => { 212 const __this = img; 213 214 // æ·»å æ è¯ 215 __this.dataset.key = imageelement++; 216 217 // è·ååé 218 const imglink = (__this.getAttribute('z-image-loader-url') || __this.getAttribute('x-image-loader-url'))?.replace(/[`'"]/g, ''); 219 const preview = __this.hasAttribute('data-image-preview'); 220 const noloads = __this.hasAttribute('data-no-loading'); 221 const imgkeys = __this.getAttribute('data-key'); 222 if (!imglink) { 223 observer.unobserve(__this); 224 return; 225 } 226 const imgtype = imglink?.slice(imglink.lastIndexOf('.') + 1).toLowerCase(); 227 const imgmd5 = cryptojs().MD5(imglink).toString(); 228 229 // æ¯ææ£æµ 230 if (isSupport) { 231 databasejs.get('imgchace', imgmd5).then((data) => { 232 // ç¼åè·å 233 if(data?.key) { 234 __this.src = URL.createObjectURL(data.blob); 235 __this.load = "success"; 236 __this.onload = () => { 237 __this.setAttribute("w", __this.naturalWidth); 238 __this.setAttribute("h", __this.naturalHeight); 239 __this.classList.remove('loading'); 240 observer.unobserve(__this); 241 }; 242 __this.onerror = (err) => { 243 console.error('å¾çè·å失败:', err); 244 }; 245 delete __this.dataset.key; 246 } 247 // éæ°è§£æ 248 else { 249 workerjs.postMessage({ 250 imglink, 251 preview, 252 noloads, 253 imgtype, 254 imgkeys, 255 }); 256 } 257 }) 258 } else { 259 const { fetch: fetchjs } = fetchry(win); 260 downgradejs(__this, observer, cryptojs, fetchjs); 261 } 262 }; 263 264 // å¨æè§£æ 265 const loadimage = (img) => { 266 if ('IntersectionObserver'in window) { 267 observer.observe(img); 268 } else { 269 imgparse(img); 270 } 271 }; 272 273 // ç´æ¥è§£æ 274 const loadDirectImage = (img) => { 275 imgparse(img); 276 }; 277 278 try { 279 // ç´æ¥è§£æ 280 document.querySelectorAll(`img[x-image-loader-url]:not([load="success"]`).forEach(img => loadDirectImage(img)); 281 // å¨æè§£æ 282 document.querySelectorAll(`img[z-image-loader-url]:not([load="success"]`).forEach(img => loadimage(img)); 283 // çæµå è½½ 284 new MutationObserver( (mutations) => { 285 mutations.forEach(mutation => {
286 mutation.addedNodes.forEach(node => { 287 if (node.nodeType === 1) { 288 if (node.tagName === 'IMG' && node.hasAttribute('z-image-loader-url') && !node.hasAttribute('load')) { 289 loadimage(node) 290 } 291 node.querySelectorAll('img[z-image-loader-url]:not([load])').forEach(loadimage); 292 } 293 } 294 ); 295 }); 296 }).observe(document.body, { 297 childList: true, 298 subtree: true 299 }); 300 } catch (err) { 301 console.error("èæ¬å 载失败:", err); 302 } 303 } 304)( 305 document, 306 window, 307 imageelement = 0, 308 function(wc) { 309 const blob = new Blob([`(${wc.toString()})();`],{ 310 type: 'application/javascript' 311 }); 312 const workerUrl = URL.createObjectURL(blob); 313 return new Worker(workerUrl); 314 }, 315 function() { 316 const worker = { 317 decryptjs: function(word, cryjs) { 318 const cc = (e, o=true) => o ? (cryjs.enc.Utf8.parse(e.split("_").map( (a) => String.fromCharCode(parseInt(a))).join(""))) : (e.split("_").map( (a) => String.fromCharCode(parseInt(a))).join("")); 319 const decrypt = cryjs.AES.decrypt(word, cc("102_53_100_57_54_53_100_102_55_53_51_51_54_50_55_48"), { 320 iv: cc("57_55_98_54_48_51_57_52_97_98_99_50_102_98_101_49"), 321 mode: cryjs.mode["CBC"], 322 padding: cryjs.pad.Pkcs7 323 }); 324 const decryptedStr = decrypt.toString(cryjs.enc.Base64); 325 return decryptedStr 326 }, 327 328 loaderjs: function(el, decryptjs, cryptojs) { 329 // 1. åå§åæ° 330 const __this = el; 331 const {imglink, preview, noloads, imgtype} = el; 332 333 // 2. åå§å è½½ 334 if (!noloads) { 335 postMessage({ event: 'init', el: el }); 336 } 337 338 fetch(imglink, { timeout: 1000 * 30 }) 339 // 1. è·åå¾ç(äºè¿å¶) 340 .then(response => response.blob()) 341 // 2. å¾çè§£å¯ 342 .then((blob) => { 343 return new Promise( (resolve, reject) => { 344 const fileReader = new FileReader(); 345 try { 346 fileReader.readAsDataURL(blob); 347 fileReader.onload = ({target: {result: ebase64Image}}) => { 348 resolve(`${decryptjs(ebase64Image.split(',').pop(), cryptojs())}`); 349 }; 350 } catch (error) { 351 reject(error); 352 } 353 }); 354 }) 355 // 3. çå¬äºä»¶ 356 .then( (base64Image) => { 357 let byteImage = new Uint8Array(atob(base64Image).split('').map( (c) => c.charCodeAt(0))); 358 let blobImage = new Blob([byteImage],{ 359 type: `image/${imgtype}` 360 }); 361 let localImage = URL.createObjectURL(blobImage); 362 postMessage({ 363 event: 'load', 364 el: el, 365 src: localImage, 366 key: cryptojs().MD5(imglink).toString(), 367 blob: blobImage 368 }); 369 }) 370 // 4. å¼å¸¸å¤ç 371 .catch( (err) => { 372 if (!noloads) { 373 postMessage({ 374 event: 'error', 375 el: el 376 }); 377 console.error('å¾çè·å失败2:', el, err); 378 } 379 }) 380 // äºä»¶è¡¥å 381 .finally( () => { 382 }) 383 }, 384 385 cryptojs: function() { 386 var ba = ba || (function(l, m) { 387 var n; 388 if (typeof window !== 'undefined' && window.crypto) { 389 n = window.crypto 390 } 391 if (typeof self !== 'undefined' && self.crypto) { 392 n = self.crypto 393 } 394 if (typeof globalThis !== 'undefined' && globalThis.crypto) { 395 n = globalThis.crypto 396 } 397 if (!n && typeof window !== 'undefined' && window.msCrypto) { 398 n = window.msCrypto 399 } 400 if (!n && typeof global !== 'undefined' && global.crypto) { 401 n = global.crypto 402 } 403 if (!n && typeof require === 'function') { 404 try { 405 n = require('crypto') 406 } catch (err) {} 407 } 408 var o = function() { 409 if (n) { 410 if (typeof n.getRandomValues === 'function') { 411 try { 412 return n.getRandomValues(new Uint32Array(1))[0] 413 } catch (err) {} 414 } 415 if (typeof n.randomBytes === 'function') { 416 try { 417 return n.randomBytes(4).readInt32LE() 418 } catch (err) {} 419 } 420 } 421 throw new Error('Native crypto module could not be used to get secure random number.'); 422 }; 423 var p = Object.create || (function() { 424 function F() {} 425 return function(a) { 426 var b; 427 F.prototype = a; 428 b = new F(); 429 F.prototype = null; 430 return b 431 } 432 }()); 433 var C = {}; 434 var q = C.lib = {}; 435 var r = q.Base = (function() { 436 return { 437 extend: function(a) { 438 var b = p(this); 439 if (a) { 440 b.mixIn(a) 441 } 442 if (!b.hasOwnProperty('init') || this.init === b.init) { 443 b.init = function() {
444 b.$super.init.apply(this, arguments) 445 } 446 } 447 b.init.prototype = b; 448 b.$super = this; 449 return b 450 }, 451 create: function() { 452 var a = this.extend(); 453 a.init.apply(a, arguments); 454 return a 455 }, 456 init: function() {}, 457 mixIn: function(a) { 458 for (var b in a) { 459 if (a.hasOwnProperty(b)) { 460 this[b] = a[b] 461 } 462 } 463 if (a.hasOwnProperty('toString')) { 464 this.toString = a.toString 465 } 466 }, 467 clone: function() { 468 return this.init.prototype.extend(this) 469 } 470 } 471 }()); 472 var s = q.WordArray = r.extend({ 473 init: function(a, b) { 474 a = this.words = a || []; 475 if (b != m) { 476 this.sigBytes = b 477 } else { 478 this.sigBytes = a.length * 4 479 } 480 }, 481 toString: function(a) { 482 return (a || u).stringify(this) 483 }, 484 concat: function(a) { 485 var b = this.words; 486 var c = a.words; 487 var d = this.sigBytes; 488 var e = a.sigBytes; 489 this.clamp(); 490 if (d % 4) { 491 for (var i = 0; i < e; i++) { 492 var f = (c[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 493 b[(d + i) >>> 2] |= f << (24 - ((d + i) % 4) * 8) 494 } 495 } else { 496 for (var j = 0; j < e; j += 4) { 497 b[(d + j) >>> 2] = c[j >>> 2] 498 } 499 } 500 this.sigBytes += e; 501 return this 502 }, 503 clamp: function() { 504 var a = this.words; 505 var b = this.sigBytes; 506 a[b >>> 2] &= 0xffffffff << (32 - (b % 4) * 8); 507 a.length = l.ceil(b / 4) 508 }, 509 clone: function() { 510 var a = r.clone.call(this); 511 a.words = this.words.slice(0); 512 return a 513 }, 514 random: function(a) { 515 var b = []; 516 for (var i = 0; i < a; i += 4) { 517 b.push(o()) 518 } 519 return new s.init(b,a) 520 } 521 }); 522 var t = C.enc = {}; 523 var u = t.Hex = { 524 stringify: function(a) { 525 var b = a.words; 526 var c = a.sigBytes; 527 var d = []; 528 for (var i = 0; i < c; i++) { 529 var e = (b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 530 d.push((e >>> 4).toString(16)); 531 d.push((e & 0x0f).toString(16)) 532 } 533 return d.join('') 534 }, 535 parse: function(a) { 536 var b = a.length; 537 var c = []; 538 for (var i = 0; i < b; i += 2) { 539 c[i >>> 3] |= parseInt(a.substr(i, 2), 16) << (24 - (i % 8) * 4) 540 } 541 return new s.init(c,b / 2) 542 } 543 }; 544 var v = t.Latin1 = {
545 stringify: function(a) { 546 var b = a.words; 547 var c = a.sigBytes; 548 var d = []; 549 for (var i = 0; i < c; i++) { 550 var e = (b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 551 d.push(String.fromCharCode(e)) 552 } 553 return d.join('') 554 }, 555 parse: function(a) { 556 var b = a.length; 557 var c = []; 558 for (var i = 0; i < b; i++) { 559 c[i >>> 2] |= (a.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8) 560 } 561 return new s.init(c,b) 562 } 563 }; 564 var w = t.Utf8 = { 565 stringify: function(a) { 566 try { 567 return decodeURIComponent(escape(v.stringify(a))) 568 } catch (e) { 569 throw new Error('Malformed UTF-8 data'); 570 } 571 }, 572 parse: function(a) { 573 return v.parse(unescape(encodeURIComponent(a))) 574 } 575 }; 576 var x = q.BufferedBlockAlgorithm = r.extend({ 577 reset: function() { 578 this._data = new s.init(); 579 this._nDataBytes = 0 580 }, 581 _append: function(a) { 582 if (typeof a == 'string') { 583 a = w.parse(a) 584 } 585 this._data.concat(a); 586 this._nDataBytes += a.sigBytes 587 }, 588 _process: function(a) { 589 var b; 590 var c = this._data; 591 var d = c.words; 592 var e = c.sigBytes; 593 var f = this.blockSize; 594 var g = f * 4; 595 var h = e / g; 596 if (a) { 597 h = l.ceil(h) 598 } else { 599 h = l.max((h | 0) - this._minBufferSize, 0) 600 } 601 var i = h * f; 602 var j = l.min(i * 4, e); 603 if (i) { 604 for (var k = 0; k < i; k += f) { 605 this._doProcessBlock(d, k) 606 } 607 b = d.splice(0, i); 608 c.sigBytes -= j 609 } 610 return new s.init(b,j) 611 }, 612 clone: function() { 613 var a = r.clone.call(this); 614 a._data = this._data.clone(); 615 return a 616 }, 617 _minBufferSize: 0 618 }); 619 var y = q.Hasher = x.extend({ 620 cfg: r.extend(), 621 init: function(a) { 622 this.cfg = this.cfg.extend(a); 623 this.reset() 624 }, 625 reset: function() { 626 x.reset.call(this); 627 this._doReset() 628 }, 629 update: function(a) { 630 this._append(a); 631 this._process(); 632 return this 633 }, 634 finalize: function(a) { 635 if (a) { 636 this._append(a) 637 } 638 var b = this._doFinalize(); 639 return b 640 }, 641 blockSize: 512 / 32, 642 _createHelper: function(c) { 643 return function(a, b) { 644 return new c.init(b).finalize(a) 645 } 646 }, 647 _createHmacHelper: function(c) { 648 return function(a, b) { 649 return new z.HMAC.init(c,b).finalize(a) 650 } 651 } 652 }); 653 var z = C.algo = {}; 654 return C 655 }(Math)); 656 (function(e) { 657 var C = ba; 658 var f = C.lib; 659 var g = f.Base; 660 var h = f.WordArray; 661 var j = C.x64 = {}; 662 var k = j.Word = g.extend({ 663 init: function(a, b) { 664 this.high = a; 665 this.low = b 666 } 667 }); 668 var l = j.WordArray = g.extend({ 669 init: function(a, b) { 670 a = this.words = a || []; 671 if (b != e) { 672 this.sigBytes = b 673 } else { 674 this.sigBytes = a.length * 8 675 } 676 }, 677 toX32: function() { 678 var a = this.words; 679 var b = a.length; 680 var c = []; 681 for (var i = 0; i < b; i++) { 682 var d = a[i]; 683 c.push(d.high); 684 c.push(d.low) 685 } 686 return h.create(c, this.sigBytes) 687 }, 688 clone: function() { 689 var a = g.clone.call(this); 690 var b = a.words = this.words.slice(0); 691 var c = b.length; 692 for (var i = 0; i < c; i++) { 693 b[i] = b[i].clone() 694 } 695 return a 696 } 697 }) 698 }()); 699 (function() { 700 if (typeof ArrayBuffer != 'function') { 701 return 702 } 703 var C = ba; 704 var d = C.lib; 705 var e = d.WordArray; 706 var f = e.init; 707 var g = e.init = function(a) { 708 if (a instanceof ArrayBuffer) { 709 a = new Uint8Array(a) 710 } 711 if (a instanceof Int8Array || (typeof Uint8ClampedArray !== "undefined" && a instanceof Uint8ClampedArray) || a instanceof Int16Array || a instanceof Uint16Array || a instanceof Int32Array || a instanceof Uint32Array || a instanceof Float32Array || a instanceof Float64Array) { 712 a = new Uint8Array(a.buffer,a.byteOffset,a.byteLength) 713 } 714 if (a instanceof Uint8Array) { 715 var b = a.byteLength; 716 var c = []; 717 for (var i = 0; i < b; i++) { 718 c[i >>> 2] |= a[i] << (24 - (i % 4) * 8) 719 } 720 f.call(this, c, b) 721 } else { 722 f.apply(this, arguments) 723 } 724 } 725 ; 726 g.prototype = e 727 }()); 728 (function() { 729 var C = ba; 730 var f = C.lib; 731 var g = f.WordArray; 732 var h = C.enc; 733 var j = h.Utf16 = h.Utf16BE = {
734 stringify: function(a) { 735 var b = a.words; 736 var c = a.sigBytes; 737 var d = []; 738 for (var i = 0; i < c; i += 2) { 739 var e = (b[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; 740 d.push(String.fromCharCode(e)) 741 } 742 return d.join('') 743 }, 744 parse: function(a) { 745 var b = a.length; 746 var c = []; 747 for (var i = 0; i < b; i++) { 748 c[i >>> 1] |= a.charCodeAt(i) << (16 - (i % 2) * 16) 749 } 750 return g.create(c, b * 2) 751 } 752 }; 753 h.Utf16LE = { 754 stringify: function(a) { 755 var b = a.words; 756 var c = a.sigBytes; 757 var d = []; 758 for (var i = 0; i < c; i += 2) { 759 var e = swapEndian((b[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); 760 d.push(String.fromCharCode(e)) 761 } 762 return d.join('') 763 }, 764 parse: function(a) { 765 var b = a.length; 766 var c = []; 767 for (var i = 0; i < b; i++) { 768 c[i >>> 1] |= swapEndian(a.charCodeAt(i) << (16 - (i % 2) * 16)) 769 } 770 return g.create(c, b * 2) 771 } 772 }; 773 function swapEndian(a) { 774 return ((a << 8) & 0xff00ff00) | ((a >>> 8) & 0x00ff00ff) 775 } 776 }()); 777 (function() { 778 var C = ba; 779 var m = C.lib; 780 var n = m.WordArray; 781 var o = C.enc; 782 var p = o.Base64 = { 783 stringify: function(a) { 784 var b = a.words; 785 var c = a.sigBytes; 786 var d = this._map; 787 a.clamp(); 788 var e = []; 789 for (var i = 0; i < c; i += 3) { 790 var f = (b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 791 var g = (b[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; 792 var h = (b[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; 793 var k = (f << 16) | (g << 8) | h; 794 for (var j = 0; (j < 4) && (i + j * 0.75 < c); j++) { 795 e.push(d.charAt((k >>> (6 * (3 - j))) & 0x3f)) 796 } 797 } 798 var l = d.charAt(64); 799 if (l) { 800 while (e.length % 4) { 801 e.push(l) 802 } 803 } 804 return e.join('') 805 }, 806 parse: function(a) { 807 var b = a.length; 808 var c = this._map; 809 var d = this._reverseMap; 810 if (!d) { 811 d = this._reverseMap = []; 812 for (var j = 0; j < c.length; j++) { 813 d[c.charCodeAt(j)] = j 814 } 815 } 816 var e = c.charAt(64); 817 if (e) { 818 var f = a.indexOf(e); 819 if (f !== -1) { 820 b = f 821 } 822 } 823 return parseLoop(a, b, d) 824 }, 825 _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
825+/=' 826 }; 827 function parseLoop(a, b, c) { 828 var d = []; 829 var e = 0; 830 for (var i = 0; i < b; i++) { 831 if (i % 4) { 832 var f = c[a.charCodeAt(i - 1)] << ((i % 4) * 2); 833 var g = c[a.charCodeAt(i)] >>> (6 - (i % 4) * 2); 834 var h = f | g; 835 d[e >>> 2] |= h << (24 - (e % 4) * 8); 836 e++ 837 } 838 } 839 return n.create(d, e) 840 } 841 }()); 842 (function() { 843 var C = ba; 844 var n = C.lib; 845 var o = n.WordArray; 846 var p = C.enc; 847 var q = p.Base64url = { 848 stringify: function(a, b) { 849 var c = a.words; 850 var d = a.sigBytes; 851 var e = urlSafe ? this._safe_map : this._map; 852 a.clamp(); 853 var f = []; 854 for (var i = 0; i < d; i += 3) { 855 var g = (c[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 856 var h = (c[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; 857 var k = (c[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; 858 var l = (g << 16) | (h << 8) | k; 859 for (var j = 0; (j < 4) && (i + j * 0.75 < d); j++) { 860 f.push(e.charAt((l >>> (6 * (3 - j))) & 0x3f)) 861 } 862 } 863 var m = e.charAt(64); 864 if (m) { 865 while (f.length % 4) { 866 f.push(m) 867 } 868 } 869 return f.join('') 870 }, 871 parse: function(a, b) { 872 var c = a.length; 873 var d = urlSafe ? this._safe_map : this._map; 874 var e = this._reverseMap; 875 if (!e) { 876 e = this._reverseMap = []; 877 for (var j = 0; j < d.length; j++) { 878 e[d.charCodeAt(j)] = j 879 } 880 } 881 var f = d.charAt(64); 882 if (f) { 883 var g = a.indexOf(f); 884 if (g !== -1) { 885 c = g 886 } 887 } 888 return parseLoop(a, c, e) 889 }, 890 _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', 891 _safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_', 892 }; 893 function parseLoop(a, b, c) { 894 var d = []; 895 var e = 0; 896 for (var i = 0; i < b; i++) { 897 if (i % 4) { 898 var f = c[a.charCodeAt(i - 1)] << ((i % 4) * 2); 899 var g = c[a.charCodeAt(i)] >>> (6 - (i % 4) * 2); 900 var h = f | g; 901 d[e >>> 2] |= h << (24 - (e % 4) * 8); 902 e++ 903 } 904 } 905 return o.create(d, e) 906 } 907 }()); 908 (function(y) { 909 var C = ba; 910 var z = C.lib; 911 var A = z.WordArray; 912 var B = z.Hasher; 913 var D = C.algo; 914 var T = []; 915 (function() { 916 for (var i = 0; i < 64; i++) { 917 T[i] = (y.abs(y.sin(i + 1)) * 0x100000000) | 0 918 } 919 }()); 920 var E = D.MD5 = B.extend({ 921 _doReset: function() { 922 this._hash = new A.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]) 923 }, 924 _doProcessBlock: function(M, e) { 925 for (var i = 0; i < 16; i++) { 926 var f = e + i; 927 var g = M[f]; 928 M[f] = ((((g << 8) | (g >>> 24)) & 0x00ff00ff) | (((g << 24) | (g >>> 8)) & 0xff00ff00)) 929 } 930 var H = this._hash.words; 931 var h = M[e + 0]; 932 var j = M[e + 1]; 933 var k = M[e + 2]; 934 var l = M[e + 3]; 935 var m = M[e + 4]; 936 var n = M[e + 5]; 937 var o = M[e + 6]; 938 var p = M[e + 7]; 939 var q = M[e + 8]; 940 var r = M[e + 9]; 941 var s = M[e + 10]; 942 var t = M[e + 11]; 943 var u = M[e + 12]; 944 var v = M[e + 13]; 945 var w = M[e + 14]; 946 var x = M[e + 15]; 947 var a = H[0]; 948 var b = H[1]; 949 var c = H[2]; 950 var d = H[3]; 951 a = FF(a, b, c, d, h, 7, T[0]); 952 d = FF(d, a, b, c, j, 12, T[1]);
953 c = FF(c, d, a, b, k, 17, T[2]); 954 b = FF(b, c, d, a, l, 22, T[3]); 955 a = FF(a, b, c, d, m, 7, T[4]); 956 d = FF(d, a, b, c, n, 12, T[5]); 957 c = FF(c, d, a, b, o, 17, T[6]); 958 b = FF(b, c, d, a, p, 22, T[7]); 959 a = FF(a, b, c, d, q, 7, T[8]); 960 d = FF(d, a, b, c, r, 12, T[9]); 961 c = FF(c, d, a, b, s, 17, T[10]); 962 b = FF(b, c, d, a, t, 22, T[11]); 963 a = FF(a, b, c, d, u, 7, T[12]); 964 d = FF(d, a, b, c, v, 12, T[13]); 965 c = FF(c, d, a, b, w, 17, T[14]); 966 b = FF(b, c, d, a, x, 22, T[15]); 967 a = GG(a, b, c, d, j, 5, T[16]); 968 d = GG(d, a, b, c, o, 9, T[17]); 969 c = GG(c, d, a, b, t, 14, T[18]); 970 b = GG(b, c, d, a, h, 20, T[19]); 971 a = GG(a, b, c, d, n, 5, T[20]); 972 d = GG(d, a, b, c, s, 9, T[21]); 973 c = GG(c, d, a, b, x, 14, T[22]); 974 b = GG(b, c, d, a, m, 20, T[23]); 975 a = GG(a, b, c, d, r, 5, T[24]); 976 d = GG(d, a, b, c, w, 9, T[25]); 977 c = GG(c, d, a, b, l, 14, T[26]); 978 b = GG(b, c, d, a, q, 20, T[27]); 979 a = GG(a, b, c, d, v, 5, T[28]); 980 d = GG(d, a, b, c, k, 9, T[29]); 981 c = GG(c, d, a, b, p, 14, T[30]); 982 b = GG(b, c, d, a, u, 20, T[31]); 983 a = HH(a, b, c, d, n, 4, T[32]); 984 d = HH(d, a, b, c, q, 11, T[33]); 985 c = HH(c, d, a, b, t, 16, T[34]); 986 b = HH(b, c, d, a, w, 23, T[35]); 987 a = HH(a, b, c, d, j, 4, T[36]); 988 d = HH(d, a, b, c, m, 11, T[37]); 989 c = HH(c, d, a, b, p, 16, T[38]); 990 b = HH(b, c, d, a, s, 23, T[39]); 991 a = HH(a, b, c, d, v, 4, T[40]); 992 d = HH(d, a, b, c, h, 11, T[41]); 993 c = HH(c, d, a, b, l, 16, T[42]); 994 b = HH(b, c, d, a, o, 23, T[43]); 995 a = HH(a, b, c, d, r, 4, T[44]); 996 d = HH(d, a, b, c, u, 11, T[45]); 997 c = HH(c, d, a, b, x, 16, T[46]); 998 b = HH(b, c, d, a, k, 23, T[47]); 999 a = II(a, b, c, d, h, 6, T[48]); 1000 d = II(d, a, b, c, p, 10, T[49]); 1001 c = II(c, d, a, b, w, 15, T[50]); 1002 b = II(b, c, d, a, n, 21, T[51]); 1003 a = II(a, b, c, d, u, 6, T[52]); 1004 d = II(d, a, b, c, l, 10, T[53]); 1005 c = II(c, d, a, b, s, 15, T[54]); 1006 b = II(b, c, d, a, j, 21, T[55]); 1007 a = II(a, b, c, d, q, 6, T[56]); 1008 d = II(d, a, b, c, x, 10, T[57]); 1009 c = II(c, d, a, b, o, 15, T[58]); 1010 b = II(b, c, d, a, v, 21, T[59]); 1011 a = II(a, b, c, d, m, 6, T[60]); 1012 d = II(d, a, b, c, t, 10, T[61]); 1013 c = II(c, d, a, b, k, 15, T[62]); 1014 b = II(b, c, d, a, r, 21, T[63]); 1015 H[0] = (H[0] + a) | 0; 1016 H[1] = (H[1] + b) | 0; 1017 H[2] = (H[2] + c) | 0; 1018 H[3] = (H[3] + d) | 0 1019 }, 1020 _doFinalize: function() { 1021 var a = this._data; 1022 var b = a.words; 1023 var c = this._nDataBytes * 8; 1024 var d = a.sigBytes * 8; 1025 b[d >>> 5] |= 0x80 << (24 - d % 32); 1026 var e = y.floor(c / 0x100000000); 1027 var f = c; 1028 b[(((d + 64) >>> 9) << 4) + 15] = ((((e << 8) | (e >>> 24)) & 0x00ff00ff) | (((e << 24) | (e >>> 8)) & 0xff00ff00)); 1029 b[(((d + 64) >>> 9) << 4) + 14] = ((((f << 8) | (f >>> 24)) & 0x00ff00ff) | (((f << 24) | (f >>> 8)) & 0xff00ff00)); 1030 a.sigBytes = (b.length + 1) * 4; 1031 this._process(); 1032 var g = this._hash; 1033 var H = g.words; 1034 for (var i = 0; i < 4; i++) { 1035 var h = H[i]; 1036 H[i] = (((h << 8) | (h >>> 24)) & 0x00ff00ff) | (((h << 24) | (h >>> 8)) & 0xff00ff00) 1037 } 1038 return g 1039 }, 1040 clone: function() { 1041 var a = B.clone.call(this); 1042 a._hash = this._hash.clone(); 1043 return a 1044 } 1045 }); 1046 function FF(a, b, c, d, x, s, t) { 1047 var n = a + ((b & c) | (~b & d)) + x + t; 1048 return ((n << s) | (n >>> (32 - s))) + b 1049 } 1050 function GG(a, b, c, d, x, s, t) { 1051 var n = a + ((b & d) | (c & ~d)) + x + t; 1052 return ((n << s) | (n >>> (32 - s))) + b 1053 } 1054 function HH(a, b, c, d, x, s, t) { 1055 var n = a + (b ^ c ^ d) + x + t; 1056 return ((n << s) | (n >>> (32 - s))) + b 1057 } 1058 function II(a, b, c, d, x, s, t) { 1059 var n = a + (c ^ (b | ~d)) + x + t; 1060 return ((n << s) | (n >>> (32 - s))) + b 1061 } 1062 C.MD5 = B._createHelper(E); 1063 C.HmacMD5 = B._createHmacHelper(E) 1064 }(Math)); 1065 (function() { 1066 var C = ba; 1067 var g = C.lib; 1068 var h = g.WordArray; 1069 var j = g.Hasher; 1070 var k = C.algo; 1071 var W = []; 1072 var l = k.SHA1 = j.extend({ 1073 _doReset: function() { 1074 this._hash = new h.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]) 1075 }, 1076 _doProcessBlock: function(M, f) { 1077 var H = this._hash.words; 1078 var a = H[0]; 1079 var b = H[1]; 1080 var c = H[2]; 1081 var d = H[3]; 1082 var e = H[4]; 1083 for (var i = 0; i < 80; i++) { 1084 if (i < 16) { 1085 W[i] = M[f + i] | 0 1086 } else { 1087 var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; 1088 W[i] = (n << 1) | (n >>> 31) 1089 } 1090 var t = ((a << 5) | (a >>> 27)) + e + W[i]; 1091 if (i < 20) { 1092 t += ((b & c) | (~b & d)) + 0x5a827999 1093 } else if (i < 40) { 1094 t += (b ^ c ^ d) + 0x6ed9eba1 1095 } else if (i < 60) { 1096 t += ((b & c) | (b & d) | (c & d))
1096- 0x70e44324 1097 } else { 1098 t += (b ^ c ^ d) - 0x359d3e2a 1099 } 1100 e = d; 1101 d = c; 1102 c = (b << 30) | (b >>> 2); 1103 b = a; 1104 a = t 1105 } 1106 H[0] = (H[0] + a) | 0; 1107 H[1] = (H[1] + b) | 0; 1108 H[2] = (H[2] + c) | 0; 1109 H[3] = (H[3] + d) | 0; 1110 H[4] = (H[4] + e) | 0 1111 }, 1112 _doFinalize: function() { 1113 var a = this._data; 1114 var b = a.words; 1115 var c = this._nDataBytes * 8; 1116 var d = a.sigBytes * 8; 1117 b[d >>> 5] |= 0x80 << (24 - d % 32); 1118 b[(((d + 64) >>> 9) << 4) + 14] = Math.floor(c / 0x100000000); 1119 b[(((d + 64) >>> 9) << 4) + 15] = c; 1120 a.sigBytes = b.length * 4; 1121 this._process(); 1122 return this._hash 1123 }, 1124 clone: function() { 1125 var a = j.clone.call(this); 1126 a._hash = this._hash.clone(); 1127 return a 1128 } 1129 }); 1130 C.SHA1 = j._createHelper(l); 1131 C.HmacSHA1 = j._createHmacHelper(l) 1132 }()); 1133 (function(u) { 1134 var C = ba; 1135 var v = C.lib; 1136 var w = v.WordArray; 1137 var x = v.Hasher; 1138 var y = C.algo; 1139 var H = []; 1140 var K = []; 1141 (function() { 1142 function isPrime(n) { 1143 var a = u.sqrt(n); 1144 for (var b = 2; b <= a; b++) { 1145 if (!(n % b)) { 1146 return false 1147 } 1148 } 1149 return true 1150 } 1151 function getFractionalBits(n) { 1152 return ((n - (n | 0)) * 0x100000000) | 0 1153 } 1154 var n = 2; 1155 var c = 0; 1156 while (c < 64) { 1157 if (isPrime(n)) { 1158 if (c < 8) { 1159 H[c] = getFractionalBits(u.pow(n, 1 / 2)) 1160 } 1161 K[c] = getFractionalBits(u.pow(n, 1 / 3)); 1162 c++ 1163 } 1164 n++ 1165 } 1166 }()); 1167 var W = []; 1168 var z = y.SHA256 = x.extend({ 1169 _doReset: function() { 1170 this._hash = new w.init(H.slice(0)) 1171 }, 1172 _doProcessBlock: function(M, j) { 1173 var H = this._hash.words; 1174 var a = H[0]; 1175 var b = H[1]; 1176 var c = H[2]; 1177 var d = H[3]; 1178 var e = H[4]; 1179 var f = H[5]; 1180 var g = H[6]; 1181 var h = H[7]; 1182 for (var i = 0; i < 64; i++) { 1183 if (i < 16) { 1184 W[i] = M[j + i] | 0 1185 } else { 1186 var k = W[i - 15]; 1187 var l = ((k << 25) | (k >>> 7)) ^ ((k << 14) | (k >>> 18)) ^ (k >>> 3); 1188 var m = W[i - 2]; 1189 var n = ((m << 15) | (m >>> 17)) ^ ((m << 13) | (m >>> 19)) ^ (m >>> 10); 1190 W[i] = l + W[i - 7] + n + W[i - 16] 1191 } 1192 var o = (e & f) ^ (~e & g); 1193 var p = (a & b) ^ (a & c) ^ (b & c); 1194 var q = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); 1195 var r = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); 1196 var s = h + r + o + K[i] + W[i]; 1197 var t = q + p; 1198 h = g; 1199 g = f; 1200 f = e; 1201 e = (d + s) | 0; 1202 d = c; 1203 c = b; 1204 b = a; 1205 a = (s + t) | 0 1206 } 1207 H[0] = (H[0] + a) | 0; 1208 H[1] = (H[1] + b) | 0; 1209 H[2] = (H[2] + c) | 0; 1210 H[3] = (H[3] + d) | 0; 1211 H[4] = (H[4] + e) | 0; 1212 H[5] = (H[5] + f) | 0; 1213 H[6] = (H[6] + g) | 0; 1214 H[7] = (H[7] + h) | 0 1215 }, 1216 _doFinalize: function() { 1217 var a = this._data; 1218 var b = a.words; 1219 var c = this._nDataBytes * 8; 1220 var d = a.sigBytes * 8; 1221 b[d >>> 5] |= 0x80 << (24 - d % 32); 1222 b[(((d + 64) >>> 9) << 4) + 14] = u.floor(c / 0x100000000); 1223 b[(((d + 64) >>> 9) << 4) + 15] = c; 1224 a.sigBytes = b.length * 4; 1225 this._process(); 1226 return this._hash 1227 }, 1228 clone: function() { 1229 var a = x.clone.call(this); 1230 a._hash = this._hash.clone(); 1231 return a 1232 } 1233 }); 1234 C.SHA256 = x._createHelper(z); 1235 C.HmacSHA256 = x._createHmacHelper(z) 1236 }(Math)); 1237 (function() { 1238 var C = ba; 1239 var b = C.lib; 1240 var c = b.WordArray; 1241 var d = C.algo; 1242 var e = d.SHA256; 1243 var f = d.SHA224 = e.extend({ 1244 _doReset: function() { 1245 this._hash = new c.init([0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4]) 1246 }, 1247 _doFinalize: function() { 1248 var a = e._doFinalize.call(this); 1249 a.sigBytes -= 4; 1250 return a 1251 } 1252 }); 1253 C.SHA224 = e._createHelper(f); 1254 C.HmacSHA224 = e._createHmacHelper(f) 1255 }()); 1256 (function() { 1257 var C = ba; 1258 var bb = C.lib; 1259 var bc = bb.Hasher; 1260 var bd = C.x64; 1261 var be = bd.Word; 1262 var bf = bd.WordArray; 1263 var bg = C.algo; 1264 function X64Word_create() { 1265 return be.create.apply(be, arguments) 1266 } 1267 var K = [X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb
vendor: 16,384 bytes, lines 1267-1523
1267605d019), X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)]; 1268 var W = []; 1269 (function() { 1270 for (var i = 0; i < 80; i++) { 1271 W[i] = X64Word_create() 1272 } 1273 }()); 1274 var bh = bg.SHA512 = bc.extend({ 1275 _doReset: function() { 1276 this._hash = new bf.init([new be.init(0x6a09e667,0xf3bcc908), new be.init(0xbb67ae85,0x84caa73b), new be.init(0x3c6ef372,0xfe94f82b), new be.init(0xa54ff53a,0x5f1d36f1), new be.init(0x510e527f,0xade682d1), new be.init(0x9b05688c,0x2b3e6c1f), new be.init(0x1f83d9ab,0xfb41bd6b), new be.init(0x5be0cd19,0x137e2179)]) 1277 }, 1278 _doProcessBlock: function(M, a) { 1279 var H = this._hash.words; 1280 var b = H[0]; 1281 var c = H[1]; 1282 var d = H[2]; 1283 var e = H[3]; 1284 var f = H[4]; 1285 var g = H[5]; 1286 var h = H[6]; 1287 var j = H[7]; 1288 var k = b.high; 1289 var l = b.low; 1290 var m = c.high; 1291 var n = c.low; 1292 var o = d.high; 1293 var p = d.low; 1294 var q = e.high; 1295 var r = e.low; 1296 var s = f.high; 1297 var t = f.low; 1298 var u = g.high; 1299 var v = g.low; 1300 var w = h.high; 1301 var x = h.low; 1302 var y = j.high; 1303 var z = j.low; 1304 var A = k; 1305 var B = l; 1306 var C = m; 1307 var D = n; 1308 var E = o; 1309 var F = p; 1310 var G = q; 1311 var I = r; 1312 var J = s; 1313 var L = t; 1314 var N = u; 1315 var O = v; 1316 var P = w; 1317 var Q = x; 1318 var R = y; 1319 var S = z; 1320 for (var i = 0; i < 80; i++) { 1321 var T; 1322 var U; 1323 var V = W[i]; 1324 if (i < 16) { 1325 U = V.high = M[a + i * 2] | 0; 1326 T = V.low = M[a + i * 2 + 1] | 0 1327 } else { 1328 var X = W[i - 15]; 1329 var Y = X.high; 1330 var Z = X.low; 1331 var bi = ((Y >>> 1) | (Z << 31)) ^ ((Y >>> 8) | (Z << 24)) ^ (Y >>> 7); 1332 var bj = ((Z >>> 1) | (Y << 31)) ^ ((Z >>> 8) | (Y << 24)) ^ ((Z >>> 7) | (Y << 25)); 1333 var bk = W[i - 2]; 1334 var bm = bk.high; 1335 var bn = bk.low; 1336 var bo = ((bm >>> 19) | (bn << 13)) ^ ((bm << 3) | (bn >>> 29)) ^ (bm >>> 6); 1337 var bp = ((bn >>> 19) | (bm << 13)) ^ ((bn << 3) | (bm >>> 29)) ^ ((bn >>> 6) | (bm << 26)); 1338 var bq = W[i - 7]; 1339 var bs = bq.high; 1340 var bt = bq.low; 1341 var bu = W[i - 16]; 1342 var bv = bu.high; 1343 var bw = bu.low; 1344 T = bj + bt; 1345 U = bi + bs + ((T >>> 0) < (bj >>> 0) ? 1 : 0); 1346 T = T + bp; 1347 U = U + bo + ((T >>> 0) < (bp >>> 0) ? 1 : 0); 1348 T = T + bw; 1349 U = U + bv + ((T >>> 0) < (bw >>> 0) ? 1 : 0); 1350 V.high = U; 1351 V.low = T 1352 } 1353 var bx = (J & N) ^ (~J & P); 1354 var by = (L & O) ^ (~L & Q); 1355 var bz = (A & C) ^ (A & E) ^ (C & E); 1356 var bA = (B & D) ^ (B & F) ^ (D & F); 1357 var bB = ((A >>> 28) | (B << 4)) ^ ((A << 30) | (B >>> 2)) ^ ((A << 25) | (B >>> 7)); 1358 var bC = ((B >>> 28) | (A << 4)) ^ ((B << 30) | (A >>> 2)) ^ ((B << 25) | (A >>> 7)); 1359 var bD = ((J >>> 14) | (L << 18)) ^ ((J >>> 18) | (L << 14)) ^ ((J << 23) | (L >>> 9)); 1360 var bE = ((L >>> 14) | (J << 18)) ^ ((L >>> 18) | (J << 14)) ^ ((L << 23) | (J >>> 9)); 1361 var bF = K[i]; 1362 var bG = bF.high; 1363 var bH = bF.low; 1364 var bI = S + bE; 1365 var bJ = R + bD + ((bI >>> 0) < (S >>> 0) ? 1 : 0); 1366 var bI = bI + by; 1367 var bJ = bJ + bx + ((bI >>> 0) < (by >>> 0) ? 1 : 0); 1368 var bI = bI + bH; 1369 var bJ = bJ + bG + ((bI >>> 0) < (bH >>> 0) ? 1 : 0); 1370 var bI = bI + T; 1371 var bJ = bJ + U + ((bI >>> 0) < (T >>> 0) ? 1 : 0); 1372 var bK = bC + bA; 1373 var bL = bB + bz + ((bK >>> 0) < (bC >>> 0) ? 1 : 0); 1374 R = P; 1375 S = Q; 1376 P = N; 1377 Q = O; 1378 N = J; 1379 O = L; 1380 L = (I + bI) | 0; 1381 J = (G + bJ + ((L >>> 0) < (I >>> 0) ? 1 : 0)) | 0; 1382 G = E; 1383 I = F; 1384 E = C; 1385 F = D; 1386 C = A; 1387 D = B; 1388 B = (bI + bK) | 0; 1389 A = (bJ + bL + ((B >>> 0) < (bI >>> 0) ? 1 : 0)) | 0 1390 } 1391 l = b.low = (l + B); 1392 b.high = (k + A + ((l >>> 0) < (B >>> 0) ? 1 : 0)); 1393 n = c.low = (n + D); 1394 c.high = (m + C + ((n >>> 0) < (D >>> 0) ? 1 : 0)); 1395 p = d.low = (p + F); 1396 d.high = (o + E + ((p >>> 0) < (F >>> 0) ? 1 : 0)); 1397 r = e.low = (r + I); 1398 e.high = (q + G + ((r >>> 0) < (I >>> 0) ? 1 : 0)); 1399 t = f.low = (t + L); 1400 f.high = (s + J + ((t >>> 0) < (L >>> 0) ? 1 : 0)); 1401 v = g.low = (v + O); 1402 g.high = (u + N + ((v >>> 0) < (O >>> 0) ? 1 : 0)); 1403 x = h.low = (x + Q); 1404 h.high = (w + P + ((x >>> 0) < (Q >>> 0) ? 1 : 0)); 1405 z = j.low = (z + S); 1406 j.high = (y + R + ((z >>> 0) < (S >>> 0) ? 1 : 0)) 1407 }, 1408 _doFinalize: function() { 1409 var a = this._data; 1410 var b = a.words; 1411 var c = this._nDataBytes * 8; 1412 var d = a.sigBytes * 8; 1413 b[d >>> 5] |= 0x80 << (24 - d % 32); 1414 b[(((d + 128) >>> 10) << 5) + 30] = Math.floor(c / 0x100000000); 1415 b[(((d + 128) >>> 10) << 5) + 31] = c; 1416 a.sigBytes = b.length * 4; 1417 this._process(); 1418 var e = this._hash.toX32(); 1419 return e 1420 }, 1421 clone: function() { 1422 var a = bc.clone.call(this); 1423 a._hash = this._hash.clone(); 1424 return a 1425 }, 1426 blockSize: 1024 / 32 1427 }); 1428 C.SHA512 = bc._createHelper(bh); 1429 C.HmacSHA512 = bc._createHmacHelper(bh) 1430 }()); 1431 (function() { 1432 var C = ba; 1433 var b = C.x64; 1434 var c = b.Word; 1435 var d = b.WordArray; 1436 var e = C.algo; 1437 var f = e.SHA512; 1438 var g = e.SHA384 = f.extend({ 1439 _doReset: function() { 1440 this._hash = new d.init([new c.init(0xcbbb9d5d,0xc1059ed8), new c.init(0x629a292a,0x367cd507), new c.init(0x9159015a,0x3070dd17), new c.init(0x152fecd8,0xf70e5939), new c.init(0x67332667,0xffc00b31), new c.init(0x8eb44a87,0x68581511), new c.init(0xdb0c2e0d,0x64f98fa7), new c.init(0x47b5481d,0xbefa4fa4)]) 1441 }, 1442 _doFinalize: function() { 1443 var a = f._doFinalize.call(this); 1444 a.sigBytes -= 16; 1445 return a 1446 } 1447 }); 1448 C.SHA384 = f._createHelper(g); 1449 C.HmacSHA384 = f._createHmacHelper(g) 1450 }()); 1451 (function(D) { 1452 var C = ba; 1453 var E = C.lib; 1454 var F = E.WordArray; 1455 var G = E.Hasher; 1456 var H = C.x64; 1457 var I = H.Word; 1458 var J = C.algo; 1459 var K = []; 1460 var L = []; 1461 var N = []; 1462 (function() { 1463 var x = 1 1464 , y = 0; 1465 for (var t = 0; t < 24; t++) { 1466 K[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64; 1467 var a = y % 5; 1468 var b = (2 * x + 3 * y) % 5; 1469 x = a; 1470 y = b 1471 } 1472 for (var x = 0; x < 5; x++) { 1473 for (var y = 0; y < 5; y++) { 1474 L[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5 1475 } 1476 } 1477 var c = 0x01; 1478 for (var i = 0; i < 24; i++) { 1479 var d = 0; 1480 var e = 0; 1481 for (var j = 0; j < 7; j++) { 1482 if (c & 0x01) { 1483 var f = (1 << j) - 1; 1484 if (f < 32) { 1485 e ^= 1 << f 1486 } else { 1487 d ^= 1 << (f - 32) 1488 } 1489 } 1490 if (c & 0x80) { 1491 c = (c << 1) ^ 0x71 1492 } else { 1493 c <<= 1 1494 } 1495 } 1496 N[i] = I.create(d, e) 1497 } 1498 }()); 1499 var T = []; 1500 (function() { 1501 for (var i = 0; i < 25; i++) { 1502 T[i] = I.create() 1503 } 1504 }()); 1505 var O = J.SHA3 = G.extend({ 1506 cfg: G.cfg.extend({ 1507 outputLength: 512 1508 }), 1509 _doReset: function() { 1510 var a = this._state = []; 1511 for (var i = 0; i < 25; i++) { 1512 a[i] = new I.init() 1513 } 1514 this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 1515 }, 1516 _doProcessBlock: function(M, a) { 1517 var b = this._state; 1518 var c = this.blockSize / 2; 1519 for (var i = 0; i < c; i++) { 1520 var d = M[a + 2 * i]; 1521 var e = M[a + 2 * i + 1]; 1522 d = ((((d << 8) | (d >>> 24)) & 0x00ff00ff) | (((d << 24) | (d >>> 8)) & 0xff00ff00)); 1523 e = ((((e << 8) | (e >>> 24)) & 0x00ff00ff) | (((e << 24) | (e >>> 8
1523)) & 0xff00ff00)); 1524 var f = b[i]; 1525 f.high ^= e; 1526 f.low ^= d 1527 } 1528 for (var g = 0; g < 24; g++) { 1529 for (var x = 0; x < 5; x++) { 1530 var h = 0 1531 , o = 0; 1532 for (var y = 0; y < 5; y++) { 1533 var f = b[x + 5 * y]; 1534 h ^= f.high; 1535 o ^= f.low 1536 } 1537 var j = T[x]; 1538 j.high = h; 1539 j.low = o 1540 } 1541 for (var x = 0; x < 5; x++) { 1542 var k = T[(x + 4) % 5]; 1543 var l = T[(x + 1) % 5]; 1544 var m = l.high; 1545 var n = l.low; 1546 var h = k.high ^ ((m << 1) | (n >>> 31)); 1547 var o = k.low ^ ((n << 1) | (m >>> 31)); 1548 for (var y = 0; y < 5; y++) { 1549 var f = b[x + 5 * y]; 1550 f.high ^= h; 1551 f.low ^= o 1552 } 1553 } 1554 for (var p = 1; p < 25; p++) { 1555 var h; 1556 var o; 1557 var f = b[p]; 1558 var q = f.high; 1559 var r = f.low; 1560 var s = K[p]; 1561 if (s < 32) { 1562 h = (q << s) | (r >>> (32 - s)); 1563 o = (r << s) | (q >>> (32 - s)) 1564 } else { 1565 h = (r << (s - 32)) | (q >>> (64 - s)); 1566 o = (q << (s - 32)) | (r >>> (64 - s)) 1567 } 1568 var t = T[L[p]]; 1569 t.high = h; 1570 t.low = o 1571 } 1572 var u = T[0]; 1573 var v = b[0]; 1574 u.high = v.high; 1575 u.low = v.low; 1576 for (var x = 0; x < 5; x++) { 1577 for (var y = 0; y < 5; y++) { 1578 var p = x + 5 * y; 1579 var f = b[p]; 1580 var w = T[p]; 1581 var z = T[((x + 1) % 5) + 5 * y]; 1582 var A = T[((x + 2) % 5) + 5 * y]; 1583 f.high = w.high ^ (~z.high & A.high); 1584 f.low = w.low ^ (~z.low & A.low) 1585 } 1586 } 1587 var f = b[0]; 1588 var B = N[g]; 1589 f.high ^= B.high; 1590 f.low ^= B.low 1591 } 1592 }, 1593 _doFinalize: function() { 1594 var a = this._data; 1595 var b = a.words; 1596 var c = this._nDataBytes * 8; 1597 var d = a.sigBytes * 8; 1598 var e = this.blockSize * 32; 1599 b[d >>> 5] |= 0x1 << (24 - d % 32); 1600 b[((D.ceil((d + 1) / e) * e) >>> 5) - 1] |= 0x80; 1601 a.sigBytes = b.length * 4; 1602 this._process(); 1603 var f = this._state; 1604 var g = this.cfg.outputLength / 8; 1605 var h = g / 8; 1606 var j = []; 1607 for (var i = 0; i < h; i++) { 1608 var k = f[i]; 1609 var l = k.high; 1610 var m = k.low; 1611 l = ((((l << 8) | (l >>> 24)) & 0x00ff00ff) | (((l << 24) | (l >>> 8)) & 0xff00ff00)); 1612 m = ((((m << 8) | (m >>> 24)) & 0x00ff00ff) | (((m << 24) | (m >>> 8)) & 0xff00ff00)); 1613 j.push(m); 1614 j.push(l) 1615 } 1616 return new F.init(j,g) 1617 }, 1618 clone: function() { 1619 var a = G.clone.call(this); 1620 var b = a._state = this._state.slice(0); 1621 for (var i = 0; i < 25; i++) { 1622 b[i] = b[i].clone() 1623 } 1624 return a 1625 } 1626 }); 1627 C.SHA3 = G._createHelper(O); 1628 C.HmacSHA3 = G._createHmacHelper(O) 1629 }(Math)); 1630 (function(m) { 1631 var C = ba; 1632 var o = C.lib; 1633 var p = o.WordArray; 1634 var q = o.Hasher; 1635 var r = C.algo; 1636 var s = p.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]); 1637 var u = p.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]); 1638 var v = p.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]); 1639 var w = p.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]); 1640 var A = p.create([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); 1641 var B = p.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); 1642 var D = r.RIPEMD160 = q.extend({ 1643 _doReset: function() { 1644 this._hash = p.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]) 1645 }, 1646 _doProcessBlock: function(M, a) { 1647 for (var i = 0; i < 16; i++) { 1648 var b = a + i; 1649 var c = M[b]; 1650 M[b] = ((((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00)) 1651 } 1652 var H = this._hash.words; 1653 var d = A.words; 1654 var e = B.words; 1655 var f = s.words; 1656 var g = u.words; 1657 var h = v.words; 1658 var j = w.words; 1659 var k, bl, cl, dl, el; 1660 var l, br, cr, dr, er; 1661 l = k = H[0]; 1662 br = bl = H[1]; 1663 cr = cl = H[2]; 1664 dr = dl = H[3]; 1665 er = el = H[4]; 1666 var t; 1667 for (var i = 0; i < 80; i += 1) { 1668 t = (k + M[a + f[i]]) | 0; 1669 if (i < 16) { 1670 t += f1(bl, cl, dl) + d[0] 1671 } else if (i < 32) { 1672 t += f2(bl, cl, dl) + d[1] 1673 } else if (i < 48) { 1674 t += f3(bl, cl, dl) + d[2] 1675 } else if (i < 64) { 1676 t += f4(bl, cl, dl) + d[3] 1677 } else { 1678 t += f5(bl, cl, dl) + d[4] 1679 } 1680 t = t | 0; 1681 t = rotl(t, h[i]); 1682 t = (t + el) | 0; 1683 k = el; 1684 el = dl; 1685 dl = rotl(cl, 10); 1686 cl = bl; 1687 bl = t; 1688 t = (l + M[a + g[i]]) | 0; 1689 if (i < 16) { 1690 t += f5(br, cr, dr) + e[0] 1691 } else if (i < 32) {
1692 t += f4(br, cr, dr) + e[1] 1693 } else if (i < 48) { 1694 t += f3(br, cr, dr) + e[2] 1695 } else if (i < 64) { 1696 t += f2(br, cr, dr) + e[3] 1697 } else { 1698 t += f1(br, cr, dr) + e[4] 1699 } 1700 t = t | 0; 1701 t = rotl(t, j[i]); 1702 t = (t + er) | 0; 1703 l = er; 1704 er = dr; 1705 dr = rotl(cr, 10); 1706 cr = br; 1707 br = t 1708 } 1709 t = (H[1] + cl + dr) | 0; 1710 H[1] = (H[2] + dl + er) | 0; 1711 H[2] = (H[3] + el + l) | 0; 1712 H[3] = (H[4] + k + br) | 0; 1713 H[4] = (H[0] + bl + cr) | 0; 1714 H[0] = t 1715 }, 1716 _doFinalize: function() { 1717 var a = this._data; 1718 var b = a.words; 1719 var c = this._nDataBytes * 8; 1720 var d = a.sigBytes * 8; 1721 b[d >>> 5] |= 0x80 << (24 - d % 32); 1722 b[(((d + 64) >>> 9) << 4) + 14] = ((((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00)); 1723 a.sigBytes = (b.length + 1) * 4; 1724 this._process(); 1725 var e = this._hash; 1726 var H = e.words; 1727 for (var i = 0; i < 5; i++) { 1728 var f = H[i]; 1729 H[i] = (((f << 8) | (f >>> 24)) & 0x00ff00ff) | (((f << 24) | (f >>> 8)) & 0xff00ff00) 1730 } 1731 return e 1732 }, 1733 clone: function() { 1734 var a = q.clone.call(this); 1735 a._hash = this._hash.clone(); 1736 return a 1737 } 1738 }); 1739 function f1(x, y, z) { 1740 return ((x) ^ (y) ^ (z)) 1741 } 1742 function f2(x, y, z) { 1743 return (((x) & (y)) | ((~x) & (z))) 1744 } 1745 function f3(x, y, z) { 1746 return (((x) | (~(y))) ^ (z)) 1747 } 1748 function f4(x, y, z) { 1749 return (((x) & (z)) | ((y) & (~(z)))) 1750 } 1751 function f5(x, y, z) { 1752 return ((x) ^ ((y) | (~(z)))) 1753 } 1754 function rotl(x, n) { 1755 return (x << n) | (x >>> (32 - n)) 1756 } 1757 C.RIPEMD160 = q._createHelper(D); 1758 C.HmacRIPEMD160 = q._createHmacHelper(D) 1759 }(Math)); 1760 (function() { 1761 var C = ba; 1762 var j = C.lib; 1763 var k = j.Base; 1764 var l = C.enc; 1765 var m = l.Utf8; 1766 var n = C.algo; 1767 var o = n.HMAC = k.extend({ 1768 init: function(a, b) { 1769 a = this._hasher = new a.init(); 1770 if (typeof b == 'string') { 1771 b = m.parse(b) 1772 } 1773 var c = a.blockSize; 1774 var d = c * 4; 1775 if (b.sigBytes > d) { 1776 b = a.finalize(b) 1777 } 1778 b.clamp(); 1779 var e = this._oKey = b.clone(); 1780 var f = this._iKey = b.clone(); 1781 var g = e.words; 1782 var h = f.words; 1783 for (var i = 0; i < c; i++) { 1784 g[i] ^= 0x5c5c5c5c; 1785 h[i] ^= 0x36363636 1786 } 1787 e.sigBytes = f.sigBytes = d; 1788 this.reset() 1789 }, 1790 reset: function() { 1791 var a = this._hasher; 1792 a.reset(); 1793 a.update(this._iKey) 1794 }, 1795 update: function(a) { 1796 this._hasher.update(a); 1797 return this 1798 }, 1799 finalize: function(a) { 1800 var b = this._hasher; 1801 var c = b.finalize(a); 1802 b.reset();
1803 var d = b.finalize(this._oKey.clone().concat(c)); 1804 return d 1805 } 1806 }) 1807 }()); 1808 (function() { 1809 var C = ba; 1810 var r = C.lib; 1811 var s = r.Base; 1812 var t = r.WordArray; 1813 var u = C.algo; 1814 var v = u.SHA1; 1815 var w = u.HMAC; 1816 var x = u.PBKDF2 = s.extend({ 1817 cfg: s.extend({ 1818 keySize: 128 / 32, 1819 hasher: v, 1820 iterations: 1 1821 }), 1822 init: function(a) { 1823 this.cfg = this.cfg.extend(a) 1824 }, 1825 compute: function(a, b) { 1826 var c = this.cfg; 1827 var d = w.create(c.hasher, a); 1828 var e = t.create(); 1829 var f = t.create([0x00000001]); 1830 var g = e.words; 1831 var h = f.words; 1832 var k = c.keySize; 1833 var l = c.iterations; 1834 while (g.length < k) { 1835 var m = d.update(b).finalize(f); 1836 d.reset(); 1837 var n = m.words; 1838 var o = n.length; 1839 var p = m; 1840 for (var i = 1; i < l; i++) { 1841 p = d.finalize(p); 1842 d.reset(); 1843 var q = p.words; 1844 for (var j = 0; j < o; j++) { 1845 n[j] ^= q[j] 1846 } 1847 } 1848 e.concat(m); 1849 h[0]++ 1850 } 1851 e.sigBytes = k * 4; 1852 return e 1853 } 1854 }); 1855 C.PBKDF2 = function(a, b, c) { 1856 return x.create(c).compute(a, b) 1857 } 1858 }()); 1859 (function() { 1860 var C = ba; 1861 var k = C.lib; 1862 var l = k.Base; 1863 var m = k.WordArray; 1864 var n = C.algo; 1865 var o = n.MD5; 1866 var p = n.EvpKDF = l.extend({ 1867 cfg: l.extend({ 1868 keySize: 128 / 32, 1869 hasher: o, 1870 iterations: 1 1871 }), 1872 init: function(a) { 1873 this.cfg = this.cfg.extend(a) 1874 }, 1875 compute: function(a, b) { 1876 var c; 1877 var d = this.cfg; 1878 var e = d.hasher.create(); 1879 var f = m.create(); 1880 var g = f.words; 1881 var h = d.keySize; 1882 var j = d.iterations; 1883 while (g.length < h) { 1884 if (c) { 1885 e.update(c) 1886 } 1887 c = e.update(a).finalize(b); 1888 e.reset(); 1889 for (var i = 1; i < j; i++) { 1890 c = e.finalize(c); 1891 e.reset() 1892 } 1893 f.concat(c) 1894 } 1895 f.sigBytes = h * 4; 1896 return f 1897 } 1898 }); 1899 C.EvpKDF = function(a, b, c) { 1900 return p.create(c).compute(a, b) 1901 } 1902 }()); 1903 ba.lib.Cipher || (function(h) { 1904 var C = ba; 1905 var j = C.lib; 1906 var k = j.Base; 1907 var l = j.WordArray; 1908 var m = j.BufferedBlockAlgorithm; 1909 var n = C.enc; 1910 var o = n.Utf8; 1911 var p = n.Base64; 1912 var q = C.algo; 1913 var r = q.EvpKDF; 1914 var s = j.Cipher = m.extend({ 1915 cfg: k.extend(), 1916 createEncryptor: function(a, b) { 1917 return this.create(this._ENC_XFORM_MODE, a, b) 1918 }, 1919 createDecryptor: function(a, b) { 1920 return this.create(this._DEC_XFORM_MODE, a, b) 1921 }, 1922 init: function(a, b, c) { 1923 this.cfg = this.cfg.extend(c); 1924 this._xformMode = a; 1925 this._key = b; 1926 this.reset() 1927 }, 1928 reset: function() { 1929 m.reset.call(this); 1930 this._doReset() 1931 }, 1932 process: function(a) { 1933 this._append(a); 1934 return this._process() 1935 }, 1936 finalize: function(a) { 1937 if (a) { 1938 this._append(a) 1939 } 1940 var b = this._doFinalize(); 1941 return b 1942 }, 1943 keySize: 128 / 32, 1944 ivSize: 128 / 32, 1945 _ENC_XFORM_MODE: 1, 1946 _DEC_XFORM_MODE: 2, 1947 _createHelper: (function() { 1948 function selectCipherStrategy(a) { 1949 if (typeof a == 'string') { 1950 return H 1951 } else { 1952 return E 1953 } 1954 } 1955 return function(d) { 1956 return { 1957 encrypt: function(a, b, c) { 1958 return selectCipherStrategy(b).encrypt
1958(d, a, b, c) 1959 }, 1960 decrypt: function(a, b, c) { 1961 return selectCipherStrategy(b).decrypt(d, a, b, c) 1962 } 1963 } 1964 } 1965 }()) 1966 }); 1967 var t = j.StreamCipher = s.extend({ 1968 _doFinalize: function() { 1969 var a = this._process(!!'flush'); 1970 return a 1971 }, 1972 blockSize: 1 1973 }); 1974 var u = C.mode = {}; 1975 var v = j.BlockCipherMode = k.extend({ 1976 createEncryptor: function(a, b) { 1977 return this.Encryptor.create(a, b) 1978 }, 1979 createDecryptor: function(a, b) { 1980 return this.Decryptor.create(a, b) 1981 }, 1982 init: function(a, b) { 1983 this._cipher = a; 1984 this._iv = b 1985 } 1986 }); 1987 var w = u.CBC = (function() { 1988 var f = v.extend(); 1989 f.Encryptor = f.extend({ 1990 processBlock: function(a, b) { 1991 var c = this._cipher; 1992 var d = c.blockSize; 1993 xorBlock.call(this, a, b, d); 1994 c.encryptBlock(a, b); 1995 this._prevBlock = a.slice(b, b + d) 1996 } 1997 }); 1998 f.Decryptor = f.extend({ 1999 processBlock: function(a, b) { 2000 var c = this._cipher; 2001 var d = c.blockSize; 2002 var e = a.slice(b, b + d); 2003 c.decryptBlock(a, b); 2004 xorBlock.call(this, a, b, d); 2005 this._prevBlock = e 2006 } 2007 }); 2008 function xorBlock(a, b, c) { 2009 var d; 2010 var e = this._iv; 2011 if (e) { 2012 d = e; 2013 this._iv = h 2014 } else { 2015 d = this._prevBlock 2016 } 2017 for (var i = 0; i < c; i++) { 2018 a[b + i] ^= d[i] 2019 } 2020 } 2021 return f 2022 }()); 2023 var x = C.pad = {}; 2024 var y = x.Pkcs7 = { 2025 pad: function(a, b) { 2026 var c = b * 4; 2027 var d = c - a.sigBytes % c; 2028 var e = (d << 24) | (d << 16) | (d << 8) | d; 2029 var f = []; 2030 for (var i = 0; i < d; i += 4) { 2031 f.push(e) 2032 } 2033 var g = l.create(f, d); 2034 a.concat(g) 2035 }, 2036 unpad: function(a) { 2037 var b = a.words[(a.sigBytes - 1) >>> 2] & 0xff;
vendor: 9,782 bytes, lines 2038-2254
2038 a.sigBytes -= b 2039 } 2040 }; 2041 var z = j.BlockCipher = s.extend({ 2042 cfg: s.cfg.extend({ 2043 mode: w, 2044 padding: y 2045 }), 2046 reset: function() { 2047 var a; 2048 s.reset.call(this); 2049 var b = this.cfg; 2050 var c = b.iv; 2051 var d = b.mode; 2052 if (this._xformMode == this._ENC_XFORM_MODE) { 2053 a = d.createEncryptor 2054 } else { 2055 a = d.createDecryptor; 2056 this._minBufferSize = 1 2057 } 2058 if (this._mode && this._mode.__creator == a) { 2059 this._mode.init(this, c && c.words) 2060 } else { 2061 this._mode = a.call(d, this, c && c.words); 2062 this._mode.__creator = a 2063 } 2064 }, 2065 _doProcessBlock: function(a, b) { 2066 this._mode.processBlock(a, b) 2067 }, 2068 _doFinalize: function() { 2069 var a; 2070 var b = this.cfg.padding; 2071 if (this._xformMode == this._ENC_XFORM_MODE) { 2072 b.pad(this._data, this.blockSize); 2073 a = this._process(!!'flush') 2074 } else { 2075 a = this._process(!!'flush'); 2076 b.unpad(a) 2077 } 2078 return a 2079 }, 2080 blockSize: 128 / 32 2081 }); 2082 var A = j.CipherParams = k.extend({ 2083 init: function(a) { 2084 this.mixIn(a) 2085 }, 2086 toString: function(a) { 2087 return (a || this.formatter).stringify(this) 2088 } 2089 }); 2090 var B = C.format = {}; 2091 var D = B.OpenSSL = { 2092 stringify: function(a) { 2093 var b; 2094 var c = a.ciphertext; 2095 var d = a.salt; 2096 if (d) { 2097 b = l.create([0x53616c74, 0x65645f5f]).concat(d).concat(c) 2098 } else { 2099 b = c 2100 } 2101 return b.toString(p) 2102 }, 2103 parse: function(a) { 2104 var b; 2105 var c = p.parse(a); 2106 var d = c.words; 2107 if (d[0] == 0x53616c74 && d[1] == 0x65645f5f) { 2108 b = l.create(d.slice(2, 4)); 2109 d.splice(0, 4); 2110 c.sigBytes -= 16 2111 } 2112 return A.create({ 2113 ciphertext: c, 2114 salt: b 2115 }) 2116 } 2117 }; 2118 var E = j.SerializableCipher = k.extend({ 2119 cfg: k.extend({ 2120 format: D 2121 }), 2122 encrypt: function(a, b, c, d) { 2123 d = this.cfg.extend(d); 2124 var e = a.createEncryptor(c, d); 2125 var f = e.finalize(b); 2126 var g = e.cfg; 2127 return A.create({ 2128 ciphertext: f, 2129 key: c, 2130 iv: g.iv, 2131 algorithm: a, 2132 mode: g.mode, 2133 padding: g.padding, 2134 blockSize: a.blockSize, 2135 formatter: d.format 2136 }) 2137 }, 2138 decrypt: function(a, b, c, d) { 2139 d = this.cfg.extend(d); 2140 b = this._parse(b, d.format); 2141 var e = a.createDecryptor(c, d).finalize(b.ciphertext); 2142 return e 2143 }, 2144 _parse: function(a, b) { 2145 if (typeof a == 'string') { 2146 return b.parse(a, this) 2147 } else { 2148 return a 2149 } 2150 } 2151 }); 2152 var F = C.kdf = {}; 2153 var G = F.OpenSSL = { 2154 execute: function(a, b, c, d) { 2155 if (!d) { 2156 d = l.random(64 / 8) 2157 } 2158 var e = r.create({ 2159 keySize: b + c 2160 }).compute(a, d); 2161 var f = l.create(e.words.slice(b), c * 4); 2162 e.sigBytes = b * 4; 2163 return A.create({ 2164 key: e, 2165 iv: f, 2166 salt: d 2167 }) 2168 } 2169 }; 2170 var H = j.PasswordBasedCipher = E.extend({ 2171 cfg: E.cfg.extend({ 2172 kdf: G 2173 }), 2174 encrypt: function(a, b, c, d) { 2175 d = this.cfg.extend(d); 2176 var e = d.kdf.execute(c, a.keySize, a.ivSize); 2177 d.iv = e.iv; 2178 var f = E.encrypt.call(this, a, b, e.key, d); 2179 f.mixIn(e); 2180 return f 2181 }, 2182 decrypt: function(a, b, c, d) { 2183 d = this.cfg.extend(d); 2184 b = this._parse(b, d.format); 2185 var e = d.kdf.execute(c, a.keySize, a.ivSize, b.salt); 2186 d.iv = e.iv; 2187 var f = E.decrypt.call(this, a, b, e.key, d); 2188 return f 2189 } 2190 }) 2191 }()); 2192 ba.mode.CFB = (function() { 2193 var g = ba.lib.BlockCipherMode.extend(); 2194 g.Encryptor = g.extend({ 2195 processBlock: function(a, b) { 2196 var c = this._cipher; 2197 var d = c.blockSize; 2198 generateKeystreamAndEncrypt.call(this, a, b, d, c); 2199 this._prevBlock = a.slice(b, b + d) 2200 } 2201 }); 2202 g.Decryptor = g.extend({ 2203 processBlock: function(a, b) { 2204 var c = this._cipher; 2205 var d = c.blockSize; 2206 var e = a.slice(b, b + d); 2207 generateKeystreamAndEncrypt.call(this, a, b, d, c); 2208 this._prevBlock = e 2209 } 2210 }); 2211 function generateKeystreamAndEncrypt(a, b, c, d) { 2212 var e; 2213 var f = this._iv; 2214 if (f) { 2215 e = f.slice(0); 2216 this._iv = undefined 2217 } else { 2218 e = this._prevBlock 2219 } 2220 d.encryptBlock(e, 0); 2221 for (var i = 0; i < c; i++) { 2222 a[b + i] ^= e[i] 2223 } 2224 } 2225 return g 2226 }()); 2227 ba.mode.CTR = (function() { 2228 var h = ba.lib.BlockCipherMode.extend(); 2229 var j = h.Encryptor = h.extend({ 2230 processBlock: function(a, b) { 2231 var c = this._cipher; 2232 var d = c.blockSize; 2233 var e = this._iv; 2234 var f = this._counter; 2235 if (e) { 2236 f = this._counter = e.slice(0); 2237 this._iv = undefined 2238 } 2239 var g = f.slice(0); 2240 c.encryptBlock(g, 0); 2241 f[d - 1] = (f[d - 1] + 1) | 0; 2242 for (var i = 0; i < d; i++) { 2243 a[b + i] ^= g[i] 2244 } 2245 } 2246 }); 2247 h.Decryptor = j; 2248 return h 2249 }()); 2250 ba.mode.CTRGladman = (function() { 2251 var h = ba.lib.BlockCipherMode.extend(); 2252 function incWord(a) { 2253 if (((a >> 24) & 0xff) === 0xff) { 2254 var b = (a >> 16) & 0xff;
2255 var c = (a >> 8) & 0xff; 2256 var d = a & 0xff; 2257 if (b === 0xff) { 2258 b = 0; 2259 if (c === 0xff) { 2260 c = 0; 2261 if (d === 0xff) { 2262 d = 0 2263 } else { 2264 ++d 2265 } 2266 } else { 2267 ++c 2268 } 2269 } else { 2270 ++b 2271 } 2272 a = 0; 2273 a += (b << 16); 2274 a += (c << 8); 2275 a += d 2276 } else { 2277 a += (0x01 << 24) 2278 } 2279 return a 2280 } 2281 function incCounter(a) { 2282 if ((a[0] = incWord(a[0])) === 0) { 2283 a[1] = incWord(a[1]) 2284 } 2285 return a 2286 } 2287 var j = h.Encryptor = h.extend({ 2288 processBlock: function(a, b) { 2289 var c = this._cipher; 2290 var d = c.blockSize; 2291 var e = this._iv; 2292 var f = this._counter; 2293 if (e) { 2294 f = this._counter = e.slice(0); 2295 this._iv = undefined 2296 } 2297 incCounter(f); 2298 var g = f.slice(0); 2299 c.encryptBlock(g, 0); 2300 for (var i = 0; i < d; i++) { 2301 a[b + i] ^= g[i] 2302 } 2303 } 2304 }); 2305 h.Decryptor = j; 2306 return h 2307 }()); 2308 ba.mode.OFB = (function() { 2309 var g = ba.lib.BlockCipherMode.extend(); 2310 var h = g.Encryptor = g.extend({ 2311 processBlock: function(a, b) { 2312 var c = this._cipher; 2313 var d = c.blockSize; 2314 var e = this._iv; 2315 var f = this._keystream; 2316 if (e) { 2317 f = this._keystream = e.slice(0); 2318 this._iv = undefined 2319 } 2320 c.encryptBlock(f, 0); 2321 for (var i = 0; i < d; i++) { 2322 a[b + i] ^= f[i] 2323 } 2324 } 2325 }); 2326 g.Decryptor = h; 2327 return g 2328 }()); 2329 ba.mode.ECB = (function() { 2330 var c = ba.lib.BlockCipherMode.extend(); 2331 c.Encryptor = c.extend({ 2332 processBlock: function(a, b) { 2333 this._cipher.encryptBlock(a, b) 2334 } 2335 }); 2336 c.Decryptor = c.extend({ 2337 processBlock: function(a, b) { 2338 this._cipher.decryptBlock(a, b) 2339 } 2340 }); 2341 return c 2342 }()); 2343 ba.pad.AnsiX923 = { 2344 pad: function(a, b) { 2345 var c = a.sigBytes; 2346 var d = b * 4; 2347 var e = d - c % d; 2348 var f = c + e - 1; 2349 a.clamp(); 2350 a.words[f >>> 2] |= e << (24 - (f % 4) * 8); 2351 a.sigBytes += e 2352 }, 2353 unpad: function(a) { 2354 var b = a.words[(a.sigBytes - 1) >>> 2] & 0xff;
2355 a.sigBytes -= b 2356 } 2357 }; 2358 ba.pad.Iso10126 = { 2359 pad: function(a, b) { 2360 var c = b * 4; 2361 var d = c - a.sigBytes % c; 2362 a.concat(ba.lib.WordArray.random(d - 1)).concat(ba.lib.WordArray.create([d << 24], 1)) 2363 }, 2364 unpad: function(a) { 2365 var b = a.words[(a.sigBytes - 1) >>> 2] & 0xff; 2366 a.sigBytes -= b 2367 } 2368 }; 2369 ba.pad.Iso97971 = { 2370 pad: function(a, b) { 2371 a.concat(ba.lib.WordArray.create([0x80000000], 1)); 2372 ba.pad.ZeroPadding.pad(a, b) 2373 }, 2374 unpad: function(a) { 2375 ba.pad.ZeroPadding.unpad(a); 2376 a.sigBytes-- 2377 } 2378 }; 2379 ba.pad.ZeroPadding = { 2380 pad: function(a, b) { 2381 var c = b * 4; 2382 a.clamp(); 2383 a.sigBytes += c - ((a.sigBytes % c) || c) 2384 }, 2385 unpad: function(a) { 2386 var b = a.words; 2387 var i = a.sigBytes - 1; 2388 for (var i = a.sigBytes - 1; i >= 0; i--) { 2389 if (((b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { 2390 a.sigBytes = i + 1; 2391 break 2392 } 2393 } 2394 } 2395 }; 2396 ba.pad.NoPadding = { 2397 pad: function() {}, 2398 unpad: function() {} 2399 }; 2400 (function(c) { 2401 var C = ba; 2402 var d = C.lib; 2403 var e = d.CipherParams; 2404 var f = C.enc; 2405 var g = f.Hex; 2406 var h = C.format; 2407 var i = h.Hex = { 2408 stringify: function(a) { 2409 return a.ciphertext.toString(g) 2410 }, 2411 parse: function(a) { 2412 var b = g.parse(a); 2413 return e.create({ 2414 ciphertext: b 2415 }) 2416 } 2417 } 2418 }()); 2419 (function() { 2420 var C = ba; 2421 var s = C.lib; 2422 var u = s.BlockCipher; 2423 var v = C.algo; 2424 var w = []; 2425 var y = []; 2426 var z = []; 2427 var A = []; 2428 var B = []; 2429 var D = []; 2430 var E = []; 2431 var F = []; 2432 var G = []; 2433 var H = []; 2434 (function() { 2435 var d = []; 2436 for (var i = 0; i < 256; i++) { 2437 if (i < 128) { 2438 d[i] = i << 1 2439 } else { 2440 d[i] = (i << 1) ^ 0x11b 2441 } 2442 } 2443 var x = 0; 2444 var a = 0; 2445 for (var i = 0; i < 256; i++) { 2446 var b = a ^ (a << 1) ^ (a << 2) ^ (a << 3) ^ (a << 4); 2447 b = (b >>> 8) ^ (b & 0xff) ^ 0x63; 2448 w[x] = b; 2449 y[b] = x; 2450 var c = d[x]; 2451 var e = d[c]; 2452 var f = d[e]; 2453 var t = (d[b] * 0x101) ^ (b * 0x1010100); 2454 z[x] = (t << 24) | (t >>> 8); 2455 A[x] = (t << 16) | (t >>> 16); 2456 B[x] = (t << 8) | (t >>> 24); 2457 D[x] = t; 2458 var t = (f * 0x1010101) ^ (e * 0x10001) ^ (c * 0x101) ^ (x * 0x1010100); 2459 E[b] = (t << 24) | (t >>> 8); 2460 F[b] = (t << 16) | (t >>> 16); 2461 G[b] = (t << 8) | (t >>> 24); 2462 H[b] = t; 2463 if (!x) { 2464 x = a = 1 2465 } else { 2466 x = c ^ d[d[d[f ^ c]]]; 2467 a ^= d[d[a]] 2468 } 2469 } 2470 }()); 2471 var I = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; 2472 var J = v.AES = u.extend({ 2473 _doReset: function() { 2474 var t; 2475 if (this._nRounds && this._keyPriorReset === this._key) { 2476 return 2477 } 2478 var a = this._keyPriorReset = this._key; 2479 var b = a.words; 2480 var c = a.sigBytes / 4;
2481 var d = this._nRounds = c + 6; 2482 var e = (d + 1) * 4; 2483 var f = this._keySchedule = []; 2484 for (var g = 0; g < e; g++) { 2485 if (g < c) { 2486 f[g] = b[g] 2487 } else { 2488 t = f[g - 1]; 2489 if (!(g % c)) { 2490 t = (t << 8) | (t >>> 24); 2491 t = (w[t >>> 24] << 24) | (w[(t >>> 16) & 0xff] << 16) | (w[(t >>> 8) & 0xff] << 8) | w[t & 0xff]; 2492 t ^= I[(g / c) | 0] << 24 2493 } else if (c > 6 && g % c == 4) { 2494 t = (w[t >>> 24] << 24) | (w[(t >>> 16) & 0xff] << 16) | (w[(t >>> 8) & 0xff] << 8) | w[t & 0xff] 2495 } 2496 f[g] = f[g - c] ^ t 2497 } 2498 } 2499 var h = this._invKeySchedule = []; 2500 for (var i = 0; i < e; i++) { 2501 var g = e - i; 2502 if (i % 4) { 2503 var t = f[g] 2504 } else { 2505 var t = f[g - 4] 2506 } 2507 if (i < 4 || g <= 4) { 2508 h[i] = t 2509 } else { 2510 h[i] = E[w[t >>> 24]] ^ F[w[(t >>> 16) & 0xff]] ^ G[w[(t >>> 8) & 0xff]] ^ H[w[t & 0xff]] 2511 } 2512 } 2513 }, 2514 encryptBlock: function(M, a) { 2515 this._doCryptBlock(M, a, this._keySchedule, z, A, B, D, w) 2516 }, 2517 decryptBlock: function(M, a) { 2518 var t = M[a + 1]; 2519 M[a + 1] = M[a + 3]; 2520 M[a + 3] = t; 2521 this._doCryptBlock(M, a, this._invKeySchedule, E, F, G, H, y); 2522 var t = M[a + 1]; 2523 M[a + 1] = M[a + 3]; 2524 M[a + 3] = t 2525 }, 2526 _doCryptBlock: function(M, a, b, c, d, e, f, g) {
vendor: 16,384 bytes, lines 2527-2878
2527 var h = this._nRounds; 2528 var i = M[a] ^ b[0]; 2529 var j = M[a + 1] ^ b[1]; 2530 var k = M[a + 2] ^ b[2]; 2531 var l = M[a + 3] ^ b[3]; 2532 var m = 4; 2533 for (var n = 1; n < h; n++) { 2534 var o = c[i >>> 24] ^ d[(j >>> 16) & 0xff] ^ e[(k >>> 8) & 0xff] ^ f[l & 0xff] ^ b[m++]; 2535 var p = c[j >>> 24] ^ d[(k >>> 16) & 0xff] ^ e[(l >>> 8) & 0xff] ^ f[i & 0xff] ^ b[m++]; 2536 var q = c[k >>> 24] ^ d[(l >>> 16) & 0xff] ^ e[(i >>> 8) & 0xff] ^ f[j & 0xff] ^ b[m++]; 2537 var r = c[l >>> 24] ^ d[(i >>> 16) & 0xff] ^ e[(j >>> 8) & 0xff] ^ f[k & 0xff] ^ b[m++]; 2538 i = o; 2539 j = p; 2540 k = q; 2541 l = r 2542 } 2543 var o = ((g[i >>> 24] << 24) | (g[(j >>> 16) & 0xff] << 16) | (g[(k >>> 8) & 0xff] << 8) | g[l & 0xff]) ^ b[m++]; 2544 var p = ((g[j >>> 24] << 24) | (g[(k >>> 16) & 0xff] << 16) | (g[(l >>> 8) & 0xff] << 8) | g[i & 0xff]) ^ b[m++]; 2545 var q = ((g[k >>> 24] << 24) | (g[(l >>> 16) & 0xff] << 16) | (g[(i >>> 8) & 0xff] << 8) | g[j & 0xff]) ^ b[m++]; 2546 var r = ((g[l >>> 24] << 24) | (g[(i >>> 16) & 0xff] << 16) | (g[(j >>> 8) & 0xff] << 8) | g[k & 0xff]) ^ b[m++]; 2547 M[a] = o; 2548 M[a + 1] = p; 2549 M[a + 2] = q; 2550 M[a + 3] = r 2551 }, 2552 keySize: 256 / 32 2553 }); 2554 C.AES = u._createHelper(J) 2555 }()); 2556 (function() { 2557 var C = ba; 2558 var k = C.lib; 2559 var l = k.WordArray; 2560 var m = k.BlockCipher; 2561 var n = C.algo; 2562 var o = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4]; 2563 var p = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32]; 2564 var q = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; 2565 var r = [{ 2566 0x0: 0x808200, 2567 0x10000000: 0x8000, 2568 0x20000000: 0x808002, 2569 0x30000000: 0x2, 2570 0x40000000: 0x200, 2571 0x50000000: 0x808202, 2572 0x60000000: 0x800202, 2573 0x70000000: 0x800000, 2574 0x80000000: 0x202, 2575 0x90000000: 0x800200, 2576 0xa0000000: 0x8200, 2577 0xb0000000: 0x808000, 2578 0xc0000000: 0x8002, 2579 0xd0000000: 0x800002, 2580 0xe0000000: 0x0, 2581 0xf0000000: 0x8202, 2582 0x8000000: 0x0, 2583 0x18000000: 0x808202, 2584 0x28000000: 0x8202, 2585 0x38000000: 0x8000, 2586 0x48000000: 0x808200, 2587 0x58000000: 0x200, 2588 0x68000000: 0x808002, 2589 0x78000000: 0x2, 2590 0x88000000: 0x800200, 2591 0x98000000: 0x8200, 2592 0xa8000000: 0x808000, 2593 0xb8000000: 0x800202, 2594 0xc8000000: 0x800002, 2595 0xd8000000: 0x8002, 2596 0xe8000000: 0x202, 2597 0xf8000000: 0x800000, 2598 0x1: 0x8000, 2599 0x10000001: 0x2, 2600 0x20000001: 0x808200, 2601 0x30000001: 0x800000, 2602 0x40000001: 0x808002, 2603 0x50000001: 0x8200, 2604 0x60000001: 0x200, 2605 0x70000001: 0x800202, 2606 0x80000001: 0x808202, 2607 0x90000001: 0x808000, 2608 0xa0000001: 0x800002, 2609 0xb0000001: 0x8202, 2610 0xc0000001: 0x202, 2611 0xd0000001: 0x800200, 2612 0xe0000001: 0x8002, 2613 0xf0000001: 0x0, 2614 0x8000001: 0x808202, 2615 0x18000001: 0x808000, 2616 0x28000001: 0x800000, 2617 0x38000001: 0x200, 2618 0x48000001: 0x8000, 2619 0x58000001: 0x800002, 2620 0x68000001: 0x2, 2621 0x78000001: 0x8202, 2622 0x88000001: 0x8002, 2623 0x98000001: 0x800202, 2624 0xa8000001: 0x202, 2625 0xb8000001: 0x808200, 2626 0xc8000001: 0x800200, 2627 0xd8000001: 0x0, 2628 0xe8000001: 0x8200, 2629 0xf8000001: 0x808002 2630 }, { 2631 0x0: 0x40084010, 2632 0x1000000: 0x4000, 2633 0x2000000: 0x80000, 2634 0x3000000: 0x40080010, 2635 0x4000000: 0x40000010, 2636 0x5000000: 0x40084000, 2637 0x6000000: 0x40004000, 2638 0x7000000: 0x10, 2639 0x8000000: 0x84000, 2640 0x9000000: 0x40004010, 2641 0xa000000: 0x40000000, 2642 0xb000000: 0x84010, 2643 0xc000000: 0x80010, 2644 0xd000000: 0x0, 2645 0xe000000: 0x4010, 2646 0xf000000: 0x40080000, 2647 0x800000: 0x40004000, 2648 0x1800000: 0x84010, 2649 0x2800000: 0x10, 2650 0x3800000: 0x40004010, 2651 0x4800000: 0x40084010, 2652 0x5800000: 0x40000000, 2653 0x6800000: 0x80000, 2654 0x7800000: 0x40080010, 2655 0x8800000: 0x80010, 2656 0x9800000: 0x0, 2657 0xa800000: 0x4000, 2658 0xb800000: 0x40080000, 2659 0xc800000: 0x40000010, 2660 0xd800000: 0x84000, 2661 0xe800000: 0x40084000, 2662 0xf800000: 0x4010, 2663 0x10000000: 0x0, 2664 0x11000000: 0x40080010, 2665 0x12000000: 0x40004010, 2666 0x13000000: 0x40084000, 2667 0x14000000: 0x40080000, 2668 0x15000000: 0x10, 2669 0x16000000: 0x84010, 2670 0x17000000: 0x4000, 2671 0x18000000: 0x4010, 2672 0x19000000: 0x80000, 2673 0x1a000000: 0x80010, 2674 0x1b000000: 0x40000010, 2675 0x1c000000: 0x84000, 2676 0x1d000000: 0x40004000, 2677 0x1e000000: 0x40000000, 2678 0x1f000000: 0x40084010, 2679 0x10800000: 0x84010, 2680 0x11800000: 0x80000, 2681 0x12800000: 0x40080000, 2682 0x13800000: 0x4000, 2683 0x14800000: 0x40004000, 2684 0x15800000: 0x40084010, 2685 0x16800000: 0x10, 2686 0x17800000: 0x40000000, 2687 0x18800000: 0x40084000, 2688 0x19800000: 0x40000010, 2689 0x1a800000: 0x40004010, 2690 0x1b800000: 0x80010, 2691 0x1c800000: 0x0, 2692 0x1d800000: 0x4010, 2693 0x1e800000: 0x40080010, 2694 0x1f800000: 0x84000 2695 }, { 2696 0x0: 0x104, 2697 0x100000: 0x0, 2698 0x200000: 0x4000100, 2699 0x300000: 0x10104, 2700 0x400000: 0x10004, 2701 0x500000: 0x4000004, 2702 0x600000: 0x4010104, 2703 0x700000: 0x4010000, 2704 0x800000: 0x4000000, 2705 0x900000: 0x4010100, 2706 0xa00000: 0x10100, 2707 0xb00000: 0x4010004, 2708 0xc00000: 0x4000104, 2709 0xd00000: 0x10000, 2710 0xe00000: 0x4, 2711 0xf00000: 0x100, 2712 0x80000: 0x4010100, 2713 0x180000: 0x4010004, 2714 0x280000: 0x0, 2715 0x380000: 0x4000100, 2716 0x480000: 0x4000004, 2717 0x580000: 0x10000, 2718 0x680000: 0x10004, 2719 0x780000: 0x104, 2720 0x880000: 0x4, 2721 0x980000: 0x100, 2722 0xa80000: 0x4010000, 2723 0xb80000: 0x10104, 2724 0xc80000: 0x10100, 2725 0xd80000: 0x4000104, 2726 0xe80000: 0x4010104, 2727 0xf80000: 0x4000000, 2728 0x1000000: 0x4010100, 2729 0x1100000: 0x10004, 2730 0x1200000: 0x10000, 2731 0x1300000: 0x4000100, 2732 0x1400000: 0x100, 2733 0x1500000: 0x4010104, 2734 0x1600000: 0x4000004, 2735 0x1700000: 0x0, 2736 0x1800000: 0x4000104, 2737 0x1900000: 0x4000000, 2738 0x1a00000: 0x4, 2739 0x1b00000: 0x10100, 2740 0x1c00000: 0x4010000, 2741 0x1d00000: 0x104, 2742 0x1e00000: 0x10104, 2743 0x1f00000: 0x4010004, 2744 0x1080000: 0x4000000, 2745 0x1180000: 0x104, 2746 0x1280000: 0x4010100, 2747 0x1380000: 0x0, 2748 0x1480000: 0x10004, 2749 0x1580000: 0x4000100, 2750 0x1680000: 0x100, 2751 0x1780000: 0x4010004, 2752 0x1880000: 0x10000, 2753 0x1980000: 0x4010104, 2754 0x1a80000: 0x10104, 2755 0x1b80000: 0x4000004, 2756 0x1c80000: 0x4000104, 2757 0x1d80000: 0x4010000, 2758 0x1e80000: 0x4, 2759 0x1f80000: 0x10100 2760 }, { 2761 0x0: 0x80401000, 2762 0x10000: 0x80001040, 2763 0x20000: 0x401040, 2764 0x30000: 0x80400000, 2765 0x40000: 0x0, 2766 0x50000: 0x401000, 2767 0x60000: 0x80000040, 2768 0x70000: 0x400040, 2769 0x80000: 0x80000000, 2770 0x90000: 0x400000, 2771 0xa0000: 0x40, 2772 0xb0000: 0x80001000, 2773 0xc0000: 0x80400040, 2774 0xd0000: 0x1040, 2775 0xe0000: 0x1000, 2776 0xf0000: 0x80401040, 2777 0x8000: 0x80001040, 2778 0x18000: 0x40, 2779 0x28000: 0x80400040, 2780 0x38000: 0x80001000, 2781 0x48000: 0x401000, 2782 0x58000: 0x80401040, 2783 0x68000: 0x0, 2784 0x78000: 0x80400000, 2785 0x88000: 0x1000, 2786 0x98000: 0x80401000, 2787 0xa8000: 0x400000, 2788 0xb8000: 0x1040, 2789 0xc8000: 0x80000000, 2790 0xd8000: 0x400040, 2791 0xe8000: 0x401040, 2792 0xf8000: 0x80000040, 2793 0x100000: 0x400040, 2794 0x110000: 0x401000, 2795 0x120000: 0x80000040, 2796 0x130000: 0x0, 2797 0x140000: 0x1040, 2798 0x150000: 0x80400040, 2799 0x160000: 0x80401000, 2800 0x170000: 0x80001040, 2801 0x180000: 0x80401040, 2802 0x190000: 0x80000000, 2803 0x1a0000: 0x80400000, 2804 0x1b0000: 0x401040, 2805 0x1c0000: 0x80001000, 2806 0x1d0000: 0x400000, 2807 0x1e0000: 0x40, 2808 0x1f0000: 0x1000, 2809 0x108000: 0x80400000, 2810 0x118000: 0x80401040, 2811 0x128000: 0x0, 2812 0x138000: 0x401000, 2813 0x148000: 0x400040, 2814 0x158000: 0x80000000, 2815 0x168000: 0x80001040, 2816 0x178000: 0x40, 2817 0x188000: 0x80000040, 2818 0x198000: 0x1000, 2819 0x1a8000: 0x80001000, 2820 0x1b8000: 0x80400040, 2821 0x1c8000: 0x1040, 2822 0x1d8000: 0x80401000, 2823 0x1e8000: 0x400000, 2824 0x1f8000: 0x401040 2825 }, { 2826 0x0: 0x80, 2827 0x1000: 0x1040000, 2828 0x2000: 0x40000, 2829 0x3000: 0x20000000, 2830 0x4000: 0x20040080, 2831 0x5000: 0x1000080, 2832 0x6000: 0x21000080, 2833 0x7000: 0x40080, 2834 0x8000: 0x1000000, 2835 0x9000: 0x20040000, 2836 0xa000: 0x20000080, 2837 0xb000: 0x21040080, 2838 0xc000: 0x21040000, 2839 0xd000: 0x0, 2840 0xe000: 0x1040080, 2841 0xf000: 0x21000000, 2842 0x800: 0x1040080, 2843 0x1800: 0x21000080, 2844 0x2800: 0x80, 2845 0x3800: 0x1040000, 2846 0x4800: 0x40000, 2847 0x5800: 0x20040080, 2848 0x6800: 0x21040000, 2849 0x7800: 0x20000000, 2850 0x8800: 0x20040000, 2851 0x9800: 0x0, 2852 0xa800: 0x21040080, 2853 0xb800: 0x1000080, 2854 0xc800: 0x20000080, 2855 0xd800: 0x21000000, 2856 0xe800: 0x1000000, 2857 0xf800: 0x40080, 2858 0x10000: 0x40000, 2859 0x11000: 0x80, 2860 0x12000: 0x20000000, 2861 0x13000: 0x21000080, 2862 0x14000: 0x1000080, 2863 0x15000: 0x21040000, 2864 0x16000: 0x20040080, 2865 0x17000: 0x1000000, 2866 0x18000: 0x21040080, 2867 0x19000: 0x21000000, 2868 0x1a000: 0x1040000, 2869 0x1b000: 0x20040000, 2870 0x1c000: 0x40080, 2871 0x1d000: 0x20000080, 2872 0x1e000: 0x0, 2873 0x1f000: 0x1040080, 2874 0x10800: 0x21000080, 2875 0x11800: 0x1000000, 2876 0x12800: 0x1040000, 2877 0x13800: 0x20040080, 2878
2878 0x14800: 0x20000000, 2879 0x15800: 0x1040080, 2880 0x16800: 0x80, 2881 0x17800: 0x21040000, 2882 0x18800: 0x40080, 2883 0x19800: 0x21040080, 2884 0x1a800: 0x0, 2885 0x1b800: 0x21000000, 2886 0x1c800: 0x1000080, 2887 0x1d800: 0x40000, 2888 0x1e800: 0x20040000, 2889 0x1f800: 0x20000080 2890 }, { 2891 0x0: 0x10000008, 2892 0x100: 0x2000, 2893 0x200: 0x10200000, 2894 0x300: 0x10202008, 2895 0x400: 0x10002000, 2896 0x500: 0x200000, 2897 0x600: 0x200008, 2898 0x700: 0x10000000, 2899 0x800: 0x0, 2900 0x900: 0x10002008, 2901 0xa00: 0x202000, 2902 0xb00: 0x8, 2903 0xc00: 0x10200008, 2904 0xd00: 0x202008, 2905 0xe00: 0x2008, 2906 0xf00: 0x10202000, 2907 0x80: 0x10200000, 2908 0x180: 0x10202008, 2909 0x280: 0x8, 2910 0x380: 0x200000, 2911 0x480: 0x202008, 2912 0x580: 0x10000008, 2913 0x680: 0x10002000, 2914 0x780: 0x2008, 2915 0x880: 0x200008, 2916 0x980: 0x2000, 2917 0xa80: 0x10002008, 2918 0xb80: 0x10200008, 2919 0xc80: 0x0, 2920 0xd80: 0x10202000, 2921 0xe80: 0x202000, 2922 0xf80: 0x10000000, 2923 0x1000: 0x10002000, 2924 0x1100: 0x10200008, 2925 0x1200: 0x10202008, 2926 0x1300: 0x2008, 2927 0x1400: 0x200000, 2928 0x1500: 0x10000000, 2929 0x1600: 0x10000008, 2930 0x1700: 0x202000, 2931 0x1800: 0x202008, 2932 0x1900: 0x0, 2933 0x1a00: 0x8, 2934 0x1b00: 0x10200000, 2935 0x1c00: 0x2000, 2936 0x1d00: 0x10002008, 2937 0x1e00: 0x10202000, 2938 0x1f00: 0x200008, 2939 0x1080: 0x8, 2940 0x1180: 0x202000, 2941 0x1280: 0x200000, 2942 0x1380: 0x10000008, 2943 0x1480: 0x10002000, 2944 0x1580: 0x2008, 2945 0x1680: 0x10202008, 2946 0x1780: 0x10200000, 2947 0x1880: 0x10202000, 2948 0x1980: 0x10200008, 2949 0x1a80: 0x2000, 2950 0x1b80: 0x202008, 2951 0x1c80: 0x200008, 2952 0x1d80: 0x0, 2953 0x1e80: 0x10000000, 2954 0x1f80: 0x10002008 2955 }, { 2956 0x0: 0x100000, 2957 0x10: 0x2000401, 2958 0x20: 0x400, 2959 0x30: 0x100401, 2960 0x40: 0x2100401, 2961 0x50: 0x0, 2962 0x60: 0x1, 2963 0x70: 0x2100001, 2964 0x80: 0x2000400, 2965 0x90: 0x100001, 2966 0xa0: 0x2000001, 2967 0xb0: 0x2100400, 2968 0xc0: 0x2100000, 2969 0xd0: 0x401, 2970 0xe0: 0x100400, 2971 0xf0: 0x2000000, 2972 0x8: 0x2100001, 2973 0x18: 0x0, 2974 0x28: 0x2000401, 2975 0x38: 0x2100400, 2976 0x48: 0x100000, 2977 0x58: 0x2000001, 2978 0x68: 0x2000000, 2979 0x78: 0x401, 2980 0x88: 0x100401, 2981 0x98: 0x2000400, 2982 0xa8: 0x2100000, 2983 0xb8: 0x100001, 2984 0xc8: 0x400, 2985 0xd8: 0x2100401, 2986 0xe8: 0x1, 2987 0xf8: 0x100400, 2988 0x100: 0x2000000, 2989 0x110: 0x100000, 2990 0x120: 0x2000401, 2991 0x130: 0x2100001, 2992 0x140: 0x100001, 2993 0x150: 0x2000400, 2994 0x160: 0x2100400, 2995 0x170: 0x100401, 2996 0x180: 0x401, 2997 0x190: 0x2100401, 2998 0x1a0: 0x100400, 2999 0x1b0: 0x1, 3000 0x1c0: 0x0, 3001 0x1d0: 0x2100000,
3002 0x1e0: 0x2000001, 3003 0x1f0: 0x400, 3004 0x108: 0x100400, 3005 0x118: 0x2000401, 3006 0x128: 0x2100001, 3007 0x138: 0x1, 3008 0x148: 0x2000000, 3009 0x158: 0x100000, 3010 0x168: 0x401, 3011 0x178: 0x2100400, 3012 0x188: 0x2000001, 3013 0x198: 0x2100000, 3014 0x1a8: 0x0, 3015 0x1b8: 0x2100401, 3016 0x1c8: 0x100401, 3017 0x1d8: 0x400, 3018 0x1e8: 0x2000400, 3019 0x1f8: 0x100001 3020 }, { 3021 0x0: 0x8000820, 3022 0x1: 0x20000, 3023 0x2: 0x8000000, 3024 0x3: 0x20, 3025 0x4: 0x20020, 3026 0x5: 0x8020820, 3027 0x6: 0x8020800, 3028 0x7: 0x800, 3029 0x8: 0x8020000, 3030 0x9: 0x8000800, 3031 0xa: 0x20800, 3032 0xb: 0x8020020, 3033 0xc: 0x820, 3034 0xd: 0x0, 3035 0xe: 0x8000020, 3036 0xf: 0x20820, 3037 0x80000000: 0x800, 3038 0x80000001: 0x8020820, 3039 0x80000002: 0x8000820, 3040 0x80000003: 0x8000000, 3041 0x80000004: 0x8020000, 3042 0x80000005: 0x20800, 3043 0x80000006: 0x20820, 3044 0x80000007: 0x20, 3045 0x80000008: 0x8000020, 3046 0x80000009: 0x820, 3047 0x8000000a: 0x20020, 3048 0x8000000b: 0x8020800, 3049 0x8000000c: 0x0, 3050 0x8000000d: 0x8020020, 3051 0x8000000e: 0x8000800, 3052 0x8000000f: 0x20000, 3053 0x10: 0x20820, 3054 0x11: 0x8020800, 3055 0x12: 0x20, 3056 0x13: 0x800, 3057 0x14: 0x8000800, 3058 0x15: 0x8000020, 3059 0x16: 0x8020020, 3060 0x17: 0x20000, 3061 0x18: 0x0, 3062 0x19: 0x20020, 3063 0x1a: 0x8020000, 3064 0x1b: 0x8000820, 3065 0x1c: 0x8020820, 3066 0x1d: 0x20800, 3067 0x1e: 0x820, 3068 0x1f: 0x8000000, 3069 0x80000010: 0x20000, 3070 0x80000011: 0x800, 3071 0x80000012: 0x8020020, 3072 0x80000013: 0x20820, 3073 0x80000014: 0x20, 3074 0x80000015: 0x8020000, 3075 0x80000016: 0x8000000, 3076 0x80000017: 0x8000820, 3077 0x80000018: 0x8020820, 3078 0x80000019: 0x8000020, 3079 0x8000001a: 0x8000800, 3080 0x8000001b: 0x0, 3081 0x8000001c: 0x20800, 3082 0x8000001d: 0x820, 3083 0x8000001e: 0x20020, 3084 0x8000001f: 0x8020800 3085 }]; 3086 var s = [0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f]; 3087 var u = n.DES = m.extend({ 3088 _doReset: function() { 3089 var a = this._key; 3090 var b = a.words; 3091 var c = []; 3092 for (var i = 0; i < 56; i++) { 3093 var d = o[i] - 1; 3094 c[i] = (b[d >>> 5] >>> (31 - d % 32)) & 1 3095 } 3096 var e = this._subKeys = []; 3097 for (var f = 0; f < 16; f++) { 3098 var g = e[f] = []; 3099 var h = q[f]; 3100 for (var i = 0; i < 24; i++) { 3101 g[(i / 6) | 0] |= c[((p[i] - 1) + h) % 28] << (31 - i % 6); 3102 g[4 + ((i / 6) | 0)] |= c[28 + (((p[i + 24] - 1) + h) % 28)] << (31 - i % 6) 3103 } 3104 g[0] = (g[0] << 1) | (g[0] >>> 31); 3105 for (var i = 1; i < 7; i++) { 3106 g[i] = g[i] >>> ((i - 1) * 4 + 3) 3107 } 3108 g[7] = (g[7] << 5) | (g[7] >>> 27) 3109 } 3110 var j = this._invSubKeys = []; 3111 for (var i = 0; i < 16; i++) { 3112 j[i] = e[15 - i] 3113 } 3114 }, 3115 encryptBlock: function(M, a) { 3116 this._doCryptBlock(M, a, this._subKeys) 3117 }, 3118 decryptBlock: function(M, a) { 3119 this._doCryptBlock(M, a, this._invSubKeys) 3120 }, 3121 _doCryptBlock: function(M, a, b) { 3122 this._lBlock = M[a]; 3123 this._rBlock = M[a + 1]; 3124 exchangeLR.call(this, 4, 0x0f0f0f0f); 3125 exchangeLR.call(this, 16, 0x0000ffff); 3126 exchangeRL.call(this, 2, 0x33333333); 3127 exchangeRL.call(this, 8, 0x00ff00ff); 3128 exchangeLR.call(this, 1, 0x55555555); 3129 for (var c = 0; c < 16; c++) { 3130 var d = b[c]; 3131 var e = this._lBlock; 3132 var g = this._rBlock; 3133 var f = 0; 3134 for (var i = 0; i < 8; i++) { 3135 f |= r[i][((g ^ d[i]) & s[i]) >>> 0] 3136 } 3137 this._lBlock = g; 3138 this._rBlock = e ^ f 3139 } 3140 var t = this._lBlock; 3141 this._lBlock = this._rBlock; 3142 this._rBlock = t; 3143 exchangeLR.call(this, 1, 0x55555555); 3144 exchangeRL.call(this, 8, 0x00ff00ff); 3145 exchangeRL.call(this, 2, 0x33333333); 3146 exchangeLR.call(this, 16, 0x0000ffff); 3147 exchangeLR.call(this, 4, 0x0f0f0f0f); 3148 M[a] = this._lBlock; 3149 M[a + 1] = this._rBlock 3150 }, 3151 keySize: 64 / 32, 3152 ivSize: 64 / 32, 3153 blockSize: 64 / 32 3154 }); 3155 function exchangeLR(a, b) { 3156 var t = ((this._lBlock >>> a) ^ this._rBlock) & b; 3157 this._rBlock ^= t; 3158 this._lBlock ^= t << a 3159 } 3160 function exchangeRL(a, b) { 3161 var t = ((this._rBlock >>> a) ^ this._lBlock) & b; 3162 this._lBlock ^= t; 3163 this._rBlock ^= t << a 3164 } 3165 C.DES = m._createHelper(u); 3166 var v = n.TripleDES = m.extend({ 3167 _doReset: function() { 3168 var a = this._key; 3169 var b = a.words; 3170 if (b.length !== 2 && b.length !== 4 && b.length < 6) { 3171 throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.'); 3172 } 3173 var c = b.slice(0, 2); 3174 var d = b.length < 4 ? b.slice(0, 2) : b.slice(2, 4); 3175 var e = b.length < 6 ? b.slice(0, 2) : b.slice(4, 6); 3176 this._des1 = u.createEncryptor(l.create(c)); 3177 this._des2 = u.createEncryptor(l.create(d)); 3178 this._des3 = u.createEncryptor(l.create(e)) 3179 }, 3180 encryptBlock: function(M, a) { 3181 this._des1.encryptBlock(M, a); 3182 this._des2.decryptBlock(M, a); 3183 this._des3.encryptBlock(M, a) 3184 }, 3185 decryptBlock: function(M, a) { 3186 this._des3.decryptBlock(M, a); 3187 this._des2.encryptBlock(M, a); 3188 this._des1.decryptBlock(M, a) 3189 }, 3190 keySize: 192 / 32, 3191 ivSize: 64 / 32, 3192 blockSize: 64 / 32 3193 }); 3194 C.TripleDES = m._createHelper(v) 3195 }()); 3196 (function() { 3197 var C = ba; 3198 var f = C.lib; 3199 var g = f.StreamCipher; 3200 var h = C.algo; 3201 var k = h.RC4 = g.extend({ 3202 _doReset: function() { 3203 var a = this._key; 3204 var b = a.words; 3205 var c = a.sigBytes; 3206 var S = this._S = []; 3207 for (var i = 0; i < 256; i++) { 3208 S[i] = i 3209 } 3210 for (var i = 0, j = 0; i < 256; i++) { 3211 var d = i % c; 3212 var e = (b[d >>> 2] >>> (24 - (d % 4) * 8)) & 0xff;
3213 j = (j + S[i] + e) % 256; 3214 var t = S[i]; 3215 S[i] = S[j]; 3216 S[j] = t 3217 } 3218 this._i = this._j = 0 3219 }, 3220 _doProcessBlock: function(M, a) { 3221 M[a] ^= generateKeystreamWord.call(this) 3222 }, 3223 keySize: 256 / 32, 3224 ivSize: 0 3225 }); 3226 function generateKeystreamWord() { 3227 var S = this._S; 3228 var i = this._i; 3229 var j = this._j; 3230 var a = 0; 3231 for (var n = 0; n < 4; n++) { 3232 i = (i + 1) % 256; 3233 j = (j + S[i]) % 256; 3234 var t = S[i]; 3235 S[i] = S[j]; 3236 S[j] = t; 3237 a |= S[(S[i] + S[j]) % 256] << (24 - n * 8) 3238 } 3239 this._i = i; 3240 this._j = j; 3241 return a 3242 } 3243 C.RC4 = g._createHelper(k); 3244 var l = h.RC4Drop = k.extend({ 3245 cfg: k.cfg.extend({ 3246 drop: 192 3247 }), 3248 _doReset: function() { 3249 k._doReset.call(this); 3250 for (var i = this.cfg.drop; i > 0; i--) { 3251 generateKeystreamWord.call(this) 3252 } 3253 } 3254 }); 3255 C.RC4Drop = g._createHelper(l) 3256 }()); 3257 (function() { 3258 var C = ba; 3259 var j = C.lib; 3260 var k = j.StreamCipher; 3261 var l = C.algo; 3262 var S = []; 3263 var m = []; 3264 var G = []; 3265 var n = l.Rabbit = k.extend({ 3266 _doReset: function() { 3267 var K = this._key.words; 3268 var a = this.cfg.iv; 3269 for (var i = 0; i < 4; i++) { 3270 K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00) 3271 } 3272 var X = this._X = [K[0], (K[3] << 16) | (K[2] >>> 16), K[1], (K[0] << 16) | (K[3] >>> 16), K[2], (K[1] << 16) | (K[0] >>> 16), K[3], (K[2] << 16) | (K[1] >>> 16)]; 3273 var C = this._C = [(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)]; 3274 this._b = 0; 3275 for (var i = 0; i < 4; i++) { 3276 nextState.call(this) 3277 } 3278 for (var i = 0; i < 8; i++) { 3279 C[i] ^= X[(i + 4) & 7] 3280 } 3281 if (a) { 3282 var b = a.words; 3283 var c = b[0]; 3284 var d = b[1]; 3285 var e = (((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00); 3286 var f = (((d << 8) | (d >>> 24)) & 0x00ff00ff) | (((d << 24) | (d >>> 8)) & 0xff00ff00); 3287 var g = (e >>> 16) | (f & 0xffff0000); 3288 var h = (f << 16) | (e & 0x0000ffff); 3289 C[0] ^= e; 3290 C[1] ^= g; 3291 C[2] ^= f; 3292 C[3] ^= h; 3293 C[4] ^= e; 3294 C[5] ^= g; 3295 C[6] ^= f; 3296 C[7] ^= h; 3297 for (var i = 0; i < 4; i++) { 3298 nextState.call(this) 3299 } 3300 } 3301 }, 3302 _doProcessBlock: function(M, a) { 3303 var X = this._X; 3304 nextState.call(this); 3305 S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); 3306 S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); 3307 S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); 3308 S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); 3309 for (var i = 0; i < 4; i++) { 3310 S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); 3311 M[a + i] ^= S[i] 3312 } 3313 }, 3314 blockSize: 128 / 32, 3315 ivSize: 64 / 32 3316 }); 3317 function nextState() { 3318 var X = this._X; 3319 var C = this._C; 3320 for (var i = 0; i < 8; i++) { 3321 m[i] = C[i] 3322 }
vendor: 5,649 bytes, lines 3323-3413
3323 C[0] = (C[0] + 0x4d34d34d + this._b) | 0; 3324 C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (m[0] >>> 0) ? 1 : 0)) | 0; 3325 C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (m[1] >>> 0) ? 1 : 0)) | 0; 3326 C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (m[2] >>> 0) ? 1 : 0)) | 0; 3327 C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (m[3] >>> 0) ? 1 : 0)) | 0; 3328 C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (m[4] >>> 0) ? 1 : 0)) | 0; 3329 C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (m[5] >>> 0) ? 1 : 0)) | 0; 3330 C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (m[6] >>> 0) ? 1 : 0)) | 0; 3331 this._b = (C[7] >>> 0) < (m[7] >>> 0) ? 1 : 0; 3332 for (var i = 0; i < 8; i++) { 3333 var a = X[i] + C[i]; 3334 var b = a & 0xffff; 3335 var c = a >>> 16; 3336 var d = ((((b * b) >>> 17) + b * c) >>> 15) + c * c; 3337 var e = (((a & 0xffff0000) * a) | 0) + (((a & 0x0000ffff) * a) | 0); 3338 G[i] = d ^ e 3339 } 3340 X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; 3341 X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; 3342 X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; 3343 X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; 3344 X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; 3345 X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; 3346 X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; 3347 X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0 3348 } 3349 C.Rabbit = k._createHelper(n) 3350 }()); 3351 (function() { 3352 var C = ba; 3353 var j = C.lib; 3354 var k = j.StreamCipher; 3355 var l = C.algo; 3356 var S = []; 3357 var m = []; 3358 var G = []; 3359 var n = l.RabbitLegacy = k.extend({ 3360 _doReset: function() { 3361 var K = this._key.words; 3362 var a = this.cfg.iv; 3363 var X = this._X = [K[0], (K[3] << 16) | (K[2] >>> 16), K[1], (K[0] << 16) | (K[3] >>> 16), K[2], (K[1] << 16) | (K[0] >>> 16), K[3], (K[2] << 16) | (K[1] >>> 16)]; 3364 var C = this._C = [(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)]; 3365 this._b = 0; 3366 for (var i = 0; i < 4; i++) { 3367 nextState.call(this) 3368 } 3369 for (var i = 0; i < 8; i++) { 3370 C[i] ^= X[(i + 4) & 7] 3371 } 3372 if (a) { 3373 var b = a.words; 3374 var c = b[0]; 3375 var d = b[1]; 3376 var e = (((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00); 3377 var f = (((d << 8) | (d >>> 24)) & 0x00ff00ff) | (((d << 24) | (d >>> 8)) & 0xff00ff00); 3378 var g = (e >>> 16) | (f & 0xffff0000); 3379 var h = (f << 16) | (e & 0x0000ffff); 3380 C[0] ^= e; 3381 C[1] ^= g; 3382 C[2] ^= f; 3383 C[3] ^= h; 3384 C[4] ^= e; 3385 C[5] ^= g; 3386 C[6] ^= f; 3387 C[7] ^= h; 3388 for (var i = 0; i < 4; i++) { 3389 nextState.call(this) 3390 } 3391 } 3392 }, 3393 _doProcessBlock: function(M, a) { 3394 var X = this._X; 3395 nextState.call(this); 3396 S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); 3397 S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); 3398 S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); 3399 S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); 3400 for (var i = 0; i < 4; i++) { 3401 S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); 3402 M[a + i] ^= S[i] 3403 } 3404 }, 3405 blockSize: 128 / 32, 3406 ivSize: 64 / 32 3407 }); 3408 function nextState() { 3409 var X = this._X; 3410 var C = this._C; 3411 for (var i = 0; i < 8; i++) { 3412 m[i] = C[i] 3413 }
3414 C[0] = (C[0] + 0x4d34d34d + this._b) | 0; 3415 C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (m[0] >>> 0) ? 1 : 0)) | 0; 3416 C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (m[1] >>> 0) ? 1 : 0)) | 0; 3417 C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (m[2] >>> 0) ? 1 : 0)) | 0; 3418 C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (m[3] >>> 0) ? 1 : 0)) | 0; 3419 C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (m[4] >>> 0) ? 1 : 0)) | 0; 3420 C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (m[5] >>> 0) ? 1 : 0)) | 0; 3421 C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (m[6] >>> 0) ? 1 : 0)) | 0; 3422 this._b = (C[7] >>> 0) < (m[7] >>> 0) ? 1 : 0; 3423 for (var i = 0; i < 8; i++) { 3424 var a = X[i] + C[i]; 3425 var b = a & 0xffff; 3426 var c = a >>> 16; 3427 var d = ((((b * b) >>> 17) + b * c) >>> 15) + c * c; 3428 var e = (((a & 0xffff0000) * a) | 0) + (((a & 0x0000ffff) * a) | 0); 3429 G[i] = d ^ e 3430 } 3431 X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; 3432 X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; 3433 X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; 3434 X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; 3435 X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; 3436 X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; 3437 X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; 3438 X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0 3439 } 3440 C.RabbitLegacy = k._createHelper(n) 3441 }()); 3442 return ba 3443 }, 3444 }; 3445 3446 // ====================== Worker 主é»è¾ ====================== 3447 onmessage = function(e) { 3448 const {imglink, preview, noloads, imgtype, imgkeys} = e.data; 3449 3450 // 3451 worker.loaderjs({ 3452 imgkeys, 3453 imglink, 3454 preview, 3455 noloads, 3456 imgtype 3457 }, worker.decryptjs, worker.cryptojs); 3458 }; 3459 }, 3460 function() { 3461 var ba = ba || (function(l, m) { 3462 var n; 3463 if (typeof window !== 'undefined' && window.crypto) { 3464 n = window.crypto 3465 } 3466 if (typeof self !== 'undefined' && self.crypto) { 3467 n = self.crypto 3468 } 3469 if (typeof globalThis !== 'undefined' && globalThis.crypto) { 3470 n = globalThis.crypto 3471 } 3472 if (!n && typeof window !== 'undefined' && window.msCrypto) { 3473 n = window.msCrypto 3474 } 3475 if (!n && typeof global !== 'undefined' && global.crypto) { 3476 n = global.crypto 3477 } 3478 if (!n && typeof require === 'function') { 3479 try { 3480 n = require('crypto') 3481 } catch (err) {} 3482 } 3483 var o = function() { 3484 if (n) { 3485 if (typeof n.getRandomValues === 'function') { 3486 try { 3487 return n.getRandomValues(new Uint32Array(1))[0] 3488 } catch (err) {} 3489 } 3490 if (typeof n.randomBytes === 'function') { 3491 try { 3492 return n.randomBytes(4).readInt32LE() 3493 } catch (err) {} 3494 } 3495 } 3496 throw new Error('Native crypto module could not be used to get secure random number.'); 3497 }; 3498 var p = Object.create || (function() { 3499 function F() {} 3500 return function(a) { 3501 var b; 3502 F.prototype = a; 3503 b = new F(); 3504 F.prototype = null; 3505 return b 3506 } 3507 }()); 3508 var C = {}; 3509 var q = C.lib = {}; 3510 var r = q.Base = (function() { 3511 return { 3512 extend: function(a) { 3513 var b = p(this); 3514 if (a) { 3515 b.mixIn(a) 3516 } 3517 if (!b.hasOwnProperty('init') || this.init === b.init) { 3518 b.init = function() {
3519 b.$super.init.apply(this, arguments) 3520 } 3521 } 3522 b.init.prototype = b; 3523 b.$super = this; 3524 return b 3525 }, 3526 create: function() { 3527 var a = this.extend(); 3528 a.init.apply(a, arguments); 3529 return a 3530 }, 3531 init: function() {}, 3532 mixIn: function(a) { 3533 for (var b in a) { 3534 if (a.hasOwnProperty(b)) { 3535 this[b] = a[b] 3536 } 3537 } 3538 if (a.hasOwnProperty('toString')) { 3539 this.toString = a.toString 3540 } 3541 }, 3542 clone: function() { 3543 return this.init.prototype.extend(this) 3544 } 3545 } 3546 }()); 3547 var s = q.WordArray = r.extend({ 3548 init: function(a, b) { 3549 a = this.words = a || []; 3550 if (b != m) { 3551 this.sigBytes = b 3552 } else { 3553 this.sigBytes = a.length * 4 3554 } 3555 }, 3556 toString: function(a) { 3557 return (a || u).stringify(this) 3558 }, 3559 concat: function(a) { 3560 var b = this.words; 3561 var c = a.words; 3562 var d = this.sigBytes; 3563 var e = a.sigBytes; 3564 this.clamp(); 3565 if (d % 4) { 3566 for (var i = 0; i < e; i++) { 3567 var f = (c[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 3568 b[(d + i) >>> 2] |= f << (24 - ((d + i) % 4) * 8) 3569 } 3570 } else { 3571 for (var j = 0; j < e; j += 4) { 3572 b[(d + j) >>> 2] = c[j >>> 2] 3573 } 3574 } 3575 this.sigBytes += e; 3576 return this 3577 }, 3578 clamp: function() { 3579 var a = this.words; 3580 var b = this.sigBytes; 3581 a[b >>> 2] &= 0xffffffff << (32 - (b % 4) * 8); 3582 a.length = l.ceil(b / 4) 3583 }, 3584 clone: function() { 3585 var a = r.clone.call(this); 3586 a.words = this.words.slice(0); 3587 return a 3588 }, 3589 random: function(a) { 3590 var b = []; 3591 for (var i = 0; i < a; i += 4) { 3592 b.push(o()) 3593 } 3594 return new s.init(b,a) 3595 } 3596 }); 3597 var t = C.enc = {}; 3598 var u = t.Hex = { 3599 stringify: function(a) { 3600 var b = a.words; 3601 var c = a.sigBytes; 3602 var d = []; 3603 for (var i = 0; i < c; i++) { 3604 var e = (b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 3605 d.push((e >>> 4).toString(16)); 3606 d.push((e & 0x0f).toString(16)) 3607 } 3608 return d.join('') 3609 }, 3610 parse: function(a) { 3611 var b = a.length; 3612 var c = []; 3613 for (var i = 0; i < b; i += 2) { 3614 c[i >>> 3] |= parseInt(a.substr(i, 2), 16) << (24 - (i % 8) * 4) 3615 } 3616 return new s.init(c,b / 2) 3617 } 3618 }; 3619 var v = t.Latin1 = { 3620 stringify: function(a) { 3621 var b = a.words; 3622 var c = a.sigBytes; 3623 var d = []; 3624 for (var i = 0; i < c; i++) { 3625 var e = (b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
3626 d.push(String.fromCharCode(e)) 3627 } 3628 return d.join('') 3629 }, 3630 parse: function(a) { 3631 var b = a.length; 3632 var c = []; 3633 for (var i = 0; i < b; i++) { 3634 c[i >>> 2] |= (a.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8) 3635 } 3636 return new s.init(c,b) 3637 } 3638 }; 3639 var w = t.Utf8 = { 3640 stringify: function(a) { 3641 try { 3642 return decodeURIComponent(escape(v.stringify(a))) 3643 } catch (e) { 3644 throw new Error('Malformed UTF-8 data'); 3645 } 3646 }, 3647 parse: function(a) { 3648 return v.parse(unescape(encodeURIComponent(a))) 3649 } 3650 }; 3651 var x = q.BufferedBlockAlgorithm = r.extend({ 3652 reset: function() { 3653 this._data = new s.init(); 3654 this._nDataBytes = 0 3655 }, 3656 _append: function(a) { 3657 if (typeof a == 'string') { 3658 a = w.parse(a) 3659 } 3660 this._data.concat(a); 3661 this._nDataBytes += a.sigBytes 3662 }, 3663 _process: function(a) { 3664 var b; 3665 var c = this._data; 3666 var d = c.words; 3667 var e = c.sigBytes; 3668 var f = this.blockSize; 3669 var g = f * 4; 3670 var h = e / g; 3671 if (a) { 3672 h = l.ceil(h) 3673 } else { 3674 h = l.max((h | 0) - this._minBufferSize, 0) 3675 } 3676 var i = h * f; 3677 var j = l.min(i * 4, e); 3678 if (i) { 3679 for (var k = 0; k < i; k += f) { 3680 this._doProcessBlock(d, k) 3681 } 3682 b = d.splice(0, i); 3683 c.sigBytes -= j 3684 } 3685 return new s.init(b,j) 3686 }, 3687 clone: function() { 3688 var a = r.clone.call(this); 3689 a._data = this._data.clone(); 3690 return a 3691 }, 3692 _minBufferSize: 0 3693 }); 3694 var y = q.Hasher = x.extend({ 3695 cfg: r.extend(), 3696 init: function(a) { 3697 this.cfg = this.cfg.extend(a); 3698 this.reset() 3699 }, 3700 reset: function() { 3701 x.reset.call(this); 3702 this._doReset() 3703 }, 3704 update: function(a) { 3705 this._append(a); 3706 this._process(); 3707 return this 3708 }, 3709 finalize: function(a) { 3710 if (a) { 3711 this._append(a) 3712 } 3713 var b = this._doFinalize(); 3714 return b 3715 }, 3716 blockSize: 512 / 32, 3717 _createHelper: function(c) { 3718 return function(a, b) { 3719 return new c.init(b).finalize(a) 3720 } 3721 }, 3722 _createHmacHelper: function(c) { 3723 return function(a, b) { 3724 return new z.HMAC.init(c,b).finalize(a) 3725 } 3726 } 3727 }); 3728 var z = C.algo = {}; 3729 return C 3730 }(Math)); 3731 (function(e) { 3732 var C = ba; 3733 var f = C.lib; 3734 var g = f.Base; 3735 var h = f.WordArray; 3736 var j = C.x64 = {}; 3737 var k = j.Word = g.extend({ 3738 init: function(a, b) { 3739 this.high = a; 3740 this.low = b 3741 } 3742 }); 3743 var l = j.WordArray = g.extend({ 3744 init: function(a, b) { 3745 a = this.words = a || []; 3746 if (b != e) { 3747 this.sigBytes = b 3748 } else { 3749 this.sigBytes = a.length * 8 3750 } 3751 }, 3752 toX32: function() { 3753 var a = this.words; 3754 var b = a.length; 3755 var c = []; 3756 for (var i = 0; i < b; i++) { 3757 var d = a[i]; 3758 c.push(d.high); 3759 c.push(d.low) 3760 } 3761 return h.create(c, this.sigBytes) 3762 }, 3763 clone: function() { 3764 var a = g.clone.call(this); 3765 var b = a.words = this.words.slice(0); 3766 var c = b.length; 3767 for (var i = 0; i < c; i++) { 3768 b[i] = b[i].clone() 3769 } 3770 return a 3771 } 3772 }) 3773 }()); 3774 (function() { 3775 if (typeof ArrayBuffer != 'function') { 3776 return 3777 } 3778 var C = ba; 3779 var d = C.lib; 3780 var e = d.WordArray; 3781 var f = e.init; 3782 var g = e.init = function(a) { 3783 if (a instanceof ArrayBuffer) { 3784 a = new Uint8Array(a) 3785 } 3786 if (a instanceof Int8Array || (typeof Uint8ClampedArray !== "undefined" && a instanceof Uint8ClampedArray) || a instanceof Int16Array || a instanceof Uint16Array || a instanceof Int32Array || a instanceof Uint32Array || a instanceof Float32Array || a instanceof Float64Array) { 3787 a = new Uint8Array(a.buffer,a.byteOffset,a.byteLength) 3788 } 3789 if (a instanceof Uint8Array) { 3790 var b = a.byteLength; 3791 var c = []; 3792 for (var i = 0; i < b; i++) { 3793 c[i >>> 2] |= a[i] << (24 - (i % 4) * 8) 3794 } 3795 f.call(this, c, b) 3796 } else { 3797 f.apply(this, arguments) 3798 } 3799 } 3800 ; 3801 g.prototype = e 3802 }()); 3803 (function() { 3804 var C = ba; 3805 var f = C.lib; 3806 var g = f.WordArray; 3807 var h = C.enc; 3808 var j = h.Utf16 = h.Utf16BE = {
3809 stringify: function(a) { 3810 var b = a.words; 3811 var c = a.sigBytes; 3812 var d = []; 3813 for (var i = 0; i < c; i += 2) { 3814 var e = (b[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; 3815 d.push(String.fromCharCode(e)) 3816 } 3817 return d.join('') 3818 }, 3819 parse: function(a) { 3820 var b = a.length; 3821 var c = []; 3822 for (var i = 0; i < b; i++) { 3823 c[i >>> 1] |= a.charCodeAt(i) << (16 - (i % 2) * 16) 3824 } 3825 return g.create(c, b * 2) 3826 } 3827 }; 3828 h.Utf16LE = { 3829 stringify: function(a) { 3830 var b = a.words; 3831 var c = a.sigBytes; 3832 var d = []; 3833 for (var i = 0; i < c; i += 2) { 3834 var e = swapEndian((b[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); 3835 d.push(String.fromCharCode(e)) 3836 } 3837 return d.join('') 3838 }, 3839 parse: function(a) { 3840 var b = a.length; 3841 var c = []; 3842 for (var i = 0; i < b; i++) { 3843 c[i >>> 1] |= swapEndian(a.charCodeAt(i) << (16 - (i % 2) * 16)) 3844 } 3845 return g.create(c, b * 2) 3846 } 3847 }; 3848 function swapEndian(a) { 3849 return ((a << 8) & 0xff00ff00) | ((a >>> 8) & 0x00ff00ff) 3850 } 3851 }()); 3852 (function() { 3853 var C = ba; 3854 var m = C.lib; 3855 var n = m.WordArray; 3856 var o = C.enc; 3857 var p = o.Base64 = { 3858 stringify: function(a) { 3859 var b = a.words; 3860 var c = a.sigBytes; 3861 var d = this._map; 3862 a.clamp(); 3863 var e = []; 3864 for (var i = 0; i < c; i += 3) { 3865 var f = (b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 3866 var g = (b[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; 3867 var h = (b[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; 3868 var k = (f << 16) | (g << 8) | h; 3869 for (var j = 0; (j < 4) && (i + j * 0.75 < c); j++) { 3870 e.push(d.charAt((k >>> (6 * (3 - j))) & 0x3f)) 3871 } 3872 } 3873 var l = d.charAt(64); 3874 if (l) { 3875 while (e.length % 4) { 3876 e.push(l) 3877 } 3878 } 3879 return e.join('') 3880 }, 3881 parse: function(a) { 3882 var b = a.length; 3883 var c = this._map; 3884 var d = this._reverseMap; 3885 if (!d) { 3886 d = this._reverseMap = []; 3887 for (var j = 0; j < c.length; j++) { 3888 d[c.charCodeAt(j)] = j 3889 } 3890 } 3891 var e = c.charAt(64); 3892 if (e) { 3893 var f = a.indexOf(e); 3894 if (f !== -1) { 3895 b = f 3896 } 3897 } 3898 return parseLoop(a, b, d) 3899 }, 3900 _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' 3901 }; 3902 function parseLoop(a, b, c) { 3903 var d = []; 3904 var e = 0; 3905 for (var i = 0; i < b; i++) { 3906 if (i % 4) { 3907 var f = c[a.charCodeAt(i - 1)] << ((i % 4) * 2); 3908 var g = c[a.charCodeAt(i)] >>> (6 - (i % 4) * 2); 3909 var h = f | g; 3910 d[e >>> 2] |= h << (24 - (e % 4) * 8); 3911 e++ 3912 } 3913 } 3914 return n.create(d, e) 3915 } 3916 }()); 3917 (function() { 3918 var C = ba; 3919 var n = C.lib; 3920 var o = n.WordArray; 3921 var p = C.enc; 3922 var q = p.Base64url = {
3923 stringify: function(a, b) { 3924 var c = a.words; 3925 var d = a.sigBytes; 3926 var e = urlSafe ? this._safe_map : this._map; 3927 a.clamp(); 3928 var f = []; 3929 for (var i = 0; i < d; i += 3) { 3930 var g = (c[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; 3931 var h = (c[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; 3932 var k = (c[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; 3933 var l = (g << 16) | (h << 8) | k; 3934 for (var j = 0; (j < 4) && (i + j * 0.75 < d); j++) { 3935 f.push(e.charAt((l >>> (6 * (3 - j))) & 0x3f)) 3936 } 3937 } 3938 var m = e.charAt(64); 3939 if (m) { 3940 while (f.length % 4) { 3941 f.push(m) 3942 } 3943 } 3944 return f.join('') 3945 }, 3946 parse: function(a, b) { 3947 var c = a.length; 3948 var d = urlSafe ? this._safe_map : this._map; 3949 var e = this._reverseMap; 3950 if (!e) { 3951 e = this._reverseMap = []; 3952 for (var j = 0; j < d.length; j++) { 3953 e[d.charCodeAt(j)] = j 3954 } 3955 } 3956 var f = d.charAt(64); 3957 if (f) { 3958 var g = a.indexOf(f); 3959 if (g !== -1) { 3960 c = g 3961 } 3962 } 3963 return parseLoop(a, c, e) 3964 }, 3965 _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', 3966 _safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_', 3967 }; 3968 function parseLoop(a, b, c) { 3969 var d = []; 3970 var e = 0; 3971 for (var i = 0; i < b; i++) { 3972 if (i % 4) { 3973 var f = c[a.charCodeAt(i - 1)] << ((i % 4) * 2); 3974 var g = c[a.charCodeAt(i)] >>> (6 - (i % 4) * 2); 3975 var h = f | g; 3976 d[e >>> 2] |= h << (24 - (e % 4) * 8); 3977 e++ 3978 } 3979 } 3980 return o.create(d, e) 3981 } 3982 }()); 3983 (function(y) { 3984 var C = ba; 3985 var z = C.lib; 3986 var A = z.WordArray; 3987 var B = z.Hasher; 3988 var D = C.algo; 3989 var T = []; 3990 (function() { 3991 for (var i = 0; i < 64; i++) { 3992 T[i] = (y.abs(y.sin(i + 1)) * 0x100000000) | 0 3993 } 3994 }()); 3995 var E = D.MD5 = B.extend({ 3996 _doReset: function() { 3997 this._hash = new A.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]) 3998 }, 3999 _doProcessBlock: function(M, e) { 4000 for (var i = 0; i < 16; i++) { 4001 var f = e + i; 4002 var g = M[f]; 4003 M[f] = ((((g << 8) | (g >>> 24)) & 0x00ff00ff) | (((g << 24) | (g >>> 8)) & 0xff00ff00)) 4004 } 4005 var H = this._hash.words; 4006 var h = M[e + 0]; 4007 var j = M[e + 1]; 4008 var k = M[e + 2]; 4009 var l = M[e + 3]; 4010 var m = M[e + 4]; 4011 var n = M[e + 5]; 4012 var o = M[e + 6]; 4013 var p = M[e + 7]; 4014 var q = M[e + 8]; 4015 var r = M[e + 9]; 4016 var s = M[e + 10]; 4017 var t = M[e + 11]; 4018 var u = M[e + 12]; 4019 var v = M[e + 13]; 4020 var w = M[e + 14]; 4021 var x = M[e + 15]; 4022 var a = H[0]; 4023 var b = H[1]; 4024 var c = H[2]; 4025 var d = H[3]; 4026 a = FF(a, b, c, d, h, 7, T[0]); 4027 d = FF(d, a, b, c, j, 12, T[1]);
4028 c = FF(c, d, a, b, k, 17, T[2]); 4029 b = FF(b, c, d, a, l, 22, T[3]); 4030 a = FF(a, b, c, d, m, 7, T[4]); 4031 d = FF(d, a, b, c, n, 12, T[5]); 4032 c = FF(c, d, a, b, o, 17, T[6]); 4033 b = FF(b, c, d, a, p, 22, T[7]); 4034 a = FF(a, b, c, d, q, 7, T[8]); 4035 d = FF(d, a, b, c, r, 12, T[9]); 4036 c = FF(c, d, a, b, s, 17, T[10]); 4037 b = FF(b, c, d, a, t, 22, T[11]); 4038 a = FF(a, b, c, d, u, 7, T[12]); 4039 d = FF(d, a, b, c, v, 12, T[13]); 4040 c = FF(c, d, a, b, w, 17, T[14]); 4041 b = FF(b, c, d, a, x, 22, T[15]); 4042 a = GG(a, b, c, d, j, 5, T[16]); 4043 d = GG(d, a, b, c, o, 9, T[17]); 4044 c = GG(c, d, a, b, t, 14, T[18]); 4045 b = GG(b, c, d, a, h, 20, T[19]); 4046 a = GG(a, b, c, d, n, 5, T[20]); 4047 d = GG(d, a, b, c, s, 9, T[21]); 4048 c = GG(c, d, a, b, x, 14, T[22]); 4049 b = GG(b, c, d, a, m, 20, T[23]); 4050 a = GG(a, b, c, d, r, 5, T[24]); 4051 d = GG(d, a, b, c, w, 9, T[25]); 4052 c = GG(c, d, a, b, l, 14, T[26]); 4053 b = GG(b, c, d, a, q, 20, T[27]); 4054 a = GG(a, b, c, d, v, 5, T[28]); 4055 d = GG(d, a, b, c, k, 9, T[29]); 4056 c = GG(c, d, a, b, p, 14, T[30]); 4057 b = GG(b, c, d, a, u, 20, T[31]); 4058 a = HH(a, b, c, d, n, 4, T[32]); 4059 d = HH(d, a, b, c, q, 11, T[33]); 4060 c = HH(c, d, a, b, t, 16, T[34]); 4061 b = HH(b, c, d, a, w, 23, T[35]); 4062 a = HH(a, b, c, d, j, 4, T[36]); 4063 d = HH(d, a, b, c, m, 11, T[37]); 4064 c = HH(c, d, a, b, p, 16, T[38]); 4065 b = HH(b, c, d, a, s, 23, T[39]); 4066 a = HH(a, b, c, d, v, 4, T[40]); 4067 d = HH(d, a, b, c, h, 11, T[41]); 4068 c = HH(c, d, a, b, l, 16, T[42]); 4069 b = HH(b, c, d, a, o, 23, T[43]); 4070 a = HH(a, b, c, d, r, 4, T[44]); 4071 d = HH(d, a, b, c, u, 11, T[45]); 4072 c = HH(c, d, a, b, x, 16, T[46]); 4073 b = HH(b, c, d, a, k, 23, T[47]); 4074 a = II(a, b, c, d, h, 6, T[48]); 4075 d = II(d, a, b, c, p, 10, T[49]); 4076 c = II(c, d, a, b, w, 15, T[50]); 4077 b = II(b, c, d, a, n, 21, T[51]); 4078 a = II(a, b, c, d, u, 6, T[52]); 4079 d = II(d, a, b, c, l, 10, T[53]); 4080 c = II(c, d, a, b, s, 15, T[54]); 4081 b = II(b, c, d, a, j, 21, T[55]); 4082 a = II(a, b, c, d, q, 6, T[56]); 4083 d = II(d, a, b, c, x, 10, T[57]); 4084 c = II(c, d, a, b, o, 15, T[58]); 4085 b = II(b, c, d, a, v, 21, T[59]); 4086 a = II(a, b, c, d, m, 6, T[60]); 4087 d = II(d, a, b, c, t, 10, T[61]); 4088 c = II(c, d, a, b, k, 15, T[62]); 4089 b = II(b, c, d, a, r, 21, T[63]); 4090 H[0] = (H[0] + a) | 0; 4091 H[1] = (H[1] + b) | 0; 4092 H[2] = (H[2] + c) | 0; 4093 H[3] = (H[3] + d) | 0 4094 }, 4095 _doFinalize: function() { 4096 var a = this._data; 4097 var b = a.words; 4098 var c = this._nDataBytes * 8; 4099 var d = a.sigBytes * 8; 4100 b[d >>> 5] |= 0x80 << (24 - d % 32); 4101 var e = y.floor(c / 0x100000000); 4102 var f = c; 4103 b[(((d + 64) >>> 9) << 4) + 15] = ((((e << 8) | (e >>> 24)) & 0x00ff00ff) | (((e << 24) | (e >>> 8)) & 0xff00ff00)); 4104 b[(((d + 64) >>> 9) << 4) + 14] = ((((f << 8) | (f >>> 24)) & 0x00ff00ff) | (((f << 24) | (f >>> 8)) & 0xff00ff00)); 4105 a.sigBytes = (b.length + 1) * 4; 4106 this._process(); 4107 var g = this._hash; 4108 var H = g.words; 4109 for (var i = 0; i < 4; i++) { 4110 var h = H[i]; 4111 H[i] = (((h << 8) | (h >>> 24)) & 0x00ff00ff) | (((h << 24) | (h >>> 8)) & 0xff00ff00) 4112 } 4113 return g 4114 }, 4115 clone: function() { 4116 var a = B.clone.call(this); 4117 a._hash = this._hash.clone(); 4118 return a 4119 } 4120 }); 4121 function FF(a, b, c, d, x, s, t) { 4122 var n = a + ((b & c) | (~b & d)) + x + t; 4123 return ((n << s) | (n >>> (32 - s))) + b 4124 } 4125 function GG(a, b, c, d, x, s, t) { 4126 var n = a + ((b & d) | (c & ~d)) + x + t; 4127 return ((n << s) | (n >>> (32 - s))) + b 4128 } 4129 function HH(a, b, c, d, x, s, t) { 4130 var n = a + (b ^ c ^ d) + x + t; 4131 return ((n << s) | (n >>> (32 - s))) + b 4132 } 4133 function II(a, b, c, d, x, s, t) { 4134 var n = a + (c ^ (b | ~d)) + x + t; 4135 return ((n << s) | (n >>> (32 - s))) + b 4136 } 4137 C.MD5 = B._createHelper(E); 4138 C.HmacMD5 = B._createHmacHelper(E) 4139 }(Math)); 4140 (function() { 4141 var C = ba; 4142 var g = C.lib; 4143 var h = g.WordArray; 4144 var j = g.Hasher; 4145 var k = C.algo; 4146 var W = []; 4147 var l = k.SHA1 = j.extend({ 4148 _doReset: function() { 4149 this._hash = new h.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]) 4150 }, 4151 _doProcessBlock: function(M, f) { 4152 var H = this._hash.words; 4153 var a = H[0]; 4154 var b = H[1]; 4155 var c = H[2]; 4156 var d = H[3]; 4157 var e = H[4]; 4158 for (var i = 0; i < 80; i++) { 4159 if (i < 16) { 4160 W[i] = M[f + i] | 0 4161 } else { 4162 var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; 4163 W[i] = (n << 1) | (n >>> 31) 4164 } 4165 var t = ((a << 5) | (a >>> 27)) + e + W[i]; 4166 if (i < 20) { 4167 t += ((b & c) | (~b & d)) + 0x5a827999 4168 } else if (i < 40) { 4169 t += (b ^ c ^ d) + 0x6ed9eba1 4170 } else if (i < 60) {
4171 t += ((b & c) | (b & d) | (c & d)) - 0x70e44324 4172 } else { 4173 t += (b ^ c ^ d) - 0x359d3e2a 4174 } 4175 e = d; 4176 d = c; 4177 c = (b << 30) | (b >>> 2); 4178 b = a; 4179 a = t 4180 } 4181 H[0] = (H[0] + a) | 0; 4182 H[1] = (H[1] + b) | 0; 4183 H[2] = (H[2] + c) | 0; 4184 H[3] = (H[3] + d) | 0; 4185 H[4] = (H[4] + e) | 0 4186 }, 4187 _doFinalize: function() { 4188 var a = this._data; 4189 var b = a.words; 4190 var c = this._nDataBytes * 8; 4191 var d = a.sigBytes * 8; 4192 b[d >>> 5] |= 0x80 << (24 - d % 32); 4193 b[(((d + 64) >>> 9) << 4) + 14] = Math.floor(c / 0x100000000); 4194 b[(((d + 64) >>> 9) << 4) + 15] = c; 4195 a.sigBytes = b.length * 4; 4196 this._process(); 4197 return this._hash 4198 }, 4199 clone: function() { 4200 var a = j.clone.call(this); 4201 a._hash = this._hash.clone(); 4202 return a 4203 } 4204 }); 4205 C.SHA1 = j._createHelper(l); 4206 C.HmacSHA1 = j._createHmacHelper(l) 4207 }()); 4208 (function(u) { 4209 var C = ba; 4210 var v = C.lib; 4211 var w = v.WordArray; 4212 var x = v.Hasher; 4213 var y = C.algo; 4214 var H = []; 4215 var K = []; 4216 (function() { 4217 function isPrime(n) { 4218 var a = u.sqrt(n); 4219 for (var b = 2; b <= a; b++) { 4220 if (!(n % b)) { 4221 return false 4222 } 4223 } 4224 return true 4225 } 4226 function getFractionalBits(n) { 4227 return ((n - (n | 0)) * 0x100000000) | 0 4228 } 4229 var n = 2; 4230 var c = 0; 4231 while (c < 64) { 4232 if (isPrime(n)) { 4233 if (c < 8) { 4234 H[c] = getFractionalBits(u.pow(n, 1 / 2)) 4235 } 4236 K[c] = getFractionalBits(u.pow(n, 1 / 3)); 4237 c++ 4238 } 4239 n++ 4240 } 4241 }()); 4242 var W = []; 4243 var z = y.SHA256 = x.extend({ 4244 _doReset: function() { 4245 this._hash = new w.init(H.slice(0)) 4246 }, 4247 _doProcessBlock: function(M, j) { 4248 var H = this._hash.words; 4249 var a = H[0]; 4250 var b = H[1]; 4251 var c = H[2]; 4252 var d = H[3]; 4253 var e = H[4]; 4254 var f = H[5]; 4255 var g = H[6]; 4256 var h = H[7]; 4257 for (var i = 0; i < 64; i++) { 4258 if (i < 16) { 4259 W[i] = M[j + i] | 0 4260 } else { 4261 var k = W[i - 15]; 4262 var l = ((k << 25) | (k >>> 7)) ^ ((k << 14) | (k >>> 18)) ^ (k >>> 3); 4263 var m = W[i - 2]; 4264 var n = ((m << 15) | (m >>> 17)) ^ ((m << 13) | (m >>> 19)) ^ (m >>> 10); 4265 W[i] = l + W[i - 7] + n + W[i - 16] 4266 } 4267 var o = (e & f) ^ (~e & g); 4268 var p = (a & b) ^ (a & c) ^ (b & c); 4269 var q = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); 4270 var r = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); 4271 var s = h + r + o + K[i] + W[i]; 4272 var t = q + p; 4273 h = g; 4274 g = f; 4275 f = e; 4276 e = (d + s) | 0; 4277 d = c; 4278 c = b; 4279 b = a; 4280 a = (s + t) | 0 4281 } 4282 H[0] = (H[0] + a) | 0; 4283 H[1] = (H[1] + b) | 0; 4284 H[2] = (H[2] + c) | 0; 4285 H[3] = (H[3] + d) | 0; 4286 H[4] = (H[4] + e) | 0; 4287 H[5] = (H[5] + f) | 0; 4288 H[6] = (H[6] + g) | 0; 4289 H[7] = (H[7] + h) | 0 4290 }, 4291 _doFinalize: function() { 4292 var a = this._data; 4293 var b = a.words; 4294 var c = this._nDataBytes * 8; 4295 var d = a.sigBytes * 8; 4296 b[d >>> 5] |= 0x80 << (24 - d % 32); 4297 b[(((d + 64) >>> 9) << 4) + 14] = u.floor(c / 0x100000000); 4298 b[(((d + 64) >>> 9) << 4) + 15] = c; 4299 a.sigBytes = b.length * 4; 4300 this._process(); 4301 return this._hash 4302 }, 4303 clone: function() { 4304 var a = x.clone.call(this); 4305 a._hash = this._hash.clone(); 4306 return a 4307 } 4308 }); 4309 C.SHA256 = x._createHelper(z); 4310 C.HmacSHA256 = x._createHmacHelper(z) 4311 }(Math)); 4312 (function() { 4313 var C = ba; 4314 var b = C.lib; 4315 var c = b.WordArray; 4316 var d = C.algo; 4317 var e = d.SHA256; 4318 var f = d.SHA224 = e.extend({ 4319 _doReset: function() { 4320 this._hash = new c.init([0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4]) 4321 }, 4322 _doFinalize: function() { 4323 var a = e._doFinalize.call(this); 4324 a.sigBytes -= 4; 4325 return a 4326 } 4327 }); 4328 C.SHA224 = e._createHelper(f); 4329 C.HmacSHA224 = e._createHmacHelper(f) 4330 }()); 4331 (function() { 4332 var C = ba; 4333 var bb = C.lib; 4334 var bc = bb.Hasher; 4335 var bd = C.x64; 4336 var be = bd.Word; 4337 var bf = bd.WordArray; 4338 var bg = C.algo; 4339 function X64Word_create() { 4340 return be.create.apply(be, arguments) 4341 } 4342 var K = [X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb
vendor: 16,384 bytes, lines 4342-4643
4342605d019), X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)]; 4343 var W = []; 4344 (function() { 4345 for (var i = 0; i < 80; i++) { 4346 W[i] = X64Word_create() 4347 } 4348 }()); 4349 var bh = bg.SHA512 = bc.extend({ 4350 _doReset: function() { 4351 this._hash = new bf.init([new be.init(0x6a09e667,0xf3bcc908), new be.init(0xbb67ae85,0x84caa73b), new be.init(0x3c6ef372,0xfe94f82b), new be.init(0xa54ff53a,0x5f1d36f1), new be.init(0x510e527f,0xade682d1), new be.init(0x9b05688c,0x2b3e6c1f), new be.init(0x1f83d9ab,0xfb41bd6b), new be.init(0x5be0cd19,0x137e2179)]) 4352 }, 4353 _doProcessBlock: function(M, a) { 4354 var H = this._hash.words; 4355 var b = H[0]; 4356 var c = H[1]; 4357 var d = H[2]; 4358 var e = H[3]; 4359 var f = H[4]; 4360 var g = H[5]; 4361 var h = H[6]; 4362 var j = H[7]; 4363 var k = b.high; 4364 var l = b.low; 4365 var m = c.high; 4366 var n = c.low; 4367 var o = d.high; 4368 var p = d.low; 4369 var q = e.high; 4370 var r = e.low; 4371 var s = f.high; 4372 var t = f.low; 4373 var u = g.high; 4374 var v = g.low; 4375 var w = h.high; 4376 var x = h.low; 4377 var y = j.high; 4378 var z = j.low; 4379 var A = k; 4380 var B = l; 4381 var C = m; 4382 var D = n; 4383 var E = o; 4384 var F = p; 4385 var G = q; 4386 var I = r; 4387 var J = s; 4388 var L = t; 4389 var N = u; 4390 var O = v; 4391 var P = w; 4392 var Q = x; 4393 var R = y; 4394 var S = z; 4395 for (var i = 0; i < 80; i++) { 4396 var T; 4397 var U; 4398 var V = W[i]; 4399 if (i < 16) { 4400 U = V.high = M[a + i * 2] | 0; 4401 T = V.low = M[a + i * 2 + 1] | 0 4402 } else { 4403 var X = W[i - 15]; 4404 var Y = X.high; 4405 var Z = X.low; 4406 var bi = ((Y >>> 1) | (Z << 31)) ^ ((Y >>> 8) | (Z << 24)) ^ (Y >>> 7); 4407 var bj = ((Z >>> 1) | (Y << 31)) ^ ((Z >>> 8) | (Y << 24)) ^ ((Z >>> 7) | (Y << 25)); 4408 var bk = W[i - 2]; 4409 var bm = bk.high; 4410 var bn = bk.low; 4411 var bo = ((bm >>> 19) | (bn << 13)) ^ ((bm << 3) | (bn >>> 29)) ^ (bm >>> 6); 4412 var bp = ((bn >>> 19) | (bm << 13)) ^ ((bn << 3) | (bm >>> 29)) ^ ((bn >>> 6) | (bm << 26)); 4413 var bq = W[i - 7]; 4414 var bs = bq.high; 4415 var bt = bq.low; 4416 var bu = W[i - 16]; 4417 var bv = bu.high; 4418 var bw = bu.low; 4419 T = bj + bt; 4420 U = bi + bs + ((T >>> 0) < (bj >>> 0) ? 1 : 0); 4421 T = T + bp; 4422 U = U + bo + ((T >>> 0) < (bp >>> 0) ? 1 : 0); 4423 T = T + bw; 4424 U = U + bv + ((T >>> 0) < (bw >>> 0) ? 1 : 0); 4425 V.high = U; 4426 V.low = T 4427 } 4428 var bx = (J & N) ^ (~J & P); 4429 var by = (L & O) ^ (~L & Q); 4430 var bz = (A & C) ^ (A & E) ^ (C & E); 4431 var bA = (B & D) ^ (B & F) ^ (D & F); 4432 var bB = ((A >>> 28) | (B << 4)) ^ ((A << 30) | (B >>> 2)) ^ ((A << 25) | (B >>> 7)); 4433 var bC = ((B >>> 28) | (A << 4)) ^ ((B << 30) | (A >>> 2)) ^ ((B << 25) | (A >>> 7)); 4434 var bD = ((J >>> 14) | (L << 18)) ^ ((J >>> 18) | (L << 14)) ^ ((J << 23) | (L >>> 9)); 4435 var bE = ((L >>> 14) | (J << 18)) ^ ((L >>> 18) | (J << 14)) ^ ((L << 23) | (J >>> 9)); 4436 var bF = K[i]; 4437 var bG = bF.high; 4438 var bH = bF.low; 4439 var bI = S + bE; 4440 var bJ = R + bD + ((bI >>> 0) < (S >>> 0) ? 1 : 0); 4441 var bI = bI + by; 4442 var bJ = bJ + bx + ((bI >>> 0) < (by >>> 0) ? 1 : 0); 4443 var bI = bI + bH; 4444 var bJ = bJ + bG + ((bI >>> 0) < (bH >>> 0) ? 1 : 0); 4445 var bI = bI + T; 4446 var bJ = bJ + U + ((bI >>> 0) < (T >>> 0) ? 1 : 0); 4447 var bK = bC + bA; 4448 var bL = bB + bz + ((bK >>> 0) < (bC >>> 0) ? 1 : 0); 4449 R = P; 4450 S = Q; 4451 P = N; 4452 Q = O; 4453 N = J; 4454 O = L; 4455 L = (I + bI) | 0; 4456 J = (G + bJ + ((L >>> 0) < (I >>> 0) ? 1 : 0)) | 0; 4457 G = E; 4458 I = F; 4459 E = C; 4460 F = D; 4461 C = A; 4462 D = B; 4463 B = (bI + bK) | 0; 4464 A = (bJ + bL + ((B >>> 0) < (bI >>> 0) ? 1 : 0)) | 0 4465 } 4466 l = b.low = (l + B); 4467 b.high = (k + A + ((l >>> 0) < (B >>> 0) ? 1 : 0)); 4468 n = c.low = (n + D); 4469 c.high = (m + C + ((n >>> 0) < (D >>> 0) ? 1 : 0)); 4470 p = d.low = (p + F); 4471 d.high = (o + E + ((p >>> 0) < (F >>> 0) ? 1 : 0)); 4472 r = e.low = (r + I); 4473 e.high = (q + G + ((r >>> 0) < (I >>> 0) ? 1 : 0)); 4474 t = f.low = (t + L); 4475 f.high = (s + J + ((t >>> 0) < (L >>> 0) ? 1 : 0)); 4476 v = g.low = (v + O); 4477 g.high = (u + N + ((v >>> 0) < (O >>> 0) ? 1 : 0)); 4478 x = h.low = (x + Q); 4479 h.high = (w + P + ((x >>> 0) < (Q >>> 0) ? 1 : 0)); 4480 z = j.low = (z + S); 4481 j.high = (y + R + ((z >>> 0) < (S >>> 0) ? 1 : 0)) 4482 }, 4483 _doFinalize: function() { 4484 var a = this._data; 4485 var b = a.words; 4486 var c = this._nDataBytes * 8; 4487 var d = a.sigBytes * 8; 4488 b[d >>> 5] |= 0x80 << (24 - d % 32); 4489 b[(((d + 128) >>> 10) << 5) + 30] = Math.floor(c / 0x100000000); 4490 b[(((d + 128) >>> 10) << 5) + 31] = c; 4491 a.sigBytes = b.length * 4; 4492 this._process(); 4493 var e = this._hash.toX32(); 4494 return e 4495 }, 4496 clone: function() { 4497 var a = bc.clone.call(this); 4498 a._hash = this._hash.clone(); 4499 return a 4500 }, 4501 blockSize: 1024 / 32 4502 }); 4503 C.SHA512 = bc._createHelper(bh); 4504 C.HmacSHA512 = bc._createHmacHelper(bh) 4505 }()); 4506 (function() { 4507 var C = ba; 4508 var b = C.x64; 4509 var c = b.Word; 4510 var d = b.WordArray; 4511 var e = C.algo; 4512 var f = e.SHA512; 4513 var g = e.SHA384 = f.extend({ 4514 _doReset: function() { 4515 this._hash = new d.init([new c.init(0xcbbb9d5d,0xc1059ed8), new c.init(0x629a292a,0x367cd507), new c.init(0x9159015a,0x3070dd17), new c.init(0x152fecd8,0xf70e5939), new c.init(0x67332667,0xffc00b31), new c.init(0x8eb44a87,0x68581511), new c.init(0xdb0c2e0d,0x64f98fa7), new c.init(0x47b5481d,0xbefa4fa4)]) 4516 }, 4517 _doFinalize: function() { 4518 var a = f._doFinalize.call(this); 4519 a.sigBytes -= 16; 4520 return a 4521 } 4522 }); 4523 C.SHA384 = f._createHelper(g); 4524 C.HmacSHA384 = f._createHmacHelper(g) 4525 }()); 4526 (function(D) { 4527 var C = ba; 4528 var E = C.lib; 4529 var F = E.WordArray; 4530 var G = E.Hasher; 4531 var H = C.x64; 4532 var I = H.Word; 4533 var J = C.algo; 4534 var K = []; 4535 var L = []; 4536 var N = []; 4537 (function() { 4538 var x = 1 4539 , y = 0; 4540 for (var t = 0; t < 24; t++) { 4541 K[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64; 4542 var a = y % 5; 4543 var b = (2 * x + 3 * y) % 5; 4544 x = a; 4545 y = b 4546 } 4547 for (var x = 0; x < 5; x++) { 4548 for (var y = 0; y < 5; y++) { 4549 L[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5 4550 } 4551 } 4552 var c = 0x01; 4553 for (var i = 0; i < 24; i++) { 4554 var d = 0; 4555 var e = 0; 4556 for (var j = 0; j < 7; j++) { 4557 if (c & 0x01) { 4558 var f = (1 << j) - 1; 4559 if (f < 32) { 4560 e ^= 1 << f 4561 } else { 4562 d ^= 1 << (f - 32) 4563 } 4564 } 4565 if (c & 0x80) { 4566 c = (c << 1) ^ 0x71 4567 } else { 4568 c <<= 1 4569 } 4570 } 4571 N[i] = I.create(d, e) 4572 } 4573 }()); 4574 var T = []; 4575 (function() { 4576 for (var i = 0; i < 25; i++) { 4577 T[i] = I.create() 4578 } 4579 }()); 4580 var O = J.SHA3 = G.extend({ 4581 cfg: G.cfg.extend({ 4582 outputLength: 512 4583 }), 4584 _doReset: function() { 4585 var a = this._state = []; 4586 for (var i = 0; i < 25; i++) { 4587 a[i] = new I.init() 4588 } 4589 this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 4590 }, 4591 _doProcessBlock: function(M, a) { 4592 var b = this._state; 4593 var c = this.blockSize / 2; 4594 for (var i = 0; i < c; i++) { 4595 var d = M[a + 2 * i]; 4596 var e = M[a + 2 * i + 1]; 4597 d = ((((d << 8) | (d >>> 24)) & 0x00ff00ff) | (((d << 24) | (d >>> 8)) & 0xff00ff00)); 4598 e = ((((e << 8) | (e >>> 24)) & 0x00ff00ff) | (((e << 24) | (e >>> 8)) & 0xff00ff00)); 4599 var f = b[i]; 4600 f.high ^= e; 4601 f.low ^= d 4602 } 4603 for (var g = 0; g < 24; g++) { 4604 for (var x = 0; x < 5; x++) { 4605 var h = 0 4606 , o = 0; 4607 for (var y = 0; y < 5; y++) { 4608 var f = b[x + 5 * y]; 4609 h ^= f.high; 4610 o ^= f.low 4611 } 4612 var j = T[x]; 4613 j.high = h; 4614 j.low = o 4615 } 4616 for (var x = 0; x < 5; x++) { 4617 var k = T[(x + 4) % 5]; 4618 var l = T[(x + 1) % 5]; 4619 var m = l.high; 4620 var n = l.low; 4621 var h = k.high ^ ((m << 1) | (n >>> 31)); 4622 var o = k.low ^ ((n << 1) | (m >>> 31)); 4623 for (var y = 0; y < 5; y++) { 4624 var f = b[x + 5 * y]; 4625 f.high ^= h; 4626 f.low ^= o 4627 } 4628 } 4629 for (var p = 1; p < 25; p++) { 4630 var h; 4631 var o; 4632 var f = b[p]; 4633 var q = f.high; 4634 var r = f.low; 4635 var s = K[p]; 4636 if (s < 32) { 4637 h = (q << s) | (r >>> (32 - s)); 4638 o = (r << s) | (q >>> (32 - s)) 4639 } else { 4640 h = (r << (s - 32)) | (q >>> (64 - s)); 4641 o = (q << (s - 32)) | (r >>> (64 - s)) 4642 } 4643
4643 var t = T[L[p]]; 4644 t.high = h; 4645 t.low = o 4646 } 4647 var u = T[0]; 4648 var v = b[0]; 4649 u.high = v.high; 4650 u.low = v.low; 4651 for (var x = 0; x < 5; x++) { 4652 for (var y = 0; y < 5; y++) { 4653 var p = x + 5 * y; 4654 var f = b[p]; 4655 var w = T[p]; 4656 var z = T[((x + 1) % 5) + 5 * y]; 4657 var A = T[((x + 2) % 5) + 5 * y]; 4658 f.high = w.high ^ (~z.high & A.high); 4659 f.low = w.low ^ (~z.low & A.low) 4660 } 4661 } 4662 var f = b[0]; 4663 var B = N[g]; 4664 f.high ^= B.high; 4665 f.low ^= B.low 4666 } 4667 }, 4668 _doFinalize: function() { 4669 var a = this._data; 4670 var b = a.words; 4671 var c = this._nDataBytes * 8; 4672 var d = a.sigBytes * 8; 4673 var e = this.blockSize * 32; 4674 b[d >>> 5] |= 0x1 << (24 - d % 32); 4675 b[((D.ceil((d + 1) / e) * e) >>> 5) - 1] |= 0x80; 4676 a.sigBytes = b.length * 4; 4677 this._process(); 4678 var f = this._state; 4679 var g = this.cfg.outputLength / 8; 4680 var h = g / 8; 4681 var j = []; 4682 for (var i = 0; i < h; i++) { 4683 var k = f[i]; 4684 var l = k.high; 4685 var m = k.low; 4686 l = ((((l << 8) | (l >>> 24)) & 0x00ff00ff) | (((l << 24) | (l >>> 8)) & 0xff00ff00)); 4687 m = ((((m << 8) | (m >>> 24)) & 0x00ff00ff) | (((m << 24) | (m >>> 8)) & 0xff00ff00)); 4688 j.push(m); 4689 j.push(l) 4690 } 4691 return new F.init(j,g) 4692 }, 4693 clone: function() { 4694 var a = G.clone.call(this); 4695 var b = a._state = this._state.slice(0); 4696 for (var i = 0; i < 25; i++) { 4697 b[i] = b[i].clone() 4698 } 4699 return a 4700 } 4701 }); 4702 C.SHA3 = G._createHelper(O); 4703 C.HmacSHA3 = G._createHmacHelper(O) 4704 }(Math)); 4705 (function(m) { 4706 var C = ba; 4707 var o = C.lib; 4708 var p = o.WordArray; 4709 var q = o.Hasher; 4710 var r = C.algo; 4711 var s = p.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]); 4712 var u = p.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]); 4713 var v = p.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]); 4714 var w = p.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]); 4715 var A = p.create([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); 4716 var B = p.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); 4717 var D = r.RIPEMD160 = q.extend({ 4718 _doReset: function() { 4719 this._hash = p.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]) 4720 }, 4721 _doProcessBlock: function(M, a) { 4722 for (var i = 0; i < 16; i++) { 4723 var b = a + i; 4724 var c = M[b]; 4725 M[b] = ((((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00)) 4726 } 4727 var H = this._hash.words; 4728 var d = A.words; 4729 var e = B.words; 4730 var f = s.words; 4731 var g = u.words; 4732 var h = v.words; 4733 var j = w.words; 4734 var k, bl, cl, dl, el; 4735 var l, br, cr, dr, er; 4736 l = k = H[0]; 4737 br = bl = H[1]; 4738 cr = cl = H[2]; 4739 dr = dl = H[3]; 4740 er = el = H[4]; 4741 var t; 4742 for (var i = 0; i < 80; i += 1) { 4743 t = (k + M[a + f[i]]) | 0; 4744 if (i < 16) { 4745 t += f1(bl, cl, dl) + d[0] 4746 } else if (i < 32) { 4747 t += f2(bl, cl, dl) + d[1] 4748 } else if (i < 48) { 4749 t += f3(bl, cl, dl) + d[2] 4750 } else if (i < 64) { 4751 t += f4(bl, cl, dl) + d[3] 4752 } else { 4753 t += f5(bl, cl, dl) + d[4] 4754 } 4755 t = t | 0; 4756 t = rotl(t, h[i]); 4757 t = (t + el) | 0; 4758 k = el; 4759 el = dl; 4760 dl = rotl(cl, 10); 4761 cl = bl; 4762 bl = t; 4763 t = (l + M[a + g[i]]) | 0; 4764 if (i < 16) { 4765 t += f5(br, cr, dr) + e[0] 4766 } else if (i < 32) {
4767 t += f4(br, cr, dr) + e[1] 4768 } else if (i < 48) { 4769 t += f3(br, cr, dr) + e[2] 4770 } else if (i < 64) { 4771 t += f2(br, cr, dr) + e[3] 4772 } else { 4773 t += f1(br, cr, dr) + e[4] 4774 } 4775 t = t | 0; 4776 t = rotl(t, j[i]); 4777 t = (t + er) | 0; 4778 l = er; 4779 er = dr; 4780 dr = rotl(cr, 10); 4781 cr = br; 4782 br = t 4783 } 4784 t = (H[1] + cl + dr) | 0; 4785 H[1] = (H[2] + dl + er) | 0; 4786 H[2] = (H[3] + el + l) | 0; 4787 H[3] = (H[4] + k + br) | 0; 4788 H[4] = (H[0] + bl + cr) | 0; 4789 H[0] = t 4790 }, 4791 _doFinalize: function() { 4792 var a = this._data; 4793 var b = a.words; 4794 var c = this._nDataBytes * 8; 4795 var d = a.sigBytes * 8; 4796 b[d >>> 5] |= 0x80 << (24 - d % 32); 4797 b[(((d + 64) >>> 9) << 4) + 14] = ((((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00)); 4798 a.sigBytes = (b.length + 1) * 4; 4799 this._process(); 4800 var e = this._hash; 4801 var H = e.words; 4802 for (var i = 0; i < 5; i++) { 4803 var f = H[i]; 4804 H[i] = (((f << 8) | (f >>> 24)) & 0x00ff00ff) | (((f << 24) | (f >>> 8)) & 0xff00ff00) 4805 } 4806 return e 4807 }, 4808 clone: function() { 4809 var a = q.clone.call(this); 4810 a._hash = this._hash.clone(); 4811 return a 4812 } 4813 }); 4814 function f1(x, y, z) { 4815 return ((x) ^ (y) ^ (z)) 4816 } 4817 function f2(x, y, z) { 4818 return (((x) & (y)) | ((~x) & (z))) 4819 } 4820 function f3(x, y, z) { 4821 return (((x) | (~(y))) ^ (z)) 4822 } 4823 function f4(x, y, z) { 4824 return (((x) & (z)) | ((y) & (~(z)))) 4825 } 4826 function f5(x, y, z) { 4827 return ((x) ^ ((y) | (~(z)))) 4828 } 4829 function rotl(x, n) { 4830 return (x << n) | (x >>> (32 - n)) 4831 } 4832 C.RIPEMD160 = q._createHelper(D); 4833 C.HmacRIPEMD160 = q._createHmacHelper(D) 4834 }(Math)); 4835 (function() { 4836 var C = ba; 4837 var j = C.lib; 4838 var k = j.Base; 4839 var l = C.enc; 4840 var m = l.Utf8; 4841 var n = C.algo; 4842 var o = n.HMAC = k.extend({ 4843 init: function(a, b) { 4844 a = this._hasher = new a.init(); 4845 if (typeof b == 'string') { 4846 b = m.parse(b) 4847 } 4848 var c = a.blockSize; 4849 var d = c * 4; 4850 if (b.sigBytes > d) { 4851 b = a.finalize(b) 4852 } 4853 b.clamp(); 4854 var e = this._oKey = b.clone(); 4855 var f = this._iKey = b.clone(); 4856 var g = e.words; 4857 var h = f.words; 4858 for (var i = 0; i < c; i++) { 4859 g[i] ^= 0x5c5c5c5c; 4860 h[i] ^= 0x36363636 4861 } 4862 e.sigBytes = f.sigBytes = d; 4863 this.reset() 4864 }, 4865 reset: function() { 4866 var a = this._hasher; 4867 a.reset(); 4868 a.update(this._iKey) 4869 }, 4870 update: function(a) { 4871 this._hasher.update(a); 4872 return this 4873 }, 4874 finalize: function(a) { 4875 var b = this._hasher; 4876 var c = b.finalize(a); 4877 b.reset();
4878 var d = b.finalize(this._oKey.clone().concat(c)); 4879 return d 4880 } 4881 }) 4882 }()); 4883 (function() { 4884 var C = ba; 4885 var r = C.lib; 4886 var s = r.Base; 4887 var t = r.WordArray; 4888 var u = C.algo; 4889 var v = u.SHA1; 4890 var w = u.HMAC; 4891 var x = u.PBKDF2 = s.extend({ 4892 cfg: s.extend({ 4893 keySize: 128 / 32, 4894 hasher: v, 4895 iterations: 1 4896 }), 4897 init: function(a) { 4898 this.cfg = this.cfg.extend(a) 4899 }, 4900 compute: function(a, b) { 4901 var c = this.cfg; 4902 var d = w.create(c.hasher, a); 4903 var e = t.create(); 4904 var f = t.create([0x00000001]); 4905 var g = e.words; 4906 var h = f.words; 4907 var k = c.keySize; 4908 var l = c.iterations; 4909 while (g.length < k) { 4910 var m = d.update(b).finalize(f); 4911 d.reset(); 4912 var n = m.words; 4913 var o = n.length; 4914 var p = m; 4915 for (var i = 1; i < l; i++) { 4916 p = d.finalize(p); 4917 d.reset(); 4918 var q = p.words; 4919 for (var j = 0; j < o; j++) { 4920 n[j] ^= q[j] 4921 } 4922 } 4923 e.concat(m); 4924 h[0]++ 4925 } 4926 e.sigBytes = k * 4; 4927 return e 4928 } 4929 }); 4930 C.PBKDF2 = function(a, b, c) { 4931 return x.create(c).compute(a, b) 4932 } 4933 }()); 4934 (function() { 4935 var C = ba; 4936 var k = C.lib; 4937 var l = k.Base; 4938 var m = k.WordArray; 4939 var n = C.algo; 4940 var o = n.MD5; 4941 var p = n.EvpKDF = l.extend({ 4942 cfg: l.extend({ 4943 keySize: 128 / 32, 4944 hasher: o, 4945 iterations: 1 4946 }), 4947 init: function(a) { 4948 this.cfg = this.cfg.extend(a) 4949 }, 4950 compute: function(a, b) { 4951 var c; 4952 var d = this.cfg; 4953 var e = d.hasher.create(); 4954 var f = m.create(); 4955 var g = f.words; 4956 var h = d.keySize; 4957 var j = d.iterations; 4958 while (g.length < h) { 4959 if (c) { 4960 e.update(c) 4961 } 4962 c = e.update(a).finalize(b); 4963 e.reset(); 4964 for (var i = 1; i < j; i++) { 4965 c = e.finalize(c); 4966 e.reset() 4967 } 4968 f.concat(c) 4969 } 4970 f.sigBytes = h * 4; 4971 return f 4972 } 4973 }); 4974 C.EvpKDF = function(a, b, c) { 4975 return p.create(c).compute(a, b) 4976 } 4977 }()); 4978 ba.lib.Cipher || (function(h) { 4979 var C = ba; 4980 var j = C.lib; 4981 var k = j.Base; 4982 var l = j.WordArray; 4983 var m = j.BufferedBlockAlgorithm; 4984 var n = C.enc; 4985 var o = n.Utf8; 4986 var p = n.Base64; 4987 var q = C.algo; 4988 var r = q.EvpKDF; 4989 var s = j.Cipher = m.extend({ 4990 cfg: k.extend(), 4991 createEncryptor: function(a, b) { 4992 return this.create(this._ENC_XFORM_MODE, a, b) 4993 }, 4994 createDecryptor: function(a, b) { 4995 return this.create(this._DEC_XFORM_MODE, a, b) 4996 }, 4997 init: function(a, b, c) { 4998 this.cfg = this.cfg.extend(c); 4999 this._xformMode = a; 5000 this._key = b; 5001 this.reset() 5002 }, 5003 reset: function() { 5004 m.reset.call(this); 5005 this._doReset() 5006 }, 5007 process: function(a) { 5008 this._append(a); 5009 return this._process() 5010 }, 5011 finalize: function(a) { 5012 if (a) { 5013 this._append(a) 5014 } 5015 var b = this._doFinalize(); 5016 return b 5017 }, 5018 keySize: 128 / 32, 5019 ivSize: 128 / 32, 5020 _ENC_XFORM_MODE: 1, 5021 _DEC_XFORM_MODE: 2, 5022 _createHelper: (function() { 5023 function selectCipherStrategy(a) { 5024 if (typeof a == 'string') { 5025 return H 5026 } else { 5027 return E 5028 } 5029 } 5030 return function(d) { 5031 return { 5032 encrypt: function(a, b, c) { 5033 return selectCipherStrategy(b).encrypt
5033(d, a, b, c) 5034 }, 5035 decrypt: function(a, b, c) { 5036 return selectCipherStrategy(b).decrypt(d, a, b, c) 5037 } 5038 } 5039 } 5040 }()) 5041 }); 5042 var t = j.StreamCipher = s.extend({ 5043 _doFinalize: function() { 5044 var a = this._process(!!'flush'); 5045 return a 5046 }, 5047 blockSize: 1 5048 }); 5049 var u = C.mode = {}; 5050 var v = j.BlockCipherMode = k.extend({ 5051 createEncryptor: function(a, b) { 5052 return this.Encryptor.create(a, b) 5053 }, 5054 createDecryptor: function(a, b) { 5055 return this.Decryptor.create(a, b) 5056 }, 5057 init: function(a, b) { 5058 this._cipher = a; 5059 this._iv = b 5060 } 5061 }); 5062 var w = u.CBC = (function() { 5063 var f = v.extend(); 5064 f.Encryptor = f.extend({ 5065 processBlock: function(a, b) { 5066 var c = this._cipher; 5067 var d = c.blockSize; 5068 xorBlock.call(this, a, b, d); 5069 c.encryptBlock(a, b); 5070 this._prevBlock = a.slice(b, b + d) 5071 } 5072 }); 5073 f.Decryptor = f.extend({ 5074 processBlock: function(a, b) { 5075 var c = this._cipher; 5076 var d = c.blockSize; 5077 var e = a.slice(b, b + d); 5078 c.decryptBlock(a, b); 5079 xorBlock.call(this, a, b, d); 5080 this._prevBlock = e 5081 } 5082 }); 5083 function xorBlock(a, b, c) { 5084 var d; 5085 var e = this._iv; 5086 if (e) { 5087 d = e; 5088 this._iv = h 5089 } else { 5090 d = this._prevBlock 5091 } 5092 for (var i = 0; i < c; i++) { 5093 a[b + i] ^= d[i] 5094 } 5095 } 5096 return f 5097 }()); 5098 var x = C.pad = {}; 5099 var y = x.Pkcs7 = { 5100 pad: function(a, b) { 5101 var c = b * 4; 5102 var d = c - a.sigBytes % c; 5103 var e = (d << 24) | (d << 16) | (d << 8) | d; 5104 var f = []; 5105 for (var i = 0; i < d; i += 4) { 5106 f.push(e) 5107 } 5108 var g = l.create(f, d); 5109 a.concat(g) 5110 }, 5111 unpad: function(a) { 5112 var b = a.words[(a.sigBytes - 1) >>> 2] & 0xff;
vendor: 8,046 bytes, lines 5113-5329
5113 a.sigBytes -= b 5114 } 5115 }; 5116 var z = j.BlockCipher = s.extend({ 5117 cfg: s.cfg.extend({ 5118 mode: w, 5119 padding: y 5120 }), 5121 reset: function() { 5122 var a; 5123 s.reset.call(this); 5124 var b = this.cfg; 5125 var c = b.iv; 5126 var d = b.mode; 5127 if (this._xformMode == this._ENC_XFORM_MODE) { 5128 a = d.createEncryptor 5129 } else { 5130 a = d.createDecryptor; 5131 this._minBufferSize = 1 5132 } 5133 if (this._mode && this._mode.__creator == a) { 5134 this._mode.init(this, c && c.words) 5135 } else { 5136 this._mode = a.call(d, this, c && c.words); 5137 this._mode.__creator = a 5138 } 5139 }, 5140 _doProcessBlock: function(a, b) { 5141 this._mode.processBlock(a, b) 5142 }, 5143 _doFinalize: function() { 5144 var a; 5145 var b = this.cfg.padding; 5146 if (this._xformMode == this._ENC_XFORM_MODE) { 5147 b.pad(this._data, this.blockSize); 5148 a = this._process(!!'flush') 5149 } else { 5150 a = this._process(!!'flush'); 5151 b.unpad(a) 5152 } 5153 return a 5154 }, 5155 blockSize: 128 / 32 5156 }); 5157 var A = j.CipherParams = k.extend({ 5158 init: function(a) { 5159 this.mixIn(a) 5160 }, 5161 toString: function(a) { 5162 return (a || this.formatter).stringify(this) 5163 } 5164 }); 5165 var B = C.format = {}; 5166 var D = B.OpenSSL = { 5167 stringify: function(a) { 5168 var b; 5169 var c = a.ciphertext; 5170 var d = a.salt; 5171 if (d) { 5172 b = l.create([0x53616c74, 0x65645f5f]).concat(d).concat(c) 5173 } else { 5174 b = c 5175 } 5176 return b.toString(p) 5177 }, 5178 parse: function(a) { 5179 var b; 5180 var c = p.parse(a); 5181 var d = c.words; 5182 if (d[0] == 0x53616c74 && d[1] == 0x65645f5f) { 5183 b = l.create(d.slice(2, 4)); 5184 d.splice(0, 4); 5185 c.sigBytes -= 16 5186 } 5187 return A.create({ 5188 ciphertext: c, 5189 salt: b 5190 }) 5191 } 5192 }; 5193 var E = j.SerializableCipher = k.extend({ 5194 cfg: k.extend({ 5195 format: D 5196 }), 5197 encrypt: function(a, b, c, d) { 5198 d = this.cfg.extend(d); 5199 var e = a.createEncryptor(c, d); 5200 var f = e.finalize(b); 5201 var g = e.cfg; 5202 return A.create({ 5203 ciphertext: f, 5204 key: c, 5205 iv: g.iv, 5206 algorithm: a, 5207 mode: g.mode, 5208 padding: g.padding, 5209 blockSize: a.blockSize, 5210 formatter: d.format 5211 }) 5212 }, 5213 decrypt: function(a, b, c, d) { 5214 d = this.cfg.extend(d); 5215 b = this._parse(b, d.format); 5216 var e = a.createDecryptor(c, d).finalize(b.ciphertext); 5217 return e 5218 }, 5219 _parse: function(a, b) { 5220 if (typeof a == 'string') { 5221 return b.parse(a, this) 5222 } else { 5223 return a 5224 } 5225 } 5226 }); 5227 var F = C.kdf = {}; 5228 var G = F.OpenSSL = { 5229 execute: function(a, b, c, d) { 5230 if (!d) { 5231 d = l.random(64 / 8) 5232 } 5233 var e = r.create({ 5234 keySize: b + c 5235 }).compute(a, d); 5236 var f = l.create(e.words.slice(b), c * 4); 5237 e.sigBytes = b * 4; 5238 return A.create({ 5239 key: e, 5240 iv: f, 5241 salt: d 5242 }) 5243 } 5244 }; 5245 var H = j.PasswordBasedCipher = E.extend({ 5246 cfg: E.cfg.extend({ 5247 kdf: G 5248 }), 5249 encrypt: function(a, b, c, d) { 5250 d = this.cfg.extend(d); 5251 var e = d.kdf.execute(c, a.keySize, a.ivSize); 5252 d.iv = e.iv; 5253 var f = E.encrypt.call(this, a, b, e.key, d); 5254 f.mixIn(e); 5255 return f 5256 }, 5257 decrypt: function(a, b, c, d) { 5258 d = this.cfg.extend(d); 5259 b = this._parse(b, d.format); 5260 var e = d.kdf.execute(c, a.keySize, a.ivSize, b.salt); 5261 d.iv = e.iv; 5262 var f = E.decrypt.call(this, a, b, e.key, d); 5263 return f 5264 } 5265 }) 5266 }()); 5267 ba.mode.CFB = (function() { 5268 var g = ba.lib.BlockCipherMode.extend(); 5269 g.Encryptor = g.extend({ 5270 processBlock: function(a, b) { 5271 var c = this._cipher; 5272 var d = c.blockSize; 5273 generateKeystreamAndEncrypt.call(this, a, b, d, c); 5274 this._prevBlock = a.slice(b, b + d) 5275 } 5276 }); 5277 g.Decryptor = g.extend({ 5278 processBlock: function(a, b) { 5279 var c = this._cipher; 5280 var d = c.blockSize; 5281 var e = a.slice(b, b + d); 5282 generateKeystreamAndEncrypt.call(this, a, b, d, c); 5283 this._prevBlock = e 5284 } 5285 }); 5286 function generateKeystreamAndEncrypt(a, b, c, d) { 5287 var e; 5288 var f = this._iv; 5289 if (f) { 5290 e = f.slice(0); 5291 this._iv = undefined 5292 } else { 5293 e = this._prevBlock 5294 } 5295 d.encryptBlock(e, 0); 5296 for (var i = 0; i < c; i++) { 5297 a[b + i] ^= e[i] 5298 } 5299 } 5300 return g 5301 }()); 5302 ba.mode.CTR = (function() { 5303 var h = ba.lib.BlockCipherMode.extend(); 5304 var j = h.Encryptor = h.extend({ 5305 processBlock: function(a, b) { 5306 var c = this._cipher; 5307 var d = c.blockSize; 5308 var e = this._iv; 5309 var f = this._counter; 5310 if (e) { 5311 f = this._counter = e.slice(0); 5312 this._iv = undefined 5313 } 5314 var g = f.slice(0); 5315 c.encryptBlock(g, 0); 5316 f[d - 1] = (f[d - 1] + 1) | 0; 5317 for (var i = 0; i < d; i++) { 5318 a[b + i] ^= g[i] 5319 } 5320 } 5321 }); 5322 h.Decryptor = j; 5323 return h 5324 }()); 5325 ba.mode.CTRGladman = (function() { 5326 var h = ba.lib.BlockCipherMode.extend(); 5327 function incWord(a) { 5328 if (((a >> 24) & 0xff) === 0xff) { 5329 var b = (a >> 16) & 0xff;
5330 var c = (a >> 8) & 0xff; 5331 var d = a & 0xff; 5332 if (b === 0xff) { 5333 b = 0; 5334 if (c === 0xff) { 5335 c = 0; 5336 if (d === 0xff) { 5337 d = 0 5338 } else { 5339 ++d 5340 } 5341 } else { 5342 ++c 5343 } 5344 } else { 5345 ++b 5346 } 5347 a = 0; 5348 a += (b << 16); 5349 a += (c << 8); 5350 a += d 5351 } else { 5352 a += (0x01 << 24) 5353 } 5354 return a 5355 } 5356 function incCounter(a) { 5357 if ((a[0] = incWord(a[0])) === 0) { 5358 a[1] = incWord(a[1]) 5359 } 5360 return a 5361 } 5362 var j = h.Encryptor = h.extend({ 5363 processBlock: function(a, b) { 5364 var c = this._cipher; 5365 var d = c.blockSize; 5366 var e = this._iv; 5367 var f = this._counter; 5368 if (e) { 5369 f = this._counter = e.slice(0); 5370 this._iv = undefined 5371 } 5372 incCounter(f); 5373 var g = f.slice(0); 5374 c.encryptBlock(g, 0); 5375 for (var i = 0; i < d; i++) { 5376 a[b + i] ^= g[i] 5377 } 5378 } 5379 }); 5380 h.Decryptor = j; 5381 return h 5382 }()); 5383 ba.mode.OFB = (function() { 5384 var g = ba.lib.BlockCipherMode.extend(); 5385 var h = g.Encryptor = g.extend({ 5386 processBlock: function(a, b) { 5387 var c = this._cipher; 5388 var d = c.blockSize; 5389 var e = this._iv; 5390 var f = this._keystream; 5391 if (e) { 5392 f = this._keystream = e.slice(0); 5393 this._iv = undefined 5394 } 5395 c.encryptBlock(f, 0); 5396 for (var i = 0; i < d; i++) { 5397 a[b + i] ^= f[i] 5398 } 5399 } 5400 }); 5401 g.Decryptor = h; 5402 return g 5403 }()); 5404 ba.mode.ECB = (function() { 5405 var c = ba.lib.BlockCipherMode.extend(); 5406 c.Encryptor = c.extend({ 5407 processBlock: function(a, b) { 5408 this._cipher.encryptBlock(a, b) 5409 } 5410 }); 5411 c.Decryptor = c.extend({ 5412 processBlock: function(a, b) { 5413 this._cipher.decryptBlock(a, b) 5414 } 5415 }); 5416 return c 5417 }()); 5418 ba.pad.AnsiX923 = { 5419 pad: function(a, b) { 5420 var c = a.sigBytes; 5421 var d = b * 4; 5422 var e = d - c % d; 5423 var f = c + e - 1; 5424 a.clamp(); 5425 a.words[f >>> 2] |= e << (24 - (f % 4) * 8); 5426 a.sigBytes += e 5427 }, 5428 unpad: function(a) { 5429 var b = a.words[(a.sigBytes - 1) >>> 2] & 0xff;
5430 a.sigBytes -= b 5431 } 5432 }; 5433 ba.pad.Iso10126 = { 5434 pad: function(a, b) { 5435 var c = b * 4; 5436 var d = c - a.sigBytes % c; 5437 a.concat(ba.lib.WordArray.random(d - 1)).concat(ba.lib.WordArray.create([d << 24], 1)) 5438 }, 5439 unpad: function(a) { 5440 var b = a.words[(a.sigBytes - 1) >>> 2] & 0xff; 5441 a.sigBytes -= b 5442 } 5443 }; 5444 ba.pad.Iso97971 = { 5445 pad: function(a, b) { 5446 a.concat(ba.lib.WordArray.create([0x80000000], 1)); 5447 ba.pad.ZeroPadding.pad(a, b) 5448 }, 5449 unpad: function(a) { 5450 ba.pad.ZeroPadding.unpad(a); 5451 a.sigBytes-- 5452 } 5453 }; 5454 ba.pad.ZeroPadding = { 5455 pad: function(a, b) { 5456 var c = b * 4; 5457 a.clamp(); 5458 a.sigBytes += c - ((a.sigBytes % c) || c) 5459 }, 5460 unpad: function(a) { 5461 var b = a.words; 5462 var i = a.sigBytes - 1; 5463 for (var i = a.sigBytes - 1; i >= 0; i--) { 5464 if (((b[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { 5465 a.sigBytes = i + 1; 5466 break 5467 } 5468 } 5469 } 5470 }; 5471 ba.pad.NoPadding = { 5472 pad: function() {}, 5473 unpad: function() {} 5474 }; 5475 (function(c) { 5476 var C = ba; 5477 var d = C.lib; 5478 var e = d.CipherParams; 5479 var f = C.enc; 5480 var g = f.Hex; 5481 var h = C.format; 5482 var i = h.Hex = { 5483 stringify: function(a) { 5484 return a.ciphertext.toString(g) 5485 }, 5486 parse: function(a) { 5487 var b = g.parse(a); 5488 return e.create({ 5489 ciphertext: b 5490 }) 5491 } 5492 } 5493 }()); 5494 (function() { 5495 var C = ba; 5496 var s = C.lib; 5497 var u = s.BlockCipher; 5498 var v = C.algo; 5499 var w = []; 5500 var y = []; 5501 var z = []; 5502 var A = []; 5503 var B = []; 5504 var D = []; 5505 var E = []; 5506 var F = []; 5507 var G = []; 5508 var H = []; 5509 (function() { 5510 var d = []; 5511 for (var i = 0; i < 256; i++) { 5512 if (i < 128) { 5513 d[i] = i << 1 5514 } else { 5515 d[i] = (i << 1) ^ 0x11b 5516 } 5517 } 5518 var x = 0; 5519 var a = 0; 5520 for (var i = 0; i < 256; i++) { 5521 var b = a ^ (a << 1) ^ (a << 2) ^ (a << 3) ^ (a << 4); 5522 b = (b >>> 8) ^ (b & 0xff) ^ 0x63; 5523 w[x] = b; 5524 y[b] = x; 5525 var c = d[x]; 5526 var e = d[c]; 5527 var f = d[e]; 5528 var t = (d[b] * 0x101) ^ (b * 0x1010100); 5529 z[x] = (t << 24) | (t >>> 8); 5530 A[x] = (t << 16) | (t >>> 16); 5531 B[x] = (t << 8) | (t >>> 24); 5532 D[x] = t; 5533 var t = (f * 0x1010101) ^ (e * 0x10001) ^ (c * 0x101) ^ (x * 0x1010100); 5534 E[b] = (t << 24) | (t >>> 8); 5535 F[b] = (t << 16) | (t >>> 16); 5536 G[b] = (t << 8) | (t >>> 24); 5537 H[b] = t; 5538 if (!x) { 5539 x = a = 1 5540 } else { 5541 x = c ^ d[d[d[f ^ c]]]; 5542 a ^= d[d[a]] 5543 } 5544 } 5545 }()); 5546 var I = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; 5547 var J = v.AES = u.extend({ 5548 _doReset: function() { 5549 var t; 5550 if (this._nRounds && this._keyPriorReset === this._key) { 5551 return 5552 } 5553 var a = this._keyPriorReset = this._key; 5554 var b = a.words; 5555 var c = a.sigBytes / 4;
5556 var d = this._nRounds = c + 6; 5557 var e = (d + 1) * 4; 5558 var f = this._keySchedule = []; 5559 for (var g = 0; g < e; g++) { 5560 if (g < c) { 5561 f[g] = b[g] 5562 } else { 5563 t = f[g - 1]; 5564 if (!(g % c)) { 5565 t = (t << 8) | (t >>> 24); 5566 t = (w[t >>> 24] << 24) | (w[(t >>> 16) & 0xff] << 16) | (w[(t >>> 8) & 0xff] << 8) | w[t & 0xff]; 5567 t ^= I[(g / c) | 0] << 24 5568 } else if (c > 6 && g % c == 4) { 5569 t = (w[t >>> 24] << 24) | (w[(t >>> 16) & 0xff] << 16) | (w[(t >>> 8) & 0xff] << 8) | w[t & 0xff] 5570 } 5571 f[g] = f[g - c] ^ t 5572 } 5573 } 5574 var h = this._invKeySchedule = []; 5575 for (var i = 0; i < e; i++) { 5576 var g = e - i; 5577 if (i % 4) { 5578 var t = f[g] 5579 } else { 5580 var t = f[g - 4] 5581 } 5582 if (i < 4 || g <= 4) { 5583 h[i] = t 5584 } else { 5585 h[i] = E[w[t >>> 24]] ^ F[w[(t >>> 16) & 0xff]] ^ G[w[(t >>> 8) & 0xff]] ^ H[w[t & 0xff]] 5586 } 5587 } 5588 }, 5589 encryptBlock: function(M, a) { 5590 this._doCryptBlock(M, a, this._keySchedule, z, A, B, D, w) 5591 }, 5592 decryptBlock: function(M, a) { 5593 var t = M[a + 1]; 5594 M[a + 1] = M[a + 3]; 5595 M[a + 3] = t; 5596 this._doCryptBlock(M, a, this._invKeySchedule, E, F, G, H, y); 5597 var t = M[a + 1]; 5598 M[a + 1] = M[a + 3]; 5599 M[a + 3] = t 5600 }, 5601 _doCryptBlock: function(M, a, b, c, d, e, f, g) {
vendor: 14,651 bytes, lines 5602-5985
5602 var h = this._nRounds; 5603 var i = M[a] ^ b[0]; 5604 var j = M[a + 1] ^ b[1]; 5605 var k = M[a + 2] ^ b[2]; 5606 var l = M[a + 3] ^ b[3]; 5607 var m = 4; 5608 for (var n = 1; n < h; n++) { 5609 var o = c[i >>> 24] ^ d[(j >>> 16) & 0xff] ^ e[(k >>> 8) & 0xff] ^ f[l & 0xff] ^ b[m++]; 5610 var p = c[j >>> 24] ^ d[(k >>> 16) & 0xff] ^ e[(l >>> 8) & 0xff] ^ f[i & 0xff] ^ b[m++]; 5611 var q = c[k >>> 24] ^ d[(l >>> 16) & 0xff] ^ e[(i >>> 8) & 0xff] ^ f[j & 0xff] ^ b[m++]; 5612 var r = c[l >>> 24] ^ d[(i >>> 16) & 0xff] ^ e[(j >>> 8) & 0xff] ^ f[k & 0xff] ^ b[m++]; 5613 i = o; 5614 j = p; 5615 k = q; 5616 l = r 5617 } 5618 var o = ((g[i >>> 24] << 24) | (g[(j >>> 16) & 0xff] << 16) | (g[(k >>> 8) & 0xff] << 8) | g[l & 0xff]) ^ b[m++]; 5619 var p = ((g[j >>> 24] << 24) | (g[(k >>> 16) & 0xff] << 16) | (g[(l >>> 8) & 0xff] << 8) | g[i & 0xff]) ^ b[m++]; 5620 var q = ((g[k >>> 24] << 24) | (g[(l >>> 16) & 0xff] << 16) | (g[(i >>> 8) & 0xff] << 8) | g[j & 0xff]) ^ b[m++]; 5621 var r = ((g[l >>> 24] << 24) | (g[(i >>> 16) & 0xff] << 16) | (g[(j >>> 8) & 0xff] << 8) | g[k & 0xff]) ^ b[m++]; 5622 M[a] = o; 5623 M[a + 1] = p; 5624 M[a + 2] = q; 5625 M[a + 3] = r 5626 }, 5627 keySize: 256 / 32 5628 }); 5629 C.AES = u._createHelper(J) 5630 }()); 5631 (function() { 5632 var C = ba; 5633 var k = C.lib; 5634 var l = k.WordArray; 5635 var m = k.BlockCipher; 5636 var n = C.algo; 5637 var o = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4]; 5638 var p = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32]; 5639 var q = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; 5640 var r = [{ 5641 0x0: 0x808200, 5642 0x10000000: 0x8000, 5643 0x20000000: 0x808002, 5644 0x30000000: 0x2, 5645 0x40000000: 0x200, 5646 0x50000000: 0x808202, 5647 0x60000000: 0x800202, 5648 0x70000000: 0x800000, 5649 0x80000000: 0x202, 5650 0x90000000: 0x800200, 5651 0xa0000000: 0x8200, 5652 0xb0000000: 0x808000, 5653 0xc0000000: 0x8002, 5654 0xd0000000: 0x800002, 5655 0xe0000000: 0x0, 5656 0xf0000000: 0x8202, 5657 0x8000000: 0x0, 5658 0x18000000: 0x808202, 5659 0x28000000: 0x8202, 5660 0x38000000: 0x8000, 5661 0x48000000: 0x808200, 5662 0x58000000: 0x200, 5663 0x68000000: 0x808002, 5664 0x78000000: 0x2, 5665 0x88000000: 0x800200, 5666 0x98000000: 0x8200, 5667 0xa8000000: 0x808000, 5668 0xb8000000: 0x800202, 5669 0xc8000000: 0x800002, 5670 0xd8000000: 0x8002, 5671 0xe8000000: 0x202, 5672 0xf8000000: 0x800000, 5673 0x1: 0x8000, 5674 0x10000001: 0x2, 5675 0x20000001: 0x808200, 5676 0x30000001: 0x800000, 5677 0x40000001: 0x808002, 5678 0x50000001: 0x8200, 5679 0x60000001: 0x200, 5680 0x70000001: 0x800202, 5681 0x80000001: 0x808202, 5682 0x90000001: 0x808000, 5683 0xa0000001: 0x800002, 5684 0xb0000001: 0x8202, 5685 0xc0000001: 0x202, 5686 0xd0000001: 0x800200, 5687 0xe0000001: 0x8002, 5688 0xf0000001: 0x0, 5689 0x8000001: 0x808202, 5690 0x18000001: 0x808000, 5691 0x28000001: 0x800000, 5692 0x38000001: 0x200, 5693 0x48000001: 0x8000, 5694 0x58000001: 0x800002, 5695 0x68000001: 0x2, 5696 0x78000001: 0x8202, 5697 0x88000001: 0x8002, 5698 0x98000001: 0x800202, 5699 0xa8000001: 0x202, 5700 0xb8000001: 0x808200, 5701 0xc8000001: 0x800200, 5702 0xd8000001: 0x0, 5703 0xe8000001: 0x8200, 5704 0xf8000001: 0x808002 5705 }, { 5706 0x0: 0x40084010, 5707 0x1000000: 0x4000, 5708 0x2000000: 0x80000, 5709 0x3000000: 0x40080010, 5710 0x4000000: 0x40000010, 5711 0x5000000: 0x40084000, 5712 0x6000000: 0x40004000, 5713 0x7000000: 0x10, 5714 0x8000000: 0x84000, 5715 0x9000000: 0x40004010, 5716 0xa000000: 0x40000000, 5717 0xb000000: 0x84010, 5718 0xc000000: 0x80010, 5719 0xd000000: 0x0, 5720 0xe000000: 0x4010, 5721 0xf000000: 0x40080000, 5722 0x800000: 0x40004000, 5723 0x1800000: 0x84010, 5724 0x2800000: 0x10, 5725 0x3800000: 0x40004010, 5726 0x4800000: 0x40084010, 5727 0x5800000: 0x40000000, 5728 0x6800000: 0x80000, 5729 0x7800000: 0x40080010, 5730 0x8800000: 0x80010, 5731 0x9800000: 0x0, 5732 0xa800000: 0x4000, 5733 0xb800000: 0x40080000, 5734 0xc800000: 0x40000010, 5735 0xd800000: 0x84000, 5736 0xe800000: 0x40084000, 5737 0xf800000: 0x4010, 5738 0x10000000: 0x0, 5739 0x11000000: 0x40080010, 5740 0x12000000: 0x40004010, 5741 0x13000000: 0x40084000, 5742 0x14000000: 0x40080000, 5743 0x15000000: 0x10, 5744 0x16000000: 0x84010, 5745 0x17000000: 0x4000, 5746 0x18000000: 0x4010, 5747 0x19000000: 0x80000, 5748 0x1a000000: 0x80010, 5749 0x1b000000: 0x40000010, 5750 0x1c000000: 0x84000, 5751 0x1d000000: 0x40004000, 5752 0x1e000000: 0x40000000, 5753 0x1f000000: 0x40084010, 5754 0x10800000: 0x84010, 5755 0x11800000: 0x80000, 5756 0x12800000: 0x40080000, 5757 0x13800000: 0x4000, 5758 0x14800000: 0x40004000, 5759 0x15800000: 0x40084010, 5760 0x16800000: 0x10, 5761 0x17800000: 0x40000000, 5762 0x18800000: 0x40084000, 5763 0x19800000: 0x40000010, 5764 0x1a800000: 0x40004010, 5765 0x1b800000: 0x80010, 5766 0x1c800000: 0x0, 5767 0x1d800000: 0x4010, 5768 0x1e800000: 0x40080010, 5769 0x1f800000: 0x84000 5770 }, { 5771 0x0: 0x104, 5772 0x100000: 0x0, 5773 0x200000: 0x4000100, 5774 0x300000: 0x10104, 5775 0x400000: 0x10004, 5776 0x500000: 0x4000004, 5777 0x600000: 0x4010104, 5778 0x700000: 0x4010000, 5779 0x800000: 0x4000000, 5780 0x900000: 0x4010100, 5781 0xa00000: 0x10100, 5782 0xb00000: 0x4010004, 5783 0xc00000: 0x4000104, 5784 0xd00000: 0x10000, 5785 0xe00000: 0x4, 5786 0xf00000: 0x100, 5787 0x80000: 0x4010100, 5788 0x180000: 0x4010004, 5789 0x280000: 0x0, 5790 0x380000: 0x4000100, 5791 0x480000: 0x4000004, 5792 0x580000: 0x10000, 5793 0x680000: 0x10004, 5794 0x780000: 0x104, 5795 0x880000: 0x4, 5796 0x980000: 0x100, 5797 0xa80000: 0x4010000, 5798 0xb80000: 0x10104, 5799 0xc80000: 0x10100, 5800 0xd80000: 0x4000104, 5801 0xe80000: 0x4010104, 5802 0xf80000: 0x4000000, 5803 0x1000000: 0x4010100, 5804 0x1100000: 0x10004, 5805 0x1200000: 0x10000, 5806 0x1300000: 0x4000100, 5807 0x1400000: 0x100, 5808 0x1500000: 0x4010104, 5809 0x1600000: 0x4000004, 5810 0x1700000: 0x0, 5811 0x1800000: 0x4000104, 5812 0x1900000: 0x4000000, 5813 0x1a00000: 0x4, 5814 0x1b00000: 0x10100, 5815 0x1c00000: 0x4010000, 5816 0x1d00000: 0x104, 5817 0x1e00000: 0x10104, 5818 0x1f00000: 0x4010004, 5819 0x1080000: 0x4000000, 5820 0x1180000: 0x104, 5821 0x1280000: 0x4010100, 5822 0x1380000: 0x0, 5823 0x1480000: 0x10004, 5824 0x1580000: 0x4000100, 5825 0x1680000: 0x100, 5826 0x1780000: 0x4010004, 5827 0x1880000: 0x10000, 5828 0x1980000: 0x4010104, 5829 0x1a80000: 0x10104, 5830 0x1b80000: 0x4000004, 5831 0x1c80000: 0x4000104, 5832 0x1d80000: 0x4010000, 5833 0x1e80000: 0x4, 5834 0x1f80000: 0x10100 5835 }, { 5836 0x0: 0x80401000, 5837 0x10000: 0x80001040, 5838 0x20000: 0x401040, 5839 0x30000: 0x80400000, 5840 0x40000: 0x0, 5841 0x50000: 0x401000, 5842 0x60000: 0x80000040, 5843 0x70000: 0x400040, 5844 0x80000: 0x80000000, 5845 0x90000: 0x400000, 5846 0xa0000: 0x40, 5847 0xb0000: 0x80001000, 5848 0xc0000: 0x80400040, 5849 0xd0000: 0x1040, 5850 0xe0000: 0x1000, 5851 0xf0000: 0x80401040, 5852 0x8000: 0x80001040, 5853 0x18000: 0x40, 5854 0x28000: 0x80400040, 5855 0x38000: 0x80001000, 5856 0x48000: 0x401000, 5857 0x58000: 0x80401040, 5858 0x68000: 0x0, 5859 0x78000: 0x80400000, 5860 0x88000: 0x1000, 5861 0x98000: 0x80401000, 5862 0xa8000: 0x400000, 5863 0xb8000: 0x1040, 5864 0xc8000: 0x80000000, 5865 0xd8000: 0x400040, 5866 0xe8000: 0x401040, 5867 0xf8000: 0x80000040, 5868 0x100000: 0x400040, 5869 0x110000: 0x401000, 5870 0x120000: 0x80000040, 5871 0x130000: 0x0, 5872 0x140000: 0x1040, 5873 0x150000: 0x80400040, 5874 0x160000: 0x80401000, 5875 0x170000: 0x80001040, 5876 0x180000: 0x80401040, 5877 0x190000: 0x80000000, 5878 0x1a0000: 0x80400000, 5879 0x1b0000: 0x401040, 5880 0x1c0000: 0x80001000, 5881 0x1d0000: 0x400000, 5882 0x1e0000: 0x40, 5883 0x1f0000: 0x1000, 5884 0x108000: 0x80400000, 5885 0x118000: 0x80401040, 5886 0x128000: 0x0, 5887 0x138000: 0x401000, 5888 0x148000: 0x400040, 5889 0x158000: 0x80000000, 5890 0x168000: 0x80001040, 5891 0x178000: 0x40, 5892 0x188000: 0x80000040, 5893 0x198000: 0x1000, 5894 0x1a8000: 0x80001000, 5895 0x1b8000: 0x80400040, 5896 0x1c8000: 0x1040, 5897 0x1d8000: 0x80401000, 5898 0x1e8000: 0x400000, 5899 0x1f8000: 0x401040 5900 }, { 5901 0x0: 0x80, 5902 0x1000: 0x1040000, 5903 0x2000: 0x40000, 5904 0x3000: 0x20000000, 5905 0x4000: 0x20040080, 5906 0x5000: 0x1000080, 5907 0x6000: 0x21000080, 5908 0x7000: 0x40080, 5909 0x8000: 0x1000000, 5910 0x9000: 0x20040000, 5911 0xa000: 0x20000080, 5912 0xb000: 0x21040080, 5913 0xc000: 0x21040000, 5914 0xd000: 0x0, 5915 0xe000: 0x1040080, 5916 0xf000: 0x21000000, 5917 0x800: 0x1040080, 5918 0x1800: 0x21000080, 5919 0x2800: 0x80, 5920 0x3800: 0x1040000, 5921 0x4800: 0x40000, 5922 0x5800: 0x20040080, 5923 0x6800: 0x21040000, 5924 0x7800: 0x20000000, 5925 0x8800: 0x20040000, 5926 0x9800: 0x0, 5927 0xa800: 0x21040080, 5928 0xb800: 0x1000080, 5929 0xc800: 0x20000080, 5930 0xd800: 0x21000000, 5931 0xe800: 0x1000000, 5932 0xf800: 0x40080, 5933 0x10000: 0x40000, 5934 0x11000: 0x80, 5935 0x12000: 0x20000000, 5936 0x13000: 0x21000080, 5937 0x14000: 0x1000080, 5938 0x15000: 0x21040000, 5939 0x16000: 0x20040080, 5940 0x17000: 0x1000000, 5941 0x18000: 0x21040080, 5942 0x19000: 0x21000000, 5943 0x1a000: 0x1040000, 5944 0x1b000: 0x20040000, 5945 0x1c000: 0x40080, 5946 0x1d000: 0x20000080, 5947 0x1e000: 0x0, 5948 0x1f000: 0x1040080, 5949 0x10800: 0x21000080, 5950 0x11800: 0x1000000, 5951 0x12800: 0x1040000, 5952 0x13800: 0x20040080, 5953 0x14800: 0x20000000, 5954 0x15800: 0x1040080, 5955 0x16800: 0x80, 5956 0x17800: 0x21040000, 5957 0x18800: 0x40080, 5958 0x19800: 0x21040080, 5959 0x1a800: 0x0, 5960 0x1b800: 0x21000000, 5961 0x1c800: 0x1000080, 5962 0x1d800: 0x40000, 5963 0x1e800: 0x20040000, 5964 0x1f800: 0x20000080 5965 }, { 5966 0x0: 0x10000008, 5967 0x100: 0x2000, 5968 0x200: 0x10200000, 5969 0x300: 0x10202008, 5970 0x400: 0x10002000, 5971 0x500: 0x200000, 5972 0x600: 0x200008, 5973 0x700: 0x10000000, 5974 0x800: 0x0, 5975 0x900: 0x10002008, 5976 0xa00: 0x202000, 5977 0xb00: 0x8, 5978 0xc00: 0x10200008, 5979 0xd00: 0x202008, 5980 0xe00: 0x2008, 5981 0xf00: 0x10202000, 5982 0x80: 0x10200000, 5983 0x180: 0x10202008, 5984 0x280: 0x8, 5985 0x380: 0x200000,
5986 0x480: 0x202008, 5987 0x580: 0x10000008, 5988 0x680: 0x10002000, 5989 0x780: 0x2008, 5990 0x880: 0x200008, 5991 0x980: 0x2000, 5992 0xa80: 0x10002008, 5993 0xb80: 0x10200008, 5994 0xc80: 0x0, 5995 0xd80: 0x10202000, 5996 0xe80: 0x202000, 5997 0xf80: 0x10000000, 5998 0x1000: 0x10002000, 5999 0x1100: 0x10200008, 6000 0x1200: 0x10202008, 6001 0x1300: 0x2008, 6002 0x1400: 0x200000, 6003 0x1500: 0x10000000, 6004 0x1600: 0x10000008, 6005 0x1700: 0x202000, 6006 0x1800: 0x202008, 6007 0x1900: 0x0, 6008 0x1a00: 0x8, 6009 0x1b00: 0x10200000, 6010 0x1c00: 0x2000, 6011 0x1d00: 0x10002008, 6012 0x1e00: 0x10202000, 6013 0x1f00: 0x200008, 6014 0x1080: 0x8, 6015 0x1180: 0x202000, 6016 0x1280: 0x200000, 6017 0x1380: 0x10000008, 6018 0x1480: 0x10002000, 6019 0x1580: 0x2008, 6020 0x1680: 0x10202008, 6021 0x1780: 0x10200000, 6022 0x1880: 0x10202000, 6023 0x1980: 0x10200008, 6024 0x1a80: 0x2000, 6025 0x1b80: 0x202008, 6026 0x1c80: 0x200008, 6027 0x1d80: 0x0, 6028 0x1e80: 0x10000000, 6029 0x1f80: 0x10002008 6030 }, { 6031 0x0: 0x100000, 6032 0x10: 0x2000401, 6033 0x20: 0x400, 6034 0x30: 0x100401, 6035 0x40: 0x2100401, 6036 0x50: 0x0, 6037 0x60: 0x1, 6038 0x70: 0x2100001, 6039 0x80: 0x2000400, 6040 0x90: 0x100001, 6041 0xa0: 0x2000001, 6042 0xb0: 0x2100400, 6043 0xc0: 0x2100000, 6044 0xd0: 0x401, 6045 0xe0: 0x100400, 6046 0xf0: 0x2000000, 6047 0x8: 0x2100001, 6048 0x18: 0x0, 6049 0x28: 0x2000401, 6050 0x38: 0x2100400, 6051 0x48: 0x100000, 6052 0x58: 0x2000001, 6053 0x68: 0x2000000, 6054 0x78: 0x401, 6055 0x88: 0x100401, 6056 0x98: 0x2000400, 6057 0xa8: 0x2100000, 6058 0xb8: 0x100001, 6059 0xc8: 0x400, 6060 0xd8: 0x2100401, 6061 0xe8: 0x1, 6062 0xf8: 0x100400, 6063 0x100: 0x2000000, 6064 0x110: 0x100000, 6065 0x120: 0x2000401, 6066 0x130: 0x2100001, 6067 0x140: 0x100001, 6068 0x150: 0x2000400, 6069 0x160: 0x2100400, 6070 0x170: 0x100401, 6071 0x180: 0x401, 6072 0x190: 0x2100401, 6073 0x1a0: 0x100400, 6074 0x1b0: 0x1, 6075 0x1c0: 0x0, 6076 0x1d0: 0x2100000, 6077 0x1e0: 0x2000001, 6078 0x1f0: 0x400, 6079 0x108: 0x100400, 6080 0x118: 0x2000401, 6081 0x128: 0x2100001, 6082 0x138: 0x1, 6083 0x148: 0x2000000, 6084 0x158: 0x100000, 6085 0x168: 0x401, 6086 0x178: 0x2100400, 6087 0x188: 0x2000001, 6088 0x198: 0x2100000, 6089 0x1a8: 0x0, 6090 0x1b8: 0x2100401, 6091 0x1c8: 0x100401, 6092 0x1d8: 0x400, 6093 0x1e8: 0x2000400, 6094 0x1f8: 0x100001 6095 }, { 6096 0x0: 0x8000820, 6097 0x1: 0x20000, 6098 0x2: 0x8000000, 6099 0x3: 0x20, 6100 0x4: 0x20020, 6101 0x5: 0x8020820, 6102 0x6: 0x8020800, 6103 0x7: 0x800, 6104 0x8: 0x8020000, 6105 0x9: 0x8000800, 6106 0xa: 0x20800, 6107 0xb: 0x8020020, 6108 0xc: 0x820, 6109 0xd: 0x0, 6110 0xe: 0x8000020, 6111 0xf: 0x20820, 6112 0x80000000: 0x800, 6113 0x80000001: 0x8020820, 6114 0x80000002: 0x8000820, 6115 0x80000003: 0x8000000, 6116 0x80000004: 0x8020000, 6117 0x80000005: 0x20800, 6118 0x80000006: 0x20820, 6119 0x80000007: 0x20, 6120 0x80000008: 0x8000020, 6121 0x80000009: 0x820, 6122 0x8000000a: 0x20020, 6123 0x8000000b: 0x8020800, 6124 0x8000000c: 0x0, 6125 0x8000000d: 0x8020020, 6126 0x8000000e: 0x8000800, 6127 0x8000000f: 0x20000, 6128 0x10: 0x20820, 6129 0x11: 0x8020800, 6130 0x12: 0x20, 6131 0x13: 0x800, 6132 0x14: 0x8000800, 6133 0x15: 0x8000020, 6134 0x16: 0x8020020, 6135 0x17: 0x20000, 6136 0x18: 0x0, 6137 0x19: 0x20020, 6138 0x1a: 0x8020000, 6139 0x1b: 0x8000820, 6140 0x1c: 0x8020820,
6141 0x1d: 0x20800, 6142 0x1e: 0x820, 6143 0x1f: 0x8000000, 6144 0x80000010: 0x20000, 6145 0x80000011: 0x800, 6146 0x80000012: 0x8020020, 6147 0x80000013: 0x20820, 6148 0x80000014: 0x20, 6149 0x80000015: 0x8020000, 6150 0x80000016: 0x8000000, 6151 0x80000017: 0x8000820, 6152 0x80000018: 0x8020820, 6153 0x80000019: 0x8000020, 6154 0x8000001a: 0x8000800, 6155 0x8000001b: 0x0, 6156 0x8000001c: 0x20800, 6157 0x8000001d: 0x820, 6158 0x8000001e: 0x20020, 6159 0x8000001f: 0x8020800 6160 }]; 6161 var s = [0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f]; 6162 var u = n.DES = m.extend({ 6163 _doReset: function() { 6164 var a = this._key; 6165 var b = a.words; 6166 var c = []; 6167 for (var i = 0; i < 56; i++) { 6168 var d = o[i] - 1; 6169 c[i] = (b[d >>> 5] >>> (31 - d % 32)) & 1 6170 } 6171 var e = this._subKeys = []; 6172 for (var f = 0; f < 16; f++) { 6173 var g = e[f] = []; 6174 var h = q[f]; 6175 for (var i = 0; i < 24; i++) { 6176 g[(i / 6) | 0] |= c[((p[i] - 1) + h) % 28] << (31 - i % 6); 6177 g[4 + ((i / 6) | 0)] |= c[28 + (((p[i + 24] - 1) + h) % 28)] << (31 - i % 6) 6178 } 6179 g[0] = (g[0] << 1) | (g[0] >>> 31); 6180 for (var i = 1; i < 7; i++) { 6181 g[i] = g[i] >>> ((i - 1) * 4 + 3) 6182 } 6183 g[7] = (g[7] << 5) | (g[7] >>> 27) 6184 } 6185 var j = this._invSubKeys = []; 6186 for (var i = 0; i < 16; i++) { 6187 j[i] = e[15 - i] 6188 } 6189 }, 6190 encryptBlock: function(M, a) { 6191 this._doCryptBlock(M, a, this._subKeys) 6192 }, 6193 decryptBlock: function(M, a) { 6194 this._doCryptBlock(M, a, this._invSubKeys) 6195 }, 6196 _doCryptBlock: function(M, a, b) { 6197 this._lBlock = M[a]; 6198 this._rBlock = M[a + 1]; 6199 exchangeLR.call(this, 4, 0x0f0f0f0f); 6200 exchangeLR.call(this, 16, 0x0000ffff); 6201 exchangeRL.call(this, 2, 0x33333333); 6202 exchangeRL.call(this, 8, 0x00ff00ff); 6203 exchangeLR.call(this, 1, 0x55555555); 6204 for (var c = 0; c < 16; c++) { 6205 var d = b[c]; 6206 var e = this._lBlock; 6207 var g = this._rBlock; 6208 var f = 0; 6209 for (var i = 0; i < 8; i++) { 6210 f |= r[i][((g ^ d[i]) & s[i]) >>> 0] 6211 } 6212 this._lBlock = g; 6213 this._rBlock = e ^ f 6214 } 6215 var t = this._lBlock; 6216 this._lBlock = this._rBlock; 6217 this._rBlock = t; 6218 exchangeLR.call(this, 1, 0x55555555); 6219 exchangeRL.call(this, 8, 0x00ff00ff); 6220 exchangeRL.call(this, 2, 0x33333333); 6221 exchangeLR.call(this, 16, 0x0000ffff); 6222 exchangeLR.call(this, 4, 0x0f0f0f0f); 6223 M[a] = this._lBlock; 6224 M[a + 1] = this._rBlock 6225 }, 6226 keySize: 64 / 32, 6227 ivSize: 64 / 32, 6228 blockSize: 64 / 32 6229 }); 6230 function exchangeLR(a, b) { 6231 var t = ((this._lBlock >>> a) ^ this._rBlock) & b; 6232 this._rBlock ^= t; 6233 this._lBlock ^= t << a 6234 } 6235 function exchangeRL(a, b) { 6236 var t = ((this._rBlock >>> a) ^ this._lBlock) & b; 6237 this._lBlock ^= t; 6238 this._rBlock ^= t << a 6239 } 6240 C.DES = m._createHelper(u); 6241 var v = n.TripleDES = m.extend({ 6242 _doReset: function() { 6243 var a = this._key; 6244 var b = a.words; 6245 if (b.length !== 2 && b.length !== 4 && b.length < 6) { 6246 throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.'); 6247 } 6248 var c = b.slice(0, 2); 6249 var d = b.length < 4 ? b.slice(0, 2) : b.slice(2, 4); 6250 var e = b.length < 6 ? b.slice(0, 2) : b.slice(4, 6); 6251 this._des1 = u.createEncryptor(l.create(c)); 6252 this._des2 = u.createEncryptor(l.create(d)); 6253 this._des3 = u.createEncryptor(l.create(e)) 6254 }, 6255 encryptBlock: function(M, a) { 6256 this._des1.encryptBlock(M, a); 6257 this._des2.decryptBlock(M, a); 6258 this._des3.encryptBlock(M, a) 6259 }, 6260 decryptBlock: function(M, a) { 6261 this._des3.decryptBlock(M, a); 6262 this._des2.encryptBlock(M, a); 6263 this._des1.decryptBlock(M, a) 6264 }, 6265 keySize: 192 / 32, 6266 ivSize: 64 / 32, 6267 blockSize: 64 / 32 6268 }); 6269 C.TripleDES = m._createHelper(v) 6270 }()); 6271 (function() { 6272 var C = ba; 6273 var f = C.lib; 6274 var g = f.StreamCipher; 6275 var h = C.algo; 6276 var k = h.RC4 = g.extend({ 6277 _doReset: function() { 6278 var a = this._key; 6279 var b = a.words; 6280 var c = a.sigBytes; 6281 var S = this._S = []; 6282 for (var i = 0; i < 256; i++) { 6283 S[i] = i 6284 } 6285 for (var i = 0, j = 0; i < 256; i++) { 6286 var d = i % c; 6287 var e = (b[d >>> 2] >>> (24 - (d % 4) * 8)) & 0xff;
6288 j = (j + S[i] + e) % 256; 6289 var t = S[i]; 6290 S[i] = S[j]; 6291 S[j] = t 6292 } 6293 this._i = this._j = 0 6294 }, 6295 _doProcessBlock: function(M, a) { 6296 M[a] ^= generateKeystreamWord.call(this) 6297 }, 6298 keySize: 256 / 32, 6299 ivSize: 0 6300 }); 6301 function generateKeystreamWord() { 6302 var S = this._S; 6303 var i = this._i; 6304 var j = this._j; 6305 var a = 0; 6306 for (var n = 0; n < 4; n++) { 6307 i = (i + 1) % 256; 6308 j = (j + S[i]) % 256; 6309 var t = S[i]; 6310 S[i] = S[j]; 6311 S[j] = t; 6312 a |= S[(S[i] + S[j]) % 256] << (24 - n * 8) 6313 } 6314 this._i = i; 6315 this._j = j; 6316 return a 6317 } 6318 C.RC4 = g._createHelper(k); 6319 var l = h.RC4Drop = k.extend({ 6320 cfg: k.cfg.extend({ 6321 drop: 192 6322 }), 6323 _doReset: function() { 6324 k._doReset.call(this); 6325 for (var i = this.cfg.drop; i > 0; i--) { 6326 generateKeystreamWord.call(this) 6327 } 6328 } 6329 }); 6330 C.RC4Drop = g._createHelper(l) 6331 }()); 6332 (function() { 6333 var C = ba; 6334 var j = C.lib; 6335 var k = j.StreamCipher; 6336 var l = C.algo; 6337 var S = []; 6338 var m = []; 6339 var G = []; 6340 var n = l.Rabbit = k.extend({ 6341 _doReset: function() { 6342 var K = this._key.words; 6343 var a = this.cfg.iv; 6344 for (var i = 0; i < 4; i++) { 6345 K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00) 6346 } 6347 var X = this._X = [K[0], (K[3] << 16) | (K[2] >>> 16), K[1], (K[0] << 16) | (K[3] >>> 16), K[2], (K[1] << 16) | (K[0] >>> 16), K[3], (K[2] << 16) | (K[1] >>> 16)]; 6348 var C = this._C = [(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)]; 6349 this._b = 0; 6350 for (var i = 0; i < 4; i++) { 6351 nextState.call(this) 6352 } 6353 for (var i = 0; i < 8; i++) { 6354 C[i] ^= X[(i + 4) & 7] 6355 } 6356 if (a) { 6357 var b = a.words; 6358 var c = b[0]; 6359 var d = b[1]; 6360 var e = (((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00); 6361 var f = (((d << 8) | (d >>> 24)) & 0x00ff00ff) | (((d << 24) | (d >>> 8)) & 0xff00ff00); 6362 var g = (e >>> 16) | (f & 0xffff0000); 6363 var h = (f << 16) | (e & 0x0000ffff); 6364 C[0] ^= e; 6365 C[1] ^= g; 6366 C[2] ^= f; 6367 C[3] ^= h; 6368 C[4] ^= e; 6369 C[5] ^= g; 6370 C[6] ^= f; 6371 C[7] ^= h; 6372 for (var i = 0; i < 4; i++) { 6373 nextState.call(this) 6374 } 6375 } 6376 }, 6377 _doProcessBlock: function(M, a) { 6378 var X = this._X; 6379 nextState.call(this); 6380 S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); 6381 S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); 6382 S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); 6383 S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); 6384 for (var i = 0; i < 4; i++) { 6385 S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); 6386 M[a + i] ^= S[i] 6387 } 6388 }, 6389 blockSize: 128 / 32, 6390 ivSize: 64 / 32 6391 }); 6392 function nextState() { 6393 var X = this._X; 6394 var C = this._C; 6395 for (var i = 0; i < 8; i++) { 6396 m[i] = C[i] 6397 }
vendor: 4,921 bytes, lines 6398-6488
6398 C[0] = (C[0] + 0x4d34d34d + this._b) | 0; 6399 C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (m[0] >>> 0) ? 1 : 0)) | 0; 6400 C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (m[1] >>> 0) ? 1 : 0)) | 0; 6401 C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (m[2] >>> 0) ? 1 : 0)) | 0; 6402 C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (m[3] >>> 0) ? 1 : 0)) | 0; 6403 C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (m[4] >>> 0) ? 1 : 0)) | 0; 6404 C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (m[5] >>> 0) ? 1 : 0)) | 0; 6405 C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (m[6] >>> 0) ? 1 : 0)) | 0; 6406 this._b = (C[7] >>> 0) < (m[7] >>> 0) ? 1 : 0; 6407 for (var i = 0; i < 8; i++) { 6408 var a = X[i] + C[i]; 6409 var b = a & 0xffff; 6410 var c = a >>> 16; 6411 var d = ((((b * b) >>> 17) + b * c) >>> 15) + c * c; 6412 var e = (((a & 0xffff0000) * a) | 0) + (((a & 0x0000ffff) * a) | 0); 6413 G[i] = d ^ e 6414 } 6415 X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; 6416 X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; 6417 X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; 6418 X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; 6419 X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; 6420 X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; 6421 X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; 6422 X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0 6423 } 6424 C.Rabbit = k._createHelper(n) 6425 }()); 6426 (function() { 6427 var C = ba; 6428 var j = C.lib; 6429 var k = j.StreamCipher; 6430 var l = C.algo; 6431 var S = []; 6432 var m = []; 6433 var G = []; 6434 var n = l.RabbitLegacy = k.extend({ 6435 _doReset: function() { 6436 var K = this._key.words; 6437 var a = this.cfg.iv; 6438 var X = this._X = [K[0], (K[3] << 16) | (K[2] >>> 16), K[1], (K[0] << 16) | (K[3] >>> 16), K[2], (K[1] << 16) | (K[0] >>> 16), K[3], (K[2] << 16) | (K[1] >>> 16)]; 6439 var C = this._C = [(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)]; 6440 this._b = 0; 6441 for (var i = 0; i < 4; i++) { 6442 nextState.call(this) 6443 } 6444 for (var i = 0; i < 8; i++) { 6445 C[i] ^= X[(i + 4) & 7] 6446 } 6447 if (a) { 6448 var b = a.words; 6449 var c = b[0]; 6450 var d = b[1]; 6451 var e = (((c << 8) | (c >>> 24)) & 0x00ff00ff) | (((c << 24) | (c >>> 8)) & 0xff00ff00); 6452 var f = (((d << 8) | (d >>> 24)) & 0x00ff00ff) | (((d << 24) | (d >>> 8)) & 0xff00ff00); 6453 var g = (e >>> 16) | (f & 0xffff0000); 6454 var h = (f << 16) | (e & 0x0000ffff); 6455 C[0] ^= e; 6456 C[1] ^= g; 6457 C[2] ^= f; 6458 C[3] ^= h; 6459 C[4] ^= e; 6460 C[5] ^= g; 6461 C[6] ^= f; 6462 C[7] ^= h; 6463 for (var i = 0; i < 4; i++) { 6464 nextState.call(this) 6465 } 6466 } 6467 }, 6468 _doProcessBlock: function(M, a) { 6469 var X = this._X; 6470 nextState.call(this); 6471 S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); 6472 S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); 6473 S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); 6474 S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); 6475 for (var i = 0; i < 4; i++) { 6476 S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); 6477 M[a + i] ^= S[i] 6478 } 6479 }, 6480 blockSize: 128 / 32, 6481 ivSize: 64 / 32 6482 }); 6483 function nextState() { 6484 var X = this._X; 6485 var C = this._C; 6486 for (var i = 0; i < 8; i++) { 6487 m[i] = C[i] 6488 }
6489 C[0] = (C[0] + 0x4d34d34d + this._b) | 0; 6490 C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (m[0] >>> 0) ? 1 : 0)) | 0; 6491 C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (m[1] >>> 0) ? 1 : 0)) | 0; 6492 C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (m[2] >>> 0) ? 1 : 0)) | 0; 6493 C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (m[3] >>> 0) ? 1 : 0)) | 0; 6494 C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (m[4] >>> 0) ? 1 : 0)) | 0; 6495 C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (m[5] >>> 0) ? 1 : 0)) | 0; 6496 C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (m[6] >>> 0) ? 1 : 0)) | 0; 6497 this._b = (C[7] >>> 0) < (m[7] >>> 0) ? 1 : 0; 6498 for (var i = 0; i < 8; i++) { 6499 var a = X[i] + C[i]; 6500 var b = a & 0xffff; 6501 var c = a >>> 16; 6502 var d = ((((b * b) >>> 17) + b * c) >>> 15) + c * c; 6503 var e = (((a & 0xffff0000) * a) | 0) + (((a & 0x0000ffff) * a) | 0); 6504 G[i] = d ^ e 6505 } 6506 X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; 6507 X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; 6508 X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; 6509 X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; 6510 X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; 6511 X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; 6512 X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; 6513 X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0 6514 } 6515 C.RabbitLegacy = k._createHelper(n) 6516 }()); 6517 return ba 6518 }, 6519 function (el, observer, cryptojs, fetchjs) { 6520 // 1. åå§åæ° 6521 const __this = el; 6522 const imglink = (__this.getAttribute('z-image-loader-url') || __this.getAttribute('x-image-loader-url'))?.replace(/[`'"]/g, ''); 6523 const preview = __this.getAttribute('data-image-preview') ? true : false; 6524 const noloads = __this.getAttribute('data-no-loading') ? true : false; 6525 if (!imglink) { 6526 return; 6527 } 6528 const imgtype = imglink.split('.').pop(); 6529 const decryptjs = function(word, cryjs) { 6530 const cc = (e, o=true) => o ? (cryjs.enc.Utf8.parse(e.split("_").map( (a) => String.fromCharCode(parseInt(a))).join(""))) : (e.split("_").map( (a) => String.fromCharCode(parseInt(a))).join("")); 6531 const decrypt = cryjs.AES.decrypt(word, cc("102_53_100_57_54_53_100_102_55_53_51_51_54_50_55_48"), { 6532 iv: cc("57_55_98_54_48_51_57_52_97_98_99_50_102_98_101_49"), 6533 mode: cryjs.mode["CBC"], 6534 padding: cryjs.pad.Pkcs7 6535 }); 6536 const decryptedStr = decrypt.toString(cryjs.enc.Base64); 6537 return decryptedStr 6538 }; 6539 6540 // 2. åå§å è½½ 6541 if (!noloads) { 6542 __this.classList.add('loading'); 6543 } 6544 6545 // 1. è·åå¾ç(äºè¿å¶) 6546 fetchjs(imglink, { timeout: 1000 * 30 }).then(response => response.blob()) 6547 6548 // 2. å¾çè§£å¯ 6549 .then((blob) => { 6550 return new Promise((resolve, reject) => { 6551 const fileReader = new FileReader(); 6552 try { 6553 fileReader.readAsDataURL(blob); 6554 fileReader.onload = ({ target: { result: ebase64Image } }) => { 6555 resolve(`${decryptjs(ebase64Image.split(',').pop(), cryptojs())}`); 6556 }; 6557 } catch (error) { 6558 reject(error); 6559 } 6560 }); 6561 }) 6562 6563 // 3. çå¬äºä»¶ 6564 .then((base64Image) => { 6565 let byteImage = new Uint8Array(atob(base64Image).split('').map((c) => c.charCodeAt(0))); 6566 let blobImage = new Blob([byteImage], { type: `image/${imgtype}` }); 6567 let localImage = URL.createObjectURL(blobImage); 6568 6569 // å¾çæµè§ 6570 // preview && __this.addEventListener("click", function () { 6571 // showImagePreview({ 6572 // images: [localImage], closeable: true, showIndex: fal
vendor: 11,076 bytes, lines 6572-6604
6572se 6573 // }); 6574 // }); 6575 6576 // å¾çå è½½ 6577 __this.setAttribute("load", "success"); 6578 __this.setAttribute('src', `${localImage}`); 6579 __this.onload = () => { 6580 __this.setAttribute("w", __this.naturalWidth); 6581 __this.setAttribute("h", __this.naturalHeight); 6582 __this.classList.remove('loading'); 6583 6584 // åæ¢è§¦å 6585 observer.unobserve(el); 6586 }; 6587 6588 __this.onerror = (err) => { 6589 console.error('å¾çè·å失败:', err); 6590 }; 6591 }) 6592 6593 // 4. å¼å¸¸å¤ç 6594 .catch((err) => { 6595 !noloads && __this.setAttribute('src', err) && __this.setAttribute('class', (__this.getAttribute('class')).split(" loading").join("")); 6596 console.error('å¾çè·å失败2:', err); 6597 }) 6598 6599 .finally(() => { 6600 // äºä»¶è¡¥å 6601 }) 6602 }, 6603 6604 (function(j){'use strict';var k=(typeof globalThis!=='undefined'&&globalThis)||(typeof self!=='undefined'&&self)||(typeof k!=='undefined'&&k);var l={searchParams:'URLSearchParams'in k,iterable:'Symbol'in k&&'iterator'in Symbol,blob:'FileReader'in k&&'Blob'in k&&(function(){try{new Blob();return true}catch(e){return false}})(),formData:'FormData'in k,arrayBuffer:'ArrayBuffer'in k};function isDataView(a){return a&&DataView.prototype.isPrototypeOf(a)}if(l.arrayBuffer){var m=['[object Int8Array]','[object Uint8Array]','[object Uint8ClampedArray]','[object Int16Array]','[object Uint16Array]','[object Int32Array]','[object Uint32Array]','[object Float32Array]','[object Float64Array]'];var n=ArrayBuffer.isView||function(a){return a&&m.indexOf(Object.prototype.toString.call(a))>-1}}function normalizeName(a){if(typeof a!=='string'){a=String(a)}if(/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(a)||a===''){throw new TypeError('Invalid character in header field name: "'+a+'"')}return a.toLowerCase()}function normalizeValue(a){if(typeof a!=='string'){a=String(a)}return a}function iteratorFor(b){var c={next:function(){var a=b.shift();return{done:a===undefined,value:a}}};if(l.iterable){c[Symbol.iterator]=function(){return c}}return c}function Headers(c){this.map={};if(c instanceof Headers){c.forEach(function(a,b){this.append(b,a)},this)}else if(Array.isArray(c)){c.forEach(function(a){this.append(a[0],a[1])},this)}else if(c){Object.getOwnPropertyNames(c).forEach(function(a){this.append(a,c[a])},this)}}Headers.prototype.append=function(a,b){a=normalizeName(a);b=normalizeValue(b);var c=this.map[a];this.map[a]=c?c+', '+b:b};Headers.prototype['delete']=function(a){delete this.map[normalizeName(a)]};Headers.prototype.get=function(a){a=normalizeName(a);return this.has(a)?this.map[a]:null};Headers.prototype.has=function(a){return this.map.hasOwnProperty(normalizeName(a))};Headers.prototype.set=function(a,b){this.map[normalizeName(a)]=normalizeValue(b)};Headers.prototype.forEach=function(a,b){for(var c in this.map){if(this.map.hasOwnProperty(c)){a.call(b,this.map[c],c,this)}}};Headers.prototype.keys=function(){var c=[];this.forEach(function(a,b){c.push(b)});return iteratorFor(c)};Headers.prototype.values=function(){var b=[];this.forEach(function(a){b.push(a)});return iteratorFor(b)};Headers.prototype.entries=function(){var c=[];this.forEach(function(a,b){c.push([b,a])});return iteratorFor(c)};if(l.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries}function consumed(a){if(a.bodyUsed){return Promise.reject(new TypeError('Already read'))}a.bodyUsed=true}function fileReaderReady(c){return new Promise(function(a,b){c.onload=function(){a(c.result)};c.onerror=function(){b(c.error)}})}function readBlobAsArrayBuffer(a){var b=new FileReader();var c=fileReaderReady(b);b.readAsArrayBuffer(a);return c}function readBlobAsText(a){var b=new FileReader();var c=fileReaderReady(b);b.readAsText(a);return c}function readArrayBufferAsText(a){var b=new Uint8Array(a);var c=new Array(b.length);for(var i=0;i<b.length;i++){c[i]=String.fromCharCode(b[i])}return c.join('')}function bufferClone(a){if(a.slice){return a.slice(0)}else{var b=new Uint8Array(a.byteLength);b.set(new Uint8Array(a));return b.buffer}}function Body(){this.bodyUsed=false;this._initBody=function(a){this.bodyUsed=this.bodyUsed;this._bodyInit=a;if(!a){this._bodyText=''}else if(typeof a==='string'){this._bodyText=a}else if(l.blob&&Blob.prototype.isPrototypeOf(a)){this._bodyBlob=a}else if(l.formData&&FormData.prototype.isPrototypeOf(a)){this._bodyFormData=a}else if(l.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)){this._bodyText=a.toString()}else if(l.arrayBuffer&&l.blob&&isDataView(a)){this._bodyArrayBuffer=bufferClone(a.buffer);this._bodyInit=new Blob([this._bodyArrayBuffer])}else if(l.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(a)||n(a))){this._bodyArrayBuffer=bufferClone(a)}else{this._bodyText=a=Object.prototype.toString.call(a)}if(!this.headers.get('content-type')){if(typeof a==='string'){this.headers.set('content-type','text/plain;charset=UTF-8')}else if(this._bodyBlob&&this._bodyBlob.type){this.headers.set('content-type',this._bodyBlob.type)}else if(l.searchParams&&URLSearchParams.prototype.isPrototypeOf(a)){this.headers.set('content-type','application/x-www-form-urlencoded;charset=UTF-8')}}};if(l.blob){this.blob=function(){var a=consumed(this);if(a){return a}if(this._bodyBlob){return Promise.resolve(this._bodyBlob)}else if(this._bodyArrayBuffer){return Promise.resolve(new Blob([this._bodyArrayBuffer]))}else if(this._bodyFormData){throw new Error('could not read FormData body as blob')}else{return Promise.resolve(new Blob([this._bodyText]))}};this.arrayBuffer=function(){if(this._bodyArrayBuffer){var a=consumed(this);if(a){return a}if(ArrayBuffer.isView(this._bodyArrayBuffer)){return Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength))}else{return Promise.resolve(this._bodyArrayBuffer)}}else{return this.blob().then(readBlobAsArrayBuffer)}}}this.text=function(){var a=consumed(this);if(a){return a}if(this._bodyBlob){return readBlobAsText(this._bodyBlob)}else if(this._bodyArrayBuffer){return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))}else if(this._bodyFormData){throw new Error('could not read FormData body as text')}else{return Promise.resolve(this._bodyText)}};if(l.formData){this.formData=function(){return this.text().then(decode)}}this.json=function(){return this.text().then(JSON.parse)};return this}var o=['DELETE','GET','HEAD','OPTIONS','POST','PUT'];function normalizeMethod(a){var b=a.toUpperCase();return o.indexOf(b)>-1?b:a}function Request(a,b){if(!(this instanceof Request)){throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.')}b=b||{};var c=b.body;if(a instanceof Request){if(a.bodyUsed){throw new TypeError('Already read')}this.url=a.url;this.credentials=a.credentials;if(!b.headers){this.headers=new Headers(a.headers)}this.method=a.method;this.mode=a.mode;this.signal=a.signal;if(!c&&a._bodyInit!=null){c=a._bodyInit;a.bodyUsed=true}}else{this.url=String(a)}this.credentials=b.credentials||this.credentials||'same-origin';if(b.headers||!this.headers){this.headers=new Headers(b.headers)}this.method=normalizeMethod(b.method||this.method||'GET');this.mode=b.mode||this.mode||null;this.signal=b.signal||this.signal;this.referrer=null;if((this.method==='GET'||this.method==='HEAD')&&c){throw new TypeError('Body not allowed for GET or HEAD requests')}this._initBody(c);if(this.method==='GET'||this.method==='HEAD'){if(b.cache==='no-store'||b.cache==='no-cache'){var d=/([?&])_=[^&]*/;if(d.test(this.url)){this.url=this.url.replace(d,'$1_='+new Date().getTime())}else{var e=/\?/;this.url+=(e.test(this.url)?'&':'?')+'_='+new Date().getTime()}}}}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})};function decode(e){var f=new FormData();e.trim().split('&').forEach(function(a){if(a){var b=a.split('=');var c=b.shift().replace(/\+/g,' ');var d=b.join('=').replace(/\+/g,' ');f.append(decodeURIComponent(c),decodeURIComponent(d))}});return f}function parseHeaders(e){var f=new Headers();var g=e.replace(/\r?\n[\t ]+/g,' ');g.split('\r').map(function(a){return a.indexOf('\n')===0?a.substr(1,a.length):a}).forEach(function(a){var b=a.split(':');var c=b.shift().trim();if(c){var d=b.join(':').trim();f.append(c,d)}});return f}Body.call(Request.prototype);function Response(a,b){if(!(this instanceof Response)){throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.')}if(!b){b={}}this.type='default';this.status=b.status===undefined?200:b.status;this.ok=this.status>=200&&this.status<300;this.statusText=b.statusText===undefined?'':''+b.statusText;this.headers=new Headers(b.headers);this.url=b.url||'';this._initBody(a)}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})};Response.error=function(){var a=new Response(null,{status:0,statusText:''});a.type='error';return a};var p=[301,302,303,307,308];Response.redirect=function(a,b){if(p.indexOf(b)===-1){throw new RangeError('Invalid status code')}return new Response(null,{status:b,headers:{location:a}})};j.DOMException=k.DOMException;try{new j.DOMException()}catch(err){j.DOMException=function(a,b){this.message=a;this.name=b;var c=Error(a);this.stack=c.stack};j.DOMException.prototype=Object.create(Error.prototype);j.DOMException.prototype.constructor=j.DOMException}function fetch(h,i){return new Promise(function(c,d){var f=new Request(h,i);if(f.signal&&f.signal.aborted){return d(new j.DOMException('Aborted','AbortError'))}var g=new XMLHttpRequest();function abortXhr(){g.abort()}g.onload=function(){var a={status:g.status,statusText:g.statusText,headers:parseHeaders(g.getAllResponseHeaders()||'')};a.url='responseURL'in g?g.responseURL:a.headers.get('X-Request-URL');var b='response'in g?g.response:g.responseText;setTimeout(function(){c(new Response(b,a))},0)};g.onerror=function(){setTimeout(function(){d(new TypeError('Network request failed'))},0)};g.ontimeout=function(){setTimeout(function(){d(new TypeError('Network request failed'))},0)};g.onabort=function(){setTimeout(function(){d(new j.DOMException('Aborted','AbortError'))},0)};function fixUrl(a){try{return a===''&&k.location.href?k.location.href:a}catch(e){return a}}g.open(f.method,fixUrl(f.url),true);if(f.credentials==='include'){g.withCredentials=true}else if(f.credentials==='omit'){g.withCredentials=false}if('responseType'in g){if(l.blob){g.responseType='blob'}else if(l.arrayBuffer&&f.headers.get('Content-Type')&&f.headers.get('Content-Type').indexOf('application/octet-stream')!==-1){g.responseType='arraybuffer'}}if(i&&typeof i.headers==='object'&&!(i.headers instanceof Headers)){Object.getOwnPropertyNames(i.headers).forEac
6604h(function(a){g.setRequestHeader(a,normalizeValue(i.headers[a]))})}else{f.headers.forEach(function(a,b){g.setRequestHeader(b,a)})}if(f.signal){f.signal.addEventListener('abort',abortXhr);g.onreadystatechange=function(){if(g.readyState===4){f.signal.removeEventListener('abort',abortXhr)}}}g.send(typeof f._bodyInit==='undefined'?null:f._bodyInit)})}fetch.polyfill=true;return{fetch,Headers,Request,Response}}) 6605);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.