@layers-app/editor 0.5.6-optimization → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/README.md +0 -19
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.js +10 -12
  4. package/dist/layers.52famHy6.js +1 -0
  5. package/dist/layers.59MV1gHs.js +41 -0
  6. package/dist/layers.6IaGqrl-.js +39 -0
  7. package/dist/layers.6lqPO-3Z.js +32 -0
  8. package/dist/layers.7JqFgE4-.js +15 -0
  9. package/dist/layers.8CsJHG7m.js +139 -0
  10. package/dist/layers.9pNaFvaX.js +1 -0
  11. package/dist/layers.AK6shBV6.js +42 -0
  12. package/dist/layers.AamAEMA7.js +160 -0
  13. package/dist/layers.B-WGMHL6.js +11 -0
  14. package/dist/layers.B19hGmey.js +1 -0
  15. package/dist/layers.B2wUdnez.js +437 -0
  16. package/dist/layers.B3D4g2HH.js +1 -0
  17. package/dist/layers.B6FBUZ1Z.js +9 -0
  18. package/dist/layers.B7-Kk2kp.js +11 -0
  19. package/dist/layers.B7K7JjK6.js +1510 -0
  20. package/dist/layers.B7USkgSi.js +6 -0
  21. package/dist/layers.B7hegMVr.js +1034 -0
  22. package/dist/layers.BAtv1CM7.js +1 -0
  23. package/dist/layers.BBSE_YmF.js +37 -0
  24. package/dist/layers.BCG8kdU-.js +32 -0
  25. package/dist/layers.BCUz59rh.js +39 -0
  26. package/dist/layers.BF8ID4w9.js +39 -0
  27. package/dist/layers.BIZaN3QR.js +7 -0
  28. package/dist/layers.BIeVwYKL.js +1 -0
  29. package/dist/layers.BJDrjORS.js +244 -0
  30. package/dist/layers.BK35bp4_.js +931 -0
  31. package/dist/layers.BKrHVgKG.js +11 -0
  32. package/dist/layers.BLd2spTm.js +1 -0
  33. package/dist/layers.BQj7sYv9.js +4 -0
  34. package/dist/layers.BSTBZrFn.js +1 -0
  35. package/dist/layers.BTnY40Hl.js +230 -0
  36. package/dist/layers.BW6eTqTQ.js +9 -0
  37. package/dist/layers.BX50pyFe.js +42 -0
  38. package/dist/layers.BXiMBNCf.js +7 -0
  39. package/dist/layers.BY0saexf.js +44 -0
  40. package/dist/layers.BYyHDhdF.js +40 -0
  41. package/dist/layers.B_SkKQaN.js +7 -0
  42. package/dist/layers.Bb45BkB7.js +35 -0
  43. package/dist/layers.BbCfEXyj.js +55 -0
  44. package/dist/layers.Bbx2DS9P.js +10 -0
  45. package/dist/layers.BeRqUeUL.js +1 -0
  46. package/dist/layers.BfBHY8YH.js +8 -0
  47. package/dist/layers.BfPqzMs9.js +1 -0
  48. package/dist/layers.Bfqazne8.js +70 -0
  49. package/dist/layers.BgzFjX4U.js +35 -0
  50. package/dist/layers.BhL3qtd0.js +1126 -0
  51. package/dist/layers.BitUjngp.js +11 -0
  52. package/dist/layers.BmR6H-fP.js +2966 -0
  53. package/dist/layers.Bn7g95cI.js +39 -0
  54. package/dist/layers.Bn7hw-zZ.js +13 -0
  55. package/dist/layers.BnYpz8RW.js +1359 -0
  56. package/dist/layers.BoIdFEtV.js +186 -0
  57. package/dist/layers.BorvTy9p.js +33 -0
  58. package/dist/layers.BpilXLfW.js +6 -0
  59. package/dist/layers.Bt8HOTA6.js +10 -0
  60. package/dist/layers.BvVfdnbz.js +41 -0
  61. package/dist/layers.BzUNMS1L.js +2 -0
  62. package/dist/layers.C-FZw43o.js +41 -0
  63. package/dist/layers.C0Lgw_Sx.js +11688 -0
  64. package/dist/layers.C4ToPutV.js +40 -0
  65. package/dist/layers.C4wkiWhv.js +8 -0
  66. package/dist/layers.C5ZDJAAD.js +220 -0
  67. package/dist/layers.C6P4YEcq.js +257 -0
  68. package/dist/layers.C7x1USYv.js +139 -0
  69. package/dist/layers.C8_lu5UH.js +23 -0
  70. package/dist/layers.C99jO8bw.js +1 -0
  71. package/dist/layers.C9KoadvU.js +122 -0
  72. package/dist/layers.C9PwfpMh.js +39 -0
  73. package/dist/layers.CA8KMZRI.js +1 -0
  74. package/dist/layers.CAGTppwS.js +4 -0
  75. package/dist/layers.CAgoPdOX.js +1088 -0
  76. package/dist/layers.CBb84SJY.js +10 -0
  77. package/dist/layers.CCaOiFeL.js +9 -0
  78. package/dist/layers.CChtus6s.js +9 -0
  79. package/dist/layers.CDpYDf4E.js +41 -0
  80. package/dist/layers.CElZbgj1.js +61 -0
  81. package/dist/layers.CFXi5TGg.js +5 -0
  82. package/dist/layers.CGvSf-pD.js +10 -0
  83. package/dist/layers.CH7Yhxyl.js +1 -0
  84. package/dist/layers.CHZsXQcr.js +1 -0
  85. package/dist/layers.CHbqHHw4.js +10 -0
  86. package/dist/layers.CIK15Iw8.js +1 -0
  87. package/dist/layers.CIpcY9uj.js +38 -0
  88. package/dist/layers.CK2ePV5l.js +1 -0
  89. package/dist/layers.CKOfAypO.js +1 -0
  90. package/dist/layers.CKuoZO2o.js +5 -0
  91. package/dist/layers.CLELtUjk.js +40 -0
  92. package/dist/layers.CNmEkwvP.js +84 -0
  93. package/dist/layers.CPJv1Tc9.js +46859 -0
  94. package/dist/layers.CPlQgHvJ.js +37 -0
  95. package/dist/layers.CR9KcJml.js +9 -0
  96. package/dist/layers.CRFf4NzO.js +10 -0
  97. package/dist/layers.CSI1-wyP.js +1 -0
  98. package/dist/layers.CTmWmJtN.js +32 -0
  99. package/dist/layers.CXqT56ec.js +304 -0
  100. package/dist/layers.CZ5YSh6D.js +8 -0
  101. package/dist/layers.C_2s_qym.js +3 -0
  102. package/dist/layers.C_IvrzZ3.js +7 -0
  103. package/dist/layers.C_fjSuvx.js +1 -0
  104. package/dist/layers.CaMAncU5.js +423 -0
  105. package/dist/layers.CcaiUz4r.js +1 -0
  106. package/dist/layers.Cd1zz9ej.js +39 -0
  107. package/dist/layers.CeafY0UM.js +37 -0
  108. package/dist/layers.CfcMk6Ta.js +1 -0
  109. package/dist/layers.Cfl_HoMI.js +769 -0
  110. package/dist/layers.CfpNlmP9.js +1 -0
  111. package/dist/layers.CiTTUiMF.js +8 -0
  112. package/dist/layers.Cj4cFFtZ.js +189 -0
  113. package/dist/layers.CmdoC_9-.js +7 -0
  114. package/dist/layers.CoGB8bed.js +8 -0
  115. package/dist/layers.Cpy28Z7d.js +35 -0
  116. package/dist/layers.CqVTtuYm.js +6 -0
  117. package/dist/layers.Cu93NN5Z.js +41 -0
  118. package/dist/layers.Cu9NodvY.js +1089 -0
  119. package/dist/layers.CvBE5BLz.js +118 -0
  120. package/dist/layers.Cx9zn9dM.js +41 -0
  121. package/dist/layers.CxJcDiDE.js +65 -0
  122. package/dist/layers.Cyzu9PKQ.js +1 -0
  123. package/dist/layers.CzAsjHtw.js +34 -0
  124. package/dist/layers.D0kgeXsw.js +1619 -0
  125. package/dist/layers.D0zn4_Mx.js +1 -0
  126. package/dist/layers.D1Vfjokq.js +32 -0
  127. package/dist/layers.D1rIvRN6.js +9 -0
  128. package/dist/layers.D22i1Ls7.js +6 -0
  129. package/dist/layers.D25D_N3C.js +7 -0
  130. package/dist/layers.D4T8fTcj.js +1223 -0
  131. package/dist/layers.D4fXRymr.js +40 -0
  132. package/dist/layers.D4gUAtLW.js +41 -0
  133. package/dist/layers.D59PMsKH.js +51 -0
  134. package/dist/layers.D5_C65FS.js +2479 -0
  135. package/dist/layers.D5j-6Vz3.js +36 -0
  136. package/dist/layers.D7ikYTua.js +2235 -0
  137. package/dist/layers.D7jGxypv.js +8 -0
  138. package/dist/layers.D7n2QyFM.js +48146 -0
  139. package/dist/layers.D8fdxG58.js +295 -0
  140. package/dist/layers.D9h1AMfz.js +8 -0
  141. package/dist/layers.DAsAtqWK.js +4 -0
  142. package/dist/layers.DBVrBhF0.js +1 -0
  143. package/dist/layers.DCWjWRvL.js +9 -0
  144. package/dist/layers.DD9dfhit.js +40 -0
  145. package/dist/layers.DHD10kvJ.js +1 -0
  146. package/dist/layers.DHZBzVaT.js +1283 -0
  147. package/dist/layers.DHfSJOOW.js +1 -0
  148. package/dist/layers.DKJQWPVn.js +32 -0
  149. package/dist/layers.DKUfWSX1.js +904 -0
  150. package/dist/layers.DLK-HpMV.js +1 -0
  151. package/dist/layers.DLjZPfF1.js +802 -0
  152. package/dist/layers.DLwuMfdd.js +84 -0
  153. package/dist/layers.DMIDFKxo.js +36 -0
  154. package/dist/layers.DMkBISW1.js +1 -0
  155. package/dist/layers.DN9HoVxI.js +18 -0
  156. package/dist/layers.DOrgOHBr.js +1 -0
  157. package/dist/layers.DRvKjryx.js +1265 -0
  158. package/dist/layers.DTMLuJKN.js +33 -0
  159. package/dist/layers.DUJa2ZOS.js +8 -0
  160. package/dist/layers.DVUWZ8Wt.js +37 -0
  161. package/dist/layers.DVrOJIL5.js +7 -0
  162. package/dist/layers.DY6GA9ww.js +9166 -0
  163. package/dist/layers.D_Imug13.js +8 -0
  164. package/dist/layers.D_KJI4uf.js +1 -0
  165. package/dist/layers.D_vzZUhY.js +1 -0
  166. package/dist/layers.DaCB9yHC.js +4 -0
  167. package/dist/layers.DbaKVP5e.js +1 -0
  168. package/dist/layers.DcjluSHw.js +84 -0
  169. package/dist/layers.De0fDaHO.js +40 -0
  170. package/dist/layers.DeEGG6FS.js +42 -0
  171. package/dist/layers.DfFJCPRD.js +373 -0
  172. package/dist/layers.DfLz3NUP.js +320 -0
  173. package/dist/layers.DhW2E_US.js +1580 -0
  174. package/dist/layers.DjUOC4st.js +16 -0
  175. package/dist/layers.DjbsplkN.js +32 -0
  176. package/dist/layers.DkaJchxc.js +6 -0
  177. package/dist/layers.DlGVcszu.js +1 -0
  178. package/dist/layers.DlfnKTKF.js +42 -0
  179. package/dist/layers.DnxO-9oO.js +1 -0
  180. package/dist/layers.DqSkTf9R.js +21763 -0
  181. package/dist/layers.Dr1JK1_Z.js +202 -0
  182. package/dist/layers.Dr8zNYOs.js +5 -0
  183. package/dist/layers.DsiNLArY.js +40 -0
  184. package/dist/layers.DtP3hMV0.js +10 -0
  185. package/dist/layers.Du1ZlY6H.js +40 -0
  186. package/dist/layers.Du8uQ4JH.js +1 -0
  187. package/dist/layers.DuQ8oZjN.js +1 -0
  188. package/dist/layers.DuwNlZRl.js +11 -0
  189. package/dist/layers.Dw7Dmv6Y.js +19 -0
  190. package/dist/layers.DxA6ocdw.js +70 -0
  191. package/dist/layers.Dy1naDTQ.js +14 -0
  192. package/dist/layers.E1TwhuY2.js +791 -0
  193. package/dist/layers.Eelq_G9Y.js +803 -0
  194. package/dist/layers.Eodu_OXz.js +2 -0
  195. package/dist/layers.H36OYk_h.js +5 -0
  196. package/dist/layers.HVpHwo9E.js +5 -0
  197. package/dist/layers.I-tmhwFG.js +39 -0
  198. package/dist/layers.Is4NOcYC.js +9 -0
  199. package/dist/layers.J20L8tWx.js +501 -0
  200. package/dist/layers.JWCLFILJ.js +1 -0
  201. package/dist/layers.Jm82B3Oj.js +116 -0
  202. package/dist/layers.L60GQ2sb.js +8 -0
  203. package/dist/layers.LJC22eKQ.js +7 -0
  204. package/dist/layers.MW6tobI-.js +6 -0
  205. package/dist/layers.MZ6d0DZp.js +10 -0
  206. package/dist/layers.M_62Sbj7.js +268 -0
  207. package/dist/layers.O8Nxijec.js +793 -0
  208. package/dist/layers.OLlYwVPc.js +14 -0
  209. package/dist/layers.Pw46DBip.js +59 -0
  210. package/dist/layers.U98UFPWm.js +207 -0
  211. package/dist/layers.VXlo2W40.js +36 -0
  212. package/dist/layers.VlKfhmpq.js +10 -0
  213. package/dist/layers.YOQy_t6q.js +40 -0
  214. package/dist/layers.ZoMyFX9M.js +2 -0
  215. package/dist/layers._1XiIhPh.js +7 -0
  216. package/dist/layers.ay_dYKjj.js +960 -0
  217. package/dist/layers.b0h5ZBmD.js +61 -0
  218. package/dist/layers.dDe6FHmh.js +36 -0
  219. package/dist/layers.dVkHa3a_.js +39 -0
  220. package/dist/layers.et7zjoY9.js +52 -0
  221. package/dist/layers.gryxZo3n.js +10 -0
  222. package/dist/layers.hPuFhhxl.js +41 -0
  223. package/dist/layers.hweLqW3I.js +261 -0
  224. package/dist/layers.kaOt41rd.js +9 -0
  225. package/dist/layers.lCpg7dOn.js +21 -0
  226. package/dist/layers.lLFiut9N.js +8 -0
  227. package/dist/layers.lNSz2AQQ.js +6 -0
  228. package/dist/layers.mV8zYAS9.js +39 -0
  229. package/dist/layers.oyyMMK1Q.js +21938 -0
  230. package/dist/layers.qFWUlMDP.js +282 -0
  231. package/dist/layers.t46sYkQh.js +96 -0
  232. package/dist/layers.tdFdnJVX.js +38 -0
  233. package/dist/layers.u4sk_7sk.js +6 -0
  234. package/dist/layers.uEa7jWOw.js +42 -0
  235. package/dist/layers.uKwUcHfW.js +9 -0
  236. package/dist/layers.v6694Ulr.js +425 -0
  237. package/dist/layers.xkw2pWfm.js +40 -0
  238. package/dist/layers.ytXaFkr-.js +1 -0
  239. package/dist/layers.z5ZNUv1T.js +38 -0
  240. package/package.json +18 -76
  241. package/dist/layers.7jmq6tBR.js +0 -2227
  242. package/dist/layers.B90YwJga.js +0 -4
  243. package/dist/layers.C03OvlLb.js +0 -6
  244. package/dist/layers.CJiIq6YQ.js +0 -1
  245. package/dist/layers.CXffIp2y.js +0 -864
  246. package/dist/layers.CZPeYQ9g.js +0 -3
  247. package/dist/layers.CZ_Lt7IL.js +0 -7
  248. package/dist/layers.Ci1-qkbn.js +0 -341
  249. package/dist/layers.Cnm-pECN.js +0 -2
  250. package/dist/layers.D6d62qQ_.js +0 -6774
  251. package/dist/layers.DNCgFYS7.js +0 -27
  252. package/dist/layers.Dev6Yrwi.js +0 -530
  253. package/dist/layers.Dgok89qX.js +0 -1
  254. package/dist/layers.Dq3o7sh3.js +0 -7723
  255. package/dist/layers.Duy8YzsH.js +0 -2511
  256. package/dist/layers.QjAkD17S.js +0 -3677
