@forward-widget/danmu-universe 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -464,6 +464,262 @@ var __webpack_modules__ = {
464
464
  }(), i;
465
465
  });
466
466
  },
467
+ 129: function(e, t, n) {
468
+ !function(r, i, o) {
469
+ e.exports = t = i(n(95), n(716), n(478), n(516), n(947));
470
+ }(0, function(e) {
471
+ return !function() {
472
+ var t = e, n = t.lib.BlockCipher, r = t.algo, i = [], o = [], s = [], a = [], u = [], l = [], c = [], d = [], f = [], p = [];
473
+ !function() {
474
+ for(var e = [], t = 0; t < 256; t++)t < 128 ? e[t] = t << 1 : e[t] = t << 1 ^ 0x11b;
475
+ for(var n = 0, r = 0, t = 0; t < 256; t++){
476
+ var h = r ^ r << 1 ^ r << 2 ^ r << 3 ^ r << 4;
477
+ h = h >>> 8 ^ 0xff & h ^ 0x63, i[n] = h, o[h] = n;
478
+ var m = e[n], g = e[m], v = e[g], y = 0x101 * e[h] ^ 0x1010100 * h;
479
+ s[n] = y << 24 | y >>> 8, a[n] = y << 16 | y >>> 16, u[n] = y << 8 | y >>> 24, l[n] = y;
480
+ var y = 0x1010101 * v ^ 0x10001 * g ^ 0x101 * m ^ 0x1010100 * n;
481
+ c[h] = y << 24 | y >>> 8, d[h] = y << 16 | y >>> 16, f[h] = y << 8 | y >>> 24, p[h] = y, n ? (n = m ^ e[e[e[v ^ m]]], r ^= e[e[r]]) : n = r = 1;
482
+ }
483
+ }();
484
+ var h = [
485
+ 0x00,
486
+ 0x01,
487
+ 0x02,
488
+ 0x04,
489
+ 0x08,
490
+ 0x10,
491
+ 0x20,
492
+ 0x40,
493
+ 0x80,
494
+ 0x1b,
495
+ 0x36
496
+ ], m = r.AES = n.extend({
497
+ _doReset: function() {
498
+ if (!this._nRounds || this._keyPriorReset !== this._key) {
499
+ for(var e, t = this._keyPriorReset = this._key, n = t.words, r = t.sigBytes / 4, o = this._nRounds = r + 6, s = (o + 1) * 4, a = this._keySchedule = [], u = 0; u < s; u++)u < r ? a[u] = n[u] : (e = a[u - 1], u % r ? r > 6 && u % r == 4 && (e = i[e >>> 24] << 24 | i[e >>> 16 & 0xff] << 16 | i[e >>> 8 & 0xff] << 8 | i[0xff & e]) : e = (i[(e = e << 8 | e >>> 24) >>> 24] << 24 | i[e >>> 16 & 0xff] << 16 | i[e >>> 8 & 0xff] << 8 | i[0xff & e]) ^ h[u / r | 0] << 24, a[u] = a[u - r] ^ e);
500
+ for(var l = this._invKeySchedule = [], m = 0; m < s; m++){
501
+ var u = s - m;
502
+ if (m % 4) var e = a[u];
503
+ else var e = a[u - 4];
504
+ m < 4 || u <= 4 ? l[m] = e : l[m] = c[i[e >>> 24]] ^ d[i[e >>> 16 & 0xff]] ^ f[i[e >>> 8 & 0xff]] ^ p[i[0xff & e]];
505
+ }
506
+ }
507
+ },
508
+ encryptBlock: function(e, t) {
509
+ this._doCryptBlock(e, t, this._keySchedule, s, a, u, l, i);
510
+ },
511
+ decryptBlock: function(e, t) {
512
+ var n = e[t + 1];
513
+ e[t + 1] = e[t + 3], e[t + 3] = n, this._doCryptBlock(e, t, this._invKeySchedule, c, d, f, p, o);
514
+ var n = e[t + 1];
515
+ e[t + 1] = e[t + 3], e[t + 3] = n;
516
+ },
517
+ _doCryptBlock: function(e, t, n, r, i, o, s, a) {
518
+ for(var u = this._nRounds, l = e[t] ^ n[0], c = e[t + 1] ^ n[1], d = e[t + 2] ^ n[2], f = e[t + 3] ^ n[3], p = 4, h = 1; h < u; h++){
519
+ var m = r[l >>> 24] ^ i[c >>> 16 & 0xff] ^ o[d >>> 8 & 0xff] ^ s[0xff & f] ^ n[p++], g = r[c >>> 24] ^ i[d >>> 16 & 0xff] ^ o[f >>> 8 & 0xff] ^ s[0xff & l] ^ n[p++], v = r[d >>> 24] ^ i[f >>> 16 & 0xff] ^ o[l >>> 8 & 0xff] ^ s[0xff & c] ^ n[p++], y = r[f >>> 24] ^ i[l >>> 16 & 0xff] ^ o[c >>> 8 & 0xff] ^ s[0xff & d] ^ n[p++];
520
+ l = m, c = g, d = v, f = y;
521
+ }
522
+ var m = (a[l >>> 24] << 24 | a[c >>> 16 & 0xff] << 16 | a[d >>> 8 & 0xff] << 8 | a[0xff & f]) ^ n[p++], g = (a[c >>> 24] << 24 | a[d >>> 16 & 0xff] << 16 | a[f >>> 8 & 0xff] << 8 | a[0xff & l]) ^ n[p++], v = (a[d >>> 24] << 24 | a[f >>> 16 & 0xff] << 16 | a[l >>> 8 & 0xff] << 8 | a[0xff & c]) ^ n[p++], y = (a[f >>> 24] << 24 | a[l >>> 16 & 0xff] << 16 | a[c >>> 8 & 0xff] << 8 | a[0xff & d]) ^ n[p++];
523
+ e[t] = m, e[t + 1] = g, e[t + 2] = v, e[t + 3] = y;
524
+ },
525
+ keySize: 8
526
+ });
527
+ t.AES = n._createHelper(m);
528
+ }(), e.AES;
529
+ });
530
+ },
531
+ 947: function(e, t, n) {
532
+ !function(r, i, o) {
533
+ e.exports = t = i(n(95), n(516));
534
+ }(0, function(e) {
535
+ e.lib.Cipher || function() {
536
+ var t = e, n = t.lib, r = n.Base, i = n.WordArray, o = n.BufferedBlockAlgorithm, s = t.enc;
537
+ s.Utf8;
538
+ var a = s.Base64, u = t.algo.EvpKDF, l = n.Cipher = o.extend({
539
+ cfg: r.extend(),
540
+ createEncryptor: function(e, t) {
541
+ return this.create(this._ENC_XFORM_MODE, e, t);
542
+ },
543
+ createDecryptor: function(e, t) {
544
+ return this.create(this._DEC_XFORM_MODE, e, t);
545
+ },
546
+ init: function(e, t, n) {
547
+ this.cfg = this.cfg.extend(n), this._xformMode = e, this._key = t, this.reset();
548
+ },
549
+ reset: function() {
550
+ o.reset.call(this), this._doReset();
551
+ },
552
+ process: function(e) {
553
+ return this._append(e), this._process();
554
+ },
555
+ finalize: function(e) {
556
+ return e && this._append(e), this._doFinalize();
557
+ },
558
+ keySize: 4,
559
+ ivSize: 4,
560
+ _ENC_XFORM_MODE: 1,
561
+ _DEC_XFORM_MODE: 2,
562
+ _createHelper: function() {
563
+ function e(e) {
564
+ return 'string' == typeof e ? y : g;
565
+ }
566
+ return function(t) {
567
+ return {
568
+ encrypt: function(n, r, i) {
569
+ return e(r).encrypt(t, n, r, i);
570
+ },
571
+ decrypt: function(n, r, i) {
572
+ return e(r).decrypt(t, n, r, i);
573
+ }
574
+ };
575
+ };
576
+ }()
577
+ });
578
+ n.StreamCipher = l.extend({
579
+ _doFinalize: function() {
580
+ return this._process(!0);
581
+ },
582
+ blockSize: 1
583
+ });
584
+ var c = t.mode = {}, d = n.BlockCipherMode = r.extend({
585
+ createEncryptor: function(e, t) {
586
+ return this.Encryptor.create(e, t);
587
+ },
588
+ createDecryptor: function(e, t) {
589
+ return this.Decryptor.create(e, t);
590
+ },
591
+ init: function(e, t) {
592
+ this._cipher = e, this._iv = t;
593
+ }
594
+ }), f = c.CBC = function() {
595
+ var e = d.extend();
596
+ function t(e, t, n) {
597
+ var r, i = this._iv;
598
+ i ? (r = i, this._iv = void 0) : r = this._prevBlock;
599
+ for(var o = 0; o < n; o++)e[t + o] ^= r[o];
600
+ }
601
+ return e.Encryptor = e.extend({
602
+ processBlock: function(e, n) {
603
+ var r = this._cipher, i = r.blockSize;
604
+ t.call(this, e, n, i), r.encryptBlock(e, n), this._prevBlock = e.slice(n, n + i);
605
+ }
606
+ }), e.Decryptor = e.extend({
607
+ processBlock: function(e, n) {
608
+ var r = this._cipher, i = r.blockSize, o = e.slice(n, n + i);
609
+ r.decryptBlock(e, n), t.call(this, e, n, i), this._prevBlock = o;
610
+ }
611
+ }), e;
612
+ }(), p = (t.pad = {}).Pkcs7 = {
613
+ pad: function(e, t) {
614
+ for(var n = 4 * t, r = n - e.sigBytes % n, o = r << 24 | r << 16 | r << 8 | r, s = [], a = 0; a < r; a += 4)s.push(o);
615
+ var u = i.create(s, r);
616
+ e.concat(u);
617
+ },
618
+ unpad: function(e) {
619
+ var t = 0xff & e.words[e.sigBytes - 1 >>> 2];
620
+ e.sigBytes -= t;
621
+ }
622
+ };
623
+ n.BlockCipher = l.extend({
624
+ cfg: l.cfg.extend({
625
+ mode: f,
626
+ padding: p
627
+ }),
628
+ reset: function() {
629
+ l.reset.call(this);
630
+ var e, t = this.cfg, n = t.iv, r = t.mode;
631
+ this._xformMode == this._ENC_XFORM_MODE ? e = r.createEncryptor : (e = r.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == e ? this._mode.init(this, n && n.words) : (this._mode = e.call(r, this, n && n.words), this._mode.__creator = e);
632
+ },
633
+ _doProcessBlock: function(e, t) {
634
+ this._mode.processBlock(e, t);
635
+ },
636
+ _doFinalize: function() {
637
+ var e, t = this.cfg.padding;
638
+ return this._xformMode == this._ENC_XFORM_MODE ? (t.pad(this._data, this.blockSize), e = this._process(!0)) : (e = this._process(!0), t.unpad(e)), e;
639
+ },
640
+ blockSize: 4
641
+ });
642
+ var h = n.CipherParams = r.extend({
643
+ init: function(e) {
644
+ this.mixIn(e);
645
+ },
646
+ toString: function(e) {
647
+ return (e || this.formatter).stringify(this);
648
+ }
649
+ }), m = (t.format = {}).OpenSSL = {
650
+ stringify: function(e) {
651
+ var t, n = e.ciphertext, r = e.salt;
652
+ return (t = r ? i.create([
653
+ 0x53616c74,
654
+ 0x65645f5f
655
+ ]).concat(r).concat(n) : n).toString(a);
656
+ },
657
+ parse: function(e) {
658
+ var t, n = a.parse(e), r = n.words;
659
+ return 0x53616c74 == r[0] && 0x65645f5f == r[1] && (t = i.create(r.slice(2, 4)), r.splice(0, 4), n.sigBytes -= 16), h.create({
660
+ ciphertext: n,
661
+ salt: t
662
+ });
663
+ }
664
+ }, g = n.SerializableCipher = r.extend({
665
+ cfg: r.extend({
666
+ format: m
667
+ }),
668
+ encrypt: function(e, t, n, r) {
669
+ r = this.cfg.extend(r);
670
+ var i = e.createEncryptor(n, r), o = i.finalize(t), s = i.cfg;
671
+ return h.create({
672
+ ciphertext: o,
673
+ key: n,
674
+ iv: s.iv,
675
+ algorithm: e,
676
+ mode: s.mode,
677
+ padding: s.padding,
678
+ blockSize: e.blockSize,
679
+ formatter: r.format
680
+ });
681
+ },
682
+ decrypt: function(e, t, n, r) {
683
+ return r = this.cfg.extend(r), t = this._parse(t, r.format), e.createDecryptor(n, r).finalize(t.ciphertext);
684
+ },
685
+ _parse: function(e, t) {
686
+ return 'string' == typeof e ? t.parse(e, this) : e;
687
+ }
688
+ }), v = (t.kdf = {}).OpenSSL = {
689
+ execute: function(e, t, n, r, o) {
690
+ if (r || (r = i.random(8)), o) var s = u.create({
691
+ keySize: t + n,
692
+ hasher: o
693
+ }).compute(e, r);
694
+ else var s = u.create({
695
+ keySize: t + n
696
+ }).compute(e, r);
697
+ var a = i.create(s.words.slice(t), 4 * n);
698
+ return s.sigBytes = 4 * t, h.create({
699
+ key: s,
700
+ iv: a,
701
+ salt: r
702
+ });
703
+ }
704
+ }, y = n.PasswordBasedCipher = g.extend({
705
+ cfg: g.cfg.extend({
706
+ kdf: v
707
+ }),
708
+ encrypt: function(e, t, n, r) {
709
+ var i = (r = this.cfg.extend(r)).kdf.execute(n, e.keySize, e.ivSize, r.salt, r.hasher);
710
+ r.iv = i.iv;
711
+ var o = g.encrypt.call(this, e, t, i.key, r);
712
+ return o.mixIn(i), o;
713
+ },
714
+ decrypt: function(e, t, n, r) {
715
+ r = this.cfg.extend(r), t = this._parse(t, r.format);
716
+ var i = r.kdf.execute(n, e.keySize, e.ivSize, t.salt, r.hasher);
717
+ return r.iv = i.iv, g.decrypt.call(this, e, t, i.key, r);
718
+ }
719
+ });
720
+ }();
721
+ });
722
+ },
467
723
  95: function(e, t, n) {
468
724
  !function(n, r) {
469
725
  e.exports = t = r();
@@ -514,7 +770,7 @@ var __webpack_modules__ = {
514
770
  e = this.words = e || [], t != n ? this.sigBytes = n : this.sigBytes = 4 * e.length;
515
771
  },
516
772
  toString: function(e) {
517
- return (e || f).stringify(this);
773
+ return (e || d).stringify(this);
518
774
  },
519
775
  concat: function(e) {
520
776
  var t = this.words, n = e.words, r = this.sigBytes, i = e.sigBytes;
@@ -537,7 +793,7 @@ var __webpack_modules__ = {
537
793
  for(var t = [], n = 0; n < e; n += 4)t.push(i());
538
794
  return new l.init(t, e);
539
795
  }
540
- }), c = s.enc = {}, f = c.Hex = {
796
+ }), c = s.enc = {}, d = c.Hex = {
541
797
  stringify: function(e) {
542
798
  for(var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++){
543
799
  var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
@@ -549,7 +805,7 @@ var __webpack_modules__ = {
549
805
  for(var t = e.length, n = [], r = 0; r < t; r += 2)n[r >>> 3] |= parseInt(e.substr(r, 2), 16) << 24 - r % 8 * 4;
550
806
  return new l.init(n, t / 2);
551
807
  }
552
- }, d = c.Latin1 = {
808
+ }, f = c.Latin1 = {
553
809
  stringify: function(e) {
554
810
  for(var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++){
555
811
  var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
@@ -564,13 +820,13 @@ var __webpack_modules__ = {
564
820
  }, p = c.Utf8 = {
565
821
  stringify: function(e) {
566
822
  try {
567
- return decodeURIComponent(escape(d.stringify(e)));
823
+ return decodeURIComponent(escape(f.stringify(e)));
568
824
  } catch (e) {
569
825
  throw Error('Malformed UTF-8 data');
570
826
  }
571
827
  },
572
828
  parse: function(e) {
573
- return d.parse(unescape(encodeURIComponent(e)));
829
+ return f.parse(unescape(encodeURIComponent(e)));
574
830
  }
575
831
  }, h = a.BufferedBlockAlgorithm = u.extend({
576
832
  reset: function() {
@@ -582,7 +838,7 @@ var __webpack_modules__ = {
582
838
  _process: function(t) {
583
839
  var n, r = this._data, i = r.words, o = r.sigBytes, s = this.blockSize, a = o / (4 * s), u = (a = t ? e.ceil(a) : e.max((0 | a) - this._minBufferSize, 0)) * s, c = e.min(4 * u, o);
584
840
  if (u) {
585
- for(var f = 0; f < u; f += s)this._doProcessBlock(i, f);
841
+ for(var d = 0; d < u; d += s)this._doProcessBlock(i, d);
586
842
  n = i.splice(0, u), r.sigBytes -= c;
587
843
  }
588
844
  return new l.init(n, c);
@@ -672,6 +928,71 @@ var __webpack_modules__ = {
672
928
  return e.enc.Utf8;
673
929
  });
674
930
  },
931
+ 516: function(e, t, n) {
932
+ !function(r, i, o) {
933
+ e.exports = t = i(n(95), n(825), n(979));
934
+ }(0, function(e) {
935
+ return !function() {
936
+ var t = e, n = t.lib, r = n.Base, i = n.WordArray, o = t.algo, s = o.MD5, a = o.EvpKDF = r.extend({
937
+ cfg: r.extend({
938
+ keySize: 4,
939
+ hasher: s,
940
+ iterations: 1
941
+ }),
942
+ init: function(e) {
943
+ this.cfg = this.cfg.extend(e);
944
+ },
945
+ compute: function(e, t) {
946
+ for(var n, r = this.cfg, o = r.hasher.create(), s = i.create(), a = s.words, u = r.keySize, l = r.iterations; a.length < u;){
947
+ n && o.update(n), n = o.update(e).finalize(t), o.reset();
948
+ for(var c = 1; c < l; c++)n = o.finalize(n), o.reset();
949
+ s.concat(n);
950
+ }
951
+ return s.sigBytes = 4 * u, s;
952
+ }
953
+ });
954
+ t.EvpKDF = function(e, t, n) {
955
+ return a.create(n).compute(e, t);
956
+ };
957
+ }(), e.EvpKDF;
958
+ });
959
+ },
960
+ 939: function(e, t, n) {
961
+ !function(r, i, o) {
962
+ e.exports = t = i(n(95), n(331), n(979));
963
+ }(0, function(e) {
964
+ return e.HmacSHA256;
965
+ });
966
+ },
967
+ 979: function(e, t, n) {
968
+ !function(r, i) {
969
+ e.exports = t = i(n(95));
970
+ }(0, function(e) {
971
+ !function() {
972
+ var t = e, n = t.lib.Base, r = t.enc.Utf8;
973
+ t.algo.HMAC = n.extend({
974
+ init: function(e, t) {
975
+ e = this._hasher = new e.init(), 'string' == typeof t && (t = r.parse(t));
976
+ var n = e.blockSize, i = 4 * n;
977
+ t.sigBytes > i && (t = e.finalize(t)), t.clamp();
978
+ for(var o = this._oKey = t.clone(), s = this._iKey = t.clone(), a = o.words, u = s.words, l = 0; l < n; l++)a[l] ^= 0x5c5c5c5c, u[l] ^= 0x36363636;
979
+ o.sigBytes = s.sigBytes = i, this.reset();
980
+ },
981
+ reset: function() {
982
+ var e = this._hasher;
983
+ e.reset(), e.update(this._iKey);
984
+ },
985
+ update: function(e) {
986
+ return this._hasher.update(e), this;
987
+ },
988
+ finalize: function(e) {
989
+ var t = this._hasher, n = t.finalize(e);
990
+ return t.reset(), t.finalize(this._oKey.clone().concat(n));
991
+ }
992
+ });
993
+ }();
994
+ });
995
+ },
675
996
  478: function(e, t, n) {
676
997
  !function(r, i) {
677
998
  e.exports = t = i(n(95));
@@ -695,8 +1016,8 @@ var __webpack_modules__ = {
695
1016
  var r = t + n, i = e[r];
696
1017
  e[r] = (i << 8 | i >>> 24) & 0x00ff00ff | (i << 24 | i >>> 8) & 0xff00ff00;
697
1018
  }
698
- var o = this._hash.words, s = e[t + 0], u = e[t + 1], p = e[t + 2], h = e[t + 3], m = e[t + 4], g = e[t + 5], y = e[t + 6], v = e[t + 7], b = e[t + 8], _ = e[t + 9], w = e[t + 10], k = e[t + 11], x = e[t + 12], S = e[t + 13], E = e[t + 14], z = e[t + 15], O = o[0], I = o[1], $ = o[2], A = o[3];
699
- O = l(O, I, $, A, s, 7, a[0]), A = l(A, O, I, $, u, 12, a[1]), $ = l($, A, O, I, p, 17, a[2]), I = l(I, $, A, O, h, 22, a[3]), O = l(O, I, $, A, m, 7, a[4]), A = l(A, O, I, $, g, 12, a[5]), $ = l($, A, O, I, y, 17, a[6]), I = l(I, $, A, O, v, 22, a[7]), O = l(O, I, $, A, b, 7, a[8]), A = l(A, O, I, $, _, 12, a[9]), $ = l($, A, O, I, w, 17, a[10]), I = l(I, $, A, O, k, 22, a[11]), O = l(O, I, $, A, x, 7, a[12]), A = l(A, O, I, $, S, 12, a[13]), $ = l($, A, O, I, E, 17, a[14]), I = l(I, $, A, O, z, 22, a[15]), O = c(O, I, $, A, u, 5, a[16]), A = c(A, O, I, $, y, 9, a[17]), $ = c($, A, O, I, k, 14, a[18]), I = c(I, $, A, O, s, 20, a[19]), O = c(O, I, $, A, g, 5, a[20]), A = c(A, O, I, $, w, 9, a[21]), $ = c($, A, O, I, z, 14, a[22]), I = c(I, $, A, O, m, 20, a[23]), O = c(O, I, $, A, _, 5, a[24]), A = c(A, O, I, $, E, 9, a[25]), $ = c($, A, O, I, h, 14, a[26]), I = c(I, $, A, O, b, 20, a[27]), O = c(O, I, $, A, S, 5, a[28]), A = c(A, O, I, $, p, 9, a[29]), $ = c($, A, O, I, v, 14, a[30]), I = c(I, $, A, O, x, 20, a[31]), O = f(O, I, $, A, g, 4, a[32]), A = f(A, O, I, $, b, 11, a[33]), $ = f($, A, O, I, k, 16, a[34]), I = f(I, $, A, O, E, 23, a[35]), O = f(O, I, $, A, u, 4, a[36]), A = f(A, O, I, $, m, 11, a[37]), $ = f($, A, O, I, v, 16, a[38]), I = f(I, $, A, O, w, 23, a[39]), O = f(O, I, $, A, S, 4, a[40]), A = f(A, O, I, $, s, 11, a[41]), $ = f($, A, O, I, h, 16, a[42]), I = f(I, $, A, O, y, 23, a[43]), O = f(O, I, $, A, _, 4, a[44]), A = f(A, O, I, $, x, 11, a[45]), $ = f($, A, O, I, z, 16, a[46]), I = f(I, $, A, O, p, 23, a[47]), O = d(O, I, $, A, s, 6, a[48]), A = d(A, O, I, $, v, 10, a[49]), $ = d($, A, O, I, E, 15, a[50]), I = d(I, $, A, O, g, 21, a[51]), O = d(O, I, $, A, x, 6, a[52]), A = d(A, O, I, $, h, 10, a[53]), $ = d($, A, O, I, w, 15, a[54]), I = d(I, $, A, O, u, 21, a[55]), O = d(O, I, $, A, b, 6, a[56]), A = d(A, O, I, $, z, 10, a[57]), $ = d($, A, O, I, y, 15, a[58]), I = d(I, $, A, O, S, 21, a[59]), O = d(O, I, $, A, m, 6, a[60]), A = d(A, O, I, $, k, 10, a[61]), $ = d($, A, O, I, p, 15, a[62]), I = d(I, $, A, O, _, 21, a[63]), o[0] = o[0] + O | 0, o[1] = o[1] + I | 0, o[2] = o[2] + $ | 0, o[3] = o[3] + A | 0;
1019
+ var o = this._hash.words, s = e[t + 0], u = e[t + 1], p = e[t + 2], h = e[t + 3], m = e[t + 4], g = e[t + 5], v = e[t + 6], y = e[t + 7], b = e[t + 8], _ = e[t + 9], w = e[t + 10], x = e[t + 11], k = e[t + 12], S = e[t + 13], E = e[t + 14], z = e[t + 15], O = o[0], I = o[1], $ = o[2], A = o[3];
1020
+ O = l(O, I, $, A, s, 7, a[0]), A = l(A, O, I, $, u, 12, a[1]), $ = l($, A, O, I, p, 17, a[2]), I = l(I, $, A, O, h, 22, a[3]), O = l(O, I, $, A, m, 7, a[4]), A = l(A, O, I, $, g, 12, a[5]), $ = l($, A, O, I, v, 17, a[6]), I = l(I, $, A, O, y, 22, a[7]), O = l(O, I, $, A, b, 7, a[8]), A = l(A, O, I, $, _, 12, a[9]), $ = l($, A, O, I, w, 17, a[10]), I = l(I, $, A, O, x, 22, a[11]), O = l(O, I, $, A, k, 7, a[12]), A = l(A, O, I, $, S, 12, a[13]), $ = l($, A, O, I, E, 17, a[14]), I = l(I, $, A, O, z, 22, a[15]), O = c(O, I, $, A, u, 5, a[16]), A = c(A, O, I, $, v, 9, a[17]), $ = c($, A, O, I, x, 14, a[18]), I = c(I, $, A, O, s, 20, a[19]), O = c(O, I, $, A, g, 5, a[20]), A = c(A, O, I, $, w, 9, a[21]), $ = c($, A, O, I, z, 14, a[22]), I = c(I, $, A, O, m, 20, a[23]), O = c(O, I, $, A, _, 5, a[24]), A = c(A, O, I, $, E, 9, a[25]), $ = c($, A, O, I, h, 14, a[26]), I = c(I, $, A, O, b, 20, a[27]), O = c(O, I, $, A, S, 5, a[28]), A = c(A, O, I, $, p, 9, a[29]), $ = c($, A, O, I, y, 14, a[30]), I = c(I, $, A, O, k, 20, a[31]), O = d(O, I, $, A, g, 4, a[32]), A = d(A, O, I, $, b, 11, a[33]), $ = d($, A, O, I, x, 16, a[34]), I = d(I, $, A, O, E, 23, a[35]), O = d(O, I, $, A, u, 4, a[36]), A = d(A, O, I, $, m, 11, a[37]), $ = d($, A, O, I, y, 16, a[38]), I = d(I, $, A, O, w, 23, a[39]), O = d(O, I, $, A, S, 4, a[40]), A = d(A, O, I, $, s, 11, a[41]), $ = d($, A, O, I, h, 16, a[42]), I = d(I, $, A, O, v, 23, a[43]), O = d(O, I, $, A, _, 4, a[44]), A = d(A, O, I, $, k, 11, a[45]), $ = d($, A, O, I, z, 16, a[46]), I = d(I, $, A, O, p, 23, a[47]), O = f(O, I, $, A, s, 6, a[48]), A = f(A, O, I, $, y, 10, a[49]), $ = f($, A, O, I, E, 15, a[50]), I = f(I, $, A, O, g, 21, a[51]), O = f(O, I, $, A, k, 6, a[52]), A = f(A, O, I, $, h, 10, a[53]), $ = f($, A, O, I, w, 15, a[54]), I = f(I, $, A, O, u, 21, a[55]), O = f(O, I, $, A, b, 6, a[56]), A = f(A, O, I, $, z, 10, a[57]), $ = f($, A, O, I, v, 15, a[58]), I = f(I, $, A, O, S, 21, a[59]), O = f(O, I, $, A, m, 6, a[60]), A = f(A, O, I, $, x, 10, a[61]), $ = f($, A, O, I, p, 15, a[62]), I = f(I, $, A, O, _, 21, a[63]), o[0] = o[0] + O | 0, o[1] = o[1] + I | 0, o[2] = o[2] + $ | 0, o[3] = o[3] + A | 0;
700
1021
  },
701
1022
  _doFinalize: function() {
702
1023
  var e = this._data, n = e.words, r = 8 * this._nDataBytes, i = 8 * e.sigBytes;
@@ -722,11 +1043,11 @@ var __webpack_modules__ = {
722
1043
  var a = e + (t & r | n & ~r) + i + s;
723
1044
  return (a << o | a >>> 32 - o) + t;
724
1045
  }
725
- function f(e, t, n, r, i, o, s) {
1046
+ function d(e, t, n, r, i, o, s) {
726
1047
  var a = e + (t ^ n ^ r) + i + s;
727
1048
  return (a << o | a >>> 32 - o) + t;
728
1049
  }
729
- function d(e, t, n, r, i, o, s) {
1050
+ function f(e, t, n, r, i, o, s) {
730
1051
  var a = e + (n ^ (t | ~r)) + i + s;
731
1052
  return (a << o | a >>> 32 - o) + t;
732
1053
  }
@@ -734,6 +1055,116 @@ var __webpack_modules__ = {
734
1055
  }(Math), e.MD5;
735
1056
  });
736
1057
  },
1058
+ 760: function(e, t, n) {
1059
+ !function(r, i, o) {
1060
+ e.exports = t = i(n(95), n(947));
1061
+ }(0, function(e) {
1062
+ return e.mode.ECB = function() {
1063
+ var t = e.lib.BlockCipherMode.extend();
1064
+ return t.Encryptor = t.extend({
1065
+ processBlock: function(e, t) {
1066
+ this._cipher.encryptBlock(e, t);
1067
+ }
1068
+ }), t.Decryptor = t.extend({
1069
+ processBlock: function(e, t) {
1070
+ this._cipher.decryptBlock(e, t);
1071
+ }
1072
+ }), t;
1073
+ }(), e.mode.ECB;
1074
+ });
1075
+ },
1076
+ 186: function(e, t, n) {
1077
+ !function(r, i, o) {
1078
+ e.exports = t = i(n(95), n(947));
1079
+ }(0, function(e) {
1080
+ return e.pad.Pkcs7;
1081
+ });
1082
+ },
1083
+ 825: function(e, t, n) {
1084
+ !function(r, i) {
1085
+ e.exports = t = i(n(95));
1086
+ }(0, function(e) {
1087
+ return !function() {
1088
+ var t = e, n = t.lib, r = n.WordArray, i = n.Hasher, o = t.algo, s = [], a = o.SHA1 = i.extend({
1089
+ _doReset: function() {
1090
+ this._hash = new r.init([
1091
+ 0x67452301,
1092
+ 0xefcdab89,
1093
+ 0x98badcfe,
1094
+ 0x10325476,
1095
+ 0xc3d2e1f0
1096
+ ]);
1097
+ },
1098
+ _doProcessBlock: function(e, t) {
1099
+ for(var n = this._hash.words, r = n[0], i = n[1], o = n[2], a = n[3], u = n[4], l = 0; l < 80; l++){
1100
+ if (l < 16) s[l] = 0 | e[t + l];
1101
+ else {
1102
+ var c = s[l - 3] ^ s[l - 8] ^ s[l - 14] ^ s[l - 16];
1103
+ s[l] = c << 1 | c >>> 31;
1104
+ }
1105
+ var d = (r << 5 | r >>> 27) + u + s[l];
1106
+ l < 20 ? d += (i & o | ~i & a) + 0x5a827999 : l < 40 ? d += (i ^ o ^ a) + 0x6ed9eba1 : l < 60 ? d += (i & o | i & a | o & a) - 0x70e44324 : d += (i ^ o ^ a) - 0x359d3e2a, u = a, a = o, o = i << 30 | i >>> 2, i = r, r = d;
1107
+ }
1108
+ n[0] = n[0] + r | 0, n[1] = n[1] + i | 0, n[2] = n[2] + o | 0, n[3] = n[3] + a | 0, n[4] = n[4] + u | 0;
1109
+ },
1110
+ _doFinalize: function() {
1111
+ var e = this._data, t = e.words, n = 8 * this._nDataBytes, r = 8 * e.sigBytes;
1112
+ return t[r >>> 5] |= 0x80 << 24 - r % 32, t[(r + 64 >>> 9 << 4) + 14] = Math.floor(n / 0x100000000), t[(r + 64 >>> 9 << 4) + 15] = n, e.sigBytes = 4 * t.length, this._process(), this._hash;
1113
+ },
1114
+ clone: function() {
1115
+ var e = i.clone.call(this);
1116
+ return e._hash = this._hash.clone(), e;
1117
+ }
1118
+ });
1119
+ t.SHA1 = i._createHelper(a), t.HmacSHA1 = i._createHmacHelper(a);
1120
+ }(), e.SHA1;
1121
+ });
1122
+ },
1123
+ 331: function(e, t, n) {
1124
+ !function(r, i) {
1125
+ e.exports = t = i(n(95));
1126
+ }(0, function(e) {
1127
+ return !function(t) {
1128
+ var n = e, r = n.lib, i = r.WordArray, o = r.Hasher, s = n.algo, a = [], u = [];
1129
+ !function() {
1130
+ function e(e) {
1131
+ for(var n = t.sqrt(e), r = 2; r <= n; r++)if (!(e % r)) return !1;
1132
+ return !0;
1133
+ }
1134
+ function n(e) {
1135
+ return (e - (0 | e)) * 0x100000000 | 0;
1136
+ }
1137
+ for(var r = 2, i = 0; i < 64;)e(r) && (i < 8 && (a[i] = n(t.pow(r, 0.5))), u[i] = n(t.pow(r, 1 / 3)), i++), r++;
1138
+ }();
1139
+ var l = [], c = s.SHA256 = o.extend({
1140
+ _doReset: function() {
1141
+ this._hash = new i.init(a.slice(0));
1142
+ },
1143
+ _doProcessBlock: function(e, t) {
1144
+ for(var n = this._hash.words, r = n[0], i = n[1], o = n[2], s = n[3], a = n[4], c = n[5], d = n[6], f = n[7], p = 0; p < 64; p++){
1145
+ if (p < 16) l[p] = 0 | e[t + p];
1146
+ else {
1147
+ var h = l[p - 15], m = (h << 25 | h >>> 7) ^ (h << 14 | h >>> 18) ^ h >>> 3, g = l[p - 2], v = (g << 15 | g >>> 17) ^ (g << 13 | g >>> 19) ^ g >>> 10;
1148
+ l[p] = m + l[p - 7] + v + l[p - 16];
1149
+ }
1150
+ var y = a & c ^ ~a & d, b = r & i ^ r & o ^ i & o, _ = (r << 30 | r >>> 2) ^ (r << 19 | r >>> 13) ^ (r << 10 | r >>> 22), w = f + ((a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25)) + y + u[p] + l[p], x = _ + b;
1151
+ f = d, d = c, c = a, a = s + w | 0, s = o, o = i, i = r, r = w + x | 0;
1152
+ }
1153
+ n[0] = n[0] + r | 0, n[1] = n[1] + i | 0, n[2] = n[2] + o | 0, n[3] = n[3] + s | 0, n[4] = n[4] + a | 0, n[5] = n[5] + c | 0, n[6] = n[6] + d | 0, n[7] = n[7] + f | 0;
1154
+ },
1155
+ _doFinalize: function() {
1156
+ var e = this._data, n = e.words, r = 8 * this._nDataBytes, i = 8 * e.sigBytes;
1157
+ return n[i >>> 5] |= 0x80 << 24 - i % 32, n[(i + 64 >>> 9 << 4) + 14] = t.floor(r / 0x100000000), n[(i + 64 >>> 9 << 4) + 15] = r, e.sigBytes = 4 * n.length, this._process(), this._hash;
1158
+ },
1159
+ clone: function() {
1160
+ var e = o.clone.call(this);
1161
+ return e._hash = this._hash.clone(), e;
1162
+ }
1163
+ });
1164
+ n.SHA256 = o._createHelper(c), n.HmacSHA256 = o._createHmacHelper(c);
1165
+ }(Math), e.SHA256;
1166
+ });
1167
+ },
737
1168
  643: function(e, t, n) {
738
1169
  e.exports = n(447);
739
1170
  },
@@ -766,7 +1197,7 @@ var __webpack_modules__ = {
766
1197
  })(e);
767
1198
  } : l;
768
1199
  };
769
- function f() {
1200
+ function d() {
770
1201
  var e = new o(0, 0), t = 0;
771
1202
  if (this.len - this.pos > 4) {
772
1203
  for(; t < 4; ++t)if (e.lo = (e.lo | (127 & this.buf[this.pos]) << 7 * t) >>> 0, this.buf[this.pos++] < 128) return e;
@@ -787,12 +1218,12 @@ var __webpack_modules__ = {
787
1218
  }
788
1219
  throw Error("invalid varint encoding");
789
1220
  }
790
- function d(e, t) {
1221
+ function f(e, t) {
791
1222
  return (e[t - 4] | e[t - 3] << 8 | e[t - 2] << 16 | e[t - 1] << 24) >>> 0;
792
1223
  }
793
1224
  function p() {
794
1225
  if (this.pos + 8 > this.len) throw a(this, 8);
795
- return new o(d(this.buf, this.pos += 4), d(this.buf, this.pos += 4));
1226
+ return new o(f(this.buf, this.pos += 4), f(this.buf, this.pos += 4));
796
1227
  }
797
1228
  u.create = c(), u.prototype._slice = i.Array.prototype.subarray || i.Array.prototype.slice, u.prototype.uint32 = function() {
798
1229
  var e = 4294967295;
@@ -810,10 +1241,10 @@ var __webpack_modules__ = {
810
1241
  return 0 !== this.uint32();
811
1242
  }, u.prototype.fixed32 = function() {
812
1243
  if (this.pos + 4 > this.len) throw a(this, 4);
813
- return d(this.buf, this.pos += 4);
1244
+ return f(this.buf, this.pos += 4);
814
1245
  }, u.prototype.sfixed32 = function() {
815
1246
  if (this.pos + 4 > this.len) throw a(this, 4);
816
- return 0 | d(this.buf, this.pos += 4);
1247
+ return 0 | f(this.buf, this.pos += 4);
817
1248
  }, u.prototype.float = function() {
818
1249
  if (this.pos + 4 > this.len) throw a(this, 4);
819
1250
  var e = i.float.readFloatLE(this.buf, this.pos);
@@ -867,13 +1298,13 @@ var __webpack_modules__ = {
867
1298
  var t = i.Long ? "toLong" : "toNumber";
868
1299
  i.merge(u.prototype, {
869
1300
  int64: function() {
870
- return f.call(this)[t](!1);
1301
+ return d.call(this)[t](!1);
871
1302
  },
872
1303
  uint64: function() {
873
- return f.call(this)[t](!0);
1304
+ return d.call(this)[t](!0);
874
1305
  },
875
1306
  sint64: function() {
876
- return f.call(this).zzDecode()[t](!1);
1307
+ return d.call(this).zzDecode()[t](!1);
877
1308
  },
878
1309
  fixed64: function() {
879
1310
  return p.call(this)[t](!0);
@@ -1090,7 +1521,7 @@ var __webpack_modules__ = {
1090
1521
  };
1091
1522
  },
1092
1523
  114: function(e, t, n) {
1093
- e.exports = f;
1524
+ e.exports = d;
1094
1525
  var r, i = n(837), o = i.LongBits, s = i.base64, a = i.utf8;
1095
1526
  function u(e, t, n) {
1096
1527
  this.fn = e, this.len = t, this.next = void 0, this.val = n;
@@ -1099,16 +1530,16 @@ var __webpack_modules__ = {
1099
1530
  function c(e) {
1100
1531
  this.head = e.head, this.tail = e.tail, this.len = e.len, this.next = e.states;
1101
1532
  }
1102
- function f() {
1533
+ function d() {
1103
1534
  this.len = 0, this.head = new u(l, 0, 0), this.tail = this.head, this.states = null;
1104
1535
  }
1105
- var d = function() {
1536
+ var f = function() {
1106
1537
  return i.Buffer ? function() {
1107
- return (f.create = function() {
1538
+ return (d.create = function() {
1108
1539
  return new r();
1109
1540
  })();
1110
1541
  } : function() {
1111
- return new f();
1542
+ return new d();
1112
1543
  };
1113
1544
  };
1114
1545
  function p(e, t, n) {
@@ -1126,65 +1557,65 @@ var __webpack_modules__ = {
1126
1557
  for(; e.lo > 127;)t[n++] = 127 & e.lo | 128, e.lo = e.lo >>> 7;
1127
1558
  t[n++] = e.lo;
1128
1559
  }
1129
- function y(e, t, n) {
1560
+ function v(e, t, n) {
1130
1561
  t[n] = 255 & e, t[n + 1] = e >>> 8 & 255, t[n + 2] = e >>> 16 & 255, t[n + 3] = e >>> 24;
1131
1562
  }
1132
- f.create = d(), f.alloc = function(e) {
1563
+ d.create = f(), d.alloc = function(e) {
1133
1564
  return new i.Array(e);
1134
- }, i.Array !== Array && (f.alloc = i.pool(f.alloc, i.Array.prototype.subarray)), f.prototype._push = function(e, t, n) {
1565
+ }, i.Array !== Array && (d.alloc = i.pool(d.alloc, i.Array.prototype.subarray)), d.prototype._push = function(e, t, n) {
1135
1566
  return this.tail = this.tail.next = new u(e, t, n), this.len += t, this;
1136
- }, m.prototype = Object.create(u.prototype), m.prototype.fn = h, f.prototype.uint32 = function(e) {
1567
+ }, m.prototype = Object.create(u.prototype), m.prototype.fn = h, d.prototype.uint32 = function(e) {
1137
1568
  return this.len += (this.tail = this.tail.next = new m((e >>>= 0) < 128 ? 1 : e < 16384 ? 2 : e < 2097152 ? 3 : e < 268435456 ? 4 : 5, e)).len, this;
1138
- }, f.prototype.int32 = function(e) {
1569
+ }, d.prototype.int32 = function(e) {
1139
1570
  return e < 0 ? this._push(g, 10, o.fromNumber(e)) : this.uint32(e);
1140
- }, f.prototype.sint32 = function(e) {
1571
+ }, d.prototype.sint32 = function(e) {
1141
1572
  return this.uint32((e << 1 ^ e >> 31) >>> 0);
1142
- }, f.prototype.uint64 = function(e) {
1573
+ }, d.prototype.uint64 = function(e) {
1143
1574
  var t = o.from(e);
1144
1575
  return this._push(g, t.length(), t);
1145
- }, f.prototype.int64 = f.prototype.uint64, f.prototype.sint64 = function(e) {
1576
+ }, d.prototype.int64 = d.prototype.uint64, d.prototype.sint64 = function(e) {
1146
1577
  var t = o.from(e).zzEncode();
1147
1578
  return this._push(g, t.length(), t);
1148
- }, f.prototype.bool = function(e) {
1579
+ }, d.prototype.bool = function(e) {
1149
1580
  return this._push(p, 1, +!!e);
1150
- }, f.prototype.fixed32 = function(e) {
1151
- return this._push(y, 4, e >>> 0);
1152
- }, f.prototype.sfixed32 = f.prototype.fixed32, f.prototype.fixed64 = function(e) {
1581
+ }, d.prototype.fixed32 = function(e) {
1582
+ return this._push(v, 4, e >>> 0);
1583
+ }, d.prototype.sfixed32 = d.prototype.fixed32, d.prototype.fixed64 = function(e) {
1153
1584
  var t = o.from(e);
1154
- return this._push(y, 4, t.lo)._push(y, 4, t.hi);
1155
- }, f.prototype.sfixed64 = f.prototype.fixed64, f.prototype.float = function(e) {
1585
+ return this._push(v, 4, t.lo)._push(v, 4, t.hi);
1586
+ }, d.prototype.sfixed64 = d.prototype.fixed64, d.prototype.float = function(e) {
1156
1587
  return this._push(i.float.writeFloatLE, 4, e);
1157
- }, f.prototype.double = function(e) {
1588
+ }, d.prototype.double = function(e) {
1158
1589
  return this._push(i.float.writeDoubleLE, 8, e);
1159
1590
  };
1160
- var v = i.Array.prototype.set ? function(e, t, n) {
1591
+ var y = i.Array.prototype.set ? function(e, t, n) {
1161
1592
  t.set(e, n);
1162
1593
  } : function(e, t, n) {
1163
1594
  for(var r = 0; r < e.length; ++r)t[n + r] = e[r];
1164
1595
  };
1165
- f.prototype.bytes = function(e) {
1596
+ d.prototype.bytes = function(e) {
1166
1597
  var t = e.length >>> 0;
1167
1598
  if (!t) return this._push(p, 1, 0);
1168
1599
  if (i.isString(e)) {
1169
- var n = f.alloc(t = s.length(e));
1600
+ var n = d.alloc(t = s.length(e));
1170
1601
  s.decode(e, n, 0), e = n;
1171
1602
  }
1172
- return this.uint32(t)._push(v, t, e);
1173
- }, f.prototype.string = function(e) {
1603
+ return this.uint32(t)._push(y, t, e);
1604
+ }, d.prototype.string = function(e) {
1174
1605
  var t = a.length(e);
1175
1606
  return t ? this.uint32(t)._push(a.write, t, e) : this._push(p, 1, 0);
1176
- }, f.prototype.fork = function() {
1607
+ }, d.prototype.fork = function() {
1177
1608
  return this.states = new c(this), this.head = this.tail = new u(l, 0, 0), this.len = 0, this;
1178
- }, f.prototype.reset = function() {
1609
+ }, d.prototype.reset = function() {
1179
1610
  return this.states ? (this.head = this.states.head, this.tail = this.states.tail, this.len = this.states.len, this.states = this.states.next) : (this.head = this.tail = new u(l, 0, 0), this.len = 0), this;
1180
- }, f.prototype.ldelim = function() {
1611
+ }, d.prototype.ldelim = function() {
1181
1612
  var e = this.head, t = this.tail, n = this.len;
1182
1613
  return this.reset().uint32(n), n && (this.tail.next = e.next, this.tail = t, this.len += n), this;
1183
- }, f.prototype.finish = function() {
1614
+ }, d.prototype.finish = function() {
1184
1615
  for(var e = this.head.next, t = this.constructor.alloc(this.len), n = 0; e;)e.fn(e.val, t, n), n += e.len, e = e.next;
1185
1616
  return t;
1186
- }, f._configure = function(e) {
1187
- r = e, f.create = d(), r._configure();
1617
+ }, d._configure = function(e) {
1618
+ r = e, d.create = f(), r._configure();
1188
1619
  };
1189
1620
  },
1190
1621
  491: function(e, t, n) {
@@ -1268,10 +1699,10 @@ var __webpack_modules__ = {
1268
1699
  },
1269
1700
  337: function(e, t, n) {
1270
1701
  var r = n(995), i = n(682), o = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/, s = /[\n\r\t]/g, a = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//, u = /:\d+$/, l = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i, c = /^[a-zA-Z]:/;
1271
- function f(e) {
1702
+ function d(e) {
1272
1703
  return (e || '').toString().replace(o, '');
1273
1704
  }
1274
- var d = [
1705
+ var f = [
1275
1706
  [
1276
1707
  '#',
1277
1708
  'hash'
@@ -1318,8 +1749,8 @@ var __webpack_modules__ = {
1318
1749
  };
1319
1750
  function h(e) {
1320
1751
  var t, r, i = (t = 'undefined' != typeof window ? window : void 0 !== n.g ? n.g : 'undefined' != typeof self ? self : {}).location || {}, o = {}, s = typeof (e = e || i);
1321
- if ('blob:' === e.protocol) o = new v(unescape(e.pathname), {});
1322
- else if ('string' === s) for(r in o = new v(e, {}), p)delete o[r];
1752
+ if ('blob:' === e.protocol) o = new y(unescape(e.pathname), {});
1753
+ else if ('string' === s) for(r in o = new y(e, {}), p)delete o[r];
1323
1754
  else if ('object' === s) {
1324
1755
  for(r in e)r in p || (o[r] = e[r]);
1325
1756
  void 0 === o.slashes && (o.slashes = a.test(e.href));
@@ -1330,7 +1761,7 @@ var __webpack_modules__ = {
1330
1761
  return 'file:' === e || 'ftp:' === e || 'http:' === e || 'https:' === e || 'ws:' === e || 'wss:' === e;
1331
1762
  }
1332
1763
  function g(e, t) {
1333
- e = (e = f(e)).replace(s, ''), t = t || {};
1764
+ e = (e = d(e)).replace(s, ''), t = t || {};
1334
1765
  var n, r = l.exec(e), i = r[1] ? r[1].toLowerCase() : '', o = !!r[2], a = !!r[3], u = 0;
1335
1766
  return o ? a ? (n = r[2] + r[3] + r[4], u = r[2].length + r[3].length) : (n = r[2] + r[4], u = r[2].length) : a ? (n = r[3] + r[4], u = r[3].length) : n = r[4], 'file:' === i ? u >= 2 && (n = n.slice(2)) : m(i) ? n = r[4] : i ? o && (n = n.slice(2)) : u >= 2 && m(t.protocol) && (n = r[4]), {
1336
1767
  protocol: i,
@@ -1339,27 +1770,27 @@ var __webpack_modules__ = {
1339
1770
  rest: n
1340
1771
  };
1341
1772
  }
1342
- function y(e, t) {
1773
+ function v(e, t) {
1343
1774
  if ('' === e) return t;
1344
1775
  for(var n = (t || '/').split('/').slice(0, -1).concat(e.split('/')), r = n.length, i = n[r - 1], o = !1, s = 0; r--;)'.' === n[r] ? n.splice(r, 1) : '..' === n[r] ? (n.splice(r, 1), s++) : s && (0 === r && (o = !0), n.splice(r, 1), s--);
1345
1776
  return o && n.unshift(''), ('.' === i || '..' === i) && n.push(''), n.join('/');
1346
1777
  }
1347
- function v(e, t, n) {
1348
- if (e = (e = f(e)).replace(s, ''), !(this instanceof v)) return new v(e, t, n);
1349
- var o, a, u, l, p, b, _ = d.slice(), w = typeof t, k = this, x = 0;
1350
- for('object' !== w && 'string' !== w && (n = t, t = null), n && 'function' != typeof n && (n = i.parse), o = !(a = g(e || '', t = h(t))).protocol && !a.slashes, k.slashes = a.slashes || o && t.slashes, k.protocol = a.protocol || t.protocol || '', e = a.rest, ('file:' === a.protocol && (2 !== a.slashesCount || c.test(e)) || !a.slashes && (a.protocol || a.slashesCount < 2 || !m(k.protocol))) && (_[3] = [
1778
+ function y(e, t, n) {
1779
+ if (e = (e = d(e)).replace(s, ''), !(this instanceof y)) return new y(e, t, n);
1780
+ var o, a, u, l, p, b, _ = f.slice(), w = typeof t, x = this, k = 0;
1781
+ for('object' !== w && 'string' !== w && (n = t, t = null), n && 'function' != typeof n && (n = i.parse), o = !(a = g(e || '', t = h(t))).protocol && !a.slashes, x.slashes = a.slashes || o && t.slashes, x.protocol = a.protocol || t.protocol || '', e = a.rest, ('file:' === a.protocol && (2 !== a.slashesCount || c.test(e)) || !a.slashes && (a.protocol || a.slashesCount < 2 || !m(x.protocol))) && (_[3] = [
1351
1782
  /(.*)/,
1352
1783
  'pathname'
1353
- ]); x < _.length; x++){
1354
- if ('function' == typeof (l = _[x])) {
1355
- e = l(e, k);
1784
+ ]); k < _.length; k++){
1785
+ if ('function' == typeof (l = _[k])) {
1786
+ e = l(e, x);
1356
1787
  continue;
1357
1788
  }
1358
- u = l[0], b = l[1], u != u ? k[b] = e : 'string' == typeof u ? ~(p = '@' === u ? e.lastIndexOf(u) : e.indexOf(u)) && ('number' == typeof l[2] ? (k[b] = e.slice(0, p), e = e.slice(p + l[2])) : (k[b] = e.slice(p), e = e.slice(0, p))) : (p = u.exec(e)) && (k[b] = p[1], e = e.slice(0, p.index)), k[b] = k[b] || o && l[3] && t[b] || '', l[4] && (k[b] = k[b].toLowerCase());
1789
+ u = l[0], b = l[1], u != u ? x[b] = e : 'string' == typeof u ? ~(p = '@' === u ? e.lastIndexOf(u) : e.indexOf(u)) && ('number' == typeof l[2] ? (x[b] = e.slice(0, p), e = e.slice(p + l[2])) : (x[b] = e.slice(p), e = e.slice(0, p))) : (p = u.exec(e)) && (x[b] = p[1], e = e.slice(0, p.index)), x[b] = x[b] || o && l[3] && t[b] || '', l[4] && (x[b] = x[b].toLowerCase());
1359
1790
  }
1360
- n && (k.query = n(k.query)), o && t.slashes && '/' !== k.pathname.charAt(0) && ('' !== k.pathname || '' !== t.pathname) && (k.pathname = y(k.pathname, t.pathname)), '/' !== k.pathname.charAt(0) && m(k.protocol) && (k.pathname = '/' + k.pathname), r(k.port, k.protocol) || (k.host = k.hostname, k.port = ''), k.username = k.password = '', k.auth && (~(p = k.auth.indexOf(':')) ? (k.username = k.auth.slice(0, p), k.username = encodeURIComponent(decodeURIComponent(k.username)), k.password = k.auth.slice(p + 1), k.password = encodeURIComponent(decodeURIComponent(k.password))) : k.username = encodeURIComponent(decodeURIComponent(k.auth)), k.auth = k.password ? k.username + ':' + k.password : k.username), k.origin = 'file:' !== k.protocol && m(k.protocol) && k.host ? k.protocol + '//' + k.host : 'null', k.href = k.toString();
1791
+ n && (x.query = n(x.query)), o && t.slashes && '/' !== x.pathname.charAt(0) && ('' !== x.pathname || '' !== t.pathname) && (x.pathname = v(x.pathname, t.pathname)), '/' !== x.pathname.charAt(0) && m(x.protocol) && (x.pathname = '/' + x.pathname), r(x.port, x.protocol) || (x.host = x.hostname, x.port = ''), x.username = x.password = '', x.auth && (~(p = x.auth.indexOf(':')) ? (x.username = x.auth.slice(0, p), x.username = encodeURIComponent(decodeURIComponent(x.username)), x.password = x.auth.slice(p + 1), x.password = encodeURIComponent(decodeURIComponent(x.password))) : x.username = encodeURIComponent(decodeURIComponent(x.auth)), x.auth = x.password ? x.username + ':' + x.password : x.username), x.origin = 'file:' !== x.protocol && m(x.protocol) && x.host ? x.protocol + '//' + x.host : 'null', x.href = x.toString();
1361
1792
  }
1362
- v.prototype = {
1793
+ y.prototype = {
1363
1794
  set: function(e, t, n) {
1364
1795
  var o = this;
1365
1796
  switch(e){
@@ -1393,8 +1824,8 @@ var __webpack_modules__ = {
1393
1824
  var a = t.indexOf(':');
1394
1825
  ~a ? (o.username = t.slice(0, a), o.username = encodeURIComponent(decodeURIComponent(o.username)), o.password = t.slice(a + 1), o.password = encodeURIComponent(decodeURIComponent(o.password))) : o.username = encodeURIComponent(decodeURIComponent(t));
1395
1826
  }
1396
- for(var l = 0; l < d.length; l++){
1397
- var c = d[l];
1827
+ for(var l = 0; l < f.length; l++){
1828
+ var c = f[l];
1398
1829
  c[4] && (o[c[1]] = o[c[1]].toLowerCase());
1399
1830
  }
1400
1831
  return o.auth = o.password ? o.username + ':' + o.password : o.username, o.origin = 'file:' !== o.protocol && m(o.protocol) && o.host ? o.protocol + '//' + o.host : 'null', o.href = o.toString(), o;
@@ -1406,7 +1837,7 @@ var __webpack_modules__ = {
1406
1837
  var s = o + (n.protocol && n.slashes || m(n.protocol) ? '//' : '');
1407
1838
  return n.username ? (s += n.username, n.password && (s += ':' + n.password), s += '@') : n.password ? (s += ':' + n.password, s += '@') : 'file:' !== n.protocol && m(n.protocol) && !r && '/' !== n.pathname && (s += '@'), (':' === r[r.length - 1] || u.test(n.hostname) && !n.port) && (r += ':'), s += r + n.pathname, (t = 'object' == typeof n.query ? e(n.query) : n.query) && (s += '?' !== t.charAt(0) ? '?' + t : t), n.hash && (s += n.hash), s;
1408
1839
  }
1409
- }, v.extractProtocol = g, v.location = h, v.trimLeft = f, v.qs = i, e.exports = v;
1840
+ }, y.extractProtocol = g, y.location = h, y.trimLeft = d, y.qs = i, e.exports = y;
1410
1841
  },
1411
1842
  602: function() {}
1412
1843
  }, __webpack_module_cache__ = {};
@@ -1420,40 +1851,6 @@ function __webpack_require__(e) {
1420
1851
  };
1421
1852
  return __webpack_modules__[e].call(n.exports, n, n.exports, __webpack_require__), n.loaded = !0, n.exports;
1422
1853
  }
1423
- (()=>{
1424
- __webpack_require__.n = (e)=>{
1425
- var t = e && e.__esModule ? ()=>e.default : ()=>e;
1426
- return __webpack_require__.d(t, {
1427
- a: t
1428
- }), t;
1429
- };
1430
- })(), (()=>{
1431
- __webpack_require__.d = (e, t)=>{
1432
- for(var n in t)__webpack_require__.o(t, n) && !__webpack_require__.o(e, n) && Object.defineProperty(e, n, {
1433
- enumerable: !0,
1434
- get: t[n]
1435
- });
1436
- };
1437
- })(), (()=>{
1438
- __webpack_require__.g = (()=>{
1439
- if ('object' == typeof globalThis) return globalThis;
1440
- try {
1441
- return this || Function('return this')();
1442
- } catch (e) {
1443
- if ('object' == typeof window) return window;
1444
- }
1445
- })();
1446
- })(), (()=>{
1447
- __webpack_require__.o = (e, t)=>Object.prototype.hasOwnProperty.call(e, t);
1448
- })(), (()=>{
1449
- __webpack_require__.nmd = (e)=>(e.paths = [], e.children || (e.children = []), e);
1450
- })();
1451
- const PROVIDER_NAMES = {
1452
- tencent: "\u817E\u8BAF\u89C6\u9891",
1453
- iqiyi: "\u7231\u5947\u827A",
1454
- youku: "\u4F18\u9177\u89C6\u9891",
1455
- bilibili: "\u54D4\u54E9\u54D4\u54E9"
1456
- };
1457
1854
  function $constructor(e, t, n) {
1458
1855
  function r(n, r) {
1459
1856
  var i;
@@ -1484,7 +1881,34 @@ function $constructor(e, t, n) {
1484
1881
  value: e
1485
1882
  }), s;
1486
1883
  }
1487
- Object.freeze({
1884
+ (()=>{
1885
+ __webpack_require__.n = (e)=>{
1886
+ var t = e && e.__esModule ? ()=>e.default : ()=>e;
1887
+ return __webpack_require__.d(t, {
1888
+ a: t
1889
+ }), t;
1890
+ };
1891
+ })(), (()=>{
1892
+ __webpack_require__.d = (e, t)=>{
1893
+ for(var n in t)__webpack_require__.o(t, n) && !__webpack_require__.o(e, n) && Object.defineProperty(e, n, {
1894
+ enumerable: !0,
1895
+ get: t[n]
1896
+ });
1897
+ };
1898
+ })(), (()=>{
1899
+ __webpack_require__.g = (()=>{
1900
+ if ('object' == typeof globalThis) return globalThis;
1901
+ try {
1902
+ return this || Function('return this')();
1903
+ } catch (e) {
1904
+ if ('object' == typeof window) return window;
1905
+ }
1906
+ })();
1907
+ })(), (()=>{
1908
+ __webpack_require__.o = (e, t)=>Object.prototype.hasOwnProperty.call(e, t);
1909
+ })(), (()=>{
1910
+ __webpack_require__.nmd = (e)=>(e.paths = [], e.children || (e.children = []), e);
1911
+ })(), Object.freeze({
1488
1912
  status: "aborted"
1489
1913
  }), Symbol("zod_brand");
1490
1914
  class $ZodAsyncError extends Error {
@@ -2620,46 +3044,46 @@ const $ZodObject = $constructor("$ZodObject", (e, t)=>{
2620
3044
  let a = t.compile();
2621
3045
  return (t, n)=>a(e, t, n);
2622
3046
  }, s = util_isObject, a = !globalConfig.jitless, u = util_allowsEval, l = a && u.value, c = t.catchall;
2623
- e._zod.parse = (u, f)=>{
3047
+ e._zod.parse = (u, d)=>{
2624
3048
  r ?? (r = i.value);
2625
- let d = u.value;
2626
- if (!s(d)) return u.issues.push({
3049
+ let f = u.value;
3050
+ if (!s(f)) return u.issues.push({
2627
3051
  expected: "object",
2628
3052
  code: "invalid_type",
2629
- input: d,
3053
+ input: f,
2630
3054
  inst: e
2631
3055
  }), u;
2632
3056
  let p = [];
2633
- if (a && l && f?.async === !1 && !0 !== f.jitless) n || (n = o(t.shape)), u = n(u, f);
3057
+ if (a && l && d?.async === !1 && !0 !== d.jitless) n || (n = o(t.shape)), u = n(u, d);
2634
3058
  else {
2635
3059
  u.value = {};
2636
3060
  let e = r.shape;
2637
3061
  for (let t of r.keys){
2638
3062
  let n = e[t]._zod.run({
2639
- value: d[t],
3063
+ value: f[t],
2640
3064
  issues: []
2641
- }, f);
2642
- n instanceof Promise ? p.push(n.then((e)=>handlePropertyResult(e, u, t, d))) : handlePropertyResult(n, u, t, d);
3065
+ }, d);
3066
+ n instanceof Promise ? p.push(n.then((e)=>handlePropertyResult(e, u, t, f))) : handlePropertyResult(n, u, t, f);
2643
3067
  }
2644
3068
  }
2645
3069
  if (!c) return p.length ? Promise.all(p).then(()=>u) : u;
2646
- let h = [], m = r.keySet, g = c._zod, y = g.def.type;
2647
- for (let e of Object.keys(d)){
3070
+ let h = [], m = r.keySet, g = c._zod, v = g.def.type;
3071
+ for (let e of Object.keys(f)){
2648
3072
  if (m.has(e)) continue;
2649
- if ("never" === y) {
3073
+ if ("never" === v) {
2650
3074
  h.push(e);
2651
3075
  continue;
2652
3076
  }
2653
3077
  let t = g.run({
2654
- value: d[e],
3078
+ value: f[e],
2655
3079
  issues: []
2656
- }, f);
2657
- t instanceof Promise ? p.push(t.then((t)=>handlePropertyResult(t, u, e, d))) : handlePropertyResult(t, u, e, d);
3080
+ }, d);
3081
+ t instanceof Promise ? p.push(t.then((t)=>handlePropertyResult(t, u, e, f))) : handlePropertyResult(t, u, e, f);
2658
3082
  }
2659
3083
  return (h.length && u.issues.push({
2660
3084
  code: "unrecognized_keys",
2661
3085
  keys: h,
2662
- input: d,
3086
+ input: f,
2663
3087
  inst: e
2664
3088
  }), p.length) ? Promise.all(p).then(()=>u) : u;
2665
3089
  };
@@ -3886,12 +4310,40 @@ function refine(e, t = {}) {
3886
4310
  function superRefine(e) {
3887
4311
  return _superRefine(e);
3888
4312
  }
4313
+ function preprocess(e, t) {
4314
+ return pipe(transform(e), t);
4315
+ }
3889
4316
  function coerce_string(e) {
3890
4317
  return _coercedString(ZodString, e);
3891
4318
  }
3892
4319
  function coerce_number(e) {
3893
4320
  return _coercedNumber(ZodNumber, e);
3894
4321
  }
4322
+ var constants_MediaType = function(e) {
4323
+ return e.Movie = "movie", e.TV = "tv", e;
4324
+ }({});
4325
+ const PROVIDER_NAMES = {
4326
+ tencent: "\u817E\u8BAF\u89C6\u9891",
4327
+ iqiyi: "\u7231\u5947\u827A",
4328
+ youku: "\u4F18\u9177\u89C6\u9891",
4329
+ bilibili: "\u54D4\u54E9\u54D4\u54E9",
4330
+ renren: "\u4EBA\u4EBA\u89C6\u9891"
4331
+ }, searchDanmuParamsSchema = schemas_object({
4332
+ tmdbId: coerce_string().optional(),
4333
+ type: schemas_enum([
4334
+ "movie",
4335
+ "tv"
4336
+ ]).transform((e)=>e).catch("movie"),
4337
+ title: coerce_string().optional(),
4338
+ seriesName: coerce_string().optional(),
4339
+ season: coerce_number().optional(),
4340
+ episode: coerce_number().optional(),
4341
+ fuzzyMatch: schemas_enum([
4342
+ "always",
4343
+ "never",
4344
+ "auto"
4345
+ ]).catch("auto").optional().default("auto")
4346
+ });
3895
4347
  var enc_base64 = __webpack_require__(716), enc_base64_default = __webpack_require__.n(enc_base64);
3896
4348
  function safeJsonParse(e) {
3897
4349
  try {
@@ -3915,6 +4367,12 @@ function base64ToUint8Array(e) {
3915
4367
  }
3916
4368
  return n;
3917
4369
  }
4370
+ function generateUUID() {
4371
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (e)=>{
4372
+ let t = 16 * Math.random() | 0;
4373
+ return ("x" === e ? t : 0x3 & t | 0x8).toString(16);
4374
+ });
4375
+ }
3918
4376
  function _define_property(e, t, n) {
3919
4377
  return t in e ? Object.defineProperty(e, t, {
3920
4378
  value: n,
@@ -3955,10 +4413,10 @@ class Storage {
3955
4413
  setJson(e, t, n) {
3956
4414
  return this.set(e, JSON.stringify(t), n);
3957
4415
  }
3958
- cleanup() {
4416
+ async cleanup() {
3959
4417
  try {
3960
4418
  let e = "__storage_last_cleanup__";
3961
- this.get(e) || Widget.storage.keys().forEach((e)=>{
4419
+ this.get(e) || (await Widget.storage.keys()).forEach((e)=>{
3962
4420
  this.get(e);
3963
4421
  }), this.set(e, "1", {
3964
4422
  ttl: TTL_1_DAY
@@ -4094,9 +4552,9 @@ class Fetch {
4094
4552
  }, s), r = storage.getJson(n);
4095
4553
  if (r) return console.debug("fetch cache hit", n), Promise.resolve(r);
4096
4554
  }
4097
- let a = o ? void 0 : n, { timeout: u, schema: l, params: c, ...f } = s, d = t;
4098
- c && (d = `${t}?${url_parse.qs.stringify(c)}`), console.debug("\u2B06\uFE0F fetch", d, null != a ? a : "", f);
4099
- let p = o ? Widget.http.get(d, f) : Widget.http.post(d, a, f);
4555
+ let a = o ? void 0 : n, { timeout: u, schema: l, params: c, ...d } = s, f = t;
4556
+ c && (f = `${t}?${url_parse.qs.stringify(c)}`), console.debug("\u2B06\uFE0F fetch", f, null != a ? a : "", d);
4557
+ let p = o ? Widget.http.get(f, d) : Widget.http.post(f, a, d);
4100
4558
  return u && u > 0 ? Promise.race([
4101
4559
  p,
4102
4560
  this.createTimeoutPromise(u)
@@ -4280,23 +4738,8 @@ const doubanSubjectItemSchema = schemas_object({
4280
4738
  ].filter(Boolean).join(":")
4281
4739
  }
4282
4740
  })).data) ? void 0 : t.subjects.items) ? n : [];
4283
- }, getDoubanInfoParamsSchema = schemas_object({
4284
- tmdbId: coerce_string().optional(),
4285
- type: schemas_enum([
4286
- "movie",
4287
- "tv"
4288
- ]).transform((e)=>e),
4289
- title: coerce_string().optional(),
4290
- seriesName: coerce_string().optional(),
4291
- season: coerce_number().optional(),
4292
- episode: coerce_number().optional(),
4293
- fuzzyMatch: schemas_enum([
4294
- "always",
4295
- "never",
4296
- "auto"
4297
- ]).catch("auto").optional().default("auto")
4298
- }), getDoubanIds = async (e)=>{
4299
- let t = new Set(), { tmdbId: n, type: r, seriesName: i, season: o, fuzzyMatch: s } = getDoubanInfoParamsSchema.parse(e);
4741
+ }, getDoubanIds = async (e)=>{
4742
+ let t = new Set(), { tmdbId: n, type: r, seriesName: i, season: o, fuzzyMatch: s } = searchDanmuParamsSchema.parse(e);
4300
4743
  try {
4301
4744
  let e = await getDoubanInfoByTmdbId(r, n, o);
4302
4745
  (null == e ? void 0 : e.doubanId) && t.add(e.doubanId);
@@ -4336,7 +4779,7 @@ const doubanSubjectItemSchema = schemas_object({
4336
4779
  });
4337
4780
  if (200 !== i.statusCode) throw Error(`Failed to get video platform info: ${i.statusCode}, ${JSON.stringify(i.data)}`);
4338
4781
  let o = {
4339
- mediaType: (null == (t = i.data) ? void 0 : t.is_tv) ? "tv" : "movie",
4782
+ mediaType: (null == (t = i.data) ? void 0 : t.is_tv) ? constants_MediaType.TV : constants_MediaType.Movie,
4340
4783
  providers: {}
4341
4784
  };
4342
4785
  for (let e of null != (r = null == (n = i.data) ? void 0 : n.vendors) ? r : []){
@@ -5092,17 +5535,17 @@ const parseXml = function(e) {
5092
5535
  }
5093
5536
  ]) : n.add(this.options.textNodeName, a), o = t + 2;
5094
5537
  } else {
5095
- let s = readTagExp(e, o, this.options.removeNSPrefix), a = s.tagName, u = s.rawTagName, l = s.tagExp, c = s.attrExpPresent, f = s.closeIndex;
5538
+ let s = readTagExp(e, o, this.options.removeNSPrefix), a = s.tagName, u = s.rawTagName, l = s.tagExp, c = s.attrExpPresent, d = s.closeIndex;
5096
5539
  this.options.transformTagName && (a = this.options.transformTagName(a)), n && r && '!xml' !== n.tagname && (r = this.saveTextToParentTag(r, n, i, !1));
5097
- let d = n;
5098
- d && -1 !== this.options.unpairedTags.indexOf(d.tagname) && (n = this.tagsNodeStack.pop(), i = i.substring(0, i.lastIndexOf("."))), a !== t.tagname && (i += i ? "." + a : a);
5540
+ let f = n;
5541
+ f && -1 !== this.options.unpairedTags.indexOf(f.tagname) && (n = this.tagsNodeStack.pop(), i = i.substring(0, i.lastIndexOf("."))), a !== t.tagname && (i += i ? "." + a : a);
5099
5542
  let p = o;
5100
5543
  if (this.isItStopNode(this.options.stopNodes, i, a)) {
5101
5544
  let t = "";
5102
5545
  if (l.length > 0 && l.lastIndexOf("/") === l.length - 1) "/" === a[a.length - 1] ? (a = a.substr(0, a.length - 1), i = i.substr(0, i.length - 1), l = a) : l = l.substr(0, l.length - 1), o = s.closeIndex;
5103
5546
  else if (-1 !== this.options.unpairedTags.indexOf(a)) o = s.closeIndex;
5104
5547
  else {
5105
- let n = this.readStopNodeData(e, u, f + 1);
5548
+ let n = this.readStopNodeData(e, u, d + 1);
5106
5549
  if (!n) throw Error(`Unexpected end of ${u}`);
5107
5550
  o = n.i, t = n.tagContent;
5108
5551
  }
@@ -5117,7 +5560,7 @@ const parseXml = function(e) {
5117
5560
  let e = new XmlNode(a);
5118
5561
  this.tagsNodeStack.push(n), a !== l && c && (e[":@"] = this.buildAttributesMap(l, i, a)), this.addChild(n, e, i, p), n = e;
5119
5562
  }
5120
- r = "", o = f;
5563
+ r = "", o = d;
5121
5564
  }
5122
5565
  }
5123
5566
  else r += e[o];
@@ -5608,7 +6051,7 @@ class IqiyiScraper extends BaseScraper {
5608
6051
  console.debug(`URL\u{6784}\u{5EFA}: s1=${i}, s2=${o}, \u{5B8C}\u{6574}URL=${s}`);
5609
6052
  let a = await this.fetch.get(s, {
5610
6053
  zlibMode: !0
5611
- }), u = this.xmlParser.parse(a.data), { success: l, data: c, error: f } = iqiyiCommentsResponseSchema.safeParse(u);
6054
+ }), u = this.xmlParser.parse(a.data), { success: l, data: c, error: d } = iqiyiCommentsResponseSchema.safeParse(u);
5612
6055
  return l ? c.map((e)=>{
5613
6056
  let t = 16777215;
5614
6057
  try {
@@ -5621,7 +6064,7 @@ class IqiyiScraper extends BaseScraper {
5621
6064
  color: t,
5622
6065
  content: e.content
5623
6066
  };
5624
- }) : (console.warn(`\u{7231}\u{5947}\u{827A}: \u{89E3}\u{6790}\u{5F39}\u{5E55}\u{6570}\u{636E}\u{65F6}\u{53D1}\u{751F}\u{9519}\u{8BEF}:`, prettifyError(f)), []);
6067
+ }) : (console.warn(`\u{7231}\u{5947}\u{827A}: \u{89E3}\u{6790}\u{5F39}\u{5E55}\u{6570}\u{636E}\u{65F6}\u{53D1}\u{751F}\u{9519}\u{8BEF}:`, prettifyError(d)), []);
5625
6068
  }
5626
6069
  async getEpisodesV3(e) {
5627
6070
  let t = {
@@ -5658,7 +6101,7 @@ class IqiyiScraper extends BaseScraper {
5658
6101
  if (!c.length) {
5659
6102
  let t = null == e || null == (u = e.data) || null == (a = u.template) || null == (s = a.tabs) ? void 0 : s.flatMap((e)=>e.blocks || []).find((e)=>iqiyiEpisodeTabSchema.safeParse(e).success), { success: n, data: r, error: i } = iqiyiEpisodeTabSchema.safeParse(t);
5660
6103
  if (!n) return console.warn(`\u{7231}\u{5947}\u{827A}: \u{89E3}\u{6790}\u{5206}\u{96C6}\u{5217}\u{8868}\u{6570}\u{636E}\u{65F6}\u{53D1}\u{751F}\u{9519}\u{8BEF}:`, prettifyError(i), t), [];
5661
- let o = this.getEpisodeBlacklistPattern(), f = 1;
6104
+ let o = this.getEpisodeBlacklistPattern(), d = 1;
5662
6105
  for (let e of r){
5663
6106
  if (17 === e.mark_type_show) continue;
5664
6107
  let t = this.videoIdToEntityId(e.videoId);
@@ -5668,8 +6111,8 @@ class IqiyiScraper extends BaseScraper {
5668
6111
  entityId: t
5669
6112
  }),
5670
6113
  episodeTitle: e.title,
5671
- episodeNumber: e.short_display_name && null != (l = this.getEpisodeIndexFromTitle(e.short_display_name)) ? l : f
5672
- }), f += 1));
6114
+ episodeNumber: e.short_display_name && null != (l = this.getEpisodeIndexFromTitle(e.short_display_name)) ? l : d
6115
+ }), d += 1));
5673
6116
  }
5674
6117
  }
5675
6118
  return c;
@@ -5721,6 +6164,261 @@ class IqiyiScraper extends BaseScraper {
5721
6164
  });
5722
6165
  }
5723
6166
  }
6167
+ var aes = __webpack_require__(129), aes_default = __webpack_require__.n(aes), enc_utf8 = __webpack_require__(60), enc_utf8_default = __webpack_require__.n(enc_utf8), hmac_sha256 = __webpack_require__(939), hmac_sha256_default = __webpack_require__.n(hmac_sha256), mode_ecb = __webpack_require__(760), mode_ecb_default = __webpack_require__.n(mode_ecb), pad_pkcs7 = __webpack_require__(186), pad_pkcs7_default = __webpack_require__.n(pad_pkcs7);
6168
+ function isNil(e) {
6169
+ return null == e;
6170
+ }
6171
+ function renren_define_property(e, t, n) {
6172
+ return t in e ? Object.defineProperty(e, t, {
6173
+ value: n,
6174
+ enumerable: !0,
6175
+ configurable: !0,
6176
+ writable: !0
6177
+ }) : e[t] = n, e;
6178
+ }
6179
+ const AES_KEY = "3b744389882a4067", SIGN_SECRET = "ES513W0B1CsdUrR13Qk5EgDAKPeeKZY", BASE_API = "https://api.rrmj.plus", CLIENT_TYPE = "web_pc", CLIENT_VERSION = "1.0.0", renrenIdSchema = schemas_object({
6180
+ dramaId: coerce_number(),
6181
+ episodeId: coerce_number().optional()
6182
+ }), aesEcbPkcs7DecryptBase64 = (e)=>{
6183
+ let t = enc_base64_default().parse(e);
6184
+ return aes_default().decrypt({
6185
+ ciphertext: t
6186
+ }, enc_utf8_default().parse(AES_KEY), {
6187
+ mode: mode_ecb_default(),
6188
+ padding: pad_pkcs7_default()
6189
+ }).toString(enc_utf8_default());
6190
+ }, aesResponeSchema = schemas_string().transform((e)=>safeJsonParseWithZod(aesEcbPkcs7DecryptBase64(e), schemas_object({
6191
+ data: unknown()
6192
+ }))), renrenSearchResponseSchema = schemas_object({
6193
+ searchDramaList: schemas_array(unknown().transform((e)=>{
6194
+ var t;
6195
+ return null != (t = schemas_object({
6196
+ id: schemas_string(),
6197
+ title: schemas_string(),
6198
+ subtitle: schemas_string().optional(),
6199
+ classify: preprocess((e)=>{
6200
+ var t;
6201
+ return null != (t = ({
6202
+ 电影: constants_MediaType.Movie,
6203
+ 电视剧: constants_MediaType.TV
6204
+ })[e]) ? t : null;
6205
+ }, schemas_enum(constants_MediaType).nullish().catch(null)),
6206
+ name: schemas_string().optional(),
6207
+ year: coerce_number().optional()
6208
+ }).safeParse(e).data) ? t : null;
6209
+ })).transform((e)=>compact(e))
6210
+ }), renrenDramaInfoResponseSchema = schemas_object({
6211
+ dramaInfo: schemas_object({
6212
+ dramaId: coerce_number(),
6213
+ title: schemas_string(),
6214
+ enName: schemas_string().optional(),
6215
+ seasonNo: coerce_number().optional()
6216
+ }).optional(),
6217
+ episodeList: schemas_array(unknown().transform((e)=>{
6218
+ var t;
6219
+ return null != (t = schemas_object({
6220
+ id: coerce_number(),
6221
+ episodeNo: coerce_number(),
6222
+ text: schemas_string().optional(),
6223
+ title: schemas_string().optional()
6224
+ }).safeParse(e).data) ? t : null;
6225
+ })).transform((e)=>compact(e))
6226
+ }), renrenCommentItemSchema = schemas_object({
6227
+ d: schemas_string(),
6228
+ p: schemas_string().transform((e)=>{
6229
+ let t = e.split(","), n = coerce_number().catch(0.0).parse(t[0]), r = coerce_number().int().catch(1).parse(t[1]), i = coerce_number().int().catch(25).parse(t[2]), o = coerce_number().int().catch(16777215).parse(t[3]), s = t[6] || "", a = t[7] || `${n.toFixed(3)}:${s}`;
6230
+ return {
6231
+ timestamp: n,
6232
+ mode: r,
6233
+ size: i,
6234
+ color: o,
6235
+ userId: s,
6236
+ contentId: a
6237
+ };
6238
+ })
6239
+ }).transform((e)=>({
6240
+ id: e.p.contentId,
6241
+ timestamp: e.p.timestamp,
6242
+ mode: e.p.mode,
6243
+ color: e.p.color,
6244
+ content: e.d
6245
+ }));
6246
+ class RenRenScraper extends BaseScraper {
6247
+ get deviceId() {
6248
+ return generateUUID().toUpperCase();
6249
+ }
6250
+ async search(e) {
6251
+ let { success: t, data: n, error: r } = searchDanmuParamsSchema.safeParse(e);
6252
+ if (!t) return console.error("RenRen: Invalid search params", prettifyError(r)), [];
6253
+ let { seriesName: i, season: o } = n;
6254
+ if (!i) return [];
6255
+ let s = await this.request("/m-station/search/drama", {
6256
+ params: {
6257
+ keywords: i,
6258
+ size: Math.max(10, null != o ? o : 1),
6259
+ order: "match",
6260
+ search_after: "",
6261
+ isExecuteVipActivity: !0
6262
+ },
6263
+ cache: {
6264
+ cacheKey: `renren:search:${i}`,
6265
+ ttl: TTL_1_DAY
6266
+ },
6267
+ schema: aesResponeSchema.transform((e)=>{
6268
+ var t;
6269
+ let n = renrenSearchResponseSchema.safeParse(null == e ? void 0 : e.data);
6270
+ return n.success ? null == (t = n.data) ? void 0 : t.searchDramaList : (console.warn("RenRen: Search parse error", prettifyError(n.error), null == e ? void 0 : e.data), []);
6271
+ })
6272
+ });
6273
+ if (!s.data) return [];
6274
+ let a = [];
6275
+ for await (let e of s.data){
6276
+ var u, l, c, d, f, p, h;
6277
+ let t = e.title.replace(/<[^>]+>/g, "").replace(":", "\uFF1A"), n = await this.getDramaInfo(e.id);
6278
+ if (!n) {
6279
+ console.log("RenRen: Search", t, "not found");
6280
+ continue;
6281
+ }
6282
+ if (!((null == (l = n.dramaInfo) || null == (u = l.enName) ? void 0 : u.includes(i)) || (null == (d = n.dramaInfo) || null == (c = d.title) ? void 0 : c.includes(i)) || t.includes(i) || (null == (f = e.name) ? void 0 : f.includes(i)))) {
6283
+ console.log("RenRen: Search", t, "not match");
6284
+ continue;
6285
+ }
6286
+ let r = !1, s = null != (h = null == (p = n.dramaInfo) ? void 0 : p.seasonNo) ? h : 1;
6287
+ isNil(o) || s !== o || (r = !0);
6288
+ let m = {
6289
+ provider: this.providerName,
6290
+ dramaId: e.id,
6291
+ dramaTitle: t,
6292
+ season: s
6293
+ };
6294
+ if (a.push(m), r) {
6295
+ a = [
6296
+ m
6297
+ ];
6298
+ break;
6299
+ }
6300
+ }
6301
+ return a;
6302
+ }
6303
+ async getEpisodes(e, t) {
6304
+ let n = this.parseIdString(e);
6305
+ if (!n) return [];
6306
+ let r = await this.getDramaInfo(n.dramaId.toString());
6307
+ if (!r) return [];
6308
+ let i = r.episodeList.map((e)=>{
6309
+ var t;
6310
+ return {
6311
+ provider: this.providerName,
6312
+ episodeId: this.generateIdString({
6313
+ dramaId: n.dramaId,
6314
+ episodeId: e.id
6315
+ }),
6316
+ episodeTitle: e.title || `${null == (t = r.dramaInfo) ? void 0 : t.title} E${e.episodeNo}`,
6317
+ episodeNumber: e.episodeNo
6318
+ };
6319
+ });
6320
+ return isNil(t) ? i : i.filter((e)=>e.episodeNumber === t);
6321
+ }
6322
+ async getSegments() {
6323
+ return [
6324
+ {
6325
+ provider: this.providerName,
6326
+ segmentId: "1",
6327
+ startTime: 0
6328
+ }
6329
+ ];
6330
+ }
6331
+ async getComments(e) {
6332
+ let t = this.parseIdString(e);
6333
+ return (null == t ? void 0 : t.episodeId) ? this.fetchEpisodeDanmu(t.episodeId.toString()) : [];
6334
+ }
6335
+ async getDramaInfo(e) {
6336
+ return (await this.request("/m-station/drama/page", {
6337
+ params: {
6338
+ hsdrOpen: 0,
6339
+ isAgeLimit: 0,
6340
+ dramaId: e,
6341
+ hevcOpen: 1
6342
+ },
6343
+ schema: aesResponeSchema.transform((t)=>{
6344
+ let n = renrenDramaInfoResponseSchema.safeParse(null == t ? void 0 : t.data);
6345
+ return n.success ? n.data : (console.warn("RenRen: getDramaInfo", e, "parse error", prettifyError(n.error), null == t ? void 0 : t.data), null);
6346
+ }),
6347
+ cache: {
6348
+ cacheKey: `renren:dramaInfo:${e}`,
6349
+ ttl: TTL_1_DAY
6350
+ }
6351
+ })).data;
6352
+ }
6353
+ async fetchEpisodeDanmu(e) {
6354
+ return (await this.fetch.get(`https://static-dm.rrmj.plus/v1/produce/danmu/EPISODE/${e}`, {
6355
+ headers: {
6356
+ Accept: "application/json"
6357
+ },
6358
+ schema: schemas_array(unknown().transform((e)=>{
6359
+ var t;
6360
+ return null != (t = renrenCommentItemSchema.safeParse(e).data) ? t : null;
6361
+ })).transform((e)=>compact(e))
6362
+ })).data;
6363
+ }
6364
+ generateSignature(e) {
6365
+ let { method: t, aliId: n, timestampMs: r, path: i, sortedQuery: o, secret: s } = e, a = [
6366
+ t.toUpperCase(),
6367
+ `aliId:${n}`,
6368
+ `ct:${CLIENT_TYPE}`,
6369
+ `cv:${CLIENT_VERSION}`,
6370
+ `t:${r}`,
6371
+ `${i}?${o}`
6372
+ ].join("\n"), u = hmac_sha256_default()(a, s);
6373
+ return enc_base64_default().stringify(u);
6374
+ }
6375
+ generateHeaders(e) {
6376
+ let { method: t, path: n, params: r } = e, i = Object.entries(r).sort((e, t)=>e[0].localeCompare(t[0])).map((e)=>{
6377
+ let [t, n] = e;
6378
+ return `${t}=${encodeURIComponent(n)}`;
6379
+ }).join("&"), o = Date.now(), s = this.deviceId, a = this.generateSignature({
6380
+ method: t,
6381
+ aliId: s,
6382
+ timestampMs: o,
6383
+ path: n,
6384
+ sortedQuery: i,
6385
+ secret: SIGN_SECRET
6386
+ });
6387
+ return {
6388
+ clientVersion: CLIENT_VERSION,
6389
+ deviceId: s,
6390
+ clientType: CLIENT_TYPE,
6391
+ t: o.toString(),
6392
+ aliId: s,
6393
+ umid: s,
6394
+ token: "",
6395
+ cv: CLIENT_VERSION,
6396
+ ct: CLIENT_TYPE,
6397
+ uet: "9",
6398
+ "x-ca-sign": a,
6399
+ Accept: "application/json"
6400
+ };
6401
+ }
6402
+ request(e, t) {
6403
+ let { params: n = {}, ...r } = t, i = this.generateHeaders({
6404
+ method: "GET",
6405
+ path: e,
6406
+ params: n
6407
+ });
6408
+ return this.fetch.get(`${BASE_API}${e}`, {
6409
+ ...r,
6410
+ headers: i,
6411
+ params: n
6412
+ });
6413
+ }
6414
+ constructor(){
6415
+ super(), renren_define_property(this, "providerName", "renren"), renren_define_property(this, "idSchema", renrenIdSchema), this.fetch.setHeaders({
6416
+ "User-Agent": "Mozilla/5.0",
6417
+ Origin: "https://rrsp.com.cn",
6418
+ Referer: "https://rrsp.com.cn/"
6419
+ });
6420
+ }
6421
+ }
5724
6422
  function tencent_define_property(e, t, n) {
5725
6423
  return t in e ? Object.defineProperty(e, t, {
5726
6424
  value: n,
@@ -5807,13 +6505,7 @@ class TencentScraper extends BaseScraper {
5807
6505
  episodeNumber: r
5808
6506
  };
5809
6507
  });
5810
- if (void 0 !== t) {
5811
- let e = r.find((e)=>e.episodeNumber === t);
5812
- return e ? [
5813
- e
5814
- ] : [];
5815
- }
5816
- return r;
6508
+ return void 0 !== t ? r.filter((e)=>e.episodeNumber === t) : r;
5817
6509
  }
5818
6510
  async getSegments(e) {
5819
6511
  let t = this.parseIdString(e);
@@ -5922,7 +6614,6 @@ class TencentScraper extends BaseScraper {
5922
6614
  });
5923
6615
  }
5924
6616
  }
5925
- var enc_utf8 = __webpack_require__(60), enc_utf8_default = __webpack_require__.n(enc_utf8);
5926
6617
  function youku_define_property(e, t, n) {
5927
6618
  return t in e ? Object.defineProperty(e, t, {
5928
6619
  value: n,
@@ -5999,11 +6690,11 @@ class YoukuScraper extends BaseScraper {
5999
6690
  }),
6000
6691
  episodeTitle: e.title,
6001
6692
  episodeNumber: t
6002
- }), o = await this.getEpisodesPage(s, l, a), c = e(null != (r = null == o ? void 0 : o.videos) ? r : []), f = c.find((e)=>e.seq === u);
6003
- if (f) return [
6004
- n(f, u)
6693
+ }), o = await this.getEpisodesPage(s, l, a), c = e(null != (r = null == o ? void 0 : o.videos) ? r : []), d = c.find((e)=>e.seq === u);
6694
+ if (d) return [
6695
+ n(d, u)
6005
6696
  ];
6006
- let d = Number(null != (i = null == o ? void 0 : o.total) ? i : 0), p = Math.max(1, Math.ceil(d / a)), h = Array.from({
6697
+ let f = Number(null != (i = null == o ? void 0 : o.total) ? i : 0), p = Math.max(1, Math.ceil(f / a)), h = Array.from({
6007
6698
  length: p
6008
6699
  }, (e, t)=>t + 1).filter((e)=>e !== l), m = [];
6009
6700
  for (let e of h){
@@ -6014,17 +6705,17 @@ class YoukuScraper extends BaseScraper {
6014
6705
  let g = e(m.flatMap((e)=>{
6015
6706
  var t;
6016
6707
  return null != (t = null == e ? void 0 : e.videos) ? t : [];
6017
- })), y = [
6708
+ })), v = [
6018
6709
  ...c,
6019
6710
  ...g
6020
6711
  ];
6021
6712
  if (void 0 !== t) {
6022
- let e = y.find((e)=>e.seq === u);
6713
+ let e = v.find((e)=>e.seq === u);
6023
6714
  return e ? [
6024
6715
  n(e, u)
6025
6716
  ] : [];
6026
6717
  }
6027
- return y.sort((e, t)=>{
6718
+ return v.sort((e, t)=>{
6028
6719
  var n, r;
6029
6720
  return (null != (n = e.seq) ? n : Number.MAX_SAFE_INTEGER) - (null != (r = t.seq) ? r : Number.MAX_SAFE_INTEGER);
6030
6721
  }).map((e, t)=>n(e, t + 1));
@@ -6212,7 +6903,8 @@ const scrapers = [
6212
6903
  TencentScraper,
6213
6904
  YoukuScraper,
6214
6905
  IqiyiScraper,
6215
- BilibiliScraper
6906
+ BilibiliScraper,
6907
+ RenRenScraper
6216
6908
  ];
6217
6909
  class scrapers_Scraper {
6218
6910
  get scraperMap() {
@@ -6301,7 +6993,7 @@ class scrapers_Scraper {
6301
6993
  }));
6302
6994
  }
6303
6995
  getEpisodeNumber(e, t) {
6304
- if ("tv" === e && t) return parseInt(t);
6996
+ if (e === constants_MediaType.TV && t) return parseInt(t);
6305
6997
  }
6306
6998
  async getDetailWithAnimeId(e, t, n) {
6307
6999
  let [r, i] = e.split(":");
@@ -6324,13 +7016,33 @@ class scrapers_Scraper {
6324
7016
  });
6325
7017
  return this.getEpisodes(...uniqWith(o, isEqual));
6326
7018
  }
7019
+ async getDetailWithSearchParams(e) {
7020
+ let t = [];
7021
+ for (let n of this.scrapers)n.search && t.push(n.search(e).catch((e)=>(console.error(e), [])));
7022
+ let n = (await Promise.all(t)).flat();
7023
+ if (!n.length) return [];
7024
+ let r = this.getEpisodeNumber(e.type, e.episode), i = [];
7025
+ for (let e of n){
7026
+ let t = this.scraperMap[e.provider];
7027
+ if (!t) continue;
7028
+ let n = t.generateIdString({
7029
+ dramaId: e.dramaId
7030
+ });
7031
+ i.push({
7032
+ provider: e.provider,
7033
+ idString: n,
7034
+ episodeNumber: r
7035
+ });
7036
+ }
7037
+ return this.getEpisodes(...uniqWith(i, isEqual));
7038
+ }
6327
7039
  constructor(){
6328
7040
  scrapers_define_property(this, "scrapers", []), scrapers.forEach((e)=>{
6329
7041
  this.scrapers.push(new e());
6330
7042
  });
6331
7043
  }
6332
7044
  }
6333
- const widgetVersion = "0.1.1";
7045
+ const widgetVersion = "0.2.0";
6334
7046
  WidgetMetadata = {
6335
7047
  id: "baranwang.danmu.universe",
6336
7048
  title: "\u901A\u7528\u5F39\u5E55",
@@ -6370,13 +7082,6 @@ WidgetMetadata = {
6370
7082
  functionName: "searchDanmu",
6371
7083
  description: "\u641C\u7D22\u5F39\u5E55"
6372
7084
  },
6373
- {
6374
- type: "danmu",
6375
- id: "getComments",
6376
- title: "\u83B7\u53D6\u5F39\u5E55",
6377
- functionName: "getComments",
6378
- description: "\u83B7\u53D6\u5F39\u5E55"
6379
- },
6380
7085
  {
6381
7086
  type: "danmu",
6382
7087
  id: "getDetail",
@@ -6384,6 +7089,13 @@ WidgetMetadata = {
6384
7089
  functionName: "getDetail",
6385
7090
  description: "\u83B7\u53D6\u8BE6\u60C5"
6386
7091
  },
7092
+ {
7093
+ type: "danmu",
7094
+ id: "getComments",
7095
+ title: "\u83B7\u53D6\u5F39\u5E55",
7096
+ functionName: "getComments",
7097
+ description: "\u83B7\u53D6\u5F39\u5E55"
7098
+ },
6387
7099
  {
6388
7100
  type: "danmu",
6389
7101
  id: "getDanmuWithSegmentTime",
@@ -6395,25 +7107,23 @@ WidgetMetadata = {
6395
7107
  };
6396
7108
  const src_scraper = new scrapers_Scraper();
6397
7109
  searchDanmu = async (e)=>{
6398
- storage.cleanup();
6399
- let { tmdbId: t, type: n, episode: r } = e;
6400
- if (!t) return null;
6401
- let i = await getDoubanIds(e);
6402
- return i.length ? {
6403
- animes: (await src_scraper.getDetailWithDoubanIds(i, n, r)).map((e)=>{
7110
+ let { type: t, episode: n, fuzzyMatch: r = "auto" } = e, i = [], o = await getDoubanIds(e);
7111
+ if (o.length && (i = await src_scraper.getDetailWithDoubanIds(o, t, n)), !(null == i ? void 0 : i.length) && "auto" === r || "always" === r) {
7112
+ let t = await src_scraper.getDetailWithSearchParams(e);
7113
+ i = i.concat(t);
7114
+ }
7115
+ return i.length, {
7116
+ animes: i.map((e)=>{
6404
7117
  let t = `[${PROVIDER_NAMES[e.provider]}] `;
6405
7118
  return e.episodeTitle && (t += e.episodeTitle), {
6406
7119
  animeId: e.episodeId,
6407
7120
  animeTitle: t
6408
7121
  };
6409
7122
  })
6410
- } : null;
7123
+ };
6411
7124
  }, getDetail = async (e)=>{
6412
- let { animeId: t, tmdbId: n, type: r, episode: i } = e;
6413
- if (!n && !t) return null;
6414
- if (t) return src_scraper.getDetailWithAnimeId(t.toString(), r, i);
6415
- let o = await getDoubanIds(e);
6416
- return o.length ? src_scraper.getDetailWithDoubanIds(o, r, i) : null;
7125
+ let { animeId: t, type: n, episode: r } = e;
7126
+ return t ? src_scraper.getDetailWithAnimeId(t.toString(), n, r) : null;
6417
7127
  }, getComments = async (e)=>{
6418
7128
  let { animeId: t, commentId: n, segmentTime: r, tmdbId: i, type: o, episode: s } = e, a = null != n ? n : t;
6419
7129
  if (!a) {