@dan-uni/dan-any 0.9.4 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -3919,6 +3919,10 @@ var __webpack_modules__ = {
3919
3919
  var implementation = __webpack_require__("../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js");
3920
3920
  module.exports = Function.prototype.bind || implementation;
3921
3921
  },
3922
+ "../../node_modules/.pnpm/generator-function@2.0.1/node_modules/generator-function/index.js": function(module) {
3923
+ const cached = (function*() {}).constructor;
3924
+ module.exports = ()=>cached;
3925
+ },
3922
3926
  "../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js": function(module, __unused_webpack_exports, __webpack_require__) {
3923
3927
  var undefined;
3924
3928
  var $Object = __webpack_require__("../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js");
@@ -4663,7 +4667,7 @@ var __webpack_modules__ = {
4663
4667
  return tryFunctionObject(value);
4664
4668
  };
4665
4669
  },
4666
- "../../node_modules/.pnpm/is-generator-function@1.1.0/node_modules/is-generator-function/index.js": function(module, __unused_webpack_exports, __webpack_require__) {
4670
+ "../../node_modules/.pnpm/is-generator-function@1.1.2/node_modules/is-generator-function/index.js": function(module, __unused_webpack_exports, __webpack_require__) {
4667
4671
  var callBound = __webpack_require__("../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js");
4668
4672
  var safeRegexTest = __webpack_require__("../../node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js");
4669
4673
  var isFnRegex = safeRegexTest(/^\s*(?:function)?\*/);
@@ -4671,13 +4675,7 @@ var __webpack_modules__ = {
4671
4675
  var getProto = __webpack_require__("../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js");
4672
4676
  var toStr = callBound('Object.prototype.toString');
4673
4677
  var fnToStr = callBound('Function.prototype.toString');
4674
- var getGeneratorFunc = function() {
4675
- if (!hasToStringTag) return false;
4676
- try {
4677
- return Function('return function*() {}')();
4678
- } catch (e) {}
4679
- };
4680
- var GeneratorFunction;
4678
+ var getGeneratorFunction = __webpack_require__("../../node_modules/.pnpm/generator-function@2.0.1/node_modules/generator-function/index.js");
4681
4679
  module.exports = function(fn) {
4682
4680
  if ('function' != typeof fn) return false;
4683
4681
  if (isFnRegex(fnToStr(fn))) return true;
@@ -4686,11 +4684,8 @@ var __webpack_modules__ = {
4686
4684
  return '[object GeneratorFunction]' === str;
4687
4685
  }
4688
4686
  if (!getProto) return false;
4689
- if (void 0 === GeneratorFunction) {
4690
- var generatorFunc = getGeneratorFunc();
4691
- GeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;
4692
- }
4693
- return getProto(fn) === GeneratorFunction;
4687
+ var GeneratorFunction = getGeneratorFunction();
4688
+ return GeneratorFunction && getProto(fn) === GeneratorFunction.prototype;
4694
4689
  };
4695
4690
  },
4696
4691
  "../../node_modules/.pnpm/is-nan@1.3.2/node_modules/is-nan/implementation.js": function(module) {
@@ -10686,7 +10681,7 @@ var __webpack_modules__ = {
10686
10681
  },
10687
10682
  "../../node_modules/.pnpm/util@0.12.5/node_modules/util/support/types.js": function(__unused_webpack_module, exports, __webpack_require__) {
10688
10683
  var isArgumentsObject = __webpack_require__("../../node_modules/.pnpm/is-arguments@1.2.0/node_modules/is-arguments/index.js");
10689
- var isGeneratorFunction = __webpack_require__("../../node_modules/.pnpm/is-generator-function@1.1.0/node_modules/is-generator-function/index.js");
10684
+ var isGeneratorFunction = __webpack_require__("../../node_modules/.pnpm/is-generator-function@1.1.2/node_modules/is-generator-function/index.js");
10690
10685
  var whichTypedArray = __webpack_require__("../../node_modules/.pnpm/which-typed-array@1.1.19/node_modules/which-typed-array/index.js");
10691
10686
  var isTypedArray = __webpack_require__("../../node_modules/.pnpm/is-typed-array@1.1.15/node_modules/is-typed-array/index.js");
10692
10687
  function uncurryThis(f) {
@@ -11500,7 +11495,7 @@ __webpack_require__.d(dm_gen_namespaceObject, {
11500
11495
  Pools: ()=>dm_gen_Pools,
11501
11496
  UniDM: ()=>UniDM
11502
11497
  });
11503
- var package_namespaceObject = JSON.parse('{"u2":"@dan-uni/dan-any","i8":"0.9.4","e8":"https://github.com/ani-uni/danuni/tree/master/packages/dan-any#readme"}');
11498
+ var package_namespaceObject = JSON.parse('{"UU":"@dan-uni/dan-any","rE":"0.9.5","TB":"https://github.com/ani-uni/danuni/tree/master/packages/dan-any#readme"}');
11504
11499
  const file_bili_dm = /*@__PURE__*/ fileDesc("Cg1iaWxpL2RtLnByb3RvEiBiaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MSJkCgZBdmF0YXISCgoCaWQYASABKAkSCwoDdXJsGAIgASgJEkEKC2F2YXRhcl90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyVHlwZSIjCgZCdWJibGUSDAoEdGV4dBgBIAEoCRILCgN1cmwYAiABKAkixgEKCEJ1YmJsZVYyEgwKBHRleHQYASABKAkSCwoDdXJsGAIgASgJEkEKC2J1YmJsZV90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQnViYmxlVHlwZRIVCg1leHBvc3VyZV9vbmNlGAQgASgIEkUKDWV4cG9zdXJlX3R5cGUYBSABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvc3VyZVR5cGUiWwoGQnV0dG9uEgwKBHRleHQYASABKAkSQwoGYWN0aW9uGAIgASgOMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVG9hc3RGdW5jdGlvblR5cGUiWAoOQnV6endvcmRDb25maWcSRgoIa2V5d29yZHMYASADKAsyNC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdXp6d29yZFNob3dDb25maWcieAoSQnV6endvcmRTaG93Q29uZmlnEgwKBG5hbWUYASABKAkSDgoGc2NoZW1hGAIgASgJEg4KBnNvdXJjZRgDIAEoBRIKCgJpZBgEIAEoAxITCgtidXp6d29yZF9pZBgFIAEoAxITCgtzY2hlbWFfdHlwZRgGIAEoBSJ7CghDaGVja0JveBIMCgR0ZXh0GAEgASgJEjwKBHR5cGUYAiABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja2JveFR5cGUSFQoNZGVmYXVsdF92YWx1ZRgDIAEoCBIMCgRzaG93GAQgASgIIm8KCkNoZWNrQm94VjISDAoEdGV4dBgBIAEoCRI8CgR0eXBlGAIgASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2hlY2tib3hUeXBlEhUKDWRlZmF1bHRfdmFsdWUYAyABKAgiggIKC0NsaWNrQnV0dG9uEhUKDXBvcnRyYWl0X3RleHQYASADKAkSFgoObGFuZHNjYXBlX3RleHQYAiADKAkSGwoTcG9ydHJhaXRfdGV4dF9mb2N1cxgDIAMoCRIcChRsYW5kc2NhcGVfdGV4dF9mb2N1cxgEIAMoCRJBCgtyZW5kZXJfdHlwZRgFIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlJlbmRlclR5cGUSDAoEc2hvdxgGIAEoCBI4CgZidWJibGUYByABKAsyKC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdWJibGUiswIKDUNsaWNrQnV0dG9uVjISFQoNcG9ydHJhaXRfdGV4dBgBIAMoCRIWCg5sYW5kc2NhcGVfdGV4dBgCIAMoCRIbChNwb3J0cmFpdF90ZXh0X2ZvY3VzGAMgAygJEhwKFGxhbmRzY2FwZV90ZXh0X2ZvY3VzGAQgAygJEkEKC3JlbmRlcl90eXBlGAUgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIXCg90ZXh0X2lucHV0X3Bvc3QYBiABKAgSFQoNZXhwb3N1cmVfb25jZRgHIAEoCBJFCg1leHBvc3VyZV90eXBlGAggASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwb3N1cmVUeXBlIksKB0NvbW1hbmQSQAoLY29tbWFuZF9kbXMYASADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Db21tYW5kRG0i5gEKCUNvbW1hbmREbRIKCgJpZBgBIAEoAxILCgNvaWQYAiABKAMSCwoDbWlkGAMgASgDEg8KB2NvbW1hbmQYBCABKAkSDwoHY29udGVudBgFIAEoCRIQCghwcm9ncmVzcxgGIAEoBRINCgVjdGltZRgHIAEoCRINCgVtdGltZRgIIAEoCRINCgVleHRyYRgJIAEoCRINCgVpZFN0chgKIAEoCRIMCgR0eXBlGAsgASgFEhMKC2F1dG9fY3JlYXRlGAwgASgIEhIKCmNvdW50X2Rvd24YDSABKAUSDAoEYXR0chgOIAEoBSJQCg1EYW5tYWt1QUlGbGFnEj8KCGRtX2ZsYWdzGAEgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUZsYWciiwMKC0Rhbm1ha3VFbGVtEgoKAmlkGAEgASgDEhAKCHByb2dyZXNzGAIgASgFEgwKBG1vZGUYAyABKAUSEAoIZm9udHNpemUYBCABKAUSPwoFY29sb3IYBSABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsVHlwZRIQCghtaWRfaGFzaBgGIAEoCRIPCgdjb250ZW50GAcgASgJEg0KBWN0aW1lGAggASgDEg4KBndlaWdodBgJIAEoBRIOCgZhY3Rpb24YCiABKAkSDAoEcG9vbBgLIAEoBRIOCgZpZF9zdHIYDCABKAkSDAoEYXR0chgNIAEoBRIRCglhbmltYXRpb24YFiABKAkSDQoFZXh0cmEYFyABKAkSQgoIY29sb3JmdWwYGCABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsVHlwZRIMCgR0eXBlGBkgASgFEgsKA29pZBgaIAEoAyIpCgtEYW5tYWt1RmxhZxIMCgRkbWlkGAEgASgDEgwKBGZsYWcYAiABKAUiSwoRRGFubWFrdUZsYWdDb25maWcSEAoIcmVjX2ZsYWcYASABKAUSEAoIcmVjX3RleHQYAiABKAkSEgoKcmVjX3N3aXRjaBgDIAEoBSKLBwoYRGFubXVEZWZhdWx0UGxheWVyQ29uZmlnEikKIXBsYXllcl9kYW5tYWt1X3VzZV9kZWZhdWx0X2NvbmZpZxgBIAEoCBIsCiRwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9zd2l0Y2gYBCABKAgSKwojcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWwYBSABKAUSHwoXcGxheWVyX2Rhbm1ha3VfYmxvY2t0b3AYBiABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tzY3JvbGwYByABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tib3R0b20YCCABKAgSJAoccGxheWVyX2Rhbm1ha3VfYmxvY2tjb2xvcmZ1bBgJIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9ibG9ja3JlcGVhdBgKIAEoCBIjChtwbGF5ZXJfZGFubWFrdV9ibG9ja3NwZWNpYWwYCyABKAgSHgoWcGxheWVyX2Rhbm1ha3Vfb3BhY2l0eRgMIAEoAhIkChxwbGF5ZXJfZGFubWFrdV9zY2FsaW5nZmFjdG9yGA0gASgCEh0KFXBsYXllcl9kYW5tYWt1X2RvbWFpbhgOIAEoAhIcChRwbGF5ZXJfZGFubWFrdV9zcGVlZBgPIAEoBRIkChxpbmxpbmVfcGxheWVyX2Rhbm1ha3Vfc3dpdGNoGBAgASgIEikKIXBsYXllcl9kYW5tYWt1X3Nlbmlvcl9tb2RlX3N3aXRjaBgRIAEoBRIuCiZwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbF92MhgSIAEoBRKYAQoqcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWxfdjJfbWFwGBMgAygLMmQuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVEZWZhdWx0UGxheWVyQ29uZmlnLlBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EiUKHXBsYXllcl9kYW5tYWt1X2VuYWJsZV9oZXJkX2RtGBQgASgIGksKKVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEi7AkKEURhbm11UGxheWVyQ29uZmlnEh0KFXBsYXllcl9kYW5tYWt1X3N3aXRjaBgBIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9zd2l0Y2hfc2F2ZRgCIAEoCBIpCiFwbGF5ZXJfZGFubWFrdV91c2VfZGVmYXVsdF9jb25maWcYAyABKAgSLAokcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfc3dpdGNoGAQgASgIEisKI3BsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsGAUgASgFEh8KF3BsYXllcl9kYW5tYWt1X2Jsb2NrdG9wGAYgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2Nrc2Nyb2xsGAcgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2NrYm90dG9tGAggASgIEiQKHHBsYXllcl9kYW5tYWt1X2Jsb2NrY29sb3JmdWwYCSABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tyZXBlYXQYCiABKAgSIwobcGxheWVyX2Rhbm1ha3VfYmxvY2tzcGVjaWFsGAsgASgIEh4KFnBsYXllcl9kYW5tYWt1X29wYWNpdHkYDCABKAISJAoccGxheWVyX2Rhbm1ha3Vfc2NhbGluZ2ZhY3RvchgNIAEoAhIdChVwbGF5ZXJfZGFubWFrdV9kb21haW4YDiABKAISHAoUcGxheWVyX2Rhbm1ha3Vfc3BlZWQYDyABKAUSJgoecGxheWVyX2Rhbm1ha3VfZW5hYmxlYmxvY2tsaXN0GBAgASgIEiQKHGlubGluZV9wbGF5ZXJfZGFubWFrdV9zd2l0Y2gYESABKAgSJAocaW5saW5lX3BsYXllcl9kYW5tYWt1X2NvbmZpZxgSIAEoBRImCh5wbGF5ZXJfZGFubWFrdV9pb3Nfc3dpdGNoX3NhdmUYEyABKAUSKQohcGxheWVyX2Rhbm1ha3Vfc2VuaW9yX21vZGVfc3dpdGNoGBQgASgFEi4KJnBsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsX3YyGBUgASgFEpEBCipwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbF92Ml9tYXAYFiADKAsyXS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckNvbmZpZy5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsVjJNYXBFbnRyeRIlCh1wbGF5ZXJfZGFubWFrdV9lbmFibGVfaGVyZF9kbRgXIAEoCBImCh5wbGF5ZXJfZGFubWFrdV9ibG9ja3RvcF9ib3R0b20YGCABKAgSIAoYcGxheWVyX2Rhbm1ha3VfZG9tYWluX3YyGBkgASgFEh4KFnBsYXllcl9kYW5tYWt1X2RlbnNpdHkYGiABKAUSJQodcGxheWVyX2Rhbm1ha3Vfc3VidGl0bGVfcHJvb2YYGyABKAgSIwobcGxheWVyX2Rhbm1ha3VfcGVvcGxlX3Byb29mGBwgASgIGksKKVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEiMAoWRGFubXVQbGF5ZXJDb25maWdQYW5lbBIWCg5zZWxlY3Rpb25fdGV4dBgBIAEoCSJLChhEYW5tdVBsYXllckR5bmFtaWNDb25maWcSEAoIcHJvZ3Jlc3MYASABKAUSHQoVcGxheWVyX2Rhbm1ha3VfZG9tYWluGA4gASgCIpADChVEYW5tdVBsYXllclZpZXdDb25maWcSYQodZGFubXVrdV9kZWZhdWx0X3BsYXllcl9jb25maWcYASABKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdURlZmF1bHRQbGF5ZXJDb25maWcSUgoVZGFubXVrdV9wbGF5ZXJfY29uZmlnGAIgASgLMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWcSYQodZGFubXVrdV9wbGF5ZXJfZHluYW1pY19jb25maWcYAyADKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckR5bmFtaWNDb25maWcSXQobZGFubXVrdV9wbGF5ZXJfY29uZmlnX3BhbmVsGAQgASgLMjguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWdQYW5lbCKZBQoURGFubXVXZWJQbGF5ZXJDb25maWcSEQoJZG1fc3dpdGNoGAEgASgIEhEKCWFpX3N3aXRjaBgCIAEoCBIQCghhaV9sZXZlbBgDIAEoBRIQCghibG9ja3RvcBgEIAEoCBITCgtibG9ja3Njcm9sbBgFIAEoCBITCgtibG9ja2JvdHRvbRgGIAEoCBISCgpibG9ja2NvbG9yGAcgASgIEhQKDGJsb2Nrc3BlY2lhbBgIIAEoCBIUCgxwcmV2ZW50c2hhZGUYCSABKAgSDQoFZG1hc2sYCiABKAgSDwoHb3BhY2l0eRgLIAEoAhIOCgZkbWFyZWEYDCABKAUSEQoJc3BlZWRwbHVzGA0gASgCEhAKCGZvbnRzaXplGA4gASgCEhIKCnNjcmVlbnN5bmMYDyABKAgSEQoJc3BlZWRzeW5jGBAgASgIEhIKCmZvbnRmYW1pbHkYESABKAkSDAoEYm9sZBgSIAEoCBISCgpmb250Ym9yZGVyGBMgASgFEhEKCWRyYXdfdHlwZRgUIAEoCRIaChJzZW5pb3JfbW9kZV9zd2l0Y2gYFSABKAUSEwoLYWlfbGV2ZWxfdjIYFiABKAUSYQoPYWlfbGV2ZWxfdjJfbWFwGBcgAygLMkguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVXZWJQbGF5ZXJDb25maWcuQWlMZXZlbFYyTWFwRW50cnkSFwoPYmxvY2t0b3BfYm90dG9tGBggASgIEhIKCmRtX2FyZWFfdjIYGSABKAUSEgoKZG1fZGVuc2l0eRgaIAEoBRozChFBaUxldmVsVjJNYXBFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIlkKCkRtQ29sb3JmdWwSPgoEdHlwZRgBIAEoDjIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtQ29sb3JmdWxUeXBlEgsKA3NyYxgCIAEoCSJQCg9EbUV4cG9SZXBvcnRSZXESEgoKc2Vzc2lvbl9pZBgBIAEoCRILCgNvaWQYAiABKAMSDQoFZG1pZHMYAyABKAwSDQoFc3BtaWQYBCABKAkiEQoPRG1FeHBvUmVwb3J0UmVzIm0KCkRtSGVyZFZpZXcSGwoTZGlzcGxheV9oZXJkX2RtX251bRgBIAEoBRJCCghoZXJkX2RtcxgCIAMoCzIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlZpZXdIZXJkRG1FbGVtIpYCCgpEbU1hc2tXYWxsEg0KBXN0YXJ0GAEgASgDEgsKA2VuZBgCIAEoAxIPCgdjb250ZW50GAMgASgJEk0KDGNvbnRlbnRfdHlwZRgEIAEoDjI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxDb250ZW50VHlwZRJFCghiaXpfdHlwZRgFIAEoDjIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxCaXpUeXBlEkUKCGNvbnRlbnRzGAYgAygLMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1NYXNrV2FsbENvbnRlbnQiawoRRG1NYXNrV2FsbENvbnRlbnQSRQoEdHlwZRgBIAEoDjI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxDb250ZW50VHlwZRIPCgdjb250ZW50GAIgASgJIs0QChFEbVBsYXllckNvbmZpZ1JlcRIKCgJ0cxgBIAEoAxJFCgZzd2l0Y2gYAiABKAsyNS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1U3dpdGNoEk4KC3N3aXRjaF9zYXZlGAMgASgLMjkuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVN3aXRjaFNhdmUSWwoSdXNlX2RlZmF1bHRfY29uZmlnGAQgASgLMj8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVVzZURlZmF1bHRDb25maWcSYQoVYWlfcmVjb21tZW5kZWRfc3dpdGNoGAUgASgLMkIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRTd2l0Y2gSXwoUYWlfcmVjb21tZW5kZWRfbGV2ZWwYBiABKAsyQS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsEkkKCGJsb2NrdG9wGAcgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrdG9wEk8KC2Jsb2Nrc2Nyb2xsGAggASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2Nrc2Nyb2xsEk8KC2Jsb2NrYm90dG9tGAkgASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrYm90dG9tElMKDWJsb2NrY29sb3JmdWwYCiABKAsyPC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tjb2xvcmZ1bBJPCgtibG9ja3JlcGVhdBgLIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VCbG9ja3JlcGVhdBJRCgxibG9ja3NwZWNpYWwYDCABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tzcGVjaWFsEkcKB29wYWNpdHkYDSABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1T3BhY2l0eRJTCg1zY2FsaW5nZmFjdG9yGA4gASgLMjwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVNjYWxpbmdmYWN0b3ISRQoGZG9tYWluGA8gASgLMjUuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURvbWFpbhJDCgVzcGVlZBgQIAEoCzI0LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTcGVlZBJXCg9lbmFibGVibG9ja2xpc3QYESABKAsyPi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1RW5hYmxlYmxvY2tsaXN0El4KGWlubGluZVBsYXllckRhbm1ha3VTd2l0Y2gYEiABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5JbmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoElsKEnNlbmlvcl9tb2RlX3N3aXRjaBgTIAEoCzI/LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTZW5pb3JNb2RlU3dpdGNoEmQKF2FpX3JlY29tbWVuZGVkX2xldmVsX3YyGBQgASgLMkMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRMZXZlbFYyElMKDmVuYWJsZV9oZXJkX2RtGBUgASgLMjsuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUVuYWJsZUhlcmREbRJWCg9ibG9ja3RvcF9ib3R0b20YFiABKAsyPS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2t0b3BCb3R0b20SSgoJZG9tYWluX3YyGBcgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURvbWFpblYyEkcKB2RlbnNpdHkYGCABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1RGVuc2l0eRJUCg5zdWJ0aXRsZV9wcm9vZhgZIAEoCzI8LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTdWJ0aXRsZVByb29mElAKDHBlb3BsZV9wcm9vZhgaIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VQZW9wbGVQcm9vZiIvCgtEbVNlZ0NvbmZpZxIRCglwYWdlX3NpemUYASABKAMSDQoFdG90YWwYAiABKAMikQIKEERtU2VnTW9iaWxlUmVwbHkSPAoFZWxlbXMYASADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbRINCgVzdGF0ZRgCIAEoBRJACgdhaV9mbGFnGAMgASgLMi8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUFJRmxhZxIVCg1zZWdtZW50X3J1bGVzGAQgAygDEkIKDGNvbG9yZnVsX3NyYxgFIAMoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtQ29sb3JmdWwSEwoLY29udGV4dF9zcmMYBiABKAkiygEKDkRtU2VnTW9iaWxlUmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEoBRIVCg1zZWdtZW50X2luZGV4GAQgASgDEhYKDnRlZW5hZ2Vyc19tb2RlGAUgASgFEgoKAnBzGAYgASgDEgoKAnBlGAcgASgDEhEKCXB1bGxfbW9kZRgIIAEoBRISCgpmcm9tX3NjZW5lGAkgASgFEg0KBXNwbWlkGAogASgJEhMKC2NvbnRleHRfZXh0GAsgASgJIlwKDURtU2VnT3R0UmVwbHkSPAoFZWxlbXMYASADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbRINCgVzdGF0ZRgCIAEoBSJMCgtEbVNlZ090dFJlcRILCgNwaWQYASABKAMSCwoDb2lkGAIgASgDEgwKBHR5cGUYAyABKAUSFQoNc2VnbWVudF9pbmRleBgEIAEoAyJdCg1EbVNlZ1NES1JlcGx5Eg4KBmNsb3NlZBgBIAEoCBI8CgVlbGVtcxgCIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VFbGVtIkwKC0RtU2VnU0RLUmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEoBRIVCg1zZWdtZW50X2luZGV4GAQgASgDIncKCURtU3ViVmlldxIMCgR0eXBlGAEgASgFEgsKA29pZBgCIAEoAxILCgNwaWQYAyABKAMSQgoLcG9zdF9wYW5lbDIYBCADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxWMiKhCQoLRG1WaWV3UmVwbHkSDgoGY2xvc2VkGAEgASgIEjkKBG1hc2sYAiABKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5WaWRlb01hc2sSQQoIc3VidGl0bGUYAyABKAsyLy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5WaWRlb1N1YnRpdGxlEhMKC3NwZWNpYWxfZG1zGAQgAygJEkQKB2FpX2ZsYWcYBSABKAsyMy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RmxhZ0NvbmZpZxJOCg1wbGF5ZXJfY29uZmlnGAYgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJWaWV3Q29uZmlnEhYKDnNlbmRfYm94X3N0eWxlGAcgASgFEg0KBWFsbG93GAggASgIEhEKCWNoZWNrX2JveBgJIAEoCBIaChJjaGVja19ib3hfc2hvd19tc2cYCiABKAkSGAoQdGV4dF9wbGFjZWhvbGRlchgLIAEoCRIZChFpbnB1dF9wbGFjZWhvbGRlchgMIAEoCRIdChVyZXBvcnRfZmlsdGVyX2NvbnRlbnQYDSADKAkSQQoLZXhwb19yZXBvcnQYDiABKAsyLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvUmVwb3J0EkkKD2J1enp3b3JkX2NvbmZpZxgPIAEoCzIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1enp3b3JkQ29uZmlnEkIKC2V4cHJlc3Npb25zGBAgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbnMSPwoKcG9zdF9wYW5lbBgRIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbBIVCg1hY3Rpdml0eV9tZXRhGBIgAygJEkIKC3Bvc3RfcGFuZWwyGBMgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsVjISQgoMZG1fbWFza193YWxsGBQgAygLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1NYXNrV2FsbBI9CgdkbV9oZXJkGBUgASgLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1IZXJkVmlldxI6Cgdjb21tYW5kGBYgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ29tbWFuZBIKCgJrdhgXIAEoCRI+CglzdWJfdmlld3MYGCADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVN1YlZpZXcSNgoDcW9lGBkgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUW9lSW5mbyJtCglEbVZpZXdSZXESCwoDcGlkGAEgASgDEgsKA29pZBgCIAEoAxIMCgR0eXBlGAMgASgFEg0KBXNwbWlkGAQgASgJEhQKDGlzX2hhcmRfYm9vdBgFIAEoBRITCgtjb250ZXh0X2V4dBgGIAEoCSKBBgoORG1XZWJWaWV3UmVwbHkSDQoFc3RhdGUYASABKAUSDAoEdGV4dBgCIAEoCRIRCgl0ZXh0X3NpZGUYAyABKAkSPQoGZG1fc2dlGAQgASgLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdDb25maWcSQQoEZmxhZxgFIAEoCzIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VGbGFnQ29uZmlnEhMKC3NwZWNpYWxfZG1zGAYgAygJEhEKCWNoZWNrX2JveBgHIAEoCBINCgVjb3VudBgIIAEoAxJACgtjb21tYW5kX2RtcxgJIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNvbW1hbmREbRJNCg1wbGF5ZXJfY29uZmlnGAogASgLMjYuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVXZWJQbGF5ZXJDb25maWcSHQoVcmVwb3J0X2ZpbHRlcl9jb250ZW50GAsgAygJEkIKC2V4cHJlc3Npb25zGAwgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbnMSPwoKcG9zdF9wYW5lbBgNIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbBIVCg1hY3Rpdml0eV9tZXRhGA4gAygJEkIKC3Bvc3RfcGFuZWwyGA8gAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsVjISPgoJc3ViX3ZpZXdzGBAgAygLMisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TdWJWaWV3EjYKA3FvZRgRIAEoCzIpLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlFvZUluZm8iKgoKRXhwb1JlcG9ydBIcChRzaG91bGRfcmVwb3J0X2F0X2VuZBgBIAEoCCJkCgpFeHByZXNzaW9uEg8KB2tleXdvcmQYASADKAkSCwoDdXJsGAIgASgJEjgKBnBlcmlvZBgDIAMoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBlcmlvZCJJCgtFeHByZXNzaW9ucxI6CgRkYXRhGAEgAygLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbiIqChlJbmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoEg0KBXZhbHVlGAEgASgIIicKBUxhYmVsEg0KBXRpdGxlGAEgASgJEg8KB2NvbnRlbnQYAiADKAkihwEKB0xhYmVsVjISDQoFdGl0bGUYASABKAkSDwoHY29udGVudBgCIAMoCRIVCg1leHBvc3VyZV9vbmNlGAMgASgIEkUKDWV4cG9zdXJlX3R5cGUYBCABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvc3VyZVR5cGUiJAoGUGVyaW9kEg0KBXN0YXJ0GAEgASgDEgsKA2VuZBgCIAEoAyIwCh9QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsEg0KBXZhbHVlGAEgASgFIjIKIVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMhINCgV2YWx1ZRgBIAEoBSIxCiBQbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZFN3aXRjaBINCgV2YWx1ZRgBIAEoCCIpChhQbGF5ZXJEYW5tYWt1QmxvY2tib3R0b20SDQoFdmFsdWUYASABKAgiKwoaUGxheWVyRGFubWFrdUJsb2NrY29sb3JmdWwSDQoFdmFsdWUYASABKAgiKQoYUGxheWVyRGFubWFrdUJsb2NrcmVwZWF0Eg0KBXZhbHVlGAEgASgIIikKGFBsYXllckRhbm1ha3VCbG9ja3Njcm9sbBINCgV2YWx1ZRgBIAEoCCIqChlQbGF5ZXJEYW5tYWt1QmxvY2tzcGVjaWFsEg0KBXZhbHVlGAEgASgIIiYKFVBsYXllckRhbm1ha3VCbG9ja3RvcBINCgV2YWx1ZRgBIAEoCCIsChtQbGF5ZXJEYW5tYWt1QmxvY2t0b3BCb3R0b20SDQoFdmFsdWUYASABKAgiJQoUUGxheWVyRGFubWFrdURlbnNpdHkSDQoFdmFsdWUYASABKAUiJAoTUGxheWVyRGFubWFrdURvbWFpbhINCgV2YWx1ZRgBIAEoAiImChVQbGF5ZXJEYW5tYWt1RG9tYWluVjISDQoFdmFsdWUYASABKAUiKgoZUGxheWVyRGFubWFrdUVuYWJsZUhlcmREbRINCgV2YWx1ZRgBIAEoCCItChxQbGF5ZXJEYW5tYWt1RW5hYmxlYmxvY2tsaXN0Eg0KBXZhbHVlGAEgASgIIiUKFFBsYXllckRhbm1ha3VPcGFjaXR5Eg0KBXZhbHVlGAEgASgCIikKGFBsYXllckRhbm1ha3VQZW9wbGVQcm9vZhINCgV2YWx1ZRgBIAEoCCIrChpQbGF5ZXJEYW5tYWt1U2NhbGluZ2ZhY3RvchINCgV2YWx1ZRgBIAEoAiIuCh1QbGF5ZXJEYW5tYWt1U2VuaW9yTW9kZVN3aXRjaBINCgV2YWx1ZRgBIAEoBSIjChJQbGF5ZXJEYW5tYWt1U3BlZWQSDQoFdmFsdWUYASABKAUiKwoaUGxheWVyRGFubWFrdVN1YnRpdGxlUHJvb2YSDQoFdmFsdWUYASABKAgiOAoTUGxheWVyRGFubWFrdVN3aXRjaBINCgV2YWx1ZRgBIAEoCBISCgpjYW5faWdub3JlGAIgASgIIigKF1BsYXllckRhbm1ha3VTd2l0Y2hTYXZlEg0KBXZhbHVlGAEgASgIIi4KHVBsYXllckRhbm1ha3VVc2VEZWZhdWx0Q29uZmlnEg0KBXZhbHVlGAEgASgIIowDCglQb3N0UGFuZWwSDQoFc3RhcnQYASABKAMSCwoDZW5kGAIgASgDEhAKCHByaW9yaXR5GAMgASgDEg4KBmJpel9pZBgEIAEoAxJECghiaXpfdHlwZRgFIAEoDjIyLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbEJpelR5cGUSQwoMY2xpY2tfYnV0dG9uGAYgASgLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2xpY2tCdXR0b24SPwoKdGV4dF9pbnB1dBgHIAEoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRleHRJbnB1dBI9CgljaGVja19ib3gYCCABKAsyKi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja0JveBI2CgV0b2FzdBgJIAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0Iq0ECgtQb3N0UGFuZWxWMhINCgVzdGFydBgBIAEoAxILCgNlbmQYAiABKAMSRAoIYml6X3R5cGUYAyABKA4yMi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxCaXpUeXBlEkUKDGNsaWNrX2J1dHRvbhgEIAEoCzIvLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNsaWNrQnV0dG9uVjISQQoKdGV4dF9pbnB1dBgFIAEoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRleHRJbnB1dFYyEj8KCWNoZWNrX2JveBgGIAEoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNoZWNrQm94VjISOAoFdG9hc3QYByABKAsyKS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Ub2FzdFYyEjoKBmJ1YmJsZRgIIAEoCzIqLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1YmJsZVYyEjgKBWxhYmVsGAkgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuTGFiZWxWMhJBCgtwb3N0X3N0YXR1cxgKIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RTdGF0dXMiFwoHUW9lSW5mbxIMCgRpbmZvGAEgASgJIikKCFJlc3BvbnNlEgwKBGNvZGUYASABKAUSDwoHbWVzc2FnZRgCIAEoCSL5AgoMU3VidGl0bGVJdGVtEgoKAmlkGAEgASgDEg4KBmlkX3N0chgCIAEoCRILCgNsYW4YAyABKAkSDwoHbGFuX2RvYxgEIAEoCRIUCgxzdWJ0aXRsZV91cmwYBSABKAkSOgoGYXV0aG9yGAYgASgLMiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVXNlckluZm8SPAoEdHlwZRgHIAEoDjIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlN1YnRpdGxlVHlwZRIVCg1sYW5fZG9jX2JyaWVmGAggASgJEkEKB2FpX3R5cGUYCSABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUFpVHlwZRJFCglhaV9zdGF0dXMYCiABKA4yMi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUFpU3RhdHVzIugCCglUZXh0SW5wdXQSHAoUcG9ydHJhaXRfcGxhY2Vob2xkZXIYASADKAkSHQoVbGFuZHNjYXBlX3BsYWNlaG9sZGVyGAIgAygJEkEKC3JlbmRlcl90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIYChBwbGFjZWhvbGRlcl9wb3N0GAQgASgIEgwKBHNob3cYBSABKAgSOAoGYXZhdGFyGAYgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyEkEKC3Bvc3Rfc3RhdHVzGAcgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFN0YXR1cxI2CgVsYWJlbBgIIAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkxhYmVsIvsBCgtUZXh0SW5wdXRWMhIcChRwb3J0cmFpdF9wbGFjZWhvbGRlchgBIAMoCRIdChVsYW5kc2NhcGVfcGxhY2Vob2xkZXIYAiADKAkSQQoLcmVuZGVyX3R5cGUYAyABKA4yLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5SZW5kZXJUeXBlEhgKEHBsYWNlaG9sZGVyX3Bvc3QYBCABKAgSOAoGYXZhdGFyGAUgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyEhgKEHRleHRfaW5wdXRfbGltaXQYBiABKAUibwoFVG9hc3QSDAoEdGV4dBgBIAEoCRIQCghkdXJhdGlvbhgCIAEoBRIMCgRzaG93GAMgASgIEjgKBmJ1dHRvbhgEIAEoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1dHRvbiJiCg1Ub2FzdEJ1dHRvblYyEgwKBHRleHQYASABKAkSQwoGYWN0aW9uGAIgASgOMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVG9hc3RGdW5jdGlvblR5cGUicwoHVG9hc3RWMhIMCgR0ZXh0GAEgASgJEhAKCGR1cmF0aW9uGAIgASgFEkgKD3RvYXN0X2J1dHRvbl92MhgDIAEoCzIvLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0QnV0dG9uVjIiXAoIVXNlckluZm8SCwoDbWlkGAEgASgDEgwKBG5hbWUYAiABKAkSCwoDc2V4GAMgASgJEgwKBGZhY2UYBCABKAkSDAoEc2lnbhgFIAEoCRIMCgRyYW5rGAYgASgFIlMKCVZpZGVvTWFzaxILCgNjaWQYASABKAMSDAoEcGxhdBgCIAEoBRILCgNmcHMYAyABKAUSDAoEdGltZRgEIAEoAxIQCghtYXNrX3VybBgFIAEoCSJwCg1WaWRlb1N1YnRpdGxlEgsKA2xhbhgBIAEoCRIPCgdsYW5fZG9jGAIgASgJEkEKCXN1YnRpdGxlcxgDIAMoCzIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlN1YnRpdGxlSXRlbSKSAQoOVmlld0hlcmREbUVsZW0SEAoIaGVyZF9tc2cYASABKAkSFgoOaGVyZF9zdGFydF9jbnQYAiABKAUSFAoMaGVyZF9lbmRfY250GAMgASgFEhIKCnJlZ2V4X3J1bGUYBCABKAkSFgoOc3RhcnRfcHJvZ3Jlc3MYBSABKAUSFAoMZW5kX3Byb2dyZXNzGAYgASgFKjMKCkF2YXRhclR5cGUSEgoOQXZhdGFyVHlwZU5vbmUQABIRCg1BdmF0YXJUeXBlTkZUEAEqWQoKQnViYmxlVHlwZRISCg5CdWJibGVUeXBlTm9uZRAAEhkKFUJ1YmJsZVR5cGVDbGlja0J1dHRvbhABEhwKGEJ1YmJsZVR5cGVEbVNldHRpbmdQYW5lbBACKlgKDENoZWNrYm94VHlwZRIUChBDaGVja2JveFR5cGVOb25lEAASGQoVQ2hlY2tib3hUeXBlRW5jb3VyYWdlEAESFwoTQ2hlY2tib3hUeXBlQ29sb3JETRACKjUKDkRtQ29sb3JmdWxUeXBlEgwKCE5vbmVUeXBlEAASFQoPVmlwR3JhZHVhbENvbG9yEOHUAypgChFEbU1hc2tXYWxsQml6VHlwZRILCgdVbmtub3duEAASBwoDT0dWEAESCgoGQml6UGljEAISCAoETXV0ZRADEgoKBlJlY29yZBAEEgkKBUNsb3VkEAUSCAoEQUlHQxAGKnYKFURtTWFza1dhbGxDb250ZW50VHlwZRIgChxEbU1hc2tXYWxsQ29udGVudFR5cGVVbmtub3duEAASHQoZRG1NYXNrV2FsbENvbnRlbnRUeXBlVGV4dBABEhwKGERtTWFza1dhbGxDb250ZW50VHlwZVBpYxACKjwKDEV4cG9zdXJlVHlwZRIUChBFeHBvc3VyZVR5cGVOb25lEAASFgoSRXhwb3N1cmVUeXBlRE1TZW5kEAEqgwIKEFBvc3RQYW5lbEJpelR5cGUSGAoUUG9zdFBhbmVsQml6VHlwZU5vbmUQABIdChlQb3N0UGFuZWxCaXpUeXBlRW5jb3VyYWdlEAESGwoXUG9zdFBhbmVsQml6VHlwZUNvbG9yRE0QAhIZChVQb3N0UGFuZWxCaXpUeXBlTkZURE0QAxIdChlQb3N0UGFuZWxCaXpUeXBlRnJhZ0Nsb3NlEAQSHQoZUG9zdFBhbmVsQml6VHlwZVJlY29tbWVuZBAFEhwKGFBvc3RQYW5lbEJpelR5cGVQbG90TGVhaxAGEiIKHlBvc3RQYW5lbEJpelR5cGVBbnRpSGFyYXNzbWVudBAHKjgKClBvc3RTdGF0dXMSFAoQUG9zdFN0YXR1c05vcm1hbBAAEhQKEFBvc3RTdGF0dXNDbG9zZWQQASpOCgpSZW5kZXJUeXBlEhIKDlJlbmRlclR5cGVOb25lEAASFAoQUmVuZGVyVHlwZVNpbmdsZRABEhYKElJlbmRlclR5cGVSb3RhdGlvbhACKjYKEFN1YnRpdGxlQWlTdGF0dXMSCAoETm9uZRAAEgwKCEV4cG9zdXJlEAESCgoGQXNzaXN0EAIqKwoOU3VidGl0bGVBaVR5cGUSCgoGTm9ybWFsEAASDQoJVHJhbnNsYXRlEAEqHgoMU3VidGl0bGVUeXBlEgYKAkNDEAASBgoCQUkQASpOChFUb2FzdEZ1bmN0aW9uVHlwZRIZChVUb2FzdEZ1bmN0aW9uVHlwZU5vbmUQABIeChpUb2FzdEZ1bmN0aW9uVHlwZVBvc3RQYW5lbBABMqAFCgJETRJzCgtEbVNlZ01vYmlsZRIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnTW9iaWxlUmVxGjIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdNb2JpbGVSZXBseRJkCgZEbVZpZXcSKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVZpZXdSZXEaLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVZpZXdSZXBseRJxCg5EbVBsYXllckNvbmZpZxIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtUGxheWVyQ29uZmlnUmVxGiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVzcG9uc2USagoIRG1TZWdPdHQSLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ090dFJlcRovLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnT3R0UmVwbHkSagoIRG1TZWdTREsSLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ1NES1JlcRovLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnU0RLUmVwbHkSdAoMRG1FeHBvUmVwb3J0EjEuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1FeHBvUmVwb3J0UmVxGjEuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1FeHBvUmVwb3J0UmVzYgZwcm90bzM");
11505
11500
  const DmSegMobileReplySchema = /*@__PURE__*/ codegenv2_messageDesc(file_bili_dm, 30);
11506
11501
  const DmWebViewReplySchema = /*@__PURE__*/ codegenv2_messageDesc(file_bili_dm, 39);
@@ -11657,16 +11652,16 @@ var dm_gen_ExtraDanUniChapterType = /*#__PURE__*/ function(ExtraDanUniChapterTyp
11657
11652
  }({});
11658
11653
  const ExtraDanUniChapterTypeDict = {
11659
11654
  chs: {
11660
- ch: "\u5176\u5B83\u7247\u6BB5",
11661
- rev: "\u56DE\u987E",
11662
- op: "\u7247\u5934",
11663
- int: "\u4E2D\u573A",
11664
- ed: "\u7247\u5C3E",
11665
- prvw: "\u9884\u544A",
11666
- cut: "\u5220\u51CF",
11667
- dup: "\u8865\u6863",
11668
- biz: "\u5546\u4E1A\u5E7F\u544A",
11669
- promo: "\u63A8\u5E7F"
11655
+ ch: '其它片段',
11656
+ rev: '回顾',
11657
+ op: '片头',
11658
+ int: '中场',
11659
+ ed: '片尾',
11660
+ prvw: '预告',
11661
+ cut: '删减',
11662
+ dup: '补档',
11663
+ biz: '商业广告',
11664
+ promo: '推广'
11670
11665
  }
11671
11666
  };
11672
11667
  var dm_gen_ExtraDanUniChapterAction = /*#__PURE__*/ function(ExtraDanUniChapterAction) {
@@ -11765,22 +11760,27 @@ class UniDM {
11765
11760
  minify() {
11766
11761
  const def = UniDM.create();
11767
11762
  const dan = UniDM.create(this);
11768
- for(const key in dan){
11769
- const k = key;
11770
- const v = dan[k];
11771
- if ('SOID' !== key) if (v) if (v === def[k]) delete dan[k];
11772
- else {
11773
- if ('attr' === k && Array.isArray(v) && 0 === v.length) delete dan[k];
11774
- if ('extraStr' === k && '{}' === v) delete dan[k];
11763
+ const shouldKeep = (key, value)=>{
11764
+ if ('SOID' === key) return true;
11765
+ if (null == value) return false;
11766
+ if (value === def[key]) return false;
11767
+ if ('attr' === key && Array.isArray(value) && 0 === value.length) return false;
11768
+ if ('extraStr' === key && '{}' === value) return false;
11769
+ return true;
11770
+ };
11771
+ const result = {
11772
+ SOID: dan.SOID
11773
+ };
11774
+ for (const key of Object.keys(dan)){
11775
+ const value = dan[key];
11776
+ if (shouldKeep(key, value)) {
11777
+ if ('SOID' === key) continue;
11778
+ Reflect.set(result, key, value);
11775
11779
  }
11776
- else delete dan[k];
11777
11780
  }
11778
- return dm_gen_JSON.parse(dm_gen_JSON.stringify(dan));
11781
+ return result;
11779
11782
  }
11780
- downgradeAdvcancedDan({ include, exclude, cleanExtra = false } = {
11781
- include: [],
11782
- exclude: []
11783
- }) {
11783
+ downgradeAdvcancedDan({ include, exclude, cleanExtra = false } = {}) {
11784
11784
  if (!this.extra) return this;
11785
11785
  {
11786
11786
  if (!include) include = [];
@@ -11795,16 +11795,16 @@ class UniDM {
11795
11795
  clone.content = `${this.content} x${merge.count}`;
11796
11796
  } else if (danuni.chapter) {
11797
11797
  const chapter = danuni.chapter;
11798
- if ("cut" === chapter.type) clone.content = `[\u{63D0}\u{793A}]${clone.platform}\u{6E90}${ExtraDanUniChapterTypeDict.chs[chapter.type]}\u{4E86}${chapter.duration}\u{79D2}`;
11799
- else if ("dup" === chapter.type) clone.content = `[\u{63D0}\u{793A}(${ExtraDanUniChapterTypeDict.chs[chapter.type]})]${clone.platform}\u{6E90}-${chapter.duration}\u{79D2}`;
11800
- else clone.content = `[\u{7A7A}\u{964D}(${ExtraDanUniChapterTypeDict.chs[chapter.type]})]${hh_mm_ss.fromS(clone.progress + chapter.duration)}`;
11798
+ if ("cut" === chapter.type) clone.content = `[提示]${clone.platform}源${ExtraDanUniChapterTypeDict.chs[chapter.type]}了${chapter.duration}秒`;
11799
+ else if ("dup" === chapter.type) clone.content = `[提示(${ExtraDanUniChapterTypeDict.chs[chapter.type]})]${clone.platform}源-${chapter.duration}秒`;
11800
+ else clone.content = `[空降(${ExtraDanUniChapterTypeDict.chs[chapter.type]})]${hh_mm_ss.fromS(clone.progress + chapter.duration)}`;
11801
11801
  }
11802
11802
  } else if (check('bili') && clone.extra.bili) {
11803
11803
  const bili = clone.extra.bili;
11804
- if (7 === bili.mode && bili.adv) clone.content = `[B\u{7AD9}\u{9AD8}\u{7EA7}\u{5F39}\u{5E55}]${dm_gen_JSON.parse(bili.adv)[4] || ''}`;
11804
+ if (7 === bili.mode && bili.adv) clone.content = `[B站高级弹幕]${dm_gen_JSON.parse(bili.adv)[4] || ''}`;
11805
11805
  else if (bili.command) {
11806
11806
  const command = bili.command;
11807
- clone.content = `[B\u{7AD9}\u{6307}\u{4EE4}\u{5F39}\u{5E55}]${command.content}`;
11807
+ clone.content = `[B站指令弹幕]${command.content}`;
11808
11808
  clone.fontsize = 36;
11809
11809
  }
11810
11810
  }
@@ -11919,7 +11919,7 @@ class UniDM {
11919
11919
  mode,
11920
11920
  senderID: senderID.toString(),
11921
11921
  ctime: this.transCtime(args.ctime, 's'),
11922
- weight: args.weight ? args.weight : 3 === pool ? 1 : 0,
11922
+ weight: args.weight || (3 === pool ? 1 : 0),
11923
11923
  pool,
11924
11924
  attr: DMAttrUtils.fromBin(args.attr, platform_PlatformVideoSource.Bilibili),
11925
11925
  platform: platform_PlatformVideoSource.Bilibili,
@@ -12293,7 +12293,7 @@ const src_JSON = json_bigint({
12293
12293
  });
12294
12294
  const DanUniConvertTipTemplate = {
12295
12295
  meassage: 'Converted by DanUni!',
12296
- version: `JS/TS ${package_namespaceObject.u2} (v${package_namespaceObject.i8})`
12296
+ version: `JS/TS ${package_namespaceObject.UU} (v${package_namespaceObject.rE})`
12297
12297
  };
12298
12298
  class UniPool {
12299
12299
  constructor(dans, options = {}, info = {
@@ -12340,7 +12340,7 @@ class UniPool {
12340
12340
  return stats;
12341
12341
  }
12342
12342
  getMost(key) {
12343
- return this.getStat(key).sort((a, b)=>b.count - a.count)[0];
12343
+ return this.getStat(key).toSorted((a, b)=>b.count - a.count)[0];
12344
12344
  }
12345
12345
  get most() {
12346
12346
  return {
@@ -12402,7 +12402,7 @@ class UniPool {
12402
12402
  }
12403
12403
  merge(lifetime = 0) {
12404
12404
  if (!this.shared.SOID) {
12405
- console.error("\u672C\u529F\u80FD\u4EC5\u652F\u6301\u540C\u5F39\u5E55\u5E93\u5185\u4F7F\u7528\uFF0C\u53EF\u5148 .split('SOID') \u5728\u5206\u522B\u4F7F\u7528");
12405
+ console.error("本功能仅支持同弹幕库内使用,可先 .split('SOID') 在分别使用");
12406
12406
  return this;
12407
12407
  }
12408
12408
  if (lifetime <= 0) return this;
@@ -12511,7 +12511,7 @@ class UniPool {
12511
12511
  'str',
12512
12512
  'bin'
12513
12513
  ];
12514
- const err = "\u65E0\u6CD5\u8BC6\u522B\u8BE5\u6587\u4EF6\uFF0C\u8BF7\u624B\u52A8\u6307\u5B9A\u683C\u5F0F\uFF01";
12514
+ const err = '无法识别该文件,请手动指定格式!';
12515
12515
  const parseJSON = (json)=>{
12516
12516
  try {
12517
12517
  if (Array.isArray(json) && json.every((d)=>d.SOID)) return {
@@ -12585,16 +12585,16 @@ class UniPool {
12585
12585
  const fileStr = new TextDecoder().decode(file);
12586
12586
  const prStr = parseStr(fileStr);
12587
12587
  if (prStr) return prStr;
12588
- errmesg = `${err}(\u{5B9A}\u{4F4D}: bin->string)`;
12588
+ errmesg = `${err}(定位: bin->string)`;
12589
12589
  } catch {}
12590
12590
  } else if (mod.includes('json')) {
12591
12591
  const prJSON = parseJSON(file);
12592
- if (!prJSON) throw new Error(`${err}(\u{5B9A}\u{4F4D}: json)`);
12592
+ if (!prJSON) throw new Error(`${err}(定位: json)`);
12593
12593
  return prJSON;
12594
12594
  }
12595
12595
  } else if (isString(file)) {
12596
12596
  const prStr = parseStr(file);
12597
- if (!prStr) throw new Error(`${err}(\u{5B9A}\u{4F4D}: string)`);
12597
+ if (!prStr) throw new Error(`${err}(定位: string)`);
12598
12598
  return prStr;
12599
12599
  }
12600
12600
  throw new Error(errmesg ?? err);
@@ -12692,7 +12692,7 @@ class UniPool {
12692
12692
  };
12693
12693
  if (options?.avoidSenderIDWithAt) {
12694
12694
  const ok = this.dans.every((d)=>d.senderID.endsWith(`@${platform_PlatformVideoSource.Bilibili}`));
12695
- if (!ok) throw new Error("\u5B58\u5728\u5176\u4ED6\u6765\u6E90\u7684senderID\uFF0C\u8BF7\u5173\u95ED\u8BE5\u529F\u80FD\u518D\u8BD5\uFF01");
12695
+ if (!ok) throw new Error('存在其他来源的senderID,请关闭该功能再试!');
12696
12696
  }
12697
12697
  const builder = new XMLBuilder({
12698
12698
  ignoreAttributes: false
@@ -12827,14 +12827,16 @@ class UniPool {
12827
12827
  static fromASS(ass, options) {
12828
12828
  return parseAssRawField(ass, options);
12829
12829
  }
12830
- toASS(canvasCtx, options = {
12831
- substyle: {}
12832
- }) {
12830
+ toASS(canvasCtx, options) {
12831
+ const defaultOptions = {
12832
+ substyle: {}
12833
+ };
12834
+ const finalOptions = options ?? defaultOptions;
12833
12835
  const fn = this.shared.SOID;
12834
12836
  return generateASS(this, {
12835
12837
  filename: fn,
12836
12838
  title: fn,
12837
- ...options
12839
+ ...finalOptions
12838
12840
  }, canvasCtx);
12839
12841
  }
12840
12842
  }
@@ -12946,7 +12948,7 @@ const splitGrids = ({ fontSize, padding, playResY, bottomSpace })=>{
12946
12948
  };
12947
12949
  };
12948
12950
  const measureTextWidthConstructor = (canvasContext)=>{
12949
- const supportTextMeasure = !!canvasContext.measureText("\u4E2D");
12951
+ const supportTextMeasure = !!canvasContext.measureText('中');
12950
12952
  if (supportTextMeasure) return (fontName, fontSize, bold, text)=>{
12951
12953
  canvasContext.font = `${bold ? 'bold' : 'normal'} ${fontSize}px ${fontName}`;
12952
12954
  const textWidth = canvasContext.measureText(text).width;
@@ -13024,7 +13026,7 @@ const initializeLayout = (config, canvasCtx)=>{
13024
13026
  const layoutDanmaku = (inputList, config, canvasCtx)=>{
13025
13027
  const list = [
13026
13028
  ...UniPool2DanmakuLists(inputList)
13027
- ].sort((x, y)=>x.time - y.time);
13029
+ ].toSorted((x, y)=>x.time - y.time);
13028
13030
  const layout = initializeLayout(config, canvasCtx);
13029
13031
  return DanmakuList2UniPool(list.map(layout).filter((danmaku)=>!!danmaku));
13030
13032
  };
@@ -13038,7 +13040,7 @@ const formatTime = (seconds)=>{
13038
13040
  const minorSecond = Math.floor((seconds - integer) * 100);
13039
13041
  return `${hour}:${pad(minute)}:${pad(second)}.${minorSecond}`;
13040
13042
  };
13041
- const encode = (text)=>text.toString().replaceAll('{', "\uFF5B").replaceAll('}', "\uFF5D").replaceAll(/\r|\n/g, '');
13043
+ const encode = (text)=>text.toString().replaceAll('{', '{').replaceAll('}', '}').replaceAll(/\r|\n/g, '');
13042
13044
  const scrollCommand = ({ start, end, top })=>`\\move(${start},${top},${end},${top})`;
13043
13045
  const fixCommand = ({ top, left })=>`\\an8\\pos(${left},${top})`;
13044
13046
  const colorCommand = (color)=>`\\c${formatColor(color)}`;
@@ -13107,7 +13109,7 @@ const calculateDanmakuPosition = (danmaku, config)=>{
13107
13109
  throw new Error(`Unknown danmaku type: ${danmaku.type}`);
13108
13110
  }
13109
13111
  };
13110
- const ass_event = (list, config)=>{
13112
+ const event_event = (list, config)=>{
13111
13113
  const content = [
13112
13114
  '[Events]',
13113
13115
  'Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text',
@@ -13118,11 +13120,11 @@ const ass_event = (list, config)=>{
13118
13120
  ];
13119
13121
  return content.join('\n');
13120
13122
  };
13121
- const ass_info = ({ playResX, playResY }, { filename, title })=>{
13123
+ const info_info = ({ playResX, playResY }, { filename, title })=>{
13122
13124
  const content = [
13123
13125
  '[Script Info]',
13124
13126
  `Title: ${title}`,
13125
- `Original Script: \u{6839}\u{636E} ${filename} \u{7684}\u{5F39}\u{5E55}\u{4FE1}\u{606F}\u{FF0C}\u{7531} ${package_namespaceObject.e8} \u{751F}\u{6210}`,
13127
+ `Original Script: 根据 ${filename} 的弹幕信息,由 ${package_namespaceObject.TB} 生成`,
13126
13128
  'ScriptType: v4.00+',
13127
13129
  'Collisions: Reverse',
13128
13130
  `PlayResX: ${playResX}`,
@@ -13133,17 +13135,17 @@ const ass_info = ({ playResX, playResY }, { filename, title })=>{
13133
13135
  };
13134
13136
  var lib = __webpack_require__("../../node_modules/.pnpm/browserify-zlib@0.2.0/node_modules/browserify-zlib/lib/index.js");
13135
13137
  var raw_Buffer = __webpack_require__("../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js")["Buffer"];
13136
- const compressTypes = [
13138
+ const compressTypes = new Set([
13137
13139
  'brotli',
13138
13140
  'gzip'
13139
- ];
13140
- const baseTypes = [
13141
+ ]);
13142
+ const baseTypes = new Set([
13141
13143
  'base64',
13142
13144
  'base18384'
13143
- ];
13145
+ ]);
13144
13146
  function fromUint16Array(array) {
13145
13147
  let result = '';
13146
- for (const element of array)result += String.fromCharCode(element);
13148
+ for (const element of array)result += String.fromCodePoint(element);
13147
13149
  return result;
13148
13150
  }
13149
13151
  function raw_raw(list, config, context, compressType = 'brotli', baseType = 'base18384') {
@@ -13166,14 +13168,14 @@ function deRaw(ass) {
13166
13168
  {
13167
13169
  let compressType = lineCompressType.replace(';RawCompressType: ', '').trim();
13168
13170
  let baseType = lineBaseType.replace(';RawBaseType: ', '').trim();
13169
- if (!compressTypes.includes(compressType)) compressType = 'gzip';
13170
- if (!baseTypes.includes(baseType)) baseType = 'base64';
13171
+ if (!compressTypes.has(compressType)) compressType = 'gzip';
13172
+ if (!baseTypes.has(baseType)) baseType = 'base64';
13171
13173
  const text = lineRaw.replace(';Raw: ', '').trim();
13172
- const buffer = 'base64' === baseType ? raw_Buffer.from(text, 'base64') : raw_Buffer.from(decode(raw_Buffer.from(text, 'utf-8').toString('utf-8')));
13174
+ const buffer = 'base64' === baseType ? raw_Buffer.from(text, 'base64') : raw_Buffer.from(decode(raw_Buffer.from(text, 'utf8').toString('utf8')));
13173
13175
  let decompress;
13174
13176
  decompress = 'brotli' === compressType ? (0, lib.brotliDecompressSync)(buffer) : (0, lib.gunzipSync)(buffer);
13175
13177
  try {
13176
- return JSON.parse(decompress.toString('utf-8'));
13178
+ return JSON.parse(decompress.toString('utf8'));
13177
13179
  } catch {
13178
13180
  return;
13179
13181
  }
@@ -13220,21 +13222,22 @@ const style = ({ fontName, fontSize, color: configColor, outlineColor, backColor
13220
13222
  ];
13221
13223
  return content.join('\n');
13222
13224
  };
13223
- const ass_create = (list, rawList, config, context = {
13225
+ const default_context = {
13224
13226
  filename: 'unknown',
13225
13227
  title: 'unknown'
13226
- }, rawConfig)=>{
13228
+ };
13229
+ const create_ass = (list, rawList, config, context = default_context, rawConfig)=>{
13227
13230
  const Elist = UniPool2DanmakuLists(list);
13228
13231
  const ErawList = UniPool2DanmakuLists(rawList);
13229
13232
  const content = [
13230
- ass_info(config, context),
13233
+ info_info(config, context),
13231
13234
  style(config),
13232
- ass_event(Elist, config)
13235
+ event_event(Elist, config)
13233
13236
  ];
13234
13237
  if (config.includeRaw) content.push(raw_raw(ErawList, config, context, rawConfig?.compressType, rawConfig?.baseType));
13235
13238
  return `${content.join('\n\n')}\n`;
13236
13239
  };
13237
- const ass_gen_config = (overrides = {})=>{
13240
+ const getConfig = (overrides = {})=>{
13238
13241
  const defaults = {
13239
13242
  fontSize: [
13240
13243
  25,
@@ -13270,10 +13273,10 @@ const ass_gen_config = (overrides = {})=>{
13270
13273
  return config;
13271
13274
  };
13272
13275
  function generateASS(danmaku, options, canvasCtx) {
13273
- const config = ass_gen_config(options.substyle);
13276
+ const config = getConfig(options.substyle);
13274
13277
  const mergedList = danmaku.merge(config.mergeIn);
13275
13278
  const layoutList = layoutDanmaku(mergedList, config, canvasCtx);
13276
- const content = ass_create(layoutList, danmaku, config, {
13279
+ const content = create_ass(layoutList, danmaku, config, {
13277
13280
  filename: options?.filename || 'unknown',
13278
13281
  title: options?.title || 'unknown'
13279
13282
  }, options.raw);
@@ -13281,15 +13284,15 @@ function generateASS(danmaku, options, canvasCtx) {
13281
13284
  }
13282
13285
  function parseAssRawField(ass, options) {
13283
13286
  const raw = deRaw(ass);
13284
- if (!raw) return UniPool.create();
13285
- return DanmakuList2UniPool(raw.list, options);
13287
+ if (raw) return DanmakuList2UniPool(raw.list, options);
13288
+ return UniPool.create();
13286
13289
  }
13287
13290
  const src_JSON_0 = json_bigint({
13288
13291
  useNativeBigInt: true
13289
13292
  });
13290
13293
  const src_DanUniConvertTipTemplate = {
13291
13294
  meassage: 'Converted by DanUni!',
13292
- version: `JS/TS ${package_namespaceObject.u2} (v${package_namespaceObject.i8})`
13295
+ version: `JS/TS ${package_namespaceObject.UU} (v${package_namespaceObject.rE})`
13293
13296
  };
13294
13297
  class src_UniPool {
13295
13298
  constructor(dans, options = {}, info = {
@@ -13336,7 +13339,7 @@ class src_UniPool {
13336
13339
  return stats;
13337
13340
  }
13338
13341
  getMost(key) {
13339
- return this.getStat(key).sort((a, b)=>b.count - a.count)[0];
13342
+ return this.getStat(key).toSorted((a, b)=>b.count - a.count)[0];
13340
13343
  }
13341
13344
  get most() {
13342
13345
  return {
@@ -13398,7 +13401,7 @@ class src_UniPool {
13398
13401
  }
13399
13402
  merge(lifetime = 0) {
13400
13403
  if (!this.shared.SOID) {
13401
- console.error("\u672C\u529F\u80FD\u4EC5\u652F\u6301\u540C\u5F39\u5E55\u5E93\u5185\u4F7F\u7528\uFF0C\u53EF\u5148 .split('SOID') \u5728\u5206\u522B\u4F7F\u7528");
13404
+ console.error("本功能仅支持同弹幕库内使用,可先 .split('SOID') 在分别使用");
13402
13405
  return this;
13403
13406
  }
13404
13407
  if (lifetime <= 0) return this;
@@ -13507,7 +13510,7 @@ class src_UniPool {
13507
13510
  'str',
13508
13511
  'bin'
13509
13512
  ];
13510
- const err = "\u65E0\u6CD5\u8BC6\u522B\u8BE5\u6587\u4EF6\uFF0C\u8BF7\u624B\u52A8\u6307\u5B9A\u683C\u5F0F\uFF01";
13513
+ const err = '无法识别该文件,请手动指定格式!';
13511
13514
  const parseJSON = (json)=>{
13512
13515
  try {
13513
13516
  if (Array.isArray(json) && json.every((d)=>d.SOID)) return {
@@ -13581,16 +13584,16 @@ class src_UniPool {
13581
13584
  const fileStr = new TextDecoder().decode(file);
13582
13585
  const prStr = parseStr(fileStr);
13583
13586
  if (prStr) return prStr;
13584
- errmesg = `${err}(\u{5B9A}\u{4F4D}: bin->string)`;
13587
+ errmesg = `${err}(定位: bin->string)`;
13585
13588
  } catch {}
13586
13589
  } else if (mod.includes('json')) {
13587
13590
  const prJSON = parseJSON(file);
13588
- if (!prJSON) throw new Error(`${err}(\u{5B9A}\u{4F4D}: json)`);
13591
+ if (!prJSON) throw new Error(`${err}(定位: json)`);
13589
13592
  return prJSON;
13590
13593
  }
13591
13594
  } else if (isString(file)) {
13592
13595
  const prStr = parseStr(file);
13593
- if (!prStr) throw new Error(`${err}(\u{5B9A}\u{4F4D}: string)`);
13596
+ if (!prStr) throw new Error(`${err}(定位: string)`);
13594
13597
  return prStr;
13595
13598
  }
13596
13599
  throw new Error(errmesg ?? err);
@@ -13688,7 +13691,7 @@ class src_UniPool {
13688
13691
  };
13689
13692
  if (options?.avoidSenderIDWithAt) {
13690
13693
  const ok = this.dans.every((d)=>d.senderID.endsWith(`@${platform_PlatformVideoSource.Bilibili}`));
13691
- if (!ok) throw new Error("\u5B58\u5728\u5176\u4ED6\u6765\u6E90\u7684senderID\uFF0C\u8BF7\u5173\u95ED\u8BE5\u529F\u80FD\u518D\u8BD5\uFF01");
13694
+ if (!ok) throw new Error('存在其他来源的senderID,请关闭该功能再试!');
13692
13695
  }
13693
13696
  const builder = new XMLBuilder({
13694
13697
  ignoreAttributes: false
@@ -13823,14 +13826,16 @@ class src_UniPool {
13823
13826
  static fromASS(ass, options) {
13824
13827
  return parseAssRawField(ass, options);
13825
13828
  }
13826
- toASS(canvasCtx, options = {
13827
- substyle: {}
13828
- }) {
13829
+ toASS(canvasCtx, options) {
13830
+ const defaultOptions = {
13831
+ substyle: {}
13832
+ };
13833
+ const finalOptions = options ?? defaultOptions;
13829
13834
  const fn = this.shared.SOID;
13830
13835
  return generateASS(this, {
13831
13836
  filename: fn,
13832
13837
  title: fn,
13833
- ...options
13838
+ ...finalOptions
13834
13839
  }, canvasCtx);
13835
13840
  }
13836
13841
  }