@annotorious/react 3.0.0-rc.2 → 3.0.0-rc.21
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/Annotorious.d.ts +3 -27
- package/dist/Annotorious.d.ts.map +1 -1
- package/dist/AnnotoriousPlugin.d.ts +7 -6
- package/dist/AnnotoriousPlugin.d.ts.map +1 -1
- package/dist/ImageAnnotator.d.ts.map +1 -1
- package/dist/annotorious-react.css +1 -1
- package/dist/annotorious-react.es.js +33 -34
- package/dist/annotorious-react.es.js.map +1 -1
- package/dist/annotorious-react.es10.js +29 -2
- package/dist/annotorious-react.es10.js.map +1 -1
- package/dist/annotorious-react.es11.js +36 -9
- package/dist/annotorious-react.es11.js.map +1 -1
- package/dist/annotorious-react.es12.js +16 -2
- package/dist/annotorious-react.es12.js.map +1 -1
- package/dist/annotorious-react.es13.js +6 -3752
- package/dist/annotorious-react.es13.js.map +1 -1
- package/dist/annotorious-react.es14.js +7 -28
- package/dist/annotorious-react.es14.js.map +1 -1
- package/dist/annotorious-react.es15.js +152 -35
- package/dist/annotorious-react.es15.js.map +1 -1
- package/dist/annotorious-react.es16.js +27433 -13
- package/dist/annotorious-react.es16.js.map +1 -1
- package/dist/annotorious-react.es17.js +32 -4
- package/dist/annotorious-react.es17.js.map +1 -1
- package/dist/annotorious-react.es18.js +2 -8
- package/dist/annotorious-react.es18.js.map +1 -1
- package/dist/annotorious-react.es19.js +29 -152
- package/dist/annotorious-react.es19.js.map +1 -1
- package/dist/annotorious-react.es2.js +32 -32
- package/dist/annotorious-react.es2.js.map +1 -1
- package/dist/annotorious-react.es20.js +599 -6
- package/dist/annotorious-react.es20.js.map +1 -1
- package/dist/annotorious-react.es21.js +2 -2
- package/dist/annotorious-react.es22.js +2 -30
- package/dist/annotorious-react.es22.js.map +1 -1
- package/dist/annotorious-react.es3.js +7 -7
- package/dist/annotorious-react.es3.js.map +1 -1
- package/dist/annotorious-react.es4.js +8 -8
- package/dist/annotorious-react.es4.js.map +1 -1
- package/dist/annotorious-react.es5.js +10 -10
- package/dist/annotorious-react.es5.js.map +1 -1
- package/dist/annotorious-react.es6.js +1 -4
- package/dist/annotorious-react.es6.js.map +1 -1
- package/dist/annotorious-react.es7.js +1 -4
- package/dist/annotorious-react.es7.js.map +1 -1
- package/dist/annotorious-react.es8.js +86 -7
- package/dist/annotorious-react.es8.js.map +1 -1
- package/dist/annotorious-react.es9.js +4241 -2
- package/dist/annotorious-react.es9.js.map +1 -1
- package/dist/index.d.ts +11 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/openseadragon/OpenSeadragonAnnotator.d.ts.map +1 -1
- package/dist/openseadragon/setPosition.d.ts.map +1 -1
- package/package.json +16 -8
- package/dist/annotorious-react.es23.js +0 -602
- package/dist/annotorious-react.es23.js.map +0 -1
- package/dist/annotorious-react.es24.js +0 -20611
- package/dist/annotorious-react.es24.js.map +0 -1
- package/dist/annotorious-react.es25.js +0 -35
- package/dist/annotorious-react.es25.js.map +0 -1
- package/dist/annotorious-react.es26.js +0 -5
- package/dist/annotorious-react.es26.js.map +0 -1
- package/dist/annotorious-react.es27.js +0 -5
- package/dist/annotorious-react.es27.js.map +0 -1
- package/dist/annotorious-react.es28.js +0 -24
- package/dist/annotorious-react.es28.js.map +0 -1
- package/dist/annotorious-react.es29.js +0 -5
- package/dist/annotorious-react.es29.js.map +0 -1
- package/dist/annotorious-react.es30.js +0 -20
- package/dist/annotorious-react.es30.js.map +0 -1
- package/dist/annotorious-react.es31.js +0 -7
- package/dist/annotorious-react.es31.js.map +0 -1
- package/dist/annotorious-react.es32.js +0 -11
- package/dist/annotorious-react.es32.js.map +0 -1
- package/dist/annotorious-react.es33.js +0 -10
- package/dist/annotorious-react.es33.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es13.js","sources":["../../annotorious/dist/annotorious.es.js"],"sourcesContent":["function G() {\n}\nfunction Wt(e, t) {\n for (const n in t)\n e[n] = t[n];\n return e;\n}\nfunction Rt(e) {\n return e();\n}\nfunction lt() {\n return /* @__PURE__ */ Object.create(null);\n}\nfunction le(e) {\n e.forEach(Rt);\n}\nfunction j(e) {\n return typeof e == \"function\";\n}\nfunction K(e, t) {\n return e != e ? t == t : e !== t || e && typeof e == \"object\" || typeof e == \"function\";\n}\nfunction Jt(e) {\n return Object.keys(e).length === 0;\n}\nfunction Xt(e, ...t) {\n if (e == null)\n return G;\n const n = e.subscribe(...t);\n return n.unsubscribe ? () => n.unsubscribe() : n;\n}\nfunction at(e, t, n) {\n e.$$.on_destroy.push(Xt(t, n));\n}\nfunction Qt(e, t, n, o) {\n if (e) {\n const i = Dt(e, t, n, o);\n return e[0](i);\n }\n}\nfunction Dt(e, t, n, o) {\n return e[1] && o ? Wt(n.ctx.slice(), e[1](o(t))) : n.ctx;\n}\nfunction Zt(e, t, n, o) {\n if (e[2] && o) {\n const i = e[2](o(n));\n if (t.dirty === void 0)\n return i;\n if (typeof i == \"object\") {\n const s = [], r = Math.max(t.dirty.length, i.length);\n for (let l = 0; l < r; l += 1)\n s[l] = t.dirty[l] | i[l];\n return s;\n }\n return t.dirty | i;\n }\n return t.dirty;\n}\nfunction Kt(e, t, n, o, i, s) {\n if (i) {\n const r = Dt(t, n, o, s);\n e.p(r, i);\n }\n}\nfunction xt(e) {\n if (e.ctx.length > 32) {\n const t = [], n = e.ctx.length / 32;\n for (let o = 0; o < n; o++)\n t[o] = -1;\n return t;\n }\n return -1;\n}\nfunction fe(e, t) {\n e.appendChild(t);\n}\nfunction v(e, t, n) {\n e.insertBefore(t, n || null);\n}\nfunction O(e) {\n e.parentNode && e.parentNode.removeChild(e);\n}\nfunction tt(e, t) {\n for (let n = 0; n < e.length; n += 1)\n e[n] && e[n].d(t);\n}\nfunction R(e) {\n return document.createElementNS(\"http://www.w3.org/2000/svg\", e);\n}\nfunction Nt(e) {\n return document.createTextNode(e);\n}\nfunction ee() {\n return Nt(\" \");\n}\nfunction ae() {\n return Nt(\"\");\n}\nfunction W(e, t, n, o) {\n return e.addEventListener(t, n, o), () => e.removeEventListener(t, n, o);\n}\nfunction u(e, t, n) {\n n == null ? e.removeAttribute(t) : e.getAttribute(t) !== n && e.setAttribute(t, n);\n}\nfunction $t(e) {\n return Array.from(e.childNodes);\n}\nfunction ct(e, t, n) {\n e.classList[n ? \"add\" : \"remove\"](t);\n}\nfunction en(e, t, { bubbles: n = !1, cancelable: o = !1 } = {}) {\n const i = document.createEvent(\"CustomEvent\");\n return i.initCustomEvent(e, n, o, t), i;\n}\nlet Ie;\nfunction ke(e) {\n Ie = e;\n}\nfunction Ut() {\n if (!Ie)\n throw new Error(\"Function called outside component initialization\");\n return Ie;\n}\nfunction Ce(e) {\n Ut().$$.on_mount.push(e);\n}\nfunction Me() {\n const e = Ut();\n return (t, n, { cancelable: o = !1 } = {}) => {\n const i = e.$$.callbacks[t];\n if (i) {\n const s = en(t, n, { cancelable: o });\n return i.slice().forEach((r) => {\n r.call(e, s);\n }), !s.defaultPrevented;\n }\n return !0;\n };\n}\nfunction Ae(e, t) {\n const n = e.$$.callbacks[t.type];\n n && n.slice().forEach((o) => o.call(this, t));\n}\nconst be = [], Se = [];\nlet Te = [];\nconst ft = [], tn = /* @__PURE__ */ Promise.resolve();\nlet $e = !1;\nfunction nn() {\n $e || ($e = !0, tn.then(Gt));\n}\nfunction et(e) {\n Te.push(e);\n}\nconst We = /* @__PURE__ */ new Set();\nlet _e = 0;\nfunction Gt() {\n if (_e !== 0)\n return;\n const e = Ie;\n do {\n try {\n for (; _e < be.length; ) {\n const t = be[_e];\n _e++, ke(t), on(t.$$);\n }\n } catch (t) {\n throw be.length = 0, _e = 0, t;\n }\n for (ke(null), be.length = 0, _e = 0; Se.length; )\n Se.pop()();\n for (let t = 0; t < Te.length; t += 1) {\n const n = Te[t];\n We.has(n) || (We.add(n), n());\n }\n Te.length = 0;\n } while (be.length);\n for (; ft.length; )\n ft.pop()();\n $e = !1, We.clear(), ke(e);\n}\nfunction on(e) {\n if (e.fragment !== null) {\n e.update(), le(e.before_update);\n const t = e.dirty;\n e.dirty = [-1], e.fragment && e.fragment.p(e.ctx, t), e.after_update.forEach(et);\n }\n}\nfunction sn(e) {\n const t = [], n = [];\n Te.forEach((o) => e.indexOf(o) === -1 ? t.push(o) : n.push(o)), n.forEach((o) => o()), Te = t;\n}\nconst Ge = /* @__PURE__ */ new Set();\nlet me;\nfunction se() {\n me = {\n r: 0,\n c: [],\n p: me\n // parent group\n };\n}\nfunction re() {\n me.r || le(me.c), me = me.p;\n}\nfunction D(e, t) {\n e && e.i && (Ge.delete(e), e.i(t));\n}\nfunction N(e, t, n, o) {\n if (e && e.o) {\n if (Ge.has(e))\n return;\n Ge.add(e), me.c.push(() => {\n Ge.delete(e), o && (n && e.d(1), o());\n }), e.o(t);\n } else\n o && o();\n}\nfunction pe(e) {\n e && e.c();\n}\nfunction ue(e, t, n, o) {\n const { fragment: i, after_update: s } = e.$$;\n i && i.m(t, n), o || et(() => {\n const r = e.$$.on_mount.map(Rt).filter(j);\n e.$$.on_destroy ? e.$$.on_destroy.push(...r) : le(r), e.$$.on_mount = [];\n }), s.forEach(et);\n}\nfunction de(e, t) {\n const n = e.$$;\n n.fragment !== null && (sn(n.after_update), le(n.on_destroy), n.fragment && n.fragment.d(t), n.on_destroy = n.fragment = null, n.ctx = []);\n}\nfunction rn(e, t) {\n e.$$.dirty[0] === -1 && (be.push(e), nn(), e.$$.dirty.fill(0)), e.$$.dirty[t / 31 | 0] |= 1 << t % 31;\n}\nfunction te(e, t, n, o, i, s, r, l = [-1]) {\n const a = Ie;\n ke(e);\n const d = e.$$ = {\n fragment: null,\n ctx: [],\n // state\n props: s,\n update: G,\n not_equal: i,\n bound: lt(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(t.context || (a ? a.$$.context : [])),\n // everything else\n callbacks: lt(),\n dirty: l,\n skip_bound: !1,\n root: t.target || a.$$.root\n };\n r && r(d.root);\n let h = !1;\n if (d.ctx = n ? n(e, t.props || {}, (c, f, ...m) => {\n const g = m.length ? m[0] : f;\n return d.ctx && i(d.ctx[c], d.ctx[c] = g) && (!d.skip_bound && d.bound[c] && d.bound[c](g), h && rn(e, c)), f;\n }) : [], d.update(), h = !0, le(d.before_update), d.fragment = o ? o(d.ctx) : !1, t.target) {\n if (t.hydrate) {\n const c = $t(t.target);\n d.fragment && d.fragment.l(c), c.forEach(O);\n } else\n d.fragment && d.fragment.c();\n t.intro && D(e.$$.fragment), ue(e, t.target, t.anchor, t.customElement), Gt();\n }\n ke(a);\n}\nclass ne {\n $destroy() {\n de(this, 1), this.$destroy = G;\n }\n $on(t, n) {\n if (!j(n))\n return G;\n const o = this.$$.callbacks[t] || (this.$$.callbacks[t] = []);\n return o.push(n), () => {\n const i = o.indexOf(n);\n i !== -1 && o.splice(i, 1);\n };\n }\n $set(t) {\n this.$$set && !Jt(t) && (this.$$.skip_bound = !0, this.$$set(t), this.$$.skip_bound = !1);\n }\n}\nvar z = /* @__PURE__ */ ((e) => (e.ELLIPSE = \"ELLIPSE\", e.POLYGON = \"POLYGON\", e.RECTANGLE = \"RECTANGLE\", e))(z || {});\nconst nt = {}, ot = (e, t) => nt[e] = t, ut = (e) => nt[e.type].area(e), ln = (e, t, n) => nt[e.type].intersects(e, t, n), He = (e) => {\n let t = 1 / 0, n = 1 / 0, o = -1 / 0, i = -1 / 0;\n return e.forEach(([s, r]) => {\n t = Math.min(t, s), n = Math.min(n, r), o = Math.max(o, s), i = Math.max(i, r);\n }), { minX: t, minY: n, maxX: o, maxY: i };\n}, an = {\n area: (e) => Math.PI * e.geometry.rx * e.geometry.ry,\n intersects: (e, t, n) => {\n const { cx: o, cy: i, rx: s, ry: r } = e.geometry, l = 0, a = Math.cos(l), d = Math.sin(l), h = t - o, c = n - i, f = a * h + d * c, m = d * h - a * c;\n return f * f / (s * s) + m * m / (r * r) <= 1;\n }\n};\not(z.ELLIPSE, an);\nconst cn = {\n area: (e) => {\n const { points: t } = e.geometry;\n let n = 0, o = t.length - 1;\n for (let i = 0; i < t.length; i++)\n n += (t[o][0] + t[i][0]) * (t[o][1] - t[i][1]), o = i;\n return Math.abs(0.5 * n);\n },\n intersects: (e, t, n) => {\n const { points: o } = e.geometry;\n let i = !1;\n for (let s = 0, r = o.length - 1; s < o.length; r = s++) {\n const l = o[s][0], a = o[s][1], d = o[r][0], h = o[r][1];\n a > n != h > n && t < (d - l) * (n - a) / (h - a) + l && (i = !i);\n }\n return i;\n }\n};\not(z.POLYGON, cn);\nconst fn = {\n area: (e) => e.geometry.w * e.geometry.h,\n intersects: (e, t, n) => t >= e.geometry.x && t <= e.geometry.x + e.geometry.w && n >= e.geometry.y && n <= e.geometry.y + e.geometry.h\n};\not(z.RECTANGLE, fn);\nconst un = (e, t = !1) => {\n const n = typeof e == \"string\" ? e : e.value, o = /^(xywh)=(pixel|percent)?:?(.+?),(.+?),(.+?),(.+)*/g, i = [...n.matchAll(o)][0], [s, r, l, a, d, h, c] = i;\n if (r !== \"xywh\")\n throw new Error(\"Unsupported MediaFragment: \" + n);\n if (l && l !== \"pixel\")\n throw new Error(`Unsupported MediaFragment unit: ${l}`);\n const [f, m, g, p] = [a, d, h, c].map(parseFloat);\n return {\n type: z.RECTANGLE,\n geometry: {\n x: f,\n y: m,\n w: g,\n h: p,\n bounds: {\n minX: f,\n minY: t ? m - p : m,\n maxX: f + g,\n maxY: t ? m : m + p\n }\n }\n };\n}, dn = (e) => {\n const { x: t, y: n, w: o, h: i } = e;\n return {\n type: \"FragmentSelector\",\n conformsTo: \"http://www.w3.org/TR/media-frags/\",\n value: `xywh=pixel:${t},${n},${o},${i}`\n };\n}, Ht = \"http://www.w3.org/2000/svg\", dt = (e) => {\n const t = (o) => {\n Array.from(o.attributes).forEach((i) => {\n i.name.startsWith(\"on\") && o.removeAttribute(i.name);\n });\n }, n = e.getElementsByTagName(\"script\");\n return Array.from(n).reverse().forEach((o) => o.parentNode.removeChild(o)), Array.from(e.querySelectorAll(\"*\")).forEach(t), e;\n}, hn = (e) => {\n const o = new XMLSerializer().serializeToString(e.documentElement).replace(\"<svg>\", `<svg xmlns=\"${Ht}\">`);\n return new DOMParser().parseFromString(o, \"image/svg+xml\").documentElement;\n}, mn = (e) => {\n const n = new DOMParser().parseFromString(e, \"image/svg+xml\"), o = n.lookupPrefix(Ht), i = n.lookupNamespaceURI(null);\n return o || i ? dt(n).firstChild : dt(hn(n)).firstChild;\n}, gn = (e) => {\n const [t, n, o] = e.match(/(<polygon points=[\"|'])([^(\"|')]*)/) || [];\n if (!o)\n return;\n const i = o.split(\" \").map((s) => s.split(\",\").map(parseFloat));\n return {\n type: z.POLYGON,\n geometry: {\n points: i,\n bounds: He(i)\n }\n };\n}, pn = (e) => {\n const t = mn(e), n = parseFloat(t.getAttribute(\"cx\")), o = parseFloat(t.getAttribute(\"cy\")), i = parseFloat(t.getAttribute(\"rx\")), s = parseFloat(t.getAttribute(\"ry\")), r = {\n minX: n - i,\n minY: o - s,\n maxX: n + i,\n maxY: o + s\n };\n return {\n type: z.ELLIPSE,\n geometry: {\n cx: n,\n cy: o,\n rx: i,\n ry: s,\n bounds: r\n }\n };\n}, _n = (e) => {\n const t = typeof e == \"string\" ? e : e.value;\n if (t.includes(\"<polygon points=\"))\n return gn(t);\n if (t.includes(\"<ellipse \"))\n return pn(t);\n}, yn = (e) => {\n let t;\n if (e.type === z.POLYGON) {\n const n = e.geometry, { points: o } = n;\n t = `<svg><polygon points=\"${o.map((i) => i.join(\",\")).join(\" \")}\" /></svg>`;\n } else if (e.type === z.ELLIPSE) {\n const n = e.geometry;\n t = `<svg><ellipse cx=\"${n.cx}\" cy=\"${n.cy}\" rx=\"${n.rx}\" ry=\"${n.ry}\" /></svg>`;\n }\n if (t)\n return { type: \"SvgSelector\", value: t };\n throw `Unsupported shape type: ${e.type}`;\n};\nlet De;\nconst wn = new Uint8Array(16);\nfunction bn() {\n if (!De && (De = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !De))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return De(wn);\n}\nconst q = [];\nfor (let e = 0; e < 256; ++e)\n q.push((e + 256).toString(16).slice(1));\nfunction En(e, t = 0) {\n return q[e[t + 0]] + q[e[t + 1]] + q[e[t + 2]] + q[e[t + 3]] + \"-\" + q[e[t + 4]] + q[e[t + 5]] + \"-\" + q[e[t + 6]] + q[e[t + 7]] + \"-\" + q[e[t + 8]] + q[e[t + 9]] + \"-\" + q[e[t + 10]] + q[e[t + 11]] + q[e[t + 12]] + q[e[t + 13]] + q[e[t + 14]] + q[e[t + 15]];\n}\nconst An = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), ht = {\n randomUUID: An\n};\nfunction it(e, t, n) {\n if (ht.randomUUID && !t && !e)\n return ht.randomUUID();\n e = e || {};\n const o = e.random || (e.rng || bn)();\n if (o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, t) {\n n = n || 0;\n for (let i = 0; i < 16; ++i)\n t[n + i] = o[i];\n return t;\n }\n return En(o);\n}\nvar mt = Object.prototype.hasOwnProperty;\nfunction ge(e, t) {\n var n, o;\n if (e === t)\n return !0;\n if (e && t && (n = e.constructor) === t.constructor) {\n if (n === Date)\n return e.getTime() === t.getTime();\n if (n === RegExp)\n return e.toString() === t.toString();\n if (n === Array) {\n if ((o = e.length) === t.length)\n for (; o-- && ge(e[o], t[o]); )\n ;\n return o === -1;\n }\n if (!n || typeof e == \"object\") {\n o = 0;\n for (n in e)\n if (mt.call(e, n) && ++o && !mt.call(t, n) || !(n in t) || !ge(e[n], t[n]))\n return !1;\n return Object.keys(t).length === o;\n }\n }\n return e !== e && t !== t;\n}\nconst ye = [];\nfunction Fe(e, t = G) {\n let n;\n const o = /* @__PURE__ */ new Set();\n function i(l) {\n if (K(e, l) && (e = l, n)) {\n const a = !ye.length;\n for (const d of o)\n d[1](), ye.push(d, e);\n if (a) {\n for (let d = 0; d < ye.length; d += 2)\n ye[d][0](ye[d + 1]);\n ye.length = 0;\n }\n }\n }\n function s(l) {\n i(l(e));\n }\n function r(l, a = G) {\n const d = [l, a];\n return o.add(d), o.size === 1 && (n = t(i) || G), l(e), () => {\n o.delete(d), o.size === 0 && n && (n(), n = null);\n };\n }\n return { set: i, update: s, subscribe: r };\n}\nconst Tn = (e) => {\n const { subscribe: t, set: n } = Fe(null);\n let o = null;\n return t((i) => o = i), e.observe(({ changes: i }) => {\n if (o) {\n i.deleted.some((l) => l.id === o) && n(null);\n const r = i.updated.find(({ oldValue: l }) => l.id === o);\n r && n(r.newValue.id);\n }\n }), {\n get current() {\n return o;\n },\n subscribe: t,\n set: n\n };\n};\nvar Ft = /* @__PURE__ */ ((e) => (e.EDIT = \"EDIT\", e.SELECT = \"SELECT\", e.NONE = \"NONE\", e))(Ft || {});\nconst Je = { selected: [] }, Sn = (e, t = \"EDIT\") => {\n const { subscribe: n, set: o } = Fe(Je);\n let i = Je;\n n((c) => i = c);\n const s = () => o(Je), r = () => {\n var c;\n return ((c = i.selected) == null ? void 0 : c.length) === 0;\n }, l = (c) => {\n if (i.selected.length === 0)\n return !1;\n const f = typeof c == \"string\" ? c : c.id;\n return i.selected.some((m) => m.id === f);\n }, a = (c, f) => {\n const m = e.getAnnotation(c);\n if (m) {\n const g = Mn(m, t);\n o(g === \"EDIT\" ? { selected: [{ id: c, editable: !0 }], pointerEvent: f } : g === \"SELECT\" ? { selected: [{ id: c }], pointerEvent: f } : { selected: [], pointerEvent: f });\n } else\n console.warn(\"Invalid selection: \" + c);\n }, d = (c, f = !0) => {\n const m = Array.isArray(c) ? c : [c], g = m.map((p) => e.getAnnotation(p)).filter((p) => p);\n o({ selected: g.map(({ id: p }) => ({ id: p, editable: f })) }), g.length !== m.length && console.warn(\"Invalid selection\", c);\n }, h = (c) => {\n if (i.selected.length === 0)\n return !1;\n const { selected: f } = i;\n f.filter(({ id: g }) => c.includes(g)).length > 0 && o({ selected: f.filter(({ id: g }) => !c.includes(g)) });\n };\n return e.observe(({ changes: c }) => h(c.deleted.map((f) => f.id))), {\n clear: s,\n clickSelect: a,\n get selected() {\n return i ? [...i.selected] : null;\n },\n get pointerEvent() {\n return i ? i.pointerEvent : null;\n },\n isEmpty: r,\n isSelected: l,\n setSelected: d,\n subscribe: n\n };\n}, Mn = (e, t) => typeof t == \"function\" ? t(e) || \"EDIT\" : t || \"EDIT\", ui = (e) => {\n const { creator: t, updatedBy: n } = e.target, o = e.bodies.reduce((i, s) => [...i, s.creator, s.updatedBy], []);\n return [\n t,\n n,\n ...o\n ].filter((i) => i);\n}, di = (e, t, n, o) => ({\n id: it(),\n annotation: e.id,\n created: n || /* @__PURE__ */ new Date(),\n creator: o,\n ...t\n}), Ln = (e, t) => {\n const n = new Set(e.bodies.map((o) => o.id));\n return t.bodies.filter((o) => !n.has(o.id));\n}, On = (e, t) => {\n const n = new Set(t.bodies.map((o) => o.id));\n return e.bodies.filter((o) => !n.has(o.id));\n}, vn = (e, t) => t.bodies.map((n) => {\n const o = e.bodies.find((i) => i.id === n.id);\n return { newBody: n, oldBody: o && !ge(o, n) ? o : void 0 };\n}).filter(({ oldBody: n }) => n), Bn = (e, t) => !ge(e.target, t.target), kn = (e, t) => ({\n oldValue: e,\n newValue: t,\n bodiesCreated: Ln(e, t),\n bodiesDeleted: On(e, t),\n bodiesUpdated: vn(e, t),\n targetUpdated: Bn(e, t) ? { oldTarget: e.target, newTarget: t.target } : void 0\n});\nvar F = /* @__PURE__ */ ((e) => (e.LOCAL = \"LOCAL\", e.REMOTE = \"REMOTE\", e))(F || {});\nconst In = (e, t) => {\n var s, r;\n const { changes: n, origin: o } = t;\n if (!(!e.options.origin || e.options.origin === o))\n return !1;\n if (e.options.ignore) {\n const { ignore: l } = e.options, a = (h) => (h == null ? void 0 : h.length) > 0;\n if (!(a(n.created) || a(n.deleted))) {\n const h = (s = n.updated) == null ? void 0 : s.some((f) => a(f.bodiesCreated) || a(f.bodiesDeleted) || a(f.bodiesUpdated)), c = (r = n.updated) == null ? void 0 : r.some((f) => f.targetUpdated);\n if (l === \"BODY_ONLY\" && h && !c || l === \"TARGET_ONLY\" && c && !h)\n return !1;\n }\n }\n if (e.options.annotations) {\n const l = /* @__PURE__ */ new Set([\n ...n.created.map((d) => d.id),\n ...n.deleted.map((d) => d.id),\n ...n.updated.map(({ oldValue: d }) => d.id)\n ]);\n return !!(Array.isArray(e.options.annotations) ? e.options.annotations : [e.options.annotations]).find((d) => l.has(d));\n } else\n return !0;\n}, Cn = (e) => e.id !== void 0, Pn = () => {\n const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = [], o = (_, w = {}) => n.push({ onChange: _, options: w }), i = (_) => {\n const w = n.findIndex((A) => A.onChange == _);\n w > -1 && n.splice(w, 1);\n }, s = (_, w) => {\n const A = {\n origin: _,\n changes: {\n created: w.created || [],\n updated: w.updated || [],\n deleted: w.deleted || []\n },\n state: [...e.values()]\n };\n n.forEach((S) => {\n In(S, A) && S.onChange(A);\n });\n }, r = (_, w = F.LOCAL) => {\n if (e.get(_.id))\n throw Error(`Cannot add annotation ${_.id} - exists already`);\n e.set(_.id, _), _.bodies.forEach((S) => t.set(S.id, _.id)), s(w, { created: [_] });\n }, l = (_, w = F.LOCAL, A = F.LOCAL) => {\n const S = Cn(w) ? A : w, B = typeof _ == \"string\" ? w : _, P = typeof _ == \"string\" ? _ : _.id, Q = e.get(P);\n if (Q) {\n const ce = kn(Q, B);\n P === B.id ? e.set(P, B) : (e.delete(P), e.set(B.id, B)), Q.bodies.forEach((oe) => t.delete(oe.id)), B.bodies.forEach((oe) => t.set(oe.id, B.id)), s(S, { updated: [ce] });\n } else\n throw Error(`Cannot update annotation ${P} - does not exist`);\n }, a = (_, w = F.LOCAL) => {\n const A = e.get(_.annotation);\n if (A) {\n const S = {\n ...A,\n bodies: [...A.bodies, _]\n };\n e.set(A.id, S), t.set(_.id, S.id), s(w, { updated: [{\n oldValue: A,\n newValue: S,\n bodiesCreated: [_]\n }] });\n } else\n console.warn(`Attempt to add body to missing annotation: ${_.annotation}`);\n }, d = () => [...e.values()], h = (_ = F.LOCAL) => {\n const w = [...e.values()];\n e.clear(), t.clear(), s(_, { deleted: w });\n }, c = (_, w = !0, A = F.LOCAL) => {\n if (w) {\n const S = [...e.values()];\n e.clear(), t.clear(), _.forEach((B) => {\n e.set(B.id, B), B.bodies.forEach((P) => t.set(P.id, B.id));\n }), s(A, { created: _, deleted: S });\n } else {\n const S = _.reduce((B, P) => {\n const Q = e.get(P.id);\n return Q ? [...B, Q] : B;\n }, []);\n if (S.length > 0)\n throw Error(`Bulk insert would overwrite the following annotations: ${S.map((B) => B.id).join(\", \")}`);\n _.forEach((B) => {\n e.set(B.id, B), B.bodies.forEach((P) => t.set(P.id, B.id));\n }), s(A, { created: _ });\n }\n }, f = (_) => {\n const w = typeof _ == \"string\" ? _ : _.id, A = e.get(w);\n if (A)\n return e.delete(w), A.bodies.forEach((S) => t.delete(S.id)), A;\n console.warn(`Attempt to delete missing annotation: ${w}`);\n }, m = (_, w = F.LOCAL) => {\n const A = f(_);\n A && s(w, { deleted: [A] });\n }, g = (_, w = F.LOCAL) => {\n const A = _.reduce((S, B) => {\n const P = f(B);\n return P ? [...S, P] : S;\n }, []);\n A.length > 0 && s(w, { deleted: A });\n }, p = (_, w = F.LOCAL) => {\n const A = e.get(_.annotation);\n if (A) {\n const S = A.bodies.find((B) => B.id === _.id);\n if (S) {\n t.delete(S.id);\n const B = {\n ...A,\n bodies: A.bodies.filter((Q) => Q.id !== _.id)\n };\n e.set(A.id, B), s(w, { updated: [{\n oldValue: A,\n newValue: B,\n bodiesDeleted: [S]\n }] });\n } else\n console.warn(`Attempt to delete missing body ${_.id} from annotation ${_.annotation}`);\n } else\n console.warn(`Attempt to delete body from missing annotation ${_.annotation}`);\n }, y = (_) => {\n const w = e.get(_);\n return w ? { ...w } : void 0;\n }, L = (_) => {\n const w = t.get(_);\n if (w) {\n const S = y(w).bodies.find((B) => B.id === _);\n if (S)\n return S;\n console.error(`Store integrity error: body ${_} in index, but not in annotation`);\n } else\n console.warn(`Attempt to retrieve missing body: ${_}`);\n }, E = (_, w) => {\n if (_.annotation !== w.annotation)\n throw \"Annotation integrity violation: annotation ID must be the same when updating bodies\";\n const A = e.get(_.annotation);\n if (A) {\n const S = A.bodies.find((P) => P.id === _.id), B = {\n ...A,\n bodies: A.bodies.map((P) => P.id === S.id ? w : P)\n };\n return e.set(A.id, B), S.id !== w.id && (t.delete(S.id), t.set(w.id, B.id)), {\n oldValue: A,\n newValue: B,\n bodiesUpdated: [{ oldBody: S, newBody: w }]\n };\n } else\n console.warn(`Attempt to add body to missing annotation ${_.annotation}`);\n }, k = (_, w, A = F.LOCAL) => {\n const S = E(_, w);\n s(A, { updated: [S] });\n }, b = (_, w = F.LOCAL) => {\n const A = _.map((S) => E({ id: S.id, annotation: S.annotation }, S));\n s(w, { updated: A });\n }, Y = (_) => {\n const w = e.get(_.annotation);\n if (w) {\n const A = {\n ...w,\n target: {\n ...w.target,\n ..._\n }\n };\n return e.set(w.id, A), {\n oldValue: w,\n newValue: A,\n targetUpdated: {\n oldTarget: w.target,\n newTarget: _\n }\n };\n } else\n console.warn(`Attempt to update target on missing annotation: ${_.annotation}`);\n };\n return {\n addAnnotation: r,\n addBody: a,\n all: d,\n bulkAddAnnotation: c,\n bulkDeleteAnnotation: g,\n bulkUpdateBodies: b,\n bulkUpdateTargets: (_, w = F.LOCAL) => {\n const A = _.map(Y).filter((S) => S);\n A.length > 0 && s(w, { updated: A });\n },\n clear: h,\n deleteAnnotation: m,\n deleteBody: p,\n getAnnotation: y,\n getBody: L,\n observe: o,\n unobserve: i,\n updateAnnotation: l,\n updateBody: k,\n updateTarget: (_, w = F.LOCAL) => {\n const A = Y(_);\n A && s(w, { updated: [A] });\n }\n };\n}, Yn = (e) => ({\n ...e,\n subscribe: (n) => {\n const o = (i) => n(i.state);\n return e.observe(o), n(e.all()), () => e.unobserve(o);\n }\n}), Rn = () => {\n const { subscribe: e, set: t } = Fe([]);\n return {\n subscribe: e,\n set: t\n };\n}, Xn = (e, t, n, o, i, s) => {\n const r = /* @__PURE__ */ new Map();\n let l = [], a, d;\n const h = (g, p) => {\n r.has(g) ? r.get(g).push(p) : r.set(g, [p]);\n }, c = (g, p) => {\n const y = r.get(g);\n y && y.indexOf(p) > 0 && y.splice(y.indexOf(p), 1);\n }, f = (g, p, y) => {\n r.has(g) && setTimeout(() => {\n r.get(g).forEach((L) => {\n if (i) {\n const E = Array.isArray(p) ? p.map((b) => i.serialize(b)) : i.serialize(p), k = y ? y instanceof PointerEvent ? y : i.serialize(y) : void 0;\n L(E, k);\n } else\n L(p, y);\n });\n }, 1);\n }, m = () => {\n const { selected: g } = t, p = g.map(({ id: y }) => e.getAnnotation(y));\n p.forEach((y) => {\n const L = l.find((E) => E.id === y.id);\n (!L || !ge(L, y)) && f(\"updateAnnotation\", y, L);\n }), l = l.map((y) => {\n const L = p.find(({ id: E }) => E === y.id);\n return L || y;\n });\n };\n return t.subscribe(({ selected: g }) => {\n if (!(l.length === 0 && g.length === 0)) {\n if (l.length === 0 && g.length > 0)\n l = g.map(({ id: p }) => e.getAnnotation(p));\n else if (l.length > 0 && g.length === 0)\n l.forEach((p) => {\n const y = e.getAnnotation(p.id);\n y && !ge(y, p) && f(\"updateAnnotation\", y, p);\n }), l = [];\n else {\n const p = new Set(l.map((E) => E.id)), y = new Set(g.map(({ id: E }) => E));\n l.filter((E) => !y.has(E.id)).forEach((E) => {\n const k = e.getAnnotation(E.id);\n k && !ge(k, E) && f(\"updateAnnotation\", k, E);\n }), l = [\n // Remove annotations that were deselected\n ...l.filter((E) => y.has(E.id)),\n // Add editable annotations that were selected\n ...g.filter(({ id: E }) => !p.has(E)).map(({ id: E }) => e.getAnnotation(E))\n ];\n }\n f(\"selectionChanged\", l);\n }\n }), n.subscribe((g) => {\n !a && g ? f(\"mouseEnterAnnotation\", e.getAnnotation(g)) : a && !g ? f(\"mouseLeaveAnnotation\", e.getAnnotation(a)) : a && g && (f(\"mouseLeaveAnnotation\", e.getAnnotation(a)), f(\"mouseEnterAnnotation\", e.getAnnotation(g))), a = g;\n }), o == null || o.subscribe((g) => f(\"viewportIntersect\", g.map(e.getAnnotation))), e.observe((g) => {\n s && (d && clearTimeout(d), d = setTimeout(m, 1e3));\n const { created: p, deleted: y } = g.changes;\n p.forEach((E) => f(\"createAnnotation\", E)), y.forEach((E) => f(\"deleteAnnotation\", E)), g.changes.updated.filter((E) => [\n ...E.bodiesCreated || [],\n ...E.bodiesDeleted || [],\n ...E.bodiesUpdated || []\n ].length > 0).forEach(({ oldValue: E, newValue: k }) => {\n const b = l.find((Y) => Y.id === E.id) || E;\n l = l.map((Y) => Y.id === E.id ? k : Y), f(\"updateAnnotation\", k, b);\n });\n }, { origin: F.LOCAL }), e.observe((g) => {\n if (l) {\n const p = new Set(l.map((L) => L.id)), y = g.changes.updated.filter(({ newValue: L }) => p.has(L.id)).map(({ newValue: L }) => L);\n y.length > 0 && (l = l.map((L) => {\n const E = y.find((k) => k.id === L.id);\n return E || L;\n }));\n }\n }, { origin: F.REMOTE }), { on: h, off: c, emit: f };\n}, hi = (e) => (t) => t.map((n) => e.serialize(n)), Dn = (e) => (t) => t.reduce((n, o) => {\n const { parsed: i, error: s } = e.parse(o);\n return s ? {\n parsed: n.parsed,\n failed: [...n.failed, o]\n } : {\n parsed: [...n.parsed, i],\n failed: n.failed\n };\n}, { parsed: [], failed: [] }), Nn = (e, t) => {\n const n = (h) => {\n if (t) {\n const { parsed: c, error: f } = t.parse(h);\n c ? e.addAnnotation(c, F.REMOTE) : console.error(f);\n } else\n e.addAnnotation(h, F.REMOTE);\n }, o = () => e.clear(), i = (h) => {\n const c = e.getAnnotation(h);\n return t && c ? t.serialize(c) : c;\n }, s = () => t ? e.all().map(t.serialize) : e.all(), r = (h) => fetch(h).then((c) => c.json()).then((c) => (a(c), c)), l = (h) => {\n if (typeof h == \"string\") {\n const c = e.getAnnotation(h);\n return e.deleteAnnotation(h), t ? t.serialize(c) : c;\n } else {\n const c = t ? t.parse(h).parsed : h;\n return e.deleteAnnotation(c), h;\n }\n }, a = (h) => {\n if (t) {\n const { parsed: c, failed: f } = Dn(t)(h);\n f.length > 0 && console.warn(`Discarded ${f.length} invalid annotations`, f), e.bulkAddAnnotation(c, !0, F.REMOTE);\n } else\n e.bulkAddAnnotation(h, !0, F.REMOTE);\n };\n return {\n addAnnotation: n,\n clearAnnotations: o,\n getAnnotationById: i,\n getAnnotations: s,\n loadAnnotations: r,\n removeAnnotation: l,\n setAnnotations: a,\n updateAnnotation: (h) => {\n if (t) {\n const c = t.parse(h).parsed, f = t.serialize(e.getAnnotation(c.id));\n return e.updateAnnotation(c), f;\n } else {\n const c = e.getAnnotation(h.id);\n return e.updateAnnotation(h), c;\n }\n }\n };\n};\nlet Un = (e) => crypto.getRandomValues(new Uint8Array(e)), Gn = (e, t, n) => {\n let o = (2 << Math.log(e.length - 1) / Math.LN2) - 1, i = -~(1.6 * o * t / e.length);\n return (s = t) => {\n let r = \"\";\n for (; ; ) {\n let l = n(i), a = i;\n for (; a--; )\n if (r += e[l[a] & o] || \"\", r.length === s)\n return r;\n }\n };\n}, Hn = (e, t = 21) => Gn(e, t, Un), Fn = (e = 21) => crypto.getRandomValues(new Uint8Array(e)).reduce((t, n) => (n &= 63, n < 36 ? t += n.toString(36) : n < 62 ? t += (n - 26).toString(36).toUpperCase() : n > 62 ? t += \"-\" : t += \"_\", t), \"\");\nconst zn = () => ({ isGuest: !0, id: Hn(\"1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_\", 20)() }), jn = (e) => {\n const t = JSON.stringify(e);\n let n = 0;\n for (let o = 0, i = t.length; o < i; o++) {\n let s = t.charCodeAt(o);\n n = (n << 5) - n + s, n |= 0;\n }\n return `${n}`;\n}, Vn = (e, t) => (Array.isArray(e) ? e : [e]).map((n) => {\n const { id: o, type: i, purpose: s, value: r, created: l, creator: a, ...d } = n;\n return {\n id: o || `temp-${jn(n)}`,\n annotation: t,\n type: i,\n purpose: s,\n value: r,\n created: l,\n creator: a ? typeof a == \"object\" ? { ...a } : a : void 0,\n ...d\n };\n}), qn = (e) => e.map((t) => {\n var o;\n const n = { ...t };\n return delete n.annotation, (o = n.id) != null && o.startsWith(\"temp-\") && delete n.id, n;\n}), Wn = [\n \"#ff7c00\",\n // orange\n \"#1ac938\",\n // green\n \"#e8000b\",\n // red\n \"#8b2be2\",\n // purple\n \"#9f4800\",\n // brown\n \"#f14cc1\",\n // pink\n \"#ffc400\",\n // khaki\n \"#00d7ff\",\n // cyan\n \"#023eff\"\n // blue\n], Jn = () => {\n const e = [...Wn];\n return { assignRandomColor: () => {\n const o = Math.floor(Math.random() * e.length), i = e[o];\n return e.splice(o, 1), i;\n }, releaseColor: (o) => e.push(o) };\n}, Qn = () => {\n const e = Jn();\n return { addUser: (o, i) => {\n const s = e.assignRandomColor();\n return {\n label: i.name || i.id,\n avatar: i.avatar,\n color: s\n };\n }, removeUser: (o) => e.releaseColor(o.appearance.color) };\n};\nlet Zn = () => ({\n emit(e, ...t) {\n let n = this.events[e] || [];\n for (let o = 0, i = n.length; o < i; o++)\n n[o](...t);\n },\n events: {},\n on(e, t) {\n var n;\n return (n = this.events[e]) != null && n.push(t) || (this.events[e] = [t]), () => {\n var o;\n this.events[e] = (o = this.events[e]) == null ? void 0 : o.filter((i) => t !== i);\n };\n }\n});\nconst Kn = (e, t) => e.every((n) => e.includes(n)) && t.every((n) => e.includes(n)), mi = Fn(), gi = (e = Qn()) => {\n const t = Zn(), n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), i = (c, f) => {\n if (n.has(c)) {\n console.warn(\"Attempt to add user that is already present\", c, f);\n return;\n }\n const m = e.addUser(c, f);\n n.set(c, {\n ...f,\n presenceKey: c,\n appearance: m\n });\n }, s = (c) => {\n const f = n.get(c);\n if (!f) {\n console.warn(\"Attempt to remove user that is not present\", c);\n return;\n }\n e.removeUser(f), n.delete(c);\n }, r = (c) => {\n const f = new Set(c.map((p) => p.presenceKey)), m = c.filter(({ presenceKey: p }) => !n.has(p)), g = Array.from(n.values()).filter((p) => !f.has(p.presenceKey));\n m.forEach(({ presenceKey: p, user: y }) => i(p, y)), g.forEach((p) => {\n const { presenceKey: y } = p;\n o.has(y) && t.emit(\"selectionChange\", p, null), s(y);\n }), (m.length > 0 || g.length > 0) && t.emit(\"presence\", d());\n }, l = (c, f) => {\n const m = n.get(c);\n if (!m) {\n console.warn(\"Activity notification from user that is not present\");\n return;\n }\n const g = o.get(c);\n (!g || !Kn(g, f)) && (o.set(c, f), t.emit(\"selectionChange\", m, f));\n }, a = (c, f) => {\n const m = n.get(c);\n if (!m) {\n console.warn(\"Selection change for user that is not present\", c);\n return;\n }\n f ? o.set(c, f) : o.delete(c), t.emit(\"selectionChange\", m, f);\n }, d = () => [...Array.from(n.values())];\n return {\n getPresentUsers: d,\n notifyActivity: l,\n on: (c, f) => t.on(c, f),\n syncUsers: r,\n updateSelection: a\n };\n}, pi = (e, t = !1) => ({ parse: (i) => xn(i, t), serialize: (i) => $n(i, e) }), xn = (e, t = !1) => {\n const n = e.id || it(), o = Vn(e.body, n), i = Array.isArray(e.target) ? e.target[0] : e.target, s = Array.isArray(i.selector) ? i.selector[0] : i.selector, r = s.type === \"FragmentSelector\" ? un(s, t) : s.type === \"SvgSelector\" ? _n(s) : void 0;\n return r ? {\n parsed: {\n ...e,\n id: n,\n bodies: o,\n target: {\n annotation: n,\n selector: r\n }\n }\n } : {\n error: Error(`Unknown selector type: ${r.type}`)\n };\n}, $n = (e, t) => {\n const n = e.target.selector, o = n.type == z.RECTANGLE ? dn(n.geometry) : yn(n);\n return {\n ...e,\n \"@context\": \"http://www.w3.org/ns/anno.jsonld\",\n id: e.id,\n type: \"Annotation\",\n body: qn(e.bodies),\n target: {\n source: t,\n selector: o\n }\n };\n};\nfunction gt(e, t, n) {\n const o = e.slice();\n return o[11] = t[n], o[13] = n, o;\n}\nfunction pt(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"rect\"), u(t, \"class\", \"a9s-corner-handle\"), u(t, \"x\", n = /*point*/\n e[11][0] - /*handleSize*/\n e[3] / 2), u(t, \"y\", o = /*point*/\n e[11][1] - /*handleSize*/\n e[3] / 2), u(\n t,\n \"height\",\n /*handleSize*/\n e[3]\n ), u(\n t,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n m(r, l) {\n v(r, t, l), i || (s = W(t, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M(\n /*idx*/\n e[13]\n ))\n ) && e[10](M(\n /*idx*/\n e[13]\n )).apply(this, arguments);\n }), i = !0);\n },\n p(r, l) {\n e = r, l & /*geom, handleSize*/\n 24 && n !== (n = /*point*/\n e[11][0] - /*handleSize*/\n e[3] / 2) && u(t, \"x\", n), l & /*geom, handleSize*/\n 24 && o !== (o = /*point*/\n e[11][1] - /*handleSize*/\n e[3] / 2) && u(t, \"y\", o), l & /*handleSize*/\n 8 && u(\n t,\n \"height\",\n /*handleSize*/\n e[3]\n ), l & /*handleSize*/\n 8 && u(\n t,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n d(r) {\n r && O(t), i = !1, s();\n }\n };\n}\nfunction eo(e) {\n let t, n, o, i, s, r, l, a, d, h, c = (\n /*geom*/\n e[4].points\n ), f = [];\n for (let m = 0; m < c.length; m += 1)\n f[m] = pt(gt(e, c, m));\n return {\n c() {\n t = R(\"polygon\"), i = ee(), s = R(\"polygon\"), l = ee();\n for (let m = 0; m < f.length; m += 1)\n f[m].c();\n a = ae(), u(t, \"class\", \"a9s-outer\"), u(t, \"style\", n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), u(t, \"points\", o = /*geom*/\n e[4].points.map(_t).join(\" \")), u(s, \"class\", \"a9s-inner a9s-shape-handle\"), u(\n s,\n \"style\",\n /*computedStyle*/\n e[1]\n ), u(s, \"points\", r = /*geom*/\n e[4].points.map(yt).join(\" \"));\n },\n m(m, g) {\n v(m, t, g), v(m, i, g), v(m, s, g), v(m, l, g);\n for (let p = 0; p < f.length; p += 1)\n f[p] && f[p].m(m, g);\n v(m, a, g), d || (h = [\n W(t, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.SHAPE)\n ) && e[10](M.SHAPE).apply(this, arguments);\n }),\n W(s, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.SHAPE)\n ) && e[10](M.SHAPE).apply(this, arguments);\n })\n ], d = !0);\n },\n p(m, g) {\n if (e = m, g & /*computedStyle*/\n 2 && n !== (n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0) && u(t, \"style\", n), g & /*geom*/\n 16 && o !== (o = /*geom*/\n e[4].points.map(_t).join(\" \")) && u(t, \"points\", o), g & /*computedStyle*/\n 2 && u(\n s,\n \"style\",\n /*computedStyle*/\n e[1]\n ), g & /*geom*/\n 16 && r !== (r = /*geom*/\n e[4].points.map(yt).join(\" \")) && u(s, \"points\", r), g & /*geom, handleSize, grab, Handle*/\n 1048) {\n c = /*geom*/\n e[4].points;\n let p;\n for (p = 0; p < c.length; p += 1) {\n const y = gt(e, c, p);\n f[p] ? f[p].p(y, g) : (f[p] = pt(y), f[p].c(), f[p].m(a.parentNode, a));\n }\n for (; p < f.length; p += 1)\n f[p].d(1);\n f.length = c.length;\n }\n },\n d(m) {\n m && O(t), m && O(i), m && O(s), m && O(l), tt(f, m), m && O(a), d = !1, le(h);\n }\n };\n}\nfunction to(e) {\n let t, n;\n return t = new jt({\n props: {\n shape: (\n /*shape*/\n e[0]\n ),\n transform: (\n /*transform*/\n e[2]\n ),\n editor: (\n /*editor*/\n e[5]\n ),\n $$slots: {\n default: [\n eo,\n ({ grab: o }) => ({ 10: o }),\n ({ grab: o }) => o ? 1024 : 0\n ]\n },\n $$scope: { ctx: e }\n }\n }), t.$on(\n \"change\",\n /*change_handler*/\n e[7]\n ), t.$on(\n \"grab\",\n /*grab_handler*/\n e[8]\n ), t.$on(\n \"release\",\n /*release_handler*/\n e[9]\n ), {\n c() {\n pe(t.$$.fragment);\n },\n m(o, i) {\n ue(t, o, i), n = !0;\n },\n p(o, [i]) {\n const s = {};\n i & /*shape*/\n 1 && (s.shape = /*shape*/\n o[0]), i & /*transform*/\n 4 && (s.transform = /*transform*/\n o[2]), i & /*$$scope, geom, handleSize, grab, computedStyle*/\n 17434 && (s.$$scope = { dirty: i, ctx: o }), t.$set(s);\n },\n i(o) {\n n || (D(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n de(t, o);\n }\n };\n}\nconst _t = (e) => e.join(\",\"), yt = (e) => e.join(\",\");\nfunction no(e, t, n) {\n let o, i, { shape: s } = t, { computedStyle: r = void 0 } = t, { transform: l } = t, { viewportScale: a = 1 } = t;\n const d = (m, g, p) => {\n let y;\n g === M.SHAPE ? y = m.geometry.points.map(([E, k]) => [E + p[0], k + p[1]]) : y = m.geometry.points.map(([E, k], b) => g === M(b) ? [E + p[0], k + p[1]] : [E, k]);\n const L = He(y);\n return { ...m, geometry: { points: y, bounds: L } };\n };\n function h(m) {\n Ae.call(this, e, m);\n }\n function c(m) {\n Ae.call(this, e, m);\n }\n function f(m) {\n Ae.call(this, e, m);\n }\n return e.$$set = (m) => {\n \"shape\" in m && n(0, s = m.shape), \"computedStyle\" in m && n(1, r = m.computedStyle), \"transform\" in m && n(2, l = m.transform), \"viewportScale\" in m && n(6, a = m.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*shape*/\n 1 && n(4, o = s.geometry), e.$$.dirty & /*viewportScale*/\n 64 && n(3, i = 10 / a);\n }, [\n s,\n r,\n l,\n i,\n o,\n d,\n a,\n h,\n c,\n f\n ];\n}\nclass oo extends ne {\n constructor(t) {\n super(), te(this, t, no, to, K, {\n shape: 0,\n computedStyle: 1,\n transform: 2,\n viewportScale: 6\n });\n }\n}\nfunction io(e) {\n let t, n, o, i, s, r, l, a, d, h, c, f, m, g, p, y, L, E, k, b, Y, U, X, _, w, A, S, B, P, Q, ce, oe, Le, Z, I, J, H, V, ie, he, je, x, Pe, Ye, Ve, $, Re, Xe, qe, rt;\n return {\n c() {\n t = R(\"rect\"), l = ee(), a = R(\"rect\"), m = ee(), g = R(\"rect\"), E = ee(), k = R(\"rect\"), X = ee(), _ = R(\"rect\"), B = ee(), P = R(\"rect\"), Le = ee(), Z = R(\"rect\"), H = ee(), V = R(\"rect\"), je = ee(), x = R(\"rect\"), Ve = ee(), $ = R(\"rect\"), u(t, \"class\", \"a9s-outer\"), u(t, \"style\", n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), u(t, \"x\", o = /*geom*/\n e[4].x), u(t, \"y\", i = /*geom*/\n e[4].y), u(t, \"width\", s = /*geom*/\n e[4].w), u(t, \"height\", r = /*geom*/\n e[4].h), u(a, \"class\", \"a9s-inner a9s-shape-handle\"), u(\n a,\n \"style\",\n /*computedStyle*/\n e[1]\n ), u(a, \"x\", d = /*geom*/\n e[4].x), u(a, \"y\", h = /*geom*/\n e[4].y), u(a, \"width\", c = /*geom*/\n e[4].w), u(a, \"height\", f = /*geom*/\n e[4].h), u(g, \"class\", \"a9s-edge-handle a9s-edge-handle-top\"), u(g, \"x\", p = /*geom*/\n e[4].x), u(g, \"y\", y = /*geom*/\n e[4].y), u(g, \"height\", 1), u(g, \"width\", L = /*geom*/\n e[4].w), u(k, \"class\", \"a9s-edge-handle a9s-edge-handle-right\"), u(k, \"x\", b = /*geom*/\n e[4].x + /*geom*/\n e[4].w), u(k, \"y\", Y = /*geom*/\n e[4].y), u(k, \"height\", U = /*geom*/\n e[4].h), u(k, \"width\", 1), u(_, \"class\", \"a9s-edge-handle a9s-edge-handle-bottom\"), u(_, \"x\", w = /*geom*/\n e[4].x), u(_, \"y\", A = /*geom*/\n e[4].y + /*geom*/\n e[4].h), u(_, \"height\", 1), u(_, \"width\", S = /*geom*/\n e[4].w), u(P, \"class\", \"a9s-edge-handle a9s-edge-handle-left\"), u(P, \"x\", Q = /*geom*/\n e[4].x), u(P, \"y\", ce = /*geom*/\n e[4].y), u(P, \"height\", oe = /*geom*/\n e[4].h), u(P, \"width\", 1), u(Z, \"class\", \"a9s-corner-handle a9s-corner-handle-topleft\"), u(Z, \"x\", I = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2), u(Z, \"y\", J = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2), u(\n Z,\n \"height\",\n /*handleSize*/\n e[3]\n ), u(\n Z,\n \"width\",\n /*handleSize*/\n e[3]\n ), u(V, \"class\", \"a9s-corner-handle a9s-corner-handle-topright\"), u(V, \"x\", ie = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2), u(V, \"y\", he = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2), u(\n V,\n \"height\",\n /*handleSize*/\n e[3]\n ), u(\n V,\n \"width\",\n /*handleSize*/\n e[3]\n ), u(x, \"class\", \"a9s-corner-handle a9s-corner-handle-bottomright\"), u(x, \"x\", Pe = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2), u(x, \"y\", Ye = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2), u(\n x,\n \"height\",\n /*handleSize*/\n e[3]\n ), u(\n x,\n \"width\",\n /*handleSize*/\n e[3]\n ), u($, \"class\", \"a9s-corner-handle a9s-corner-handle-bottomleft\"), u($, \"x\", Re = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2), u($, \"y\", Xe = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2), u(\n $,\n \"height\",\n /*handleSize*/\n e[3]\n ), u(\n $,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n m(C, T) {\n v(C, t, T), v(C, l, T), v(C, a, T), v(C, m, T), v(C, g, T), v(C, E, T), v(C, k, T), v(C, X, T), v(C, _, T), v(C, B, T), v(C, P, T), v(C, Le, T), v(C, Z, T), v(C, H, T), v(C, V, T), v(C, je, T), v(C, x, T), v(C, Ve, T), v(C, $, T), qe || (rt = [\n W(t, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.SHAPE)\n ) && e[10](M.SHAPE).apply(this, arguments);\n }),\n W(a, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.SHAPE)\n ) && e[10](M.SHAPE).apply(this, arguments);\n }),\n W(g, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.TOP)\n ) && e[10](M.TOP).apply(this, arguments);\n }),\n W(k, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.RIGHT)\n ) && e[10](M.RIGHT).apply(this, arguments);\n }),\n W(_, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.BOTTOM)\n ) && e[10](M.BOTTOM).apply(this, arguments);\n }),\n W(P, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.LEFT)\n ) && e[10](M.LEFT).apply(this, arguments);\n }),\n W(Z, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.TOP_LEFT)\n ) && e[10](M.TOP_LEFT).apply(this, arguments);\n }),\n W(V, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.TOP_RIGHT)\n ) && e[10](M.TOP_RIGHT).apply(this, arguments);\n }),\n W(x, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.BOTTOM_RIGHT)\n ) && e[10](M.BOTTOM_RIGHT).apply(this, arguments);\n }),\n W($, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](M.BOTTOM_LEFT)\n ) && e[10](M.BOTTOM_LEFT).apply(this, arguments);\n })\n ], qe = !0);\n },\n p(C, T) {\n e = C, T & /*computedStyle*/\n 2 && n !== (n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0) && u(t, \"style\", n), T & /*geom*/\n 16 && o !== (o = /*geom*/\n e[4].x) && u(t, \"x\", o), T & /*geom*/\n 16 && i !== (i = /*geom*/\n e[4].y) && u(t, \"y\", i), T & /*geom*/\n 16 && s !== (s = /*geom*/\n e[4].w) && u(t, \"width\", s), T & /*geom*/\n 16 && r !== (r = /*geom*/\n e[4].h) && u(t, \"height\", r), T & /*computedStyle*/\n 2 && u(\n a,\n \"style\",\n /*computedStyle*/\n e[1]\n ), T & /*geom*/\n 16 && d !== (d = /*geom*/\n e[4].x) && u(a, \"x\", d), T & /*geom*/\n 16 && h !== (h = /*geom*/\n e[4].y) && u(a, \"y\", h), T & /*geom*/\n 16 && c !== (c = /*geom*/\n e[4].w) && u(a, \"width\", c), T & /*geom*/\n 16 && f !== (f = /*geom*/\n e[4].h) && u(a, \"height\", f), T & /*geom*/\n 16 && p !== (p = /*geom*/\n e[4].x) && u(g, \"x\", p), T & /*geom*/\n 16 && y !== (y = /*geom*/\n e[4].y) && u(g, \"y\", y), T & /*geom*/\n 16 && L !== (L = /*geom*/\n e[4].w) && u(g, \"width\", L), T & /*geom*/\n 16 && b !== (b = /*geom*/\n e[4].x + /*geom*/\n e[4].w) && u(k, \"x\", b), T & /*geom*/\n 16 && Y !== (Y = /*geom*/\n e[4].y) && u(k, \"y\", Y), T & /*geom*/\n 16 && U !== (U = /*geom*/\n e[4].h) && u(k, \"height\", U), T & /*geom*/\n 16 && w !== (w = /*geom*/\n e[4].x) && u(_, \"x\", w), T & /*geom*/\n 16 && A !== (A = /*geom*/\n e[4].y + /*geom*/\n e[4].h) && u(_, \"y\", A), T & /*geom*/\n 16 && S !== (S = /*geom*/\n e[4].w) && u(_, \"width\", S), T & /*geom*/\n 16 && Q !== (Q = /*geom*/\n e[4].x) && u(P, \"x\", Q), T & /*geom*/\n 16 && ce !== (ce = /*geom*/\n e[4].y) && u(P, \"y\", ce), T & /*geom*/\n 16 && oe !== (oe = /*geom*/\n e[4].h) && u(P, \"height\", oe), T & /*geom, handleSize*/\n 24 && I !== (I = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2) && u(Z, \"x\", I), T & /*geom, handleSize*/\n 24 && J !== (J = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2) && u(Z, \"y\", J), T & /*handleSize*/\n 8 && u(\n Z,\n \"height\",\n /*handleSize*/\n e[3]\n ), T & /*handleSize*/\n 8 && u(\n Z,\n \"width\",\n /*handleSize*/\n e[3]\n ), T & /*geom, handleSize*/\n 24 && ie !== (ie = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2) && u(V, \"x\", ie), T & /*geom, handleSize*/\n 24 && he !== (he = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2) && u(V, \"y\", he), T & /*handleSize*/\n 8 && u(\n V,\n \"height\",\n /*handleSize*/\n e[3]\n ), T & /*handleSize*/\n 8 && u(\n V,\n \"width\",\n /*handleSize*/\n e[3]\n ), T & /*geom, handleSize*/\n 24 && Pe !== (Pe = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2) && u(x, \"x\", Pe), T & /*geom, handleSize*/\n 24 && Ye !== (Ye = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2) && u(x, \"y\", Ye), T & /*handleSize*/\n 8 && u(\n x,\n \"height\",\n /*handleSize*/\n e[3]\n ), T & /*handleSize*/\n 8 && u(\n x,\n \"width\",\n /*handleSize*/\n e[3]\n ), T & /*geom, handleSize*/\n 24 && Re !== (Re = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2) && u($, \"x\", Re), T & /*geom, handleSize*/\n 24 && Xe !== (Xe = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2) && u($, \"y\", Xe), T & /*handleSize*/\n 8 && u(\n $,\n \"height\",\n /*handleSize*/\n e[3]\n ), T & /*handleSize*/\n 8 && u(\n $,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n d(C) {\n C && O(t), C && O(l), C && O(a), C && O(m), C && O(g), C && O(E), C && O(k), C && O(X), C && O(_), C && O(B), C && O(P), C && O(Le), C && O(Z), C && O(H), C && O(V), C && O(je), C && O(x), C && O(Ve), C && O($), qe = !1, le(rt);\n }\n };\n}\nfunction so(e) {\n let t, n;\n return t = new jt({\n props: {\n shape: (\n /*shape*/\n e[0]\n ),\n transform: (\n /*transform*/\n e[2]\n ),\n editor: (\n /*editor*/\n e[5]\n ),\n $$slots: {\n default: [\n io,\n ({ grab: o }) => ({ 10: o }),\n ({ grab: o }) => o ? 1024 : 0\n ]\n },\n $$scope: { ctx: e }\n }\n }), t.$on(\n \"grab\",\n /*grab_handler*/\n e[7]\n ), t.$on(\n \"change\",\n /*change_handler*/\n e[8]\n ), t.$on(\n \"release\",\n /*release_handler*/\n e[9]\n ), {\n c() {\n pe(t.$$.fragment);\n },\n m(o, i) {\n ue(t, o, i), n = !0;\n },\n p(o, [i]) {\n const s = {};\n i & /*shape*/\n 1 && (s.shape = /*shape*/\n o[0]), i & /*transform*/\n 4 && (s.transform = /*transform*/\n o[2]), i & /*$$scope, geom, handleSize, grab, computedStyle*/\n 3098 && (s.$$scope = { dirty: i, ctx: o }), t.$set(s);\n },\n i(o) {\n n || (D(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n de(t, o);\n }\n };\n}\nfunction ro(e, t, n) {\n let o, i, { shape: s } = t, { computedStyle: r = void 0 } = t, { transform: l } = t, { viewportScale: a = 1 } = t;\n const d = (m, g, p) => {\n const y = m.geometry.bounds;\n let [L, E] = [y.minX, y.minY], [k, b] = [y.maxX, y.maxY];\n const [Y, U] = p;\n if (g === M.SHAPE)\n L += Y, k += Y, E += U, b += U;\n else {\n switch (g) {\n case M.TOP:\n case M.TOP_LEFT:\n case M.TOP_RIGHT: {\n E += U;\n break;\n }\n case M.BOTTOM:\n case M.BOTTOM_LEFT:\n case M.BOTTOM_RIGHT: {\n b += U;\n break;\n }\n }\n switch (g) {\n case M.LEFT:\n case M.TOP_LEFT:\n case M.BOTTOM_LEFT: {\n L += Y;\n break;\n }\n case M.RIGHT:\n case M.TOP_RIGHT:\n case M.BOTTOM_RIGHT: {\n k += Y;\n break;\n }\n }\n }\n const X = Math.min(L, k), _ = Math.min(E, b), w = Math.abs(k - L), A = Math.abs(b - E);\n return {\n ...m,\n geometry: {\n x: X,\n y: _,\n w,\n h: A,\n bounds: {\n minX: X,\n minY: _,\n maxX: X + w,\n maxY: _ + A\n }\n }\n };\n };\n function h(m) {\n Ae.call(this, e, m);\n }\n function c(m) {\n Ae.call(this, e, m);\n }\n function f(m) {\n Ae.call(this, e, m);\n }\n return e.$$set = (m) => {\n \"shape\" in m && n(0, s = m.shape), \"computedStyle\" in m && n(1, r = m.computedStyle), \"transform\" in m && n(2, l = m.transform), \"viewportScale\" in m && n(6, a = m.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*shape*/\n 1 && n(4, o = s.geometry), e.$$.dirty & /*viewportScale*/\n 64 && n(3, i = 10 / a);\n }, [\n s,\n r,\n l,\n i,\n o,\n d,\n a,\n h,\n c,\n f\n ];\n}\nclass lo extends ne {\n constructor(t) {\n super(), te(this, t, ro, so, K, {\n shape: 0,\n computedStyle: 1,\n transform: 2,\n viewportScale: 6\n });\n }\n}\nconst zt = /* @__PURE__ */ new Map([\n [z.RECTANGLE, lo],\n [z.POLYGON, oo]\n]), wt = (e) => zt.get(e.type), ao = (e, t) => zt.set(e, t), M = (e) => `HANDLE-${e}`;\nM.SHAPE = \"SHAPE\";\nM.TOP = \"TOP\";\nM.RIGHT = \"RIGHT\";\nM.BOTTOM = \"BOTTOM\";\nM.LEFT = \"LEFT\";\nM.TOP_LEFT = \"TOP_LEFT\";\nM.TOP_RIGHT = \"TOP_RIGHT\";\nM.BOTTOM_RIGHT = \"BOTTOM_RIGHT\";\nM.BOTTOM_LEFT = \"BOTTOM_LEFT\";\nconst co = (e) => ({}), bt = (e) => ({ grab: (\n /*onGrab*/\n e[0]\n) });\nfunction fo(e) {\n let t, n, o, i;\n const s = (\n /*#slots*/\n e[7].default\n ), r = Qt(\n s,\n e,\n /*$$scope*/\n e[6],\n bt\n );\n return {\n c() {\n t = R(\"g\"), r && r.c(), u(t, \"class\", \"a9s-annotation selected\");\n },\n m(l, a) {\n v(l, t, a), r && r.m(t, null), n = !0, o || (i = [\n W(\n t,\n \"pointerup\",\n /*onRelease*/\n e[2]\n ),\n W(\n t,\n \"pointermove\",\n /*onPointerMove*/\n e[1]\n )\n ], o = !0);\n },\n p(l, [a]) {\n r && r.p && (!n || a & /*$$scope*/\n 64) && Kt(\n r,\n s,\n l,\n /*$$scope*/\n l[6],\n n ? Zt(\n s,\n /*$$scope*/\n l[6],\n a,\n co\n ) : xt(\n /*$$scope*/\n l[6]\n ),\n bt\n );\n },\n i(l) {\n n || (D(r, l), n = !0);\n },\n o(l) {\n N(r, l), n = !1;\n },\n d(l) {\n l && O(t), r && r.d(l), o = !1, le(i);\n }\n };\n}\nfunction uo(e, t, n) {\n let { $$slots: o = {}, $$scope: i } = t;\n const s = Me();\n let { shape: r } = t, { editor: l } = t, { transform: a } = t, d = null, h, c = null;\n const f = (p) => (y) => {\n d = p, h = a.elementToImage(y.offsetX, y.offsetY), c = r, y.target.setPointerCapture(y.pointerId), s(\"grab\");\n }, m = (p) => {\n if (d) {\n const [y, L] = a.elementToImage(p.offsetX, p.offsetY), E = [y - h[0], L - h[1]];\n n(3, r = l(c, d, E)), s(\"change\", r);\n }\n }, g = (p) => {\n p.target.releasePointerCapture(p.pointerId), d = null, c = r, s(\"release\");\n };\n return e.$$set = (p) => {\n \"shape\" in p && n(3, r = p.shape), \"editor\" in p && n(4, l = p.editor), \"transform\" in p && n(5, a = p.transform), \"$$scope\" in p && n(6, i = p.$$scope);\n }, [f, m, g, r, l, a, i, o];\n}\nclass jt extends ne {\n constructor(t) {\n super(), te(this, t, uo, fo, K, { shape: 3, editor: 4, transform: 5 });\n }\n}\nconst ze = (e, t) => {\n const n = typeof t == \"function\" ? t(e) : t;\n if (n) {\n const { fill: o, fillOpacity: i } = n;\n let s = \"\";\n return o && (s += `fill:${o};stroke:${o};`), s += `fill-opacity:${i || \"0.25\"};`, s;\n }\n};\nfunction ho(e, t, n) {\n let o;\n const i = Me();\n let { annotation: s } = t, { editor: r } = t, { style: l = void 0 } = t, { target: a } = t, { transform: d } = t, { viewportScale: h } = t, c;\n return Ce(() => (n(6, c = new r({\n target: a,\n props: {\n shape: s.target.selector,\n computedStyle: o,\n transform: d,\n viewportScale: h\n }\n })), c.$on(\"change\", (f) => {\n c.$$set({ shape: f.detail }), i(\"change\", f.detail);\n }), c.$on(\"grab\", (f) => i(\"grab\", f.detail)), c.$on(\"release\", (f) => i(\"release\", f.detail)), () => {\n c.$destroy();\n })), e.$$set = (f) => {\n \"annotation\" in f && n(0, s = f.annotation), \"editor\" in f && n(1, r = f.editor), \"style\" in f && n(2, l = f.style), \"target\" in f && n(3, a = f.target), \"transform\" in f && n(4, d = f.transform), \"viewportScale\" in f && n(5, h = f.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 5 && (o = ze(s, l)), e.$$.dirty & /*editorComponent, transform*/\n 80 && c && c.$set({ transform: d }), e.$$.dirty & /*editorComponent, viewportScale*/\n 96 && c && c.$set({ viewportScale: h });\n }, [s, r, l, a, d, h, c];\n}\nclass mo extends ne {\n constructor(t) {\n super(), te(this, t, ho, null, K, {\n annotation: 0,\n editor: 1,\n style: 2,\n target: 3,\n transform: 4,\n viewportScale: 5\n });\n }\n}\nfunction go(e, t, n) {\n const o = Me();\n let { drawingMode: i } = t, { target: s } = t, { tool: r } = t, { transform: l } = t, { viewportScale: a } = t, d;\n return Ce(() => {\n const h = s.closest(\"svg\"), c = [], f = (m, g, p) => {\n h.addEventListener(m, g, p), c.push(() => h.removeEventListener(m, g, p));\n };\n return n(5, d = new r({\n target: s,\n props: {\n addEventListener: f,\n drawingMode: i,\n transform: l,\n viewportScale: a\n }\n })), d.$on(\"create\", (m) => o(\"create\", m.detail)), () => {\n c.forEach((m) => m()), d.$destroy();\n };\n }), e.$$set = (h) => {\n \"drawingMode\" in h && n(0, i = h.drawingMode), \"target\" in h && n(1, s = h.target), \"tool\" in h && n(2, r = h.tool), \"transform\" in h && n(3, l = h.transform), \"viewportScale\" in h && n(4, a = h.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*toolComponent, transform*/\n 40 && d && d.$set({ transform: l }), e.$$.dirty & /*toolComponent, viewportScale*/\n 48 && d && d.$set({ viewportScale: a });\n }, [i, s, r, l, a, d];\n}\nclass po extends ne {\n constructor(t) {\n super(), te(this, t, go, null, K, {\n drawingMode: 0,\n target: 1,\n tool: 2,\n transform: 3,\n viewportScale: 4\n });\n }\n}\nfunction Et(e) {\n let t, n;\n return {\n c() {\n t = R(\"rect\"), n = R(\"rect\"), u(t, \"class\", \"a9s-outer\"), u(\n t,\n \"x\",\n /*x*/\n e[2]\n ), u(\n t,\n \"y\",\n /*y*/\n e[3]\n ), u(\n t,\n \"width\",\n /*w*/\n e[4]\n ), u(\n t,\n \"height\",\n /*h*/\n e[5]\n ), u(n, \"class\", \"a9s-inner\"), u(\n n,\n \"x\",\n /*x*/\n e[2]\n ), u(\n n,\n \"y\",\n /*y*/\n e[3]\n ), u(\n n,\n \"width\",\n /*w*/\n e[4]\n ), u(\n n,\n \"height\",\n /*h*/\n e[5]\n );\n },\n m(o, i) {\n v(o, t, i), v(o, n, i);\n },\n p(o, i) {\n i & /*x*/\n 4 && u(\n t,\n \"x\",\n /*x*/\n o[2]\n ), i & /*y*/\n 8 && u(\n t,\n \"y\",\n /*y*/\n o[3]\n ), i & /*w*/\n 16 && u(\n t,\n \"width\",\n /*w*/\n o[4]\n ), i & /*h*/\n 32 && u(\n t,\n \"height\",\n /*h*/\n o[5]\n ), i & /*x*/\n 4 && u(\n n,\n \"x\",\n /*x*/\n o[2]\n ), i & /*y*/\n 8 && u(\n n,\n \"y\",\n /*y*/\n o[3]\n ), i & /*w*/\n 16 && u(\n n,\n \"width\",\n /*w*/\n o[4]\n ), i & /*h*/\n 32 && u(\n n,\n \"height\",\n /*h*/\n o[5]\n );\n },\n d(o) {\n o && O(t), o && O(n);\n }\n };\n}\nfunction _o(e) {\n let t, n = (\n /*origin*/\n e[1] && Et(e)\n );\n return {\n c() {\n t = R(\"g\"), n && n.c(), u(t, \"class\", \"a9s-annotation a9s-rubberband\");\n },\n m(o, i) {\n v(o, t, i), n && n.m(t, null), e[9](t);\n },\n p(o, [i]) {\n /*origin*/\n o[1] ? n ? n.p(o, i) : (n = Et(o), n.c(), n.m(t, null)) : n && (n.d(1), n = null);\n },\n i: G,\n o: G,\n d(o) {\n o && O(t), n && n.d(), e[9](null);\n }\n };\n}\nfunction yo(e, t, n) {\n const o = Me();\n let { addEventListener: i } = t, { drawingMode: s } = t, { transform: r } = t, l, a, d, h, c, f, m, g;\n const p = (b) => {\n a = performance.now(), s === \"drag\" && (n(1, d = r.elementToImage(b.offsetX, b.offsetY)), h = d, n(2, c = d[0]), n(3, f = d[1]), n(4, m = 1), n(5, g = 1));\n }, y = (b) => {\n d && (h = r.elementToImage(b.offsetX, b.offsetY), n(2, c = Math.min(h[0], d[0])), n(3, f = Math.min(h[1], d[1])), n(4, m = Math.abs(h[0] - d[0])), n(5, g = Math.abs(h[1] - d[1])));\n }, L = (b) => {\n const Y = performance.now() - a;\n if (s === \"click\") {\n if (Y > 300)\n return;\n b.stopPropagation(), d ? E() : (n(1, d = r.elementToImage(b.offsetX, b.offsetY)), h = d, n(2, c = d[0]), n(3, f = d[1]), n(4, m = 1), n(5, g = 1));\n } else\n d && (Y > 300 || m * g > 100 ? (b.stopPropagation(), E()) : (n(1, d = null), h = null));\n }, E = () => {\n if (m * g > 15) {\n const b = {\n type: z.RECTANGLE,\n geometry: {\n bounds: {\n minX: c,\n minY: f,\n maxX: c + m,\n maxY: f + g\n },\n x: c,\n y: f,\n w: m,\n h: g\n }\n };\n o(\"create\", b);\n }\n n(1, d = null), h = null;\n };\n Ce(() => {\n i(\"pointerdown\", p), i(\"pointermove\", y), i(\"pointerup\", L, !0);\n });\n function k(b) {\n Se[b ? \"unshift\" : \"push\"](() => {\n l = b, n(0, l);\n });\n }\n return e.$$set = (b) => {\n \"addEventListener\" in b && n(6, i = b.addEventListener), \"drawingMode\" in b && n(7, s = b.drawingMode), \"transform\" in b && n(8, r = b.transform);\n }, [\n l,\n d,\n c,\n f,\n m,\n g,\n i,\n s,\n r,\n k\n ];\n}\nclass wo extends ne {\n constructor(t) {\n super(), te(this, t, yo, _o, K, {\n addEventListener: 6,\n drawingMode: 7,\n transform: 8\n });\n }\n}\nconst At = (e, t) => {\n const n = Math.abs(t[0] - e[0]), o = Math.abs(t[1] - e[1]);\n return Math.sqrt(Math.pow(n, 2) + Math.pow(o, 2));\n}, bo = (e, t) => {\n const { naturalWidth: n, naturalHeight: o } = e;\n if (!n && !o) {\n const { width: i, height: s } = e;\n t.setAttribute(\"viewBox\", `0 0 ${i} ${s}`), e.addEventListener(\"load\", (r) => {\n const l = r.target;\n t.setAttribute(\"viewBox\", `0 0 ${l.naturalWidth} ${l.naturalHeight}`);\n });\n } else\n t.setAttribute(\"viewBox\", `0 0 ${n} ${o}`);\n}, Eo = (e, t) => {\n bo(e, t);\n const { subscribe: n, set: o } = Fe(1);\n let i;\n return window.ResizeObserver && (i = new ResizeObserver(() => {\n const r = t.getBoundingClientRect(), { width: l, height: a } = t.viewBox.baseVal, d = Math.max(\n r.width / l,\n r.height / a\n );\n o(d);\n }), i.observe(t.parentElement)), { destroy: () => {\n i && i.disconnect();\n }, subscribe: n };\n}, _i = \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\nfunction Qe(e) {\n const t = e.slice(), n = (\n /*isClosable*/\n (t[3] ? (\n /*points*/\n t[1]\n ) : [\n .../*points*/\n t[1],\n /*cursor*/\n t[2]\n ]).map((o) => o.join(\",\")).join(\" \")\n );\n return t[17] = n, t;\n}\nfunction Tt(e) {\n let t, n, o, i, s, r = (\n /*isClosable*/\n e[3] && St(e)\n );\n return {\n c() {\n t = R(\"polygon\"), o = R(\"polygon\"), r && r.c(), s = ae(), u(t, \"class\", \"a9s-outer\"), u(t, \"points\", n = /*coords*/\n e[17]), u(o, \"class\", \"a9s-inner\"), u(o, \"points\", i = /*coords*/\n e[17]);\n },\n m(l, a) {\n v(l, t, a), v(l, o, a), r && r.m(l, a), v(l, s, a);\n },\n p(l, a) {\n a & /*isClosable, points, cursor*/\n 14 && n !== (n = /*coords*/\n l[17]) && u(t, \"points\", n), a & /*isClosable, points, cursor*/\n 14 && i !== (i = /*coords*/\n l[17]) && u(o, \"points\", i), /*isClosable*/\n l[3] ? r ? r.p(l, a) : (r = St(l), r.c(), r.m(s.parentNode, s)) : r && (r.d(1), r = null);\n },\n d(l) {\n l && O(t), l && O(o), r && r.d(l), l && O(s);\n }\n };\n}\nfunction St(e) {\n let t, n, o;\n return {\n c() {\n t = R(\"rect\"), u(t, \"class\", \"a9s-corner-handle\"), u(t, \"x\", n = /*points*/\n e[1][0][0] - /*handleSize*/\n e[4] / 2), u(t, \"y\", o = /*points*/\n e[1][0][1] - /*handleSize*/\n e[4] / 2), u(\n t,\n \"height\",\n /*handleSize*/\n e[4]\n ), u(\n t,\n \"width\",\n /*handleSize*/\n e[4]\n );\n },\n m(i, s) {\n v(i, t, s);\n },\n p(i, s) {\n s & /*points, handleSize*/\n 18 && n !== (n = /*points*/\n i[1][0][0] - /*handleSize*/\n i[4] / 2) && u(t, \"x\", n), s & /*points, handleSize*/\n 18 && o !== (o = /*points*/\n i[1][0][1] - /*handleSize*/\n i[4] / 2) && u(t, \"y\", o), s & /*handleSize*/\n 16 && u(\n t,\n \"height\",\n /*handleSize*/\n i[4]\n ), s & /*handleSize*/\n 16 && u(\n t,\n \"width\",\n /*handleSize*/\n i[4]\n );\n },\n d(i) {\n i && O(t);\n }\n };\n}\nfunction Ao(e) {\n let t, n = (\n /*cursor*/\n e[2] && Tt(Qe(e))\n );\n return {\n c() {\n t = R(\"g\"), n && n.c(), u(t, \"class\", \"a9s-annotation a9s-rubberband\");\n },\n m(o, i) {\n v(o, t, i), n && n.m(t, null), e[9](t);\n },\n p(o, [i]) {\n /*cursor*/\n o[2] ? n ? n.p(Qe(o), i) : (n = Tt(Qe(o)), n.c(), n.m(t, null)) : n && (n.d(1), n = null);\n },\n i: G,\n o: G,\n d(o) {\n o && O(t), n && n.d(), e[9](null);\n }\n };\n}\nconst To = 20;\nfunction So(e, t, n) {\n let o;\n const i = Me();\n let { addEventListener: s } = t, { drawingMode: r } = t, { transform: l } = t, { viewportScale: a = 1 } = t, d, h, c = [], f = null, m = !1;\n const g = (b) => {\n if (h = performance.now(), r === \"drag\" && c.length === 0) {\n const Y = l.elementToImage(b.offsetX, b.offsetY);\n c.push(Y), n(2, f = Y);\n }\n }, p = (b) => {\n if (c.length > 0 && (n(2, f = l.elementToImage(b.offsetX, b.offsetY)), c.length > 2)) {\n const Y = At(f, c[0]) * a;\n n(3, m = Y < To);\n }\n }, y = (b) => {\n const Y = performance.now() - h;\n if (r === \"click\") {\n if (Y > 300)\n return;\n if (b.stopPropagation(), m)\n E();\n else if (c.length === 0) {\n const U = l.elementToImage(b.offsetX, b.offsetY);\n c.push(U), n(2, f = U);\n } else\n c.push(f);\n } else {\n if (c.length === 1 && At(c[0], f) <= 4) {\n n(1, c = []), n(2, f = null);\n return;\n }\n b.stopImmediatePropagation(), m ? E() : c.push(f);\n }\n }, L = () => {\n console.log(\"dblclick\");\n const b = [...c, f], Y = {\n type: z.POLYGON,\n geometry: { bounds: He(b), points: b }\n };\n n(1, c = []), n(2, f = null), i(\"create\", Y);\n }, E = () => {\n const b = {\n type: z.POLYGON,\n geometry: {\n bounds: He(c),\n points: [...c]\n }\n };\n n(1, c = []), n(2, f = null), i(\"create\", b);\n };\n Ce(() => {\n s(\"pointerdown\", g, !0), s(\"pointermove\", p), s(\"pointerup\", y, !0), s(\"dblclick\", L, !0);\n });\n function k(b) {\n Se[b ? \"unshift\" : \"push\"](() => {\n d = b, n(0, d);\n });\n }\n return e.$$set = (b) => {\n \"addEventListener\" in b && n(5, s = b.addEventListener), \"drawingMode\" in b && n(6, r = b.drawingMode), \"transform\" in b && n(7, l = b.transform), \"viewportScale\" in b && n(8, a = b.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*viewportScale*/\n 256 && n(4, o = 10 / a);\n }, [\n d,\n c,\n f,\n m,\n o,\n s,\n r,\n l,\n a,\n k\n ];\n}\nclass Mo extends ne {\n constructor(t) {\n super(), te(this, t, So, Ao, K, {\n addEventListener: 5,\n drawingMode: 6,\n transform: 7,\n viewportScale: 8\n });\n }\n}\nconst st = /* @__PURE__ */ new Map([\n [\"rectangle\", { tool: wo }],\n [\"polygon\", { tool: Mo }]\n]), Lo = () => [...st.keys()], Vt = (e) => st.get(e), Oo = (e, t, n) => st.set(e, { tool: t, opts: n });\nfunction vo(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"ellipse\"), i = R(\"ellipse\"), u(n, \"class\", \"a9s-outer\"), u(n, \"style\", o = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), u(\n n,\n \"cx\",\n /*cx*/\n e[2]\n ), u(\n n,\n \"cy\",\n /*cy*/\n e[3]\n ), u(\n n,\n \"rx\",\n /*rx*/\n e[4]\n ), u(\n n,\n \"ry\",\n /*ry*/\n e[5]\n ), u(i, \"class\", \"a9s-inner\"), u(\n i,\n \"style\",\n /*computedStyle*/\n e[1]\n ), u(\n i,\n \"cx\",\n /*cx*/\n e[2]\n ), u(\n i,\n \"cy\",\n /*cy*/\n e[3]\n ), u(\n i,\n \"rx\",\n /*rx*/\n e[4]\n ), u(\n i,\n \"ry\",\n /*ry*/\n e[5]\n ), u(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, l) {\n v(r, t, l), fe(t, n), fe(t, i);\n },\n p(r, [l]) {\n l & /*computedStyle*/\n 2 && o !== (o = /*computedStyle*/\n r[1] ? \"display:none;\" : void 0) && u(n, \"style\", o), l & /*computedStyle*/\n 2 && u(\n i,\n \"style\",\n /*computedStyle*/\n r[1]\n ), l & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && u(t, \"data-id\", s);\n },\n i: G,\n o: G,\n d(r) {\n r && O(t);\n }\n };\n}\nfunction Bo(e, t, n) {\n let o, { annotation: i } = t, { geom: s } = t, { style: r = void 0 } = t;\n const { cx: l, cy: a, rx: d, ry: h } = s;\n return e.$$set = (c) => {\n \"annotation\" in c && n(0, i = c.annotation), \"geom\" in c && n(6, s = c.geom), \"style\" in c && n(7, r = c.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 129 && n(1, o = ze(i, r));\n }, [i, o, l, a, d, h, s, r];\n}\nclass ko extends ne {\n constructor(t) {\n super(), te(this, t, Bo, vo, K, { annotation: 0, geom: 6, style: 7 });\n }\n}\nfunction Io(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"polygon\"), i = R(\"polygon\"), u(n, \"class\", \"a9s-outer\"), u(n, \"style\", o = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), u(\n n,\n \"points\",\n /*points*/\n e[2].map(Co).join(\" \")\n ), u(i, \"class\", \"a9s-inner\"), u(\n i,\n \"style\",\n /*computedStyle*/\n e[1]\n ), u(\n i,\n \"points\",\n /*points*/\n e[2].map(Po).join(\" \")\n ), u(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, l) {\n v(r, t, l), fe(t, n), fe(t, i);\n },\n p(r, [l]) {\n l & /*computedStyle*/\n 2 && o !== (o = /*computedStyle*/\n r[1] ? \"display:none;\" : void 0) && u(n, \"style\", o), l & /*computedStyle*/\n 2 && u(\n i,\n \"style\",\n /*computedStyle*/\n r[1]\n ), l & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && u(t, \"data-id\", s);\n },\n i: G,\n o: G,\n d(r) {\n r && O(t);\n }\n };\n}\nconst Co = (e) => e.join(\",\"), Po = (e) => e.join(\",\");\nfunction Yo(e, t, n) {\n let o, { annotation: i } = t, { geom: s } = t, { style: r = void 0 } = t;\n const { points: l } = s;\n return e.$$set = (a) => {\n \"annotation\" in a && n(0, i = a.annotation), \"geom\" in a && n(3, s = a.geom), \"style\" in a && n(4, r = a.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 17 && n(1, o = ze(i, r));\n }, [i, o, l, s, r];\n}\nclass Ro extends ne {\n constructor(t) {\n super(), te(this, t, Yo, Io, K, { annotation: 0, geom: 3, style: 4 });\n }\n}\nfunction Xo(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"rect\"), i = R(\"rect\"), u(n, \"class\", \"a9s-outer\"), u(n, \"style\", o = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), u(\n n,\n \"x\",\n /*x*/\n e[2]\n ), u(\n n,\n \"y\",\n /*y*/\n e[3]\n ), u(\n n,\n \"width\",\n /*w*/\n e[4]\n ), u(\n n,\n \"height\",\n /*h*/\n e[5]\n ), u(i, \"class\", \"a9s-inner\"), u(\n i,\n \"style\",\n /*computedStyle*/\n e[1]\n ), u(\n i,\n \"x\",\n /*x*/\n e[2]\n ), u(\n i,\n \"y\",\n /*y*/\n e[3]\n ), u(\n i,\n \"width\",\n /*w*/\n e[4]\n ), u(\n i,\n \"height\",\n /*h*/\n e[5]\n ), u(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, l) {\n v(r, t, l), fe(t, n), fe(t, i);\n },\n p(r, [l]) {\n l & /*computedStyle*/\n 2 && o !== (o = /*computedStyle*/\n r[1] ? \"display:none;\" : void 0) && u(n, \"style\", o), l & /*computedStyle*/\n 2 && u(\n i,\n \"style\",\n /*computedStyle*/\n r[1]\n ), l & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && u(t, \"data-id\", s);\n },\n i: G,\n o: G,\n d(r) {\n r && O(t);\n }\n };\n}\nfunction Do(e, t, n) {\n let o, { annotation: i } = t, { geom: s } = t, { style: r = void 0 } = t;\n const { x: l, y: a, w: d, h } = s;\n return e.$$set = (c) => {\n \"annotation\" in c && n(0, i = c.annotation), \"geom\" in c && n(6, s = c.geom), \"style\" in c && n(7, r = c.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 129 && n(1, o = ze(i, r));\n }, [i, o, l, a, d, h, s, r];\n}\nclass No extends ne {\n constructor(t) {\n super(), te(this, t, Do, Xo, K, { annotation: 0, geom: 6, style: 7 });\n }\n}\nconst yi = {\n elementToImage: (e, t) => [e, t]\n}, Uo = (e) => ({\n elementToImage: (t, n) => {\n const o = e.createSVGPoint();\n o.x = t, o.y = n;\n const { x: i, y: s } = o.matrixTransform(e.getCTM().inverse());\n return [i, s];\n }\n}), Go = 250, Ho = (e, t) => {\n const n = Me();\n let o;\n return { onPointerDown: () => o = performance.now(), onPointerUp: (r) => {\n if (performance.now() - o < Go) {\n const { x: a, y: d } = Fo(r, e), h = t.getAt(a, d);\n h ? n(\"click\", { originalEvent: r, annotation: h }) : n(\"click\", { originalEvent: r });\n }\n } };\n}, Fo = (e, t) => {\n const n = t.createSVGPoint(), o = t.getBoundingClientRect(), i = e.clientX - o.x, s = e.clientY - o.y, { left: r, top: l } = t.getBoundingClientRect();\n return n.x = i + r, n.y = s + l, n.matrixTransform(t.getScreenCTM().inverse());\n};\nfunction Mt(e, t, n) {\n const o = e.slice();\n return o[28] = t[n], o;\n}\nfunction Lt(e, t, n) {\n const o = e.slice();\n return o[31] = t[n], o;\n}\nfunction Ze(e) {\n const t = e.slice(), n = (\n /*annotation*/\n t[31].target.selector\n );\n return t[34] = n, t;\n}\nfunction Ot(e) {\n let t = (\n /*annotation*/\n e[31].id\n ), n, o, i = vt(e);\n return {\n c() {\n i.c(), n = ae();\n },\n m(s, r) {\n i.m(s, r), v(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*$store*/\n 4096 && K(t, t = /*annotation*/\n s[31].id) ? (se(), N(i, 1, 1, G), re(), i = vt(s), i.c(), D(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (D(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n s && O(n), i.d(s);\n }\n };\n}\nfunction zo(e) {\n let t, n;\n return t = new Ro({\n props: {\n annotation: (\n /*annotation*/\n e[31]\n ),\n geom: (\n /*selector*/\n e[34].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n pe(t.$$.fragment);\n },\n m(o, i) {\n ue(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 4096 && (s.annotation = /*annotation*/\n o[31]), i[0] & /*$store*/\n 4096 && (s.geom = /*selector*/\n o[34].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (D(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n de(t, o);\n }\n };\n}\nfunction jo(e) {\n let t, n;\n return t = new No({\n props: {\n annotation: (\n /*annotation*/\n e[31]\n ),\n geom: (\n /*selector*/\n e[34].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n pe(t.$$.fragment);\n },\n m(o, i) {\n ue(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 4096 && (s.annotation = /*annotation*/\n o[31]), i[0] & /*$store*/\n 4096 && (s.geom = /*selector*/\n o[34].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (D(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n de(t, o);\n }\n };\n}\nfunction Vo(e) {\n let t, n;\n return t = new ko({\n props: {\n annotation: (\n /*annotation*/\n e[31]\n ),\n geom: (\n /*selector*/\n e[34].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n pe(t.$$.fragment);\n },\n m(o, i) {\n ue(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 4096 && (s.annotation = /*annotation*/\n o[31]), i[0] & /*$store*/\n 4096 && (s.geom = /*selector*/\n o[34].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (D(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n de(t, o);\n }\n };\n}\nfunction vt(e) {\n let t, n, o, i;\n const s = [Vo, jo, zo], r = [];\n function l(a, d) {\n return (\n /*selector*/\n a[34].type === z.ELLIPSE ? 0 : (\n /*selector*/\n a[34].type === z.RECTANGLE ? 1 : (\n /*selector*/\n a[34].type === z.POLYGON ? 2 : -1\n )\n )\n );\n }\n return ~(t = l(e)) && (n = r[t] = s[t](e)), {\n c() {\n n && n.c(), o = ae();\n },\n m(a, d) {\n ~t && r[t].m(a, d), v(a, o, d), i = !0;\n },\n p(a, d) {\n let h = t;\n t = l(a), t === h ? ~t && r[t].p(a, d) : (n && (se(), N(r[h], 1, 1, () => {\n r[h] = null;\n }), re()), ~t ? (n = r[t], n ? n.p(a, d) : (n = r[t] = s[t](a), n.c()), D(n, 1), n.m(o.parentNode, o)) : n = null);\n },\n i(a) {\n i || (D(n), i = !0);\n },\n o(a) {\n N(n), i = !1;\n },\n d(a) {\n ~t && r[t].d(a), a && O(o);\n }\n };\n}\nfunction Bt(e) {\n let t = !/*isEditable*/\n e[7](\n /*annotation*/\n e[31]\n ), n, o, i = t && Ot(Ze(e));\n return {\n c() {\n i && i.c(), n = ae();\n },\n m(s, r) {\n i && i.m(s, r), v(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*isEditable, $store*/\n 4224 && (t = !/*isEditable*/\n s[7](\n /*annotation*/\n s[31]\n )), t ? i ? (i.p(Ze(s), r), r[0] & /*isEditable, $store*/\n 4224 && D(i, 1)) : (i = Ot(Ze(s)), i.c(), D(i, 1), i.m(n.parentNode, n)) : i && (se(), N(i, 1, 1, () => {\n i = null;\n }), re());\n },\n i(s) {\n o || (D(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n i && i.d(s), s && O(n);\n }\n };\n}\nfunction kt(e) {\n let t, n, o, i;\n const s = [Wo, qo], r = [];\n function l(a, d) {\n return (\n /*editableAnnotations*/\n a[6] ? 0 : (\n /*tool*/\n a[2] && /*drawingEnabled*/\n a[0] ? 1 : -1\n )\n );\n }\n return ~(t = l(e)) && (n = r[t] = s[t](e)), {\n c() {\n n && n.c(), o = ae();\n },\n m(a, d) {\n ~t && r[t].m(a, d), v(a, o, d), i = !0;\n },\n p(a, d) {\n let h = t;\n t = l(a), t === h ? ~t && r[t].p(a, d) : (n && (se(), N(r[h], 1, 1, () => {\n r[h] = null;\n }), re()), ~t ? (n = r[t], n ? n.p(a, d) : (n = r[t] = s[t](a), n.c()), D(n, 1), n.m(o.parentNode, o)) : n = null);\n },\n i(a) {\n i || (D(n), i = !0);\n },\n o(a) {\n N(n), i = !1;\n },\n d(a) {\n ~t && r[t].d(a), a && O(o);\n }\n };\n}\nfunction qo(e) {\n let t = (\n /*tool*/\n e[2]\n ), n, o, i = It(e);\n return {\n c() {\n i.c(), n = ae();\n },\n m(s, r) {\n i.m(s, r), v(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*tool*/\n 4 && K(t, t = /*tool*/\n s[2]) ? (se(), N(i, 1, 1, G), re(), i = It(s), i.c(), D(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (D(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n s && O(n), i.d(s);\n }\n };\n}\nfunction Wo(e) {\n let t, n, o = (\n /*editableAnnotations*/\n e[6]\n ), i = [];\n for (let r = 0; r < o.length; r += 1)\n i[r] = Pt(Mt(e, o, r));\n const s = (r) => N(i[r], 1, 1, () => {\n i[r] = null;\n });\n return {\n c() {\n for (let r = 0; r < i.length; r += 1)\n i[r].c();\n t = ae();\n },\n m(r, l) {\n for (let a = 0; a < i.length; a += 1)\n i[a] && i[a].m(r, l);\n v(r, t, l), n = !0;\n },\n p(r, l) {\n if (l[0] & /*editableAnnotations, drawingEl, style, transform, $scale, onChangeSelected*/\n 140370) {\n o = /*editableAnnotations*/\n r[6];\n let a;\n for (a = 0; a < o.length; a += 1) {\n const d = Mt(r, o, a);\n i[a] ? (i[a].p(d, l), D(i[a], 1)) : (i[a] = Pt(d), i[a].c(), D(i[a], 1), i[a].m(t.parentNode, t));\n }\n for (se(), a = o.length; a < i.length; a += 1)\n s(a);\n re();\n }\n },\n i(r) {\n if (!n) {\n for (let l = 0; l < o.length; l += 1)\n D(i[l]);\n n = !0;\n }\n },\n o(r) {\n i = i.filter(Boolean);\n for (let l = 0; l < i.length; l += 1)\n N(i[l]);\n n = !1;\n },\n d(r) {\n tt(i, r), r && O(t);\n }\n };\n}\nfunction It(e) {\n let t, n;\n return t = new po({\n props: {\n target: (\n /*drawingEl*/\n e[4]\n ),\n tool: (\n /*tool*/\n e[2]\n ),\n drawingMode: (\n /*drawingMode*/\n e[11]\n ),\n transform: (\n /*transform*/\n e[10]\n ),\n viewportScale: (\n /*$scale*/\n e[13]\n )\n }\n }), t.$on(\n \"create\",\n /*onSelectionCreated*/\n e[16]\n ), {\n c() {\n pe(t.$$.fragment);\n },\n m(o, i) {\n ue(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*drawingEl*/\n 16 && (s.target = /*drawingEl*/\n o[4]), i[0] & /*tool*/\n 4 && (s.tool = /*tool*/\n o[2]), i[0] & /*drawingMode*/\n 2048 && (s.drawingMode = /*drawingMode*/\n o[11]), i[0] & /*transform*/\n 1024 && (s.transform = /*transform*/\n o[10]), i[0] & /*$scale*/\n 8192 && (s.viewportScale = /*$scale*/\n o[13]), t.$set(s);\n },\n i(o) {\n n || (D(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n de(t, o);\n }\n };\n}\nfunction Ct(e) {\n let t, n;\n return t = new mo({\n props: {\n target: (\n /*drawingEl*/\n e[4]\n ),\n editor: wt(\n /*editable*/\n e[28].target.selector\n ),\n annotation: (\n /*editable*/\n e[28]\n ),\n style: (\n /*style*/\n e[1]\n ),\n transform: (\n /*transform*/\n e[10]\n ),\n viewportScale: (\n /*$scale*/\n e[13]\n )\n }\n }), t.$on(\"change\", function() {\n j(\n /*onChangeSelected*/\n e[17](\n /*editable*/\n e[28]\n )\n ) && e[17](\n /*editable*/\n e[28]\n ).apply(this, arguments);\n }), {\n c() {\n pe(t.$$.fragment);\n },\n m(o, i) {\n ue(t, o, i), n = !0;\n },\n p(o, i) {\n e = o;\n const s = {};\n i[0] & /*drawingEl*/\n 16 && (s.target = /*drawingEl*/\n e[4]), i[0] & /*editableAnnotations*/\n 64 && (s.editor = wt(\n /*editable*/\n e[28].target.selector\n )), i[0] & /*editableAnnotations*/\n 64 && (s.annotation = /*editable*/\n e[28]), i[0] & /*style*/\n 2 && (s.style = /*style*/\n e[1]), i[0] & /*transform*/\n 1024 && (s.transform = /*transform*/\n e[10]), i[0] & /*$scale*/\n 8192 && (s.viewportScale = /*$scale*/\n e[13]), t.$set(s);\n },\n i(o) {\n n || (D(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n de(t, o);\n }\n };\n}\nfunction Pt(e) {\n let t = (\n /*editable*/\n e[28].id\n ), n, o, i = Ct(e);\n return {\n c() {\n i.c(), n = ae();\n },\n m(s, r) {\n i.m(s, r), v(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*editableAnnotations*/\n 64 && K(t, t = /*editable*/\n s[28].id) ? (se(), N(i, 1, 1, G), re(), i = Ct(s), i.c(), D(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (D(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n s && O(n), i.d(s);\n }\n };\n}\nfunction Jo(e) {\n let t, n, o, i, s, r, l = (\n /*$store*/\n e[12]\n ), a = [];\n for (let c = 0; c < l.length; c += 1)\n a[c] = Bt(Lt(e, l, c));\n const d = (c) => N(a[c], 1, 1, () => {\n a[c] = null;\n });\n let h = (\n /*drawingEl*/\n e[4] && kt(e)\n );\n return {\n c() {\n t = R(\"svg\"), n = R(\"g\");\n for (let c = 0; c < a.length; c += 1)\n a[c].c();\n o = R(\"g\"), h && h.c(), u(o, \"class\", \"drawing\"), u(t, \"class\", \"a9s-annotationlayer\"), ct(\n t,\n \"drawing\",\n /*tool*/\n e[2]\n );\n },\n m(c, f) {\n v(c, t, f), fe(t, n);\n for (let m = 0; m < a.length; m += 1)\n a[m] && a[m].m(n, null);\n fe(t, o), h && h.m(o, null), e[24](o), e[25](t), i = !0, s || (r = [\n W(t, \"pointerup\", function() {\n j(\n /*onPointerUp*/\n e[8]\n ) && e[8].apply(this, arguments);\n }),\n W(t, \"pointerdown\", function() {\n j(\n /*onPointerDown*/\n e[9]\n ) && e[9].apply(this, arguments);\n })\n ], s = !0);\n },\n p(c, f) {\n if (e = c, f[0] & /*$store, style, isEditable*/\n 4226) {\n l = /*$store*/\n e[12];\n let m;\n for (m = 0; m < l.length; m += 1) {\n const g = Lt(e, l, m);\n a[m] ? (a[m].p(g, f), D(a[m], 1)) : (a[m] = Bt(g), a[m].c(), D(a[m], 1), a[m].m(n, null));\n }\n for (se(), m = l.length; m < a.length; m += 1)\n d(m);\n re();\n }\n /*drawingEl*/\n e[4] ? h ? (h.p(e, f), f[0] & /*drawingEl*/\n 16 && D(h, 1)) : (h = kt(e), h.c(), D(h, 1), h.m(o, null)) : h && (se(), N(h, 1, 1, () => {\n h = null;\n }), re()), (!i || f[0] & /*tool*/\n 4) && ct(\n t,\n \"drawing\",\n /*tool*/\n e[2]\n );\n },\n i(c) {\n if (!i) {\n for (let f = 0; f < l.length; f += 1)\n D(a[f]);\n D(h), i = !0;\n }\n },\n o(c) {\n a = a.filter(Boolean);\n for (let f = 0; f < a.length; f += 1)\n N(a[f]);\n N(h), i = !1;\n },\n d(c) {\n c && O(t), tt(a, c), h && h.d(), e[24](null), e[25](null), s = !1, le(r);\n }\n };\n}\nfunction Qo(e, t, n) {\n let o, i, s, r, l, a, d, h, c = G, f = () => (c(), c = Xt(w, (I) => n(13, h = I)), w);\n e.$$.on_destroy.push(() => c());\n let { drawingEnabled: m } = t, { image: g } = t, { preferredDrawingMode: p } = t, { state: y } = t, { style: L = void 0 } = t, { tool: E, opts: k } = Vt(\"rectangle\"), { tool: b = E, opts: Y = k } = t, { user: U } = t, X, _, w;\n Ce(() => f(n(5, w = Eo(g, _))));\n const { selection: A, store: S } = y;\n at(e, A, (I) => n(23, a = I)), at(e, S, (I) => n(12, d = I));\n let B = null, P = null;\n const Q = (I) => {\n S.unobserve(B);\n const J = I.filter(({ editable: H }) => H).map(({ id: H }) => H);\n J.length > 0 ? (n(6, P = J.map((H) => S.getAnnotation(H))), B = (H) => {\n const { updated: V } = H.changes;\n n(6, P = V.map((ie) => ie.newValue));\n }, S.observe(B, { annotations: J })) : n(6, P = null);\n }, ce = (I) => {\n const J = it(), H = {\n id: J,\n bodies: [],\n target: {\n annotation: J,\n selector: I.detail,\n creator: U,\n created: /* @__PURE__ */ new Date()\n }\n };\n S.addAnnotation(H), A.setSelected(H.id);\n }, oe = (I) => (J) => {\n var he;\n const { target: H } = I, V = 10 * 60 * 1e3, ie = ((he = H.creator) == null ? void 0 : he.id) !== U.id || !H.created || (/* @__PURE__ */ new Date()).getTime() - H.created.getTime() > V;\n S.updateTarget({\n ...H,\n selector: J.detail,\n created: ie ? H.created : /* @__PURE__ */ new Date(),\n updated: ie ? /* @__PURE__ */ new Date() : null,\n updatedBy: ie ? U : null\n });\n };\n function Le(I) {\n Se[I ? \"unshift\" : \"push\"](() => {\n X = I, n(4, X);\n });\n }\n function Z(I) {\n Se[I ? \"unshift\" : \"push\"](() => {\n _ = I, n(3, _);\n });\n }\n return e.$$set = (I) => {\n \"drawingEnabled\" in I && n(0, m = I.drawingEnabled), \"image\" in I && n(18, g = I.image), \"preferredDrawingMode\" in I && n(19, p = I.preferredDrawingMode), \"state\" in I && n(20, y = I.state), \"style\" in I && n(1, L = I.style), \"tool\" in I && n(2, b = I.tool), \"opts\" in I && n(21, Y = I.opts), \"user\" in I && n(22, U = I.user);\n }, e.$$.update = () => {\n e.$$.dirty[0] & /*opts, preferredDrawingMode*/\n 2621440 && n(11, o = (Y == null ? void 0 : Y.drawingMode) || p), e.$$.dirty[0] & /*svgEl*/\n 8 && n(10, i = Uo(_)), e.$$.dirty[0] & /*svgEl*/\n 8 && n(9, { onPointerDown: s, onPointerUp: r } = Ho(_, S), s, (n(8, r), n(3, _))), e.$$.dirty[0] & /*$selection*/\n 8388608 && n(7, l = (I) => a.selected.find((J) => J.id === I.id && J.editable)), e.$$.dirty[0] & /*$selection*/\n 8388608 && Q(a.selected);\n }, [\n m,\n L,\n b,\n _,\n X,\n w,\n P,\n l,\n r,\n s,\n i,\n o,\n d,\n h,\n A,\n S,\n ce,\n oe,\n g,\n p,\n y,\n Y,\n U,\n a,\n Le,\n Z\n ];\n}\nclass Zo extends ne {\n constructor(t) {\n super(), te(\n this,\n t,\n Qo,\n Jo,\n K,\n {\n drawingEnabled: 0,\n image: 18,\n preferredDrawingMode: 19,\n state: 20,\n style: 1,\n tool: 2,\n opts: 21,\n user: 22\n },\n null,\n [-1, -1]\n );\n }\n}\nfunction Ko(e, t, n, o, i) {\n qt(e, t, n || 0, o || e.length - 1, i || xo);\n}\nfunction qt(e, t, n, o, i) {\n for (; o > n; ) {\n if (o - n > 600) {\n var s = o - n + 1, r = t - n + 1, l = Math.log(s), a = 0.5 * Math.exp(2 * l / 3), d = 0.5 * Math.sqrt(l * a * (s - a) / s) * (r - s / 2 < 0 ? -1 : 1), h = Math.max(n, Math.floor(t - r * a / s + d)), c = Math.min(o, Math.floor(t + (s - r) * a / s + d));\n qt(e, t, h, c, i);\n }\n var f = e[t], m = n, g = o;\n for (Oe(e, n, t), i(e[o], f) > 0 && Oe(e, n, o); m < g; ) {\n for (Oe(e, m, g), m++, g--; i(e[m], f) < 0; )\n m++;\n for (; i(e[g], f) > 0; )\n g--;\n }\n i(e[n], f) === 0 ? Oe(e, n, g) : (g++, Oe(e, g, o)), g <= t && (n = g + 1), t <= g && (o = g - 1);\n }\n}\nfunction Oe(e, t, n) {\n var o = e[t];\n e[t] = e[n], e[n] = o;\n}\nfunction xo(e, t) {\n return e < t ? -1 : e > t ? 1 : 0;\n}\nclass $o {\n constructor(t = 9) {\n this._maxEntries = Math.max(4, t), this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4)), this.clear();\n }\n all() {\n return this._all(this.data, []);\n }\n search(t) {\n let n = this.data;\n const o = [];\n if (!Ue(t, n))\n return o;\n const i = this.toBBox, s = [];\n for (; n; ) {\n for (let r = 0; r < n.children.length; r++) {\n const l = n.children[r], a = n.leaf ? i(l) : l;\n Ue(t, a) && (n.leaf ? o.push(l) : xe(t, a) ? this._all(l, o) : s.push(l));\n }\n n = s.pop();\n }\n return o;\n }\n collides(t) {\n let n = this.data;\n if (!Ue(t, n))\n return !1;\n const o = [];\n for (; n; ) {\n for (let i = 0; i < n.children.length; i++) {\n const s = n.children[i], r = n.leaf ? this.toBBox(s) : s;\n if (Ue(t, r)) {\n if (n.leaf || xe(t, r))\n return !0;\n o.push(s);\n }\n }\n n = o.pop();\n }\n return !1;\n }\n load(t) {\n if (!(t && t.length))\n return this;\n if (t.length < this._minEntries) {\n for (let o = 0; o < t.length; o++)\n this.insert(t[o]);\n return this;\n }\n let n = this._build(t.slice(), 0, t.length - 1, 0);\n if (!this.data.children.length)\n this.data = n;\n else if (this.data.height === n.height)\n this._splitRoot(this.data, n);\n else {\n if (this.data.height < n.height) {\n const o = this.data;\n this.data = n, n = o;\n }\n this._insert(n, this.data.height - n.height - 1, !0);\n }\n return this;\n }\n insert(t) {\n return t && this._insert(t, this.data.height - 1), this;\n }\n clear() {\n return this.data = Ee([]), this;\n }\n remove(t, n) {\n if (!t)\n return this;\n let o = this.data;\n const i = this.toBBox(t), s = [], r = [];\n let l, a, d;\n for (; o || s.length; ) {\n if (o || (o = s.pop(), a = s[s.length - 1], l = r.pop(), d = !0), o.leaf) {\n const h = ei(t, o.children, n);\n if (h !== -1)\n return o.children.splice(h, 1), s.push(o), this._condense(s), this;\n }\n !d && !o.leaf && xe(o, i) ? (s.push(o), r.push(l), l = 0, a = o, o = o.children[0]) : a ? (l++, o = a.children[l], d = !1) : o = null;\n }\n return this;\n }\n toBBox(t) {\n return t;\n }\n compareMinX(t, n) {\n return t.minX - n.minX;\n }\n compareMinY(t, n) {\n return t.minY - n.minY;\n }\n toJSON() {\n return this.data;\n }\n fromJSON(t) {\n return this.data = t, this;\n }\n _all(t, n) {\n const o = [];\n for (; t; )\n t.leaf ? n.push(...t.children) : o.push(...t.children), t = o.pop();\n return n;\n }\n _build(t, n, o, i) {\n const s = o - n + 1;\n let r = this._maxEntries, l;\n if (s <= r)\n return l = Ee(t.slice(n, o + 1)), we(l, this.toBBox), l;\n i || (i = Math.ceil(Math.log(s) / Math.log(r)), r = Math.ceil(s / Math.pow(r, i - 1))), l = Ee([]), l.leaf = !1, l.height = i;\n const a = Math.ceil(s / r), d = a * Math.ceil(Math.sqrt(r));\n Yt(t, n, o, d, this.compareMinX);\n for (let h = n; h <= o; h += d) {\n const c = Math.min(h + d - 1, o);\n Yt(t, h, c, a, this.compareMinY);\n for (let f = h; f <= c; f += a) {\n const m = Math.min(f + a - 1, c);\n l.children.push(this._build(t, f, m, i - 1));\n }\n }\n return we(l, this.toBBox), l;\n }\n _chooseSubtree(t, n, o, i) {\n for (; i.push(n), !(n.leaf || i.length - 1 === o); ) {\n let s = 1 / 0, r = 1 / 0, l;\n for (let a = 0; a < n.children.length; a++) {\n const d = n.children[a], h = Ke(d), c = oi(t, d) - h;\n c < r ? (r = c, s = h < s ? h : s, l = d) : c === r && h < s && (s = h, l = d);\n }\n n = l || n.children[0];\n }\n return n;\n }\n _insert(t, n, o) {\n const i = o ? t : this.toBBox(t), s = [], r = this._chooseSubtree(i, this.data, n, s);\n for (r.children.push(t), Be(r, i); n >= 0 && s[n].children.length > this._maxEntries; )\n this._split(s, n), n--;\n this._adjustParentBBoxes(i, s, n);\n }\n // split overflowed node into two\n _split(t, n) {\n const o = t[n], i = o.children.length, s = this._minEntries;\n this._chooseSplitAxis(o, s, i);\n const r = this._chooseSplitIndex(o, s, i), l = Ee(o.children.splice(r, o.children.length - r));\n l.height = o.height, l.leaf = o.leaf, we(o, this.toBBox), we(l, this.toBBox), n ? t[n - 1].children.push(l) : this._splitRoot(o, l);\n }\n _splitRoot(t, n) {\n this.data = Ee([t, n]), this.data.height = t.height + 1, this.data.leaf = !1, we(this.data, this.toBBox);\n }\n _chooseSplitIndex(t, n, o) {\n let i, s = 1 / 0, r = 1 / 0;\n for (let l = n; l <= o - n; l++) {\n const a = ve(t, 0, l, this.toBBox), d = ve(t, l, o, this.toBBox), h = ii(a, d), c = Ke(a) + Ke(d);\n h < s ? (s = h, i = l, r = c < r ? c : r) : h === s && c < r && (r = c, i = l);\n }\n return i || o - n;\n }\n // sorts node children by the best axis for split\n _chooseSplitAxis(t, n, o) {\n const i = t.leaf ? this.compareMinX : ti, s = t.leaf ? this.compareMinY : ni, r = this._allDistMargin(t, n, o, i), l = this._allDistMargin(t, n, o, s);\n r < l && t.children.sort(i);\n }\n // total margin of all possible split distributions where each node is at least m full\n _allDistMargin(t, n, o, i) {\n t.children.sort(i);\n const s = this.toBBox, r = ve(t, 0, n, s), l = ve(t, o - n, o, s);\n let a = Ne(r) + Ne(l);\n for (let d = n; d < o - n; d++) {\n const h = t.children[d];\n Be(r, t.leaf ? s(h) : h), a += Ne(r);\n }\n for (let d = o - n - 1; d >= n; d--) {\n const h = t.children[d];\n Be(l, t.leaf ? s(h) : h), a += Ne(l);\n }\n return a;\n }\n _adjustParentBBoxes(t, n, o) {\n for (let i = o; i >= 0; i--)\n Be(n[i], t);\n }\n _condense(t) {\n for (let n = t.length - 1, o; n >= 0; n--)\n t[n].children.length === 0 ? n > 0 ? (o = t[n - 1].children, o.splice(o.indexOf(t[n]), 1)) : this.clear() : we(t[n], this.toBBox);\n }\n}\nfunction ei(e, t, n) {\n if (!n)\n return t.indexOf(e);\n for (let o = 0; o < t.length; o++)\n if (n(e, t[o]))\n return o;\n return -1;\n}\nfunction we(e, t) {\n ve(e, 0, e.children.length, t, e);\n}\nfunction ve(e, t, n, o, i) {\n i || (i = Ee(null)), i.minX = 1 / 0, i.minY = 1 / 0, i.maxX = -1 / 0, i.maxY = -1 / 0;\n for (let s = t; s < n; s++) {\n const r = e.children[s];\n Be(i, e.leaf ? o(r) : r);\n }\n return i;\n}\nfunction Be(e, t) {\n return e.minX = Math.min(e.minX, t.minX), e.minY = Math.min(e.minY, t.minY), e.maxX = Math.max(e.maxX, t.maxX), e.maxY = Math.max(e.maxY, t.maxY), e;\n}\nfunction ti(e, t) {\n return e.minX - t.minX;\n}\nfunction ni(e, t) {\n return e.minY - t.minY;\n}\nfunction Ke(e) {\n return (e.maxX - e.minX) * (e.maxY - e.minY);\n}\nfunction Ne(e) {\n return e.maxX - e.minX + (e.maxY - e.minY);\n}\nfunction oi(e, t) {\n return (Math.max(t.maxX, e.maxX) - Math.min(t.minX, e.minX)) * (Math.max(t.maxY, e.maxY) - Math.min(t.minY, e.minY));\n}\nfunction ii(e, t) {\n const n = Math.max(e.minX, t.minX), o = Math.max(e.minY, t.minY), i = Math.min(e.maxX, t.maxX), s = Math.min(e.maxY, t.maxY);\n return Math.max(0, i - n) * Math.max(0, s - o);\n}\nfunction xe(e, t) {\n return e.minX <= t.minX && e.minY <= t.minY && t.maxX <= e.maxX && t.maxY <= e.maxY;\n}\nfunction Ue(e, t) {\n return t.minX <= e.maxX && t.minY <= e.maxY && t.maxX >= e.minX && t.maxY >= e.minY;\n}\nfunction Ee(e) {\n return {\n children: e,\n height: 1,\n leaf: !0,\n minX: 1 / 0,\n minY: 1 / 0,\n maxX: -1 / 0,\n maxY: -1 / 0\n };\n}\nfunction Yt(e, t, n, o, i) {\n const s = [t, n];\n for (; s.length; ) {\n if (n = s.pop(), t = s.pop(), n - t <= o)\n continue;\n const r = t + Math.ceil((n - t) / o / 2) * o;\n Ko(e, r, t, n, i), s.push(t, r, r, n);\n }\n}\nconst si = () => {\n const e = new $o(), t = /* @__PURE__ */ new Map(), n = () => [...t.values()], o = () => {\n e.clear(), t.clear();\n }, i = (c) => {\n const { minX: f, minY: m, maxX: g, maxY: p } = c.selector.geometry.bounds, y = { minX: f, minY: m, maxX: g, maxY: p, target: c };\n e.insert(y), t.set(c.annotation, y);\n }, s = (c) => {\n const f = t.get(c.annotation);\n e.remove(f), t.delete(c.annotation);\n };\n return {\n all: n,\n clear: o,\n getAt: (c, f) => {\n const g = e.search({\n minX: c,\n minY: f,\n maxX: c,\n maxY: f\n }).map((p) => p.target).filter((p) => p.selector.type === z.RECTANGLE || ln(p.selector, c, f));\n if (g.length > 0)\n return g.sort((p, y) => ut(p.selector) - ut(y.selector)), g[0];\n },\n getIntersecting: (c, f, m, g) => e.search({\n minX: c,\n minY: f,\n maxX: c + m,\n maxY: f + g\n }).map((p) => p.target),\n insert: i,\n remove: s,\n set: (c, f = !0) => {\n f && o();\n const m = c.map((g) => {\n const { minX: p, minY: y, maxX: L, maxY: E } = g.selector.geometry.bounds;\n return { minX: p, minY: y, maxX: L, maxY: E, target: g };\n });\n m.forEach((g) => t.set(g.target.annotation, g)), e.load(m);\n },\n size: () => e.all().length,\n update: (c, f) => {\n s(c), i(f);\n }\n };\n}, ri = (e) => {\n const t = Pn(), n = si(), o = Sn(t, e.pointerSelectAction), i = Tn(t), s = Rn();\n return t.observe(({ changes: a }) => {\n n.set(a.created.map((d) => d.target), !1), a.deleted.forEach((d) => n.remove(d.target)), a.updated.forEach(({ oldValue: d, newValue: h }) => n.update(d.target, h.target));\n }), {\n store: {\n ...t,\n getAt: (a, d) => {\n const h = n.getAt(a, d);\n return h ? t.getAnnotation(h.annotation) : void 0;\n },\n getIntersecting: (a, d, h, c) => n.getIntersecting(a, d, h, c).map((f) => t.getAnnotation(f.annotation))\n },\n selection: o,\n hover: i,\n viewport: s\n };\n}, li = (e) => {\n const t = ri(e);\n return {\n ...t,\n store: Yn(t.store)\n };\n}, ai = (e) => {\n let t, n;\n if (e.nodeName === \"CANVAS\")\n t = e, n = t.getContext(\"2d\", { willReadFrequently: !0 });\n else {\n const i = e;\n t = document.createElement(\"canvas\"), t.width = i.width, t.height = i.height, n = t.getContext(\"2d\", { willReadFrequently: !0 }), n.drawImage(i, 0, 0, i.width, i.height);\n }\n let o = 0;\n for (let i = 1; i < 10; i++)\n for (let s = 1; s < 10; s++) {\n const r = Math.round(s * t.width / 10), l = Math.round(i * t.height / 10), a = n.getImageData(r, l, 1, 1).data, d = (0.299 * a[0] + 0.587 * a[1] + 0.114 * a[2]) / 255;\n o += d;\n }\n return o / 81;\n}, ci = (e, t) => {\n const n = ai(e), o = n > 0.6 ? \"dark\" : \"light\";\n console.log(`[Annotorious] Image brightness: ${n.toFixed(1)}. Setting ${o} theme.`), t.setAttribute(\"data-theme\", o);\n}, fi = (e) => ({\n ...e,\n drawingEnabled: e.drawingEnabled === void 0 ? !0 : e.drawingEnabled,\n drawingMode: e.drawingMode || \"drag\",\n pointerSelectAction: e.pointerSelectAction || Ft.EDIT\n});\nconst wi = (e, t = {}) => {\n if (!e)\n throw \"Missing argument: image\";\n const n = typeof e == \"string\" ? document.getElementById(e) : e, o = fi(t), i = li(o), { hover: s, selection: r, store: l } = i, a = Xn(\n l,\n r,\n s,\n void 0,\n o.adapter,\n o.autoSave\n );\n let d = zn();\n const h = document.createElement(\"DIV\");\n h.style.position = \"relative\", h.style.display = \"inline-block\", n.style.display = \"block\", n.parentNode.insertBefore(h, n), h.appendChild(n), ci(n, h);\n const c = new Zo({\n target: h,\n props: {\n drawingEnabled: o.drawingEnabled,\n image: n,\n preferredDrawingMode: o.drawingMode,\n state: i,\n style: o.style,\n user: d\n }\n });\n c.$on(\"click\", (X) => {\n const { originalEvent: _, annotation: w } = X.detail;\n w ? r.clickSelect(w.id, _) : r.isEmpty() || r.clear();\n });\n const f = Nn(l, o.adapter), m = () => {\n c.$destroy(), h.parentNode.insertBefore(n, h), h.parentNode.removeChild(h);\n }, g = () => d, p = (X, _, w) => Oo(X, _, w), y = (X, _) => ao(X, _), L = (X) => {\n const { tool: _, opts: w } = Vt(X);\n c.$set({ tool: _, opts: w });\n }, E = (X) => c.$set({ drawingEnabled: X }), k = (X) => {\n console.warn(\"Filter not implemented yet\");\n }, b = (X) => {\n X ? r.setSelected(X) : r.clear();\n }, Y = (X) => c.$set({ style: X }), U = (X) => {\n d = X, c.$set({ user: X });\n };\n return {\n ...f,\n destroy: m,\n getUser: g,\n listDrawingTools: Lo,\n on: a.on,\n off: a.off,\n registerDrawingTool: p,\n registerShapeEditor: y,\n setDrawingEnabled: E,\n setDrawingTool: L,\n setFilter: k,\n setSelected: b,\n setStyle: Y,\n setUser: U,\n state: i\n };\n};\nexport {\n jt as Editor,\n mo as EditorMount,\n M as Handle,\n yi as IdentityTransform,\n mi as PRESENCE_KEY,\n oo as PolygonEditor,\n lo as RectangleEditor,\n fn as RectangleUtil,\n wo as RubberbandRectangle,\n Zo as SVGAnnotationLayer,\n z as ShapeType,\n po as ToolMount,\n pi as W3CImageFormat,\n Ho as addEventListeners,\n He as boundsFromPoints,\n ut as computeArea,\n zn as createAnonymousGuest,\n Nn as createBaseAnnotator,\n di as createBody,\n Qn as createDefaultAppearenceProvider,\n wi as createImageAnnotator,\n ri as createImageAnnotatorState,\n gi as createPresenceState,\n Uo as createSVGTransform,\n li as createSvelteImageAnnotatorState,\n Jn as defaultColorProvider,\n kn as diffAnnotations,\n At as distance,\n Eo as enableResponsive,\n fi as fillDefaults,\n ui as getContributors,\n wt as getEditor,\n Vt as getTool,\n ln as intersects,\n _i as isTouch,\n Lo as listDrawingTools,\n Dn as parseAll,\n un as parseFragmentSelector,\n _n as parseSVGSelector,\n Vn as parseW3CBodies,\n xn as parseW3CImageAnnotation,\n ao as registerEditor,\n ot as registerShapeUtil,\n Oo as registerTool,\n ai as sampleBrightness,\n hi as serializeAll,\n dn as serializeFragmentSelector,\n yn as serializeSVGSelector,\n qn as serializeW3CBodies,\n $n as serializeW3CImageAnnotation,\n ci as setTheme\n};\n//# sourceMappingURL=annotorious.es.js.map\n"],"names":["G","Wt","e","t","Rt","lt","le","j","K","Jt","Xt","at","Qt","i","Dt","Zt","s","r","l","Kt","xt","fe","v","O","tt","Nt","ee","ae","W","u","$t","ct","en","Ie","ke","Ut","Ce","Me","Ae","be","Se","Te","ft","tn","$e","Gt","et","We","_e","sn","Ge","me","se","re","D","pe","ue","de","rn","te","a","d","c","m","ne","z","nt","ot","ut","ln","He","an","fn","p","dn","Ht","dt","hn","o","mn","n","pn","_n","yn","De","wn","bn","q","En","An","ht","it","mt","ge","ye","Fe","Tn","Ft","Je","Sn","g","Ln","On","vn","Bn","kn","F","In","h","f","Cn","_","w","A","S","B","Q","ce","oe","y","L","E","k","b","Y","Yn","Rn","Xn","Dn","Nn","Un","Hn","Fn","zn","jn","Vn","qn","pi","xn","$n","gt","pt","eo","_t","yt","to","jt","no","oo","io","U","X","P","Le","Z","I","J","V","ie","he","je","x","Pe","Ye","Ve","$","Re","Xe","qe","rt","C","T","so","ro","lo","zt","wt","ao","co","bt","fo","uo","ze","ho","mo","go","po","Et","_o","yo","wo","At","bo","Eo","Qe","Tt","St","Ao","To","So","Mo","st","Lo","Vt","Oo","Bo","ko","Io","Co","Po","Yo","Ro","Xo","Do","No","Uo","Go","Ho","Fo","Mt","Lt","Ze","Ot","vt","zo","jo","Vo","Bt","kt","Wo","qo","It","Pt","Ct","Jo","Qo","H","Zo","Ko","qt","xo","Oe","$o","Ue","xe","Ee","ei","we","Yt","Ke","oi","Be","ve","ii","ti","ni","Ne","si","ri","li","ai","ci","fi","wi"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"annotorious-react.es13.js","sources":["../../../node_modules/react/jsx-runtime.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"],"names":["jsxRuntimeModule","require$$0","require$$1"],"mappings":";;;AAEI,QAAQ,IAAI,aAAa,eAC3BA,EAAA,UAAiBC,MAEjBD,EAAA,UAAiBE;;","x_google_ignoreList":[0]}
|