@@ -0,0 +1,1510 @@
1
+ /*! image-blob-reduce 3.0.1 https://github.com/nodeca/image-blob-reduce @license MIT */
2
+ var K = function(I) {
3
+ for (var d, h = 1; h < arguments.length; h++) {
4
+ d = Object(arguments[h]);
5
+ for (var x in d)
6
+ Object.prototype.hasOwnProperty.call(d, x) && (I[x] = d[x]);
7
+ }
8
+ return I;
9
+ };
10
+ function N(A, I) {
11
+ var d = {};
12
+ return I.forEach(function(h) {
13
+ Object.prototype.hasOwnProperty.call(A, h) && (d[h] = A[h]);
14
+ }), d;
15
+ }
16
+ function V(A) {
17
+ return N(A, [
18
+ "alpha",
19
+ "unsharpAmount",
20
+ "unsharpRadius",
21
+ "unsharpThreshold",
22
+ "cancelToken"
23
+ ]);
24
+ }
25
+ var $ = N, J = V, W = {
26
+ assign: K,
27
+ pick: $,
28
+ pick_pica_resize_options: J
29
+ };
30
+ function q(A) {
31
+ var I = { exports: {} };
32
+ return A(I, I.exports), I.exports;
33
+ }
34
+ function H(A) {
35
+ throw new Error('Could not dynamically require "' + A + '". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.');
36
+ }
37
+ /*!
38
+
39
+ pica
40
+ https://github.com/nodeca/pica
41
+
42
+ */
43
+ var X = q(function(A, I) {
44
+ (function(d) {
45
+ A.exports = d();
46
+ })(function() {
47
+ return (/* @__PURE__ */ (function() {
48
+ function d(h, x, g) {
49
+ function c(e, i) {
50
+ if (!x[e]) {
51
+ if (!h[e]) {
52
+ var a = typeof H == "function" && H;
53
+ if (!i && a) return a(e, !0);
54
+ if (r) return r(e, !0);
55
+ var n = new Error("Cannot find module '" + e + "'");
56
+ throw n.code = "MODULE_NOT_FOUND", n;
57
+ }
58
+ var s = x[e] = { exports: {} };
59
+ h[e][0].call(s.exports, function(f) {
60
+ var u = h[e][1][f];
61
+ return c(u || f);
62
+ }, s, s.exports, d, h, x, g);
63
+ }
64
+ return x[e].exports;
65
+ }
66
+ for (var r = typeof H == "function" && H, t = 0; t < g.length; t++) c(g[t]);
67
+ return c;
68
+ }
69
+ return d;
70
+ })())({ 1: [function(d, h, x) {
71
+ var g = d("inherits"), c = d("multimath"), r = d("./mm_unsharp_mask"), t = d("./mm_resize");
72
+ function e(i) {
73
+ var a = i || [], n = {
74
+ js: a.indexOf("js") >= 0,
75
+ wasm: a.indexOf("wasm") >= 0
76
+ };
77
+ c.call(this, n), this.features = {
78
+ js: n.js,
79
+ wasm: n.wasm && this.has_wasm()
80
+ }, this.use(r), this.use(t);
81
+ }
82
+ g(e, c), e.prototype.resizeAndUnsharp = function(a, n) {
83
+ var s = this.resize(a, n);
84
+ return a.unsharpAmount && this.unsharp_mask(s, a.toWidth, a.toHeight, a.unsharpAmount, a.unsharpRadius, a.unsharpThreshold), s;
85
+ }, h.exports = e;
86
+ }, { "./mm_resize": 4, "./mm_unsharp_mask": 9, inherits: 19, multimath: 20 }], 2: [function(d, h, x) {
87
+ function g(t) {
88
+ return t < 0 ? 0 : t > 255 ? 255 : t;
89
+ }
90
+ function c(t, e, i, a, n, s) {
91
+ var f, u, l, y, m, b, B, C, F, O, E, k = 0, R = 0;
92
+ for (F = 0; F < a; F++) {
93
+ for (m = 0, O = 0; O < n; O++) {
94
+ for (b = s[m++], B = s[m++], C = k + b * 4 | 0, f = u = l = y = 0; B > 0; B--)
95
+ E = s[m++], y = y + E * t[C + 3] | 0, l = l + E * t[C + 2] | 0, u = u + E * t[C + 1] | 0, f = f + E * t[C] | 0, C = C + 4 | 0;
96
+ e[R + 3] = g(
97
+ y + 8192 >> 14
98
+ /*FIXED_FRAC_BITS*/
99
+ ), e[R + 2] = g(
100
+ l + 8192 >> 14
101
+ /*FIXED_FRAC_BITS*/
102
+ ), e[R + 1] = g(
103
+ u + 8192 >> 14
104
+ /*FIXED_FRAC_BITS*/
105
+ ), e[R] = g(
106
+ f + 8192 >> 14
107
+ /*FIXED_FRAC_BITS*/
108
+ ), R = R + a * 4 | 0;
109
+ }
110
+ R = (F + 1) * 4 | 0, k = (F + 1) * i * 4 | 0;
111
+ }
112
+ }
113
+ function r(t, e, i, a, n, s) {
114
+ var f, u, l, y, m, b, B, C, F, O, E, k = 0, R = 0;
115
+ for (F = 0; F < a; F++) {
116
+ for (m = 0, O = 0; O < n; O++) {
117
+ for (b = s[m++], B = s[m++], C = k + b * 4 | 0, f = u = l = y = 0; B > 0; B--)
118
+ E = s[m++], y = y + E * t[C + 3] | 0, l = l + E * t[C + 2] | 0, u = u + E * t[C + 1] | 0, f = f + E * t[C] | 0, C = C + 4 | 0;
119
+ e[R + 3] = g(
120
+ y + 8192 >> 14
121
+ /*FIXED_FRAC_BITS*/
122
+ ), e[R + 2] = g(
123
+ l + 8192 >> 14
124
+ /*FIXED_FRAC_BITS*/
125
+ ), e[R + 1] = g(
126
+ u + 8192 >> 14
127
+ /*FIXED_FRAC_BITS*/
128
+ ), e[R] = g(
129
+ f + 8192 >> 14
130
+ /*FIXED_FRAC_BITS*/
131
+ ), R = R + a * 4 | 0;
132
+ }
133
+ R = (F + 1) * 4 | 0, k = (F + 1) * i * 4 | 0;
134
+ }
135
+ }
136
+ h.exports = {
137
+ convolveHorizontally: c,
138
+ convolveVertically: r
139
+ };
140
+ }, {}], 3: [function(d, h, x) {
141
+ h.exports = "AGFzbQEAAAAADAZkeWxpbmsAAAAAAAEXA2AAAGAGf39/f39/AGAHf39/f39/fwACDwEDZW52Bm1lbW9yeQIAAAMEAwABAgYGAX8AQQALB1cFEV9fd2FzbV9jYWxsX2N0b3JzAAAIY29udm9sdmUAAQpjb252b2x2ZUhWAAIMX19kc29faGFuZGxlAwAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAAK7AMDAwABC8YDAQ9/AkAgA0UNACAERQ0AA0AgDCENQQAhE0EAIQcDQCAHQQJqIQYCfyAHQQF0IAVqIgcuAQIiFEUEQEGAwAAhCEGAwAAhCUGAwAAhCkGAwAAhCyAGDAELIBIgBy4BAGohCEEAIQsgFCEHQQAhDiAGIQlBACEPQQAhEANAIAUgCUEBdGouAQAiESAAIAhBAnRqKAIAIgpBGHZsIBBqIRAgCkH/AXEgEWwgC2ohCyAKQRB2Qf8BcSARbCAPaiEPIApBCHZB/wFxIBFsIA5qIQ4gCEEBaiEIIAlBAWohCSAHQQFrIgcNAAsgC0GAQGshCCAOQYBAayEJIA9BgEBrIQogEEGAQGshCyAGIBRqCyEHIAEgDUECdGogCUEOdSIGQf8BIAZB/wFIGyIGQQAgBkEAShtBCHRBgP4DcSAKQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EQdEGAgPwHcSALQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EYdHJyIAhBDnUiBkH/ASAGQf8BSBsiBkEAIAZBAEobcjYCACADIA1qIQ0gE0EBaiITIARHDQALIAxBAWoiDCACbCESIAMgDEcNAAsLCx4AQQAgAiADIAQgBSAAEAEgAkEAIAQgBSAGIAEQAQs=";
142
+ }, {}], 4: [function(d, h, x) {
143
+ h.exports = {
144
+ name: "resize",
145
+ fn: d("./resize"),
146
+ wasm_fn: d("./resize_wasm"),
147
+ wasm_src: d("./convolve_wasm_base64")
148
+ };
149
+ }, { "./convolve_wasm_base64": 3, "./resize": 5, "./resize_wasm": 8 }], 5: [function(d, h, x) {
150
+ var g = d("./resize_filter_gen"), c = d("./convolve").convolveHorizontally, r = d("./convolve").convolveVertically;
151
+ function t(e, i, a) {
152
+ for (var n = 3, s = i * a * 4 | 0; n < s; )
153
+ e[n] = 255, n = n + 4 | 0;
154
+ }
155
+ h.exports = function(i) {
156
+ var a = i.src, n = i.width, s = i.height, f = i.toWidth, u = i.toHeight, l = i.scaleX || i.toWidth / i.width, y = i.scaleY || i.toHeight / i.height, m = i.offsetX || 0, b = i.offsetY || 0, B = i.dest || new Uint8Array(f * u * 4), C = typeof i.quality > "u" ? 3 : i.quality, F = i.alpha || !1, O = g(C, n, f, l, m), E = g(C, s, u, y, b), k = new Uint8Array(f * s * 4);
157
+ return c(a, k, n, s, f, O), r(k, B, s, f, u, E), F || t(B, f, u), B;
158
+ };
159
+ }, { "./convolve": 2, "./resize_filter_gen": 6 }], 6: [function(d, h, x) {
160
+ var g = d("./resize_filter_info"), c = 14;
161
+ function r(t) {
162
+ return Math.round(t * ((1 << c) - 1));
163
+ }
164
+ h.exports = function(e, i, a, n, s) {
165
+ var f = g[e].filter, u = 1 / n, l = Math.min(1, n), y = g[e].win / l, m, b, B, C, F, O, E, k, R, D, S, j, G, o, p, _, v, w = Math.floor((y + 1) * 2), U = new Int16Array((w + 2) * a), Q = 0, M = !U.subarray || !U.set;
166
+ for (m = 0; m < a; m++) {
167
+ for (b = (m + 0.5) * u + s, B = Math.max(0, Math.floor(b - y)), C = Math.min(i - 1, Math.ceil(b + y)), F = C - B + 1, O = new Float32Array(F), E = new Int16Array(F), k = 0, R = B, D = 0; R <= C; R++, D++)
168
+ S = f((R + 0.5 - b) * l), k += S, O[D] = S;
169
+ for (j = 0, D = 0; D < O.length; D++)
170
+ G = O[D] / k, j += G, E[D] = r(G);
171
+ for (E[a >> 1] += r(1 - j), o = 0; o < E.length && E[o] === 0; )
172
+ o++;
173
+ if (o < E.length) {
174
+ for (p = E.length - 1; p > 0 && E[p] === 0; )
175
+ p--;
176
+ if (_ = B + o, v = p - o + 1, U[Q++] = _, U[Q++] = v, !M)
177
+ U.set(E.subarray(o, p + 1), Q), Q += v;
178
+ else
179
+ for (D = o; D <= p; D++)
180
+ U[Q++] = E[D];
181
+ } else
182
+ U[Q++] = 0, U[Q++] = 0;
183
+ }
184
+ return U;
185
+ };
186
+ }, { "./resize_filter_info": 7 }], 7: [function(d, h, x) {
187
+ h.exports = [{
188
+ // Nearest neibor (Box)
189
+ win: 0.5,
190
+ filter: function(c) {
191
+ return c >= -0.5 && c < 0.5 ? 1 : 0;
192
+ }
193
+ }, {
194
+ // Hamming
195
+ win: 1,
196
+ filter: function(c) {
197
+ if (c <= -1 || c >= 1)
198
+ return 0;
199
+ if (c > -11920929e-14 && c < 11920929e-14)
200
+ return 1;
201
+ var r = c * Math.PI;
202
+ return Math.sin(r) / r * (0.54 + 0.46 * Math.cos(r / 1));
203
+ }
204
+ }, {
205
+ // Lanczos, win = 2
206
+ win: 2,
207
+ filter: function(c) {
208
+ if (c <= -2 || c >= 2)
209
+ return 0;
210
+ if (c > -11920929e-14 && c < 11920929e-14)
211
+ return 1;
212
+ var r = c * Math.PI;
213
+ return Math.sin(r) / r * Math.sin(r / 2) / (r / 2);
214
+ }
215
+ }, {
216
+ // Lanczos, win = 3
217
+ win: 3,
218
+ filter: function(c) {
219
+ if (c <= -3 || c >= 3)
220
+ return 0;
221
+ if (c > -11920929e-14 && c < 11920929e-14)
222
+ return 1;
223
+ var r = c * Math.PI;
224
+ return Math.sin(r) / r * Math.sin(r / 3) / (r / 3);
225
+ }
226
+ }];
227
+ }, {}], 8: [function(d, h, x) {
228
+ var g = d("./resize_filter_gen");
229
+ function c(i, a, n) {
230
+ for (var s = 3, f = a * n * 4 | 0; s < f; )
231
+ i[s] = 255, s = s + 4 | 0;
232
+ }
233
+ function r(i) {
234
+ return new Uint8Array(i.buffer, 0, i.byteLength);
235
+ }
236
+ var t = !0;
237
+ try {
238
+ t = new Uint32Array(new Uint8Array([1, 0, 0, 0]).buffer)[0] === 1;
239
+ } catch {
240
+ }
241
+ function e(i, a, n) {
242
+ if (t) {
243
+ a.set(r(i), n);
244
+ return;
245
+ }
246
+ for (var s = n, f = 0; f < i.length; f++) {
247
+ var u = i[f];
248
+ a[s++] = u & 255, a[s++] = u >> 8 & 255;
249
+ }
250
+ }
251
+ h.exports = function(a) {
252
+ var n = a.src, s = a.width, f = a.height, u = a.toWidth, l = a.toHeight, y = a.scaleX || a.toWidth / a.width, m = a.scaleY || a.toHeight / a.height, b = a.offsetX || 0, B = a.offsetY || 0, C = a.dest || new Uint8Array(u * l * 4), F = typeof a.quality > "u" ? 3 : a.quality, O = a.alpha || !1, E = g(F, s, u, y, b), k = g(F, f, l, m, B), R = 0, D = this.__align(R + Math.max(n.byteLength, C.byteLength)), S = this.__align(D + f * u * 4), j = this.__align(S + E.byteLength), G = j + k.byteLength, o = this.__instance("resize", G), p = new Uint8Array(this.__memory.buffer), _ = new Uint32Array(this.__memory.buffer), v = new Uint32Array(n.buffer);
253
+ _.set(v), e(E, p, S), e(k, p, j);
254
+ var w = o.exports.convolveHV || o.exports._convolveHV;
255
+ w(S, j, D, s, f, u, l);
256
+ var U = new Uint32Array(C.buffer);
257
+ return U.set(new Uint32Array(this.__memory.buffer, 0, l * u)), O || c(C, u, l), C;
258
+ };
259
+ }, { "./resize_filter_gen": 6 }], 9: [function(d, h, x) {
260
+ h.exports = {
261
+ name: "unsharp_mask",
262
+ fn: d("./unsharp_mask"),
263
+ wasm_fn: d("./unsharp_mask_wasm"),
264
+ wasm_src: d("./unsharp_mask_wasm_base64")
265
+ };
266
+ }, { "./unsharp_mask": 10, "./unsharp_mask_wasm": 11, "./unsharp_mask_wasm_base64": 12 }], 10: [function(d, h, x) {
267
+ var g = d("glur/mono16");
268
+ function c(r, t, e) {
269
+ for (var i = t * e, a = new Uint16Array(i), n, s, f, u, l = 0; l < i; l++)
270
+ n = r[4 * l], s = r[4 * l + 1], f = r[4 * l + 2], u = n >= s && n >= f ? n : s >= f && s >= n ? s : f, a[l] = u << 8;
271
+ return a;
272
+ }
273
+ h.exports = function(t, e, i, a, n, s) {
274
+ var f, u, l, y, m;
275
+ if (!(a === 0 || n < 0.5)) {
276
+ n > 2 && (n = 2);
277
+ var b = c(t, e, i), B = new Uint16Array(b);
278
+ g(B, e, i, n);
279
+ for (var C = a / 100 * 4096 + 0.5 | 0, F = s << 8, O = e * i, E = 0; E < O; E++)
280
+ f = b[E], y = f - B[E], Math.abs(y) >= F && (u = f + (C * y + 2048 >> 12), u = u > 65280 ? 65280 : u, u = u < 0 ? 0 : u, f = f !== 0 ? f : 1, l = (u << 12) / f | 0, m = E * 4, t[m] = t[m] * l + 2048 >> 12, t[m + 1] = t[m + 1] * l + 2048 >> 12, t[m + 2] = t[m + 2] * l + 2048 >> 12);
281
+ }
282
+ };
283
+ }, { "glur/mono16": 18 }], 11: [function(d, h, x) {
284
+ h.exports = function(c, r, t, e, i, a) {
285
+ if (!(e === 0 || i < 0.5)) {
286
+ i > 2 && (i = 2);
287
+ var n = r * t, s = n * 4, f = n * 2, u = n * 2, l = Math.max(r, t) * 4, y = 32, m = 0, b = s, B = b + f, C = B + u, F = C + u, O = F + l, E = this.__instance("unsharp_mask", s + f + u * 2 + l + y, {
288
+ exp: Math.exp
289
+ }), k = new Uint32Array(c.buffer), R = new Uint32Array(this.__memory.buffer);
290
+ R.set(k);
291
+ var D = E.exports.hsv_v16 || E.exports._hsv_v16;
292
+ D(m, b, r, t), D = E.exports.blurMono16 || E.exports._blurMono16, D(b, B, C, F, O, r, t, i), D = E.exports.unsharp || E.exports._unsharp, D(m, m, b, B, r, t, e, a), k.set(new Uint32Array(this.__memory.buffer, 0, n));
293
+ }
294
+ };
295
+ }, {}], 12: [function(d, h, x) {
296
+ h.exports = "AGFzbQEAAAAADAZkeWxpbmsAAAAAAAE0B2AAAGAEf39/fwBgBn9/f39/fwBgCH9/f39/f39/AGAIf39/f39/f30AYAJ9fwBgAXwBfAIZAgNlbnYDZXhwAAYDZW52Bm1lbW9yeQIAAAMHBgAFAgQBAwYGAX8AQQALB4oBCBFfX3dhc21fY2FsbF9jdG9ycwABFl9fYnVpbGRfZ2F1c3NpYW5fY29lZnMAAg5fX2dhdXNzMTZfbGluZQADCmJsdXJNb25vMTYABAdoc3ZfdjE2AAUHdW5zaGFycAAGDF9fZHNvX2hhbmRsZQMAGF9fd2FzbV9hcHBseV9kYXRhX3JlbG9jcwABCsUMBgMAAQvWAQEHfCABRNuGukOCGvs/IAC7oyICRAAAAAAAAADAohAAIgW2jDgCFCABIAKaEAAiAyADoCIGtjgCECABRAAAAAAAAPA/IAOhIgQgBKIgAyACIAKgokQAAAAAAADwP6AgBaGjIgS2OAIAIAEgBSAEmqIiB7Y4AgwgASADIAJEAAAAAAAA8D+gIASioiIItjgCCCABIAMgAkQAAAAAAADwv6AgBKKiIgK2OAIEIAEgByAIoCAFRAAAAAAAAPA/IAahoCIDo7Y4AhwgASAEIAKgIAOjtjgCGAuGBQMGfwl8An0gAyoCDCEVIAMqAgghFiADKgIUuyERIAMqAhC7IRACQCAEQQFrIghBAEgiCQRAIAIhByAAIQYMAQsgAiAALwEAuCIPIAMqAhi7oiIMIBGiIg0gDCAQoiAPIAMqAgS7IhOiIhQgAyoCALsiEiAPoqCgoCIOtjgCACACQQRqIQcgAEECaiEGIAhFDQAgCEEBIAhBAUgbIgpBf3MhCwJ/IAQgCmtBAXFFBEAgDiENIAgMAQsgAiANIA4gEKIgFCASIAAvAQK4Ig+ioKCgIg22OAIEIAJBCGohByAAQQRqIQYgDiEMIARBAmsLIQIgC0EAIARrRg0AA0AgByAMIBGiIA0gEKIgDyAToiASIAYvAQC4Ig6ioKCgIgy2OAIAIAcgDSARoiAMIBCiIA4gE6IgEiAGLwECuCIPoqCgoCINtjgCBCAHQQhqIQcgBkEEaiEGIAJBAkohACACQQJrIQIgAA0ACwsCQCAJDQAgASAFIAhsQQF0aiIAAn8gBkECay8BACICuCINIBW7IhKiIA0gFrsiE6KgIA0gAyoCHLuiIgwgEKKgIAwgEaKgIg8gB0EEayIHKgIAu6AiDkQAAAAAAADwQWMgDkQAAAAAAAAAAGZxBEAgDqsMAQtBAAs7AQAgCEUNACAGQQRrIQZBACAFa0EBdCEBA0ACfyANIBKiIAJB//8DcbgiDSAToqAgDyIOIBCioCAMIBGioCIPIAdBBGsiByoCALugIgxEAAAAAAAA8EFjIAxEAAAAAAAAAABmcQRAIAyrDAELQQALIQMgBi8BACECIAAgAWoiACADOwEAIAZBAmshBiAIQQFKIQMgDiEMIAhBAWshCCADDQALCwvRAgIBfwd8AkAgB0MAAAAAWw0AIARE24a6Q4Ia+z8gB0MAAAA/l7ujIglEAAAAAAAAAMCiEAAiDLaMOAIUIAQgCZoQACIKIAqgIg22OAIQIAREAAAAAAAA8D8gCqEiCyALoiAKIAkgCaCiRAAAAAAAAPA/oCAMoaMiC7Y4AgAgBCAMIAuaoiIOtjgCDCAEIAogCUQAAAAAAADwP6AgC6KiIg+2OAIIIAQgCiAJRAAAAAAAAPC/oCALoqIiCbY4AgQgBCAOIA+gIAxEAAAAAAAA8D8gDaGgIgqjtjgCHCAEIAsgCaAgCqO2OAIYIAYEQANAIAAgBSAIbEEBdGogAiAIQQF0aiADIAQgBSAGEAMgCEEBaiIIIAZHDQALCyAFRQ0AQQAhCANAIAIgBiAIbEEBdGogASAIQQF0aiADIAQgBiAFEAMgCEEBaiIIIAVHDQALCwtxAQN/IAIgA2wiBQRAA0AgASAAKAIAIgRBEHZB/wFxIgIgAiAEQQh2Qf8BcSIDIAMgBEH/AXEiBEkbIAIgA0sbIgYgBiAEIAIgBEsbIAMgBEsbQQh0OwEAIAFBAmohASAAQQRqIQAgBUEBayIFDQALCwuZAgIDfwF8IAQgBWwhBAJ/IAazQwAAgEWUQwAAyEKVu0QAAAAAAADgP6AiC5lEAAAAAAAA4EFjBEAgC6oMAQtBgICAgHgLIQUgBARAIAdBCHQhCUEAIQYDQCAJIAIgBkEBdCIHai8BACIBIAMgB2ovAQBrIgcgB0EfdSIIaiAIc00EQCAAIAZBAnQiCGoiCiAFIAdsQYAQakEMdSABaiIHQYD+AyAHQYD+A0gbIgdBACAHQQBKG0EMdCABQQEgARtuIgEgCi0AAGxBgBBqQQx2OgAAIAAgCEEBcmoiByABIActAABsQYAQakEMdjoAACAAIAhBAnJqIgcgASAHLQAAbEGAEGpBDHY6AAALIAZBAWoiBiAERw0ACwsL";
297
+ }, {}], 13: [function(d, h, x) {
298
+ var g = 100;
299
+ function c(r, t) {
300
+ this.create = r, this.available = [], this.acquired = {}, this.lastId = 1, this.timeoutId = 0, this.idle = t || 2e3;
301
+ }
302
+ c.prototype.acquire = function() {
303
+ var r = this, t;
304
+ return this.available.length !== 0 ? t = this.available.pop() : (t = this.create(), t.id = this.lastId++, t.release = function() {
305
+ return r.release(t);
306
+ }), this.acquired[t.id] = t, t;
307
+ }, c.prototype.release = function(r) {
308
+ var t = this;
309
+ delete this.acquired[r.id], r.lastUsed = Date.now(), this.available.push(r), this.timeoutId === 0 && (this.timeoutId = setTimeout(function() {
310
+ return t.gc();
311
+ }, g));
312
+ }, c.prototype.gc = function() {
313
+ var r = this, t = Date.now();
314
+ this.available = this.available.filter(function(e) {
315
+ return t - e.lastUsed > r.idle ? (e.destroy(), !1) : !0;
316
+ }), this.available.length !== 0 ? this.timeoutId = setTimeout(function() {
317
+ return r.gc();
318
+ }, g) : this.timeoutId = 0;
319
+ }, h.exports = c;
320
+ }, {}], 14: [function(d, h, x) {
321
+ var g = 2;
322
+ h.exports = function(r, t, e, i, a, n) {
323
+ var s = e / r, f = i / t, u = (2 * n + g + 1) / a;
324
+ if (u > 0.5) return [[e, i]];
325
+ var l = Math.ceil(Math.log(Math.min(s, f)) / Math.log(u));
326
+ if (l <= 1) return [[e, i]];
327
+ for (var y = [], m = 0; m < l; m++) {
328
+ var b = Math.round(Math.pow(Math.pow(r, l - m - 1) * Math.pow(e, m + 1), 1 / l)), B = Math.round(Math.pow(Math.pow(t, l - m - 1) * Math.pow(i, m + 1), 1 / l));
329
+ y.push([b, B]);
330
+ }
331
+ return y;
332
+ };
333
+ }, {}], 15: [function(d, h, x) {
334
+ var g = 1e-5;
335
+ function c(t) {
336
+ var e = Math.round(t);
337
+ return Math.abs(t - e) < g ? e : Math.floor(t);
338
+ }
339
+ function r(t) {
340
+ var e = Math.round(t);
341
+ return Math.abs(t - e) < g ? e : Math.ceil(t);
342
+ }
343
+ h.exports = function(e) {
344
+ var i = e.toWidth / e.width, a = e.toHeight / e.height, n = c(e.srcTileSize * i) - 2 * e.destTileBorder, s = c(e.srcTileSize * a) - 2 * e.destTileBorder;
345
+ if (n < 1 || s < 1)
346
+ throw new Error("Internal error in pica: target tile width/height is too small.");
347
+ var f, u, l, y, m, b, B = [], C;
348
+ for (y = 0; y < e.toHeight; y += s)
349
+ for (l = 0; l < e.toWidth; l += n)
350
+ f = l - e.destTileBorder, f < 0 && (f = 0), m = l + n + e.destTileBorder - f, f + m >= e.toWidth && (m = e.toWidth - f), u = y - e.destTileBorder, u < 0 && (u = 0), b = y + s + e.destTileBorder - u, u + b >= e.toHeight && (b = e.toHeight - u), C = {
351
+ toX: f,
352
+ toY: u,
353
+ toWidth: m,
354
+ toHeight: b,
355
+ toInnerX: l,
356
+ toInnerY: y,
357
+ toInnerWidth: n,
358
+ toInnerHeight: s,
359
+ offsetX: f / i - c(f / i),
360
+ offsetY: u / a - c(u / a),
361
+ scaleX: i,
362
+ scaleY: a,
363
+ x: c(f / i),
364
+ y: c(u / a),
365
+ width: r(m / i),
366
+ height: r(b / a)
367
+ }, B.push(C);
368
+ return B;
369
+ };
370
+ }, {}], 16: [function(d, h, x) {
371
+ function g(c) {
372
+ return Object.prototype.toString.call(c);
373
+ }
374
+ h.exports.isCanvas = function(r) {
375
+ var t = g(r);
376
+ return t === "[object HTMLCanvasElement]" || t === "[object OffscreenCanvas]" || t === "[object Canvas]";
377
+ }, h.exports.isImage = function(r) {
378
+ return g(r) === "[object HTMLImageElement]";
379
+ }, h.exports.isImageBitmap = function(r) {
380
+ return g(r) === "[object ImageBitmap]";
381
+ }, h.exports.limiter = function(r) {
382
+ var t = 0, e = [];
383
+ function i() {
384
+ t < r && e.length && (t++, e.shift()());
385
+ }
386
+ return function(n) {
387
+ return new Promise(function(s, f) {
388
+ e.push(function() {
389
+ n().then(function(u) {
390
+ s(u), t--, i();
391
+ }, function(u) {
392
+ f(u), t--, i();
393
+ });
394
+ }), i();
395
+ });
396
+ };
397
+ }, h.exports.cib_quality_name = function(r) {
398
+ switch (r) {
399
+ case 0:
400
+ return "pixelated";
401
+ case 1:
402
+ return "low";
403
+ case 2:
404
+ return "medium";
405
+ }
406
+ return "high";
407
+ }, h.exports.cib_support = function(r) {
408
+ return Promise.resolve().then(function() {
409
+ if (typeof createImageBitmap > "u")
410
+ return !1;
411
+ var t = r(100, 100);
412
+ return createImageBitmap(t, 0, 0, 100, 100, {
413
+ resizeWidth: 10,
414
+ resizeHeight: 10,
415
+ resizeQuality: "high"
416
+ }).then(function(e) {
417
+ var i = e.width === 10;
418
+ return e.close(), t = null, i;
419
+ });
420
+ }).catch(function() {
421
+ return !1;
422
+ });
423
+ }, h.exports.worker_offscreen_canvas_support = function() {
424
+ return new Promise(function(r, t) {
425
+ if (typeof OffscreenCanvas > "u") {
426
+ r(!1);
427
+ return;
428
+ }
429
+ function e(n) {
430
+ if (typeof createImageBitmap > "u") {
431
+ n.postMessage(!1);
432
+ return;
433
+ }
434
+ Promise.resolve().then(function() {
435
+ var s = new OffscreenCanvas(10, 10), f = s.getContext("2d");
436
+ return f.rect(0, 0, 1, 1), createImageBitmap(s, 0, 0, 1, 1);
437
+ }).then(function() {
438
+ return n.postMessage(!0);
439
+ }, function() {
440
+ return n.postMessage(!1);
441
+ });
442
+ }
443
+ var i = btoa("(".concat(e.toString(), ")(self);")), a = new Worker("data:text/javascript;base64,".concat(i));
444
+ a.onmessage = function(n) {
445
+ return r(n.data);
446
+ }, a.onerror = t;
447
+ }).then(function(r) {
448
+ return r;
449
+ }, function() {
450
+ return !1;
451
+ });
452
+ }, h.exports.can_use_canvas = function(r) {
453
+ var t = !1;
454
+ try {
455
+ var e = r(2, 1), i = e.getContext("2d"), a = i.createImageData(2, 1);
456
+ a.data[0] = 12, a.data[1] = 23, a.data[2] = 34, a.data[3] = 255, a.data[4] = 45, a.data[5] = 56, a.data[6] = 67, a.data[7] = 255, i.putImageData(a, 0, 0), a = null, a = i.getImageData(0, 0, 2, 1), a.data[0] === 12 && a.data[1] === 23 && a.data[2] === 34 && a.data[3] === 255 && a.data[4] === 45 && a.data[5] === 56 && a.data[6] === 67 && a.data[7] === 255 && (t = !0);
457
+ } catch {
458
+ }
459
+ return t;
460
+ }, h.exports.cib_can_use_region = function() {
461
+ return new Promise(function(r) {
462
+ if (typeof createImageBitmap > "u") {
463
+ r(!1);
464
+ return;
465
+ }
466
+ var t = new Image();
467
+ t.src = "data:image/jpeg;base64,/9j/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAYAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAEAwMEAwMEBAMEBQQEBQYKBwYGBgYNCQoICg8NEBAPDQ8OERMYFBESFxIODxUcFRcZGRsbGxAUHR8dGh8YGhsa/9sAQwEEBQUGBQYMBwcMGhEPERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa/8IAEQgAAQACAwERAAIRAQMRAf/EABQAAQAAAAAAAAAAAAAAAAAAAAf/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAF/P//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQH//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z", t.onload = function() {
468
+ createImageBitmap(t, 0, 0, t.width, t.height).then(function(e) {
469
+ e.width === t.width && e.height === t.height ? r(!0) : r(!1);
470
+ }, function() {
471
+ return r(!1);
472
+ });
473
+ }, t.onerror = function() {
474
+ return r(!1);
475
+ };
476
+ });
477
+ };
478
+ }, {}], 17: [function(d, h, x) {
479
+ h.exports = function() {
480
+ var g = d("./mathlib"), c;
481
+ onmessage = function(t) {
482
+ var e = t.data.opts, i = !1;
483
+ if (!e.src && e.srcBitmap) {
484
+ var a = new OffscreenCanvas(e.width, e.height), n = a.getContext("2d", {
485
+ alpha: !!e.alpha
486
+ });
487
+ n.drawImage(e.srcBitmap, 0, 0), e.src = n.getImageData(0, 0, e.width, e.height).data, a.width = a.height = 0, a = null, e.srcBitmap.close(), e.srcBitmap = null, i = !0;
488
+ }
489
+ c || (c = new g(t.data.features));
490
+ var s = c.resizeAndUnsharp(e);
491
+ if (i) {
492
+ var f = new ImageData(new Uint8ClampedArray(s), e.toWidth, e.toHeight), u = new OffscreenCanvas(e.toWidth, e.toHeight), l = u.getContext("2d", {
493
+ alpha: !!e.alpha
494
+ });
495
+ l.putImageData(f, 0, 0), createImageBitmap(u).then(function(y) {
496
+ postMessage({
497
+ bitmap: y
498
+ }, [y]);
499
+ });
500
+ } else
501
+ postMessage({
502
+ data: s
503
+ }, [s.buffer]);
504
+ };
505
+ };
506
+ }, { "./mathlib": 1 }], 18: [function(d, h, x) {
507
+ var g, c, r, t, e, i, a, n;
508
+ function s(l) {
509
+ l < 0.5 && (l = 0.5);
510
+ var y = Math.exp(0.726 * 0.726) / l, m = Math.exp(-y), b = Math.exp(-2 * y), B = (1 - m) * (1 - m) / (1 + 2 * y * m - b);
511
+ return g = B, c = B * (y - 1) * m, r = B * (y + 1) * m, t = -B * b, e = 2 * m, i = -b, a = (g + c) / (1 - e - i), n = (r + t) / (1 - e - i), new Float32Array([g, c, r, t, e, i, a, n]);
512
+ }
513
+ function f(l, y, m, b, B, C) {
514
+ var F, O, E, k, R, D, S, j, G, o, p, _, v, w;
515
+ for (G = 0; G < C; G++) {
516
+ for (D = G * B, S = G, j = 0, F = l[D], R = F * b[6], k = R, p = b[0], _ = b[1], v = b[4], w = b[5], o = 0; o < B; o++)
517
+ O = l[D], E = O * p + F * _ + k * v + R * w, R = k, k = E, F = O, m[j] = k, j++, D++;
518
+ for (D--, j--, S += C * (B - 1), F = l[D], R = F * b[7], k = R, O = F, p = b[2], _ = b[3], o = B - 1; o >= 0; o--)
519
+ E = O * p + F * _ + k * v + R * w, R = k, k = E, F = O, O = l[D], y[S] = m[j] + k, D--, j--, S -= C;
520
+ }
521
+ }
522
+ function u(l, y, m, b) {
523
+ if (b) {
524
+ var B = new Uint16Array(l.length), C = new Float32Array(Math.max(y, m)), F = s(b);
525
+ f(l, B, C, F, y, m), f(B, l, C, F, m, y);
526
+ }
527
+ }
528
+ h.exports = u;
529
+ }, {}], 19: [function(d, h, x) {
530
+ typeof Object.create == "function" ? h.exports = function(c, r) {
531
+ r && (c.super_ = r, c.prototype = Object.create(r.prototype, {
532
+ constructor: {
533
+ value: c,
534
+ enumerable: !1,
535
+ writable: !0,
536
+ configurable: !0
537
+ }
538
+ }));
539
+ } : h.exports = function(c, r) {
540
+ if (r) {
541
+ c.super_ = r;
542
+ var t = function() {
543
+ };
544
+ t.prototype = r.prototype, c.prototype = new t(), c.prototype.constructor = c;
545
+ }
546
+ };
547
+ }, {}], 20: [function(d, h, x) {
548
+ var g = d("object-assign"), c = d("./lib/base64decode"), r = d("./lib/wa_detect"), t = {
549
+ js: !0,
550
+ wasm: !0
551
+ };
552
+ function e(i) {
553
+ if (!(this instanceof e)) return new e(i);
554
+ var a = g({}, t, i || {});
555
+ if (this.options = a, this.__cache = {}, this.__init_promise = null, this.__modules = a.modules || {}, this.__memory = null, this.__wasm = {}, this.__isLE = new Uint32Array(new Uint8Array([1, 0, 0, 0]).buffer)[0] === 1, !this.options.js && !this.options.wasm)
556
+ throw new Error('mathlib: at least "js" or "wasm" should be enabled');
557
+ }
558
+ e.prototype.has_wasm = r, e.prototype.use = function(i) {
559
+ return this.__modules[i.name] = i, this.options.wasm && this.has_wasm() && i.wasm_fn ? this[i.name] = i.wasm_fn : this[i.name] = i.fn, this;
560
+ }, e.prototype.init = function() {
561
+ if (this.__init_promise) return this.__init_promise;
562
+ if (!this.options.js && this.options.wasm && !this.has_wasm())
563
+ return Promise.reject(new Error(`mathlib: only "wasm" was enabled, but it's not supported`));
564
+ var i = this;
565
+ return this.__init_promise = Promise.all(Object.keys(i.__modules).map(function(a) {
566
+ var n = i.__modules[a];
567
+ return !i.options.wasm || !i.has_wasm() || !n.wasm_fn || i.__wasm[a] ? null : WebAssembly.compile(i.__base64decode(n.wasm_src)).then(function(s) {
568
+ i.__wasm[a] = s;
569
+ });
570
+ })).then(function() {
571
+ return i;
572
+ }), this.__init_promise;
573
+ }, e.prototype.__base64decode = c, e.prototype.__reallocate = function(a) {
574
+ if (!this.__memory)
575
+ return this.__memory = new WebAssembly.Memory({
576
+ initial: Math.ceil(a / (64 * 1024))
577
+ }), this.__memory;
578
+ var n = this.__memory.buffer.byteLength;
579
+ return n < a && this.__memory.grow(Math.ceil((a - n) / (64 * 1024))), this.__memory;
580
+ }, e.prototype.__instance = function(a, n, s) {
581
+ if (n && this.__reallocate(n), !this.__wasm[a]) {
582
+ var f = this.__modules[a];
583
+ this.__wasm[a] = new WebAssembly.Module(this.__base64decode(f.wasm_src));
584
+ }
585
+ if (!this.__cache[a]) {
586
+ var u = {
587
+ memoryBase: 0,
588
+ memory: this.__memory,
589
+ tableBase: 0,
590
+ table: new WebAssembly.Table({ initial: 0, element: "anyfunc" })
591
+ };
592
+ this.__cache[a] = new WebAssembly.Instance(this.__wasm[a], {
593
+ env: g(u, s || {})
594
+ });
595
+ }
596
+ return this.__cache[a];
597
+ }, e.prototype.__align = function(a, n) {
598
+ n = n || 8;
599
+ var s = a % n;
600
+ return a + (s ? n - s : 0);
601
+ }, h.exports = e;
602
+ }, { "./lib/base64decode": 21, "./lib/wa_detect": 22, "object-assign": 23 }], 21: [function(d, h, x) {
603
+ var g = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
604
+ h.exports = function(r) {
605
+ for (var t = r.replace(/[\r\n=]/g, ""), e = t.length, i = new Uint8Array(e * 3 >> 2), a = 0, n = 0, s = 0; s < e; s++)
606
+ s % 4 === 0 && s && (i[n++] = a >> 16 & 255, i[n++] = a >> 8 & 255, i[n++] = a & 255), a = a << 6 | g.indexOf(t.charAt(s));
607
+ var f = e % 4 * 6;
608
+ return f === 0 ? (i[n++] = a >> 16 & 255, i[n++] = a >> 8 & 255, i[n++] = a & 255) : f === 18 ? (i[n++] = a >> 10 & 255, i[n++] = a >> 2 & 255) : f === 12 && (i[n++] = a >> 4 & 255), i;
609
+ };
610
+ }, {}], 22: [function(d, h, x) {
611
+ var g;
612
+ h.exports = function() {
613
+ if (typeof g < "u" || (g = !1, typeof WebAssembly > "u")) return g;
614
+ try {
615
+ var r = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 6, 1, 96, 1, 127, 1, 127, 3, 2, 1, 0, 5, 3, 1, 0, 1, 7, 8, 1, 4, 116, 101, 115, 116, 0, 0, 10, 16, 1, 14, 0, 32, 0, 65, 1, 54, 2, 0, 32, 0, 40, 2, 0, 11]), t = new WebAssembly.Module(r), e = new WebAssembly.Instance(t, {});
616
+ return e.exports.test(4) !== 0 && (g = !0), g;
617
+ } catch {
618
+ }
619
+ return g;
620
+ };
621
+ }, {}], 23: [function(d, h, x) {
622
+ var g = Object.getOwnPropertySymbols, c = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
623
+ function t(i) {
624
+ if (i == null)
625
+ throw new TypeError("Object.assign cannot be called with null or undefined");
626
+ return Object(i);
627
+ }
628
+ function e() {
629
+ try {
630
+ if (!Object.assign)
631
+ return !1;
632
+ var i = new String("abc");
633
+ if (i[5] = "de", Object.getOwnPropertyNames(i)[0] === "5")
634
+ return !1;
635
+ for (var a = {}, n = 0; n < 10; n++)
636
+ a["_" + String.fromCharCode(n)] = n;
637
+ var s = Object.getOwnPropertyNames(a).map(function(u) {
638
+ return a[u];
639
+ });
640
+ if (s.join("") !== "0123456789")
641
+ return !1;
642
+ var f = {};
643
+ return "abcdefghijklmnopqrst".split("").forEach(function(u) {
644
+ f[u] = u;
645
+ }), Object.keys(Object.assign({}, f)).join("") === "abcdefghijklmnopqrst";
646
+ } catch {
647
+ return !1;
648
+ }
649
+ }
650
+ h.exports = e() ? Object.assign : function(i, a) {
651
+ for (var n, s = t(i), f, u = 1; u < arguments.length; u++) {
652
+ n = Object(arguments[u]);
653
+ for (var l in n)
654
+ c.call(n, l) && (s[l] = n[l]);
655
+ if (g) {
656
+ f = g(n);
657
+ for (var y = 0; y < f.length; y++)
658
+ r.call(n, f[y]) && (s[f[y]] = n[f[y]]);
659
+ }
660
+ }
661
+ return s;
662
+ };
663
+ }, {}], 24: [function(d, h, x) {
664
+ var g = arguments[3], c = arguments[4], r = arguments[5], t = JSON.stringify;
665
+ h.exports = function(e, i) {
666
+ for (var a, n = Object.keys(r), s = 0, f = n.length; s < f; s++) {
667
+ var u = n[s], l = r[u].exports;
668
+ if (l === e || l && l.default === e) {
669
+ a = u;
670
+ break;
671
+ }
672
+ }
673
+ if (!a) {
674
+ a = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);
675
+ for (var y = {}, s = 0, f = n.length; s < f; s++) {
676
+ var u = n[s];
677
+ y[u] = u;
678
+ }
679
+ c[a] = [
680
+ "function(require,module,exports){" + e + "(self); }",
681
+ y
682
+ ];
683
+ }
684
+ var m = Math.floor(Math.pow(16, 8) * Math.random()).toString(16), b = {};
685
+ b[a] = a, c[m] = [
686
+ "function(require,module,exports){var f = require(" + t(a) + ");(f.default ? f.default : f)(self);}",
687
+ b
688
+ ];
689
+ var B = {};
690
+ C(m);
691
+ function C(D) {
692
+ B[D] = !0;
693
+ for (var S in c[D][1]) {
694
+ var j = c[D][1][S];
695
+ B[j] || C(j);
696
+ }
697
+ }
698
+ var F = "(" + g + ")({" + Object.keys(B).map(function(D) {
699
+ return t(D) + ":[" + c[D][0] + "," + t(c[D][1]) + "]";
700
+ }).join(",") + "},{},[" + t(m) + "])", O = window.URL || window.webkitURL || window.mozURL || window.msURL, E = new Blob([F], { type: "text/javascript" });
701
+ if (i && i.bare)
702
+ return E;
703
+ var k = O.createObjectURL(E), R = new Worker(k);
704
+ return R.objectURL = k, R;
705
+ };
706
+ }, {}], "/index.js": [function(d, h, x) {
707
+ function g(o, p) {
708
+ return i(o) || e(o, p) || r(o, p) || c();
709
+ }
710
+ function c() {
711
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
712
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
713
+ }
714
+ function r(o, p) {
715
+ if (o) {
716
+ if (typeof o == "string") return t(o, p);
717
+ var _ = Object.prototype.toString.call(o).slice(8, -1);
718
+ if (_ === "Object" && o.constructor && (_ = o.constructor.name), _ === "Map" || _ === "Set") return Array.from(o);
719
+ if (_ === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)) return t(o, p);
720
+ }
721
+ }
722
+ function t(o, p) {
723
+ (p == null || p > o.length) && (p = o.length);
724
+ for (var _ = 0, v = new Array(p); _ < p; _++)
725
+ v[_] = o[_];
726
+ return v;
727
+ }
728
+ function e(o, p) {
729
+ var _ = o == null ? null : typeof Symbol < "u" && o[Symbol.iterator] || o["@@iterator"];
730
+ if (_ != null) {
731
+ var v = [], w = !0, U = !1, Q, M;
732
+ try {
733
+ for (_ = _.call(o); !(w = (Q = _.next()).done) && (v.push(Q.value), !(p && v.length === p)); w = !0)
734
+ ;
735
+ } catch (P) {
736
+ U = !0, M = P;
737
+ } finally {
738
+ try {
739
+ !w && _.return != null && _.return();
740
+ } finally {
741
+ if (U) throw M;
742
+ }
743
+ }
744
+ return v;
745
+ }
746
+ }
747
+ function i(o) {
748
+ if (Array.isArray(o)) return o;
749
+ }
750
+ var a = d("object-assign"), n = d("webworkify"), s = d("./lib/mathlib"), f = d("./lib/pool"), u = d("./lib/utils"), l = d("./lib/worker"), y = d("./lib/stepper"), m = d("./lib/tiler"), b = {}, B = !1;
751
+ try {
752
+ typeof navigator < "u" && navigator.userAgent && (B = navigator.userAgent.indexOf("Safari") >= 0);
753
+ } catch {
754
+ }
755
+ var C = 1;
756
+ typeof navigator < "u" && (C = Math.min(navigator.hardwareConcurrency || 1, 4));
757
+ var F = {
758
+ tile: 1024,
759
+ concurrency: C,
760
+ features: ["js", "wasm", "ww"],
761
+ idle: 2e3,
762
+ createCanvas: function(p, _) {
763
+ var v = document.createElement("canvas");
764
+ return v.width = p, v.height = _, v;
765
+ }
766
+ }, O = {
767
+ quality: 3,
768
+ alpha: !1,
769
+ unsharpAmount: 0,
770
+ unsharpRadius: 0,
771
+ unsharpThreshold: 0
772
+ }, E = !1, k = !1, R = !1, D = !1, S = !1;
773
+ function j() {
774
+ return {
775
+ value: n(l),
776
+ destroy: function() {
777
+ if (this.value.terminate(), typeof window < "u") {
778
+ var p = window.URL || window.webkitURL || window.mozURL || window.msURL;
779
+ p && p.revokeObjectURL && this.value.objectURL && p.revokeObjectURL(this.value.objectURL);
780
+ }
781
+ }
782
+ };
783
+ }
784
+ function G(o) {
785
+ if (!(this instanceof G)) return new G(o);
786
+ this.options = a({}, F, o || {});
787
+ var p = "lk_".concat(this.options.concurrency);
788
+ this.__limit = b[p] || u.limiter(this.options.concurrency), b[p] || (b[p] = this.__limit), this.features = {
789
+ js: !1,
790
+ // pure JS implementation, can be disabled for testing
791
+ wasm: !1,
792
+ // webassembly implementation for heavy functions
793
+ cib: !1,
794
+ // resize via createImageBitmap (only FF at this moment)
795
+ ww: !1
796
+ // webworkers
797
+ }, this.__workersPool = null, this.__requested_features = [], this.__mathlib = null;
798
+ }
799
+ G.prototype.init = function() {
800
+ var o = this;
801
+ if (this.__initPromise) return this.__initPromise;
802
+ if (typeof ImageData < "u" && typeof Uint8ClampedArray < "u")
803
+ try {
804
+ new ImageData(new Uint8ClampedArray(400), 10, 10), E = !0;
805
+ } catch {
806
+ }
807
+ typeof ImageBitmap < "u" && (ImageBitmap.prototype && ImageBitmap.prototype.close ? k = !0 : this.debug("ImageBitmap does not support .close(), disabled"));
808
+ var p = this.options.features.slice();
809
+ if (p.indexOf("all") >= 0 && (p = ["cib", "wasm", "js", "ww"]), this.__requested_features = p, this.__mathlib = new s(p), p.indexOf("ww") >= 0 && typeof window < "u" && "Worker" in window)
810
+ try {
811
+ var _ = d("webworkify")(function() {
812
+ });
813
+ _.terminate(), this.features.ww = !0;
814
+ var v = "wp_".concat(JSON.stringify(this.options));
815
+ b[v] ? this.__workersPool = b[v] : (this.__workersPool = new f(j, this.options.idle), b[v] = this.__workersPool);
816
+ } catch {
817
+ }
818
+ var w = this.__mathlib.init().then(function(P) {
819
+ a(o.features, P.features);
820
+ }), U;
821
+ k ? U = u.cib_support(this.options.createCanvas).then(function(P) {
822
+ if (o.features.cib && p.indexOf("cib") < 0) {
823
+ o.debug("createImageBitmap() resize supported, but disabled by config");
824
+ return;
825
+ }
826
+ p.indexOf("cib") >= 0 && (o.features.cib = P);
827
+ }) : U = Promise.resolve(!1), R = u.can_use_canvas(this.options.createCanvas);
828
+ var Q;
829
+ k && E && p.indexOf("ww") !== -1 ? Q = u.worker_offscreen_canvas_support() : Q = Promise.resolve(!1), Q = Q.then(function(P) {
830
+ D = P;
831
+ });
832
+ var M = u.cib_can_use_region().then(function(P) {
833
+ S = P;
834
+ });
835
+ return this.__initPromise = Promise.all([w, U, Q, M]).then(function() {
836
+ return o;
837
+ }), this.__initPromise;
838
+ }, G.prototype.__invokeResize = function(o, p) {
839
+ var _ = this;
840
+ return p.__mathCache = p.__mathCache || {}, Promise.resolve().then(function() {
841
+ return _.features.ww ? new Promise(function(v, w) {
842
+ var U = _.__workersPool.acquire();
843
+ p.cancelToken && p.cancelToken.catch(function(M) {
844
+ return w(M);
845
+ }), U.value.onmessage = function(M) {
846
+ U.release(), M.data.err ? w(M.data.err) : v(M.data);
847
+ };
848
+ var Q = [];
849
+ o.src && Q.push(o.src.buffer), o.srcBitmap && Q.push(o.srcBitmap), U.value.postMessage({
850
+ opts: o,
851
+ features: _.__requested_features,
852
+ preload: {
853
+ wasm_nodule: _.__mathlib.__
854
+ }
855
+ }, Q);
856
+ }) : {
857
+ data: _.__mathlib.resizeAndUnsharp(o, p.__mathCache)
858
+ };
859
+ });
860
+ }, G.prototype.__extractTileData = function(o, p, _, v, w) {
861
+ if (this.features.ww && D && // createImageBitmap doesn't work for images (Image, ImageBitmap) with Exif orientation in Chrome,
862
+ // can use canvas because canvas doesn't have orientation;
863
+ // see https://bugs.chromium.org/p/chromium/issues/detail?id=1220671
864
+ (u.isCanvas(p) || S))
865
+ return this.debug("Create tile for OffscreenCanvas"), createImageBitmap(v.srcImageBitmap || p, o.x, o.y, o.width, o.height).then(function(M) {
866
+ return w.srcBitmap = M, w;
867
+ });
868
+ if (u.isCanvas(p))
869
+ return v.srcCtx || (v.srcCtx = p.getContext("2d", {
870
+ alpha: !!_.alpha
871
+ })), this.debug("Get tile pixel data"), w.src = v.srcCtx.getImageData(o.x, o.y, o.width, o.height).data, w;
872
+ this.debug("Draw tile imageBitmap/image to temporary canvas");
873
+ var U = this.options.createCanvas(o.width, o.height), Q = U.getContext("2d", {
874
+ alpha: !!_.alpha
875
+ });
876
+ return Q.globalCompositeOperation = "copy", Q.drawImage(v.srcImageBitmap || p, o.x, o.y, o.width, o.height, 0, 0, o.width, o.height), this.debug("Get tile pixel data"), w.src = Q.getImageData(0, 0, o.width, o.height).data, U.width = U.height = 0, w;
877
+ }, G.prototype.__landTileData = function(o, p, _) {
878
+ var v;
879
+ if (this.debug("Convert raw rgba tile result to ImageData"), p.bitmap)
880
+ return _.toCtx.drawImage(p.bitmap, o.toX, o.toY), null;
881
+ if (E)
882
+ v = new ImageData(new Uint8ClampedArray(p.data), o.toWidth, o.toHeight);
883
+ else if (v = _.toCtx.createImageData(o.toWidth, o.toHeight), v.data.set)
884
+ v.data.set(p.data);
885
+ else
886
+ for (var w = v.data.length - 1; w >= 0; w--)
887
+ v.data[w] = p.data[w];
888
+ return this.debug("Draw tile"), B ? _.toCtx.putImageData(v, o.toX, o.toY, o.toInnerX - o.toX, o.toInnerY - o.toY, o.toInnerWidth + 1e-5, o.toInnerHeight + 1e-5) : _.toCtx.putImageData(v, o.toX, o.toY, o.toInnerX - o.toX, o.toInnerY - o.toY, o.toInnerWidth, o.toInnerHeight), null;
889
+ }, G.prototype.__tileAndResize = function(o, p, _) {
890
+ var v = this, w = {
891
+ srcCtx: null,
892
+ srcImageBitmap: null,
893
+ isImageBitmapReused: !1,
894
+ toCtx: null
895
+ }, U = function(M) {
896
+ return v.__limit(function() {
897
+ if (_.canceled) return _.cancelToken;
898
+ var P = {
899
+ width: M.width,
900
+ height: M.height,
901
+ toWidth: M.toWidth,
902
+ toHeight: M.toHeight,
903
+ scaleX: M.scaleX,
904
+ scaleY: M.scaleY,
905
+ offsetX: M.offsetX,
906
+ offsetY: M.offsetY,
907
+ quality: _.quality,
908
+ alpha: _.alpha,
909
+ unsharpAmount: _.unsharpAmount,
910
+ unsharpRadius: _.unsharpRadius,
911
+ unsharpThreshold: _.unsharpThreshold
912
+ };
913
+ return v.debug("Invoke resize math"), Promise.resolve(P).then(function(T) {
914
+ return v.__extractTileData(M, o, _, w, T);
915
+ }).then(function(T) {
916
+ return v.debug("Invoke resize math"), v.__invokeResize(T, _);
917
+ }).then(function(T) {
918
+ return _.canceled ? _.cancelToken : (w.srcImageData = null, v.__landTileData(M, T, w));
919
+ });
920
+ });
921
+ };
922
+ return Promise.resolve().then(function() {
923
+ if (w.toCtx = p.getContext("2d", {
924
+ alpha: !!_.alpha
925
+ }), u.isCanvas(o)) return null;
926
+ if (u.isImageBitmap(o))
927
+ return w.srcImageBitmap = o, w.isImageBitmapReused = !0, null;
928
+ if (u.isImage(o))
929
+ return k ? (v.debug("Decode image via createImageBitmap"), createImageBitmap(o).then(function(Q) {
930
+ w.srcImageBitmap = Q;
931
+ }).catch(function(Q) {
932
+ return null;
933
+ })) : null;
934
+ throw new Error('Pica: ".from" should be Image, Canvas or ImageBitmap');
935
+ }).then(function() {
936
+ if (_.canceled) return _.cancelToken;
937
+ v.debug("Calculate tiles");
938
+ var Q = m({
939
+ width: _.width,
940
+ height: _.height,
941
+ srcTileSize: v.options.tile,
942
+ toWidth: _.toWidth,
943
+ toHeight: _.toHeight,
944
+ destTileBorder: _.__destTileBorder
945
+ }), M = Q.map(function(T) {
946
+ return U(T);
947
+ });
948
+ function P(T) {
949
+ T.srcImageBitmap && (T.isImageBitmapReused || T.srcImageBitmap.close(), T.srcImageBitmap = null);
950
+ }
951
+ return v.debug("Process tiles"), Promise.all(M).then(function() {
952
+ return v.debug("Finished!"), P(w), p;
953
+ }, function(T) {
954
+ throw P(w), T;
955
+ });
956
+ });
957
+ }, G.prototype.__processStages = function(o, p, _, v) {
958
+ var w = this;
959
+ if (v.canceled) return v.cancelToken;
960
+ var U = o.shift(), Q = g(U, 2), M = Q[0], P = Q[1], T = o.length === 0;
961
+ v = a({}, v, {
962
+ toWidth: M,
963
+ toHeight: P,
964
+ // only use user-defined quality for the last stage,
965
+ // use simpler (Hamming) filter for the first stages where
966
+ // scale factor is large enough (more than 2-3)
967
+ quality: T ? v.quality : Math.min(1, v.quality)
968
+ });
969
+ var z;
970
+ return T || (z = this.options.createCanvas(M, P)), this.__tileAndResize(p, T ? _ : z, v).then(function() {
971
+ return T ? _ : (v.width = M, v.height = P, w.__processStages(o, z, _, v));
972
+ }).then(function(Z) {
973
+ return z && (z.width = z.height = 0), Z;
974
+ });
975
+ }, G.prototype.__resizeViaCreateImageBitmap = function(o, p, _) {
976
+ var v = this, w = p.getContext("2d", {
977
+ alpha: !!_.alpha
978
+ });
979
+ return this.debug("Resize via createImageBitmap()"), createImageBitmap(o, {
980
+ resizeWidth: _.toWidth,
981
+ resizeHeight: _.toHeight,
982
+ resizeQuality: u.cib_quality_name(_.quality)
983
+ }).then(function(U) {
984
+ if (_.canceled) return _.cancelToken;
985
+ if (!_.unsharpAmount)
986
+ return w.drawImage(U, 0, 0), U.close(), w = null, v.debug("Finished!"), p;
987
+ v.debug("Unsharp result");
988
+ var Q = v.options.createCanvas(_.toWidth, _.toHeight), M = Q.getContext("2d", {
989
+ alpha: !!_.alpha
990
+ });
991
+ M.drawImage(U, 0, 0), U.close();
992
+ var P = M.getImageData(0, 0, _.toWidth, _.toHeight);
993
+ return v.__mathlib.unsharp_mask(P.data, _.toWidth, _.toHeight, _.unsharpAmount, _.unsharpRadius, _.unsharpThreshold), w.putImageData(P, 0, 0), Q.width = Q.height = 0, P = M = Q = w = null, v.debug("Finished!"), p;
994
+ });
995
+ }, G.prototype.resize = function(o, p, _) {
996
+ var v = this;
997
+ this.debug("Start resize...");
998
+ var w = a({}, O);
999
+ if (isNaN(_) ? _ && (w = a(w, _)) : w = a(w, {
1000
+ quality: _
1001
+ }), w.toWidth = p.width, w.toHeight = p.height, w.width = o.naturalWidth || o.width, w.height = o.naturalHeight || o.height, p.width === 0 || p.height === 0)
1002
+ return Promise.reject(new Error("Invalid output size: ".concat(p.width, "x").concat(p.height)));
1003
+ w.unsharpRadius > 2 && (w.unsharpRadius = 2), w.canceled = !1, w.cancelToken && (w.cancelToken = w.cancelToken.then(function(Q) {
1004
+ throw w.canceled = !0, Q;
1005
+ }, function(Q) {
1006
+ throw w.canceled = !0, Q;
1007
+ }));
1008
+ var U = 3;
1009
+ return w.__destTileBorder = Math.ceil(Math.max(U, 2.5 * w.unsharpRadius | 0)), this.init().then(function() {
1010
+ if (w.canceled) return w.cancelToken;
1011
+ if (v.features.cib)
1012
+ return v.__resizeViaCreateImageBitmap(o, p, w);
1013
+ if (!R) {
1014
+ var Q = new Error("Pica: cannot use getImageData on canvas, make sure fingerprinting protection isn't enabled");
1015
+ throw Q.code = "ERR_GET_IMAGE_DATA", Q;
1016
+ }
1017
+ var M = y(w.width, w.height, w.toWidth, w.toHeight, v.options.tile, w.__destTileBorder);
1018
+ return v.__processStages(M, o, p, w);
1019
+ });
1020
+ }, G.prototype.resizeBuffer = function(o) {
1021
+ var p = this, _ = a({}, O, o);
1022
+ return this.init().then(function() {
1023
+ return p.__mathlib.resizeAndUnsharp(_);
1024
+ });
1025
+ }, G.prototype.toBlob = function(o, p, _) {
1026
+ return p = p || "image/png", new Promise(function(v) {
1027
+ if (o.toBlob) {
1028
+ o.toBlob(function(P) {
1029
+ return v(P);
1030
+ }, p, _);
1031
+ return;
1032
+ }
1033
+ if (o.convertToBlob) {
1034
+ v(o.convertToBlob({
1035
+ type: p,
1036
+ quality: _
1037
+ }));
1038
+ return;
1039
+ }
1040
+ for (var w = atob(o.toDataURL(p, _).split(",")[1]), U = w.length, Q = new Uint8Array(U), M = 0; M < U; M++)
1041
+ Q[M] = w.charCodeAt(M);
1042
+ v(new Blob([Q], {
1043
+ type: p
1044
+ }));
1045
+ });
1046
+ }, G.prototype.debug = function() {
1047
+ }, h.exports = G;
1048
+ }, { "./lib/mathlib": 1, "./lib/pool": 13, "./lib/stepper": 14, "./lib/tiler": 15, "./lib/utils": 16, "./lib/worker": 17, "object-assign": 23, webworkify: 24 }] }, {}, [])("/index.js");
1049
+ });
1050
+ }), Y = q(function(A) {
1051
+ function I(r, t) {
1052
+ var e = new Error(r);
1053
+ return e.code = t, e;
1054
+ }
1055
+ function d(r) {
1056
+ for (var t = r.toString(16).toUpperCase(), e = 2 - t.length; e > 0; e--) t = "0" + t;
1057
+ return "0x" + t;
1058
+ }
1059
+ function h(r) {
1060
+ try {
1061
+ return unescape(encodeURIComponent(r));
1062
+ } catch {
1063
+ return r;
1064
+ }
1065
+ }
1066
+ function x(r) {
1067
+ try {
1068
+ return decodeURIComponent(escape(r));
1069
+ } catch {
1070
+ return r;
1071
+ }
1072
+ }
1073
+ function g(r) {
1074
+ return Object.prototype.toString.call(r) === "[object Uint8Array]";
1075
+ }
1076
+ function c(r, t, e) {
1077
+ this.input = r.subarray(t, e), this.start = t;
1078
+ var i = String.fromCharCode.apply(null, this.input.subarray(0, 4));
1079
+ if (i !== "II*\0" && i !== "MM\0*")
1080
+ throw I("invalid TIFF signature", "EBADDATA");
1081
+ this.big_endian = i[0] === "M";
1082
+ }
1083
+ c.prototype.each = function(r) {
1084
+ this.aborted = !1;
1085
+ var t = this.read_uint32(4);
1086
+ for (this.ifds_to_read = [{
1087
+ id: 0,
1088
+ offset: t
1089
+ }]; this.ifds_to_read.length > 0 && !this.aborted; ) {
1090
+ var e = this.ifds_to_read.shift();
1091
+ e.offset && this.scan_ifd(e.id, e.offset, r);
1092
+ }
1093
+ }, c.prototype.filter = function(r) {
1094
+ var t = {};
1095
+ t.ifd0 = { id: 0, entries: [] }, this.each(function(n) {
1096
+ r(n) === !1 && !n.is_subifd_link || n.is_subifd_link && n.count !== 1 && n.format !== 4 || (t["ifd" + n.ifd] || (t["ifd" + n.ifd] = { id: n.ifd, entries: [] }), t["ifd" + n.ifd].entries.push(n));
1097
+ }), delete t.ifd1;
1098
+ var e = 8;
1099
+ Object.keys(t).forEach(function(n) {
1100
+ e += 2, t[n].entries.forEach(function(s) {
1101
+ e += 12 + (s.data_length > 4 ? Math.ceil(s.data_length / 2) * 2 : 0);
1102
+ }), e += 4;
1103
+ }), this.output = new Uint8Array(e), this.output[0] = this.output[1] = (this.big_endian ? "M" : "I").charCodeAt(0), this.write_uint16(2, 42);
1104
+ var i = 8, a = this;
1105
+ if (this.write_uint32(4, i), Object.keys(t).forEach(function(n) {
1106
+ t[n].written_offset = i;
1107
+ var s = i, f = s + 2 + t[n].entries.length * 12 + 4;
1108
+ i = f, a.write_uint16(s, t[n].entries.length), t[n].entries.sort(function(l, y) {
1109
+ return l.tag - y.tag;
1110
+ }).forEach(function(l, y) {
1111
+ var m = s + 2 + y * 12;
1112
+ a.write_uint16(m, l.tag), a.write_uint16(m + 2, l.format), a.write_uint32(m + 4, l.count), l.is_subifd_link ? t["ifd" + l.tag] && (t["ifd" + l.tag].link_offset = m + 8) : l.data_length <= 4 ? a.output.set(
1113
+ a.input.subarray(l.data_offset - a.start, l.data_offset - a.start + 4),
1114
+ m + 8
1115
+ ) : (a.write_uint32(m + 8, i), a.output.set(
1116
+ a.input.subarray(l.data_offset - a.start, l.data_offset - a.start + l.data_length),
1117
+ i
1118
+ ), i += Math.ceil(l.data_length / 2) * 2);
1119
+ });
1120
+ var u = t["ifd" + (t[n].id + 1)];
1121
+ u && (u.link_offset = f - 4);
1122
+ }), Object.keys(t).forEach(function(n) {
1123
+ t[n].written_offset && t[n].link_offset && a.write_uint32(t[n].link_offset, t[n].written_offset);
1124
+ }), this.output.length !== i) throw I("internal error: incorrect buffer size allocated");
1125
+ return this.output;
1126
+ }, c.prototype.read_uint16 = function(r) {
1127
+ var t = this.input;
1128
+ if (r + 2 > t.length) throw I("unexpected EOF", "EBADDATA");
1129
+ return this.big_endian ? t[r] * 256 + t[r + 1] : t[r] + t[r + 1] * 256;
1130
+ }, c.prototype.read_uint32 = function(r) {
1131
+ var t = this.input;
1132
+ if (r + 4 > t.length) throw I("unexpected EOF", "EBADDATA");
1133
+ return this.big_endian ? t[r] * 16777216 + t[r + 1] * 65536 + t[r + 2] * 256 + t[r + 3] : t[r] + t[r + 1] * 256 + t[r + 2] * 65536 + t[r + 3] * 16777216;
1134
+ }, c.prototype.write_uint16 = function(r, t) {
1135
+ var e = this.output;
1136
+ this.big_endian ? (e[r] = t >>> 8 & 255, e[r + 1] = t & 255) : (e[r] = t & 255, e[r + 1] = t >>> 8 & 255);
1137
+ }, c.prototype.write_uint32 = function(r, t) {
1138
+ var e = this.output;
1139
+ this.big_endian ? (e[r] = t >>> 24 & 255, e[r + 1] = t >>> 16 & 255, e[r + 2] = t >>> 8 & 255, e[r + 3] = t & 255) : (e[r] = t & 255, e[r + 1] = t >>> 8 & 255, e[r + 2] = t >>> 16 & 255, e[r + 3] = t >>> 24 & 255);
1140
+ }, c.prototype.is_subifd_link = function(r, t) {
1141
+ return r === 0 && t === 34665 || // SubIFD
1142
+ r === 0 && t === 34853 || // GPS Info
1143
+ r === 34665 && t === 40965;
1144
+ }, c.prototype.exif_format_length = function(r) {
1145
+ switch (r) {
1146
+ case 1:
1147
+ // byte
1148
+ case 2:
1149
+ // ascii
1150
+ case 6:
1151
+ // sbyte
1152
+ case 7:
1153
+ return 1;
1154
+ case 3:
1155
+ // short
1156
+ case 8:
1157
+ return 2;
1158
+ case 4:
1159
+ // long
1160
+ case 9:
1161
+ // slong
1162
+ case 11:
1163
+ return 4;
1164
+ case 5:
1165
+ // rational
1166
+ case 10:
1167
+ // srational
1168
+ case 12:
1169
+ return 8;
1170
+ default:
1171
+ return 0;
1172
+ }
1173
+ }, c.prototype.exif_format_read = function(r, t) {
1174
+ var e;
1175
+ switch (r) {
1176
+ case 1:
1177
+ // byte
1178
+ case 2:
1179
+ return e = this.input[t], e;
1180
+ case 6:
1181
+ return e = this.input[t], e | (e & 128) * 33554430;
1182
+ case 3:
1183
+ return e = this.read_uint16(t), e;
1184
+ case 8:
1185
+ return e = this.read_uint16(t), e | (e & 32768) * 131070;
1186
+ case 4:
1187
+ return e = this.read_uint32(t), e;
1188
+ case 9:
1189
+ return e = this.read_uint32(t), e | 0;
1190
+ case 5:
1191
+ // rational
1192
+ case 10:
1193
+ // srational
1194
+ case 11:
1195
+ // float
1196
+ case 12:
1197
+ return null;
1198
+ // not implemented
1199
+ case 7:
1200
+ return null;
1201
+ // blob
1202
+ default:
1203
+ return null;
1204
+ }
1205
+ }, c.prototype.scan_ifd = function(r, t, e) {
1206
+ var i = this.read_uint16(t);
1207
+ t += 2;
1208
+ for (var a = 0; a < i; a++) {
1209
+ var n = this.read_uint16(t), s = this.read_uint16(t + 2), f = this.read_uint32(t + 4), u = this.exif_format_length(s), l = f * u, y = l <= 4 ? t + 8 : this.read_uint32(t + 8), m = !1;
1210
+ if (y + l > this.input.length)
1211
+ throw I("unexpected EOF", "EBADDATA");
1212
+ for (var b = [], B = y, C = 0; C < f; C++, B += u) {
1213
+ var F = this.exif_format_read(s, B);
1214
+ if (F === null) {
1215
+ b = null;
1216
+ break;
1217
+ }
1218
+ b.push(F);
1219
+ }
1220
+ if (Array.isArray(b) && s === 2) {
1221
+ try {
1222
+ b = x(String.fromCharCode.apply(null, b));
1223
+ } catch {
1224
+ b = null;
1225
+ }
1226
+ b && b[b.length - 1] === "\0" && (b = b.slice(0, -1));
1227
+ }
1228
+ this.is_subifd_link(r, n) && Array.isArray(b) && Number.isInteger(b[0]) && b[0] > 0 && (this.ifds_to_read.push({
1229
+ id: n,
1230
+ offset: b[0]
1231
+ }), m = !0);
1232
+ var O = {
1233
+ is_big_endian: this.big_endian,
1234
+ ifd: r,
1235
+ tag: n,
1236
+ format: s,
1237
+ count: f,
1238
+ entry_offset: t + this.start,
1239
+ data_length: l,
1240
+ data_offset: y + this.start,
1241
+ value: b,
1242
+ is_subifd_link: m
1243
+ };
1244
+ if (e(O) === !1) {
1245
+ this.aborted = !0;
1246
+ return;
1247
+ }
1248
+ t += 12;
1249
+ }
1250
+ r === 0 && this.ifds_to_read.push({
1251
+ id: 1,
1252
+ offset: this.read_uint32(t)
1253
+ });
1254
+ }, A.exports.is_jpeg = function(r) {
1255
+ return r.length >= 4 && r[0] === 255 && r[1] === 216 && r[2] === 255;
1256
+ }, A.exports.jpeg_segments_each = function(r, t) {
1257
+ if (!g(r))
1258
+ throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
1259
+ if (typeof t != "function")
1260
+ throw I("Invalid argument (on_segment), Function expected", "EINVAL");
1261
+ if (!A.exports.is_jpeg(r))
1262
+ throw I("Unknown file format", "ENOTJPEG");
1263
+ for (var e = 0, i = r.length, a = !1; ; ) {
1264
+ var n, s;
1265
+ if (e + 1 >= i) throw I("Unexpected EOF", "EBADDATA");
1266
+ var f = r[e], u = r[e + 1];
1267
+ if (f === 255 && u === 255)
1268
+ n = 255, s = 1;
1269
+ else if (f === 255 && u !== 0) {
1270
+ if (n = u, s = 2, !(208 <= n && n <= 217 || n === 1)) {
1271
+ if (e + 3 >= i) throw I("Unexpected EOF", "EBADDATA");
1272
+ if (s += r[e + 2] * 256 + r[e + 3], s < 2) throw I("Invalid segment length", "EBADDATA");
1273
+ if (e + s - 1 >= i) throw I("Unexpected EOF", "EBADDATA");
1274
+ }
1275
+ a && (n >= 208 && n <= 215 || (a = !1)), n === 218 && (a = !0);
1276
+ } else if (a)
1277
+ for (var l = e + 1; ; l++) {
1278
+ if (l >= i) throw I("Unexpected EOF", "EBADDATA");
1279
+ if (r[l] === 255) {
1280
+ if (l + 1 >= i) throw I("Unexpected EOF", "EBADDATA");
1281
+ if (r[l + 1] !== 0) {
1282
+ n = 0, s = l - e;
1283
+ break;
1284
+ }
1285
+ }
1286
+ }
1287
+ else
1288
+ throw I("Unexpected byte at segment start: " + d(f) + " (offset " + d(e) + ")", "EBADDATA");
1289
+ if (t({ code: n, offset: e, length: s }) === !1 || n === 217) break;
1290
+ e += s;
1291
+ }
1292
+ }, A.exports.jpeg_segments_filter = function(r, t) {
1293
+ if (!g(r))
1294
+ throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
1295
+ if (typeof t != "function")
1296
+ throw I("Invalid argument (on_segment), Function expected", "EINVAL");
1297
+ var e = [], i = 0;
1298
+ A.exports.jpeg_segments_each(r, function(s) {
1299
+ var f = t(s);
1300
+ if (g(f))
1301
+ e.push({ data: f }), i += f.length;
1302
+ else if (Array.isArray(f))
1303
+ f.filter(g).forEach(function(l) {
1304
+ e.push({ data: l }), i += l.length;
1305
+ });
1306
+ else if (f !== !1) {
1307
+ var u = { start: s.offset, end: s.offset + s.length };
1308
+ e.length > 0 && e[e.length - 1].end === u.start ? e[e.length - 1].end = u.end : e.push(u), i += s.length;
1309
+ }
1310
+ });
1311
+ var a = new Uint8Array(i), n = 0;
1312
+ return e.forEach(function(s) {
1313
+ var f = s.data || r.subarray(s.start, s.end);
1314
+ a.set(f, n), n += f.length;
1315
+ }), a;
1316
+ }, A.exports.jpeg_exif_tags_each = function(r, t) {
1317
+ if (!g(r))
1318
+ throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
1319
+ if (typeof t != "function")
1320
+ throw I("Invalid argument (on_exif_entry), Function expected", "EINVAL");
1321
+ A.exports.jpeg_segments_each(r, function(e) {
1322
+ if (e.code === 218) return !1;
1323
+ if (e.code === 225 && e.length >= 10 && r[e.offset + 4] === 69 && r[e.offset + 5] === 120 && r[e.offset + 6] === 105 && r[e.offset + 7] === 102 && r[e.offset + 8] === 0 && r[e.offset + 9] === 0)
1324
+ return new c(r, e.offset + 10, e.offset + e.length).each(t), !1;
1325
+ });
1326
+ }, A.exports.jpeg_exif_tags_filter = function(r, t) {
1327
+ if (!g(r))
1328
+ throw I("Invalid argument (jpeg_bin), Uint8Array expected", "EINVAL");
1329
+ if (typeof t != "function")
1330
+ throw I("Invalid argument (on_exif_entry), Function expected", "EINVAL");
1331
+ var e = !1;
1332
+ return A.exports.jpeg_segments_filter(r, function(i) {
1333
+ if (!e && (i.code === 218 && (e = !0), i.code === 225 && i.length >= 10 && r[i.offset + 4] === 69 && r[i.offset + 5] === 120 && r[i.offset + 6] === 105 && r[i.offset + 7] === 102 && r[i.offset + 8] === 0 && r[i.offset + 9] === 0)) {
1334
+ var a = new c(r, i.offset + 10, i.offset + i.length).filter(t);
1335
+ if (!a) return !1;
1336
+ var n = new Uint8Array(10);
1337
+ return n.set(r.slice(i.offset, i.offset + 10)), n[2] = a.length + 8 >>> 8 & 255, n[3] = a.length + 8 & 255, e = !0, [n, a];
1338
+ }
1339
+ });
1340
+ }, A.exports.jpeg_add_comment = function(r, t) {
1341
+ var e = !1, i = 0;
1342
+ return A.exports.jpeg_segments_filter(r, function(a) {
1343
+ if (i++, !(i === 1 && a.code === 216) && !(i === 2 && a.code === 224) && !e) {
1344
+ t = h(t);
1345
+ var n = new Uint8Array(5 + t.length), s = 0;
1346
+ return n[s++] = 255, n[s++] = 254, n[s++] = t.length + 3 >>> 8 & 255, n[s++] = t.length + 3 & 255, t.split("").forEach(function(f) {
1347
+ n[s++] = f.charCodeAt(0) & 255;
1348
+ }), n[s++] = 0, e = !0, [n, r.subarray(a.offset, a.offset + a.length)];
1349
+ }
1350
+ });
1351
+ };
1352
+ });
1353
+ function tt(A) {
1354
+ return this._getUint8Array(A.blob).then(function(I) {
1355
+ if (A.is_jpeg = Y.is_jpeg(I), !A.is_jpeg) return Promise.resolve(A);
1356
+ A.orig_blob = A.blob;
1357
+ try {
1358
+ var d, h;
1359
+ if (Y.jpeg_exif_tags_each(I, function(g) {
1360
+ if (g.ifd === 0 && g.tag === 274 && Array.isArray(g.value))
1361
+ return A.orientation = g.value[0] || 1, d = g.is_big_endian, h = g.data_offset, !1;
1362
+ }), h) {
1363
+ var x = d ? new Uint8Array([0, 1]) : new Uint8Array([1, 0]);
1364
+ A.blob = new Blob([
1365
+ I.slice(0, h),
1366
+ x,
1367
+ I.slice(h + 2)
1368
+ ], { type: "image/jpeg" });
1369
+ }
1370
+ } catch {
1371
+ }
1372
+ return A;
1373
+ });
1374
+ }
1375
+ function et(A) {
1376
+ if (!A.is_jpeg) return Promise.resolve(A);
1377
+ var I = A.orientation - 1;
1378
+ if (!I) return Promise.resolve(A);
1379
+ var d;
1380
+ I & 4 ? d = this.pica.options.createCanvas(A.out_canvas.height, A.out_canvas.width) : d = this.pica.options.createCanvas(A.out_canvas.width, A.out_canvas.height);
1381
+ var h = d.getContext("2d");
1382
+ return h.save(), I & 1 && h.transform(-1, 0, 0, 1, d.width, 0), I & 2 && h.transform(-1, 0, 0, -1, d.width, d.height), I & 4 && h.transform(0, 1, 1, 0, 0, 0), h.drawImage(A.out_canvas, 0, 0), h.restore(), A.out_canvas.width = A.out_canvas.height = 0, A.out_canvas = d, Promise.resolve(A);
1383
+ }
1384
+ function rt(A) {
1385
+ return A.is_jpeg ? Promise.all([
1386
+ this._getUint8Array(A.blob),
1387
+ this._getUint8Array(A.out_blob)
1388
+ ]).then(function(I) {
1389
+ var d = I[0], h = I[1];
1390
+ if (!Y.is_jpeg(d)) return Promise.resolve(A);
1391
+ var x = [];
1392
+ return Y.jpeg_segments_each(d, function(g) {
1393
+ if (g.code === 218) return !1;
1394
+ x.push(g);
1395
+ }), x = x.filter(function(g) {
1396
+ return g.code === 226 ? !1 : g.code >= 224 && g.code < 240 || g.code === 254;
1397
+ }).map(function(g) {
1398
+ return d.slice(g.offset, g.offset + g.length);
1399
+ }), A.out_blob = new Blob(
1400
+ // intentionally omitting expected JFIF segment (offset 2 to 20)
1401
+ [h.slice(0, 2)].concat(x).concat([h.slice(20)]),
1402
+ { type: "image/jpeg" }
1403
+ ), A;
1404
+ }) : Promise.resolve(A);
1405
+ }
1406
+ function at(A) {
1407
+ A.before("_blob_to_image", tt), A.after("_transform", et), A.after("_create_blob", rt);
1408
+ }
1409
+ var it = at, nt = {
1410
+ assign: it
1411
+ };
1412
+ function L(A) {
1413
+ if (!(this instanceof L)) return new L(A);
1414
+ A = A || {}, this.pica = A.pica || X({}), this.initialized = !1, this.utils = W;
1415
+ }
1416
+ L.prototype.use = function(A) {
1417
+ var I = [this].concat(Array.prototype.slice.call(arguments, 1));
1418
+ return A.apply(A, I), this;
1419
+ };
1420
+ L.prototype.init = function() {
1421
+ this.use(nt.assign);
1422
+ };
1423
+ L.prototype.toBlob = function(A, I) {
1424
+ var d = W.assign({ max: 1 / 0 }, I), h = {
1425
+ blob: A,
1426
+ opts: d
1427
+ };
1428
+ return this.initialized || (this.init(), this.initialized = !0), Promise.resolve(h).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then(this._create_blob).then(function(x) {
1429
+ return x.out_canvas.width = x.out_canvas.height = 0, x.out_blob;
1430
+ });
1431
+ };
1432
+ L.prototype.toCanvas = function(A, I) {
1433
+ var d = W.assign({ max: 1 / 0 }, I), h = {
1434
+ blob: A,
1435
+ opts: d
1436
+ };
1437
+ return this.initialized || (this.init(), this.initialized = !0), Promise.resolve(h).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then(function(x) {
1438
+ return x.out_canvas;
1439
+ });
1440
+ };
1441
+ L.prototype.before = function(A, I) {
1442
+ if (!this[A]) throw new Error('Method "' + A + '" does not exist');
1443
+ if (typeof I != "function") throw new Error('Invalid argument "fn", function expected');
1444
+ var d = this[A], h = this;
1445
+ return this[A] = function(x) {
1446
+ return I.call(h, x).then(function(g) {
1447
+ return d.call(h, g);
1448
+ });
1449
+ }, this;
1450
+ };
1451
+ L.prototype.after = function(A, I) {
1452
+ if (!this[A]) throw new Error('Method "' + A + '" does not exist');
1453
+ if (typeof I != "function") throw new Error('Invalid argument "fn", function expected');
1454
+ var d = this[A], h = this;
1455
+ return this[A] = function(x) {
1456
+ return d.call(h, x).then(function(g) {
1457
+ return I.call(h, g);
1458
+ });
1459
+ }, this;
1460
+ };
1461
+ L.prototype._blob_to_image = function(A) {
1462
+ var I = window.URL || window.webkitURL || window.mozURL || window.msURL;
1463
+ return A.image = document.createElement("img"), A.image_url = I.createObjectURL(A.blob), A.image.src = A.image_url, new Promise(function(d, h) {
1464
+ A.image.onerror = function() {
1465
+ h(new Error("ImageBlobReduce: failed to create Image() from blob"));
1466
+ }, A.image.onload = function() {
1467
+ d(A);
1468
+ };
1469
+ });
1470
+ };
1471
+ L.prototype._calculate_size = function(A) {
1472
+ var I = A.opts.max / Math.max(A.image.width, A.image.height);
1473
+ return I > 1 && (I = 1), A.transform_width = Math.max(Math.round(A.image.width * I), 1), A.transform_height = Math.max(Math.round(A.image.height * I), 1), A.scale_factor = I, Promise.resolve(A);
1474
+ };
1475
+ L.prototype._transform = function(A) {
1476
+ A.out_canvas = this.pica.options.createCanvas(A.transform_width, A.transform_height), A.transform_width = null, A.transform_height = null;
1477
+ var I = { alpha: A.blob.type === "image/png" };
1478
+ return this.utils.assign(I, this.utils.pick_pica_resize_options(A.opts)), this.pica.resize(A.image, A.out_canvas, I).then(function() {
1479
+ return A;
1480
+ });
1481
+ };
1482
+ L.prototype._cleanup = function(A) {
1483
+ A.image.src = "", A.image = null;
1484
+ var I = window.URL || window.webkitURL || window.mozURL || window.msURL;
1485
+ return I.revokeObjectURL && I.revokeObjectURL(A.image_url), A.image_url = null, Promise.resolve(A);
1486
+ };
1487
+ L.prototype._create_blob = function(A) {
1488
+ return this.pica.toBlob(A.out_canvas, A.blob.type).then(function(I) {
1489
+ return A.out_blob = I, A;
1490
+ });
1491
+ };
1492
+ L.prototype._getUint8Array = function(A) {
1493
+ return A.arrayBuffer ? A.arrayBuffer().then(function(I) {
1494
+ return new Uint8Array(I);
1495
+ }) : new Promise(function(I, d) {
1496
+ var h = new FileReader();
1497
+ h.readAsArrayBuffer(A), h.onload = function() {
1498
+ I(new Uint8Array(h.result));
1499
+ }, h.onerror = function() {
1500
+ d(new Error("ImageBlobReduce: failed to load data from input blob")), h.abort();
1501
+ }, h.onabort = function() {
1502
+ d(new Error("ImageBlobReduce: failed to load data from input blob (aborted)"));
1503
+ };
1504
+ });
1505
+ };
1506
+ L.pica = X;
1507
+ var ot = L;
1508
+ export {
1509
+ ot as default
1510
+ };