{"version":3,"sources":["jsdelivr-header.js","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/crosshair-manager.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/interfaces/DPI.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/interfaces/Format.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/interfaces/PageOrientation.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/interfaces/Size.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/interfaces/Unit.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/printable-area-manager.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/en.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/index.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/fr.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/fi.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/de.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/sv.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/es.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/ca.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/vi.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/uk.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/zhHans.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/zhHant.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/ja.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/local/pt.ts","/npm/node_modules/.pnpm/@babel+runtime@7.26.9/node_modules/@babel/runtime/helpers/esm/typeof.js","/npm/node_modules/.pnpm/fflate@0.8.2/node_modules/fflate/esm/browser.js","/npm/node_modules/.pnpm/jspdf@3.0.0/node_modules/jspdf/dist/jspdf.es.min.js","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/map-generator-base.ts","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/map-generator.ts","/npm/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.js","/npm/node_modules/.pnpm/dompurify@3.2.4/node_modules/dompurify/dist/purify.es.mjs","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/global-this.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/fails.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/descriptors.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-bind-native.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-call.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-property-is-enumerable.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/create-property-descriptor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-uncurry-this.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/classof-raw.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/indexed-object.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-null-or-undefined.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/require-object-coercible.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-indexed-object.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-callable.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-object.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/get-built-in.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-is-prototype-of.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/environment-user-agent.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/environment-v8-version.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/symbol-constructor-detection.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/use-symbol-as-uid.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-symbol.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/try-to-string.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/a-callable.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/get-method.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/ordinary-to-primitive.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-pure.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/define-global-property.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/shared-store.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/shared.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-object.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/has-own-property.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/uid.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/well-known-symbol.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-primitive.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-property-key.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/document-create-element.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/ie8-dom-define.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-get-own-property-descriptor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/v8-prototype-define-bug.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/an-object.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-define-property.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/create-non-enumerable-property.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-name.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/inspect-source.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/weak-map-basic-detection.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/shared-key.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/hidden-keys.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/internal-state.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/make-built-in.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/define-built-in.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/math-trunc.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-integer-or-infinity.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-absolute-index.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-length.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/length-of-array-like.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/array-includes.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-keys-internal.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/enum-bug-keys.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-get-own-property-names.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-get-own-property-symbols.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/own-keys.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/copy-constructor-properties.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-forced.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/export.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/environment.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/environment-is-node.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-uncurry-this-accessor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-possible-prototype.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/a-possible-prototype.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-set-prototype-of.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/set-to-string-tag.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/define-built-in-accessor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/set-species.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/an-instance.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-string-tag-support.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/classof.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-constructor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/a-constructor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/species-constructor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-apply.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-uncurry-this-clause.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/function-bind-context.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/html.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/array-slice.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/validate-arguments-length.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/environment-is-ios.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/task.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/safe-get-built-in.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/queue.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/environment-is-ios-pebble.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/environment-is-webos-webkit.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/microtask.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/host-report-errors.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/perform.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/promise-native-constructor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/promise-constructor-detection.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/new-promise-capability.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.promise.constructor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/iterators.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-array-iterator-method.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/get-iterator-method.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/get-iterator.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/iterator-close.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/iterate.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/check-correctness-of-iteration.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/promise-statics-incorrect-iteration.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.promise.all.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.promise.catch.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.promise.race.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.promise.reject.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/promise-resolve.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.promise.resolve.js","/npm/node_modules/.pnpm/@babel+runtime@7.26.9/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.promise.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/to-string.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/regexp-flags.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/regexp-sticky-helpers.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-keys.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-define-properties.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-create.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/regexp-unsupported-dot-all.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/regexp-unsupported-ncg.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/regexp-exec.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.regexp.exec.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/string-multibyte.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/advance-string-index.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/regexp-exec-abstract.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.string.match.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/get-substitution.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.string.replace.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-regexp.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/not-a-regexp.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/correct-is-regexp-logic.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.string.starts-with.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/add-to-unscopables.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/correct-prototype-getter.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/object-get-prototype-of.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/iterators-core.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/iterator-create-constructor.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/iterator-define.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/create-iter-result-object.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.array.iterator.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/dom-iterables.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/dom-token-list-prototype.js","/npm/node_modules/.pnpm/@babel+runtime@7.26.9/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","/npm/node_modules/.pnpm/@babel+runtime@7.26.9/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","/npm/node_modules/.pnpm/@babel+runtime@7.26.9/node_modules/@babel/runtime/helpers/esm/defineProperty.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/web.dom-collections.iterator.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/array-reduce.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/array-method-is-strict.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.array.reduce.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.string.ends-with.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.string.split.js","/npm/node_modules/.pnpm/performance-now@2.1.0/node_modules/performance-now/lib/performance-now.js","/npm/node_modules/.pnpm/raf@3.4.1/node_modules/raf/index.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/whitespaces.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/string-trim.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/string-trim-forced.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.string.trim.js","/npm/node_modules/.pnpm/rgbcolor@1.0.1/node_modules/rgbcolor/index.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.array.index-of.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.string.includes.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/is-array.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.array.reverse.js","/npm/node_modules/.pnpm/svg-pathdata@6.0.3/node_modules/svg-pathdata/lib/SVGPathData.module.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/internals/regexp-get-flags.js","/npm/node_modules/.pnpm/stackblur-canvas@2.7.0/node_modules/stackblur-canvas/dist/stackblur-es.js","/npm/node_modules/.pnpm/core-js@3.41.0/node_modules/core-js/modules/es.regexp.to-string.js","/npm/node_modules/.pnpm/canvg@3.0.10/node_modules/canvg/lib/index.es.js","/npm/@watergis/maplibre-gl-export@4.0.1/src/lib/export-control.ts"],"names":[],"mappings":"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AAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,O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AE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,MAAM,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,MAAM,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,GAAG,IAAI,IAAI,MAAM,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,MAAM,QAAQ,MAAM,IAAI,MAAM,6BAA6B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,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GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,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AG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAQ,IAAL,CAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,GAAM,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,IAAI,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,WAAW,IAAI,WAAW,KAAK,EAAE,cAAc,SAAS,IAAI,SAAS,KAAK,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,YAAY,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,OAAO,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAI,CAAM,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,OAAO,KAAK,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,SAAS,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAQ,IAAL,EAAS,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,IAAI,MAAM,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,IAAI,EAAE,KAAK,GAAG,IAAM,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,KAAM,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,IAAI,EAAE,EAAE,IAAI,WAAW,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,KAAU,IAAL,CAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,KAAU,IAAL,EAAS,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,EAAO,IAAL,EAAS,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAU,IAAL,EAAS,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,MAAM,GAAG,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,SAAS,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,GAAG,KAAK,OAAO,KAAK,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,CAAC,SAAS,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,GAAG,OAAO,MAAM,gCAAgC,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,OAAO,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,GAAG,MAAM,wBAAwB,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,OAAO,MAAM,gBAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,GAAG,GAAG,OAAO,EAAE,KAAK,IAAI,GAAG,GAAG,IAAG,OAAQ,EAAE,KAAK,GAAG,GAAG,IAAG,OAAQ,EAAE,KAAK,GAAG,GAAG,QAAQ,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,OAAO,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,MAAM,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,G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G,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,EAAE,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,EAAE,OAAO,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,IAAI,QAAG,EAA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,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,OAAO,GAAG,EAAE,EAAE,oBAAoB,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAkvK,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,IAAG,IAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,OAAO,MAAM,GAAG,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAA2H,IAAxH,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,MAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAiB,GAAX,EAAE,GAAG,EAAE,KAAO,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO,EAAE,KAAK,GAAG,aAAa,KAAK,GAAG,kBAAkB,KAAK,GAAG,eAAe,CAAC,SAAS,KAAK,KAAK,KAAK,GAAG,KAAK,OAAO,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAI,IAAK,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,UAAU,EAAE,GAAa,EAAV,EAAE,EAAE,GAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAqI,GAAjI,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAiB,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,OAAO,MAAM,6BAA6B,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,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EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,GAAE,EAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,GAAE,EAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,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EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,MAAM,IAAI,EAAE,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,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,QAAQ,QAAQ,QAAQ,QAAQ,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE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,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,EAAC,EAAG,GAAE,EAAG,GAAE,EAAG,EAAE,EAAE,GAAE,EAAG,GAAE,GAAG,GAAG,EAAG,GAAE,EAAG,GAAE,GAAG,GAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,sBAAsB,GAAG,GAAG,GAAG,sBAAsB,GAAG,GAAG,GAAG,uBAAuB,GAAG,GAAG,GAAG,uBAAuB,GAAG,GAAG,GAAG,uBAAuB,GAAG,GAAG,GAAG,2BAA2B,GAAG,GAAG,GAAG,yBAAyB,GAAG,GAAM,IAAC,GAAG,EAAE,oBAAoB,GAAG,EAAE,oBAAoB,GAAG,EAAE,qBAAqB,GAAG,EAAE,qBAAqB,GAAG,EAAE,qBAAqB,GAAG,EAAE,yBAAyB,GAAG,EAAE,uBAAuB,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAG,IAAK,GAAG,IAAI,GAAG,EAAiB,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,mBAAmB,GAAG,GAAG,GAAG,iBAAiB,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,eAAe,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,MAAM,GAAG,GAAG,EAAE,EAAE,GAAG,MAAM,IAAI,EAAE,GAAG,EAAE,MAAM,IAAI,MAAM,IAAI,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI,EAAE,GAAG,EAAE,OAAO,MAAM,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,MAAM,EAAE,OAAO,CAAC,C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I,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,IAAK,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,EAAE,4CAA4C,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,EAAmD,GAAjD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,EAAE,qCAAqC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EA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I,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,IAA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,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClwC,GAAW,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAiGvgC,SAAS,GAAkB,EAAQ,EAAM,EAAM,EAAO,EAAQ,GAC5D,KAAI,MAAM,IAAW,EAAS,GAI9B,CAAA,GAAU,EACV,IAAI,EAlCN,SAAgC,EAAQ,EAAM,EAAM,EAAO,GAKzD,GAJsB,iBAAX,IACT,EAAS,SAAS,eAAe,KAG9B,GAA8B,WAApB,GAAQ,MAA0B,eAAgB,GAC/D,MAAM,IAAI,UAAU,2EAGtB,IAAI,EAAU,EAAO,WAAW,MAEhC,IACE,OAAO,EAAQ,aAAa,EAAM,EAAM,EAAO,EAChD,OAAQ,GACP,MAAM,IAAI,MAAM,gCAAkC,EACtD,CACA,CAkBkB,CAAuB,EAAQ,EAAM,EAAM,EAAO,GAClE,EAcF,SAA8B,EAAW,EAAM,EAAM,EAAO,EAAQ,GAYlE,QAFI,EATA,EAAS,EAAU,KACnB,EAAM,EAAI,EAAS,EAEnB,EAAc,EAAQ,EACtB,EAAe,EAAS,EACxB,EAAc,EAAS,EACvB,EAAY,GAAe,EAAc,GAAK,EAC9C,EAAa,IAAI,GACjB,EAAQ,EAGH,EAAI,EAAG,EAAI,EAAK,IACvB,EAAQ,EAAM,KAAO,IAAI,GAErB,IAAM,IACR,EAAW,GAIf,EAAM,KAAO,EAQb,QAPI,EAAU,KACV,EAAW,KACX,EAAK,EACL,EAAK,EACL,EAAS,GAAS,GAClB,EAAS,GAAS,GAEb,EAAI,EAAG,EAAI,EAAQ,IAAK,CAC/B,EAAQ,EAMR,QALI,EAAK,EAAO,GACZ,EAAK,EAAO,EAAK,GACjB,EAAK,EAAO,EAAK,GACjB,EAAK,EAAO,EAAK,GAEZ,EAAK,EAAG,EAAK,EAAa,IACjC,EAAM,EAAI,EACV,EAAM,EAAI,EACV,EAAM,EAAI,EACV,EAAM,EAAI,EACV,EAAQ,EAAM,KAgBhB,QAbI,EAAS,EACT,EAAS,EACT,EAAS,EACT,EAAS,EACT,EAAU,EAAc,EACxB,EAAU,EAAc,EACxB,EAAU,EAAc,EACxB,EAAU,EAAc,EACxB,EAAO,EAAY,EACnB,EAAO,EAAY,EACnB,EAAO,EAAY,EACnB,EAAO,EAAY,EAEd,EAAM,EAAG,EAAM,EAAa,IAAO,CAC1C,IAAI,EAAI,IAAO,EAAc,EAAM,EAAc,IAAQ,GACrD,EAAI,EAAO,GACX,EAAI,EAAO,EAAI,GACf,EAAI,EAAO,EAAI,GACf,EAAI,EAAO,EAAI,GACf,EAAM,EAAc,EACxB,IAAS,EAAM,EAAI,GAAK,EACxB,IAAS,EAAM,EAAI,GAAK,EACxB,IAAS,EAAM,EAAI,GAAK,EACxB,IAAS,EAAM,EAAI,GAAK,EACxB,GAAU,EACV,GAAU,EACV,GAAU,EACV,GAAU,EACV,EAAQ,EAAM,IACpB,CAEI,EAAU,EACV,EAAW,EAEX,QAAS,EAAI,EAAG,EAAI,EAAO,IAAK,CAC9B,IAAI,EAAY,EAAO,IAAW,EAGlC,GAFA,EAAO,EAAK,GAAK,EAEC,IAAd,EAAiB,CACnB,IAAI,EAAM,IAAM,EAEhB,EAAO,IAAO,EAAO,IAAW,GAAU,EAC1C,EAAO,EAAK,IAAM,EAAO,IAAW,GAAU,EAC9C,EAAO,EAAK,IAAM,EAAO,IAAW,GAAU,CACtD,MACQ,EAAO,GAAM,EAAO,EAAK,GAAK,EAAO,EAAK,GAAK,EAGjD,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAW,EAAQ,EACnB,GAAW,EAAQ,EACnB,GAAW,EAAQ,EACnB,GAAW,EAAQ,EAEnB,IAAI,EAAK,EAAI,EAAS,EAEtB,EAAK,GAAM,EAAK,EAAc,EAAK,IAAgB,EAKnD,GAJA,GAAU,EAAQ,EAAI,EAAO,GAK7B,GAJA,GAAU,EAAQ,EAAI,EAAO,EAAK,GAKlC,GAJA,GAAU,EAAQ,EAAI,EAAO,EAAK,GAKlC,GAJA,GAAU,EAAQ,EAAI,EAAO,EAAK,GAKlC,EAAU,EAAQ,KAClB,IAAI,EAAY,EACZ,EAAK,EAAU,EACf,EAAK,EAAU,EACf,GAAK,EAAU,EACf,GAAK,EAAU,EACnB,GAAW,EACX,GAAW,EACX,GAAW,GACX,GAAW,GACX,GAAU,EACV,GAAU,EACV,GAAU,GACV,GAAU,GACV,EAAW,EAAS,KACpB,GAAM,CACZ,CAEI,GAAM,CACV,CAEE,QAAS,GAAK,EAAG,GAAK,EAAO,KAAM,CAGjC,IAAI,GAAM,EAFV,EAAK,IAAM,GAGP,GAAM,EAAO,EAAK,GAClB,GAAM,EAAO,EAAK,GAClB,GAAM,EAAO,EAAK,GAClB,GAAW,EAAc,GACzB,GAAW,EAAc,GACzB,GAAW,EAAc,GACzB,GAAW,EAAc,GACzB,GAAQ,EAAY,GACpB,GAAQ,EAAY,GACpB,GAAQ,EAAY,GACpB,GAAQ,EAAY,GAExB,EAAQ,EAER,QAAS,GAAM,EAAG,GAAM,EAAa,KACnC,EAAM,EAAI,GACV,EAAM,EAAI,GACV,EAAM,EAAI,GACV,EAAM,EAAI,GACV,EAAQ,EAAM,KAShB,QANI,GAAK,EACL,GAAU,EACV,GAAU,EACV,GAAU,EACV,GAAU,EAEL,GAAM,EAAG,IAAO,EAAQ,KAAO,CACtC,EAAK,GAAK,IAAM,EAEhB,IAAI,GAAO,EAAc,GAEzB,KAAU,EAAM,EAAI,GAAM,EAAO,IAAO,GACxC,KAAU,EAAM,EAAI,GAAM,EAAO,EAAK,IAAM,GAC5C,KAAU,EAAM,EAAI,GAAM,EAAO,EAAK,IAAM,GAC5C,KAAU,EAAM,EAAI,GAAM,EAAO,EAAK,IAAM,GAC5C,IAAW,GACX,IAAW,GACX,IAAW,GACX,IAAW,GACX,EAAQ,EAAM,KAEV,GAAM,IACR,IAAM,EAEd,CAEI,EAAK,GACL,EAAU,EACV,EAAW,EAEX,QAAS,GAAK,EAAG,GAAK,EAAQ,KAAM,CAClC,IAAI,GAAM,GAAM,EAEhB,EAAO,GAAM,GAAK,GAAM,GAAQ,IAAW,EAEvC,GAAM,GACR,GAAM,IAAM,GACZ,EAAO,KAAQ,GAAQ,IAAW,GAAU,GAC5C,EAAO,GAAM,IAAM,GAAQ,IAAW,GAAU,GAChD,EAAO,GAAM,IAAM,GAAQ,IAAW,GAAU,IAEhD,EAAO,IAAO,EAAO,GAAM,GAAK,EAAO,GAAM,GAAK,EAGpD,IAAS,GACT,IAAS,GACT,IAAS,GACT,IAAS,GACT,IAAY,EAAQ,EACpB,IAAY,EAAQ,EACpB,IAAY,EAAQ,EACpB,IAAY,EAAQ,EACpB,GAAM,KAAO,GAAM,GAAK,GAAe,EAAe,GAAM,GAAgB,GAAS,EACrF,IAAS,IAAW,EAAQ,EAAI,EAAO,IACvC,IAAS,IAAW,EAAQ,EAAI,EAAO,GAAM,GAC7C,IAAS,IAAW,EAAQ,EAAI,EAAO,GAAM,GAC7C,IAAS,IAAW,EAAQ,EAAI,EAAO,GAAM,GAC7C,EAAU,EAAQ,KAClB,IAAY,GAAM,EAAS,EAC3B,IAAY,GAAM,EAAS,EAC3B,IAAY,GAAM,EAAS,EAC3B,IAAY,GAAM,EAAS,EAC3B,IAAW,GACX,IAAW,GACX,IAAW,GACX,IAAW,GACX,EAAW,EAAS,KACpB,GAAM,CACZ,CACA,CAEE,OAAO,CACT,CApPc,CAAqB,EAAW,EAAM,EAAM,EAAO,EAAQ,GACvE,EAAO,WAAW,MAAM,aAAa,EAAW,EAAM,EAAI,CAC5D,CAmcA,IAAI,GAIJ,SAAS,KApmBT,SAAyB,EAAU,GACjC,KAAM,aAAoB,GACxB,MAAM,IAAI,UAAU,oCAExB,EAimBE,CAAgB,KAAM,GAEtB,KAAK,EAAI,EACT,KAAK,EAAI,EACT,KAAK,EAAI,EACT,KAAK,EAAI,EACT,KAAK,KAAO,IACd,EExiBA,IAAI,GAAqB,OAAO,OAAO,CACtC,UAAW,KACX,UA3DD,WACE,IACE,UAAW,GACT,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EACtE,EAAS,CACX,OAAQ,KACR,iBAAiB,EACjB,aAAa,EACb,UAAW,EAEX,aAAA,CAAa,EAAO,IACX,IAAI,gBAAgB,EAAO,GAGpC,YAAY,GACH,IAAkB,YACvB,IAAI,QAAiB,MAAM,GACvB,QAAa,EAAS,OAE1B,aADgB,kBAAkB,EAE1C,GALa,IAUX,cAAW,UAAc,YAAsB,EAAsB,MACnE,QAAQ,eAAe,EAAQ,aAG1B,CACT,EA8BC,KApBD,SAAc,GACZ,IACE,YACA,SACA,SACE,EACJ,MAAO,CACL,OAAQ,KACR,iBAAiB,EACjB,aAAa,EACb,YACA,QACA,aAAc,EAAO,aACrB,YAAa,EAAO,UAExB,IAaA,SAAS,GAAe,GACtB,OAAO,EAAI,QAAQ,kBAAmB,IACxC,CAOA,SAAS,GAAS,GAChB,OAAO,EAAI,QAAQ,YAAa,GAClC,CAOA,SAAS,GAAU,GACjB,OAAO,EAAI,QAAQ,YAAa,GAClC,CAOA,SAAS,GAAU,GAEjB,QADe,GAAO,IAAI,MAAM,uDAAyD,IAC1E,IAAI,WACrB,CAEA,IAAI,GAAe,YAOnB,SAAS,GAAuB,GAC9B,OAAI,GAAa,KAAK,GACb,EAAK,cAGP,CACT,CAOA,SAAS,GAAiB,GAKxB,IAAI,EAAW,yCAAyC,KAAK,IAAQ,GACrE,OAAO,EAAS,IAAM,EAAS,IAAM,EAAS,EAChD,CAOA,SAAS,GAAe,GACtB,IAAK,EAAM,WAAW,OACpB,OAAO,EAGT,IAAI,EAAW,EAEf,OADsB,EAAM,QAAQ,gBAAgB,CAAC,EAAK,IAAY,KAAc,EAAU,OAAO,KAAK,MAAM,WAAW,KAAS,GAEtI,CAGA,IAAI,GAAiB,gBACjB,GAAU,mBACV,GAAa,oBACb,GAAqB,8DACrB,GAA+B,uBAC/B,GAAmB,mBACnB,GAAe,kBAEnB,SAAS,GAAkB,EAAU,GACnC,IAAI,EAAU,EAAM,KAAK,GAEzB,OAAK,EAIE,CAAC,EAAS,QAAQ,EAAO,KAAM,EAAQ,QAHrC,CAAC,EAAU,EAItB,CAQA,SAAS,GAAuB,GAC9B,IAAI,EAAc,CAAC,EAAG,EAAG,GACrB,EAAkB,EAAS,QAAQ,mBAAoB,YAAY,QAAQ,aAAc,KACzF,EAAQ,EACZ,OAAC,EAAiB,GAAS,GAAkB,EAAiB,IAC9D,EAAY,IAAM,GACjB,EAAiB,GAAS,GAAkB,EAAiB,IAC9D,EAAY,IAAM,GACjB,EAAiB,GAAS,GAAkB,EAAiB,IAC9D,EAAY,IAAM,GACjB,EAAiB,GAAS,GAAkB,EAAiB,IAC9D,EAAY,IAAM,GACjB,EAAiB,GAAS,GAAkB,EAAiB,IAC9D,EAAY,IAAM,GACjB,EAAiB,GAAS,GAAkB,EAAiB,IAC9D,EAAY,IAAM,EAClB,EAAkB,EAAgB,QAAQ,YAAa,KAAK,QAAQ,QAAS,MAC5E,EAAiB,GAAS,GAAkB,EAAiB,IAE9D,EAAY,IAAM,EACX,EAAY,KAAK,GAC1B,CAEA,IAAI,GAAc,KAOlB,SAAS,GAAgB,GACvB,OAAO,KAAK,KAAK,KAAK,IAAI,EAAE,GAAI,GAAK,KAAK,IAAI,EAAE,GAAI,GACtD,CAQA,SAAS,GAAa,EAAG,GACvB,OAAQ,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,KAAO,GAAgB,GAAK,GAAgB,GAC7E,CAQA,SAAS,GAAa,EAAG,GACvB,OAAQ,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAAK,EAAK,GAAK,KAAK,KAAK,GAAa,EAAG,GAC1E,CACA,SAAS,GAAI,GACX,OAAO,EAAI,EAAI,CACjB,CACA,SAAS,GAAI,GACX,OAAO,EAAI,EAAI,GAAK,EAAI,EAC1B,CACA,SAAS,GAAI,GACX,OAAO,EAAI,GAAK,EAAI,IAAM,EAAI,EAChC,CACA,SAAS,GAAI,GACX,OAAQ,EAAI,IAAM,EAAI,IAAM,EAAI,EAClC,CACA,SAAS,GAAI,GACX,OAAO,EAAI,CACb,CACA,SAAS,GAAI,GACX,OAAO,EAAI,GAAK,EAAI,EACtB,CACA,SAAS,GAAI,GACX,OAAQ,EAAI,IAAM,EAAI,EACxB,CAEA,MAAM,GACJ,WAAA,CAAY,EAAU,EAAM,GAC1B,KAAK,SAAW,EAChB,KAAK,KAAO,EACZ,KAAK,MAAQ,EACb,KAAK,mBAAoB,CAC7B,CAEE,YAAO,CAAM,GACX,OAAO,IAAI,GAAS,EAAU,QAAS,GAC3C,CAEE,KAAA,GACE,IAAI,EAAY,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,KAElF,WACA,QACE,KACJ,OAAO,GAAe,KAAK,aAAa,OAAO,MAAM,GAAW,KAAI,GAAS,IAAI,GAAS,EAAU,EAAM,IAC9G,CAEE,QAAA,CAAS,GACP,IACE,SACE,KACJ,OAAiB,OAAV,GAA4B,KAAV,IAAiB,GAAyB,IAAV,WAAuB,EAAU,GAC9F,CAEE,QAAA,CAAS,GACP,IACE,SACE,KACA,EAA0B,iBAAV,EAEpB,OAAK,GAAW,EAIT,EAAO,KAAK,GAHV,CAIb,CAEE,eAAA,GACE,OAAO,KAAK,SAAS,SACzB,CAEE,QAAA,GACE,IAAK,KAAK,WACR,OAAO,EAGT,IAAI,EAAW,KAAK,YAEpB,QAAQ,GACN,KAAK,EAAS,SAAS,MACvB,IAAK,WAAW,KAAK,GACnB,OAAO,EAET,QACE,OAAO,EAEf,CAEE,QAAA,CAAS,GACP,OAAA,KAAK,MAAQ,EACN,IACX,CAEE,QAAA,CAAS,GACP,cAAW,EAAQ,KAAe,KAAK,WAC9B,KAAK,MAGP,CACX,CAEE,SAAA,CAAU,GACR,IAAK,KAAK,WACR,cAAW,EAAQ,IACV,EAGF,WAAW,GAGpB,IACE,SACE,KACA,EAAI,WAAW,GAEnB,OAAI,KAAK,SAAS,QAChB,GAAK,KAGA,CACX,CAEE,SAAA,CAAU,GACR,cAAW,EAAQ,KAAe,KAAK,kBACvB,KAAK,MAAU,IAAc,GAAK,OAAO,KAAK,OAGvD,OAAO,EAClB,CAEE,QAAA,CAAS,GACP,IAAI,EAAQ,KAAK,UAAU,GAE3B,OAAI,KAAK,oBAIT,KAAK,mBAAoB,EACzB,EAAQ,GAAe,GACvB,KAAK,MAAQ,GACN,CACX,CAEE,MAAA,GACE,OAAO,EACX,CAEE,MAAA,GACE,OAAO,KAAK,SAAS,UACzB,CAEE,KAAA,GACE,OAAO,KAAK,SAAS,MACzB,CAEE,QAAA,GACE,OAAO,KAAK,YAAY,QAAQ,WAAY,GAChD,CAEE,SAAA,CAAU,GACR,IAAI,EAAiB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GAEpF,IAAK,KAAK,WACR,OAAO,EAGT,IAAK,EAAM,GAA0C,kBAArB,EAAiC,MAAC,EAAW,GAAoB,CAAC,IAEhG,YACE,KAAK,SAAS,OAElB,QAAQ,GACN,KAAK,KAAK,SAAS,SACjB,OAAO,KAAK,YAAc,IAAQ,KAAK,IAAI,EAAS,YAAY,KAAM,EAAS,YAAY,MAE7F,KAAK,KAAK,SAAS,SACjB,OAAO,KAAK,YAAc,IAAQ,KAAK,IAAI,EAAS,YAAY,KAAM,EAAS,YAAY,MAE7F,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,IAAQ,EAAS,YAAY,KAEzD,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,IAAQ,EAAS,YAAY,KAEzD,KAAK,KAAK,SAAS,QACjB,OAAO,KAAK,YAAc,KAAK,SAEjC,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,KAAK,QAEjC,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,KAAK,QAAU,EAE3C,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAEd,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,KAAK,UAAY,EAAM,IAEnD,KAAK,KAAK,SAAS,OACjB,OAA0B,GAAnB,KAAK,YAEd,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,KAAK,SAAW,KAE5C,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,KAAK,SAAW,KAE5C,KAAK,KAAK,SAAS,OACjB,OAAO,KAAK,YAAc,KAAK,SAEjC,KAAK,KAAK,SAAS,OAAS,EAC1B,OAAO,KAAK,YAAc,KAAK,QAEjC,KAAK,KAAK,SAAS,MACjB,OAAO,KAAK,YAAc,EAAS,YAAY,GAEjD,QAEI,IAAI,EAAI,KAAK,YAEb,OAAI,GAAkB,EAAI,EACjB,EAAI,EAAS,YAAY,GAG3B,EAGjB,CAEE,eAAA,GACE,OAAK,KAAK,WAIN,KAAK,SAAS,OACT,KAAK,YAGY,IAAnB,KAAK,YAPH,CAQb,CAEE,UAAA,GACE,IAAK,KAAK,WACR,OAAO,EAGT,QAAQ,GACN,KAAK,KAAK,SAAS,QACjB,OAAO,KAAK,aAAe,KAAK,GAAK,KAEvC,KAAK,KAAK,SAAS,SACjB,OAAO,KAAK,aAAe,KAAK,GAAK,KAEvC,KAAK,KAAK,SAAS,QACjB,OAAO,KAAK,YAEd,QACE,OAAO,KAAK,aAAe,KAAK,GAAK,KAE7C,CAEE,aAAA,GACE,IAAI,EAAW,KAAK,YAChB,EAAO,aAAa,KAAK,GAE7B,OAAI,IACF,EAAO,EAAK,IAGT,IACH,EAAO,GAGF,KAAK,SAAS,YAAY,EACrC,CAEE,sBAAA,CAAuB,EAAS,GAC9B,IAAI,EAAM,KAAK,gBAEf,IAAK,EACH,OAAO,KAIT,GAAkC,mBAAvB,EAAI,eACb,OAAO,EAAI,eAAe,KAAK,SAAS,IAAK,EAAS,GAIxD,GAAiC,mBAAtB,EAAI,cAA8B,CAC3C,GAAI,EAAI,mBAAmB,WAAY,CACrC,IAAI,EAAmB,EAAI,aAAa,oBACxC,EAAM,EAAI,mBAAmB,gBAEzB,EAAiB,YACnB,EAAI,aAAa,oBAAoB,GAAM,SAAS,EAAiB,MAE/E,CAEM,OAAO,EAAI,cAAc,KAAK,SAAS,IAAK,EAAS,EAC3D,CAEI,OAAO,IACX,CAEE,eAAA,GACE,OAAK,KAAK,WAIH,GAAS,oBAAoB,KAAK,aAHhC,IAIb,CAEE,UAAA,CAAW,GAKT,QAJI,EAAQ,KAAK,WACb,EAAM,EAAM,OACZ,EAAS,EAEJ,EAAI,EAAG,EAAI,IACD,MAAb,EAAM,IACR,IAGa,IAAX,GALmB,KAUzB,GAAI,EAAQ,YAAc,KAAK,YAAyB,IAAX,EAAc,CACzD,IAAI,EAAQ,IAAI,GAAS,GAErB,EAAM,KACR,EAAM,MAAQ,EAAQ,YACtB,EAAQ,EAAM,SAEtB,CAEI,OAAO,IAAI,GAAS,KAAK,SAAU,KAAK,KAAM,EAClD,EAGA,GAAS,oBAAsB,CAC7B,SAAY,aACZ,cAAe,MACf,mBAAoB,MACpB,OAAU,SACV,QAAW,SACX,aAAc,SACd,kBAAmB,SACnB,YAAe,cACf,WAAc,aACd,QAAW,UACX,aAAgB,cAGlB,MAAM,GACJ,WAAA,GACE,KAAK,UAAY,EACrB,CAEE,KAAA,GACE,KAAK,UAAY,EACrB,CAEE,UAAA,CAAW,EAAO,GAChB,KAAK,UAAU,KAAK,CAClB,QACA,UAEN,CAEE,aAAA,GACE,KAAK,UAAU,KACnB,CAEE,UAAA,GACE,IACE,aACE,KACJ,OAAO,EAAU,EAAU,OAAS,EACxC,CAEE,SAAI,GACF,OAAO,KAAK,aAAa,KAC7B,CAEE,UAAI,GACF,OAAO,KAAK,aAAa,MAC7B,CAEE,WAAA,CAAY,GACV,MAAiB,iBAAN,EACF,EAGC,MAAN,EACK,KAAK,MAGJ,MAAN,EACK,KAAK,OAGP,KAAK,KAAK,KAAK,IAAI,KAAK,MAAO,GAAK,KAAK,IAAI,KAAK,OAAQ,IAAM,KAAK,KAAK,EACrF,EAIA,MAAM,GACJ,WAAA,CAAY,EAAG,GACb,KAAK,EAAI,EACT,KAAK,EAAI,CACb,CAEE,YAAO,CAAM,GACX,IAAI,EAAe,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,GAClF,EAAI,EAAc,EAAI,GAAgB,GAAU,GACrD,OAAO,IAAI,GAAM,EAAG,EACxB,CAEE,iBAAO,CAAW,GAChB,IAAI,EAAe,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,GAClF,EAAI,EAAc,EAAI,GAAK,GAAU,GAC1C,OAAO,IAAI,GAAM,EAAG,EACxB,CAEE,gBAAO,CAAU,GAKf,QAJI,EAAS,GAAU,GACnB,EAAM,EAAO,OACb,EAAa,GAER,EAAI,EAAG,EAAI,EAAK,GAAK,EAC5B,EAAW,KAAK,IAAI,GAAM,EAAO,GAAI,EAAO,EAAI,KAGlD,OAAO,CACX,CAEE,OAAA,CAAQ,GACN,OAAO,KAAK,MAAM,EAAM,EAAI,KAAK,EAAG,EAAM,EAAI,KAAK,EACvD,CAEE,cAAA,CAAe,GACb,IACE,IACA,KACE,KACA,EAAK,EAAI,EAAU,GAAK,EAAI,EAAU,GAAK,EAAU,GACrD,EAAK,EAAI,EAAU,GAAK,EAAI,EAAU,GAAK,EAAU,GACzD,KAAK,EAAI,EACT,KAAK,EAAI,CACb,EAIA,MAAM,GACJ,WAAA,CAAY,GACV,KAAK,OAAS,EACd,KAAK,SAAU,EACf,KAAK,OAAS,GACd,KAAK,cAAgB,GAErB,KAAK,QAAU,KAAK,QAAQ,KAAK,MAEjC,KAAK,YAAc,KAAK,YAAY,KAAK,KAC7C,CAEE,SAAA,GACE,OAAO,KAAK,OAChB,CAEE,KAAA,GACE,IAAI,KAAK,QAIT,KACE,SACA,UACA,eACE,KACA,EAAS,EAAO,IAAI,OACxB,EAAO,QAAU,EACjB,EAAO,YAAc,EACrB,KAAK,SAAU,EACnB,CAEE,IAAA,GACE,GAAK,KAAK,QAIV,KAAI,EAAS,KAAK,OAAO,IAAI,OAC7B,KAAK,SAAU,EACf,EAAO,QAAU,KACjB,EAAO,YAAc,KACzB,CAEE,SAAA,GACE,OAAO,KAAK,SAAW,KAAK,OAAO,OAAS,CAChD,CAEE,SAAA,GACE,GAAK,KAAK,QAIV,KACE,OAAQ,EACR,SACA,iBACE,MAEF,SACE,EAAS,IAAI,OAEb,IACF,EAAM,OAAS,IAGjB,EAAO,SAAQ,CAAC,EAAM,KAMpB,QAJE,OACE,EACA,EAAU,EAAc,GAErB,GACL,EAAI,GACJ,EAAU,EAAQ,UAItB,KAAK,OAAS,GACd,KAAK,cAAgB,EAAE,CAC3B,CAEE,SAAA,CAAU,EAAS,GACjB,GAAK,KAAK,SAAY,EAItB,KACE,SACA,iBACE,KACJ,EAAO,SAAQ,CAAC,EAAO,KACrB,IACE,IACA,KACE,GAEC,EAAc,IAAM,EAAI,eAAiB,EAAI,cAAc,EAAG,KACjE,EAAc,GAAK,KAEtB,CACL,CAEE,gBAAA,CAAiB,EAAS,GACxB,GAAK,KAAK,SAAY,EAItB,KACE,SACA,iBACE,KACJ,EAAO,SAAQ,CAAC,EAAO,KACrB,IACE,IACA,KACE,GAEC,EAAc,IAAM,EAAY,aAAa,EAAG,KACnD,EAAc,GAAK,KAEtB,CACL,CAEE,KAAA,CAAM,EAAG,GAQP,QANE,SACA,OACE,KAAK,OACL,EAAQ,IAAI,GAAM,EAAG,GACrB,EAAU,EAAI,OAEX,GACL,EAAM,GAAK,EAAQ,WACnB,EAAM,GAAK,EAAQ,UACnB,EAAU,EAAQ,aAGpB,OAAI,EAAO,UACT,EAAM,GAAK,EAAO,SAGhB,EAAO,UACT,EAAM,GAAK,EAAO,SAGb,CACX,CAEE,OAAA,CAAQ,GACN,IACE,IACA,KACE,KAAK,MAAM,EAAM,QAAS,EAAM,SACpC,KAAK,OAAO,KAAK,CACf,KAAM,UACN,IACA,IAEA,GAAA,CAAI,GACE,EAAY,SACd,EAAY,SAEtB,GAGA,CAEE,WAAA,CAAY,GACV,IACE,IACA,KACE,KAAK,MAAM,EAAM,QAAS,EAAM,SACpC,KAAK,OAAO,KAAK,CACf,KAAM,cACN,IACA,IAEA,GAAA,CAAI,GACE,EAAY,aACd,EAAY,aAEtB,GAGA,EAIA,IAAI,UAAuB,OAAW,IAAc,OAAS,KACzD,UAAwB,MAAU,IAAc,MAAM,UAAK,GAC7D,KACF,MAAM,GACJ,WAAA,CAAY,GACV,IACE,QAAQ,GACR,SAAS,IACP,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EAC1E,KAAK,IAAM,EACX,KAAK,UAAY,GACjB,KAAK,mBAAqB,IAC1B,KAAK,aAAe,IACpB,KAAK,cAAgB,IACrB,KAAK,SAAW,IAAI,GACpB,KAAK,MAAQ,IAAI,GAAM,MACvB,KAAK,WAAa,GAClB,KAAK,MAAQ,GACb,KAAK,cAAgB,EACrB,KAAK,aAAc,EACnB,KAAK,eAAgB,EACrB,KAAK,WAAa,KAClB,KAAK,OAAS,EACd,KAAK,MAAQ,CACjB,CAEE,IAAA,CAAK,GACH,KAAK,MAAM,KAAK,EACpB,CAEE,KAAA,GAEE,OAAK,KAAK,aAIH,KAAK,aAHH,QAAQ,SAIrB,CAEE,OAAA,GACE,GAAI,KAAK,YACP,OAAO,EAGT,IAAI,EAAc,KAAK,MAAM,OAAM,GAAK,MAExC,OAAI,IACF,KAAK,MAAQ,GAET,KAAK,cACP,KAAK,gBAIT,KAAK,YAAc,EACZ,CACX,CAEE,WAAA,CAAY,GAEV,EAAI,YAAc,gBAClB,EAAI,QAAU,OACd,EAAI,SAAW,QACf,EAAI,WAAa,CACrB,CAEE,UAAA,CAAW,GACT,IACE,WACA,MACA,cACA,QACA,eACA,SACA,gBACA,OAAO,EACP,OAAO,EACP,OACA,OACA,QAAO,EACP,QAAQ,EACR,QAAQ,GACN,EAEA,EAAmB,GAAe,GAAa,QAAQ,WAAY,KAElE,EAAkB,GAA0B,EAAiB,MAAM,KACpE,EAAQ,GAAoB,WAC5B,EAAc,GAA0B,OAExC,EAAS,EAAQ,EACjB,EAAS,EAAS,EAClB,EAAW,KAAK,IAAI,EAAQ,GAC5B,EAAW,KAAK,IAAI,EAAQ,GAC5B,EAAoB,EACpB,EAAqB,EAEL,SAAhB,IACF,GAAqB,EACrB,GAAsB,GAGJ,UAAhB,IACF,GAAqB,EACrB,GAAsB,GAGxB,IAAI,EAAW,IAAI,GAAS,EAAU,OAAQ,GAC1C,EAAW,IAAI,GAAS,EAAU,OAAQ,GAC1C,EAAU,EAAS,YAAc,EAAS,WAM9C,GAJI,GACF,EAAI,WAAW,EAAW,EAAS,UAAU,MAAO,EAAW,EAAS,UAAU,MAGhF,EAAM,CACR,IAAI,EAAc,EAAW,EACzB,EAAc,EAAW,EAC7B,EAAI,YACJ,EAAI,OAAO,EAAa,GACxB,EAAI,OAAO,EAAO,GAClB,EAAI,OAAO,EAAO,GAClB,EAAI,OAAO,EAAa,GACxB,EAAI,YACJ,EAAI,MACV,CAEI,IAAK,EAAS,CACZ,IAAI,EAA6B,SAAhB,GAA0B,IAAa,EACpD,EAA8B,UAAhB,GAA2B,IAAa,EACtD,EAA6B,SAAhB,GAA0B,IAAa,EACpD,EAA8B,UAAhB,GAA2B,IAAa,EAEtD,EAAM,WAAW,UAAY,GAAc,IAC7C,EAAI,UAAU,EAAQ,EAAM,EAAoB,EAAK,GAGnD,EAAM,SAAS,UAAY,GAAc,IAC3C,EAAI,UAAU,EAAG,EAAS,EAAM,EAAqB,GAGnD,EAAM,WAAW,UAAY,GAAc,IAC7C,EAAI,UAAU,EAAQ,EAAmB,GAGvC,EAAM,SAAS,UAAY,GAAc,IAC3C,EAAI,UAAU,EAAG,EAAS,EAE7B,CAGD,QAAQ,GACN,IAAe,SAAV,EACH,EAAI,MAAM,EAAQ,GAClB,MAEF,IAAqB,SAAhB,EACH,EAAI,MAAM,EAAU,GACpB,MAEF,IAAqB,UAAhB,EACH,EAAI,MAAM,EAAU,GAKxB,EAAI,WAAW,GAAO,EAC1B,CAEE,KAAA,CAAM,GACJ,IACE,gBAAe,EACf,eAAc,EACd,mBAAkB,EAClB,oBAAmB,EACnB,eAAc,EACd,cACA,aACA,cACA,UACA,WACE,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,GAExE,YACA,SACE,KACA,EAAgB,IAAO,EAU3B,GATA,KAAK,cAAgB,EACrB,KAAK,aAAe,IAAI,SAAQ,IAC9B,KAAK,aAAe,KAGlB,KAAK,WACP,KAAK,OAAO,EAAS,EAAkB,EAAa,EAAY,EAAa,EAAS,GAGnF,EAIL,KAAI,EAAM,KAAK,MACX,EAAO,EACP,EAAQ,EAER,EAAO,KACT,EAAM,KAAK,OACX,EAAQ,EAAM,IAED,IACX,EAAO,EAAM,EAAQ,EAEjB,KAAK,aAAa,EAAiB,KACrC,KAAK,OAAO,EAAS,EAAkB,EAAa,EAAY,EAAa,EAAS,GACtF,EAAM,cAIV,KAAK,WAAa,GAAsB,EAAI,EAGzC,GACH,EAAM,QAGR,KAAK,WAAa,GAAsB,EAAI,CAChD,CAEE,IAAA,GACM,KAAK,aACP,GAAsB,OAAO,KAAK,YAClC,KAAK,WAAa,MAGpB,KAAK,MAAM,MACf,CAEE,YAAA,CAAa,EAAiB,GAE5B,IAAK,EAAiB,CACpB,IACE,iBACE,KAGJ,GAFmB,KAAK,WAAW,QAAO,CAAC,EAAc,IAAc,EAAU,OAAO,IAAkB,IAAc,GAGtH,OAAO,CAEV,CAYD,SAT2B,mBAAhB,GAA8B,MAIpC,KAAK,aAAe,KAAK,WAK1B,KAAK,MAAM,YAKnB,CAEE,MAAA,CAAO,EAAS,EAAkB,EAAa,EAAY,EAAa,EAAS,GAC/E,IACE,eACA,gBACA,WACA,MACA,iBACE,KACA,EAAS,EAAI,OACjB,EAAS,QAEL,EAAO,OAAS,EAAO,OACzB,EAAS,WAAW,EAAO,MAAO,EAAO,QAEzC,EAAS,WAAW,EAAc,GAGpC,IAAI,EAAa,EAAQ,SAAS,SAC9B,EAAc,EAAQ,SAAS,WAE9B,IAAqB,GAAuC,iBAAf,GAAkD,iBAAhB,KAE9E,EAAW,aACb,EAAO,MAAQ,EAAW,UAAU,KAEhC,EAAO,QACT,EAAO,MAAM,MAAQ,GAAG,OAAO,EAAO,MAAO,QAI7C,EAAY,aACd,EAAO,OAAS,EAAY,UAAU,KAElC,EAAO,QACT,EAAO,MAAM,OAAS,GAAG,OAAO,EAAO,OAAQ,SAKrD,IAAI,EAAS,EAAO,aAAe,EAAO,MACtC,EAAU,EAAO,cAAgB,EAAO,OAiB5C,GAfI,GAAoB,EAAW,YAAc,EAAY,aAC3D,EAAS,EAAW,UAAU,KAC9B,EAAU,EAAY,UAAU,MAGlC,EAAS,WAAW,EAAQ,GAEL,iBAAZ,GACT,EAAQ,aAAa,KAAK,GAAM,SAAS,GAGpB,iBAAZ,GACT,EAAQ,aAAa,KAAK,GAAM,SAAS,GAGjB,iBAAf,GAAkD,iBAAhB,EAA0B,CACrE,IAAI,EAAU,GAAU,EAAQ,aAAa,WAAW,aACpD,EAAS,EACT,EAAS,EAEb,GAA0B,iBAAf,EAAyB,CAClC,IAAI,EAAc,EAAQ,SAAS,SAE/B,EAAY,WACd,EAAS,EAAY,UAAU,KAAO,EAC5B,MAAM,EAAQ,MACxB,EAAS,EAAQ,GAAK,EAEhC,CAEM,GAA2B,iBAAhB,EAA0B,CACnC,IAAI,EAAe,EAAQ,SAAS,UAEhC,EAAa,WACf,EAAS,EAAa,UAAU,KAAO,EAC7B,MAAM,EAAQ,MACxB,EAAS,EAAQ,GAAK,EAEhC,CAEW,IACH,EAAS,GAGN,IACH,EAAS,GAGX,EAAQ,aAAa,SAAS,GAAM,SAAS,GAC7C,EAAQ,aAAa,UAAU,GAAM,SAAS,GAC9C,IAAI,EAAiB,EAAQ,SAAS,aAAa,GAAM,GACzD,EAAe,SAAS,GAAG,OAAO,EAAe,YAAa,WAAW,OAAO,EAAM,EAAQ,MAAM,OAAO,EAAM,EAAQ,KAC1H,CAGI,GACH,EAAI,UAAU,EAAG,EAAG,EAAQ,GAG9B,EAAQ,OAAO,GAEX,IACF,KAAK,eAAgB,EAE3B,EAGA,GAAO,cAAgB,GACvB,GAAO,aAAe,GAEtB,IACE,iBACE,GACA,UAA0B,UAAc,IAAc,UAAY,KACtE,MAAM,GACJ,WAAA,GACE,IACE,QAAQ,GACR,YAAY,IACV,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EAC1E,KAAK,MAAQ,EACb,KAAK,UAAY,CACrB,CAEE,KAAA,CAAM,GACJ,IAAI,EAAQ,KAEZ,OAAO,IAAkB,YACvB,OAAI,EAAS,WAAW,KACf,EAAM,gBAAgB,GAGxB,EAAM,KAAK,EACxB,GANW,EAOX,CAEE,eAAA,CAAgB,GACd,IAAI,EAAS,IAAI,KAAK,UAEtB,IACE,OAAO,KAAK,cAAc,EAAO,gBAAgB,EAAK,iBACvD,OACC,OAAO,KAAK,cAAc,EAAO,gBAAgB,EAAK,YAC5D,CACA,CAEE,aAAA,CAAc,GACZ,IAAI,EAAc,EAAS,qBAAqB,eAAe,GAE/D,GAAI,EACF,MAAM,IAAI,MAAM,EAAY,aAG9B,OAAO,CACX,CAEE,IAAA,CAAK,GACH,IAAI,EAAS,KAEb,OAAO,IAAkB,YACvB,IAAI,QAAiB,EAAO,MAAM,GAC9B,QAAY,EAAS,OACzB,OAAO,EAAO,gBAAgB,EACpC,GAJW,EAKX,EAIA,MAAM,GACJ,WAAA,CAAY,EAAG,GACb,KAAK,KAAO,YACZ,KAAK,MAAQ,KACb,KAAK,MAAQ,GAAM,MAAM,EAC7B,CAEE,KAAA,CAAM,GACJ,IACE,IACA,KACE,KAAK,MACT,EAAI,UAAU,GAAK,EAAK,GAAK,EACjC,CAEE,OAAA,CAAQ,GACN,IACE,IACA,KACE,KAAK,MACT,EAAI,WAAU,EAAO,GAAK,GAAK,EAAO,GAAK,EAC/C,CAEE,YAAA,CAAa,GACX,IACE,IACA,KACE,KAAK,MACT,EAAM,eAAe,CAAC,EAAG,EAAG,EAAG,EAAG,GAAK,EAAK,GAAK,GACrD,EAIA,MAAM,GACJ,WAAA,CAAY,EAAU,EAAQ,GAC5B,KAAK,KAAO,SACZ,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,GAAK,EACV,KAAK,GAAK,EACV,IAAI,EAAU,GAAU,GACxB,KAAK,MAAQ,IAAI,GAAS,EAAU,QAAS,EAAQ,IACrD,KAAK,QAAU,EAAgB,GAC/B,KAAK,QAAU,EAAgB,GAC/B,KAAK,GAAK,EAAQ,IAAM,EACxB,KAAK,GAAK,EAAQ,IAAM,CAC5B,CAEE,KAAA,CAAM,GACJ,IACE,KACA,KACA,UACA,UACA,SACE,KACA,EAAK,EAAK,EAAQ,UAAU,KAC5B,EAAK,EAAK,EAAQ,UAAU,KAChC,EAAI,UAAU,EAAI,GAClB,EAAI,OAAO,EAAM,cACjB,EAAI,WAAW,GAAK,EACxB,CAEE,OAAA,CAAQ,GACN,IACE,KACA,KACA,UACA,UACA,SACE,KACA,EAAK,EAAK,EAAQ,UAAU,KAC5B,EAAK,EAAK,EAAQ,UAAU,KAChC,EAAI,UAAU,EAAI,GAClB,EAAI,QAAO,EAAO,EAAM,cACxB,EAAI,WAAW,GAAK,EACxB,CAEE,YAAA,CAAa,GACX,IACE,KACA,KACA,SACE,KACA,EAAM,EAAM,aAChB,EAAM,eAAe,CAAC,EAAG,EAAG,EAAG,EAAG,GAAM,EAAK,GAAM,IAEnD,EAAM,eAAe,CAAC,KAAK,IAAI,GAAM,KAAK,IAAI,IAAO,KAAK,IAAI,GAAM,KAAK,IAAI,GAAM,EAAG,IACtF,EAAM,eAAe,CAAC,EAAG,EAAG,EAAG,GAAI,GAAM,GAAM,GAAM,GAEzD,EAIA,MAAM,GACJ,WAAA,CAAY,EAAG,EAAO,GACpB,KAAK,KAAO,QACZ,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,QAAU,KACf,IAAI,EAAY,GAAM,WAAW,IAEb,IAAhB,EAAU,GAA2B,IAAhB,EAAU,KACjC,EAAU,EAAI,GACd,EAAU,EAAI,IAGhB,KAAK,MAAQ,EACb,KAAK,QAAU,EAAgB,GAC/B,KAAK,QAAU,EAAgB,EACnC,CAEE,KAAA,CAAM,GACJ,IACE,OACE,IACA,KAEF,UACA,WACE,KACA,EAAK,EAAQ,UAAU,KACvB,EAAK,EAAQ,UAAU,KAC3B,EAAI,UAAU,EAAI,GAClB,EAAI,MAAM,EAAG,GAAK,GAClB,EAAI,WAAW,GAAK,EACxB,CAEE,OAAA,CAAQ,GACN,IACE,OACE,IACA,KAEF,UACA,WACE,KACA,EAAK,EAAQ,UAAU,KACvB,EAAK,EAAQ,UAAU,KAC3B,EAAI,UAAU,EAAI,GAClB,EAAI,MAAM,EAAM,EAAG,EAAM,GAAK,GAC9B,EAAI,WAAW,GAAK,EACxB,CAEE,YAAA,CAAa,GACX,IACE,IACA,KACE,KAAK,MACT,EAAM,eAAe,CAAC,GAAK,EAAK,EAAG,EAAG,GAAK,EAAK,EAAG,GACvD,EAIA,MAAM,GACJ,WAAA,CAAY,EAAG,EAAQ,GACrB,KAAK,KAAO,SACZ,KAAK,OAAS,GACd,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,OAAS,GAAU,GACxB,KAAK,QAAU,EAAgB,GAC/B,KAAK,QAAU,EAAgB,EACnC,CAEE,KAAA,CAAM,GACJ,IACE,UACA,UACA,UACE,KACA,EAAK,EAAQ,UAAU,KACvB,EAAK,EAAQ,UAAU,KAC3B,EAAI,UAAU,EAAI,GAClB,EAAI,UAAU,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAC5E,EAAI,WAAW,GAAK,EACxB,CAEE,OAAA,CAAQ,GACN,IACE,UACA,UACA,UACE,KACA,EAAI,EAAO,GACX,EAAI,EAAO,GACX,EAAI,EAAO,GACX,EAAI,EAAO,GACX,EAAI,EAAO,GACX,EAAI,EAAO,GAIX,EAAM,GAAK,GADP,EACY,EAFZ,EAEoB,GAAS,GAD7B,EACkC,EAHlC,EAG0C,GAAS,GAFnD,EAEwD,EAHxD,EAGgE,IACpE,EAAK,EAAQ,UAAU,KACvB,EAAK,EAAQ,UAAU,KAC3B,EAAI,UAAU,EAAI,GAClB,EAAI,UAAU,GALN,EAKa,EANb,EAMqB,GAAQ,GAP7B,EAOoC,EALpC,EAK4C,GAAQ,GANpD,EAM2D,EAL3D,EAKmE,GAAQ,GAL3E,EAKkF,EAPlF,EAO0F,GAAQ,GAAO,EAAI,EAAI,EAAI,GAAI,GAAO,EAAI,EAAI,EAAI,IACpJ,EAAI,WAAW,GAAK,EACxB,CAEE,YAAA,CAAa,GACX,EAAM,eAAe,KAAK,OAC9B,EAIA,MAAM,WAAa,GACjB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,OACZ,KAAK,MAAQ,KACb,KAAK,MAAQ,IAAI,GAAS,EAAU,QAAS,EACjD,EAIA,MAAM,WAAc,GAClB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,QACZ,KAAK,OAAS,CAAC,EAAG,EAAG,KAAK,IAAI,KAAK,MAAM,cAAe,EAAG,EAAG,EAClE,EAIA,MAAM,WAAc,GAClB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,QACZ,KAAK,OAAS,CAAC,EAAG,KAAK,IAAI,KAAK,MAAM,cAAe,EAAG,EAAG,EAAG,EAClE,EAaA,MAAM,GACJ,WAAA,CAAY,EAAU,EAAW,GAC/B,KAAK,SAAW,EAChB,KAAK,WAAa,GAClB,IAAI,EAbR,SAAyB,GACvB,OAAO,GAAe,GAAW,OAAO,QAAQ,gBAAiB,QAAQ,QAAQ,eAAgB,MAAM,MAAM,cAC/G,CAWe,CAAgB,GAC3B,EAAK,SAAQ,IACX,GAAkB,SAAd,EAIJ,KAAK,EAAM,GAfjB,SAAwB,GACtB,IAAK,EAAM,GAAS,EAAU,MAAM,KACpC,MAAO,CAAC,EAAK,OAAQ,EAAM,OAAO,QAAQ,IAAK,IACjD,CAY0B,CAAe,GAC/B,EAAgB,GAAU,eAAe,UAElC,EAAkB,KAC3B,KAAK,WAAW,KAAK,IAAI,EAAc,KAAK,SAAU,EAAO,GAAgB,IAGrF,CAEE,kBAAO,CAAY,EAAU,GAC3B,IAAI,EAAiB,EAAQ,SAAS,aAAa,GAAO,IACrD,EAA0B,EAA2B,GAA4B,EAAQ,SAAS,oBAAoB,GAAO,GAAM,QACpI,EAAkB,CAAC,EAA0B,GAEjD,OAAI,EAAe,WACV,IAAI,GAAU,EAAU,EAAe,YAAa,GAGtD,IACX,CAEE,KAAA,CAAM,GAMJ,QAJE,cACE,KACA,EAAM,EAAW,OAEZ,EAAI,EAAG,EAAI,EAAK,IACvB,EAAW,GAAG,MAAM,EAE1B,CAEE,OAAA,CAAQ,GAMN,QAJE,cACE,KAGK,EAFC,EAAW,OAEF,EAAG,GAAK,EAAG,IAC5B,EAAW,GAAG,QAAQ,EAEzB,CAGD,YAAA,CAAa,GAMX,QAJE,cACE,KACA,EAAM,EAAW,OAEZ,EAAI,EAAG,EAAI,EAAK,IACvB,EAAW,GAAG,aAAa,EAEjC,EAGA,GAAU,eAAiB,CACzB,UAAW,GACX,OAAQ,GACR,MAAO,GACP,OAAQ,GACR,MAAO,GACP,MAAO,IAGT,MAAM,GACJ,WAAA,CAAY,EAAU,GACpB,IAAI,EAAmB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GAYtF,GAXA,KAAK,SAAW,EAChB,KAAK,KAAO,EACZ,KAAK,iBAAmB,EACxB,KAAK,WAAa,CAAE,EACpB,KAAK,OAAS,CAAE,EAChB,KAAK,kBAAoB,CAAE,EAC3B,KAAK,iBAAkB,EACvB,KAAK,qBAAuB,GAC5B,KAAK,OAAS,KACd,KAAK,SAAW,GAEX,GAA0B,IAAlB,EAAK,SAYlB,IANA,MAAM,KAAK,EAAK,YAAY,SAAQ,IAClC,IAAI,EAAW,GAAuB,EAAU,UAChD,KAAK,WAAW,GAAY,IAAI,GAAS,EAAU,EAAU,EAAU,MAAK,IAE9E,KAAK,+BAED,KAAK,aAAa,SAAS,WAChB,KAAK,aAAa,SAAS,YAAY,MAAM,KAAK,KAAI,GAAK,EAAE,SACnE,SAAQ,IACb,GAAK,EAIL,KAAK,EAAM,GAAS,EAAM,MAAM,KAAK,KAAI,GAAK,EAAE,SAChD,KAAK,OAAO,GAAQ,IAAI,GAAS,EAAU,EAAM,EAAK,KAI1D,IACE,eACE,EACA,EAAK,KAAK,aAAa,MAEvB,EAAG,aACA,EAAY,EAAG,eAClB,EAAY,EAAG,aAAe,OAIlC,MAAM,KAAK,EAAK,YAAY,SAAQ,IAClC,GAA2B,IAAvB,EAAU,SACZ,KAAK,SAAS,QAAS,GACd,IAA4C,IAAvB,EAAU,UAAyC,IAAvB,EAAU,UAAiB,CACrF,IAAI,EAAW,EAAS,eAAe,GAEnC,EAAS,UAAU,OAAS,GAC9B,KAAK,SAAS,EAExB,IACK,CACL,CAEE,YAAA,CAAa,GACX,IAAI,EAAoB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GACnF,EAAO,KAAK,WAAW,GAE3B,IAAK,GAAQ,EAAmB,CAC9B,IAAI,EAAQ,IAAI,GAAS,KAAK,SAAU,EAAM,IAE9C,OAAA,KAAK,WAAW,GAAQ,EACjB,CACb,CAEI,OAAO,GAAQ,GAAS,MAAM,KAAK,SACvC,CAEE,gBAAA,GACE,QAAS,KAAO,KAAK,WACnB,GAAY,SAAR,GAAkB,EAAI,SAAS,SACjC,OAAO,KAAK,WAAW,GAI3B,OAAO,GAAS,MAAM,KAAK,SAC/B,CAEE,QAAA,CAAS,GACP,IAAI,EAAoB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GACnF,EAAgB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GAC/E,EAAQ,KAAK,OAAO,GAExB,GAAI,EACF,OAAO,EAGT,IAAI,EAAO,KAAK,aAAa,GAE7B,GAAa,MAAT,GAAoC,EAAK,WAC3C,OAAA,KAAK,OAAO,GAAQ,EAEb,EAGT,IAAK,EAAe,CAClB,IACE,UACE,KAEJ,GAAI,EAAQ,CACV,IAAI,EAAc,EAAO,SAAS,GAElC,GAAoB,MAAhB,GAAkD,EAAY,WAChE,OAAO,CAEjB,CACA,CAEI,GAAI,EAAmB,CACrB,IAAI,EAAS,IAAI,GAAS,KAAK,SAAU,EAAM,IAE/C,OAAA,KAAK,OAAO,GAAQ,EACb,CACb,CAEI,OAAO,GAAS,GAAS,MAAM,KAAK,SACxC,CAEE,MAAA,CAAO,GAGL,GAA6C,SAAzC,KAAK,SAAS,WAAW,aAAsE,WAA5C,KAAK,SAAS,cAAc,YAMnF,IAFA,EAAI,OAEA,KAAK,SAAS,QAAQ,WAAY,CAEpC,IAAI,EAAO,KAAK,SAAS,QAAQ,gBAE7B,IACF,KAAK,aAAa,GAClB,EAAK,MAAM,EAAK,MAExB,SAA4D,SAA7C,KAAK,SAAS,UAAU,SAAS,QAAoB,CAE9D,IAAI,EAAS,KAAK,SAAS,UAAU,gBAEjC,IACF,KAAK,aAAa,GAClB,EAAO,MAAM,EAAK,MAE1B,MACM,KAAK,WAAW,GAChB,KAAK,eAAe,GACpB,KAAK,aAAa,GAGpB,EAAI,SAAS,CACjB,CAEE,UAAA,CAAW,GACb,CAEE,YAAA,CAAa,GAEX,IAAI,EAAY,GAAU,YAAY,KAAK,SAAU,MAEjD,GACF,EAAU,MAAM,GAIlB,IAAI,EAAoB,KAAK,SAAS,aAAa,GAAO,GAE1D,GAAI,EAAkB,WAAY,CAChC,IAAI,EAAO,EAAkB,gBAEzB,GACF,EAAK,MAAM,EAEnB,CACA,CAEE,YAAA,CAAa,GACf,CAEE,cAAA,CAAe,GACb,KAAK,SAAS,SAAQ,IACpB,EAAM,OAAO,EAAG,GAEtB,CAEE,QAAA,CAAS,GACP,IAAI,EAAQ,aAAqB,GAAU,EAAY,KAAK,SAAS,cAAc,GACnF,EAAM,OAAS,KAEV,GAAQ,iBAAiB,SAAS,EAAM,OAC3C,KAAK,SAAS,KAAK,EAEzB,CAEE,eAAA,CAAgB,GACd,IAAI,GAGF,QACE,KAEJ,GAA4B,mBAAjB,EAAK,QACd,OAAO,EAAK,QAAQ,GAGtB,IAAI,EAA4D,QAA5C,EAAqB,EAAK,oBAAiD,IAAvB,OAAgC,EAAS,EAAmB,KAAK,EAAM,SAE/I,SAAK,GAAiC,KAAjB,IAId,EAAa,MAAM,KAAK,MAAK,GAAc,IAAI,OAAO,KAAgB,GACjF,CAEE,4BAAA,GACE,IACE,SACA,qBACE,KAAK,SAET,QAAS,KAAY,EACnB,IAAK,EAAS,WAAW,MAAQ,KAAK,gBAAgB,GAAW,CAC/D,IAAI,EAAQ,EAAO,GACf,EAAc,EAAkB,GAEpC,GAAI,EACF,QAAS,KAAQ,EAAO,CACtB,IAAI,EAAsB,KAAK,kBAAkB,UAEtC,EAAwB,MACjC,EAAsB,OAGpB,GAAe,IACjB,KAAK,OAAO,GAAQ,EAAM,GAC1B,KAAK,kBAAkB,GAAQ,EAE7C,CAEA,CAEA,CAEE,YAAA,CAAa,EAAS,GAYpB,OAXgB,EAAa,QAAO,CAAC,EAAW,KAC9C,IAAI,EAAY,EAAQ,SAAS,GAEjC,IAAK,EAAU,WACb,OAAO,EAGT,IAAI,EAAQ,EAAU,YACtB,OAAA,EAAU,SAAS,IACZ,IAAI,EAAW,CAAC,EAAM,GAAM,GAClC,GAEP,CAEE,aAAA,CAAc,EAAS,GACrB,EAAO,SAAQ,IACb,IAAK,EAAM,GAAS,EACpB,EAAQ,SAAS,GAAM,GAAM,SAAS,EAAK,GAEjD,CAEE,YAAA,GACE,IAAI,EAEJ,OAA6H,KAApF,QAAhC,EAAe,KAAK,cAAqC,IAAjB,OAA0B,EAAS,EAAa,SAAS,QAAQ,MACtH,EAGA,GAAQ,iBAAmB,CAAC,SAE5B,MAAM,WAAuB,GAC3B,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,EAC1B,EAIA,SAAS,GAAe,GACtB,IAAI,EAAU,EAAW,OACzB,MAAO,SAAS,KAAK,GAAW,EAAU,IAAK,OAAO,EAAS,IACjE,CAEA,SAAS,GAAkB,GACzB,cAAc,QAAY,IAAc,EAAa,EAAW,OAAO,MAAM,KAAK,IAAI,IAAgB,KAAK,IAC7G,CAQA,SAAS,GAAiB,GACxB,IAAK,EACH,MAAO,GAGT,IAAI,EAAkB,EAAU,OAAO,cAEvC,OAAQ,GACN,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,QACH,OAAO,EAET,QACE,MAAI,yBAAyB,KAAK,GACzB,EAGF,GAEb,CAQA,SAAS,GAAkB,GACzB,IAAK,EACH,MAAO,GAGT,IAAI,EAAmB,EAAW,OAAO,cAEzC,OAAQ,GACN,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,UACL,IAAK,UACL,IAAK,QACH,OAAO,EAET,QACE,MAAI,WAAW,KAAK,GACX,EAGF,GAEb,CAEA,MAAM,GACJ,WAAA,CAAY,EAAW,EAAa,EAAY,EAAU,EAAY,GACpE,IAAI,EAAc,EAA6B,iBAAZ,EAAuB,GAAK,MAAM,GAAW,EAAU,CAAE,EAC5F,KAAK,WAAa,GAAc,EAAY,WAC5C,KAAK,SAAW,GAAY,EAAY,SACxC,KAAK,UAAY,GAAa,EAAY,UAC1C,KAAK,WAAa,GAAc,EAAY,WAC5C,KAAK,YAAc,GAAe,EAAY,WAClD,CAEE,YAAO,GACL,IACI,EAAU,UAAU,OAAS,EAAI,UAAU,QAAK,EAChD,EAAY,GACZ,EAAc,GACd,EAAa,GACb,EAAW,GACX,EAAa,GACb,EAAQ,GAPD,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,IAO9C,OAAO,MAAM,KAC1C,EAAM,CACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,GAEf,OAAA,EAAM,SAAQ,IACZ,QAAQ,GACN,KAAM,EAAI,WAAa,GAAK,OAAO,SAAS,GAC7B,YAAT,IACF,EAAY,GAGd,EAAI,WAAY,EAChB,MAEF,KAAM,EAAI,aAAe,GAAK,SAAS,SAAS,GACjC,YAAT,IACF,EAAc,GAGhB,EAAI,WAAY,EAChB,EAAI,aAAc,EAClB,MAEF,KAAM,EAAI,YAAc,GAAK,QAAQ,SAAS,GAC/B,YAAT,IACF,EAAa,GAGf,EAAI,WAAY,EAChB,EAAI,aAAc,EAClB,EAAI,YAAa,EACjB,MAEF,KAAM,EAAI,SACK,YAAT,KACD,GAAY,EAAK,MAAM,MAG1B,EAAI,WAAY,EAChB,EAAI,aAAc,EAClB,EAAI,YAAa,EACjB,EAAI,UAAW,EACf,MAEF,QACe,YAAT,IACF,GAAc,GAG1B,IAEW,IAAI,GAAK,EAAW,EAAa,EAAY,EAAU,EAAY,EAC9E,CAEE,QAAA,GACE,MAAO,CAAC,GAAiB,KAAK,WAAY,KAAK,YAAa,GAAkB,KAAK,YAAa,KAAK,SACrG,GAAkB,KAAK,aAAa,KAAK,KAAK,MAClD,EAGA,GAAK,OAAS,gCACd,GAAK,SAAW,4BAChB,GAAK,QAAU,yEAEf,MAAM,GACJ,WAAA,GACE,IAAI,EAAK,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,OAAO,IAChF,EAAK,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,OAAO,IAChF,EAAK,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,OAAO,IAChF,EAAK,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,OAAO,IACpF,KAAK,GAAK,EACV,KAAK,GAAK,EACV,KAAK,GAAK,EACV,KAAK,GAAK,EACV,KAAK,SAAS,EAAI,GAClB,KAAK,SAAS,EAAI,EACtB,CAEE,KAAI,GACF,OAAO,KAAK,EAChB,CAEE,KAAI,GACF,OAAO,KAAK,EAChB,CAEE,SAAI,GACF,OAAO,KAAK,GAAK,KAAK,EAC1B,CAEE,UAAI,GACF,OAAO,KAAK,GAAK,KAAK,EAC1B,CAEE,QAAA,CAAS,EAAG,UACC,EAAM,OACX,MAAM,KAAK,KAAO,MAAM,KAAK,OAC/B,KAAK,GAAK,EACV,KAAK,GAAK,GAGR,EAAI,KAAK,KACX,KAAK,GAAK,GAGR,EAAI,KAAK,KACX,KAAK,GAAK,WAIH,EAAM,OACX,MAAM,KAAK,KAAO,MAAM,KAAK,OAC/B,KAAK,GAAK,EACV,KAAK,GAAK,GAGR,EAAI,KAAK,KACX,KAAK,GAAK,GAGR,EAAI,KAAK,KACX,KAAK,GAAK,GAGlB,CAEE,IAAA,CAAK,GACH,KAAK,SAAS,EAAG,KACrB,CAEE,IAAA,CAAK,GACH,KAAK,SAAS,KAAM,EACxB,CAEE,cAAA,CAAe,GACb,GAAK,EAIL,KACE,KACA,KACA,KACA,MACE,EACJ,KAAK,SAAS,EAAI,GAClB,KAAK,SAAS,EAAI,EAAE,CACxB,CAEE,QAAA,CAAS,EAAG,EAAI,EAAI,EAAI,GACtB,OAAO,KAAK,IAAI,EAAI,EAAG,GAAK,EAAK,EAAI,KAAK,IAAI,EAAI,EAAG,GAAK,EAAI,EAAK,GAAK,EAAI,GAAK,KAAK,IAAI,EAAG,GAAK,EAAK,KAAK,IAAI,EAAG,GAAK,CAC5H,CAEE,cAAA,CAAe,EAAM,EAAI,EAAI,EAAI,GAC/B,IAAI,EAAI,EAAI,EAAK,GAAK,EAAK,EAAI,EAC3B,GAAI,EAAK,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EACpC,EAAI,EAAI,EAAK,EAAI,EAErB,GAAU,IAAN,EAAJ,CAkBA,IAAI,EAAO,KAAK,IAAI,EAAG,GAAK,EAAI,EAAI,EAEpC,KAAI,EAAO,GAIX,KAAI,IAAO,EAAI,KAAK,KAAK,KAAU,EAAI,GAEnC,EAAI,GAAM,EAAK,IACb,EACF,KAAK,KAAK,KAAK,SAAS,EAAI,EAAI,EAAI,EAAI,IAExC,KAAK,KAAK,KAAK,SAAS,EAAI,EAAI,EAAI,EAAI,KAI5C,IAAI,IAAO,EAAI,KAAK,KAAK,KAAU,EAAI,GAEnC,EAAI,GAAM,EAAK,IACb,EACF,KAAK,KAAK,KAAK,SAAS,EAAI,EAAI,EAAI,EAAI,IAExC,KAAK,KAAK,KAAK,SAAS,EAAI,EAAI,EAAI,EAAI,IAAG,CAxBnD,KAhBI,CACE,GAAU,IAAN,EACF,OAGF,IAAI,GAAK,EAAI,EAET,EAAI,GAAK,EAAI,IACX,EACF,KAAK,KAAK,KAAK,SAAS,EAAG,EAAI,EAAI,EAAI,IAEvC,KAAK,KAAK,KAAK,SAAS,EAAG,EAAI,EAAI,EAAI,IAKjD,CA2BG,CAGD,cAAA,CAAe,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAChD,KAAK,SAAS,EAAK,GACnB,KAAK,SAAS,EAAK,GACnB,KAAK,gBAAe,EAAM,EAAK,EAAK,EAAK,GACzC,KAAK,gBAAe,EAAO,EAAK,EAAK,EAAK,EAC9C,CAEE,iBAAA,CAAkB,EAAK,EAAK,EAAK,EAAK,EAAK,GACzC,IAAI,EAAO,EAAM,mBAAS,EAAM,GAE5B,EAAO,EAAM,EAAI,GAAK,EAAM,GAE5B,EAAO,EAAO,EAAI,GAAK,EAAM,GAE7B,EAAO,EAAO,EAAI,GAAK,EAAM,GAEjC,KAAK,eAAe,EAAK,EAAK,EAAM,EAAM,EAAM,EAAM,EAAK,EAC/D,CAEE,YAAA,CAAa,EAAG,GACd,IACE,KACA,KACA,KACA,MACE,KACJ,OAAO,GAAM,GAAK,GAAK,GAAM,GAAM,GAAK,GAAK,CACjD,EAIA,MAAM,WAAmB,GACvB,WAAA,CAAY,GACV,MAAM,EACL,QAAQ,gBAAiB,MACzB,QAAQ,sCAAuC,KAChD,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,SAAW,KAAK,SACrB,KAAK,GAAI,EACT,KAAK,gBAAkB,KACvB,KAAK,OAAS,GACd,KAAK,OAAS,EAClB,CAEE,KAAA,GACE,KAAK,GAAI,EACT,KAAK,QAAU,KACf,KAAK,gBAAkB,KACvB,KAAK,MAAQ,IAAI,GAAM,EAAG,GAC1B,KAAK,QAAU,IAAI,GAAM,EAAG,GAC5B,KAAK,QAAU,IAAI,GAAM,EAAG,GAC5B,KAAK,OAAS,GACd,KAAK,OAAS,EAClB,CAEE,KAAA,GACE,IACE,IACA,YACE,KACJ,OAAO,GAAK,EAAS,OAAS,CAClC,CAEE,IAAA,GACE,IAAI,EAAU,KAAK,WAAW,KAAK,GACnC,OAAA,KAAK,gBAAkB,KAAK,QAC5B,KAAK,QAAU,EACR,CACX,CAEE,QAAA,GACE,IAAI,EAAQ,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,IAC5E,EAAQ,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,IAC5E,EAAQ,IAAI,GAAM,KAAK,QAAQ,GAAQ,KAAK,QAAQ,IACxD,OAAO,KAAK,aAAa,EAC7B,CAEE,iBAAA,CAAkB,EAAO,GACvB,IAAI,EAAQ,KAAK,SAAS,EAAO,GACjC,OAAA,KAAK,QAAU,EACR,CACX,CAEE,iBAAA,CAAkB,EAAO,GACvB,IAAI,EAAQ,KAAK,SAAS,EAAO,GACjC,OAAA,KAAK,QAAU,EACR,CACX,CAEE,wBAAA,GACE,IAAI,EAAkB,KAAK,gBAAgB,KAE3C,GAAI,IAAoB,GAAY,UAAY,IAAoB,GAAY,iBAAmB,IAAoB,GAAY,SAAW,IAAoB,GAAY,eAC5K,OAAO,KAAK,QAId,IACE,SACE,EAAG,EACH,EAAG,GAEL,SACE,EAAG,EACH,EAAG,IAEH,KAEJ,OADY,IAAI,GAAM,EAAI,EAAK,EAAI,EAAI,EAAK,EAEhD,CAEE,YAAA,CAAa,GACX,GAAI,KAAK,QAAQ,SAAU,CACzB,IACE,IACA,KACE,KAAK,QACT,EAAM,GAAK,EACX,EAAM,GAAK,CACjB,CAEI,OAAO,CACX,CAEE,SAAA,CAAU,EAAO,EAAM,GACrB,IACE,SACA,UACE,KAEA,GAAW,EAAO,OAAS,IAAM,EAAO,EAAO,OAAS,KAC1D,EAAO,EAAO,OAAS,GAAK,EAAO,EAAO,OAAS,GAAG,QAAQ,IAGhE,KAAK,eAAe,EAAO,EAAO,EAAK,QAAQ,GAAS,KAC5D,CAEE,cAAA,CAAe,EAAO,GACpB,KAAK,OAAO,KAAK,GACjB,KAAK,OAAO,KAAK,EACrB,CAEE,eAAA,GACE,OAAO,KAAK,MAChB,CAEE,eAAA,GAME,QAJE,UACE,KACA,EAAM,EAAO,OAER,EAAI,EAAG,EAAI,EAAK,IACvB,IAAK,EAAO,GACV,QAAS,EAAI,EAAI,EAAG,EAAI,EAAK,IAC3B,GAAI,EAAO,GAAI,CACb,EAAO,GAAK,EAAO,GACnB,KACZ,CAKI,OAAO,CACX,EAIA,MAAM,WAAwB,GAC5B,WAAA,GACE,SAAS,WACT,KAAK,qBAAsB,CAC/B,CAEE,gBAAA,GAKE,QAJI,EAAU,EAEV,EAAU,KAEP,GAAS,CACd,IAAI,EAAe,EAAQ,SAAS,WAAW,GAAO,GAElD,EAAa,UAAS,KACxB,GAAW,EAAa,aAG1B,EAAU,EAAQ,MACxB,CAEI,OAAO,CACX,CAEE,UAAA,CAAW,GACT,IAAI,EAAc,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GAEjF,IAAK,EAAa,CAGhB,IAAI,EAAgB,KAAK,SAAS,QAC9B,EAAuB,KAAK,SAAS,gBACrC,EAAkB,KAAK,SAAS,UAChC,EAAoB,KAAK,SAAS,kBAEtC,GAAI,EAAc,kBAAmB,CACnC,IAAI,EAAY,EAAc,uBAAuB,KAAM,GAEvD,IACF,EAAI,UAAY,EAE1B,SAAiB,EAAc,WAAY,CACD,iBAA9B,EAAc,aAChB,EAAc,SAAS,KAAK,SAAS,SAAS,YAGhD,IAAI,EAAa,EAAc,WAEZ,YAAf,IACF,EAAI,UAA2B,SAAf,EAAwB,gBAAkB,EAEpE,CAEM,GAAI,EAAqB,WAAY,CACnC,IAAI,EAAc,IAAI,GAAS,KAAK,SAAU,OAAQ,EAAI,WAAW,WAAW,GAAsB,WAEtG,EAAI,UAAY,CACjB,CAGD,GAAI,EAAgB,kBAAmB,CACrC,IAAI,EAAc,EAAgB,uBAAuB,KAAM,GAE3D,IACF,EAAI,YAAc,EAE5B,SAAiB,EAAgB,WAAY,CACD,iBAAhC,EAAgB,aAClB,EAAgB,SAAS,KAAK,SAAS,SAAS,YAGlD,IAAI,EAAe,EAAgB,YAEd,YAAjB,IACF,EAAI,YAA+B,SAAjB,EAA0B,gBAAkB,EAExE,CAEM,GAAI,EAAkB,WAAY,CAChC,IAAI,EAAgB,IAAI,GAAS,KAAK,SAAU,SAAU,EAAI,aAAa,WAAW,GAAmB,YAEzG,EAAI,YAAc,CAC1B,CAEM,IAAI,EAAuB,KAAK,SAAS,gBAEzC,GAAI,EAAqB,WAAY,CACnC,IAAI,EAAe,EAAqB,YACxC,EAAI,UAAa,GAAe,EAExC,CAEM,IAAI,EAAyB,KAAK,SAAS,kBACvC,EAA0B,KAAK,SAAS,mBACxC,EAAuB,KAAK,SAAS,qBAGrC,EAA2B,KAAK,SAAS,oBACzC,EAAuB,KAAK,SAAS,qBAmBzC,GAjBI,EAAuB,aACzB,EAAI,QAAU,EAAuB,aAGnC,EAAwB,aAC1B,EAAI,SAAW,EAAwB,aAGrC,EAAqB,aACvB,EAAI,WAAa,EAAqB,aAQpC,EAAyB,YAAuD,SAAzC,EAAyB,YAAwB,CAC1F,IAAI,EAAO,GAAU,EAAyB,oBAEnC,EAAI,YAAgB,IAC7B,EAAI,YAAY,UAEL,EAAI,eAAmB,IAEhC,EAAI,eAAiB,SAEV,EAAI,QAAY,MAAiC,IAAhB,EAAK,QAA4B,IAAZ,EAAK,MAEpE,EAAI,QAAU,GAGpB,IAAI,EAAS,EAAqB,mBAEvB,EAAI,eAAmB,IAChC,EAAI,eAAiB,SAEV,EAAI,qBAAyB,IAEtC,EAAI,qBAAuB,SAEhB,EAAI,cAAkB,MAE/B,EAAI,cAAgB,EAElC,CACK,CAKD,GAFA,KAAK,qBAAsB,SAEhB,EAAI,KAAS,IAAa,CACnC,IAAI,EAAgB,KAAK,SAAS,QAC9B,EAAqB,KAAK,SAAS,cACnC,EAAuB,KAAK,SAAS,gBACrC,EAAsB,KAAK,SAAS,eACpC,EAAoB,KAAK,SAAS,aAClC,EAAsB,KAAK,SAAS,eACpC,EAAO,IAAI,GAAK,EAAmB,YAAa,EAAqB,YAAa,EAAoB,YAAa,EAAkB,WAAa,GAAG,OAAO,EAAkB,WAAU,GAAO,MAAQ,GAAI,EAAoB,YAAa,GAAK,MAAM,EAAc,YAAa,EAAI,OAC1R,EAAmB,SAAS,EAAK,WACjC,EAAqB,SAAS,EAAK,aACnC,EAAoB,SAAS,EAAK,YAClC,EAAkB,SAAS,EAAK,UAChC,EAAoB,SAAS,EAAK,YAClC,EAAI,KAAO,EAAK,WAEZ,EAAkB,aACpB,KAAK,SAAS,OAAS,EAAkB,YACzC,KAAK,qBAAsB,EAEnC,CAES,IAEH,KAAK,aAAa,GAElB,EAAI,YAAc,KAAK,mBAE7B,CAEE,YAAA,CAAa,GACX,MAAM,aAAa,GAEf,KAAK,qBACP,KAAK,SAAS,WAEpB,EAIA,MAAM,WAAoB,GACxB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,OACZ,KAAK,WAAa,KAClB,KAAK,WAAa,IAAI,GAAW,KAAK,aAAa,KAAK,YAC5D,CAEE,IAAA,CAAK,GACH,IACE,cACE,KACA,EAAc,IAAI,GAOtB,IANA,EAAW,QAEP,GACF,EAAI,aAGE,EAAW,SACjB,OAAQ,EAAW,OAAO,MACxB,KAAK,GAAW,QACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,QACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,cACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,aACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,SACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,gBACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,QACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,eACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,IACd,KAAK,MAAM,EAAK,GAChB,MAEF,KAAK,GAAW,WACd,KAAK,MAAM,EAAK,GAKtB,OAAO,CACX,CAEE,cAAA,CAAe,GACb,OAAO,KAAK,MAChB,CAEE,UAAA,GACE,IACE,cACE,KACA,EAAS,EAAW,kBACpB,EAAS,EAAW,kBAExB,OADc,EAAO,KAAI,CAAC,EAAO,IAAM,CAAC,EAAO,EAAO,KAE1D,CAEE,cAAA,CAAe,GACb,KAAK,KAAK,GACV,KAAK,SAAS,OAAO,MAAM,UAAU,KAAM,GAC3C,IAAI,EAAoB,KAAK,SAAS,aAEhB,KAAlB,EAAI,YACyC,YAA3C,EAAkB,UAAU,WAC9B,EAAI,KAAK,EAAkB,aAE3B,EAAI,QAIgB,KAApB,EAAI,cACiD,uBAAnD,KAAK,aAAa,iBAAiB,aACrC,EAAI,OACJ,EAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAChC,EAAI,SACJ,EAAI,WAEJ,EAAI,UAIR,IAAI,EAAU,KAAK,aAEnB,GAAI,EAAS,CACX,IAAI,EAAmB,EAAQ,OAAS,EACpC,EAAuB,KAAK,SAAS,gBACrC,EAAqB,KAAK,SAAS,cACnC,EAAqB,KAAK,SAAS,cAEvC,GAAI,EAAqB,kBAAmB,CAC1C,IAAI,EAAS,EAAqB,iBAC7B,EAAO,GAAS,EAAQ,GAC7B,EAAO,OAAO,EAAK,EAAO,EAClC,CAEM,GAAI,EAAmB,kBAGrB,QAFI,EAAU,EAAmB,gBAExB,EAAI,EAAG,EAAI,EAAkB,IAAK,CACzC,IAAK,EAAQ,GAAU,EAAQ,GAE/B,EAAQ,OAAO,EAAK,EAAQ,EACtC,CAGM,GAAI,EAAmB,kBAAmB,CACxC,IAAI,EAAW,EAAmB,iBAE7B,EAAS,GAAW,EAAQ,GAEjC,EAAS,OAAO,EAAK,EAAS,EACtC,CACA,CACA,CAEE,YAAO,CAAM,GACX,IAAI,EAAQ,EAAW,oBACvB,OAAA,EAAW,MAAQ,EAAW,QACvB,CACL,QAEN,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,SACE,GAAY,MAAM,IAEpB,IACA,KACE,EACJ,EAAW,UAAU,GACrB,EAAY,SAAS,EAAG,GAEpB,GACF,EAAI,OAAO,EAAG,EAEpB,CAEE,YAAO,CAAM,GACX,IACE,WACE,EAEJ,MAAO,CACL,UACA,MAHU,EAAW,oBAK3B,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,UACA,SACE,GAAY,MAAM,IAEpB,IACA,KACE,EACJ,EAAW,UAAU,EAAO,GAC5B,EAAY,SAAS,EAAG,GAEpB,GACF,EAAI,OAAO,EAAG,EAEpB,CAEE,YAAO,CAAM,GACX,IACE,UACA,WACE,EACA,EAAQ,IAAI,IAAO,EAAQ,SAAW,EAAQ,EAAI,GAAK,EAAQ,EAAG,EAAQ,GAC9E,OAAA,EAAW,QAAU,EACd,CACL,UACA,QAEN,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,UACA,SACE,GAAY,MAAM,IAEpB,IACA,KACE,EACJ,EAAW,UAAU,EAAO,GAC5B,EAAY,SAAS,EAAG,GAEpB,GACF,EAAI,OAAO,EAAG,EAEpB,CAEE,YAAO,CAAM,GACX,IACE,UACA,WACE,EACA,EAAQ,IAAI,GAAM,EAAQ,GAAI,EAAQ,SAAW,EAAQ,EAAI,GAAK,EAAQ,GAC9E,OAAA,EAAW,QAAU,EACd,CACL,UACA,QAEN,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,UACA,SACE,GAAY,MAAM,IAEpB,IACA,KACE,EACJ,EAAW,UAAU,EAAO,GAC5B,EAAY,SAAS,EAAG,GAEpB,GACF,EAAI,OAAO,EAAG,EAEpB,CAEE,YAAO,CAAM,GACX,IACE,WACE,EAIJ,MAAO,CACL,UACA,MALU,EAAW,SAAS,KAAM,MAMpC,aALiB,EAAW,kBAAkB,KAAM,MAMpD,aALiB,EAAW,oBAOlC,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,UACA,QACA,eACA,gBACE,GAAY,MAAM,GACtB,EAAW,UAAU,EAAc,EAAc,GACjD,EAAY,eAAe,EAAQ,EAAG,EAAQ,EAAG,EAAM,EAAG,EAAM,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,GAE5H,GACF,EAAI,cAAc,EAAM,EAAG,EAAM,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAEvG,CAEE,YAAO,CAAM,GACX,IACE,WACE,EAIJ,MAAO,CACL,UACA,MALU,EAAW,2BAMrB,aALiB,EAAW,kBAAkB,KAAM,MAMpD,aALiB,EAAW,oBAOlC,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,UACA,QACA,eACA,gBACE,GAAY,MAAM,GACtB,EAAW,UAAU,EAAc,EAAc,GACjD,EAAY,eAAe,EAAQ,EAAG,EAAQ,EAAG,EAAM,EAAG,EAAM,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,GAE5H,GACF,EAAI,cAAc,EAAM,EAAG,EAAM,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAEvG,CAEE,YAAO,CAAM,GACX,IACE,WACE,EAGJ,MAAO,CACL,UACA,aAJiB,EAAW,kBAAkB,KAAM,MAKpD,aAJiB,EAAW,oBAMlC,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,UACA,eACA,gBACE,GAAY,MAAM,GACtB,EAAW,UAAU,EAAc,EAAc,GACjD,EAAY,kBAAkB,EAAQ,EAAG,EAAQ,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,GAE7G,GACF,EAAI,iBAAiB,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAExF,CAEE,YAAO,CAAM,GACX,IACE,WACE,EACA,EAAe,EAAW,2BAG9B,OAFA,EAAW,QAAU,EAEd,CACL,UACA,eACA,aAJiB,EAAW,oBAMlC,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,UACA,eACA,gBACE,GAAY,MAAM,GACtB,EAAW,UAAU,EAAc,EAAc,GACjD,EAAY,kBAAkB,EAAQ,EAAG,EAAQ,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,GAE7G,GACF,EAAI,iBAAiB,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAExF,CAEE,YAAO,CAAM,GACX,IACE,UACA,WACE,GAEF,KACA,KACA,OACA,WACA,aACE,EACA,EAAgB,GAAQ,KAAK,GAAK,KAClC,EAAe,EAAW,oBAI1B,EAAQ,IAAI,GAAM,KAAK,IAAI,IAAkB,EAAQ,EAAI,EAAa,GAAK,EAAM,KAAK,IAAI,IAAkB,EAAQ,EAAI,EAAa,GAAK,GAAM,KAAK,IAAI,IAAkB,EAAQ,EAAI,EAAa,GAAK,EAAM,KAAK,IAAI,IAAkB,EAAQ,EAAI,EAAa,GAAK,GAExQ,EAAI,KAAK,IAAI,EAAM,EAAG,GAAK,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,EAAM,EAAG,GAAK,KAAK,IAAI,EAAI,GAEjF,EAAI,IACN,GAAM,KAAK,KAAK,GAChB,GAAM,KAAK,KAAK,IAIlB,IAAI,GAAK,IAAa,GAAY,EAAK,GAAK,KAAK,MAAM,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,EAAM,EAAG,GAAK,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,EAAM,EAAG,KAAO,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,EAAM,EAAG,GAAK,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,EAAM,EAAG,KAExP,MAAM,KACR,EAAI,GAGN,IAAI,EAAM,IAAI,GAAM,EAAI,EAAK,EAAM,EAAI,EAAI,GAAK,EAAK,EAAM,EAAI,GAE3D,EAAQ,IAAI,IAAO,EAAQ,EAAI,EAAa,GAAK,EAAM,KAAK,IAAI,GAAiB,EAAI,EAAI,KAAK,IAAI,GAAiB,EAAI,GAAI,EAAQ,EAAI,EAAa,GAAK,EAAM,KAAK,IAAI,GAAiB,EAAI,EAAI,KAAK,IAAI,GAAiB,EAAI,GAE/N,EAAK,GAAa,CAAC,EAAG,GAAI,EAAE,EAAM,EAAI,EAAI,GAAK,GAAK,EAAM,EAAI,EAAI,GAAK,IAGvE,EAAI,EAAE,EAAM,EAAI,EAAI,GAAK,GAAK,EAAM,EAAI,EAAI,GAAK,GACjD,EAAI,GAAG,EAAM,EAAI,EAAI,GAAK,IAAM,EAAM,EAAI,EAAI,GAAK,GACnD,EAAK,GAAa,EAAG,GAEzB,OAAI,GAAa,EAAG,KAAM,IACxB,EAAK,KAAK,IAGR,GAAa,EAAG,IAAM,IACxB,EAAK,GAGA,CACL,eACA,KACA,KACA,YACA,gBACA,QACA,KACA,KAEN,CAEE,KAAA,CAAM,EAAK,GACT,IACE,cACE,MAEF,eACA,KACA,KACA,YACA,gBACA,QACA,KACA,MACE,GAAY,MAAM,GAElB,EAAM,EAAI,EAAY,GAAM,EAC5B,EAAK,EAAK,GAAO,EAAK,GACtB,EAAU,IAAI,GAAM,EAAM,EAAI,EAAK,KAAK,IAAI,GAAK,EAAM,EAAI,EAAK,KAAK,IAAI,IAK7E,GAJA,EAAW,eAAe,EAAS,EAAK,EAAM,KAAK,GAAK,GACxD,EAAW,eAAe,EAAc,EAAK,EAAM,KAAK,IACxD,EAAY,SAAS,EAAa,EAAG,EAAa,GAE9C,IAAQ,MAAM,KAAQ,MAAM,GAAK,CACnC,IAAI,EAAI,EAAK,EAAK,EAAK,EACnB,EAAK,EAAK,EAAK,EAAI,EAAK,EACxB,EAAK,EAAK,EAAK,EAAK,EAAK,EAC7B,EAAI,UAAU,EAAM,EAAG,EAAM,GAC7B,EAAI,OAAO,GACX,EAAI,MAAM,EAAI,GACd,EAAI,IAAI,EAAG,EAAG,EAAG,EAAI,EAAK,KAAY,EAAI,IAC1C,EAAI,MAAM,EAAI,EAAI,EAAI,GACtB,EAAI,QAAQ,GACZ,EAAI,WAAW,EAAM,GAAI,EAAM,EACrC,CACA,CAEE,YAAO,CAAM,GACX,EAAW,QAAU,EAAW,KACpC,CAEE,KAAA,CAAM,EAAK,GACT,GAAY,MAAM,KAAK,YAEnB,GAEE,EAAY,KAAO,EAAY,IAAM,EAAY,KAAO,EAAY,IACtE,EAAI,WAGZ,EAIA,MAAM,WAAqB,GACzB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,QACZ,KAAK,UAAY,KAAK,aAAa,eAAe,YAClD,KAAK,QAAU,KAAK,aAAa,WAAW,YAC5C,KAAK,WAAa,KAAK,aAAa,eAAe,WACvD,EAIA,MAAM,WAAoB,GACxB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,eAAqB,IAAqB,GAC1D,KAAK,KAAO,OACZ,KAAK,EAAI,EACT,KAAK,EAAI,EACT,KAAK,cAAe,CACxB,CAEE,UAAA,CAAW,GACT,IAAI,EAAc,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GACjF,MAAM,WAAW,EAAK,GACtB,IAAI,EAAe,KAAK,SAAS,qBAAqB,mBAAqB,KAAK,SAAS,sBAAsB,kBAE3G,IACF,EAAI,aAAe,EAEzB,CAEE,qBAAA,GACE,KAAK,EAAI,EACT,KAAK,EAAI,EACT,KAAK,UAAY,GACjB,KAAK,eAAiB,EACtB,KAAK,KAAO,OAAO,kBACnB,KAAK,KAAO,OAAO,iBACvB,CAEE,cAAA,CAAe,GACb,GAAkB,SAAd,KAAK,KACP,OAAO,KAAK,uBAAuB,GAIrC,KAAK,wBACL,KAAK,gCAAgC,GACrC,IAAI,EAAc,KAElB,OAAA,KAAK,SAAS,SAAQ,CAAC,EAAG,KACxB,IAAI,EAAmB,KAAK,oBAAoB,EAAK,KAAM,KAAM,GAE5D,EAGH,EAAY,eAAe,GAF3B,EAAc,KAKX,CACX,CAEE,WAAA,GACE,IACE,WACA,UACE,KACA,EAAkB,GAAK,MAAM,EAAS,IAAI,MAAM,SAEpD,OADe,EAAO,SAAS,aAAa,UAAU,EAE1D,CAEE,sBAAA,CAAuB,GACrB,IAAI,EAAW,KAAK,cACpB,OAAO,IAAI,GAAY,KAAK,EAAG,KAAK,EAAI,EAAU,KAAK,EAAI,KAAK,YAAY,GAAM,KAAK,EAC3F,CAEE,QAAA,CAAS,EAAM,EAAM,GACnB,IAAI,EAAO,EAAK,GACZ,EAAQ,KAEZ,GAAI,EAAK,SAAU,CACjB,IAAI,EAAM,EAAK,OACX,EAAW,EAAK,EAAI,GACpB,EAAW,EAAK,EAAI,GACpB,EAAa,WAcjB,IAZW,IAAN,GAAwB,MAAb,IAAqB,EAAI,EAAM,GAAkB,MAAb,IAClD,EAAa,YAGX,EAAI,GAAkB,MAAb,GAAoB,EAAI,EAAM,GAAkB,MAAb,IAC9C,EAAa,UAGX,EAAI,GAAkB,MAAb,IAAqB,IAAM,EAAM,GAAkB,MAAb,KACjD,EAAa,kBAGJ,EAAK,OAAO,GAAU,IAAa,CAE5C,IAAI,EAAa,EAAK,OAAO,GAC7B,EAAQ,aAAsB,GAAe,EAAa,EAAW,EAC7E,CACA,MACM,EAAQ,EAAK,OAAO,GAGtB,OAAK,IACH,EAAQ,EAAK,cAGR,CACX,CAEE,OAAA,GACE,MAAO,EACX,CAEE,eAAA,CAAgB,GACd,IAAI,EAAW,GAAQ,KAAK,KACxB,EAAa,MAAM,KAAK,EAAS,WAAW,YAC5C,EAAQ,EAAW,QAAQ,GAC3B,EAAY,EAAW,OAAS,EAChC,EAAO,GAEX,EAAS,aAAe,IAExB,OAAc,IAAV,IACF,EAAO,GAAS,IAGd,IAAU,IACZ,EAAO,GAAU,IAGZ,CACX,CAEE,cAAA,CAAe,GACb,GAAkB,SAAd,KAAK,KAAT,CAMA,KAAK,wBACL,KAAK,gCAAgC,GAErC,KAAK,SAAS,SAAQ,CAAC,EAAG,KACxB,KAAK,YAAY,EAAK,KAAM,KAAM,EAAC,IAErC,IACE,SACE,KAAK,SAAS,OAEd,EAAM,aACR,EAAM,iBAAiB,KAAM,KAAK,eAAe,GAdlD,MAFC,KAAK,uBAAuB,EAkBlC,CAEE,sBAAA,CAAuB,GACrB,IACE,WACA,UACE,KACA,EAAa,KAAK,UAClB,EAAa,EAAO,SAAS,eAAe,gBAEhD,GAAI,EAYF,QAVE,cACE,EAAW,SACX,EAAU,GAAK,MAAM,EAAS,IAAI,MAClC,EAAW,EAAO,SAAS,aAAa,UAAU,EAAQ,UAC1D,EAAY,EAAO,SAAS,cAAc,UAAU,EAAQ,WAC5D,EAAQ,EAAW,EACnB,EAAO,EAAW,MAAQ,EAAW,MAAM,IAAI,UAAU,KAAK,IAAM,EACpE,EAAK,GAAU,EAAO,aAAa,MAAM,aACzC,EAAM,EAAK,OAEN,EAAI,EAAG,EAAI,EAAK,IAAK,CAC5B,IAAI,EAAQ,KAAK,SAAS,EAAY,EAAM,GAC5C,EAAI,UAAU,KAAK,EAAG,KAAK,GAC3B,EAAI,MAAM,GAAQ,GAClB,IAAI,EAAK,EAAI,UACb,EAAI,UAAY,EAAI,UAAY,EAAa,EAE3B,WAAd,GACF,EAAI,UAAU,EAAG,EAAG,GAAI,EAAG,EAAG,GAGhC,EAAM,OAAO,GAEK,WAAd,GACF,EAAI,UAAU,EAAG,GAAG,GAAK,EAAG,EAAG,GAGjC,EAAI,UAAY,EAChB,EAAI,MAAM,EAAI,GAAO,EAAK,GAC1B,EAAI,WAAW,KAAK,GAAI,KAAK,GAC7B,KAAK,GAAK,GAAY,EAAM,WAAa,EAAW,WAAa,SAEtD,EAAG,GAAO,MAAgB,MAAM,EAAG,MAC5C,KAAK,GAAK,EAAG,GAEvB,KArCI,CA0CA,IACE,IACA,KACE,KAUA,EAAI,WACN,EAAI,SAAS,EAAY,EAAG,GAG1B,EAAI,aACN,EAAI,WAAW,EAAY,EAAG,EApBpC,CAuBA,CAEE,cAAA,GACE,KAAI,KAAK,gBAAkB,KAAK,UAAU,QAO1C,KAAI,EAAe,KAAK,UAAU,KAAK,gBACnC,EAAa,EAAa,SAAS,eAAe,UAAU,SAG5D,EAAQ,EAGV,EADiB,UAAf,EACM,EAAa,EAAI,KAAK,KACN,QAAf,EACD,EAAa,EAAI,KAAK,KAEtB,EAAa,GAAK,KAAK,KAAO,KAAK,MAAQ,EAGrD,QAAS,EAAI,KAAK,eAAgB,EAAI,KAAK,UAAU,OAAQ,IAC3D,KAAK,UAAU,GAAG,GAAK,EAIzB,KAAK,KAAO,OAAO,kBACnB,KAAK,KAAO,OAAO,kBACnB,KAAK,eAAiB,KAAK,UAAU,MAAA,CACzC,CAEE,+BAAA,CAAgC,GAC9B,KAAK,SAAS,SAAQ,CAAC,EAAG,KACxB,KAAK,oCAAoC,EAAK,KAAM,KAAM,EAAC,IAE7D,KAAK,gBACT,CAEE,mCAAA,CAAoC,EAAK,EAAY,EAAQ,GAC3D,IAAI,EAAQ,EAAO,SAAS,GAExB,EAAM,SAAS,OAAS,EAC1B,EAAM,SAAS,SAAQ,CAAC,EAAG,KACzB,EAAW,oCAAoC,EAAK,EAAY,EAAO,EAAC,IAI1E,KAAK,uBAAuB,EAAK,EAAY,EAAQ,EAE3D,CAEE,sBAAA,CAAuB,EAAK,EAAY,EAAQ,GAC9C,IAAI,EAAQ,EAAO,SAAS,GAE5B,GAAiC,mBAAtB,EAAM,YACf,OAAO,EAGT,EAAI,OACJ,EAAM,WAAW,GAAK,GACtB,IAAI,EAAQ,EAAM,aAAa,KAC3B,EAAQ,EAAM,aAAa,KAC3B,EAAS,EAAM,aAAa,MAC5B,EAAS,EAAM,aAAa,MAC5B,EAAa,EAAM,SAAS,eAAe,gBAC3C,IAAgB,GAAe,EAAW,MAEpC,IAAN,IAGG,EAAM,YACT,EAAM,SAAS,EAAM,sBAAsB,MAGxC,EAAM,YACT,EAAM,SAAS,EAAM,sBAAsB,MAGxC,EAAO,YACV,EAAO,SAAS,EAAM,sBAAsB,OAGzC,EAAO,YACV,EAAO,SAAS,EAAM,sBAAsB,QAIhD,IAAI,EAAQ,EAAM,YAAY,GAE9B,OAAI,IACF,EAAW,GAAK,GAGd,EAAM,YAER,EAAW,iBACX,EAAM,EAAI,EAAM,UAAU,KAEtB,EAAO,aACT,EAAM,GAAK,EAAO,UAAU,QAG1B,EAAO,aACT,EAAW,GAAK,EAAO,UAAU,MAGnC,EAAM,EAAI,EAAW,GAGvB,EAAW,EAAI,EAAM,EAEhB,IACH,EAAW,GAAK,GAGd,EAAM,YACR,EAAM,EAAI,EAAM,UAAU,KAEtB,EAAO,aACT,EAAM,GAAK,EAAO,UAAU,QAG1B,EAAO,aACT,EAAW,GAAK,EAAO,UAAU,MAGnC,EAAM,EAAI,EAAW,GAGvB,EAAW,EAAI,EAAM,EAErB,EAAW,UAAU,KAAK,GAC1B,EAAW,KAAO,KAAK,IAAI,EAAW,KAAM,EAAM,EAAG,EAAM,EAAI,GAC/D,EAAW,KAAO,KAAK,IAAI,EAAW,KAAM,EAAM,EAAG,EAAM,EAAI,GAC/D,EAAM,aAAa,GACnB,EAAI,UACG,CACX,CAEE,mBAAA,CAAoB,EAAK,EAAY,EAAQ,GAC3C,IAAI,EAAQ,EAAO,SAAS,GAE5B,GAAoC,mBAAzB,EAAM,eACf,OAAO,KAGT,IAAI,EAAc,EAAM,eAAe,GAEvC,OAAK,GAIL,EAAM,SAAS,SAAQ,CAAC,EAAG,KACzB,IAAI,EAAmB,EAAW,oBAAoB,EAAK,EAAY,EAAO,GAC9E,EAAY,eAAe,EAAgB,IAEtC,GAPE,IAQb,CAEE,WAAA,CAAY,EAAK,EAAY,EAAQ,GACnC,IAAI,EAAQ,EAAO,SAAS,GAC5B,EAAM,OAAO,GACb,EAAM,SAAS,SAAQ,CAAC,EAAG,KACzB,EAAW,YAAY,EAAK,EAAY,EAAO,EAAC,GAEtD,CAEE,WAAA,CAAY,GACV,IACE,gBACE,KAEJ,IAAK,EACH,OAAO,EAGT,IAAI,EAAa,KAAK,UAClB,EAAU,KAAK,kBAAkB,EAAK,GAC1C,OAAA,KAAK,aAAe,EACb,CACX,CAEE,iBAAA,CAAkB,EAAK,GACrB,IAAK,EAAW,OACd,OAAO,EAGT,IACE,UACE,KACA,EAAa,EAAO,SAAS,eAAe,gBAEhD,GAAI,EAAY,CAOd,QANI,EAAW,KAAK,cAChB,EAAO,EAAW,MAAQ,EAAW,MAAM,IAAI,UAAU,KAAK,IAAM,EACpE,EAAK,GAAU,EAAO,aAAa,MAAM,aACzC,EAAM,EAAK,OACX,EAAW,EAEN,EAAI,EAAG,EAAI,EAAK,IAAK,CAE5B,IADY,KAAK,SAAS,EAAY,EAAM,GACzB,WAAa,EAAW,WAAa,EAAW,EAAW,SAAS,kBAE5E,EAAG,GAAO,MAAgB,MAAM,EAAG,MAC5C,GAAY,EAAG,GAEzB,CAEM,OAAO,CACb,CAEI,IAAK,EAAI,YACP,OAA2B,GAApB,EAAW,OAGpB,EAAI,OACJ,KAAK,WAAW,GAAK,GACrB,IACE,MAAO,GACL,EAAI,YAAY,GACpB,OAAA,KAAK,aAAa,GAClB,EAAI,UACG,CACX,CASE,qBAAA,CAAsB,GAIpB,QAFI,EAAU,KAEP,aAAmB,IAAe,EAAQ,gBAAgB,CAC/D,IAAI,EAAa,EAAQ,OAAO,aAAa,GAE7C,GAAI,EAAW,UAAS,GACtB,OAAO,EAAW,SAAS,KAG7B,EAAU,EAAQ,MACxB,CAEI,OAAO,IACX,EAIA,MAAM,WAAqB,GACzB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,eAAqB,IAAsB,GAC3D,KAAK,KAAO,QAEZ,KAAK,KAAO,KAAK,SAAS,OAAS,EAAI,GAAK,KAAK,iBACrD,CAEE,OAAA,GACE,OAAO,KAAK,IAChB,EAIA,MAAM,WAAiB,GACrB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,UAChB,EAIA,MAAM,WAAmB,GACvB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,MACZ,KAAK,MAAO,CAChB,CAEE,UAAA,CAAW,GACT,IAAI,GAGF,YACE,MAEF,SACA,UACE,EACA,EAAS,EAAI,OAGjB,GAFA,EAAO,YAAY,GAEf,EAAO,cAAgB,EAAI,KAAS,KAAe,UAAiB,EAAO,iBAAqB,IAAa,CAC/G,EAAI,KAAO,EAAO,iBAAiB,GAAQ,iBAAiB,QAC5D,IAAI,EAAe,IAAI,GAAS,EAAU,WAAY,GAAK,MAAM,EAAI,MAAM,UAEvE,EAAa,aACf,EAAS,WAAa,EAAa,UAAU,KAC7C,EAAS,OAAS,EAAS,WAE9B,CAGI,KAAK,aAAa,KAAK,YAC1B,KAAK,aAAa,KAAK,GAAM,SAAS,GAGnC,KAAK,aAAa,KAAK,YAC1B,KAAK,aAAa,KAAK,GAAM,SAAS,GAGxC,IACE,QACA,UACE,EAAO,SAEN,KAAK,SAAS,SAAS,YAC1B,KAAK,SAAS,SAAS,GAAM,SAAS,QAGnC,KAAK,SAAS,UAAU,YAC3B,KAAK,SAAS,UAAU,GAAM,SAAS,QAGpC,KAAK,SAAS,SAAS,YAC1B,KAAK,SAAS,SAAS,GAAM,SAAS,SAGxC,IAAI,EAAW,KAAK,aAAa,QAC7B,EAAW,KAAK,aAAa,QAC7B,EAAc,KAAK,aAAa,WAChC,EAAU,EAAY,WAAa,GAAU,EAAY,aAAe,KACxE,GAAQ,KAAK,MAAyD,YAAjD,KAAK,SAAS,YAAY,SAAS,UACxD,EAAO,EACP,EAAO,EACP,EAAQ,EACR,EAAQ,EAER,IACF,EAAO,EAAQ,GACf,EAAO,EAAQ,IAGZ,KAAK,OACR,EAAQ,KAAK,SAAS,SAAS,UAAU,KACzC,EAAS,KAAK,SAAS,UAAU,UAAU,KAEzB,WAAd,KAAK,OACP,EAAQ,EACR,EAAQ,EACR,EAAO,EACP,EAAO,IAIX,EAAO,SAAS,WAAW,EAAO,GAG9B,KAAK,QACJ,KAAK,QAAsJ,mBAAxF,QAAlD,EAAwB,KAAK,KAAK,kBAAkD,IAA1B,OAAmC,EAAS,EAAsB,YAAkC,KAAK,SAAS,aAAa,GAAO,GAAM,aAAe,KAAK,SAAS,oBAAoB,GAAO,GAAM,YACxR,KAAK,SAAS,oBAAoB,GAAM,GAAM,SAAS,WAGzD,MAAM,WAAW,GACjB,EAAI,UAAU,KAAK,aAAa,KAAK,UAAU,KAAM,KAAK,aAAa,KAAK,UAAU,MAElF,IACF,EAAQ,EAAQ,GAChB,EAAS,EAAQ,IAGnB,EAAS,WAAW,CAClB,MACA,YAAa,KAAK,aAAa,uBAAuB,YACtD,MAAO,EAAO,SAAS,MACvB,aAAc,EACd,OAAQ,EAAO,SAAS,OACxB,cAAe,EACf,OACA,OACA,KAAM,EAAS,WACf,KAAM,EAAS,WACf,OACA,QACA,UAGE,IACF,EAAO,SAAS,gBAChB,EAAO,SAAS,WAAW,EAAO,GAExC,CAEE,YAAA,CAAa,GACX,MAAM,aAAa,GACnB,KAAK,SAAS,OAAO,SAAS,eAClC,CASE,MAAA,CAAO,GACL,IAAI,EAAS,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,EAC7E,EAAsB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GACrF,EAAY,KAAK,aAAa,SAAS,GACvC,EAAa,KAAK,aAAa,UAAU,GACzC,EAAc,KAAK,aAAa,WAChC,EAAY,KAAK,aAAa,SAC9B,EAAc,EAAU,UAAU,GAClC,EAAe,EAAW,UAAU,GAExC,GAAI,EACF,GAAmC,iBAAxB,EACT,KAAK,aAAa,uBAAuB,GAAM,SAAS,OACnD,CACL,IAAI,EAA0B,KAAK,aAAa,uBAE5C,EAAwB,YAC1B,EAAwB,SAAS,EAAwB,YAAY,QAAQ,mBAAoB,MAE3G,CAUI,GAPA,EAAU,SAAS,GACnB,EAAW,SAAS,GAEf,EAAY,YACf,EAAY,SAAS,OAAO,OAAO,GAAe,EAAO,KAAK,OAAO,GAAgB,IAGnF,EAAU,WAAY,CACxB,IAAI,EAAa,KAAK,SAAS,SAC3B,EAAc,KAAK,SAAS,UAE5B,EAAW,YACb,EAAW,SAAS,GAAG,OAAO,EAAO,OAGnC,EAAY,YACd,EAAY,SAAS,GAAG,OAAO,EAAQ,MAE/C,CACA,EAIA,MAAM,WAAoB,GACxB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,MAChB,CAEE,IAAA,CAAK,GACH,IAAI,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAQ,KAAK,SAAS,SAAS,GAAO,GAAM,UAAU,KACtD,EAAS,KAAK,SAAS,UAAU,GAAO,GAAM,UAAU,KACxD,EAAS,KAAK,aAAa,MAC3B,EAAS,KAAK,aAAa,MAC3B,EAAK,EAAO,UAAU,KACtB,EAAK,EAAO,UAAU,KAa1B,GAXI,EAAO,aAAe,EAAO,aAC/B,EAAK,GAGH,EAAO,aAAe,EAAO,aAC/B,EAAK,GAGP,EAAK,KAAK,IAAI,EAAI,EAAQ,GAC1B,EAAK,KAAK,IAAI,EAAI,EAAS,GAEvB,EAAK,CACP,IAAI,GAAc,KAAK,KAAK,GAAK,GAAK,EAA1B,EACZ,EAAI,YAEA,EAAS,GAAK,EAAQ,IACxB,EAAI,OAAO,EAAI,EAAI,GACnB,EAAI,OAAO,EAAI,EAAQ,EAAI,GAC3B,EAAI,cAAc,EAAI,EAAQ,EAAK,EAAQ,EAAI,EAAG,EAAI,EAAO,EAAI,EAAK,EAAQ,EAAI,EAAI,EAAO,EAAI,GACjG,EAAI,OAAO,EAAI,EAAO,EAAI,EAAS,GACnC,EAAI,cAAc,EAAI,EAAO,EAAI,EAAS,EAAK,EAAQ,EAAI,EAAI,EAAQ,EAAK,EAAQ,EAAI,EAAI,EAAQ,EAAI,EAAQ,EAAI,EAAI,GACxH,EAAI,OAAO,EAAI,EAAI,EAAI,GACvB,EAAI,cAAc,EAAI,EAAK,EAAQ,EAAI,EAAI,EAAQ,EAAG,EAAI,EAAS,EAAK,EAAQ,EAAI,EAAG,EAAI,EAAS,GACpG,EAAI,OAAO,EAAG,EAAI,GAClB,EAAI,cAAc,EAAG,EAAI,EAAK,EAAQ,EAAI,EAAI,EAAK,EAAQ,EAAI,EAAG,EAAI,EAAI,GAC1E,EAAI,YAEZ,CAEI,OAAO,IAAI,GAAY,EAAG,EAAG,EAAI,EAAO,EAAI,EAChD,CAEE,UAAA,GACE,OAAO,IACX,EAIA,MAAM,WAAsB,GAC1B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,QAChB,CAEE,IAAA,CAAK,GACH,IAAI,EAAK,KAAK,aAAa,MAAM,UAAU,KACvC,EAAK,KAAK,aAAa,MAAM,UAAU,KACvC,EAAI,KAAK,aAAa,KAAK,YAE/B,OAAI,GAAO,EAAI,IACb,EAAI,YACJ,EAAI,IAAI,EAAI,EAAI,EAAG,EAAa,EAAV,KAAK,IAAQ,GACnC,EAAI,aAGC,IAAI,GAAY,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,EACxD,CAEE,UAAA,GACE,OAAO,IACX,EAIA,MAAM,WAAuB,GAC3B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,SAChB,CAEE,IAAA,CAAK,GACH,IAAI,GAAc,KAAK,KAAK,GAAK,GAAK,EAA1B,EACR,EAAK,KAAK,aAAa,MAAM,UAAU,KACvC,EAAK,KAAK,aAAa,MAAM,UAAU,KACvC,EAAK,KAAK,aAAa,MAAM,UAAU,KACvC,EAAK,KAAK,aAAa,MAAM,UAAU,KAE3C,OAAI,GAAO,EAAK,GAAK,EAAK,IACxB,EAAI,YACJ,EAAI,OAAO,EAAK,EAAI,GACpB,EAAI,cAAc,EAAK,EAAI,EAAK,EAAQ,EAAI,EAAK,EAAQ,EAAI,EAAK,EAAI,EAAI,EAAK,GAC/E,EAAI,cAAc,EAAK,EAAQ,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAQ,EAAI,EAAK,EAAI,GAC/E,EAAI,cAAc,EAAK,EAAI,EAAK,EAAQ,EAAI,EAAK,EAAQ,EAAI,EAAK,EAAI,EAAI,EAAK,GAC/E,EAAI,cAAc,EAAK,EAAQ,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAQ,EAAI,EAAK,EAAI,GAC/E,EAAI,aAGC,IAAI,GAAY,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAC3D,CAEE,UAAA,GACE,OAAO,IACX,EAIA,MAAM,WAAoB,GACxB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,MAChB,CAEE,SAAA,GACE,MAAO,CAAC,IAAI,GAAM,KAAK,aAAa,MAAM,UAAU,KAAM,KAAK,aAAa,MAAM,UAAU,MAAO,IAAI,GAAM,KAAK,aAAa,MAAM,UAAU,KAAM,KAAK,aAAa,MAAM,UAAU,MAC3L,CAEE,IAAA,CAAK,GACH,KACE,EAAG,EACH,EAAG,IAEH,EAAG,EACH,EAAG,IACA,KAAK,YAEV,OAAI,IACF,EAAI,YACJ,EAAI,OAAO,EAAI,GACf,EAAI,OAAO,EAAI,IAGV,IAAI,GAAY,EAAI,EAAI,EAAI,EACvC,CAEE,UAAA,GACE,IAAK,EAAI,GAAM,KAAK,YAChB,EAAI,EAAG,QAAQ,GACnB,MAAO,CAAC,CAAC,EAAI,GAAI,CAAC,EAAI,GAC1B,EAIA,MAAM,WAAwB,GAC5B,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,WACZ,KAAK,OAAS,GACd,KAAK,OAAS,GAAM,UAAU,KAAK,aAAa,UAAU,YAC9D,CAEE,IAAA,CAAK,GACH,IACE,UACE,OAEF,EAAG,EACH,EAAG,IACA,EACD,EAAc,IAAI,GAAY,EAAI,GAEtC,OAAI,IACF,EAAI,YACJ,EAAI,OAAO,EAAI,IAGjB,EAAO,SAAQ,IACb,IACE,IACA,KACE,EACJ,EAAY,SAAS,EAAG,GAEpB,GACF,EAAI,OAAO,EAAG,EAAC,IAGZ,CACX,CAEE,UAAA,GACE,IACE,UACE,KACA,EAAY,EAAO,OAAS,EAC5B,EAAU,GACd,OAAA,EAAO,SAAQ,CAAC,EAAO,KACjB,IAAM,GAIV,EAAQ,KAAK,CAAC,EAAO,EAAM,QAAQ,EAAO,EAAI,KAAI,IAGhD,EAAQ,OAAS,GACnB,EAAQ,KAAK,CAAC,EAAO,EAAO,OAAS,GAAI,EAAQ,EAAQ,OAAS,GAAG,KAGhE,CACX,EAIA,MAAM,WAAuB,GAC3B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,SAChB,CAEE,IAAA,CAAK,GACH,IAAI,EAAc,MAAM,KAAK,KAE3B,IACA,MACG,KAAK,OAEV,OAAI,IACF,EAAI,OAAO,EAAG,GACd,EAAI,aAGC,CACX,EAIA,MAAM,WAAuB,GAC3B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,SAChB,CAEE,aAAA,CAAc,EAAK,EAAG,GACpB,IAAI,EAAQ,KAAK,SAAS,SAAS,UAAU,KAAK,GAC9C,EAAS,KAAK,SAAS,UAAU,UAAU,KAAK,GAEhD,EAAa,IAAI,GAAW,KAAK,SAAU,MAC/C,EAAW,WAAW,QAAU,IAAI,GAAS,KAAK,SAAU,UAAW,KAAK,aAAa,WAAW,YACpG,EAAW,WAAW,MAAQ,IAAI,GAAS,KAAK,SAAU,QAAS,GAAG,OAAO,EAAO,OACpF,EAAW,WAAW,OAAS,IAAI,GAAS,KAAK,SAAU,SAAU,GAAG,OAAO,EAAQ,OACvF,EAAW,WAAW,UAAY,IAAI,GAAS,KAAK,SAAU,YAAa,KAAK,aAAa,oBAAoB,YACjH,EAAW,SAAW,KAAK,SAC3B,IAAI,EAAgB,KAAK,SAAS,aAAa,EAAO,GAClD,EAAa,EAAc,WAAW,MACtC,EAAQ,KAAK,aAAa,KAC1B,EAAQ,KAAK,aAAa,KAE1B,EAAM,YAAc,EAAM,YAC5B,EAAW,UAAU,EAAM,UAAU,KAAK,GAAO,EAAM,UAAU,KAAK,IAGpE,EAAkB,WACpB,KAAK,OAAO,gBAAkB,EAE9B,QAAQ,eAAe,KAAK,OAAQ,gBAItC,QAAS,GAAI,EAAI,GAAK,EAAG,IACvB,QAAS,GAAI,EAAI,GAAK,EAAG,IACvB,EAAW,OACX,EAAW,WAAW,EAAI,IAAI,GAAS,KAAK,SAAU,IAAK,EAAI,EAAc,OAC7E,EAAW,WAAW,EAAI,IAAI,GAAS,KAAK,SAAU,IAAK,EAAI,EAAc,QAC7E,EAAW,OAAO,GAClB,EAAW,UAKf,OADc,EAAI,cAAc,EAAe,SAEnD,EAIA,MAAM,WAAsB,GAC1B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,QAChB,CAEE,MAAA,CAAO,EAAK,EAAO,GACjB,GAAK,EAIL,KACE,IACA,KACE,EACA,EAAS,KAAK,aAAa,UAAU,UAAU,QAC/C,EAAc,KAAK,aAAa,eAAe,UAAU,eAC7D,EAAI,UAAU,EAAG,GAEF,SAAX,GACF,EAAI,OAAO,GAGO,gBAAhB,GACF,EAAI,MAAM,EAAI,UAAW,EAAI,WAG/B,EAAI,OAEJ,IAAI,EAAY,IAAI,GAAW,KAAK,SAAU,MAC9C,EAAU,KAAO,KAAK,KACtB,EAAU,WAAW,QAAU,IAAI,GAAS,KAAK,SAAU,UAAW,KAAK,aAAa,WAAW,YACnG,EAAU,WAAW,KAAO,IAAI,GAAS,KAAK,SAAU,OAAQ,KAAK,aAAa,QAAQ,YAC1F,EAAU,WAAW,KAAO,IAAI,GAAS,KAAK,SAAU,OAAQ,KAAK,aAAa,QAAQ,YAC1F,EAAU,WAAW,MAAQ,IAAI,GAAS,KAAK,SAAU,QAAS,KAAK,aAAa,eAAe,YACnG,EAAU,WAAW,OAAS,IAAI,GAAS,KAAK,SAAU,SAAU,KAAK,aAAa,gBAAgB,YACtG,EAAU,WAAW,SAAW,IAAI,GAAS,KAAK,SAAU,WAAY,KAAK,aAAa,YAAY,YACtG,EAAU,WAAW,KAAO,IAAI,GAAS,KAAK,SAAU,OAAQ,KAAK,aAAa,QAAQ,SAAS,UACnG,EAAU,WAAW,OAAS,IAAI,GAAS,KAAK,SAAU,SAAU,KAAK,aAAa,UAAU,SAAS,SACzG,EAAU,SAAW,KAAK,SAC1B,EAAU,OAAO,GACjB,EAAI,UAEgB,gBAAhB,GACF,EAAI,MAAM,EAAI,EAAI,UAAW,EAAI,EAAI,WAGxB,SAAX,GACF,EAAI,QAAQ,GAGd,EAAI,WAAW,GAAI,EAAC,CACxB,EAIA,MAAM,WAAoB,GACxB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,MAChB,CAEE,MAAA,GACF,EAIA,MAAM,WAAiB,GACrB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,GAChB,CAEE,cAAA,CAAe,GACb,IAAI,EAAc,IAAI,GACtB,OAAA,KAAK,SAAS,SAAQ,IACpB,EAAY,eAAe,EAAM,eAAe,GAAI,IAE/C,CACX,EAIA,MAAM,WAAwB,GAC5B,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,oBAAsB,CAAC,iBAC5B,KAAK,MAAQ,GACb,IACE,QACA,YACE,KACJ,EAAS,SAAQ,IACI,SAAf,EAAM,MACR,EAAM,KAAK,EAAK,GAGxB,CAEE,gBAAA,GACE,OAAO,KAAK,aAAa,iBAAiB,UAAU,oBACxD,CAEE,cAAA,CAAe,EAAK,EAAS,GAE3B,IAAI,EAAiB,KAEjB,KAAK,mBAAmB,aAC1B,EAAiB,KAAK,mBAAmB,gBACzC,KAAK,qBAAqB,IAG5B,IACE,SACE,EACA,EAAW,KAAK,YAAY,EAAK,GAErC,IAAK,EACH,OAAO,KAAK,iBAAiB,EAAmB,EAAM,EAAM,OAAS,GAAG,OAO1E,GAJA,EAAM,SAAQ,IACZ,EAAS,aAAa,EAAK,OAAQ,KAAK,iBAAiB,EAAmB,EAAK,OAAM,IAGrF,KAAK,aAAa,qBAAqB,WAAY,CAErD,IACE,YACE,MAEF,qBACA,YACE,EAAS,QACR,GAAY,EAAS,UACtB,EAAO,IAAI,GAAY,EAAU,MACrC,EAAK,WAAW,EAAI,IAAI,GAAS,EAAU,KAAM,EAAqB,GACtE,EAAK,WAAW,EAAI,IAAI,GAAS,EAAU,KAAM,EAAqB,GACtE,EAAK,WAAW,MAAQ,IAAI,GAAS,EAAU,QAAS,GACxD,EAAK,WAAW,OAAS,IAAI,GAAS,EAAU,SAAU,GAC1D,IAAI,EAAQ,IAAI,GAAS,EAAU,MACnC,EAAM,WAAW,UAAY,IAAI,GAAS,EAAU,YAAa,KAAK,aAAa,qBAAqB,YACxG,EAAM,SAAW,CAAC,GAClB,IAAI,EAAa,IAAI,GAAW,EAAU,MAC1C,EAAW,WAAW,EAAI,IAAI,GAAS,EAAU,IAAK,GACtD,EAAW,WAAW,EAAI,IAAI,GAAS,EAAU,IAAK,GACtD,EAAW,WAAW,MAAQ,IAAI,GAAS,EAAU,QAAS,EAAS,OACvE,EAAW,WAAW,OAAS,IAAI,GAAS,EAAU,SAAU,EAAS,QACzE,EAAW,SAAW,CAAC,GACvB,IAAI,EAAgB,EAAS,aAAa,EAAS,MAAO,EAAS,QAC/D,EAAa,EAAc,WAAW,MAC1C,OAAA,EAAW,UAAY,EACvB,EAAW,OAAO,GACX,EAAW,cAAc,EAAe,YACrD,CAEI,OAAO,CACX,CAEE,oBAAA,CAAqB,GACnB,KAAK,oBAAoB,SAAQ,KAC1B,KAAK,aAAa,GAAoB,YAAc,EAAe,aAAa,GAAoB,YACvG,KAAK,aAAa,GAAoB,GAAM,SAAS,EAAe,aAAa,GAAoB,WAAU,GAGvH,CAEE,gBAAA,CAAiB,EAAmB,GAClC,OAAI,EAAkB,WACJ,IAAI,GAAS,KAAK,SAAU,QAAS,GACpC,WAAW,GAAmB,WAG1C,CACX,EAIA,MAAM,WAA8B,GAClC,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,iBACZ,KAAK,oBAAoB,KAAK,KAAM,KAAM,KAAM,KACpD,CAEE,WAAA,CAAY,EAAK,GACf,IAAI,EAAiD,sBAA5B,KAAK,mBAC1B,EAAc,EAAqB,EAAQ,eAAe,GAAO,KAErE,GAAI,IAAuB,EACzB,OAAO,MAGJ,KAAK,aAAa,MAAM,aAAe,KAAK,aAAa,MAAM,aAAe,KAAK,aAAa,MAAM,aAAe,KAAK,aAAa,MAAM,aAChJ,KAAK,aAAa,MAAM,GAAM,SAAS,GACvC,KAAK,aAAa,MAAM,GAAM,SAAS,GACvC,KAAK,aAAa,MAAM,GAAM,SAAS,GACvC,KAAK,aAAa,MAAM,GAAM,SAAS,IAGzC,IAAI,EAAK,EAAqB,EAAY,EAAI,EAAY,MAAQ,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,KACtI,EAAK,EAAqB,EAAY,EAAI,EAAY,OAAS,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,KACvI,EAAK,EAAqB,EAAY,EAAI,EAAY,MAAQ,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,KACtI,EAAK,EAAqB,EAAY,EAAI,EAAY,OAAS,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,KAE3I,OAAI,IAAO,GAAM,IAAO,EACf,KAGF,EAAI,qBAAqB,EAAI,EAAI,EAAI,EAChD,EAIA,MAAM,WAA8B,GAClC,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,iBACZ,KAAK,oBAAoB,KAAK,KAAM,KAAM,IAAK,KAAM,KAAM,KAC/D,CAEE,WAAA,CAAY,EAAK,GACf,IAAI,EAAiD,sBAA5B,KAAK,mBAC1B,EAAc,EAAQ,eAAe,GAEzC,GAAI,IAAuB,EACzB,OAAO,KAGJ,KAAK,aAAa,MAAM,YAC3B,KAAK,aAAa,MAAM,GAAM,SAAS,OAGpC,KAAK,aAAa,MAAM,YAC3B,KAAK,aAAa,MAAM,GAAM,SAAS,OAGpC,KAAK,aAAa,KAAK,YAC1B,KAAK,aAAa,KAAK,GAAM,SAAS,OAGxC,IAAI,EAAK,EAAqB,EAAY,EAAI,EAAY,MAAQ,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,KACtI,EAAK,EAAqB,EAAY,EAAI,EAAY,OAAS,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,KACvI,EAAK,EACL,EAAK,EAEL,KAAK,aAAa,MAAM,aAC1B,EAAK,EAAqB,EAAY,EAAI,EAAY,MAAQ,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,MAGpI,KAAK,aAAa,MAAM,aAC1B,EAAK,EAAqB,EAAY,EAAI,EAAY,OAAS,KAAK,aAAa,MAAM,YAAc,KAAK,aAAa,MAAM,UAAU,MAGzI,IAAI,EAAI,GAAsB,EAAY,MAAQ,EAAY,QAAU,EAAM,KAAK,aAAa,KAAK,YAAc,KAAK,aAAa,KAAK,YACtI,EAAK,KAAK,aAAa,MAAM,YACjC,OAAO,EAAI,qBAAqB,EAAI,EAAI,EAAI,EAAI,EAAI,EACxD,EAIA,MAAM,WAAoB,GACxB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,OACZ,IAAI,EAAS,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,KAAK,aAAa,UAAU,cAC7D,EAAc,KAAK,SAAS,gBAC5B,EAAY,KAAK,SAAS,cAAc,GAEd,KAA1B,EAAU,aACZ,EAAU,SAAS,QAGjB,EAAY,aACd,EAAY,EAAU,WAAW,IAGnC,KAAK,OAAS,EACd,KAAK,MAAQ,EAAU,UAC3B,EAIA,MAAM,WAAuB,GAC3B,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,UACZ,KAAK,SAAW,EAChB,KAAK,aAAe,KACpB,KAAK,aAAe,GACpB,KAAK,SAAU,EACf,KAAK,QAAS,EACd,EAAS,OAAO,WAAW,KAAK,MAChC,KAAK,MAAQ,KAAK,aAAa,SAAS,kBACxC,KAAK,YAAc,KAAK,MAAQ,KAAK,aAAa,OAAO,kBACzD,KAAK,KAAO,KAAK,aAAa,QAC9B,KAAK,GAAK,KAAK,aAAa,MAC5B,KAAK,OAAS,IAAI,GAAS,EAAU,SAAU,MAC/C,IAAI,EAAa,KAAK,aAAa,UAE/B,EAAW,YACb,KAAK,OAAO,SAAS,EAAW,YAAY,MAAM,KAExD,CAEE,WAAA,GACE,IAAI,EAAgB,KAAK,aAAa,iBAAiB,YACnD,EAAgB,KAAK,aAAa,iBAAiB,YAEvD,MAAsB,QAAlB,EACK,KAAK,OAAO,SAAS,GAAe,GAGtC,KAAK,OAAO,aAAa,GAAe,EACnD,CAEE,SAAA,GACE,IACE,gBACE,MAEF,WACA,OACA,MACE,KAAK,cAEL,EAAW,EAAK,aAAe,EAAG,YAAc,EAAK,aAAe,EAExE,MAAqB,MAAjB,IACF,GAAY,KAGP,GAAG,OAAO,GAAU,OAAO,EACtC,CAEE,MAAA,CAAO,GACL,IACE,UACE,KACA,EAAO,KAAK,cAQhB,GANK,KAAK,eACR,KAAK,aAAe,EAAK,YACzB,KAAK,aAAe,EAAK,YAIvB,KAAK,SAAW,KAAK,YAAa,CACpC,IAAI,EAAO,KAAK,aAAa,QAAQ,UAAU,UAE/C,GAAqD,eAAjD,KAAK,aAAa,eAAe,aAA+E,eAA/C,KAAK,aAAa,aAAa,YAClG,KAAK,SAAW,UACE,WAAT,GAAsB,KAAK,QAGU,GAC5B,WAAT,IAAsB,KAAK,QACpC,OAAA,KAAK,SAAU,EACf,EAAK,SAAS,EAAO,gBAAkB,EAAO,qBAAuB,KAAK,eACnE,OANP,KAAK,QAAS,EACd,EAAO,iBAAkB,EACzB,EAAO,qBAAuB,EAAK,YAOrC,OAAO,CACb,CAEI,KAAK,UAAY,EAEjB,IAAI,GAAU,EAEd,GAAI,KAAK,MAAQ,KAAK,SAAU,CAC9B,IAAI,EAAW,KAAK,YAEhB,EAAW,KAAK,aAAa,QAEjC,GAAI,EAAS,WAAY,CAEvB,IAAI,EAAO,EAAS,YACpB,EAAW,GAAG,OAAO,EAAM,KAAK,OAAO,EAAU,IACzD,CAEM,EAAK,SAAS,GACd,GAAU,CAChB,CAEI,OAAO,CACX,CAEE,WAAA,GACE,IACE,WACA,UACE,KACA,EAAS,CACX,UAAW,KAAK,SAAW,KAAK,QAAU,KAAK,YAAc,KAAK,QAGpE,GAAI,EAAO,WAAY,CACrB,IAAI,EAAI,EAAO,UAAY,EAAO,WAAW,OAAS,GAClD,EAAK,KAAK,MAAM,GAChB,EAAK,KAAK,KAAK,GACnB,EAAO,KAAO,IAAI,GAAS,EAAU,OAAQ,WAAW,EAAO,WAAW,KAC1E,EAAO,GAAK,IAAI,GAAS,EAAU,KAAM,WAAW,EAAO,WAAW,KACtE,EAAO,UAAY,EAAI,IAAO,EAAK,EACzC,MACM,EAAO,KAAO,KAAK,KACnB,EAAO,GAAK,KAAK,GAGnB,OAAO,CACX,EAIA,MAAM,WAA4B,GAChC,WAAA,GACE,SAAS,WACT,KAAK,KAAO,cAChB,CAEE,SAAA,GACE,IACE,WACA,OACA,MACE,KAAK,cACL,EAAY,IAAI,GAAS,EAAK,YAC9B,EAAU,IAAI,GAAS,EAAG,YAE9B,GAAI,EAAU,IAAM,EAAQ,GAAI,CAE9B,IAAI,EAAI,EAAU,GAAK,EAAQ,EAAI,EAAU,GAAK,EAC9C,EAAI,EAAU,GAAK,EAAQ,EAAI,EAAU,GAAK,EAC9C,EAAI,EAAU,GAAK,EAAQ,EAAI,EAAU,GAAK,EAElD,MAAO,OAAO,OAAO,KAAK,MAAM,GAAI,MAAM,OAAO,KAAK,MAAM,GAAI,MAAM,OAAO,KAAK,MAAM,GAAI,IAClG,CAEI,OAAO,KAAK,aAAa,QAAQ,UACrC,EAIA,MAAM,WAAgC,GACpC,WAAA,GACE,SAAS,WACT,KAAK,KAAO,kBAChB,CAEE,SAAA,GACE,IACE,WACA,OACA,MACE,KAAK,cAEL,EAAgB,GAAU,EAAK,aAC/B,EAAc,GAAU,EAAG,aAK/B,OAJe,EAAc,KAAI,CAAC,EAAM,IAE/B,GADE,EAAY,GACD,GAAQ,IAC3B,KAAK,IAEZ,EAIA,MAAM,WAAoB,GACxB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,OACZ,KAAK,OAAS,CAAE,EAChB,KAAK,UAAY,KAAK,aAAa,eAAe,YAClD,IACE,eACE,GAEF,YACE,KAEJ,QAAS,KAAS,EAChB,OAAQ,EAAM,MACZ,IAAK,YAED,KAAK,SAAW,EAChB,IAAI,EAAkB,EAAM,SAAS,eAEjC,EAAgB,aAClB,EAAY,EAAgB,aAAe,MAG7C,MAGJ,IAAK,gBACH,KAAK,aAAe,EACpB,MAEF,IAAK,QAED,IAAI,EAAQ,EAER,EAAM,YACR,KAAK,OAAQ,EACb,KAAK,UAAW,SAEL,KAAK,OAAO,EAAM,SAAa,MACxC,KAAK,OAAO,EAAM,SAAW,CAAE,GAGjC,KAAK,OAAO,EAAM,SAAS,EAAM,YAAc,GAE/C,KAAK,OAAO,EAAM,SAAW,EAO3C,CAEE,MAAA,GACF,EAIA,MAAM,WAAwB,GAC5B,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,YACZ,KAAK,OAAS,KAAK,aAAa,UAAU,YAC1C,KAAK,QAAU,KAAK,aAAa,WAAW,YAC5C,KAAK,WAAa,KAAK,aAAa,gBAAgB,WACxD,EAIA,MAAM,WAA4B,GAChC,WAAA,GACE,SAAS,WACT,KAAK,KAAO,gBACZ,KAAK,UAAY,CACrB,EAIA,MAAM,WAAoB,GACxB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,MAChB,CAEE,OAAA,GACE,IAAI,EAAU,KAAK,mBAAmB,gBAEtC,GAAI,EAAS,CACX,IAAI,EAAa,EAAQ,SAAS,GAElC,GAAI,EACF,OAAO,EAAW,SAE1B,CAEI,MAAO,EACX,EAIA,MAAM,WAAiB,GACrB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,IACZ,IACE,cACE,EACA,EAAa,EAAW,GACxB,EAAU,EAAW,OAAS,GAAK,MAAM,KAAK,GAAY,OAAM,GAA0B,IAAlB,EAAK,WACjF,KAAK,QAAU,EACf,KAAK,KAAO,EAAU,KAAK,gBAAgB,GAAc,EAC7D,CAEE,OAAA,GACE,OAAO,KAAK,IAChB,CAEE,cAAA,CAAe,GACb,GAAI,KAAK,QAAS,CAEhB,MAAM,eAAe,GACrB,IACE,WACA,IACA,KACE,MAEF,SACE,EAAS,OACT,EAAW,IAAI,GAAS,EAAU,WAAY,GAAK,MAAM,EAAS,IAAI,MAAM,UAE5E,EAAM,aACR,EAAM,iBAAiB,KAAM,IAAI,GAAY,EAAG,EAAI,EAAS,UAAU,KAAM,EAAI,KAAK,YAAY,GAAM,GAE3G,SAAU,KAAK,SAAS,OAAS,EAAG,CAEnC,IAAI,EAAI,IAAI,GAAS,KAAK,SAAU,MACpC,EAAE,SAAW,KAAK,SAClB,EAAE,OAAS,KACX,EAAE,OAAO,EACf,CACA,CAEE,OAAA,GACE,IACE,UACE,KAAK,SAEL,GACF,EAAO,KAAK,KAAK,mBAAmB,YAE1C,CAEE,WAAA,GACY,KAAK,SAAS,IACpB,OAAO,MAAM,OAAS,SAC9B,EAIA,SAAS,GAAU,EAAQ,GAAkB,IAAI,EAAO,OAAO,KAAK,GAAS,GAAI,OAAO,sBAAuB,CAAE,IAAI,EAAU,OAAO,sBAAsB,GAAa,IAAkB,EAAU,EAAQ,QAAO,SAAU,GAAO,OAAO,OAAO,yBAAyB,EAAQ,GAAK,UAAa,KAAK,EAAK,KAAK,MAAM,EAAM,EAAO,CAAK,OAAO,CAAK,CAEzV,SAAS,GAAgB,GAAU,QAAS,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAAE,IAAI,EAAyB,MAAhB,UAAU,GAAa,UAAU,GAAK,CAAE,EAAM,EAAI,EAAK,GAAU,OAAO,IAAS,GAAM,SAAQ,SAAU,GAAO,GAAgB,EAAQ,EAAK,EAAO,GAAM,IAAgB,OAAO,0BAA6B,OAAO,iBAAiB,EAAQ,OAAO,0BAA0B,IAAmB,GAAU,OAAO,IAAS,SAAQ,SAAU,GAAO,OAAO,eAAe,EAAQ,EAAK,OAAO,yBAAyB,EAAQ,GAAQ,GAAI,CAAG,OAAO,CAAO,CAC1hB,MAAM,WAAwB,GAC5B,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,WACZ,KAAK,UAAY,EACjB,KAAK,WAAa,EAClB,KAAK,YAAa,EAClB,KAAK,UAAY,KACjB,KAAK,mBAAqB,GAC1B,KAAK,cAAgB,IAAI,IAAI,CAAC,CAAC,GAAI,KACnC,IAAI,EAAc,KAAK,mBAAmB,gBAC1C,KAAK,KAAO,KAAK,kBACjB,KAAK,UAAY,KAAK,cAAc,EACxC,CAEE,OAAA,GACE,OAAO,KAAK,IAChB,CAEE,IAAA,CAAK,GACH,IACE,aACE,KAEA,GACF,EAAI,YAGN,EAAU,SAAQ,IAChB,IACE,OACA,UACE,EAEJ,OAAQ,GACN,KAAK,GAAW,QACV,GACF,EAAI,OAAO,EAAO,GAAI,EAAO,IAG/B,MAEF,KAAK,GAAW,QACV,GACF,EAAI,OAAO,EAAO,GAAI,EAAO,IAG/B,MAEF,KAAK,GAAW,SACV,GACF,EAAI,cAAc,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAGlF,MAEF,KAAK,GAAW,QACV,GACF,EAAI,iBAAiB,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAG/D,MAEF,KAAK,GAAW,IAEZ,IAAK,EAAI,EAAI,EAAI,EAAI,EAAO,EAAQ,EAAK,GAAM,EAC3C,EAAI,EAAK,EAAK,EAAK,EACnB,EAAS,EAAK,EAAK,EAAI,EAAK,EAC5B,EAAS,EAAK,EAAK,EAAK,EAAK,EAE7B,IACF,EAAI,UAAU,EAAI,GAClB,EAAI,OAAO,GACX,EAAI,MAAM,EAAQ,GAClB,EAAI,IAAI,EAAG,EAAG,EAAG,EAAO,EAAQ,KAAgB,EAAI,IACpD,EAAI,MAAM,EAAI,EAAQ,EAAI,GAC1B,EAAI,QAAQ,GACZ,EAAI,WAAW,GAAK,IAGtB,MAGJ,KAAK,GAAW,WACV,GACF,EAAI,YAIhB,GAEA,CAEE,cAAA,CAAe,GACb,KAAK,YAAY,GACjB,EAAI,OACJ,IAAI,EAAiB,KAAK,OAAO,SAAS,mBAAmB,YACzD,EAAW,KAAK,eAElB,aACE,KACA,EAAO,EAAI,UAEQ,cAAnB,GACF,EAAI,YAGN,EAAU,SAAQ,CAAC,EAAO,KACxB,IACE,KACA,KACA,WACA,KAAM,GACJ,EACJ,EAAI,OACJ,EAAI,UAAU,EAAG,EAAG,EAAG,GACvB,EAAI,OAAO,GAEP,EAAI,WACN,EAAI,SAAS,EAAa,EAAG,GAG3B,EAAI,aACN,EAAI,WAAW,EAAa,EAAG,GAGjC,EAAI,UAEmB,cAAnB,IACQ,IAAN,GACF,EAAI,OAAO,EAAG,EAAG,EAAG,EAAI,EAAW,GAGrC,EAAI,OAAO,EAAG,EAAG,EAAG,EAAI,EAAW,GAAC,IAejB,cAAnB,IACF,EAAI,UAAY,EAAW,GAC3B,EAAI,YAAc,EAClB,EAAI,SACJ,EAAI,aAGN,EAAI,SACR,CAEE,kBAAA,GACE,IAAI,EAAM,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,EAC9E,OAAO,KAAK,mBAAmB,IAAQ,CAC3C,CAEE,oBAAA,CAAqB,EAAK,EAAQ,EAAe,EAAe,EAAc,EAAa,EAAI,EAAG,GAChG,IAAI,EAAS,EACT,EAAa,KAAK,YAAY,EAAK,GAE7B,MAAN,GAAwB,YAAX,GAAwB,EAAgB,IACvD,IAAe,EAAgB,GAAiB,GAG9C,GAAQ,IACV,GAAU,KAAK,mBAAmB,IAGpC,IAAI,EAAa,KAAK,WAAa,GAC/B,EAAK,KAAK,0BAA0B,EAAQ,EAAY,GACxD,EAAK,KAAK,0BAA0B,EAAS,EAAY,EAAY,GACrE,EAAU,CACZ,KACA,MAEE,EAAW,GAAM,EAAK,KAAK,MAAM,EAAG,EAAI,EAAG,EAAG,EAAG,EAAI,EAAG,GAAK,EAEjE,GAAI,EAAI,CACN,IAAI,EAAM,KAAK,IAAI,KAAK,GAAK,EAAI,GAAY,EACzC,EAAM,KAAK,KAAK,GAAY,EAChC,EAAQ,GAAK,GAAgB,GAAgB,GAAI,GAAK,GAAI,CACxD,EAAG,EAAG,EAAI,EACV,EAAG,EAAG,EAAI,IAEZ,EAAQ,GAAK,GAAgB,GAAgB,GAAI,GAAK,GAAI,CACxD,EAAG,EAAG,EAAI,EACV,EAAG,EAAG,EAAI,GAElB,CAEI,MACO,CACL,OAFF,GAAU,EAGR,UACA,WAEN,CAEE,WAAA,CAAY,EAAK,GACf,IACE,iBACE,KACA,EAAa,GAAQ,KAAK,UAE9B,GAAI,EAAc,IAAI,GACpB,OAAO,EAAc,IAAI,GAG3B,IAAI,EAAU,KAAK,kBAAkB,EAAK,GAC1C,OAAA,EAAc,IAAI,EAAY,GACvB,CACR,CAKD,WAAA,CAAY,GACV,IAAI,KAAK,UAIT,KAAI,EAAa,KAAK,UAClB,EAAQ,EAAW,MAAM,IACzB,EAAe,EAAW,MAAM,KAAK,OAAS,EAC9C,EAAK,KAAK,OAAO,aAAa,MAAM,QAAQ,KAAI,GAAK,EAAE,UAAU,OACjE,EAAK,KAAK,OAAO,aAAa,MAAM,UAAU,KAC9C,EAAS,KAAK,OAAO,SAAS,eAAe,UAAU,SACvD,EAAc,KAAK,SAAS,kBAC5B,EAAgB,KAAK,OAAO,SAAS,kBACrC,EAAgB,EAEf,EAAY,YAAyC,YAA3B,EAAY,WAEhC,EAAY,YACU,YAA3B,EAAY,YAAuD,UAA3B,EAAY,aACtD,EAAgB,EAAY,aAH9B,EAAgB,EAAc,YAQhC,IAAI,EAAqB,GACrB,EAAU,EAAW,OACzB,KAAK,mBAAqB,EAE1B,QAAS,EAAI,EAAG,EAAI,EAAS,IAC3B,EAAmB,YAAY,EAAG,GAAO,IAAc,EAAG,GAAK,GAGjE,IAAI,EAAQ,EAAmB,QAAO,CAAC,EAAK,EAAK,IAAY,IAAN,EAAU,EAAI,EAAM,GAAO,GAAG,GACjF,EAAY,KAAK,YAAY,GAC7B,EAAgB,KAAK,IAAI,EAAY,EAAO,GAChD,KAAK,UAAY,EACjB,KAAK,WAAa,KAAK,cACvB,KAAK,UAAY,GACjB,IAAI,EAAgB,KAAK,gBACrB,EAAc,KAAK,SAAS,eAAe,UAAU,GAAK,EAC1D,EAAS,GAEE,WAAX,GAAkC,WAAX,KACzB,GAAU,EAAgB,IAGb,QAAX,GAA+B,UAAX,KACtB,GAAU,GAGZ,GAAU,EACV,EAAM,SAAQ,CAAC,EAAM,KAEnB,IACE,OAAQ,EACR,UACA,YACE,KAAK,qBAAqB,EAAK,EAAQ,EAAe,EAAe,EAAc,EAAQ,EAAI,EAAM,GACzG,EAAS,EAEJ,EAAQ,IAAO,EAAQ,IAmB5B,KAAK,UAAU,KAAK,CAGlB,KAAM,EAAM,GACZ,GAAI,EAAQ,GACZ,GAAI,EAAQ,GACZ,YACD,GACF,CACL,CAEE,aAAA,CAAc,GAGZ,GAFA,KAAK,YAAa,GAEb,EACH,MAAO,GAGT,IAAI,EAAe,IAEjB,cACE,EAGJ,IAFA,EAAW,SAEH,EAAW,SAAS,CAC1B,IACE,WACE,EACA,EAAS,EAAU,EAAQ,EAAI,EAC/B,EAAS,EAAU,EAAQ,EAAI,EAC/B,EAAU,EAAW,OACrB,EAAkB,EAAQ,KAC1B,EAAS,GAEb,OAAQ,EAAQ,MACd,KAAK,GAAW,QACd,KAAK,MAAM,EAAY,GACvB,MAEF,KAAK,GAAW,QACd,EAAkB,KAAK,MAAM,EAAY,GACzC,MAEF,KAAK,GAAW,cACd,EAAkB,KAAK,MAAM,EAAY,GACzC,MAEF,KAAK,GAAW,aACd,EAAkB,KAAK,MAAM,EAAY,GACzC,MAEF,KAAK,GAAW,SACd,KAAK,MAAM,EAAY,GACvB,MAEF,KAAK,GAAW,gBACd,EAAkB,KAAK,MAAM,EAAY,GACzC,MAEF,KAAK,GAAW,QACd,KAAK,MAAM,EAAY,GACvB,MAEF,KAAK,GAAW,eACd,EAAkB,KAAK,MAAM,EAAY,GACzC,MAEF,KAAK,GAAW,IACd,EAAS,KAAK,MAAM,GACpB,MAEF,KAAK,GAAW,WACd,GAAY,MAAM,GAIlB,EAAQ,OAAS,GAAW,WAC9B,EAAa,KAAK,CAChB,KAAM,EACN,SACA,MAAO,CACL,EAAG,EACH,EAAG,GAEL,WAAY,KAAK,WAAW,EAAQ,EAAQ,EAAiB,KAG/D,EAAa,KAAK,CAChB,KAAM,GAAW,WACjB,OAAQ,GACR,WAAY,GAGtB,CAEI,OAAO,CACX,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,IACA,KACE,GAAY,MAAM,GAAY,MAClC,EAAO,KAAK,EAAG,EACnB,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,IACA,KACE,GAAY,MAAM,GAAY,MAClC,OAAA,EAAO,KAAK,EAAG,GACR,GAAW,OACtB,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,IACA,KACE,GAAY,MAAM,GAAY,MAClC,OAAA,EAAO,KAAK,EAAG,GACR,GAAW,OACtB,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,IACA,KACE,GAAY,MAAM,GAAY,MAClC,OAAA,EAAO,KAAK,EAAG,GACR,GAAW,OACtB,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,QACA,eACA,gBACE,GAAY,MAAM,GACtB,EAAO,KAAK,EAAM,EAAG,EAAM,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAC/F,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,QACA,eACA,gBACE,GAAY,MAAM,GACtB,OAAA,EAAO,KAAK,EAAM,EAAG,EAAM,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,GACpF,GAAW,QACtB,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,eACA,gBACE,GAAY,MAAM,GACtB,EAAO,KAAK,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,EAC7E,CAEE,KAAA,CAAM,EAAY,GAChB,IACE,eACA,gBACE,GAAY,MAAM,GACtB,OAAA,EAAO,KAAK,EAAa,EAAG,EAAa,EAAG,EAAa,EAAG,EAAa,GAClE,GAAW,OACtB,CAEE,KAAA,CAAM,GACJ,IACE,KACA,KACA,YACA,gBACA,QACA,KACA,MACE,GAAY,MAAM,GAEtB,OAAkB,IAAd,GAAmB,EAAK,IAC1B,GAAM,EAAI,KAAK,IAGC,IAAd,GAAmB,EAAK,IAC1B,GAAM,EAAI,KAAK,IAGV,CAAC,EAAM,EAAG,EAAM,EAAG,EAAI,EAAI,EAAI,EAAI,EAAe,EAC7D,CAEE,UAAA,CAAW,EAAG,EAAG,EAAa,GAC5B,IAAI,EAAM,EACN,EAAK,KACL,EAAK,KACL,EAAI,EAER,OAAQ,GACN,KAAK,GAAW,QACd,OAAO,KAAK,cAAc,EAAG,EAAG,EAAO,GAAI,EAAO,IAEpD,KAAK,GAAW,SAKd,IAHA,EAAM,EACN,EAAK,KAAK,sBAAsB,EAAG,EAAG,EAAG,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAElG,EAAI,IAAM,GAAK,EAAG,GAAK,IAC1B,EAAK,KAAK,sBAAsB,EAAG,EAAG,EAAG,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IACvG,GAAO,KAAK,cAAc,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C,EAAK,EAGP,OAAO,EAET,KAAK,GAAW,QAKd,IAHA,EAAM,EACN,EAAK,KAAK,0BAA0B,EAAG,EAAG,EAAG,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAEhF,EAAI,IAAM,GAAK,EAAG,GAAK,IAC1B,EAAK,KAAK,0BAA0B,EAAG,EAAG,EAAG,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IACrF,GAAO,KAAK,cAAc,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C,EAAK,EAGP,OAAO,EAET,KAAK,GAAW,IAGZ,EAAM,EACN,IAAI,EAAQ,EAAO,GAEf,EAAS,EAAO,GAEhB,EAAM,EAAO,GAAK,EAClB,EAAM,KAAK,GAAK,IASpB,GAPI,KAAK,IAAI,EAAQ,GAAO,IAC1B,EAAM,KAAK,IAAI,EAAQ,IAIzB,EAAK,KAAK,wBAAwB,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAEjF,EAAS,EAEX,IAAK,EAAI,EAAQ,EAAK,EAAI,EAAK,GAAK,EAClC,EAAK,KAAK,wBAAwB,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAG,GACjF,GAAO,KAAK,cAAc,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C,EAAK,OAIP,IAAK,EAAI,EAAQ,EAAK,EAAI,EAAK,GAAK,EAClC,EAAK,KAAK,wBAAwB,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAG,GACjF,GAAO,KAAK,cAAc,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C,EAAK,EAIT,OAAA,EAAK,KAAK,wBAAwB,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAK,GACnF,GAAO,KAAK,cAAc,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAKrD,OAAO,CACX,CAEE,cAAA,CAAe,EAAM,EAAK,EAAK,EAAK,GAClC,IAAI,EAAQ,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,EAC5E,EAAQ,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,EAC5E,GAAK,EAAM,IAAQ,EAAM,EAAM,IAC/B,EAAM,KAAK,KAAK,EAAO,GAAQ,EAAI,EAAI,IAEvC,EAAM,IACR,IAAO,GAGT,IAAI,EAAO,EAAI,EACX,EAAK,KAET,GAAI,IAAQ,EAEV,EAAK,CACH,EAAG,EACH,EAAG,EAAQ,QACZ,IACS,EAAQ,IAAQ,EAAQ,EAAM,MAAiB,EACzD,EAAK,CACH,EAAG,EAAQ,EACX,EAAG,EAAQ,OAER,CACL,IAAI,EACA,EACA,EAAM,KAAK,cAAc,EAAK,EAAK,EAAK,GAE5C,GAAI,EAAM,GACR,OAAO,KAGT,IAAI,GAAK,EAAQ,IAAQ,EAAM,IAAQ,EAAQ,IAAQ,EAAM,GAE7D,EAAK,GADL,GAAK,EAAM,IACK,EAAM,GACtB,EAAK,EAAM,GAAK,EAAM,GACtB,IAAI,EAAQ,KAAK,cAAc,EAAO,EAAO,EAAI,GAC7C,EAAO,KAAK,KAAK,EAAO,EAAO,EAAQ,GAC3C,EAAM,KAAK,KAAK,EAAO,GAAQ,EAAI,EAAI,IAEnC,EAAM,IACR,IAAO,GAIT,EAAK,CACH,EAAG,EAAK,EACR,EAAG,GAHL,EAAO,EAAI,GAKjB,CAEI,OAAO,CACX,CAEE,cAAA,CAAe,GACb,IAAI,EAAU,KAAK,gBACf,EAAuB,EACvB,EAAI,KAER,GAAI,GAAW,MAAY,EAAW,KAAU,EAC9C,OAAO,KAGT,IACE,aACE,KAEJ,QAAS,KAAW,EAAW,CAC7B,IAAI,KAAY,EAAQ,WAAa,MAAW,EAAuB,EAAQ,WAAa,KAAU,GAAtG,CAKA,IAAI,EAAQ,EAAW,EACnB,EAAW,EAEf,OAAQ,EAAQ,MACd,KAAK,GAAW,QACd,EAAI,KAAK,eAAe,EAAO,EAAQ,MAAM,EAAG,EAAQ,MAAM,EAAG,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,MAAM,EAAG,EAAQ,MAAM,GACtI,MAEF,KAAK,GAAW,IAEZ,IAAI,EAAQ,EAAQ,OAAO,GAEvB,EAAS,EAAQ,OAAO,GAExB,EAAM,EAAQ,OAAO,GAAK,EAG9B,GAFA,EAAW,EAAQ,EAAQ,EAAQ,WAAa,EAE5C,EAAS,GAAK,EAAW,GAAO,GAAU,GAAK,EAAW,EAC5D,MAGF,EAAI,KAAK,wBAAwB,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAU,EAAQ,OAAO,IACtI,MAGJ,KAAK,GAAW,UACd,EAAW,EAAQ,EAAQ,YAEZ,IACb,EAAW,GAGb,EAAI,KAAK,sBAAsB,EAAU,EAAQ,MAAM,EAAG,EAAQ,MAAM,EAAG,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,IACzL,MAEF,KAAK,GAAW,SACd,EAAW,EAAQ,EAAQ,YAEZ,IACb,EAAW,GAGb,EAAI,KAAK,0BAA0B,EAAU,EAAQ,MAAM,EAAG,EAAQ,MAAM,EAAG,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,GAAI,EAAQ,OAAO,IAI3J,GAAI,EACF,OAAO,EAGT,KApDN,CAFQ,GAAwB,EAAQ,UAuDxC,CAEI,OAAO,IACX,CAEE,aAAA,CAAc,EAAI,EAAI,EAAI,GACxB,OAAO,KAAK,MAAM,EAAK,IAAO,EAAK,IAAO,EAAK,IAAO,EAAK,GAC/D,CAEE,aAAA,GACE,OAAwB,IAApB,KAAK,aACP,KAAK,WAAa,KAAK,UAAU,QAAO,CAAC,EAAQ,IAAY,EAAQ,WAAa,EAAI,EAAS,EAAQ,WAAa,GAAQ,IAGvH,KAAK,UAChB,CAEE,qBAAA,CAAsB,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAG5D,MAAO,CACL,EAHM,EAAM,GAAI,GAAO,EAAM,GAAI,GAAO,EAAM,GAAI,GAAO,EAAM,GAAI,GAInE,EAHM,EAAM,GAAI,GAAO,EAAM,GAAI,GAAO,EAAM,GAAI,GAAO,EAAM,GAAI,GAKzE,CAEE,yBAAA,CAA0B,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAGtD,MAAO,CACL,EAHM,EAAM,GAAI,GAAO,EAAM,GAAI,GAAO,EAAM,GAAI,GAIlD,EAHM,EAAM,GAAI,GAAO,EAAM,GAAI,GAAO,EAAM,GAAI,GAKxD,CAEE,uBAAA,CAAwB,EAAI,EAAI,EAAI,EAAI,EAAO,GAC7C,IAAI,EAAS,KAAK,IAAI,GAClB,EAAS,KAAK,IAAI,GAClB,EACC,EAAK,KAAK,IAAI,GADf,EAEC,EAAK,KAAK,IAAI,GAEnB,MAAO,CACL,EAAG,GAAM,EAAO,EAAS,EAAO,GAChC,EAAG,GAAM,EAAO,EAAS,EAAO,GAEnC,CAGD,qBAAA,CAAsB,EAAW,GAC/B,IAAI,EAAU,KAAK,gBACf,EAAY,GAAkB,IAE9B,EAAO,GAAa,EAAU,IAElC,IAAK,KAAK,kBAAoB,KAAK,iBAAiB,OAAS,GAAQ,KAAK,iBAAiB,YAAc,EAAW,CAElH,KAAK,iBAAmB,CACtB,OACA,YACA,OAAQ,IAKV,QAFI,EAAI,EAEC,EAAI,EAAG,GAAK,EAAS,GAAK,EAAW,CAC5C,IAAI,EAAK,KAAK,eAAe,GACzB,EAAK,KAAK,eAAe,EAAI,IAE5B,IAAO,IAIZ,GAAK,KAAK,cAAc,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAEpC,IACP,KAAK,iBAAiB,OAAO,KAAK,CAChC,EAAG,EAAG,EACN,EAAG,EAAG,EACN,SAAU,IAEZ,GAAK,EAEf,CACA,CACA,CAEE,yBAAA,CAA0B,EAAgB,EAAM,GAG9C,GAFA,KAAK,sBAAsB,EAAM,GAE7B,EAAiB,GAAK,EAAiB,KAAK,gBAAkB,KAChE,OAAO,KAGT,IAAI,EAAM,KAAK,MAAM,EAAiB,KAAK,iBAAmB,KAAK,iBAAiB,OAAO,OAAS,IACpG,OAAO,KAAK,iBAAiB,OAAO,IAAQ,IAChD,EAIA,IAAI,GAAe,6EACnB,MAAM,WAAqB,GACzB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,QACZ,KAAK,QAAS,EACd,IAAI,EAAO,KAAK,mBAAmB,YAEnC,GAAK,EAIL,KAAI,EAAQ,EAAK,SAAS,SAAW,4BAA4B,KAAK,GACtE,EAAS,OAAO,KAAK,MAEhB,EAGE,KAAK,QAAQ,GAFb,KAAK,UAAU,GAKtB,KAAK,MAAQ,EACjB,CAEE,SAAA,CAAU,GACR,IAAI,EAAQ,KAEZ,OAAO,IAAkB,YACvB,IACE,IAAI,QAAc,EAAM,SAAS,YAAY,GAC7C,EAAM,MAAQ,CACf,OAAQ,GACP,QAAQ,MAAM,8BAA+B,OAAO,EAAM,MAAQ,EAC1E,CAEM,EAAM,QAAS,CACrB,GATW,EAUX,CAEE,OAAA,CAAQ,GACN,IAAI,EAAS,KAEb,OAAO,IAAkB,YACvB,IAAI,EAAQ,GAAa,KAAK,GAE9B,GAAI,EAAO,CACT,IAAI,EAAO,EAAM,GAEA,WAAb,EAAM,GACR,EAAO,MAAQ,KAAK,GAEpB,EAAO,MAAQ,mBAAmB,EAE5C,MACQ,IACE,IAAI,QAAiB,EAAO,SAAS,MAAM,GACvC,QAAY,EAAS,OACzB,EAAO,MAAQ,CAChB,OAAQ,GACP,QAAQ,MAAM,8BAA+B,OAAO,EAAM,MAAQ,EAC5E,CAGM,EAAO,QAAS,CACtB,GAtBW,EAuBX,CAEE,cAAA,CAAe,GACb,IACE,WACA,QACA,UACE,KACA,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAQ,KAAK,SAAS,SAAS,UAAU,KACzC,EAAS,KAAK,SAAS,UAAU,UAAU,KAE/C,GAAK,GAAW,GAAU,GAAU,EAOpC,IAHA,EAAI,OACJ,EAAI,UAAU,EAAG,GAEb,KAAK,MAAO,CACd,IAAI,EAAc,EAAS,MAAM,WAAW,EAAK,KAAK,MAAO,CAC3D,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,QAAS,EACT,QAAS,EACT,WAAY,EACZ,YAAa,IAEf,EAAY,SAAS,gBAAgB,OAAS,KACzC,EAAY,QACvB,KAAW,CACL,IAAI,EAAS,KAAK,MAClB,EAAS,WAAW,CAClB,MACA,YAAa,KAAK,aAAa,uBAAuB,YACtD,QACA,aAAc,EAAO,MACrB,SACA,cAAe,EAAO,SAGpB,KAAK,gBACI,EAAO,SAAa,KAAe,EAAO,WACnD,EAAI,UAAU,EAAQ,EAAG,EAGnC,CAEI,EAAI,SAAS,CACjB,CAEE,cAAA,GACE,IAAI,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAQ,KAAK,SAAS,SAAS,UAAU,KACzC,EAAS,KAAK,SAAS,UAAU,UAAU,KAC/C,OAAO,IAAI,GAAY,EAAG,EAAG,EAAI,EAAO,EAAI,EAChD,EAIA,MAAM,WAAsB,GAC1B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,QAChB,CAEE,MAAA,CAAO,GACT,EAIA,MAAM,GACJ,WAAA,CAAY,GACV,KAAK,SAAW,EAChB,KAAK,QAAS,EACd,EAAS,MAAM,KAAK,KACxB,CAEE,IAAA,CAAK,EAAY,GACf,IAAI,EAAQ,KAEZ,OAAO,IAAkB,YACvB,IACE,IACE,YACE,EAEA,SADoB,EAAS,MAAM,OAAO,KAAK,IAC3B,qBAAqB,QAC7C,MAAM,KAAK,GAAO,SAAQ,IACxB,IAAI,EAAO,EAAS,cAAc,GAClC,EAAS,YAAY,GAAc,IAEtC,OAAQ,GACP,QAAQ,MAAM,6BAA8B,OAAO,EAAK,MAAQ,EACxE,CAEM,EAAM,QAAS,CACrB,GAhBW,EAiBX,EAIA,MAAM,WAAqB,GACzB,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,QACF,GAAe,MAAM,KAAK,EAAK,YACxC,KAAI,GAAK,EAAE,cAAa,KAAK,IAAI,QAAQ,iEAAkE,IAC3G,QAAQ,cAAe,KAEN,MAAM,KAChB,SAAQ,IACd,IAAI,EAAM,EAAE,OAEZ,GAAK,EAIL,KAAI,EAAW,EAAI,MAAM,KACrB,EAAa,EAAS,GAAG,MAAM,KAC/B,EAAW,EAAS,GAAG,MAAM,KACjC,EAAW,SAAQ,IACjB,IAAI,EAAW,EAAE,OAEjB,GAAK,EAIL,KAAI,EAAQ,EAAS,OAAO,IAAa,CAAE,EAa3C,GAZA,EAAS,SAAQ,IACf,IAAI,EAAO,EAAQ,QAAQ,KACvB,EAAO,EAAQ,OAAO,EAAG,GAAM,OAC/B,EAAQ,EAAQ,OAAO,EAAO,EAAG,EAAQ,OAAS,GAAM,OAExD,GAAQ,IACV,EAAM,GAAQ,IAAI,GAAS,EAAU,EAAM,GAAK,IAGpD,EAAS,OAAO,GAAY,EAC5B,EAAS,kBAAkB,GAAY,GAAuB,GAE7C,eAAb,EAA2B,CAE7B,IAAI,EAAa,EAAM,eAAe,YAAY,QAAQ,OAAQ,IACvD,EAAM,IAAI,YAAY,MAAM,KAClC,SAAQ,IACX,GAAI,EAAI,QAAQ,iBAAmB,EAAG,CACpC,IAAI,EAAM,GAAiB,GAEvB,GACG,IAAI,GAAc,GAAU,KAAK,EAAY,EAElE,IAEA,KACO,IAEP,EAGA,GAAa,iBAAmB,GAEhC,MAAM,WAAmB,GACvB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,KAChB,CAEE,UAAA,CAAW,GACT,MAAM,WAAW,GACjB,IAAI,EAAQ,KAAK,aAAa,KAC1B,EAAQ,KAAK,aAAa,KAE1B,EAAM,YACR,EAAI,UAAU,EAAM,UAAU,KAAM,GAGlC,EAAM,YACR,EAAI,UAAU,EAAG,EAAM,UAAU,KAEvC,CAEE,IAAA,CAAK,GACH,IACE,WACE,KAEA,GACF,EAAQ,KAAK,EAEnB,CAEE,cAAA,CAAe,GACb,IACE,WACA,WACE,KAEJ,GAAI,EAAS,CACX,IAAI,EAAU,EAad,GAXqB,WAAjB,EAAQ,QAEV,EAAU,IAAI,GAAW,EAAU,OAC3B,WAAW,QAAU,IAAI,GAAS,EAAU,UAAW,EAAQ,aAAa,WAAW,aAC/F,EAAQ,WAAW,oBAAsB,IAAI,GAAS,EAAU,sBAAuB,EAAQ,aAAa,uBAAuB,aACnI,EAAQ,WAAW,SAAW,IAAI,GAAS,EAAU,WAAY,EAAQ,aAAa,YAAY,aAClG,EAAQ,SAAW,EAAQ,SAE3B,EAAQ,OAAO,QAAU,IAAI,GAAS,EAAU,UAAW,KAAK,qBAG7C,QAAjB,EAAQ,KAAgB,CAC1B,IAAI,EAAa,KAAK,SAAS,SAAS,GAAO,GAC3C,EAAc,KAAK,SAAS,UAAU,GAAO,GAE7C,EAAW,aACb,EAAQ,WAAW,MAAQ,IAAI,GAAS,EAAU,QAAS,EAAW,cAGpE,EAAY,aACd,EAAQ,WAAW,OAAS,IAAI,GAAS,EAAU,SAAU,EAAY,aAEnF,CAEM,IAAI,EAAY,EAAQ,OACxB,EAAQ,OAAS,KACjB,EAAQ,OAAO,GACf,EAAQ,OAAS,CACvB,CACA,CAEE,cAAA,CAAe,GACb,IACE,WACE,KAEJ,OAAI,EACK,EAAQ,eAAe,GAGzB,IACX,CAEE,gBAAA,GACE,IACE,WACA,WACE,KACJ,OAAO,GAAU,YAAY,EAAU,EAC3C,CAEE,WAAI,GACF,OAAK,KAAK,gBACR,KAAK,cAAgB,KAAK,mBAAmB,iBAGxC,KAAK,aAChB,EAIA,SAAS,GAAM,EAAK,EAAG,EAAG,EAAO,EAAS,GACxC,OAAO,EAAI,EAAI,EAAQ,EAAQ,EAAJ,EAAQ,EACrC,CAEA,SAAS,GAAM,EAAK,EAAG,EAAG,EAAO,EAAS,EAAM,GAC9C,EAAI,EAAI,EAAQ,EAAQ,EAAJ,EAAQ,GAAQ,CACtC,CAEA,SAAS,GAAE,EAAQ,EAAG,GAEpB,OADS,EAAO,GACJ,CACd,CAEA,SAAS,GAAE,EAAG,EAAI,EAAI,GACpB,OAAO,EAAK,KAAK,IAAI,GAAK,EAAK,KAAK,IAAI,GAAK,CAC/C,CAEA,MAAM,WAA6B,GACjC,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,gBACZ,IAAI,EAAS,GAAU,KAAK,aAAa,UAAU,aAEnD,OAAQ,KAAK,aAAa,QAAQ,UAAU,WAE1C,IAAK,WAED,IAAI,EAAI,EAAO,GAGf,EAAS,CAAC,KAAQ,KAAQ,EAAG,KAAQ,KAAQ,EAAG,KAAQ,KAAQ,EAAG,EAAG,EAAG,KAAQ,KAAQ,EAAG,KAAQ,KAAQ,EAAG,KAAQ,KAAQ,EAAG,EAAG,EAAG,KAAQ,KAAQ,EAAG,KAAQ,KAAQ,EAAG,KAAQ,KAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGlO,MAGJ,IAAK,YAED,IAAI,EAAI,EAAO,GAAK,KAAK,GAAK,IAG9B,EAAS,CAAC,GAAE,EAAG,KAAO,MAAO,MAAS,GAAE,EAAG,MAAO,MAAQ,MAAS,GAAE,EAAG,MAAO,KAAQ,MAAQ,EAAG,EAAG,GAAE,EAAG,MAAO,KAAQ,MAAQ,GAAE,EAAG,KAAO,KAAO,KAAQ,GAAE,EAAG,MAAO,MAAQ,MAAS,EAAG,EAAG,GAAE,EAAG,MAAO,MAAQ,MAAS,GAAE,EAAG,MAAO,KAAQ,MAAQ,GAAE,EAAG,KAAO,KAAO,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGpT,MAGJ,IAAK,mBAEH,EAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,MAAQ,MAAQ,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMrG,KAAK,OAAS,EACd,KAAK,eAAiB,KAAK,aAAa,kBAAkB,UAC9D,CAEE,KAAA,CAAM,EAAK,EAAI,EAAI,EAAO,GAQxB,QALE,iBACA,UACE,KACA,EAAU,EAAI,aAAa,EAAG,EAAG,EAAO,GAEnC,EAAI,EAAG,EAAI,EAAQ,IAC1B,QAAS,EAAI,EAAG,EAAI,EAAO,IAAK,CAC9B,IAAI,EAAI,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,GAC7C,EAAI,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,GAC7C,EAAI,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,GAC7C,EAAI,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,GAC7C,EAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAC1F,EAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAAK,GAAE,EAAQ,EAAG,GAC1F,EAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAC/F,EAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAAK,GAAE,EAAQ,GAAI,GAE/F,IACF,EAAK,EACL,EAAK,EACL,EAAK,EACL,GAAM,EAAI,KAGZ,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,EAAG,GAC5C,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,EAAG,GAC5C,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,EAAG,GAC5C,GAAM,EAAQ,KAAM,EAAG,EAAG,EAAO,EAAQ,EAAG,EACpD,CAGI,EAAI,UAAU,EAAG,EAAG,EAAO,GAC3B,EAAI,aAAa,EAAS,EAAG,EACjC,EAIA,MAAM,WAAoB,GACxB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,MAChB,CAEE,KAAA,CAAM,EAAK,GACT,IACE,YACE,KAEA,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAI,KAAK,aAAa,KAAK,UAAU,KACrC,EAAQ,KAAK,SAAS,SAAS,UAAU,KACzC,EAAS,KAAK,SAAS,UAAU,UAAU,KAE/C,IAAK,IAAU,EAAQ,CACrB,IAAI,EAAc,IAAI,GACtB,KAAK,SAAS,SAAQ,IACpB,EAAY,eAAe,EAAM,eAAe,GAAI,IAEtD,EAAI,KAAK,MAAM,EAAY,IAC3B,EAAI,KAAK,MAAM,EAAY,IAC3B,EAAQ,KAAK,MAAM,EAAY,OAC/B,EAAS,KAAK,MAAM,EAAY,OACtC,CAEI,IAAI,EAAgB,KAAK,aAAa,EAAS,GAAY,cACvD,EAAa,EAAS,aAAa,EAAI,EAAO,EAAI,GAClD,EAAU,EAAW,WAAW,MACpC,EAAS,OAAO,YAAY,GAC5B,KAAK,eAAe,GAGpB,IAAI,GAAqB,EAAU,CACjC,SAAU,EACV,WAAY,GACZ,WAAY,CAAC,CACX,SAAU,OACV,MAAO,oBACN,CACD,SAAU,iBACV,MAAO,WAER,MAAM,EAAS,EAAG,EAAG,EAAI,EAAO,EAAI,GACvC,IAAI,EAAY,EAAS,aAAa,EAAI,EAAO,EAAI,GACjD,EAAS,EAAU,WAAW,MAClC,EAAS,OAAO,YAAY,GAC5B,EAAQ,OAAO,GACf,EAAO,yBAA2B,iBAClC,EAAO,UAAY,EAAQ,cAAc,EAAY,aACrD,EAAO,SAAS,EAAG,EAAG,EAAI,EAAO,EAAI,GACrC,EAAI,UAAY,EAAO,cAAc,EAAW,aAChD,EAAI,SAAS,EAAG,EAAG,EAAI,EAAO,EAAI,GAElC,KAAK,cAAc,EAAS,EAChC,CAEE,MAAA,CAAO,GACT,EAGA,GAAY,aAAe,CAAC,OAAQ,YAAa,aAEjD,IAAI,GAAO,OAGX,MAAM,WAAwB,GAC5B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,UAChB,CAEE,KAAA,CAAM,GACJ,IACE,YACE,KACA,EAAe,QAAQ,eAAe,IAExC,YACA,aACE,EAEA,IACF,EAAa,UAAY,GACzB,EAAa,UAAY,IAG3B,QAAQ,MAAM,EAAW,EAAK,IAC9B,KAAK,SAAS,SAAQ,IACpB,YAAW,EAAM,KAAS,KAI1B,KAAI,SAAmB,EAAM,iBAAqB,IAAc,EAAM,mBAAqB,KAEtF,IACH,EAAY,GAAU,YAAY,EAAU,IAG1C,GACF,EAAU,MAAM,GAGlB,EAAM,KAAK,GAEP,IACF,EAAa,UAAY,GAGvB,GACF,EAAU,QAAQ,EAAG,KAGzB,QAAQ,MAAM,EAAW,EAAK,IAC9B,EAAI,OAEA,IACF,EAAa,UAAY,EACzB,EAAa,UAAY,EAE/B,CAEE,MAAA,CAAO,GACT,EAIA,MAAM,WAAsB,GAC1B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,QAChB,CAEE,KAAA,CAAM,EAAK,GAET,IACE,WACA,YACE,KACA,EAAc,EAAQ,eAAe,GAEzC,GAAK,EAIL,KAAI,EAAK,EACL,EAAK,EACT,EAAS,SAAQ,IACf,IAAI,EAAM,EAAM,qBAAuB,EACvC,EAAK,KAAK,IAAI,EAAI,GAClB,EAAK,KAAK,IAAI,EAAI,EAAG,IAEvB,IAAI,EAAQ,KAAK,MAAM,EAAY,OAC/B,EAAS,KAAK,MAAM,EAAY,QAChC,EAAiB,EAAQ,EAAI,EAC7B,EAAkB,EAAS,EAAI,EAEnC,KAAI,EAAiB,GAAK,EAAkB,GAI5C,KAAI,EAAI,KAAK,MAAM,EAAY,GAC3B,EAAI,KAAK,MAAM,EAAY,GAC3B,EAAgB,KAAK,aAAa,EAAS,GAAc,cACzD,EAAY,EAAS,aAAa,EAAgB,GAClD,EAAS,EAAU,WAAW,MAClC,EAAS,OAAO,YAAY,GAC5B,EAAO,WAAW,EAAI,GAAK,EAAI,GAC/B,EAAQ,OAAO,GAEf,EAAS,SAAQ,IACY,mBAAhB,EAAM,OACf,EAAM,MAAM,EAAQ,EAAG,EAAG,EAAgB,EAAe,IAI7D,EAAI,UAAU,EAAW,EAAG,EAAG,EAAgB,EAAiB,EAAI,EAAI,EAAI,EAAI,EAAgB,GAChG,KAAK,cAAc,EAAS,EAAa,EAC7C,CAEE,MAAA,CAAO,GACT,EAGA,GAAc,aAAe,CAAC,SAAU,YAAa,aAErD,MAAM,WAA4B,GAChC,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,eACZ,KAAK,8BACT,CAEE,KAAA,CAAM,EAAG,EAAI,EAAI,EAAQ,GAC3B,EAIA,MAAM,WAA4B,GAChC,WAAA,GACE,SAAS,WACT,KAAK,KAAO,cAChB,CAEE,KAAA,CAAM,EAAG,EAAI,EAAI,EAAQ,GAC3B,EAIA,MAAM,WAA2B,GAC/B,WAAA,GACE,SAAS,WACT,KAAK,KAAO,aAChB,CAEE,KAAA,CAAM,EAAG,EAAI,EAAI,EAAQ,GAC3B,EAIA,MAAM,WAA8B,GAClC,WAAA,CAAY,EAAU,EAAM,GAC1B,MAAM,EAAU,EAAM,GACtB,KAAK,KAAO,iBACZ,KAAK,WAAa,KAAK,MAAM,KAAK,aAAa,gBAAgB,aAC/D,KAAK,oBAAsB,KAAK,UACpC,CAEE,KAAA,CAAM,EAAK,EAAG,EAAG,EAAO,GACtB,IACE,WACA,cACE,KACA,EAAO,EAAS,OAAS,EAAS,OAAO,SAAS,KAAO,KACzD,EAAS,EAAI,OAEjB,EAAO,GAAK,EAAS,cAEjB,IACF,EAAO,MAAM,QAAU,OACvB,EAAK,YAAY,IAGnB,GAAW,EAAQ,EAAG,EAAG,EAAO,EAAQ,GAEpC,GACF,EAAK,YAAY,EAEvB,EAIA,MAAM,WAAqB,GACzB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,OAChB,EAIA,MAAM,WAAoB,GACxB,WAAA,GACE,SAAS,WACT,KAAK,KAAO,MAChB,EAIA,IAAI,GAAW,CACb,IAAO,GACP,KAAQ,GACR,OAAU,GACV,QAAW,GACX,KAAQ,GACR,SAAY,GACZ,QAAW,GACX,KAAQ,GACR,QAAW,GACX,OAAU,GACV,KAAQ,GACR,eAAkB,GAClB,eAAkB,GAClB,KAAQ,GACR,QAAW,GACX,aAAgB,GAChB,iBAAoB,GACpB,KAAQ,GACR,YAAa,GACb,gBAAiB,GACjB,MAAS,GACT,KAAQ,GACR,MAAS,GACT,KAAQ,GACR,EAAK,GACL,SAAY,GACZ,MAAS,GACT,EAAK,GACL,OAAU,GACV,MAAS,GACT,IAAO,GACP,KAAQ,GACR,SAAY,GACZ,OAAU,GACV,aAAgB,GAChB,aAAgB,GAChB,YAAe,GACf,cAAiB,GACjB,eAAkB,GAClB,MAAS,GACT,KAAQ,IAGV,SAAS,GAAU,EAAQ,GAAkB,IAAI,EAAO,OAAO,KAAK,GAAS,GAAI,OAAO,sBAAuB,CAAE,IAAI,EAAU,OAAO,sBAAsB,GAAa,IAAkB,EAAU,EAAQ,QAAO,SAAU,GAAO,OAAO,OAAO,yBAAyB,EAAQ,GAAK,UAAa,KAAK,EAAK,KAAK,MAAM,EAAM,EAAO,CAAK,OAAO,CAAK,CAezV,SAAS,KACP,OAAA,GAAe,IAAkB,UAAW,GAC1C,IAAI,EAAuB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GACtF,EAAQ,SAAS,cAAc,OAEnC,OAAI,IACF,EAAM,YAAc,aAGf,IAAI,SAAQ,CAAC,EAAS,KAC3B,EAAM,OAAS,KACb,EAAQ,EAAK,EAGf,EAAM,QAAU,CAAC,EAAQ,EAAS,EAAS,EAAQ,KACjD,EAAO,EAAK,EAGd,EAAM,IAAM,IAElB,IACS,GAAa,MAAM,KAAM,UAClC,CAEA,MAAM,GACJ,WAAA,CAAY,GACV,IACE,aAAa,GACb,SAAS,GACT,eAAe,GAAS,aACxB,cAAc,GAAS,YACvB,wBACE,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EAC1E,KAAK,MAAQ,EACb,KAAK,YAAc,CAAE,EACrB,KAAK,OAAS,CAAE,EAChB,KAAK,kBAAoB,CAAE,EAC3B,KAAK,OAAS,GACd,KAAK,MAAQ,GACb,KAAK,YAAc,GACnB,KAAK,SAAW,EAChB,KAAK,OAAS,EAAM,OACpB,KAAK,WAAa,EAClB,KAAK,OAAS,EACd,KAAK,aAAe,EACpB,KAAK,YAAc,KAAK,gBAAgB,EAAa,GACrD,KAAK,OAAO,KAAK,KAAK,eAAe,KAAK,OAC1C,KAAK,OAAO,KAAK,KAAK,cAAc,KAAK,MAC7C,CAEE,eAAA,CAAgB,EAAa,GAC3B,MAAoC,kBAAzB,EACF,CAAC,EAAQ,IAA8B,EAAY,EAA6C,kBAA9B,EAA0C,EAA4B,GAG1I,CACX,CAEE,UAAI,GACF,OAAO,KAAK,OAAO,MACvB,CAEE,SAAI,GACF,OAAO,KAAK,OAAO,KACvB,CAEE,OAAI,GACF,OAAO,KAAK,OAAO,GACvB,CAEE,UAAI,GACF,IACE,eACE,KACJ,OAAO,EAAY,EAAY,OAAS,EAC5C,CAEE,UAAI,CAAO,GACT,IACE,eACE,KACJ,EAAY,KAAK,EACrB,CAEE,SAAA,GACE,IACE,eACE,KACJ,EAAY,KAChB,CAEE,WAAA,GACE,MAAO,QAAQ,SAAS,KAAK,SACjC,CAEE,cAAA,GACE,OAAO,KAAK,OAAO,OAAM,GAAK,EAAE,QACpC,CAEE,aAAA,GACE,OAAO,KAAK,MAAM,OAAM,GAAK,EAAE,QACnC,CAEE,qBAAA,CAAsB,GACpB,IAAI,EAAkB,KAAK,cAAc,EAAS,iBAClD,OAAA,EAAgB,MAAO,EACvB,EAAgB,+BAChB,KAAK,gBAAkB,EAChB,CACX,CAEE,aAAA,CAAc,GACZ,IAAI,EAAc,EAAK,SAAS,QAAQ,UAAW,IAC/C,EAAc,GAAS,aAAa,GAExC,cAAW,EAAgB,IAClB,IAAI,EAAY,KAAM,GAGxB,IAAI,GAAe,KAAM,EACpC,CAEE,cAAA,CAAe,GACb,OAAO,IAAI,GAAS,KAAM,EAC9B,CAEE,UAAA,CAAW,GACT,KAAK,OAAO,WA5IhB,SAAyB,GAAU,QAAS,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAAE,IAAI,EAAyB,MAAhB,UAAU,GAAa,UAAU,GAAK,CAAE,EAAM,EAAI,EAAK,GAAU,OAAO,IAAS,GAAM,SAAQ,SAAU,GAAO,GAAgB,EAAQ,EAAK,EAAO,GAAM,IAAgB,OAAO,0BAA6B,OAAO,iBAAiB,EAAQ,OAAO,0BAA0B,IAAmB,GAAU,OAAO,IAAS,SAAQ,SAAU,GAAO,OAAO,eAAe,EAAQ,EAAK,OAAO,yBAAyB,EAAQ,GAAQ,GAAI,CAAG,OAAO,CAAO,CA4I/f,CAAgB,CACrC,SAAU,MACT,GACP,EAOA,SAAS,GAAQ,EAAQ,GAAkB,IAAI,EAAO,OAAO,KAAK,GAAS,GAAI,OAAO,sBAAuB,CAAE,IAAI,EAAU,OAAO,sBAAsB,GAAa,IAAkB,EAAU,EAAQ,QAAO,SAAU,GAAO,OAAO,OAAO,yBAAyB,EAAQ,GAAK,UAAa,KAAK,EAAK,KAAK,MAAM,EAAM,EAAO,CAAK,OAAO,CAAK,CAEvV,SAAS,GAAc,GAAU,QAAS,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAAE,IAAI,EAAyB,MAAhB,UAAU,GAAa,UAAU,GAAK,CAAE,EAAM,EAAI,EAAK,GAAQ,OAAO,IAAS,GAAM,SAAQ,SAAU,GAAO,GAAgB,EAAQ,EAAK,EAAO,GAAM,IAAgB,OAAO,0BAA6B,OAAO,iBAAiB,EAAQ,OAAO,0BAA0B,IAAmB,GAAQ,OAAO,IAAS,SAAQ,SAAU,GAAO,OAAO,eAAe,EAAQ,EAAK,OAAO,yBAAyB,EAAQ,GAAQ,GAAI,CAAG,OAAO,CAAO,CANphB,GAAS,aAhJT,SAAsB,EAAO,GAC3B,IAAI,EAAS,SAAS,cAAc,UACpC,OAAA,EAAO,MAAQ,EACf,EAAO,OAAS,EACT,CACT,EA4IA,GAAS,YA1IT,SAAqB,GACnB,OAAO,GAAa,MAAM,KAAM,UAClC,EAyIA,GAAS,aAAe,GASxB,MAAM,GAOJ,WAAA,CAAY,EAAK,GACf,IAAI,EAAU,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EACpF,KAAK,OAAS,IAAI,GAAO,GACzB,KAAK,OAAS,IAAI,GAAO,EAAK,GAC9B,KAAK,QAAU,EACf,IAAI,EAAW,IAAI,GAAS,KAAM,GAC9B,EAAkB,EAAS,sBAAsB,GACrD,KAAK,SAAW,EAChB,KAAK,gBAAkB,CAC3B,CAUE,WAAO,CAAK,EAAK,GACf,IAAI,EAAa,UACjB,OAAO,IAAkB,YACvB,IAAI,EAAU,EAAW,OAAS,QAAuB,IAAlB,EAAW,GAAmB,EAAW,GAAK,CAAE,EACnF,EAAS,IAAI,GAAO,GACpB,QAAoB,EAAO,MAAM,GACrC,OAAO,IAAI,GAAM,EAAK,EAAa,EACzC,GALW,EAMX,CAUE,iBAAO,CAAW,EAAK,GACrB,IAAI,EAAU,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EAEhF,EADS,IAAI,GAAO,GACC,gBAAgB,GACzC,OAAO,IAAI,GAAM,EAAK,EAAa,EACvC,CAUE,IAAA,CAAK,EAAK,GACR,IAAI,EAAU,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EACpF,OAAO,GAAM,KAAK,EAAK,EAAK,GAAc,GAAc,GAAI,KAAK,SAAU,GAC/E,CAUE,UAAA,CAAW,EAAK,GACd,IAAI,EAAU,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,EACpF,OAAO,GAAM,WAAW,EAAK,EAAK,GAAc,GAAc,GAAI,KAAK,SAAU,GACrF,CAOE,KAAA,GACE,OAAO,KAAK,OAAO,OACvB,CAOE,OAAA,GACE,OAAO,KAAK,OAAO,SACvB,CAOE,MAAA,GACE,IAAI,EAAc,UACd,EAAQ,KAEZ,OAAO,IAAkB,YACvB,IAAI,EAAU,EAAY,OAAS,QAAwB,IAAnB,EAAY,GAAmB,EAAY,GAAK,CAAE,EAE1F,EAAM,MAAM,GAAc,CACxB,cAAc,EACd,iBAAiB,EACjB,aAAa,GACZ,UAEG,EAAM,QAEZ,EAAM,MACZ,GAZW,EAaX,CAOE,KAAA,GACE,IAAI,EAAU,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAE,GAElF,kBACA,SACA,QAAS,GACP,KACJ,EAAO,MAAM,EAAiB,GAAc,GAAc,CACxD,cAAc,GACb,GAAc,GACrB,CAME,IAAA,GACE,KAAK,OAAO,MAChB,CASE,MAAA,CAAO,GACL,IAAI,EAAS,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,EAC7E,EAAsB,UAAU,OAAS,QAAsB,IAAjB,UAAU,IAAmB,UAAU,GACzF,KAAK,gBAAgB,OAAO,EAAO,EAAQ,EAC/C,EAEA,MAAA,GAAA,OAAA,OAAA,OAAA,eAAA,CAAA,UAAA,KAAA,SAAA,GAAA,oBAAA,GAAA,eAAA,GAAA,wBAAA,GAAA,YAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,MAAA,GAAA,cAAA,GAAA,gBAAA,GAAA,YAAA,GAAA,YAAA,GAAA,SAAA,GAAA,QAAA,GAAA,eAAA,GAAA,qBAAA,GAAA,mBAAA,GAAA,oBAAA,GAAA,sBAAA,GAAA,oBAAA,GAAA,cAAA,GAAA,KAAA,GAAA,YAAA,GAAA,gBAAA,GAAA,SAAA,GAAA,aAAA,GAAA,gBAAA,GAAA,aAAA,GAAA,YAAA,GAAA,sBAAA,GAAA,cAAA,GAAA,YAAA,GAAA,OAAA,GAAA,oBAAA,GAAA,MAAA,GAAA,YAAA,GAAA,OAAA,GAAA,YAAA,GAAA,WAAA,GAAA,eAAA,GAAA,MAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,SAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,sBAAA,GAAA,YAAA,GAAA,gBAAA,GAAA,OAAA,GAAA,WAAA,GAAA,cAAA,GAAA,MAAA,GAAA,OAAA,GAAA,KAAA,GAAA,MAAA,GAAA,MAAA,GAAA,YAAA,GAAA,aAAA,GAAA,cAAA,GAAA,YAAA,GAAA,aAAA,GAAA,YAAA,GAAA,gBAAA,GAAA,aAAA,GAAA,UAAA,GAAA,UAAA,GAAA,eAAA,GAAA,WAAA,GAAA,SAAA,GAAA,eAAA,GAAA,QAAA,GAAA,uBAAA,GAAA,uBAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,QAAA,GAAA,UAAA,GAAA,SAAA,GAAA,UAAA,GAAA,gBAAA,GAAA,aAAA,GAAA,aAAA,IAAA,OAAA,YAAA,CAAA,MAAA,YAAA,EAAA,mB9Ln3MkC,CACjC,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,KACA,M8Ls2MD,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,GAAA,EAAA,sBCr3MA,MA0CC,WAAA,CAAY,GAzCF,EAAA,KAAA,oBAEA,EAAA,KAAA,mBAEA,EAAA,KAAA,aAEA,EAAA,KAAA,iBAEA,EAAA,KAAA,OAEA,EAAA,KAAA,gBAEA,EAAA,KAAA,UAA0B,CACnC,SAAU,EAAK,GACf,gBAAiB,EAAgB,UACjC,OAAQ,EAAO,IACf,IAAK,EAAI,KACT,WAAW,EACX,eAAe,EACf,MAAO,KACP,aAAc,OAAO,KAAK,GAa1B,SAAU,MACV,kBAAmB,GACnB,mBAAoB,GACpB,iBAAkB,KAGT,EAAA,KAAA,oBAA4B,cAGjC,IACH,EAAQ,mBAAqB,OAAO,OACnC,GACA,EAAQ,oBAET,EAAQ,iBAAmB,OAAO,OAAO,GAAyB,EAAQ,kBAC1E,KAAK,QAAU,OAAO,OAAO,KAAK,QAAS,IAE5C,KAAK,gBAAkB,KAAK,gBAAgB,KAAK,KAAI,CAG/C,kBAAA,GAEC,MADiB,WACjB,CAGD,cAAA,GACA,MAAA,EAAiB,KAAK,QAAQ,OAAS,KAC7C,OAAO,EAAe,EAAI,CAGpB,KAAA,CAAM,GAA2C,IAAA,EACvD,KAAK,IAAM,EACN,KAAA,iBAAmB,SAAS,cAAc,OAC/C,KAAK,iBAAiB,UAAU,IAAI,GAAG,KAAK,0BAC5C,KAAK,iBAAiB,UAAU,IAAI,GAAG,KAAK,gCACvC,KAAA,gBAAkB,SAAS,cAAc,OAC9C,KAAK,gBAAgB,UAAU,IAAI,GAAG,KAAK,iCACtC,KAAA,aAAe,SAAS,cAAc,UAC3C,KAAK,aAAa,UAAU,IAAI,GAAG,KAAK,+BACxC,KAAK,aAAa,UAAU,IAAI,GAAG,KAAK,oCACxC,KAAK,aAAa,KAAO,SACpB,KAAA,aAAa,iBAAiB,SAAS,KACtC,KAAA,aAAa,MAAM,QAAU,OAC7B,KAAA,gBAAgB,MAAM,QAAU,QACrC,KAAK,iBAAgB,GACrB,KAAK,qBAAoB,EAAI,IAErB,SAAA,iBAAiB,QAAS,KAAK,iBACnC,KAAA,iBAAiB,YAAY,KAAK,cAClC,KAAA,iBAAiB,YAAY,KAAK,iBAEjC,MAAA,EAAQ,SAAS,cAAc,SACrC,EAAM,UAAY,cAElB,MAAM,EAAQ,CAAC,EACf,OAAA,EAAA,KAAK,QAAQ,eAAb,EAA2B,SAAS,IAChB,EAAK,KAEjB,EAAA,GAAQ,EAAK,GAAI,IAGzB,MAAM,EAAM,KAAK,gBAChB,EACA,KAAK,iBAAiB,SACtB,YACA,KAAK,QAAQ,UACb,CAAC,EAAkC,IAAQ,KAAK,UAAU,EAAK,MAEhE,EAAM,YAAY,GAElB,MAAM,EAAM,KAAK,gBAChB,EACA,KAAK,iBAAiB,gBACtB,mBACA,KAAK,QAAQ,iBACb,CAAC,EAAkC,IAAQ,EAAK,KAEjD,EAAM,YAAY,GAElB,MAAM,EAAM,KAAK,gBAChB,EACA,KAAK,iBAAiB,OACtB,cACA,KAAK,QAAQ,QACb,CAAC,EAAkC,IAAQ,EAAK,KAEjD,EAAM,YAAY,GAElB,MAAM,EAAM,KAAK,gBAChB,EACA,KAAK,iBAAiB,IACtB,WACA,KAAK,QAAQ,KACb,CAAC,EAAkC,IAAQ,EAAK,KAEjD,EAAM,YAAY,GAEb,KAAA,gBAAgB,YAAY,GAE3B,MAAA,EAAiB,SAAS,cAAc,UAC9C,OAAA,EAAe,KAAO,SACP,EAAA,YAAc,KAAK,iBAAiB,SACpC,EAAA,UAAU,IAAI,mBACd,EAAA,iBAAiB,SAAS,KAClC,MAAA,EACL,SAAS,eAAe,8BAEnB,EACL,SAAS,eAAe,qCAEnB,EACL,SAAS,eAAe,gCAEnB,EACL,SAAS,eAAe,6BAEnB,EAAc,EAAgB,MACpC,IAAI,EAAgB,KAAK,MAAM,EAAS,OACpC,IAAgB,EAAgB,WACnC,EAAgB,EAAc,WAE1B,KAAA,YACJ,EACA,EACA,OAAO,EAAQ,OACf,EAAW,MACX,EAAK,GACL,KAAK,QAAQ,SACd,IAEI,KAAA,gBAAgB,YAAY,GAE1B,KAAK,gBAAA,CAGH,WAAA,CACT,EACA,EACA,EACA,EACA,EACA,GAEqB,IAAI,GACxB,EACA,EACA,EACA,EACA,EACA,EACA,KAAK,QAAQ,kBACb,KAAK,QAAQ,mBACb,KAAK,QAAQ,kBAED,UAAS,CAGf,eAAA,CACP,EACA,EACA,EACA,EACA,GAEM,MAAA,EAAQ,SAAS,cAAc,SACrC,EAAM,YAAc,EAEd,MAAA,EAAU,SAAS,cAAc,UACvC,EAAQ,aAAa,KAAM,oBAAoB,KAC/C,EAAQ,MAAM,MAAQ,OACtB,OAAO,KAAK,GAAM,SAAS,IACpB,MAAA,EAAe,SAAS,cAAc,UAC5C,EAAa,aAAa,QAAS,EAAU,EAAM,IACnD,EAAa,YAAY,SAAS,eAAe,IACpC,EAAA,aAAa,OAAQ,GAC9B,IAAiB,EAAK,KACzB,EAAa,UAAW,GAEzB,EAAQ,YAAY,EAAY,IAEzB,EAAA,iBAAiB,UAAU,KAClC,KAAK,qBAAoB,IAGpB,MAAA,EAAM,SAAS,cAAc,MAC7B,EAAU,SAAS,cAAc,MACjC,EAAY,SAAS,cAAc,MACzC,OAAA,EAAQ,YAAY,GACpB,EAAU,YAAY,GACtB,EAAI,YAAY,GAChB,EAAI,YAAY,GACT,CAAA,CAGD,QAAA,IAEJ,KAAK,mBACL,KAAK,iBAAiB,aACtB,KAAK,MACL,KAAK,eAIP,KAAK,aAAa,oBAAoB,QAAS,KAAK,iBACpD,KAAK,iBAAiB,WAAW,YAAY,KAAK,kBACzC,SAAA,oBAAoB,QAAS,KAAK,sBAEpB,IAAnB,KAAK,YACR,KAAK,UAAU,UACf,KAAK,eAAY,QAGS,IAAvB,KAAK,gBACR,KAAK,cAAc,UACnB,KAAK,mBAAgB,GAGtB,KAAK,SAAM,GAGJ,eAAA,CAAgB,GAEtB,KAAK,mBACJ,KAAK,iBAAiB,SAAS,EAAM,SACtC,KAAK,iBACL,KAAK,eAEA,KAAA,gBAAgB,MAAM,QAAU,OAChC,KAAA,aAAa,MAAM,QAAU,QAClC,KAAK,iBAAgB,GACrB,KAAK,qBAAoB,GAC1B,CAGO,eAAA,CAAgB,IACQ,IAA3B,KAAK,QAAQ,aACF,IAAV,OACoB,IAAnB,KAAK,YACR,KAAK,UAAU,UACf,KAAK,eAAY,IAGlB,KAAK,UAAY,IAAI,EAAiB,KAAK,KAC3C,KAAK,UAAU,UAEjB,CAGO,mBAAA,CAAoB,IACQ,IAA/B,KAAK,QAAQ,iBACF,IAAV,OACwB,IAAvB,KAAK,gBACR,KAAK,cAAc,UACnB,KAAK,mBAAgB,IAGtB,KAAK,cAAgB,IAAI,EAAqB,KAAK,KACnD,KAAK,uBAEP,CAGO,mBAAA,GACH,QAAuB,IAAvB,KAAK,cACR,OAEK,MAAA,EACL,SAAS,eAAe,8BAKnB,EAFL,SAAS,eAAe,qCAEW,MACpC,IAAI,EAAgB,KAAK,MAAM,EAAS,OACpC,IAAgB,EAAgB,WACnC,EAAgB,EAAc,WAE/B,KAAK,cAAc,WAAW,EAAc,GAAI,EAAc,GAAE,GD8jMlE,EAAA,gBAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,KAAA,EAAA,EAAA,KAAA,EAAA,EAAA,0BAAA,GAAA,EAAA,yBAAA,GAAA,EAAA,wBAAA,GAAA,EAAA,eAAA,EAAA,OAAA,eAAA,EAAA,OAAA,YAAA,CAAA,MAAA","file":"/npm/@watergis/maplibre-gl-export@4.0.1/dist/maplibre-gl-export.umd.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/@watergis/maplibre-gl-export@4.0.1/dist/maplibre-gl-export.umd.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { type Map as MaplibreMap } from 'maplibre-gl';\nimport { type Map as MapboxMap } from 'mapbox-gl';\n\nexport default class CrosshairManager {\n\tprivate map: MaplibreMap | MapboxMap | undefined;\n\n\tprivate width: number | undefined;\n\n\tprivate height: number | undefined;\n\n\tprivate svgCanvas: SVGElement | undefined;\n\n\tprivate xLine: SVGElement | undefined;\n\n\tprivate yLine: SVGElement | undefined;\n\n\tprivate color = '#535353';\n\n\tconstructor(map: MaplibreMap | MapboxMap | undefined) {\n\t\tthis.map = map;\n\t\tthis.mapResize = this.mapResize.bind(this);\n\t}\n\n\tpublic create() {\n\t\tthis.updateValues();\n\t\tif (this.map !== undefined) {\n\t\t\tthis.map.on('resize', this.mapResize);\n\t\t\tthis.createCanvas(this.map.getCanvasContainer());\n\t\t} else {\n\t\t\tconsole.error('map object is null');\n\t\t}\n\t}\n\n\tprivate updateValues() {\n\t\tthis.width = this.map?.getCanvas().clientWidth;\n\t\tthis.height = this.map?.getCanvas().clientHeight;\n\t}\n\n\tprivate mapResize() {\n\t\tthis.updateValues();\n\t\tthis.updateCanvas();\n\t}\n\n\tprivate updateCanvas() {\n\t\tif (\n\t\t\tthis.svgCanvas !== undefined &&\n\t\t\tthis.yLine !== undefined &&\n\t\t\tthis.xLine !== undefined &&\n\t\t\tthis.width !== undefined &&\n\t\t\tthis.height !== undefined\n\t\t) {\n\t\t\tthis.svgCanvas.setAttribute('width', `${this.width}px`);\n\t\t\tthis.svgCanvas.setAttribute('height', `${this.height}px`);\n\t\t\tconst halfWidth = this.width / 2;\n\t\t\tconst halfHeight = this.height / 2;\n\t\t\tthis.yLine.setAttribute('x1', `${halfWidth}px`);\n\t\t\tthis.yLine.setAttribute('y1', '0px');\n\t\t\tthis.yLine.setAttribute('x2', `${halfWidth}px`);\n\t\t\tthis.yLine.setAttribute('y2', `${this.height}px`);\n\n\t\t\tthis.xLine.setAttribute('x1', `${0}px`);\n\t\t\tthis.xLine.setAttribute('y1', `${halfHeight}px`);\n\t\t\tthis.xLine.setAttribute('x2', `${this.width}px`);\n\t\t\tthis.xLine.setAttribute('y2', `${halfHeight}px`);\n\t\t} else {\n\t\t\tconsole.error('element value is null');\n\t\t}\n\t}\n\n\tprivate createCanvas(container) {\n\t\tif (this.width !== undefined && this.height !== undefined) {\n\t\t\tconst canvas = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\t\t\tcanvas.style.position = 'relative';\n\t\t\tcanvas.setAttribute('width', `${this.width}px`);\n\t\t\tcanvas.setAttribute('height', `${this.height}px`);\n\t\t\tconst halfWidth = this.width / 2;\n\t\t\tconst halfHeight = this.height / 2;\n\t\t\tthis.yLine = canvas.appendChild(\n\t\t\t\tthis.createLine(halfWidth, 0, halfWidth, this.height, this.color, '2px')\n\t\t\t);\n\t\t\tthis.xLine = canvas.appendChild(\n\t\t\t\tthis.createLine(0, halfHeight, this.width, halfHeight, this.color, '2px')\n\t\t\t);\n\t\t\tcontainer?.appendChild(canvas);\n\t\t\tthis.svgCanvas = canvas;\n\t\t}\n\t}\n\n\tprivate createLine(x1, y1, x2, y2, color, w) {\n\t\tconst aLine = document.createElementNS('http://www.w3.org/2000/svg', 'line');\n\t\taLine.setAttribute('x1', x1);\n\t\taLine.setAttribute('y1', y1);\n\t\taLine.setAttribute('x2', x2);\n\t\taLine.setAttribute('y2', y2);\n\t\taLine.setAttribute('stroke-dasharray', '5,5');\n\t\taLine.setAttribute('stroke', color);\n\t\taLine.setAttribute('stroke-width', w);\n\t\treturn aLine;\n\t}\n\n\tpublic destroy() {\n\t\tif (this.xLine !== undefined) {\n\t\t\tthis.xLine.remove();\n\t\t\tthis.xLine = undefined;\n\t\t}\n\n\t\tif (this.yLine !== undefined) {\n\t\t\tthis.yLine.remove();\n\t\t\tthis.yLine = undefined;\n\t\t}\n\n\t\tif (this.svgCanvas !== undefined) {\n\t\t\tthis.svgCanvas.remove();\n\t\t\tthis.svgCanvas = undefined;\n\t\t}\n\n\t\tif (this.map !== undefined) {\n\t\t\tthis.map.off('resize', this.mapResize);\n\t\t\tthis.map = undefined;\n\t\t}\n\t}\n}\n","export const DPI = {\n\t72: 72,\n\t96: 96,\n\t200: 200,\n\t300: 300,\n\t400: 400\n} as const;\nexport type DPIType = (typeof DPI)[keyof typeof DPI];\n","export const Format = {\n\tJPEG: 'jpg',\n\tPNG: 'png',\n\tPDF: 'pdf',\n\tSVG: 'svg'\n} as const;\nexport type FormatType = (typeof Format)[keyof typeof Format];\n","export const PageOrientation = {\n\tLandscape: 'landscape',\n\tPortrait: 'portrait'\n} as const;\nexport type PageOrientationType = (typeof PageOrientation)[keyof typeof PageOrientation];\n","export const Size = {\n\t// A0, A1, B0, B1 are not working well.\n\t// A0: [1189, 841],\n\t// A1: [841, 594],\n\tLETTER: [279, 216], // 8.5x11 - works\n\t//TABLOID: [432,279] // 11x17 - not working currently prints to 11.68x8.27 in landscape\n\tA2: [594, 420],\n\tA3: [420, 297],\n\tA4: [297, 210],\n\tA5: [210, 148],\n\tA6: [148, 105],\n\t// B0: [1414, 1000],\n\t// B1: [1000, 707],\n\tB2: [707, 500],\n\tB3: [500, 353],\n\tB4: [353, 250],\n\tB5: [250, 176],\n\tB6: [176, 125]\n} as const;\nexport type SizeType = (typeof Size)[keyof typeof Size];\n","export const Unit = {\n\t// don't use inch unit. because page size setting is using mm unit.\n\tin: 'in',\n\tmm: 'mm'\n} as const;\nexport type UnitType = (typeof Unit)[keyof typeof Unit];\n","import { type Map as MaplibreMap } from 'maplibre-gl';\nimport { type Map as MapboxMap } from 'mapbox-gl';\nimport { Unit } from './interfaces';\n\nexport default class PrintableAreaManager {\n\tprivate map: MaplibreMap | MapboxMap | undefined;\n\n\tprivate width: number;\n\n\tprivate height: number;\n\n\tprivate unit: string;\n\n\tprivate svgCanvas: SVGElement | undefined;\n\n\tprivate svgPath: SVGElement | undefined;\n\n\tconstructor(map: MaplibreMap | MapboxMap | undefined) {\n\t\tthis.map = map;\n\t\tif (this.map === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tthis.mapResize = this.mapResize.bind(this);\n\t\tthis.map.on('resize', this.mapResize);\n\t\tconst clientWidth = this.map?.getCanvas().clientWidth;\n\t\tconst clientHeight = this.map?.getCanvas().clientHeight;\n\t\tconst svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\t\tsvg.style.position = 'absolute';\n\t\tsvg.style.top = '0px';\n\t\tsvg.style.left = '0px';\n\t\tsvg.setAttribute('width', `${clientWidth}px`);\n\t\tsvg.setAttribute('height', `${clientHeight}px`);\n\t\tconst path = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n\t\tpath.setAttribute('style', 'fill:#888888;stroke-width:0');\n\t\tpath.setAttribute('fill-opacity', '0.5');\n\t\tsvg.append(path);\n\t\tthis.map?.getCanvasContainer().appendChild(svg);\n\t\tthis.svgCanvas = svg;\n\t\tthis.svgPath = path;\n\t}\n\n\tprivate mapResize() {\n\t\tthis.generateCutOut();\n\t}\n\n\tpublic updateArea(width: number, height: number) {\n\t\tthis.width = width;\n\t\tthis.height = height;\n\t\tthis.unit = Unit.mm;\n\t\tthis.generateCutOut();\n\t}\n\n\tprivate generateCutOut() {\n\t\tif (this.map === undefined || this.svgCanvas === undefined || this.svgPath === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst width = this.toPixels(this.width);\n\t\tconst height = this.toPixels(this.height);\n\t\tconst clientWidth = this.map?.getCanvas().clientWidth;\n\t\tconst clientHeight = this.map?.getCanvas().clientHeight;\n\t\tconst startX = clientWidth / 2 - width / 2;\n\t\tconst endX = startX + width;\n\t\tconst startY = clientHeight / 2 - height / 2;\n\t\tconst endY = startY + height;\n\n\t\tthis.svgCanvas.setAttribute('width', `${clientWidth}px`);\n\t\tthis.svgCanvas.setAttribute('height', `${clientHeight}px`);\n\t\tthis.svgPath.setAttribute(\n\t\t\t'd',\n\t\t\t`M 0 0 L ${clientWidth} 0 L ${clientWidth} ${clientHeight} L 0 ${clientHeight} M ${startX} ${startY} L ${startX} ${endY} L ${endX} ${endY} L ${endX} ${startY}`\n\t\t);\n\t}\n\n\tpublic destroy() {\n\t\tif (this.svgCanvas !== undefined) {\n\t\t\tthis.svgCanvas.remove();\n\t\t\tthis.svgCanvas = undefined;\n\t\t}\n\n\t\tif (this.map !== undefined) {\n\t\t\tthis.map = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Convert mm/inch to pixel\n\t * @param length mm/inch length\n\t * @param conversionFactor DPI value. default is 96.\n\t */\n\tprivate toPixels(length: number, conversionFactor = 96) {\n\t\tif (this.unit === Unit.mm) {\n\t\t\tconversionFactor /= 25.4;\n\t\t}\n\t\treturn conversionFactor * length;\n\t}\n}\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Page Size',\n\tPageOrientation: 'Page Orientation',\n\tFormat: 'Format',\n\tDPI: 'DPI',\n\tGenerate: 'Generate',\n\tLanguageName: 'English',\n\tLanguageCode: 'en'\n};\n\nexport default translation;\n","import english from './en';\nimport french from './fr';\nimport finnish from './fi';\nimport german from './de';\nimport swedish from './sv';\nimport spanish from './es';\nimport catalan from './ca';\nimport vietnam from './vi';\nimport ukranian from './uk';\nimport zhHans from './zhHans';\nimport zhHant from './zhHant';\nimport ja from './ja';\nimport pt from './pt';\nimport { Language } from '../interfaces/Language';\nimport { Translation } from '../interfaces/Translation';\n\nexport const Languages: Translation[] = [\n\tenglish,\n\tfrench,\n\tfinnish,\n\tgerman,\n\tswedish,\n\tspanish,\n\tcatalan,\n\tvietnam,\n\tukranian,\n\tzhHans,\n\tzhHant,\n\tja,\n\tpt\n];\n\nexport const AvailableLanguages = [\n\t'en',\n\t'fr',\n\t'fi',\n\t'de',\n\t'sv',\n\t'es',\n\t'ca',\n\t'vi',\n\t'uk',\n\t'zhHans',\n\t'zhHant',\n\t'ja',\n\t'pt'\n] as const;\n\nexport const getTranslation = (lang: Language) => {\n\treturn Languages.find((l) => l.LanguageCode === lang) ?? english;\n};\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Taille de page',\n\tPageOrientation: 'Orientation de la page',\n\tFormat: 'Format',\n\tDPI: 'DPI',\n\tGenerate: 'Générer',\n\tLanguageName: 'Français',\n\tLanguageCode: 'fr'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Sivukoko',\n\tPageOrientation: 'Sivun suunta',\n\tFormat: 'Muoto',\n\tDPI: 'DPI',\n\tGenerate: 'Generoi',\n\tLanguageName: 'Suomalainen',\n\tLanguageCode: 'fi'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Papierformat',\n\tPageOrientation: 'Papierausrichtung',\n\tFormat: 'Dateiformat',\n\tDPI: 'Druckauflösung',\n\tGenerate: 'Erstellen',\n\tLanguageName: 'Deutsch',\n\tLanguageCode: 'de'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Sidstorlek',\n\tPageOrientation: 'Sidorientering',\n\tFormat: 'Format',\n\tDPI: 'DPI',\n\tGenerate: 'Generera',\n\tLanguageName: 'Svenska',\n\tLanguageCode: 'sv'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Tamaño de página',\n\tPageOrientation: 'Orientación de página',\n\tFormat: 'Formato',\n\tDPI: 'DPI',\n\tGenerate: 'Generar',\n\tLanguageName: 'Española',\n\tLanguageCode: 'es'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Mida',\n\tPageOrientation: 'Orientació',\n\tFormat: 'Format',\n\tDPI: 'DPI',\n\tGenerate: 'Genera',\n\tLanguageName: 'Catalan',\n\tLanguageCode: 'ca'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Kích thước trang',\n\tPageOrientation: 'Loại trang',\n\tFormat: 'Định dạng',\n\tDPI: 'Mật độ điểm ảnh (DPI)',\n\tGenerate: 'Tạo',\n\tLanguageName: 'Tiếng Việt',\n\tLanguageCode: 'vi'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Розмір сторінки',\n\tPageOrientation: 'Орієнтація сторінки',\n\tFormat: 'Формат',\n\tDPI: 'DPI',\n\tGenerate: 'Згенерувати',\n\tLanguageName: 'українська',\n\tLanguageCode: 'uk'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: '页面大小',\n\tPageOrientation: '页面方向',\n\tFormat: '格式',\n\tDPI: '像素',\n\tGenerate: '导出',\n\tLanguageName: '简体字',\n\tLanguageCode: 'zhHans'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: '頁面大小',\n\tPageOrientation: '頁面方向',\n\tFormat: '格式',\n\tDPI: '像素',\n\tGenerate: '導出',\n\tLanguageName: '繁体字',\n\tLanguageCode: 'zhHant'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'ページサイズ',\n\tPageOrientation: 'ページ方向',\n\tFormat: 'フォーマット',\n\tDPI: 'DPI（解像度）',\n\tGenerate: '出力',\n\tLanguageName: '日本語',\n\tLanguageCode: 'ja'\n};\n\nexport default translation;\n","import { Translation } from '../interfaces/Translation';\n\nconst translation: Translation = {\n\tPageSize: 'Tamanho da página',\n\tPageOrientation: 'Orientação da página',\n\tFormat: 'Formato',\n\tDPI: 'DPI',\n\tGenerate: 'Gerar',\n\tLanguageName: 'Português',\n\tLanguageCode: 'pt'\n};\n\nexport default translation;\n","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n    var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n        c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n    ], { type: 'text/javascript' }))));\n    w.onmessage = function (e) {\n        var d = e.data, ed = d.$e$;\n        if (ed) {\n            var err = new Error(ed[0]);\n            err['code'] = ed[1];\n            err.stack = ed[2];\n            cb(err, null);\n        }\n        else\n            cb(null, d);\n    };\n    w.postMessage(msg, transfer);\n    return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n    var b = new u16(31);\n    for (var i = 0; i < 31; ++i) {\n        b[i] = start += 1 << eb[i - 1];\n    }\n    // numbers here are at max 18 bits\n    var r = new i32(b[30]);\n    for (var i = 1; i < 30; ++i) {\n        for (var j = b[i]; j < b[i + 1]; ++j) {\n            r[j] = ((j - b[i]) << 5) | i;\n        }\n    }\n    return { b: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n    // reverse table algorithm from SO\n    var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);\n    x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);\n    x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);\n    rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n    var s = cd.length;\n    // index\n    var i = 0;\n    // u16 \"map\": index -> # of codes with bit length = index\n    var l = new u16(mb);\n    // length of cd must be 288 (total # of codes)\n    for (; i < s; ++i) {\n        if (cd[i])\n            ++l[cd[i] - 1];\n    }\n    // u16 \"map\": index -> minimum code for bit length = index\n    var le = new u16(mb);\n    for (i = 1; i < mb; ++i) {\n        le[i] = (le[i - 1] + l[i - 1]) << 1;\n    }\n    var co;\n    if (r) {\n        // u16 \"map\": index -> number of actual bits, symbol for code\n        co = new u16(1 << mb);\n        // bits to remove for reverser\n        var rvb = 15 - mb;\n        for (i = 0; i < s; ++i) {\n            // ignore 0 lengths\n            if (cd[i]) {\n                // num encoding both symbol and bits read\n                var sv = (i << 4) | cd[i];\n                // free bits\n                var r_1 = mb - cd[i];\n                // start value\n                var v = le[cd[i] - 1]++ << r_1;\n                // m is end value\n                for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n                    // every 16 bit value starting with the code yields the same result\n                    co[rev[v] >> rvb] = sv;\n                }\n            }\n        }\n    }\n    else {\n        co = new u16(s);\n        for (i = 0; i < s; ++i) {\n            if (cd[i]) {\n                co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n            }\n        }\n    }\n    return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n    flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n    flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n    flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n    flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n    fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n    var m = a[0];\n    for (var i = 1; i < a.length; ++i) {\n        if (a[i] > m)\n            m = a[i];\n    }\n    return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n    var o = (p / 8) | 0;\n    return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n    var o = (p / 8) | 0;\n    return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n    if (s == null || s < 0)\n        s = 0;\n    if (e == null || e > v.length)\n        e = v.length;\n    // can't use .constructor in case user-supplied\n    return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n    UnexpectedEOF: 0,\n    InvalidBlockType: 1,\n    InvalidLengthLiteral: 2,\n    InvalidDistance: 3,\n    StreamFinished: 4,\n    NoStreamHandler: 5,\n    InvalidHeader: 6,\n    NoCallback: 7,\n    InvalidUTF8: 8,\n    ExtraFieldTooLong: 9,\n    InvalidDate: 10,\n    FilenameTooLong: 11,\n    StreamFinishing: 12,\n    InvalidZipData: 13,\n    UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n    'unexpected EOF',\n    'invalid block type',\n    'invalid length/literal',\n    'invalid distance',\n    'stream finished',\n    'no stream handler',\n    ,\n    'no callback',\n    'invalid UTF-8 data',\n    'extra field too long',\n    'date not in range 1980-2099',\n    'filename too long',\n    'stream finishing',\n    'invalid zip data'\n    // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n    var e = new Error(msg || ec[ind]);\n    e.code = ind;\n    if (Error.captureStackTrace)\n        Error.captureStackTrace(e, err);\n    if (!nt)\n        throw e;\n    return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n    // source length       dict length\n    var sl = dat.length, dl = dict ? dict.length : 0;\n    if (!sl || st.f && !st.l)\n        return buf || new u8(0);\n    var noBuf = !buf;\n    // have to estimate size\n    var resize = noBuf || st.i != 2;\n    // no state\n    var noSt = st.i;\n    // Assumes roughly 33% compression ratio average\n    if (noBuf)\n        buf = new u8(sl * 3);\n    // ensure buffer can fit at least l elements\n    var cbuf = function (l) {\n        var bl = buf.length;\n        // need to increase size to fit\n        if (l > bl) {\n            // Double or set to necessary, whichever is greater\n            var nbuf = new u8(Math.max(bl * 2, l));\n            nbuf.set(buf);\n            buf = nbuf;\n        }\n    };\n    //  last chunk         bitpos           bytes\n    var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n    // total bits\n    var tbts = sl * 8;\n    do {\n        if (!lm) {\n            // BFINAL - this is only 1 when last chunk is next\n            final = bits(dat, pos, 1);\n            // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n            var type = bits(dat, pos + 1, 3);\n            pos += 3;\n            if (!type) {\n                // go to end of byte boundary\n                var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n                if (t > sl) {\n                    if (noSt)\n                        err(0);\n                    break;\n                }\n                // ensure size\n                if (resize)\n                    cbuf(bt + l);\n                // Copy over uncompressed data\n                buf.set(dat.subarray(s, t), bt);\n                // Get new bitpos, update byte count\n                st.b = bt += l, st.p = pos = t * 8, st.f = final;\n                continue;\n            }\n            else if (type == 1)\n                lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n            else if (type == 2) {\n                //  literal                            lengths\n                var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n                var tl = hLit + bits(dat, pos + 5, 31) + 1;\n                pos += 14;\n                // length+distance tree\n                var ldt = new u8(tl);\n                // code length tree\n                var clt = new u8(19);\n                for (var i = 0; i < hcLen; ++i) {\n                    // use index map to get real code\n                    clt[clim[i]] = bits(dat, pos + i * 3, 7);\n                }\n                pos += hcLen * 3;\n                // code lengths bits\n                var clb = max(clt), clbmsk = (1 << clb) - 1;\n                // code lengths map\n                var clm = hMap(clt, clb, 1);\n                for (var i = 0; i < tl;) {\n                    var r = clm[bits(dat, pos, clbmsk)];\n                    // bits read\n                    pos += r & 15;\n                    // symbol\n                    var s = r >> 4;\n                    // code length to copy\n                    if (s < 16) {\n                        ldt[i++] = s;\n                    }\n                    else {\n                        //  copy   count\n                        var c = 0, n = 0;\n                        if (s == 16)\n                            n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n                        else if (s == 17)\n                            n = 3 + bits(dat, pos, 7), pos += 3;\n                        else if (s == 18)\n                            n = 11 + bits(dat, pos, 127), pos += 7;\n                        while (n--)\n                            ldt[i++] = c;\n                    }\n                }\n                //    length tree                 distance tree\n                var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n                // max length bits\n                lbt = max(lt);\n                // max dist bits\n                dbt = max(dt);\n                lm = hMap(lt, lbt, 1);\n                dm = hMap(dt, dbt, 1);\n            }\n            else\n                err(1);\n            if (pos > tbts) {\n                if (noSt)\n                    err(0);\n                break;\n            }\n        }\n        // Make sure the buffer can hold this + the largest possible addition\n        // Maximum chunk size (practically, theoretically infinite) is 2^17\n        if (resize)\n            cbuf(bt + 131072);\n        var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n        var lpos = pos;\n        for (;; lpos = pos) {\n            // bits read, code\n            var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n            pos += c & 15;\n            if (pos > tbts) {\n                if (noSt)\n                    err(0);\n                break;\n            }\n            if (!c)\n                err(2);\n            if (sym < 256)\n                buf[bt++] = sym;\n            else if (sym == 256) {\n                lpos = pos, lm = null;\n                break;\n            }\n            else {\n                var add = sym - 254;\n                // no extra bits needed if less\n                if (sym > 264) {\n                    // index\n                    var i = sym - 257, b = fleb[i];\n                    add = bits(dat, pos, (1 << b) - 1) + fl[i];\n                    pos += b;\n                }\n                // dist\n                var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n                if (!d)\n                    err(3);\n                pos += d & 15;\n                var dt = fd[dsym];\n                if (dsym > 3) {\n                    var b = fdeb[dsym];\n                    dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n                }\n                if (pos > tbts) {\n                    if (noSt)\n                        err(0);\n                    break;\n                }\n                if (resize)\n                    cbuf(bt + 131072);\n                var end = bt + add;\n                if (bt < dt) {\n                    var shift = dl - dt, dend = Math.min(dt, end);\n                    if (shift + bt < 0)\n                        err(3);\n                    for (; bt < dend; ++bt)\n                        buf[bt] = dict[shift + bt];\n                }\n                for (; bt < end; ++bt)\n                    buf[bt] = buf[bt - dt];\n            }\n        }\n        st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n        if (lm)\n            final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n    } while (!final);\n    // don't reallocate for streams or user buffers\n    return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n    v <<= p & 7;\n    var o = (p / 8) | 0;\n    d[o] |= v;\n    d[o + 1] |= v >> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n    v <<= p & 7;\n    var o = (p / 8) | 0;\n    d[o] |= v;\n    d[o + 1] |= v >> 8;\n    d[o + 2] |= v >> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n    // Need extra info to make a tree\n    var t = [];\n    for (var i = 0; i < d.length; ++i) {\n        if (d[i])\n            t.push({ s: i, f: d[i] });\n    }\n    var s = t.length;\n    var t2 = t.slice();\n    if (!s)\n        return { t: et, l: 0 };\n    if (s == 1) {\n        var v = new u8(t[0].s + 1);\n        v[t[0].s] = 1;\n        return { t: v, l: 1 };\n    }\n    t.sort(function (a, b) { return a.f - b.f; });\n    // after i2 reaches last ind, will be stopped\n    // freq must be greater than largest possible number of symbols\n    t.push({ s: -1, f: 25001 });\n    var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n    t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n    // efficient algorithm from UZIP.js\n    // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n    // symbols that combined have high freq, will start processing i2 (high-freq,\n    // non-composite) symbols instead\n    // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n    while (i1 != s - 1) {\n        l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n        r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n        t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n    }\n    var maxSym = t2[0].s;\n    for (var i = 1; i < s; ++i) {\n        if (t2[i].s > maxSym)\n            maxSym = t2[i].s;\n    }\n    // code lengths\n    var tr = new u16(maxSym + 1);\n    // max bits in tree\n    var mbt = ln(t[i1 - 1], tr, 0);\n    if (mbt > mb) {\n        // more algorithms from UZIP.js\n        // TODO: find out how this code works (debt)\n        //  ind    debt\n        var i = 0, dt = 0;\n        //    left            cost\n        var lft = mbt - mb, cst = 1 << lft;\n        t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n        for (; i < s; ++i) {\n            var i2_1 = t2[i].s;\n            if (tr[i2_1] > mb) {\n                dt += cst - (1 << (mbt - tr[i2_1]));\n                tr[i2_1] = mb;\n            }\n            else\n                break;\n        }\n        dt >>= lft;\n        while (dt > 0) {\n            var i2_2 = t2[i].s;\n            if (tr[i2_2] < mb)\n                dt -= 1 << (mb - tr[i2_2]++ - 1);\n            else\n                ++i;\n        }\n        for (; i >= 0 && dt; --i) {\n            var i2_3 = t2[i].s;\n            if (tr[i2_3] == mb) {\n                --tr[i2_3];\n                ++dt;\n            }\n        }\n        mbt = mb;\n    }\n    return { t: new u8(tr), l: mbt };\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n    return n.s == -1\n        ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n        : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n    var s = c.length;\n    // Note that the semicolon was intentional\n    while (s && !c[--s])\n        ;\n    var cl = new u16(++s);\n    //  ind      num         streak\n    var cli = 0, cln = c[0], cls = 1;\n    var w = function (v) { cl[cli++] = v; };\n    for (var i = 1; i <= s; ++i) {\n        if (c[i] == cln && i != s)\n            ++cls;\n        else {\n            if (!cln && cls > 2) {\n                for (; cls > 138; cls -= 138)\n                    w(32754);\n                if (cls > 2) {\n                    w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n                    cls = 0;\n                }\n            }\n            else if (cls > 3) {\n                w(cln), --cls;\n                for (; cls > 6; cls -= 6)\n                    w(8304);\n                if (cls > 2)\n                    w(((cls - 3) << 5) | 8208), cls = 0;\n            }\n            while (cls--)\n                w(cln);\n            cls = 1;\n            cln = c[i];\n        }\n    }\n    return { c: cl.subarray(0, cli), n: s };\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n    var l = 0;\n    for (var i = 0; i < cl.length; ++i)\n        l += cf[i] * cl[i];\n    return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n    // no need to write 00 as type: TypedArray defaults to 0\n    var s = dat.length;\n    var o = shft(pos + 2);\n    out[o] = s & 255;\n    out[o + 1] = s >> 8;\n    out[o + 2] = out[o] ^ 255;\n    out[o + 3] = out[o + 1] ^ 255;\n    for (var i = 0; i < s; ++i)\n        out[o + i + 4] = dat[i];\n    return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n    wbits(out, p++, final);\n    ++lf[256];\n    var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;\n    var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n    var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n    var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\n    var lcfreq = new u16(19);\n    for (var i = 0; i < lclt.length; ++i)\n        ++lcfreq[lclt[i] & 31];\n    for (var i = 0; i < lcdt.length; ++i)\n        ++lcfreq[lcdt[i] & 31];\n    var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;\n    var nlcc = 19;\n    for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n        ;\n    var flen = (bl + 5) << 3;\n    var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n    var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];\n    if (bs >= 0 && flen <= ftlen && flen <= dtlen)\n        return wfblk(out, p, dat.subarray(bs, bs + bl));\n    var lm, ll, dm, dl;\n    wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n    if (dtlen < ftlen) {\n        lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n        var llm = hMap(lct, mlcb, 0);\n        wbits(out, p, nlc - 257);\n        wbits(out, p + 5, ndc - 1);\n        wbits(out, p + 10, nlcc - 4);\n        p += 14;\n        for (var i = 0; i < nlcc; ++i)\n            wbits(out, p + 3 * i, lct[clim[i]]);\n        p += 3 * nlcc;\n        var lcts = [lclt, lcdt];\n        for (var it = 0; it < 2; ++it) {\n            var clct = lcts[it];\n            for (var i = 0; i < clct.length; ++i) {\n                var len = clct[i] & 31;\n                wbits(out, p, llm[len]), p += lct[len];\n                if (len > 15)\n                    wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;\n            }\n        }\n    }\n    else {\n        lm = flm, ll = flt, dm = fdm, dl = fdt;\n    }\n    for (var i = 0; i < li; ++i) {\n        var sym = syms[i];\n        if (sym > 255) {\n            var len = (sym >> 18) & 31;\n            wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n            if (len > 7)\n                wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n            var dst = sym & 31;\n            wbits16(out, p, dm[dst]), p += dl[dst];\n            if (dst > 3)\n                wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n        }\n        else {\n            wbits16(out, p, lm[sym]), p += ll[sym];\n        }\n    }\n    wbits16(out, p, lm[256]);\n    return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, st) {\n    var s = st.z || dat.length;\n    var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n    // writing to this writes to the output buffer\n    var w = o.subarray(pre, o.length - post);\n    var lst = st.l;\n    var pos = (st.r || 0) & 7;\n    if (lvl) {\n        if (pos)\n            w[0] = st.r >> 3;\n        var opt = deo[lvl - 1];\n        var n = opt >> 13, c = opt & 8191;\n        var msk_1 = (1 << plvl) - 1;\n        //    prev 2-byte val map    curr 2-byte val map\n        var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);\n        var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n        var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n        // 24576 is an arbitrary number of maximum symbols per block\n        // 424 buffer for last block\n        var syms = new i32(25000);\n        // length/literal freq   distance freq\n        var lf = new u16(288), df = new u16(32);\n        //  l/lcnt  exbits  index          l/lind  waitdx          blkpos\n        var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n        for (; i + 2 < s; ++i) {\n            // hash value\n            var hv = hsh(i);\n            // index mod 32768    previous index mod\n            var imod = i & 32767, pimod = head[hv];\n            prev[imod] = pimod;\n            head[hv] = imod;\n            // We always should modify head and prev, but only add symbols if\n            // this data is not yet processed (\"wait\" for wait index)\n            if (wi <= i) {\n                // bytes remaining\n                var rem = s - i;\n                if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {\n                    pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n                    li = lc_1 = eb = 0, bs = i;\n                    for (var j = 0; j < 286; ++j)\n                        lf[j] = 0;\n                    for (var j = 0; j < 30; ++j)\n                        df[j] = 0;\n                }\n                //  len    dist   chain\n                var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;\n                if (rem > 2 && hv == hsh(i - dif)) {\n                    var maxn = Math.min(n, rem) - 1;\n                    var maxd = Math.min(32767, i);\n                    // max possible length\n                    // not capped at dif because decompressors implement \"rolling\" index population\n                    var ml = Math.min(258, rem);\n                    while (dif <= maxd && --ch_1 && imod != pimod) {\n                        if (dat[i + l] == dat[i + l - dif]) {\n                            var nl = 0;\n                            for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n                                ;\n                            if (nl > l) {\n                                l = nl, d = dif;\n                                // break out early when we reach \"nice\" (we are satisfied enough)\n                                if (nl > maxn)\n                                    break;\n                                // now, find the rarest 2-byte sequence within this\n                                // length of literals and search for that instead.\n                                // Much faster than just using the start\n                                var mmd = Math.min(dif, nl - 2);\n                                var md = 0;\n                                for (var j = 0; j < mmd; ++j) {\n                                    var ti = i - dif + j & 32767;\n                                    var pti = prev[ti];\n                                    var cd = ti - pti & 32767;\n                                    if (cd > md)\n                                        md = cd, pimod = ti;\n                                }\n                            }\n                        }\n                        // check the previous match\n                        imod = pimod, pimod = prev[imod];\n                        dif += imod - pimod & 32767;\n                    }\n                }\n                // d will be nonzero only when a match was found\n                if (d) {\n                    // store both dist and len data in one int32\n                    // Make sure this is recognized as a len/dist with 28th bit (2^28)\n                    syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n                    var lin = revfl[l] & 31, din = revfd[d] & 31;\n                    eb += fleb[lin] + fdeb[din];\n                    ++lf[257 + lin];\n                    ++df[din];\n                    wi = i + l;\n                    ++lc_1;\n                }\n                else {\n                    syms[li++] = dat[i];\n                    ++lf[dat[i]];\n                }\n            }\n        }\n        for (i = Math.max(i, wi); i < s; ++i) {\n            syms[li++] = dat[i];\n            ++lf[dat[i]];\n        }\n        pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n        if (!lst) {\n            st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n            // shft(pos) now 1 less if pos & 7 != 0\n            pos -= 7;\n            st.h = head, st.p = prev, st.i = i, st.w = wi;\n        }\n    }\n    else {\n        for (var i = st.w || 0; i < s + lst; i += 65535) {\n            // end\n            var e = i + 65535;\n            if (e >= s) {\n                // write final block\n                w[(pos / 8) | 0] = lst;\n                e = s;\n            }\n            pos = wfblk(w, pos + 1, dat.subarray(i, e));\n        }\n        st.i = s;\n    }\n    return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n    var t = new Int32Array(256);\n    for (var i = 0; i < 256; ++i) {\n        var c = i, k = 9;\n        while (--k)\n            c = ((c & 1) && -306674912) ^ (c >>> 1);\n        t[i] = c;\n    }\n    return t;\n})();\n// CRC32\nvar crc = function () {\n    var c = -1;\n    return {\n        p: function (d) {\n            // closures have awful performance\n            var cr = c;\n            for (var i = 0; i < d.length; ++i)\n                cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n            c = cr;\n        },\n        d: function () { return ~c; }\n    };\n};\n// Adler32\nvar adler = function () {\n    var a = 1, b = 0;\n    return {\n        p: function (d) {\n            // closures have awful performance\n            var n = a, m = b;\n            var l = d.length | 0;\n            for (var i = 0; i != l;) {\n                var e = Math.min(i + 2655, l);\n                for (; i < e; ++i)\n                    m += n += d[i];\n                n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n            }\n            a = n, b = m;\n        },\n        d: function () {\n            a %= 65521, b %= 65521;\n            return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n        }\n    };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n    if (!st) {\n        st = { l: 1 };\n        if (opt.dictionary) {\n            var dict = opt.dictionary.subarray(-32768);\n            var newDat = new u8(dict.length + dat.length);\n            newDat.set(dict);\n            newDat.set(dat, dict.length);\n            dat = newDat;\n            st.w = dict.length;\n        }\n    }\n    return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n    var o = {};\n    for (var k in a)\n        o[k] = a[k];\n    for (var k in b)\n        o[k] = b[k];\n    return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n    var dt = fn();\n    var st = fn.toString();\n    var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n    for (var i = 0; i < dt.length; ++i) {\n        var v = dt[i], k = ks[i];\n        if (typeof v == 'function') {\n            fnStr += ';' + k + '=';\n            var st_1 = v.toString();\n            if (v.prototype) {\n                // for global objects\n                if (st_1.indexOf('[native code]') != -1) {\n                    var spInd = st_1.indexOf(' ', 8) + 1;\n                    fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n                }\n                else {\n                    fnStr += st_1;\n                    for (var t in v.prototype)\n                        fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n                }\n            }\n            else\n                fnStr += st_1;\n        }\n        else\n            td[k] = v;\n    }\n    return fnStr;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n    var tl = [];\n    for (var k in v) {\n        if (v[k].buffer) {\n            tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n        }\n    }\n    return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n    if (!ch[id]) {\n        var fnStr = '', td_1 = {}, m = fns.length - 1;\n        for (var i = 0; i < m; ++i)\n            fnStr = wcln(fns[i], fnStr, td_1);\n        ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n    }\n    var td = mrg({}, ch[id].e);\n    return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n    out: o.size && new u8(o.size),\n    dictionary: o.dictionary\n}; };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n    var w = wrkr(fns, init, id, function (err, dat) {\n        w.terminate();\n        cb(err, dat);\n    });\n    w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n    return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n    strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n    return function (ev) {\n        if (ev.data.length) {\n            strm.push(ev.data[0], ev.data[1]);\n            postMessage([ev.data[0].length]);\n        }\n        else\n            strm.flush();\n    };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, flush, ext) {\n    var t;\n    var w = wrkr(fns, init, id, function (err, dat) {\n        if (err)\n            w.terminate(), strm.ondata.call(strm, err);\n        else if (!Array.isArray(dat))\n            ext(dat);\n        else if (dat.length == 1) {\n            strm.queuedSize -= dat[0];\n            if (strm.ondrain)\n                strm.ondrain(dat[0]);\n        }\n        else {\n            if (dat[1])\n                w.terminate();\n            strm.ondata.call(strm, err, dat[0], dat[1]);\n        }\n    });\n    w.postMessage(opts);\n    strm.queuedSize = 0;\n    strm.push = function (d, f) {\n        if (!strm.ondata)\n            err(5);\n        if (t)\n            strm.ondata(err(4, 0, 1), null, !!f);\n        strm.queuedSize += d.length;\n        w.postMessage([d, t = f], [d.buffer]);\n    };\n    strm.terminate = function () { w.terminate(); };\n    if (flush) {\n        strm.flush = function () { w.postMessage([]); };\n    }\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n    for (; v; ++b)\n        d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n    var fn = o.filename;\n    c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n    if (o.mtime != 0)\n        wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n    if (fn) {\n        c[3] = 8;\n        for (var i = 0; i <= fn.length; ++i)\n            c[i + 10] = fn.charCodeAt(i);\n    }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n    if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n        err(6, 'invalid gzip data');\n    var flg = d[3];\n    var st = 10;\n    if (flg & 4)\n        st += (d[10] | d[11] << 8) + 2;\n    for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n        ;\n    return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n    var l = d.length;\n    return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); };\n// zlib header\nvar zlh = function (c, o) {\n    var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n    c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32);\n    c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n    if (o.dictionary) {\n        var h = adler();\n        h.p(o.dictionary);\n        wbytes(c, 2, h.d());\n    }\n};\n// zlib start\nvar zls = function (d, dict) {\n    if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n        err(6, 'invalid zlib data');\n    if ((d[1] >> 5 & 1) == +!dict)\n        err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n    return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n    if (typeof opts == 'function')\n        cb = opts, opts = {};\n    this.ondata = cb;\n    return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n    function Deflate(opts, cb) {\n        if (typeof opts == 'function')\n            cb = opts, opts = {};\n        this.ondata = cb;\n        this.o = opts || {};\n        this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n        // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n        // 98304 = 32768 (lookback) + 65536 (common chunk size)\n        this.b = new u8(98304);\n        if (this.o.dictionary) {\n            var dict = this.o.dictionary.subarray(-32768);\n            this.b.set(dict, 32768 - dict.length);\n            this.s.i = 32768 - dict.length;\n        }\n    }\n    Deflate.prototype.p = function (c, f) {\n        this.ondata(dopt(c, this.o, 0, 0, this.s), f);\n    };\n    /**\n     * Pushes a chunk to be deflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Deflate.prototype.push = function (chunk, final) {\n        if (!this.ondata)\n            err(5);\n        if (this.s.l)\n            err(4);\n        var endLen = chunk.length + this.s.z;\n        if (endLen > this.b.length) {\n            if (endLen > 2 * this.b.length - 32768) {\n                var newBuf = new u8(endLen & -32768);\n                newBuf.set(this.b.subarray(0, this.s.z));\n                this.b = newBuf;\n            }\n            var split = this.b.length - this.s.z;\n            this.b.set(chunk.subarray(0, split), this.s.z);\n            this.s.z = this.b.length;\n            this.p(this.b, false);\n            this.b.set(this.b.subarray(-32768));\n            this.b.set(chunk.subarray(split), 32768);\n            this.s.z = chunk.length - split + 32768;\n            this.s.i = 32766, this.s.w = 32768;\n        }\n        else {\n            this.b.set(chunk, this.s.z);\n            this.s.z += chunk.length;\n        }\n        this.s.l = final & 1;\n        if (this.s.z > this.s.w + 8191 || final) {\n            this.p(this.b, final || false);\n            this.s.w = this.s.i, this.s.i -= 2;\n        }\n    };\n    /**\n     * Flushes buffered uncompressed data. Useful to immediately retrieve the\n     * deflated output for small inputs.\n     */\n    Deflate.prototype.flush = function () {\n        if (!this.ondata)\n            err(5);\n        if (this.s.l)\n            err(4);\n        this.p(this.b, false);\n        this.s.w = this.s.i, this.s.i -= 2;\n    };\n    return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n    function AsyncDeflate(opts, cb) {\n        astrmify([\n            bDflt,\n            function () { return [astrm, Deflate]; }\n        ], this, StrmOpt.call(this, opts, cb), function (ev) {\n            var strm = new Deflate(ev.data);\n            onmessage = astrm(strm);\n        }, 6, 1);\n    }\n    return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    return cbify(data, opts, [\n        bDflt,\n    ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n    return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n    function Inflate(opts, cb) {\n        // no StrmOpt here to avoid adding to workerizer\n        if (typeof opts == 'function')\n            cb = opts, opts = {};\n        this.ondata = cb;\n        var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n        this.s = { i: 0, b: dict ? dict.length : 0 };\n        this.o = new u8(32768);\n        this.p = new u8(0);\n        if (dict)\n            this.o.set(dict);\n    }\n    Inflate.prototype.e = function (c) {\n        if (!this.ondata)\n            err(5);\n        if (this.d)\n            err(4);\n        if (!this.p.length)\n            this.p = c;\n        else if (c.length) {\n            var n = new u8(this.p.length + c.length);\n            n.set(this.p), n.set(c, this.p.length), this.p = n;\n        }\n    };\n    Inflate.prototype.c = function (final) {\n        this.s.i = +(this.d = final || false);\n        var bts = this.s.b;\n        var dt = inflt(this.p, this.s, this.o);\n        this.ondata(slc(dt, bts, this.s.b), this.d);\n        this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n        this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n    };\n    /**\n     * Pushes a chunk to be inflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the final chunk\n     */\n    Inflate.prototype.push = function (chunk, final) {\n        this.e(chunk), this.c(final);\n    };\n    return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n    function AsyncInflate(opts, cb) {\n        astrmify([\n            bInflt,\n            function () { return [astrm, Inflate]; }\n        ], this, StrmOpt.call(this, opts, cb), function (ev) {\n            var strm = new Inflate(ev.data);\n            onmessage = astrm(strm);\n        }, 7, 0);\n    }\n    return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    return cbify(data, opts, [\n        bInflt\n    ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n    return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n    function Gzip(opts, cb) {\n        this.c = crc();\n        this.l = 0;\n        this.v = 1;\n        Deflate.call(this, opts, cb);\n    }\n    /**\n     * Pushes a chunk to be GZIPped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Gzip.prototype.push = function (chunk, final) {\n        this.c.p(chunk);\n        this.l += chunk.length;\n        Deflate.prototype.push.call(this, chunk, final);\n    };\n    Gzip.prototype.p = function (c, f) {\n        var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\n        if (this.v)\n            gzh(raw, this.o), this.v = 0;\n        if (f)\n            wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n        this.ondata(raw, f);\n    };\n    /**\n     * Flushes buffered uncompressed data. Useful to immediately retrieve the\n     * GZIPped output for small inputs.\n     */\n    Gzip.prototype.flush = function () {\n        Deflate.prototype.flush.call(this);\n    };\n    return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n    function AsyncGzip(opts, cb) {\n        astrmify([\n            bDflt,\n            gze,\n            function () { return [astrm, Deflate, Gzip]; }\n        ], this, StrmOpt.call(this, opts, cb), function (ev) {\n            var strm = new Gzip(ev.data);\n            onmessage = astrm(strm);\n        }, 8, 1);\n    }\n    return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    return cbify(data, opts, [\n        bDflt,\n        gze,\n        function () { return [gzipSync]; }\n    ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n    if (!opts)\n        opts = {};\n    var c = crc(), l = data.length;\n    c.p(data);\n    var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n    return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n    function Gunzip(opts, cb) {\n        this.v = 1;\n        this.r = 0;\n        Inflate.call(this, opts, cb);\n    }\n    /**\n     * Pushes a chunk to be GUNZIPped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Gunzip.prototype.push = function (chunk, final) {\n        Inflate.prototype.e.call(this, chunk);\n        this.r += chunk.length;\n        if (this.v) {\n            var p = this.p.subarray(this.v - 1);\n            var s = p.length > 3 ? gzs(p) : 4;\n            if (s > p.length) {\n                if (!final)\n                    return;\n            }\n            else if (this.v > 1 && this.onmember) {\n                this.onmember(this.r - p.length);\n            }\n            this.p = p.subarray(s), this.v = 0;\n        }\n        // necessary to prevent TS from using the closure value\n        // This allows for workerization to function correctly\n        Inflate.prototype.c.call(this, final);\n        // process concatenated GZIP\n        if (this.s.f && !this.s.l && !final) {\n            this.v = shft(this.s.p) + 9;\n            this.s = { i: 0 };\n            this.o = new u8(0);\n            this.push(new u8(0), final);\n        }\n    };\n    return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n    function AsyncGunzip(opts, cb) {\n        var _this = this;\n        astrmify([\n            bInflt,\n            guze,\n            function () { return [astrm, Inflate, Gunzip]; }\n        ], this, StrmOpt.call(this, opts, cb), function (ev) {\n            var strm = new Gunzip(ev.data);\n            strm.onmember = function (offset) { return postMessage(offset); };\n            onmessage = astrm(strm);\n        }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); });\n    }\n    return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    return cbify(data, opts, [\n        bInflt,\n        guze,\n        function () { return [gunzipSync]; }\n    ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n    var st = gzs(data);\n    if (st + 8 > data.length)\n        err(6, 'invalid gzip data');\n    return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n    function Zlib(opts, cb) {\n        this.c = adler();\n        this.v = 1;\n        Deflate.call(this, opts, cb);\n    }\n    /**\n     * Pushes a chunk to be zlibbed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Zlib.prototype.push = function (chunk, final) {\n        this.c.p(chunk);\n        Deflate.prototype.push.call(this, chunk, final);\n    };\n    Zlib.prototype.p = function (c, f) {\n        var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\n        if (this.v)\n            zlh(raw, this.o), this.v = 0;\n        if (f)\n            wbytes(raw, raw.length - 4, this.c.d());\n        this.ondata(raw, f);\n    };\n    /**\n     * Flushes buffered uncompressed data. Useful to immediately retrieve the\n     * zlibbed output for small inputs.\n     */\n    Zlib.prototype.flush = function () {\n        Deflate.prototype.flush.call(this);\n    };\n    return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n    function AsyncZlib(opts, cb) {\n        astrmify([\n            bDflt,\n            zle,\n            function () { return [astrm, Deflate, Zlib]; }\n        ], this, StrmOpt.call(this, opts, cb), function (ev) {\n            var strm = new Zlib(ev.data);\n            onmessage = astrm(strm);\n        }, 10, 1);\n    }\n    return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    return cbify(data, opts, [\n        bDflt,\n        zle,\n        function () { return [zlibSync]; }\n    ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n    if (!opts)\n        opts = {};\n    var a = adler();\n    a.p(data);\n    var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);\n    return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n    function Unzlib(opts, cb) {\n        Inflate.call(this, opts, cb);\n        this.v = opts && opts.dictionary ? 2 : 1;\n    }\n    /**\n     * Pushes a chunk to be unzlibbed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Unzlib.prototype.push = function (chunk, final) {\n        Inflate.prototype.e.call(this, chunk);\n        if (this.v) {\n            if (this.p.length < 6 && !final)\n                return;\n            this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n        }\n        if (final) {\n            if (this.p.length < 4)\n                err(6, 'invalid zlib data');\n            this.p = this.p.subarray(0, -4);\n        }\n        // necessary to prevent TS from using the closure value\n        // This allows for workerization to function correctly\n        Inflate.prototype.c.call(this, final);\n    };\n    return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n    function AsyncUnzlib(opts, cb) {\n        astrmify([\n            bInflt,\n            zule,\n            function () { return [astrm, Inflate, Unzlib]; }\n        ], this, StrmOpt.call(this, opts, cb), function (ev) {\n            var strm = new Unzlib(ev.data);\n            onmessage = astrm(strm);\n        }, 11, 0);\n    }\n    return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    return cbify(data, opts, [\n        bInflt,\n        zule,\n        function () { return [unzlibSync]; }\n    ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n    return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n    function Decompress(opts, cb) {\n        this.o = StrmOpt.call(this, opts, cb) || {};\n        this.G = Gunzip;\n        this.I = Inflate;\n        this.Z = Unzlib;\n    }\n    // init substream\n    // overriden by AsyncDecompress\n    Decompress.prototype.i = function () {\n        var _this = this;\n        this.s.ondata = function (dat, final) {\n            _this.ondata(dat, final);\n        };\n    };\n    /**\n     * Pushes a chunk to be decompressed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Decompress.prototype.push = function (chunk, final) {\n        if (!this.ondata)\n            err(5);\n        if (!this.s) {\n            if (this.p && this.p.length) {\n                var n = new u8(this.p.length + chunk.length);\n                n.set(this.p), n.set(chunk, this.p.length);\n            }\n            else\n                this.p = chunk;\n            if (this.p.length > 2) {\n                this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n                    ? new this.G(this.o)\n                    : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n                        ? new this.I(this.o)\n                        : new this.Z(this.o);\n                this.i();\n                this.s.push(this.p, final);\n                this.p = null;\n            }\n        }\n        else\n            this.s.push(chunk, final);\n    };\n    return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n    function AsyncDecompress(opts, cb) {\n        Decompress.call(this, opts, cb);\n        this.queuedSize = 0;\n        this.G = AsyncGunzip;\n        this.I = AsyncInflate;\n        this.Z = AsyncUnzlib;\n    }\n    AsyncDecompress.prototype.i = function () {\n        var _this = this;\n        this.s.ondata = function (err, dat, final) {\n            _this.ondata(err, dat, final);\n        };\n        this.s.ondrain = function (size) {\n            _this.queuedSize -= size;\n            if (_this.ondrain)\n                _this.ondrain(size);\n        };\n    };\n    /**\n     * Pushes a chunk to be decompressed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    AsyncDecompress.prototype.push = function (chunk, final) {\n        this.queuedSize += chunk.length;\n        Decompress.prototype.push.call(this, chunk, final);\n    };\n    return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n        ? gunzip(data, opts, cb)\n        : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n            ? inflate(data, opts, cb)\n            : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n    return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n        ? gunzipSync(data, opts)\n        : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n            ? inflateSync(data, opts)\n            : unzlibSync(data, opts);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n    for (var k in d) {\n        var val = d[k], n = p + k, op = o;\n        if (Array.isArray(val))\n            op = mrg(o, val[1]), val = val[0];\n        if (val instanceof u8)\n            t[n] = [val, op];\n        else {\n            t[n += '/'] = [new u8(0), op];\n            fltn(val, n, t, o);\n        }\n    }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n    td.decode(et, { stream: true });\n    tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n    for (var r = '', i = 0;;) {\n        var c = d[i++];\n        var eb = (c > 127) + (c > 223) + (c > 239);\n        if (i + eb > d.length)\n            return { s: r, r: slc(d, i - 1) };\n        if (!eb)\n            r += String.fromCharCode(c);\n        else if (eb == 3) {\n            c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n                r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n        }\n        else if (eb & 1)\n            r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n        else\n            r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n    }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n    /**\n     * Creates a UTF-8 decoding stream\n     * @param cb The callback to call whenever data is decoded\n     */\n    function DecodeUTF8(cb) {\n        this.ondata = cb;\n        if (tds)\n            this.t = new TextDecoder();\n        else\n            this.p = et;\n    }\n    /**\n     * Pushes a chunk to be decoded from UTF-8 binary\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    DecodeUTF8.prototype.push = function (chunk, final) {\n        if (!this.ondata)\n            err(5);\n        final = !!final;\n        if (this.t) {\n            this.ondata(this.t.decode(chunk, { stream: true }), final);\n            if (final) {\n                if (this.t.decode().length)\n                    err(8);\n                this.t = null;\n            }\n            return;\n        }\n        if (!this.p)\n            err(4);\n        var dat = new u8(this.p.length + chunk.length);\n        dat.set(this.p);\n        dat.set(chunk, this.p.length);\n        var _a = dutf8(dat), s = _a.s, r = _a.r;\n        if (final) {\n            if (r.length)\n                err(8);\n            this.p = null;\n        }\n        else\n            this.p = r;\n        this.ondata(s, final);\n    };\n    return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n    /**\n     * Creates a UTF-8 decoding stream\n     * @param cb The callback to call whenever data is encoded\n     */\n    function EncodeUTF8(cb) {\n        this.ondata = cb;\n    }\n    /**\n     * Pushes a chunk to be encoded to UTF-8\n     * @param chunk The string data to push\n     * @param final Whether this is the last chunk\n     */\n    EncodeUTF8.prototype.push = function (chunk, final) {\n        if (!this.ondata)\n            err(5);\n        if (this.d)\n            err(4);\n        this.ondata(strToU8(chunk), this.d = final || false);\n    };\n    return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n *               not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n    if (latin1) {\n        var ar_1 = new u8(str.length);\n        for (var i = 0; i < str.length; ++i)\n            ar_1[i] = str.charCodeAt(i);\n        return ar_1;\n    }\n    if (te)\n        return te.encode(str);\n    var l = str.length;\n    var ar = new u8(str.length + (str.length >> 1));\n    var ai = 0;\n    var w = function (v) { ar[ai++] = v; };\n    for (var i = 0; i < l; ++i) {\n        if (ai + 5 > ar.length) {\n            var n = new u8(ai + 8 + ((l - i) << 1));\n            n.set(ar);\n            ar = n;\n        }\n        var c = str.charCodeAt(i);\n        if (c < 128 || latin1)\n            w(c);\n        else if (c < 2048)\n            w(192 | (c >> 6)), w(128 | (c & 63));\n        else if (c > 55295 && c < 57344)\n            c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n                w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n        else\n            w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n    }\n    return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n *               not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n    if (latin1) {\n        var r = '';\n        for (var i = 0; i < dat.length; i += 16384)\n            r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n        return r;\n    }\n    else if (td) {\n        return td.decode(dat);\n    }\n    else {\n        var _a = dutf8(dat), s = _a.s, r = _a.r;\n        if (r.length)\n            err(8);\n        return s;\n    }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n    var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n    var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n    return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n    for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n        ;\n    return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n    var le = 0;\n    if (ex) {\n        for (var k in ex) {\n            var l = ex[k].length;\n            if (l > 65535)\n                err(9);\n            le += l + 4;\n        }\n    }\n    return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n    var fl = fn.length, ex = f.extra, col = co && co.length;\n    var exl = exfl(ex);\n    wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n    if (ce != null)\n        d[b++] = 20, d[b++] = f.os;\n    d[b] = 20, b += 2; // spec compliance? what's that?\n    d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n    d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n    var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n    if (y < 0 || y > 119)\n        err(10);\n    wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n    if (c != -1) {\n        wbytes(d, b, f.crc);\n        wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n        wbytes(d, b + 8, f.size);\n    }\n    wbytes(d, b + 12, fl);\n    wbytes(d, b + 14, exl), b += 16;\n    if (ce != null) {\n        wbytes(d, b, col);\n        wbytes(d, b + 6, f.attrs);\n        wbytes(d, b + 10, ce), b += 14;\n    }\n    d.set(fn, b);\n    b += fl;\n    if (exl) {\n        for (var k in ex) {\n            var exf = ex[k], l = exf.length;\n            wbytes(d, b, +k);\n            wbytes(d, b + 2, l);\n            d.set(exf, b + 4), b += 4 + l;\n        }\n    }\n    if (col)\n        d.set(co, b), b += col;\n    return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n    wbytes(o, b, 0x6054B50); // skip disk\n    wbytes(o, b + 8, c);\n    wbytes(o, b + 10, c);\n    wbytes(o, b + 12, d);\n    wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n    /**\n     * Creates a pass-through stream that can be added to ZIP archives\n     * @param filename The filename to associate with this data stream\n     */\n    function ZipPassThrough(filename) {\n        this.filename = filename;\n        this.c = crc();\n        this.size = 0;\n        this.compression = 0;\n    }\n    /**\n     * Processes a chunk and pushes to the output stream. You can override this\n     * method in a subclass for custom behavior, but by default this passes\n     * the data through. You must call this.ondata(err, chunk, final) at some\n     * point in this method.\n     * @param chunk The chunk to process\n     * @param final Whether this is the last chunk\n     */\n    ZipPassThrough.prototype.process = function (chunk, final) {\n        this.ondata(null, chunk, final);\n    };\n    /**\n     * Pushes a chunk to be added. If you are subclassing this with a custom\n     * compression algorithm, note that you must push data from the source\n     * file only, pre-compression.\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    ZipPassThrough.prototype.push = function (chunk, final) {\n        if (!this.ondata)\n            err(5);\n        this.c.p(chunk);\n        this.size += chunk.length;\n        if (final)\n            this.crc = this.c.d();\n        this.process(chunk, final || false);\n    };\n    return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n    /**\n     * Creates a DEFLATE stream that can be added to ZIP archives\n     * @param filename The filename to associate with this data stream\n     * @param opts The compression options\n     */\n    function ZipDeflate(filename, opts) {\n        var _this = this;\n        if (!opts)\n            opts = {};\n        ZipPassThrough.call(this, filename);\n        this.d = new Deflate(opts, function (dat, final) {\n            _this.ondata(null, dat, final);\n        });\n        this.compression = 8;\n        this.flag = dbf(opts.level);\n    }\n    ZipDeflate.prototype.process = function (chunk, final) {\n        try {\n            this.d.push(chunk, final);\n        }\n        catch (e) {\n            this.ondata(e, null, final);\n        }\n    };\n    /**\n     * Pushes a chunk to be deflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    ZipDeflate.prototype.push = function (chunk, final) {\n        ZipPassThrough.prototype.push.call(this, chunk, final);\n    };\n    return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n    /**\n     * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n     * @param filename The filename to associate with this data stream\n     * @param opts The compression options\n     */\n    function AsyncZipDeflate(filename, opts) {\n        var _this = this;\n        if (!opts)\n            opts = {};\n        ZipPassThrough.call(this, filename);\n        this.d = new AsyncDeflate(opts, function (err, dat, final) {\n            _this.ondata(err, dat, final);\n        });\n        this.compression = 8;\n        this.flag = dbf(opts.level);\n        this.terminate = this.d.terminate;\n    }\n    AsyncZipDeflate.prototype.process = function (chunk, final) {\n        this.d.push(chunk, final);\n    };\n    /**\n     * Pushes a chunk to be deflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    AsyncZipDeflate.prototype.push = function (chunk, final) {\n        ZipPassThrough.prototype.push.call(this, chunk, final);\n    };\n    return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n    /**\n     * Creates an empty ZIP archive to which files can be added\n     * @param cb The callback to call whenever data for the generated ZIP archive\n     *           is available\n     */\n    function Zip(cb) {\n        this.ondata = cb;\n        this.u = [];\n        this.d = 1;\n    }\n    /**\n     * Adds a file to the ZIP archive\n     * @param file The file stream to add\n     */\n    Zip.prototype.add = function (file) {\n        var _this = this;\n        if (!this.ondata)\n            err(5);\n        // finishing or finished\n        if (this.d & 2)\n            this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n        else {\n            var f = strToU8(file.filename), fl_1 = f.length;\n            var com = file.comment, o = com && strToU8(com);\n            var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n            var hl_1 = fl_1 + exfl(file.extra) + 30;\n            if (fl_1 > 65535)\n                this.ondata(err(11, 0, 1), null, false);\n            var header = new u8(hl_1);\n            wzh(header, 0, file, f, u, -1);\n            var chks_1 = [header];\n            var pAll_1 = function () {\n                for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n                    var chk = chks_2[_i];\n                    _this.ondata(null, chk, false);\n                }\n                chks_1 = [];\n            };\n            var tr_1 = this.d;\n            this.d = 0;\n            var ind_1 = this.u.length;\n            var uf_1 = mrg(file, {\n                f: f,\n                u: u,\n                o: o,\n                t: function () {\n                    if (file.terminate)\n                        file.terminate();\n                },\n                r: function () {\n                    pAll_1();\n                    if (tr_1) {\n                        var nxt = _this.u[ind_1 + 1];\n                        if (nxt)\n                            nxt.r();\n                        else\n                            _this.d = 1;\n                    }\n                    tr_1 = 1;\n                }\n            });\n            var cl_1 = 0;\n            file.ondata = function (err, dat, final) {\n                if (err) {\n                    _this.ondata(err, dat, final);\n                    _this.terminate();\n                }\n                else {\n                    cl_1 += dat.length;\n                    chks_1.push(dat);\n                    if (final) {\n                        var dd = new u8(16);\n                        wbytes(dd, 0, 0x8074B50);\n                        wbytes(dd, 4, file.crc);\n                        wbytes(dd, 8, cl_1);\n                        wbytes(dd, 12, file.size);\n                        chks_1.push(dd);\n                        uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n                        if (tr_1)\n                            uf_1.r();\n                        tr_1 = 1;\n                    }\n                    else if (tr_1)\n                        pAll_1();\n                }\n            };\n            this.u.push(uf_1);\n        }\n    };\n    /**\n     * Ends the process of adding files and prepares to emit the final chunks.\n     * This *must* be called after adding all desired files for the resulting\n     * ZIP file to work properly.\n     */\n    Zip.prototype.end = function () {\n        var _this = this;\n        if (this.d & 2) {\n            this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n            return;\n        }\n        if (this.d)\n            this.e();\n        else\n            this.u.push({\n                r: function () {\n                    if (!(_this.d & 1))\n                        return;\n                    _this.u.splice(-1, 1);\n                    _this.e();\n                },\n                t: function () { }\n            });\n        this.d = 3;\n    };\n    Zip.prototype.e = function () {\n        var bt = 0, l = 0, tl = 0;\n        for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n            var f = _a[_i];\n            tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n        }\n        var out = new u8(tl + 22);\n        for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n            var f = _c[_b];\n            wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n            bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n        }\n        wzf(out, bt, this.u.length, tl, l);\n        this.ondata(null, out, true);\n        this.d = 2;\n    };\n    /**\n     * A method to terminate any internal workers used by the stream. Subsequent\n     * calls to add() will fail.\n     */\n    Zip.prototype.terminate = function () {\n        for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n            var f = _a[_i];\n            f.t();\n        }\n        this.d = 2;\n    };\n    return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    var r = {};\n    fltn(data, '', r, opts);\n    var k = Object.keys(r);\n    var lft = k.length, o = 0, tot = 0;\n    var slft = lft, files = new Array(lft);\n    var term = [];\n    var tAll = function () {\n        for (var i = 0; i < term.length; ++i)\n            term[i]();\n    };\n    var cbd = function (a, b) {\n        mt(function () { cb(a, b); });\n    };\n    mt(function () { cbd = cb; });\n    var cbf = function () {\n        var out = new u8(tot + 22), oe = o, cdl = tot - o;\n        tot = 0;\n        for (var i = 0; i < slft; ++i) {\n            var f = files[i];\n            try {\n                var l = f.c.length;\n                wzh(out, tot, f, f.f, f.u, l);\n                var badd = 30 + f.f.length + exfl(f.extra);\n                var loc = tot + badd;\n                out.set(f.c, loc);\n                wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n            }\n            catch (e) {\n                return cbd(e, null);\n            }\n        }\n        wzf(out, o, files.length, cdl, oe);\n        cbd(null, out);\n    };\n    if (!lft)\n        cbf();\n    var _loop_1 = function (i) {\n        var fn = k[i];\n        var _a = r[fn], file = _a[0], p = _a[1];\n        var c = crc(), size = file.length;\n        c.p(file);\n        var f = strToU8(fn), s = f.length;\n        var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n        var exl = exfl(p.extra);\n        var compression = p.level == 0 ? 0 : 8;\n        var cbl = function (e, d) {\n            if (e) {\n                tAll();\n                cbd(e, null);\n            }\n            else {\n                var l = d.length;\n                files[i] = mrg(p, {\n                    size: size,\n                    crc: c.d(),\n                    c: d,\n                    f: f,\n                    m: m,\n                    u: s != fn.length || (m && (com.length != ms)),\n                    compression: compression\n                });\n                o += 30 + s + exl + l;\n                tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n                if (!--lft)\n                    cbf();\n            }\n        };\n        if (s > 65535)\n            cbl(err(11, 0, 1), null);\n        if (!compression)\n            cbl(null, file);\n        else if (size < 160000) {\n            try {\n                cbl(null, deflateSync(file, p));\n            }\n            catch (e) {\n                cbl(e, null);\n            }\n        }\n        else\n            term.push(deflate(file, p, cbl));\n    };\n    // Cannot use lft because it can decrease\n    for (var i = 0; i < slft; ++i) {\n        _loop_1(i);\n    }\n    return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n    if (!opts)\n        opts = {};\n    var r = {};\n    var files = [];\n    fltn(data, '', r, opts);\n    var o = 0;\n    var tot = 0;\n    for (var fn in r) {\n        var _a = r[fn], file = _a[0], p = _a[1];\n        var compression = p.level == 0 ? 0 : 8;\n        var f = strToU8(fn), s = f.length;\n        var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n        var exl = exfl(p.extra);\n        if (s > 65535)\n            err(11);\n        var d = compression ? deflateSync(file, p) : file, l = d.length;\n        var c = crc();\n        c.p(file);\n        files.push(mrg(p, {\n            size: file.length,\n            crc: c.d(),\n            c: d,\n            f: f,\n            m: m,\n            u: s != fn.length || (m && (com.length != ms)),\n            o: o,\n            compression: compression\n        }));\n        o += 30 + s + exl + l;\n        tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n    }\n    var out = new u8(tot + 22), oe = o, cdl = tot - o;\n    for (var i = 0; i < files.length; ++i) {\n        var f = files[i];\n        wzh(out, f.o, f, f.f, f.u, f.c.length);\n        var badd = 30 + f.f.length + exfl(f.extra);\n        out.set(f.c, f.o + badd);\n        wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n    }\n    wzf(out, o, files.length, cdl, oe);\n    return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n    function UnzipPassThrough() {\n    }\n    UnzipPassThrough.prototype.push = function (data, final) {\n        this.ondata(null, data, final);\n    };\n    UnzipPassThrough.compression = 0;\n    return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n    /**\n     * Creates a DEFLATE decompression that can be used in ZIP archives\n     */\n    function UnzipInflate() {\n        var _this = this;\n        this.i = new Inflate(function (dat, final) {\n            _this.ondata(null, dat, final);\n        });\n    }\n    UnzipInflate.prototype.push = function (data, final) {\n        try {\n            this.i.push(data, final);\n        }\n        catch (e) {\n            this.ondata(e, null, final);\n        }\n    };\n    UnzipInflate.compression = 8;\n    return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n    /**\n     * Creates a DEFLATE decompression that can be used in ZIP archives\n     */\n    function AsyncUnzipInflate(_, sz) {\n        var _this = this;\n        if (sz < 320000) {\n            this.i = new Inflate(function (dat, final) {\n                _this.ondata(null, dat, final);\n            });\n        }\n        else {\n            this.i = new AsyncInflate(function (err, dat, final) {\n                _this.ondata(err, dat, final);\n            });\n            this.terminate = this.i.terminate;\n        }\n    }\n    AsyncUnzipInflate.prototype.push = function (data, final) {\n        if (this.i.terminate)\n            data = slc(data, 0);\n        this.i.push(data, final);\n    };\n    AsyncUnzipInflate.compression = 8;\n    return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n    /**\n     * Creates a ZIP decompression stream\n     * @param cb The callback to call whenever a file in the ZIP archive is found\n     */\n    function Unzip(cb) {\n        this.onfile = cb;\n        this.k = [];\n        this.o = {\n            0: UnzipPassThrough\n        };\n        this.p = et;\n    }\n    /**\n     * Pushes a chunk to be unzipped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Unzip.prototype.push = function (chunk, final) {\n        var _this = this;\n        if (!this.onfile)\n            err(5);\n        if (!this.p)\n            err(4);\n        if (this.c > 0) {\n            var len = Math.min(this.c, chunk.length);\n            var toAdd = chunk.subarray(0, len);\n            this.c -= len;\n            if (this.d)\n                this.d.push(toAdd, !this.c);\n            else\n                this.k[0].push(toAdd);\n            chunk = chunk.subarray(len);\n            if (chunk.length)\n                return this.push(chunk, final);\n        }\n        else {\n            var f = 0, i = 0, is = void 0, buf = void 0;\n            if (!this.p.length)\n                buf = chunk;\n            else if (!chunk.length)\n                buf = this.p;\n            else {\n                buf = new u8(this.p.length + chunk.length);\n                buf.set(this.p), buf.set(chunk, this.p.length);\n            }\n            var l = buf.length, oc = this.c, add = oc && this.d;\n            var _loop_2 = function () {\n                var _a;\n                var sig = b4(buf, i);\n                if (sig == 0x4034B50) {\n                    f = 1, is = i;\n                    this_1.d = null;\n                    this_1.c = 0;\n                    var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n                    if (l > i + 30 + fnl + es) {\n                        var chks_3 = [];\n                        this_1.k.unshift(chks_3);\n                        f = 2;\n                        var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n                        var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n                        if (sc_1 == 4294967295) {\n                            _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n                        }\n                        else if (dd)\n                            sc_1 = -1;\n                        i += es;\n                        this_1.c = sc_1;\n                        var d_1;\n                        var file_1 = {\n                            name: fn_1,\n                            compression: cmp_1,\n                            start: function () {\n                                if (!file_1.ondata)\n                                    err(5);\n                                if (!sc_1)\n                                    file_1.ondata(null, et, true);\n                                else {\n                                    var ctr = _this.o[cmp_1];\n                                    if (!ctr)\n                                        file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n                                    d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n                                    d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n                                    for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n                                        var dat = chks_4[_i];\n                                        d_1.push(dat, false);\n                                    }\n                                    if (_this.k[0] == chks_3 && _this.c)\n                                        _this.d = d_1;\n                                    else\n                                        d_1.push(et, true);\n                                }\n                            },\n                            terminate: function () {\n                                if (d_1 && d_1.terminate)\n                                    d_1.terminate();\n                            }\n                        };\n                        if (sc_1 >= 0)\n                            file_1.size = sc_1, file_1.originalSize = su_1;\n                        this_1.onfile(file_1);\n                    }\n                    return \"break\";\n                }\n                else if (oc) {\n                    if (sig == 0x8074B50) {\n                        is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n                        return \"break\";\n                    }\n                    else if (sig == 0x2014B50) {\n                        is = i -= 4, f = 3, this_1.c = 0;\n                        return \"break\";\n                    }\n                }\n            };\n            var this_1 = this;\n            for (; i < l - 4; ++i) {\n                var state_1 = _loop_2();\n                if (state_1 === \"break\")\n                    break;\n            }\n            this.p = et;\n            if (oc < 0) {\n                var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n                if (add)\n                    add.push(dat, !!f);\n                else\n                    this.k[+(f == 2)].push(dat);\n            }\n            if (f & 2)\n                return this.push(buf.subarray(i), final);\n            this.p = buf.subarray(i);\n        }\n        if (final) {\n            if (this.c)\n                err(13);\n            this.p = null;\n        }\n    };\n    /**\n     * Registers a decoder with the stream, allowing for files compressed with\n     * the compression type provided to be expanded correctly\n     * @param decoder The decoder constructor\n     */\n    Unzip.prototype.register = function (decoder) {\n        this.o[decoder.compression] = decoder;\n    };\n    return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        err(7);\n    var term = [];\n    var tAll = function () {\n        for (var i = 0; i < term.length; ++i)\n            term[i]();\n    };\n    var files = {};\n    var cbd = function (a, b) {\n        mt(function () { cb(a, b); });\n    };\n    mt(function () { cbd = cb; });\n    var e = data.length - 22;\n    for (; b4(data, e) != 0x6054B50; --e) {\n        if (!e || data.length - e > 65558) {\n            cbd(err(13, 0, 1), null);\n            return tAll;\n        }\n    }\n    ;\n    var lft = b2(data, e + 8);\n    if (lft) {\n        var c = lft;\n        var o = b4(data, e + 16);\n        var z = o == 4294967295 || c == 65535;\n        if (z) {\n            var ze = b4(data, e - 12);\n            z = b4(data, ze) == 0x6064B50;\n            if (z) {\n                c = lft = b4(data, ze + 32);\n                o = b4(data, ze + 48);\n            }\n        }\n        var fltr = opts && opts.filter;\n        var _loop_3 = function (i) {\n            var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n            o = no;\n            var cbl = function (e, d) {\n                if (e) {\n                    tAll();\n                    cbd(e, null);\n                }\n                else {\n                    if (d)\n                        files[fn] = d;\n                    if (!--lft)\n                        cbd(null, files);\n                }\n            };\n            if (!fltr || fltr({\n                name: fn,\n                size: sc,\n                originalSize: su,\n                compression: c_1\n            })) {\n                if (!c_1)\n                    cbl(null, slc(data, b, b + sc));\n                else if (c_1 == 8) {\n                    var infl = data.subarray(b, b + sc);\n                    // Synchronously decompress under 512KB, or barely-compressed data\n                    if (su < 524288 || sc > 0.8 * su) {\n                        try {\n                            cbl(null, inflateSync(infl, { out: new u8(su) }));\n                        }\n                        catch (e) {\n                            cbl(e, null);\n                        }\n                    }\n                    else\n                        term.push(inflate(infl, { size: su }, cbl));\n                }\n                else\n                    cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n            }\n            else\n                cbl(null, null);\n        };\n        for (var i = 0; i < c; ++i) {\n            _loop_3(i);\n        }\n    }\n    else\n        cbd(null, {});\n    return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n    var files = {};\n    var e = data.length - 22;\n    for (; b4(data, e) != 0x6054B50; --e) {\n        if (!e || data.length - e > 65558)\n            err(13);\n    }\n    ;\n    var c = b2(data, e + 8);\n    if (!c)\n        return {};\n    var o = b4(data, e + 16);\n    var z = o == 4294967295 || c == 65535;\n    if (z) {\n        var ze = b4(data, e - 12);\n        z = b4(data, ze) == 0x6064B50;\n        if (z) {\n            c = b4(data, ze + 32);\n            o = b4(data, ze + 48);\n        }\n    }\n    var fltr = opts && opts.filter;\n    for (var i = 0; i < c; ++i) {\n        var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n        o = no;\n        if (!fltr || fltr({\n            name: fn,\n            size: sc,\n            originalSize: su,\n            compression: c_2\n        })) {\n            if (!c_2)\n                files[fn] = slc(data, b, b + sc);\n            else if (c_2 == 8)\n                files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });\n            else\n                err(14, 'unknown compression type ' + c_2);\n        }\n    }\n    return files;\n}\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 3.0.0 Built on 2025-02-19T09:26:58.791Z\n *                      CommitID 00000000\n *\n * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n *               2015-2021 yWorks GmbH, http://www.yworks.com\n *               2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n *               2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n *               2010 Aaron Spike, https://github.com/acspike\n *               2012 Willow Systems Corporation, https://github.com/willowsystems\n *               2012 Pablo Hess, https://github.com/pablohess\n *               2012 Florian Jenett, https://github.com/fjenett\n *               2013 Warren Weckesser, https://github.com/warrenweckesser\n *               2013 Youssef Beddad, https://github.com/lifof\n *               2013 Lee Driscoll, https://github.com/lsdriscoll\n *               2013 Stefan Slonevskiy, https://github.com/stefslon\n *               2013 Jeremy Morel, https://github.com/jmorel\n *               2013 Christoph Hartmann, https://github.com/chris-rock\n *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n *               2014 James Makes, https://github.com/dollaruw\n *               2014 Diego Casorran, https://github.com/diegocr\n *               2014 Steven Spungin, https://github.com/Flamenco\n *               2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n *    siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n *    kim3er, mfo, alnorth, Flamenco\n */\n\nimport t from\"@babel/runtime/helpers/typeof\";import{zlibSync as e,unzlibSync as r}from\"fflate\";var n=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function i(){n.console&&\"function\"==typeof n.console.log&&n.console.log.apply(n.console,arguments)}var a={log:i,warn:function(t){n.console&&(\"function\"==typeof n.console.warn?n.console.warn.apply(n.console,arguments):i.call(null,arguments))},error:function(t){n.console&&(\"function\"==typeof n.console.error?n.console.error.apply(n.console,arguments):i(t))}};function o(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){l(n.response,e,r)},n.onerror=function(){a.error(\"could not download file\")},n.send()}function s(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function c(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var u,h,l=n.saveAs||(\"object\"!==(\"undefined\"==typeof window?\"undefined\":t(window))||window!==n?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,r){var i=n.URL||n.webkitURL,a=document.createElement(\"a\");e=e||t.name||\"download\",a.download=e,a.rel=\"noopener\",\"string\"==typeof t?(a.href=t,a.origin!==location.origin?s(a.href)?o(t,e,r):c(a,a.target=\"_blank\"):c(a)):(a.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(a.href)}),4e4),setTimeout((function(){c(a)}),0))}:\"msSaveOrOpenBlob\"in navigator?function(e,r,n){if(r=r||e.name||\"download\",\"string\"==typeof e)if(s(e))o(e,r,n);else{var i=document.createElement(\"a\");i.href=e,i.target=\"_blank\",setTimeout((function(){c(i)}))}else navigator.msSaveOrOpenBlob(function(e,r){return void 0===r?r={autoBom:!1}:\"object\"!==t(r)&&(a.warn(\"Deprecated: Expected third argument to be a object\"),r={autoBom:!r}),r.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,n),r)}:function(e,r,i,a){if((a=a||open(\"\",\"_blank\"))&&(a.document.title=a.document.body.innerText=\"downloading...\"),\"string\"==typeof e)return o(e,r,i);var s=\"application/octet-stream\"===e.type,c=/constructor/i.test(n.HTMLElement)||n.safari,u=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((u||s&&c)&&\"object\"===(\"undefined\"==typeof FileReader?\"undefined\":t(FileReader))){var h=new FileReader;h.onloadend=function(){var t=h.result;t=u?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),a?a.location.href=t:location=t,a=null},h.readAsDataURL(e)}else{var l=n.URL||n.webkitURL,f=l.createObjectURL(e);a?a.location=f:location.href=f,a=null,setTimeout((function(){l.revokeObjectURL(f)}),4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link   http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function f(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction d(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=g(r,n,i,a,e[0],7,-680876936),a=g(a,r,n,i,e[1],12,-389564586),i=g(i,a,r,n,e[2],17,606105819),n=g(n,i,a,r,e[3],22,-1044525330),r=g(r,n,i,a,e[4],7,-176418897),a=g(a,r,n,i,e[5],12,1200080426),i=g(i,a,r,n,e[6],17,-1473231341),n=g(n,i,a,r,e[7],22,-45705983),r=g(r,n,i,a,e[8],7,1770035416),a=g(a,r,n,i,e[9],12,-1958414417),i=g(i,a,r,n,e[10],17,-42063),n=g(n,i,a,r,e[11],22,-1990404162),r=g(r,n,i,a,e[12],7,1804603682),a=g(a,r,n,i,e[13],12,-40341101),i=g(i,a,r,n,e[14],17,-1502002290),r=m(r,n=g(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=m(a,r,n,i,e[6],9,-1069501632),i=m(i,a,r,n,e[11],14,643717713),n=m(n,i,a,r,e[0],20,-373897302),r=m(r,n,i,a,e[5],5,-701558691),a=m(a,r,n,i,e[10],9,38016083),i=m(i,a,r,n,e[15],14,-660478335),n=m(n,i,a,r,e[4],20,-405537848),r=m(r,n,i,a,e[9],5,568446438),a=m(a,r,n,i,e[14],9,-1019803690),i=m(i,a,r,n,e[3],14,-187363961),n=m(n,i,a,r,e[8],20,1163531501),r=m(r,n,i,a,e[13],5,-1444681467),a=m(a,r,n,i,e[2],9,-51403784),i=m(i,a,r,n,e[7],14,1735328473),r=v(r,n=m(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=v(a,r,n,i,e[8],11,-2022574463),i=v(i,a,r,n,e[11],16,1839030562),n=v(n,i,a,r,e[14],23,-35309556),r=v(r,n,i,a,e[1],4,-1530992060),a=v(a,r,n,i,e[4],11,1272893353),i=v(i,a,r,n,e[7],16,-155497632),n=v(n,i,a,r,e[10],23,-1094730640),r=v(r,n,i,a,e[13],4,681279174),a=v(a,r,n,i,e[0],11,-358537222),i=v(i,a,r,n,e[3],16,-722521979),n=v(n,i,a,r,e[6],23,76029189),r=v(r,n,i,a,e[9],4,-640364487),a=v(a,r,n,i,e[12],11,-421815835),i=v(i,a,r,n,e[15],16,530742520),r=b(r,n=v(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=b(a,r,n,i,e[7],10,1126891415),i=b(i,a,r,n,e[14],15,-1416354905),n=b(n,i,a,r,e[5],21,-57434055),r=b(r,n,i,a,e[12],6,1700485571),a=b(a,r,n,i,e[3],10,-1894986606),i=b(i,a,r,n,e[10],15,-1051523),n=b(n,i,a,r,e[1],21,-2054922799),r=b(r,n,i,a,e[8],6,1873313359),a=b(a,r,n,i,e[15],10,-30611744),i=b(i,a,r,n,e[6],15,-1560198380),n=b(n,i,a,r,e[13],21,1309151649),r=b(r,n,i,a,e[4],6,-145523070),a=b(a,r,n,i,e[11],10,-1120210379),i=b(i,a,r,n,e[2],15,718787259),n=b(n,i,a,r,e[9],21,-343485551),t[0]=_(r,t[0]),t[1]=_(n,t[1]),t[2]=_(i,t[2]),t[3]=_(a,t[3])}function p(t,e,r,n,i,a){return e=_(_(e,t),_(n,a)),_(e<<i|e>>>32-i,r)}function g(t,e,r,n,i,a,o){return p(e&r|~e&n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return p(e&n|r&~n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return p(e^r^n,t,e,i,a,o)}function b(t,e,r,n,i,a,o){return p(r^(e|~n),t,e,i,a,o)}function y(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)d(n,w(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(d(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,d(n,i),n}function w(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}u=n.atob.bind(n),h=n.btoa.bind(n);var N=\"0123456789abcdef\".split(\"\");function L(t){for(var e=\"\",r=0;r<4;r++)e+=N[t>>8*r+4&15]+N[t>>8*r&15];return e}function A(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function x(t){return y(t).map(A).join(\"\")}var S=\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=L(t[e]);return t.join(\"\")}(y(\"hello\"));function _(t,e){if(S){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function P(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var u=0;for(c=0;c<256;c++){var h=s[c];u=(u+h+o.charCodeAt(c))%256,s[c]=s[u],s[u]=h}r=t,n=s}else s=n;var l=e.length,f=0,d=0,p=\"\";for(c=0;c<l;c++)d=(d+(h=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=h,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(c)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var k={print:4,modify:8,copy:16,\"annot-forms\":32};function I(t,e,r,n){this.v=1,this.r=2;var i=192;t.forEach((function(t){if(void 0!==k.perm)throw new Error(\"Invalid permission: \"+t);i+=k[t]})),this.padding=\"(¿N^NuAd\\0NVÿú\u0001\\b..\\0¶Ðh>/\\f©þdSiz\";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=x(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=P(this.encryptionKey,this.padding)}function F(t){if(/[^\\u0000-\\u00ff]/.test(t))throw new Error(\"Invalid PDF Name Object: \"+t+\", Only accept ASCII characters.\");for(var e=\"\",r=t.length,n=0;n<r;n++){var i=t.charCodeAt(n);if(i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i>126)e+=\"#\"+(\"0\"+i.toString(16)).slice(-2);else e+=t[n]}return e}function C(e){if(\"object\"!==t(e))throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var r={};this.subscribe=function(t,e,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof e||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");r.hasOwnProperty(t)||(r[t]={});var i=Math.random().toString(35);return r[t][i]=[e,!!n],i},this.unsubscribe=function(t){for(var e in r)if(r[e][t])return delete r[e][t],0===Object.keys(r[e]).length&&delete r[e],!0;return!1},this.publish=function(t){if(r.hasOwnProperty(t)){var i=Array.prototype.slice.call(arguments,1),o=[];for(var s in r[t]){var c=r[t][s];try{c[0].apply(e,i)}catch(t){n.console&&a.error(\"jsPDF PubSub Error\",t.message,t)}c[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return r}}function j(t){if(!(this instanceof j))return new j(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function O(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function B(t,e,r,n,i){if(!(this instanceof B))return new B(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,O.call(this,n,i)}function M(t,e,r,n,i){if(!(this instanceof M))return new M(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,O.call(this,n,i)}function E(e){var r,i=\"string\"==typeof arguments[0]?arguments[0]:\"p\",o=arguments[1],s=arguments[2],c=arguments[3],u=[],d=1,p=16,g=\"S\",m=null;\"object\"===t(e=e||{})&&(i=e.orientation,o=e.unit||o,s=e.format||s,c=e.compress||e.compressPdf||c,null!==(m=e.encryption||null)&&(m.userPassword=m.userPassword||\"\",m.ownerPassword=m.ownerPassword||\"\",m.userPermissions=m.userPermissions||[]),d=\"number\"==typeof e.userUnit?Math.abs(e.userUnit):1,void 0!==e.precision&&(r=e.precision),void 0!==e.floatPrecision&&(p=e.floatPrecision),g=e.defaultPathOperation||\"S\"),u=e.filters||(!0===c?[\"FlateEncode\"]:u),o=o||\"mm\",i=(\"\"+(i||\"P\")).toLowerCase();var v=e.putOnlyUsedFonts||!1,b={},y={internal:{},__private__:{}};y.__private__.PubSub=C;var w=\"1.3\",N=y.__private__.getPdfVersion=function(){return w};y.__private__.setPdfVersion=function(t){w=t};var L={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};y.__private__.getPageFormats=function(){return L};var A=y.__private__.getPageFormat=function(t){return L[t]};s=s||\"a4\";var x={COMPAT:\"compat\",ADVANCED:\"advanced\"},S=x.COMPAT;function _(){this.saveGraphicsState(),lt(new Vt(_t,0,0,-_t,0,Rr()*_t).toString()+\" cm\"),this.setFontSize(this.getFontSize()/_t),g=\"n\",S=x.ADVANCED}function P(){this.restoreGraphicsState(),g=\"S\",S=x.COMPAT}var k=y.__private__.combineFontStyleAndFontWeight=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&(t=400==e||\"normal\"===e?\"italic\"===t?\"italic\":\"normal\":700!=e&&\"bold\"!==e||\"normal\"!==t?(700==e?\"bold\":e)+\"\"+t:\"bold\"),t};y.advancedAPI=function(t){var e=S===x.COMPAT;return e&&_.call(this),\"function\"!=typeof t||(t(this),e&&P.call(this)),this},y.compatAPI=function(t){var e=S===x.ADVANCED;return e&&P.call(this),\"function\"!=typeof t||(t(this),e&&_.call(this)),this},y.isAdvancedAPI=function(){return S===x.ADVANCED};var O,q=function(t){if(S!==x.ADVANCED)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},D=y.roundToPrecision=y.__private__.roundToPrecision=function(t,e){var n=r||e;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};O=y.hpf=y.__private__.hpf=\"number\"==typeof p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,p)}:\"smart\"===p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,16)};var R=y.f2=y.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return D(t,2)},T=y.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return D(t,3)},U=y.scale=y.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return S===x.COMPAT?t*_t:S===x.ADVANCED?t:void 0},z=function(t){return S===x.COMPAT?Rr()-t:S===x.ADVANCED?t:void 0},H=function(t){return U(z(t))};y.__private__.setPrecision=y.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(r=parseInt(t,10))};var W,V=\"00000000000000000000000000000000\",G=y.__private__.getFileId=function(){return V},Y=y.__private__.setFileId=function(t){return V=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():V.split(\"\").map((function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))})).join(\"\"),null!==m&&(Ye=new I(m.userPermissions,m.userPassword,m.ownerPassword,V)),V};y.setFileId=function(t){return Y(t),this},y.getFileId=function(){return G()};var J=y.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Q(n),\"'\",Q(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),Q(t.getMonth()+1),Q(t.getDate()),Q(t.getHours()),Q(t.getMinutes()),Q(t.getSeconds()),a].join(\"\")},X=y.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},K=y.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=J(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return W=e},Z=y.__private__.getCreationDate=function(t){var e=W;return\"jsDate\"===t&&(e=X(W)),e};y.setCreationDate=function(t){return K(t),this},y.getCreationDate=function(t){return Z(t)};var $,Q=y.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},tt=y.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},et=0,rt=[],nt=[],it=0,at=[],ot=[],st=!1,ct=nt,ut=function(){et=0,it=0,nt=[],rt=[],at=[],Qt=Kt(),te=Kt()};y.__private__.setCustomOutputDestination=function(t){st=!0,ct=t};var ht=function(t){st||(ct=t)};y.__private__.resetCustomOutputDestination=function(){st=!1,ct=nt};var lt=y.__private__.out=function(t){return t=t.toString(),it+=t.length+1,ct.push(t),ct},ft=y.__private__.write=function(t){return lt(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},dt=y.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},pt=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];y.__private__.getStandardFonts=function(){return pt};var gt=e.fontSize||16;y.__private__.setFontSize=y.setFontSize=function(t){return gt=S===x.ADVANCED?t/_t:t,this};var mt,vt=y.__private__.getFontSize=y.getFontSize=function(){return S===x.COMPAT?gt:gt*_t},bt=e.R2L||!1;y.__private__.setR2L=y.setR2L=function(t){return bt=t,this},y.__private__.getR2L=y.getR2L=function(){return bt};var yt,wt=y.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(t))mt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');mt=t}else mt=parseInt(t,10)};y.__private__.getZoomMode=function(){return mt};var Nt,Lt=y.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');yt=t};y.__private__.getPageMode=function(){return yt};var At=y.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');Nt=t};y.__private__.getLayoutMode=function(){return Nt},y.__private__.setDisplayMode=y.setDisplayMode=function(t,e,r){return wt(t),At(e),Lt(r),this};var xt={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};y.__private__.getDocumentProperty=function(t){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return xt[t]},y.__private__.getDocumentProperties=function(){return xt},y.__private__.setDocumentProperties=y.setProperties=y.setDocumentProperties=function(t){for(var e in xt)xt.hasOwnProperty(e)&&t[e]&&(xt[e]=t[e]);return this},y.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return xt[t]=e};var St,_t,Pt,kt,It,Ft={},Ct={},jt=[],Ot={},Bt={},Mt={},Et={},qt=null,Dt=0,Rt=[],Tt=new C(y),Ut=e.hotfixes||[],zt={},Ht={},Wt=[],Vt=function t(e,r,n,i,a,o){if(!(this instanceof t))return new t(e,r,n,i,a,o);isNaN(e)&&(e=1),isNaN(r)&&(r=0),isNaN(n)&&(n=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[e,r,n,i,a,o]};Object.defineProperty(Vt.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Vt.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Vt.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Vt.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Vt.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(O).join(t)},Vt.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Vt(e,r,n,i,a,o)},Vt.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var c=Math.sqrt(r*r+n*n);return s/=c,t*(n/=c)<e*(r/=c)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Vt(o,0,0,c,0,0),translate:new Vt(1,0,0,1,i,a),rotate:new Vt(t,e,-e,t,0,0),skew:new Vt(1,0,s,1,0,0)}},Vt.prototype.toString=function(t){return this.join(\" \")},Vt.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,c=-e*o,u=-r*o,h=t*o;return new Vt(s,c,u,h,-s*i-u*a,-c*i-h*a)},Vt.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new Cr(e,r)},Vt.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new Cr(t.x+t.w,t.y+t.h));return new jr(e.x,e.y,r.x-e.x,r.y-e.y)},Vt.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Vt(t,e,r,n,i,a)},y.Matrix=Vt;var Gt=y.matrixMult=function(t,e){return e.multiply(t)},Yt=new Vt(1,0,0,1,0,0);y.unitMatrix=y.identityMatrix=Yt;var Jt=function(t,e){if(!Bt[t]){var r=(e instanceof B?\"Sh\":\"P\")+(Object.keys(Ot).length+1).toString(10);e.id=r,Bt[t]=r,Ot[r]=e,Tt.publish(\"addPattern\",e)}};y.ShadingPattern=B,y.TilingPattern=M,y.addShadingPattern=function(t,e){return q(\"addShadingPattern()\"),Jt(t,e),this},y.beginTilingPattern=function(t){q(\"beginTilingPattern()\"),Br(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},y.endTilingPattern=function(t,e){q(\"endTilingPattern()\"),e.stream=ot[$].join(\"\\n\"),Jt(t,e),Tt.publish(\"endTilingPattern\",e),Wt.pop().restore()};var Xt=y.__private__.newObject=function(){var t=Kt();return Zt(t,!0),t},Kt=y.__private__.newObjectDeferred=function(){return et++,rt[et]=function(){return it},et},Zt=function(t,e){return e=\"boolean\"==typeof e&&e,rt[t]=it,e&&lt(t+\" 0 obj\"),t},$t=y.__private__.newAdditionalObject=function(){var t={objId:Kt(),content:\"\"};return at.push(t),t},Qt=Kt(),te=Kt(),ee=y.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1]){if(5===e.length&&(\"k\"===e[4]||\"K\"===e[4])){e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]}}else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},re=y.__private__.encodeColorString=function(e){var r;\"string\"==typeof e&&(e={ch1:e});var n=e.ch1,i=e.ch2,a=e.ch3,o=e.ch4,s=\"draw\"===e.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof n&&\"#\"!==n.charAt(0)){var c=new f(n);if(c.ok)n=c.toHex();else if(!/^\\d*\\.?\\d*$/.test(n))throw new Error('Invalid color \"'+n+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof n&&/^#[0-9A-Fa-f]{3}$/.test(n)&&(n=\"#\"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]),\"string\"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var u=parseInt(n.substr(1),16);n=u>>16&255,i=u>>8&255,a=255&u}if(void 0===i||void 0===o&&n===i&&i===a)if(\"string\"==typeof n)r=n+\" \"+s[0];else switch(e.precision){case 2:r=R(n/255)+\" \"+s[0];break;case 3:default:r=T(n/255)+\" \"+s[0]}else if(void 0===o||\"object\"===t(o)){if(o&&!isNaN(o.a)&&0===o.a)return r=[\"1.\",\"1.\",\"1.\",s[1]].join(\" \");if(\"string\"==typeof n)r=[n,i,a,s[1]].join(\" \");else switch(e.precision){case 2:r=[R(n/255),R(i/255),R(a/255),s[1]].join(\" \");break;default:case 3:r=[T(n/255),T(i/255),T(a/255),s[1]].join(\" \")}}else if(\"string\"==typeof n)r=[n,i,a,o,s[2]].join(\" \");else switch(e.precision){case 2:r=[R(n),R(i),R(a),R(o),s[2]].join(\" \");break;case 3:default:r=[T(n),T(i),T(a),T(o),s[2]].join(\" \")}return r},ne=y.__private__.getFilters=function(){return u},ie=y.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||ne(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==m&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==m&&(s=Ye.encryptor(o,0));var c={};!0===r&&(r=[\"FlateEncode\"]);var u=t.additionalKeyValues||[],h=(c=void 0!==E.API.processDataByFilters?E.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==c.data.length&&(u.push({key:\"Length\",value:c.data.length}),!0===i&&u.push({key:\"Length1\",value:a})),0!=h.length)if(h.split(\"/\").length-1==1)u.push({key:\"Filter\",value:h});else{u.push({key:\"Filter\",value:\"[\"+h+\"]\"});for(var l=0;l<u.length;l+=1)if(\"DecodeParms\"===u[l].key){for(var f=[],d=0;d<c.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(u[l].value),u[l].value=\"[\"+f.join(\" \")+\"]\"}}lt(\"<<\");for(var p=0;p<u.length;p++)lt(\"/\"+u[p].key+\" \"+u[p].value);lt(\">>\"),0!==c.data.length&&(lt(\"stream\"),lt(s(c.data)),lt(\"endstream\"))},ae=y.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Zt(n,!0),lt(\"<</Type /Page\"),lt(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),lt(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),lt(\"/MediaBox [\"+parseFloat(O(t.mediaBox.bottomLeftX))+\" \"+parseFloat(O(t.mediaBox.bottomLeftY))+\" \"+O(t.mediaBox.topRightX)+\" \"+O(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&&lt(\"/CropBox [\"+O(t.cropBox.bottomLeftX)+\" \"+O(t.cropBox.bottomLeftY)+\" \"+O(t.cropBox.topRightX)+\" \"+O(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&&lt(\"/BleedBox [\"+O(t.bleedBox.bottomLeftX)+\" \"+O(t.bleedBox.bottomLeftY)+\" \"+O(t.bleedBox.topRightX)+\" \"+O(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&&lt(\"/TrimBox [\"+O(t.trimBox.bottomLeftX)+\" \"+O(t.trimBox.bottomLeftY)+\" \"+O(t.trimBox.topRightX)+\" \"+O(t.trimBox.topRightY)+\"]\"),null!==t.artBox&&lt(\"/ArtBox [\"+O(t.artBox.bottomLeftX)+\" \"+O(t.artBox.bottomLeftY)+\" \"+O(t.artBox.topRightX)+\" \"+O(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&&lt(\"/UserUnit \"+t.userUnit),Tt.publish(\"putPage\",{objId:n,pageContext:Rt[e],pageNumber:e,page:r}),lt(\"/Contents \"+i+\" 0 R\"),lt(\">>\"),lt(\"endobj\");var a=r.join(\"\\n\");return S===x.ADVANCED&&(a+=\"\\nQ\"),Zt(i,!0),ie({data:a,filters:ne(),objectId:i}),lt(\"endobj\"),n},oe=y.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Dt;t++)Rt[t].objId=Kt(),Rt[t].contentsObjId=Kt();for(t=1;t<=Dt;t++)r.push(ae({number:t,data:ot[t],objId:Rt[t].objId,contentsObjId:Rt[t].contentsObjId,mediaBox:Rt[t].mediaBox,cropBox:Rt[t].cropBox,bleedBox:Rt[t].bleedBox,trimBox:Rt[t].trimBox,artBox:Rt[t].artBox,userUnit:Rt[t].userUnit,rootDictionaryObjId:Qt,resourceDictionaryObjId:te}));Zt(Qt,!0),lt(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<Dt;e++)n+=r[e]+\" 0 R \";lt(n+\"]\"),lt(\"/Count \"+Dt),lt(\">>\"),lt(\"endobj\"),Tt.publish(\"postPutPages\")},se=function(t){Tt.publish(\"putFont\",{font:t,out:lt,newObject:Xt,putStream:ie}),!0!==t.isAlreadyPutted&&(t.objectNumber=Xt(),lt(\"<<\"),lt(\"/Type /Font\"),lt(\"/BaseFont /\"+F(t.postScriptName)),lt(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&&lt(\"/Encoding /\"+t.encoding),lt(\"/FirstChar 32\"),lt(\"/LastChar 255\"),lt(\">>\"),lt(\"endobj\"))},ce=function(){for(var t in Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&se(Ft[t])},ue=function(t){t.objectNumber=Xt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[O(t.x),O(t.y),O(t.x+t.width),O(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");ie({data:r,additionalKeyValues:e,objectId:t.objectNumber}),lt(\"endobj\")},he=function(){for(var t in zt)zt.hasOwnProperty(t)&&ue(zt[t])},le=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",c=0,u=0;u<n.length;u++){for(r=n[u];r>t[c+1].offset;)c++;var h=t[c].offset,l=(r-h)/(t[c+1].offset-h),f=t[c].color,d=t[c+1].color;s+=tt(Math.round((1-l)*f[0]+l*d[0]).toString(16))+tt(Math.round((1-l)*f[1]+l*d[1]).toString(16))+tt(Math.round((1-l)*f[2]+l*d[2]).toString(16))}return s.trim()},fe=function(t,e){e||(e=21);var r=Xt(),n=le(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),ie({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),lt(\"endobj\"),t.objectNumber=Xt(),lt(\"<< /ShadingType \"+t.type),lt(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+O(parseFloat(t.coords[0]))+\" \"+O(parseFloat(t.coords[1]))+\" \";2===t.type?a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3])):a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3]))+\" \"+O(parseFloat(t.coords[4]))+\" \"+O(parseFloat(t.coords[5])),lt(a+=\"]\"),t.matrix&&lt(\"/Matrix [\"+t.matrix.toString()+\"]\"),lt(\"/Function \"+r+\" 0 R\"),lt(\"/Extend [true true]\"),lt(\">>\"),lt(\"endobj\")},de=function(t,e){var r=Kt(),n=Xt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(O).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:O(t.xStep)}),i.push({key:\"YStep\",value:O(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),ie({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),lt(\"endobj\")},pe=function(t){var e;for(e in Ot)Ot.hasOwnProperty(e)&&(Ot[e]instanceof B?fe(Ot[e]):Ot[e]instanceof M&&de(Ot[e],t))},ge=function(t){for(var e in t.objectNumber=Xt(),lt(\"<<\"),t)switch(e){case\"opacity\":lt(\"/ca \"+R(t[e]));break;case\"stroke-opacity\":lt(\"/CA \"+R(t[e]))}lt(\">>\"),lt(\"endobj\")},me=function(){var t;for(t in Mt)Mt.hasOwnProperty(t)&&ge(Mt[t])},ve=function(){for(var t in lt(\"/XObject <<\"),zt)zt.hasOwnProperty(t)&&zt[t].objectNumber>=0&&lt(\"/\"+t+\" \"+zt[t].objectNumber+\" 0 R\");Tt.publish(\"putXobjectDict\"),lt(\">>\")},be=function(){Ye.oid=Xt(),lt(\"<<\"),lt(\"/Filter /Standard\"),lt(\"/V \"+Ye.v),lt(\"/R \"+Ye.r),lt(\"/U <\"+Ye.toHexString(Ye.U)+\">\"),lt(\"/O <\"+Ye.toHexString(Ye.O)+\">\"),lt(\"/P \"+Ye.P),lt(\">>\"),lt(\"endobj\")},ye=function(){for(var t in lt(\"/Font <<\"),Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&lt(\"/\"+t+\" \"+Ft[t].objectNumber+\" 0 R\");lt(\">>\")},we=function(){if(Object.keys(Ot).length>0){for(var t in lt(\"/Shading <<\"),Ot)Ot.hasOwnProperty(t)&&Ot[t]instanceof B&&Ot[t].objectNumber>=0&&lt(\"/\"+t+\" \"+Ot[t].objectNumber+\" 0 R\");Tt.publish(\"putShadingPatternDict\"),lt(\">>\")}},Ne=function(t){if(Object.keys(Ot).length>0){for(var e in lt(\"/Pattern <<\"),Ot)Ot.hasOwnProperty(e)&&Ot[e]instanceof y.TilingPattern&&Ot[e].objectNumber>=0&&Ot[e].objectNumber<t&&lt(\"/\"+e+\" \"+Ot[e].objectNumber+\" 0 R\");Tt.publish(\"putTilingPatternDict\"),lt(\">>\")}},Le=function(){if(Object.keys(Mt).length>0){var t;for(t in lt(\"/ExtGState <<\"),Mt)Mt.hasOwnProperty(t)&&Mt[t].objectNumber>=0&&lt(\"/\"+t+\" \"+Mt[t].objectNumber+\" 0 R\");Tt.publish(\"putGStateDict\"),lt(\">>\")}},Ae=function(t){Zt(t.resourcesOid,!0),lt(\"<<\"),lt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),ye(),we(),Ne(t.objectOid),Le(),ve(),lt(\">>\"),lt(\"endobj\")},xe=function(){var t=[];ce(),me(),he(),pe(t),Tt.publish(\"putResources\"),t.forEach(Ae),Ae({resourcesOid:te,objectOid:Number.MAX_SAFE_INTEGER}),Tt.publish(\"postPutResources\")},Se=function(){Tt.publish(\"putAdditionalObjects\");for(var t=0;t<at.length;t++){var e=at[t];Zt(e.objId,!0),lt(e.content),lt(\"endobj\")}Tt.publish(\"postPutAdditionalObjects\")},_e=function(t){Ct[t.fontName]=Ct[t.fontName]||{},Ct[t.fontName][t.fontStyle]=t.id},Pe=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(Ft).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Tt.publish(\"addFont\",{font:a,instance:this}),Ft[a.id]=a,_e(a),a.id},ke=function(t){for(var e=0,r=pt.length;e<r;e++){var n=Pe.call(this,t[e][0],t[e][1],t[e][2],pt[e][3],!0);!1===v&&(b[n]=!0);var i=t[e][0].split(\"-\");_e({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Tt.publish(\"addFonts\",{fonts:Ft,dictionary:Ct})},Ie=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var r=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!n.console)throw new Error(r);n.console.error(r,t),n.alert&&alert(r)}},t.foo.bar=t,t.foo},Fe=function(t,e){var r,n,i,a,o,s,c,u,h;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&Ft[St].metadata&&Ft[St].metadata[i]&&Ft[St].metadata[i].encoding&&(a=Ft[St].metadata[i].encoding,!o&&Ft[St].encoding&&(o=Ft[St].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(c=!1,s=[],r=0,n=t.length;r<n;r++)(u=o[t.charCodeAt(r)])?s.push(String.fromCharCode(u)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(c=!0);t=s.join(\"\")}for(r=t.length;void 0===c&&0!==r;)t.charCodeAt(r-1)>>8&&(c=!0),r--;if(!c)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((h=(u=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(h),s.push(u-(h<<8))}return String.fromCharCode.apply(void 0,s)},Ce=y.__private__.pdfEscape=y.pdfEscape=function(t,e){return Fe(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},je=y.__private__.beginPage=function(t){ot[++Dt]=[],Rt[Dt]={objId:0,contentsObjId:0,userUnit:Number(d),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Me(Dt),ht(ot[$])},Oe=function(t,e){var r,n,o;switch(i=e||i,\"string\"==typeof t&&(r=A(t.toLowerCase()),Array.isArray(r)&&(n=r[0],o=r[1])),Array.isArray(t)&&(n=t[0]*_t,o=t[1]*_t),isNaN(n)&&(n=s[0],o=s[1]),(n>14400||o>14400)&&(a.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),n=Math.min(14400,n),o=Math.min(14400,o)),s=[n,o],i.substr(0,1)){case\"l\":o>n&&(s=[o,n]);break;case\"p\":n>o&&(s=[o,n])}je(s),pr(fr),lt(Lr),0!==kr&&lt(kr+\" J\"),0!==Ir&&lt(Ir+\" j\"),Tt.publish(\"addPage\",{pageNumber:Dt})},Be=function(t){t>0&&t<=Dt&&(ot.splice(t,1),Rt.splice(t,1),Dt--,$>Dt&&($=Dt),this.setPage($))},Me=function(t){t>0&&t<=Dt&&($=t)},Ee=y.__private__.getNumberOfPages=y.getNumberOfPages=function(){return ot.length-1},qe=function(t,e,r){var n,i=void 0;return r=r||{},t=void 0!==t?t:Ft[St].fontName,e=void 0!==e?e:Ft[St].fontStyle,n=t.toLowerCase(),void 0!==Ct[n]&&void 0!==Ct[n][e]?i=Ct[n][e]:void 0!==Ct[t]&&void 0!==Ct[t][e]?i=Ct[t][e]:!1===r.disableWarning&&a.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),i||r.noFallback||null==(i=Ct.times[e])&&(i=Ct.times.normal),i},De=y.__private__.putInfo=function(){var t=Xt(),e=function(t){return t};for(var r in null!==m&&(e=Ye.encryptor(t,0)),lt(\"<<\"),lt(\"/Producer (\"+Ce(e(\"jsPDF \"+E.version))+\")\"),xt)xt.hasOwnProperty(r)&&xt[r]&&lt(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+Ce(e(xt[r]))+\")\");lt(\"/CreationDate (\"+Ce(e(W))+\")\"),lt(\">>\"),lt(\"endobj\")},Re=y.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Qt;switch(Xt(),lt(\"<<\"),lt(\"/Type /Catalog\"),lt(\"/Pages \"+e+\" 0 R\"),mt||(mt=\"fullwidth\"),mt){case\"fullwidth\":lt(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":lt(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":lt(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":lt(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+mt;\"%\"===r.substr(r.length-1)&&(mt=parseInt(mt)/100),\"number\"==typeof mt&&lt(\"/OpenAction [3 0 R /XYZ null null \"+R(mt)+\"]\")}switch(Nt||(Nt=\"continuous\"),Nt){case\"continuous\":lt(\"/PageLayout /OneColumn\");break;case\"single\":lt(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":lt(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":lt(\"/PageLayout /TwoColumnRight\")}yt&&lt(\"/PageMode /\"+yt),Tt.publish(\"putCatalog\"),lt(\">>\"),lt(\"endobj\")},Te=y.__private__.putTrailer=function(){lt(\"trailer\"),lt(\"<<\"),lt(\"/Size \"+(et+1)),lt(\"/Root \"+et+\" 0 R\"),lt(\"/Info \"+(et-1)+\" 0 R\"),null!==m&&lt(\"/Encrypt \"+Ye.oid+\" 0 R\"),lt(\"/ID [ <\"+V+\"> <\"+V+\"> ]\"),lt(\">>\")},Ue=y.__private__.putHeader=function(){lt(\"%PDF-\"+w),lt(\"%ºß¬à\")},ze=y.__private__.putXRef=function(){var t=\"0000000000\";lt(\"xref\"),lt(\"0 \"+(et+1)),lt(\"0000000000 65535 f \");for(var e=1;e<=et;e++){\"function\"==typeof rt[e]?lt((t+rt[e]()).slice(-10)+\" 00000 n \"):void 0!==rt[e]?lt((t+rt[e]).slice(-10)+\" 00000 n \"):lt(\"0000000000 00000 n \")}},He=y.__private__.buildDocument=function(){ut(),ht(nt),Tt.publish(\"buildDocument\"),Ue(),oe(),Se(),xe(),null!==m&&be(),De(),Re();var t=it;return ze(),Te(),lt(\"startxref\"),lt(\"\"+t),lt(\"%%EOF\"),ht(ot[$]),nt.join(\"\\n\")},We=y.__private__.getBlob=function(t){return new Blob([dt(t)],{type:\"application/pdf\"})},Ve=y.output=y.__private__.output=Ie((function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return He();case\"save\":y.save(e.filename);break;case\"arraybuffer\":return dt(He());case\"blob\":return We(He());case\"bloburi\":case\"bloburl\":if(void 0!==n.URL&&\"function\"==typeof n.URL.createObjectURL)return n.URL&&n.URL.createObjectURL(We(He()))||void 0;a.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var r=\"\",i=He();try{r=h(i)}catch(t){r=h(unescape(encodeURIComponent(i)))}return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+r;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var o=\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\",s=' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';e.pdfObjectUrl&&(o=e.pdfObjectUrl,s=\"\");var c='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><script src=\"'+o+'\"'+s+'><\\/script><script >PDFObject.embed(\"'+this.output(\"dataurlstring\")+'\", '+JSON.stringify(e)+\");<\\/script></body></html>\",u=n.open();return null!==u&&u.document.write(c),u}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var l='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe id=\"pdfViewer\" src=\"'+(e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\")+\"?file=&downloadName=\"+e.filename+'\" width=\"500px\" height=\"400px\" /></body></html>',f=n.open();if(null!==f){f.document.write(l);var d=this;f.document.documentElement.querySelector(\"#pdfViewer\").onload=function(){f.document.title=e.filename,f.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(d.output(\"bloburl\"))}}return f}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(n))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var p='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe src=\"'+this.output(\"datauristring\",e)+'\"></iframe></body></html>',g=n.open();if(null!==g&&(g.document.write(p),g.document.title=e.filename),g||\"undefined\"==typeof safari)return g;break;case\"datauri\":case\"dataurl\":return n.document.location.href=this.output(\"datauristring\",e);default:return null}})),Ge=function(t){return!0===Array.isArray(Ut)&&Ut.indexOf(t)>-1};switch(o){case\"pt\":_t=1;break;case\"mm\":_t=72/25.4;break;case\"cm\":_t=72/2.54;break;case\"in\":_t=72;break;case\"px\":_t=1==Ge(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":_t=12;break;case\"ex\":_t=6;break;default:if(\"number\"!=typeof o)throw new Error(\"Invalid unit: \"+o);_t=o}var Ye=null;K(),Y();var Je=function(t){return null!==m?Ye.encryptor(t,0):function(t){return t}},Xe=y.__private__.getPageInfo=y.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:Rt[t].objId,pageNumber:t,pageContext:Rt[t]}},Ke=y.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in Rt)if(Rt[e].objId===t)break;return Xe(e)},Ze=y.__private__.getCurrentPageInfo=y.getCurrentPageInfo=function(){return{objId:Rt[$].objId,pageNumber:$,pageContext:Rt[$]}};y.addPage=function(){return Oe.apply(this,arguments),this},y.setPage=function(){return Me.apply(this,arguments),ht.call(this,ot[$]),this},y.insertPage=function(t){return this.addPage(),this.movePage($,t),this},y.movePage=function(t,e){var r,n;if(t>e){r=ot[t],n=Rt[t];for(var i=t;i>e;i--)ot[i]=ot[i-1],Rt[i]=Rt[i-1];ot[e]=r,Rt[e]=n,this.setPage(e)}else if(t<e){r=ot[t],n=Rt[t];for(var a=t;a<e;a++)ot[a]=ot[a+1],Rt[a]=Rt[a+1];ot[e]=r,Rt[e]=n,this.setPage(e)}return this},y.deletePage=function(){return Be.apply(this,arguments),this},y.__private__.text=y.text=function(e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g=(i=i||{}).scope||this;if(\"number\"==typeof e&&\"number\"==typeof r&&(\"string\"==typeof n||Array.isArray(n))){var m=n;n=r,r=e,e=m}if(arguments[3]instanceof Vt==!1?(c=arguments[4],u=arguments[5],\"object\"===t(f=arguments[3])&&null!==f||(\"string\"==typeof c&&(u=c,c=null),\"string\"==typeof f&&(u=f,f=null),\"number\"==typeof f&&(c=f,f=null),i={flags:f,angle:c,align:u})):(q(\"The transform parameter of text() with a Matrix value\"),p=a),isNaN(r)||isNaN(n)||null==e)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===e.length)return g;var v=\"\",y=!1,w=\"number\"==typeof i.lineHeightFactor?i.lineHeightFactor:lr,N=g.internal.scaleFactor;function L(t){return t=t.split(\"\\t\").join(Array(i.TabLen||9).join(\" \")),Ce(t,f)}function A(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function _(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var P=!1,k=!0;if(\"string\"==typeof e)P=!0;else if(Array.isArray(e)){var I=e.concat();s=[];for(var F,C=I.length;C--;)(\"string\"!=typeof(F=I.shift())||Array.isArray(F)&&\"string\"!=typeof F[0])&&(k=!1);P=k}if(!1===P)throw new Error('Type of text must be string or Array. \"'+e+'\" is not recognized.');\"string\"==typeof e&&(e=e.match(/[\\r?\\n]/)?e.split(/\\r\\n|\\r|\\n/g):[e]);var j=gt/g.internal.scaleFactor,B=j*(w-1);switch(i.baseline){case\"bottom\":n-=B;break;case\"top\":n+=j-B;break;case\"hanging\":n+=j-2*B;break;case\"middle\":n+=j/2-B}if((l=i.maxWidth||0)>0&&(\"string\"==typeof e?e=g.splitTextToSize(e,l):\"[object Array]\"===Object.prototype.toString.call(e)&&(e=e.reduce((function(t,e){return t.concat(g.splitTextToSize(e,l))}),[]))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"preProcessText\",o),e=o.text,c=(i=o.options).angle,p instanceof Vt==!1&&c&&\"number\"==typeof c){c*=Math.PI/180,0===i.rotationDirection&&(c=-c),S===x.ADVANCED&&(c=-c);var M=Math.cos(c),E=Math.sin(c);p=new Vt(M,E,-E,M,0,0)}else c&&c instanceof Vt&&(p=c);S!==x.ADVANCED||p||(p=Yt),void 0!==(h=i.charSpace||_r)&&(v+=O(U(h))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0)),void 0!==(d=i.horizontalScale)&&(v+=O(100*d)+\" Tz\\n\");i.lang;var D=-1,R=void 0!==i.renderingMode?i.renderingMode:i.stroke,T=g.internal.getCurrentPageInfo().pageContext;switch(R){case 0:case!1:case\"fill\":D=0;break;case 1:case!0:case\"stroke\":D=1;break;case 2:case\"fillThenStroke\":D=2;break;case 3:case\"invisible\":D=3;break;case 4:case\"fillAndAddForClipping\":D=4;break;case 5:case\"strokeAndAddPathForClipping\":D=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":D=6;break;case 7:case\"addToPathForClipping\":D=7}var z=void 0!==T.usedRenderingMode?T.usedRenderingMode:-1;-1!==D?v+=D+\" Tr\\n\":-1!==z&&(v+=\"0 Tr\\n\"),-1!==D&&(T.usedRenderingMode=D),u=i.align||\"left\";var H,W=gt*w,V=g.internal.pageSize.getWidth(),G=Ft[St];h=i.charSpace||_r,l=i.maxWidth||0,f=Object.assign({autoencode:!0,noBOM:!0},i.flags);var Y=[],J=function(t){return g.getStringUnitWidth(t,{font:G,charSpace:h,fontSize:gt,doKerning:!1})*gt/N};if(\"[object Array]\"===Object.prototype.toString.call(e)){var X;s=A(e),\"left\"!==u&&(H=s.map(J));var K,Z=0;if(\"right\"===u){r-=H[0],e=[],C=s.length;for(var $=0;$<C;$++)0===$?(K=br(r),X=yr(n)):(K=U(Z-H[$]),X=-W),e.push([s[$],K,X]),Z=H[$]}else if(\"center\"===u){r-=H[0]/2,e=[],C=s.length;for(var Q=0;Q<C;Q++)0===Q?(K=br(r),X=yr(n)):(K=U((Z-H[Q])/2),X=-W),e.push([s[Q],K,X]),Z=H[Q]}else if(\"left\"===u){e=[],C=s.length;for(var tt=0;tt<C;tt++)e.push(s[tt])}else if(\"justify\"===u&&\"Identity-H\"===G.encoding){e=[],C=s.length,l=0!==l?l:V;for(var et=0,rt=0;rt<C;rt++)if(X=0===rt?yr(n):-W,K=0===rt?br(r):et,rt<C-1){var nt=U((l-H[rt])/(s[rt].split(\" \").length-1)),it=s[rt].split(\" \");e.push([it[0]+\" \",K,X]),et=0;for(var at=1;at<it.length;at++){var ot=(J(it[at-1]+\" \"+it[at])-J(it[at]))*N+nt;at==it.length-1?e.push([it[at],ot,0]):e.push([it[at]+\" \",ot,0]),et-=ot}}else e.push([s[rt],K,X]);e.push([\"\",et,0])}else{if(\"justify\"!==u)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');e=[],C=s.length,l=0!==l?l:V;for(rt=0;rt<C;rt++)X=0===rt?yr(n):-W,K=0===rt?br(r):0,rt<C-1?Y.push(O(U((l-H[rt])/(s[rt].split(\" \").length-1)))):Y.push(0),e.push([s[rt],K,X])}}var st=\"boolean\"==typeof i.R2L?i.R2L:bt;!0===st&&(e=_(e,(function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]}))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"postProcessText\",o),e=o.text,y=o.mutex.isHex||!1;var ct=Ft[St].encoding;\"WinAnsiEncoding\"!==ct&&\"StandardEncoding\"!==ct||(e=_(e,(function(t,e,r){return[L(t),e,r]}))),s=A(e),e=[];for(var ut,ht,ft,dt=0,pt=1,mt=Array.isArray(s[0])?pt:dt,vt=\"\",yt=function(t,e,r){var n=\"\";return r instanceof Vt?(r=\"number\"==typeof i.angle?Gt(r,new Vt(1,0,0,1,t,e)):Gt(new Vt(1,0,0,1,t,e),r),S===x.ADVANCED&&(r=Gt(new Vt(1,0,0,-1,0,0),r)),n=r.join(\" \")+\" Tm\\n\"):n=O(t)+\" \"+O(e)+\" Td\\n\",n},wt=0;wt<s.length;wt++){switch(vt=\"\",mt){case pt:ft=(y?\"<\":\"(\")+s[wt][0]+(y?\">\":\")\"),ut=parseFloat(s[wt][1]),ht=parseFloat(s[wt][2]);break;case dt:ft=(y?\"<\":\"(\")+s[wt]+(y?\">\":\")\"),ut=br(r),ht=yr(n)}void 0!==Y&&void 0!==Y[wt]&&(vt=Y[wt]+\" Tw\\n\"),0===wt?e.push(vt+yt(ut,ht,p)+ft):mt===dt?e.push(vt+ft):mt===pt&&e.push(vt+yt(ut,ht,p)+ft)}e=mt===dt?e.join(\" Tj\\nT* \"):e.join(\" Tj\\n\"),e+=\" Tj\\n\";var Nt=\"BT\\n/\";return Nt+=St+\" \"+gt+\" Tf\\n\",Nt+=O(gt*w)+\" TL\\n\",Nt+=xr+\"\\n\",Nt+=v,Nt+=e,lt(Nt+=\"ET\"),b[St]=!0,g};var $e=y.__private__.clip=y.clip=function(t){return lt(\"evenodd\"===t?\"W*\":\"W\"),this};y.clipEvenOdd=function(){return $e(\"evenodd\")},y.__private__.discardPath=y.discardPath=function(){return lt(\"n\"),this};var Qe=y.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};y.__private__.setDefaultPathOperation=y.setDefaultPathOperation=function(t){return Qe(t)&&(g=t),this};var tr=y.__private__.getStyle=y.getStyle=function(t){var e=g;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},er=y.close=function(){return lt(\"h\"),this};y.stroke=function(){return lt(\"S\"),this},y.fill=function(t){return rr(\"f\",t),this},y.fillEvenOdd=function(t){return rr(\"f*\",t),this},y.fillStroke=function(t){return rr(\"B\",t),this},y.fillStrokeEvenOdd=function(t){return rr(\"B*\",t),this};var rr=function(e,r){\"object\"===t(r)?ar(r,e):lt(e)},nr=function(t){null===t||S===x.ADVANCED&&void 0===t||(t=tr(t),lt(t))};function ir(t,e,r,n,i){var a=new M(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Jt(o,a),a}var ar=function(t,e){var r=Bt[t.key],n=Ot[r];if(n instanceof B)lt(\"q\"),lt(or(e)),n.gState&&y.setGState(n.gState),lt(t.matrix.toString()+\" cm\"),lt(\"/\"+r+\" sh\"),lt(\"Q\");else if(n instanceof M){var i=new Vt(1,0,0,-1,0,Rr());t.matrix&&(i=i.multiply(t.matrix||Yt),r=ir.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),lt(\"q\"),lt(\"/Pattern cs\"),lt(\"/\"+r+\" scn\"),n.gState&&y.setGState(n.gState),lt(e),lt(\"Q\")}},or=function(t){switch(t){case\"f\":case\"F\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":return\"W S\";case\"B*\":return\"W* S\";case\"S\":return\"W S\";case\"n\":return\"W n\"}},sr=y.moveTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" m\"),this},cr=y.lineTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" l\"),this},ur=y.curveTo=function(t,e,r,n,i,a){return lt([O(U(t)),O(H(e)),O(U(r)),O(H(n)),O(U(i)),O(H(a)),\"c\"].join(\" \")),this};y.__private__.line=y.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return S===x.COMPAT?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},y.__private__.lines=y.lines=function(t,e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!Qe(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(sr(e,r),o=n[0],s=n[1],u=t.length,g=e,m=r,c=0;c<u;c++)2===(h=t[c]).length?(g=h[0]*o+g,m=h[1]*s+m,cr(g,m)):(l=h[0]*o+g,f=h[1]*s+m,d=h[2]*o+g,p=h[3]*s+m,g=h[4]*o+g,m=h[5]*s+m,ur(l,f,d,p,g,m));return a&&er(),nr(i),this},y.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":sr(n[0],n[1]);break;case\"l\":cr(n[0],n[1]);break;case\"c\":ur.apply(this,n);break;case\"h\":er()}}return this},y.__private__.rect=y.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return S===x.COMPAT&&(n=-n),lt([O(U(t)),O(H(e)),O(U(r)),O(U(n)),\"re\"].join(\" \")),nr(i),this},y.__private__.triangle=y.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},y.__private__.roundedRect=y.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},y.__private__.ellipse=y.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return sr(t+r,e),ur(t+r,e-o,t+a,e-n,t,e-n),ur(t-a,e-n,t-r,e-o,t-r,e),ur(t-r,e+o,t-a,e+n,t,e+n),ur(t+a,e+n,t+r,e+o,t+r,e),nr(i),this},y.__private__.circle=y.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!Qe(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},y.setFont=function(t,e,r){return r&&(e=k(e,r)),St=qe(t,e,{disableWarning:!1}),this};var hr=y.__private__.getFont=y.getFont=function(){return Ft[qe.apply(y,arguments)]};y.__private__.getFontList=y.getFontList=function(){var t,e,r={};for(t in Ct)if(Ct.hasOwnProperty(t))for(e in r[t]=[],Ct[t])Ct[t].hasOwnProperty(e)&&r[t].push(e);return r},y.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=k(r,n)),i=i||\"Identity-H\",Pe.call(this,t,e,r,i)};var lr,fr=e.lineWidth||.200025,dr=y.__private__.getLineWidth=y.getLineWidth=function(){return fr},pr=y.__private__.setLineWidth=y.setLineWidth=function(t){return fr=t,lt(O(U(t))+\" w\"),this};y.__private__.setLineDash=E.API.setLineDash=E.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map((function(t){return O(U(t))})).join(\" \"),e=O(U(e)),lt(\"[\"+t+\"] \"+e+\" d\"),this};var gr=y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};var mr=y.__private__.setLineHeightFactor=y.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(lr=t),this},vr=y.__private__.getLineHeightFactor=y.getLineHeightFactor=function(){return lr};mr(e.lineHeight);var br=y.__private__.getHorizontalCoordinate=function(t){return U(t)},yr=y.__private__.getVerticalCoordinate=function(t){return S===x.ADVANCED?t:Rt[$].mediaBox.topRightY-Rt[$].mediaBox.bottomLeftY-U(t)},wr=y.__private__.getHorizontalCoordinateString=y.getHorizontalCoordinateString=function(t){return O(br(t))},Nr=y.__private__.getVerticalCoordinateString=y.getVerticalCoordinateString=function(t){return O(yr(t))},Lr=e.strokeColor||\"0 G\";y.__private__.getStrokeColor=y.getDrawColor=function(){return ee(Lr)},y.__private__.setStrokeColor=y.setDrawColor=function(t,e,r,n){return Lr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),lt(Lr),this};var Ar=e.fillColor||\"0 g\";y.__private__.getFillColor=y.getFillColor=function(){return ee(Ar)},y.__private__.setFillColor=y.setFillColor=function(t,e,r,n){return Ar=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),lt(Ar),this};var xr=e.textColor||\"0 g\",Sr=y.__private__.getTextColor=y.getTextColor=function(){return ee(xr)};y.__private__.setTextColor=y.setTextColor=function(t,e,r,n){return xr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var _r=e.charSpace,Pr=y.__private__.getCharSpace=y.getCharSpace=function(){return parseFloat(_r||0)};y.__private__.setCharSpace=y.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return _r=t,this};var kr=0;y.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},y.__private__.setLineCap=y.setLineCap=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return kr=e,lt(e+\" J\"),this};var Ir=0;y.__private__.setLineJoin=y.setLineJoin=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return Ir=e,lt(e+\" j\"),this},y.__private__.setLineMiterLimit=y.__private__.setMiterLimit=y.setLineMiterLimit=y.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return lt(O(U(t))+\" M\"),this},y.GState=j,y.setGState=function(t){(t=\"string\"==typeof t?Mt[Et[t]]:Fr(null,t)).equals(qt)||(lt(\"/\"+t.id+\" gs\"),qt=t)};var Fr=function(t,e){if(!t||!Et[t]){var r=!1;for(var n in Mt)if(Mt.hasOwnProperty(n)&&Mt[n].equals(e)){r=!0;break}if(r)e=Mt[n];else{var i=\"GS\"+(Object.keys(Mt).length+1).toString(10);Mt[i]=e,e.id=i}return t&&(Et[t]=e.id),Tt.publish(\"addGState\",e),e}};y.addGState=function(t,e){return Fr(t,e),this},y.saveGraphicsState=function(){return lt(\"q\"),jt.push({key:St,size:gt,color:xr}),this},y.restoreGraphicsState=function(){lt(\"Q\");var t=jt.pop();return St=t.key,gt=t.size,xr=t.color,qt=null,this},y.setCurrentTransformationMatrix=function(t){return lt(t.toString()+\" cm\"),this},y.comment=function(t){return lt(\"#\"+t),this};var Cr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},jr=function(t,e,r,n){Cr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},Or=function(){this.page=Dt,this.currentPage=$,this.pages=ot.slice(0),this.pagesContext=Rt.slice(0),this.x=Pt,this.y=kt,this.matrix=It,this.width=qr($),this.height=Rr($),this.outputDestination=ct,this.id=\"\",this.objectNumber=-1};Or.prototype.restore=function(){Dt=this.page,$=this.currentPage,Rt=this.pagesContext,ot=this.pages,Pt=this.x,kt=this.y,It=this.matrix,Dr($,this.width),Tr($,this.height),ct=this.outputDestination};var Br=function(t,e,r,n,i){Wt.push(new Or),Dt=$=0,ot=[],Pt=t,kt=e,It=i,je([r,n])},Mr=function(t){if(Ht[t])Wt.pop().restore();else{var e=new Or,r=\"Xo\"+(Object.keys(zt).length+1).toString(10);e.id=r,Ht[t]=r,zt[r]=e,Tt.publish(\"addFormObject\",e),Wt.pop().restore()}};for(var Er in y.beginFormObject=function(t,e,r,n,i){return Br(t,e,r,n,i),this},y.endFormObject=function(t){return Mr(t),this},y.doFormObject=function(t,e){var r=zt[Ht[t]];return lt(\"q\"),lt(e.toString()+\" cm\"),lt(\"/\"+r.id+\" Do\"),lt(\"Q\"),this},y.getFormObject=function(t){var e=zt[Ht[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},y.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(l(We(He()),t),\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),this):new Promise((function(e,r){try{var i=l(We(He()),t);\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),e(i)}catch(t){r(t.message)}}))},E.API)E.API.hasOwnProperty(Er)&&(\"events\"===Er&&E.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Tt,E.API.events):y[Er]=E.API[Er]);var qr=y.getPageWidth=function(t){return(Rt[t=t||$].mediaBox.topRightX-Rt[t].mediaBox.bottomLeftX)/_t},Dr=y.setPageWidth=function(t,e){Rt[t].mediaBox.topRightX=e*_t+Rt[t].mediaBox.bottomLeftX},Rr=y.getPageHeight=function(t){return(Rt[t=t||$].mediaBox.topRightY-Rt[t].mediaBox.bottomLeftY)/_t},Tr=y.setPageHeight=function(t,e){Rt[t].mediaBox.topRightY=e*_t+Rt[t].mediaBox.bottomLeftY};return y.internal={pdfEscape:Ce,getStyle:tr,getFont:hr,getFontSize:vt,getCharSpace:Pr,getTextColor:Sr,getLineHeight:gr,getLineHeightFactor:vr,getLineWidth:dr,write:ft,getHorizontalCoordinate:br,getVerticalCoordinate:yr,getCoordinateString:wr,getVerticalCoordinateString:Nr,collections:{},newObject:Xt,newAdditionalObject:$t,newObjectDeferred:Kt,newObjectDeferredBegin:Zt,getFilters:ne,putStream:ie,events:Tt,scaleFactor:_t,pageSize:{getWidth:function(){return qr($)},setWidth:function(t){Dr($,t)},getHeight:function(){return Rr($)},setHeight:function(t){Tr($,t)}},encryptionOptions:m,encryption:Ye,getEncryptor:Je,output:Ve,getNumberOfPages:Ee,pages:ot,out:lt,f2:R,f3:T,getPageInfo:Xe,getPageInfoByObjId:Ke,getCurrentPageInfo:Ze,getPDFVersion:N,Point:Cr,Rectangle:jr,Matrix:Vt,hasHotfix:Ge},Object.defineProperty(y.internal.pageSize,\"width\",{get:function(){return qr($)},set:function(t){Dr($,t)},enumerable:!0,configurable:!0}),Object.defineProperty(y.internal.pageSize,\"height\",{get:function(){return Rr($)},set:function(t){Tr($,t)},enumerable:!0,configurable:!0}),ke.call(y,pt),St=\"F1\",Oe(s,i),Tt.publish(\"initialized\"),y}I.prototype.lsbFirstWord=function(t){return String.fromCharCode(t>>0&255,t>>8&255,t>>16&255,t>>24&255)},I.prototype.toHexString=function(t){return t.split(\"\").map((function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)})).join(\"\")},I.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},I.prototype.processOwnerPassword=function(t,e){return P(x(e).substr(0,5),t)},I.prototype.encryptor=function(t,e){var r=x(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return P(r,t)}},j.prototype.equals=function(e){var r,n=\"id,objectNumber,equals\";if(!e||t(e)!==t(this))return!1;var i=0;for(r in this)if(!(n.indexOf(r)>=0)){if(this.hasOwnProperty(r)&&!e.hasOwnProperty(r))return!1;if(this[r]!==e[r])return!1;i++}for(r in e)e.hasOwnProperty(r)&&n.indexOf(r)<0&&i--;return 0===i},E.API={events:[]},E.version=\"3.0.0\";var q=E.API,D=1,R=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},T=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},U=function(t){return t.toFixed(2)},z=function(t){return t.toFixed(5)};q.__acroform__={};var H=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},W=function(t){return t*D},V=function(t){var e=new ut,r=At.internal.getHeight(t)||0,n=At.internal.getWidth(t)||0;return e.BBox=[0,0,Number(U(n)),Number(U(r))],e},G=q.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},Y=q.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},J=q.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},X=q.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return J(t,e-1)},K=q.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return G(t,e-1)},Z=q.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return Y(t,e-1)},$=q.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],c={};return c.lowerLeft_X=r(i)||0,c.lowerLeft_Y=n(a+s)||0,c.upperRight_X=r(i+o)||0,c.upperRight_Y=n(a)||0,[Number(U(c.lowerLeft_X)),Number(U(c.lowerLeft_Y)),Number(U(c.upperRight_X)),Number(U(c.upperRight_Y))]},Q=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=tt(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+U(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=V(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},tt=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \");i=t.multiline?i.map((function(t){return t.split(\"\\n\")})):i.map((function(t){return[t]}));var a=r,o=At.internal.getHeight(t)||0;o=o<0?-o:o;var s=At.internal.getWidth(t)||0;s=s<0?-s:s;var c=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1][0];return et(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var u,h,l=et(\"3\",t,a).height,f=t.multiline?o-a:(o-l)/2,d=f+=2,p=0,g=0,m=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+et(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}for(var v=\"\",b=0,y=0;y<i.length;y++)if(i.hasOwnProperty(y)){var w=!1;if(1!==i[y].length&&m!==i[y].length-1){if((l+2)*(b+2)+2>o)continue t;v+=i[y][m],w=!0,g=y,y--}else{v=\" \"==(v+=i[y][m]+\" \").substr(v.length-1)?v.substr(0,v.length-1):v;var N=parseInt(y),L=c(N,v,a),A=y>=i.length-1;if(L&&!A){v+=\" \",m=0;continue}if(L||A){if(A)g=N;else if(t.multiline&&(l+2)*(b+2)+2>o)continue t}else{if(!t.multiline)continue t;if((l+2)*(b+2)+2>o)continue t;g=N}}for(var x=\"\",S=p;S<=g;S++){var _=i[S];if(t.multiline){if(S===g){x+=_[m]+\" \",m=(m+1)%_.length;continue}if(S===p){x+=_[_.length-1]+\" \";continue}}x+=_[0]+\" \"}switch(x=\" \"==x.substr(x.length-1)?x.substr(0,x.length-1):x,h=et(x,t,a).width,t.textAlign){case\"right\":u=s-h-2;break;case\"center\":u=(s-h)/2;break;case\"left\":default:u=2}e+=U(u)+\" \"+U(d)+\" Td\\n\",e+=\"(\"+R(x)+\") Tj\\n\",e+=-U(u)+\" 0 Td\\n\",d=-(a+2),h=0,p=w?g:g+1,b++,v=\"\"}else;break}return n.text=e,n.fontSize=a,n},et=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},rt={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},nt=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===r.type&&t.object===r.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},it=function(e,r){for(var n in e)if(e.hasOwnProperty(n)){var i=n,a=e[n];r.internal.newObjectDeferredBegin(a.objId,!0),\"object\"===t(a)&&\"function\"==typeof a.putStream&&a.putStream(),delete e[i]}},at=function(e,r){if(r.scope=e,void 0!==e.internal&&(void 0===e.internal.acroformPlugin||!1===e.internal.acroformPlugin.isInitialized)){if(lt.FieldNum=0,e.internal.acroformPlugin=JSON.parse(JSON.stringify(rt)),e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");D=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new ht,e.internal.acroformPlugin.acroFormDictionaryRoot.scope=e,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",(function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(e)})),e.internal.events.subscribe(\"buildDocument\",(function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&nt(n,t)}}(e)})),e.internal.events.subscribe(\"putCatalog\",(function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(e)})),e.internal.events.subscribe(\"postPutPages\",(function(r){!function(e,r){var n=!e;for(var i in e||(r.internal.newObjectDeferredBegin(r.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),r.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),e=e||r.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(e.hasOwnProperty(i)){var a=e[i],o=[],s=a.Rect;if(a.Rect&&(a.Rect=$(a.Rect,r)),r.internal.newObjectDeferredBegin(a.objId,!0),a.DA=At.createDefaultAppearanceStream(a),\"object\"===t(a)&&\"function\"==typeof a.getKeyValueListForStream&&(o=a.getKeyValueListForStream()),a.Rect=s,a.hasAppearanceStream&&!a.appearanceStreamContent){var c=Q(a);o.push({key:\"AP\",value:\"<</N \"+c+\">>\"}),r.internal.acroformPlugin.xForms.push(c)}if(a.appearanceStreamContent){var u=\"\";for(var h in a.appearanceStreamContent)if(a.appearanceStreamContent.hasOwnProperty(h)){var l=a.appearanceStreamContent[h];if(u+=\"/\"+h+\" \",u+=\"<<\",Object.keys(l).length>=1||Array.isArray(l)){for(var i in l)if(l.hasOwnProperty(i)){var f=l[i];\"function\"==typeof f&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f+\" \",r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f)}}else\"function\"==typeof(f=l)&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f,r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f);u+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+u+\">>\"})}r.internal.putStream({additionalKeyValues:o,objectId:a.objId}),r.internal.out(\"endobj\")}n&&it(r.internal.acroformPlugin.xForms,r)}(r,e)})),e.internal.acroformPlugin.isInitialized=!0}},ot=q.__acroform__.arrayToPdfArray=function(e,r,n){var i=function(t){return t};if(Array.isArray(e)){for(var a=\"[\",o=0;o<e.length;o++)switch(0!==o&&(a+=\" \"),t(e[o])){case\"boolean\":case\"number\":case\"object\":a+=e[o].toString();break;case\"string\":\"/\"!==e[o].substr(0,1)?(void 0!==r&&n&&(i=n.internal.getEncryptor(r)),a+=\"(\"+R(i(e[o].toString()))+\")\"):a+=e[o].toString()}return a+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var st=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),t=\"(\"+R(n(t))+\")\"},ct=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};ct.prototype.toString=function(){return this.objId+\" 0 R\"},ct.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},ct.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter((function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)}));for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:ot(i,this.objId,this.scope)}):i instanceof ct?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var ut=function(){ct.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};H(ut,ct);var ht=function(){ct.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(t))+\")\"}},set:function(e){t=e}})};H(ht,ct);var lt=function t(){ct.call(this);var e=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute F supplied.');e=t}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(e,3))},set:function(t){!0===Boolean(t)?this.F=K(e,3):this.F=Z(e,3)}});var r=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');r=t}});var n=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==n.length)return n},set:function(t){n=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[0])?0:n[0]},set:function(t){n[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[1])?0:n[1]},set:function(t){n[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[2])?0:n[2]},set:function(t){n[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[3])?0:n[3]},set:function(t){n[3]=t}});var i=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return i},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":i=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var a=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!a||a.length<1){if(this instanceof yt)return;a=\"FieldObject\"+t.FieldNum++}var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(a))+\")\"},set:function(t){a=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var c=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return c},set:function(t){c=t}});var u=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===u?50/D:u},set:function(t){u=t}});var h=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return h},set:function(t){h=t}});var l=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!l||this instanceof yt||this instanceof Nt))return st(l,this.objId,this.scope)},set:function(t){t=t.toString(),l=t}});var f=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof mt==!1?st(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof mt==!0?\"/\"+t:t}});var d=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(d)return d},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(d)return this instanceof mt==!1?st(d,this.objId,this.scope):d},set:function(t){t=t.toString(),d=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(d.substr(1,d.length-1)):d},set:function(t){t=t.toString(),d=this instanceof mt==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var p,g=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return g},set:function(t){t=Boolean(t),g=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(p)return p},set:function(t){p=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,1):this.Ff=Z(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,2):this.Ff=Z(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,3):this.Ff=Z(this.Ff,3)}});var m=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==m)return m},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');m=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(m){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:m=2;break;case\"center\":case 1:m=1;break;case\"left\":case 0:default:m=0}}})};H(lt,ct);var ft=function(){lt.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return ot(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,18):this.Ff=Z(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=K(this.Ff,19):this.Ff=Z(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=K(this.Ff,20),e.sort()):this.Ff=Z(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,22):this.Ff=Z(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,27):this.Ff=Z(this.Ff,27)}}),this.hasAppearanceStream=!1};H(ft,lt);var dt=function(){ft.call(this),this.fontName=\"helvetica\",this.combo=!1};H(dt,ft);var pt=function(){dt.call(this),this.combo=!0};H(pt,dt);var gt=function(){pt.call(this),this.edit=!0};H(gt,pt);var mt=function(){lt.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,15):this.Ff=Z(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,16):this.Ff=Z(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,17):this.Ff=Z(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(r).length){var e,n=[];for(e in n.push(\"<<\"),r)n.push(\"/\"+e+\" (\"+R(t(r[e]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(e){\"object\"===t(e)&&(r=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}})};H(mt,lt);var vt=function(){mt.call(this),this.pushButton=!0};H(vt,mt);var bt=function(){mt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};H(bt,mt);var yt=function(){var e,r;lt.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return r},set:function(t){r=t}});var n,i={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),i)r.push(\"/\"+e+\" (\"+R(t(i[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(e){\"object\"===t(e)&&(i=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return i.CA||\"\"},set:function(t){\"string\"==typeof t&&(i.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return n.substr(1,n.length-1)},set:function(t){n=\"/\"+t}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=At.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};H(yt,lt),bt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},bt.prototype.createOption=function(t){var e=new yt;return e.Parent=this,e.optionName=t,this.Kids.push(e),xt.call(this.scope,e),e};var wt=function(){mt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=At.CheckBox.createAppearanceStream()};H(wt,mt);var Nt=function(){lt.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,13):this.Ff=Z(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,21):this.Ff=Z(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,24):this.Ff=Z(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,25):this.Ff=Z(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};H(Nt,lt);var Lt=function(){Nt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,14):this.Ff=Z(this.Ff,14)}}),this.password=!0};H(Lt,Nt);var At={CheckBox:{createAppearanceStream:function(){return{N:{On:At.CheckBox.YesNormal},D:{On:At.CheckBox.YesPushDown,Off:At.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=tt(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+U(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=At.internal.getHeight(t),o=At.internal.getWidth(t),s=tt(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+U(o)+\" \"+U(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+U(o-1)+\" \"+U(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+U(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Circle.YesNormal,e.D[t]=At.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=At.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5)),o=Number((n*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Cross.YesNormal,e.D[t]=At.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(U(n.x1.x)+\" \"+U(n.x1.y)+\" m\"),r.push(U(n.x2.x)+\" \"+U(n.x2.y)+\" l\"),r.push(U(n.x4.x)+\" \"+U(n.x4.y)+\" m\"),r.push(U(n.x3.x)+\" \"+U(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=At.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(U(r.x1.x)+\" \"+U(r.x1.y)+\" m\"),n.push(U(r.x2.x)+\" \"+U(r.x2.y)+\" l\"),n.push(U(r.x4.x)+\" \"+U(r.x4.y)+\" m\"),n.push(U(r.x3.x)+\" \"+U(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};At.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=At.internal.getWidth(t),r=At.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},At.internal.getWidth=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[2])),r},At.internal.getHeight=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[3])),r};var xt=q.addField=function(t){if(at(this,t),!(t instanceof lt))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};q.AcroFormChoiceField=ft,q.AcroFormListBox=dt,q.AcroFormComboBox=pt,q.AcroFormEditBox=gt,q.AcroFormButton=mt,q.AcroFormPushButton=vt,q.AcroFormRadioButton=bt,q.AcroFormCheckBox=wt,q.AcroFormTextField=Nt,q.AcroFormPasswordField=Lt,q.AcroFormAppearance=At,q.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At},E.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At};var St=E.AcroForm;function _t(t){return t.reduce((function(t,e,r){return t[e]=r,t}),{})}!function(e){e.__addimage__={};var r=\"UNKNOWN\",n={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},i=e.__addimage__.getImageFileTypeByImageData=function(t,e){var i,a,o,s,c,u=r;if(\"RGBA\"===(e=e||r)||void 0!==t.data&&t.data instanceof Uint8ClampedArray&&\"height\"in t&&\"width\"in t)return\"RGBA\";if(x(t))for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t[a]){s=!1;break}if(!0===s){u=c;break}}else for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){u=c;break}}return u===r&&e!==r&&(u=e),u},a=function t(e){for(var r=this.internal.write,n=this.internal.putStream,i=(0,this.internal.getFilters)();-1!==i.indexOf(\"FlateEncode\");)i.splice(i.indexOf(\"FlateEncode\"),1);e.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:e.width}),a.push({key:\"Height\",value:e.height}),e.colorSpace===b.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(e.palette.length/3-1)+\" \"+(\"sMask\"in e&&void 0!==e.sMask?e.objectId+2:e.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+e.colorSpace}),e.colorSpace===b.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:e.bitsPerComponent}),\"decodeParameters\"in e&&void 0!==e.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+e.decodeParameters+\">>\"}),\"transparency\"in e&&Array.isArray(e.transparency)){for(var o=\"\",s=0,c=e.transparency.length;s<c;s++)o+=e.transparency[s]+\" \"+e.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==e.sMask&&a.push({key:\"SMask\",value:e.objectId+1+\" 0 R\"});var u=void 0!==e.filter?[\"/\"+e.filter]:void 0;if(n({data:e.data,additionalKeyValues:a,alreadyAppliedFilters:u,objectId:e.objectId}),r(\"endobj\"),\"sMask\"in e&&void 0!==e.sMask){var h=\"/Predictor \"+e.predictor+\" /Colors 1 /BitsPerComponent \"+e.bitsPerComponent+\" /Columns \"+e.width,l={width:e.width,height:e.height,colorSpace:\"DeviceGray\",bitsPerComponent:e.bitsPerComponent,decodeParameters:h,data:e.sMask};\"filter\"in e&&(l.filter=e.filter),t.call(this,l)}if(e.colorSpace===b.INDEXED){var f=this.internal.newObject();n({data:_(new Uint8Array(e.palette)),objectId:f}),r(\"endobj\")}},o=function(){var t=this.internal.collections.addImage_images;for(var e in t)a.call(this,t[e])},s=function(){var t,e=this.internal.collections.addImage_images,r=this.internal.write;for(var n in e)r(\"/I\"+(t=e[n]).index,t.objectId,\"0\",\"R\")},c=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s))},h=function(){var t=this.internal.collections.addImage_images;return c.call(this),t},l=function(){return Object.keys(this.internal.collections.addImage_images).length},f=function(t){return\"function\"==typeof e[\"process\"+t.toUpperCase()]},d=function(e){return\"object\"===t(e)&&1===e.nodeType},p=function(t,r){if(\"IMG\"===t.nodeName&&t.hasAttribute(\"src\")){var n=\"\"+t.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return u(unescape(n).split(\"base64,\").pop());var i=e.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===t.nodeName){if(0===t.width||0===t.height)throw new Error(\"Given canvas must have data. Canvas width: \"+t.width+\", height: \"+t.height);var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;case\"JPEG\":case\"JPG\":default:a=\"image/jpeg\"}return u(t.toDataURL(a,1).split(\"base64,\").pop())}},g=function(t){var e=this.internal.collections.addImage_images;if(e)for(var r in e)if(t===e[r].alias)return e[r]},m=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},v=function(t,e,r,n,i,a){var o=m.call(this,r,n,i),s=this.internal.getCoordinateString,c=this.internal.getVerticalCoordinateString,u=h.call(this);if(r=o[0],n=o[1],u[i.index]=i,a){a*=Math.PI/180;var l=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(l),d(f),d(-1*f),d(l),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),c(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),c(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},b=e.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};e.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var y=e.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},w=e.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(x(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},N=e.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},L=e.__addimage__.extractImageFromDataUrl=function(t){var e=(t=t||\"\").split(\"base64,\"),r=null;if(2===e.length){var n=/^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(e[0]);Array.isArray(n)&&(r={mimeType:n[1],charset:n[2],data:e[1]})}return r},A=e.__addimage__.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array};e.__addimage__.isArrayBuffer=function(t){return A()&&t instanceof ArrayBuffer};var x=e.__addimage__.isArrayBufferView=function(t){return A()&&\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)},S=e.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},_=e.__addimage__.arrayBufferToBinaryString=function(t){for(var e=\"\",r=x(t)?t:new Uint8Array(t),n=0;n<r.length;n+=8192)e+=String.fromCharCode.apply(null,r.subarray(n,n+8192));return e};e.addImage=function(){var e,n,i,a,o,s,u,h,l;if(\"number\"==typeof arguments[1]?(n=r,i=arguments[1],a=arguments[2],o=arguments[3],s=arguments[4],u=arguments[5],h=arguments[6],l=arguments[7]):(n=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],s=arguments[5],u=arguments[6],h=arguments[7],l=arguments[8]),\"object\"===t(e=arguments[0])&&!d(e)&&\"imageData\"in e){var f=e;e=f.imageData,n=f.format||n||r,i=f.x||i||0,a=f.y||a||0,o=f.w||f.width||o,s=f.h||f.height||s,u=f.alias||u,h=f.compression||h,l=f.rotation||f.angle||l}var p=this.internal.getFilters();if(void 0===h&&-1!==p.indexOf(\"FlateEncode\")&&(h=\"SLOW\"),isNaN(i)||isNaN(a))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");c.call(this);var g=P.call(this,e,n,u,h);return v.call(this,i,a,o,s,g,l),this};var P=function(t,n,a,o){var s,c,u;if(\"string\"==typeof t&&i(t)===r){t=unescape(t);var h=k(t,!1);(\"\"!==h||void 0!==(h=e.loadFile(t,!0)))&&(t=h)}if(d(t)&&(t=p(t,n)),n=i(t,n),!f(n))throw new Error(\"addImage does not support files of type '\"+n+\"', please ensure that a plugin for '\"+n+\"' support is added.\");if((null==(u=a)||0===u.length)&&(a=function(t){return\"string\"==typeof t||x(t)?w(t):x(t.data)?w(t.data):null}(t)),(s=g.call(this,a))||(A()&&(t instanceof Uint8Array||\"RGBA\"===n||(c=t,t=S(t))),s=this[\"process\"+n.toUpperCase()](t,l.call(this),a,function(t){return t&&\"string\"==typeof t&&(t=t.toUpperCase()),t in e.image_compression?t:y.NONE}(o),c)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},k=e.__addimage__.convertBase64ToBinaryString=function(t,e){var r;e=\"boolean\"!=typeof e||e;var n,i=\"\";if(\"string\"==typeof t){n=null!==(r=L(t))?r.data:t;try{i=u(n)}catch(t){if(e)throw N(n)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return i};e.getImageProperties=function(t){var n,a,o=\"\";if(d(t)&&(t=p(t)),\"string\"==typeof t&&i(t)===r&&(\"\"===(o=k(t,!1))&&(o=e.loadFile(t)||\"\"),t=o),a=i(t),!f(a))throw new Error(\"addImage does not support files of type '\"+a+\"', please ensure that a plugin for '\"+a+\"' support is added.\");if(!A()||t instanceof Uint8Array||(t=S(t)),!(n=this[\"process\"+a.toUpperCase()](t)))throw new Error(\"An unknown error occurred whilst processing the image\");return n.fileType=a,n}}(E.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};E.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),c=t.pageContext.annotations,u=!1,h=0;h<c.length&&!u;h++)switch((r=c[h]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(u=!0);break;case\"reference\":case\"text\":case\"freetext\":u=!0}if(0!=u){this.internal.write(\"/Annots [\");for(var l=0;l<c.length;l++){r=c[l];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=r.color||\"#000000\";i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+y+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber){switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;case\"XYZ\":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i,a,o=this.getTextWidth(t),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(void 0!==n.maxWidth){a=n.maxWidth;var c=this.splitTextToSize(t,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(t,e,r,n),r+=.2*s,\"center\"===n.align&&(e-=o/2),\"right\"===n.align&&(e-=o),this.link(e,r-s,a,i,n),o},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(E.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},c=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var u=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var h=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},l=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!u(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&c(e)||s(t)&&s(e)?0:h(t)&&o(e)&&!s(e)&&o(r)&&u(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",c=\"\",u=(t=t||\"\").split(\"\\\\s+\"),h=[];for(r=0;r<u.length;r+=1){for(h.push(\"\"),n=0;n<u[r].length;n+=1)a=u[r][n],s=u[r][n-1],c=u[r][n+1],o(a)?(i=f(a,s,c),h[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):h[r]+=a;h[r]=l(h[r])}return h.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(E.API),E.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",(function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(E.API),function(e){var r={left:0,top:0,bottom:0,right:0},n=!1,i=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},r),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o,this.internal.__cell__.pages=1},o=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};o.prototype.clone=function(){return new o(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},o.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},e.setHeaderFunction=function(t){return i.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},e.getTextDimensions=function(t,e){i.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),n=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,u=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}var h=e.maxWidth;h>0?\"string\"==typeof t?t=this.splitTextToSize(t,h):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(u.splitTextToSize(e,h))}),[])):t=Array.isArray(t)?t:[t];for(var l=0;l<t.length;l++)o<(c=this.getStringUnitWidth(t[l],{font:n})*r)&&(o=c);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},e.cellAddPage=function(){i.call(this),this.addPage();var t=this.internal.__cell__.margins||r;return this.internal.__cell__.lastCell=new o(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var s=e.cell=function(){var t;t=arguments[0]instanceof o?arguments[0]:new o(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]),i.call(this);var e=this.internal.__cell__.lastCell,a=this.internal.__cell__.padding,s=this.internal.__cell__.margins||r,c=this.internal.__cell__.tableHeaderRow,u=this.internal.__cell__.printHeaders;return void 0!==e.lineNumber&&(e.lineNumber===t.lineNumber?(t.x=(e.x||0)+(e.width||0),t.y=e.y||0):e.y+e.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,u&&c&&(this.printHeaderRow(t.lineNumber,!0),t.y+=c[0].height)):t.y=e.y+e.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===n?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-a,t.y+a,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+a,{align:\"center\",baseline:\"top\",maxWidth:t.width-a-a}):this.text(t.text,t.x+a,t.y+a,{align:\"left\",baseline:\"top\",maxWidth:t.width-a-a})),this.internal.__cell__.lastCell=t,this};e.table=function(e,n,u,h,l){if(i.call(this),!u)throw new Error(\"No data for PDF table.\");var f,d,p,g,m=[],v=[],b=[],y={},w={},N=[],L=[],A=(l=l||{}).autoSize||!1,x=!1!==l.printHeaders,S=l.css&&void 0!==l.css[\"font-size\"]?16*l.css[\"font-size\"]:l.fontSize||12,_=l.margins||Object.assign({width:this.getPageWidth()},r),P=\"number\"==typeof l.padding?l.padding:3,k=l.headerBackgroundColor||\"#c8c8c8\",I=l.headerTextColor||\"#000\";if(a.call(this),this.internal.__cell__.printHeaders=x,this.internal.__cell__.margins=_,this.internal.__cell__.table_font_size=S,this.internal.__cell__.padding=P,this.internal.__cell__.headerBackgroundColor=k,this.internal.__cell__.headerTextColor=I,this.setFontSize(S),null==h)v=m=Object.keys(u[0]),b=m.map((function(){return\"left\"}));else if(Array.isArray(h)&&\"object\"===t(h[0]))for(m=h.map((function(t){return t.name})),v=h.map((function(t){return t.prompt||t.name||\"\"})),b=h.map((function(t){return t.align||\"left\"})),f=0;f<h.length;f+=1)w[h[f].name]=h[f].width*(19.049976/25.4);else Array.isArray(h)&&\"string\"==typeof h[0]&&(v=m=h,b=m.map((function(){return\"left\"})));if(A||Array.isArray(h)&&\"string\"==typeof h[0])for(f=0;f<m.length;f+=1){for(y[g=m[f]]=u.map((function(t){return t[g]})),this.setFont(void 0,\"bold\"),N.push(this.getTextDimensions(v[f],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),d=y[g],this.setFont(void 0,\"normal\"),p=0;p<d.length;p+=1)N.push(this.getTextDimensions(d[p],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);w[g]=Math.max.apply(null,N)+P+P,N=[]}if(x){var F={};for(f=0;f<m.length;f+=1)F[m[f]]={},F[m[f]].text=v[f],F[m[f]].align=b[f];var C=c.call(this,F,w);L=m.map((function(t){return new o(e,n,w[t],C,F[t].text,void 0,F[t].align)})),this.setTableHeaderRow(L),this.printHeaderRow(1,!1)}var j=h.reduce((function(t,e){return t[e.name]=e.align,t}),{});for(f=0;f<u.length;f+=1){\"rowStart\"in l&&l.rowStart instanceof Function&&l.rowStart({row:f,data:u[f]},this);var O=c.call(this,u[f],w);for(p=0;p<m.length;p+=1){var B=u[f][m[p]];\"cellStart\"in l&&l.cellStart instanceof Function&&l.cellStart({row:f,col:p,data:B},this),s.call(this,new o(e,n,w[m[p]],O,B,f+2,j[m[p]]))}}return this.internal.__cell__.table_x=e,this.internal.__cell__.table_y=n,this};var c=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map((function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)}),this).map((function(t){return this.getLineHeightFactor()*t.length*n/i+r+r}),this).reduce((function(t,e){return Math.max(t,e)}),0)};e.setTableHeaderRow=function(t){i.call(this),this.internal.__cell__.tableHeaderRow=t},e.printHeaderRow=function(t,e){if(i.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var r;if(n=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var a=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new o(a[0],a[1],a[2],a[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var c=[],u=0;u<this.internal.__cell__.tableHeaderRow.length;u+=1){r=this.internal.__cell__.tableHeaderRow[u].clone(),e&&(r.y=this.internal.__cell__.margins.top||0,c.push(r)),r.lineNumber=t;var h=this.getTextColor();this.setTextColor(this.internal.__cell__.headerTextColor),this.setFillColor(this.internal.__cell__.headerBackgroundColor),s.call(this,r),this.setTextColor(h)}c.length>0&&this.setTableHeaderRow(c),this.setFont(void 0,\"normal\"),n=!1}}(E.API);var Pt={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},kt=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],It=_t(kt),Ft=[100,200,300,400,500,600,700,800,900],Ct=_t(Ft);function jt(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return Pt[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){if(!t)return 400;if(\"number\"==typeof t)return t>=100&&t<=900&&t%100==0?t:400;if(/^\\d00$/.test(t))return parseInt(t);switch(t){case\"bold\":return 700;case\"normal\":default:return 400}}(t.weight),i=function(t){return\"number\"==typeof It[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function Ot(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Bt={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},Mt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Et(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function qt(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Bt,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=jt(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Et(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=It[t],n=r<=It.normal?-1:1,i=Ot(e,kt,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=Pt[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=Ct[t],n=Ot(e,Ft,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Et(a)+\"'.\");return o}function Dt(t){return t.trimLeft()}function Rt(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function Tt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var Ut,zt,Ht,Wt=[\"times\"];!function(e){var r,n,i,o,s,c,u,h,l,d=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new h,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new c,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new c,this.lineDashOffset=t.lineDashOffset||0,this.lineDash=t.lineDash||[],this.margin=t.margin||[0,0,0,0],this.prevPageLastElemOffset=t.prevPageLastElemOffset||0,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};e.events.push([\"initialized\",function(){this.context2d=new p(this),r=this.internal.f2,n=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,o=this.internal.getHorizontalCoordinate,s=this.internal.getVerticalCoordinate,c=this.internal.Point,u=this.internal.Rectangle,h=this.internal.Matrix,l=new d}]);var p=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}}),Object.defineProperty(this,\"margin\",{get:function(){return l.margin},set:function(t){var e;\"number\"==typeof t?e=[t,t,t,t]:((e=new Array(4))[0]=t[0],e[1]=t.length>=2?t[1]:e[0],e[2]=t.length>=3?t[2]:e[0],e[3]=t.length>=4?t[3]:e[1]),l.margin=e}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var c=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return l},set:function(t){t instanceof d&&(l=t)}}),Object.defineProperty(this,\"path\",{get:function(){return l.path},set:function(t){l.path=t}});var u=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=g(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=g(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var h=null;function f(t,e){if(null===h){var r=function(t){var e=[];return Object.keys(t).forEach((function(r){t[r].forEach((function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))}))})),e}(t.getFontList());h=function(t){for(var e={},r=0;r<t.length;++r){var n=jt(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(r.concat(e))}return h}var p=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return p},set:function(t){h=null,p=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var r=e[1],n=(e[2],e[3]),i=e[4],a=(e[5],e[6]),o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Wt;if(i in Mt)return[Mt[i]];for(;\"\"!==i;){switch(r=null,e=(i=Dt(i)).charAt(0)){case'\"':case\"'\":r=Rt(i.substring(1),e);break;default:r=Tt(i)}if(null===r)return Wt;if(n.push(r[0]),\"\"!==(i=Dt(r[1]))&&\",\"!==i.charAt(0))return Wt;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var c=qt(f(this.pdf,this.fontFaces),s.map((function(t){return{family:t,stretch:\"normal\",weight:n,style:r}})));this.pdf.setFont(c.ref.name,c.ref.style)}else{var u=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(u=\"bold\"),\"italic\"===r&&(u+=\"italic\"),0===u.length&&(u=\"normal\");for(var h=\"\",l={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},d=0;d<s.length;d++){if(void 0!==this.pdf.internal.getFont(s[d],u,{noFallback:!0,disableWarning:!0})){h=s[d];break}if(\"bolditalic\"===u&&void 0!==this.pdf.internal.getFont(s[d],\"bold\",{noFallback:!0,disableWarning:!0}))h=s[d],u=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[d],\"normal\",{noFallback:!0,disableWarning:!0})){h=s[d],u=\"normal\";break}}if(\"\"===h)for(var p=0;p<s.length;p++)if(l[s[p]]){h=l[s[p]];break}h=\"\"===h?\"Times\":h,this.pdf.setFont(h,u)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"lineDashOffset\",{get:function(){return this.ctx.lineDashOffset},set:function(t){this.ctx.lineDashOffset=t,T.call(this)}}),Object.defineProperty(this,\"lineDash\",{get:function(){return this.ctx.lineDash},set:function(t){this.ctx.lineDash=t,T.call(this)}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};p.prototype.setLineDash=function(t){this.lineDash=t},p.prototype.getLineDash=function(){return this.lineDash.length%2?this.lineDash.concat(this.lineDash):this.lineDash.slice()},p.prototype.fill=function(){A.call(this,\"fill\",!1)},p.prototype.stroke=function(){A.call(this,\"stroke\",!1)},p.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},p.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(t,e)},p.prototype.closePath=function(){var e=new c(0,0),r=0;for(r=this.path.length-1;-1!==r;r--)if(\"begin\"===this.path[r].type&&\"object\"===t(this.path[r+1])&&\"number\"==typeof this.path[r+1].x){e=new c(this.path[r+1].x,this.path[r+1].y);break}this.path.push({type:\"close\"}),this.ctx.lastPoint=new c(e.x,e.y)},p.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(r.x,r.y)},p.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),A.call(this,null,!0)},p.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var i=this.ctx.transform.applyToPoint(new c(r,n)),o=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:i.x,y:i.y}),this.ctx.lastPoint=new c(i.x,i.y)},p.prototype.bezierCurveTo=function(t,e,r,n,i,o){if(isNaN(i)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var s=this.ctx.transform.applyToPoint(new c(i,o)),u=this.ctx.transform.applyToPoint(new c(t,e)),h=this.ctx.transform.applyToPoint(new c(r,n));this.path.push({type:\"bct\",x1:u.x,y1:u.y,x2:h.x,y2:h.y,x:s.x,y:s.y}),this.ctx.lastPoint=new c(s.x,s.y)},p.prototype.arc=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i))throw a.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var s=this.ctx.transform.applyToPoint(new c(t,e));t=s.x,e=s.y;var u=this.ctx.transform.applyToPoint(new c(0,r)),h=this.ctx.transform.applyToPoint(new c(0,0));r=Math.sqrt(Math.pow(u.x-h.x,2)+Math.pow(u.y-h.y,2))}Math.abs(i-n)>=2*Math.PI&&(n=0,i=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:i,counterclockwise:o})},p.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},p.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},p.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!m.call(this)){var i={};\"butt\"!==this.lineCap&&(i.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(i.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),i.hasOwnProperty(\"lineCap\")&&(this.lineCap=i.lineCap),i.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=i.lineJoin)}},p.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");v.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},p.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},p.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new d(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},p.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin,this.lineDash=this.ctx.lineDash,this.lineDashOffset=this.ctx.lineDashOffset)},p.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var g=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new f(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},m=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},v=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};p.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!m.call(this)){var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!v.call(this)){n=isNaN(n)?void 0:n;var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,renderingMode:\"stroke\",angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.measureText=function(t){if(\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),i=e.getStringUnitWidth(t)*n/e.internal.scaleFactor,o=function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this};return new o({width:i*=Math.round(96*r/72*1e4)/1e4})},p.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new h(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.rotate=function(t){if(isNaN(t))throw a.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new h(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},p.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new h(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.transform=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(o))throw a.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new h(t,e,r,n,i,o);this.ctx.transform=this.ctx.transform.multiply(s)},p.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new h(t,e,r,n,i,a)};var b=function(){return this.margin[0]>0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};p.prototype.drawImage=function(t,e,r,n,i,a,o,s,c){var l=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=c/i,f=l.width/n*s/n,d=l.height/i*c/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,c=i),void 0===n&&void 0===s&&(s=l.width,c=l.height);for(var m,v=this.ctx.transform.decompose(),w=q(v.rotate.shx),A=new h,S=(A=(A=(A=A.multiply(v.translate)).multiply(v.skew)).multiply(v.scale)).applyToRectangle(new u(a-e*p,o-r*g,n*f,i*d)),_=y.call(this,S),P=[],k=0;k<_.length;k+=1)-1===P.indexOf(_[k])&&P.push(_[k]);if(L(P),this.autoPaging)for(var I=P[0],F=P[P.length-1],C=I;C<F+1;C++){this.pdf.setPage(C);var j=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],O=1===C?this.posY+this.margin[0]:this.margin[0],B=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],M=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],E=1===C?0:B+(C-2)*M;if(0!==this.ctx.clip_path.length){var D=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(m,this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset),x.call(this,\"fill\",!0),this.path=D}var R=JSON.parse(JSON.stringify(S));R=N([R],this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset)[0];var T=(C>I||C<F)&&b.call(this);T&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],j,M,null).clip().discardPath()),this.pdf.addImage(t,\"JPEG\",R.x,R.y,R.w,R.h,null,null,w),T&&this.pdf.restoreGraphicsState()}else this.pdf.addImage(t,\"JPEG\",S.x,S.y,S.w,S.h,null,null,w)};var y=function(t,e,r){var n=[];e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2];var i=this.posY+this.ctx.prevPageLastElemOffset;switch(t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+i)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+i-t.radius)/r)+1),n.push(Math.floor((t.y+i+t.radius)/r)+1);break;case\"qct\":var a=D(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor((a.y+i)/r)+1),n.push(Math.floor((a.y+a.h+i)/r)+1);break;case\"bct\":var o=R(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor((o.y+i)/r)+1),n.push(Math.floor((o.y+o.h+i)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+i)/r)+1),n.push(Math.floor((t.y+t.h+i)/r)+1)}for(var s=0;s<n.length;s+=1)for(;this.pdf.internal.getNumberOfPages()<n[s];)w.call(this);return n},w=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},N=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;case\"mt\":case\"lt\":case\"arc\":default:t[n].x+=e,t[n].y+=r}return t},L=function(t){return t.sort((function(t,e){return t-e}))},A=function(t,e){for(var r,n,i=this.fillStyle,a=this.strokeStyle,o=this.lineCap,s=this.lineWidth,c=Math.abs(s*this.ctx.transform.scaleX),u=this.lineJoin,h=JSON.parse(JSON.stringify(this.path)),l=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<l.length;d++)if(void 0!==l[d].x)for(var p=y.call(this,l[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)w.call(this);if(L(f),this.autoPaging)for(var v=f[0],A=f[f.length-1],S=v;S<A+1;S++){this.pdf.setPage(S),this.fillStyle=i,this.strokeStyle=a,this.lineCap=o,this.lineWidth=c,this.lineJoin=u;var _=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],P=1===S?this.posY+this.margin[0]:this.margin[0],k=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],I=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],F=1===S?0:k+(S-2)*I;if(0!==this.ctx.clip_path.length){var C=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(r,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),x.call(this,t,!0),this.path=C}if(n=JSON.parse(JSON.stringify(h)),this.path=N(n,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),!1===e||0===S){var j=(S>v||S<A)&&b.call(this);j&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],_,I,null).clip().discardPath()),x.call(this,t,e),j&&this.pdf.restoreGraphicsState()}this.lineWidth=s}else this.lineWidth=c,x.call(this,t,e),this.lineWidth=s;this.path=h},x=function(t,e){if((\"stroke\"!==t||e||!v.call(this))&&(\"stroke\"===t||e||!m.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var c=i.length;if(a[o-1]&&!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],c>0))for(;c>=0;c--)if(!0!==i[c-1].close&&!0!==i[c-1].begin){i[c-1].deltas.push(r),i[c-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var u=a[o-1].x+2/3*(s.x1-a[o-1].x),h=a[o-1].y+2/3*(s.y1-a[o-1].y),l=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[u-a[o-1].x,h-a[o-1].y,l-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var g=!1,b=0;b<i.length;b++)if(i[b].arc)for(var y=i[b].abs,w=0;w<y.length;w++){var N=y[w];\"arc\"===N.type?P.call(this,N.x,N.y,N.radius,N.startAngle,N.endAngle,N.counterclockwise,void 0,e,!g):j.call(this,N.x,N.y),g=!0}else if(!0===i[b].close)this.pdf.internal.out(\"h\"),g=!1;else if(!0!==i[b].begin){var L=i[b].start.x,A=i[b].start.y;O.call(this,i[b].deltas,L,A),g=!0}n&&k.call(this,n),e&&I.call(this)}},S=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;case\"ideographic\":return t;case\"alphabetic\":default:return t}},_=function(t){return t+this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor*(this.pdf.internal.getLineHeightFactor()-1)};p.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},p.prototype.createPattern=function(){return this.createLinearGradient()},p.prototype.createRadialGradient=function(){return this.createLinearGradient()};var P=function(t,e,r,n,i,a,o,s,c){for(var u=M.call(this,r,n,i,a),h=0;h<u.length;h++){var l=u[h];0===h&&(c?F.call(this,l.x1+t,l.y1+e):j.call(this,l.x1+t,l.y1+e)),B.call(this,t,e,l.x2,l.y2,l.x3,l.y3,l.x4,l.y4)}s?I.call(this):k.call(this,o)},k=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},I=function(){this.pdf.clip(),this.pdf.discardPath()},F=function(t,e){this.pdf.internal.out(n(t)+\" \"+i(e)+\" m\")},C=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var r=this.pdf.getTextDimensions(t.text),n=S.call(this,t.y),i=_.call(this,n)-r.h,a=this.ctx.transform.applyToPoint(new c(t.x,n)),o=this.ctx.transform.decompose(),s=new h;s=(s=(s=s.multiply(o.translate)).multiply(o.skew)).multiply(o.scale);for(var l,f,d,p=this.ctx.transform.applyToRectangle(new u(t.x,n,r.w,r.h)),g=s.applyToRectangle(new u(t.x,i,r.w,r.h)),m=y.call(this,g),v=[],w=0;w<m.length;w+=1)-1===v.indexOf(m[w])&&v.push(m[w]);if(L(v),this.autoPaging)for(var A=v[0],P=v[v.length-1],k=A;k<P+1;k++){this.pdf.setPage(k);var I=1===k?this.posY+this.margin[0]:this.margin[0],F=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],C=this.pdf.internal.pageSize.height-this.margin[2],j=C-this.margin[0],O=this.pdf.internal.pageSize.width-this.margin[1],B=O-this.margin[3],M=1===k?0:F+(k-2)*j;if(0!==this.ctx.clip_path.length){var E=this.path;l=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(l,this.posX+this.margin[3],-1*M+I),x.call(this,\"fill\",!0),this.path=E}var q=N([JSON.parse(JSON.stringify(g))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0];t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale);var D=\"text\"!==this.autoPaging;if(D||q.y+q.h<=C){if(D||q.y>=I&&q.x<=O){var R=D?t.text:this.pdf.splitTextToSize(t.text,t.maxWidth||O-q.x)[0],T=N([JSON.parse(JSON.stringify(p))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0],U=D&&(k>A||k<P)&&b.call(this);U&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],B,j,null).clip().discardPath()),this.pdf.text(R,T.x,T.y,{angle:t.angle,align:e,renderingMode:t.renderingMode}),U&&this.pdf.restoreGraphicsState()}}else q.y<C&&(this.ctx.prevPageLastElemOffset+=C-q.y);t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)}else t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale),this.pdf.text(t.text,a.x+this.posX,a.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)},j=function(t,e,r,a){r=r||0,a=a||0,this.pdf.internal.out(n(t+r)+\" \"+i(e+a)+\" l\")},O=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},B=function(t,e,n,i,a,c,u,h){this.pdf.internal.out([r(o(n+t)),r(s(i+e)),r(o(a+t)),r(s(c+e)),r(o(u+t)),r(s(h+e)),\"c\"].join(\" \"))},M=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],c=n?-1:1,u=e;o>1e-5;){var h=u+c*Math.min(o,a);s.push(E.call(this,t,u,h)),o-=Math.abs(h-u),u=h}return s},E=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,c=o*o+s*s,u=c+o*i+s*a,h=4/3*(Math.sqrt(2*c*u)-u)/(o*a-s*i),l=o-h*s,f=s+h*o,d=l,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:l*m-f*v,y2:l*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},q=function(t){return 180*t/Math.PI},D=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),c=i+.5*(r-i),h=a+.5*(n-a),l=Math.min(t,i,o,c),f=Math.max(t,i,o,c),d=Math.min(e,a,s,h),p=Math.max(e,a,s,h);return new u(l,d,f-l,p-d)},R=function(t,e,r,n,i,a,o,s){var c,h,l,f,d,p,g,m,v,b,y,w,N,L,A=r-t,x=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(h=0;h<41;h++)v=(g=(l=t+(c=h/40)*A)+c*((d=r+c*S)-l))+c*(d+c*(i+c*P-d)-g),b=(m=(f=e+c*x)+c*((p=n+c*_)-f))+c*(p+c*(a+c*k-p)-m),0==h?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new u(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))},T=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var t,e,r=(t=this.ctx.lineDash,e=this.ctx.lineDashOffset,JSON.stringify({lineDash:t,lineDashOffset:e}));this.prevLineDash!==r&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=r)}}}(E.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var r=function(t){var e,r,n,i,a,o,s,c,u,h;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(h=a%85))/85)-(u=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,c+33,u+33,h+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",c=255,u=\"charCodeAt\",h=\"slice\",l=\"replace\";for(t[h](-2),t=t[h](0,-2)[l](/\\s/g,\"\")[l](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[h](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[u](i)-33)+614125*(t[u](i+1)-33)+7225*(t[u](i+2)-33)+85*(t[u](i+3)-33)+(t[u](i+4)-33),n.push(c&r>>24,c&r>>16,c&r>>8,c&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},a=function(t){for(var r=new Uint8Array(t.length),n=t.length;n--;)r[n]=t.charCodeAt(n);return t=(r=e(r)).reduce((function(t,e){return t+String.fromCharCode(e)}),\"\")};t.processDataByFilters=function(t,e){var o=0,s=t||\"\",c=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),o=0;o<e.length;o+=1)switch(e[o]){case\"ASCII85Decode\":case\"/ASCII85Decode\":s=n(s),c.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":s=r(s),c.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":s=i(s),c.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":s=s.split(\"\").map((function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)})).join(\"\")+\">\",c.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":s=a(s),c.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[o]+'\" is not implemented')}return{data:s,reverseChain:c.reverse().join(\" \")}}}(E.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile}(E.API),function(e){function r(){return(n.html2canvas?Promise.resolve(n.html2canvas):import(\"html2canvas\")).catch((function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))})).then((function(t){return t.default?t.default:t}))}function i(){return(n.DOMPurify?Promise.resolve(n.DOMPurify):import(\"dompurify\")).catch((function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))})).then((function(t){return t.default?t.default:t}))}var a=function(e){var r=t(e);return\"undefined\"===r?\"undefined\":\"string\"===r||e instanceof String?\"string\":\"number\"===r||e instanceof Number?\"number\":\"function\"===r||e instanceof Function?\"function\":e&&e.constructor===Array?\"array\":e&&1===e.nodeType?\"element\":\"object\"===r?\"object\":\"unknown\"},o=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(a(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.then(i).then((function(e){return this.set({src:o(\"div\",{innerHTML:t,dompurify:e})})}));case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}}))},s.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:\"relative\",display:\"inline-block\",width:(\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&\"SCRIPT\"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&(\"CANVAS\"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext(\"2d\").drawImage(e,0,0)):\"TEXTAREA\"!==e.nodeName&&\"SELECT\"!==e.nodeName||(n.value=e.value),n.addEventListener(\"load\",(function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft}),!0)),n}(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=o(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=o(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(o(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find((function(t){return\"truetype\"===t.format}));s&&e.addFont(s.url,o.ref.name,o.ref.style)}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)})).then((function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF}))},s.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename)}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf)}))},s.prototype.set=function(t){if(\"object\"!==a(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(a(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||E.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t)})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,E.getPageSize=function(e,r,n){if(\"object\"===t(e)){var i=e;e=i.orientation,r=i.unit||r,n=i.format||n}r=r||\"mm\",n=n||\"a4\",e=(\"\"+(e||\"P\")).toLowerCase();var a,o=(\"\"+n).toLowerCase(),s={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(r){case\"pt\":a=1;break;case\"mm\":a=72/25.4;break;case\"cm\":a=72/2.54;break;case\"in\":a=72;break;case\"px\":a=.75;break;case\"pc\":case\"em\":a=12;break;case\"ex\":a=6;break;default:throw\"Invalid unit: \"+r}var c,u=0,h=0;if(s.hasOwnProperty(o))u=s[o][1]/a,h=s[o][0]/a;else try{u=n[1],h=n[0]}catch(t){throw new Error(\"Invalid format: \"+n)}if(\"p\"===e||\"portrait\"===e)e=\"p\",h>u&&(c=h,h=u,u=c);else{if(\"l\"!==e&&\"landscape\"!==e)throw\"Invalid orientation: \"+e;e=\"l\",u>h&&(c=h,h=u,u=c)}return{width:h,height:u,unit:r,k:a,orientation:e}},e.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(jt):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()}}(E.API),E.API.addJS=function(t){return Ht=t,this.internal.events.subscribe(\"postPutResources\",(function(){Ut=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(Ut+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),zt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+Ht+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==Ut&&void 0!==zt&&this.internal.out(\"/Names <</JavaScript \"+Ut+\" 0 R>>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var c=this.internal.pages.length,u=[];for(i=0;i<c;i++){var h=t.internal.newObject();u.push(h);var l=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+l.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();t.internal.write(\"<< /Names [ \");for(i=0;i<u.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+u[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){this.outline.root.children.length>0&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(E.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,c=this.decode.DCT_DECODE,u=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}u={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:c,index:r,alias:n}}return u}}(E.API);var Vt,Gt,Yt,Jt,Xt,Kt=function(){var t,e,i;function a(t){var e,r,n,i,a,o,s,c,u,h,l,f,d,p;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),u=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===u&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,f=0;0<=e?f<e:f>e;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error(\"More transparent colors than palette size\");if((h=n-this.transparency.indexed.length)>0)for(d=0;0<=h?d<h:d>h;0<=h?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(l=this.read(e)).indexOf(0),c=String.fromCharCode.apply(String,l.slice(0,s)),this.text[c]=String.fromCharCode.apply(String,l.slice(s+1));break;case\"IEND\":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}a.prototype.read=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)r.push(this.data[this.pos++]);return r},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(t){var e=this.pixelBitlength/8,n=new Uint8Array(this.width*this.height*e),i=0,a=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);function o(r,o,s,c){var u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F=Math.ceil((a.width-r)/s),C=Math.ceil((a.height-o)/c),j=a.width==F&&a.height==C;for(L=e*F,w=j?n:new Uint8Array(L*C),p=t.length,N=0,h=0;N<C&&i<p;){switch(t[i++]){case 0:for(f=S=0;S<L;f=S+=1)w[h++]=t[i++];break;case 1:for(f=_=0;_<L;f=_+=1)u=t[i++],d=f<e?0:w[h-e],w[h++]=(u+d)%256;break;case 2:for(f=P=0;P<L;f=P+=1)u=t[i++],l=(f-f%e)/e,A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(A+u)%256;break;case 3:for(f=k=0;k<L;f=k+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(u+Math.floor((d+A)/2))%256;break;case 4:for(f=I=0;I<L;f=I+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],0===N?A=x=0:(A=w[(N-1)*L+l*e+f%e],x=l&&w[(N-1)*L+(l-1)*e+f%e]),g=d+A-x,m=Math.abs(g-d),b=Math.abs(g-A),y=Math.abs(g-x),v=m<=b&&m<=y?d:b<=y?A:x,w[h++]=(u+v)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+t[i-1])}if(!j){var O=((o+N*c)*a.width+r)*e,B=N*L;for(f=0;f<F;f+=1){for(var M=0;M<e;M+=1)n[O++]=w[B++];O+=(s-1)*e}}N++}}return t=r(t),1==a.interlaceMethod?(o(0,0,8,8),o(4,0,8,8),o(0,4,4,8),o(2,0,4,4),o(0,2,2,4),o(1,0,2,2),o(0,1,1,2)):o(0,0,1,1),n},a.prototype.decodePalette=function(){var t,e,r,n,i,a,o,s,c;for(r=this.palette,a=this.transparency.indexed||[],i=new Uint8Array((a.length||0)+r.length),n=0,t=0,e=o=0,s=r.length;o<s;e=o+=3)i[n++]=r[e],i[n++]=r[e+1],i[n++]=r[e+2],i[n++]=null!=(c=a[t++])?c:255;return i},a.prototype.copyToImageData=function(t,e){var r,n,i,a,o,s,c,u,h,l,f;if(n=this.colors,h=null,r=this.hasAlphaChannel,this.palette.length&&(h=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),n=4,r=!0),u=(i=t.data||t).length,o=h||e,a=s=0,1===n)for(;a<u;)c=h?4*e[a/4]:s,l=o[c++],i[a++]=l,i[a++]=l,i[a++]=l,i[a++]=r?o[c++]:255,s=c;else for(;a<u;)c=h?4*e[a/4]:s,i[a++]=o[c++],i[a++]=o[c++],i[a++]=o[c++],i[a++]=r?o[c++]:255,s=c},a.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};var o=function(){if(\"[object Window]\"===Object.prototype.toString.call(n)){try{e=n.document.createElement(\"canvas\"),i=e.getContext(\"2d\")}catch(t){return!1}return!0}return!1};return o(),t=function(t){var r;if(!0===o())return i.width=t.width,i.height=t.height,i.clearRect(0,0,t.width,t.height),i.putImageData(t,0,0),(r=new Image).src=e.toDataURL(),r;throw new Error(\"This method requires a Browser with Canvas-capability.\")},a.prototype.decodeFrames=function(e){var r,n,i,a,o,s,c,u;if(this.animation){for(u=[],n=o=0,s=(c=this.animation.frames).length;o<s;n=++o)r=c[n],i=e.createImageData(r.width,r.height),a=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(i,a),r.imageData=i,u.push(r.image=t(i));return u}},a.prototype.renderFrame=function(t,e){var r,n,i;return r=(n=this.animation.frames)[e],i=n[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===r.blendOp&&t.clearRect(r.xOffset,r.yOffset,r.width,r.height),t.drawImage(r.image,r.xOffset,r.yOffset)},a.prototype.animate=function(t){var e,r,n,i,a,o,s=this;return r=0,o=this.animation,i=o.numFrames,n=o.frames,a=o.numPlays,(e=function(){var o,c;if(o=r++%i,c=n[o],s.renderFrame(t,o),i>1&&r/i<a)return s.animation._timeout=setTimeout(e,c.delay)})()},a.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},a.prototype.render=function(t){var e,r;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(r=e.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),e.putImageData(r,0,0))},a}();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression.  It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\nfunction Zt(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<(7&i)+1;t[e++];t[e++];var s=null,c=null;a&&(s=e,c=o,e+=3*o);var u=!0,h=[],l=0,f=null,d=0,p=null;for(this.width=r,this.height=n;u&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];l=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<(7&w)+1,A=s,x=c,S=!1;if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}h.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:l,disposal:d});break;case 59:u=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return h.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=h.length)throw new Error(\"Frame index out of range.\");return h[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--l}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--l}}}function $t(t,e,r,n){for(var i=t[e++],o=1<<i,s=o+1,c=s+1,u=i+1,h=(1<<u)-1,l=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;l<16&&0!==p;)f|=t[e++]<<l,l+=8,1===p?p=t[e++]:--p;if(l<u)break;var v=f&h;if(f>>=u,l-=u,v!==o){if(v===s)break;for(var b=v<c?v:m,y=0,w=b;w>o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void a.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&c<4096&&(g[c++]=m<<8|N,c>=h+1&&u<12&&(++u,h=h<<1|1)),m=v}else c=s+1,h=(1<<(u=i+1))-1,m=null}return d!==n&&a.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n  Copyright (c) 2008, Adobe Systems Incorporated\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without \n  modification, are permitted provided that the following conditions are\n  met:\n\n  * Redistributions of source code must retain the above copyright notice, \n    this list of conditions and the following disclaimer.\n  \n  * Redistributions in binary form must reproduce the above copyright\n    notice, this list of conditions and the following disclaimer in the \n    documentation and/or other materials provided with the distribution.\n  \n  * Neither the name of Adobe Systems Incorporated nor the names of its \n    contributors may be used to endorse or promote products derived from \n    this software without specific prior written permission.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n  IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function Qt(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),c=new Array(64),u=new Array(64),h=new Array(64),l=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],I=[0,1,2,3,4,5,6,7,8,9,10,11],F=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],c=function(t,e){var r,n,i,a,o,s,c,u,h,l,f=0;for(h=0;h<8;++h){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],c=t[f+6];var p=r+(u=t[f+7]),g=r-u,m=n+c,v=n-c,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _=.707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,I=1.306562965*S+P,F=.707106781*(x=y+v),C=g+F,j=g-F;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+I,t[f+7]=C-I,f+=8}for(f=0,h=0;h<8;++h){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],c=t[f+48];var O=r+(u=t[f+56]),B=r-u,M=n+c,E=n-c,q=i+s,D=i-s,R=a+o,T=a-o,U=O+R,z=O-R,H=M+q,W=M-q;t[f]=U+H,t[f+32]=U-H;var V=.707106781*(W+z);t[f+16]=z+V,t[f+48]=z-V;var G=.382683433*((U=T+D)-(W=E+B)),Y=.5411961*U+G,J=1.306562965*W+G,X=.707106781*(H=D+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(h=0;h<64;++h)l=t[h]*e[h],d[h]=l>0?l+.5|0:l-.5|0;return d}(t,e),u=0;u<64;++u)p[A[u]]=c[u];var h=p[0]-r;r=p[0],0==h?O(n[0]):(O(n[f[a=32767+h]]),O(l[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(l[a]),v++}return 63!=g&&O(o),r}function q(t){(t=Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var l=o((i[a]*t+50)/100);l=Math.min(Math.max(l,1),255),c[A[a]]=l}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)u[d]=1/(s[A[d]]*f[p]*f[g]*8),h[d]=1/(c[A[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&q(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(c[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(x[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(I[a]);B(17);for(var o=0;o<16;o++)B(F[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,l=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,A,j,D,R,T,U,z=t.data,H=t.width,W=t.height,V=4*H,G=0;G<W;){for(d=0;d<V;){for(j=V*G+d,R=-1,T=0,U=0;U<64;U++)D=j+(T=U>>3)*V+(R=4*(7&U)),G+T>=W&&(D-=V*(G+1+T-W)),d+R>=V&&(D-=d+R-V+4),p=z[D++],N=z[D++],A=z[D++],b[U]=(L[p]+L[N+256>>0]+L[A+512>>0]>>16)-128,y[U]=(L[p+768>>0]+L[N+1024>>0]+L[A+1280>>0]>>16)-128,w[U]=(L[p+1280>>0]+L[N+1536>>0]+L[A+1792>>0]>>16)-128;o=E(b,u,o,e,n),l=E(y,h,l,r,i),f=E(w,h,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(x,S),r=j(k,I),n=j(_,P),i=j(F,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,l[32767+n]=[],l[32767+n][1]=r,l[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,l[32767+i]=[],l[32767+i][1]=r,l[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256>>0]=38470*t,L[t+512>>0]=7471*t+32768,L[t+768>>0]=-11059*t,L[t+1024>>0]=-21709*t,L[t+1280>>0]=32768*t+8421375,L[t+1536>>0]=-27439*t,L[t+1792>>0]=-5329*t}(),q(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function te(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function ee(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}var c=function(){var t=this;function c(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function u(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function h(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var h,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,h=1;15>h;++h){if(g[h]>1<<h)return 0;m[h+1]=m[h]+g[h]}for(f=0;f<o;++f)h=i[f],0<i[f]&&(s[m[h]++]=f);if(1==m[15])return(i=new l).g=0,i.value=s[0],u(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,h=1,o=2;h<=n;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h])(i=new l).g=h,i.value=s[f++],u(t,d+w,o,A,i),w=c(w,h)}for(h=n+1,o=2;15>=h;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h]){if(i=new l,(w&y)!=b){for(d+=A,v=1<<(b=h)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=A=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=h-n,i.value=s[f++],u(t,d+(w>>n),o,A,i),w=c(w,h)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function l(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,l),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Dr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<Ur-8>>>0,++t.bb,t.u-=8;A(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Tr){var n=L(t)&Rr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&Ur-1)>>>0}function A(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>Ur}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=zr&&(e(t.u>=zr),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r<<n)-1,a}function I(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255}function F(t,e){return t[e+0]<<0|t[e+1]<<8}function C(t,e){return F(t,e)|t[e+2]<<16}function j(t,e){return F(t,e)|F(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function E(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1<<e)-1>>>e}function D(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function R(e,r){t[r]=function(r,n,i,a,o,s,c){var u;for(u=0;u<o;++u){var h=t[e](s[c+u-1],i,a+u);s[c+u]=D(r[n+u],h)}}}function T(){this.ud=this.hd=this.jd=0}function U(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function z(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return z(t+(t-e+.5>>1))}function W(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function V(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=D(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,c=16711935&(c=(c=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+c>>>0}}function Y(t,e){e.jd=t>>0&255,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],c=s>>>8,u=s,h=255&(h=(h=s>>>16)+((t.jd<<24>>24)*(c<<24>>24)>>>5));u=255&(u=(u=u+((t.hd<<24>>24)*(c<<24>>24)>>>5))+((t.ud<<24>>24)*(h<<24>>24)>>>5));i[a+o]=(4278255360&s)+(h<<16)+u}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,c,u,h){for(n=c;n<u;++n)for(c=0;c<h;++c)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,c,u,h){var l=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>l)for(e=(1<<e.b)-1,p=(1<<l)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[c++])),u[h++]=a(d[m&p]),m>>=l}else t[\"VP8LMapColor\"+n](s,c,d,p,u,h,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=o>>0&240|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>0&255,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)I(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Hn||t==Wn||t==Vn||t==Gn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ct(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ut(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function ht(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=vi[e.ba.S],c=t.y,u=t.O,h=t.f,l=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(c,u,null,null,h,l,f,d,h,l,f,d,a,o,null,null,w):(s(e.ec,e.fc,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=h,g=l,m=f,v=d,l+=t.Rc,d+=t.Rc,o+=2*i.A,s(c,(u+=2*t.fa)-t.fa,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w);return u+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,c,u,w),n(e.cc,e.dc,h,l,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(c,u,null,null,h,l,f,d,h,l,f,d,a,o+i.A,null,null,w),r}function lt(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,c=s==Tn||s==Vn;r=r.ba.f.RGBA;var u=[0],h=t.ka;u[0]=t.T,t.Kb&&(0==h?--u[0]:(--h,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(u[0]=t.o-t.j-h));var l=r.eb;h=r.fb+h*r.A;t=Sn(i,a[0],t.width,o,u,l,h+(c?0:3),r.A),e(n==u),t&&nt(s)&&An(l,h,c,o,u,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Rn||r==Tn||r==Un||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Mr(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&br(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ut,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=ht,br()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=lt,n&&mr())}if(n&&!Ci){for(t=0;256>t;++t)ji[t]=89858*(t-128)+_i>>Si,Mi[t]=-22014*(t-128)+_i,Bi[t]=-45773*(t-128),Oi[t]=113618*(t-128)+_i>>Si;for(t=Pi;t<ki;++t)e=76283*(t-16)+_i>>Si,Ei[t-Pi]=Vt(e,255),qi[t-Pi]=Vt(e+8>>4,15);Ci=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=$n[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(x(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),x(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,c=t.C;r=c+r;var u=i,h=a;for(a=t.Ta,i=t.Ua;0<o--;){var l=t.gc[o],f=c,d=r,p=u,g=h,m=(h=a,u=i,l.Ea);switch(e(f<d),e(d<=l.nc),l.hc){case 2:Gr(p,g,(d-f)*m,h,u);break;case 0:var v=f,b=d,y=h,w=u,N=(_=l).Ea;0==v&&(Wr(p,g,null,null,1,y,w),V(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,A=L-1,x=q(N,_.b),S=_.K,_=_.w+(v>>_.b)*x;v<b;){var P=S,k=_,I=1;for(Vr(p,g,y,w-N,1,y,w);I<N;){var F=(I&~A)+L;F>N&&(F=N),(0,Zr[P[k++]>>8&15])(p,g+ +I,y,w+I-N,F-I,y,w+I),I=F}g+=N,w+=N,++v&A||(_+=x)}d!=l.nc&&n(h,u-m,h,u+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=l.Ea)-(w=p&~(y=(g=1<<l.b)-1)),v=q(p,l.b),L=l.K,l=l.w+(f>>l.b)*v;f<d;){for(A=L,x=l,S=new T,_=b+w,P=b+p;b<_;)Y(A[x++],S),$r(S,m,b,g,h,u),b+=g,u+=g;b<P&&(Y(A[x++],S),$r(S,m,b,N,h,u),b+=N,u+=N),++f&y||(l+=v)}break;case 3:if(p==h&&g==u&&0<l.b){for(b=h,p=m=u+(d-f)*m-(w=(d-f)*q(l.Ea,l.b)),g=h,y=u,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Yr(l,f,d,h,m,h,u)}else Yr(l,f,d,p,g,h,u)}u=a,h=i}h!=i&&n(a,i,u,h,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,c=t.Ua,u=o.width;if(Nt(t,a,n,i),a=c=[c],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var h=o.j-n;n=o.j;a[0]+=h*u}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(c=c[0],11>(n=t.ca).S){var l=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,h=l.eb,l.A),d=o;for(l=l.fb+t.Ma*l.A;0<d--;){var p=s,g=c,m=a,v=h,b=l;switch(i){case En:Qr(p,g,m,v,b);break;case qn:tn(p,g,m,v,b);break;case Hn:tn(p,g,m,v,b),An(v,b,0,m,1,0);break;case Dn:nn(p,g,m,v,b);break;case Rn:et(p,g,m,v,b,1);break;case Wn:et(p,g,m,v,b,1),An(v,b,0,m,1,0);break;case Tn:et(p,g,m,v,b,0);break;case Vn:et(p,g,m,v,b,0),An(v,b,1,m,1,0);break;case Un:en(p,g,m,v,b);break;case Gn:en(p,g,m,v,b),xn(v,b,m,1,0);break;case zn:rn(p,g,m,v,b);break;default:e(0)}c+=u,l+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function At(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function xt(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,c=t.rd;for(e(null!=mi[t.Z]);r<n;++r)mi[t.Z](s,c,i,a,i,a,o),s=i,c=a,a+=o;t.qd=s,t.rd=c}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;i=t.C<i?i:t.C;if(e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,c=t.V,u=t.Ba+t.c*i,h=t.gc;e(1==t.ab),e(3==h[0].hc),Xr(h[0],i,r,c,u,o,s),xt(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var c=t.$/i,u=t.$%i,h=t.m,l=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+l.ua,m=t.Pb?c:16777216,v=0<l.ua?l.Wa:null,b=l.wc,y=f<p?wt(l,u,c):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(c>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=c+ti}if(u&b||(y=wt(l,u,c)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(h),y.jc){N=h,_=r;var P=f,k=y.pd[L(N)&Dr-1];e(y.jc),256>k.g?(x(N,N.u+k.g),_[P]=k.value,N=0):(x(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],h);if(h.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(h),w=bt(y.G[1],y.H[1],h),S(h),_=bt(y.G[2],y.H[2],h),P=bt(y.G[3],y.H[3],h),h.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++u>=i&&(u=0,++c,null!=s&&c<=o&&!(c%16)&&s(t,c),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,h),_=bt(y.G[4],y.H[4],h),S(h),_=vt(i,_=mt(_,h)),h.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,u+=N;u>=i;)u-=i,++c,null!=s&&c<=o&&!(c%16)&&s(t,c);if(e(f<=a),u&b&&(y=wt(l,u,c)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(h.h==A(h))}if(t.Pb&&h.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(h.h)break t;null!=s&&s(t,c>o?o:c),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new or;return null==e?null:(e.a=0,e.xb=gi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Gr=G,$r=J,Qr=K,tn=Z,en=$,rn=Q,nn=tt,t.VP8LMapColor32b=Jr,t.VP8LMapColor8b=Kr,e)}function It(t,r,n,s,c){var u=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;u&&y(g,1);){var w=f,N=p,A=s,_=1,P=A.m,k=A.gc[A.ab],I=y(P,2);if(A.Oc&1<<I)u=0;else{switch(A.Oc|=1<<I,k.hc=I,k.Ea=w[0],k.nc=N[0],k.K=[null],++A.ab,e(4>=A.ab),I){case 0:case 1:k.b=y(P,3)+2,_=It(q(k.Ea,k.b),q(k.nc,k.b),0,A,k.K),k.K=k.K[0];break;case 3:var F,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=q(k.Ea,j),k.b=j,F=_=It(C,1,0,A,k.K)){var B,M=C,E=k,R=1<<(8>>E.b),T=a(R);if(null==T)F=0;else{var U=E.K[0],z=E.w;for(T[0]=E.K[0][0],B=1;B<1*M;++B)T[B]=D(U[z+B],T[B-1]);for(;B<4*R;++B)T[B]=0;E.K[0]=null,E.K[0]=T,F=1}}_=F;break;case 2:break;default:e(0)}u=_}}if(f=f[0],p=p[0],u&&y(g,1)&&!(u=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=u)e:{var W,V,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=Qn[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=q(J,it),ot=q(X,it),st=at*ot;if(!It(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,W=0;W<st;++W){var ct=tt[W]>>8&65535;tt[W]=ct,ct>=et&&(et=ct+1)}}if($.h)break r;for(V=0;5>V;++V){var ut=Xn[V];!V&&0<K&&(ut+=1<<K),rt<ut&&(rt=ut)}var ht=o(et*nt,l),lt=et,ft=o(lt,d);if(null==ft)var dt=null;else e(65536>=lt),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==ht){Y.a=1;break r}var gt=ht;for(W=G=0;W<et;++W){var mt=dt[W],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(V=0;5>V;++V){ut=Xn[V],vt[V]=gt,bt[V]=G,!V&&0<K&&(ut+=1<<K);n:{var At,xt=ut,St=Y,kt=pt,Ft=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,xt),Bt){var Mt=y(Ot,1)+1,Et=y(Ot,1),qt=y(Ot,0==Et?1:8);kt[qt]=1,2==Mt&&(kt[qt=y(Ot,8)]=1);var Dt=1}else{var Rt=a(19),Tt=y(Ot,4)+4;if(19<Tt){St.a=3;var Ut=0;break n}for(At=0;At<Tt;++At)Rt[Zn[At]]=y(Ot,3);var zt=void 0,Ht=void 0,Wt=St,Vt=Rt,Gt=xt,Yt=kt,Jt=0,Xt=Wt.m,Kt=8,Zt=o(128,l);i:for(;h(Zt,0,7,Vt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((zt=2+y(Xt,$t))>Gt)break i}else zt=Gt;for(Ht=0;Ht<Gt&&zt--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];x(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Jn[re],ie=y(Xt,Yn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Wt.a=3),Dt=Jt}(Dt=Dt&&!Ot.h)&&(jt=h(Ft,Ct,8,kt,xt)),Dt&&0!=jt?Ut=jt:(St.a=3,Ut=0)}if(0==Ut)break r;if(Nt&&1==Kn[V]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=Ut,3>=V){var oe,se=pt[0];for(oe=1;oe<ut;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ce,ue=mt;for(ce=0;ce<Dr;++ce){var he=ce,le=ue.pd[he],fe=ue.G[0][ue.H[0]+he];256<=fe.value?(le.g=fe.g+256,le.value=fe.value):(le.g=0,le.value=0,he>>=yt(fe,8,le),he>>=yt(ue.G[1][ue.H[1]+he],16,le),he>>=yt(ue.G[2][ue.H[2]+he],0,le),yt(ue.G[3][ue.H[3]+he],24,le))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=ht,H=1;break e}H=0}if(!(u=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,u=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=q(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=pi;break t}if(null==(v=a(f*p))){s.a=1,u=0;break t}u=(u=_t(s,v,0,f,p,p,null))&&!g.h;break t}return u?(null!=c?c[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),u}function Ft(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,c=t.l.ma,u=t.l.width,h=u*s,l=c.ca,f=c.tb+u*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),_n(d,p,l,f,h),xt(c,n,n+s,l,f,u),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function Et(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function qt(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Dt(){this.ld=this.La=this.dd=this.tc=0}function Rt(){this.Na=this.la=0}function Tt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function Ut(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function zt(){this.uc=this.M=this.Nb=0,this.wa=Array(new Dt),this.Y=0,this.ya=Array(new Ut),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Wt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new qt,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new zt,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Tt),this.Pa=new Et,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Rt),this.sb=0,this.wa=Array(new Dt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new Ut),this.L=this.aa=0,this.gd=s([4,2],Dt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Vt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Wt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ni||(ni=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,c=t.Od;if(c.Rb=!(1&s),c.td=s>>1&7,c.yd=s>>4&1,c.ub=s>>5,3<c.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!c.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var u=t.Kc;if(c.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");u.c=16383&(n[a+4]<<8|n[a+3]),u.Td=n[a+4]>>6,u.i=16383&(n[a+6]<<8|n[a+5]),u.Ud=n[a+6]>>6,a+=7,o-=7,t.za=u.c+15>>4,t.Ub=u.i+15>>4,r.width=u.c,r.height=u.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(c.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,c.ub),a+=c.ub,o-=c.ub,c.Rb&&(u.Ld=P(s),u.Kd=P(s)),u=t.Qa;var h,l=t.Pa;if(e(null!=s),e(null!=u),u.Cb=P(s),u.Cb){if(u.Bb=P(s),P(s)){for(u.Fb=P(s),h=0;4>h;++h)u.Zb[h]=P(s)?m(s,7):0;for(h=0;4>h;++h)u.Lb[h]=P(s)?m(s,6):0}if(u.Bb)for(h=0;3>h;++h)l.jb[h]=P(s)?g(s,8):255}else u.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((u=t.ed).zd=P(s),u.Tb=g(s,6),u.wb=g(s,3),u.Pc=P(s),u.Pc&&P(s)){for(l=0;4>l;++l)P(s)&&(u.vd[l]=m(s,6));for(l=0;4>l;++l)P(s)&&(u.od[l]=m(s,6))}if(t.L=0==u.Tb?0:u.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=h=a,a=h+f,u=f,t.Xb=(1<<g(t.m,2))-1,f<3*(l=t.Xb))n=7;else{for(h+=3*l,u-=3*l,f=0;f<l;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>u&&(d=u),p(t.Jc[+f],n,h,d),h+=d,u-=d,o+=3}p(t.Jc[+l],n,h,u),n=h<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(h=t.m,7),o=P(h)?m(h,4):0,a=P(h)?m(h,4):0,u=P(h)?m(h,4):0,l=P(h)?m(h,4):0,h=P(h)?m(h,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ei[Vt(v+o,127)],b.Sc[1]=ri[Vt(v+0,127)],b.Eb[0]=2*ei[Vt(v+a,127)],b.Eb[1]=101581*ri[Vt(v+u,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ei[Vt(v+l,117)],b.Qc[1]=ri[Vt(v+h,127)],b.lc=v+h}if(!c.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),c=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(u=0;11>u;++u)l=k(s,ui[n][o][a][u])?g(s,8):si[n][o][a][u],c.Wc[n][o].Yb[a][u]=l;for(o=0;17>o;++o)c.Xc[n][o]=c.Wc[n][hi[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var c=e[i+1].Yb;if(k(t,s[r+2])){var u=t,h=0;if(k(u,(f=s)[(l=r)+3]))if(k(u,f[l+6])){for(s=0,l=2*(h=k(u,f[l+8]))+(f=k(u,f[l+9+h])),h=0,f=ii[l];f[s];++s)h+=h+k(u,f[s]);h+=3+(8<<l)}else k(u,f[l+7])?(h=7+2*k(u,165),h+=k(u,145)):h=5+k(u,159);else h=k(u,f[l+4])?3+k(u,f[l+5]):2;s=c[2]}else h=1,s=c[1];c=o+ai[i],0>(u=t).b&&_(u);var l,f=u.b,d=(l=u.Ca>>1)-(u.I>>f)>>31;--u.b,u.Ca+=d,u.Ca|=1,u.I-=(l+1&d)<<f,a[c]=((h^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ri[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var c=t.ed;for(s=0;4>s;++s){var u;if(t.Qa.Cb){var h=t.Qa.Lb[s];t.Qa.Fb||(h+=c.Tb)}else h=c.Tb;for(u=0;1>=u;++u){var l=t.gd[s][u],f=h;if(c.Pc&&(f+=c.vd[0],u&&(f+=c.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<c.wb&&((d=4<c.wb?d>>2:d>>1)>9-c.wb&&(d=9-c.wb)),1>d&&(d=1),l.dd=d,l.tc=2*f+d,l.ld=40<=f?2:15<=f?1:0}else l.tc=0;l.La=u}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=Ui);t:{s=t.Ic;c=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((l=c+832+(u=3*(16*s+Ri[t.L])/2*p)+(h=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=l)s=0;else{if(l>t.Vb){if(t.Vb=0,t.Ec=a(l),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break t}t.Vb=l}l=t.Ec,f=t.Fc,t.Ac=l,t.Bc=f,f+=c,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Rt),t.sb=1,t.wa=m?o(m,Dt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=l,t.pc=f,f+=832,t.ya=o(v,Ut),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ri[t.L])*t.R,p=p/2*t.B,t.sa=l,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=u,t.mb=h?l:null,t.nb=h?f:null,e(f+h<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,c),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!Cn){for(s=-255;255>=s;++s)Pn[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)kn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)In[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;Cn=1}an=ue,on=ae,cn=oe,un=se,hn=ce,sn=ie,ln=Je,fn=Xe,dn=$e,pn=Qe,gn=Ke,mn=Ze,vn=tr,bn=er,yn=ze,wn=He,Nn=We,Ln=Ve,fi[0]=xe,fi[1]=le,fi[2]=Le,fi[3]=Ae,fi[4]=Se,fi[5]=Pe,fi[6]=_e,fi[7]=ke,fi[8]=Fe,fi[9]=Ie,li[0]=ve,li[1]=de,li[2]=pe,li[3]=ge,li[4]=be,li[5]=ye,li[6]=we,di[0]=Be,di[1]=fe,di[2]=Ce,di[3]=je,di[4]=Ee,di[5]=Me,di[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],c=t.m,u=t;for(o=0;o<u.za;++o){var h=c,l=u,f=l.Ac,d=l.Bc+4*o,p=l.zc,g=l.ya[l.aa+o];if(l.Qa.Bb?g.$b=k(h,l.Pa.jb[0])?2+k(h,l.Pa.jb[2]):k(h,l.Pa.jb[1]):g.$b=0,l.kc&&(g.Ad=k(h,l.Bd)),g.Za=!k(h,145)+0,g.Za){var m=g.Ob,v=0;for(l=0;4>l;++l){var b,y=p[0+l];for(b=0;4>b;++b){y=ci[f[d+b]][y];for(var w=oi[k(h,y[0])];0<w;)w=oi[2*w+k(h,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+l]=y}}else y=k(h,156)?k(h,128)?1:3:k(h,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(h,142)?k(h,114)?k(h,183)?1:3:2:0}if(u.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(u=s,h=(c=t).rb[c.sb-1],f=c.rb[c.sb+c.ja],o=c.ya[c.aa+c.ja],d=c.kc?o.Ad:0)h.la=f.la=0,o.Za||(h.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;h=f,f=u,d=c.Pa.Xc,p=c.ya[c.aa+c.ja],g=c.pb[p.$b];if(l=p.ad,m=0,v=c.rb[c.sb-1],y=b=0,i(l,m,0,384),p.Za)var A=0,x=d[3];else{w=a(16);var S=h.Na+v.Na;if(S=ni(f,d[1],S,g.Eb,0,w,0),h.Na=v.Na=(0<S)+0,1<S)an(w,0,l,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)l[m+w]=_}A=1,x=d[0]}var P=15&h.la,I=15&v.la;for(w=0;4>w;++w){var F=1&I;for(_=L=0;4>_;++_)P=P>>1|(F=(S=ni(f,x,S=F+(1&P),g.Sc,A,l,m))>A)<<7,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=4,I=I>>1|F<<7,b=(b<<8|L)>>>0}for(x=P,A=I>>4,N=0;4>N;N+=2){for(L=0,P=h.la>>4+N,I=v.la>>4+N,w=0;2>w;++w){for(F=1&I,_=0;2>_;++_)S=F+(1&P),P=P>>1|(F=0<(S=ni(f,d[2],S,g.Qc,0,l,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=2,I=I>>1|F<<5}y|=L<<4*N,x|=P<<4<<N,A|=(240&I)<<N}h.la=x,v.la=A,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<c.L&&(c.wa[c.Y+c.ja]=c.gd[o.$b][o.Za],c.wa[c.Y+c.ja].La|=!d),u.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),c=r,u=1,o=(s=t).D,h=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)t:{if(o.M=s.M,o.uc=h,Or(s,o),u=1,o=(L=s.D).Nb,h=(y=Ri[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-h+w,g=s.qa,l=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,I=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&Or(s,L),L.uc)for(F=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){A=L,x=F;var C=(j=(U=S).D).Nb;N=U.R;var j=j.wa[j.Y+A],O=U.sa,B=U.ta+16*C*N+16*A,M=j.dd,E=j.tc;if(0!=E)if(e(3<=E),1==U.L)0<A&&wn(O,B,N,E+4),j.La&&Ln(O,B,N,E),0<x&&yn(O,B,N,E+4),j.La&&Nn(O,B,N,E);else{var q=U.B,D=U.qa,R=U.ra+8*C*q+8*A,T=U.Ha,U=U.Ia+8*C*q+8*A;C=j.ld;0<A&&(fn(O,B,N,E+4,M,C),pn(D,R,T,U,q,E+4,M,C)),j.La&&(mn(O,B,N,E,M,C),bn(D,R,T,U,q,E,M,C)),0<x&&(ln(O,B,N,E+4,M,C),dn(D,R,T,U,q,E+4,M,C)),j.La&&(gn(O,B,N,E,M,C),vn(D,R,T,U,q,E,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=c.put){if(L=16*P,P=16*(P+1),I?(c.y=s.sa,c.O=s.ta+w,c.f=s.qa,c.N=s.ra+_,c.ea=s.Ha,c.W=s.Ia+_):(L-=y,c.y=d,c.O=p,c.f=g,c.N=l,c.ea=m,c.W=v),b||(P-=y),P>c.o&&(P=c.o),c.F=null,c.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(c.J=lr(s,c,L,P-L),c.F=s.mb,null==c.F&&0==c.F.length)){u=Jt(s,3,\"Could not decode alpha data.\");break t}L<c.j&&(y=c.j-L,L=c.j,e(!(1&y)),c.O+=s.R*y,c.N+=s.B*(y>>1),c.W+=s.B*(y>>1),null!=c.F&&(c.J+=c.width*y)),L<P&&(c.O+=c.v,c.N+=c.v>>1,c.W+=c.v>>1,null!=c.F&&(c.J+=c.v),c.ka=L-c.j,c.U=c.va-c.v,c.T=P-L,u=c.put(c))}o+1!=s.Ic||b||(n(s.sa,s.ta-h,d,p+16*s.R,h),n(s.qa,s.ra-f,g,l+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!u)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0}function te(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function ee(t,e,r,n,i,a){te(t,e,0,r,n+i),te(t,e,1,r,n+a),te(t,e,2,r,n-a),te(t,e,3,r,n-i)}function re(t){return(20091*t>>16)+t}function ne(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var c=t[e+0]+t[e+8],u=t[e+0]-t[e+8],h=(35468*t[e+4]>>16)-re(t[e+12]),l=re(t[e+4])+(35468*t[e+12]>>16);s[o+0]=c+l,s[o+1]=u+h,s[o+2]=u-h,s[o+3]=c-l,o+=4,e++}for(i=o=0;4>i;++i)c=(t=s[o+0]+4)+s[o+8],u=t-s[o+8],h=(35468*s[o+4]>>16)-re(s[o+12]),te(r,n,0,0,c+(l=re(s[o+4])+(35468*s[o+12]>>16))),te(r,n,1,0,u+h),te(r,n,2,0,u-h),te(r,n,3,0,c-l),o++,n+=32}function ie(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=re(t[e+4]),s=35468*t[e+1]>>16;ee(r,n,0,i+o,t=re(t[e+1]),s),ee(r,n,1,i+a,t,s),ee(r,n,2,i-a,t,s),ee(r,n,3,i-o,t,s)}function ae(t,e,r,n,i){ne(t,e,r,n),i&&ne(t,e+16,r,n+4)}function oe(t,e,r,n){on(t,e+0,r,n,1),on(t,e+32,r,n+128,1)}function se(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)te(r,n,e,i,t)}function ce(t,e,r,n){t[e+0]&&un(t,e+0,r,n),t[e+16]&&un(t,e+16,r,n+4),t[e+32]&&un(t,e+32,r,n+128),t[e+48]&&un(t,e+48,r,n+128+4)}function ue(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],c=t[e+4+i]+t[e+8+i],u=t[e+4+i]-t[e+8+i],h=t[e+0+i]-t[e+12+i];o[0+i]=s+c,o[8+i]=s-c,o[4+i]=h+u,o[12+i]=h-u}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],c=o[1+4*i]+o[2+4*i],u=o[1+4*i]-o[2+4*i],h=t-o[3+4*i],r[n+0]=s+c>>3,r[n+16]=h+u>>3,r[n+32]=s-c>>3,r[n+48]=h-u>>3,n+=64}function he(t,e,r){var n,i=e-32,a=Bn,o=255-t[i-1];for(n=0;n<r;++n){var s,c=a,u=o+t[e-1];for(s=0;s<r;++s)t[e+s]=c[u+t[i+s]];e+=32}}function le(t,e){he(t,e,4)}function fe(t,e){he(t,e,8)}function de(t,e){he(t,e,16)}function pe(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function ge(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function me(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function ve(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];me(n>>5,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];me(n>>4,t,e)}function ye(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];me(n>>4,t,e)}function we(t,e){me(128,t,e)}function Ne(t,e,r){return t+2*e+r+2>>2}function Le(t,e){var r,i=e-32;i=new Uint8Array([Ne(t[i-1],t[i+0],t[i+1]),Ne(t[i+0],t[i+1],t[i+2]),Ne(t[i+1],t[i+2],t[i+3]),Ne(t[i+2],t[i+3],t[i+4])]);for(r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Ae(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];I(t,e+0,16843009*Ne(t[e-1-32],r,n)),I(t,e+32,16843009*Ne(r,n,i)),I(t,e+64,16843009*Ne(n,i,a)),I(t,e+96,16843009*Ne(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Se(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+96]=Ne(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=Ne(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=Ne(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=Ne(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=Ne(s,o,a),t[e+3+32]=t[e+2+0]=Ne(c,s,o),t[e+3+0]=Ne(u,c,s)}function _e(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],c=t[e+7-32];t[e+0+0]=Ne(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=Ne(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=Ne(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=Ne(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=Ne(a,o,s),t[e+3+64]=t[e+2+96]=Ne(o,s,c),t[e+3+96]=Ne(s,c,c)}function Pe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+c+1>>1,t[e+3+0]=c+u+1>>1,t[e+0+96]=Ne(i,n,r),t[e+0+64]=Ne(n,r,a),t[e+0+32]=t[e+1+96]=Ne(r,a,o),t[e+1+32]=t[e+2+96]=Ne(a,o,s),t[e+2+32]=t[e+3+96]=Ne(o,s,c),t[e+3+32]=Ne(s,c,u)}function ke(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],c=t[e+6-32],u=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=Ne(r,n,i),t[e+1+32]=t[e+0+96]=Ne(n,i,a),t[e+2+32]=t[e+1+96]=Ne(i,a,o),t[e+3+32]=t[e+2+96]=Ne(a,o,s),t[e+3+64]=Ne(o,s,c),t[e+3+96]=Ne(s,c,u)}function Ie(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=Ne(r,n,i),t[e+3+0]=t[e+1+32]=Ne(n,i,a),t[e+3+32]=t[e+1+64]=Ne(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],c=t[e+1-32],u=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=Ne(s,c,u),t[e+2+0]=Ne(o,s,c),t[e+1+0]=t[e+3+32]=Ne(r,o,s),t[e+1+32]=t[e+3+64]=Ne(n,r,o),t[e+1+64]=t[e+3+96]=Ne(i,n,r),t[e+1+96]=Ne(a,i,n)}function Ce(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function je(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function Oe(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Be(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];Oe(n>>4,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];Oe(n>>3,t,e)}function Ee(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];Oe(n>>3,t,e)}function qe(t,e){Oe(128,t,e)}function De(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+jn[1020+t[e-2*r]-t[e+r]],o=On[112+(a+4>>3)];t[e-r]=Bn[255+n+On[112+(a+3>>3)]],t[e+0]=Bn[255+i-o]}function Re(t,e,r,n){var i=t[e+0],a=t[e+r];return Mn[255+t[e-2*r]-t[e-r]]>n||Mn[255+a-i]>n}function Te(t,e,r,n){return 4*Mn[255+t[e-r]-t[e+0]]+Mn[255+t[e-2*r]-t[e+r]]<=n}function Ue(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],c=t[e+0],u=t[e+r],h=t[e+2*r],l=t[e+3*r];return 4*Mn[255+s-c]+Mn[255+o-u]>n?0:Mn[255+t[e-4*r]-a]<=i&&Mn[255+a-o]<=i&&Mn[255+o-s]<=i&&Mn[255+l-h]<=i&&Mn[255+h-u]<=i&&Mn[255+u-c]<=i}function ze(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n,r,i)&&De(t,e+n,r)}function He(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n*r,1,i)&&De(t,e+n*r,1)}function We(t,e,r,n){var i;for(i=3;0<i;--i)ze(t,e+=4*r,r,n)}function Ve(t,e,r,n){var i;for(i=3;0<i;--i)He(t,e+=4,r,n)}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-2*h],f=c[u-h],d=c[u+0],p=c[u+h],g=c[u+2*h],m=27*(b=jn[1020+3*(d-f)+jn[1020+l-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;c[u-3*h]=Bn[255+c[u-3*h]+b],c[u-2*h]=Bn[255+l+v],c[u-h]=Bn[255+f+m],c[u+0]=Bn[255+d-m],c[u+h]=Bn[255+p-v],c[u+2*h]=Bn[255+g-b]}e+=n}}function Ye(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-h],f=c[u+0],d=c[u+h],p=On[112+((g=3*(f-l))+4>>3)],g=On[112+(g+3>>3)],m=p+1>>1;c[u-2*h]=Bn[255+c[u-2*h]+m],c[u-h]=Bn[255+l+g],c[u+0]=Bn[255+f-p],c[u+h]=Bn[255+d-m]}e+=n}}function Je(t,e,r,n,i,a){Ge(t,e,r,1,16,n,i,a)}function Xe(t,e,r,n,i,a){Ge(t,e,1,r,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4*r,r,1,16,n,i,a)}function Ze(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4,1,r,16,n,i,a)}function $e(t,e,r,n,i,a,o,s){Ge(t,e,i,1,8,a,o,s),Ge(r,n,i,1,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e,1,i,8,a,o,s),Ge(r,n,1,i,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ye(t,e+4*i,i,1,8,a,o,s),Ye(r,n+4*i,i,1,8,a,o,s)}function er(t,e,r,n,i,a,o,s){Ye(t,e+4,1,i,8,a,o,s),Ye(r,n+4,1,i,8,a,o,s)}function rr(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ct,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function nr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function ir(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ar(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new l}function or(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ar,this.ab=0,this.gc=o(4,ir),this.Oc=0}function sr(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function cr(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function ur(t,e,r,n,i,a,o){var s;if(null==t)cr(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function hr(t,e,r,n,i,a,o){if(null==t)cr(null,null,r,n,i,a,o);else{var s,c=t[e+0],u=c,h=c;for(s=0;s<o;++s)u=h+(c=t[e+s])-u,h=r[n+s]+(-256&u?0>u?0:255:u)&255,u=c,i[a+s]=h}}function lr(t,r,i,o){var s=r.width,c=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>c)return null;if(!t.Cc){if(null==t.ga){var u;if(t.ga=new sr,(u=null==t.ga)||(u=r.width*r.o,e(0==t.Gb.length),t.Gb=a(u),t.Uc=0,null==t.Gb?u=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,u=1),u=!u),!u){u=t.ga;var h=t.Fa,l=t.P,f=t.qc,d=t.mb,p=t.nb,g=l+1,m=f-1,b=u.l;if(e(null!=h&&null!=d&&null!=r),mi[0]=null,mi[1]=cr,mi[2]=ur,mi[3]=hr,u.ca=d,u.tb=p,u.c=r.width,u.i=r.height,e(0<u.c&&0<u.i),1>=f)r=0;else if(u.$a=h[l+0]>>0&3,u.Z=h[l+0]>>2&3,u.Lc=h[l+0]>>4&3,l=h[l+0]>>6&3,0>u.$a||1<u.$a||4<=u.Z||1<u.Lc||l)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=u,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,u.$a)t:{e(1==u.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=u),u.mc=r,r.c=u.c,r.i=u.i,r.l=u.l,r.l.ma=u,r.l.width=u.c,r.l.height=u.i,r.a=0,v(r.m,h,g,m),!It(u.c,u.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&At(r.s)?(u.ic=1,h=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(h),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(u.ic=0,r=Ft(r,u.c)),!r)break e;r=1;break t}u.mc=null,r=0}else r=m>=u.c*u.i;u=!r}if(u)return null;1!=t.ga.Lc?t.Ga=0:o=c-i}e(null!=t.ga),e(i+o<=c);t:{if(r=(h=t.ga).c,c=h.l.o,0==h.$a){if(g=t.rc,m=t.Vc,b=t.Fa,l=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(l<=t.P+t.qc),0!=h.Z)for(e(null!=mi[h.Z]),u=0;u<o;++u)mi[h.Z](g,m,b,l,f,d,r),g=f,m=d,d+=r,l+=r;else for(u=0;u<o;++u)n(f,d,b,l,r),g=f,m=d,d+=r,l+=r;t.rc=g,t.Vc=m}else{if(e(null!=h.mc),r=i+o,e(null!=(u=h.mc)),e(r<=u.i),u.C>=r)r=1;else if(h.ic||mr(),h.ic){h=u.V,g=u.Ba,m=u.c;var y=u.i,w=(b=1,l=u.$/m,f=u.$%m,d=u.m,p=u.s,u.$),N=m*y,L=m*r,x=p.wc,_=w<L?wt(p,f,l):null;e(w<=N),e(r<=y),e(At(p));e:for(;;){for(;!d.h&&w<L;){if(f&x||(_=wt(p,f,l)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))h[g+w]=y,++w,++f>=m&&(f=0,++l<=r&&!(l%16)&&St(u,l));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)h[g+w+P]=h[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++l<=r&&!(l%16)&&St(u,l);w<L&&f&x&&(_=wt(p,f,l))}e(d.h==A(d))}St(u,l>r?r:l);break e}!b||d.h&&w<N?(b=0,u.a=d.h?5:3):u.$=w,r=b}else r=_t(u,u.V,u.Ba,u.c,u.i,r,Ct);if(!r){o=0;break t}}i+o>=c&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function fr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,c=e+(r?1:0),u=t,h=e+(r?0:3);for(o=0;o<n;++o){var l=u[h+4*o];255!=l&&(l*=32897,s[c+4*o+0]=s[c+4*o+0]*l>>23,s[c+4*o+1]=s[c+4*o+1]*l>>23,s[c+4*o+2]=s[c+4*o+2]*l>>23)}e+=a}}function dr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(u=t[e+2*a+1]),c=4369*s,u=(240&u|u>>4)*c>>16;t[e+2*a+0]=(240&o|o>>4)*c>>16&240|(15&o|o<<4)*c>>16>>4&15,t[e+2*a+1]=240&u|s}e+=i}}function pr(t,e,r,n,i,a,o,s){var c,u,h=255;for(u=0;u<i;++u){for(c=0;c<n;++c){var l=t[e+c];a[o+4*c]=l,h&=l}e+=r,o+=s}return 255!=h}function gr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function mr(){An=fr,xn=dr,Sn=pr,_n=gr}function vr(r,n,i){t[r]=function(t,r,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[c+0]|u[h+0]<<16,A=l[f+0]|d[p+0]<<16;e(null!=t);var x=3*L+A+131074>>2;for(n(t[r+0],255&x,x>>16,g,m),null!=a&&(x=3*A+L+131074>>2,n(a[o+0],255&x,x>>16,v,b)),w=1;w<=N;++w){var S=s[c+w]|u[h+w]<<16,_=l[f+w]|d[p+w]<<16,P=L+S+A+_+524296,k=P+2*(S+A)>>3;x=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&x,x>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(x=P+A>>1,L=k+_>>1,n(a[o+2*w-1],255&x,x>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,A=_}1&y||(x=3*L+A+131074>>2,n(t[r+y-1],255&x,x>>16,g,m+(y-1)*i),null!=a&&(x=3*A+L+131074>>2,n(a[o+y-1],255&x,x>>16,v,b+(y-1)*i)))}}function br(){vi[En]=bi,vi[qn]=wi,vi[Dn]=yi,vi[Rn]=Ni,vi[Tn]=Li,vi[Un]=Ai,vi[zn]=xi,vi[Hn]=wi,vi[Wn]=Ni,vi[Vn]=Li,vi[Gn]=Ai}function yr(t){return t&~Fi?0>t?0:255:t>>Ii}function wr(t,e){return yr((19077*t>>8)+(26149*e>>8)-14234)}function Nr(t,e,r){return yr((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Lr(t,e){return yr((19077*t>>8)+(33050*e>>8)-17685)}function Ar(t,e,r,n,i){n[i+0]=wr(t,r),n[i+1]=Nr(t,e,r),n[i+2]=Lr(t,e)}function xr(t,e,r,n,i){n[i+0]=Lr(t,e),n[i+1]=Nr(t,e,r),n[i+2]=wr(t,r)}function Sr(t,e,r,n,i){var a=Nr(t,e,r);e=a<<3&224|Lr(t,e)>>3,n[i+0]=248&wr(t,r)|a>>5,n[i+1]=e}function _r(t,e,r,n,i){var a=240&Lr(t,e)|15;n[i+0]=240&wr(t,r)|Nr(t,e,r)>>4,n[i+1]=a}function Pr(t,e,r,n,i){n[i+0]=255,Ar(t,e,r,n,i+1)}function kr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function Ir(t,e,r,n,i){Ar(t,e,r,n,i),n[i+3]=255}function Vt(t,e){return 0>t?0:t>e?e:t}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,c,u,h){for(var l=u+(-2&h)*n;u!=l;)r(t[e+0],i[a+0],o[s+0],c,u),r(t[e+1],i[a+0],o[s+0],c,u+n),e+=2,++a,++s,u+=2*n;1&h&&r(t[e+0],i[a+0],o[s+0],c,u)}}function Cr(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function jr(t,e,r,n,i){switch(t>>>30){case 3:on(e,r,n,i,0);break;case 2:sn(e,r,n,i);break;case 1:un(e,r,n,i)}}function Or(t,e){var r,a,o=e.M,s=e.Nb,c=t.oc,u=t.pc+40,h=t.oc,l=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)c[u+32*r-1]=129;for(r=0;8>r;++r)h[l+32*r-1]=129,f[d+32*r-1]=129;for(0<o?c[u-1-32]=h[l-1-32]=f[d-1-32]=129:(i(c,u-32-1,127,21),i(h,l-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(c,u+32*r-4,c,u+32*r+12,4);for(r=-1;8>r;++r)n(h,l+32*r-4,h,l+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(c,u-32,g[m].y,0,16),n(h,l-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=c,w=u-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=c,w=u+Di[r],fi[p.Ob[r]](y,w),jr(b,v,16*+r,y,w)}else if(y=Cr(a,o,p.Ob[0]),li[y](c,u),0!=b)for(r=0;16>r;++r,b<<=2)jr(b,v,16*+r,c,u+Di[r]);for(r=p.Gc,y=Cr(a,o,p.Dd),di[y](h,l),di[y](f,d),b=v,y=h,w=l,255&(p=r>>0)&&(170&p?cn(b,256,y,w):hn(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?cn(v,320,p,b):hn(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,c,u+480,16),n(g[m].f,0,h,l+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,c,u+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,h,l+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Br(t,n,i,a,o,s,c,u,h){var l=[0],f=[0],d=0,p=null!=h?h.kd:0,g=null!=h?h:new nr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var A=l,x=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=A&&(A[0]=P),null!=x&&(x[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=c&&(c[0]=b),null!=u&&(u[0]=0),c=l[0],m=f[0],d&&b&&null==h){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;A=g.na,x=g.P,S=g.Sa;P=22,e(null!=_),e(null!=w),L=y[0];var I=w[0];for(e(null!=A),e(null!=S),A[0]=null,x[0]=null,S[0]=0;;){if(y[0]=L,w[0]=I,8>I){y=7;break t}var F=j(_,L+4);if(4294967286<F){y=3;break t}var O=8+F+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(I[0]<O){y=7;break t}r(_,L,\"ALPH\")||(A[0]=_,x[0]=L+8,S[0]=F),L+=O,I-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,A=g.gb[0],x=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=x),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=A&&k>A-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}x[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),x[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==u||b||(u[0]=g.xa?2:1),c=[c],m=[m],g.xa){if(5>i){y=7;break}u=c,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],A=[0],v(x=new N,t,n,i),gt(x,w,k,A)?(null!=u&&(u[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=A[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}u=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(c&&(c[0]=b),u&&(u[0]=t),t=1))}if(!t)return 3;if(c=c[0],m=m[0],d&&(l[0]!=c||f[0]!=m))return 3;null!=h&&(h[0]=g,h.offset=n-h.w,e(4294967286>n-h.w),e(h.offset==h.ha-i));break}return 0==y||7==y&&d&&null==h?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=c),null!=o&&(o[0]=m),0):y}function Mr(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,c=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,c=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=c||a+s>n||o+c>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+c,e.U=s,e.T=c,e.da=null!=t&&0<t.da,e.da){if(!E(s,c,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Er(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,c=-2&r.j;if(0>s||0>c||0>=i||0>=o||s+i>t||c+o>e)return 2;t=i,e=o}if(r.da){if(!E(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var u=n.width,h=n.height;if(t=n.S,0>=u||0>=h||!(t>=En&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var l=(c=u*zi[t])*h;if(11>t||(o=(h+1)/2*(e=(u+1)/2),12==t&&(s=(i=u)*h)),null==(h=a(l+2*o+s))){t=1;break t}n.sd=h,11>t?((u=n.f.RGBA).eb=h,u.fb=0,u.A=c,u.size=l):((u=n.f.kb).y=h,u.O=0,u.fa=c,u.Fd=l,u.f=h,u.N=0+l,u.Ab=e,u.Cd=o,u.ea=h,u.W=0+l+o,u.Db=e,u.Ed=o,12==t&&(u.F=h,u.J=0+l+2*o),u.Tc=s,u.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=En&&13>i)if(11>i)t=n.f.RGBA,e&=(c=Math.abs(t.A))*(s-1)+o<=t.size,e&=c>=o*zi[i],e&=null!=t.eb;else{t=n.f.kb,c=(o+1)/2,l=(s+1)/2,u=Math.abs(t.fa);h=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=u*(s-1)+o<=t.Fd,e&=h*(l-1)+c<=t.Cd,e=(e&=f*(l-1)+c<=t.Ed)&u>=o&h>=c&f>=c,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Er(n)),t}var Dr=64,Rr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Tr=24,Ur=32,zr=8,Hr=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];R(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return U(U(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return U(t,e[r-1])},t.Predictor7=function(t,e,r){return U(t,e[r+0])},t.Predictor8=function(t,e,r){return U(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return U(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return U(U(t,e[r-1]),U(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=W(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+W(n>>16&255,t>>16&255,e>>16&255)+W(n>>8&255,t>>8&255,e>>8&255)+W(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(z((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|z((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|z((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|z((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=U(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(t>>0&255,n>>0&255))>>>0};var Wr=t.PredictorAdd0;t.PredictorAdd1=V,R(\"Predictor2\",\"PredictorAdd2\"),R(\"Predictor3\",\"PredictorAdd3\"),R(\"Predictor4\",\"PredictorAdd4\"),R(\"Predictor5\",\"PredictorAdd5\"),R(\"Predictor6\",\"PredictorAdd6\"),R(\"Predictor7\",\"PredictorAdd7\"),R(\"Predictor8\",\"PredictorAdd8\"),R(\"Predictor9\",\"PredictorAdd9\"),R(\"Predictor10\",\"PredictorAdd10\"),R(\"Predictor11\",\"PredictorAdd11\"),R(\"Predictor12\",\"PredictorAdd12\"),R(\"Predictor13\",\"PredictorAdd13\");var Vr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",(function(t){return t>>8&255}),(function(t){return t})),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",(function(t){return t}),(function(t){return t>>8&255}));var Gr,Yr=t.ColorIndexInverseTransform,Jr=t.MapARGB,Xr=t.VP8LColorIndexInverseTransformAlpha,Kr=t.MapAlpha,Zr=t.VP8LPredictorsAdd=[];Zr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var $r,Qr,tn,en,rn,nn,an,on,sn,cn,un,hn,ln,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,An,xn,Sn,_n,Pn=a(511),kn=a(2041),In=a(225),Fn=a(767),Cn=0,jn=kn,On=In,Bn=Fn,Mn=Pn,En=0,qn=1,Dn=2,Rn=3,Tn=4,Un=5,zn=6,Hn=7,Wn=8,Vn=9,Gn=10,Yn=[2,3,7],Jn=[3,3,11],Xn=[280,256,256,256,40],Kn=[0,1,1,1,0],Zn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],$n=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Qn=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ti=8,ei=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ri=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ni=null,ii=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ai=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],oi=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],si=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],ci=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ui=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],hi=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],li=[],fi=[],di=[],pi=1,gi=2,mi=[],vi=[];vr(\"UpsampleRgbLinePair\",Ar,3),vr(\"UpsampleBgrLinePair\",xr,3),vr(\"UpsampleRgbaLinePair\",Ir,4),vr(\"UpsampleBgraLinePair\",kr,4),vr(\"UpsampleArgbLinePair\",Pr,4),vr(\"UpsampleRgba4444LinePair\",_r,2),vr(\"UpsampleRgb565LinePair\",Sr,2);var bi=t.UpsampleRgbLinePair,yi=t.UpsampleBgrLinePair,wi=t.UpsampleRgbaLinePair,Ni=t.UpsampleBgraLinePair,Li=t.UpsampleArgbLinePair,Ai=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Si=16,_i=1<<Si-1,Pi=-227,ki=482,Ii=6,Fi=(256<<Ii)-1,Ci=0,ji=a(256),Oi=a(256),Bi=a(256),Mi=a(256),Ei=a(ki-Pi),qi=a(ki-Pi);Fr(\"YuvToRgbRow\",Ar,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",Ir,4),Fr(\"YuvToBgraRow\",kr,4),Fr(\"YuvToArgbRow\",Pr,4),Fr(\"YuvToRgba4444Row\",_r,2),Fr(\"YuvToRgb565Row\",Sr,2);var Di=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ri=[0,2,8],Ti=[8,7,6,4,4,2,2,2,1,1,1,1],Ui=1;this.WebPDecodeRGBA=function(t,r,n,i,a){var o=qn,s=new rr,c=new ot;s.ba=c,c.S=o,c.width=[c.width],c.height=[c.height];var u=c.width,h=c.height,l=new st;if(null==l||null==t)var f=2;else e(null!=l),f=Br(t,r,n,l.width,l.height,l.Pd,l.Qd,l.format,null);if(0!=f?u=0:(null!=u&&(u[0]=l.width[0]),null!=h&&(h[0]=l.height[0]),u=1),u){c.width=c.width[0],c.height=c.height[0],null!=i&&(i[0]=c.width),null!=a&&(a[0]=c.height);t:{if(i=new Gt,(a=new nr).data=t,a.w=r,a.ha=n,a.kd=1,r=[0],e(null!=a),(0==(t=Br(a.data,a.w,a.ha,null,null,null,r,null,a))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=s),i.data=a.data,i.w=a.w+a.offset,i.ha=a.ha-a.offset,i.put=dt,i.ac=ft,i.bc=pt,i.ma=s,a.xa){if(null==(t=kt())){s=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=gi,r.width=n[0],r.height=i[0],!It(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,i)){if(i=0==(r=qr(i.width,i.height,s.Oa,s.ba))){e:{i=t;r:for(;;){if(null==i){i=0;break e}if(e(null!=i.s.yc),e(null!=i.s.Ya),e(0<i.s.Wb),e(null!=(n=i.l)),e(null!=(a=n.ma)),0!=i.xb){if(i.ca=a.ba,i.tb=a.tb,e(null!=i.ca),!Mr(a.Oa,n,Rn)){i.a=2;break r}if(!Ft(i,n.width))break r;if(n.da)break r;if((n.da||nt(i.ca.S))&&mr(),11>i.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=i.ca.f.kb.F&&mr()),i.Pb&&0<i.s.ua&&null==i.s.vb.X&&!O(i.s.vb,i.s.Wa.Xa)){i.a=1;break r}i.xb=0}if(!_t(i,i.V,i.Ba,i.c,i.i,n.o,Lt))break r;a.Dc=i.Ma,i=1;break e}e(0!=i.a),i=0}i=!i}i&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){s=1;break t}if(t.Fa=a.na,t.P=a.P,t.qc=a.Sa,Kt(t,i)){if(0==(r=qr(i.width,i.height,s.Oa,s.ba))){if(t.Aa=0,n=s.Oa,e(null!=(a=t)),null!=n){if(0<(u=0>(u=n.Md)?0:100<u?255:255*u/100)){for(h=l=0;4>h;++h)12>(f=a.pb[h]).lc&&(f.ia=u*Ti[0>f.lc?0:f.lc]>>3),l|=f.ia;l&&(alert(\"todo:VP8InitRandom\"),a.ia=1)}a.Ga=n.Id,100<a.Ga?a.Ga=100:0>a.Ga&&(a.Ga=0)}Qt(t,i)||(r=t.a)}}else r=t.a}0==r&&null!=s.Oa&&s.Oa.fd&&(r=Er(s.ba))}s=r}o=0!=s?null:11>o?c.f.RGBA.eb:c.f.kb.y}else o=null;return o};var zi=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function u(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function h(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16)>>>0}function l(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new c;var f=[0],d=[0],p=[],g=new c,m=t,v=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n   * Copyright (c) 2017 Dominik Homberger\n  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n  https://webpjs.appspot.com\n  WebPRiffParser dominikhlbg@gmail.com\n  */\nfunction(t,e,r,n){for(var i=0;i<n;i++)if(t[e+i]!=r.charCodeAt(i))return!0;return!1}(t,e,\"RIFF\",4)){var s,c;l(t,e+=4);for(e+=8;e<t.length;){var f=u(t,e),d=l(t,e+=4);e+=4;var p=d+(1&d);switch(f){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={});(v=r.frames[n]).src_off=i?o:e-8,v.src_size=a+d+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(v=r.header={}).feature_flags=t[e];var g=e+4;v.canvas_width=1+h(t,g);g+=3;v.canvas_height=1+h(t,g);g+=3;break;case\"ALPH\":i=!0,a=p+8,o=e-8;break;case\"ANIM\":(v=r.header).bgcolor=l(t,e);g=e+4;v.loop_count=(s=t)[(c=g)+0]<<0|s[c+1]<<8;g+=2;break;case\"ANMF\":var m,v;(v=r.frames[n]={}).offset_x=2*h(t,e),e+=3,v.offset_y=2*h(t,e),e+=3,v.width=1+h(t,e),e+=3,v.height=1+h(t,e),e+=3,v.duration=h(t,e),e+=3,m=t[e++],v.dispose=1&m,v.blend=m>>1&1}\"ANMF\"!=f&&(e+=p)}return r}}(m,0);v.response=m,v.rgbaoutput=!0,v.dataurl=!1;var b=v.header?v.header:null,y=v.frames?v.frames:null;if(b){b.loop_counter=b.loop_count,f=[b.canvas_height],d=[b.canvas_width];for(var w=0;w<y.length&&0!=y[w].blend;w++);}var N=y[0],L=g.WebPDecodeRGBA(m,N.src_off,N.src_size,d,f);N.rgba=L,N.imgwidth=d[0],N.imgheight=f[0];for(var A=0;A<d[0]*f[0]*4;A++)p[A]=L[A];return this.width=d,this.height=f,this.data=p,this}!function(t){var r=function(){return\"function\"==typeof e},n=function(r,n,a,h){var l=4,f=s;switch(h){case t.image_compression.FAST:l=1,f=o;break;case t.image_compression.MEDIUM:l=6,f=c;break;case t.image_compression.SLOW:l=9,f=u}r=i(r,n,a,f);var d=e(r,{level:l});return t.__addimage__.arrayBufferToBinaryString(d)},i=function(t,e,r,n){for(var i,a,o,s=t.length/e,c=new Uint8Array(t.length+s),u=l(),h=0;h<s;h+=1){if(o=h*e,i=t.subarray(o,o+e),n)c.set(n(i,r,a),o+h);else{for(var d,p=u.length,g=[];d<p;d+=1)g[d]=u[d](i,r,a);var m=f(g.concat());c.set(g[m],o+h)}a=i}return c},a=function(t){var e=Array.apply([],t);return e.unshift(0),e},o=function(t,e){var r,n=[],i=t.length;n[0]=1;for(var a=0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n},s=function(t,e,r){var n,i=[],a=t.length;i[0]=2;for(var o=0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i},c=function(t,e,r){var n,i,a=[],o=t.length;a[0]=3;for(var s=0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i>>>1)&255;return a},u=function(t,e,r){var n,i,a,o,s=[],c=t.length;s[0]=4;for(var u=0;u<c;u+=1)n=t[u-e]||0,i=r&&r[u]||0,a=r&&r[u-e]||0,o=h(n,i,a),s[u+1]=t[u]-o+256&255;return s},h=function(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r},l=function(){return[a,o,s,c,u]},f=function(t){var e=t.map((function(t){return t.reduce((function(t,e){return t+Math.abs(e)}),0)}));return e.indexOf(Math.min.apply(null,e))};t.processPNG=function(e,i,a,o){var s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L=this.decode.FLATE_DECODE,A=\"\";if(this.__addimage__.isArrayBuffer(e)&&(e=new Uint8Array(e)),this.__addimage__.isArrayBufferView(e)){if(e=(u=new Kt(e)).imgData,c=u.bits,s=u.colorSpace,l=u.colors,-1!==[4,6].indexOf(u.colorType)){if(8===u.bits){g=(p=32==u.pixelBitlength?new Uint32Array(u.decodePixels().buffer):16==u.pixelBitlength?new Uint16Array(u.decodePixels().buffer):new Uint8Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*u.colors),m=new Uint8Array(g);var x,S=u.pixelBitlength-u.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y>>>x&255,x+=u.bits;m[w]=y>>>x&255}}if(16===u.bits){g=(p=new Uint32Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*(32/u.pixelBitlength)*u.colors),m=new Uint8Array(g*(32/u.pixelBitlength)),b=u.colors>1,w=0,N=0;for(var _=0;w<g;)y=p[w++],v[N++]=y>>>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255;c=8}o!==t.image_compression.NONE&&r()?(e=n(v,u.width*u.colors,u.colors,o),d=n(m,u.width,1,o)):(e=v,d=m,L=void 0)}if(3===u.colorType&&(s=this.color_spaces.INDEXED,f=u.palette,u.transparency.indexed)){var P=u.transparency.indexed,k=0;for(w=0,g=P.length;w<g;++w)k+=P[w];if((k/=255)===g-1&&-1!==P.indexOf(0))h=[P.indexOf(0)];else if(k!==g){for(p=u.decodePixels(),m=new Uint8Array(p.length),w=0,g=p.length;w<g;w++)m[w]=P[p[w]];d=n(m,u.width,1)}}var I=function(e){var r;switch(e){case t.image_compression.FAST:r=11;break;case t.image_compression.MEDIUM:r=13;break;case t.image_compression.SLOW:r=14;break;default:r=12}return r}(o);return L===this.decode.FLATE_DECODE&&(A=\"/Predictor \"+I+\" \"),A+=\"/Colors \"+l+\" /BitsPerComponent \"+c+\" /Columns \"+u.width,(this.__addimage__.isArrayBuffer(e)||this.__addimage__.isArrayBufferView(e))&&(e=this.__addimage__.arrayBufferToBinaryString(e)),(d&&this.__addimage__.isArrayBuffer(d)||this.__addimage__.isArrayBufferView(d))&&(d=this.__addimage__.arrayBufferToBinaryString(d)),{alias:a,data:e,index:i,filter:L,decodeParameters:A,transparency:h,palette:f,sMask:d,predictor:I,width:u.width,height:u.height,bitsPerComponent:c,colorSpace:s}}}}(E.API),function(t){t.processGIF89A=function(e,r,n,i){var a=new Zt(e),o=a.width,s=a.height,c=[];a.decodeAndBlitFrameRGBA(0,c);var u={data:c,width:o,height:s},h=new Qt(100).encode(u,100);return t.processJPEG.call(this,h,r,n,i)},t.processGIF87A=t.processGIF89A}(E.API),te.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},te.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){a.log(\"bit decode error:\"+t)}},te.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var c=this.palette[a>>7-s&1];this.data[o+4*s]=c.blue,this.data[o+4*s+1]=c.green,this.data[o+4*s+2]=c.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},te.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,c=15&a,u=this.palette[s];if(this.data[o]=u.blue,this.data[o+1]=u.green,this.data[o+2]=u.red,this.data[o+3]=255,2*i+1>=this.width)break;u=this.palette[c],this.data[o+4]=u.blue,this.data[o+4+1]=u.green,this.data[o+4+2]=u.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},te.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},te.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,c=(a>>10&e)/e*255|0,u=a>>15?255:0,h=n*this.width*4+4*i;this.data[h]=c,this.data[h+1]=s,this.data[h+2]=o,this.data[h+3]=u}this.pos+=t}},te.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,c=(o>>5&r)/r*255|0,u=(o>>11)/e*255|0,h=i*this.width*4+4*a;this.data[h]=u,this.data[h+1]=c,this.data[h+2]=s,this.data[h+3]=255}this.pos+=t}},te.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},te.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},te.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new te(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),ee.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new ee(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),E.API.processRGBA=function(t,e,r){for(var n=t.data,i=n.length,a=new Uint8Array(i/4*3),o=new Uint8Array(i/4),s=0,c=0,u=0;u<i;u+=4){var h=n[u],l=n[u+1],f=n[u+2],d=n[u+3];a[s++]=h,a[s++]=l,a[s++]=f,o[c++]=d}var p=this.__addimage__.arrayBufferToBinaryString(a);return{alpha:this.__addimage__.arrayBufferToBinaryString(o),data:p,index:e,alias:r,colorSpace:\"DeviceRGB\",bitsPerComponent:8,width:t.width,height:t.height}},E.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"North Macedonia\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")})),this.internal.languageSettings.isSubscribed=!0)),this},Vt=E.API,Gt=Vt.getCharWidthsArray=function(e,r){var n,i,a=(r=r||{}).font||this.internal.getFont(),o=r.fontSize||this.internal.getFontSize(),s=r.charSpace||this.internal.getCharSpace(),c=r.widths?r.widths:a.metadata.Unicode.widths,u=c.fof?c.fof:1,h=r.kerning?r.kerning:a.metadata.Unicode.kerning,l=h.fof?h.fof:1,f=!1!==r.doKerning,d=0,p=e.length,g=0,m=c[0]||u,v=[];for(n=0;n<p;n++)i=e.charCodeAt(n),\"function\"==typeof a.metadata.widthOfString?v.push((a.metadata.widthOfGlyph(a.metadata.characterToGlyph(i))+s*(1e3/o)||0)/1e3):(d=f&&\"object\"===t(h[i])&&!isNaN(parseInt(h[i][g],10))?h[i][g]/l:0,v.push((c[i]||m)/u+d)),g=i;return v},Yt=Vt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return Vt.processArabic&&(t=Vt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Gt.apply(this,arguments).reduce((function(t,e){return t+e}),0)},Jt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var c=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(c,a)),s=0,c=a),s+=e[a],a++;return c!==a&&i.push(t.slice(c,a)),i},Xt=function(t,e,r){r||(r={});var n,i,a,o,s,c,u,h=[],l=[h],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Gt.apply(this,[\" \",r])[0];if(c=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(c).join(\" \"),b=[];g.map((function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map((function(t,e){return(e&&t.length?\"\\n\":\"\")+t}))):b.push(t[0])})),g=b,c=Yt.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],c&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Gt.apply(this,[n,r])).reduce((function(t,e){return t+e}),0))>e||y){if(p>e){for(s=Jt.apply(this,[n,i,e-(f+d),e]),h.push(s.shift()),h=[s.pop()];s.length;)l.push([s.shift()]);p=i.slice(n.length-(h[0]?h[0].length:0)).reduce((function(t,e){return t+e}),0)}else h=[n];l.push(h),f=p+c,d=m}else h.push(n),f+=d+p,d=m}return u=c?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},l.map(u)},Vt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle);return e.metadata.Unicode?{widths:e.metadata.Unicode.widths||{0:1},kerning:e.metadata.Unicode.kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,c,u=[];for(s=0,c=n.length;s<c;s++)u=u.concat(Xt.apply(this,[n[s],o,a]));return u},function(e){e.__fontmetrics__=e.__fontmetrics__||{};for(var r=\"klmnopqrstuvwxyz\",n={},i={},a=0;a<r.length;a++)n[r[a]]=\"0123456789abcdef\"[a],i[\"0123456789abcdef\"[a]]=r[a];var o=function(t){return\"0x\"+parseInt(t,10).toString(16)},s=e.__fontmetrics__.compress=function(e){var r,n,a,c,u=[\"{\"];for(var h in e){if(r=e[h],isNaN(parseInt(h,10))?n=\"'\"+h+\"'\":(h=parseInt(h,10),n=(n=o(h).slice(2)).slice(0,-1)+i[n.slice(-1)]),\"number\"==typeof r)r<0?(a=o(r).slice(3),c=\"-\"):(a=o(r).slice(2),c=\"\"),a=c+a.slice(0,-1)+i[a.slice(-1)];else{if(\"object\"!==t(r))throw new Error(\"Don't know what to do with value type \"+t(r)+\".\");a=s(r)}u.push(n+a)}return u.push(\"}\"),u.join(\"\")},c=e.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,r,i,a,o={},s=1,c=o,u=[],h=\"\",l=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(i=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(u.push([c,i]),c={},i=void 0):\"}\"==a?((r=u.pop())[0][r[1]]=c,i=void 0,c=r[0]):\"-\"==a?s=-1:void 0===i?n.hasOwnProperty(a)?(h+=n[a],i=parseInt(h,16)*s,s=1,h=\"\"):h+=a:n.hasOwnProperty(a)?(l+=n[a],c[i]=parseInt(l,16)*s,s=1,i=void 0,l=\"\"):l+=a;return o},u={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:c(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},h={Unicode:{Courier:u,\"Courier-Bold\":u,\"Courier-BoldOblique\":u,\"Courier-Oblique\":u,Helvetica:u,\"Helvetica-Bold\":u,\"Helvetica-BoldOblique\":u,\"Helvetica-Oblique\":u,\"Times-Roman\":u,\"Times-Bold\":u,\"Times-BoldItalic\":u,\"Times-Italic\":u}},l={Unicode:{\"Courier-Oblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":c(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":c(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:c(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:c(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":c(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":c(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};e.events.push([\"addFont\",function(t){var e=t.font,r=l.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=h.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(E.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(u(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(E),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){function e(){return(n.canvg?Promise.resolve(n.canvg):import(\"canvg\")).catch((function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(i)||isNaN(o))throw a.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var h=document.createElement(\"canvas\");h.width=i,h.height=o;var l=h.getContext(\"2d\");l.fillStyle=\"#fff\",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error(\"Could not load canvg.\"))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL(\"image/jpeg\",1),r,n,i,o,c,u)}))}}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,\"reset\"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1}if(\"object\"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if(\"boolean\"===n[a].type&&\"boolean\"==typeof o)n[a].value=o;else if(\"name\"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if(\"integer\"===n[a].type&&Number.isInteger(o))n[a].value=o;else if(\"array\"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&\"number\"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)\"number\"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(\" \"))}n[a].value=\"[\"+u.join(\" \")+\"]\"}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&(\"name\"===n[t].type?e.push(\"/\"+t+\" /\"+n[t].value):e.push(\"/\"+t+\" \"+n[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e=function(){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceuri+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),a=unescape(encodeURIComponent(\"</x:xmpmeta>\")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+r+n+i+a),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")},r=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadata_object_number+\" 0 R\")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceuri:n||\"http://jspdf.default.namespaceuri/\"},this.internal.events.subscribe(\"putCatalog\",r),this.internal.events.subscribe(\"postPutResources\",e)),this}}(E.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n  /Registry (Adobe)\\n  /Ordering (UCS)\\n  /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e}))).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var s=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),u=\"\",h=0;h<c.length;h++)u+=String.fromCharCode(c[h]);var l=a();o({data:u,addLength1:!0,objectId:l}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+F(r.fontName)),i(\"/FontFile2 \"+l+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/FontDescriptor \"+d+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(s)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+f+\" 0 R\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+p+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var s=r.metadata.rawData,c=\"\",u=0;u<s.length;u++)c+=String.fromCharCode(s[u]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var l=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:l}),i(\"endobj\");var f=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+F(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var d=0;d<r.metadata.hmtx.widths.length;d++)r.metadata.hmtx.widths[d]=parseInt(r.metadata.hmtx.widths[d]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+l+\" 0 R/BaseFont/\"+F(r.fontName)+\"/FontDescriptor \"+f+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},c=s.pdfEscape,u=s.activeFontKey,h=s.fonts,l=u,f=\"\",d=0,p=\"\",g=h[l].encoding;if(\"Identity-H\"!==h[l].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,l=u,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)h[l].metadata.hasOwnProperty(\"cmap\")&&(e=h[l].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&h[l].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(l.slice(1))<14||\"WinAnsiEncoding\"===g?m=c(f,l).split(\"\").map((function(t){return t.charCodeAt(0).toString(16)})).join(\"\"):\"Identity-H\"===g&&(m=r(f,h[l])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(E),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(E.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,c,u=e,h=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],l=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"⁅\",\"⁆\",\"⁅\",\"⁽\",\"⁾\",\"⁽\",\"₍\",\"₎\",\"₍\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"﹙\",\"﹚\",\"﹙\",\"﹛\",\"﹜\",\"﹛\",\"﹝\",\"﹞\",\"﹝\",\"﹤\",\"﹥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?u[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var c,u,h,l,f=e[s];switch(f){case\"L\":case\"R\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(c=o[s-1])&&\"AN\"!==c||\"EN\"!==(u=e[s+1])&&\"AN\"!==u?f=\"N\":m&&(u=\"AN\"),f=u===c?u:\"N\";break;case\"ES\":f=\"EN\"===(c=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(h=s+1,l=e.length;h<l&&\"ET\"===e[h];)h++;f=h<l&&\"EN\"===e[h]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(l=e.length,h=s+1;h<l&&\"NSM\"===e[h];)h++;if(h<l){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(c=e[h],p&&(\"R\"===c||\"AL\"===c)){f=\"R\";break}}}f=s<1||\"B\"===(c=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"BN\":f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,c,u,d=-1,p=t.length,g=0,y=[],N=v?l:h,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(u=g,y[s]=w(t,L,y,s),a=240&(g=N[u][f[y[s]]]),g&=15,e[s]=c=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=c;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=c}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,c,u,h=e.length,l=0;l<h;){if(i[l]>=t){for(c=l+1;c<h&&i[c]>=t;)c++;for(u=l,s=c-1;u<s;u++,s--)o=e[u],e[u]=e[s],e[s]=o,n&&(o=n[u],n[u]=n[s],n[s]=o);l=c}l++}}},x=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&c)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=x(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=x(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=c;a?(v=1,t=x(t,e,r),v=0,c=!1,t=x(t,e,r),c=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,c=!1,t=x(t,e,r),c=n,t=N(t,e))}}else v=0,t=x(t,e,r);else v=a?1:0,t=x(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,c=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),i=(t.mutex,n.lang,[]);if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(E),E.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new ne(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new Le(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new ie(this.contents),this.head=new se(this),this.name=new pe(this),this.cmap=new ue(this),this.toUnicode={},this.hhea=new he(this),this.maxp=new ge(this),this.hmtx=new me(this),this.post=new fe(this),this.os2=new le(this),this.loca=new Ne(this),this.glyf=new be(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),0!=(32768&(e=n>>16))&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var re,ne=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),ie=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,c,u,h,l,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),h=16*Math.floor(Math.log(f)/s),a=Math.floor(h/s),u=16*f-h,(n=new ne).writeInt(this.scalarType),n.writeShort(f),n.writeShort(h),n.writeShort(a),n.writeShort(u),i=16*f,c=n.pos+i,o=null,d=[],e)for(l=e[p],n.writeString(p),n.writeInt(t(l)),n.writeInt(c),n.writeInt(l.length),d=d.concat(l),\"head\"===p&&(o=c),c+=l.length;c%4;)d.push(0),c++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=ve.call(t);t.length%4;)t.push(0);for(n=new ne(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),ae={}.hasOwnProperty,oe=function(t,e){for(var r in e)ae.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};re=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var se=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new ne).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),ce=function(){function t(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),h=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),l=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===u[s]?a=r+c[s]:0!==(a=o[u[s]/2+(r-d)-(l-s)]||0)&&(a+=c[s]),this.codeMap[r]=65535&a}t.pos=h}return t.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F,C,j,O,B,M,E,q,D,R,T,U,z,H,W,V,G,Y;switch(I=new ne,a=Object.keys(t).sort((function(t,e){return t-e})),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},F=0,B=a.length;F<B;F++)null==v[W=t[n=a[F]]]&&(v[W]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return I.writeUInt16(1),I.writeUInt16(0),I.writeUInt32(12),I.writeUInt16(0),I.writeUInt16(262),I.writeUInt16(0),I.write(g),{charMap:i,subtable:I.data,maxGlyphID:p+1};case\"unicode\":for(P=[],h=[],b=0,v={},r={},m=c=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===c||(m&&h.push(m),P.push(n),c=o),m=n;for(m&&h.push(m),h.push(65535),P.push(65535),S=2*(x=P.length),A=2*Math.pow(Math.log(x)/Math.LN2,2),l=Math.log(A/2)/Math.LN2,L=2*x-A,s=[],N=[],f=[],d=j=0,E=P.length;j<E;d=++j){if(_=P[d],u=h[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+x-d)),n=O=_;_<=u?O<=u:O>=u;n=_<=u?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(I.writeUInt16(3),I.writeUInt16(1),I.writeUInt32(12),I.writeUInt16(4),I.writeUInt16(16+8*x+2*f.length),I.writeUInt16(0),I.writeUInt16(S),I.writeUInt16(A),I.writeUInt16(l),I.writeUInt16(L),z=0,q=h.length;z<q;z++)n=h[z],I.writeUInt16(n);for(I.writeUInt16(0),H=0,D=P.length;H<D;H++)n=P[H],I.writeUInt16(n);for(V=0,R=s.length;V<R;V++)o=s[V],I.writeUInt16(o);for(G=0,T=N.length;G<T;G++)y=N[G],I.writeUInt16(y);for(Y=0,U=f.length;Y<U;Y++)p=f[Y],I.writeUInt16(p);return{charMap:r,subtable:I.data,maxGlyphID:b+1}}},t}(),ue=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new ce(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=ce.encode(t,e),(n=new ne).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},e}(),he=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),le=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"OS/2\",e.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},e}(),fe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"post\",e.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 196608:break;case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},e}(),de=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},pe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,r,n,i,a,o,s,c,u,h,l;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=u=0,h=r.length;u<h;i=++u)n=r[i],t.pos=n.offset,c=t.readString(n.length),a=new de(c,n),null==s[l=n.nameID]&&(s[l]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),ge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),me=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hmtx\",e.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),ve=[].slice,be=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"glyf\",e.prototype.parse=function(){return this.cache={}},e.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,c,u,h;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new ne(e.read(n))).readShort(),c=o.readShort(),h=o.readShort(),s=o.readShort(),u=o.readShort(),this.cache[t]=-1===a?new we(o,c,h,s,u):new ye(o,a,c,h,s,u),this.cache[t]))},e.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},e}(),ye=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),we=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(){var t,e,r;for(e=new ne(ve.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),Ne=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"loca\",e.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var c=new Array(4*r.length),u=0;u<r.length;++u)c[4*u+3]=255&r[u],c[4*u+2]=(65280&r[u])>>8,c[4*u+1]=(16711680&r[u])>>16,c[4*u]=(4278190080&r[u])>>24;return c},e}(),Le=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m;for(n in r=ue.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in l=r.maxGlyphID,a)d in f||(f[d]=l++);return u=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),h=Object.keys(u).sort((function(t,e){return t-e})),p=function(){var t,e,r;for(r=[],t=0,e=h.length;t<e;t++)o=h[t],r.push(u[o]);return r}(),i=this.font.glyf.encode(a,p,f),c=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:c,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();E.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export default E;export{St as AcroForm,At as AcroFormAppearance,mt as AcroFormButton,wt as AcroFormCheckBox,ft as AcroFormChoiceField,pt as AcroFormComboBox,gt as AcroFormEditBox,dt as AcroFormListBox,Lt as AcroFormPasswordField,vt as AcroFormPushButton,bt as AcroFormRadioButton,Nt as AcroFormTextField,j as GState,B as ShadingPattern,M as TilingPattern,E as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n","/*\n * mpetroff/print-maps\n * https://github.com/mpetroff/print-maps\n *\n * I used the source code from the above repository. Thanks so much!\n *\n * -----LICENSE------\n * Print Maps - High-resolution maps in the browser, for printing\n * Copyright (c) 2015-2020 Matthew Petroff\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport { jsPDF } from 'jspdf';\nimport {\n\tMap as MaplibreMap,\n\tPointLike,\n\tSourceSpecification,\n\tStyleSpecification,\n\tSymbolLayerSpecification\n} from 'maplibre-gl';\nimport { CirclePaint, Map as MapboxMap } from 'mapbox-gl';\nimport {\n\tAttributionOptions,\n\tAttributionStyle,\n\tDPIType,\n\tFormat,\n\tFormatType,\n\tNorthIconOptions,\n\tSize,\n\tSizeType,\n\tUnit,\n\tUnitType\n} from './interfaces';\n\nexport const defaultMarkerCirclePaint: CirclePaint = {\n\t'circle-radius': 8,\n\t'circle-color': 'red',\n\t'circle-stroke-width': 1,\n\t'circle-stroke-color': 'black'\n};\n\nexport const defaultAttributionOptions: AttributionOptions = {\n\tstyle: {\n\t\ttextSize: 16,\n\t\ttextHaloColor: '#FFFFFF',\n\t\ttextHaloWidth: 0.8,\n\t\ttextColor: '#000000',\n\t\tfallbackTextFont: ['Open Sans Regular']\n\t},\n\tvisibility: 'visible',\n\tposition: 'bottom-right'\n};\n\nexport const defaultNorthIconOptions: NorthIconOptions = {\n\timage: `<svg width=\"800px\" height=\"800px\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--gis\" preserveAspectRatio=\"xMidYMid meet\"><path d=\"M47.655 1.634l-35 95c-.828 2.24 1.659 4.255 3.68 2.98l33.667-21.228l33.666 21.228c2.02 1.271 4.503-.74 3.678-2.98l-35-95C51.907.514 51.163.006 50 .008c-1.163.001-1.99.65-2.345 1.626zm-.155 14.88v57.54L19.89 91.461z\" fill=\"none\" stroke=\"white\" stroke-width=\"1.5\"/><path d=\"M47.655 1.634l-35 95c-.828 2.24 1.659 4.255 3.68 2.98l33.667-21.228l33.666 21.228c2.02 1.271 4.503-.74 3.678-2.98l-35-95C51.907.514 51.163.006 50 .008c-1.163.001-1.99.65-2.345 1.626zm-.155 14.88v57.54L19.89 91.461z\" fill=\"#000000\" fill-rule=\"evenodd\"></path></svg>`,\n\timageName: 'gl-export-north-icon',\n\timageSizeFraction: 0.05,\n\tvisibility: 'visible',\n\tposition: 'top-right'\n};\n\nexport abstract class MapGeneratorBase {\n\tprotected map: MaplibreMap | MapboxMap;\n\n\tprotected width: number;\n\n\tprotected height: number;\n\n\tprotected dpi: number;\n\n\tprotected format: FormatType;\n\n\tprotected unit: UnitType;\n\n\tprotected fileName: string;\n\n\tprotected markerClassName: string;\n\n\tprotected markerCirclePaint: CirclePaint;\n\n\tprotected attributionClassName: string;\n\n\tprotected attributionOptions: AttributionOptions;\n\n\tprotected northIconOptions: NorthIconOptions;\n\n\t/**\n\t * Constructor\n\t * @param map MaplibreMap object\n\t * @param size layout size. default is A4\n\t * @param dpi dpi value. default is 300\n\t * @param format image format. default is PNG\n\t * @param unit length unit. default is mm\n\t * @param fileName file name. default is 'map'\n\t */\n\tconstructor(\n\t\tmap: MaplibreMap | MapboxMap,\n\t\tsize: SizeType = Size.A4,\n\t\tdpi: DPIType = 300,\n\t\tformat: FormatType = Format.PNG,\n\t\tunit: UnitType = Unit.mm,\n\t\tfileName = 'map',\n\t\tmarkerClassName = 'maplibregl-marker',\n\t\tmarkerCirclePaint = defaultMarkerCirclePaint,\n\t\tattributionClassName = 'maplibregl-ctrl-attrib-inner',\n\t\tattributionOptions = defaultAttributionOptions,\n\t\tnorthIconOptions = defaultNorthIconOptions\n\t) {\n\t\tthis.map = map;\n\t\tthis.width = size[0];\n\t\tthis.height = size[1];\n\t\tthis.dpi = dpi;\n\t\tthis.format = format;\n\t\tthis.unit = unit;\n\t\tthis.fileName = fileName;\n\t\tthis.markerClassName = markerClassName;\n\t\tthis.markerCirclePaint = markerCirclePaint;\n\t\tthis.attributionClassName = attributionClassName;\n\t\tthis.attributionOptions = attributionOptions;\n\t\tthis.northIconOptions = northIconOptions;\n\t}\n\n\tprotected abstract getRenderedMap(\n\t\tcontainer: HTMLElement,\n\t\tstyle: StyleSpecification | mapboxgl.Style\n\t): MaplibreMap | MapboxMap;\n\n\tprotected renderMapPost(renderMap: MaplibreMap | MapboxMap) {\n\t\treturn renderMap;\n\t}\n\n\tprivate getMarkers() {\n\t\treturn this.map.getCanvasContainer().getElementsByClassName(this.markerClassName);\n\t}\n\n\tprotected renderMarkers(renderMap: MaplibreMap | MapboxMap) {\n\t\tconst markers = this.getMarkers();\n\t\tfor (let i = 0; i < markers.length; i++) {\n\t\t\tconst marker = markers.item(i);\n\t\t\tif (!marker) continue;\n\t\t\tconst style = marker.getAttribute('style');\n\t\t\tif (!style) continue;\n\t\t\tconst translateRegex = /translate\\(([^,]+)px,\\s*([^,]+)px\\)/;\n\t\t\tconst match = style.match(translateRegex);\n\t\t\tif (!match) continue;\n\t\t\tconst translateX = parseInt(match[1]);\n\t\t\tconst translateY = parseInt(match[2]);\n\n\t\t\tconst lngLat = this.map.unproject([translateX, translateY]);\n\n\t\t\tconst markerId = `point${i}`;\n\t\t\trenderMap.addSource(markerId, {\n\t\t\t\ttype: 'geojson',\n\t\t\t\tdata: {\n\t\t\t\t\ttype: 'Point',\n\t\t\t\t\tcoordinates: [lngLat.lng, lngLat.lat]\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t(renderMap as MapboxMap).addLayer({\n\t\t\t\tid: markerId,\n\t\t\t\tsource: markerId,\n\t\t\t\ttype: 'circle',\n\t\t\t\tpaint: this.markerCirclePaint\n\t\t\t});\n\t\t}\n\t\treturn renderMap;\n\t}\n\n\t/**\n\t * Generate and download Map image\n\t */\n\tgenerate() {\n\t\t// eslint-disable-next-line\n\t\tconst this_ = this;\n\n\t\tthis.addLoader();\n\t\tthis.showLoader();\n\n\t\t// Calculate pixel ratio\n\t\tconst actualPixelRatio: number = window.devicePixelRatio;\n\t\tObject.defineProperty(window, 'devicePixelRatio', {\n\t\t\tget() {\n\t\t\t\treturn this_.dpi / 96;\n\t\t\t}\n\t\t});\n\t\t// Create map container\n\t\tconst hidden = document.createElement('div');\n\t\thidden.className = 'hidden-map';\n\t\tdocument.body.appendChild(hidden);\n\t\tconst container = document.createElement('div');\n\t\tcontainer.style.width = this.toPixels(this.width);\n\t\tcontainer.style.height = this.toPixels(this.height);\n\t\thidden.appendChild(container);\n\n\t\tconst style = this.map.getStyle();\n\t\tif (style && style.sources) {\n\t\t\tconst sources = style.sources;\n\t\t\tObject.keys(sources).forEach((name) => {\n\t\t\t\tconst src = sources[name];\n\t\t\t\tObject.keys(src).forEach((key) => {\n\t\t\t\t\t// delete properties if value is undefined.\n\t\t\t\t\t// for instance, raster-dem might has undefined value in \"url\" and \"bounds\"\n\t\t\t\t\tif (!src[key]) delete src[key];\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\t// Render map\n\t\tlet renderMap = this.getRenderedMap(container, style);\n\n\t\trenderMap.on('load', () => {\n\t\t\tthis.addNorthIconToMap(renderMap).then(() => {\n\t\t\t\trenderMap.once('idle', () => {\n\t\t\t\t\tconst isAttributionAdded = this.addAttributions(renderMap);\n\t\t\t\t\tif (isAttributionAdded) {\n\t\t\t\t\t\trenderMap.once('idle', () => {\n\t\t\t\t\t\t\trenderMap = this.renderMapPost(renderMap);\n\t\t\t\t\t\t\tconst markers = this.getMarkers();\n\t\t\t\t\t\t\tif (markers.length === 0) {\n\t\t\t\t\t\t\t\tthis.exportImage(renderMap, hidden, actualPixelRatio);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trenderMap = this.renderMarkers(renderMap);\n\t\t\t\t\t\t\t\trenderMap.once('idle', () => {\n\t\t\t\t\t\t\t\t\tthis.exportImage(renderMap, hidden, actualPixelRatio);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\trenderMap = this.renderMapPost(renderMap);\n\t\t\t\t\t\tconst markers = this.getMarkers();\n\t\t\t\t\t\tif (markers.length === 0) {\n\t\t\t\t\t\t\tthis.exportImage(renderMap, hidden, actualPixelRatio);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trenderMap = this.renderMarkers(renderMap);\n\t\t\t\t\t\t\trenderMap.once('idle', () => {\n\t\t\t\t\t\t\t\tthis.exportImage(renderMap, hidden, actualPixelRatio);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate stripHtml(htmlString: string) {\n\t\tconst tempElement = document.createElement('div');\n\t\ttempElement.innerHTML = htmlString;\n\t\treturn tempElement.textContent || tempElement.innerText || '';\n\t}\n\n\t/**\n\t * Get icon width against exported map size by using fraction rate\n\t * @param renderMap Map object\n\t * @param fraction adjust icon size by using this fraction rate. Default is 8%\n\t * @returns Icon width calculated\n\t */\n\tprivate getIconWidth(renderMap: MaplibreMap | MapboxMap, fraction: number) {\n\t\tconst containerDiv = renderMap.getContainer();\n\t\tconst width = parseInt(containerDiv.style.width.replace('px', ''));\n\t\treturn parseInt(`${width * fraction}`);\n\t}\n\n\t/**\n\t * Get element position's pixel values based on selected position setting\n\t * @param renderMap Map object\n\t * @param position Position of element inserted\n\t * @param offset Offset value to adjust position\n\t * @returns Pixels [width, height]\n\t */\n\tprivate getElementPosition(\n\t\trenderMap: MaplibreMap | MapboxMap,\n\t\tposition: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right',\n\t\toffset = 0\n\t) {\n\t\tconst containerDiv = renderMap.getContainer();\n\t\tlet width = 0;\n\t\tlet height = 0;\n\n\t\tswitch (position) {\n\t\t\tcase 'top-left':\n\t\t\t\twidth = 0 + offset;\n\t\t\t\theight = 0 + offset;\n\t\t\t\tbreak;\n\t\t\tcase 'top-right':\n\t\t\t\twidth = parseInt(containerDiv.style.width.replace('px', '')) - offset;\n\t\t\t\theight = 0 + offset;\n\t\t\t\tbreak;\n\t\t\tcase 'bottom-left':\n\t\t\t\twidth = 0 + offset;\n\t\t\t\theight = parseInt(containerDiv.style.height.replace('px', '')) - offset;\n\t\t\t\tbreak;\n\t\t\tcase 'bottom-right':\n\t\t\t\twidth = parseInt(containerDiv.style.width.replace('px', '')) - offset;\n\t\t\t\theight = parseInt(containerDiv.style.height.replace('px', '')) - offset;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst pixels = [width, height] as PointLike;\n\t\treturn pixels;\n\t}\n\n\t/**\n\t * Add North Icon SVG to map object\n\t * @param renderMap Map object\n\t * @returns void\n\t */\n\tprivate addNorthIconImage(renderMap: MaplibreMap | MapboxMap) {\n\t\tconst iconSize = this.getIconWidth(renderMap, this.northIconOptions.imageSizeFraction ?? 0.08);\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tconst svgImage = new Image(iconSize, iconSize);\n\t\t\tsvgImage.onload = () => {\n\t\t\t\tif (this.northIconOptions.imageName) {\n\t\t\t\t\trenderMap.addImage(this.northIconOptions.imageName, svgImage);\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t};\n\t\t\tfunction svgStringToImageSrc(svgString: string) {\n\t\t\t\treturn 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svgString);\n\t\t\t}\n\t\t\tif (this.northIconOptions.image) {\n\t\t\t\tsvgImage.src = svgStringToImageSrc(this.northIconOptions.image);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Add North Icon Symbol layer to renderMap object\n\t * @param renderMap Map object\n\t * @returns\n\t */\n\tprivate addNorthIconToMap(renderMap: MaplibreMap | MapboxMap) {\n\t\tlet visibility: 'visible' | 'none' = this.northIconOptions.visibility ?? 'visible';\n\t\tif (renderMap.getZoom() < 2 && this.width > this.height) {\n\t\t\t// if zoom level is less than 2, it will appear twice.\n\t\t\tvisibility = 'none';\n\t\t}\n\t\treturn new Promise<void>((resolve) => {\n\t\t\tthis.addNorthIconImage(renderMap).then(() => {\n\t\t\t\tconst iconSize = this.getIconWidth(\n\t\t\t\t\trenderMap,\n\t\t\t\t\tthis.northIconOptions.imageSizeFraction ?? 0.08\n\t\t\t\t);\n\t\t\t\tconst iconOffset = iconSize * 0.8;\n\t\t\t\tconst pixels = this.getElementPosition(\n\t\t\t\t\trenderMap,\n\t\t\t\t\tthis.northIconOptions.position ?? 'top-right',\n\t\t\t\t\ticonOffset\n\t\t\t\t);\n\t\t\t\tconst lngLat = (renderMap as MaplibreMap).unproject(pixels);\n\n\t\t\t\tconst layerId = this.northIconOptions.imageName ?? 'gl-export-north-icon';\n\t\t\t\trenderMap.addSource(layerId, {\n\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\t\tgeometry: {\n\t\t\t\t\t\t\ttype: 'Point',\n\t\t\t\t\t\t\tcoordinates: [lngLat.lng, lngLat.lat]\n\t\t\t\t\t\t},\n\t\t\t\t\t\tproperties: {}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t(renderMap as MapboxMap).addLayer({\n\t\t\t\t\tid: layerId,\n\t\t\t\t\tsource: layerId,\n\t\t\t\t\ttype: 'symbol',\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t'icon-image': layerId,\n\t\t\t\t\t\t'icon-size': 1.0,\n\t\t\t\t\t\t'icon-rotate': renderMap.getBearing() * -1,\n\t\t\t\t\t\t'icon-allow-overlap': true,\n\t\t\t\t\t\t'icon-ignore-placement': true,\n\t\t\t\t\t\tvisibility: visibility\n\t\t\t\t\t},\n\t\t\t\t\tpaint: {}\n\t\t\t\t});\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate addAttributions(renderMap: MaplibreMap | MapboxMap) {\n\t\tconst glyphs = this.map.getStyle().glyphs;\n\t\t// skip if glyphs is not available in style.\n\t\tif (!glyphs) return false;\n\n\t\tconst containerDiv = renderMap.getContainer();\n\t\tconst elementPosition = this.attributionOptions.position ?? 'bottom-right';\n\t\tconst pixels = this.getElementPosition(renderMap, elementPosition, 5);\n\t\tconst width = pixels[0];\n\t\tconst lngLat = (renderMap as MaplibreMap).unproject(pixels);\n\n\t\tconst attrElements = containerDiv.getElementsByClassName(this.attributionClassName);\n\t\tconst attributions: string[] = [];\n\t\tif (attrElements?.length > 0) {\n\t\t\t// try getting attribution from html elements\n\t\t\tconst attrs = attrElements.item(0);\n\t\t\tif (attrs) {\n\t\t\t\tfor (let i = 0; i < attrs.children.length; i++) {\n\t\t\t\t\tconst child = attrs.children.item(i);\n\t\t\t\t\tif (!child) continue;\n\t\t\t\t\tattributions.push(this.stripHtml(child.outerHTML));\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// if not, try to make attribution from style\n\t\t\tconst sources = this.map.getStyle().sources;\n\t\t\tObject.keys(sources).forEach((key) => {\n\t\t\t\tconst src: SourceSpecification = sources[key] as SourceSpecification;\n\t\t\t\tif ('attribution' in src) {\n\t\t\t\t\tconst attribution = src.attribution as string;\n\t\t\t\t\tattributions.push(this.stripHtml(attribution));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (attributions.length === 0) return false;\n\n\t\tconst attributionText = attributions.join(' | ');\n\n\t\tconst attributionId = `attribution`;\n\t\trenderMap.addSource(attributionId, {\n\t\t\ttype: 'geojson',\n\t\t\tdata: {\n\t\t\t\ttype: 'Feature',\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype: 'Point',\n\t\t\t\t\tcoordinates: [lngLat.lng, lngLat.lat]\n\t\t\t\t},\n\t\t\t\tproperties: {\n\t\t\t\t\tattribution: attributionText\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tconst fontLayers = this.map\n\t\t\t.getStyle()\n\t\t\t.layers.filter(\n\t\t\t\t(l) => l.type === 'symbol' && l.layout && 'text-font' in l.layout\n\t\t\t) as SymbolLayerSpecification[];\n\t\tconst font: string[] =\n\t\t\tfontLayers.length > 0 && fontLayers[0].layout\n\t\t\t\t? (fontLayers[0].layout['text-font'] as string[])\n\t\t\t\t: (this.attributionOptions.style?.fallbackTextFont as string[]);\n\n\t\tlet visibility: 'visible' | 'none' = this.attributionOptions.visibility ?? 'visible';\n\t\tif (renderMap.getZoom() < 2 && this.width > this.height) {\n\t\t\t// if zoom level is less than 2, it will appear twice.\n\t\t\tvisibility = 'none';\n\t\t}\n\n\t\tconst attrStyle = this.attributionOptions.style as AttributionStyle;\n\n\t\t(renderMap as MapboxMap).addLayer({\n\t\t\tid: attributionId,\n\t\t\tsource: attributionId,\n\t\t\ttype: 'symbol',\n\t\t\tlayout: {\n\t\t\t\t'text-field': ['get', 'attribution'],\n\t\t\t\t'text-font': font,\n\t\t\t\t'text-max-width': parseInt(`${width / attrStyle.textSize}`),\n\t\t\t\t'text-anchor': elementPosition,\n\t\t\t\t'text-justify': ['top-right', 'bottom-right'].includes(elementPosition) ? 'right' : 'left',\n\t\t\t\t'text-size': attrStyle.textSize,\n\t\t\t\t'text-allow-overlap': true,\n\t\t\t\tvisibility: visibility\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': attrStyle.textHaloColor,\n\t\t\t\t'text-halo-width': attrStyle.textHaloWidth,\n\t\t\t\t'text-color': attrStyle.textColor\n\t\t\t}\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tprivate exportImage(\n\t\trenderMap: MaplibreMap | MapboxMap,\n\t\thiddenDiv: HTMLElement,\n\t\tactualPixelRatio: number\n\t) {\n\t\tconst canvas = renderMap.getCanvas();\n\n\t\tconst fileName = `${this.fileName}.${this.format}`;\n\t\tswitch (this.format) {\n\t\t\tcase Format.PNG:\n\t\t\t\tthis.toPNG(canvas, fileName);\n\t\t\t\tbreak;\n\t\t\tcase Format.JPEG:\n\t\t\t\tthis.toJPEG(canvas, fileName);\n\t\t\t\tbreak;\n\t\t\tcase Format.PDF:\n\t\t\t\tthis.toPDF(renderMap, fileName);\n\t\t\t\tbreak;\n\t\t\tcase Format.SVG:\n\t\t\t\tthis.toSVG(canvas, fileName);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.error(`Invalid file format: ${this.format}`);\n\t\t\t\tbreak;\n\t\t}\n\n\t\trenderMap.remove();\n\t\thiddenDiv.parentNode?.removeChild(hiddenDiv);\n\t\tObject.defineProperty(window, 'devicePixelRatio', {\n\t\t\tget() {\n\t\t\t\treturn actualPixelRatio;\n\t\t\t}\n\t\t});\n\t\thiddenDiv.remove();\n\n\t\tthis.hideLoader();\n\t}\n\n\t/**\n\t * Convert canvas to PNG\n\t * @param canvas Canvas element\n\t * @param fileName file name\n\t */\n\tprivate toPNG(canvas: HTMLCanvasElement, fileName: string) {\n\t\tconst a = document.createElement('a');\n\t\ta.href = canvas.toDataURL();\n\t\ta.download = fileName;\n\t\ta.click();\n\t\ta.remove();\n\t}\n\n\t/**\n\t * Convert canvas to JPEG\n\t * @param canvas Canvas element\n\t * @param fileName file name\n\t */\n\tprivate toJPEG(canvas: HTMLCanvasElement, fileName: string) {\n\t\tconst uri = canvas.toDataURL('image/jpeg', 0.85);\n\t\tconst a = document.createElement('a');\n\t\ta.href = uri;\n\t\ta.download = fileName;\n\t\ta.click();\n\t\ta.remove();\n\t}\n\n\t/**\n\t * Convert Map object to PDF\n\t * @param map Map object\n\t * @param fileName file name\n\t */\n\tprivate toPDF(map: MaplibreMap | MapboxMap, fileName: string) {\n\t\tconst canvas = map.getCanvas();\n\t\tconst pdf = new jsPDF({\n\t\t\torientation: this.width > this.height ? 'l' : 'p',\n\t\t\tunit: this.unit,\n\t\t\tcompress: true,\n\t\t\tformat: [this.width, this.height]\n\t\t});\n\n\t\tpdf.addImage(\n\t\t\tcanvas.toDataURL('image/png'),\n\t\t\t'png',\n\t\t\t0,\n\t\t\t0,\n\t\t\tthis.width,\n\t\t\tthis.height,\n\t\t\tundefined,\n\t\t\t'FAST'\n\t\t);\n\n\t\tconst { lng, lat } = map.getCenter();\n\t\tpdf.setProperties({\n\t\t\ttitle: map.getStyle().name,\n\t\t\tsubject: `center: [${lng}, ${lat}], zoom: ${map.getZoom()}`,\n\t\t\tcreator: 'Mapbox GL Export Plugin',\n\t\t\tauthor: '(c)Mapbox, (c)OpenStreetMap'\n\t\t});\n\n\t\tpdf.save(fileName);\n\t}\n\n\t/**\n\t * Convert canvas to SVG\n\t * @param canvas Canvas element\n\t * @param fileName file name\n\t */\n\tprivate toSVG(canvas: HTMLCanvasElement, fileName: string) {\n\t\tconst uri = canvas.toDataURL('image/png');\n\n\t\tconst pxWidth = Number(this.toPixels(this.width, this.dpi).replace('px', ''));\n\t\tconst pxHeight = Number(this.toPixels(this.height, this.dpi).replace('px', ''));\n\n\t\tconst svg = `\n    <svg xmlns=\"http://www.w3.org/2000/svg\" \n      xmlns:xlink=\"http://www.w3.org/1999/xlink\" \n      version=\"1.1\" \n      width=\"${pxWidth}\" \n      height=\"${pxHeight}\" \n      viewBox=\"0 0 ${pxWidth} ${pxHeight}\" \n      xml:space=\"preserve\">\n        <image style=\"stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;\"  \n      xlink:href=\"${uri}\" width=\"${pxWidth}\" height=\"${pxHeight}\"></image>\n    </svg>`;\n\n\t\tconst a = document.createElement('a');\n\t\ta.href = `data:application/xml,${encodeURIComponent(svg)}`;\n\t\ta.download = fileName;\n\t\ta.click();\n\t\ta.remove();\n\t}\n\n\t/**\n\t * Convert mm/inch to pixel\n\t * @param length mm/inch length\n\t * @param conversionFactor DPI value. default is 96.\n\t */\n\tprivate toPixels(length: number, conversionFactor = 96) {\n\t\tif (this.unit === Unit.mm) {\n\t\t\tconversionFactor /= 25.4;\n\t\t}\n\t\treturn `${conversionFactor * length}px`;\n\t}\n\n\t/**\n\t * Add loader in the parent element of maplibre map.\n\t */\n\tprivate addLoader() {\n\t\tconst canvas = this.map.getCanvas();\n\t\tconst grandParent = canvas.parentElement?.parentElement;\n\t\tif (!grandParent) return;\n\t\tconst loaderElements = grandParent.getElementsByClassName('map-export-loader');\n\t\tif (loaderElements.length > 0) return;\n\t\tconst loader = document.createElement('span');\n\t\tloader.classList.add('map-export-loader');\n\t\tloader.classList.add('loader-default');\n\t\tgrandParent.appendChild(loader);\n\t}\n\n\t/**\n\t * Show loader\n\t */\n\tprivate showLoader() {\n\t\tconst canvas = this.map.getCanvas();\n\t\tconst grandParent = canvas.parentElement?.parentElement;\n\t\tif (!grandParent) return;\n\t\tconst loaderElements = grandParent.getElementsByClassName('map-export-loader');\n\t\tif (loaderElements && loaderElements.length > 0) {\n\t\t\tloaderElements.item(0)?.classList.add('is-active');\n\t\t}\n\t}\n\n\t/**\n\t * Hide loader\n\t */\n\tprivate hideLoader() {\n\t\tconst canvas = this.map.getCanvas();\n\t\tconst grandParent = canvas.parentElement?.parentElement;\n\t\tif (!grandParent) return;\n\t\tconst loaderElements = grandParent.getElementsByClassName('map-export-loader');\n\t\tif (loaderElements && loaderElements.length > 0) {\n\t\t\tloaderElements.item(0)?.classList.remove('is-active');\n\t\t}\n\t}\n}\n","import { Map as MaplibreMap, StyleSpecification } from 'maplibre-gl';\nimport { DPIType, Format, FormatType, Size, SizeType, Unit, UnitType } from './interfaces';\nimport {\n\tMapGeneratorBase,\n\tdefaultAttributionOptions,\n\tdefaultMarkerCirclePaint,\n\tdefaultNorthIconOptions\n} from './map-generator-base';\n\nexport default class MapGenerator extends MapGeneratorBase {\n\t/**\n\t * Constructor\n\t * @param map MaplibreMap object\n\t * @param size layout size. default is A4\n\t * @param dpi dpi value. default is 300\n\t * @param format image format. default is PNG\n\t * @param unit length unit. default is mm\n\t * @param fileName file name. default is 'map'\n\t */\n\tconstructor(\n\t\tmap: MaplibreMap,\n\t\tsize: SizeType = Size.A4,\n\t\tdpi: DPIType = 300,\n\t\tformat: FormatType = Format.PNG,\n\t\tunit: UnitType = Unit.mm,\n\t\tfileName = 'map',\n\t\tmarkerCirclePaint = defaultMarkerCirclePaint,\n\t\tattributionOptions = defaultAttributionOptions,\n\t\tnorthIconOptions = defaultNorthIconOptions\n\t) {\n\t\tsuper(\n\t\t\tmap,\n\t\t\tsize,\n\t\t\tdpi,\n\t\t\tformat,\n\t\t\tunit,\n\t\t\tfileName,\n\t\t\t'maplibregl-marker',\n\t\t\tmarkerCirclePaint,\n\t\t\t'maplibregl-ctrl-attrib-inner',\n\t\t\tattributionOptions,\n\t\t\tnorthIconOptions\n\t\t);\n\t}\n\n\tprotected getRenderedMap(container: HTMLElement, style: StyleSpecification) {\n\t\t// Render map\n\t\tconst renderMap: MaplibreMap = new MaplibreMap({\n\t\t\tcontainer,\n\t\t\tstyle,\n\t\t\tcenter: this.map.getCenter(),\n\t\t\tzoom: this.map.getZoom(),\n\t\t\tbearing: this.map.getBearing(),\n\t\t\tpitch: this.map.getPitch(),\n\t\t\tinteractive: false,\n\t\t\tcanvasContextAttributes: {\n\t\t\t\tpreserveDrawingBuffer: true\n\t\t\t},\n\t\t\tfadeDuration: 0,\n\t\t\t// attributionControl: false,\n\t\t\t// hack to read transform request callback function\n\t\t\t// eslint-disable-next-line\n\t\t\t// @ts-ignore\n\t\t\ttransformRequest: (this.map as unknown)._requestManager._transformRequestFn\n\t\t});\n\n\t\tconst terrain = (this.map as MaplibreMap).getTerrain();\n\t\tif (terrain) {\n\t\t\t// if terrain is enabled, restore pitch correctly\n\t\t\trenderMap.setMaxPitch(85);\n\t\t\trenderMap.setPitch(this.map.getPitch());\n\t\t}\n\n\t\t// the below code was added by https://github.com/watergis/maplibre-gl-export/pull/18.\n\t\tconst images = ((this.map as MaplibreMap).style.imageManager || {}).images || [];\n\t\tObject.keys(images).forEach((key) => {\n\t\t\tif (!images[key].data) return;\n\t\t\trenderMap.addImage(key, images[key].data);\n\t\t});\n\n\t\treturn renderMap;\n\t}\n\n\tprotected renderMapPost(renderMap: MaplibreMap) {\n\t\tconst terrain = (this.map as MaplibreMap).getTerrain();\n\t\tif (terrain) {\n\t\t\t// if terrain is enabled, set terrain for rendered map object\n\t\t\trenderMap.setTerrain({\n\t\t\t\tsource: terrain.source,\n\t\t\t\texaggeration: terrain.exaggeration\n\t\t\t});\n\t\t}\n\n\t\treturn renderMap;\n\t}\n}\n","/*!\n * html2canvas 1.4.1 <https://html2canvas.hertzen.com>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n    return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || from);\r\n}\n\nvar Bounds = /** @class */ (function () {\n    function Bounds(left, top, width, height) {\n        this.left = left;\n        this.top = top;\n        this.width = width;\n        this.height = height;\n    }\n    Bounds.prototype.add = function (x, y, w, h) {\n        return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n    };\n    Bounds.fromClientRect = function (context, clientRect) {\n        return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n    };\n    Bounds.fromDOMRectList = function (context, domRectList) {\n        var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n        return domRect\n            ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n            : Bounds.EMPTY;\n    };\n    Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n    return Bounds;\n}());\nvar parseBounds = function (context, node) {\n    return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\nvar parseDocumentSize = function (document) {\n    var body = document.body;\n    var documentElement = document.documentElement;\n    if (!body || !documentElement) {\n        throw new Error(\"Unable to get document size\");\n    }\n    var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n    var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n    return new Bounds(0, 0, width, height);\n};\n\n/*\n * css-line-break 2.1.0 <https://github.com/niklasvh/css-line-break#readme>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar toCodePoints$1 = function (str) {\n    var codePoints = [];\n    var i = 0;\n    var length = str.length;\n    while (i < length) {\n        var value = str.charCodeAt(i++);\n        if (value >= 0xd800 && value <= 0xdbff && i < length) {\n            var extra = str.charCodeAt(i++);\n            if ((extra & 0xfc00) === 0xdc00) {\n                codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n            }\n            else {\n                codePoints.push(value);\n                i--;\n            }\n        }\n        else {\n            codePoints.push(value);\n        }\n    }\n    return codePoints;\n};\nvar fromCodePoint$1 = function () {\n    var codePoints = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        codePoints[_i] = arguments[_i];\n    }\n    if (String.fromCodePoint) {\n        return String.fromCodePoint.apply(String, codePoints);\n    }\n    var length = codePoints.length;\n    if (!length) {\n        return '';\n    }\n    var codeUnits = [];\n    var index = -1;\n    var result = '';\n    while (++index < length) {\n        var codePoint = codePoints[index];\n        if (codePoint <= 0xffff) {\n            codeUnits.push(codePoint);\n        }\n        else {\n            codePoint -= 0x10000;\n            codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n        }\n        if (index + 1 === length || codeUnits.length > 0x4000) {\n            result += String.fromCharCode.apply(String, codeUnits);\n            codeUnits.length = 0;\n        }\n    }\n    return result;\n};\nvar chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n    lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n}\n\n/*\n * utrie 1.0.2 <https://github.com/niklasvh/utrie>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n    lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n}\nvar decode$1 = function (base64) {\n    var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n    if (base64[base64.length - 1] === '=') {\n        bufferLength--;\n        if (base64[base64.length - 2] === '=') {\n            bufferLength--;\n        }\n    }\n    var buffer = typeof ArrayBuffer !== 'undefined' &&\n        typeof Uint8Array !== 'undefined' &&\n        typeof Uint8Array.prototype.slice !== 'undefined'\n        ? new ArrayBuffer(bufferLength)\n        : new Array(bufferLength);\n    var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n    for (i = 0; i < len; i += 4) {\n        encoded1 = lookup$1$1[base64.charCodeAt(i)];\n        encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n        encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n        encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n        bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n        bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n        bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n    }\n    return buffer;\n};\nvar polyUint16Array$1 = function (buffer) {\n    var length = buffer.length;\n    var bytes = [];\n    for (var i = 0; i < length; i += 2) {\n        bytes.push((buffer[i + 1] << 8) | buffer[i]);\n    }\n    return bytes;\n};\nvar polyUint32Array$1 = function (buffer) {\n    var length = buffer.length;\n    var bytes = [];\n    for (var i = 0; i < length; i += 4) {\n        bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n    }\n    return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2$1 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1$1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT$1 = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\nvar slice16$1 = function (view, start, end) {\n    if (view.slice) {\n        return view.slice(start, end);\n    }\n    return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32$1 = function (view, start, end) {\n    if (view.slice) {\n        return view.slice(start, end);\n    }\n    return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64$1 = function (base64, _byteLength) {\n    var buffer = decode$1(base64);\n    var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n    var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n    var headerLength = 24;\n    var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n    var data = view32[5] === 2\n        ? slice16$1(view16, (headerLength + view32[4]) / 2)\n        : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n    return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie$1 = /** @class */ (function () {\n    function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n        this.initialValue = initialValue;\n        this.errorValue = errorValue;\n        this.highStart = highStart;\n        this.highValueIndex = highValueIndex;\n        this.index = index;\n        this.data = data;\n    }\n    /**\n     * Get the value for a code point as stored in the Trie.\n     *\n     * @param codePoint the code point\n     * @return the value\n     */\n    Trie.prototype.get = function (codePoint) {\n        var ix;\n        if (codePoint >= 0) {\n            if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n                // Ordinary BMP code point, excluding leading surrogates.\n                // BMP uses a single level lookup.  BMP index starts at offset 0 in the Trie2 index.\n                // 16 bit data is stored in the index array itself.\n                ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n                ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n                return this.data[ix];\n            }\n            if (codePoint <= 0xffff) {\n                // Lead Surrogate Code Point.  A Separate index section is stored for\n                // lead surrogate code units and code points.\n                //   The main index has the code unit data.\n                //   For this function, we need the code point data.\n                // Note: this expression could be refactored for slightly improved efficiency, but\n                //       surrogate code points will be so rare in practice that it's not worth it.\n                ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n                ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n                return this.data[ix];\n            }\n            if (codePoint < this.highStart) {\n                // Supplemental code point, use two-level lookup.\n                ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n                ix = this.index[ix];\n                ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n                ix = this.index[ix];\n                ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n                return this.data[ix];\n            }\n            if (codePoint <= 0x10ffff) {\n                return this.data[this.highValueIndex];\n            }\n        }\n        // Fall through.  The code point is outside of the legal range of 0..0x10ffff.\n        return this.errorValue;\n    };\n    return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n    lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n}\n\nvar base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\nvar LETTER_NUMBER_MODIFIER = 50;\n// Non-tailorable Line Breaking Classes\nvar BK = 1; //  Cause a line break (after)\nvar CR$1 = 2; //  Cause a line break (after), except between CR and LF\nvar LF$1 = 3; //  Cause a line break (after)\nvar CM = 4; //  Prohibit a line break between the character and the preceding character\nvar NL = 5; //  Cause a line break (after)\nvar WJ = 7; //  Prohibit line breaks before and after\nvar ZW = 8; //  Provide a break opportunity\nvar GL = 9; //  Prohibit line breaks before and after\nvar SP = 10; // Enable indirect line breaks\nvar ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nvar B2 = 12; //  Provide a line break opportunity before and after the character\nvar BA = 13; //  Generally provide a line break opportunity after the character\nvar BB = 14; //  Generally provide a line break opportunity before the character\nvar HY = 15; //  Provide a line break opportunity after the character, except in numeric context\nvar CB = 16; //   Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nvar CL = 17; //  Prohibit line breaks before\nvar CP = 18; //  Prohibit line breaks before\nvar EX = 19; //  Prohibit line breaks before\nvar IN = 20; //  Allow only indirect line breaks between pairs\nvar NS = 21; //  Allow only indirect line breaks before\nvar OP = 22; //  Prohibit line breaks after\nvar QU = 23; //  Act like they are both opening and closing\n// Numeric Context\nvar IS = 24; //  Prevent breaks after any and before numeric\nvar NU = 25; //  Form numeric expressions for line breaking purposes\nvar PO = 26; //  Do not break following a numeric expression\nvar PR = 27; //  Do not break in front of a numeric expression\nvar SY = 28; //  Prevent a break before; and allow a break after\n// Other Characters\nvar AI = 29; //  Act like AL when the resolvedEAW is N; otherwise; act as ID\nvar AL = 30; //  Are alphabetic characters or symbols that are used with alphabetic characters\nvar CJ = 31; //  Treat as NS or ID for strict or normal breaking.\nvar EB = 32; //  Do not break from following Emoji Modifier\nvar EM = 33; //  Do not break from preceding Emoji Base\nvar H2 = 34; //  Form Korean syllable blocks\nvar H3 = 35; //  Form Korean syllable blocks\nvar HL = 36; //  Do not break around a following hyphen; otherwise act as Alphabetic\nvar ID = 37; //  Break before or after; except in some numeric context\nvar JL = 38; //  Form Korean syllable blocks\nvar JV = 39; //  Form Korean syllable blocks\nvar JT = 40; //  Form Korean syllable blocks\nvar RI$1 = 41; //  Keep pairs together. For pairs; break before and after other classes\nvar SA = 42; //  Provide a line break opportunity contingent on additional, language-specific context analysis\nvar XX = 43; //  Have as yet unknown line breaking behavior or unassigned code positions\nvar ea_OP = [0x2329, 0xff08];\nvar BREAK_MANDATORY = '!';\nvar BREAK_NOT_ALLOWED$1 = '×';\nvar BREAK_ALLOWED$1 = '÷';\nvar UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\nvar ALPHABETICS = [AL, HL];\nvar HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\nvar SPACE$1 = [SP, ZW];\nvar PREFIX_POSTFIX = [PR, PO];\nvar LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\nvar KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nvar HYPHEN = [HY, BA];\nvar codePointsToCharacterClasses = function (codePoints, lineBreak) {\n    if (lineBreak === void 0) { lineBreak = 'strict'; }\n    var types = [];\n    var indices = [];\n    var categories = [];\n    codePoints.forEach(function (codePoint, index) {\n        var classType = UnicodeTrie$1.get(codePoint);\n        if (classType > LETTER_NUMBER_MODIFIER) {\n            categories.push(true);\n            classType -= LETTER_NUMBER_MODIFIER;\n        }\n        else {\n            categories.push(false);\n        }\n        if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n            // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n            if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n                indices.push(index);\n                return types.push(CB);\n            }\n        }\n        if (classType === CM || classType === ZWJ$1) {\n            // LB10 Treat any remaining combining mark or ZWJ as AL.\n            if (index === 0) {\n                indices.push(index);\n                return types.push(AL);\n            }\n            // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n            // the base character in all of the following rules. Treat ZWJ as if it were CM.\n            var prev = types[index - 1];\n            if (LINE_BREAKS.indexOf(prev) === -1) {\n                indices.push(indices[index - 1]);\n                return types.push(prev);\n            }\n            indices.push(index);\n            return types.push(AL);\n        }\n        indices.push(index);\n        if (classType === CJ) {\n            return types.push(lineBreak === 'strict' ? NS : ID);\n        }\n        if (classType === SA) {\n            return types.push(AL);\n        }\n        if (classType === AI) {\n            return types.push(AL);\n        }\n        // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n        // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n        // to take into account the actual line breaking properties for these characters.\n        if (classType === XX) {\n            if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n                return types.push(ID);\n            }\n            else {\n                return types.push(AL);\n            }\n        }\n        types.push(classType);\n    });\n    return [indices, types, categories];\n};\nvar isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n    var current = classTypes[currentIndex];\n    if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n        var i = currentIndex;\n        while (i <= classTypes.length) {\n            i++;\n            var next = classTypes[i];\n            if (next === b) {\n                return true;\n            }\n            if (next !== SP) {\n                break;\n            }\n        }\n    }\n    if (current === SP) {\n        var i = currentIndex;\n        while (i > 0) {\n            i--;\n            var prev = classTypes[i];\n            if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n                var n = currentIndex;\n                while (n <= classTypes.length) {\n                    n++;\n                    var next = classTypes[n];\n                    if (next === b) {\n                        return true;\n                    }\n                    if (next !== SP) {\n                        break;\n                    }\n                }\n            }\n            if (prev !== SP) {\n                break;\n            }\n        }\n    }\n    return false;\n};\nvar previousNonSpaceClassType = function (currentIndex, classTypes) {\n    var i = currentIndex;\n    while (i >= 0) {\n        var type = classTypes[i];\n        if (type === SP) {\n            i--;\n        }\n        else {\n            return type;\n        }\n    }\n    return 0;\n};\nvar _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n    if (indicies[index] === 0) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    var currentIndex = index - 1;\n    if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    var beforeIndex = currentIndex - 1;\n    var afterIndex = currentIndex + 1;\n    var current = classTypes[currentIndex];\n    // LB4 Always break after hard line breaks.\n    // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n    var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n    var next = classTypes[afterIndex];\n    if (current === CR$1 && next === LF$1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n        return BREAK_MANDATORY;\n    }\n    // LB6 Do not break before hard line breaks.\n    if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB7 Do not break before spaces or zero width space.\n    if (SPACE$1.indexOf(next) !== -1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n    if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n        return BREAK_ALLOWED$1;\n    }\n    // LB8a Do not break after a zero width joiner.\n    if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // zwj emojis\n    if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB11 Do not break before or after Word joiner and related characters.\n    if (current === WJ || next === WJ) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB12 Do not break after NBSP and related characters.\n    if (current === GL) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n    if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n    if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB14 Do not break after ‘[’, even after spaces.\n    if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB15 Do not break within ‘”[’, even with intervening spaces.\n    if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n    if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB17 Do not break within ‘——’, even with intervening spaces.\n    if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB18 Break after spaces.\n    if (current === SP) {\n        return BREAK_ALLOWED$1;\n    }\n    // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n    if (current === QU || next === QU) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB20 Break before and after unresolved CB.\n    if (next === CB || current === CB) {\n        return BREAK_ALLOWED$1;\n    }\n    // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n    if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB21a Don't break after Hebrew + Hyphen.\n    if (before === HL && HYPHEN.indexOf(current) !== -1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB21b Don’t break between Solidus and Hebrew letters.\n    if (current === SY && next === HL) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB22 Do not break before ellipsis.\n    if (next === IN) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB23 Do not break between digits and letters.\n    if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n    if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n        ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n    if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n        (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB25 Do not break between the following pairs of classes relevant to numbers:\n    if (\n    // (PR | PO) × ( OP | HY )? NU\n    ([PR, PO].indexOf(current) !== -1 &&\n        (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n        // ( OP | HY ) × NU\n        ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n        // NU ×\t(NU | SY | IS)\n        (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n    if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n        var prevIndex = currentIndex;\n        while (prevIndex >= 0) {\n            var type = classTypes[prevIndex];\n            if (type === NU) {\n                return BREAK_NOT_ALLOWED$1;\n            }\n            else if ([SY, IS].indexOf(type) !== -1) {\n                prevIndex--;\n            }\n            else {\n                break;\n            }\n        }\n    }\n    // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n    if ([PR, PO].indexOf(next) !== -1) {\n        var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n        while (prevIndex >= 0) {\n            var type = classTypes[prevIndex];\n            if (type === NU) {\n                return BREAK_NOT_ALLOWED$1;\n            }\n            else if ([SY, IS].indexOf(type) !== -1) {\n                prevIndex--;\n            }\n            else {\n                break;\n            }\n        }\n    }\n    // LB26 Do not break a Korean syllable.\n    if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n        ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n        ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB27 Treat a Korean Syllable Block the same as ID.\n    if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n        (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB28 Do not break between alphabetics (“at”).\n    if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n    if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n    if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n        next === OP &&\n        ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n        (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n    // indicators preceding the position of the break.\n    if (current === RI$1 && next === RI$1) {\n        var i = indicies[currentIndex];\n        var count = 1;\n        while (i > 0) {\n            i--;\n            if (classTypes[i] === RI$1) {\n                count++;\n            }\n            else {\n                break;\n            }\n        }\n        if (count % 2 !== 0) {\n            return BREAK_NOT_ALLOWED$1;\n        }\n    }\n    // LB30b Do not break between an emoji base and an emoji modifier.\n    if (current === EB && next === EM) {\n        return BREAK_NOT_ALLOWED$1;\n    }\n    return BREAK_ALLOWED$1;\n};\nvar cssFormattedClasses = function (codePoints, options) {\n    if (!options) {\n        options = { lineBreak: 'normal', wordBreak: 'normal' };\n    }\n    var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n    if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n        classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n    }\n    var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n        ? isLetterNumber.map(function (letterNumber, i) {\n            return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n        })\n        : undefined;\n    return [indicies, classTypes, forbiddenBreakpoints];\n};\nvar Break = /** @class */ (function () {\n    function Break(codePoints, lineBreak, start, end) {\n        this.codePoints = codePoints;\n        this.required = lineBreak === BREAK_MANDATORY;\n        this.start = start;\n        this.end = end;\n    }\n    Break.prototype.slice = function () {\n        return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n    };\n    return Break;\n}());\nvar LineBreaker = function (str, options) {\n    var codePoints = toCodePoints$1(str);\n    var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n    var length = codePoints.length;\n    var lastEnd = 0;\n    var nextIndex = 0;\n    return {\n        next: function () {\n            if (nextIndex >= length) {\n                return { done: true, value: null };\n            }\n            var lineBreak = BREAK_NOT_ALLOWED$1;\n            while (nextIndex < length &&\n                (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n                    BREAK_NOT_ALLOWED$1) { }\n            if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n                var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n                lastEnd = nextIndex;\n                return { value: value, done: false };\n            }\n            return { done: true, value: null };\n        },\n    };\n};\n\n// https://www.w3.org/TR/css-syntax-3\nvar FLAG_UNRESTRICTED = 1 << 0;\nvar FLAG_ID = 1 << 1;\nvar FLAG_INTEGER = 1 << 2;\nvar FLAG_NUMBER = 1 << 3;\nvar LINE_FEED = 0x000a;\nvar SOLIDUS = 0x002f;\nvar REVERSE_SOLIDUS = 0x005c;\nvar CHARACTER_TABULATION = 0x0009;\nvar SPACE = 0x0020;\nvar QUOTATION_MARK = 0x0022;\nvar EQUALS_SIGN = 0x003d;\nvar NUMBER_SIGN = 0x0023;\nvar DOLLAR_SIGN = 0x0024;\nvar PERCENTAGE_SIGN = 0x0025;\nvar APOSTROPHE = 0x0027;\nvar LEFT_PARENTHESIS = 0x0028;\nvar RIGHT_PARENTHESIS = 0x0029;\nvar LOW_LINE = 0x005f;\nvar HYPHEN_MINUS = 0x002d;\nvar EXCLAMATION_MARK = 0x0021;\nvar LESS_THAN_SIGN = 0x003c;\nvar GREATER_THAN_SIGN = 0x003e;\nvar COMMERCIAL_AT = 0x0040;\nvar LEFT_SQUARE_BRACKET = 0x005b;\nvar RIGHT_SQUARE_BRACKET = 0x005d;\nvar CIRCUMFLEX_ACCENT = 0x003d;\nvar LEFT_CURLY_BRACKET = 0x007b;\nvar QUESTION_MARK = 0x003f;\nvar RIGHT_CURLY_BRACKET = 0x007d;\nvar VERTICAL_LINE = 0x007c;\nvar TILDE = 0x007e;\nvar CONTROL = 0x0080;\nvar REPLACEMENT_CHARACTER = 0xfffd;\nvar ASTERISK = 0x002a;\nvar PLUS_SIGN = 0x002b;\nvar COMMA = 0x002c;\nvar COLON = 0x003a;\nvar SEMICOLON = 0x003b;\nvar FULL_STOP = 0x002e;\nvar NULL = 0x0000;\nvar BACKSPACE = 0x0008;\nvar LINE_TABULATION = 0x000b;\nvar SHIFT_OUT = 0x000e;\nvar INFORMATION_SEPARATOR_ONE = 0x001f;\nvar DELETE = 0x007f;\nvar EOF = -1;\nvar ZERO = 0x0030;\nvar a = 0x0061;\nvar e = 0x0065;\nvar f = 0x0066;\nvar u = 0x0075;\nvar z = 0x007a;\nvar A = 0x0041;\nvar E = 0x0045;\nvar F = 0x0046;\nvar U = 0x0055;\nvar Z = 0x005a;\nvar isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\nvar isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\nvar isHex = function (codePoint) {\n    return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n};\nvar isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\nvar isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\nvar isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\nvar isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\nvar isWhiteSpace = function (codePoint) {\n    return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n};\nvar isNameStartCodePoint = function (codePoint) {\n    return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n};\nvar isNameCodePoint = function (codePoint) {\n    return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n};\nvar isNonPrintableCodePoint = function (codePoint) {\n    return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n        codePoint === LINE_TABULATION ||\n        (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n        codePoint === DELETE);\n};\nvar isValidEscape = function (c1, c2) {\n    if (c1 !== REVERSE_SOLIDUS) {\n        return false;\n    }\n    return c2 !== LINE_FEED;\n};\nvar isIdentifierStart = function (c1, c2, c3) {\n    if (c1 === HYPHEN_MINUS) {\n        return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n    }\n    else if (isNameStartCodePoint(c1)) {\n        return true;\n    }\n    else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n        return true;\n    }\n    return false;\n};\nvar isNumberStart = function (c1, c2, c3) {\n    if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n        if (isDigit(c2)) {\n            return true;\n        }\n        return c2 === FULL_STOP && isDigit(c3);\n    }\n    if (c1 === FULL_STOP) {\n        return isDigit(c2);\n    }\n    return isDigit(c1);\n};\nvar stringToNumber = function (codePoints) {\n    var c = 0;\n    var sign = 1;\n    if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n        if (codePoints[c] === HYPHEN_MINUS) {\n            sign = -1;\n        }\n        c++;\n    }\n    var integers = [];\n    while (isDigit(codePoints[c])) {\n        integers.push(codePoints[c++]);\n    }\n    var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n    if (codePoints[c] === FULL_STOP) {\n        c++;\n    }\n    var fraction = [];\n    while (isDigit(codePoints[c])) {\n        fraction.push(codePoints[c++]);\n    }\n    var fracd = fraction.length;\n    var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n    if (codePoints[c] === E || codePoints[c] === e) {\n        c++;\n    }\n    var expsign = 1;\n    if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n        if (codePoints[c] === HYPHEN_MINUS) {\n            expsign = -1;\n        }\n        c++;\n    }\n    var exponent = [];\n    while (isDigit(codePoints[c])) {\n        exponent.push(codePoints[c++]);\n    }\n    var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n    return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\nvar LEFT_PARENTHESIS_TOKEN = {\n    type: 2 /* LEFT_PARENTHESIS_TOKEN */\n};\nvar RIGHT_PARENTHESIS_TOKEN = {\n    type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n};\nvar COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\nvar SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\nvar PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\nvar COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\nvar DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\nvar INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\nvar LEFT_CURLY_BRACKET_TOKEN = {\n    type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n};\nvar RIGHT_CURLY_BRACKET_TOKEN = {\n    type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n};\nvar SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\nvar BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\nvar BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\nvar CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\nvar CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\nvar COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\nvar SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\nvar LEFT_SQUARE_BRACKET_TOKEN = {\n    type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n};\nvar RIGHT_SQUARE_BRACKET_TOKEN = {\n    type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n};\nvar WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\nvar EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\nvar Tokenizer = /** @class */ (function () {\n    function Tokenizer() {\n        this._value = [];\n    }\n    Tokenizer.prototype.write = function (chunk) {\n        this._value = this._value.concat(toCodePoints$1(chunk));\n    };\n    Tokenizer.prototype.read = function () {\n        var tokens = [];\n        var token = this.consumeToken();\n        while (token !== EOF_TOKEN) {\n            tokens.push(token);\n            token = this.consumeToken();\n        }\n        return tokens;\n    };\n    Tokenizer.prototype.consumeToken = function () {\n        var codePoint = this.consumeCodePoint();\n        switch (codePoint) {\n            case QUOTATION_MARK:\n                return this.consumeStringToken(QUOTATION_MARK);\n            case NUMBER_SIGN:\n                var c1 = this.peekCodePoint(0);\n                var c2 = this.peekCodePoint(1);\n                var c3 = this.peekCodePoint(2);\n                if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n                    var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n                    var value = this.consumeName();\n                    return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n                }\n                break;\n            case DOLLAR_SIGN:\n                if (this.peekCodePoint(0) === EQUALS_SIGN) {\n                    this.consumeCodePoint();\n                    return SUFFIX_MATCH_TOKEN;\n                }\n                break;\n            case APOSTROPHE:\n                return this.consumeStringToken(APOSTROPHE);\n            case LEFT_PARENTHESIS:\n                return LEFT_PARENTHESIS_TOKEN;\n            case RIGHT_PARENTHESIS:\n                return RIGHT_PARENTHESIS_TOKEN;\n            case ASTERISK:\n                if (this.peekCodePoint(0) === EQUALS_SIGN) {\n                    this.consumeCodePoint();\n                    return SUBSTRING_MATCH_TOKEN;\n                }\n                break;\n            case PLUS_SIGN:\n                if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n                    this.reconsumeCodePoint(codePoint);\n                    return this.consumeNumericToken();\n                }\n                break;\n            case COMMA:\n                return COMMA_TOKEN;\n            case HYPHEN_MINUS:\n                var e1 = codePoint;\n                var e2 = this.peekCodePoint(0);\n                var e3 = this.peekCodePoint(1);\n                if (isNumberStart(e1, e2, e3)) {\n                    this.reconsumeCodePoint(codePoint);\n                    return this.consumeNumericToken();\n                }\n                if (isIdentifierStart(e1, e2, e3)) {\n                    this.reconsumeCodePoint(codePoint);\n                    return this.consumeIdentLikeToken();\n                }\n                if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n                    this.consumeCodePoint();\n                    this.consumeCodePoint();\n                    return CDC_TOKEN;\n                }\n                break;\n            case FULL_STOP:\n                if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n                    this.reconsumeCodePoint(codePoint);\n                    return this.consumeNumericToken();\n                }\n                break;\n            case SOLIDUS:\n                if (this.peekCodePoint(0) === ASTERISK) {\n                    this.consumeCodePoint();\n                    while (true) {\n                        var c = this.consumeCodePoint();\n                        if (c === ASTERISK) {\n                            c = this.consumeCodePoint();\n                            if (c === SOLIDUS) {\n                                return this.consumeToken();\n                            }\n                        }\n                        if (c === EOF) {\n                            return this.consumeToken();\n                        }\n                    }\n                }\n                break;\n            case COLON:\n                return COLON_TOKEN;\n            case SEMICOLON:\n                return SEMICOLON_TOKEN;\n            case LESS_THAN_SIGN:\n                if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n                    this.peekCodePoint(1) === HYPHEN_MINUS &&\n                    this.peekCodePoint(2) === HYPHEN_MINUS) {\n                    this.consumeCodePoint();\n                    this.consumeCodePoint();\n                    return CDO_TOKEN;\n                }\n                break;\n            case COMMERCIAL_AT:\n                var a1 = this.peekCodePoint(0);\n                var a2 = this.peekCodePoint(1);\n                var a3 = this.peekCodePoint(2);\n                if (isIdentifierStart(a1, a2, a3)) {\n                    var value = this.consumeName();\n                    return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n                }\n                break;\n            case LEFT_SQUARE_BRACKET:\n                return LEFT_SQUARE_BRACKET_TOKEN;\n            case REVERSE_SOLIDUS:\n                if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n                    this.reconsumeCodePoint(codePoint);\n                    return this.consumeIdentLikeToken();\n                }\n                break;\n            case RIGHT_SQUARE_BRACKET:\n                return RIGHT_SQUARE_BRACKET_TOKEN;\n            case CIRCUMFLEX_ACCENT:\n                if (this.peekCodePoint(0) === EQUALS_SIGN) {\n                    this.consumeCodePoint();\n                    return PREFIX_MATCH_TOKEN;\n                }\n                break;\n            case LEFT_CURLY_BRACKET:\n                return LEFT_CURLY_BRACKET_TOKEN;\n            case RIGHT_CURLY_BRACKET:\n                return RIGHT_CURLY_BRACKET_TOKEN;\n            case u:\n            case U:\n                var u1 = this.peekCodePoint(0);\n                var u2 = this.peekCodePoint(1);\n                if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n                    this.consumeCodePoint();\n                    this.consumeUnicodeRangeToken();\n                }\n                this.reconsumeCodePoint(codePoint);\n                return this.consumeIdentLikeToken();\n            case VERTICAL_LINE:\n                if (this.peekCodePoint(0) === EQUALS_SIGN) {\n                    this.consumeCodePoint();\n                    return DASH_MATCH_TOKEN;\n                }\n                if (this.peekCodePoint(0) === VERTICAL_LINE) {\n                    this.consumeCodePoint();\n                    return COLUMN_TOKEN;\n                }\n                break;\n            case TILDE:\n                if (this.peekCodePoint(0) === EQUALS_SIGN) {\n                    this.consumeCodePoint();\n                    return INCLUDE_MATCH_TOKEN;\n                }\n                break;\n            case EOF:\n                return EOF_TOKEN;\n        }\n        if (isWhiteSpace(codePoint)) {\n            this.consumeWhiteSpace();\n            return WHITESPACE_TOKEN;\n        }\n        if (isDigit(codePoint)) {\n            this.reconsumeCodePoint(codePoint);\n            return this.consumeNumericToken();\n        }\n        if (isNameStartCodePoint(codePoint)) {\n            this.reconsumeCodePoint(codePoint);\n            return this.consumeIdentLikeToken();\n        }\n        return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n    };\n    Tokenizer.prototype.consumeCodePoint = function () {\n        var value = this._value.shift();\n        return typeof value === 'undefined' ? -1 : value;\n    };\n    Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n        this._value.unshift(codePoint);\n    };\n    Tokenizer.prototype.peekCodePoint = function (delta) {\n        if (delta >= this._value.length) {\n            return -1;\n        }\n        return this._value[delta];\n    };\n    Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n        var digits = [];\n        var codePoint = this.consumeCodePoint();\n        while (isHex(codePoint) && digits.length < 6) {\n            digits.push(codePoint);\n            codePoint = this.consumeCodePoint();\n        }\n        var questionMarks = false;\n        while (codePoint === QUESTION_MARK && digits.length < 6) {\n            digits.push(codePoint);\n            codePoint = this.consumeCodePoint();\n            questionMarks = true;\n        }\n        if (questionMarks) {\n            var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n            var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n            return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n        }\n        var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n        if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n            this.consumeCodePoint();\n            codePoint = this.consumeCodePoint();\n            var endDigits = [];\n            while (isHex(codePoint) && endDigits.length < 6) {\n                endDigits.push(codePoint);\n                codePoint = this.consumeCodePoint();\n            }\n            var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n            return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n        }\n        else {\n            return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n        }\n    };\n    Tokenizer.prototype.consumeIdentLikeToken = function () {\n        var value = this.consumeName();\n        if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n            this.consumeCodePoint();\n            return this.consumeUrlToken();\n        }\n        else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n            this.consumeCodePoint();\n            return { type: 19 /* FUNCTION_TOKEN */, value: value };\n        }\n        return { type: 20 /* IDENT_TOKEN */, value: value };\n    };\n    Tokenizer.prototype.consumeUrlToken = function () {\n        var value = [];\n        this.consumeWhiteSpace();\n        if (this.peekCodePoint(0) === EOF) {\n            return { type: 22 /* URL_TOKEN */, value: '' };\n        }\n        var next = this.peekCodePoint(0);\n        if (next === APOSTROPHE || next === QUOTATION_MARK) {\n            var stringToken = this.consumeStringToken(this.consumeCodePoint());\n            if (stringToken.type === 0 /* STRING_TOKEN */) {\n                this.consumeWhiteSpace();\n                if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n                    this.consumeCodePoint();\n                    return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n                }\n            }\n            this.consumeBadUrlRemnants();\n            return BAD_URL_TOKEN;\n        }\n        while (true) {\n            var codePoint = this.consumeCodePoint();\n            if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n                return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n            }\n            else if (isWhiteSpace(codePoint)) {\n                this.consumeWhiteSpace();\n                if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n                    this.consumeCodePoint();\n                    return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n                }\n                this.consumeBadUrlRemnants();\n                return BAD_URL_TOKEN;\n            }\n            else if (codePoint === QUOTATION_MARK ||\n                codePoint === APOSTROPHE ||\n                codePoint === LEFT_PARENTHESIS ||\n                isNonPrintableCodePoint(codePoint)) {\n                this.consumeBadUrlRemnants();\n                return BAD_URL_TOKEN;\n            }\n            else if (codePoint === REVERSE_SOLIDUS) {\n                if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n                    value.push(this.consumeEscapedCodePoint());\n                }\n                else {\n                    this.consumeBadUrlRemnants();\n                    return BAD_URL_TOKEN;\n                }\n            }\n            else {\n                value.push(codePoint);\n            }\n        }\n    };\n    Tokenizer.prototype.consumeWhiteSpace = function () {\n        while (isWhiteSpace(this.peekCodePoint(0))) {\n            this.consumeCodePoint();\n        }\n    };\n    Tokenizer.prototype.consumeBadUrlRemnants = function () {\n        while (true) {\n            var codePoint = this.consumeCodePoint();\n            if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n                return;\n            }\n            if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n                this.consumeEscapedCodePoint();\n            }\n        }\n    };\n    Tokenizer.prototype.consumeStringSlice = function (count) {\n        var SLICE_STACK_SIZE = 50000;\n        var value = '';\n        while (count > 0) {\n            var amount = Math.min(SLICE_STACK_SIZE, count);\n            value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n            count -= amount;\n        }\n        this._value.shift();\n        return value;\n    };\n    Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n        var value = '';\n        var i = 0;\n        do {\n            var codePoint = this._value[i];\n            if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n                value += this.consumeStringSlice(i);\n                return { type: 0 /* STRING_TOKEN */, value: value };\n            }\n            if (codePoint === LINE_FEED) {\n                this._value.splice(0, i);\n                return BAD_STRING_TOKEN;\n            }\n            if (codePoint === REVERSE_SOLIDUS) {\n                var next = this._value[i + 1];\n                if (next !== EOF && next !== undefined) {\n                    if (next === LINE_FEED) {\n                        value += this.consumeStringSlice(i);\n                        i = -1;\n                        this._value.shift();\n                    }\n                    else if (isValidEscape(codePoint, next)) {\n                        value += this.consumeStringSlice(i);\n                        value += fromCodePoint$1(this.consumeEscapedCodePoint());\n                        i = -1;\n                    }\n                }\n            }\n            i++;\n        } while (true);\n    };\n    Tokenizer.prototype.consumeNumber = function () {\n        var repr = [];\n        var type = FLAG_INTEGER;\n        var c1 = this.peekCodePoint(0);\n        if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n            repr.push(this.consumeCodePoint());\n        }\n        while (isDigit(this.peekCodePoint(0))) {\n            repr.push(this.consumeCodePoint());\n        }\n        c1 = this.peekCodePoint(0);\n        var c2 = this.peekCodePoint(1);\n        if (c1 === FULL_STOP && isDigit(c2)) {\n            repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n            type = FLAG_NUMBER;\n            while (isDigit(this.peekCodePoint(0))) {\n                repr.push(this.consumeCodePoint());\n            }\n        }\n        c1 = this.peekCodePoint(0);\n        c2 = this.peekCodePoint(1);\n        var c3 = this.peekCodePoint(2);\n        if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n            repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n            type = FLAG_NUMBER;\n            while (isDigit(this.peekCodePoint(0))) {\n                repr.push(this.consumeCodePoint());\n            }\n        }\n        return [stringToNumber(repr), type];\n    };\n    Tokenizer.prototype.consumeNumericToken = function () {\n        var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n        var c1 = this.peekCodePoint(0);\n        var c2 = this.peekCodePoint(1);\n        var c3 = this.peekCodePoint(2);\n        if (isIdentifierStart(c1, c2, c3)) {\n            var unit = this.consumeName();\n            return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n        }\n        if (c1 === PERCENTAGE_SIGN) {\n            this.consumeCodePoint();\n            return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n        }\n        return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n    };\n    Tokenizer.prototype.consumeEscapedCodePoint = function () {\n        var codePoint = this.consumeCodePoint();\n        if (isHex(codePoint)) {\n            var hex = fromCodePoint$1(codePoint);\n            while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n                hex += fromCodePoint$1(this.consumeCodePoint());\n            }\n            if (isWhiteSpace(this.peekCodePoint(0))) {\n                this.consumeCodePoint();\n            }\n            var hexCodePoint = parseInt(hex, 16);\n            if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n                return REPLACEMENT_CHARACTER;\n            }\n            return hexCodePoint;\n        }\n        if (codePoint === EOF) {\n            return REPLACEMENT_CHARACTER;\n        }\n        return codePoint;\n    };\n    Tokenizer.prototype.consumeName = function () {\n        var result = '';\n        while (true) {\n            var codePoint = this.consumeCodePoint();\n            if (isNameCodePoint(codePoint)) {\n                result += fromCodePoint$1(codePoint);\n            }\n            else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n                result += fromCodePoint$1(this.consumeEscapedCodePoint());\n            }\n            else {\n                this.reconsumeCodePoint(codePoint);\n                return result;\n            }\n        }\n    };\n    return Tokenizer;\n}());\n\nvar Parser = /** @class */ (function () {\n    function Parser(tokens) {\n        this._tokens = tokens;\n    }\n    Parser.create = function (value) {\n        var tokenizer = new Tokenizer();\n        tokenizer.write(value);\n        return new Parser(tokenizer.read());\n    };\n    Parser.parseValue = function (value) {\n        return Parser.create(value).parseComponentValue();\n    };\n    Parser.parseValues = function (value) {\n        return Parser.create(value).parseComponentValues();\n    };\n    Parser.prototype.parseComponentValue = function () {\n        var token = this.consumeToken();\n        while (token.type === 31 /* WHITESPACE_TOKEN */) {\n            token = this.consumeToken();\n        }\n        if (token.type === 32 /* EOF_TOKEN */) {\n            throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n        }\n        this.reconsumeToken(token);\n        var value = this.consumeComponentValue();\n        do {\n            token = this.consumeToken();\n        } while (token.type === 31 /* WHITESPACE_TOKEN */);\n        if (token.type === 32 /* EOF_TOKEN */) {\n            return value;\n        }\n        throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n    };\n    Parser.prototype.parseComponentValues = function () {\n        var values = [];\n        while (true) {\n            var value = this.consumeComponentValue();\n            if (value.type === 32 /* EOF_TOKEN */) {\n                return values;\n            }\n            values.push(value);\n            values.push();\n        }\n    };\n    Parser.prototype.consumeComponentValue = function () {\n        var token = this.consumeToken();\n        switch (token.type) {\n            case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n            case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n            case 2 /* LEFT_PARENTHESIS_TOKEN */:\n                return this.consumeSimpleBlock(token.type);\n            case 19 /* FUNCTION_TOKEN */:\n                return this.consumeFunction(token);\n        }\n        return token;\n    };\n    Parser.prototype.consumeSimpleBlock = function (type) {\n        var block = { type: type, values: [] };\n        var token = this.consumeToken();\n        while (true) {\n            if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n                return block;\n            }\n            this.reconsumeToken(token);\n            block.values.push(this.consumeComponentValue());\n            token = this.consumeToken();\n        }\n    };\n    Parser.prototype.consumeFunction = function (functionToken) {\n        var cssFunction = {\n            name: functionToken.value,\n            values: [],\n            type: 18 /* FUNCTION */\n        };\n        while (true) {\n            var token = this.consumeToken();\n            if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n                return cssFunction;\n            }\n            this.reconsumeToken(token);\n            cssFunction.values.push(this.consumeComponentValue());\n        }\n    };\n    Parser.prototype.consumeToken = function () {\n        var token = this._tokens.shift();\n        return typeof token === 'undefined' ? EOF_TOKEN : token;\n    };\n    Parser.prototype.reconsumeToken = function (token) {\n        this._tokens.unshift(token);\n    };\n    return Parser;\n}());\nvar isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\nvar isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\nvar isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\nvar isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\nvar isIdentWithValue = function (token, value) {\n    return isIdentToken(token) && token.value === value;\n};\nvar nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\nvar nonFunctionArgSeparator = function (token) {\n    return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n};\nvar parseFunctionArgs = function (tokens) {\n    var args = [];\n    var arg = [];\n    tokens.forEach(function (token) {\n        if (token.type === 4 /* COMMA_TOKEN */) {\n            if (arg.length === 0) {\n                throw new Error(\"Error parsing function args, zero tokens for arg\");\n            }\n            args.push(arg);\n            arg = [];\n            return;\n        }\n        if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n            arg.push(token);\n        }\n    });\n    if (arg.length) {\n        args.push(arg);\n    }\n    return args;\n};\nvar isEndingTokenFor = function (token, type) {\n    if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n        return true;\n    }\n    if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n        return true;\n    }\n    return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n};\n\nvar isLength = function (token) {\n    return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n};\n\nvar isLengthPercentage = function (token) {\n    return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n};\nvar parseLengthPercentageTuple = function (tokens) {\n    return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n};\nvar ZERO_LENGTH = {\n    type: 17 /* NUMBER_TOKEN */,\n    number: 0,\n    flags: FLAG_INTEGER\n};\nvar FIFTY_PERCENT = {\n    type: 16 /* PERCENTAGE_TOKEN */,\n    number: 50,\n    flags: FLAG_INTEGER\n};\nvar HUNDRED_PERCENT = {\n    type: 16 /* PERCENTAGE_TOKEN */,\n    number: 100,\n    flags: FLAG_INTEGER\n};\nvar getAbsoluteValueForTuple = function (tuple, width, height) {\n    var x = tuple[0], y = tuple[1];\n    return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nvar getAbsoluteValue = function (token, parent) {\n    if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n        return (token.number / 100) * parent;\n    }\n    if (isDimensionToken(token)) {\n        switch (token.unit) {\n            case 'rem':\n            case 'em':\n                return 16 * token.number; // TODO use correct font-size\n            case 'px':\n            default:\n                return token.number;\n        }\n    }\n    return token.number;\n};\n\nvar DEG = 'deg';\nvar GRAD = 'grad';\nvar RAD = 'rad';\nvar TURN = 'turn';\nvar angle = {\n    name: 'angle',\n    parse: function (_context, value) {\n        if (value.type === 15 /* DIMENSION_TOKEN */) {\n            switch (value.unit) {\n                case DEG:\n                    return (Math.PI * value.number) / 180;\n                case GRAD:\n                    return (Math.PI / 200) * value.number;\n                case RAD:\n                    return value.number;\n                case TURN:\n                    return Math.PI * 2 * value.number;\n            }\n        }\n        throw new Error(\"Unsupported angle type\");\n    }\n};\nvar isAngle = function (value) {\n    if (value.type === 15 /* DIMENSION_TOKEN */) {\n        if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n            return true;\n        }\n    }\n    return false;\n};\nvar parseNamedSide = function (tokens) {\n    var sideOrCorner = tokens\n        .filter(isIdentToken)\n        .map(function (ident) { return ident.value; })\n        .join(' ');\n    switch (sideOrCorner) {\n        case 'to bottom right':\n        case 'to right bottom':\n        case 'left top':\n        case 'top left':\n            return [ZERO_LENGTH, ZERO_LENGTH];\n        case 'to top':\n        case 'bottom':\n            return deg(0);\n        case 'to bottom left':\n        case 'to left bottom':\n        case 'right top':\n        case 'top right':\n            return [ZERO_LENGTH, HUNDRED_PERCENT];\n        case 'to right':\n        case 'left':\n            return deg(90);\n        case 'to top left':\n        case 'to left top':\n        case 'right bottom':\n        case 'bottom right':\n            return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n        case 'to bottom':\n        case 'top':\n            return deg(180);\n        case 'to top right':\n        case 'to right top':\n        case 'left bottom':\n        case 'bottom left':\n            return [HUNDRED_PERCENT, ZERO_LENGTH];\n        case 'to left':\n        case 'right':\n            return deg(270);\n    }\n    return 0;\n};\nvar deg = function (deg) { return (Math.PI * deg) / 180; };\n\nvar color$1 = {\n    name: 'color',\n    parse: function (context, value) {\n        if (value.type === 18 /* FUNCTION */) {\n            var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n            if (typeof colorFunction === 'undefined') {\n                throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n            }\n            return colorFunction(context, value.values);\n        }\n        if (value.type === 5 /* HASH_TOKEN */) {\n            if (value.value.length === 3) {\n                var r = value.value.substring(0, 1);\n                var g = value.value.substring(1, 2);\n                var b = value.value.substring(2, 3);\n                return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n            }\n            if (value.value.length === 4) {\n                var r = value.value.substring(0, 1);\n                var g = value.value.substring(1, 2);\n                var b = value.value.substring(2, 3);\n                var a = value.value.substring(3, 4);\n                return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n            }\n            if (value.value.length === 6) {\n                var r = value.value.substring(0, 2);\n                var g = value.value.substring(2, 4);\n                var b = value.value.substring(4, 6);\n                return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n            }\n            if (value.value.length === 8) {\n                var r = value.value.substring(0, 2);\n                var g = value.value.substring(2, 4);\n                var b = value.value.substring(4, 6);\n                var a = value.value.substring(6, 8);\n                return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n            }\n        }\n        if (value.type === 20 /* IDENT_TOKEN */) {\n            var namedColor = COLORS[value.value.toUpperCase()];\n            if (typeof namedColor !== 'undefined') {\n                return namedColor;\n            }\n        }\n        return COLORS.TRANSPARENT;\n    }\n};\nvar isTransparent = function (color) { return (0xff & color) === 0; };\nvar asString = function (color) {\n    var alpha = 0xff & color;\n    var blue = 0xff & (color >> 8);\n    var green = 0xff & (color >> 16);\n    var red = 0xff & (color >> 24);\n    return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n};\nvar pack = function (r, g, b, a) {\n    return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n};\nvar getTokenColorValue = function (token, i) {\n    if (token.type === 17 /* NUMBER_TOKEN */) {\n        return token.number;\n    }\n    if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n        var max = i === 3 ? 1 : 255;\n        return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n    }\n    return 0;\n};\nvar rgb = function (_context, args) {\n    var tokens = args.filter(nonFunctionArgSeparator);\n    if (tokens.length === 3) {\n        var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n        return pack(r, g, b, 1);\n    }\n    if (tokens.length === 4) {\n        var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n        return pack(r, g, b, a);\n    }\n    return 0;\n};\nfunction hue2rgb(t1, t2, hue) {\n    if (hue < 0) {\n        hue += 1;\n    }\n    if (hue >= 1) {\n        hue -= 1;\n    }\n    if (hue < 1 / 6) {\n        return (t2 - t1) * hue * 6 + t1;\n    }\n    else if (hue < 1 / 2) {\n        return t2;\n    }\n    else if (hue < 2 / 3) {\n        return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n    }\n    else {\n        return t1;\n    }\n}\nvar hsl = function (context, args) {\n    var tokens = args.filter(nonFunctionArgSeparator);\n    var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n    var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n    var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n    var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n    var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n    if (s === 0) {\n        return pack(l * 255, l * 255, l * 255, 1);\n    }\n    var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n    var t1 = l * 2 - t2;\n    var r = hue2rgb(t1, t2, h + 1 / 3);\n    var g = hue2rgb(t1, t2, h);\n    var b = hue2rgb(t1, t2, h - 1 / 3);\n    return pack(r * 255, g * 255, b * 255, a);\n};\nvar SUPPORTED_COLOR_FUNCTIONS = {\n    hsl: hsl,\n    hsla: hsl,\n    rgb: rgb,\n    rgba: rgb\n};\nvar parseColor = function (context, value) {\n    return color$1.parse(context, Parser.create(value).parseComponentValue());\n};\nvar COLORS = {\n    ALICEBLUE: 0xf0f8ffff,\n    ANTIQUEWHITE: 0xfaebd7ff,\n    AQUA: 0x00ffffff,\n    AQUAMARINE: 0x7fffd4ff,\n    AZURE: 0xf0ffffff,\n    BEIGE: 0xf5f5dcff,\n    BISQUE: 0xffe4c4ff,\n    BLACK: 0x000000ff,\n    BLANCHEDALMOND: 0xffebcdff,\n    BLUE: 0x0000ffff,\n    BLUEVIOLET: 0x8a2be2ff,\n    BROWN: 0xa52a2aff,\n    BURLYWOOD: 0xdeb887ff,\n    CADETBLUE: 0x5f9ea0ff,\n    CHARTREUSE: 0x7fff00ff,\n    CHOCOLATE: 0xd2691eff,\n    CORAL: 0xff7f50ff,\n    CORNFLOWERBLUE: 0x6495edff,\n    CORNSILK: 0xfff8dcff,\n    CRIMSON: 0xdc143cff,\n    CYAN: 0x00ffffff,\n    DARKBLUE: 0x00008bff,\n    DARKCYAN: 0x008b8bff,\n    DARKGOLDENROD: 0xb886bbff,\n    DARKGRAY: 0xa9a9a9ff,\n    DARKGREEN: 0x006400ff,\n    DARKGREY: 0xa9a9a9ff,\n    DARKKHAKI: 0xbdb76bff,\n    DARKMAGENTA: 0x8b008bff,\n    DARKOLIVEGREEN: 0x556b2fff,\n    DARKORANGE: 0xff8c00ff,\n    DARKORCHID: 0x9932ccff,\n    DARKRED: 0x8b0000ff,\n    DARKSALMON: 0xe9967aff,\n    DARKSEAGREEN: 0x8fbc8fff,\n    DARKSLATEBLUE: 0x483d8bff,\n    DARKSLATEGRAY: 0x2f4f4fff,\n    DARKSLATEGREY: 0x2f4f4fff,\n    DARKTURQUOISE: 0x00ced1ff,\n    DARKVIOLET: 0x9400d3ff,\n    DEEPPINK: 0xff1493ff,\n    DEEPSKYBLUE: 0x00bfffff,\n    DIMGRAY: 0x696969ff,\n    DIMGREY: 0x696969ff,\n    DODGERBLUE: 0x1e90ffff,\n    FIREBRICK: 0xb22222ff,\n    FLORALWHITE: 0xfffaf0ff,\n    FORESTGREEN: 0x228b22ff,\n    FUCHSIA: 0xff00ffff,\n    GAINSBORO: 0xdcdcdcff,\n    GHOSTWHITE: 0xf8f8ffff,\n    GOLD: 0xffd700ff,\n    GOLDENROD: 0xdaa520ff,\n    GRAY: 0x808080ff,\n    GREEN: 0x008000ff,\n    GREENYELLOW: 0xadff2fff,\n    GREY: 0x808080ff,\n    HONEYDEW: 0xf0fff0ff,\n    HOTPINK: 0xff69b4ff,\n    INDIANRED: 0xcd5c5cff,\n    INDIGO: 0x4b0082ff,\n    IVORY: 0xfffff0ff,\n    KHAKI: 0xf0e68cff,\n    LAVENDER: 0xe6e6faff,\n    LAVENDERBLUSH: 0xfff0f5ff,\n    LAWNGREEN: 0x7cfc00ff,\n    LEMONCHIFFON: 0xfffacdff,\n    LIGHTBLUE: 0xadd8e6ff,\n    LIGHTCORAL: 0xf08080ff,\n    LIGHTCYAN: 0xe0ffffff,\n    LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n    LIGHTGRAY: 0xd3d3d3ff,\n    LIGHTGREEN: 0x90ee90ff,\n    LIGHTGREY: 0xd3d3d3ff,\n    LIGHTPINK: 0xffb6c1ff,\n    LIGHTSALMON: 0xffa07aff,\n    LIGHTSEAGREEN: 0x20b2aaff,\n    LIGHTSKYBLUE: 0x87cefaff,\n    LIGHTSLATEGRAY: 0x778899ff,\n    LIGHTSLATEGREY: 0x778899ff,\n    LIGHTSTEELBLUE: 0xb0c4deff,\n    LIGHTYELLOW: 0xffffe0ff,\n    LIME: 0x00ff00ff,\n    LIMEGREEN: 0x32cd32ff,\n    LINEN: 0xfaf0e6ff,\n    MAGENTA: 0xff00ffff,\n    MAROON: 0x800000ff,\n    MEDIUMAQUAMARINE: 0x66cdaaff,\n    MEDIUMBLUE: 0x0000cdff,\n    MEDIUMORCHID: 0xba55d3ff,\n    MEDIUMPURPLE: 0x9370dbff,\n    MEDIUMSEAGREEN: 0x3cb371ff,\n    MEDIUMSLATEBLUE: 0x7b68eeff,\n    MEDIUMSPRINGGREEN: 0x00fa9aff,\n    MEDIUMTURQUOISE: 0x48d1ccff,\n    MEDIUMVIOLETRED: 0xc71585ff,\n    MIDNIGHTBLUE: 0x191970ff,\n    MINTCREAM: 0xf5fffaff,\n    MISTYROSE: 0xffe4e1ff,\n    MOCCASIN: 0xffe4b5ff,\n    NAVAJOWHITE: 0xffdeadff,\n    NAVY: 0x000080ff,\n    OLDLACE: 0xfdf5e6ff,\n    OLIVE: 0x808000ff,\n    OLIVEDRAB: 0x6b8e23ff,\n    ORANGE: 0xffa500ff,\n    ORANGERED: 0xff4500ff,\n    ORCHID: 0xda70d6ff,\n    PALEGOLDENROD: 0xeee8aaff,\n    PALEGREEN: 0x98fb98ff,\n    PALETURQUOISE: 0xafeeeeff,\n    PALEVIOLETRED: 0xdb7093ff,\n    PAPAYAWHIP: 0xffefd5ff,\n    PEACHPUFF: 0xffdab9ff,\n    PERU: 0xcd853fff,\n    PINK: 0xffc0cbff,\n    PLUM: 0xdda0ddff,\n    POWDERBLUE: 0xb0e0e6ff,\n    PURPLE: 0x800080ff,\n    REBECCAPURPLE: 0x663399ff,\n    RED: 0xff0000ff,\n    ROSYBROWN: 0xbc8f8fff,\n    ROYALBLUE: 0x4169e1ff,\n    SADDLEBROWN: 0x8b4513ff,\n    SALMON: 0xfa8072ff,\n    SANDYBROWN: 0xf4a460ff,\n    SEAGREEN: 0x2e8b57ff,\n    SEASHELL: 0xfff5eeff,\n    SIENNA: 0xa0522dff,\n    SILVER: 0xc0c0c0ff,\n    SKYBLUE: 0x87ceebff,\n    SLATEBLUE: 0x6a5acdff,\n    SLATEGRAY: 0x708090ff,\n    SLATEGREY: 0x708090ff,\n    SNOW: 0xfffafaff,\n    SPRINGGREEN: 0x00ff7fff,\n    STEELBLUE: 0x4682b4ff,\n    TAN: 0xd2b48cff,\n    TEAL: 0x008080ff,\n    THISTLE: 0xd8bfd8ff,\n    TOMATO: 0xff6347ff,\n    TRANSPARENT: 0x00000000,\n    TURQUOISE: 0x40e0d0ff,\n    VIOLET: 0xee82eeff,\n    WHEAT: 0xf5deb3ff,\n    WHITE: 0xffffffff,\n    WHITESMOKE: 0xf5f5f5ff,\n    YELLOW: 0xffff00ff,\n    YELLOWGREEN: 0x9acd32ff\n};\n\nvar backgroundClip = {\n    name: 'background-clip',\n    initialValue: 'border-box',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return tokens.map(function (token) {\n            if (isIdentToken(token)) {\n                switch (token.value) {\n                    case 'padding-box':\n                        return 1 /* PADDING_BOX */;\n                    case 'content-box':\n                        return 2 /* CONTENT_BOX */;\n                }\n            }\n            return 0 /* BORDER_BOX */;\n        });\n    }\n};\n\nvar backgroundColor = {\n    name: \"background-color\",\n    initialValue: 'transparent',\n    prefix: false,\n    type: 3 /* TYPE_VALUE */,\n    format: 'color'\n};\n\nvar parseColorStop = function (context, args) {\n    var color = color$1.parse(context, args[0]);\n    var stop = args[1];\n    return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n};\nvar processColorStops = function (stops, lineLength) {\n    var first = stops[0];\n    var last = stops[stops.length - 1];\n    if (first.stop === null) {\n        first.stop = ZERO_LENGTH;\n    }\n    if (last.stop === null) {\n        last.stop = HUNDRED_PERCENT;\n    }\n    var processStops = [];\n    var previous = 0;\n    for (var i = 0; i < stops.length; i++) {\n        var stop_1 = stops[i].stop;\n        if (stop_1 !== null) {\n            var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n            if (absoluteValue > previous) {\n                processStops.push(absoluteValue);\n            }\n            else {\n                processStops.push(previous);\n            }\n            previous = absoluteValue;\n        }\n        else {\n            processStops.push(null);\n        }\n    }\n    var gapBegin = null;\n    for (var i = 0; i < processStops.length; i++) {\n        var stop_2 = processStops[i];\n        if (stop_2 === null) {\n            if (gapBegin === null) {\n                gapBegin = i;\n            }\n        }\n        else if (gapBegin !== null) {\n            var gapLength = i - gapBegin;\n            var beforeGap = processStops[gapBegin - 1];\n            var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n            for (var g = 1; g <= gapLength; g++) {\n                processStops[gapBegin + g - 1] = gapValue * g;\n            }\n            gapBegin = null;\n        }\n    }\n    return stops.map(function (_a, i) {\n        var color = _a.color;\n        return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n    });\n};\nvar getAngleFromCorner = function (corner, width, height) {\n    var centerX = width / 2;\n    var centerY = height / 2;\n    var x = getAbsoluteValue(corner[0], width) - centerX;\n    var y = centerY - getAbsoluteValue(corner[1], height);\n    return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\nvar calculateGradientDirection = function (angle, width, height) {\n    var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n    var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n    var halfWidth = width / 2;\n    var halfHeight = height / 2;\n    var halfLineLength = lineLength / 2;\n    var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n    var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n    return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\nvar distance = function (a, b) { return Math.sqrt(a * a + b * b); };\nvar findCorner = function (width, height, x, y, closest) {\n    var corners = [\n        [0, 0],\n        [0, height],\n        [width, 0],\n        [width, height]\n    ];\n    return corners.reduce(function (stat, corner) {\n        var cx = corner[0], cy = corner[1];\n        var d = distance(x - cx, y - cy);\n        if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n            return {\n                optimumCorner: corner,\n                optimumDistance: d\n            };\n        }\n        return stat;\n    }, {\n        optimumDistance: closest ? Infinity : -Infinity,\n        optimumCorner: null\n    }).optimumCorner;\n};\nvar calculateRadius = function (gradient, x, y, width, height) {\n    var rx = 0;\n    var ry = 0;\n    switch (gradient.size) {\n        case 0 /* CLOSEST_SIDE */:\n            // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n            // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n            if (gradient.shape === 0 /* CIRCLE */) {\n                rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n            }\n            else if (gradient.shape === 1 /* ELLIPSE */) {\n                rx = Math.min(Math.abs(x), Math.abs(x - width));\n                ry = Math.min(Math.abs(y), Math.abs(y - height));\n            }\n            break;\n        case 2 /* CLOSEST_CORNER */:\n            // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n            // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n            if (gradient.shape === 0 /* CIRCLE */) {\n                rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n            }\n            else if (gradient.shape === 1 /* ELLIPSE */) {\n                // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n                var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n                var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n                rx = distance(cx - x, (cy - y) / c);\n                ry = c * rx;\n            }\n            break;\n        case 1 /* FARTHEST_SIDE */:\n            // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n            if (gradient.shape === 0 /* CIRCLE */) {\n                rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n            }\n            else if (gradient.shape === 1 /* ELLIPSE */) {\n                rx = Math.max(Math.abs(x), Math.abs(x - width));\n                ry = Math.max(Math.abs(y), Math.abs(y - height));\n            }\n            break;\n        case 3 /* FARTHEST_CORNER */:\n            // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n            // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n            if (gradient.shape === 0 /* CIRCLE */) {\n                rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n            }\n            else if (gradient.shape === 1 /* ELLIPSE */) {\n                // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n                var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n                var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n                rx = distance(cx - x, (cy - y) / c);\n                ry = c * rx;\n            }\n            break;\n    }\n    if (Array.isArray(gradient.size)) {\n        rx = getAbsoluteValue(gradient.size[0], width);\n        ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n    }\n    return [rx, ry];\n};\n\nvar linearGradient = function (context, tokens) {\n    var angle$1 = deg(180);\n    var stops = [];\n    parseFunctionArgs(tokens).forEach(function (arg, i) {\n        if (i === 0) {\n            var firstToken = arg[0];\n            if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n                angle$1 = parseNamedSide(arg);\n                return;\n            }\n            else if (isAngle(firstToken)) {\n                angle$1 = angle.parse(context, firstToken);\n                return;\n            }\n        }\n        var colorStop = parseColorStop(context, arg);\n        stops.push(colorStop);\n    });\n    return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n};\n\nvar prefixLinearGradient = function (context, tokens) {\n    var angle$1 = deg(180);\n    var stops = [];\n    parseFunctionArgs(tokens).forEach(function (arg, i) {\n        if (i === 0) {\n            var firstToken = arg[0];\n            if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n                ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n                angle$1 = parseNamedSide(arg);\n                return;\n            }\n            else if (isAngle(firstToken)) {\n                angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n                return;\n            }\n        }\n        var colorStop = parseColorStop(context, arg);\n        stops.push(colorStop);\n    });\n    return {\n        angle: angle$1,\n        stops: stops,\n        type: 1 /* LINEAR_GRADIENT */\n    };\n};\n\nvar webkitGradient = function (context, tokens) {\n    var angle = deg(180);\n    var stops = [];\n    var type = 1 /* LINEAR_GRADIENT */;\n    var shape = 0 /* CIRCLE */;\n    var size = 3 /* FARTHEST_CORNER */;\n    var position = [];\n    parseFunctionArgs(tokens).forEach(function (arg, i) {\n        var firstToken = arg[0];\n        if (i === 0) {\n            if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n                type = 1 /* LINEAR_GRADIENT */;\n                return;\n            }\n            else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n                type = 2 /* RADIAL_GRADIENT */;\n                return;\n            }\n        }\n        if (firstToken.type === 18 /* FUNCTION */) {\n            if (firstToken.name === 'from') {\n                var color = color$1.parse(context, firstToken.values[0]);\n                stops.push({ stop: ZERO_LENGTH, color: color });\n            }\n            else if (firstToken.name === 'to') {\n                var color = color$1.parse(context, firstToken.values[0]);\n                stops.push({ stop: HUNDRED_PERCENT, color: color });\n            }\n            else if (firstToken.name === 'color-stop') {\n                var values = firstToken.values.filter(nonFunctionArgSeparator);\n                if (values.length === 2) {\n                    var color = color$1.parse(context, values[1]);\n                    var stop_1 = values[0];\n                    if (isNumberToken(stop_1)) {\n                        stops.push({\n                            stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n                            color: color\n                        });\n                    }\n                }\n            }\n        }\n    });\n    return type === 1 /* LINEAR_GRADIENT */\n        ? {\n            angle: (angle + deg(180)) % deg(360),\n            stops: stops,\n            type: type\n        }\n        : { size: size, shape: shape, stops: stops, position: position, type: type };\n};\n\nvar CLOSEST_SIDE = 'closest-side';\nvar FARTHEST_SIDE = 'farthest-side';\nvar CLOSEST_CORNER = 'closest-corner';\nvar FARTHEST_CORNER = 'farthest-corner';\nvar CIRCLE = 'circle';\nvar ELLIPSE = 'ellipse';\nvar COVER = 'cover';\nvar CONTAIN = 'contain';\nvar radialGradient = function (context, tokens) {\n    var shape = 0 /* CIRCLE */;\n    var size = 3 /* FARTHEST_CORNER */;\n    var stops = [];\n    var position = [];\n    parseFunctionArgs(tokens).forEach(function (arg, i) {\n        var isColorStop = true;\n        if (i === 0) {\n            var isAtPosition_1 = false;\n            isColorStop = arg.reduce(function (acc, token) {\n                if (isAtPosition_1) {\n                    if (isIdentToken(token)) {\n                        switch (token.value) {\n                            case 'center':\n                                position.push(FIFTY_PERCENT);\n                                return acc;\n                            case 'top':\n                            case 'left':\n                                position.push(ZERO_LENGTH);\n                                return acc;\n                            case 'right':\n                            case 'bottom':\n                                position.push(HUNDRED_PERCENT);\n                                return acc;\n                        }\n                    }\n                    else if (isLengthPercentage(token) || isLength(token)) {\n                        position.push(token);\n                    }\n                }\n                else if (isIdentToken(token)) {\n                    switch (token.value) {\n                        case CIRCLE:\n                            shape = 0 /* CIRCLE */;\n                            return false;\n                        case ELLIPSE:\n                            shape = 1 /* ELLIPSE */;\n                            return false;\n                        case 'at':\n                            isAtPosition_1 = true;\n                            return false;\n                        case CLOSEST_SIDE:\n                            size = 0 /* CLOSEST_SIDE */;\n                            return false;\n                        case COVER:\n                        case FARTHEST_SIDE:\n                            size = 1 /* FARTHEST_SIDE */;\n                            return false;\n                        case CONTAIN:\n                        case CLOSEST_CORNER:\n                            size = 2 /* CLOSEST_CORNER */;\n                            return false;\n                        case FARTHEST_CORNER:\n                            size = 3 /* FARTHEST_CORNER */;\n                            return false;\n                    }\n                }\n                else if (isLength(token) || isLengthPercentage(token)) {\n                    if (!Array.isArray(size)) {\n                        size = [];\n                    }\n                    size.push(token);\n                    return false;\n                }\n                return acc;\n            }, isColorStop);\n        }\n        if (isColorStop) {\n            var colorStop = parseColorStop(context, arg);\n            stops.push(colorStop);\n        }\n    });\n    return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar prefixRadialGradient = function (context, tokens) {\n    var shape = 0 /* CIRCLE */;\n    var size = 3 /* FARTHEST_CORNER */;\n    var stops = [];\n    var position = [];\n    parseFunctionArgs(tokens).forEach(function (arg, i) {\n        var isColorStop = true;\n        if (i === 0) {\n            isColorStop = arg.reduce(function (acc, token) {\n                if (isIdentToken(token)) {\n                    switch (token.value) {\n                        case 'center':\n                            position.push(FIFTY_PERCENT);\n                            return false;\n                        case 'top':\n                        case 'left':\n                            position.push(ZERO_LENGTH);\n                            return false;\n                        case 'right':\n                        case 'bottom':\n                            position.push(HUNDRED_PERCENT);\n                            return false;\n                    }\n                }\n                else if (isLengthPercentage(token) || isLength(token)) {\n                    position.push(token);\n                    return false;\n                }\n                return acc;\n            }, isColorStop);\n        }\n        else if (i === 1) {\n            isColorStop = arg.reduce(function (acc, token) {\n                if (isIdentToken(token)) {\n                    switch (token.value) {\n                        case CIRCLE:\n                            shape = 0 /* CIRCLE */;\n                            return false;\n                        case ELLIPSE:\n                            shape = 1 /* ELLIPSE */;\n                            return false;\n                        case CONTAIN:\n                        case CLOSEST_SIDE:\n                            size = 0 /* CLOSEST_SIDE */;\n                            return false;\n                        case FARTHEST_SIDE:\n                            size = 1 /* FARTHEST_SIDE */;\n                            return false;\n                        case CLOSEST_CORNER:\n                            size = 2 /* CLOSEST_CORNER */;\n                            return false;\n                        case COVER:\n                        case FARTHEST_CORNER:\n                            size = 3 /* FARTHEST_CORNER */;\n                            return false;\n                    }\n                }\n                else if (isLength(token) || isLengthPercentage(token)) {\n                    if (!Array.isArray(size)) {\n                        size = [];\n                    }\n                    size.push(token);\n                    return false;\n                }\n                return acc;\n            }, isColorStop);\n        }\n        if (isColorStop) {\n            var colorStop = parseColorStop(context, arg);\n            stops.push(colorStop);\n        }\n    });\n    return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar isLinearGradient = function (background) {\n    return background.type === 1 /* LINEAR_GRADIENT */;\n};\nvar isRadialGradient = function (background) {\n    return background.type === 2 /* RADIAL_GRADIENT */;\n};\nvar image = {\n    name: 'image',\n    parse: function (context, value) {\n        if (value.type === 22 /* URL_TOKEN */) {\n            var image_1 = { url: value.value, type: 0 /* URL */ };\n            context.cache.addImage(value.value);\n            return image_1;\n        }\n        if (value.type === 18 /* FUNCTION */) {\n            var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n            if (typeof imageFunction === 'undefined') {\n                throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n            }\n            return imageFunction(context, value.values);\n        }\n        throw new Error(\"Unsupported image type \" + value.type);\n    }\n};\nfunction isSupportedImage(value) {\n    return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n        (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n}\nvar SUPPORTED_IMAGE_FUNCTIONS = {\n    'linear-gradient': linearGradient,\n    '-moz-linear-gradient': prefixLinearGradient,\n    '-ms-linear-gradient': prefixLinearGradient,\n    '-o-linear-gradient': prefixLinearGradient,\n    '-webkit-linear-gradient': prefixLinearGradient,\n    'radial-gradient': radialGradient,\n    '-moz-radial-gradient': prefixRadialGradient,\n    '-ms-radial-gradient': prefixRadialGradient,\n    '-o-radial-gradient': prefixRadialGradient,\n    '-webkit-radial-gradient': prefixRadialGradient,\n    '-webkit-gradient': webkitGradient\n};\n\nvar backgroundImage = {\n    name: 'background-image',\n    initialValue: 'none',\n    type: 1 /* LIST */,\n    prefix: false,\n    parse: function (context, tokens) {\n        if (tokens.length === 0) {\n            return [];\n        }\n        var first = tokens[0];\n        if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n            return [];\n        }\n        return tokens\n            .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n            .map(function (value) { return image.parse(context, value); });\n    }\n};\n\nvar backgroundOrigin = {\n    name: 'background-origin',\n    initialValue: 'border-box',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return tokens.map(function (token) {\n            if (isIdentToken(token)) {\n                switch (token.value) {\n                    case 'padding-box':\n                        return 1 /* PADDING_BOX */;\n                    case 'content-box':\n                        return 2 /* CONTENT_BOX */;\n                }\n            }\n            return 0 /* BORDER_BOX */;\n        });\n    }\n};\n\nvar backgroundPosition = {\n    name: 'background-position',\n    initialValue: '0% 0%',\n    type: 1 /* LIST */,\n    prefix: false,\n    parse: function (_context, tokens) {\n        return parseFunctionArgs(tokens)\n            .map(function (values) { return values.filter(isLengthPercentage); })\n            .map(parseLengthPercentageTuple);\n    }\n};\n\nvar backgroundRepeat = {\n    name: 'background-repeat',\n    initialValue: 'repeat',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return parseFunctionArgs(tokens)\n            .map(function (values) {\n            return values\n                .filter(isIdentToken)\n                .map(function (token) { return token.value; })\n                .join(' ');\n        })\n            .map(parseBackgroundRepeat);\n    }\n};\nvar parseBackgroundRepeat = function (value) {\n    switch (value) {\n        case 'no-repeat':\n            return 1 /* NO_REPEAT */;\n        case 'repeat-x':\n        case 'repeat no-repeat':\n            return 2 /* REPEAT_X */;\n        case 'repeat-y':\n        case 'no-repeat repeat':\n            return 3 /* REPEAT_Y */;\n        case 'repeat':\n        default:\n            return 0 /* REPEAT */;\n    }\n};\n\nvar BACKGROUND_SIZE;\n(function (BACKGROUND_SIZE) {\n    BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n    BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n    BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n})(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\nvar backgroundSize = {\n    name: 'background-size',\n    initialValue: '0',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n    }\n};\nvar isBackgroundSizeInfoToken = function (value) {\n    return isIdentToken(value) || isLengthPercentage(value);\n};\n\nvar borderColorForSide = function (side) { return ({\n    name: \"border-\" + side + \"-color\",\n    initialValue: 'transparent',\n    prefix: false,\n    type: 3 /* TYPE_VALUE */,\n    format: 'color'\n}); };\nvar borderTopColor = borderColorForSide('top');\nvar borderRightColor = borderColorForSide('right');\nvar borderBottomColor = borderColorForSide('bottom');\nvar borderLeftColor = borderColorForSide('left');\n\nvar borderRadiusForSide = function (side) { return ({\n    name: \"border-radius-\" + side,\n    initialValue: '0 0',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n    }\n}); };\nvar borderTopLeftRadius = borderRadiusForSide('top-left');\nvar borderTopRightRadius = borderRadiusForSide('top-right');\nvar borderBottomRightRadius = borderRadiusForSide('bottom-right');\nvar borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\nvar borderStyleForSide = function (side) { return ({\n    name: \"border-\" + side + \"-style\",\n    initialValue: 'solid',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, style) {\n        switch (style) {\n            case 'none':\n                return 0 /* NONE */;\n            case 'dashed':\n                return 2 /* DASHED */;\n            case 'dotted':\n                return 3 /* DOTTED */;\n            case 'double':\n                return 4 /* DOUBLE */;\n        }\n        return 1 /* SOLID */;\n    }\n}); };\nvar borderTopStyle = borderStyleForSide('top');\nvar borderRightStyle = borderStyleForSide('right');\nvar borderBottomStyle = borderStyleForSide('bottom');\nvar borderLeftStyle = borderStyleForSide('left');\n\nvar borderWidthForSide = function (side) { return ({\n    name: \"border-\" + side + \"-width\",\n    initialValue: '0',\n    type: 0 /* VALUE */,\n    prefix: false,\n    parse: function (_context, token) {\n        if (isDimensionToken(token)) {\n            return token.number;\n        }\n        return 0;\n    }\n}); };\nvar borderTopWidth = borderWidthForSide('top');\nvar borderRightWidth = borderWidthForSide('right');\nvar borderBottomWidth = borderWidthForSide('bottom');\nvar borderLeftWidth = borderWidthForSide('left');\n\nvar color = {\n    name: \"color\",\n    initialValue: 'transparent',\n    prefix: false,\n    type: 3 /* TYPE_VALUE */,\n    format: 'color'\n};\n\nvar direction = {\n    name: 'direction',\n    initialValue: 'ltr',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, direction) {\n        switch (direction) {\n            case 'rtl':\n                return 1 /* RTL */;\n            case 'ltr':\n            default:\n                return 0 /* LTR */;\n        }\n    }\n};\n\nvar display = {\n    name: 'display',\n    initialValue: 'inline-block',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return tokens.filter(isIdentToken).reduce(function (bit, token) {\n            return bit | parseDisplayValue(token.value);\n        }, 0 /* NONE */);\n    }\n};\nvar parseDisplayValue = function (display) {\n    switch (display) {\n        case 'block':\n        case '-webkit-box':\n            return 2 /* BLOCK */;\n        case 'inline':\n            return 4 /* INLINE */;\n        case 'run-in':\n            return 8 /* RUN_IN */;\n        case 'flow':\n            return 16 /* FLOW */;\n        case 'flow-root':\n            return 32 /* FLOW_ROOT */;\n        case 'table':\n            return 64 /* TABLE */;\n        case 'flex':\n        case '-webkit-flex':\n            return 128 /* FLEX */;\n        case 'grid':\n        case '-ms-grid':\n            return 256 /* GRID */;\n        case 'ruby':\n            return 512 /* RUBY */;\n        case 'subgrid':\n            return 1024 /* SUBGRID */;\n        case 'list-item':\n            return 2048 /* LIST_ITEM */;\n        case 'table-row-group':\n            return 4096 /* TABLE_ROW_GROUP */;\n        case 'table-header-group':\n            return 8192 /* TABLE_HEADER_GROUP */;\n        case 'table-footer-group':\n            return 16384 /* TABLE_FOOTER_GROUP */;\n        case 'table-row':\n            return 32768 /* TABLE_ROW */;\n        case 'table-cell':\n            return 65536 /* TABLE_CELL */;\n        case 'table-column-group':\n            return 131072 /* TABLE_COLUMN_GROUP */;\n        case 'table-column':\n            return 262144 /* TABLE_COLUMN */;\n        case 'table-caption':\n            return 524288 /* TABLE_CAPTION */;\n        case 'ruby-base':\n            return 1048576 /* RUBY_BASE */;\n        case 'ruby-text':\n            return 2097152 /* RUBY_TEXT */;\n        case 'ruby-base-container':\n            return 4194304 /* RUBY_BASE_CONTAINER */;\n        case 'ruby-text-container':\n            return 8388608 /* RUBY_TEXT_CONTAINER */;\n        case 'contents':\n            return 16777216 /* CONTENTS */;\n        case 'inline-block':\n            return 33554432 /* INLINE_BLOCK */;\n        case 'inline-list-item':\n            return 67108864 /* INLINE_LIST_ITEM */;\n        case 'inline-table':\n            return 134217728 /* INLINE_TABLE */;\n        case 'inline-flex':\n            return 268435456 /* INLINE_FLEX */;\n        case 'inline-grid':\n            return 536870912 /* INLINE_GRID */;\n    }\n    return 0 /* NONE */;\n};\n\nvar float = {\n    name: 'float',\n    initialValue: 'none',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, float) {\n        switch (float) {\n            case 'left':\n                return 1 /* LEFT */;\n            case 'right':\n                return 2 /* RIGHT */;\n            case 'inline-start':\n                return 3 /* INLINE_START */;\n            case 'inline-end':\n                return 4 /* INLINE_END */;\n        }\n        return 0 /* NONE */;\n    }\n};\n\nvar letterSpacing = {\n    name: 'letter-spacing',\n    initialValue: '0',\n    prefix: false,\n    type: 0 /* VALUE */,\n    parse: function (_context, token) {\n        if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n            return 0;\n        }\n        if (token.type === 17 /* NUMBER_TOKEN */) {\n            return token.number;\n        }\n        if (token.type === 15 /* DIMENSION_TOKEN */) {\n            return token.number;\n        }\n        return 0;\n    }\n};\n\nvar LINE_BREAK;\n(function (LINE_BREAK) {\n    LINE_BREAK[\"NORMAL\"] = \"normal\";\n    LINE_BREAK[\"STRICT\"] = \"strict\";\n})(LINE_BREAK || (LINE_BREAK = {}));\nvar lineBreak = {\n    name: 'line-break',\n    initialValue: 'normal',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, lineBreak) {\n        switch (lineBreak) {\n            case 'strict':\n                return LINE_BREAK.STRICT;\n            case 'normal':\n            default:\n                return LINE_BREAK.NORMAL;\n        }\n    }\n};\n\nvar lineHeight = {\n    name: 'line-height',\n    initialValue: 'normal',\n    prefix: false,\n    type: 4 /* TOKEN_VALUE */\n};\nvar computeLineHeight = function (token, fontSize) {\n    if (isIdentToken(token) && token.value === 'normal') {\n        return 1.2 * fontSize;\n    }\n    else if (token.type === 17 /* NUMBER_TOKEN */) {\n        return fontSize * token.number;\n    }\n    else if (isLengthPercentage(token)) {\n        return getAbsoluteValue(token, fontSize);\n    }\n    return fontSize;\n};\n\nvar listStyleImage = {\n    name: 'list-style-image',\n    initialValue: 'none',\n    type: 0 /* VALUE */,\n    prefix: false,\n    parse: function (context, token) {\n        if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n            return null;\n        }\n        return image.parse(context, token);\n    }\n};\n\nvar listStylePosition = {\n    name: 'list-style-position',\n    initialValue: 'outside',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, position) {\n        switch (position) {\n            case 'inside':\n                return 0 /* INSIDE */;\n            case 'outside':\n            default:\n                return 1 /* OUTSIDE */;\n        }\n    }\n};\n\nvar listStyleType = {\n    name: 'list-style-type',\n    initialValue: 'none',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, type) {\n        switch (type) {\n            case 'disc':\n                return 0 /* DISC */;\n            case 'circle':\n                return 1 /* CIRCLE */;\n            case 'square':\n                return 2 /* SQUARE */;\n            case 'decimal':\n                return 3 /* DECIMAL */;\n            case 'cjk-decimal':\n                return 4 /* CJK_DECIMAL */;\n            case 'decimal-leading-zero':\n                return 5 /* DECIMAL_LEADING_ZERO */;\n            case 'lower-roman':\n                return 6 /* LOWER_ROMAN */;\n            case 'upper-roman':\n                return 7 /* UPPER_ROMAN */;\n            case 'lower-greek':\n                return 8 /* LOWER_GREEK */;\n            case 'lower-alpha':\n                return 9 /* LOWER_ALPHA */;\n            case 'upper-alpha':\n                return 10 /* UPPER_ALPHA */;\n            case 'arabic-indic':\n                return 11 /* ARABIC_INDIC */;\n            case 'armenian':\n                return 12 /* ARMENIAN */;\n            case 'bengali':\n                return 13 /* BENGALI */;\n            case 'cambodian':\n                return 14 /* CAMBODIAN */;\n            case 'cjk-earthly-branch':\n                return 15 /* CJK_EARTHLY_BRANCH */;\n            case 'cjk-heavenly-stem':\n                return 16 /* CJK_HEAVENLY_STEM */;\n            case 'cjk-ideographic':\n                return 17 /* CJK_IDEOGRAPHIC */;\n            case 'devanagari':\n                return 18 /* DEVANAGARI */;\n            case 'ethiopic-numeric':\n                return 19 /* ETHIOPIC_NUMERIC */;\n            case 'georgian':\n                return 20 /* GEORGIAN */;\n            case 'gujarati':\n                return 21 /* GUJARATI */;\n            case 'gurmukhi':\n                return 22 /* GURMUKHI */;\n            case 'hebrew':\n                return 22 /* HEBREW */;\n            case 'hiragana':\n                return 23 /* HIRAGANA */;\n            case 'hiragana-iroha':\n                return 24 /* HIRAGANA_IROHA */;\n            case 'japanese-formal':\n                return 25 /* JAPANESE_FORMAL */;\n            case 'japanese-informal':\n                return 26 /* JAPANESE_INFORMAL */;\n            case 'kannada':\n                return 27 /* KANNADA */;\n            case 'katakana':\n                return 28 /* KATAKANA */;\n            case 'katakana-iroha':\n                return 29 /* KATAKANA_IROHA */;\n            case 'khmer':\n                return 30 /* KHMER */;\n            case 'korean-hangul-formal':\n                return 31 /* KOREAN_HANGUL_FORMAL */;\n            case 'korean-hanja-formal':\n                return 32 /* KOREAN_HANJA_FORMAL */;\n            case 'korean-hanja-informal':\n                return 33 /* KOREAN_HANJA_INFORMAL */;\n            case 'lao':\n                return 34 /* LAO */;\n            case 'lower-armenian':\n                return 35 /* LOWER_ARMENIAN */;\n            case 'malayalam':\n                return 36 /* MALAYALAM */;\n            case 'mongolian':\n                return 37 /* MONGOLIAN */;\n            case 'myanmar':\n                return 38 /* MYANMAR */;\n            case 'oriya':\n                return 39 /* ORIYA */;\n            case 'persian':\n                return 40 /* PERSIAN */;\n            case 'simp-chinese-formal':\n                return 41 /* SIMP_CHINESE_FORMAL */;\n            case 'simp-chinese-informal':\n                return 42 /* SIMP_CHINESE_INFORMAL */;\n            case 'tamil':\n                return 43 /* TAMIL */;\n            case 'telugu':\n                return 44 /* TELUGU */;\n            case 'thai':\n                return 45 /* THAI */;\n            case 'tibetan':\n                return 46 /* TIBETAN */;\n            case 'trad-chinese-formal':\n                return 47 /* TRAD_CHINESE_FORMAL */;\n            case 'trad-chinese-informal':\n                return 48 /* TRAD_CHINESE_INFORMAL */;\n            case 'upper-armenian':\n                return 49 /* UPPER_ARMENIAN */;\n            case 'disclosure-open':\n                return 50 /* DISCLOSURE_OPEN */;\n            case 'disclosure-closed':\n                return 51 /* DISCLOSURE_CLOSED */;\n            case 'none':\n            default:\n                return -1 /* NONE */;\n        }\n    }\n};\n\nvar marginForSide = function (side) { return ({\n    name: \"margin-\" + side,\n    initialValue: '0',\n    prefix: false,\n    type: 4 /* TOKEN_VALUE */\n}); };\nvar marginTop = marginForSide('top');\nvar marginRight = marginForSide('right');\nvar marginBottom = marginForSide('bottom');\nvar marginLeft = marginForSide('left');\n\nvar overflow = {\n    name: 'overflow',\n    initialValue: 'visible',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return tokens.filter(isIdentToken).map(function (overflow) {\n            switch (overflow.value) {\n                case 'hidden':\n                    return 1 /* HIDDEN */;\n                case 'scroll':\n                    return 2 /* SCROLL */;\n                case 'clip':\n                    return 3 /* CLIP */;\n                case 'auto':\n                    return 4 /* AUTO */;\n                case 'visible':\n                default:\n                    return 0 /* VISIBLE */;\n            }\n        });\n    }\n};\n\nvar overflowWrap = {\n    name: 'overflow-wrap',\n    initialValue: 'normal',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, overflow) {\n        switch (overflow) {\n            case 'break-word':\n                return \"break-word\" /* BREAK_WORD */;\n            case 'normal':\n            default:\n                return \"normal\" /* NORMAL */;\n        }\n    }\n};\n\nvar paddingForSide = function (side) { return ({\n    name: \"padding-\" + side,\n    initialValue: '0',\n    prefix: false,\n    type: 3 /* TYPE_VALUE */,\n    format: 'length-percentage'\n}); };\nvar paddingTop = paddingForSide('top');\nvar paddingRight = paddingForSide('right');\nvar paddingBottom = paddingForSide('bottom');\nvar paddingLeft = paddingForSide('left');\n\nvar textAlign = {\n    name: 'text-align',\n    initialValue: 'left',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, textAlign) {\n        switch (textAlign) {\n            case 'right':\n                return 2 /* RIGHT */;\n            case 'center':\n            case 'justify':\n                return 1 /* CENTER */;\n            case 'left':\n            default:\n                return 0 /* LEFT */;\n        }\n    }\n};\n\nvar position = {\n    name: 'position',\n    initialValue: 'static',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, position) {\n        switch (position) {\n            case 'relative':\n                return 1 /* RELATIVE */;\n            case 'absolute':\n                return 2 /* ABSOLUTE */;\n            case 'fixed':\n                return 3 /* FIXED */;\n            case 'sticky':\n                return 4 /* STICKY */;\n        }\n        return 0 /* STATIC */;\n    }\n};\n\nvar textShadow = {\n    name: 'text-shadow',\n    initialValue: 'none',\n    type: 1 /* LIST */,\n    prefix: false,\n    parse: function (context, tokens) {\n        if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n            return [];\n        }\n        return parseFunctionArgs(tokens).map(function (values) {\n            var shadow = {\n                color: COLORS.TRANSPARENT,\n                offsetX: ZERO_LENGTH,\n                offsetY: ZERO_LENGTH,\n                blur: ZERO_LENGTH\n            };\n            var c = 0;\n            for (var i = 0; i < values.length; i++) {\n                var token = values[i];\n                if (isLength(token)) {\n                    if (c === 0) {\n                        shadow.offsetX = token;\n                    }\n                    else if (c === 1) {\n                        shadow.offsetY = token;\n                    }\n                    else {\n                        shadow.blur = token;\n                    }\n                    c++;\n                }\n                else {\n                    shadow.color = color$1.parse(context, token);\n                }\n            }\n            return shadow;\n        });\n    }\n};\n\nvar textTransform = {\n    name: 'text-transform',\n    initialValue: 'none',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, textTransform) {\n        switch (textTransform) {\n            case 'uppercase':\n                return 2 /* UPPERCASE */;\n            case 'lowercase':\n                return 1 /* LOWERCASE */;\n            case 'capitalize':\n                return 3 /* CAPITALIZE */;\n        }\n        return 0 /* NONE */;\n    }\n};\n\nvar transform$1 = {\n    name: 'transform',\n    initialValue: 'none',\n    prefix: true,\n    type: 0 /* VALUE */,\n    parse: function (_context, token) {\n        if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n            return null;\n        }\n        if (token.type === 18 /* FUNCTION */) {\n            var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n            if (typeof transformFunction === 'undefined') {\n                throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n            }\n            return transformFunction(token.values);\n        }\n        return null;\n    }\n};\nvar matrix = function (args) {\n    var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n    return values.length === 6 ? values : null;\n};\n// doesn't support 3D transforms at the moment\nvar matrix3d = function (args) {\n    var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n    var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n    return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\nvar SUPPORTED_TRANSFORM_FUNCTIONS = {\n    matrix: matrix,\n    matrix3d: matrix3d\n};\n\nvar DEFAULT_VALUE = {\n    type: 16 /* PERCENTAGE_TOKEN */,\n    number: 50,\n    flags: FLAG_INTEGER\n};\nvar DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\nvar transformOrigin = {\n    name: 'transform-origin',\n    initialValue: '50% 50%',\n    prefix: true,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        var origins = tokens.filter(isLengthPercentage);\n        if (origins.length !== 2) {\n            return DEFAULT;\n        }\n        return [origins[0], origins[1]];\n    }\n};\n\nvar visibility = {\n    name: 'visible',\n    initialValue: 'none',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, visibility) {\n        switch (visibility) {\n            case 'hidden':\n                return 1 /* HIDDEN */;\n            case 'collapse':\n                return 2 /* COLLAPSE */;\n            case 'visible':\n            default:\n                return 0 /* VISIBLE */;\n        }\n    }\n};\n\nvar WORD_BREAK;\n(function (WORD_BREAK) {\n    WORD_BREAK[\"NORMAL\"] = \"normal\";\n    WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n    WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n})(WORD_BREAK || (WORD_BREAK = {}));\nvar wordBreak = {\n    name: 'word-break',\n    initialValue: 'normal',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, wordBreak) {\n        switch (wordBreak) {\n            case 'break-all':\n                return WORD_BREAK.BREAK_ALL;\n            case 'keep-all':\n                return WORD_BREAK.KEEP_ALL;\n            case 'normal':\n            default:\n                return WORD_BREAK.NORMAL;\n        }\n    }\n};\n\nvar zIndex = {\n    name: 'z-index',\n    initialValue: 'auto',\n    prefix: false,\n    type: 0 /* VALUE */,\n    parse: function (_context, token) {\n        if (token.type === 20 /* IDENT_TOKEN */) {\n            return { auto: true, order: 0 };\n        }\n        if (isNumberToken(token)) {\n            return { auto: false, order: token.number };\n        }\n        throw new Error(\"Invalid z-index number parsed\");\n    }\n};\n\nvar time = {\n    name: 'time',\n    parse: function (_context, value) {\n        if (value.type === 15 /* DIMENSION_TOKEN */) {\n            switch (value.unit.toLowerCase()) {\n                case 's':\n                    return 1000 * value.number;\n                case 'ms':\n                    return value.number;\n            }\n        }\n        throw new Error(\"Unsupported time type\");\n    }\n};\n\nvar opacity = {\n    name: 'opacity',\n    initialValue: '1',\n    type: 0 /* VALUE */,\n    prefix: false,\n    parse: function (_context, token) {\n        if (isNumberToken(token)) {\n            return token.number;\n        }\n        return 1;\n    }\n};\n\nvar textDecorationColor = {\n    name: \"text-decoration-color\",\n    initialValue: 'transparent',\n    prefix: false,\n    type: 3 /* TYPE_VALUE */,\n    format: 'color'\n};\n\nvar textDecorationLine = {\n    name: 'text-decoration-line',\n    initialValue: 'none',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        return tokens\n            .filter(isIdentToken)\n            .map(function (token) {\n            switch (token.value) {\n                case 'underline':\n                    return 1 /* UNDERLINE */;\n                case 'overline':\n                    return 2 /* OVERLINE */;\n                case 'line-through':\n                    return 3 /* LINE_THROUGH */;\n                case 'none':\n                    return 4 /* BLINK */;\n            }\n            return 0 /* NONE */;\n        })\n            .filter(function (line) { return line !== 0 /* NONE */; });\n    }\n};\n\nvar fontFamily = {\n    name: \"font-family\",\n    initialValue: '',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        var accumulator = [];\n        var results = [];\n        tokens.forEach(function (token) {\n            switch (token.type) {\n                case 20 /* IDENT_TOKEN */:\n                case 0 /* STRING_TOKEN */:\n                    accumulator.push(token.value);\n                    break;\n                case 17 /* NUMBER_TOKEN */:\n                    accumulator.push(token.number.toString());\n                    break;\n                case 4 /* COMMA_TOKEN */:\n                    results.push(accumulator.join(' '));\n                    accumulator.length = 0;\n                    break;\n            }\n        });\n        if (accumulator.length) {\n            results.push(accumulator.join(' '));\n        }\n        return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n    }\n};\n\nvar fontSize = {\n    name: \"font-size\",\n    initialValue: '0',\n    prefix: false,\n    type: 3 /* TYPE_VALUE */,\n    format: 'length'\n};\n\nvar fontWeight = {\n    name: 'font-weight',\n    initialValue: 'normal',\n    type: 0 /* VALUE */,\n    prefix: false,\n    parse: function (_context, token) {\n        if (isNumberToken(token)) {\n            return token.number;\n        }\n        if (isIdentToken(token)) {\n            switch (token.value) {\n                case 'bold':\n                    return 700;\n                case 'normal':\n                default:\n                    return 400;\n            }\n        }\n        return 400;\n    }\n};\n\nvar fontVariant = {\n    name: 'font-variant',\n    initialValue: 'none',\n    type: 1 /* LIST */,\n    prefix: false,\n    parse: function (_context, tokens) {\n        return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n    }\n};\n\nvar fontStyle = {\n    name: 'font-style',\n    initialValue: 'normal',\n    prefix: false,\n    type: 2 /* IDENT_VALUE */,\n    parse: function (_context, overflow) {\n        switch (overflow) {\n            case 'oblique':\n                return \"oblique\" /* OBLIQUE */;\n            case 'italic':\n                return \"italic\" /* ITALIC */;\n            case 'normal':\n            default:\n                return \"normal\" /* NORMAL */;\n        }\n    }\n};\n\nvar contains = function (bit, value) { return (bit & value) !== 0; };\n\nvar content = {\n    name: 'content',\n    initialValue: 'none',\n    type: 1 /* LIST */,\n    prefix: false,\n    parse: function (_context, tokens) {\n        if (tokens.length === 0) {\n            return [];\n        }\n        var first = tokens[0];\n        if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n            return [];\n        }\n        return tokens;\n    }\n};\n\nvar counterIncrement = {\n    name: 'counter-increment',\n    initialValue: 'none',\n    prefix: true,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        if (tokens.length === 0) {\n            return null;\n        }\n        var first = tokens[0];\n        if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n            return null;\n        }\n        var increments = [];\n        var filtered = tokens.filter(nonWhiteSpace);\n        for (var i = 0; i < filtered.length; i++) {\n            var counter = filtered[i];\n            var next = filtered[i + 1];\n            if (counter.type === 20 /* IDENT_TOKEN */) {\n                var increment = next && isNumberToken(next) ? next.number : 1;\n                increments.push({ counter: counter.value, increment: increment });\n            }\n        }\n        return increments;\n    }\n};\n\nvar counterReset = {\n    name: 'counter-reset',\n    initialValue: 'none',\n    prefix: true,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        if (tokens.length === 0) {\n            return [];\n        }\n        var resets = [];\n        var filtered = tokens.filter(nonWhiteSpace);\n        for (var i = 0; i < filtered.length; i++) {\n            var counter = filtered[i];\n            var next = filtered[i + 1];\n            if (isIdentToken(counter) && counter.value !== 'none') {\n                var reset = next && isNumberToken(next) ? next.number : 0;\n                resets.push({ counter: counter.value, reset: reset });\n            }\n        }\n        return resets;\n    }\n};\n\nvar duration = {\n    name: 'duration',\n    initialValue: '0s',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (context, tokens) {\n        return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n    }\n};\n\nvar quotes = {\n    name: 'quotes',\n    initialValue: 'none',\n    prefix: true,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        if (tokens.length === 0) {\n            return null;\n        }\n        var first = tokens[0];\n        if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n            return null;\n        }\n        var quotes = [];\n        var filtered = tokens.filter(isStringToken);\n        if (filtered.length % 2 !== 0) {\n            return null;\n        }\n        for (var i = 0; i < filtered.length; i += 2) {\n            var open_1 = filtered[i].value;\n            var close_1 = filtered[i + 1].value;\n            quotes.push({ open: open_1, close: close_1 });\n        }\n        return quotes;\n    }\n};\nvar getQuote = function (quotes, depth, open) {\n    if (!quotes) {\n        return '';\n    }\n    var quote = quotes[Math.min(depth, quotes.length - 1)];\n    if (!quote) {\n        return '';\n    }\n    return open ? quote.open : quote.close;\n};\n\nvar boxShadow = {\n    name: 'box-shadow',\n    initialValue: 'none',\n    type: 1 /* LIST */,\n    prefix: false,\n    parse: function (context, tokens) {\n        if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n            return [];\n        }\n        return parseFunctionArgs(tokens).map(function (values) {\n            var shadow = {\n                color: 0x000000ff,\n                offsetX: ZERO_LENGTH,\n                offsetY: ZERO_LENGTH,\n                blur: ZERO_LENGTH,\n                spread: ZERO_LENGTH,\n                inset: false\n            };\n            var c = 0;\n            for (var i = 0; i < values.length; i++) {\n                var token = values[i];\n                if (isIdentWithValue(token, 'inset')) {\n                    shadow.inset = true;\n                }\n                else if (isLength(token)) {\n                    if (c === 0) {\n                        shadow.offsetX = token;\n                    }\n                    else if (c === 1) {\n                        shadow.offsetY = token;\n                    }\n                    else if (c === 2) {\n                        shadow.blur = token;\n                    }\n                    else {\n                        shadow.spread = token;\n                    }\n                    c++;\n                }\n                else {\n                    shadow.color = color$1.parse(context, token);\n                }\n            }\n            return shadow;\n        });\n    }\n};\n\nvar paintOrder = {\n    name: 'paint-order',\n    initialValue: 'normal',\n    prefix: false,\n    type: 1 /* LIST */,\n    parse: function (_context, tokens) {\n        var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n        var layers = [];\n        tokens.filter(isIdentToken).forEach(function (token) {\n            switch (token.value) {\n                case 'stroke':\n                    layers.push(1 /* STROKE */);\n                    break;\n                case 'fill':\n                    layers.push(0 /* FILL */);\n                    break;\n                case 'markers':\n                    layers.push(2 /* MARKERS */);\n                    break;\n            }\n        });\n        DEFAULT_VALUE.forEach(function (value) {\n            if (layers.indexOf(value) === -1) {\n                layers.push(value);\n            }\n        });\n        return layers;\n    }\n};\n\nvar webkitTextStrokeColor = {\n    name: \"-webkit-text-stroke-color\",\n    initialValue: 'currentcolor',\n    prefix: false,\n    type: 3 /* TYPE_VALUE */,\n    format: 'color'\n};\n\nvar webkitTextStrokeWidth = {\n    name: \"-webkit-text-stroke-width\",\n    initialValue: '0',\n    type: 0 /* VALUE */,\n    prefix: false,\n    parse: function (_context, token) {\n        if (isDimensionToken(token)) {\n            return token.number;\n        }\n        return 0;\n    }\n};\n\nvar CSSParsedDeclaration = /** @class */ (function () {\n    function CSSParsedDeclaration(context, declaration) {\n        var _a, _b;\n        this.animationDuration = parse(context, duration, declaration.animationDuration);\n        this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n        this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n        this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n        this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n        this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n        this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n        this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n        this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n        this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n        this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n        this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n        this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n        this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n        this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n        this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n        this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n        this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n        this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n        this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n        this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n        this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n        this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n        this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n        this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n        this.color = parse(context, color, declaration.color);\n        this.direction = parse(context, direction, declaration.direction);\n        this.display = parse(context, display, declaration.display);\n        this.float = parse(context, float, declaration.cssFloat);\n        this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n        this.fontSize = parse(context, fontSize, declaration.fontSize);\n        this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n        this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n        this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n        this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n        this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n        this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n        this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n        this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n        this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n        this.marginTop = parse(context, marginTop, declaration.marginTop);\n        this.marginRight = parse(context, marginRight, declaration.marginRight);\n        this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n        this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n        this.opacity = parse(context, opacity, declaration.opacity);\n        var overflowTuple = parse(context, overflow, declaration.overflow);\n        this.overflowX = overflowTuple[0];\n        this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n        this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n        this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n        this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n        this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n        this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n        this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n        this.position = parse(context, position, declaration.position);\n        this.textAlign = parse(context, textAlign, declaration.textAlign);\n        this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n        this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n        this.textShadow = parse(context, textShadow, declaration.textShadow);\n        this.textTransform = parse(context, textTransform, declaration.textTransform);\n        this.transform = parse(context, transform$1, declaration.transform);\n        this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n        this.visibility = parse(context, visibility, declaration.visibility);\n        this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n        this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n        this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n        this.zIndex = parse(context, zIndex, declaration.zIndex);\n    }\n    CSSParsedDeclaration.prototype.isVisible = function () {\n        return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n    };\n    CSSParsedDeclaration.prototype.isTransparent = function () {\n        return isTransparent(this.backgroundColor);\n    };\n    CSSParsedDeclaration.prototype.isTransformed = function () {\n        return this.transform !== null;\n    };\n    CSSParsedDeclaration.prototype.isPositioned = function () {\n        return this.position !== 0 /* STATIC */;\n    };\n    CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n        return this.isPositioned() && !this.zIndex.auto;\n    };\n    CSSParsedDeclaration.prototype.isFloating = function () {\n        return this.float !== 0 /* NONE */;\n    };\n    CSSParsedDeclaration.prototype.isInlineLevel = function () {\n        return (contains(this.display, 4 /* INLINE */) ||\n            contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n            contains(this.display, 268435456 /* INLINE_FLEX */) ||\n            contains(this.display, 536870912 /* INLINE_GRID */) ||\n            contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n            contains(this.display, 134217728 /* INLINE_TABLE */));\n    };\n    return CSSParsedDeclaration;\n}());\nvar CSSParsedPseudoDeclaration = /** @class */ (function () {\n    function CSSParsedPseudoDeclaration(context, declaration) {\n        this.content = parse(context, content, declaration.content);\n        this.quotes = parse(context, quotes, declaration.quotes);\n    }\n    return CSSParsedPseudoDeclaration;\n}());\nvar CSSParsedCounterDeclaration = /** @class */ (function () {\n    function CSSParsedCounterDeclaration(context, declaration) {\n        this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n        this.counterReset = parse(context, counterReset, declaration.counterReset);\n    }\n    return CSSParsedCounterDeclaration;\n}());\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar parse = function (context, descriptor, style) {\n    var tokenizer = new Tokenizer();\n    var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n    tokenizer.write(value);\n    var parser = new Parser(tokenizer.read());\n    switch (descriptor.type) {\n        case 2 /* IDENT_VALUE */:\n            var token = parser.parseComponentValue();\n            return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n        case 0 /* VALUE */:\n            return descriptor.parse(context, parser.parseComponentValue());\n        case 1 /* LIST */:\n            return descriptor.parse(context, parser.parseComponentValues());\n        case 4 /* TOKEN_VALUE */:\n            return parser.parseComponentValue();\n        case 3 /* TYPE_VALUE */:\n            switch (descriptor.format) {\n                case 'angle':\n                    return angle.parse(context, parser.parseComponentValue());\n                case 'color':\n                    return color$1.parse(context, parser.parseComponentValue());\n                case 'image':\n                    return image.parse(context, parser.parseComponentValue());\n                case 'length':\n                    var length_1 = parser.parseComponentValue();\n                    return isLength(length_1) ? length_1 : ZERO_LENGTH;\n                case 'length-percentage':\n                    var value_1 = parser.parseComponentValue();\n                    return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n                case 'time':\n                    return time.parse(context, parser.parseComponentValue());\n            }\n            break;\n    }\n};\n\nvar elementDebuggerAttribute = 'data-html2canvas-debug';\nvar getElementDebugType = function (element) {\n    var attribute = element.getAttribute(elementDebuggerAttribute);\n    switch (attribute) {\n        case 'all':\n            return 1 /* ALL */;\n        case 'clone':\n            return 2 /* CLONE */;\n        case 'parse':\n            return 3 /* PARSE */;\n        case 'render':\n            return 4 /* RENDER */;\n        default:\n            return 0 /* NONE */;\n    }\n};\nvar isDebugging = function (element, type) {\n    var elementType = getElementDebugType(element);\n    return elementType === 1 /* ALL */ || type === elementType;\n};\n\nvar ElementContainer = /** @class */ (function () {\n    function ElementContainer(context, element) {\n        this.context = context;\n        this.textNodes = [];\n        this.elements = [];\n        this.flags = 0;\n        if (isDebugging(element, 3 /* PARSE */)) {\n            debugger;\n        }\n        this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n        if (isHTMLElementNode(element)) {\n            if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n                element.style.animationDuration = '0s';\n            }\n            if (this.styles.transform !== null) {\n                // getBoundingClientRect takes transforms into account\n                element.style.transform = 'none';\n            }\n        }\n        this.bounds = parseBounds(this.context, element);\n        if (isDebugging(element, 4 /* RENDER */)) {\n            this.flags |= 16 /* DEBUG_RENDER */;\n        }\n    }\n    return ElementContainer;\n}());\n\n/*\n * text-segmentation 1.0.3 <https://github.com/niklasvh/text-segmentation>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n/*\n * utrie 1.0.2 <https://github.com/niklasvh/utrie>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n    lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n}\nvar decode = function (base64) {\n    var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n    if (base64[base64.length - 1] === '=') {\n        bufferLength--;\n        if (base64[base64.length - 2] === '=') {\n            bufferLength--;\n        }\n    }\n    var buffer = typeof ArrayBuffer !== 'undefined' &&\n        typeof Uint8Array !== 'undefined' &&\n        typeof Uint8Array.prototype.slice !== 'undefined'\n        ? new ArrayBuffer(bufferLength)\n        : new Array(bufferLength);\n    var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n    for (i = 0; i < len; i += 4) {\n        encoded1 = lookup$1[base64.charCodeAt(i)];\n        encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n        encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n        encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n        bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n        bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n        bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n    }\n    return buffer;\n};\nvar polyUint16Array = function (buffer) {\n    var length = buffer.length;\n    var bytes = [];\n    for (var i = 0; i < length; i += 2) {\n        bytes.push((buffer[i + 1] << 8) | buffer[i]);\n    }\n    return bytes;\n};\nvar polyUint32Array = function (buffer) {\n    var length = buffer.length;\n    var bytes = [];\n    for (var i = 0; i < length; i += 4) {\n        bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n    }\n    return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\nvar slice16 = function (view, start, end) {\n    if (view.slice) {\n        return view.slice(start, end);\n    }\n    return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32 = function (view, start, end) {\n    if (view.slice) {\n        return view.slice(start, end);\n    }\n    return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64 = function (base64, _byteLength) {\n    var buffer = decode(base64);\n    var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n    var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n    var headerLength = 24;\n    var index = slice16(view16, headerLength / 2, view32[4] / 2);\n    var data = view32[5] === 2\n        ? slice16(view16, (headerLength + view32[4]) / 2)\n        : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n    return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie = /** @class */ (function () {\n    function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n        this.initialValue = initialValue;\n        this.errorValue = errorValue;\n        this.highStart = highStart;\n        this.highValueIndex = highValueIndex;\n        this.index = index;\n        this.data = data;\n    }\n    /**\n     * Get the value for a code point as stored in the Trie.\n     *\n     * @param codePoint the code point\n     * @return the value\n     */\n    Trie.prototype.get = function (codePoint) {\n        var ix;\n        if (codePoint >= 0) {\n            if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n                // Ordinary BMP code point, excluding leading surrogates.\n                // BMP uses a single level lookup.  BMP index starts at offset 0 in the Trie2 index.\n                // 16 bit data is stored in the index array itself.\n                ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n                ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n                return this.data[ix];\n            }\n            if (codePoint <= 0xffff) {\n                // Lead Surrogate Code Point.  A Separate index section is stored for\n                // lead surrogate code units and code points.\n                //   The main index has the code unit data.\n                //   For this function, we need the code point data.\n                // Note: this expression could be refactored for slightly improved efficiency, but\n                //       surrogate code points will be so rare in practice that it's not worth it.\n                ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n                ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n                return this.data[ix];\n            }\n            if (codePoint < this.highStart) {\n                // Supplemental code point, use two-level lookup.\n                ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n                ix = this.index[ix];\n                ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n                ix = this.index[ix];\n                ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n                return this.data[ix];\n            }\n            if (codePoint <= 0x10ffff) {\n                return this.data[this.highValueIndex];\n            }\n        }\n        // Fall through.  The code point is outside of the legal range of 0..0x10ffff.\n        return this.errorValue;\n    };\n    return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n    lookup[chars.charCodeAt(i)] = i;\n}\n\nvar Prepend = 1;\nvar CR = 2;\nvar LF = 3;\nvar Control = 4;\nvar Extend = 5;\nvar SpacingMark = 7;\nvar L = 8;\nvar V = 9;\nvar T = 10;\nvar LV = 11;\nvar LVT = 12;\nvar ZWJ = 13;\nvar Extended_Pictographic = 14;\nvar RI = 15;\nvar toCodePoints = function (str) {\n    var codePoints = [];\n    var i = 0;\n    var length = str.length;\n    while (i < length) {\n        var value = str.charCodeAt(i++);\n        if (value >= 0xd800 && value <= 0xdbff && i < length) {\n            var extra = str.charCodeAt(i++);\n            if ((extra & 0xfc00) === 0xdc00) {\n                codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n            }\n            else {\n                codePoints.push(value);\n                i--;\n            }\n        }\n        else {\n            codePoints.push(value);\n        }\n    }\n    return codePoints;\n};\nvar fromCodePoint = function () {\n    var codePoints = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        codePoints[_i] = arguments[_i];\n    }\n    if (String.fromCodePoint) {\n        return String.fromCodePoint.apply(String, codePoints);\n    }\n    var length = codePoints.length;\n    if (!length) {\n        return '';\n    }\n    var codeUnits = [];\n    var index = -1;\n    var result = '';\n    while (++index < length) {\n        var codePoint = codePoints[index];\n        if (codePoint <= 0xffff) {\n            codeUnits.push(codePoint);\n        }\n        else {\n            codePoint -= 0x10000;\n            codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n        }\n        if (index + 1 === length || codeUnits.length > 0x4000) {\n            result += String.fromCharCode.apply(String, codeUnits);\n            codeUnits.length = 0;\n        }\n    }\n    return result;\n};\nvar UnicodeTrie = createTrieFromBase64(base64);\nvar BREAK_NOT_ALLOWED = '×';\nvar BREAK_ALLOWED = '÷';\nvar codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\nvar _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n    var prevIndex = index - 2;\n    var prev = classTypes[prevIndex];\n    var current = classTypes[index - 1];\n    var next = classTypes[index];\n    // GB3 Do not break between a CR and LF\n    if (current === CR && next === LF) {\n        return BREAK_NOT_ALLOWED;\n    }\n    // GB4 Otherwise, break before and after controls.\n    if (current === CR || current === LF || current === Control) {\n        return BREAK_ALLOWED;\n    }\n    // GB5\n    if (next === CR || next === LF || next === Control) {\n        return BREAK_ALLOWED;\n    }\n    // Do not break Hangul syllable sequences.\n    // GB6\n    if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n        return BREAK_NOT_ALLOWED;\n    }\n    // GB7\n    if ((current === LV || current === V) && (next === V || next === T)) {\n        return BREAK_NOT_ALLOWED;\n    }\n    // GB8\n    if ((current === LVT || current === T) && next === T) {\n        return BREAK_NOT_ALLOWED;\n    }\n    // GB9 Do not break before extending characters or ZWJ.\n    if (next === ZWJ || next === Extend) {\n        return BREAK_NOT_ALLOWED;\n    }\n    // Do not break before SpacingMarks, or after Prepend characters.\n    // GB9a\n    if (next === SpacingMark) {\n        return BREAK_NOT_ALLOWED;\n    }\n    // GB9a\n    if (current === Prepend) {\n        return BREAK_NOT_ALLOWED;\n    }\n    // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n    if (current === ZWJ && next === Extended_Pictographic) {\n        while (prev === Extend) {\n            prev = classTypes[--prevIndex];\n        }\n        if (prev === Extended_Pictographic) {\n            return BREAK_NOT_ALLOWED;\n        }\n    }\n    // GB12 Do not break within emoji flag sequences.\n    // That is, do not break between regional indicator (RI) symbols\n    // if there is an odd number of RI characters before the break point.\n    if (current === RI && next === RI) {\n        var countRI = 0;\n        while (prev === RI) {\n            countRI++;\n            prev = classTypes[--prevIndex];\n        }\n        if (countRI % 2 === 0) {\n            return BREAK_NOT_ALLOWED;\n        }\n    }\n    return BREAK_ALLOWED;\n};\nvar GraphemeBreaker = function (str) {\n    var codePoints = toCodePoints(str);\n    var length = codePoints.length;\n    var index = 0;\n    var lastEnd = 0;\n    var classTypes = codePoints.map(codePointToClass);\n    return {\n        next: function () {\n            if (index >= length) {\n                return { done: true, value: null };\n            }\n            var graphemeBreak = BREAK_NOT_ALLOWED;\n            while (index < length &&\n                (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n            if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n                var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n                lastEnd = index;\n                return { value: value, done: false };\n            }\n            return { done: true, value: null };\n        },\n    };\n};\nvar splitGraphemes = function (str) {\n    var breaker = GraphemeBreaker(str);\n    var graphemes = [];\n    var bk;\n    while (!(bk = breaker.next()).done) {\n        if (bk.value) {\n            graphemes.push(bk.value.slice());\n        }\n    }\n    return graphemes;\n};\n\nvar testRangeBounds = function (document) {\n    var TEST_HEIGHT = 123;\n    if (document.createRange) {\n        var range = document.createRange();\n        if (range.getBoundingClientRect) {\n            var testElement = document.createElement('boundtest');\n            testElement.style.height = TEST_HEIGHT + \"px\";\n            testElement.style.display = 'block';\n            document.body.appendChild(testElement);\n            range.selectNode(testElement);\n            var rangeBounds = range.getBoundingClientRect();\n            var rangeHeight = Math.round(rangeBounds.height);\n            document.body.removeChild(testElement);\n            if (rangeHeight === TEST_HEIGHT) {\n                return true;\n            }\n        }\n    }\n    return false;\n};\nvar testIOSLineBreak = function (document) {\n    var testElement = document.createElement('boundtest');\n    testElement.style.width = '50px';\n    testElement.style.display = 'block';\n    testElement.style.fontSize = '12px';\n    testElement.style.letterSpacing = '0px';\n    testElement.style.wordSpacing = '0px';\n    document.body.appendChild(testElement);\n    var range = document.createRange();\n    testElement.innerHTML = typeof ''.repeat === 'function' ? '&#128104;'.repeat(10) : '';\n    var node = testElement.firstChild;\n    var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n    var offset = 0;\n    var prev = {};\n    // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n    var supports = textList.every(function (text, i) {\n        range.setStart(node, offset);\n        range.setEnd(node, offset + text.length);\n        var rect = range.getBoundingClientRect();\n        offset += text.length;\n        var boundAhead = rect.x > prev.x || rect.y > prev.y;\n        prev = rect;\n        if (i === 0) {\n            return true;\n        }\n        return boundAhead;\n    });\n    document.body.removeChild(testElement);\n    return supports;\n};\nvar testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\nvar testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\nvar testSVG = function (document) {\n    var img = new Image();\n    var canvas = document.createElement('canvas');\n    var ctx = canvas.getContext('2d');\n    if (!ctx) {\n        return false;\n    }\n    img.src = \"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>\";\n    try {\n        ctx.drawImage(img, 0, 0);\n        canvas.toDataURL();\n    }\n    catch (e) {\n        return false;\n    }\n    return true;\n};\nvar isGreenPixel = function (data) {\n    return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n};\nvar testForeignObject = function (document) {\n    var canvas = document.createElement('canvas');\n    var size = 100;\n    canvas.width = size;\n    canvas.height = size;\n    var ctx = canvas.getContext('2d');\n    if (!ctx) {\n        return Promise.reject(false);\n    }\n    ctx.fillStyle = 'rgb(0, 255, 0)';\n    ctx.fillRect(0, 0, size, size);\n    var img = new Image();\n    var greenImageSrc = canvas.toDataURL();\n    img.src = greenImageSrc;\n    var svg = createForeignObjectSVG(size, size, 0, 0, img);\n    ctx.fillStyle = 'red';\n    ctx.fillRect(0, 0, size, size);\n    return loadSerializedSVG$1(svg)\n        .then(function (img) {\n        ctx.drawImage(img, 0, 0);\n        var data = ctx.getImageData(0, 0, size, size).data;\n        ctx.fillStyle = 'red';\n        ctx.fillRect(0, 0, size, size);\n        var node = document.createElement('div');\n        node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n        node.style.height = size + \"px\";\n        // Firefox 55 does not render inline <img /> tags\n        return isGreenPixel(data)\n            ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n            : Promise.reject(false);\n    })\n        .then(function (img) {\n        ctx.drawImage(img, 0, 0);\n        // Edge does not render background-images\n        return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n    })\n        .catch(function () { return false; });\n};\nvar createForeignObjectSVG = function (width, height, x, y, node) {\n    var xmlns = 'http://www.w3.org/2000/svg';\n    var svg = document.createElementNS(xmlns, 'svg');\n    var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n    svg.setAttributeNS(null, 'width', width.toString());\n    svg.setAttributeNS(null, 'height', height.toString());\n    foreignObject.setAttributeNS(null, 'width', '100%');\n    foreignObject.setAttributeNS(null, 'height', '100%');\n    foreignObject.setAttributeNS(null, 'x', x.toString());\n    foreignObject.setAttributeNS(null, 'y', y.toString());\n    foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n    svg.appendChild(foreignObject);\n    foreignObject.appendChild(node);\n    return svg;\n};\nvar loadSerializedSVG$1 = function (svg) {\n    return new Promise(function (resolve, reject) {\n        var img = new Image();\n        img.onload = function () { return resolve(img); };\n        img.onerror = reject;\n        img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n    });\n};\nvar FEATURES = {\n    get SUPPORT_RANGE_BOUNDS() {\n        var value = testRangeBounds(document);\n        Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n        return value;\n    },\n    get SUPPORT_WORD_BREAKING() {\n        var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n        Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n        return value;\n    },\n    get SUPPORT_SVG_DRAWING() {\n        var value = testSVG(document);\n        Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n        return value;\n    },\n    get SUPPORT_FOREIGNOBJECT_DRAWING() {\n        var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n            ? testForeignObject(document)\n            : Promise.resolve(false);\n        Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n        return value;\n    },\n    get SUPPORT_CORS_IMAGES() {\n        var value = testCORS();\n        Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n        return value;\n    },\n    get SUPPORT_RESPONSE_TYPE() {\n        var value = testResponseType();\n        Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n        return value;\n    },\n    get SUPPORT_CORS_XHR() {\n        var value = 'withCredentials' in new XMLHttpRequest();\n        Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n        return value;\n    },\n    get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n        Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n        return value;\n    }\n};\n\nvar TextBounds = /** @class */ (function () {\n    function TextBounds(text, bounds) {\n        this.text = text;\n        this.bounds = bounds;\n    }\n    return TextBounds;\n}());\nvar parseTextBounds = function (context, value, styles, node) {\n    var textList = breakText(value, styles);\n    var textBounds = [];\n    var offset = 0;\n    textList.forEach(function (text) {\n        if (styles.textDecorationLine.length || text.trim().length > 0) {\n            if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n                var clientRects = createRange(node, offset, text.length).getClientRects();\n                if (clientRects.length > 1) {\n                    var subSegments = segmentGraphemes(text);\n                    var subOffset_1 = 0;\n                    subSegments.forEach(function (subSegment) {\n                        textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n                        subOffset_1 += subSegment.length;\n                    });\n                }\n                else {\n                    textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n                }\n            }\n            else {\n                var replacementNode = node.splitText(text.length);\n                textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n                node = replacementNode;\n            }\n        }\n        else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n            node = node.splitText(text.length);\n        }\n        offset += text.length;\n    });\n    return textBounds;\n};\nvar getWrapperBounds = function (context, node) {\n    var ownerDocument = node.ownerDocument;\n    if (ownerDocument) {\n        var wrapper = ownerDocument.createElement('html2canvaswrapper');\n        wrapper.appendChild(node.cloneNode(true));\n        var parentNode = node.parentNode;\n        if (parentNode) {\n            parentNode.replaceChild(wrapper, node);\n            var bounds = parseBounds(context, wrapper);\n            if (wrapper.firstChild) {\n                parentNode.replaceChild(wrapper.firstChild, wrapper);\n            }\n            return bounds;\n        }\n    }\n    return Bounds.EMPTY;\n};\nvar createRange = function (node, offset, length) {\n    var ownerDocument = node.ownerDocument;\n    if (!ownerDocument) {\n        throw new Error('Node has no owner document');\n    }\n    var range = ownerDocument.createRange();\n    range.setStart(node, offset);\n    range.setEnd(node, offset + length);\n    return range;\n};\nvar segmentGraphemes = function (value) {\n    if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n    }\n    return splitGraphemes(value);\n};\nvar segmentWords = function (value, styles) {\n    if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        var segmenter = new Intl.Segmenter(void 0, {\n            granularity: 'word'\n        });\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n    }\n    return breakWords(value, styles);\n};\nvar breakText = function (value, styles) {\n    return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n};\n// https://drafts.csswg.org/css-text/#word-separator\nvar wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\nvar breakWords = function (str, styles) {\n    var breaker = LineBreaker(str, {\n        lineBreak: styles.lineBreak,\n        wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n    });\n    var words = [];\n    var bk;\n    var _loop_1 = function () {\n        if (bk.value) {\n            var value = bk.value.slice();\n            var codePoints = toCodePoints$1(value);\n            var word_1 = '';\n            codePoints.forEach(function (codePoint) {\n                if (wordSeparators.indexOf(codePoint) === -1) {\n                    word_1 += fromCodePoint$1(codePoint);\n                }\n                else {\n                    if (word_1.length) {\n                        words.push(word_1);\n                    }\n                    words.push(fromCodePoint$1(codePoint));\n                    word_1 = '';\n                }\n            });\n            if (word_1.length) {\n                words.push(word_1);\n            }\n        }\n    };\n    while (!(bk = breaker.next()).done) {\n        _loop_1();\n    }\n    return words;\n};\n\nvar TextContainer = /** @class */ (function () {\n    function TextContainer(context, node, styles) {\n        this.text = transform(node.data, styles.textTransform);\n        this.textBounds = parseTextBounds(context, this.text, styles, node);\n    }\n    return TextContainer;\n}());\nvar transform = function (text, transform) {\n    switch (transform) {\n        case 1 /* LOWERCASE */:\n            return text.toLowerCase();\n        case 3 /* CAPITALIZE */:\n            return text.replace(CAPITALIZE, capitalize);\n        case 2 /* UPPERCASE */:\n            return text.toUpperCase();\n        default:\n            return text;\n    }\n};\nvar CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\nvar capitalize = function (m, p1, p2) {\n    if (m.length > 0) {\n        return p1 + p2.toUpperCase();\n    }\n    return m;\n};\n\nvar ImageElementContainer = /** @class */ (function (_super) {\n    __extends(ImageElementContainer, _super);\n    function ImageElementContainer(context, img) {\n        var _this = _super.call(this, context, img) || this;\n        _this.src = img.currentSrc || img.src;\n        _this.intrinsicWidth = img.naturalWidth;\n        _this.intrinsicHeight = img.naturalHeight;\n        _this.context.cache.addImage(_this.src);\n        return _this;\n    }\n    return ImageElementContainer;\n}(ElementContainer));\n\nvar CanvasElementContainer = /** @class */ (function (_super) {\n    __extends(CanvasElementContainer, _super);\n    function CanvasElementContainer(context, canvas) {\n        var _this = _super.call(this, context, canvas) || this;\n        _this.canvas = canvas;\n        _this.intrinsicWidth = canvas.width;\n        _this.intrinsicHeight = canvas.height;\n        return _this;\n    }\n    return CanvasElementContainer;\n}(ElementContainer));\n\nvar SVGElementContainer = /** @class */ (function (_super) {\n    __extends(SVGElementContainer, _super);\n    function SVGElementContainer(context, img) {\n        var _this = _super.call(this, context, img) || this;\n        var s = new XMLSerializer();\n        var bounds = parseBounds(context, img);\n        img.setAttribute('width', bounds.width + \"px\");\n        img.setAttribute('height', bounds.height + \"px\");\n        _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n        _this.intrinsicWidth = img.width.baseVal.value;\n        _this.intrinsicHeight = img.height.baseVal.value;\n        _this.context.cache.addImage(_this.svg);\n        return _this;\n    }\n    return SVGElementContainer;\n}(ElementContainer));\n\nvar LIElementContainer = /** @class */ (function (_super) {\n    __extends(LIElementContainer, _super);\n    function LIElementContainer(context, element) {\n        var _this = _super.call(this, context, element) || this;\n        _this.value = element.value;\n        return _this;\n    }\n    return LIElementContainer;\n}(ElementContainer));\n\nvar OLElementContainer = /** @class */ (function (_super) {\n    __extends(OLElementContainer, _super);\n    function OLElementContainer(context, element) {\n        var _this = _super.call(this, context, element) || this;\n        _this.start = element.start;\n        _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n        return _this;\n    }\n    return OLElementContainer;\n}(ElementContainer));\n\nvar CHECKBOX_BORDER_RADIUS = [\n    {\n        type: 15 /* DIMENSION_TOKEN */,\n        flags: 0,\n        unit: 'px',\n        number: 3\n    }\n];\nvar RADIO_BORDER_RADIUS = [\n    {\n        type: 16 /* PERCENTAGE_TOKEN */,\n        flags: 0,\n        number: 50\n    }\n];\nvar reformatInputBounds = function (bounds) {\n    if (bounds.width > bounds.height) {\n        return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n    }\n    else if (bounds.width < bounds.height) {\n        return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n    }\n    return bounds;\n};\nvar getInputValue = function (node) {\n    var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n    return value.length === 0 ? node.placeholder || '' : value;\n};\nvar CHECKBOX = 'checkbox';\nvar RADIO = 'radio';\nvar PASSWORD = 'password';\nvar INPUT_COLOR = 0x2a2a2aff;\nvar InputElementContainer = /** @class */ (function (_super) {\n    __extends(InputElementContainer, _super);\n    function InputElementContainer(context, input) {\n        var _this = _super.call(this, context, input) || this;\n        _this.type = input.type.toLowerCase();\n        _this.checked = input.checked;\n        _this.value = getInputValue(input);\n        if (_this.type === CHECKBOX || _this.type === RADIO) {\n            _this.styles.backgroundColor = 0xdededeff;\n            _this.styles.borderTopColor =\n                _this.styles.borderRightColor =\n                    _this.styles.borderBottomColor =\n                        _this.styles.borderLeftColor =\n                            0xa5a5a5ff;\n            _this.styles.borderTopWidth =\n                _this.styles.borderRightWidth =\n                    _this.styles.borderBottomWidth =\n                        _this.styles.borderLeftWidth =\n                            1;\n            _this.styles.borderTopStyle =\n                _this.styles.borderRightStyle =\n                    _this.styles.borderBottomStyle =\n                        _this.styles.borderLeftStyle =\n                            1 /* SOLID */;\n            _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n            _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n            _this.bounds = reformatInputBounds(_this.bounds);\n        }\n        switch (_this.type) {\n            case CHECKBOX:\n                _this.styles.borderTopRightRadius =\n                    _this.styles.borderTopLeftRadius =\n                        _this.styles.borderBottomRightRadius =\n                            _this.styles.borderBottomLeftRadius =\n                                CHECKBOX_BORDER_RADIUS;\n                break;\n            case RADIO:\n                _this.styles.borderTopRightRadius =\n                    _this.styles.borderTopLeftRadius =\n                        _this.styles.borderBottomRightRadius =\n                            _this.styles.borderBottomLeftRadius =\n                                RADIO_BORDER_RADIUS;\n                break;\n        }\n        return _this;\n    }\n    return InputElementContainer;\n}(ElementContainer));\n\nvar SelectElementContainer = /** @class */ (function (_super) {\n    __extends(SelectElementContainer, _super);\n    function SelectElementContainer(context, element) {\n        var _this = _super.call(this, context, element) || this;\n        var option = element.options[element.selectedIndex || 0];\n        _this.value = option ? option.text || '' : '';\n        return _this;\n    }\n    return SelectElementContainer;\n}(ElementContainer));\n\nvar TextareaElementContainer = /** @class */ (function (_super) {\n    __extends(TextareaElementContainer, _super);\n    function TextareaElementContainer(context, element) {\n        var _this = _super.call(this, context, element) || this;\n        _this.value = element.value;\n        return _this;\n    }\n    return TextareaElementContainer;\n}(ElementContainer));\n\nvar IFrameElementContainer = /** @class */ (function (_super) {\n    __extends(IFrameElementContainer, _super);\n    function IFrameElementContainer(context, iframe) {\n        var _this = _super.call(this, context, iframe) || this;\n        _this.src = iframe.src;\n        _this.width = parseInt(iframe.width, 10) || 0;\n        _this.height = parseInt(iframe.height, 10) || 0;\n        _this.backgroundColor = _this.styles.backgroundColor;\n        try {\n            if (iframe.contentWindow &&\n                iframe.contentWindow.document &&\n                iframe.contentWindow.document.documentElement) {\n                _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n                // http://www.w3.org/TR/css3-background/#special-backgrounds\n                var documentBackgroundColor = iframe.contentWindow.document.documentElement\n                    ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n                    : COLORS.TRANSPARENT;\n                var bodyBackgroundColor = iframe.contentWindow.document.body\n                    ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n                    : COLORS.TRANSPARENT;\n                _this.backgroundColor = isTransparent(documentBackgroundColor)\n                    ? isTransparent(bodyBackgroundColor)\n                        ? _this.styles.backgroundColor\n                        : bodyBackgroundColor\n                    : documentBackgroundColor;\n            }\n        }\n        catch (e) { }\n        return _this;\n    }\n    return IFrameElementContainer;\n}(ElementContainer));\n\nvar LIST_OWNERS = ['OL', 'UL', 'MENU'];\nvar parseNodeTree = function (context, node, parent, root) {\n    for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n        nextNode = childNode.nextSibling;\n        if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n            parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n        }\n        else if (isElementNode(childNode)) {\n            if (isSlotElement(childNode) && childNode.assignedNodes) {\n                childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n            }\n            else {\n                var container = createContainer(context, childNode);\n                if (container.styles.isVisible()) {\n                    if (createsRealStackingContext(childNode, container, root)) {\n                        container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n                    }\n                    else if (createsStackingContext(container.styles)) {\n                        container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n                    }\n                    if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n                        container.flags |= 8 /* IS_LIST_OWNER */;\n                    }\n                    parent.elements.push(container);\n                    childNode.slot;\n                    if (childNode.shadowRoot) {\n                        parseNodeTree(context, childNode.shadowRoot, container, root);\n                    }\n                    else if (!isTextareaElement(childNode) &&\n                        !isSVGElement(childNode) &&\n                        !isSelectElement(childNode)) {\n                        parseNodeTree(context, childNode, container, root);\n                    }\n                }\n            }\n        }\n    }\n};\nvar createContainer = function (context, element) {\n    if (isImageElement(element)) {\n        return new ImageElementContainer(context, element);\n    }\n    if (isCanvasElement(element)) {\n        return new CanvasElementContainer(context, element);\n    }\n    if (isSVGElement(element)) {\n        return new SVGElementContainer(context, element);\n    }\n    if (isLIElement(element)) {\n        return new LIElementContainer(context, element);\n    }\n    if (isOLElement(element)) {\n        return new OLElementContainer(context, element);\n    }\n    if (isInputElement(element)) {\n        return new InputElementContainer(context, element);\n    }\n    if (isSelectElement(element)) {\n        return new SelectElementContainer(context, element);\n    }\n    if (isTextareaElement(element)) {\n        return new TextareaElementContainer(context, element);\n    }\n    if (isIFrameElement(element)) {\n        return new IFrameElementContainer(context, element);\n    }\n    return new ElementContainer(context, element);\n};\nvar parseTree = function (context, element) {\n    var container = createContainer(context, element);\n    container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n    parseNodeTree(context, element, container, container);\n    return container;\n};\nvar createsRealStackingContext = function (node, container, root) {\n    return (container.styles.isPositionedWithZIndex() ||\n        container.styles.opacity < 1 ||\n        container.styles.isTransformed() ||\n        (isBodyElement(node) && root.styles.isTransparent()));\n};\nvar createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\nvar isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\nvar isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\nvar isHTMLElementNode = function (node) {\n    return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n};\nvar isSVGElementNode = function (element) {\n    return typeof element.className === 'object';\n};\nvar isLIElement = function (node) { return node.tagName === 'LI'; };\nvar isOLElement = function (node) { return node.tagName === 'OL'; };\nvar isInputElement = function (node) { return node.tagName === 'INPUT'; };\nvar isHTMLElement = function (node) { return node.tagName === 'HTML'; };\nvar isSVGElement = function (node) { return node.tagName === 'svg'; };\nvar isBodyElement = function (node) { return node.tagName === 'BODY'; };\nvar isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\nvar isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\nvar isImageElement = function (node) { return node.tagName === 'IMG'; };\nvar isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\nvar isStyleElement = function (node) { return node.tagName === 'STYLE'; };\nvar isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\nvar isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\nvar isSelectElement = function (node) { return node.tagName === 'SELECT'; };\nvar isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\nvar isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\nvar CounterState = /** @class */ (function () {\n    function CounterState() {\n        this.counters = {};\n    }\n    CounterState.prototype.getCounterValue = function (name) {\n        var counter = this.counters[name];\n        if (counter && counter.length) {\n            return counter[counter.length - 1];\n        }\n        return 1;\n    };\n    CounterState.prototype.getCounterValues = function (name) {\n        var counter = this.counters[name];\n        return counter ? counter : [];\n    };\n    CounterState.prototype.pop = function (counters) {\n        var _this = this;\n        counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n    };\n    CounterState.prototype.parse = function (style) {\n        var _this = this;\n        var counterIncrement = style.counterIncrement;\n        var counterReset = style.counterReset;\n        var canReset = true;\n        if (counterIncrement !== null) {\n            counterIncrement.forEach(function (entry) {\n                var counter = _this.counters[entry.counter];\n                if (counter && entry.increment !== 0) {\n                    canReset = false;\n                    if (!counter.length) {\n                        counter.push(1);\n                    }\n                    counter[Math.max(0, counter.length - 1)] += entry.increment;\n                }\n            });\n        }\n        var counterNames = [];\n        if (canReset) {\n            counterReset.forEach(function (entry) {\n                var counter = _this.counters[entry.counter];\n                counterNames.push(entry.counter);\n                if (!counter) {\n                    counter = _this.counters[entry.counter] = [];\n                }\n                counter.push(entry.reset);\n            });\n        }\n        return counterNames;\n    };\n    return CounterState;\n}());\nvar ROMAN_UPPER = {\n    integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n    values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n};\nvar ARMENIAN = {\n    integers: [\n        9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n        60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n    ],\n    values: [\n        'Ք',\n        'Փ',\n        'Ւ',\n        'Ց',\n        'Ր',\n        'Տ',\n        'Վ',\n        'Ս',\n        'Ռ',\n        'Ջ',\n        'Պ',\n        'Չ',\n        'Ո',\n        'Շ',\n        'Ն',\n        'Յ',\n        'Մ',\n        'Ճ',\n        'Ղ',\n        'Ձ',\n        'Հ',\n        'Կ',\n        'Ծ',\n        'Խ',\n        'Լ',\n        'Ի',\n        'Ժ',\n        'Թ',\n        'Ը',\n        'Է',\n        'Զ',\n        'Ե',\n        'Դ',\n        'Գ',\n        'Բ',\n        'Ա'\n    ]\n};\nvar HEBREW = {\n    integers: [\n        10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n        19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n    ],\n    values: [\n        'י׳',\n        'ט׳',\n        'ח׳',\n        'ז׳',\n        'ו׳',\n        'ה׳',\n        'ד׳',\n        'ג׳',\n        'ב׳',\n        'א׳',\n        'ת',\n        'ש',\n        'ר',\n        'ק',\n        'צ',\n        'פ',\n        'ע',\n        'ס',\n        'נ',\n        'מ',\n        'ל',\n        'כ',\n        'יט',\n        'יח',\n        'יז',\n        'טז',\n        'טו',\n        'י',\n        'ט',\n        'ח',\n        'ז',\n        'ו',\n        'ה',\n        'ד',\n        'ג',\n        'ב',\n        'א'\n    ]\n};\nvar GEORGIAN = {\n    integers: [\n        10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n        80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n    ],\n    values: [\n        'ჵ',\n        'ჰ',\n        'ჯ',\n        'ჴ',\n        'ხ',\n        'ჭ',\n        'წ',\n        'ძ',\n        'ც',\n        'ჩ',\n        'შ',\n        'ყ',\n        'ღ',\n        'ქ',\n        'ფ',\n        'ჳ',\n        'ტ',\n        'ს',\n        'რ',\n        'ჟ',\n        'პ',\n        'ო',\n        'ჲ',\n        'ნ',\n        'მ',\n        'ლ',\n        'კ',\n        'ი',\n        'თ',\n        'ჱ',\n        'ზ',\n        'ვ',\n        'ე',\n        'დ',\n        'გ',\n        'ბ',\n        'ა'\n    ]\n};\nvar createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n    if (value < min || value > max) {\n        return createCounterText(value, fallback, suffix.length > 0);\n    }\n    return (symbols.integers.reduce(function (string, integer, index) {\n        while (value >= integer) {\n            value -= integer;\n            string += symbols.values[index];\n        }\n        return string;\n    }, '') + suffix);\n};\nvar createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n    var string = '';\n    do {\n        if (!isNumeric) {\n            value--;\n        }\n        string = resolver(value) + string;\n        value /= codePointRangeLength;\n    } while (value * codePointRangeLength >= codePointRangeLength);\n    return string;\n};\nvar createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n    var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n    return ((value < 0 ? '-' : '') +\n        (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n            return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n        }) +\n            suffix));\n};\nvar createCounterStyleFromSymbols = function (value, symbols, suffix) {\n    if (suffix === void 0) { suffix = '. '; }\n    var codePointRangeLength = symbols.length;\n    return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n};\nvar CJK_ZEROS = 1 << 0;\nvar CJK_TEN_COEFFICIENTS = 1 << 1;\nvar CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\nvar CJK_HUNDRED_COEFFICIENTS = 1 << 3;\nvar createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n    if (value < -9999 || value > 9999) {\n        return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n    }\n    var tmp = Math.abs(value);\n    var string = suffix;\n    if (tmp === 0) {\n        return numbers[0] + string;\n    }\n    for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n        var coefficient = tmp % 10;\n        if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n            string = numbers[coefficient] + string;\n        }\n        else if (coefficient > 1 ||\n            (coefficient === 1 && digit === 0) ||\n            (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n            (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n            (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n            string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n        }\n        else if (coefficient === 1 && digit > 0) {\n            string = multipliers[digit - 1] + string;\n        }\n        tmp = Math.floor(tmp / 10);\n    }\n    return (value < 0 ? negativeSign : '') + string;\n};\nvar CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\nvar CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\nvar JAPANESE_NEGATIVE = 'マイナス';\nvar KOREAN_NEGATIVE = '마이너스';\nvar createCounterText = function (value, type, appendSuffix) {\n    var defaultSuffix = appendSuffix ? '. ' : '';\n    var cjkSuffix = appendSuffix ? '、' : '';\n    var koreanSuffix = appendSuffix ? ', ' : '';\n    var spaceSuffix = appendSuffix ? ' ' : '';\n    switch (type) {\n        case 0 /* DISC */:\n            return '•' + spaceSuffix;\n        case 1 /* CIRCLE */:\n            return '◦' + spaceSuffix;\n        case 2 /* SQUARE */:\n            return '◾' + spaceSuffix;\n        case 5 /* DECIMAL_LEADING_ZERO */:\n            var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n            return string.length < 4 ? \"0\" + string : string;\n        case 4 /* CJK_DECIMAL */:\n            return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n        case 6 /* LOWER_ROMAN */:\n            return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n        case 7 /* UPPER_ROMAN */:\n            return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n        case 8 /* LOWER_GREEK */:\n            return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n        case 9 /* LOWER_ALPHA */:\n            return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n        case 10 /* UPPER_ALPHA */:\n            return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n        case 11 /* ARABIC_INDIC */:\n            return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n        case 12 /* ARMENIAN */:\n        case 49 /* UPPER_ARMENIAN */:\n            return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n        case 35 /* LOWER_ARMENIAN */:\n            return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n        case 13 /* BENGALI */:\n            return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n        case 14 /* CAMBODIAN */:\n        case 30 /* KHMER */:\n            return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n        case 15 /* CJK_EARTHLY_BRANCH */:\n            return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n        case 16 /* CJK_HEAVENLY_STEM */:\n            return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n        case 17 /* CJK_IDEOGRAPHIC */:\n        case 48 /* TRAD_CHINESE_INFORMAL */:\n            return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n        case 47 /* TRAD_CHINESE_FORMAL */:\n            return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n        case 42 /* SIMP_CHINESE_INFORMAL */:\n            return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n        case 41 /* SIMP_CHINESE_FORMAL */:\n            return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n        case 26 /* JAPANESE_INFORMAL */:\n            return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n        case 25 /* JAPANESE_FORMAL */:\n            return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n        case 31 /* KOREAN_HANGUL_FORMAL */:\n            return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n        case 33 /* KOREAN_HANJA_INFORMAL */:\n            return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n        case 32 /* KOREAN_HANJA_FORMAL */:\n            return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n        case 18 /* DEVANAGARI */:\n            return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n        case 20 /* GEORGIAN */:\n            return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n        case 21 /* GUJARATI */:\n            return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n        case 22 /* GURMUKHI */:\n            return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n        case 22 /* HEBREW */:\n            return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n        case 23 /* HIRAGANA */:\n            return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n        case 24 /* HIRAGANA_IROHA */:\n            return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n        case 27 /* KANNADA */:\n            return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n        case 28 /* KATAKANA */:\n            return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n        case 29 /* KATAKANA_IROHA */:\n            return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n        case 34 /* LAO */:\n            return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n        case 37 /* MONGOLIAN */:\n            return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n        case 38 /* MYANMAR */:\n            return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n        case 39 /* ORIYA */:\n            return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n        case 40 /* PERSIAN */:\n            return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n        case 43 /* TAMIL */:\n            return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n        case 44 /* TELUGU */:\n            return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n        case 45 /* THAI */:\n            return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n        case 46 /* TIBETAN */:\n            return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n        case 3 /* DECIMAL */:\n        default:\n            return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n    }\n};\n\nvar IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\nvar DocumentCloner = /** @class */ (function () {\n    function DocumentCloner(context, element, options) {\n        this.context = context;\n        this.options = options;\n        this.scrolledElements = [];\n        this.referenceElement = element;\n        this.counters = new CounterState();\n        this.quoteDepth = 0;\n        if (!element.ownerDocument) {\n            throw new Error('Cloned element does not have an owner document');\n        }\n        this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n    }\n    DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n        var _this = this;\n        var iframe = createIFrameContainer(ownerDocument, windowSize);\n        if (!iframe.contentWindow) {\n            return Promise.reject(\"Unable to find iframe window\");\n        }\n        var scrollX = ownerDocument.defaultView.pageXOffset;\n        var scrollY = ownerDocument.defaultView.pageYOffset;\n        var cloneWindow = iframe.contentWindow;\n        var documentClone = cloneWindow.document;\n        /* Chrome doesn't detect relative background-images assigned in inline <style> sheets when fetched through getComputedStyle\n         if window url is about:blank, we can assign the url to current by writing onto the document\n         */\n        var iframeLoad = iframeLoader(iframe).then(function () { return __awaiter(_this, void 0, void 0, function () {\n            var onclone, referenceElement;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        this.scrolledElements.forEach(restoreNodeScroll);\n                        if (cloneWindow) {\n                            cloneWindow.scrollTo(windowSize.left, windowSize.top);\n                            if (/(iPad|iPhone|iPod)/g.test(navigator.userAgent) &&\n                                (cloneWindow.scrollY !== windowSize.top || cloneWindow.scrollX !== windowSize.left)) {\n                                this.context.logger.warn('Unable to restore scroll position for cloned document');\n                                this.context.windowBounds = this.context.windowBounds.add(cloneWindow.scrollX - windowSize.left, cloneWindow.scrollY - windowSize.top, 0, 0);\n                            }\n                        }\n                        onclone = this.options.onclone;\n                        referenceElement = this.clonedReferenceElement;\n                        if (typeof referenceElement === 'undefined') {\n                            return [2 /*return*/, Promise.reject(\"Error finding the \" + this.referenceElement.nodeName + \" in the cloned document\")];\n                        }\n                        if (!(documentClone.fonts && documentClone.fonts.ready)) return [3 /*break*/, 2];\n                        return [4 /*yield*/, documentClone.fonts.ready];\n                    case 1:\n                        _a.sent();\n                        _a.label = 2;\n                    case 2:\n                        if (!/(AppleWebKit)/g.test(navigator.userAgent)) return [3 /*break*/, 4];\n                        return [4 /*yield*/, imagesReady(documentClone)];\n                    case 3:\n                        _a.sent();\n                        _a.label = 4;\n                    case 4:\n                        if (typeof onclone === 'function') {\n                            return [2 /*return*/, Promise.resolve()\n                                    .then(function () { return onclone(documentClone, referenceElement); })\n                                    .then(function () { return iframe; })];\n                        }\n                        return [2 /*return*/, iframe];\n                }\n            });\n        }); });\n        documentClone.open();\n        documentClone.write(serializeDoctype(document.doctype) + \"<html></html>\");\n        // Chrome scrolls the parent document for some reason after the write to the cloned window???\n        restoreOwnerScroll(this.referenceElement.ownerDocument, scrollX, scrollY);\n        documentClone.replaceChild(documentClone.adoptNode(this.documentElement), documentClone.documentElement);\n        documentClone.close();\n        return iframeLoad;\n    };\n    DocumentCloner.prototype.createElementClone = function (node) {\n        if (isDebugging(node, 2 /* CLONE */)) {\n            debugger;\n        }\n        if (isCanvasElement(node)) {\n            return this.createCanvasClone(node);\n        }\n        if (isVideoElement(node)) {\n            return this.createVideoClone(node);\n        }\n        if (isStyleElement(node)) {\n            return this.createStyleClone(node);\n        }\n        var clone = node.cloneNode(false);\n        if (isImageElement(clone)) {\n            if (isImageElement(node) && node.currentSrc && node.currentSrc !== node.src) {\n                clone.src = node.currentSrc;\n                clone.srcset = '';\n            }\n            if (clone.loading === 'lazy') {\n                clone.loading = 'eager';\n            }\n        }\n        if (isCustomElement(clone)) {\n            return this.createCustomElementClone(clone);\n        }\n        return clone;\n    };\n    DocumentCloner.prototype.createCustomElementClone = function (node) {\n        var clone = document.createElement('html2canvascustomelement');\n        copyCSSStyles(node.style, clone);\n        return clone;\n    };\n    DocumentCloner.prototype.createStyleClone = function (node) {\n        try {\n            var sheet = node.sheet;\n            if (sheet && sheet.cssRules) {\n                var css = [].slice.call(sheet.cssRules, 0).reduce(function (css, rule) {\n                    if (rule && typeof rule.cssText === 'string') {\n                        return css + rule.cssText;\n                    }\n                    return css;\n                }, '');\n                var style = node.cloneNode(false);\n                style.textContent = css;\n                return style;\n            }\n        }\n        catch (e) {\n            // accessing node.sheet.cssRules throws a DOMException\n            this.context.logger.error('Unable to access cssRules property', e);\n            if (e.name !== 'SecurityError') {\n                throw e;\n            }\n        }\n        return node.cloneNode(false);\n    };\n    DocumentCloner.prototype.createCanvasClone = function (canvas) {\n        var _a;\n        if (this.options.inlineImages && canvas.ownerDocument) {\n            var img = canvas.ownerDocument.createElement('img');\n            try {\n                img.src = canvas.toDataURL();\n                return img;\n            }\n            catch (e) {\n                this.context.logger.info(\"Unable to inline canvas contents, canvas is tainted\", canvas);\n            }\n        }\n        var clonedCanvas = canvas.cloneNode(false);\n        try {\n            clonedCanvas.width = canvas.width;\n            clonedCanvas.height = canvas.height;\n            var ctx = canvas.getContext('2d');\n            var clonedCtx = clonedCanvas.getContext('2d');\n            if (clonedCtx) {\n                if (!this.options.allowTaint && ctx) {\n                    clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0);\n                }\n                else {\n                    var gl = (_a = canvas.getContext('webgl2')) !== null && _a !== void 0 ? _a : canvas.getContext('webgl');\n                    if (gl) {\n                        var attribs = gl.getContextAttributes();\n                        if ((attribs === null || attribs === void 0 ? void 0 : attribs.preserveDrawingBuffer) === false) {\n                            this.context.logger.warn('Unable to clone WebGL context as it has preserveDrawingBuffer=false', canvas);\n                        }\n                    }\n                    clonedCtx.drawImage(canvas, 0, 0);\n                }\n            }\n            return clonedCanvas;\n        }\n        catch (e) {\n            this.context.logger.info(\"Unable to clone canvas as it is tainted\", canvas);\n        }\n        return clonedCanvas;\n    };\n    DocumentCloner.prototype.createVideoClone = function (video) {\n        var canvas = video.ownerDocument.createElement('canvas');\n        canvas.width = video.offsetWidth;\n        canvas.height = video.offsetHeight;\n        var ctx = canvas.getContext('2d');\n        try {\n            if (ctx) {\n                ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n                if (!this.options.allowTaint) {\n                    ctx.getImageData(0, 0, canvas.width, canvas.height);\n                }\n            }\n            return canvas;\n        }\n        catch (e) {\n            this.context.logger.info(\"Unable to clone video as it is tainted\", video);\n        }\n        var blankCanvas = video.ownerDocument.createElement('canvas');\n        blankCanvas.width = video.offsetWidth;\n        blankCanvas.height = video.offsetHeight;\n        return blankCanvas;\n    };\n    DocumentCloner.prototype.appendChildNode = function (clone, child, copyStyles) {\n        if (!isElementNode(child) ||\n            (!isScriptElement(child) &&\n                !child.hasAttribute(IGNORE_ATTRIBUTE) &&\n                (typeof this.options.ignoreElements !== 'function' || !this.options.ignoreElements(child)))) {\n            if (!this.options.copyStyles || !isElementNode(child) || !isStyleElement(child)) {\n                clone.appendChild(this.cloneNode(child, copyStyles));\n            }\n        }\n    };\n    DocumentCloner.prototype.cloneChildNodes = function (node, clone, copyStyles) {\n        var _this = this;\n        for (var child = node.shadowRoot ? node.shadowRoot.firstChild : node.firstChild; child; child = child.nextSibling) {\n            if (isElementNode(child) && isSlotElement(child) && typeof child.assignedNodes === 'function') {\n                var assignedNodes = child.assignedNodes();\n                if (assignedNodes.length) {\n                    assignedNodes.forEach(function (assignedNode) { return _this.appendChildNode(clone, assignedNode, copyStyles); });\n                }\n            }\n            else {\n                this.appendChildNode(clone, child, copyStyles);\n            }\n        }\n    };\n    DocumentCloner.prototype.cloneNode = function (node, copyStyles) {\n        if (isTextNode(node)) {\n            return document.createTextNode(node.data);\n        }\n        if (!node.ownerDocument) {\n            return node.cloneNode(false);\n        }\n        var window = node.ownerDocument.defaultView;\n        if (window && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) {\n            var clone = this.createElementClone(node);\n            clone.style.transitionProperty = 'none';\n            var style = window.getComputedStyle(node);\n            var styleBefore = window.getComputedStyle(node, ':before');\n            var styleAfter = window.getComputedStyle(node, ':after');\n            if (this.referenceElement === node && isHTMLElementNode(clone)) {\n                this.clonedReferenceElement = clone;\n            }\n            if (isBodyElement(clone)) {\n                createPseudoHideStyles(clone);\n            }\n            var counters = this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));\n            var before = this.resolvePseudoContent(node, clone, styleBefore, PseudoElementType.BEFORE);\n            if (isCustomElement(node)) {\n                copyStyles = true;\n            }\n            if (!isVideoElement(node)) {\n                this.cloneChildNodes(node, clone, copyStyles);\n            }\n            if (before) {\n                clone.insertBefore(before, clone.firstChild);\n            }\n            var after = this.resolvePseudoContent(node, clone, styleAfter, PseudoElementType.AFTER);\n            if (after) {\n                clone.appendChild(after);\n            }\n            this.counters.pop(counters);\n            if ((style && (this.options.copyStyles || isSVGElementNode(node)) && !isIFrameElement(node)) ||\n                copyStyles) {\n                copyCSSStyles(style, clone);\n            }\n            if (node.scrollTop !== 0 || node.scrollLeft !== 0) {\n                this.scrolledElements.push([clone, node.scrollLeft, node.scrollTop]);\n            }\n            if ((isTextareaElement(node) || isSelectElement(node)) &&\n                (isTextareaElement(clone) || isSelectElement(clone))) {\n                clone.value = node.value;\n            }\n            return clone;\n        }\n        return node.cloneNode(false);\n    };\n    DocumentCloner.prototype.resolvePseudoContent = function (node, clone, style, pseudoElt) {\n        var _this = this;\n        if (!style) {\n            return;\n        }\n        var value = style.content;\n        var document = clone.ownerDocument;\n        if (!document || !value || value === 'none' || value === '-moz-alt-content' || style.display === 'none') {\n            return;\n        }\n        this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));\n        var declaration = new CSSParsedPseudoDeclaration(this.context, style);\n        var anonymousReplacedElement = document.createElement('html2canvaspseudoelement');\n        copyCSSStyles(style, anonymousReplacedElement);\n        declaration.content.forEach(function (token) {\n            if (token.type === 0 /* STRING_TOKEN */) {\n                anonymousReplacedElement.appendChild(document.createTextNode(token.value));\n            }\n            else if (token.type === 22 /* URL_TOKEN */) {\n                var img = document.createElement('img');\n                img.src = token.value;\n                img.style.opacity = '1';\n                anonymousReplacedElement.appendChild(img);\n            }\n            else if (token.type === 18 /* FUNCTION */) {\n                if (token.name === 'attr') {\n                    var attr = token.values.filter(isIdentToken);\n                    if (attr.length) {\n                        anonymousReplacedElement.appendChild(document.createTextNode(node.getAttribute(attr[0].value) || ''));\n                    }\n                }\n                else if (token.name === 'counter') {\n                    var _a = token.values.filter(nonFunctionArgSeparator), counter = _a[0], counterStyle = _a[1];\n                    if (counter && isIdentToken(counter)) {\n                        var counterState = _this.counters.getCounterValue(counter.value);\n                        var counterType = counterStyle && isIdentToken(counterStyle)\n                            ? listStyleType.parse(_this.context, counterStyle.value)\n                            : 3 /* DECIMAL */;\n                        anonymousReplacedElement.appendChild(document.createTextNode(createCounterText(counterState, counterType, false)));\n                    }\n                }\n                else if (token.name === 'counters') {\n                    var _b = token.values.filter(nonFunctionArgSeparator), counter = _b[0], delim = _b[1], counterStyle = _b[2];\n                    if (counter && isIdentToken(counter)) {\n                        var counterStates = _this.counters.getCounterValues(counter.value);\n                        var counterType_1 = counterStyle && isIdentToken(counterStyle)\n                            ? listStyleType.parse(_this.context, counterStyle.value)\n                            : 3 /* DECIMAL */;\n                        var separator = delim && delim.type === 0 /* STRING_TOKEN */ ? delim.value : '';\n                        var text = counterStates\n                            .map(function (value) { return createCounterText(value, counterType_1, false); })\n                            .join(separator);\n                        anonymousReplacedElement.appendChild(document.createTextNode(text));\n                    }\n                }\n                else ;\n            }\n            else if (token.type === 20 /* IDENT_TOKEN */) {\n                switch (token.value) {\n                    case 'open-quote':\n                        anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, _this.quoteDepth++, true)));\n                        break;\n                    case 'close-quote':\n                        anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, --_this.quoteDepth, false)));\n                        break;\n                    default:\n                        // safari doesn't parse string tokens correctly because of lack of quotes\n                        anonymousReplacedElement.appendChild(document.createTextNode(token.value));\n                }\n            }\n        });\n        anonymousReplacedElement.className = PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + \" \" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;\n        var newClassName = pseudoElt === PseudoElementType.BEFORE\n            ? \" \" + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE\n            : \" \" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;\n        if (isSVGElementNode(clone)) {\n            clone.className.baseValue += newClassName;\n        }\n        else {\n            clone.className += newClassName;\n        }\n        return anonymousReplacedElement;\n    };\n    DocumentCloner.destroy = function (container) {\n        if (container.parentNode) {\n            container.parentNode.removeChild(container);\n            return true;\n        }\n        return false;\n    };\n    return DocumentCloner;\n}());\nvar PseudoElementType;\n(function (PseudoElementType) {\n    PseudoElementType[PseudoElementType[\"BEFORE\"] = 0] = \"BEFORE\";\n    PseudoElementType[PseudoElementType[\"AFTER\"] = 1] = \"AFTER\";\n})(PseudoElementType || (PseudoElementType = {}));\nvar createIFrameContainer = function (ownerDocument, bounds) {\n    var cloneIframeContainer = ownerDocument.createElement('iframe');\n    cloneIframeContainer.className = 'html2canvas-container';\n    cloneIframeContainer.style.visibility = 'hidden';\n    cloneIframeContainer.style.position = 'fixed';\n    cloneIframeContainer.style.left = '-10000px';\n    cloneIframeContainer.style.top = '0px';\n    cloneIframeContainer.style.border = '0';\n    cloneIframeContainer.width = bounds.width.toString();\n    cloneIframeContainer.height = bounds.height.toString();\n    cloneIframeContainer.scrolling = 'no'; // ios won't scroll without it\n    cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, 'true');\n    ownerDocument.body.appendChild(cloneIframeContainer);\n    return cloneIframeContainer;\n};\nvar imageReady = function (img) {\n    return new Promise(function (resolve) {\n        if (img.complete) {\n            resolve();\n            return;\n        }\n        if (!img.src) {\n            resolve();\n            return;\n        }\n        img.onload = resolve;\n        img.onerror = resolve;\n    });\n};\nvar imagesReady = function (document) {\n    return Promise.all([].slice.call(document.images, 0).map(imageReady));\n};\nvar iframeLoader = function (iframe) {\n    return new Promise(function (resolve, reject) {\n        var cloneWindow = iframe.contentWindow;\n        if (!cloneWindow) {\n            return reject(\"No window assigned for iframe\");\n        }\n        var documentClone = cloneWindow.document;\n        cloneWindow.onload = iframe.onload = function () {\n            cloneWindow.onload = iframe.onload = null;\n            var interval = setInterval(function () {\n                if (documentClone.body.childNodes.length > 0 && documentClone.readyState === 'complete') {\n                    clearInterval(interval);\n                    resolve(iframe);\n                }\n            }, 50);\n        };\n    });\n};\nvar ignoredStyleProperties = [\n    'all',\n    'd',\n    'content' // Safari shows pseudoelements if content is set\n];\nvar copyCSSStyles = function (style, target) {\n    // Edge does not provide value for cssText\n    for (var i = style.length - 1; i >= 0; i--) {\n        var property = style.item(i);\n        if (ignoredStyleProperties.indexOf(property) === -1) {\n            target.style.setProperty(property, style.getPropertyValue(property));\n        }\n    }\n    return target;\n};\nvar serializeDoctype = function (doctype) {\n    var str = '';\n    if (doctype) {\n        str += '<!DOCTYPE ';\n        if (doctype.name) {\n            str += doctype.name;\n        }\n        if (doctype.internalSubset) {\n            str += doctype.internalSubset;\n        }\n        if (doctype.publicId) {\n            str += \"\\\"\" + doctype.publicId + \"\\\"\";\n        }\n        if (doctype.systemId) {\n            str += \"\\\"\" + doctype.systemId + \"\\\"\";\n        }\n        str += '>';\n    }\n    return str;\n};\nvar restoreOwnerScroll = function (ownerDocument, x, y) {\n    if (ownerDocument &&\n        ownerDocument.defaultView &&\n        (x !== ownerDocument.defaultView.pageXOffset || y !== ownerDocument.defaultView.pageYOffset)) {\n        ownerDocument.defaultView.scrollTo(x, y);\n    }\n};\nvar restoreNodeScroll = function (_a) {\n    var element = _a[0], x = _a[1], y = _a[2];\n    element.scrollLeft = x;\n    element.scrollTop = y;\n};\nvar PSEUDO_BEFORE = ':before';\nvar PSEUDO_AFTER = ':after';\nvar PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = '___html2canvas___pseudoelement_before';\nvar PSEUDO_HIDE_ELEMENT_CLASS_AFTER = '___html2canvas___pseudoelement_after';\nvar PSEUDO_HIDE_ELEMENT_STYLE = \"{\\n    content: \\\"\\\" !important;\\n    display: none !important;\\n}\";\nvar createPseudoHideStyles = function (body) {\n    createStyles(body, \".\" + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + PSEUDO_BEFORE + PSEUDO_HIDE_ELEMENT_STYLE + \"\\n         .\" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER + PSEUDO_AFTER + PSEUDO_HIDE_ELEMENT_STYLE);\n};\nvar createStyles = function (body, styles) {\n    var document = body.ownerDocument;\n    if (document) {\n        var style = document.createElement('style');\n        style.textContent = styles;\n        body.appendChild(style);\n    }\n};\n\nvar CacheStorage = /** @class */ (function () {\n    function CacheStorage() {\n    }\n    CacheStorage.getOrigin = function (url) {\n        var link = CacheStorage._link;\n        if (!link) {\n            return 'about:blank';\n        }\n        link.href = url;\n        link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/\n        return link.protocol + link.hostname + link.port;\n    };\n    CacheStorage.isSameOrigin = function (src) {\n        return CacheStorage.getOrigin(src) === CacheStorage._origin;\n    };\n    CacheStorage.setContext = function (window) {\n        CacheStorage._link = window.document.createElement('a');\n        CacheStorage._origin = CacheStorage.getOrigin(window.location.href);\n    };\n    CacheStorage._origin = 'about:blank';\n    return CacheStorage;\n}());\nvar Cache = /** @class */ (function () {\n    function Cache(context, _options) {\n        this.context = context;\n        this._options = _options;\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        this._cache = {};\n    }\n    Cache.prototype.addImage = function (src) {\n        var result = Promise.resolve();\n        if (this.has(src)) {\n            return result;\n        }\n        if (isBlobImage(src) || isRenderable(src)) {\n            (this._cache[src] = this.loadImage(src)).catch(function () {\n                // prevent unhandled rejection\n            });\n            return result;\n        }\n        return result;\n    };\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    Cache.prototype.match = function (src) {\n        return this._cache[src];\n    };\n    Cache.prototype.loadImage = function (key) {\n        return __awaiter(this, void 0, void 0, function () {\n            var isSameOrigin, useCORS, useProxy, src;\n            var _this = this;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        isSameOrigin = CacheStorage.isSameOrigin(key);\n                        useCORS = !isInlineImage(key) && this._options.useCORS === true && FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin;\n                        useProxy = !isInlineImage(key) &&\n                            !isSameOrigin &&\n                            !isBlobImage(key) &&\n                            typeof this._options.proxy === 'string' &&\n                            FEATURES.SUPPORT_CORS_XHR &&\n                            !useCORS;\n                        if (!isSameOrigin &&\n                            this._options.allowTaint === false &&\n                            !isInlineImage(key) &&\n                            !isBlobImage(key) &&\n                            !useProxy &&\n                            !useCORS) {\n                            return [2 /*return*/];\n                        }\n                        src = key;\n                        if (!useProxy) return [3 /*break*/, 2];\n                        return [4 /*yield*/, this.proxy(src)];\n                    case 1:\n                        src = _a.sent();\n                        _a.label = 2;\n                    case 2:\n                        this.context.logger.debug(\"Added image \" + key.substring(0, 256));\n                        return [4 /*yield*/, new Promise(function (resolve, reject) {\n                                var img = new Image();\n                                img.onload = function () { return resolve(img); };\n                                img.onerror = reject;\n                                //ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous\n                                if (isInlineBase64Image(src) || useCORS) {\n                                    img.crossOrigin = 'anonymous';\n                                }\n                                img.src = src;\n                                if (img.complete === true) {\n                                    // Inline XML images may fail to parse, throwing an Error later on\n                                    setTimeout(function () { return resolve(img); }, 500);\n                                }\n                                if (_this._options.imageTimeout > 0) {\n                                    setTimeout(function () { return reject(\"Timed out (\" + _this._options.imageTimeout + \"ms) loading image\"); }, _this._options.imageTimeout);\n                                }\n                            })];\n                    case 3: return [2 /*return*/, _a.sent()];\n                }\n            });\n        });\n    };\n    Cache.prototype.has = function (key) {\n        return typeof this._cache[key] !== 'undefined';\n    };\n    Cache.prototype.keys = function () {\n        return Promise.resolve(Object.keys(this._cache));\n    };\n    Cache.prototype.proxy = function (src) {\n        var _this = this;\n        var proxy = this._options.proxy;\n        if (!proxy) {\n            throw new Error('No proxy defined');\n        }\n        var key = src.substring(0, 256);\n        return new Promise(function (resolve, reject) {\n            var responseType = FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text';\n            var xhr = new XMLHttpRequest();\n            xhr.onload = function () {\n                if (xhr.status === 200) {\n                    if (responseType === 'text') {\n                        resolve(xhr.response);\n                    }\n                    else {\n                        var reader_1 = new FileReader();\n                        reader_1.addEventListener('load', function () { return resolve(reader_1.result); }, false);\n                        reader_1.addEventListener('error', function (e) { return reject(e); }, false);\n                        reader_1.readAsDataURL(xhr.response);\n                    }\n                }\n                else {\n                    reject(\"Failed to proxy resource \" + key + \" with status code \" + xhr.status);\n                }\n            };\n            xhr.onerror = reject;\n            var queryString = proxy.indexOf('?') > -1 ? '&' : '?';\n            xhr.open('GET', \"\" + proxy + queryString + \"url=\" + encodeURIComponent(src) + \"&responseType=\" + responseType);\n            if (responseType !== 'text' && xhr instanceof XMLHttpRequest) {\n                xhr.responseType = responseType;\n            }\n            if (_this._options.imageTimeout) {\n                var timeout_1 = _this._options.imageTimeout;\n                xhr.timeout = timeout_1;\n                xhr.ontimeout = function () { return reject(\"Timed out (\" + timeout_1 + \"ms) proxying \" + key); };\n            }\n            xhr.send();\n        });\n    };\n    return Cache;\n}());\nvar INLINE_SVG = /^data:image\\/svg\\+xml/i;\nvar INLINE_BASE64 = /^data:image\\/.*;base64,/i;\nvar INLINE_IMG = /^data:image\\/.*/i;\nvar isRenderable = function (src) { return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src); };\nvar isInlineImage = function (src) { return INLINE_IMG.test(src); };\nvar isInlineBase64Image = function (src) { return INLINE_BASE64.test(src); };\nvar isBlobImage = function (src) { return src.substr(0, 4) === 'blob'; };\nvar isSVG = function (src) { return src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src); };\n\nvar Vector = /** @class */ (function () {\n    function Vector(x, y) {\n        this.type = 0 /* VECTOR */;\n        this.x = x;\n        this.y = y;\n    }\n    Vector.prototype.add = function (deltaX, deltaY) {\n        return new Vector(this.x + deltaX, this.y + deltaY);\n    };\n    return Vector;\n}());\n\nvar lerp = function (a, b, t) {\n    return new Vector(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);\n};\nvar BezierCurve = /** @class */ (function () {\n    function BezierCurve(start, startControl, endControl, end) {\n        this.type = 1 /* BEZIER_CURVE */;\n        this.start = start;\n        this.startControl = startControl;\n        this.endControl = endControl;\n        this.end = end;\n    }\n    BezierCurve.prototype.subdivide = function (t, firstHalf) {\n        var ab = lerp(this.start, this.startControl, t);\n        var bc = lerp(this.startControl, this.endControl, t);\n        var cd = lerp(this.endControl, this.end, t);\n        var abbc = lerp(ab, bc, t);\n        var bccd = lerp(bc, cd, t);\n        var dest = lerp(abbc, bccd, t);\n        return firstHalf ? new BezierCurve(this.start, ab, abbc, dest) : new BezierCurve(dest, bccd, cd, this.end);\n    };\n    BezierCurve.prototype.add = function (deltaX, deltaY) {\n        return new BezierCurve(this.start.add(deltaX, deltaY), this.startControl.add(deltaX, deltaY), this.endControl.add(deltaX, deltaY), this.end.add(deltaX, deltaY));\n    };\n    BezierCurve.prototype.reverse = function () {\n        return new BezierCurve(this.end, this.endControl, this.startControl, this.start);\n    };\n    return BezierCurve;\n}());\nvar isBezierCurve = function (path) { return path.type === 1 /* BEZIER_CURVE */; };\n\nvar BoundCurves = /** @class */ (function () {\n    function BoundCurves(element) {\n        var styles = element.styles;\n        var bounds = element.bounds;\n        var _a = getAbsoluteValueForTuple(styles.borderTopLeftRadius, bounds.width, bounds.height), tlh = _a[0], tlv = _a[1];\n        var _b = getAbsoluteValueForTuple(styles.borderTopRightRadius, bounds.width, bounds.height), trh = _b[0], trv = _b[1];\n        var _c = getAbsoluteValueForTuple(styles.borderBottomRightRadius, bounds.width, bounds.height), brh = _c[0], brv = _c[1];\n        var _d = getAbsoluteValueForTuple(styles.borderBottomLeftRadius, bounds.width, bounds.height), blh = _d[0], blv = _d[1];\n        var factors = [];\n        factors.push((tlh + trh) / bounds.width);\n        factors.push((blh + brh) / bounds.width);\n        factors.push((tlv + blv) / bounds.height);\n        factors.push((trv + brv) / bounds.height);\n        var maxFactor = Math.max.apply(Math, factors);\n        if (maxFactor > 1) {\n            tlh /= maxFactor;\n            tlv /= maxFactor;\n            trh /= maxFactor;\n            trv /= maxFactor;\n            brh /= maxFactor;\n            brv /= maxFactor;\n            blh /= maxFactor;\n            blv /= maxFactor;\n        }\n        var topWidth = bounds.width - trh;\n        var rightHeight = bounds.height - brv;\n        var bottomWidth = bounds.width - brh;\n        var leftHeight = bounds.height - blv;\n        var borderTopWidth = styles.borderTopWidth;\n        var borderRightWidth = styles.borderRightWidth;\n        var borderBottomWidth = styles.borderBottomWidth;\n        var borderLeftWidth = styles.borderLeftWidth;\n        var paddingTop = getAbsoluteValue(styles.paddingTop, element.bounds.width);\n        var paddingRight = getAbsoluteValue(styles.paddingRight, element.bounds.width);\n        var paddingBottom = getAbsoluteValue(styles.paddingBottom, element.bounds.width);\n        var paddingLeft = getAbsoluteValue(styles.paddingLeft, element.bounds.width);\n        this.topLeftBorderDoubleOuterBox =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3, tlh - borderLeftWidth / 3, tlv - borderTopWidth / 3, CORNER.TOP_LEFT)\n                : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3);\n        this.topRightBorderDoubleOuterBox =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 3, trh - borderRightWidth / 3, trv - borderTopWidth / 3, CORNER.TOP_RIGHT)\n                : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + borderTopWidth / 3);\n        this.bottomRightBorderDoubleOuterBox =\n            brh > 0 || brv > 0\n                ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 3, brv - borderBottomWidth / 3, CORNER.BOTTOM_RIGHT)\n                : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3);\n        this.bottomLeftBorderDoubleOuterBox =\n            blh > 0 || blv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + leftHeight, blh - borderLeftWidth / 3, blv - borderBottomWidth / 3, CORNER.BOTTOM_LEFT)\n                : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3);\n        this.topLeftBorderDoubleInnerBox =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3, tlh - (borderLeftWidth * 2) / 3, tlv - (borderTopWidth * 2) / 3, CORNER.TOP_LEFT)\n                : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3);\n        this.topRightBorderDoubleInnerBox =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + topWidth, bounds.top + (borderTopWidth * 2) / 3, trh - (borderRightWidth * 2) / 3, trv - (borderTopWidth * 2) / 3, CORNER.TOP_RIGHT)\n                : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3);\n        this.bottomRightBorderDoubleInnerBox =\n            brh > 0 || brv > 0\n                ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - (borderRightWidth * 2) / 3, brv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_RIGHT)\n                : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3);\n        this.bottomLeftBorderDoubleInnerBox =\n            blh > 0 || blv > 0\n                ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + leftHeight, blh - (borderLeftWidth * 2) / 3, blv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_LEFT)\n                : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3);\n        this.topLeftBorderStroke =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2, tlh - borderLeftWidth / 2, tlv - borderTopWidth / 2, CORNER.TOP_LEFT)\n                : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2);\n        this.topRightBorderStroke =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 2, trh - borderRightWidth / 2, trv - borderTopWidth / 2, CORNER.TOP_RIGHT)\n                : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + borderTopWidth / 2);\n        this.bottomRightBorderStroke =\n            brh > 0 || brv > 0\n                ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 2, brv - borderBottomWidth / 2, CORNER.BOTTOM_RIGHT)\n                : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2);\n        this.bottomLeftBorderStroke =\n            blh > 0 || blv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + leftHeight, blh - borderLeftWidth / 2, blv - borderBottomWidth / 2, CORNER.BOTTOM_LEFT)\n                : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2);\n        this.topLeftBorderBox =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left, bounds.top, tlh, tlv, CORNER.TOP_LEFT)\n                : new Vector(bounds.left, bounds.top);\n        this.topRightBorderBox =\n            trh > 0 || trv > 0\n                ? getCurvePoints(bounds.left + topWidth, bounds.top, trh, trv, CORNER.TOP_RIGHT)\n                : new Vector(bounds.left + bounds.width, bounds.top);\n        this.bottomRightBorderBox =\n            brh > 0 || brv > 0\n                ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh, brv, CORNER.BOTTOM_RIGHT)\n                : new Vector(bounds.left + bounds.width, bounds.top + bounds.height);\n        this.bottomLeftBorderBox =\n            blh > 0 || blv > 0\n                ? getCurvePoints(bounds.left, bounds.top + leftHeight, blh, blv, CORNER.BOTTOM_LEFT)\n                : new Vector(bounds.left, bounds.top + bounds.height);\n        this.topLeftPaddingBox =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + borderTopWidth, Math.max(0, tlh - borderLeftWidth), Math.max(0, tlv - borderTopWidth), CORNER.TOP_LEFT)\n                : new Vector(bounds.left + borderLeftWidth, bounds.top + borderTopWidth);\n        this.topRightPaddingBox =\n            trh > 0 || trv > 0\n                ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width - borderRightWidth), bounds.top + borderTopWidth, topWidth > bounds.width + borderRightWidth ? 0 : Math.max(0, trh - borderRightWidth), Math.max(0, trv - borderTopWidth), CORNER.TOP_RIGHT)\n                : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + borderTopWidth);\n        this.bottomRightPaddingBox =\n            brh > 0 || brv > 0\n                ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - borderLeftWidth), bounds.top + Math.min(rightHeight, bounds.height - borderBottomWidth), Math.max(0, brh - borderRightWidth), Math.max(0, brv - borderBottomWidth), CORNER.BOTTOM_RIGHT)\n                : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + bounds.height - borderBottomWidth);\n        this.bottomLeftPaddingBox =\n            blh > 0 || blv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + Math.min(leftHeight, bounds.height - borderBottomWidth), Math.max(0, blh - borderLeftWidth), Math.max(0, blv - borderBottomWidth), CORNER.BOTTOM_LEFT)\n                : new Vector(bounds.left + borderLeftWidth, bounds.top + bounds.height - borderBottomWidth);\n        this.topLeftContentBox =\n            tlh > 0 || tlv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop, Math.max(0, tlh - (borderLeftWidth + paddingLeft)), Math.max(0, tlv - (borderTopWidth + paddingTop)), CORNER.TOP_LEFT)\n                : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop);\n        this.topRightContentBox =\n            trh > 0 || trv > 0\n                ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borderLeftWidth + paddingLeft), bounds.top + borderTopWidth + paddingTop, topWidth > bounds.width + borderLeftWidth + paddingLeft ? 0 : trh - borderLeftWidth + paddingLeft, trv - (borderTopWidth + paddingTop), CORNER.TOP_RIGHT)\n                : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + borderTopWidth + paddingTop);\n        this.bottomRightContentBox =\n            brh > 0 || brv > 0\n                ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - (borderLeftWidth + paddingLeft)), bounds.top + Math.min(rightHeight, bounds.height + borderTopWidth + paddingTop), Math.max(0, brh - (borderRightWidth + paddingRight)), brv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_RIGHT)\n                : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + bounds.height - (borderBottomWidth + paddingBottom));\n        this.bottomLeftContentBox =\n            blh > 0 || blv > 0\n                ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + leftHeight, Math.max(0, blh - (borderLeftWidth + paddingLeft)), blv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_LEFT)\n                : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + bounds.height - (borderBottomWidth + paddingBottom));\n    }\n    return BoundCurves;\n}());\nvar CORNER;\n(function (CORNER) {\n    CORNER[CORNER[\"TOP_LEFT\"] = 0] = \"TOP_LEFT\";\n    CORNER[CORNER[\"TOP_RIGHT\"] = 1] = \"TOP_RIGHT\";\n    CORNER[CORNER[\"BOTTOM_RIGHT\"] = 2] = \"BOTTOM_RIGHT\";\n    CORNER[CORNER[\"BOTTOM_LEFT\"] = 3] = \"BOTTOM_LEFT\";\n})(CORNER || (CORNER = {}));\nvar getCurvePoints = function (x, y, r1, r2, position) {\n    var kappa = 4 * ((Math.sqrt(2) - 1) / 3);\n    var ox = r1 * kappa; // control point offset horizontal\n    var oy = r2 * kappa; // control point offset vertical\n    var xm = x + r1; // x-middle\n    var ym = y + r2; // y-middle\n    switch (position) {\n        case CORNER.TOP_LEFT:\n            return new BezierCurve(new Vector(x, ym), new Vector(x, ym - oy), new Vector(xm - ox, y), new Vector(xm, y));\n        case CORNER.TOP_RIGHT:\n            return new BezierCurve(new Vector(x, y), new Vector(x + ox, y), new Vector(xm, ym - oy), new Vector(xm, ym));\n        case CORNER.BOTTOM_RIGHT:\n            return new BezierCurve(new Vector(xm, y), new Vector(xm, y + oy), new Vector(x + ox, ym), new Vector(x, ym));\n        case CORNER.BOTTOM_LEFT:\n        default:\n            return new BezierCurve(new Vector(xm, ym), new Vector(xm - ox, ym), new Vector(x, y + oy), new Vector(x, y));\n    }\n};\nvar calculateBorderBoxPath = function (curves) {\n    return [curves.topLeftBorderBox, curves.topRightBorderBox, curves.bottomRightBorderBox, curves.bottomLeftBorderBox];\n};\nvar calculateContentBoxPath = function (curves) {\n    return [\n        curves.topLeftContentBox,\n        curves.topRightContentBox,\n        curves.bottomRightContentBox,\n        curves.bottomLeftContentBox\n    ];\n};\nvar calculatePaddingBoxPath = function (curves) {\n    return [\n        curves.topLeftPaddingBox,\n        curves.topRightPaddingBox,\n        curves.bottomRightPaddingBox,\n        curves.bottomLeftPaddingBox\n    ];\n};\n\nvar TransformEffect = /** @class */ (function () {\n    function TransformEffect(offsetX, offsetY, matrix) {\n        this.offsetX = offsetX;\n        this.offsetY = offsetY;\n        this.matrix = matrix;\n        this.type = 0 /* TRANSFORM */;\n        this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */;\n    }\n    return TransformEffect;\n}());\nvar ClipEffect = /** @class */ (function () {\n    function ClipEffect(path, target) {\n        this.path = path;\n        this.target = target;\n        this.type = 1 /* CLIP */;\n    }\n    return ClipEffect;\n}());\nvar OpacityEffect = /** @class */ (function () {\n    function OpacityEffect(opacity) {\n        this.opacity = opacity;\n        this.type = 2 /* OPACITY */;\n        this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */;\n    }\n    return OpacityEffect;\n}());\nvar isTransformEffect = function (effect) {\n    return effect.type === 0 /* TRANSFORM */;\n};\nvar isClipEffect = function (effect) { return effect.type === 1 /* CLIP */; };\nvar isOpacityEffect = function (effect) { return effect.type === 2 /* OPACITY */; };\n\nvar equalPath = function (a, b) {\n    if (a.length === b.length) {\n        return a.some(function (v, i) { return v === b[i]; });\n    }\n    return false;\n};\nvar transformPath = function (path, deltaX, deltaY, deltaW, deltaH) {\n    return path.map(function (point, index) {\n        switch (index) {\n            case 0:\n                return point.add(deltaX, deltaY);\n            case 1:\n                return point.add(deltaX + deltaW, deltaY);\n            case 2:\n                return point.add(deltaX + deltaW, deltaY + deltaH);\n            case 3:\n                return point.add(deltaX, deltaY + deltaH);\n        }\n        return point;\n    });\n};\n\nvar StackingContext = /** @class */ (function () {\n    function StackingContext(container) {\n        this.element = container;\n        this.inlineLevel = [];\n        this.nonInlineLevel = [];\n        this.negativeZIndex = [];\n        this.zeroOrAutoZIndexOrTransformedOrOpacity = [];\n        this.positiveZIndex = [];\n        this.nonPositionedFloats = [];\n        this.nonPositionedInlineLevel = [];\n    }\n    return StackingContext;\n}());\nvar ElementPaint = /** @class */ (function () {\n    function ElementPaint(container, parent) {\n        this.container = container;\n        this.parent = parent;\n        this.effects = [];\n        this.curves = new BoundCurves(this.container);\n        if (this.container.styles.opacity < 1) {\n            this.effects.push(new OpacityEffect(this.container.styles.opacity));\n        }\n        if (this.container.styles.transform !== null) {\n            var offsetX = this.container.bounds.left + this.container.styles.transformOrigin[0].number;\n            var offsetY = this.container.bounds.top + this.container.styles.transformOrigin[1].number;\n            var matrix = this.container.styles.transform;\n            this.effects.push(new TransformEffect(offsetX, offsetY, matrix));\n        }\n        if (this.container.styles.overflowX !== 0 /* VISIBLE */) {\n            var borderBox = calculateBorderBoxPath(this.curves);\n            var paddingBox = calculatePaddingBoxPath(this.curves);\n            if (equalPath(borderBox, paddingBox)) {\n                this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));\n            }\n            else {\n                this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */));\n                this.effects.push(new ClipEffect(paddingBox, 4 /* CONTENT */));\n            }\n        }\n    }\n    ElementPaint.prototype.getEffects = function (target) {\n        var inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(this.container.styles.position) === -1;\n        var parent = this.parent;\n        var effects = this.effects.slice(0);\n        while (parent) {\n            var croplessEffects = parent.effects.filter(function (effect) { return !isClipEffect(effect); });\n            if (inFlow || parent.container.styles.position !== 0 /* STATIC */ || !parent.parent) {\n                effects.unshift.apply(effects, croplessEffects);\n                inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(parent.container.styles.position) === -1;\n                if (parent.container.styles.overflowX !== 0 /* VISIBLE */) {\n                    var borderBox = calculateBorderBoxPath(parent.curves);\n                    var paddingBox = calculatePaddingBoxPath(parent.curves);\n                    if (!equalPath(borderBox, paddingBox)) {\n                        effects.unshift(new ClipEffect(paddingBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));\n                    }\n                }\n            }\n            else {\n                effects.unshift.apply(effects, croplessEffects);\n            }\n            parent = parent.parent;\n        }\n        return effects.filter(function (effect) { return contains(effect.target, target); });\n    };\n    return ElementPaint;\n}());\nvar parseStackTree = function (parent, stackingContext, realStackingContext, listItems) {\n    parent.container.elements.forEach(function (child) {\n        var treatAsRealStackingContext = contains(child.flags, 4 /* CREATES_REAL_STACKING_CONTEXT */);\n        var createsStackingContext = contains(child.flags, 2 /* CREATES_STACKING_CONTEXT */);\n        var paintContainer = new ElementPaint(child, parent);\n        if (contains(child.styles.display, 2048 /* LIST_ITEM */)) {\n            listItems.push(paintContainer);\n        }\n        var listOwnerItems = contains(child.flags, 8 /* IS_LIST_OWNER */) ? [] : listItems;\n        if (treatAsRealStackingContext || createsStackingContext) {\n            var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;\n            var stack = new StackingContext(paintContainer);\n            if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) {\n                var order_1 = child.styles.zIndex.order;\n                if (order_1 < 0) {\n                    var index_1 = 0;\n                    parentStack.negativeZIndex.some(function (current, i) {\n                        if (order_1 > current.element.container.styles.zIndex.order) {\n                            index_1 = i;\n                            return false;\n                        }\n                        else if (index_1 > 0) {\n                            return true;\n                        }\n                        return false;\n                    });\n                    parentStack.negativeZIndex.splice(index_1, 0, stack);\n                }\n                else if (order_1 > 0) {\n                    var index_2 = 0;\n                    parentStack.positiveZIndex.some(function (current, i) {\n                        if (order_1 >= current.element.container.styles.zIndex.order) {\n                            index_2 = i + 1;\n                            return false;\n                        }\n                        else if (index_2 > 0) {\n                            return true;\n                        }\n                        return false;\n                    });\n                    parentStack.positiveZIndex.splice(index_2, 0, stack);\n                }\n                else {\n                    parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack);\n                }\n            }\n            else {\n                if (child.styles.isFloating()) {\n                    parentStack.nonPositionedFloats.push(stack);\n                }\n                else {\n                    parentStack.nonPositionedInlineLevel.push(stack);\n                }\n            }\n            parseStackTree(paintContainer, stack, treatAsRealStackingContext ? stack : realStackingContext, listOwnerItems);\n        }\n        else {\n            if (child.styles.isInlineLevel()) {\n                stackingContext.inlineLevel.push(paintContainer);\n            }\n            else {\n                stackingContext.nonInlineLevel.push(paintContainer);\n            }\n            parseStackTree(paintContainer, stackingContext, realStackingContext, listOwnerItems);\n        }\n        if (contains(child.flags, 8 /* IS_LIST_OWNER */)) {\n            processListItems(child, listOwnerItems);\n        }\n    });\n};\nvar processListItems = function (owner, elements) {\n    var numbering = owner instanceof OLElementContainer ? owner.start : 1;\n    var reversed = owner instanceof OLElementContainer ? owner.reversed : false;\n    for (var i = 0; i < elements.length; i++) {\n        var item = elements[i];\n        if (item.container instanceof LIElementContainer &&\n            typeof item.container.value === 'number' &&\n            item.container.value !== 0) {\n            numbering = item.container.value;\n        }\n        item.listValue = createCounterText(numbering, item.container.styles.listStyleType, true);\n        numbering += reversed ? -1 : 1;\n    }\n};\nvar parseStackingContexts = function (container) {\n    var paintContainer = new ElementPaint(container, null);\n    var root = new StackingContext(paintContainer);\n    var listItems = [];\n    parseStackTree(paintContainer, root, root, listItems);\n    processListItems(paintContainer.container, listItems);\n    return root;\n};\n\nvar parsePathForBorder = function (curves, borderSide) {\n    switch (borderSide) {\n        case 0:\n            return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftPaddingBox, curves.topRightBorderBox, curves.topRightPaddingBox);\n        case 1:\n            return createPathFromCurves(curves.topRightBorderBox, curves.topRightPaddingBox, curves.bottomRightBorderBox, curves.bottomRightPaddingBox);\n        case 2:\n            return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox);\n        case 3:\n        default:\n            return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox, curves.topLeftBorderBox, curves.topLeftPaddingBox);\n    }\n};\nvar parsePathForBorderDoubleOuter = function (curves, borderSide) {\n    switch (borderSide) {\n        case 0:\n            return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox, curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox);\n        case 1:\n            return createPathFromCurves(curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox, curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox);\n        case 2:\n            return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox, curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox);\n        case 3:\n        default:\n            return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox, curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox);\n    }\n};\nvar parsePathForBorderDoubleInner = function (curves, borderSide) {\n    switch (borderSide) {\n        case 0:\n            return createPathFromCurves(curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox, curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox);\n        case 1:\n            return createPathFromCurves(curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox, curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox);\n        case 2:\n            return createPathFromCurves(curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox);\n        case 3:\n        default:\n            return createPathFromCurves(curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox, curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox);\n    }\n};\nvar parsePathForBorderStroke = function (curves, borderSide) {\n    switch (borderSide) {\n        case 0:\n            return createStrokePathFromCurves(curves.topLeftBorderStroke, curves.topRightBorderStroke);\n        case 1:\n            return createStrokePathFromCurves(curves.topRightBorderStroke, curves.bottomRightBorderStroke);\n        case 2:\n            return createStrokePathFromCurves(curves.bottomRightBorderStroke, curves.bottomLeftBorderStroke);\n        case 3:\n        default:\n            return createStrokePathFromCurves(curves.bottomLeftBorderStroke, curves.topLeftBorderStroke);\n    }\n};\nvar createStrokePathFromCurves = function (outer1, outer2) {\n    var path = [];\n    if (isBezierCurve(outer1)) {\n        path.push(outer1.subdivide(0.5, false));\n    }\n    else {\n        path.push(outer1);\n    }\n    if (isBezierCurve(outer2)) {\n        path.push(outer2.subdivide(0.5, true));\n    }\n    else {\n        path.push(outer2);\n    }\n    return path;\n};\nvar createPathFromCurves = function (outer1, inner1, outer2, inner2) {\n    var path = [];\n    if (isBezierCurve(outer1)) {\n        path.push(outer1.subdivide(0.5, false));\n    }\n    else {\n        path.push(outer1);\n    }\n    if (isBezierCurve(outer2)) {\n        path.push(outer2.subdivide(0.5, true));\n    }\n    else {\n        path.push(outer2);\n    }\n    if (isBezierCurve(inner2)) {\n        path.push(inner2.subdivide(0.5, true).reverse());\n    }\n    else {\n        path.push(inner2);\n    }\n    if (isBezierCurve(inner1)) {\n        path.push(inner1.subdivide(0.5, false).reverse());\n    }\n    else {\n        path.push(inner1);\n    }\n    return path;\n};\n\nvar paddingBox = function (element) {\n    var bounds = element.bounds;\n    var styles = element.styles;\n    return bounds.add(styles.borderLeftWidth, styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth), -(styles.borderTopWidth + styles.borderBottomWidth));\n};\nvar contentBox = function (element) {\n    var styles = element.styles;\n    var bounds = element.bounds;\n    var paddingLeft = getAbsoluteValue(styles.paddingLeft, bounds.width);\n    var paddingRight = getAbsoluteValue(styles.paddingRight, bounds.width);\n    var paddingTop = getAbsoluteValue(styles.paddingTop, bounds.width);\n    var paddingBottom = getAbsoluteValue(styles.paddingBottom, bounds.width);\n    return bounds.add(paddingLeft + styles.borderLeftWidth, paddingTop + styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth + paddingLeft + paddingRight), -(styles.borderTopWidth + styles.borderBottomWidth + paddingTop + paddingBottom));\n};\n\nvar calculateBackgroundPositioningArea = function (backgroundOrigin, element) {\n    if (backgroundOrigin === 0 /* BORDER_BOX */) {\n        return element.bounds;\n    }\n    if (backgroundOrigin === 2 /* CONTENT_BOX */) {\n        return contentBox(element);\n    }\n    return paddingBox(element);\n};\nvar calculateBackgroundPaintingArea = function (backgroundClip, element) {\n    if (backgroundClip === 0 /* BORDER_BOX */) {\n        return element.bounds;\n    }\n    if (backgroundClip === 2 /* CONTENT_BOX */) {\n        return contentBox(element);\n    }\n    return paddingBox(element);\n};\nvar calculateBackgroundRendering = function (container, index, intrinsicSize) {\n    var backgroundPositioningArea = calculateBackgroundPositioningArea(getBackgroundValueForIndex(container.styles.backgroundOrigin, index), container);\n    var backgroundPaintingArea = calculateBackgroundPaintingArea(getBackgroundValueForIndex(container.styles.backgroundClip, index), container);\n    var backgroundImageSize = calculateBackgroundSize(getBackgroundValueForIndex(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea);\n    var sizeWidth = backgroundImageSize[0], sizeHeight = backgroundImageSize[1];\n    var position = getAbsoluteValueForTuple(getBackgroundValueForIndex(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight);\n    var path = calculateBackgroundRepeatPath(getBackgroundValueForIndex(container.styles.backgroundRepeat, index), position, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea);\n    var offsetX = Math.round(backgroundPositioningArea.left + position[0]);\n    var offsetY = Math.round(backgroundPositioningArea.top + position[1]);\n    return [path, offsetX, offsetY, sizeWidth, sizeHeight];\n};\nvar isAuto = function (token) { return isIdentToken(token) && token.value === BACKGROUND_SIZE.AUTO; };\nvar hasIntrinsicValue = function (value) { return typeof value === 'number'; };\nvar calculateBackgroundSize = function (size, _a, bounds) {\n    var intrinsicWidth = _a[0], intrinsicHeight = _a[1], intrinsicProportion = _a[2];\n    var first = size[0], second = size[1];\n    if (!first) {\n        return [0, 0];\n    }\n    if (isLengthPercentage(first) && second && isLengthPercentage(second)) {\n        return [getAbsoluteValue(first, bounds.width), getAbsoluteValue(second, bounds.height)];\n    }\n    var hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion);\n    if (isIdentToken(first) && (first.value === BACKGROUND_SIZE.CONTAIN || first.value === BACKGROUND_SIZE.COVER)) {\n        if (hasIntrinsicValue(intrinsicProportion)) {\n            var targetRatio = bounds.width / bounds.height;\n            return targetRatio < intrinsicProportion !== (first.value === BACKGROUND_SIZE.COVER)\n                ? [bounds.width, bounds.width / intrinsicProportion]\n                : [bounds.height * intrinsicProportion, bounds.height];\n        }\n        return [bounds.width, bounds.height];\n    }\n    var hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth);\n    var hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight);\n    var hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight;\n    // If the background-size is auto or auto auto:\n    if (isAuto(first) && (!second || isAuto(second))) {\n        // If the image has both horizontal and vertical intrinsic dimensions, it's rendered at that size.\n        if (hasIntrinsicWidth && hasIntrinsicHeight) {\n            return [intrinsicWidth, intrinsicHeight];\n        }\n        // If the image has no intrinsic dimensions and has no intrinsic proportions,\n        // it's rendered at the size of the background positioning area.\n        if (!hasIntrinsicProportion && !hasIntrinsicDimensions) {\n            return [bounds.width, bounds.height];\n        }\n        // TODO If the image has no intrinsic dimensions but has intrinsic proportions, it's rendered as if contain had been specified instead.\n        // If the image has only one intrinsic dimension and has intrinsic proportions, it's rendered at the size corresponding to that one dimension.\n        // The other dimension is computed using the specified dimension and the intrinsic proportions.\n        if (hasIntrinsicDimensions && hasIntrinsicProportion) {\n            var width_1 = hasIntrinsicWidth\n                ? intrinsicWidth\n                : intrinsicHeight * intrinsicProportion;\n            var height_1 = hasIntrinsicHeight\n                ? intrinsicHeight\n                : intrinsicWidth / intrinsicProportion;\n            return [width_1, height_1];\n        }\n        // If the image has only one intrinsic dimension but has no intrinsic proportions,\n        // it's rendered using the specified dimension and the other dimension of the background positioning area.\n        var width_2 = hasIntrinsicWidth ? intrinsicWidth : bounds.width;\n        var height_2 = hasIntrinsicHeight ? intrinsicHeight : bounds.height;\n        return [width_2, height_2];\n    }\n    // If the image has intrinsic proportions, it's stretched to the specified dimension.\n    // The unspecified dimension is computed using the specified dimension and the intrinsic proportions.\n    if (hasIntrinsicProportion) {\n        var width_3 = 0;\n        var height_3 = 0;\n        if (isLengthPercentage(first)) {\n            width_3 = getAbsoluteValue(first, bounds.width);\n        }\n        else if (isLengthPercentage(second)) {\n            height_3 = getAbsoluteValue(second, bounds.height);\n        }\n        if (isAuto(first)) {\n            width_3 = height_3 * intrinsicProportion;\n        }\n        else if (!second || isAuto(second)) {\n            height_3 = width_3 / intrinsicProportion;\n        }\n        return [width_3, height_3];\n    }\n    // If the image has no intrinsic proportions, it's stretched to the specified dimension.\n    // The unspecified dimension is computed using the image's corresponding intrinsic dimension,\n    // if there is one. If there is no such intrinsic dimension,\n    // it becomes the corresponding dimension of the background positioning area.\n    var width = null;\n    var height = null;\n    if (isLengthPercentage(first)) {\n        width = getAbsoluteValue(first, bounds.width);\n    }\n    else if (second && isLengthPercentage(second)) {\n        height = getAbsoluteValue(second, bounds.height);\n    }\n    if (width !== null && (!second || isAuto(second))) {\n        height =\n            hasIntrinsicWidth && hasIntrinsicHeight\n                ? (width / intrinsicWidth) * intrinsicHeight\n                : bounds.height;\n    }\n    if (height !== null && isAuto(first)) {\n        width =\n            hasIntrinsicWidth && hasIntrinsicHeight\n                ? (height / intrinsicHeight) * intrinsicWidth\n                : bounds.width;\n    }\n    if (width !== null && height !== null) {\n        return [width, height];\n    }\n    throw new Error(\"Unable to calculate background-size for element\");\n};\nvar getBackgroundValueForIndex = function (values, index) {\n    var value = values[index];\n    if (typeof value === 'undefined') {\n        return values[0];\n    }\n    return value;\n};\nvar calculateBackgroundRepeatPath = function (repeat, _a, _b, backgroundPositioningArea, backgroundPaintingArea) {\n    var x = _a[0], y = _a[1];\n    var width = _b[0], height = _b[1];\n    switch (repeat) {\n        case 2 /* REPEAT_X */:\n            return [\n                new Vector(Math.round(backgroundPositioningArea.left), Math.round(backgroundPositioningArea.top + y)),\n                new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(backgroundPositioningArea.top + y)),\n                new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(height + backgroundPositioningArea.top + y)),\n                new Vector(Math.round(backgroundPositioningArea.left), Math.round(height + backgroundPositioningArea.top + y))\n            ];\n        case 3 /* REPEAT_Y */:\n            return [\n                new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top)),\n                new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top)),\n                new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top)),\n                new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top))\n            ];\n        case 1 /* NO_REPEAT */:\n            return [\n                new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y)),\n                new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y)),\n                new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y + height)),\n                new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y + height))\n            ];\n        default:\n            return [\n                new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.top)),\n                new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.top)),\n                new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top)),\n                new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top))\n            ];\n    }\n};\n\nvar SMALL_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\n\nvar SAMPLE_TEXT = 'Hidden Text';\nvar FontMetrics = /** @class */ (function () {\n    function FontMetrics(document) {\n        this._data = {};\n        this._document = document;\n    }\n    FontMetrics.prototype.parseMetrics = function (fontFamily, fontSize) {\n        var container = this._document.createElement('div');\n        var img = this._document.createElement('img');\n        var span = this._document.createElement('span');\n        var body = this._document.body;\n        container.style.visibility = 'hidden';\n        container.style.fontFamily = fontFamily;\n        container.style.fontSize = fontSize;\n        container.style.margin = '0';\n        container.style.padding = '0';\n        container.style.whiteSpace = 'nowrap';\n        body.appendChild(container);\n        img.src = SMALL_IMAGE;\n        img.width = 1;\n        img.height = 1;\n        img.style.margin = '0';\n        img.style.padding = '0';\n        img.style.verticalAlign = 'baseline';\n        span.style.fontFamily = fontFamily;\n        span.style.fontSize = fontSize;\n        span.style.margin = '0';\n        span.style.padding = '0';\n        span.appendChild(this._document.createTextNode(SAMPLE_TEXT));\n        container.appendChild(span);\n        container.appendChild(img);\n        var baseline = img.offsetTop - span.offsetTop + 2;\n        container.removeChild(span);\n        container.appendChild(this._document.createTextNode(SAMPLE_TEXT));\n        container.style.lineHeight = 'normal';\n        img.style.verticalAlign = 'super';\n        var middle = img.offsetTop - container.offsetTop + 2;\n        body.removeChild(container);\n        return { baseline: baseline, middle: middle };\n    };\n    FontMetrics.prototype.getMetrics = function (fontFamily, fontSize) {\n        var key = fontFamily + \" \" + fontSize;\n        if (typeof this._data[key] === 'undefined') {\n            this._data[key] = this.parseMetrics(fontFamily, fontSize);\n        }\n        return this._data[key];\n    };\n    return FontMetrics;\n}());\n\nvar Renderer = /** @class */ (function () {\n    function Renderer(context, options) {\n        this.context = context;\n        this.options = options;\n    }\n    return Renderer;\n}());\n\nvar MASK_OFFSET = 10000;\nvar CanvasRenderer = /** @class */ (function (_super) {\n    __extends(CanvasRenderer, _super);\n    function CanvasRenderer(context, options) {\n        var _this = _super.call(this, context, options) || this;\n        _this._activeEffects = [];\n        _this.canvas = options.canvas ? options.canvas : document.createElement('canvas');\n        _this.ctx = _this.canvas.getContext('2d');\n        if (!options.canvas) {\n            _this.canvas.width = Math.floor(options.width * options.scale);\n            _this.canvas.height = Math.floor(options.height * options.scale);\n            _this.canvas.style.width = options.width + \"px\";\n            _this.canvas.style.height = options.height + \"px\";\n        }\n        _this.fontMetrics = new FontMetrics(document);\n        _this.ctx.scale(_this.options.scale, _this.options.scale);\n        _this.ctx.translate(-options.x, -options.y);\n        _this.ctx.textBaseline = 'bottom';\n        _this._activeEffects = [];\n        _this.context.logger.debug(\"Canvas renderer initialized (\" + options.width + \"x\" + options.height + \") with scale \" + options.scale);\n        return _this;\n    }\n    CanvasRenderer.prototype.applyEffects = function (effects) {\n        var _this = this;\n        while (this._activeEffects.length) {\n            this.popEffect();\n        }\n        effects.forEach(function (effect) { return _this.applyEffect(effect); });\n    };\n    CanvasRenderer.prototype.applyEffect = function (effect) {\n        this.ctx.save();\n        if (isOpacityEffect(effect)) {\n            this.ctx.globalAlpha = effect.opacity;\n        }\n        if (isTransformEffect(effect)) {\n            this.ctx.translate(effect.offsetX, effect.offsetY);\n            this.ctx.transform(effect.matrix[0], effect.matrix[1], effect.matrix[2], effect.matrix[3], effect.matrix[4], effect.matrix[5]);\n            this.ctx.translate(-effect.offsetX, -effect.offsetY);\n        }\n        if (isClipEffect(effect)) {\n            this.path(effect.path);\n            this.ctx.clip();\n        }\n        this._activeEffects.push(effect);\n    };\n    CanvasRenderer.prototype.popEffect = function () {\n        this._activeEffects.pop();\n        this.ctx.restore();\n    };\n    CanvasRenderer.prototype.renderStack = function (stack) {\n        return __awaiter(this, void 0, void 0, function () {\n            var styles;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        styles = stack.element.container.styles;\n                        if (!styles.isVisible()) return [3 /*break*/, 2];\n                        return [4 /*yield*/, this.renderStackContent(stack)];\n                    case 1:\n                        _a.sent();\n                        _a.label = 2;\n                    case 2: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderNode = function (paint) {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (contains(paint.container.flags, 16 /* DEBUG_RENDER */)) {\n                            debugger;\n                        }\n                        if (!paint.container.styles.isVisible()) return [3 /*break*/, 3];\n                        return [4 /*yield*/, this.renderNodeBackgroundAndBorders(paint)];\n                    case 1:\n                        _a.sent();\n                        return [4 /*yield*/, this.renderNodeContent(paint)];\n                    case 2:\n                        _a.sent();\n                        _a.label = 3;\n                    case 3: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderTextWithLetterSpacing = function (text, letterSpacing, baseline) {\n        var _this = this;\n        if (letterSpacing === 0) {\n            this.ctx.fillText(text.text, text.bounds.left, text.bounds.top + baseline);\n        }\n        else {\n            var letters = segmentGraphemes(text.text);\n            letters.reduce(function (left, letter) {\n                _this.ctx.fillText(letter, left, text.bounds.top + baseline);\n                return left + _this.ctx.measureText(letter).width;\n            }, text.bounds.left);\n        }\n    };\n    CanvasRenderer.prototype.createFontStyle = function (styles) {\n        var fontVariant = styles.fontVariant\n            .filter(function (variant) { return variant === 'normal' || variant === 'small-caps'; })\n            .join('');\n        var fontFamily = fixIOSSystemFonts(styles.fontFamily).join(', ');\n        var fontSize = isDimensionToken(styles.fontSize)\n            ? \"\" + styles.fontSize.number + styles.fontSize.unit\n            : styles.fontSize.number + \"px\";\n        return [\n            [styles.fontStyle, fontVariant, styles.fontWeight, fontSize, fontFamily].join(' '),\n            fontFamily,\n            fontSize\n        ];\n    };\n    CanvasRenderer.prototype.renderTextNode = function (text, styles) {\n        return __awaiter(this, void 0, void 0, function () {\n            var _a, font, fontFamily, fontSize, _b, baseline, middle, paintOrder;\n            var _this = this;\n            return __generator(this, function (_c) {\n                _a = this.createFontStyle(styles), font = _a[0], fontFamily = _a[1], fontSize = _a[2];\n                this.ctx.font = font;\n                this.ctx.direction = styles.direction === 1 /* RTL */ ? 'rtl' : 'ltr';\n                this.ctx.textAlign = 'left';\n                this.ctx.textBaseline = 'alphabetic';\n                _b = this.fontMetrics.getMetrics(fontFamily, fontSize), baseline = _b.baseline, middle = _b.middle;\n                paintOrder = styles.paintOrder;\n                text.textBounds.forEach(function (text) {\n                    paintOrder.forEach(function (paintOrderLayer) {\n                        switch (paintOrderLayer) {\n                            case 0 /* FILL */:\n                                _this.ctx.fillStyle = asString(styles.color);\n                                _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline);\n                                var textShadows = styles.textShadow;\n                                if (textShadows.length && text.text.trim().length) {\n                                    textShadows\n                                        .slice(0)\n                                        .reverse()\n                                        .forEach(function (textShadow) {\n                                        _this.ctx.shadowColor = asString(textShadow.color);\n                                        _this.ctx.shadowOffsetX = textShadow.offsetX.number * _this.options.scale;\n                                        _this.ctx.shadowOffsetY = textShadow.offsetY.number * _this.options.scale;\n                                        _this.ctx.shadowBlur = textShadow.blur.number;\n                                        _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline);\n                                    });\n                                    _this.ctx.shadowColor = '';\n                                    _this.ctx.shadowOffsetX = 0;\n                                    _this.ctx.shadowOffsetY = 0;\n                                    _this.ctx.shadowBlur = 0;\n                                }\n                                if (styles.textDecorationLine.length) {\n                                    _this.ctx.fillStyle = asString(styles.textDecorationColor || styles.color);\n                                    styles.textDecorationLine.forEach(function (textDecorationLine) {\n                                        switch (textDecorationLine) {\n                                            case 1 /* UNDERLINE */:\n                                                // Draws a line at the baseline of the font\n                                                // TODO As some browsers display the line as more than 1px if the font-size is big,\n                                                // need to take that into account both in position and size\n                                                _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top + baseline), text.bounds.width, 1);\n                                                break;\n                                            case 2 /* OVERLINE */:\n                                                _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top), text.bounds.width, 1);\n                                                break;\n                                            case 3 /* LINE_THROUGH */:\n                                                // TODO try and find exact position for line-through\n                                                _this.ctx.fillRect(text.bounds.left, Math.ceil(text.bounds.top + middle), text.bounds.width, 1);\n                                                break;\n                                        }\n                                    });\n                                }\n                                break;\n                            case 1 /* STROKE */:\n                                if (styles.webkitTextStrokeWidth && text.text.trim().length) {\n                                    _this.ctx.strokeStyle = asString(styles.webkitTextStrokeColor);\n                                    _this.ctx.lineWidth = styles.webkitTextStrokeWidth;\n                                    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                                    _this.ctx.lineJoin = !!window.chrome ? 'miter' : 'round';\n                                    _this.ctx.strokeText(text.text, text.bounds.left, text.bounds.top + baseline);\n                                }\n                                _this.ctx.strokeStyle = '';\n                                _this.ctx.lineWidth = 0;\n                                _this.ctx.lineJoin = 'miter';\n                                break;\n                        }\n                    });\n                });\n                return [2 /*return*/];\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderReplacedElement = function (container, curves, image) {\n        if (image && container.intrinsicWidth > 0 && container.intrinsicHeight > 0) {\n            var box = contentBox(container);\n            var path = calculatePaddingBoxPath(curves);\n            this.path(path);\n            this.ctx.save();\n            this.ctx.clip();\n            this.ctx.drawImage(image, 0, 0, container.intrinsicWidth, container.intrinsicHeight, box.left, box.top, box.width, box.height);\n            this.ctx.restore();\n        }\n    };\n    CanvasRenderer.prototype.renderNodeContent = function (paint) {\n        return __awaiter(this, void 0, void 0, function () {\n            var container, curves, styles, _i, _a, child, image, image, iframeRenderer, canvas, size, _b, fontFamily, fontSize, baseline, bounds, x, textBounds, img, image, url, fontFamily, bounds;\n            return __generator(this, function (_c) {\n                switch (_c.label) {\n                    case 0:\n                        this.applyEffects(paint.getEffects(4 /* CONTENT */));\n                        container = paint.container;\n                        curves = paint.curves;\n                        styles = container.styles;\n                        _i = 0, _a = container.textNodes;\n                        _c.label = 1;\n                    case 1:\n                        if (!(_i < _a.length)) return [3 /*break*/, 4];\n                        child = _a[_i];\n                        return [4 /*yield*/, this.renderTextNode(child, styles)];\n                    case 2:\n                        _c.sent();\n                        _c.label = 3;\n                    case 3:\n                        _i++;\n                        return [3 /*break*/, 1];\n                    case 4:\n                        if (!(container instanceof ImageElementContainer)) return [3 /*break*/, 8];\n                        _c.label = 5;\n                    case 5:\n                        _c.trys.push([5, 7, , 8]);\n                        return [4 /*yield*/, this.context.cache.match(container.src)];\n                    case 6:\n                        image = _c.sent();\n                        this.renderReplacedElement(container, curves, image);\n                        return [3 /*break*/, 8];\n                    case 7:\n                        _c.sent();\n                        this.context.logger.error(\"Error loading image \" + container.src);\n                        return [3 /*break*/, 8];\n                    case 8:\n                        if (container instanceof CanvasElementContainer) {\n                            this.renderReplacedElement(container, curves, container.canvas);\n                        }\n                        if (!(container instanceof SVGElementContainer)) return [3 /*break*/, 12];\n                        _c.label = 9;\n                    case 9:\n                        _c.trys.push([9, 11, , 12]);\n                        return [4 /*yield*/, this.context.cache.match(container.svg)];\n                    case 10:\n                        image = _c.sent();\n                        this.renderReplacedElement(container, curves, image);\n                        return [3 /*break*/, 12];\n                    case 11:\n                        _c.sent();\n                        this.context.logger.error(\"Error loading svg \" + container.svg.substring(0, 255));\n                        return [3 /*break*/, 12];\n                    case 12:\n                        if (!(container instanceof IFrameElementContainer && container.tree)) return [3 /*break*/, 14];\n                        iframeRenderer = new CanvasRenderer(this.context, {\n                            scale: this.options.scale,\n                            backgroundColor: container.backgroundColor,\n                            x: 0,\n                            y: 0,\n                            width: container.width,\n                            height: container.height\n                        });\n                        return [4 /*yield*/, iframeRenderer.render(container.tree)];\n                    case 13:\n                        canvas = _c.sent();\n                        if (container.width && container.height) {\n                            this.ctx.drawImage(canvas, 0, 0, container.width, container.height, container.bounds.left, container.bounds.top, container.bounds.width, container.bounds.height);\n                        }\n                        _c.label = 14;\n                    case 14:\n                        if (container instanceof InputElementContainer) {\n                            size = Math.min(container.bounds.width, container.bounds.height);\n                            if (container.type === CHECKBOX) {\n                                if (container.checked) {\n                                    this.ctx.save();\n                                    this.path([\n                                        new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79),\n                                        new Vector(container.bounds.left + size * 0.16, container.bounds.top + size * 0.5549),\n                                        new Vector(container.bounds.left + size * 0.27347, container.bounds.top + size * 0.44071),\n                                        new Vector(container.bounds.left + size * 0.39694, container.bounds.top + size * 0.5649),\n                                        new Vector(container.bounds.left + size * 0.72983, container.bounds.top + size * 0.23),\n                                        new Vector(container.bounds.left + size * 0.84, container.bounds.top + size * 0.34085),\n                                        new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79)\n                                    ]);\n                                    this.ctx.fillStyle = asString(INPUT_COLOR);\n                                    this.ctx.fill();\n                                    this.ctx.restore();\n                                }\n                            }\n                            else if (container.type === RADIO) {\n                                if (container.checked) {\n                                    this.ctx.save();\n                                    this.ctx.beginPath();\n                                    this.ctx.arc(container.bounds.left + size / 2, container.bounds.top + size / 2, size / 4, 0, Math.PI * 2, true);\n                                    this.ctx.fillStyle = asString(INPUT_COLOR);\n                                    this.ctx.fill();\n                                    this.ctx.restore();\n                                }\n                            }\n                        }\n                        if (isTextInputElement(container) && container.value.length) {\n                            _b = this.createFontStyle(styles), fontFamily = _b[0], fontSize = _b[1];\n                            baseline = this.fontMetrics.getMetrics(fontFamily, fontSize).baseline;\n                            this.ctx.font = fontFamily;\n                            this.ctx.fillStyle = asString(styles.color);\n                            this.ctx.textBaseline = 'alphabetic';\n                            this.ctx.textAlign = canvasTextAlign(container.styles.textAlign);\n                            bounds = contentBox(container);\n                            x = 0;\n                            switch (container.styles.textAlign) {\n                                case 1 /* CENTER */:\n                                    x += bounds.width / 2;\n                                    break;\n                                case 2 /* RIGHT */:\n                                    x += bounds.width;\n                                    break;\n                            }\n                            textBounds = bounds.add(x, 0, 0, -bounds.height / 2 + 1);\n                            this.ctx.save();\n                            this.path([\n                                new Vector(bounds.left, bounds.top),\n                                new Vector(bounds.left + bounds.width, bounds.top),\n                                new Vector(bounds.left + bounds.width, bounds.top + bounds.height),\n                                new Vector(bounds.left, bounds.top + bounds.height)\n                            ]);\n                            this.ctx.clip();\n                            this.renderTextWithLetterSpacing(new TextBounds(container.value, textBounds), styles.letterSpacing, baseline);\n                            this.ctx.restore();\n                            this.ctx.textBaseline = 'alphabetic';\n                            this.ctx.textAlign = 'left';\n                        }\n                        if (!contains(container.styles.display, 2048 /* LIST_ITEM */)) return [3 /*break*/, 20];\n                        if (!(container.styles.listStyleImage !== null)) return [3 /*break*/, 19];\n                        img = container.styles.listStyleImage;\n                        if (!(img.type === 0 /* URL */)) return [3 /*break*/, 18];\n                        image = void 0;\n                        url = img.url;\n                        _c.label = 15;\n                    case 15:\n                        _c.trys.push([15, 17, , 18]);\n                        return [4 /*yield*/, this.context.cache.match(url)];\n                    case 16:\n                        image = _c.sent();\n                        this.ctx.drawImage(image, container.bounds.left - (image.width + 10), container.bounds.top);\n                        return [3 /*break*/, 18];\n                    case 17:\n                        _c.sent();\n                        this.context.logger.error(\"Error loading list-style-image \" + url);\n                        return [3 /*break*/, 18];\n                    case 18: return [3 /*break*/, 20];\n                    case 19:\n                        if (paint.listValue && container.styles.listStyleType !== -1 /* NONE */) {\n                            fontFamily = this.createFontStyle(styles)[0];\n                            this.ctx.font = fontFamily;\n                            this.ctx.fillStyle = asString(styles.color);\n                            this.ctx.textBaseline = 'middle';\n                            this.ctx.textAlign = 'right';\n                            bounds = new Bounds(container.bounds.left, container.bounds.top + getAbsoluteValue(container.styles.paddingTop, container.bounds.width), container.bounds.width, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 1);\n                            this.renderTextWithLetterSpacing(new TextBounds(paint.listValue, bounds), styles.letterSpacing, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 2);\n                            this.ctx.textBaseline = 'bottom';\n                            this.ctx.textAlign = 'left';\n                        }\n                        _c.label = 20;\n                    case 20: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderStackContent = function (stack) {\n        return __awaiter(this, void 0, void 0, function () {\n            var _i, _a, child, _b, _c, child, _d, _e, child, _f, _g, child, _h, _j, child, _k, _l, child, _m, _o, child;\n            return __generator(this, function (_p) {\n                switch (_p.label) {\n                    case 0:\n                        if (contains(stack.element.container.flags, 16 /* DEBUG_RENDER */)) {\n                            debugger;\n                        }\n                        // https://www.w3.org/TR/css-position-3/#painting-order\n                        // 1. the background and borders of the element forming the stacking context.\n                        return [4 /*yield*/, this.renderNodeBackgroundAndBorders(stack.element)];\n                    case 1:\n                        // https://www.w3.org/TR/css-position-3/#painting-order\n                        // 1. the background and borders of the element forming the stacking context.\n                        _p.sent();\n                        _i = 0, _a = stack.negativeZIndex;\n                        _p.label = 2;\n                    case 2:\n                        if (!(_i < _a.length)) return [3 /*break*/, 5];\n                        child = _a[_i];\n                        return [4 /*yield*/, this.renderStack(child)];\n                    case 3:\n                        _p.sent();\n                        _p.label = 4;\n                    case 4:\n                        _i++;\n                        return [3 /*break*/, 2];\n                    case 5: \n                    // 3. For all its in-flow, non-positioned, block-level descendants in tree order:\n                    return [4 /*yield*/, this.renderNodeContent(stack.element)];\n                    case 6:\n                        // 3. For all its in-flow, non-positioned, block-level descendants in tree order:\n                        _p.sent();\n                        _b = 0, _c = stack.nonInlineLevel;\n                        _p.label = 7;\n                    case 7:\n                        if (!(_b < _c.length)) return [3 /*break*/, 10];\n                        child = _c[_b];\n                        return [4 /*yield*/, this.renderNode(child)];\n                    case 8:\n                        _p.sent();\n                        _p.label = 9;\n                    case 9:\n                        _b++;\n                        return [3 /*break*/, 7];\n                    case 10:\n                        _d = 0, _e = stack.nonPositionedFloats;\n                        _p.label = 11;\n                    case 11:\n                        if (!(_d < _e.length)) return [3 /*break*/, 14];\n                        child = _e[_d];\n                        return [4 /*yield*/, this.renderStack(child)];\n                    case 12:\n                        _p.sent();\n                        _p.label = 13;\n                    case 13:\n                        _d++;\n                        return [3 /*break*/, 11];\n                    case 14:\n                        _f = 0, _g = stack.nonPositionedInlineLevel;\n                        _p.label = 15;\n                    case 15:\n                        if (!(_f < _g.length)) return [3 /*break*/, 18];\n                        child = _g[_f];\n                        return [4 /*yield*/, this.renderStack(child)];\n                    case 16:\n                        _p.sent();\n                        _p.label = 17;\n                    case 17:\n                        _f++;\n                        return [3 /*break*/, 15];\n                    case 18:\n                        _h = 0, _j = stack.inlineLevel;\n                        _p.label = 19;\n                    case 19:\n                        if (!(_h < _j.length)) return [3 /*break*/, 22];\n                        child = _j[_h];\n                        return [4 /*yield*/, this.renderNode(child)];\n                    case 20:\n                        _p.sent();\n                        _p.label = 21;\n                    case 21:\n                        _h++;\n                        return [3 /*break*/, 19];\n                    case 22:\n                        _k = 0, _l = stack.zeroOrAutoZIndexOrTransformedOrOpacity;\n                        _p.label = 23;\n                    case 23:\n                        if (!(_k < _l.length)) return [3 /*break*/, 26];\n                        child = _l[_k];\n                        return [4 /*yield*/, this.renderStack(child)];\n                    case 24:\n                        _p.sent();\n                        _p.label = 25;\n                    case 25:\n                        _k++;\n                        return [3 /*break*/, 23];\n                    case 26:\n                        _m = 0, _o = stack.positiveZIndex;\n                        _p.label = 27;\n                    case 27:\n                        if (!(_m < _o.length)) return [3 /*break*/, 30];\n                        child = _o[_m];\n                        return [4 /*yield*/, this.renderStack(child)];\n                    case 28:\n                        _p.sent();\n                        _p.label = 29;\n                    case 29:\n                        _m++;\n                        return [3 /*break*/, 27];\n                    case 30: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    CanvasRenderer.prototype.mask = function (paths) {\n        this.ctx.beginPath();\n        this.ctx.moveTo(0, 0);\n        this.ctx.lineTo(this.canvas.width, 0);\n        this.ctx.lineTo(this.canvas.width, this.canvas.height);\n        this.ctx.lineTo(0, this.canvas.height);\n        this.ctx.lineTo(0, 0);\n        this.formatPath(paths.slice(0).reverse());\n        this.ctx.closePath();\n    };\n    CanvasRenderer.prototype.path = function (paths) {\n        this.ctx.beginPath();\n        this.formatPath(paths);\n        this.ctx.closePath();\n    };\n    CanvasRenderer.prototype.formatPath = function (paths) {\n        var _this = this;\n        paths.forEach(function (point, index) {\n            var start = isBezierCurve(point) ? point.start : point;\n            if (index === 0) {\n                _this.ctx.moveTo(start.x, start.y);\n            }\n            else {\n                _this.ctx.lineTo(start.x, start.y);\n            }\n            if (isBezierCurve(point)) {\n                _this.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y);\n            }\n        });\n    };\n    CanvasRenderer.prototype.renderRepeat = function (path, pattern, offsetX, offsetY) {\n        this.path(path);\n        this.ctx.fillStyle = pattern;\n        this.ctx.translate(offsetX, offsetY);\n        this.ctx.fill();\n        this.ctx.translate(-offsetX, -offsetY);\n    };\n    CanvasRenderer.prototype.resizeImage = function (image, width, height) {\n        var _a;\n        if (image.width === width && image.height === height) {\n            return image;\n        }\n        var ownerDocument = (_a = this.canvas.ownerDocument) !== null && _a !== void 0 ? _a : document;\n        var canvas = ownerDocument.createElement('canvas');\n        canvas.width = Math.max(1, width);\n        canvas.height = Math.max(1, height);\n        var ctx = canvas.getContext('2d');\n        ctx.drawImage(image, 0, 0, image.width, image.height, 0, 0, width, height);\n        return canvas;\n    };\n    CanvasRenderer.prototype.renderBackgroundImage = function (container) {\n        return __awaiter(this, void 0, void 0, function () {\n            var index, _loop_1, this_1, _i, _a, backgroundImage;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        index = container.styles.backgroundImage.length - 1;\n                        _loop_1 = function (backgroundImage) {\n                            var image, url, _c, path, x, y, width, height, pattern, _d, path, x, y, width, height, _e, lineLength, x0, x1, y0, y1, canvas, ctx, gradient_1, pattern, _f, path, left, top_1, width, height, position, x, y, _g, rx, ry, radialGradient_1, midX, midY, f, invF;\n                            return __generator(this, function (_h) {\n                                switch (_h.label) {\n                                    case 0:\n                                        if (!(backgroundImage.type === 0 /* URL */)) return [3 /*break*/, 5];\n                                        image = void 0;\n                                        url = backgroundImage.url;\n                                        _h.label = 1;\n                                    case 1:\n                                        _h.trys.push([1, 3, , 4]);\n                                        return [4 /*yield*/, this_1.context.cache.match(url)];\n                                    case 2:\n                                        image = _h.sent();\n                                        return [3 /*break*/, 4];\n                                    case 3:\n                                        _h.sent();\n                                        this_1.context.logger.error(\"Error loading background-image \" + url);\n                                        return [3 /*break*/, 4];\n                                    case 4:\n                                        if (image) {\n                                            _c = calculateBackgroundRendering(container, index, [\n                                                image.width,\n                                                image.height,\n                                                image.width / image.height\n                                            ]), path = _c[0], x = _c[1], y = _c[2], width = _c[3], height = _c[4];\n                                            pattern = this_1.ctx.createPattern(this_1.resizeImage(image, width, height), 'repeat');\n                                            this_1.renderRepeat(path, pattern, x, y);\n                                        }\n                                        return [3 /*break*/, 6];\n                                    case 5:\n                                        if (isLinearGradient(backgroundImage)) {\n                                            _d = calculateBackgroundRendering(container, index, [null, null, null]), path = _d[0], x = _d[1], y = _d[2], width = _d[3], height = _d[4];\n                                            _e = calculateGradientDirection(backgroundImage.angle, width, height), lineLength = _e[0], x0 = _e[1], x1 = _e[2], y0 = _e[3], y1 = _e[4];\n                                            canvas = document.createElement('canvas');\n                                            canvas.width = width;\n                                            canvas.height = height;\n                                            ctx = canvas.getContext('2d');\n                                            gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1);\n                                            processColorStops(backgroundImage.stops, lineLength).forEach(function (colorStop) {\n                                                return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color));\n                                            });\n                                            ctx.fillStyle = gradient_1;\n                                            ctx.fillRect(0, 0, width, height);\n                                            if (width > 0 && height > 0) {\n                                                pattern = this_1.ctx.createPattern(canvas, 'repeat');\n                                                this_1.renderRepeat(path, pattern, x, y);\n                                            }\n                                        }\n                                        else if (isRadialGradient(backgroundImage)) {\n                                            _f = calculateBackgroundRendering(container, index, [\n                                                null,\n                                                null,\n                                                null\n                                            ]), path = _f[0], left = _f[1], top_1 = _f[2], width = _f[3], height = _f[4];\n                                            position = backgroundImage.position.length === 0 ? [FIFTY_PERCENT] : backgroundImage.position;\n                                            x = getAbsoluteValue(position[0], width);\n                                            y = getAbsoluteValue(position[position.length - 1], height);\n                                            _g = calculateRadius(backgroundImage, x, y, width, height), rx = _g[0], ry = _g[1];\n                                            if (rx > 0 && ry > 0) {\n                                                radialGradient_1 = this_1.ctx.createRadialGradient(left + x, top_1 + y, 0, left + x, top_1 + y, rx);\n                                                processColorStops(backgroundImage.stops, rx * 2).forEach(function (colorStop) {\n                                                    return radialGradient_1.addColorStop(colorStop.stop, asString(colorStop.color));\n                                                });\n                                                this_1.path(path);\n                                                this_1.ctx.fillStyle = radialGradient_1;\n                                                if (rx !== ry) {\n                                                    midX = container.bounds.left + 0.5 * container.bounds.width;\n                                                    midY = container.bounds.top + 0.5 * container.bounds.height;\n                                                    f = ry / rx;\n                                                    invF = 1 / f;\n                                                    this_1.ctx.save();\n                                                    this_1.ctx.translate(midX, midY);\n                                                    this_1.ctx.transform(1, 0, 0, f, 0, 0);\n                                                    this_1.ctx.translate(-midX, -midY);\n                                                    this_1.ctx.fillRect(left, invF * (top_1 - midY) + midY, width, height * invF);\n                                                    this_1.ctx.restore();\n                                                }\n                                                else {\n                                                    this_1.ctx.fill();\n                                                }\n                                            }\n                                        }\n                                        _h.label = 6;\n                                    case 6:\n                                        index--;\n                                        return [2 /*return*/];\n                                }\n                            });\n                        };\n                        this_1 = this;\n                        _i = 0, _a = container.styles.backgroundImage.slice(0).reverse();\n                        _b.label = 1;\n                    case 1:\n                        if (!(_i < _a.length)) return [3 /*break*/, 4];\n                        backgroundImage = _a[_i];\n                        return [5 /*yield**/, _loop_1(backgroundImage)];\n                    case 2:\n                        _b.sent();\n                        _b.label = 3;\n                    case 3:\n                        _i++;\n                        return [3 /*break*/, 1];\n                    case 4: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderSolidBorder = function (color, side, curvePoints) {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                this.path(parsePathForBorder(curvePoints, side));\n                this.ctx.fillStyle = asString(color);\n                this.ctx.fill();\n                return [2 /*return*/];\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderDoubleBorder = function (color, width, side, curvePoints) {\n        return __awaiter(this, void 0, void 0, function () {\n            var outerPaths, innerPaths;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (!(width < 3)) return [3 /*break*/, 2];\n                        return [4 /*yield*/, this.renderSolidBorder(color, side, curvePoints)];\n                    case 1:\n                        _a.sent();\n                        return [2 /*return*/];\n                    case 2:\n                        outerPaths = parsePathForBorderDoubleOuter(curvePoints, side);\n                        this.path(outerPaths);\n                        this.ctx.fillStyle = asString(color);\n                        this.ctx.fill();\n                        innerPaths = parsePathForBorderDoubleInner(curvePoints, side);\n                        this.path(innerPaths);\n                        this.ctx.fill();\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderNodeBackgroundAndBorders = function (paint) {\n        return __awaiter(this, void 0, void 0, function () {\n            var styles, hasBackground, borders, backgroundPaintingArea, side, _i, borders_1, border;\n            var _this = this;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        this.applyEffects(paint.getEffects(2 /* BACKGROUND_BORDERS */));\n                        styles = paint.container.styles;\n                        hasBackground = !isTransparent(styles.backgroundColor) || styles.backgroundImage.length;\n                        borders = [\n                            { style: styles.borderTopStyle, color: styles.borderTopColor, width: styles.borderTopWidth },\n                            { style: styles.borderRightStyle, color: styles.borderRightColor, width: styles.borderRightWidth },\n                            { style: styles.borderBottomStyle, color: styles.borderBottomColor, width: styles.borderBottomWidth },\n                            { style: styles.borderLeftStyle, color: styles.borderLeftColor, width: styles.borderLeftWidth }\n                        ];\n                        backgroundPaintingArea = calculateBackgroundCurvedPaintingArea(getBackgroundValueForIndex(styles.backgroundClip, 0), paint.curves);\n                        if (!(hasBackground || styles.boxShadow.length)) return [3 /*break*/, 2];\n                        this.ctx.save();\n                        this.path(backgroundPaintingArea);\n                        this.ctx.clip();\n                        if (!isTransparent(styles.backgroundColor)) {\n                            this.ctx.fillStyle = asString(styles.backgroundColor);\n                            this.ctx.fill();\n                        }\n                        return [4 /*yield*/, this.renderBackgroundImage(paint.container)];\n                    case 1:\n                        _a.sent();\n                        this.ctx.restore();\n                        styles.boxShadow\n                            .slice(0)\n                            .reverse()\n                            .forEach(function (shadow) {\n                            _this.ctx.save();\n                            var borderBoxArea = calculateBorderBoxPath(paint.curves);\n                            var maskOffset = shadow.inset ? 0 : MASK_OFFSET;\n                            var shadowPaintingArea = transformPath(borderBoxArea, -maskOffset + (shadow.inset ? 1 : -1) * shadow.spread.number, (shadow.inset ? 1 : -1) * shadow.spread.number, shadow.spread.number * (shadow.inset ? -2 : 2), shadow.spread.number * (shadow.inset ? -2 : 2));\n                            if (shadow.inset) {\n                                _this.path(borderBoxArea);\n                                _this.ctx.clip();\n                                _this.mask(shadowPaintingArea);\n                            }\n                            else {\n                                _this.mask(borderBoxArea);\n                                _this.ctx.clip();\n                                _this.path(shadowPaintingArea);\n                            }\n                            _this.ctx.shadowOffsetX = shadow.offsetX.number + maskOffset;\n                            _this.ctx.shadowOffsetY = shadow.offsetY.number;\n                            _this.ctx.shadowColor = asString(shadow.color);\n                            _this.ctx.shadowBlur = shadow.blur.number;\n                            _this.ctx.fillStyle = shadow.inset ? asString(shadow.color) : 'rgba(0,0,0,1)';\n                            _this.ctx.fill();\n                            _this.ctx.restore();\n                        });\n                        _a.label = 2;\n                    case 2:\n                        side = 0;\n                        _i = 0, borders_1 = borders;\n                        _a.label = 3;\n                    case 3:\n                        if (!(_i < borders_1.length)) return [3 /*break*/, 13];\n                        border = borders_1[_i];\n                        if (!(border.style !== 0 /* NONE */ && !isTransparent(border.color) && border.width > 0)) return [3 /*break*/, 11];\n                        if (!(border.style === 2 /* DASHED */)) return [3 /*break*/, 5];\n                        return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 2 /* DASHED */)];\n                    case 4:\n                        _a.sent();\n                        return [3 /*break*/, 11];\n                    case 5:\n                        if (!(border.style === 3 /* DOTTED */)) return [3 /*break*/, 7];\n                        return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 3 /* DOTTED */)];\n                    case 6:\n                        _a.sent();\n                        return [3 /*break*/, 11];\n                    case 7:\n                        if (!(border.style === 4 /* DOUBLE */)) return [3 /*break*/, 9];\n                        return [4 /*yield*/, this.renderDoubleBorder(border.color, border.width, side, paint.curves)];\n                    case 8:\n                        _a.sent();\n                        return [3 /*break*/, 11];\n                    case 9: return [4 /*yield*/, this.renderSolidBorder(border.color, side, paint.curves)];\n                    case 10:\n                        _a.sent();\n                        _a.label = 11;\n                    case 11:\n                        side++;\n                        _a.label = 12;\n                    case 12:\n                        _i++;\n                        return [3 /*break*/, 3];\n                    case 13: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    CanvasRenderer.prototype.renderDashedDottedBorder = function (color, width, side, curvePoints, style) {\n        return __awaiter(this, void 0, void 0, function () {\n            var strokePaths, boxPaths, startX, startY, endX, endY, length, dashLength, spaceLength, useLineDash, multiplier, numberOfDashes, minSpace, maxSpace, path1, path2, path1, path2;\n            return __generator(this, function (_a) {\n                this.ctx.save();\n                strokePaths = parsePathForBorderStroke(curvePoints, side);\n                boxPaths = parsePathForBorder(curvePoints, side);\n                if (style === 2 /* DASHED */) {\n                    this.path(boxPaths);\n                    this.ctx.clip();\n                }\n                if (isBezierCurve(boxPaths[0])) {\n                    startX = boxPaths[0].start.x;\n                    startY = boxPaths[0].start.y;\n                }\n                else {\n                    startX = boxPaths[0].x;\n                    startY = boxPaths[0].y;\n                }\n                if (isBezierCurve(boxPaths[1])) {\n                    endX = boxPaths[1].end.x;\n                    endY = boxPaths[1].end.y;\n                }\n                else {\n                    endX = boxPaths[1].x;\n                    endY = boxPaths[1].y;\n                }\n                if (side === 0 || side === 2) {\n                    length = Math.abs(startX - endX);\n                }\n                else {\n                    length = Math.abs(startY - endY);\n                }\n                this.ctx.beginPath();\n                if (style === 3 /* DOTTED */) {\n                    this.formatPath(strokePaths);\n                }\n                else {\n                    this.formatPath(boxPaths.slice(0, 2));\n                }\n                dashLength = width < 3 ? width * 3 : width * 2;\n                spaceLength = width < 3 ? width * 2 : width;\n                if (style === 3 /* DOTTED */) {\n                    dashLength = width;\n                    spaceLength = width;\n                }\n                useLineDash = true;\n                if (length <= dashLength * 2) {\n                    useLineDash = false;\n                }\n                else if (length <= dashLength * 2 + spaceLength) {\n                    multiplier = length / (2 * dashLength + spaceLength);\n                    dashLength *= multiplier;\n                    spaceLength *= multiplier;\n                }\n                else {\n                    numberOfDashes = Math.floor((length + spaceLength) / (dashLength + spaceLength));\n                    minSpace = (length - numberOfDashes * dashLength) / (numberOfDashes - 1);\n                    maxSpace = (length - (numberOfDashes + 1) * dashLength) / numberOfDashes;\n                    spaceLength =\n                        maxSpace <= 0 || Math.abs(spaceLength - minSpace) < Math.abs(spaceLength - maxSpace)\n                            ? minSpace\n                            : maxSpace;\n                }\n                if (useLineDash) {\n                    if (style === 3 /* DOTTED */) {\n                        this.ctx.setLineDash([0, dashLength + spaceLength]);\n                    }\n                    else {\n                        this.ctx.setLineDash([dashLength, spaceLength]);\n                    }\n                }\n                if (style === 3 /* DOTTED */) {\n                    this.ctx.lineCap = 'round';\n                    this.ctx.lineWidth = width;\n                }\n                else {\n                    this.ctx.lineWidth = width * 2 + 1.1;\n                }\n                this.ctx.strokeStyle = asString(color);\n                this.ctx.stroke();\n                this.ctx.setLineDash([]);\n                // dashed round edge gap\n                if (style === 2 /* DASHED */) {\n                    if (isBezierCurve(boxPaths[0])) {\n                        path1 = boxPaths[3];\n                        path2 = boxPaths[0];\n                        this.ctx.beginPath();\n                        this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);\n                        this.ctx.stroke();\n                    }\n                    if (isBezierCurve(boxPaths[1])) {\n                        path1 = boxPaths[1];\n                        path2 = boxPaths[2];\n                        this.ctx.beginPath();\n                        this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);\n                        this.ctx.stroke();\n                    }\n                }\n                this.ctx.restore();\n                return [2 /*return*/];\n            });\n        });\n    };\n    CanvasRenderer.prototype.render = function (element) {\n        return __awaiter(this, void 0, void 0, function () {\n            var stack;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (this.options.backgroundColor) {\n                            this.ctx.fillStyle = asString(this.options.backgroundColor);\n                            this.ctx.fillRect(this.options.x, this.options.y, this.options.width, this.options.height);\n                        }\n                        stack = parseStackingContexts(element);\n                        return [4 /*yield*/, this.renderStack(stack)];\n                    case 1:\n                        _a.sent();\n                        this.applyEffects([]);\n                        return [2 /*return*/, this.canvas];\n                }\n            });\n        });\n    };\n    return CanvasRenderer;\n}(Renderer));\nvar isTextInputElement = function (container) {\n    if (container instanceof TextareaElementContainer) {\n        return true;\n    }\n    else if (container instanceof SelectElementContainer) {\n        return true;\n    }\n    else if (container instanceof InputElementContainer && container.type !== RADIO && container.type !== CHECKBOX) {\n        return true;\n    }\n    return false;\n};\nvar calculateBackgroundCurvedPaintingArea = function (clip, curves) {\n    switch (clip) {\n        case 0 /* BORDER_BOX */:\n            return calculateBorderBoxPath(curves);\n        case 2 /* CONTENT_BOX */:\n            return calculateContentBoxPath(curves);\n        case 1 /* PADDING_BOX */:\n        default:\n            return calculatePaddingBoxPath(curves);\n    }\n};\nvar canvasTextAlign = function (textAlign) {\n    switch (textAlign) {\n        case 1 /* CENTER */:\n            return 'center';\n        case 2 /* RIGHT */:\n            return 'right';\n        case 0 /* LEFT */:\n        default:\n            return 'left';\n    }\n};\n// see https://github.com/niklasvh/html2canvas/pull/2645\nvar iOSBrokenFonts = ['-apple-system', 'system-ui'];\nvar fixIOSSystemFonts = function (fontFamilies) {\n    return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent)\n        ? fontFamilies.filter(function (fontFamily) { return iOSBrokenFonts.indexOf(fontFamily) === -1; })\n        : fontFamilies;\n};\n\nvar ForeignObjectRenderer = /** @class */ (function (_super) {\n    __extends(ForeignObjectRenderer, _super);\n    function ForeignObjectRenderer(context, options) {\n        var _this = _super.call(this, context, options) || this;\n        _this.canvas = options.canvas ? options.canvas : document.createElement('canvas');\n        _this.ctx = _this.canvas.getContext('2d');\n        _this.options = options;\n        _this.canvas.width = Math.floor(options.width * options.scale);\n        _this.canvas.height = Math.floor(options.height * options.scale);\n        _this.canvas.style.width = options.width + \"px\";\n        _this.canvas.style.height = options.height + \"px\";\n        _this.ctx.scale(_this.options.scale, _this.options.scale);\n        _this.ctx.translate(-options.x, -options.y);\n        _this.context.logger.debug(\"EXPERIMENTAL ForeignObject renderer initialized (\" + options.width + \"x\" + options.height + \" at \" + options.x + \",\" + options.y + \") with scale \" + options.scale);\n        return _this;\n    }\n    ForeignObjectRenderer.prototype.render = function (element) {\n        return __awaiter(this, void 0, void 0, function () {\n            var svg, img;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        svg = createForeignObjectSVG(this.options.width * this.options.scale, this.options.height * this.options.scale, this.options.scale, this.options.scale, element);\n                        return [4 /*yield*/, loadSerializedSVG(svg)];\n                    case 1:\n                        img = _a.sent();\n                        if (this.options.backgroundColor) {\n                            this.ctx.fillStyle = asString(this.options.backgroundColor);\n                            this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale);\n                        }\n                        this.ctx.drawImage(img, -this.options.x * this.options.scale, -this.options.y * this.options.scale);\n                        return [2 /*return*/, this.canvas];\n                }\n            });\n        });\n    };\n    return ForeignObjectRenderer;\n}(Renderer));\nvar loadSerializedSVG = function (svg) {\n    return new Promise(function (resolve, reject) {\n        var img = new Image();\n        img.onload = function () {\n            resolve(img);\n        };\n        img.onerror = reject;\n        img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n    });\n};\n\nvar Logger = /** @class */ (function () {\n    function Logger(_a) {\n        var id = _a.id, enabled = _a.enabled;\n        this.id = id;\n        this.enabled = enabled;\n        this.start = Date.now();\n    }\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    Logger.prototype.debug = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        if (this.enabled) {\n            // eslint-disable-next-line no-console\n            if (typeof window !== 'undefined' && window.console && typeof console.debug === 'function') {\n                // eslint-disable-next-line no-console\n                console.debug.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n            }\n            else {\n                this.info.apply(this, args);\n            }\n        }\n    };\n    Logger.prototype.getTime = function () {\n        return Date.now() - this.start;\n    };\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    Logger.prototype.info = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        if (this.enabled) {\n            // eslint-disable-next-line no-console\n            if (typeof window !== 'undefined' && window.console && typeof console.info === 'function') {\n                // eslint-disable-next-line no-console\n                console.info.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n            }\n        }\n    };\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    Logger.prototype.warn = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        if (this.enabled) {\n            // eslint-disable-next-line no-console\n            if (typeof window !== 'undefined' && window.console && typeof console.warn === 'function') {\n                // eslint-disable-next-line no-console\n                console.warn.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n            }\n            else {\n                this.info.apply(this, args);\n            }\n        }\n    };\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    Logger.prototype.error = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        if (this.enabled) {\n            // eslint-disable-next-line no-console\n            if (typeof window !== 'undefined' && window.console && typeof console.error === 'function') {\n                // eslint-disable-next-line no-console\n                console.error.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n            }\n            else {\n                this.info.apply(this, args);\n            }\n        }\n    };\n    Logger.instances = {};\n    return Logger;\n}());\n\nvar Context = /** @class */ (function () {\n    function Context(options, windowBounds) {\n        var _a;\n        this.windowBounds = windowBounds;\n        this.instanceName = \"#\" + Context.instanceCount++;\n        this.logger = new Logger({ id: this.instanceName, enabled: options.logging });\n        this.cache = (_a = options.cache) !== null && _a !== void 0 ? _a : new Cache(this, options);\n    }\n    Context.instanceCount = 1;\n    return Context;\n}());\n\nvar html2canvas = function (element, options) {\n    if (options === void 0) { options = {}; }\n    return renderElement(element, options);\n};\nif (typeof window !== 'undefined') {\n    CacheStorage.setContext(window);\n}\nvar renderElement = function (element, opts) { return __awaiter(void 0, void 0, void 0, function () {\n    var ownerDocument, defaultView, resourceOptions, contextOptions, windowOptions, windowBounds, context, foreignObjectRendering, cloneOptions, documentCloner, clonedElement, container, _a, width, height, left, top, backgroundColor, renderOptions, canvas, renderer, root, renderer;\n    var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;\n    return __generator(this, function (_u) {\n        switch (_u.label) {\n            case 0:\n                if (!element || typeof element !== 'object') {\n                    return [2 /*return*/, Promise.reject('Invalid element provided as first argument')];\n                }\n                ownerDocument = element.ownerDocument;\n                if (!ownerDocument) {\n                    throw new Error(\"Element is not attached to a Document\");\n                }\n                defaultView = ownerDocument.defaultView;\n                if (!defaultView) {\n                    throw new Error(\"Document is not attached to a Window\");\n                }\n                resourceOptions = {\n                    allowTaint: (_b = opts.allowTaint) !== null && _b !== void 0 ? _b : false,\n                    imageTimeout: (_c = opts.imageTimeout) !== null && _c !== void 0 ? _c : 15000,\n                    proxy: opts.proxy,\n                    useCORS: (_d = opts.useCORS) !== null && _d !== void 0 ? _d : false\n                };\n                contextOptions = __assign({ logging: (_e = opts.logging) !== null && _e !== void 0 ? _e : true, cache: opts.cache }, resourceOptions);\n                windowOptions = {\n                    windowWidth: (_f = opts.windowWidth) !== null && _f !== void 0 ? _f : defaultView.innerWidth,\n                    windowHeight: (_g = opts.windowHeight) !== null && _g !== void 0 ? _g : defaultView.innerHeight,\n                    scrollX: (_h = opts.scrollX) !== null && _h !== void 0 ? _h : defaultView.pageXOffset,\n                    scrollY: (_j = opts.scrollY) !== null && _j !== void 0 ? _j : defaultView.pageYOffset\n                };\n                windowBounds = new Bounds(windowOptions.scrollX, windowOptions.scrollY, windowOptions.windowWidth, windowOptions.windowHeight);\n                context = new Context(contextOptions, windowBounds);\n                foreignObjectRendering = (_k = opts.foreignObjectRendering) !== null && _k !== void 0 ? _k : false;\n                cloneOptions = {\n                    allowTaint: (_l = opts.allowTaint) !== null && _l !== void 0 ? _l : false,\n                    onclone: opts.onclone,\n                    ignoreElements: opts.ignoreElements,\n                    inlineImages: foreignObjectRendering,\n                    copyStyles: foreignObjectRendering\n                };\n                context.logger.debug(\"Starting document clone with size \" + windowBounds.width + \"x\" + windowBounds.height + \" scrolled to \" + -windowBounds.left + \",\" + -windowBounds.top);\n                documentCloner = new DocumentCloner(context, element, cloneOptions);\n                clonedElement = documentCloner.clonedReferenceElement;\n                if (!clonedElement) {\n                    return [2 /*return*/, Promise.reject(\"Unable to find element in cloned iframe\")];\n                }\n                return [4 /*yield*/, documentCloner.toIFrame(ownerDocument, windowBounds)];\n            case 1:\n                container = _u.sent();\n                _a = isBodyElement(clonedElement) || isHTMLElement(clonedElement)\n                    ? parseDocumentSize(clonedElement.ownerDocument)\n                    : parseBounds(context, clonedElement), width = _a.width, height = _a.height, left = _a.left, top = _a.top;\n                backgroundColor = parseBackgroundColor(context, clonedElement, opts.backgroundColor);\n                renderOptions = {\n                    canvas: opts.canvas,\n                    backgroundColor: backgroundColor,\n                    scale: (_o = (_m = opts.scale) !== null && _m !== void 0 ? _m : defaultView.devicePixelRatio) !== null && _o !== void 0 ? _o : 1,\n                    x: ((_p = opts.x) !== null && _p !== void 0 ? _p : 0) + left,\n                    y: ((_q = opts.y) !== null && _q !== void 0 ? _q : 0) + top,\n                    width: (_r = opts.width) !== null && _r !== void 0 ? _r : Math.ceil(width),\n                    height: (_s = opts.height) !== null && _s !== void 0 ? _s : Math.ceil(height)\n                };\n                if (!foreignObjectRendering) return [3 /*break*/, 3];\n                context.logger.debug(\"Document cloned, using foreign object rendering\");\n                renderer = new ForeignObjectRenderer(context, renderOptions);\n                return [4 /*yield*/, renderer.render(clonedElement)];\n            case 2:\n                canvas = _u.sent();\n                return [3 /*break*/, 5];\n            case 3:\n                context.logger.debug(\"Document cloned, element located at \" + left + \",\" + top + \" with size \" + width + \"x\" + height + \" using computed rendering\");\n                context.logger.debug(\"Starting DOM parsing\");\n                root = parseTree(context, clonedElement);\n                if (backgroundColor === root.styles.backgroundColor) {\n                    root.styles.backgroundColor = COLORS.TRANSPARENT;\n                }\n                context.logger.debug(\"Starting renderer for element at \" + renderOptions.x + \",\" + renderOptions.y + \" with size \" + renderOptions.width + \"x\" + renderOptions.height);\n                renderer = new CanvasRenderer(context, renderOptions);\n                return [4 /*yield*/, renderer.render(root)];\n            case 4:\n                canvas = _u.sent();\n                _u.label = 5;\n            case 5:\n                if ((_t = opts.removeContainer) !== null && _t !== void 0 ? _t : true) {\n                    if (!DocumentCloner.destroy(container)) {\n                        context.logger.error(\"Cannot detach cloned iframe as it is not in the DOM anymore\");\n                    }\n                }\n                context.logger.debug(\"Finished rendering\");\n                return [2 /*return*/, canvas];\n        }\n    });\n}); };\nvar parseBackgroundColor = function (context, element, backgroundColorOverride) {\n    var ownerDocument = element.ownerDocument;\n    // http://www.w3.org/TR/css3-background/#special-backgrounds\n    var documentBackgroundColor = ownerDocument.documentElement\n        ? parseColor(context, getComputedStyle(ownerDocument.documentElement).backgroundColor)\n        : COLORS.TRANSPARENT;\n    var bodyBackgroundColor = ownerDocument.body\n        ? parseColor(context, getComputedStyle(ownerDocument.body).backgroundColor)\n        : COLORS.TRANSPARENT;\n    var defaultBackgroundColor = typeof backgroundColorOverride === 'string'\n        ? parseColor(context, backgroundColorOverride)\n        : backgroundColorOverride === null\n            ? COLORS.TRANSPARENT\n            : 0xffffffff;\n    return element === ownerDocument.documentElement\n        ? isTransparent(documentBackgroundColor)\n            ? isTransparent(bodyBackgroundColor)\n                ? defaultBackgroundColor\n                : bodyBackgroundColor\n            : documentBackgroundColor\n        : defaultBackgroundColor;\n};\n\nexport default html2canvas;\n//# sourceMappingURL=html2canvas.esm.js.map\n","/*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE */\n\nconst {\n  entries,\n  setPrototypeOf,\n  isFrozen,\n  getPrototypeOf,\n  getOwnPropertyDescriptor\n} = Object;\nlet {\n  freeze,\n  seal,\n  create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n  apply,\n  construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n  freeze = function freeze(x) {\n    return x;\n  };\n}\nif (!seal) {\n  seal = function seal(x) {\n    return x;\n  };\n}\nif (!apply) {\n  apply = function apply(fun, thisValue, args) {\n    return fun.apply(thisValue, args);\n  };\n}\nif (!construct) {\n  construct = function construct(Func, args) {\n    return new Func(...args);\n  };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n  return function (thisArg) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n    return apply(func, thisArg, args);\n  };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n  return function () {\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n    return construct(func, args);\n  };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n  let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n  if (setPrototypeOf) {\n    // Make 'in' and truthy checks like Boolean(set.constructor)\n    // independent of any properties defined on Object.prototype.\n    // Prevent prototype setters from intercepting set as a this value.\n    setPrototypeOf(set, null);\n  }\n  let l = array.length;\n  while (l--) {\n    let element = array[l];\n    if (typeof element === 'string') {\n      const lcElement = transformCaseFunc(element);\n      if (lcElement !== element) {\n        // Config presets (e.g. tags.js, attrs.js) are immutable.\n        if (!isFrozen(array)) {\n          array[l] = lcElement;\n        }\n        element = lcElement;\n      }\n    }\n    set[element] = true;\n  }\n  return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n  for (let index = 0; index < array.length; index++) {\n    const isPropertyExist = objectHasOwnProperty(array, index);\n    if (!isPropertyExist) {\n      array[index] = null;\n    }\n  }\n  return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n  const newObject = create(null);\n  for (const [property, value] of entries(object)) {\n    const isPropertyExist = objectHasOwnProperty(object, property);\n    if (isPropertyExist) {\n      if (Array.isArray(value)) {\n        newObject[property] = cleanArray(value);\n      } else if (value && typeof value === 'object' && value.constructor === Object) {\n        newObject[property] = clone(value);\n      } else {\n        newObject[property] = value;\n      }\n    }\n  }\n  return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n  while (object !== null) {\n    const desc = getOwnPropertyDescriptor(object, prop);\n    if (desc) {\n      if (desc.get) {\n        return unapply(desc.get);\n      }\n      if (typeof desc.value === 'function') {\n        return unapply(desc.value);\n      }\n    }\n    object = getPrototypeOf(object);\n  }\n  function fallbackValue() {\n    return null;\n  }\n  return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  ARIA_ATTR: ARIA_ATTR,\n  ATTR_WHITESPACE: ATTR_WHITESPACE,\n  CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n  DATA_ATTR: DATA_ATTR,\n  DOCTYPE_NAME: DOCTYPE_NAME,\n  ERB_EXPR: ERB_EXPR,\n  IS_ALLOWED_URI: IS_ALLOWED_URI,\n  IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n  MUSTACHE_EXPR: MUSTACHE_EXPR,\n  TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n  element: 1,\n  attribute: 2,\n  text: 3,\n  cdataSection: 4,\n  entityReference: 5,\n  // Deprecated\n  entityNode: 6,\n  // Deprecated\n  progressingInstruction: 7,\n  comment: 8,\n  document: 9,\n  documentType: 10,\n  documentFragment: 11,\n  notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n  return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n  if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n    return null;\n  }\n  // Allow the callers to control the unique policy name\n  // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n  // Policy creation with duplicate names throws in Trusted Types.\n  let suffix = null;\n  const ATTR_NAME = 'data-tt-policy-suffix';\n  if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n    suffix = purifyHostElement.getAttribute(ATTR_NAME);\n  }\n  const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n  try {\n    return trustedTypes.createPolicy(policyName, {\n      createHTML(html) {\n        return html;\n      },\n      createScriptURL(scriptUrl) {\n        return scriptUrl;\n      }\n    });\n  } catch (_) {\n    // Policy creation failed (most likely another DOMPurify script has\n    // already run). Skip creating the policy, as this will only cause errors\n    // if TT are enforced.\n    console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n    return null;\n  }\n};\nconst _createHooksMap = function _createHooksMap() {\n  return {\n    afterSanitizeAttributes: [],\n    afterSanitizeElements: [],\n    afterSanitizeShadowDOM: [],\n    beforeSanitizeAttributes: [],\n    beforeSanitizeElements: [],\n    beforeSanitizeShadowDOM: [],\n    uponSanitizeAttribute: [],\n    uponSanitizeElement: [],\n    uponSanitizeShadowNode: []\n  };\n};\nfunction createDOMPurify() {\n  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n  const DOMPurify = root => createDOMPurify(root);\n  DOMPurify.version = '3.2.4';\n  DOMPurify.removed = [];\n  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n    // Not running in a browser, provide a factory function\n    // so that you can pass your own Window\n    DOMPurify.isSupported = false;\n    return DOMPurify;\n  }\n  let {\n    document\n  } = window;\n  const originalDocument = document;\n  const currentScript = originalDocument.currentScript;\n  const {\n    DocumentFragment,\n    HTMLTemplateElement,\n    Node,\n    Element,\n    NodeFilter,\n    NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n    HTMLFormElement,\n    DOMParser,\n    trustedTypes\n  } = window;\n  const ElementPrototype = Element.prototype;\n  const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n  const remove = lookupGetter(ElementPrototype, 'remove');\n  const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n  const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n  const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n  // As per issue #47, the web-components registry is inherited by a\n  // new document created via createHTMLDocument. As per the spec\n  // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n  // a new empty registry is used when creating a template contents owner\n  // document, so we use that as our parent document to ensure nothing\n  // is inherited.\n  if (typeof HTMLTemplateElement === 'function') {\n    const template = document.createElement('template');\n    if (template.content && template.content.ownerDocument) {\n      document = template.content.ownerDocument;\n    }\n  }\n  let trustedTypesPolicy;\n  let emptyHTML = '';\n  const {\n    implementation,\n    createNodeIterator,\n    createDocumentFragment,\n    getElementsByTagName\n  } = document;\n  const {\n    importNode\n  } = originalDocument;\n  let hooks = _createHooksMap();\n  /**\n   * Expose whether this browser supports running the full DOMPurify.\n   */\n  DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n  const {\n    MUSTACHE_EXPR,\n    ERB_EXPR,\n    TMPLIT_EXPR,\n    DATA_ATTR,\n    ARIA_ATTR,\n    IS_SCRIPT_OR_DATA,\n    ATTR_WHITESPACE,\n    CUSTOM_ELEMENT\n  } = EXPRESSIONS;\n  let {\n    IS_ALLOWED_URI: IS_ALLOWED_URI$1\n  } = EXPRESSIONS;\n  /**\n   * We consider the elements and attributes below to be safe. Ideally\n   * don't add any new ones but feel free to remove unwanted ones.\n   */\n  /* allowed element names */\n  let ALLOWED_TAGS = null;\n  const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n  /* Allowed attribute names */\n  let ALLOWED_ATTR = null;\n  const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n  /*\n   * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n   * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n   * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n   * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n   */\n  let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n    tagNameCheck: {\n      writable: true,\n      configurable: false,\n      enumerable: true,\n      value: null\n    },\n    attributeNameCheck: {\n      writable: true,\n      configurable: false,\n      enumerable: true,\n      value: null\n    },\n    allowCustomizedBuiltInElements: {\n      writable: true,\n      configurable: false,\n      enumerable: true,\n      value: false\n    }\n  }));\n  /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n  let FORBID_TAGS = null;\n  /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n  let FORBID_ATTR = null;\n  /* Decide if ARIA attributes are okay */\n  let ALLOW_ARIA_ATTR = true;\n  /* Decide if custom data attributes are okay */\n  let ALLOW_DATA_ATTR = true;\n  /* Decide if unknown protocols are okay */\n  let ALLOW_UNKNOWN_PROTOCOLS = false;\n  /* Decide if self-closing tags in attributes are allowed.\n   * Usually removed due to a mXSS issue in jQuery 3.0 */\n  let ALLOW_SELF_CLOSE_IN_ATTR = true;\n  /* Output should be safe for common template engines.\n   * This means, DOMPurify removes data attributes, mustaches and ERB\n   */\n  let SAFE_FOR_TEMPLATES = false;\n  /* Output should be safe even for XML used within HTML and alike.\n   * This means, DOMPurify removes comments when containing risky content.\n   */\n  let SAFE_FOR_XML = true;\n  /* Decide if document with <html>... should be returned */\n  let WHOLE_DOCUMENT = false;\n  /* Track whether config is already set on this instance of DOMPurify. */\n  let SET_CONFIG = false;\n  /* Decide if all elements (e.g. style, script) must be children of\n   * document.body. By default, browsers might move them to document.head */\n  let FORCE_BODY = false;\n  /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n   * string (or a TrustedHTML object if Trusted Types are supported).\n   * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n   */\n  let RETURN_DOM = false;\n  /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n   * string  (or a TrustedHTML object if Trusted Types are supported) */\n  let RETURN_DOM_FRAGMENT = false;\n  /* Try to return a Trusted Type object instead of a string, return a string in\n   * case Trusted Types are not supported  */\n  let RETURN_TRUSTED_TYPE = false;\n  /* Output should be free from DOM clobbering attacks?\n   * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n   */\n  let SANITIZE_DOM = true;\n  /* Achieve full DOM Clobbering protection by isolating the namespace of named\n   * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n   *\n   * HTML/DOM spec rules that enable DOM Clobbering:\n   *   - Named Access on Window (§7.3.3)\n   *   - DOM Tree Accessors (§3.1.5)\n   *   - Form Element Parent-Child Relations (§4.10.3)\n   *   - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n   *   - HTMLCollection (§4.2.10.2)\n   *\n   * Namespace isolation is implemented by prefixing `id` and `name` attributes\n   * with a constant string, i.e., `user-content-`\n   */\n  let SANITIZE_NAMED_PROPS = false;\n  const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n  /* Keep element content when removing element? */\n  let KEEP_CONTENT = true;\n  /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n   * of importing it into a new Document and returning a sanitized copy */\n  let IN_PLACE = false;\n  /* Allow usage of profiles like html, svg and mathMl */\n  let USE_PROFILES = {};\n  /* Tags to ignore content of when KEEP_CONTENT is true */\n  let FORBID_CONTENTS = null;\n  const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n  /* Tags that are safe for data: URIs */\n  let DATA_URI_TAGS = null;\n  const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n  /* Attributes safe for values like \"javascript:\" */\n  let URI_SAFE_ATTRIBUTES = null;\n  const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n  const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n  const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n  const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n  /* Document namespace */\n  let NAMESPACE = HTML_NAMESPACE;\n  let IS_EMPTY_INPUT = false;\n  /* Allowed XHTML+XML namespaces */\n  let ALLOWED_NAMESPACES = null;\n  const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n  let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n  let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n  // Certain elements are allowed in both SVG and HTML\n  // namespace. We need to specify them explicitly\n  // so that they don't get erroneously deleted from\n  // HTML namespace.\n  const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n  /* Parsing of strict XHTML documents */\n  let PARSER_MEDIA_TYPE = null;\n  const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n  const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n  let transformCaseFunc = null;\n  /* Keep a reference to config to pass to hooks */\n  let CONFIG = null;\n  /* Ideally, do not touch anything below this line */\n  /* ______________________________________________ */\n  const formElement = document.createElement('form');\n  const isRegexOrFunction = function isRegexOrFunction(testValue) {\n    return testValue instanceof RegExp || testValue instanceof Function;\n  };\n  /**\n   * _parseConfig\n   *\n   * @param cfg optional config literal\n   */\n  // eslint-disable-next-line complexity\n  const _parseConfig = function _parseConfig() {\n    let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    if (CONFIG && CONFIG === cfg) {\n      return;\n    }\n    /* Shield configuration object from tampering */\n    if (!cfg || typeof cfg !== 'object') {\n      cfg = {};\n    }\n    /* Shield configuration object from prototype pollution */\n    cfg = clone(cfg);\n    PARSER_MEDIA_TYPE =\n    // eslint-disable-next-line unicorn/prefer-includes\n    SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n    // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n    transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n    /* Set configuration parameters */\n    ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n    ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n    ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n    URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n    DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n    FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n    FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n    FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n    USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n    ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n    ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n    ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n    ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n    SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n    SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n    WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n    RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n    RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n    RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n    FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n    SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n    SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n    KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n    IN_PLACE = cfg.IN_PLACE || false; // Default false\n    IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n    NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n    MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n    HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n    CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n    if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n      CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n    }\n    if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n      CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n    }\n    if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n      CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n    }\n    if (SAFE_FOR_TEMPLATES) {\n      ALLOW_DATA_ATTR = false;\n    }\n    if (RETURN_DOM_FRAGMENT) {\n      RETURN_DOM = true;\n    }\n    /* Parse profile info */\n    if (USE_PROFILES) {\n      ALLOWED_TAGS = addToSet({}, text);\n      ALLOWED_ATTR = [];\n      if (USE_PROFILES.html === true) {\n        addToSet(ALLOWED_TAGS, html$1);\n        addToSet(ALLOWED_ATTR, html);\n      }\n      if (USE_PROFILES.svg === true) {\n        addToSet(ALLOWED_TAGS, svg$1);\n        addToSet(ALLOWED_ATTR, svg);\n        addToSet(ALLOWED_ATTR, xml);\n      }\n      if (USE_PROFILES.svgFilters === true) {\n        addToSet(ALLOWED_TAGS, svgFilters);\n        addToSet(ALLOWED_ATTR, svg);\n        addToSet(ALLOWED_ATTR, xml);\n      }\n      if (USE_PROFILES.mathMl === true) {\n        addToSet(ALLOWED_TAGS, mathMl$1);\n        addToSet(ALLOWED_ATTR, mathMl);\n        addToSet(ALLOWED_ATTR, xml);\n      }\n    }\n    /* Merge configuration parameters */\n    if (cfg.ADD_TAGS) {\n      if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n        ALLOWED_TAGS = clone(ALLOWED_TAGS);\n      }\n      addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n    }\n    if (cfg.ADD_ATTR) {\n      if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n        ALLOWED_ATTR = clone(ALLOWED_ATTR);\n      }\n      addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n    }\n    if (cfg.ADD_URI_SAFE_ATTR) {\n      addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n    }\n    if (cfg.FORBID_CONTENTS) {\n      if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n        FORBID_CONTENTS = clone(FORBID_CONTENTS);\n      }\n      addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n    }\n    /* Add #text in case KEEP_CONTENT is set to true */\n    if (KEEP_CONTENT) {\n      ALLOWED_TAGS['#text'] = true;\n    }\n    /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n    if (WHOLE_DOCUMENT) {\n      addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n    }\n    /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n    if (ALLOWED_TAGS.table) {\n      addToSet(ALLOWED_TAGS, ['tbody']);\n      delete FORBID_TAGS.tbody;\n    }\n    if (cfg.TRUSTED_TYPES_POLICY) {\n      if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n        throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n      }\n      if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n        throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n      }\n      // Overwrite existing TrustedTypes policy.\n      trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n      // Sign local variables required by `sanitize`.\n      emptyHTML = trustedTypesPolicy.createHTML('');\n    } else {\n      // Uninitialized policy, attempt to initialize the internal dompurify policy.\n      if (trustedTypesPolicy === undefined) {\n        trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n      }\n      // If creating the internal policy succeeded sign internal variables.\n      if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n        emptyHTML = trustedTypesPolicy.createHTML('');\n      }\n    }\n    // Prevent further manipulation of configuration.\n    // Not available in IE8, Safari 5, etc.\n    if (freeze) {\n      freeze(cfg);\n    }\n    CONFIG = cfg;\n  };\n  /* Keep track of all possible SVG and MathML tags\n   * so that we can perform the namespace checks\n   * correctly. */\n  const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n  const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n  /**\n   * @param element a DOM element whose namespace is being checked\n   * @returns Return false if the element has a\n   *  namespace that a spec-compliant parser would never\n   *  return. Return true otherwise.\n   */\n  const _checkValidNamespace = function _checkValidNamespace(element) {\n    let parent = getParentNode(element);\n    // In JSDOM, if we're inside shadow DOM, then parentNode\n    // can be null. We just simulate parent in this case.\n    if (!parent || !parent.tagName) {\n      parent = {\n        namespaceURI: NAMESPACE,\n        tagName: 'template'\n      };\n    }\n    const tagName = stringToLowerCase(element.tagName);\n    const parentTagName = stringToLowerCase(parent.tagName);\n    if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n      return false;\n    }\n    if (element.namespaceURI === SVG_NAMESPACE) {\n      // The only way to switch from HTML namespace to SVG\n      // is via <svg>. If it happens via any other tag, then\n      // it should be killed.\n      if (parent.namespaceURI === HTML_NAMESPACE) {\n        return tagName === 'svg';\n      }\n      // The only way to switch from MathML to SVG is via`\n      // svg if parent is either <annotation-xml> or MathML\n      // text integration points.\n      if (parent.namespaceURI === MATHML_NAMESPACE) {\n        return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n      }\n      // We only allow elements that are defined in SVG\n      // spec. All others are disallowed in SVG namespace.\n      return Boolean(ALL_SVG_TAGS[tagName]);\n    }\n    if (element.namespaceURI === MATHML_NAMESPACE) {\n      // The only way to switch from HTML namespace to MathML\n      // is via <math>. If it happens via any other tag, then\n      // it should be killed.\n      if (parent.namespaceURI === HTML_NAMESPACE) {\n        return tagName === 'math';\n      }\n      // The only way to switch from SVG to MathML is via\n      // <math> and HTML integration points\n      if (parent.namespaceURI === SVG_NAMESPACE) {\n        return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n      }\n      // We only allow elements that are defined in MathML\n      // spec. All others are disallowed in MathML namespace.\n      return Boolean(ALL_MATHML_TAGS[tagName]);\n    }\n    if (element.namespaceURI === HTML_NAMESPACE) {\n      // The only way to switch from SVG to HTML is via\n      // HTML integration points, and from MathML to HTML\n      // is via MathML text integration points\n      if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n        return false;\n      }\n      if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n        return false;\n      }\n      // We disallow tags that are specific for MathML\n      // or SVG and should never appear in HTML namespace\n      return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n    }\n    // For XHTML and XML documents that support custom namespaces\n    if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n      return true;\n    }\n    // The code should never reach this place (this means\n    // that the element somehow got namespace that is not\n    // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n    // Return false just in case.\n    return false;\n  };\n  /**\n   * _forceRemove\n   *\n   * @param node a DOM node\n   */\n  const _forceRemove = function _forceRemove(node) {\n    arrayPush(DOMPurify.removed, {\n      element: node\n    });\n    try {\n      // eslint-disable-next-line unicorn/prefer-dom-node-remove\n      getParentNode(node).removeChild(node);\n    } catch (_) {\n      remove(node);\n    }\n  };\n  /**\n   * _removeAttribute\n   *\n   * @param name an Attribute name\n   * @param element a DOM node\n   */\n  const _removeAttribute = function _removeAttribute(name, element) {\n    try {\n      arrayPush(DOMPurify.removed, {\n        attribute: element.getAttributeNode(name),\n        from: element\n      });\n    } catch (_) {\n      arrayPush(DOMPurify.removed, {\n        attribute: null,\n        from: element\n      });\n    }\n    element.removeAttribute(name);\n    // We void attribute values for unremovable \"is\" attributes\n    if (name === 'is') {\n      if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n        try {\n          _forceRemove(element);\n        } catch (_) {}\n      } else {\n        try {\n          element.setAttribute(name, '');\n        } catch (_) {}\n      }\n    }\n  };\n  /**\n   * _initDocument\n   *\n   * @param dirty - a string of dirty markup\n   * @return a DOM, filled with the dirty markup\n   */\n  const _initDocument = function _initDocument(dirty) {\n    /* Create a HTML document */\n    let doc = null;\n    let leadingWhitespace = null;\n    if (FORCE_BODY) {\n      dirty = '<remove></remove>' + dirty;\n    } else {\n      /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n      const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n      leadingWhitespace = matches && matches[0];\n    }\n    if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n      // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n      dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n    }\n    const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n    /*\n     * Use the DOMParser API by default, fallback later if needs be\n     * DOMParser not work for svg when has multiple root element.\n     */\n    if (NAMESPACE === HTML_NAMESPACE) {\n      try {\n        doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n      } catch (_) {}\n    }\n    /* Use createHTMLDocument in case DOMParser is not available */\n    if (!doc || !doc.documentElement) {\n      doc = implementation.createDocument(NAMESPACE, 'template', null);\n      try {\n        doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n      } catch (_) {\n        // Syntax error if dirtyPayload is invalid xml\n      }\n    }\n    const body = doc.body || doc.documentElement;\n    if (dirty && leadingWhitespace) {\n      body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n    }\n    /* Work on whole document or just its body */\n    if (NAMESPACE === HTML_NAMESPACE) {\n      return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n    }\n    return WHOLE_DOCUMENT ? doc.documentElement : body;\n  };\n  /**\n   * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n   *\n   * @param root The root element or node to start traversing on.\n   * @return The created NodeIterator\n   */\n  const _createNodeIterator = function _createNodeIterator(root) {\n    return createNodeIterator.call(root.ownerDocument || root, root,\n    // eslint-disable-next-line no-bitwise\n    NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n  };\n  /**\n   * _isClobbered\n   *\n   * @param element element to check for clobbering attacks\n   * @return true if clobbered, false if safe\n   */\n  const _isClobbered = function _isClobbered(element) {\n    return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n  };\n  /**\n   * Checks whether the given object is a DOM node.\n   *\n   * @param value object to check whether it's a DOM node\n   * @return true is object is a DOM node\n   */\n  const _isNode = function _isNode(value) {\n    return typeof Node === 'function' && value instanceof Node;\n  };\n  function _executeHooks(hooks, currentNode, data) {\n    arrayForEach(hooks, hook => {\n      hook.call(DOMPurify, currentNode, data, CONFIG);\n    });\n  }\n  /**\n   * _sanitizeElements\n   *\n   * @protect nodeName\n   * @protect textContent\n   * @protect removeChild\n   * @param currentNode to check for permission to exist\n   * @return true if node was killed, false if left alive\n   */\n  const _sanitizeElements = function _sanitizeElements(currentNode) {\n    let content = null;\n    /* Execute a hook if present */\n    _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n    /* Check if element is clobbered or can clobber */\n    if (_isClobbered(currentNode)) {\n      _forceRemove(currentNode);\n      return true;\n    }\n    /* Now let's check the element's type and name */\n    const tagName = transformCaseFunc(currentNode.nodeName);\n    /* Execute a hook if present */\n    _executeHooks(hooks.uponSanitizeElement, currentNode, {\n      tagName,\n      allowedTags: ALLOWED_TAGS\n    });\n    /* Detect mXSS attempts abusing namespace confusion */\n    if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n      _forceRemove(currentNode);\n      return true;\n    }\n    /* Remove any occurrence of processing instructions */\n    if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n      _forceRemove(currentNode);\n      return true;\n    }\n    /* Remove any kind of possibly harmful comments */\n    if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n      _forceRemove(currentNode);\n      return true;\n    }\n    /* Remove element if anything forbids its presence */\n    if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n      /* Check if we have a custom element to handle */\n      if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n        if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n          return false;\n        }\n        if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n          return false;\n        }\n      }\n      /* Keep content except for bad-listed elements */\n      if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n        const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n        const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n        if (childNodes && parentNode) {\n          const childCount = childNodes.length;\n          for (let i = childCount - 1; i >= 0; --i) {\n            const childClone = cloneNode(childNodes[i], true);\n            childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n            parentNode.insertBefore(childClone, getNextSibling(currentNode));\n          }\n        }\n      }\n      _forceRemove(currentNode);\n      return true;\n    }\n    /* Check whether element has a valid namespace */\n    if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n      _forceRemove(currentNode);\n      return true;\n    }\n    /* Make sure that older browsers don't get fallback-tag mXSS */\n    if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n      _forceRemove(currentNode);\n      return true;\n    }\n    /* Sanitize element content to be template-safe */\n    if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n      /* Get the element's text content */\n      content = currentNode.textContent;\n      arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n        content = stringReplace(content, expr, ' ');\n      });\n      if (currentNode.textContent !== content) {\n        arrayPush(DOMPurify.removed, {\n          element: currentNode.cloneNode()\n        });\n        currentNode.textContent = content;\n      }\n    }\n    /* Execute a hook if present */\n    _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n    return false;\n  };\n  /**\n   * _isValidAttribute\n   *\n   * @param lcTag Lowercase tag name of containing element.\n   * @param lcName Lowercase attribute name.\n   * @param value Attribute value.\n   * @return Returns true if `value` is valid, otherwise false.\n   */\n  // eslint-disable-next-line complexity\n  const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n    /* Make sure attribute cannot clobber */\n    if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n      return false;\n    }\n    /* Allow valid data-* attributes: At least one character after \"-\"\n        (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n        XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n        We don't need to check the value; it's always URI safe. */\n    if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n      if (\n      // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n      // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n      // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n      _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n      // Alternative, second condition checks if it's an `is`-attribute, AND\n      // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n      lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n        return false;\n      }\n      /* Check value is safe. First, is attr inert? If so, is safe */\n    } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n      return false;\n    } else ;\n    return true;\n  };\n  /**\n   * _isBasicCustomElement\n   * checks if at least one dash is included in tagName, and it's not the first char\n   * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n   *\n   * @param tagName name of the tag of the node to sanitize\n   * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n   */\n  const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n    return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n  };\n  /**\n   * _sanitizeAttributes\n   *\n   * @protect attributes\n   * @protect nodeName\n   * @protect removeAttribute\n   * @protect setAttribute\n   *\n   * @param currentNode to sanitize\n   */\n  const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n    /* Execute a hook if present */\n    _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n    const {\n      attributes\n    } = currentNode;\n    /* Check if we have attributes; if not we might have a text node */\n    if (!attributes || _isClobbered(currentNode)) {\n      return;\n    }\n    const hookEvent = {\n      attrName: '',\n      attrValue: '',\n      keepAttr: true,\n      allowedAttributes: ALLOWED_ATTR,\n      forceKeepAttr: undefined\n    };\n    let l = attributes.length;\n    /* Go backwards over all attributes; safely remove bad ones */\n    while (l--) {\n      const attr = attributes[l];\n      const {\n        name,\n        namespaceURI,\n        value: attrValue\n      } = attr;\n      const lcName = transformCaseFunc(name);\n      let value = name === 'value' ? attrValue : stringTrim(attrValue);\n      /* Execute a hook if present */\n      hookEvent.attrName = lcName;\n      hookEvent.attrValue = value;\n      hookEvent.keepAttr = true;\n      hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n      _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n      value = hookEvent.attrValue;\n      /* Full DOM Clobbering protection via namespace isolation,\n       * Prefix id and name attributes with `user-content-`\n       */\n      if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n        // Remove the attribute with this value\n        _removeAttribute(name, currentNode);\n        // Prefix the value and later re-create the attribute with the sanitized value\n        value = SANITIZE_NAMED_PROPS_PREFIX + value;\n      }\n      /* Work around a security issue with comments inside attributes */\n      if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n        _removeAttribute(name, currentNode);\n        continue;\n      }\n      /* Did the hooks approve of the attribute? */\n      if (hookEvent.forceKeepAttr) {\n        continue;\n      }\n      /* Remove attribute */\n      _removeAttribute(name, currentNode);\n      /* Did the hooks approve of the attribute? */\n      if (!hookEvent.keepAttr) {\n        continue;\n      }\n      /* Work around a security issue in jQuery 3.0 */\n      if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n        _removeAttribute(name, currentNode);\n        continue;\n      }\n      /* Sanitize attribute content to be template-safe */\n      if (SAFE_FOR_TEMPLATES) {\n        arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n          value = stringReplace(value, expr, ' ');\n        });\n      }\n      /* Is `value` valid for this attribute? */\n      const lcTag = transformCaseFunc(currentNode.nodeName);\n      if (!_isValidAttribute(lcTag, lcName, value)) {\n        continue;\n      }\n      /* Handle attributes that require Trusted Types */\n      if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n        if (namespaceURI) ; else {\n          switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n            case 'TrustedHTML':\n              {\n                value = trustedTypesPolicy.createHTML(value);\n                break;\n              }\n            case 'TrustedScriptURL':\n              {\n                value = trustedTypesPolicy.createScriptURL(value);\n                break;\n              }\n          }\n        }\n      }\n      /* Handle invalid data-* attribute set by try-catching it */\n      try {\n        if (namespaceURI) {\n          currentNode.setAttributeNS(namespaceURI, name, value);\n        } else {\n          /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n          currentNode.setAttribute(name, value);\n        }\n        if (_isClobbered(currentNode)) {\n          _forceRemove(currentNode);\n        } else {\n          arrayPop(DOMPurify.removed);\n        }\n      } catch (_) {}\n    }\n    /* Execute a hook if present */\n    _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n  };\n  /**\n   * _sanitizeShadowDOM\n   *\n   * @param fragment to iterate over recursively\n   */\n  const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n    let shadowNode = null;\n    const shadowIterator = _createNodeIterator(fragment);\n    /* Execute a hook if present */\n    _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n    while (shadowNode = shadowIterator.nextNode()) {\n      /* Execute a hook if present */\n      _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n      /* Sanitize tags and elements */\n      _sanitizeElements(shadowNode);\n      /* Check attributes next */\n      _sanitizeAttributes(shadowNode);\n      /* Deep shadow DOM detected */\n      if (shadowNode.content instanceof DocumentFragment) {\n        _sanitizeShadowDOM(shadowNode.content);\n      }\n    }\n    /* Execute a hook if present */\n    _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n  };\n  // eslint-disable-next-line complexity\n  DOMPurify.sanitize = function (dirty) {\n    let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    let body = null;\n    let importedNode = null;\n    let currentNode = null;\n    let returnNode = null;\n    /* Make sure we have a string to sanitize.\n      DO NOT return early, as this will return the wrong type if\n      the user has requested a DOM object rather than a string */\n    IS_EMPTY_INPUT = !dirty;\n    if (IS_EMPTY_INPUT) {\n      dirty = '<!-->';\n    }\n    /* Stringify, in case dirty is an object */\n    if (typeof dirty !== 'string' && !_isNode(dirty)) {\n      if (typeof dirty.toString === 'function') {\n        dirty = dirty.toString();\n        if (typeof dirty !== 'string') {\n          throw typeErrorCreate('dirty is not a string, aborting');\n        }\n      } else {\n        throw typeErrorCreate('toString is not a function');\n      }\n    }\n    /* Return dirty HTML if DOMPurify cannot run */\n    if (!DOMPurify.isSupported) {\n      return dirty;\n    }\n    /* Assign config vars */\n    if (!SET_CONFIG) {\n      _parseConfig(cfg);\n    }\n    /* Clean up removed elements */\n    DOMPurify.removed = [];\n    /* Check if dirty is correctly typed for IN_PLACE */\n    if (typeof dirty === 'string') {\n      IN_PLACE = false;\n    }\n    if (IN_PLACE) {\n      /* Do some early pre-sanitization to avoid unsafe root nodes */\n      if (dirty.nodeName) {\n        const tagName = transformCaseFunc(dirty.nodeName);\n        if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n          throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n        }\n      }\n    } else if (dirty instanceof Node) {\n      /* If dirty is a DOM element, append to an empty document to avoid\n         elements being stripped by the parser */\n      body = _initDocument('<!---->');\n      importedNode = body.ownerDocument.importNode(dirty, true);\n      if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n        /* Node is already a body, use as is */\n        body = importedNode;\n      } else if (importedNode.nodeName === 'HTML') {\n        body = importedNode;\n      } else {\n        // eslint-disable-next-line unicorn/prefer-dom-node-append\n        body.appendChild(importedNode);\n      }\n    } else {\n      /* Exit directly if we have nothing to do */\n      if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n      // eslint-disable-next-line unicorn/prefer-includes\n      dirty.indexOf('<') === -1) {\n        return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n      }\n      /* Initialize the document to work on */\n      body = _initDocument(dirty);\n      /* Check we have a DOM node from the data */\n      if (!body) {\n        return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n      }\n    }\n    /* Remove first element node (ours) if FORCE_BODY is set */\n    if (body && FORCE_BODY) {\n      _forceRemove(body.firstChild);\n    }\n    /* Get node iterator */\n    const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n    /* Now start iterating over the created document */\n    while (currentNode = nodeIterator.nextNode()) {\n      /* Sanitize tags and elements */\n      _sanitizeElements(currentNode);\n      /* Check attributes next */\n      _sanitizeAttributes(currentNode);\n      /* Shadow DOM detected, sanitize it */\n      if (currentNode.content instanceof DocumentFragment) {\n        _sanitizeShadowDOM(currentNode.content);\n      }\n    }\n    /* If we sanitized `dirty` in-place, return it. */\n    if (IN_PLACE) {\n      return dirty;\n    }\n    /* Return sanitized string or DOM */\n    if (RETURN_DOM) {\n      if (RETURN_DOM_FRAGMENT) {\n        returnNode = createDocumentFragment.call(body.ownerDocument);\n        while (body.firstChild) {\n          // eslint-disable-next-line unicorn/prefer-dom-node-append\n          returnNode.appendChild(body.firstChild);\n        }\n      } else {\n        returnNode = body;\n      }\n      if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n        /*\n          AdoptNode() is not used because internal state is not reset\n          (e.g. the past names map of a HTMLFormElement), this is safe\n          in theory but we would rather not risk another attack vector.\n          The state that is cloned by importNode() is explicitly defined\n          by the specs.\n        */\n        returnNode = importNode.call(originalDocument, returnNode, true);\n      }\n      return returnNode;\n    }\n    let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n    /* Serialize doctype if allowed */\n    if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n      serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n    }\n    /* Sanitize final string template-safe */\n    if (SAFE_FOR_TEMPLATES) {\n      arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n        serializedHTML = stringReplace(serializedHTML, expr, ' ');\n      });\n    }\n    return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n  };\n  DOMPurify.setConfig = function () {\n    let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    _parseConfig(cfg);\n    SET_CONFIG = true;\n  };\n  DOMPurify.clearConfig = function () {\n    CONFIG = null;\n    SET_CONFIG = false;\n  };\n  DOMPurify.isValidAttribute = function (tag, attr, value) {\n    /* Initialize shared config vars if necessary. */\n    if (!CONFIG) {\n      _parseConfig({});\n    }\n    const lcTag = transformCaseFunc(tag);\n    const lcName = transformCaseFunc(attr);\n    return _isValidAttribute(lcTag, lcName, value);\n  };\n  DOMPurify.addHook = function (entryPoint, hookFunction) {\n    if (typeof hookFunction !== 'function') {\n      return;\n    }\n    arrayPush(hooks[entryPoint], hookFunction);\n  };\n  DOMPurify.removeHook = function (entryPoint, hookFunction) {\n    if (hookFunction !== undefined) {\n      const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n      return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n    }\n    return arrayPop(hooks[entryPoint]);\n  };\n  DOMPurify.removeHooks = function (entryPoint) {\n    hooks[entryPoint] = [];\n  };\n  DOMPurify.removeAllHooks = function () {\n    hooks = _createHooksMap();\n  };\n  return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = (function () { /* empty */ }).bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n  return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.41.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',\n  license: 'https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n  return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n  if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n    name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n  }\n  if (options && options.getter) name = 'get ' + name;\n  if (options && options.setter) name = 'set ' + name;\n  if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n    if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n    else value.name = name;\n  }\n  if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n    defineProperty(value, 'length', { value: options.arity });\n  }\n  try {\n    if (options && hasOwn(options, 'constructor') && options.constructor) {\n      if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n    // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n    } else if (value.prototype) value.prototype = undefined;\n  } catch (error) { /* empty */ }\n  var state = enforceInternalState(value);\n  if (!hasOwn(state, 'source')) {\n    state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n  } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n  return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n  if (!options) options = {};\n  var simple = options.enumerable;\n  var name = options.name !== undefined ? options.name : key;\n  if (isCallable(value)) makeBuiltIn(value, name, options);\n  if (options.global) {\n    if (simple) O[key] = value;\n    else defineGlobalProperty(key, value);\n  } else {\n    try {\n      if (!options.unsafe) delete O[key];\n      else if (O[key]) simple = true;\n    } catch (error) { /* empty */ }\n    if (simple) O[key] = value;\n    else definePropertyModule.f(O, key, {\n      value: value,\n      enumerable: false,\n      configurable: !options.nonConfigurable,\n      writable: !options.nonWritable\n    });\n  } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    if (length === 0) return !IS_INCLUDES && -1;\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el !== el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value !== value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n      defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n    }\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = globalThis;\n  } else if (STATIC) {\n    target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n  } else {\n    target = globalThis[TARGET] && globalThis[TARGET].prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty == typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    defineBuiltIn(target, key, sourceProperty, options);\n  }\n};\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n  return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n  if (userAgentStartsWith('Bun/')) return 'BUN';\n  if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n  if (userAgentStartsWith('Deno/')) return 'DENO';\n  if (userAgentStartsWith('Node.js/')) return 'NODE';\n  if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n  if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n  if (classof(globalThis.process) === 'process') return 'NODE';\n  if (globalThis.window && globalThis.document) return 'BROWSER';\n  return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n  if (target && !STATIC) target = target.prototype;\n  if (target && !hasOwn(target, TO_STRING_TAG)) {\n    defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n  if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineBuiltInAccessor(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n  if (isConstructor(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw new $TypeError('Not enough arguments');\n  return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n  // Deno throws a ReferenceError on `location` access without `--location` flag\n  $location = globalThis.location;\n});\n\nvar run = function (id) {\n  if (hasOwn(queue, id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar eventListener = function (event) {\n  run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n  // old engines have not location.origin\n  globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(handler) {\n    validateArgumentsLength(arguments.length, 1);\n    var fn = isCallable(handler) ? handler : Function(handler);\n    var args = arraySlice(arguments, 1);\n    queue[++counter] = function () {\n      apply(fn, undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = eventListener;\n    defer = bind(port.postMessage, port);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    globalThis.addEventListener &&\n    isCallable(globalThis.postMessage) &&\n    !globalThis.importScripts &&\n    $location && $location.protocol !== 'file:' &&\n    !fails(globalPostMessageDefer)\n  ) {\n    defer = globalPostMessageDefer;\n    globalThis.addEventListener('message', eventListener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n  if (!DESCRIPTORS) return globalThis[name];\n  var descriptor = getOwnPropertyDescriptor(globalThis, name);\n  return descriptor && descriptor.value;\n};\n","'use strict';\nvar Queue = function () {\n  this.head = null;\n  this.tail = null;\n};\n\nQueue.prototype = {\n  add: function (item) {\n    var entry = { item: item, next: null };\n    var tail = this.tail;\n    if (tail) tail.next = entry;\n    else this.head = entry;\n    this.tail = entry;\n  },\n  get: function () {\n    var entry = this.head;\n    if (entry) {\n      var next = this.head = entry.next;\n      if (next === null) this.tail = null;\n      return entry.item;\n    }\n  }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n  var queue = new Queue();\n\n  var flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (fn = queue.get()) try {\n      fn();\n    } catch (error) {\n      if (queue.head) notify();\n      throw error;\n    }\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    // workaround of WebKit ~ iOS Safari 10.1 bug\n    promise.constructor = Promise;\n    then = bind(promise.then, promise);\n    notify = function () {\n      then(flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessage\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    // `webpack` dev server bug on IE global methods - use bind(fn, global)\n    macrotask = bind(macrotask, globalThis);\n    notify = function () {\n      macrotask(flush);\n    };\n  }\n\n  microtask = function (fn) {\n    if (!queue.head) notify();\n    queue.add(fn);\n  };\n}\n\nmodule.exports = microtask;\n","'use strict';\nmodule.exports = function (a, b) {\n  try {\n    // eslint-disable-next-line no-console -- safe\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n  // We can't detect it synchronously, so just check versions\n  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n  // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n  if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n    // Detect correctness of subclassing with @@species support\n    var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n    var FakePromise = function (exec) {\n      exec(function () { /* empty */ }, function () { /* empty */ });\n    };\n    var constructor = promise.constructor = {};\n    constructor[SPECIES] = FakePromise;\n    SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n    if (!SUBCLASSING) return true;\n  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n  } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n  CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n  REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n  SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aCallable(resolve);\n  this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n  var value = state.value;\n  var ok = state.state === FULFILLED;\n  var handler = ok ? reaction.ok : reaction.fail;\n  var resolve = reaction.resolve;\n  var reject = reaction.reject;\n  var domain = reaction.domain;\n  var result, then, exited;\n  try {\n    if (handler) {\n      if (!ok) {\n        if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n        state.rejection = HANDLED;\n      }\n      if (handler === true) result = value;\n      else {\n        if (domain) domain.enter();\n        result = handler(value); // can throw\n        if (domain) {\n          domain.exit();\n          exited = true;\n        }\n      }\n      if (result === reaction.promise) {\n        reject(new TypeError('Promise-chain cycle'));\n      } else if (then = isThenable(result)) {\n        call(then, result, resolve, reject);\n      } else resolve(result);\n    } else reject(value);\n  } catch (error) {\n    if (domain && !exited) domain.exit();\n    reject(error);\n  }\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  microtask(function () {\n    var reactions = state.reactions;\n    var reaction;\n    while (reaction = reactions.get()) {\n      callReaction(reaction, state);\n    }\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    globalThis.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          call(then, value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromisePrototype);\n    aCallable(executor);\n    call(Internal, this);\n    var state = getInternalPromiseState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n\n  PromisePrototype = PromiseConstructor.prototype;\n\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: new Queue(),\n      rejection: false,\n      state: PENDING,\n      value: null\n    });\n  };\n\n  // `Promise.prototype.then` method\n  // https://tc39.es/ecma262/#sec-promise.prototype.then\n  Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n    var state = getInternalPromiseState(this);\n    var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n    state.parent = true;\n    reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n    reaction.fail = isCallable(onRejected) && onRejected;\n    reaction.domain = IS_NODE ? process.domain : undefined;\n    if (state.state === PENDING) state.reactions.add(reaction);\n    else microtask(function () {\n      callReaction(reaction, state);\n    });\n    return reaction.promise;\n  });\n\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalPromiseState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n    nativeThen = NativePromisePrototype.then;\n\n    if (!NATIVE_PROMISE_SUBCLASSING) {\n      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n      defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n        var that = this;\n        return new PromiseConstructor(function (resolve, reject) {\n          call(nativeThen, that, resolve, reject);\n        }).then(onFulfilled, onRejected);\n      // https://github.com/zloirock/core-js/issues/640\n      }, { unsafe: true });\n    }\n\n    // make `.constructor === Promise` work for native promise-based APIs\n    try {\n      delete NativePromisePrototype.constructor;\n    } catch (error) { /* empty */ }\n\n    // make `instanceof Promise` work for native promise-based APIs\n    if (setPrototypeOf) {\n      setPrototypeOf(NativePromisePrototype, PromisePrototype);\n    }\n  }\n}\n\n// `Promise` constructor\n// https://tc39.es/ecma262/#sec-promise-executor\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_RECORD = !!(options && options.IS_RECORD);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    if (iterator) iteratorClose(iterator, 'normal', condition);\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_RECORD) {\n    iterator = iterable.iterator;\n  } else if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = IS_RECORD ? iterable.next : iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    try {\n      result = callFn(step.value);\n    } catch (error) {\n      iteratorClose(iterator, 'throw', error);\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  try {\n    if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n  NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call($promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n  'catch': function (onRejected) {\n    return this.then(undefined, onRejected);\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n  var method = getBuiltIn('Promise').prototype['catch'];\n  if (NativePromisePrototype['catch'] !== method) {\n    defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      iterate(iterable, function (promise) {\n        call($promiseResolve, C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  reject: function reject(r) {\n    var capability = newPromiseCapabilityModule.f(this);\n    var capabilityReject = capability.reject;\n    capabilityReject(r);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n  resolve: function resolve(x) {\n    return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n  }\n});\n","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n  try {\n    var i = n[a](c),\n      u = i.value;\n  } catch (n) {\n    return void e(n);\n  }\n  i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n  return function () {\n    var t = this,\n      e = arguments;\n    return new Promise(function (r, o) {\n      var a = n.apply(t, e);\n      function _next(n) {\n        asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n      }\n      function _throw(n) {\n        asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n      }\n      _next(void 0);\n    });\n  };\n}\nexport { _asyncToGenerator as default };","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n  return $String(argument);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.hasIndices) result += 'd';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.unicodeSets) result += 'v';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n  var re = $RegExp('a', 'y');\n  re.lastIndex = 2;\n  return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n  return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n  var re = $RegExp('^r', 'gy');\n  re.lastIndex = 2;\n  return re.exec('str') !== null;\n});\n\nmodule.exports = {\n  BROKEN_CARET: BROKEN_CARET,\n  MISSED_STICKY: MISSED_STICKY,\n  UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n  activeXDocument = null;\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('.', 's');\n  return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('(?<a>b)', 'g');\n  return re.exec('b').groups.a !== 'b' ||\n    'b'.replace(re, '$<a>c') !== 'bc';\n});\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/;\n  var re2 = /b*/g;\n  call(nativeExec, re1, 'a');\n  call(nativeExec, re2, 'a');\n  return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n  patchedExec = function exec(string) {\n    var re = this;\n    var state = getInternalState(re);\n    var str = toString(string);\n    var raw = state.raw;\n    var result, reCopy, lastIndex, match, i, object, group;\n\n    if (raw) {\n      raw.lastIndex = re.lastIndex;\n      result = call(patchedExec, raw, str);\n      re.lastIndex = raw.lastIndex;\n      return result;\n    }\n\n    var groups = state.groups;\n    var sticky = UNSUPPORTED_Y && re.sticky;\n    var flags = call(regexpFlags, re);\n    var source = re.source;\n    var charsAdded = 0;\n    var strCopy = str;\n\n    if (sticky) {\n      flags = replace(flags, 'y', '');\n      if (indexOf(flags, 'g') === -1) {\n        flags += 'g';\n      }\n\n      strCopy = stringSlice(str, re.lastIndex);\n      // Support anchored sticky behavior.\n      if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n        source = '(?: ' + source + ')';\n        strCopy = ' ' + strCopy;\n        charsAdded++;\n      }\n      // ^(? + rx + ) is needed, in combination with some str slicing, to\n      // simulate the 'y' flag.\n      reCopy = new RegExp('^(?:' + source + ')', flags);\n    }\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n    match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n    if (sticky) {\n      if (match) {\n        match.input = stringSlice(match.input, charsAdded);\n        match[0] = stringSlice(match[0], charsAdded);\n        match.index = re.lastIndex;\n        re.lastIndex += match[0].length;\n      } else re.lastIndex = 0;\n    } else if (UPDATES_LAST_INDEX_WRONG && match) {\n      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n      call(nativeReplace, match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    if (match && groups) {\n      match.groups = object = create(null);\n      for (i = 0; i < groups.length; i++) {\n        group = groups[i];\n        object[group[0]] = match[group[1]];\n      }\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n  exec: exec\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n  var SYMBOL = wellKnownSymbol(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegExp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) !== 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n\n    if (KEY === 'split') {\n      // We can't use real regex here since it causes deoptimization\n      // and serious performance degradation in V8\n      // https://github.com/zloirock/core-js/issues/306\n      re = {};\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n      re.flags = '';\n      re[SYMBOL] = /./[SYMBOL];\n    }\n\n    re.exec = function () {\n      execCalled = true;\n      return null;\n    };\n\n    re[SYMBOL]('');\n    return !execCalled;\n  });\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    FORCED\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n      var $exec = regexp.exec;\n      if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n          // The native String method already delegates to @@method (this\n          // polyfilled function), leasing to infinite recursion.\n          // We avoid it by directly calling the native @@method method.\n          return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n        }\n        return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n      }\n      return { done: false };\n    });\n\n    defineBuiltIn(String.prototype, KEY, methods[0]);\n    defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n  }\n\n  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = toString(requireObjectCoercible($this));\n    var position = toIntegerOrInfinity(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = charCodeAt(S, position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING\n          ? charAt(S, position)\n          : first\n        : CONVERT_TO_STRING\n          ? stringSlice(S, position, position + 2)\n          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (isCallable(exec)) {\n    var result = call(exec, R, S);\n    if (result !== null) anObject(result);\n    return result;\n  }\n  if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n  throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.es/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = requireObjectCoercible(this);\n      var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n      return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n    function (string) {\n      var rx = anObject(this);\n      var S = toString(string);\n      var res = maybeCallNative(nativeMatch, rx, S);\n\n      if (res.done) return res.value;\n\n      if (!rx.global) return regExpExec(rx, S);\n\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regExpExec(rx, S)) !== null) {\n        var matchStr = toString(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n  var tailPos = position + matched.length;\n  var m = captures.length;\n  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n  if (namedCaptures !== undefined) {\n    namedCaptures = toObject(namedCaptures);\n    symbols = SUBSTITUTION_SYMBOLS;\n  }\n  return replace(replacement, symbols, function (match, ch) {\n    var capture;\n    switch (charAt(ch, 0)) {\n      case '$': return '$';\n      case '&': return matched;\n      case '`': return stringSlice(str, 0, position);\n      case \"'\": return stringSlice(str, tailPos);\n      case '<':\n        capture = namedCaptures[stringSlice(ch, 1, -1)];\n        break;\n      default: // \\d\\d?\n        var n = +ch;\n        if (n === 0) return match;\n        if (n > m) {\n          var f = floor(n / 10);\n          if (f === 0) return match;\n          if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n          return match;\n        }\n        capture = captures[n - 1];\n    }\n    return capture === undefined ? '' : capture;\n  });\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n  // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n  return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n  if (/./[REPLACE]) {\n    return /./[REPLACE]('a', '$0') === '';\n  }\n  return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n  return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.es/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = requireObjectCoercible(this);\n      var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n      return replacer\n        ? call(replacer, searchValue, O, replaceValue)\n        : call(nativeReplace, toString(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n    function (string, replaceValue) {\n      var rx = anObject(this);\n      var S = toString(string);\n\n      if (\n        typeof replaceValue == 'string' &&\n        stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n        stringIndexOf(replaceValue, '$<') === -1\n      ) {\n        var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n        if (res.done) return res.value;\n      }\n\n      var functionalReplace = isCallable(replaceValue);\n      if (!functionalReplace) replaceValue = toString(replaceValue);\n\n      var global = rx.global;\n      var fullUnicode;\n      if (global) {\n        fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n\n      var results = [];\n      var result;\n      while (true) {\n        result = regExpExec(rx, S);\n        if (result === null) break;\n\n        push(results, result);\n        if (!global) break;\n\n        var matchStr = toString(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n\n        var matched = toString(result[0]);\n        var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n        var captures = [];\n        var replacement;\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = concat([matched], captures, position, S);\n          if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n          replacement = toString(apply(replaceValue, undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n\n      return accumulatedResult + stringSlice(S, nextSourcePosition);\n    }\n  ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n  if (isRegExp(it)) {\n    throw new $TypeError(\"The method doesn't accept regular expressions\");\n  } return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n  var regexp = /./;\n  try {\n    '/./'[METHOD_NAME](regexp);\n  } catch (error1) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (error2) { /* empty */ }\n  } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = toString(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = toString(searchString);\n    return stringSlice(that, index, index + search.length) === search;\n  }\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n  defineProperty(ArrayPrototype, UNSCOPABLES, {\n    configurable: true,\n    value: create(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n  ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n  var object = toObject(O);\n  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n  var constructor = object.constructor;\n  if (isCallable(constructor) && object instanceof constructor) {\n    return constructor.prototype;\n  } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n  var test = {};\n  // FF44- legacy iterators case\n  return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n  defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n    return this;\n  });\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    }\n\n    return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n          defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n  if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n    } else {\n      INCORRECT_VALUES_NAME = true;\n      defaultIterator = function values() { return call(nativeIterator, this); };\n    }\n  }\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n  }\n  Iterators[NAME] = defaultIterator;\n\n  return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n  return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = null;\n    return createIterResultObject(undefined, true);\n  }\n  switch (state.kind) {\n    case 'keys': return createIterResultObject(index, false);\n    case 'values': return createIterResultObject(target[index], false);\n  } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n  defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n  if (CollectionPrototype) {\n    // some Chrome versions have non-configurable methods on DOMTokenList\n    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n    } catch (error) {\n      CollectionPrototype[ITERATOR] = ArrayValues;\n    }\n    setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n      // some Chrome versions have non-configurable methods on DOMTokenList\n      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n      } catch (error) {\n        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n      }\n    }\n  }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\nvar REDUCE_EMPTY = 'Reduce of empty array with no initial value';\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n  return function (that, callbackfn, argumentsLength, memo) {\n    var O = toObject(that);\n    var self = IndexedObject(O);\n    var length = lengthOfArrayLike(O);\n    aCallable(callbackfn);\n    if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);\n    var index = IS_RIGHT ? length - 1 : 0;\n    var i = IS_RIGHT ? -1 : 1;\n    if (argumentsLength < 2) while (true) {\n      if (index in self) {\n        memo = self[index];\n        index += i;\n        break;\n      }\n      index += i;\n      if (IS_RIGHT ? index < 0 : length <= index) {\n        throw new $TypeError(REDUCE_EMPTY);\n      }\n    }\n    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n      memo = callbackfn(memo, self[index], index, O);\n    }\n    return memo;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.reduce` method\n  // https://tc39.es/ecma262/#sec-array.prototype.reduce\n  left: createMethod(false),\n  // `Array.prototype.reduceRight` method\n  // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n  right: createMethod(true)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n  var method = [][METHOD_NAME];\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call -- required for testing\n    method.call(null, argument || function () { return 1; }, 1);\n  });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/environment-v8-version');\nvar IS_NODE = require('../internals/environment-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  reduce: function reduce(callbackfn /* , initialValue */) {\n    var length = arguments.length;\n    return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = toString(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = that.length;\n    var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n    var search = toString(searchString);\n    return slice(that, end - search.length, end) === search;\n  }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar push = uncurryThis([].push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n  // eslint-disable-next-line regexp/no-empty-group -- required for testing\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' ||\n  // eslint-disable-next-line regexp/no-empty-group -- required for testing\n  'test'.split(/(?:)/, -1).length !== 4 ||\n  'ab'.split(/(?:ab)*/).length !== 2 ||\n  '.'.split(/(.?)(.?)/).length !== 4 ||\n  // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n  '.'.split(/()()/).length > 1 ||\n  ''.split(/.?/).length;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n  var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) {\n    return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n  } : nativeSplit;\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.es/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = requireObjectCoercible(this);\n      var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n      return splitter\n        ? call(splitter, separator, O, limit)\n        : call(internalSplit, toString(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (string, limit) {\n      var rx = anObject(this);\n      var S = toString(string);\n\n      if (!BUGGY) {\n        var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n        if (res.done) return res.value;\n      }\n\n      var C = speciesConstructor(rx, RegExp);\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (UNSUPPORTED_Y ? 'g' : 'y');\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n        var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n        var e;\n        if (\n          z === null ||\n          (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          push(A, stringSlice(S, p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            push(A, z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      push(A, stringSlice(S, p));\n      return A;\n    }\n  ];\n}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","// Generated by CoffeeScript 1.12.2\n(function() {\n  var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n  if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n    module.exports = function() {\n      return performance.now();\n    };\n  } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n    module.exports = function() {\n      return (getNanoSeconds() - nodeLoadTime) / 1e6;\n    };\n    hrtime = process.hrtime;\n    getNanoSeconds = function() {\n      var hr;\n      hr = hrtime();\n      return hr[0] * 1e9 + hr[1];\n    };\n    moduleLoadTime = getNanoSeconds();\n    upTime = process.uptime() * 1e9;\n    nodeLoadTime = moduleLoadTime - upTime;\n  } else if (Date.now) {\n    module.exports = function() {\n      return Date.now() - loadTime;\n    };\n    loadTime = Date.now();\n  } else {\n    module.exports = function() {\n      return new Date().getTime() - loadTime;\n    };\n    loadTime = new Date().getTime();\n  }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","var now = require('performance-now')\n  , root = typeof window === 'undefined' ? global : window\n  , vendors = ['moz', 'webkit']\n  , suffix = 'AnimationFrame'\n  , raf = root['request' + suffix]\n  , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n  raf = root[vendors[i] + 'Request' + suffix]\n  caf = root[vendors[i] + 'Cancel' + suffix]\n      || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n  var last = 0\n    , id = 0\n    , queue = []\n    , frameDuration = 1000 / 60\n\n  raf = function(callback) {\n    if(queue.length === 0) {\n      var _now = now()\n        , next = Math.max(0, frameDuration - (_now - last))\n      last = next + _now\n      setTimeout(function() {\n        var cp = queue.slice(0)\n        // Clear queue here to prevent\n        // callbacks from appending listeners\n        // to the current frame's queue\n        queue.length = 0\n        for(var i = 0; i < cp.length; i++) {\n          if(!cp[i].cancelled) {\n            try{\n              cp[i].callback(last)\n            } catch(e) {\n              setTimeout(function() { throw e }, 0)\n            }\n          }\n        }\n      }, Math.round(next))\n    }\n    queue.push({\n      handle: ++id,\n      callback: callback,\n      cancelled: false\n    })\n    return id\n  }\n\n  caf = function(handle) {\n    for(var i = 0; i < queue.length; i++) {\n      if(queue[i].handle === handle) {\n        queue[i].cancelled = true\n      }\n    }\n  }\n}\n\nmodule.exports = function(fn) {\n  // Wrap in a new function to prevent\n  // `cancel` potentially being assigned\n  // to the native rAF function\n  return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n  caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n  if (!object) {\n    object = root;\n  }\n  object.requestAnimationFrame = raf\n  object.cancelAnimationFrame = caf\n}\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n  '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n  return function ($this) {\n    var string = toString(requireObjectCoercible($this));\n    if (TYPE & 1) string = replace(string, ltrim, '');\n    if (TYPE & 2) string = replace(string, rtrim, '$1');\n    return string;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.{ trimLeft, trimStart }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n  start: createMethod(1),\n  // `String.prototype.{ trimRight, trimEnd }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimend\n  end: createMethod(2),\n  // `String.prototype.trim` method\n  // https://tc39.es/ecma262/#sec-string.prototype.trim\n  trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    return !!whitespaces[METHOD_NAME]()\n      || non[METHOD_NAME]() !== non\n      || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n  });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n  trim: function trim() {\n    return $trim(this);\n  }\n});\n","/*\n\tBased on rgbcolor.js by Stoyan Stefanov <sstoo@gmail.com>\n\thttp://www.phpied.com/rgb-color-parser-in-javascript/\n*/\n\nmodule.exports = function(color_string) {\n    this.ok = false;\n    this.alpha = 1.0;\n\n    // strip any leading #\n    if (color_string.charAt(0) == '#') { // remove # if any\n        color_string = color_string.substr(1,6);\n    }\n\n    color_string = color_string.replace(/ /g,'');\n    color_string = color_string.toLowerCase();\n\n    // before getting into regexps, try simple matches\n    // and overwrite the input\n    var simple_colors = {\n        aliceblue: 'f0f8ff',\n        antiquewhite: 'faebd7',\n        aqua: '00ffff',\n        aquamarine: '7fffd4',\n        azure: 'f0ffff',\n        beige: 'f5f5dc',\n        bisque: 'ffe4c4',\n        black: '000000',\n        blanchedalmond: 'ffebcd',\n        blue: '0000ff',\n        blueviolet: '8a2be2',\n        brown: 'a52a2a',\n        burlywood: 'deb887',\n        cadetblue: '5f9ea0',\n        chartreuse: '7fff00',\n        chocolate: 'd2691e',\n        coral: 'ff7f50',\n        cornflowerblue: '6495ed',\n        cornsilk: 'fff8dc',\n        crimson: 'dc143c',\n        cyan: '00ffff',\n        darkblue: '00008b',\n        darkcyan: '008b8b',\n        darkgoldenrod: 'b8860b',\n        darkgray: 'a9a9a9',\n        darkgreen: '006400',\n        darkkhaki: 'bdb76b',\n        darkmagenta: '8b008b',\n        darkolivegreen: '556b2f',\n        darkorange: 'ff8c00',\n        darkorchid: '9932cc',\n        darkred: '8b0000',\n        darksalmon: 'e9967a',\n        darkseagreen: '8fbc8f',\n        darkslateblue: '483d8b',\n        darkslategray: '2f4f4f',\n        darkturquoise: '00ced1',\n        darkviolet: '9400d3',\n        deeppink: 'ff1493',\n        deepskyblue: '00bfff',\n        dimgray: '696969',\n        dodgerblue: '1e90ff',\n        feldspar: 'd19275',\n        firebrick: 'b22222',\n        floralwhite: 'fffaf0',\n        forestgreen: '228b22',\n        fuchsia: 'ff00ff',\n        gainsboro: 'dcdcdc',\n        ghostwhite: 'f8f8ff',\n        gold: 'ffd700',\n        goldenrod: 'daa520',\n        gray: '808080',\n        green: '008000',\n        greenyellow: 'adff2f',\n        honeydew: 'f0fff0',\n        hotpink: 'ff69b4',\n        indianred : 'cd5c5c',\n        indigo : '4b0082',\n        ivory: 'fffff0',\n        khaki: 'f0e68c',\n        lavender: 'e6e6fa',\n        lavenderblush: 'fff0f5',\n        lawngreen: '7cfc00',\n        lemonchiffon: 'fffacd',\n        lightblue: 'add8e6',\n        lightcoral: 'f08080',\n        lightcyan: 'e0ffff',\n        lightgoldenrodyellow: 'fafad2',\n        lightgrey: 'd3d3d3',\n        lightgreen: '90ee90',\n        lightpink: 'ffb6c1',\n        lightsalmon: 'ffa07a',\n        lightseagreen: '20b2aa',\n        lightskyblue: '87cefa',\n        lightslateblue: '8470ff',\n        lightslategray: '778899',\n        lightsteelblue: 'b0c4de',\n        lightyellow: 'ffffe0',\n        lime: '00ff00',\n        limegreen: '32cd32',\n        linen: 'faf0e6',\n        magenta: 'ff00ff',\n        maroon: '800000',\n        mediumaquamarine: '66cdaa',\n        mediumblue: '0000cd',\n        mediumorchid: 'ba55d3',\n        mediumpurple: '9370d8',\n        mediumseagreen: '3cb371',\n        mediumslateblue: '7b68ee',\n        mediumspringgreen: '00fa9a',\n        mediumturquoise: '48d1cc',\n        mediumvioletred: 'c71585',\n        midnightblue: '191970',\n        mintcream: 'f5fffa',\n        mistyrose: 'ffe4e1',\n        moccasin: 'ffe4b5',\n        navajowhite: 'ffdead',\n        navy: '000080',\n        oldlace: 'fdf5e6',\n        olive: '808000',\n        olivedrab: '6b8e23',\n        orange: 'ffa500',\n        orangered: 'ff4500',\n        orchid: 'da70d6',\n        palegoldenrod: 'eee8aa',\n        palegreen: '98fb98',\n        paleturquoise: 'afeeee',\n        palevioletred: 'd87093',\n        papayawhip: 'ffefd5',\n        peachpuff: 'ffdab9',\n        peru: 'cd853f',\n        pink: 'ffc0cb',\n        plum: 'dda0dd',\n        powderblue: 'b0e0e6',\n        purple: '800080',\n        rebeccapurple: '663399',\n        red: 'ff0000',\n        rosybrown: 'bc8f8f',\n        royalblue: '4169e1',\n        saddlebrown: '8b4513',\n        salmon: 'fa8072',\n        sandybrown: 'f4a460',\n        seagreen: '2e8b57',\n        seashell: 'fff5ee',\n        sienna: 'a0522d',\n        silver: 'c0c0c0',\n        skyblue: '87ceeb',\n        slateblue: '6a5acd',\n        slategray: '708090',\n        snow: 'fffafa',\n        springgreen: '00ff7f',\n        steelblue: '4682b4',\n        tan: 'd2b48c',\n        teal: '008080',\n        thistle: 'd8bfd8',\n        tomato: 'ff6347',\n        turquoise: '40e0d0',\n        violet: 'ee82ee',\n        violetred: 'd02090',\n        wheat: 'f5deb3',\n        white: 'ffffff',\n        whitesmoke: 'f5f5f5',\n        yellow: 'ffff00',\n        yellowgreen: '9acd32'\n    };\n    color_string = simple_colors[color_string] || color_string;\n    // emd of simple type-in colors\n\n    // array of color definition objects\n    var color_defs = [\n        {\n            re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*((?:\\d?\\.)?\\d)\\)$/,\n            example: ['rgba(123, 234, 45, 0.8)', 'rgba(255,234,245,1.0)'],\n            process: function (bits){\n                return [\n                    parseInt(bits[1]),\n                    parseInt(bits[2]),\n                    parseInt(bits[3]),\n                    parseFloat(bits[4])\n                ];\n            }\n        },\n        {\n            re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n            example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],\n            process: function (bits){\n                return [\n                    parseInt(bits[1]),\n                    parseInt(bits[2]),\n                    parseInt(bits[3])\n                ];\n            }\n        },\n        {\n            re: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n            example: ['#00ff00', '336699'],\n            process: function (bits){\n                return [\n                    parseInt(bits[1], 16),\n                    parseInt(bits[2], 16),\n                    parseInt(bits[3], 16)\n                ];\n            }\n        },\n        {\n            re: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n            example: ['#fb0', 'f0f'],\n            process: function (bits){\n                return [\n                    parseInt(bits[1] + bits[1], 16),\n                    parseInt(bits[2] + bits[2], 16),\n                    parseInt(bits[3] + bits[3], 16)\n                ];\n            }\n        }\n    ];\n\n    // search through the definitions to find a match\n    for (var i = 0; i < color_defs.length; i++) {\n        var re = color_defs[i].re;\n        var processor = color_defs[i].process;\n        var bits = re.exec(color_string);\n        if (bits) {\n            var channels = processor(bits);\n            this.r = channels[0];\n            this.g = channels[1];\n            this.b = channels[2];\n            if (channels.length > 3) {\n                this.alpha = channels[3];\n            }\n            this.ok = true;\n        }\n\n    }\n\n    // validate/cleanup values\n    this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);\n    this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);\n    this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);\n    this.alpha = (this.alpha < 0) ? 0 : ((this.alpha > 1.0 || isNaN(this.alpha)) ? 1.0 : this.alpha);\n\n    // some getters\n    this.toRGB = function () {\n        return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';\n    }\n    this.toRGBA = function () {\n        return 'rgba(' + this.r + ', ' + this.g + ', ' + this.b + ', ' + this.alpha + ')';\n    }\n    this.toHex = function () {\n        var r = this.r.toString(16);\n        var g = this.g.toString(16);\n        var b = this.b.toString(16);\n        if (r.length == 1) r = '0' + r;\n        if (g.length == 1) g = '0' + g;\n        if (b.length == 1) b = '0' + b;\n        return '#' + r + g + b;\n    }\n\n    // help\n    this.getHelpXML = function () {\n\n        var examples = new Array();\n        // add regexps\n        for (var i = 0; i < color_defs.length; i++) {\n            var example = color_defs[i].example;\n            for (var j = 0; j < example.length; j++) {\n                examples[examples.length] = example[j];\n            }\n        }\n        // add type-in colors\n        for (var sc in simple_colors) {\n            examples[examples.length] = sc;\n        }\n\n        var xml = document.createElement('ul');\n        xml.setAttribute('id', 'rgbcolor-examples');\n        for (var i = 0; i < examples.length; i++) {\n            try {\n                var list_item = document.createElement('li');\n                var list_color = new RGBColor(examples[i]);\n                var example_div = document.createElement('div');\n                example_div.style.cssText =\n                        'margin: 3px; '\n                        + 'border: 1px solid black; '\n                        + 'background:' + list_color.toHex() + '; '\n                        + 'color:' + list_color.toHex()\n                ;\n                example_div.appendChild(document.createTextNode('test'));\n                var list_item_value = document.createTextNode(\n                    ' ' + examples[i] + ' -> ' + list_color.toRGB() + ' -> ' + list_color.toHex()\n                );\n                list_item.appendChild(example_div);\n                list_item.appendChild(list_item_value);\n                xml.appendChild(list_item);\n\n            } catch(e){}\n        }\n        return xml;\n\n    }\n\n}\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = uncurryThis([].indexOf);\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;\nvar FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n    var fromIndex = arguments.length > 1 ? arguments[1] : undefined;\n    return NEGATIVE_ZERO\n      // convert -0 to +0\n      ? nativeIndexOf(this, searchElement, fromIndex) || 0\n      : $indexOf(this, searchElement, fromIndex);\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~stringIndexOf(\n      toString(requireObjectCoercible(this)),\n      toString(notARegExp(searchString)),\n      arguments.length > 1 ? arguments[1] : undefined\n    );\n  }\n});\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n  return classof(argument) === 'Array';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = uncurryThis([].reverse);\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n  reverse: function reverse() {\n    // eslint-disable-next-line no-self-assign -- dirty hack\n    if (isArray(this)) this.length = this.length;\n    return nativeReverse(this);\n  }\n});\n","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t=function(r,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])})(r,e)};function r(r,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function e(t){var r=\"\";Array.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var i=t[e];if(i.type===_.CLOSE_PATH)r+=\"z\";else if(i.type===_.HORIZ_LINE_TO)r+=(i.relative?\"h\":\"H\")+i.x;else if(i.type===_.VERT_LINE_TO)r+=(i.relative?\"v\":\"V\")+i.y;else if(i.type===_.MOVE_TO)r+=(i.relative?\"m\":\"M\")+i.x+\" \"+i.y;else if(i.type===_.LINE_TO)r+=(i.relative?\"l\":\"L\")+i.x+\" \"+i.y;else if(i.type===_.CURVE_TO)r+=(i.relative?\"c\":\"C\")+i.x1+\" \"+i.y1+\" \"+i.x2+\" \"+i.y2+\" \"+i.x+\" \"+i.y;else if(i.type===_.SMOOTH_CURVE_TO)r+=(i.relative?\"s\":\"S\")+i.x2+\" \"+i.y2+\" \"+i.x+\" \"+i.y;else if(i.type===_.QUAD_TO)r+=(i.relative?\"q\":\"Q\")+i.x1+\" \"+i.y1+\" \"+i.x+\" \"+i.y;else if(i.type===_.SMOOTH_QUAD_TO)r+=(i.relative?\"t\":\"T\")+i.x+\" \"+i.y;else{if(i.type!==_.ARC)throw new Error('Unexpected command type \"'+i.type+'\" at index '+e+\".\");r+=(i.relative?\"a\":\"A\")+i.rX+\" \"+i.rY+\" \"+i.xRot+\" \"+ +i.lArcFlag+\" \"+ +i.sweepFlag+\" \"+i.x+\" \"+i.y}}return r}function i(t,r){var e=t[0],i=t[1];return[e*Math.cos(r)-i*Math.sin(r),e*Math.sin(r)+i*Math.cos(r)]}function a(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];for(var e=0;e<t.length;e++)if(\"number\"!=typeof t[e])throw new Error(\"assertNumbers arguments[\"+e+\"] is not a number. \"+typeof t[e]+\" == typeof \"+t[e]);return!0}var n=Math.PI;function o(t,r,e){t.lArcFlag=0===t.lArcFlag?0:1,t.sweepFlag=0===t.sweepFlag?0:1;var a=t.rX,o=t.rY,s=t.x,u=t.y;a=Math.abs(t.rX),o=Math.abs(t.rY);var h=i([(r-s)/2,(e-u)/2],-t.xRot/180*n),c=h[0],y=h[1],p=Math.pow(c,2)/Math.pow(a,2)+Math.pow(y,2)/Math.pow(o,2);1<p&&(a*=Math.sqrt(p),o*=Math.sqrt(p)),t.rX=a,t.rY=o;var m=Math.pow(a,2)*Math.pow(y,2)+Math.pow(o,2)*Math.pow(c,2),O=(t.lArcFlag!==t.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(a,2)*Math.pow(o,2)-m)/m)),l=a*y/o*O,T=-o*c/a*O,v=i([l,T],t.xRot/180*n);t.cX=v[0]+(r+s)/2,t.cY=v[1]+(e+u)/2,t.phi1=Math.atan2((y-T)/o,(c-l)/a),t.phi2=Math.atan2((-y-T)/o,(-c-l)/a),0===t.sweepFlag&&t.phi2>t.phi1&&(t.phi2-=2*n),1===t.sweepFlag&&t.phi2<t.phi1&&(t.phi2+=2*n),t.phi1*=180/n,t.phi2*=180/n}function s(t,r,e){a(t,r,e);var i=t*t+r*r-e*e;if(0>i)return[];if(0===i)return[[t*e/(t*t+r*r),r*e/(t*t+r*r)]];var n=Math.sqrt(i);return[[(t*e+r*n)/(t*t+r*r),(r*e-t*n)/(t*t+r*r)],[(t*e-r*n)/(t*t+r*r),(r*e+t*n)/(t*t+r*r)]]}var u,h=Math.PI/180;function c(t,r,e){return(1-e)*t+e*r}function y(t,r,e,i){return t+Math.cos(i/180*n)*r+Math.sin(i/180*n)*e}function p(t,r,e,i){var a=1e-6,n=r-t,o=e-r,s=3*n+3*(i-e)-6*o,u=6*(o-n),h=3*n;return Math.abs(s)<a?[-h/u]:function(t,r,e){void 0===e&&(e=1e-6);var i=t*t/4-r;if(i<-e)return[];if(i<=e)return[-t/2];var a=Math.sqrt(i);return[-t/2-a,-t/2+a]}(u/s,h/s,a)}function m(t,r,e,i,a){var n=1-a;return t*(n*n*n)+r*(3*n*n*a)+e*(3*n*a*a)+i*(a*a*a)}!function(t){function r(){return u((function(t,r,e){return t.relative&&(void 0!==t.x1&&(t.x1+=r),void 0!==t.y1&&(t.y1+=e),void 0!==t.x2&&(t.x2+=r),void 0!==t.y2&&(t.y2+=e),void 0!==t.x&&(t.x+=r),void 0!==t.y&&(t.y+=e),t.relative=!1),t}))}function e(){var t=NaN,r=NaN,e=NaN,i=NaN;return u((function(a,n,o){return a.type&_.SMOOTH_CURVE_TO&&(a.type=_.CURVE_TO,t=isNaN(t)?n:t,r=isNaN(r)?o:r,a.x1=a.relative?n-t:2*n-t,a.y1=a.relative?o-r:2*o-r),a.type&_.CURVE_TO?(t=a.relative?n+a.x2:a.x2,r=a.relative?o+a.y2:a.y2):(t=NaN,r=NaN),a.type&_.SMOOTH_QUAD_TO&&(a.type=_.QUAD_TO,e=isNaN(e)?n:e,i=isNaN(i)?o:i,a.x1=a.relative?n-e:2*n-e,a.y1=a.relative?o-i:2*o-i),a.type&_.QUAD_TO?(e=a.relative?n+a.x1:a.x1,i=a.relative?o+a.y1:a.y1):(e=NaN,i=NaN),a}))}function n(){var t=NaN,r=NaN;return u((function(e,i,a){if(e.type&_.SMOOTH_QUAD_TO&&(e.type=_.QUAD_TO,t=isNaN(t)?i:t,r=isNaN(r)?a:r,e.x1=e.relative?i-t:2*i-t,e.y1=e.relative?a-r:2*a-r),e.type&_.QUAD_TO){t=e.relative?i+e.x1:e.x1,r=e.relative?a+e.y1:e.y1;var n=e.x1,o=e.y1;e.type=_.CURVE_TO,e.x1=((e.relative?0:i)+2*n)/3,e.y1=((e.relative?0:a)+2*o)/3,e.x2=(e.x+2*n)/3,e.y2=(e.y+2*o)/3}else t=NaN,r=NaN;return e}))}function u(t){var r=0,e=0,i=NaN,a=NaN;return function(n){if(isNaN(i)&&!(n.type&_.MOVE_TO))throw new Error(\"path must start with moveto\");var o=t(n,r,e,i,a);return n.type&_.CLOSE_PATH&&(r=i,e=a),void 0!==n.x&&(r=n.relative?r+n.x:n.x),void 0!==n.y&&(e=n.relative?e+n.y:n.y),n.type&_.MOVE_TO&&(i=r,a=e),o}}function O(t,r,e,i,n,o){return a(t,r,e,i,n,o),u((function(a,s,u,h){var c=a.x1,y=a.x2,p=a.relative&&!isNaN(h),m=void 0!==a.x?a.x:p?0:s,O=void 0!==a.y?a.y:p?0:u;function l(t){return t*t}a.type&_.HORIZ_LINE_TO&&0!==r&&(a.type=_.LINE_TO,a.y=a.relative?0:u),a.type&_.VERT_LINE_TO&&0!==e&&(a.type=_.LINE_TO,a.x=a.relative?0:s),void 0!==a.x&&(a.x=a.x*t+O*e+(p?0:n)),void 0!==a.y&&(a.y=m*r+a.y*i+(p?0:o)),void 0!==a.x1&&(a.x1=a.x1*t+a.y1*e+(p?0:n)),void 0!==a.y1&&(a.y1=c*r+a.y1*i+(p?0:o)),void 0!==a.x2&&(a.x2=a.x2*t+a.y2*e+(p?0:n)),void 0!==a.y2&&(a.y2=y*r+a.y2*i+(p?0:o));var T=t*i-r*e;if(void 0!==a.xRot&&(1!==t||0!==r||0!==e||1!==i))if(0===T)delete a.rX,delete a.rY,delete a.xRot,delete a.lArcFlag,delete a.sweepFlag,a.type=_.LINE_TO;else{var v=a.xRot*Math.PI/180,f=Math.sin(v),N=Math.cos(v),x=1/l(a.rX),d=1/l(a.rY),E=l(N)*x+l(f)*d,A=2*f*N*(x-d),C=l(f)*x+l(N)*d,M=E*i*i-A*r*i+C*r*r,R=A*(t*i+r*e)-2*(E*e*i+C*t*r),g=E*e*e-A*t*e+C*t*t,I=(Math.atan2(R,M-g)+Math.PI)%Math.PI/2,S=Math.sin(I),L=Math.cos(I);a.rX=Math.abs(T)/Math.sqrt(M*l(L)+R*S*L+g*l(S)),a.rY=Math.abs(T)/Math.sqrt(M*l(S)-R*S*L+g*l(L)),a.xRot=180*I/Math.PI}return void 0!==a.sweepFlag&&0>T&&(a.sweepFlag=+!a.sweepFlag),a}))}function l(){return function(t){var r={};for(var e in t)r[e]=t[e];return r}}t.ROUND=function(t){function r(r){return Math.round(r*t)/t}return void 0===t&&(t=1e13),a(t),function(t){return void 0!==t.x1&&(t.x1=r(t.x1)),void 0!==t.y1&&(t.y1=r(t.y1)),void 0!==t.x2&&(t.x2=r(t.x2)),void 0!==t.y2&&(t.y2=r(t.y2)),void 0!==t.x&&(t.x=r(t.x)),void 0!==t.y&&(t.y=r(t.y)),void 0!==t.rX&&(t.rX=r(t.rX)),void 0!==t.rY&&(t.rY=r(t.rY)),t}},t.TO_ABS=r,t.TO_REL=function(){return u((function(t,r,e){return t.relative||(void 0!==t.x1&&(t.x1-=r),void 0!==t.y1&&(t.y1-=e),void 0!==t.x2&&(t.x2-=r),void 0!==t.y2&&(t.y2-=e),void 0!==t.x&&(t.x-=r),void 0!==t.y&&(t.y-=e),t.relative=!0),t}))},t.NORMALIZE_HVZ=function(t,r,e){return void 0===t&&(t=!0),void 0===r&&(r=!0),void 0===e&&(e=!0),u((function(i,a,n,o,s){if(isNaN(o)&&!(i.type&_.MOVE_TO))throw new Error(\"path must start with moveto\");return r&&i.type&_.HORIZ_LINE_TO&&(i.type=_.LINE_TO,i.y=i.relative?0:n),e&&i.type&_.VERT_LINE_TO&&(i.type=_.LINE_TO,i.x=i.relative?0:a),t&&i.type&_.CLOSE_PATH&&(i.type=_.LINE_TO,i.x=i.relative?o-a:o,i.y=i.relative?s-n:s),i.type&_.ARC&&(0===i.rX||0===i.rY)&&(i.type=_.LINE_TO,delete i.rX,delete i.rY,delete i.xRot,delete i.lArcFlag,delete i.sweepFlag),i}))},t.NORMALIZE_ST=e,t.QT_TO_C=n,t.INFO=u,t.SANITIZE=function(t){void 0===t&&(t=0),a(t);var r=NaN,e=NaN,i=NaN,n=NaN;return u((function(a,o,s,u,h){var c=Math.abs,y=!1,p=0,m=0;if(a.type&_.SMOOTH_CURVE_TO&&(p=isNaN(r)?0:o-r,m=isNaN(e)?0:s-e),a.type&(_.CURVE_TO|_.SMOOTH_CURVE_TO)?(r=a.relative?o+a.x2:a.x2,e=a.relative?s+a.y2:a.y2):(r=NaN,e=NaN),a.type&_.SMOOTH_QUAD_TO?(i=isNaN(i)?o:2*o-i,n=isNaN(n)?s:2*s-n):a.type&_.QUAD_TO?(i=a.relative?o+a.x1:a.x1,n=a.relative?s+a.y1:a.y2):(i=NaN,n=NaN),a.type&_.LINE_COMMANDS||a.type&_.ARC&&(0===a.rX||0===a.rY||!a.lArcFlag)||a.type&_.CURVE_TO||a.type&_.SMOOTH_CURVE_TO||a.type&_.QUAD_TO||a.type&_.SMOOTH_QUAD_TO){var O=void 0===a.x?0:a.relative?a.x:a.x-o,l=void 0===a.y?0:a.relative?a.y:a.y-s;p=isNaN(i)?void 0===a.x1?p:a.relative?a.x:a.x1-o:i-o,m=isNaN(n)?void 0===a.y1?m:a.relative?a.y:a.y1-s:n-s;var T=void 0===a.x2?0:a.relative?a.x:a.x2-o,v=void 0===a.y2?0:a.relative?a.y:a.y2-s;c(O)<=t&&c(l)<=t&&c(p)<=t&&c(m)<=t&&c(T)<=t&&c(v)<=t&&(y=!0)}return a.type&_.CLOSE_PATH&&c(o-u)<=t&&c(s-h)<=t&&(y=!0),y?[]:a}))},t.MATRIX=O,t.ROTATE=function(t,r,e){void 0===r&&(r=0),void 0===e&&(e=0),a(t,r,e);var i=Math.sin(t),n=Math.cos(t);return O(n,i,-i,n,r-r*n+e*i,e-r*i-e*n)},t.TRANSLATE=function(t,r){return void 0===r&&(r=0),a(t,r),O(1,0,0,1,t,r)},t.SCALE=function(t,r){return void 0===r&&(r=t),a(t,r),O(t,0,0,r,0,0)},t.SKEW_X=function(t){return a(t),O(1,0,Math.atan(t),1,0,0)},t.SKEW_Y=function(t){return a(t),O(1,Math.atan(t),0,1,0,0)},t.X_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),a(t),O(-1,0,0,1,t,0)},t.Y_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),a(t),O(1,0,0,-1,0,t)},t.A_TO_C=function(){return u((function(t,r,e){return _.ARC===t.type?function(t,r,e){var a,n,s,u;t.cX||o(t,r,e);for(var y=Math.min(t.phi1,t.phi2),p=Math.max(t.phi1,t.phi2)-y,m=Math.ceil(p/90),O=new Array(m),l=r,T=e,v=0;v<m;v++){var f=c(t.phi1,t.phi2,v/m),N=c(t.phi1,t.phi2,(v+1)/m),x=N-f,d=4/3*Math.tan(x*h/4),E=[Math.cos(f*h)-d*Math.sin(f*h),Math.sin(f*h)+d*Math.cos(f*h)],A=E[0],C=E[1],M=[Math.cos(N*h),Math.sin(N*h)],R=M[0],g=M[1],I=[R+d*Math.sin(N*h),g-d*Math.cos(N*h)],S=I[0],L=I[1];O[v]={relative:t.relative,type:_.CURVE_TO};var H=function(r,e){var a=i([r*t.rX,e*t.rY],t.xRot),n=a[0],o=a[1];return[t.cX+n,t.cY+o]};a=H(A,C),O[v].x1=a[0],O[v].y1=a[1],n=H(S,L),O[v].x2=n[0],O[v].y2=n[1],s=H(R,g),O[v].x=s[0],O[v].y=s[1],t.relative&&(O[v].x1-=l,O[v].y1-=T,O[v].x2-=l,O[v].y2-=T,O[v].x-=l,O[v].y-=T),l=(u=[O[v].x,O[v].y])[0],T=u[1]}return O}(t,t.relative?0:r,t.relative?0:e):t}))},t.ANNOTATE_ARCS=function(){return u((function(t,r,e){return t.relative&&(r=0,e=0),_.ARC===t.type&&o(t,r,e),t}))},t.CLONE=l,t.CALCULATE_BOUNDS=function(){var t=function(t){var r={};for(var e in t)r[e]=t[e];return r},i=r(),a=n(),h=e(),c=u((function(r,e,n){var u=h(a(i(t(r))));function O(t){t>c.maxX&&(c.maxX=t),t<c.minX&&(c.minX=t)}function l(t){t>c.maxY&&(c.maxY=t),t<c.minY&&(c.minY=t)}if(u.type&_.DRAWING_COMMANDS&&(O(e),l(n)),u.type&_.HORIZ_LINE_TO&&O(u.x),u.type&_.VERT_LINE_TO&&l(u.y),u.type&_.LINE_TO&&(O(u.x),l(u.y)),u.type&_.CURVE_TO){O(u.x),l(u.y);for(var T=0,v=p(e,u.x1,u.x2,u.x);T<v.length;T++){0<(w=v[T])&&1>w&&O(m(e,u.x1,u.x2,u.x,w))}for(var f=0,N=p(n,u.y1,u.y2,u.y);f<N.length;f++){0<(w=N[f])&&1>w&&l(m(n,u.y1,u.y2,u.y,w))}}if(u.type&_.ARC){O(u.x),l(u.y),o(u,e,n);for(var x=u.xRot/180*Math.PI,d=Math.cos(x)*u.rX,E=Math.sin(x)*u.rX,A=-Math.sin(x)*u.rY,C=Math.cos(x)*u.rY,M=u.phi1<u.phi2?[u.phi1,u.phi2]:-180>u.phi2?[u.phi2+360,u.phi1+360]:[u.phi2,u.phi1],R=M[0],g=M[1],I=function(t){var r=t[0],e=t[1],i=180*Math.atan2(e,r)/Math.PI;return i<R?i+360:i},S=0,L=s(A,-d,0).map(I);S<L.length;S++){(w=L[S])>R&&w<g&&O(y(u.cX,d,A,w))}for(var H=0,U=s(C,-E,0).map(I);H<U.length;H++){var w;(w=U[H])>R&&w<g&&l(y(u.cY,E,C,w))}}return r}));return c.minX=1/0,c.maxX=-1/0,c.minY=1/0,c.maxY=-1/0,c}}(u||(u={}));var O,l=function(){function t(){}return t.prototype.round=function(t){return this.transform(u.ROUND(t))},t.prototype.toAbs=function(){return this.transform(u.TO_ABS())},t.prototype.toRel=function(){return this.transform(u.TO_REL())},t.prototype.normalizeHVZ=function(t,r,e){return this.transform(u.NORMALIZE_HVZ(t,r,e))},t.prototype.normalizeST=function(){return this.transform(u.NORMALIZE_ST())},t.prototype.qtToC=function(){return this.transform(u.QT_TO_C())},t.prototype.aToC=function(){return this.transform(u.A_TO_C())},t.prototype.sanitize=function(t){return this.transform(u.SANITIZE(t))},t.prototype.translate=function(t,r){return this.transform(u.TRANSLATE(t,r))},t.prototype.scale=function(t,r){return this.transform(u.SCALE(t,r))},t.prototype.rotate=function(t,r,e){return this.transform(u.ROTATE(t,r,e))},t.prototype.matrix=function(t,r,e,i,a,n){return this.transform(u.MATRIX(t,r,e,i,a,n))},t.prototype.skewX=function(t){return this.transform(u.SKEW_X(t))},t.prototype.skewY=function(t){return this.transform(u.SKEW_Y(t))},t.prototype.xSymmetry=function(t){return this.transform(u.X_AXIS_SYMMETRY(t))},t.prototype.ySymmetry=function(t){return this.transform(u.Y_AXIS_SYMMETRY(t))},t.prototype.annotateArcs=function(){return this.transform(u.ANNOTATE_ARCS())},t}(),T=function(t){return\" \"===t||\"\\t\"===t||\"\\r\"===t||\"\\n\"===t},v=function(t){return\"0\".charCodeAt(0)<=t.charCodeAt(0)&&t.charCodeAt(0)<=\"9\".charCodeAt(0)},f=function(t){function e(){var r=t.call(this)||this;return r.curNumber=\"\",r.curCommandType=-1,r.curCommandRelative=!1,r.canParseCommandOrComma=!0,r.curNumberHasExp=!1,r.curNumberHasExpDigits=!1,r.curNumberHasDecimal=!1,r.curArgs=[],r}return r(e,t),e.prototype.finish=function(t){if(void 0===t&&(t=[]),this.parse(\" \",t),0!==this.curArgs.length||!this.canParseCommandOrComma)throw new SyntaxError(\"Unterminated command at the path end.\");return t},e.prototype.parse=function(t,r){var e=this;void 0===r&&(r=[]);for(var i=function(t){r.push(t),e.curArgs.length=0,e.canParseCommandOrComma=!0},a=0;a<t.length;a++){var n=t[a],o=!(this.curCommandType!==_.ARC||3!==this.curArgs.length&&4!==this.curArgs.length||1!==this.curNumber.length||\"0\"!==this.curNumber&&\"1\"!==this.curNumber),s=v(n)&&(\"0\"===this.curNumber&&\"0\"===n||o);if(!v(n)||s)if(\"e\"!==n&&\"E\"!==n)if(\"-\"!==n&&\"+\"!==n||!this.curNumberHasExp||this.curNumberHasExpDigits)if(\".\"!==n||this.curNumberHasExp||this.curNumberHasDecimal||o){if(this.curNumber&&-1!==this.curCommandType){var u=Number(this.curNumber);if(isNaN(u))throw new SyntaxError(\"Invalid number ending at \"+a);if(this.curCommandType===_.ARC)if(0===this.curArgs.length||1===this.curArgs.length){if(0>u)throw new SyntaxError('Expected positive number, got \"'+u+'\" at index \"'+a+'\"')}else if((3===this.curArgs.length||4===this.curArgs.length)&&\"0\"!==this.curNumber&&\"1\"!==this.curNumber)throw new SyntaxError('Expected a flag, got \"'+this.curNumber+'\" at index \"'+a+'\"');this.curArgs.push(u),this.curArgs.length===N[this.curCommandType]&&(_.HORIZ_LINE_TO===this.curCommandType?i({type:_.HORIZ_LINE_TO,relative:this.curCommandRelative,x:u}):_.VERT_LINE_TO===this.curCommandType?i({type:_.VERT_LINE_TO,relative:this.curCommandRelative,y:u}):this.curCommandType===_.MOVE_TO||this.curCommandType===_.LINE_TO||this.curCommandType===_.SMOOTH_QUAD_TO?(i({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),_.MOVE_TO===this.curCommandType&&(this.curCommandType=_.LINE_TO)):this.curCommandType===_.CURVE_TO?i({type:_.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===_.SMOOTH_CURVE_TO?i({type:_.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.QUAD_TO?i({type:_.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.ARC&&i({type:_.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber=\"\",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!T(n))if(\",\"===n&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(\"+\"!==n&&\"-\"!==n&&\".\"!==n)if(s)this.curNumber=n,this.curNumberHasDecimal=!1;else{if(0!==this.curArgs.length)throw new SyntaxError(\"Unterminated command at index \"+a+\".\");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character \"'+n+'\" at index '+a+\". Command cannot follow comma\");if(this.canParseCommandOrComma=!1,\"z\"!==n&&\"Z\"!==n)if(\"h\"===n||\"H\"===n)this.curCommandType=_.HORIZ_LINE_TO,this.curCommandRelative=\"h\"===n;else if(\"v\"===n||\"V\"===n)this.curCommandType=_.VERT_LINE_TO,this.curCommandRelative=\"v\"===n;else if(\"m\"===n||\"M\"===n)this.curCommandType=_.MOVE_TO,this.curCommandRelative=\"m\"===n;else if(\"l\"===n||\"L\"===n)this.curCommandType=_.LINE_TO,this.curCommandRelative=\"l\"===n;else if(\"c\"===n||\"C\"===n)this.curCommandType=_.CURVE_TO,this.curCommandRelative=\"c\"===n;else if(\"s\"===n||\"S\"===n)this.curCommandType=_.SMOOTH_CURVE_TO,this.curCommandRelative=\"s\"===n;else if(\"q\"===n||\"Q\"===n)this.curCommandType=_.QUAD_TO,this.curCommandRelative=\"q\"===n;else if(\"t\"===n||\"T\"===n)this.curCommandType=_.SMOOTH_QUAD_TO,this.curCommandRelative=\"t\"===n;else{if(\"a\"!==n&&\"A\"!==n)throw new SyntaxError('Unexpected character \"'+n+'\" at index '+a+\".\");this.curCommandType=_.ARC,this.curCommandRelative=\"a\"===n}else r.push({type:_.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=n,this.curNumberHasDecimal=\".\"===n}else this.curNumber+=n,this.curNumberHasDecimal=!0;else this.curNumber+=n;else this.curNumber+=n,this.curNumberHasExp=!0;else this.curNumber+=n,this.curNumberHasExpDigits=this.curNumberHasExp}return r},e.prototype.transform=function(t){return Object.create(this,{parse:{value:function(r,e){void 0===e&&(e=[]);for(var i=0,a=Object.getPrototypeOf(this).parse.call(this,r);i<a.length;i++){var n=a[i],o=t(n);Array.isArray(o)?e.push.apply(e,o):e.push(o)}return e}}})},e}(l),_=function(t){function i(r){var e=t.call(this)||this;return e.commands=\"string\"==typeof r?i.parse(r):r,e}return r(i,t),i.prototype.encode=function(){return i.encode(this.commands)},i.prototype.getBounds=function(){var t=u.CALCULATE_BOUNDS();return this.transform(t),t},i.prototype.transform=function(t){for(var r=[],e=0,i=this.commands;e<i.length;e++){var a=t(i[e]);Array.isArray(a)?r.push.apply(r,a):r.push(a)}return this.commands=r,this},i.encode=function(t){return e(t)},i.parse=function(t){var r=new f,e=[];return r.parse(t,e),r.finish(e),e},i.CLOSE_PATH=1,i.MOVE_TO=2,i.HORIZ_LINE_TO=4,i.VERT_LINE_TO=8,i.LINE_TO=16,i.CURVE_TO=32,i.SMOOTH_CURVE_TO=64,i.QUAD_TO=128,i.SMOOTH_QUAD_TO=256,i.ARC=512,i.LINE_COMMANDS=i.LINE_TO|i.HORIZ_LINE_TO|i.VERT_LINE_TO,i.DRAWING_COMMANDS=i.HORIZ_LINE_TO|i.VERT_LINE_TO|i.LINE_TO|i.CURVE_TO|i.SMOOTH_CURVE_TO|i.QUAD_TO|i.SMOOTH_QUAD_TO|i.ARC,i}(l),N=((O={})[_.MOVE_TO]=2,O[_.LINE_TO]=2,O[_.HORIZ_LINE_TO]=1,O[_.VERT_LINE_TO]=1,O[_.CLOSE_PATH]=0,O[_.QUAD_TO]=4,O[_.SMOOTH_QUAD_TO]=2,O[_.CURVE_TO]=6,O[_.SMOOTH_CURVE_TO]=4,O[_.ARC]=7,O);export{N as COMMAND_ARG_COUNTS,_ as SVGPathData,f as SVGPathDataParser,u as SVGPathDataTransformer,e as encodeSVGPath};\n//# sourceMappingURL=SVGPathData.module.js.map\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n  var flags = R.flags;\n  return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n    ? call(regExpFlags, R) : flags;\n};\n","function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\n/* eslint-disable no-bitwise -- used for calculations */\n\n/* eslint-disable unicorn/prefer-query-selector -- aiming at\n  backward-compatibility */\n\n/**\n* StackBlur - a fast almost Gaussian Blur For Canvas\n*\n* In case you find this class useful - especially in commercial projects -\n* I am not totally unhappy for a small donation to my PayPal account\n* mario@quasimondo.de\n*\n* Or support me on flattr:\n* {@link https://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript}.\n*\n* @module StackBlur\n* @author Mario Klingemann\n* Contact: mario@quasimondo.com\n* Website: {@link http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html}\n* Twitter: @quasimondo\n*\n* @copyright (c) 2010 Mario Klingemann\n*\n* Permission is hereby granted, free of charge, to any person\n* obtaining a copy of this software and associated documentation\n* files (the \"Software\"), to deal in the Software without\n* restriction, including without limitation the rights to use,\n* copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the\n* Software is furnished to do so, subject to the following\n* conditions:\n*\n* The above copyright notice and this permission notice shall be\n* included in all copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n* OTHER DEALINGS IN THE SOFTWARE.\n*/\nvar mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];\nvar shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];\n/**\n * @param {string|HTMLImageElement} img\n * @param {string|HTMLCanvasElement} canvas\n * @param {Float} radius\n * @param {boolean} blurAlphaChannel\n * @param {boolean} useOffset\n * @param {boolean} skipStyles\n * @returns {undefined}\n */\n\nfunction processImage(img, canvas, radius, blurAlphaChannel, useOffset, skipStyles) {\n  if (typeof img === 'string') {\n    img = document.getElementById(img);\n  }\n\n  if (!img || Object.prototype.toString.call(img).slice(8, -1) === 'HTMLImageElement' && !('naturalWidth' in img)) {\n    return;\n  }\n\n  var dimensionType = useOffset ? 'offset' : 'natural';\n  var w = img[dimensionType + 'Width'];\n  var h = img[dimensionType + 'Height']; // add ImageBitmap support,can blur texture source\n\n  if (Object.prototype.toString.call(img).slice(8, -1) === 'ImageBitmap') {\n    w = img.width;\n    h = img.height;\n  }\n\n  if (typeof canvas === 'string') {\n    canvas = document.getElementById(canvas);\n  }\n\n  if (!canvas || !('getContext' in canvas)) {\n    return;\n  }\n\n  if (!skipStyles) {\n    canvas.style.width = w + 'px';\n    canvas.style.height = h + 'px';\n  }\n\n  canvas.width = w;\n  canvas.height = h;\n  var context = canvas.getContext('2d');\n  context.clearRect(0, 0, w, h);\n  context.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight, 0, 0, w, h);\n\n  if (isNaN(radius) || radius < 1) {\n    return;\n  }\n\n  if (blurAlphaChannel) {\n    processCanvasRGBA(canvas, 0, 0, w, h, radius);\n  } else {\n    processCanvasRGB(canvas, 0, 0, w, h, radius);\n  }\n}\n/**\n * @param {string|HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @throws {Error|TypeError}\n * @returns {ImageData} See {@link https://html.spec.whatwg.org/multipage/canvas.html#imagedata}\n */\n\n\nfunction getImageDataFromCanvas(canvas, topX, topY, width, height) {\n  if (typeof canvas === 'string') {\n    canvas = document.getElementById(canvas);\n  }\n\n  if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {\n    throw new TypeError('Expecting canvas with `getContext` method ' + 'in processCanvasRGB(A) calls!');\n  }\n\n  var context = canvas.getContext('2d');\n\n  try {\n    return context.getImageData(topX, topY, width, height);\n  } catch (e) {\n    throw new Error('unable to access image data: ' + e);\n  }\n}\n/**\n * @param {HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {undefined}\n */\n\n\nfunction processCanvasRGBA(canvas, topX, topY, width, height, radius) {\n  if (isNaN(radius) || radius < 1) {\n    return;\n  }\n\n  radius |= 0;\n  var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);\n  imageData = processImageDataRGBA(imageData, topX, topY, width, height, radius);\n  canvas.getContext('2d').putImageData(imageData, topX, topY);\n}\n/**\n * @param {ImageData} imageData\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {ImageData}\n */\n\n\nfunction processImageDataRGBA(imageData, topX, topY, width, height, radius) {\n  var pixels = imageData.data;\n  var div = 2 * radius + 1; // const w4 = width << 2;\n\n  var widthMinus1 = width - 1;\n  var heightMinus1 = height - 1;\n  var radiusPlus1 = radius + 1;\n  var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;\n  var stackStart = new BlurStack();\n  var stack = stackStart;\n  var stackEnd;\n\n  for (var i = 1; i < div; i++) {\n    stack = stack.next = new BlurStack();\n\n    if (i === radiusPlus1) {\n      stackEnd = stack;\n    }\n  }\n\n  stack.next = stackStart;\n  var stackIn = null,\n      stackOut = null,\n      yw = 0,\n      yi = 0;\n  var mulSum = mulTable[radius];\n  var shgSum = shgTable[radius];\n\n  for (var y = 0; y < height; y++) {\n    stack = stackStart;\n    var pr = pixels[yi],\n        pg = pixels[yi + 1],\n        pb = pixels[yi + 2],\n        pa = pixels[yi + 3];\n\n    for (var _i = 0; _i < radiusPlus1; _i++) {\n      stack.r = pr;\n      stack.g = pg;\n      stack.b = pb;\n      stack.a = pa;\n      stack = stack.next;\n    }\n\n    var rInSum = 0,\n        gInSum = 0,\n        bInSum = 0,\n        aInSum = 0,\n        rOutSum = radiusPlus1 * pr,\n        gOutSum = radiusPlus1 * pg,\n        bOutSum = radiusPlus1 * pb,\n        aOutSum = radiusPlus1 * pa,\n        rSum = sumFactor * pr,\n        gSum = sumFactor * pg,\n        bSum = sumFactor * pb,\n        aSum = sumFactor * pa;\n\n    for (var _i2 = 1; _i2 < radiusPlus1; _i2++) {\n      var p = yi + ((widthMinus1 < _i2 ? widthMinus1 : _i2) << 2);\n      var r = pixels[p],\n          g = pixels[p + 1],\n          b = pixels[p + 2],\n          a = pixels[p + 3];\n      var rbs = radiusPlus1 - _i2;\n      rSum += (stack.r = r) * rbs;\n      gSum += (stack.g = g) * rbs;\n      bSum += (stack.b = b) * rbs;\n      aSum += (stack.a = a) * rbs;\n      rInSum += r;\n      gInSum += g;\n      bInSum += b;\n      aInSum += a;\n      stack = stack.next;\n    }\n\n    stackIn = stackStart;\n    stackOut = stackEnd;\n\n    for (var x = 0; x < width; x++) {\n      var paInitial = aSum * mulSum >>> shgSum;\n      pixels[yi + 3] = paInitial;\n\n      if (paInitial !== 0) {\n        var _a2 = 255 / paInitial;\n\n        pixels[yi] = (rSum * mulSum >>> shgSum) * _a2;\n        pixels[yi + 1] = (gSum * mulSum >>> shgSum) * _a2;\n        pixels[yi + 2] = (bSum * mulSum >>> shgSum) * _a2;\n      } else {\n        pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n      }\n\n      rSum -= rOutSum;\n      gSum -= gOutSum;\n      bSum -= bOutSum;\n      aSum -= aOutSum;\n      rOutSum -= stackIn.r;\n      gOutSum -= stackIn.g;\n      bOutSum -= stackIn.b;\n      aOutSum -= stackIn.a;\n\n      var _p = x + radius + 1;\n\n      _p = yw + (_p < widthMinus1 ? _p : widthMinus1) << 2;\n      rInSum += stackIn.r = pixels[_p];\n      gInSum += stackIn.g = pixels[_p + 1];\n      bInSum += stackIn.b = pixels[_p + 2];\n      aInSum += stackIn.a = pixels[_p + 3];\n      rSum += rInSum;\n      gSum += gInSum;\n      bSum += bInSum;\n      aSum += aInSum;\n      stackIn = stackIn.next;\n      var _stackOut = stackOut,\n          _r = _stackOut.r,\n          _g = _stackOut.g,\n          _b = _stackOut.b,\n          _a = _stackOut.a;\n      rOutSum += _r;\n      gOutSum += _g;\n      bOutSum += _b;\n      aOutSum += _a;\n      rInSum -= _r;\n      gInSum -= _g;\n      bInSum -= _b;\n      aInSum -= _a;\n      stackOut = stackOut.next;\n      yi += 4;\n    }\n\n    yw += width;\n  }\n\n  for (var _x = 0; _x < width; _x++) {\n    yi = _x << 2;\n\n    var _pr = pixels[yi],\n        _pg = pixels[yi + 1],\n        _pb = pixels[yi + 2],\n        _pa = pixels[yi + 3],\n        _rOutSum = radiusPlus1 * _pr,\n        _gOutSum = radiusPlus1 * _pg,\n        _bOutSum = radiusPlus1 * _pb,\n        _aOutSum = radiusPlus1 * _pa,\n        _rSum = sumFactor * _pr,\n        _gSum = sumFactor * _pg,\n        _bSum = sumFactor * _pb,\n        _aSum = sumFactor * _pa;\n\n    stack = stackStart;\n\n    for (var _i3 = 0; _i3 < radiusPlus1; _i3++) {\n      stack.r = _pr;\n      stack.g = _pg;\n      stack.b = _pb;\n      stack.a = _pa;\n      stack = stack.next;\n    }\n\n    var yp = width;\n    var _gInSum = 0,\n        _bInSum = 0,\n        _aInSum = 0,\n        _rInSum = 0;\n\n    for (var _i4 = 1; _i4 <= radius; _i4++) {\n      yi = yp + _x << 2;\n\n      var _rbs = radiusPlus1 - _i4;\n\n      _rSum += (stack.r = _pr = pixels[yi]) * _rbs;\n      _gSum += (stack.g = _pg = pixels[yi + 1]) * _rbs;\n      _bSum += (stack.b = _pb = pixels[yi + 2]) * _rbs;\n      _aSum += (stack.a = _pa = pixels[yi + 3]) * _rbs;\n      _rInSum += _pr;\n      _gInSum += _pg;\n      _bInSum += _pb;\n      _aInSum += _pa;\n      stack = stack.next;\n\n      if (_i4 < heightMinus1) {\n        yp += width;\n      }\n    }\n\n    yi = _x;\n    stackIn = stackStart;\n    stackOut = stackEnd;\n\n    for (var _y = 0; _y < height; _y++) {\n      var _p2 = yi << 2;\n\n      pixels[_p2 + 3] = _pa = _aSum * mulSum >>> shgSum;\n\n      if (_pa > 0) {\n        _pa = 255 / _pa;\n        pixels[_p2] = (_rSum * mulSum >>> shgSum) * _pa;\n        pixels[_p2 + 1] = (_gSum * mulSum >>> shgSum) * _pa;\n        pixels[_p2 + 2] = (_bSum * mulSum >>> shgSum) * _pa;\n      } else {\n        pixels[_p2] = pixels[_p2 + 1] = pixels[_p2 + 2] = 0;\n      }\n\n      _rSum -= _rOutSum;\n      _gSum -= _gOutSum;\n      _bSum -= _bOutSum;\n      _aSum -= _aOutSum;\n      _rOutSum -= stackIn.r;\n      _gOutSum -= stackIn.g;\n      _bOutSum -= stackIn.b;\n      _aOutSum -= stackIn.a;\n      _p2 = _x + ((_p2 = _y + radiusPlus1) < heightMinus1 ? _p2 : heightMinus1) * width << 2;\n      _rSum += _rInSum += stackIn.r = pixels[_p2];\n      _gSum += _gInSum += stackIn.g = pixels[_p2 + 1];\n      _bSum += _bInSum += stackIn.b = pixels[_p2 + 2];\n      _aSum += _aInSum += stackIn.a = pixels[_p2 + 3];\n      stackIn = stackIn.next;\n      _rOutSum += _pr = stackOut.r;\n      _gOutSum += _pg = stackOut.g;\n      _bOutSum += _pb = stackOut.b;\n      _aOutSum += _pa = stackOut.a;\n      _rInSum -= _pr;\n      _gInSum -= _pg;\n      _bInSum -= _pb;\n      _aInSum -= _pa;\n      stackOut = stackOut.next;\n      yi += width;\n    }\n  }\n\n  return imageData;\n}\n/**\n * @param {HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {undefined}\n */\n\n\nfunction processCanvasRGB(canvas, topX, topY, width, height, radius) {\n  if (isNaN(radius) || radius < 1) {\n    return;\n  }\n\n  radius |= 0;\n  var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);\n  imageData = processImageDataRGB(imageData, topX, topY, width, height, radius);\n  canvas.getContext('2d').putImageData(imageData, topX, topY);\n}\n/**\n * @param {ImageData} imageData\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {ImageData}\n */\n\n\nfunction processImageDataRGB(imageData, topX, topY, width, height, radius) {\n  var pixels = imageData.data;\n  var div = 2 * radius + 1; // const w4 = width << 2;\n\n  var widthMinus1 = width - 1;\n  var heightMinus1 = height - 1;\n  var radiusPlus1 = radius + 1;\n  var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;\n  var stackStart = new BlurStack();\n  var stack = stackStart;\n  var stackEnd;\n\n  for (var i = 1; i < div; i++) {\n    stack = stack.next = new BlurStack();\n\n    if (i === radiusPlus1) {\n      stackEnd = stack;\n    }\n  }\n\n  stack.next = stackStart;\n  var stackIn = null;\n  var stackOut = null;\n  var mulSum = mulTable[radius];\n  var shgSum = shgTable[radius];\n  var p, rbs;\n  var yw = 0,\n      yi = 0;\n\n  for (var y = 0; y < height; y++) {\n    var pr = pixels[yi],\n        pg = pixels[yi + 1],\n        pb = pixels[yi + 2],\n        rOutSum = radiusPlus1 * pr,\n        gOutSum = radiusPlus1 * pg,\n        bOutSum = radiusPlus1 * pb,\n        rSum = sumFactor * pr,\n        gSum = sumFactor * pg,\n        bSum = sumFactor * pb;\n    stack = stackStart;\n\n    for (var _i5 = 0; _i5 < radiusPlus1; _i5++) {\n      stack.r = pr;\n      stack.g = pg;\n      stack.b = pb;\n      stack = stack.next;\n    }\n\n    var rInSum = 0,\n        gInSum = 0,\n        bInSum = 0;\n\n    for (var _i6 = 1; _i6 < radiusPlus1; _i6++) {\n      p = yi + ((widthMinus1 < _i6 ? widthMinus1 : _i6) << 2);\n      rSum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - _i6);\n      gSum += (stack.g = pg = pixels[p + 1]) * rbs;\n      bSum += (stack.b = pb = pixels[p + 2]) * rbs;\n      rInSum += pr;\n      gInSum += pg;\n      bInSum += pb;\n      stack = stack.next;\n    }\n\n    stackIn = stackStart;\n    stackOut = stackEnd;\n\n    for (var x = 0; x < width; x++) {\n      pixels[yi] = rSum * mulSum >>> shgSum;\n      pixels[yi + 1] = gSum * mulSum >>> shgSum;\n      pixels[yi + 2] = bSum * mulSum >>> shgSum;\n      rSum -= rOutSum;\n      gSum -= gOutSum;\n      bSum -= bOutSum;\n      rOutSum -= stackIn.r;\n      gOutSum -= stackIn.g;\n      bOutSum -= stackIn.b;\n      p = yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1) << 2;\n      rInSum += stackIn.r = pixels[p];\n      gInSum += stackIn.g = pixels[p + 1];\n      bInSum += stackIn.b = pixels[p + 2];\n      rSum += rInSum;\n      gSum += gInSum;\n      bSum += bInSum;\n      stackIn = stackIn.next;\n      rOutSum += pr = stackOut.r;\n      gOutSum += pg = stackOut.g;\n      bOutSum += pb = stackOut.b;\n      rInSum -= pr;\n      gInSum -= pg;\n      bInSum -= pb;\n      stackOut = stackOut.next;\n      yi += 4;\n    }\n\n    yw += width;\n  }\n\n  for (var _x2 = 0; _x2 < width; _x2++) {\n    yi = _x2 << 2;\n\n    var _pr2 = pixels[yi],\n        _pg2 = pixels[yi + 1],\n        _pb2 = pixels[yi + 2],\n        _rOutSum2 = radiusPlus1 * _pr2,\n        _gOutSum2 = radiusPlus1 * _pg2,\n        _bOutSum2 = radiusPlus1 * _pb2,\n        _rSum2 = sumFactor * _pr2,\n        _gSum2 = sumFactor * _pg2,\n        _bSum2 = sumFactor * _pb2;\n\n    stack = stackStart;\n\n    for (var _i7 = 0; _i7 < radiusPlus1; _i7++) {\n      stack.r = _pr2;\n      stack.g = _pg2;\n      stack.b = _pb2;\n      stack = stack.next;\n    }\n\n    var _rInSum2 = 0,\n        _gInSum2 = 0,\n        _bInSum2 = 0;\n\n    for (var _i8 = 1, yp = width; _i8 <= radius; _i8++) {\n      yi = yp + _x2 << 2;\n      _rSum2 += (stack.r = _pr2 = pixels[yi]) * (rbs = radiusPlus1 - _i8);\n      _gSum2 += (stack.g = _pg2 = pixels[yi + 1]) * rbs;\n      _bSum2 += (stack.b = _pb2 = pixels[yi + 2]) * rbs;\n      _rInSum2 += _pr2;\n      _gInSum2 += _pg2;\n      _bInSum2 += _pb2;\n      stack = stack.next;\n\n      if (_i8 < heightMinus1) {\n        yp += width;\n      }\n    }\n\n    yi = _x2;\n    stackIn = stackStart;\n    stackOut = stackEnd;\n\n    for (var _y2 = 0; _y2 < height; _y2++) {\n      p = yi << 2;\n      pixels[p] = _rSum2 * mulSum >>> shgSum;\n      pixels[p + 1] = _gSum2 * mulSum >>> shgSum;\n      pixels[p + 2] = _bSum2 * mulSum >>> shgSum;\n      _rSum2 -= _rOutSum2;\n      _gSum2 -= _gOutSum2;\n      _bSum2 -= _bOutSum2;\n      _rOutSum2 -= stackIn.r;\n      _gOutSum2 -= stackIn.g;\n      _bOutSum2 -= stackIn.b;\n      p = _x2 + ((p = _y2 + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width << 2;\n      _rSum2 += _rInSum2 += stackIn.r = pixels[p];\n      _gSum2 += _gInSum2 += stackIn.g = pixels[p + 1];\n      _bSum2 += _bInSum2 += stackIn.b = pixels[p + 2];\n      stackIn = stackIn.next;\n      _rOutSum2 += _pr2 = stackOut.r;\n      _gOutSum2 += _pg2 = stackOut.g;\n      _bOutSum2 += _pb2 = stackOut.b;\n      _rInSum2 -= _pr2;\n      _gInSum2 -= _pg2;\n      _bInSum2 -= _pb2;\n      stackOut = stackOut.next;\n      yi += width;\n    }\n  }\n\n  return imageData;\n}\n/**\n *\n */\n\n\nvar BlurStack =\n/**\n * Set properties.\n */\nfunction BlurStack() {\n  _classCallCheck(this, BlurStack);\n\n  this.r = 0;\n  this.g = 0;\n  this.b = 0;\n  this.a = 0;\n  this.next = null;\n};\n\nexport { BlurStack, processCanvasRGB as canvasRGB, processCanvasRGBA as canvasRGBA, processImage as image, processImageDataRGB as imageDataRGB, processImageDataRGBA as imageDataRGBA };\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n  defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {\n    var R = anObject(this);\n    var pattern = $toString(R.source);\n    var flags = $toString(getRegExpFlags(R));\n    return '/' + pattern + '/' + flags;\n  }, { unsafe: true });\n}\n","import 'core-js/modules/es.promise.js';\nimport _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';\nimport 'core-js/modules/es.string.match.js';\nimport 'core-js/modules/es.string.replace.js';\nimport 'core-js/modules/es.string.starts-with.js';\nimport 'core-js/modules/es.array.iterator.js';\nimport 'core-js/modules/web.dom-collections.iterator.js';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport 'core-js/modules/es.array.reduce.js';\nimport 'core-js/modules/es.string.ends-with.js';\nimport 'core-js/modules/es.string.split.js';\nimport requestAnimationFrame from 'raf';\nimport 'core-js/modules/es.string.trim.js';\nimport RGBColor from 'rgbcolor';\nimport 'core-js/modules/es.array.index-of.js';\nimport 'core-js/modules/es.string.includes.js';\nimport 'core-js/modules/es.array.reverse.js';\nimport { SVGPathData } from 'svg-pathdata';\nimport 'core-js/modules/es.regexp.to-string.js';\nimport { canvasRGBA } from 'stackblur-canvas';\n\n/**\r\n * Options preset for `OffscreenCanvas`.\r\n * @param config - Preset requirements.\r\n * @param config.DOMParser - XML/HTML parser from string into DOM Document.\r\n * @returns Preset object.\r\n */\nfunction offscreen() {\n  var {\n    DOMParser: DOMParserFallback\n  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var preset = {\n    window: null,\n    ignoreAnimation: true,\n    ignoreMouse: true,\n    DOMParser: DOMParserFallback,\n\n    createCanvas(width, height) {\n      return new OffscreenCanvas(width, height);\n    },\n\n    createImage(url) {\n      return _asyncToGenerator(function* () {\n        var response = yield fetch(url);\n        var blob = yield response.blob();\n        var img = yield createImageBitmap(blob);\n        return img;\n      })();\n    }\n\n  };\n\n  if (typeof DOMParser !== 'undefined' || typeof DOMParserFallback === 'undefined') {\n    Reflect.deleteProperty(preset, 'DOMParser');\n  }\n\n  return preset;\n}\n\n/**\r\n * Options preset for `node-canvas`.\r\n * @param config - Preset requirements.\r\n * @param config.DOMParser - XML/HTML parser from string into DOM Document.\r\n * @param config.canvas - `node-canvas` exports.\r\n * @param config.fetch - WHATWG-compatible `fetch` function.\r\n * @returns Preset object.\r\n */\nfunction node(_ref) {\n  var {\n    DOMParser,\n    canvas,\n    fetch\n  } = _ref;\n  return {\n    window: null,\n    ignoreAnimation: true,\n    ignoreMouse: true,\n    DOMParser,\n    fetch,\n    createCanvas: canvas.createCanvas,\n    createImage: canvas.loadImage\n  };\n}\n\nvar index = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\toffscreen: offscreen,\n\tnode: node\n});\n\n/**\r\n * HTML-safe compress white-spaces.\r\n * @param str - String to compress.\r\n * @returns String.\r\n */\nfunction compressSpaces(str) {\n  return str.replace(/(?!\\u3000)\\s+/gm, ' ');\n}\n/**\r\n * HTML-safe left trim.\r\n * @param str - String to trim.\r\n * @returns String.\r\n */\n\nfunction trimLeft(str) {\n  return str.replace(/^[\\n \\t]+/, '');\n}\n/**\r\n * HTML-safe right trim.\r\n * @param str - String to trim.\r\n * @returns String.\r\n */\n\nfunction trimRight(str) {\n  return str.replace(/[\\n \\t]+$/, '');\n}\n/**\r\n * String to numbers array.\r\n * @param str - Numbers string.\r\n * @returns Numbers array.\r\n */\n\nfunction toNumbers(str) {\n  var matches = (str || '').match(/-?(\\d+(?:\\.\\d*(?:[eE][+-]?\\d+)?)?|\\.\\d+)(?=\\D|$)/gm) || [];\n  return matches.map(parseFloat);\n} // Microsoft Edge fix\n\nvar allUppercase = /^[A-Z-]+$/;\n/**\r\n * Normalize attribute name.\r\n * @param name - Attribute name.\r\n * @returns Normalized attribute name.\r\n */\n\nfunction normalizeAttributeName(name) {\n  if (allUppercase.test(name)) {\n    return name.toLowerCase();\n  }\n\n  return name;\n}\n/**\r\n * Parse external URL.\r\n * @param url - CSS url string.\r\n * @returns Parsed URL.\r\n */\n\nfunction parseExternalUrl(url) {\n  //                      single quotes [2]\n  //                      v         double quotes [3]\n  //                      v         v         no quotes [4]\n  //                      v         v         v\n  var urlMatch = /url\\(('([^']+)'|\"([^\"]+)\"|([^'\")]+))\\)/.exec(url) || [];\n  return urlMatch[2] || urlMatch[3] || urlMatch[4];\n}\n/**\r\n * Transform floats to integers in rgb colors.\r\n * @param color - Color to normalize.\r\n * @returns Normalized color.\r\n */\n\nfunction normalizeColor(color) {\n  if (!color.startsWith('rgb')) {\n    return color;\n  }\n\n  var rgbParts = 3;\n  var normalizedColor = color.replace(/\\d+(\\.\\d+)?/g, (num, isFloat) => rgbParts-- && isFloat ? String(Math.round(parseFloat(num))) : num);\n  return normalizedColor;\n}\n\n// slightly modified version of https://github.com/keeganstreet/specificity/blob/master/specificity.js\nvar attributeRegex = /(\\[[^\\]]+\\])/g;\nvar idRegex = /(#[^\\s+>~.[:]+)/g;\nvar classRegex = /(\\.[^\\s+>~.[:]+)/g;\nvar pseudoElementRegex = /(::[^\\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi;\nvar pseudoClassWithBracketsRegex = /(:[\\w-]+\\([^)]*\\))/gi;\nvar pseudoClassRegex = /(:[^\\s+>~.[:]+)/g;\nvar elementRegex = /([^\\s+>~.[:]+)/g;\n\nfunction findSelectorMatch(selector, regex) {\n  var matches = regex.exec(selector);\n\n  if (!matches) {\n    return [selector, 0];\n  }\n\n  return [selector.replace(regex, ' '), matches.length];\n}\n/**\r\n * Measure selector specificity.\r\n * @param selector - Selector to measure.\r\n * @returns Specificity.\r\n */\n\n\nfunction getSelectorSpecificity(selector) {\n  var specificity = [0, 0, 0];\n  var currentSelector = selector.replace(/:not\\(([^)]*)\\)/g, '     $1 ').replace(/{[\\s\\S]*/gm, ' ');\n  var delta = 0;\n  [currentSelector, delta] = findSelectorMatch(currentSelector, attributeRegex);\n  specificity[1] += delta;\n  [currentSelector, delta] = findSelectorMatch(currentSelector, idRegex);\n  specificity[0] += delta;\n  [currentSelector, delta] = findSelectorMatch(currentSelector, classRegex);\n  specificity[1] += delta;\n  [currentSelector, delta] = findSelectorMatch(currentSelector, pseudoElementRegex);\n  specificity[2] += delta;\n  [currentSelector, delta] = findSelectorMatch(currentSelector, pseudoClassWithBracketsRegex);\n  specificity[1] += delta;\n  [currentSelector, delta] = findSelectorMatch(currentSelector, pseudoClassRegex);\n  specificity[1] += delta;\n  currentSelector = currentSelector.replace(/[*\\s+>~]/g, ' ').replace(/[#.]/g, ' ');\n  [currentSelector, delta] = findSelectorMatch(currentSelector, elementRegex); // lgtm [js/useless-assignment-to-local]\n\n  specificity[2] += delta;\n  return specificity.join('');\n}\n\nvar PSEUDO_ZERO = .00000001;\n/**\r\n * Vector magnitude.\r\n * @param v\r\n * @returns Number result.\r\n */\n\nfunction vectorMagnitude(v) {\n  return Math.sqrt(Math.pow(v[0], 2) + Math.pow(v[1], 2));\n}\n/**\r\n * Ratio between two vectors.\r\n * @param u\r\n * @param v\r\n * @returns Number result.\r\n */\n\nfunction vectorsRatio(u, v) {\n  return (u[0] * v[0] + u[1] * v[1]) / (vectorMagnitude(u) * vectorMagnitude(v));\n}\n/**\r\n * Angle between two vectors.\r\n * @param u\r\n * @param v\r\n * @returns Number result.\r\n */\n\nfunction vectorsAngle(u, v) {\n  return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vectorsRatio(u, v));\n}\nfunction CB1(t) {\n  return t * t * t;\n}\nfunction CB2(t) {\n  return 3 * t * t * (1 - t);\n}\nfunction CB3(t) {\n  return 3 * t * (1 - t) * (1 - t);\n}\nfunction CB4(t) {\n  return (1 - t) * (1 - t) * (1 - t);\n}\nfunction QB1(t) {\n  return t * t;\n}\nfunction QB2(t) {\n  return 2 * t * (1 - t);\n}\nfunction QB3(t) {\n  return (1 - t) * (1 - t);\n}\n\nclass Property {\n  constructor(document, name, value) {\n    this.document = document;\n    this.name = name;\n    this.value = value;\n    this.isNormalizedColor = false;\n  }\n\n  static empty(document) {\n    return new Property(document, 'EMPTY', '');\n  }\n\n  split() {\n    var separator = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';\n    var {\n      document,\n      name\n    } = this;\n    return compressSpaces(this.getString()).trim().split(separator).map(value => new Property(document, name, value));\n  }\n\n  hasValue(zeroIsValue) {\n    var {\n      value\n    } = this;\n    return value !== null && value !== '' && (zeroIsValue || value !== 0) && typeof value !== 'undefined';\n  }\n\n  isString(regexp) {\n    var {\n      value\n    } = this;\n    var result = typeof value === 'string';\n\n    if (!result || !regexp) {\n      return result;\n    }\n\n    return regexp.test(value);\n  }\n\n  isUrlDefinition() {\n    return this.isString(/^url\\(/);\n  }\n\n  isPixels() {\n    if (!this.hasValue()) {\n      return false;\n    }\n\n    var asString = this.getString();\n\n    switch (true) {\n      case asString.endsWith('px'):\n      case /^[0-9]+$/.test(asString):\n        return true;\n\n      default:\n        return false;\n    }\n  }\n\n  setValue(value) {\n    this.value = value;\n    return this;\n  }\n\n  getValue(def) {\n    if (typeof def === 'undefined' || this.hasValue()) {\n      return this.value;\n    }\n\n    return def;\n  }\n\n  getNumber(def) {\n    if (!this.hasValue()) {\n      if (typeof def === 'undefined') {\n        return 0;\n      }\n\n      return parseFloat(def);\n    }\n\n    var {\n      value\n    } = this;\n    var n = parseFloat(value);\n\n    if (this.isString(/%$/)) {\n      n /= 100.0;\n    }\n\n    return n;\n  }\n\n  getString(def) {\n    if (typeof def === 'undefined' || this.hasValue()) {\n      return typeof this.value === 'undefined' ? '' : String(this.value);\n    }\n\n    return String(def);\n  }\n\n  getColor(def) {\n    var color = this.getString(def);\n\n    if (this.isNormalizedColor) {\n      return color;\n    }\n\n    this.isNormalizedColor = true;\n    color = normalizeColor(color);\n    this.value = color;\n    return color;\n  }\n\n  getDpi() {\n    return 96.0; // TODO: compute?\n  }\n\n  getRem() {\n    return this.document.rootEmSize;\n  }\n\n  getEm() {\n    return this.document.emSize;\n  }\n\n  getUnits() {\n    return this.getString().replace(/[0-9.-]/g, '');\n  }\n\n  getPixels(axisOrIsFontSize) {\n    var processPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n    if (!this.hasValue()) {\n      return 0;\n    }\n\n    var [axis, isFontSize] = typeof axisOrIsFontSize === 'boolean' ? [undefined, axisOrIsFontSize] : [axisOrIsFontSize];\n    var {\n      viewPort\n    } = this.document.screen;\n\n    switch (true) {\n      case this.isString(/vmin$/):\n        return this.getNumber() / 100.0 * Math.min(viewPort.computeSize('x'), viewPort.computeSize('y'));\n\n      case this.isString(/vmax$/):\n        return this.getNumber() / 100.0 * Math.max(viewPort.computeSize('x'), viewPort.computeSize('y'));\n\n      case this.isString(/vw$/):\n        return this.getNumber() / 100.0 * viewPort.computeSize('x');\n\n      case this.isString(/vh$/):\n        return this.getNumber() / 100.0 * viewPort.computeSize('y');\n\n      case this.isString(/rem$/):\n        return this.getNumber() * this.getRem();\n\n      case this.isString(/em$/):\n        return this.getNumber() * this.getEm();\n\n      case this.isString(/ex$/):\n        return this.getNumber() * this.getEm() / 2.0;\n\n      case this.isString(/px$/):\n        return this.getNumber();\n\n      case this.isString(/pt$/):\n        return this.getNumber() * this.getDpi() * (1.0 / 72.0);\n\n      case this.isString(/pc$/):\n        return this.getNumber() * 15;\n\n      case this.isString(/cm$/):\n        return this.getNumber() * this.getDpi() / 2.54;\n\n      case this.isString(/mm$/):\n        return this.getNumber() * this.getDpi() / 25.4;\n\n      case this.isString(/in$/):\n        return this.getNumber() * this.getDpi();\n\n      case this.isString(/%$/) && isFontSize:\n        return this.getNumber() * this.getEm();\n\n      case this.isString(/%$/):\n        return this.getNumber() * viewPort.computeSize(axis);\n\n      default:\n        {\n          var n = this.getNumber();\n\n          if (processPercent && n < 1.0) {\n            return n * viewPort.computeSize(axis);\n          }\n\n          return n;\n        }\n    }\n  }\n\n  getMilliseconds() {\n    if (!this.hasValue()) {\n      return 0;\n    }\n\n    if (this.isString(/ms$/)) {\n      return this.getNumber();\n    }\n\n    return this.getNumber() * 1000;\n  }\n\n  getRadians() {\n    if (!this.hasValue()) {\n      return 0;\n    }\n\n    switch (true) {\n      case this.isString(/deg$/):\n        return this.getNumber() * (Math.PI / 180.0);\n\n      case this.isString(/grad$/):\n        return this.getNumber() * (Math.PI / 200.0);\n\n      case this.isString(/rad$/):\n        return this.getNumber();\n\n      default:\n        return this.getNumber() * (Math.PI / 180.0);\n    }\n  }\n\n  getDefinition() {\n    var asString = this.getString();\n    var name = /#([^)'\"]+)/.exec(asString);\n\n    if (name) {\n      name = name[1];\n    }\n\n    if (!name) {\n      name = asString;\n    }\n\n    return this.document.definitions[name];\n  }\n\n  getFillStyleDefinition(element, opacity) {\n    var def = this.getDefinition();\n\n    if (!def) {\n      return null;\n    } // gradient\n\n\n    if (typeof def.createGradient === 'function') {\n      return def.createGradient(this.document.ctx, element, opacity);\n    } // pattern\n\n\n    if (typeof def.createPattern === 'function') {\n      if (def.getHrefAttribute().hasValue()) {\n        var patternTransform = def.getAttribute('patternTransform');\n        def = def.getHrefAttribute().getDefinition();\n\n        if (patternTransform.hasValue()) {\n          def.getAttribute('patternTransform', true).setValue(patternTransform.value);\n        }\n      }\n\n      return def.createPattern(this.document.ctx, element, opacity);\n    }\n\n    return null;\n  }\n\n  getTextBaseline() {\n    if (!this.hasValue()) {\n      return null;\n    }\n\n    return Property.textBaselineMapping[this.getString()];\n  }\n\n  addOpacity(opacity) {\n    var value = this.getColor();\n    var len = value.length;\n    var commas = 0; // Simulate old RGBColor version, which can't parse rgba.\n\n    for (var i = 0; i < len; i++) {\n      if (value[i] === ',') {\n        commas++;\n      }\n\n      if (commas === 3) {\n        break;\n      }\n    }\n\n    if (opacity.hasValue() && this.isString() && commas !== 3) {\n      var color = new RGBColor(value);\n\n      if (color.ok) {\n        color.alpha = opacity.getNumber();\n        value = color.toRGBA();\n      }\n    }\n\n    return new Property(this.document, this.name, value);\n  }\n\n}\nProperty.textBaselineMapping = {\n  'baseline': 'alphabetic',\n  'before-edge': 'top',\n  'text-before-edge': 'top',\n  'middle': 'middle',\n  'central': 'middle',\n  'after-edge': 'bottom',\n  'text-after-edge': 'bottom',\n  'ideographic': 'ideographic',\n  'alphabetic': 'alphabetic',\n  'hanging': 'hanging',\n  'mathematical': 'alphabetic'\n};\n\nclass ViewPort {\n  constructor() {\n    this.viewPorts = [];\n  }\n\n  clear() {\n    this.viewPorts = [];\n  }\n\n  setCurrent(width, height) {\n    this.viewPorts.push({\n      width,\n      height\n    });\n  }\n\n  removeCurrent() {\n    this.viewPorts.pop();\n  }\n\n  getCurrent() {\n    var {\n      viewPorts\n    } = this;\n    return viewPorts[viewPorts.length - 1];\n  }\n\n  get width() {\n    return this.getCurrent().width;\n  }\n\n  get height() {\n    return this.getCurrent().height;\n  }\n\n  computeSize(d) {\n    if (typeof d === 'number') {\n      return d;\n    }\n\n    if (d === 'x') {\n      return this.width;\n    }\n\n    if (d === 'y') {\n      return this.height;\n    }\n\n    return Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / Math.sqrt(2);\n  }\n\n}\n\nclass Point {\n  constructor(x, y) {\n    this.x = x;\n    this.y = y;\n  }\n\n  static parse(point) {\n    var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var [x = defaultValue, y = defaultValue] = toNumbers(point);\n    return new Point(x, y);\n  }\n\n  static parseScale(scale) {\n    var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n    var [x = defaultValue, y = x] = toNumbers(scale);\n    return new Point(x, y);\n  }\n\n  static parsePath(path) {\n    var points = toNumbers(path);\n    var len = points.length;\n    var pathPoints = [];\n\n    for (var i = 0; i < len; i += 2) {\n      pathPoints.push(new Point(points[i], points[i + 1]));\n    }\n\n    return pathPoints;\n  }\n\n  angleTo(point) {\n    return Math.atan2(point.y - this.y, point.x - this.x);\n  }\n\n  applyTransform(transform) {\n    var {\n      x,\n      y\n    } = this;\n    var xp = x * transform[0] + y * transform[2] + transform[4];\n    var yp = x * transform[1] + y * transform[3] + transform[5];\n    this.x = xp;\n    this.y = yp;\n  }\n\n}\n\nclass Mouse {\n  constructor(screen) {\n    this.screen = screen;\n    this.working = false;\n    this.events = [];\n    this.eventElements = []; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\n    this.onClick = this.onClick.bind(this); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\n    this.onMouseMove = this.onMouseMove.bind(this);\n  }\n\n  isWorking() {\n    return this.working;\n  }\n\n  start() {\n    if (this.working) {\n      return;\n    }\n\n    var {\n      screen,\n      onClick,\n      onMouseMove\n    } = this;\n    var canvas = screen.ctx.canvas;\n    canvas.onclick = onClick;\n    canvas.onmousemove = onMouseMove;\n    this.working = true;\n  }\n\n  stop() {\n    if (!this.working) {\n      return;\n    }\n\n    var canvas = this.screen.ctx.canvas;\n    this.working = false;\n    canvas.onclick = null;\n    canvas.onmousemove = null;\n  }\n\n  hasEvents() {\n    return this.working && this.events.length > 0;\n  }\n\n  runEvents() {\n    if (!this.working) {\n      return;\n    }\n\n    var {\n      screen: document,\n      events,\n      eventElements\n    } = this;\n    var {\n      style\n    } = document.ctx.canvas;\n\n    if (style) {\n      style.cursor = '';\n    }\n\n    events.forEach((_ref, i) => {\n      var {\n        run\n      } = _ref;\n      var element = eventElements[i];\n\n      while (element) {\n        run(element);\n        element = element.parent;\n      }\n    }); // done running, clear\n\n    this.events = [];\n    this.eventElements = [];\n  }\n\n  checkPath(element, ctx) {\n    if (!this.working || !ctx) {\n      return;\n    }\n\n    var {\n      events,\n      eventElements\n    } = this;\n    events.forEach((_ref2, i) => {\n      var {\n        x,\n        y\n      } = _ref2;\n\n      if (!eventElements[i] && ctx.isPointInPath && ctx.isPointInPath(x, y)) {\n        eventElements[i] = element;\n      }\n    });\n  }\n\n  checkBoundingBox(element, boundingBox) {\n    if (!this.working || !boundingBox) {\n      return;\n    }\n\n    var {\n      events,\n      eventElements\n    } = this;\n    events.forEach((_ref3, i) => {\n      var {\n        x,\n        y\n      } = _ref3;\n\n      if (!eventElements[i] && boundingBox.isPointInBox(x, y)) {\n        eventElements[i] = element;\n      }\n    });\n  }\n\n  mapXY(x, y) {\n    var {\n      window,\n      ctx\n    } = this.screen;\n    var point = new Point(x, y);\n    var element = ctx.canvas;\n\n    while (element) {\n      point.x -= element.offsetLeft;\n      point.y -= element.offsetTop;\n      element = element.offsetParent;\n    }\n\n    if (window.scrollX) {\n      point.x += window.scrollX;\n    }\n\n    if (window.scrollY) {\n      point.y += window.scrollY;\n    }\n\n    return point;\n  }\n\n  onClick(event) {\n    var {\n      x,\n      y\n    } = this.mapXY(event.clientX, event.clientY);\n    this.events.push({\n      type: 'onclick',\n      x,\n      y,\n\n      run(eventTarget) {\n        if (eventTarget.onClick) {\n          eventTarget.onClick();\n        }\n      }\n\n    });\n  }\n\n  onMouseMove(event) {\n    var {\n      x,\n      y\n    } = this.mapXY(event.clientX, event.clientY);\n    this.events.push({\n      type: 'onmousemove',\n      x,\n      y,\n\n      run(eventTarget) {\n        if (eventTarget.onMouseMove) {\n          eventTarget.onMouseMove();\n        }\n      }\n\n    });\n  }\n\n}\n\nvar defaultWindow = typeof window !== 'undefined' ? window : null;\nvar defaultFetch$1 = typeof fetch !== 'undefined' ? fetch.bind(undefined) // `fetch` depends on context: `someObject.fetch(...)` will throw error.\n: null;\nclass Screen {\n  constructor(ctx) {\n    var {\n      fetch = defaultFetch$1,\n      window = defaultWindow\n    } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    this.ctx = ctx;\n    this.FRAMERATE = 30;\n    this.MAX_VIRTUAL_PIXELS = 30000;\n    this.CLIENT_WIDTH = 800;\n    this.CLIENT_HEIGHT = 600;\n    this.viewPort = new ViewPort();\n    this.mouse = new Mouse(this);\n    this.animations = [];\n    this.waits = [];\n    this.frameDuration = 0;\n    this.isReadyLock = false;\n    this.isFirstRender = true;\n    this.intervalId = null;\n    this.window = window;\n    this.fetch = fetch;\n  }\n\n  wait(checker) {\n    this.waits.push(checker);\n  }\n\n  ready() {\n    // eslint-disable-next-line @typescript-eslint/no-misused-promises\n    if (!this.readyPromise) {\n      return Promise.resolve();\n    }\n\n    return this.readyPromise;\n  }\n\n  isReady() {\n    if (this.isReadyLock) {\n      return true;\n    }\n\n    var isReadyLock = this.waits.every(_ => _());\n\n    if (isReadyLock) {\n      this.waits = [];\n\n      if (this.resolveReady) {\n        this.resolveReady();\n      }\n    }\n\n    this.isReadyLock = isReadyLock;\n    return isReadyLock;\n  }\n\n  setDefaults(ctx) {\n    // initial values and defaults\n    ctx.strokeStyle = 'rgba(0,0,0,0)';\n    ctx.lineCap = 'butt';\n    ctx.lineJoin = 'miter';\n    ctx.miterLimit = 4;\n  }\n\n  setViewBox(_ref) {\n    var {\n      document,\n      ctx,\n      aspectRatio,\n      width,\n      desiredWidth,\n      height,\n      desiredHeight,\n      minX = 0,\n      minY = 0,\n      refX,\n      refY,\n      clip = false,\n      clipX = 0,\n      clipY = 0\n    } = _ref;\n    // aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute\n    var cleanAspectRatio = compressSpaces(aspectRatio).replace(/^defer\\s/, ''); // ignore defer\n\n    var [aspectRatioAlign, aspectRatioMeetOrSlice] = cleanAspectRatio.split(' ');\n    var align = aspectRatioAlign || 'xMidYMid';\n    var meetOrSlice = aspectRatioMeetOrSlice || 'meet'; // calculate scale\n\n    var scaleX = width / desiredWidth;\n    var scaleY = height / desiredHeight;\n    var scaleMin = Math.min(scaleX, scaleY);\n    var scaleMax = Math.max(scaleX, scaleY);\n    var finalDesiredWidth = desiredWidth;\n    var finalDesiredHeight = desiredHeight;\n\n    if (meetOrSlice === 'meet') {\n      finalDesiredWidth *= scaleMin;\n      finalDesiredHeight *= scaleMin;\n    }\n\n    if (meetOrSlice === 'slice') {\n      finalDesiredWidth *= scaleMax;\n      finalDesiredHeight *= scaleMax;\n    }\n\n    var refXProp = new Property(document, 'refX', refX);\n    var refYProp = new Property(document, 'refY', refY);\n    var hasRefs = refXProp.hasValue() && refYProp.hasValue();\n\n    if (hasRefs) {\n      ctx.translate(-scaleMin * refXProp.getPixels('x'), -scaleMin * refYProp.getPixels('y'));\n    }\n\n    if (clip) {\n      var scaledClipX = scaleMin * clipX;\n      var scaledClipY = scaleMin * clipY;\n      ctx.beginPath();\n      ctx.moveTo(scaledClipX, scaledClipY);\n      ctx.lineTo(width, scaledClipY);\n      ctx.lineTo(width, height);\n      ctx.lineTo(scaledClipX, height);\n      ctx.closePath();\n      ctx.clip();\n    }\n\n    if (!hasRefs) {\n      var isMeetMinY = meetOrSlice === 'meet' && scaleMin === scaleY;\n      var isSliceMaxY = meetOrSlice === 'slice' && scaleMax === scaleY;\n      var isMeetMinX = meetOrSlice === 'meet' && scaleMin === scaleX;\n      var isSliceMaxX = meetOrSlice === 'slice' && scaleMax === scaleX;\n\n      if (align.startsWith('xMid') && (isMeetMinY || isSliceMaxY)) {\n        ctx.translate(width / 2.0 - finalDesiredWidth / 2.0, 0);\n      }\n\n      if (align.endsWith('YMid') && (isMeetMinX || isSliceMaxX)) {\n        ctx.translate(0, height / 2.0 - finalDesiredHeight / 2.0);\n      }\n\n      if (align.startsWith('xMax') && (isMeetMinY || isSliceMaxY)) {\n        ctx.translate(width - finalDesiredWidth, 0);\n      }\n\n      if (align.endsWith('YMax') && (isMeetMinX || isSliceMaxX)) {\n        ctx.translate(0, height - finalDesiredHeight);\n      }\n    } // scale\n\n\n    switch (true) {\n      case align === 'none':\n        ctx.scale(scaleX, scaleY);\n        break;\n\n      case meetOrSlice === 'meet':\n        ctx.scale(scaleMin, scaleMin);\n        break;\n\n      case meetOrSlice === 'slice':\n        ctx.scale(scaleMax, scaleMax);\n        break;\n    } // translate\n\n\n    ctx.translate(-minX, -minY);\n  }\n\n  start(element) {\n    var {\n      enableRedraw = false,\n      ignoreMouse = false,\n      ignoreAnimation = false,\n      ignoreDimensions = false,\n      ignoreClear = false,\n      forceRedraw,\n      scaleWidth,\n      scaleHeight,\n      offsetX,\n      offsetY\n    } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var {\n      FRAMERATE,\n      mouse\n    } = this;\n    var frameDuration = 1000 / FRAMERATE;\n    this.frameDuration = frameDuration;\n    this.readyPromise = new Promise(resolve => {\n      this.resolveReady = resolve;\n    });\n\n    if (this.isReady()) {\n      this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY);\n    }\n\n    if (!enableRedraw) {\n      return;\n    }\n\n    var now = Date.now();\n    var then = now;\n    var delta = 0;\n\n    var tick = () => {\n      now = Date.now();\n      delta = now - then;\n\n      if (delta >= frameDuration) {\n        then = now - delta % frameDuration;\n\n        if (this.shouldUpdate(ignoreAnimation, forceRedraw)) {\n          this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY);\n          mouse.runEvents();\n        }\n      }\n\n      this.intervalId = requestAnimationFrame(tick);\n    };\n\n    if (!ignoreMouse) {\n      mouse.start();\n    }\n\n    this.intervalId = requestAnimationFrame(tick);\n  }\n\n  stop() {\n    if (this.intervalId) {\n      requestAnimationFrame.cancel(this.intervalId);\n      this.intervalId = null;\n    }\n\n    this.mouse.stop();\n  }\n\n  shouldUpdate(ignoreAnimation, forceRedraw) {\n    // need update from animations?\n    if (!ignoreAnimation) {\n      var {\n        frameDuration\n      } = this;\n      var shouldUpdate = this.animations.reduce((shouldUpdate, animation) => animation.update(frameDuration) || shouldUpdate, false);\n\n      if (shouldUpdate) {\n        return true;\n      }\n    } // need update from redraw?\n\n\n    if (typeof forceRedraw === 'function' && forceRedraw()) {\n      return true;\n    }\n\n    if (!this.isReadyLock && this.isReady()) {\n      return true;\n    } // need update from mouse events?\n\n\n    if (this.mouse.hasEvents()) {\n      return true;\n    }\n\n    return false;\n  }\n\n  render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY) {\n    var {\n      CLIENT_WIDTH,\n      CLIENT_HEIGHT,\n      viewPort,\n      ctx,\n      isFirstRender\n    } = this;\n    var canvas = ctx.canvas;\n    viewPort.clear();\n\n    if (canvas.width && canvas.height) {\n      viewPort.setCurrent(canvas.width, canvas.height);\n    } else {\n      viewPort.setCurrent(CLIENT_WIDTH, CLIENT_HEIGHT);\n    }\n\n    var widthStyle = element.getStyle('width');\n    var heightStyle = element.getStyle('height');\n\n    if (!ignoreDimensions && (isFirstRender || typeof scaleWidth !== 'number' && typeof scaleHeight !== 'number')) {\n      // set canvas size\n      if (widthStyle.hasValue()) {\n        canvas.width = widthStyle.getPixels('x');\n\n        if (canvas.style) {\n          canvas.style.width = \"\".concat(canvas.width, \"px\");\n        }\n      }\n\n      if (heightStyle.hasValue()) {\n        canvas.height = heightStyle.getPixels('y');\n\n        if (canvas.style) {\n          canvas.style.height = \"\".concat(canvas.height, \"px\");\n        }\n      }\n    }\n\n    var cWidth = canvas.clientWidth || canvas.width;\n    var cHeight = canvas.clientHeight || canvas.height;\n\n    if (ignoreDimensions && widthStyle.hasValue() && heightStyle.hasValue()) {\n      cWidth = widthStyle.getPixels('x');\n      cHeight = heightStyle.getPixels('y');\n    }\n\n    viewPort.setCurrent(cWidth, cHeight);\n\n    if (typeof offsetX === 'number') {\n      element.getAttribute('x', true).setValue(offsetX);\n    }\n\n    if (typeof offsetY === 'number') {\n      element.getAttribute('y', true).setValue(offsetY);\n    }\n\n    if (typeof scaleWidth === 'number' || typeof scaleHeight === 'number') {\n      var viewBox = toNumbers(element.getAttribute('viewBox').getString());\n      var xRatio = 0;\n      var yRatio = 0;\n\n      if (typeof scaleWidth === 'number') {\n        var _widthStyle = element.getStyle('width');\n\n        if (_widthStyle.hasValue()) {\n          xRatio = _widthStyle.getPixels('x') / scaleWidth;\n        } else if (!isNaN(viewBox[2])) {\n          xRatio = viewBox[2] / scaleWidth;\n        }\n      }\n\n      if (typeof scaleHeight === 'number') {\n        var _heightStyle = element.getStyle('height');\n\n        if (_heightStyle.hasValue()) {\n          yRatio = _heightStyle.getPixels('y') / scaleHeight;\n        } else if (!isNaN(viewBox[3])) {\n          yRatio = viewBox[3] / scaleHeight;\n        }\n      }\n\n      if (!xRatio) {\n        xRatio = yRatio;\n      }\n\n      if (!yRatio) {\n        yRatio = xRatio;\n      }\n\n      element.getAttribute('width', true).setValue(scaleWidth);\n      element.getAttribute('height', true).setValue(scaleHeight);\n      var transformStyle = element.getStyle('transform', true, true);\n      transformStyle.setValue(\"\".concat(transformStyle.getString(), \" scale(\").concat(1.0 / xRatio, \", \").concat(1.0 / yRatio, \")\"));\n    } // clear and render\n\n\n    if (!ignoreClear) {\n      ctx.clearRect(0, 0, cWidth, cHeight);\n    }\n\n    element.render(ctx);\n\n    if (isFirstRender) {\n      this.isFirstRender = false;\n    }\n  }\n\n}\nScreen.defaultWindow = defaultWindow;\nScreen.defaultFetch = defaultFetch$1;\n\nvar {\n  defaultFetch\n} = Screen;\nvar DefaultDOMParser = typeof DOMParser !== 'undefined' ? DOMParser : null;\nclass Parser {\n  constructor() {\n    var {\n      fetch = defaultFetch,\n      DOMParser = DefaultDOMParser\n    } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    this.fetch = fetch;\n    this.DOMParser = DOMParser;\n  }\n\n  parse(resource) {\n    var _this = this;\n\n    return _asyncToGenerator(function* () {\n      if (resource.startsWith('<')) {\n        return _this.parseFromString(resource);\n      }\n\n      return _this.load(resource);\n    })();\n  }\n\n  parseFromString(xml) {\n    var parser = new this.DOMParser();\n\n    try {\n      return this.checkDocument(parser.parseFromString(xml, 'image/svg+xml'));\n    } catch (err) {\n      return this.checkDocument(parser.parseFromString(xml, 'text/xml'));\n    }\n  }\n\n  checkDocument(document) {\n    var parserError = document.getElementsByTagName('parsererror')[0];\n\n    if (parserError) {\n      throw new Error(parserError.textContent);\n    }\n\n    return document;\n  }\n\n  load(url) {\n    var _this2 = this;\n\n    return _asyncToGenerator(function* () {\n      var response = yield _this2.fetch(url);\n      var xml = yield response.text();\n      return _this2.parseFromString(xml);\n    })();\n  }\n\n}\n\nclass Translate {\n  constructor(_, point) {\n    this.type = 'translate';\n    this.point = null;\n    this.point = Point.parse(point);\n  }\n\n  apply(ctx) {\n    var {\n      x,\n      y\n    } = this.point;\n    ctx.translate(x || 0.0, y || 0.0);\n  }\n\n  unapply(ctx) {\n    var {\n      x,\n      y\n    } = this.point;\n    ctx.translate(-1.0 * x || 0.0, -1.0 * y || 0.0);\n  }\n\n  applyToPoint(point) {\n    var {\n      x,\n      y\n    } = this.point;\n    point.applyTransform([1, 0, 0, 1, x || 0.0, y || 0.0]);\n  }\n\n}\n\nclass Rotate {\n  constructor(document, rotate, transformOrigin) {\n    this.type = 'rotate';\n    this.angle = null;\n    this.originX = null;\n    this.originY = null;\n    this.cx = 0;\n    this.cy = 0;\n    var numbers = toNumbers(rotate);\n    this.angle = new Property(document, 'angle', numbers[0]);\n    this.originX = transformOrigin[0];\n    this.originY = transformOrigin[1];\n    this.cx = numbers[1] || 0;\n    this.cy = numbers[2] || 0;\n  }\n\n  apply(ctx) {\n    var {\n      cx,\n      cy,\n      originX,\n      originY,\n      angle\n    } = this;\n    var tx = cx + originX.getPixels('x');\n    var ty = cy + originY.getPixels('y');\n    ctx.translate(tx, ty);\n    ctx.rotate(angle.getRadians());\n    ctx.translate(-tx, -ty);\n  }\n\n  unapply(ctx) {\n    var {\n      cx,\n      cy,\n      originX,\n      originY,\n      angle\n    } = this;\n    var tx = cx + originX.getPixels('x');\n    var ty = cy + originY.getPixels('y');\n    ctx.translate(tx, ty);\n    ctx.rotate(-1.0 * angle.getRadians());\n    ctx.translate(-tx, -ty);\n  }\n\n  applyToPoint(point) {\n    var {\n      cx,\n      cy,\n      angle\n    } = this;\n    var rad = angle.getRadians();\n    point.applyTransform([1, 0, 0, 1, cx || 0.0, cy || 0.0 // this.p.y\n    ]);\n    point.applyTransform([Math.cos(rad), Math.sin(rad), -Math.sin(rad), Math.cos(rad), 0, 0]);\n    point.applyTransform([1, 0, 0, 1, -cx || 0.0, -cy || 0.0 // -this.p.y\n    ]);\n  }\n\n}\n\nclass Scale {\n  constructor(_, scale, transformOrigin) {\n    this.type = 'scale';\n    this.scale = null;\n    this.originX = null;\n    this.originY = null;\n    var scaleSize = Point.parseScale(scale); // Workaround for node-canvas\n\n    if (scaleSize.x === 0 || scaleSize.y === 0) {\n      scaleSize.x = PSEUDO_ZERO;\n      scaleSize.y = PSEUDO_ZERO;\n    }\n\n    this.scale = scaleSize;\n    this.originX = transformOrigin[0];\n    this.originY = transformOrigin[1];\n  }\n\n  apply(ctx) {\n    var {\n      scale: {\n        x,\n        y\n      },\n      originX,\n      originY\n    } = this;\n    var tx = originX.getPixels('x');\n    var ty = originY.getPixels('y');\n    ctx.translate(tx, ty);\n    ctx.scale(x, y || x);\n    ctx.translate(-tx, -ty);\n  }\n\n  unapply(ctx) {\n    var {\n      scale: {\n        x,\n        y\n      },\n      originX,\n      originY\n    } = this;\n    var tx = originX.getPixels('x');\n    var ty = originY.getPixels('y');\n    ctx.translate(tx, ty);\n    ctx.scale(1.0 / x, 1.0 / y || x);\n    ctx.translate(-tx, -ty);\n  }\n\n  applyToPoint(point) {\n    var {\n      x,\n      y\n    } = this.scale;\n    point.applyTransform([x || 0.0, 0, 0, y || 0.0, 0, 0]);\n  }\n\n}\n\nclass Matrix {\n  constructor(_, matrix, transformOrigin) {\n    this.type = 'matrix';\n    this.matrix = [];\n    this.originX = null;\n    this.originY = null;\n    this.matrix = toNumbers(matrix);\n    this.originX = transformOrigin[0];\n    this.originY = transformOrigin[1];\n  }\n\n  apply(ctx) {\n    var {\n      originX,\n      originY,\n      matrix\n    } = this;\n    var tx = originX.getPixels('x');\n    var ty = originY.getPixels('y');\n    ctx.translate(tx, ty);\n    ctx.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n    ctx.translate(-tx, -ty);\n  }\n\n  unapply(ctx) {\n    var {\n      originX,\n      originY,\n      matrix\n    } = this;\n    var a = matrix[0];\n    var b = matrix[2];\n    var c = matrix[4];\n    var d = matrix[1];\n    var e = matrix[3];\n    var f = matrix[5];\n    var g = 0.0;\n    var h = 0.0;\n    var i = 1.0;\n    var det = 1 / (a * (e * i - f * h) - b * (d * i - f * g) + c * (d * h - e * g));\n    var tx = originX.getPixels('x');\n    var ty = originY.getPixels('y');\n    ctx.translate(tx, ty);\n    ctx.transform(det * (e * i - f * h), det * (f * g - d * i), det * (c * h - b * i), det * (a * i - c * g), det * (b * f - c * e), det * (c * d - a * f));\n    ctx.translate(-tx, -ty);\n  }\n\n  applyToPoint(point) {\n    point.applyTransform(this.matrix);\n  }\n\n}\n\nclass Skew extends Matrix {\n  constructor(document, skew, transformOrigin) {\n    super(document, skew, transformOrigin);\n    this.type = 'skew';\n    this.angle = null;\n    this.angle = new Property(document, 'angle', skew);\n  }\n\n}\n\nclass SkewX extends Skew {\n  constructor(document, skew, transformOrigin) {\n    super(document, skew, transformOrigin);\n    this.type = 'skewX';\n    this.matrix = [1, 0, Math.tan(this.angle.getRadians()), 1, 0, 0];\n  }\n\n}\n\nclass SkewY extends Skew {\n  constructor(document, skew, transformOrigin) {\n    super(document, skew, transformOrigin);\n    this.type = 'skewY';\n    this.matrix = [1, Math.tan(this.angle.getRadians()), 0, 1, 0, 0];\n  }\n\n}\n\nfunction parseTransforms(transform) {\n  return compressSpaces(transform).trim().replace(/\\)([a-zA-Z])/g, ') $1').replace(/\\)(\\s?,\\s?)/g, ') ').split(/\\s(?=[a-z])/);\n}\n\nfunction parseTransform(transform) {\n  var [type, value] = transform.split('(');\n  return [type.trim(), value.trim().replace(')', '')];\n}\n\nclass Transform {\n  constructor(document, transform, transformOrigin) {\n    this.document = document;\n    this.transforms = [];\n    var data = parseTransforms(transform);\n    data.forEach(transform => {\n      if (transform === 'none') {\n        return;\n      }\n\n      var [type, value] = parseTransform(transform);\n      var TransformType = Transform.transformTypes[type];\n\n      if (typeof TransformType !== 'undefined') {\n        this.transforms.push(new TransformType(this.document, value, transformOrigin));\n      }\n    });\n  }\n\n  static fromElement(document, element) {\n    var transformStyle = element.getStyle('transform', false, true);\n    var [transformOriginXProperty, transformOriginYProperty = transformOriginXProperty] = element.getStyle('transform-origin', false, true).split();\n    var transformOrigin = [transformOriginXProperty, transformOriginYProperty];\n\n    if (transformStyle.hasValue()) {\n      return new Transform(document, transformStyle.getString(), transformOrigin);\n    }\n\n    return null;\n  }\n\n  apply(ctx) {\n    var {\n      transforms\n    } = this;\n    var len = transforms.length;\n\n    for (var i = 0; i < len; i++) {\n      transforms[i].apply(ctx);\n    }\n  }\n\n  unapply(ctx) {\n    var {\n      transforms\n    } = this;\n    var len = transforms.length;\n\n    for (var i = len - 1; i >= 0; i--) {\n      transforms[i].unapply(ctx);\n    }\n  } // TODO: applyToPoint unused ... remove?\n\n\n  applyToPoint(point) {\n    var {\n      transforms\n    } = this;\n    var len = transforms.length;\n\n    for (var i = 0; i < len; i++) {\n      transforms[i].applyToPoint(point);\n    }\n  }\n\n}\nTransform.transformTypes = {\n  translate: Translate,\n  rotate: Rotate,\n  scale: Scale,\n  matrix: Matrix,\n  skewX: SkewX,\n  skewY: SkewY\n};\n\nclass Element {\n  constructor(document, node) {\n    var captureTextNodes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n    this.document = document;\n    this.node = node;\n    this.captureTextNodes = captureTextNodes;\n    this.attributes = {};\n    this.styles = {};\n    this.stylesSpecificity = {};\n    this.animationFrozen = false;\n    this.animationFrozenValue = '';\n    this.parent = null;\n    this.children = [];\n\n    if (!node || node.nodeType !== 1) {\n      // ELEMENT_NODE\n      return;\n    } // add attributes\n\n\n    Array.from(node.attributes).forEach(attribute => {\n      var nodeName = normalizeAttributeName(attribute.nodeName);\n      this.attributes[nodeName] = new Property(document, nodeName, attribute.value);\n    });\n    this.addStylesFromStyleDefinition(); // add inline styles\n\n    if (this.getAttribute('style').hasValue()) {\n      var styles = this.getAttribute('style').getString().split(';').map(_ => _.trim());\n      styles.forEach(style => {\n        if (!style) {\n          return;\n        }\n\n        var [name, value] = style.split(':').map(_ => _.trim());\n        this.styles[name] = new Property(document, name, value);\n      });\n    }\n\n    var {\n      definitions\n    } = document;\n    var id = this.getAttribute('id'); // add id\n\n    if (id.hasValue()) {\n      if (!definitions[id.getString()]) {\n        definitions[id.getString()] = this;\n      }\n    }\n\n    Array.from(node.childNodes).forEach(childNode => {\n      if (childNode.nodeType === 1) {\n        this.addChild(childNode); // ELEMENT_NODE\n      } else if (captureTextNodes && (childNode.nodeType === 3 || childNode.nodeType === 4)) {\n        var textNode = document.createTextNode(childNode);\n\n        if (textNode.getText().length > 0) {\n          this.addChild(textNode); // TEXT_NODE\n        }\n      }\n    });\n  }\n\n  getAttribute(name) {\n    var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    var attr = this.attributes[name];\n\n    if (!attr && createIfNotExists) {\n      var _attr = new Property(this.document, name, '');\n\n      this.attributes[name] = _attr;\n      return _attr;\n    }\n\n    return attr || Property.empty(this.document);\n  }\n\n  getHrefAttribute() {\n    for (var key in this.attributes) {\n      if (key === 'href' || key.endsWith(':href')) {\n        return this.attributes[key];\n      }\n    }\n\n    return Property.empty(this.document);\n  }\n\n  getStyle(name) {\n    var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    var skipAncestors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n    var style = this.styles[name];\n\n    if (style) {\n      return style;\n    }\n\n    var attr = this.getAttribute(name);\n\n    if (attr !== null && attr !== void 0 && attr.hasValue()) {\n      this.styles[name] = attr; // move up to me to cache\n\n      return attr;\n    }\n\n    if (!skipAncestors) {\n      var {\n        parent\n      } = this;\n\n      if (parent) {\n        var parentStyle = parent.getStyle(name);\n\n        if (parentStyle !== null && parentStyle !== void 0 && parentStyle.hasValue()) {\n          return parentStyle;\n        }\n      }\n    }\n\n    if (createIfNotExists) {\n      var _style = new Property(this.document, name, '');\n\n      this.styles[name] = _style;\n      return _style;\n    }\n\n    return style || Property.empty(this.document);\n  }\n\n  render(ctx) {\n    // don't render display=none\n    // don't render visibility=hidden\n    if (this.getStyle('display').getString() === 'none' || this.getStyle('visibility').getString() === 'hidden') {\n      return;\n    }\n\n    ctx.save();\n\n    if (this.getStyle('mask').hasValue()) {\n      // mask\n      var mask = this.getStyle('mask').getDefinition();\n\n      if (mask) {\n        this.applyEffects(ctx);\n        mask.apply(ctx, this);\n      }\n    } else if (this.getStyle('filter').getValue('none') !== 'none') {\n      // filter\n      var filter = this.getStyle('filter').getDefinition();\n\n      if (filter) {\n        this.applyEffects(ctx);\n        filter.apply(ctx, this);\n      }\n    } else {\n      this.setContext(ctx);\n      this.renderChildren(ctx);\n      this.clearContext(ctx);\n    }\n\n    ctx.restore();\n  }\n\n  setContext(_) {// NO RENDER\n  }\n\n  applyEffects(ctx) {\n    // transform\n    var transform = Transform.fromElement(this.document, this);\n\n    if (transform) {\n      transform.apply(ctx);\n    } // clip\n\n\n    var clipPathStyleProp = this.getStyle('clip-path', false, true);\n\n    if (clipPathStyleProp.hasValue()) {\n      var clip = clipPathStyleProp.getDefinition();\n\n      if (clip) {\n        clip.apply(ctx);\n      }\n    }\n  }\n\n  clearContext(_) {// NO RENDER\n  }\n\n  renderChildren(ctx) {\n    this.children.forEach(child => {\n      child.render(ctx);\n    });\n  }\n\n  addChild(childNode) {\n    var child = childNode instanceof Element ? childNode : this.document.createElement(childNode);\n    child.parent = this;\n\n    if (!Element.ignoreChildTypes.includes(child.type)) {\n      this.children.push(child);\n    }\n  }\n\n  matchesSelector(selector) {\n    var _node$getAttribute;\n\n    var {\n      node\n    } = this;\n\n    if (typeof node.matches === 'function') {\n      return node.matches(selector);\n    }\n\n    var styleClasses = (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'class');\n\n    if (!styleClasses || styleClasses === '') {\n      return false;\n    }\n\n    return styleClasses.split(' ').some(styleClass => \".\".concat(styleClass) === selector);\n  }\n\n  addStylesFromStyleDefinition() {\n    var {\n      styles,\n      stylesSpecificity\n    } = this.document;\n\n    for (var selector in styles) {\n      if (!selector.startsWith('@') && this.matchesSelector(selector)) {\n        var style = styles[selector];\n        var specificity = stylesSpecificity[selector];\n\n        if (style) {\n          for (var name in style) {\n            var existingSpecificity = this.stylesSpecificity[name];\n\n            if (typeof existingSpecificity === 'undefined') {\n              existingSpecificity = '000';\n            }\n\n            if (specificity >= existingSpecificity) {\n              this.styles[name] = style[name];\n              this.stylesSpecificity[name] = specificity;\n            }\n          }\n        }\n      }\n    }\n  }\n\n  removeStyles(element, ignoreStyles) {\n    var toRestore = ignoreStyles.reduce((toRestore, name) => {\n      var styleProp = element.getStyle(name);\n\n      if (!styleProp.hasValue()) {\n        return toRestore;\n      }\n\n      var value = styleProp.getString();\n      styleProp.setValue('');\n      return [...toRestore, [name, value]];\n    }, []);\n    return toRestore;\n  }\n\n  restoreStyles(element, styles) {\n    styles.forEach(_ref => {\n      var [name, value] = _ref;\n      element.getStyle(name, true).setValue(value);\n    });\n  }\n\n  isFirstChild() {\n    var _this$parent;\n\n    return ((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.children.indexOf(this)) === 0;\n  }\n\n}\nElement.ignoreChildTypes = ['title'];\n\nclass UnknownElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n  }\n\n}\n\nfunction wrapFontFamily(fontFamily) {\n  var trimmed = fontFamily.trim();\n  return /^('|\")/.test(trimmed) ? trimmed : \"\\\"\".concat(trimmed, \"\\\"\");\n}\n\nfunction prepareFontFamily(fontFamily) {\n  return typeof process === 'undefined' ? fontFamily : fontFamily.trim().split(',').map(wrapFontFamily).join(',');\n}\n/**\r\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\r\n * @param fontStyle\r\n * @returns CSS font style.\r\n */\n\n\nfunction prepareFontStyle(fontStyle) {\n  if (!fontStyle) {\n    return '';\n  }\n\n  var targetFontStyle = fontStyle.trim().toLowerCase();\n\n  switch (targetFontStyle) {\n    case 'normal':\n    case 'italic':\n    case 'oblique':\n    case 'inherit':\n    case 'initial':\n    case 'unset':\n      return targetFontStyle;\n\n    default:\n      if (/^oblique\\s+(-|)\\d+deg$/.test(targetFontStyle)) {\n        return targetFontStyle;\n      }\n\n      return '';\n  }\n}\n/**\r\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\r\n * @param fontWeight\r\n * @returns CSS font weight.\r\n */\n\n\nfunction prepareFontWeight(fontWeight) {\n  if (!fontWeight) {\n    return '';\n  }\n\n  var targetFontWeight = fontWeight.trim().toLowerCase();\n\n  switch (targetFontWeight) {\n    case 'normal':\n    case 'bold':\n    case 'lighter':\n    case 'bolder':\n    case 'inherit':\n    case 'initial':\n    case 'unset':\n      return targetFontWeight;\n\n    default:\n      if (/^[\\d.]+$/.test(targetFontWeight)) {\n        return targetFontWeight;\n      }\n\n      return '';\n  }\n}\n\nclass Font {\n  constructor(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) {\n    var inheritFont = inherit ? typeof inherit === 'string' ? Font.parse(inherit) : inherit : {};\n    this.fontFamily = fontFamily || inheritFont.fontFamily;\n    this.fontSize = fontSize || inheritFont.fontSize;\n    this.fontStyle = fontStyle || inheritFont.fontStyle;\n    this.fontWeight = fontWeight || inheritFont.fontWeight;\n    this.fontVariant = fontVariant || inheritFont.fontVariant;\n  }\n\n  static parse() {\n    var font = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var inherit = arguments.length > 1 ? arguments[1] : undefined;\n    var fontStyle = '';\n    var fontVariant = '';\n    var fontWeight = '';\n    var fontSize = '';\n    var fontFamily = '';\n    var parts = compressSpaces(font).trim().split(' ');\n    var set = {\n      fontSize: false,\n      fontStyle: false,\n      fontWeight: false,\n      fontVariant: false\n    };\n    parts.forEach(part => {\n      switch (true) {\n        case !set.fontStyle && Font.styles.includes(part):\n          if (part !== 'inherit') {\n            fontStyle = part;\n          }\n\n          set.fontStyle = true;\n          break;\n\n        case !set.fontVariant && Font.variants.includes(part):\n          if (part !== 'inherit') {\n            fontVariant = part;\n          }\n\n          set.fontStyle = true;\n          set.fontVariant = true;\n          break;\n\n        case !set.fontWeight && Font.weights.includes(part):\n          if (part !== 'inherit') {\n            fontWeight = part;\n          }\n\n          set.fontStyle = true;\n          set.fontVariant = true;\n          set.fontWeight = true;\n          break;\n\n        case !set.fontSize:\n          if (part !== 'inherit') {\n            [fontSize] = part.split('/');\n          }\n\n          set.fontStyle = true;\n          set.fontVariant = true;\n          set.fontWeight = true;\n          set.fontSize = true;\n          break;\n\n        default:\n          if (part !== 'inherit') {\n            fontFamily += part;\n          }\n\n      }\n    });\n    return new Font(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit);\n  }\n\n  toString() {\n    return [prepareFontStyle(this.fontStyle), this.fontVariant, prepareFontWeight(this.fontWeight), this.fontSize, // Wrap fontFamily only on nodejs and only for canvas.ctx\n    prepareFontFamily(this.fontFamily)].join(' ').trim();\n  }\n\n}\nFont.styles = 'normal|italic|oblique|inherit';\nFont.variants = 'normal|small-caps|inherit';\nFont.weights = 'normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit';\n\nclass BoundingBox {\n  constructor() {\n    var x1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.NaN;\n    var y1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.NaN;\n    var x2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Number.NaN;\n    var y2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Number.NaN;\n    this.x1 = x1;\n    this.y1 = y1;\n    this.x2 = x2;\n    this.y2 = y2;\n    this.addPoint(x1, y1);\n    this.addPoint(x2, y2);\n  }\n\n  get x() {\n    return this.x1;\n  }\n\n  get y() {\n    return this.y1;\n  }\n\n  get width() {\n    return this.x2 - this.x1;\n  }\n\n  get height() {\n    return this.y2 - this.y1;\n  }\n\n  addPoint(x, y) {\n    if (typeof x !== 'undefined') {\n      if (isNaN(this.x1) || isNaN(this.x2)) {\n        this.x1 = x;\n        this.x2 = x;\n      }\n\n      if (x < this.x1) {\n        this.x1 = x;\n      }\n\n      if (x > this.x2) {\n        this.x2 = x;\n      }\n    }\n\n    if (typeof y !== 'undefined') {\n      if (isNaN(this.y1) || isNaN(this.y2)) {\n        this.y1 = y;\n        this.y2 = y;\n      }\n\n      if (y < this.y1) {\n        this.y1 = y;\n      }\n\n      if (y > this.y2) {\n        this.y2 = y;\n      }\n    }\n  }\n\n  addX(x) {\n    this.addPoint(x, null);\n  }\n\n  addY(y) {\n    this.addPoint(null, y);\n  }\n\n  addBoundingBox(boundingBox) {\n    if (!boundingBox) {\n      return;\n    }\n\n    var {\n      x1,\n      y1,\n      x2,\n      y2\n    } = boundingBox;\n    this.addPoint(x1, y1);\n    this.addPoint(x2, y2);\n  }\n\n  sumCubic(t, p0, p1, p2, p3) {\n    return Math.pow(1 - t, 3) * p0 + 3 * Math.pow(1 - t, 2) * t * p1 + 3 * (1 - t) * Math.pow(t, 2) * p2 + Math.pow(t, 3) * p3;\n  }\n\n  bezierCurveAdd(forX, p0, p1, p2, p3) {\n    var b = 6 * p0 - 12 * p1 + 6 * p2;\n    var a = -3 * p0 + 9 * p1 - 9 * p2 + 3 * p3;\n    var c = 3 * p1 - 3 * p0;\n\n    if (a === 0) {\n      if (b === 0) {\n        return;\n      }\n\n      var t = -c / b;\n\n      if (0 < t && t < 1) {\n        if (forX) {\n          this.addX(this.sumCubic(t, p0, p1, p2, p3));\n        } else {\n          this.addY(this.sumCubic(t, p0, p1, p2, p3));\n        }\n      }\n\n      return;\n    }\n\n    var b2ac = Math.pow(b, 2) - 4 * c * a;\n\n    if (b2ac < 0) {\n      return;\n    }\n\n    var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n\n    if (0 < t1 && t1 < 1) {\n      if (forX) {\n        this.addX(this.sumCubic(t1, p0, p1, p2, p3));\n      } else {\n        this.addY(this.sumCubic(t1, p0, p1, p2, p3));\n      }\n    }\n\n    var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n\n    if (0 < t2 && t2 < 1) {\n      if (forX) {\n        this.addX(this.sumCubic(t2, p0, p1, p2, p3));\n      } else {\n        this.addY(this.sumCubic(t2, p0, p1, p2, p3));\n      }\n    }\n  } // from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n\n\n  addBezierCurve(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {\n    this.addPoint(p0x, p0y);\n    this.addPoint(p3x, p3y);\n    this.bezierCurveAdd(true, p0x, p1x, p2x, p3x);\n    this.bezierCurveAdd(false, p0y, p1y, p2y, p3y);\n  }\n\n  addQuadraticCurve(p0x, p0y, p1x, p1y, p2x, p2y) {\n    var cp1x = p0x + 2 / 3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0)\n\n    var cp1y = p0y + 2 / 3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0)\n\n    var cp2x = cp1x + 1 / 3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0)\n\n    var cp2y = cp1y + 1 / 3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0)\n\n    this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y);\n  }\n\n  isPointInBox(x, y) {\n    var {\n      x1,\n      y1,\n      x2,\n      y2\n    } = this;\n    return x1 <= x && x <= x2 && y1 <= y && y <= y2;\n  }\n\n}\n\nclass PathParser extends SVGPathData {\n  constructor(path) {\n    super(path // Fix spaces after signs.\n    .replace(/([+\\-.])\\s+/gm, '$1') // Remove invalid part.\n    .replace(/[^MmZzLlHhVvCcSsQqTtAae\\d\\s.,+-].*/g, ''));\n    this.control = null;\n    this.start = null;\n    this.current = null;\n    this.command = null;\n    this.commands = this.commands;\n    this.i = -1;\n    this.previousCommand = null;\n    this.points = [];\n    this.angles = [];\n  }\n\n  reset() {\n    this.i = -1;\n    this.command = null;\n    this.previousCommand = null;\n    this.start = new Point(0, 0);\n    this.control = new Point(0, 0);\n    this.current = new Point(0, 0);\n    this.points = [];\n    this.angles = [];\n  }\n\n  isEnd() {\n    var {\n      i,\n      commands\n    } = this;\n    return i >= commands.length - 1;\n  }\n\n  next() {\n    var command = this.commands[++this.i];\n    this.previousCommand = this.command;\n    this.command = command;\n    return command;\n  }\n\n  getPoint() {\n    var xProp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'x';\n    var yProp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'y';\n    var point = new Point(this.command[xProp], this.command[yProp]);\n    return this.makeAbsolute(point);\n  }\n\n  getAsControlPoint(xProp, yProp) {\n    var point = this.getPoint(xProp, yProp);\n    this.control = point;\n    return point;\n  }\n\n  getAsCurrentPoint(xProp, yProp) {\n    var point = this.getPoint(xProp, yProp);\n    this.current = point;\n    return point;\n  }\n\n  getReflectedControlPoint() {\n    var previousCommand = this.previousCommand.type;\n\n    if (previousCommand !== SVGPathData.CURVE_TO && previousCommand !== SVGPathData.SMOOTH_CURVE_TO && previousCommand !== SVGPathData.QUAD_TO && previousCommand !== SVGPathData.SMOOTH_QUAD_TO) {\n      return this.current;\n    } // reflect point\n\n\n    var {\n      current: {\n        x: cx,\n        y: cy\n      },\n      control: {\n        x: ox,\n        y: oy\n      }\n    } = this;\n    var point = new Point(2 * cx - ox, 2 * cy - oy);\n    return point;\n  }\n\n  makeAbsolute(point) {\n    if (this.command.relative) {\n      var {\n        x,\n        y\n      } = this.current;\n      point.x += x;\n      point.y += y;\n    }\n\n    return point;\n  }\n\n  addMarker(point, from, priorTo) {\n    var {\n      points,\n      angles\n    } = this; // if the last angle isn't filled in because we didn't have this point yet ...\n\n    if (priorTo && angles.length > 0 && !angles[angles.length - 1]) {\n      angles[angles.length - 1] = points[points.length - 1].angleTo(priorTo);\n    }\n\n    this.addMarkerAngle(point, from ? from.angleTo(point) : null);\n  }\n\n  addMarkerAngle(point, angle) {\n    this.points.push(point);\n    this.angles.push(angle);\n  }\n\n  getMarkerPoints() {\n    return this.points;\n  }\n\n  getMarkerAngles() {\n    var {\n      angles\n    } = this;\n    var len = angles.length;\n\n    for (var i = 0; i < len; i++) {\n      if (!angles[i]) {\n        for (var j = i + 1; j < len; j++) {\n          if (angles[j]) {\n            angles[i] = angles[j];\n            break;\n          }\n        }\n      }\n    }\n\n    return angles;\n  }\n\n}\n\nclass RenderedElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.modifiedEmSizeStack = false;\n  }\n\n  calculateOpacity() {\n    var opacity = 1.0; // eslint-disable-next-line @typescript-eslint/no-this-alias, consistent-this\n\n    var element = this;\n\n    while (element) {\n      var opacityStyle = element.getStyle('opacity', false, true); // no ancestors on style call\n\n      if (opacityStyle.hasValue(true)) {\n        opacity *= opacityStyle.getNumber();\n      }\n\n      element = element.parent;\n    }\n\n    return opacity;\n  }\n\n  setContext(ctx) {\n    var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n    if (!fromMeasure) {\n      // causes stack overflow when measuring text with gradients\n      // fill\n      var fillStyleProp = this.getStyle('fill');\n      var fillOpacityStyleProp = this.getStyle('fill-opacity');\n      var strokeStyleProp = this.getStyle('stroke');\n      var strokeOpacityProp = this.getStyle('stroke-opacity');\n\n      if (fillStyleProp.isUrlDefinition()) {\n        var fillStyle = fillStyleProp.getFillStyleDefinition(this, fillOpacityStyleProp);\n\n        if (fillStyle) {\n          ctx.fillStyle = fillStyle;\n        }\n      } else if (fillStyleProp.hasValue()) {\n        if (fillStyleProp.getString() === 'currentColor') {\n          fillStyleProp.setValue(this.getStyle('color').getColor());\n        }\n\n        var _fillStyle = fillStyleProp.getColor();\n\n        if (_fillStyle !== 'inherit') {\n          ctx.fillStyle = _fillStyle === 'none' ? 'rgba(0,0,0,0)' : _fillStyle;\n        }\n      }\n\n      if (fillOpacityStyleProp.hasValue()) {\n        var _fillStyle2 = new Property(this.document, 'fill', ctx.fillStyle).addOpacity(fillOpacityStyleProp).getColor();\n\n        ctx.fillStyle = _fillStyle2;\n      } // stroke\n\n\n      if (strokeStyleProp.isUrlDefinition()) {\n        var strokeStyle = strokeStyleProp.getFillStyleDefinition(this, strokeOpacityProp);\n\n        if (strokeStyle) {\n          ctx.strokeStyle = strokeStyle;\n        }\n      } else if (strokeStyleProp.hasValue()) {\n        if (strokeStyleProp.getString() === 'currentColor') {\n          strokeStyleProp.setValue(this.getStyle('color').getColor());\n        }\n\n        var _strokeStyle = strokeStyleProp.getString();\n\n        if (_strokeStyle !== 'inherit') {\n          ctx.strokeStyle = _strokeStyle === 'none' ? 'rgba(0,0,0,0)' : _strokeStyle;\n        }\n      }\n\n      if (strokeOpacityProp.hasValue()) {\n        var _strokeStyle2 = new Property(this.document, 'stroke', ctx.strokeStyle).addOpacity(strokeOpacityProp).getString();\n\n        ctx.strokeStyle = _strokeStyle2;\n      }\n\n      var strokeWidthStyleProp = this.getStyle('stroke-width');\n\n      if (strokeWidthStyleProp.hasValue()) {\n        var newLineWidth = strokeWidthStyleProp.getPixels();\n        ctx.lineWidth = !newLineWidth ? PSEUDO_ZERO // browsers don't respect 0 (or node-canvas? :-)\n        : newLineWidth;\n      }\n\n      var strokeLinecapStyleProp = this.getStyle('stroke-linecap');\n      var strokeLinejoinStyleProp = this.getStyle('stroke-linejoin');\n      var strokeMiterlimitProp = this.getStyle('stroke-miterlimit'); // NEED TEST\n      // const pointOrderStyleProp = this.getStyle('paint-order');\n\n      var strokeDasharrayStyleProp = this.getStyle('stroke-dasharray');\n      var strokeDashoffsetProp = this.getStyle('stroke-dashoffset');\n\n      if (strokeLinecapStyleProp.hasValue()) {\n        ctx.lineCap = strokeLinecapStyleProp.getString();\n      }\n\n      if (strokeLinejoinStyleProp.hasValue()) {\n        ctx.lineJoin = strokeLinejoinStyleProp.getString();\n      }\n\n      if (strokeMiterlimitProp.hasValue()) {\n        ctx.miterLimit = strokeMiterlimitProp.getNumber();\n      } // NEED TEST\n      // if (pointOrderStyleProp.hasValue()) {\n      // \t// ?\n      // \tctx.paintOrder = pointOrderStyleProp.getValue();\n      // }\n\n\n      if (strokeDasharrayStyleProp.hasValue() && strokeDasharrayStyleProp.getString() !== 'none') {\n        var gaps = toNumbers(strokeDasharrayStyleProp.getString());\n\n        if (typeof ctx.setLineDash !== 'undefined') {\n          ctx.setLineDash(gaps);\n        } else // @ts-expect-error Handle browser prefix.\n          if (typeof ctx.webkitLineDash !== 'undefined') {\n            // @ts-expect-error Handle browser prefix.\n            ctx.webkitLineDash = gaps;\n          } else // @ts-expect-error Handle browser prefix.\n            if (typeof ctx.mozDash !== 'undefined' && !(gaps.length === 1 && gaps[0] === 0)) {\n              // @ts-expect-error Handle browser prefix.\n              ctx.mozDash = gaps;\n            }\n\n        var offset = strokeDashoffsetProp.getPixels();\n\n        if (typeof ctx.lineDashOffset !== 'undefined') {\n          ctx.lineDashOffset = offset;\n        } else // @ts-expect-error Handle browser prefix.\n          if (typeof ctx.webkitLineDashOffset !== 'undefined') {\n            // @ts-expect-error Handle browser prefix.\n            ctx.webkitLineDashOffset = offset;\n          } else // @ts-expect-error Handle browser prefix.\n            if (typeof ctx.mozDashOffset !== 'undefined') {\n              // @ts-expect-error Handle browser prefix.\n              ctx.mozDashOffset = offset;\n            }\n      }\n    } // font\n\n\n    this.modifiedEmSizeStack = false;\n\n    if (typeof ctx.font !== 'undefined') {\n      var fontStyleProp = this.getStyle('font');\n      var fontStyleStyleProp = this.getStyle('font-style');\n      var fontVariantStyleProp = this.getStyle('font-variant');\n      var fontWeightStyleProp = this.getStyle('font-weight');\n      var fontSizeStyleProp = this.getStyle('font-size');\n      var fontFamilyStyleProp = this.getStyle('font-family');\n      var font = new Font(fontStyleStyleProp.getString(), fontVariantStyleProp.getString(), fontWeightStyleProp.getString(), fontSizeStyleProp.hasValue() ? \"\".concat(fontSizeStyleProp.getPixels(true), \"px\") : '', fontFamilyStyleProp.getString(), Font.parse(fontStyleProp.getString(), ctx.font));\n      fontStyleStyleProp.setValue(font.fontStyle);\n      fontVariantStyleProp.setValue(font.fontVariant);\n      fontWeightStyleProp.setValue(font.fontWeight);\n      fontSizeStyleProp.setValue(font.fontSize);\n      fontFamilyStyleProp.setValue(font.fontFamily);\n      ctx.font = font.toString();\n\n      if (fontSizeStyleProp.isPixels()) {\n        this.document.emSize = fontSizeStyleProp.getPixels();\n        this.modifiedEmSizeStack = true;\n      }\n    }\n\n    if (!fromMeasure) {\n      // effects\n      this.applyEffects(ctx); // opacity\n\n      ctx.globalAlpha = this.calculateOpacity();\n    }\n  }\n\n  clearContext(ctx) {\n    super.clearContext(ctx);\n\n    if (this.modifiedEmSizeStack) {\n      this.document.popEmSize();\n    }\n  }\n\n}\n\nclass PathElement extends RenderedElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'path';\n    this.pathParser = null;\n    this.pathParser = new PathParser(this.getAttribute('d').getString());\n  }\n\n  path(ctx) {\n    var {\n      pathParser\n    } = this;\n    var boundingBox = new BoundingBox();\n    pathParser.reset();\n\n    if (ctx) {\n      ctx.beginPath();\n    }\n\n    while (!pathParser.isEnd()) {\n      switch (pathParser.next().type) {\n        case PathParser.MOVE_TO:\n          this.pathM(ctx, boundingBox);\n          break;\n\n        case PathParser.LINE_TO:\n          this.pathL(ctx, boundingBox);\n          break;\n\n        case PathParser.HORIZ_LINE_TO:\n          this.pathH(ctx, boundingBox);\n          break;\n\n        case PathParser.VERT_LINE_TO:\n          this.pathV(ctx, boundingBox);\n          break;\n\n        case PathParser.CURVE_TO:\n          this.pathC(ctx, boundingBox);\n          break;\n\n        case PathParser.SMOOTH_CURVE_TO:\n          this.pathS(ctx, boundingBox);\n          break;\n\n        case PathParser.QUAD_TO:\n          this.pathQ(ctx, boundingBox);\n          break;\n\n        case PathParser.SMOOTH_QUAD_TO:\n          this.pathT(ctx, boundingBox);\n          break;\n\n        case PathParser.ARC:\n          this.pathA(ctx, boundingBox);\n          break;\n\n        case PathParser.CLOSE_PATH:\n          this.pathZ(ctx, boundingBox);\n          break;\n      }\n    }\n\n    return boundingBox;\n  }\n\n  getBoundingBox(_) {\n    return this.path();\n  }\n\n  getMarkers() {\n    var {\n      pathParser\n    } = this;\n    var points = pathParser.getMarkerPoints();\n    var angles = pathParser.getMarkerAngles();\n    var markers = points.map((point, i) => [point, angles[i]]);\n    return markers;\n  }\n\n  renderChildren(ctx) {\n    this.path(ctx);\n    this.document.screen.mouse.checkPath(this, ctx);\n    var fillRuleStyleProp = this.getStyle('fill-rule');\n\n    if (ctx.fillStyle !== '') {\n      if (fillRuleStyleProp.getString('inherit') !== 'inherit') {\n        ctx.fill(fillRuleStyleProp.getString());\n      } else {\n        ctx.fill();\n      }\n    }\n\n    if (ctx.strokeStyle !== '') {\n      if (this.getAttribute('vector-effect').getString() === 'non-scaling-stroke') {\n        ctx.save();\n        ctx.setTransform(1, 0, 0, 1, 0, 0);\n        ctx.stroke();\n        ctx.restore();\n      } else {\n        ctx.stroke();\n      }\n    }\n\n    var markers = this.getMarkers();\n\n    if (markers) {\n      var markersLastIndex = markers.length - 1;\n      var markerStartStyleProp = this.getStyle('marker-start');\n      var markerMidStyleProp = this.getStyle('marker-mid');\n      var markerEndStyleProp = this.getStyle('marker-end');\n\n      if (markerStartStyleProp.isUrlDefinition()) {\n        var marker = markerStartStyleProp.getDefinition();\n        var [point, angle] = markers[0];\n        marker.render(ctx, point, angle);\n      }\n\n      if (markerMidStyleProp.isUrlDefinition()) {\n        var _marker = markerMidStyleProp.getDefinition();\n\n        for (var i = 1; i < markersLastIndex; i++) {\n          var [_point, _angle] = markers[i];\n\n          _marker.render(ctx, _point, _angle);\n        }\n      }\n\n      if (markerEndStyleProp.isUrlDefinition()) {\n        var _marker2 = markerEndStyleProp.getDefinition();\n\n        var [_point2, _angle2] = markers[markersLastIndex];\n\n        _marker2.render(ctx, _point2, _angle2);\n      }\n    }\n  }\n\n  static pathM(pathParser) {\n    var point = pathParser.getAsCurrentPoint();\n    pathParser.start = pathParser.current;\n    return {\n      point\n    };\n  }\n\n  pathM(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      point\n    } = PathElement.pathM(pathParser);\n    var {\n      x,\n      y\n    } = point;\n    pathParser.addMarker(point);\n    boundingBox.addPoint(x, y);\n\n    if (ctx) {\n      ctx.moveTo(x, y);\n    }\n  }\n\n  static pathL(pathParser) {\n    var {\n      current\n    } = pathParser;\n    var point = pathParser.getAsCurrentPoint();\n    return {\n      current,\n      point\n    };\n  }\n\n  pathL(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      current,\n      point\n    } = PathElement.pathL(pathParser);\n    var {\n      x,\n      y\n    } = point;\n    pathParser.addMarker(point, current);\n    boundingBox.addPoint(x, y);\n\n    if (ctx) {\n      ctx.lineTo(x, y);\n    }\n  }\n\n  static pathH(pathParser) {\n    var {\n      current,\n      command\n    } = pathParser;\n    var point = new Point((command.relative ? current.x : 0) + command.x, current.y);\n    pathParser.current = point;\n    return {\n      current,\n      point\n    };\n  }\n\n  pathH(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      current,\n      point\n    } = PathElement.pathH(pathParser);\n    var {\n      x,\n      y\n    } = point;\n    pathParser.addMarker(point, current);\n    boundingBox.addPoint(x, y);\n\n    if (ctx) {\n      ctx.lineTo(x, y);\n    }\n  }\n\n  static pathV(pathParser) {\n    var {\n      current,\n      command\n    } = pathParser;\n    var point = new Point(current.x, (command.relative ? current.y : 0) + command.y);\n    pathParser.current = point;\n    return {\n      current,\n      point\n    };\n  }\n\n  pathV(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      current,\n      point\n    } = PathElement.pathV(pathParser);\n    var {\n      x,\n      y\n    } = point;\n    pathParser.addMarker(point, current);\n    boundingBox.addPoint(x, y);\n\n    if (ctx) {\n      ctx.lineTo(x, y);\n    }\n  }\n\n  static pathC(pathParser) {\n    var {\n      current\n    } = pathParser;\n    var point = pathParser.getPoint('x1', 'y1');\n    var controlPoint = pathParser.getAsControlPoint('x2', 'y2');\n    var currentPoint = pathParser.getAsCurrentPoint();\n    return {\n      current,\n      point,\n      controlPoint,\n      currentPoint\n    };\n  }\n\n  pathC(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      current,\n      point,\n      controlPoint,\n      currentPoint\n    } = PathElement.pathC(pathParser);\n    pathParser.addMarker(currentPoint, controlPoint, point);\n    boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n    if (ctx) {\n      ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n    }\n  }\n\n  static pathS(pathParser) {\n    var {\n      current\n    } = pathParser;\n    var point = pathParser.getReflectedControlPoint();\n    var controlPoint = pathParser.getAsControlPoint('x2', 'y2');\n    var currentPoint = pathParser.getAsCurrentPoint();\n    return {\n      current,\n      point,\n      controlPoint,\n      currentPoint\n    };\n  }\n\n  pathS(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      current,\n      point,\n      controlPoint,\n      currentPoint\n    } = PathElement.pathS(pathParser);\n    pathParser.addMarker(currentPoint, controlPoint, point);\n    boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n    if (ctx) {\n      ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n    }\n  }\n\n  static pathQ(pathParser) {\n    var {\n      current\n    } = pathParser;\n    var controlPoint = pathParser.getAsControlPoint('x1', 'y1');\n    var currentPoint = pathParser.getAsCurrentPoint();\n    return {\n      current,\n      controlPoint,\n      currentPoint\n    };\n  }\n\n  pathQ(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      current,\n      controlPoint,\n      currentPoint\n    } = PathElement.pathQ(pathParser);\n    pathParser.addMarker(currentPoint, controlPoint, controlPoint);\n    boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n    if (ctx) {\n      ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n    }\n  }\n\n  static pathT(pathParser) {\n    var {\n      current\n    } = pathParser;\n    var controlPoint = pathParser.getReflectedControlPoint();\n    pathParser.control = controlPoint;\n    var currentPoint = pathParser.getAsCurrentPoint();\n    return {\n      current,\n      controlPoint,\n      currentPoint\n    };\n  }\n\n  pathT(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      current,\n      controlPoint,\n      currentPoint\n    } = PathElement.pathT(pathParser);\n    pathParser.addMarker(currentPoint, controlPoint, controlPoint);\n    boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n    if (ctx) {\n      ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n    }\n  }\n\n  static pathA(pathParser) {\n    var {\n      current,\n      command\n    } = pathParser;\n    var {\n      rX,\n      rY,\n      xRot,\n      lArcFlag,\n      sweepFlag\n    } = command;\n    var xAxisRotation = xRot * (Math.PI / 180.0);\n    var currentPoint = pathParser.getAsCurrentPoint(); // Conversion from endpoint to center parameterization\n    // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n    // x1', y1'\n\n    var currp = new Point(Math.cos(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.sin(xAxisRotation) * (current.y - currentPoint.y) / 2.0, -Math.sin(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * (current.y - currentPoint.y) / 2.0); // adjust radii\n\n    var l = Math.pow(currp.x, 2) / Math.pow(rX, 2) + Math.pow(currp.y, 2) / Math.pow(rY, 2);\n\n    if (l > 1) {\n      rX *= Math.sqrt(l);\n      rY *= Math.sqrt(l);\n    } // cx', cy'\n\n\n    var s = (lArcFlag === sweepFlag ? -1 : 1) * Math.sqrt((Math.pow(rX, 2) * Math.pow(rY, 2) - Math.pow(rX, 2) * Math.pow(currp.y, 2) - Math.pow(rY, 2) * Math.pow(currp.x, 2)) / (Math.pow(rX, 2) * Math.pow(currp.y, 2) + Math.pow(rY, 2) * Math.pow(currp.x, 2)));\n\n    if (isNaN(s)) {\n      s = 0;\n    }\n\n    var cpp = new Point(s * rX * currp.y / rY, s * -rY * currp.x / rX); // cx, cy\n\n    var centp = new Point((current.x + currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, (current.y + currentPoint.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y); // initial angle\n\n    var a1 = vectorsAngle([1, 0], [(currp.x - cpp.x) / rX, (currp.y - cpp.y) / rY]); // θ1\n    // angle delta\n\n    var u = [(currp.x - cpp.x) / rX, (currp.y - cpp.y) / rY];\n    var v = [(-currp.x - cpp.x) / rX, (-currp.y - cpp.y) / rY];\n    var ad = vectorsAngle(u, v); // Δθ\n\n    if (vectorsRatio(u, v) <= -1) {\n      ad = Math.PI;\n    }\n\n    if (vectorsRatio(u, v) >= 1) {\n      ad = 0;\n    }\n\n    return {\n      currentPoint,\n      rX,\n      rY,\n      sweepFlag,\n      xAxisRotation,\n      centp,\n      a1,\n      ad\n    };\n  }\n\n  pathA(ctx, boundingBox) {\n    var {\n      pathParser\n    } = this;\n    var {\n      currentPoint,\n      rX,\n      rY,\n      sweepFlag,\n      xAxisRotation,\n      centp,\n      a1,\n      ad\n    } = PathElement.pathA(pathParser); // for markers\n\n    var dir = 1 - sweepFlag ? 1.0 : -1.0;\n    var ah = a1 + dir * (ad / 2.0);\n    var halfWay = new Point(centp.x + rX * Math.cos(ah), centp.y + rY * Math.sin(ah));\n    pathParser.addMarkerAngle(halfWay, ah - dir * Math.PI / 2);\n    pathParser.addMarkerAngle(currentPoint, ah - dir * Math.PI);\n    boundingBox.addPoint(currentPoint.x, currentPoint.y); // TODO: this is too naive, make it better\n\n    if (ctx && !isNaN(a1) && !isNaN(ad)) {\n      var r = rX > rY ? rX : rY;\n      var sx = rX > rY ? 1 : rX / rY;\n      var sy = rX > rY ? rY / rX : 1;\n      ctx.translate(centp.x, centp.y);\n      ctx.rotate(xAxisRotation);\n      ctx.scale(sx, sy);\n      ctx.arc(0, 0, r, a1, a1 + ad, Boolean(1 - sweepFlag));\n      ctx.scale(1 / sx, 1 / sy);\n      ctx.rotate(-xAxisRotation);\n      ctx.translate(-centp.x, -centp.y);\n    }\n  }\n\n  static pathZ(pathParser) {\n    pathParser.current = pathParser.start;\n  }\n\n  pathZ(ctx, boundingBox) {\n    PathElement.pathZ(this.pathParser);\n\n    if (ctx) {\n      // only close path if it is not a straight line\n      if (boundingBox.x1 !== boundingBox.x2 && boundingBox.y1 !== boundingBox.y2) {\n        ctx.closePath();\n      }\n    }\n  }\n\n}\n\nclass GlyphElement extends PathElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'glyph';\n    this.horizAdvX = this.getAttribute('horiz-adv-x').getNumber();\n    this.unicode = this.getAttribute('unicode').getString();\n    this.arabicForm = this.getAttribute('arabic-form').getString();\n  }\n\n}\n\nclass TextElement extends RenderedElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, new.target === TextElement ? true : captureTextNodes);\n    this.type = 'text';\n    this.x = 0;\n    this.y = 0;\n    this.measureCache = -1;\n  }\n\n  setContext(ctx) {\n    var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    super.setContext(ctx, fromMeasure);\n    var textBaseline = this.getStyle('dominant-baseline').getTextBaseline() || this.getStyle('alignment-baseline').getTextBaseline();\n\n    if (textBaseline) {\n      ctx.textBaseline = textBaseline;\n    }\n  }\n\n  initializeCoordinates() {\n    this.x = 0;\n    this.y = 0;\n    this.leafTexts = [];\n    this.textChunkStart = 0;\n    this.minX = Number.POSITIVE_INFINITY;\n    this.maxX = Number.NEGATIVE_INFINITY;\n  }\n\n  getBoundingBox(ctx) {\n    if (this.type !== 'text') {\n      return this.getTElementBoundingBox(ctx);\n    } // first, calculate child positions\n\n\n    this.initializeCoordinates();\n    this.adjustChildCoordinatesRecursive(ctx);\n    var boundingBox = null; // then calculate bounding box\n\n    this.children.forEach((_, i) => {\n      var childBoundingBox = this.getChildBoundingBox(ctx, this, this, i);\n\n      if (!boundingBox) {\n        boundingBox = childBoundingBox;\n      } else {\n        boundingBox.addBoundingBox(childBoundingBox);\n      }\n    });\n    return boundingBox;\n  }\n\n  getFontSize() {\n    var {\n      document,\n      parent\n    } = this;\n    var inheritFontSize = Font.parse(document.ctx.font).fontSize;\n    var fontSize = parent.getStyle('font-size').getNumber(inheritFontSize);\n    return fontSize;\n  }\n\n  getTElementBoundingBox(ctx) {\n    var fontSize = this.getFontSize();\n    return new BoundingBox(this.x, this.y - fontSize, this.x + this.measureText(ctx), this.y);\n  }\n\n  getGlyph(font, text, i) {\n    var char = text[i];\n    var glyph = null;\n\n    if (font.isArabic) {\n      var len = text.length;\n      var prevChar = text[i - 1];\n      var nextChar = text[i + 1];\n      var arabicForm = 'isolated';\n\n      if ((i === 0 || prevChar === ' ') && i < len - 1 && nextChar !== ' ') {\n        arabicForm = 'terminal';\n      }\n\n      if (i > 0 && prevChar !== ' ' && i < len - 1 && nextChar !== ' ') {\n        arabicForm = 'medial';\n      }\n\n      if (i > 0 && prevChar !== ' ' && (i === len - 1 || nextChar === ' ')) {\n        arabicForm = 'initial';\n      }\n\n      if (typeof font.glyphs[char] !== 'undefined') {\n        // NEED TEST\n        var maybeGlyph = font.glyphs[char];\n        glyph = maybeGlyph instanceof GlyphElement ? maybeGlyph : maybeGlyph[arabicForm];\n      }\n    } else {\n      glyph = font.glyphs[char];\n    }\n\n    if (!glyph) {\n      glyph = font.missingGlyph;\n    }\n\n    return glyph;\n  }\n\n  getText() {\n    return '';\n  }\n\n  getTextFromNode(node) {\n    var textNode = node || this.node;\n    var childNodes = Array.from(textNode.parentNode.childNodes);\n    var index = childNodes.indexOf(textNode);\n    var lastIndex = childNodes.length - 1;\n    var text = compressSpaces( // textNode.value\n    // || textNode.text\n    textNode.textContent || '');\n\n    if (index === 0) {\n      text = trimLeft(text);\n    }\n\n    if (index === lastIndex) {\n      text = trimRight(text);\n    }\n\n    return text;\n  }\n\n  renderChildren(ctx) {\n    if (this.type !== 'text') {\n      this.renderTElementChildren(ctx);\n      return;\n    } // first, calculate child positions\n\n\n    this.initializeCoordinates();\n    this.adjustChildCoordinatesRecursive(ctx); // then render\n\n    this.children.forEach((_, i) => {\n      this.renderChild(ctx, this, this, i);\n    });\n    var {\n      mouse\n    } = this.document.screen; // Do not calc bounding box if mouse is not working.\n\n    if (mouse.isWorking()) {\n      mouse.checkBoundingBox(this, this.getBoundingBox(ctx));\n    }\n  }\n\n  renderTElementChildren(ctx) {\n    var {\n      document,\n      parent\n    } = this;\n    var renderText = this.getText();\n    var customFont = parent.getStyle('font-family').getDefinition();\n\n    if (customFont) {\n      var {\n        unitsPerEm\n      } = customFont.fontFace;\n      var ctxFont = Font.parse(document.ctx.font);\n      var fontSize = parent.getStyle('font-size').getNumber(ctxFont.fontSize);\n      var fontStyle = parent.getStyle('font-style').getString(ctxFont.fontStyle);\n      var scale = fontSize / unitsPerEm;\n      var text = customFont.isRTL ? renderText.split('').reverse().join('') : renderText;\n      var dx = toNumbers(parent.getAttribute('dx').getString());\n      var len = text.length;\n\n      for (var i = 0; i < len; i++) {\n        var glyph = this.getGlyph(customFont, text, i);\n        ctx.translate(this.x, this.y);\n        ctx.scale(scale, -scale);\n        var lw = ctx.lineWidth;\n        ctx.lineWidth = ctx.lineWidth * unitsPerEm / fontSize;\n\n        if (fontStyle === 'italic') {\n          ctx.transform(1, 0, .4, 1, 0, 0);\n        }\n\n        glyph.render(ctx);\n\n        if (fontStyle === 'italic') {\n          ctx.transform(1, 0, -.4, 1, 0, 0);\n        }\n\n        ctx.lineWidth = lw;\n        ctx.scale(1 / scale, -1 / scale);\n        ctx.translate(-this.x, -this.y);\n        this.x += fontSize * (glyph.horizAdvX || customFont.horizAdvX) / unitsPerEm;\n\n        if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) {\n          this.x += dx[i];\n        }\n      }\n\n      return;\n    }\n\n    var {\n      x,\n      y\n    } = this; // NEED TEST\n    // if (ctx.paintOrder === 'stroke') {\n    // \tif (ctx.strokeStyle) {\n    // \t\tctx.strokeText(renderText, x, y);\n    // \t}\n    // \tif (ctx.fillStyle) {\n    // \t\tctx.fillText(renderText, x, y);\n    // \t}\n    // } else {\n\n    if (ctx.fillStyle) {\n      ctx.fillText(renderText, x, y);\n    }\n\n    if (ctx.strokeStyle) {\n      ctx.strokeText(renderText, x, y);\n    } // }\n\n  }\n\n  applyAnchoring() {\n    if (this.textChunkStart >= this.leafTexts.length) {\n      return;\n    } // This is basically the \"Apply anchoring\" part of https://www.w3.org/TR/SVG2/text.html#TextLayoutAlgorithm.\n    // The difference is that we apply the anchoring as soon as a chunk is finished. This saves some extra looping.\n    // Vertical text is not supported.\n\n\n    var firstElement = this.leafTexts[this.textChunkStart];\n    var textAnchor = firstElement.getStyle('text-anchor').getString('start');\n    var isRTL = false; // we treat RTL like LTR\n\n    var shift = 0;\n\n    if (textAnchor === 'start' && !isRTL || textAnchor === 'end' && isRTL) {\n      shift = firstElement.x - this.minX;\n    } else if (textAnchor === 'end' && !isRTL || textAnchor === 'start' && isRTL) {\n      shift = firstElement.x - this.maxX;\n    } else {\n      shift = firstElement.x - (this.minX + this.maxX) / 2;\n    }\n\n    for (var i = this.textChunkStart; i < this.leafTexts.length; i++) {\n      this.leafTexts[i].x += shift;\n    } // start new chunk\n\n\n    this.minX = Number.POSITIVE_INFINITY;\n    this.maxX = Number.NEGATIVE_INFINITY;\n    this.textChunkStart = this.leafTexts.length;\n  }\n\n  adjustChildCoordinatesRecursive(ctx) {\n    this.children.forEach((_, i) => {\n      this.adjustChildCoordinatesRecursiveCore(ctx, this, this, i);\n    });\n    this.applyAnchoring();\n  }\n\n  adjustChildCoordinatesRecursiveCore(ctx, textParent, parent, i) {\n    var child = parent.children[i];\n\n    if (child.children.length > 0) {\n      child.children.forEach((_, i) => {\n        textParent.adjustChildCoordinatesRecursiveCore(ctx, textParent, child, i);\n      });\n    } else {\n      // only leafs are relevant\n      this.adjustChildCoordinates(ctx, textParent, parent, i);\n    }\n  }\n\n  adjustChildCoordinates(ctx, textParent, parent, i) {\n    var child = parent.children[i];\n\n    if (typeof child.measureText !== 'function') {\n      return child;\n    }\n\n    ctx.save();\n    child.setContext(ctx, true);\n    var xAttr = child.getAttribute('x');\n    var yAttr = child.getAttribute('y');\n    var dxAttr = child.getAttribute('dx');\n    var dyAttr = child.getAttribute('dy');\n    var customFont = child.getStyle('font-family').getDefinition();\n    var isRTL = Boolean(customFont) && customFont.isRTL;\n\n    if (i === 0) {\n      // First children inherit attributes from parent(s). Positional attributes\n      // are only inherited from a parent to it's first child.\n      if (!xAttr.hasValue()) {\n        xAttr.setValue(child.getInheritedAttribute('x'));\n      }\n\n      if (!yAttr.hasValue()) {\n        yAttr.setValue(child.getInheritedAttribute('y'));\n      }\n\n      if (!dxAttr.hasValue()) {\n        dxAttr.setValue(child.getInheritedAttribute('dx'));\n      }\n\n      if (!dyAttr.hasValue()) {\n        dyAttr.setValue(child.getInheritedAttribute('dy'));\n      }\n    }\n\n    var width = child.measureText(ctx);\n\n    if (isRTL) {\n      textParent.x -= width;\n    }\n\n    if (xAttr.hasValue()) {\n      // an \"x\" attribute marks the start of a new chunk\n      textParent.applyAnchoring();\n      child.x = xAttr.getPixels('x');\n\n      if (dxAttr.hasValue()) {\n        child.x += dxAttr.getPixels('x');\n      }\n    } else {\n      if (dxAttr.hasValue()) {\n        textParent.x += dxAttr.getPixels('x');\n      }\n\n      child.x = textParent.x;\n    }\n\n    textParent.x = child.x;\n\n    if (!isRTL) {\n      textParent.x += width;\n    }\n\n    if (yAttr.hasValue()) {\n      child.y = yAttr.getPixels('y');\n\n      if (dyAttr.hasValue()) {\n        child.y += dyAttr.getPixels('y');\n      }\n    } else {\n      if (dyAttr.hasValue()) {\n        textParent.y += dyAttr.getPixels('y');\n      }\n\n      child.y = textParent.y;\n    }\n\n    textParent.y = child.y; // update the current chunk and it's bounds\n\n    textParent.leafTexts.push(child);\n    textParent.minX = Math.min(textParent.minX, child.x, child.x + width);\n    textParent.maxX = Math.max(textParent.maxX, child.x, child.x + width);\n    child.clearContext(ctx);\n    ctx.restore();\n    return child;\n  }\n\n  getChildBoundingBox(ctx, textParent, parent, i) {\n    var child = parent.children[i]; // not a text node?\n\n    if (typeof child.getBoundingBox !== 'function') {\n      return null;\n    }\n\n    var boundingBox = child.getBoundingBox(ctx);\n\n    if (!boundingBox) {\n      return null;\n    }\n\n    child.children.forEach((_, i) => {\n      var childBoundingBox = textParent.getChildBoundingBox(ctx, textParent, child, i);\n      boundingBox.addBoundingBox(childBoundingBox);\n    });\n    return boundingBox;\n  }\n\n  renderChild(ctx, textParent, parent, i) {\n    var child = parent.children[i];\n    child.render(ctx);\n    child.children.forEach((_, i) => {\n      textParent.renderChild(ctx, textParent, child, i);\n    });\n  }\n\n  measureText(ctx) {\n    var {\n      measureCache\n    } = this;\n\n    if (~measureCache) {\n      return measureCache;\n    }\n\n    var renderText = this.getText();\n    var measure = this.measureTargetText(ctx, renderText);\n    this.measureCache = measure;\n    return measure;\n  }\n\n  measureTargetText(ctx, targetText) {\n    if (!targetText.length) {\n      return 0;\n    }\n\n    var {\n      parent\n    } = this;\n    var customFont = parent.getStyle('font-family').getDefinition();\n\n    if (customFont) {\n      var fontSize = this.getFontSize();\n      var text = customFont.isRTL ? targetText.split('').reverse().join('') : targetText;\n      var dx = toNumbers(parent.getAttribute('dx').getString());\n      var len = text.length;\n      var _measure = 0;\n\n      for (var i = 0; i < len; i++) {\n        var glyph = this.getGlyph(customFont, text, i);\n        _measure += (glyph.horizAdvX || customFont.horizAdvX) * fontSize / customFont.fontFace.unitsPerEm;\n\n        if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) {\n          _measure += dx[i];\n        }\n      }\n\n      return _measure;\n    }\n\n    if (!ctx.measureText) {\n      return targetText.length * 10;\n    }\n\n    ctx.save();\n    this.setContext(ctx, true);\n    var {\n      width: measure\n    } = ctx.measureText(targetText);\n    this.clearContext(ctx);\n    ctx.restore();\n    return measure;\n  }\n  /**\r\n   * Inherits positional attributes from {@link TextElement} parent(s). Attributes\r\n   * are only inherited from a parent to its first child.\r\n   * @param name - The attribute name.\r\n   * @returns The attribute value or null.\r\n   */\n\n\n  getInheritedAttribute(name) {\n    // eslint-disable-next-line @typescript-eslint/no-this-alias,consistent-this\n    var current = this;\n\n    while (current instanceof TextElement && current.isFirstChild()) {\n      var parentAttr = current.parent.getAttribute(name);\n\n      if (parentAttr.hasValue(true)) {\n        return parentAttr.getValue('0');\n      }\n\n      current = current.parent;\n    }\n\n    return null;\n  }\n\n}\n\nclass TSpanElement extends TextElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, new.target === TSpanElement ? true : captureTextNodes);\n    this.type = 'tspan'; // if this node has children, then they own the text\n\n    this.text = this.children.length > 0 ? '' : this.getTextFromNode();\n  }\n\n  getText() {\n    return this.text;\n  }\n\n}\n\nclass TextNode extends TSpanElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'textNode';\n  }\n\n}\n\nclass SVGElement extends RenderedElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'svg';\n    this.root = false;\n  }\n\n  setContext(ctx) {\n    var _this$node$parentNode;\n\n    var {\n      document\n    } = this;\n    var {\n      screen,\n      window\n    } = document;\n    var canvas = ctx.canvas;\n    screen.setDefaults(ctx);\n\n    if (canvas.style && typeof ctx.font !== 'undefined' && window && typeof window.getComputedStyle !== 'undefined') {\n      ctx.font = window.getComputedStyle(canvas).getPropertyValue('font');\n      var fontSizeProp = new Property(document, 'fontSize', Font.parse(ctx.font).fontSize);\n\n      if (fontSizeProp.hasValue()) {\n        document.rootEmSize = fontSizeProp.getPixels('y');\n        document.emSize = document.rootEmSize;\n      }\n    } // create new view port\n\n\n    if (!this.getAttribute('x').hasValue()) {\n      this.getAttribute('x', true).setValue(0);\n    }\n\n    if (!this.getAttribute('y').hasValue()) {\n      this.getAttribute('y', true).setValue(0);\n    }\n\n    var {\n      width,\n      height\n    } = screen.viewPort;\n\n    if (!this.getStyle('width').hasValue()) {\n      this.getStyle('width', true).setValue('100%');\n    }\n\n    if (!this.getStyle('height').hasValue()) {\n      this.getStyle('height', true).setValue('100%');\n    }\n\n    if (!this.getStyle('color').hasValue()) {\n      this.getStyle('color', true).setValue('black');\n    }\n\n    var refXAttr = this.getAttribute('refX');\n    var refYAttr = this.getAttribute('refY');\n    var viewBoxAttr = this.getAttribute('viewBox');\n    var viewBox = viewBoxAttr.hasValue() ? toNumbers(viewBoxAttr.getString()) : null;\n    var clip = !this.root && this.getStyle('overflow').getValue('hidden') !== 'visible';\n    var minX = 0;\n    var minY = 0;\n    var clipX = 0;\n    var clipY = 0;\n\n    if (viewBox) {\n      minX = viewBox[0];\n      minY = viewBox[1];\n    }\n\n    if (!this.root) {\n      width = this.getStyle('width').getPixels('x');\n      height = this.getStyle('height').getPixels('y');\n\n      if (this.type === 'marker') {\n        clipX = minX;\n        clipY = minY;\n        minX = 0;\n        minY = 0;\n      }\n    }\n\n    screen.viewPort.setCurrent(width, height); // Default value of transform-origin is center only for root SVG elements\n    // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform-origin\n\n    if (this.node // is not temporary SVGElement\n    && (!this.parent || ((_this$node$parentNode = this.node.parentNode) === null || _this$node$parentNode === void 0 ? void 0 : _this$node$parentNode.nodeName) === 'foreignObject') && this.getStyle('transform', false, true).hasValue() && !this.getStyle('transform-origin', false, true).hasValue()) {\n      this.getStyle('transform-origin', true, true).setValue('50% 50%');\n    }\n\n    super.setContext(ctx);\n    ctx.translate(this.getAttribute('x').getPixels('x'), this.getAttribute('y').getPixels('y'));\n\n    if (viewBox) {\n      width = viewBox[2];\n      height = viewBox[3];\n    }\n\n    document.setViewBox({\n      ctx,\n      aspectRatio: this.getAttribute('preserveAspectRatio').getString(),\n      width: screen.viewPort.width,\n      desiredWidth: width,\n      height: screen.viewPort.height,\n      desiredHeight: height,\n      minX,\n      minY,\n      refX: refXAttr.getValue(),\n      refY: refYAttr.getValue(),\n      clip,\n      clipX,\n      clipY\n    });\n\n    if (viewBox) {\n      screen.viewPort.removeCurrent();\n      screen.viewPort.setCurrent(width, height);\n    }\n  }\n\n  clearContext(ctx) {\n    super.clearContext(ctx);\n    this.document.screen.viewPort.removeCurrent();\n  }\n  /**\r\n   * Resize SVG to fit in given size.\r\n   * @param width\r\n   * @param height\r\n   * @param preserveAspectRatio\r\n   */\n\n\n  resize(width) {\n    var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width;\n    var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n    var widthAttr = this.getAttribute('width', true);\n    var heightAttr = this.getAttribute('height', true);\n    var viewBoxAttr = this.getAttribute('viewBox');\n    var styleAttr = this.getAttribute('style');\n    var originWidth = widthAttr.getNumber(0);\n    var originHeight = heightAttr.getNumber(0);\n\n    if (preserveAspectRatio) {\n      if (typeof preserveAspectRatio === 'string') {\n        this.getAttribute('preserveAspectRatio', true).setValue(preserveAspectRatio);\n      } else {\n        var preserveAspectRatioAttr = this.getAttribute('preserveAspectRatio');\n\n        if (preserveAspectRatioAttr.hasValue()) {\n          preserveAspectRatioAttr.setValue(preserveAspectRatioAttr.getString().replace(/^\\s*(\\S.*\\S)\\s*$/, '$1'));\n        }\n      }\n    }\n\n    widthAttr.setValue(width);\n    heightAttr.setValue(height);\n\n    if (!viewBoxAttr.hasValue()) {\n      viewBoxAttr.setValue(\"0 0 \".concat(originWidth || width, \" \").concat(originHeight || height));\n    }\n\n    if (styleAttr.hasValue()) {\n      var widthStyle = this.getStyle('width');\n      var heightStyle = this.getStyle('height');\n\n      if (widthStyle.hasValue()) {\n        widthStyle.setValue(\"\".concat(width, \"px\"));\n      }\n\n      if (heightStyle.hasValue()) {\n        heightStyle.setValue(\"\".concat(height, \"px\"));\n      }\n    }\n  }\n\n}\n\nclass RectElement extends PathElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'rect';\n  }\n\n  path(ctx) {\n    var x = this.getAttribute('x').getPixels('x');\n    var y = this.getAttribute('y').getPixels('y');\n    var width = this.getStyle('width', false, true).getPixels('x');\n    var height = this.getStyle('height', false, true).getPixels('y');\n    var rxAttr = this.getAttribute('rx');\n    var ryAttr = this.getAttribute('ry');\n    var rx = rxAttr.getPixels('x');\n    var ry = ryAttr.getPixels('y');\n\n    if (rxAttr.hasValue() && !ryAttr.hasValue()) {\n      ry = rx;\n    }\n\n    if (ryAttr.hasValue() && !rxAttr.hasValue()) {\n      rx = ry;\n    }\n\n    rx = Math.min(rx, width / 2.0);\n    ry = Math.min(ry, height / 2.0);\n\n    if (ctx) {\n      var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);\n      ctx.beginPath(); // always start the path so we don't fill prior paths\n\n      if (height > 0 && width > 0) {\n        ctx.moveTo(x + rx, y);\n        ctx.lineTo(x + width - rx, y);\n        ctx.bezierCurveTo(x + width - rx + KAPPA * rx, y, x + width, y + ry - KAPPA * ry, x + width, y + ry);\n        ctx.lineTo(x + width, y + height - ry);\n        ctx.bezierCurveTo(x + width, y + height - ry + KAPPA * ry, x + width - rx + KAPPA * rx, y + height, x + width - rx, y + height);\n        ctx.lineTo(x + rx, y + height);\n        ctx.bezierCurveTo(x + rx - KAPPA * rx, y + height, x, y + height - ry + KAPPA * ry, x, y + height - ry);\n        ctx.lineTo(x, y + ry);\n        ctx.bezierCurveTo(x, y + ry - KAPPA * ry, x + rx - KAPPA * rx, y, x + rx, y);\n        ctx.closePath();\n      }\n    }\n\n    return new BoundingBox(x, y, x + width, y + height);\n  }\n\n  getMarkers() {\n    return null;\n  }\n\n}\n\nclass CircleElement extends PathElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'circle';\n  }\n\n  path(ctx) {\n    var cx = this.getAttribute('cx').getPixels('x');\n    var cy = this.getAttribute('cy').getPixels('y');\n    var r = this.getAttribute('r').getPixels();\n\n    if (ctx && r > 0) {\n      ctx.beginPath();\n      ctx.arc(cx, cy, r, 0, Math.PI * 2, false);\n      ctx.closePath();\n    }\n\n    return new BoundingBox(cx - r, cy - r, cx + r, cy + r);\n  }\n\n  getMarkers() {\n    return null;\n  }\n\n}\n\nclass EllipseElement extends PathElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'ellipse';\n  }\n\n  path(ctx) {\n    var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);\n    var rx = this.getAttribute('rx').getPixels('x');\n    var ry = this.getAttribute('ry').getPixels('y');\n    var cx = this.getAttribute('cx').getPixels('x');\n    var cy = this.getAttribute('cy').getPixels('y');\n\n    if (ctx && rx > 0 && ry > 0) {\n      ctx.beginPath();\n      ctx.moveTo(cx + rx, cy);\n      ctx.bezierCurveTo(cx + rx, cy + KAPPA * ry, cx + KAPPA * rx, cy + ry, cx, cy + ry);\n      ctx.bezierCurveTo(cx - KAPPA * rx, cy + ry, cx - rx, cy + KAPPA * ry, cx - rx, cy);\n      ctx.bezierCurveTo(cx - rx, cy - KAPPA * ry, cx - KAPPA * rx, cy - ry, cx, cy - ry);\n      ctx.bezierCurveTo(cx + KAPPA * rx, cy - ry, cx + rx, cy - KAPPA * ry, cx + rx, cy);\n      ctx.closePath();\n    }\n\n    return new BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry);\n  }\n\n  getMarkers() {\n    return null;\n  }\n\n}\n\nclass LineElement extends PathElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'line';\n  }\n\n  getPoints() {\n    return [new Point(this.getAttribute('x1').getPixels('x'), this.getAttribute('y1').getPixels('y')), new Point(this.getAttribute('x2').getPixels('x'), this.getAttribute('y2').getPixels('y'))];\n  }\n\n  path(ctx) {\n    var [{\n      x: x0,\n      y: y0\n    }, {\n      x: x1,\n      y: y1\n    }] = this.getPoints();\n\n    if (ctx) {\n      ctx.beginPath();\n      ctx.moveTo(x0, y0);\n      ctx.lineTo(x1, y1);\n    }\n\n    return new BoundingBox(x0, y0, x1, y1);\n  }\n\n  getMarkers() {\n    var [p0, p1] = this.getPoints();\n    var a = p0.angleTo(p1);\n    return [[p0, a], [p1, a]];\n  }\n\n}\n\nclass PolylineElement extends PathElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'polyline';\n    this.points = [];\n    this.points = Point.parsePath(this.getAttribute('points').getString());\n  }\n\n  path(ctx) {\n    var {\n      points\n    } = this;\n    var [{\n      x: x0,\n      y: y0\n    }] = points;\n    var boundingBox = new BoundingBox(x0, y0);\n\n    if (ctx) {\n      ctx.beginPath();\n      ctx.moveTo(x0, y0);\n    }\n\n    points.forEach(_ref => {\n      var {\n        x,\n        y\n      } = _ref;\n      boundingBox.addPoint(x, y);\n\n      if (ctx) {\n        ctx.lineTo(x, y);\n      }\n    });\n    return boundingBox;\n  }\n\n  getMarkers() {\n    var {\n      points\n    } = this;\n    var lastIndex = points.length - 1;\n    var markers = [];\n    points.forEach((point, i) => {\n      if (i === lastIndex) {\n        return;\n      }\n\n      markers.push([point, point.angleTo(points[i + 1])]);\n    });\n\n    if (markers.length > 0) {\n      markers.push([points[points.length - 1], markers[markers.length - 1][1]]);\n    }\n\n    return markers;\n  }\n\n}\n\nclass PolygonElement extends PolylineElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'polygon';\n  }\n\n  path(ctx) {\n    var boundingBox = super.path(ctx);\n    var [{\n      x,\n      y\n    }] = this.points;\n\n    if (ctx) {\n      ctx.lineTo(x, y);\n      ctx.closePath();\n    }\n\n    return boundingBox;\n  }\n\n}\n\nclass PatternElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'pattern';\n  }\n\n  createPattern(ctx, _, parentOpacityProp) {\n    var width = this.getStyle('width').getPixels('x', true);\n    var height = this.getStyle('height').getPixels('y', true); // render me using a temporary svg element\n\n    var patternSvg = new SVGElement(this.document, null);\n    patternSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue());\n    patternSvg.attributes.width = new Property(this.document, 'width', \"\".concat(width, \"px\"));\n    patternSvg.attributes.height = new Property(this.document, 'height', \"\".concat(height, \"px\"));\n    patternSvg.attributes.transform = new Property(this.document, 'transform', this.getAttribute('patternTransform').getValue());\n    patternSvg.children = this.children;\n    var patternCanvas = this.document.createCanvas(width, height);\n    var patternCtx = patternCanvas.getContext('2d');\n    var xAttr = this.getAttribute('x');\n    var yAttr = this.getAttribute('y');\n\n    if (xAttr.hasValue() && yAttr.hasValue()) {\n      patternCtx.translate(xAttr.getPixels('x', true), yAttr.getPixels('y', true));\n    }\n\n    if (parentOpacityProp.hasValue()) {\n      this.styles['fill-opacity'] = parentOpacityProp;\n    } else {\n      Reflect.deleteProperty(this.styles, 'fill-opacity');\n    } // render 3x3 grid so when we transform there's no white space on edges\n\n\n    for (var x = -1; x <= 1; x++) {\n      for (var y = -1; y <= 1; y++) {\n        patternCtx.save();\n        patternSvg.attributes.x = new Property(this.document, 'x', x * patternCanvas.width);\n        patternSvg.attributes.y = new Property(this.document, 'y', y * patternCanvas.height);\n        patternSvg.render(patternCtx);\n        patternCtx.restore();\n      }\n    }\n\n    var pattern = ctx.createPattern(patternCanvas, 'repeat');\n    return pattern;\n  }\n\n}\n\nclass MarkerElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'marker';\n  }\n\n  render(ctx, point, angle) {\n    if (!point) {\n      return;\n    }\n\n    var {\n      x,\n      y\n    } = point;\n    var orient = this.getAttribute('orient').getString('auto');\n    var markerUnits = this.getAttribute('markerUnits').getString('strokeWidth');\n    ctx.translate(x, y);\n\n    if (orient === 'auto') {\n      ctx.rotate(angle);\n    }\n\n    if (markerUnits === 'strokeWidth') {\n      ctx.scale(ctx.lineWidth, ctx.lineWidth);\n    }\n\n    ctx.save(); // render me using a temporary svg element\n\n    var markerSvg = new SVGElement(this.document, null);\n    markerSvg.type = this.type;\n    markerSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue());\n    markerSvg.attributes.refX = new Property(this.document, 'refX', this.getAttribute('refX').getValue());\n    markerSvg.attributes.refY = new Property(this.document, 'refY', this.getAttribute('refY').getValue());\n    markerSvg.attributes.width = new Property(this.document, 'width', this.getAttribute('markerWidth').getValue());\n    markerSvg.attributes.height = new Property(this.document, 'height', this.getAttribute('markerHeight').getValue());\n    markerSvg.attributes.overflow = new Property(this.document, 'overflow', this.getAttribute('overflow').getValue());\n    markerSvg.attributes.fill = new Property(this.document, 'fill', this.getAttribute('fill').getColor('black'));\n    markerSvg.attributes.stroke = new Property(this.document, 'stroke', this.getAttribute('stroke').getValue('none'));\n    markerSvg.children = this.children;\n    markerSvg.render(ctx);\n    ctx.restore();\n\n    if (markerUnits === 'strokeWidth') {\n      ctx.scale(1 / ctx.lineWidth, 1 / ctx.lineWidth);\n    }\n\n    if (orient === 'auto') {\n      ctx.rotate(-angle);\n    }\n\n    ctx.translate(-x, -y);\n  }\n\n}\n\nclass DefsElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'defs';\n  }\n\n  render() {// NOOP\n  }\n\n}\n\nclass GElement extends RenderedElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'g';\n  }\n\n  getBoundingBox(ctx) {\n    var boundingBox = new BoundingBox();\n    this.children.forEach(child => {\n      boundingBox.addBoundingBox(child.getBoundingBox(ctx));\n    });\n    return boundingBox;\n  }\n\n}\n\nclass GradientElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.attributesToInherit = ['gradientUnits'];\n    this.stops = [];\n    var {\n      stops,\n      children\n    } = this;\n    children.forEach(child => {\n      if (child.type === 'stop') {\n        stops.push(child);\n      }\n    });\n  }\n\n  getGradientUnits() {\n    return this.getAttribute('gradientUnits').getString('objectBoundingBox');\n  }\n\n  createGradient(ctx, element, parentOpacityProp) {\n    // eslint-disable-next-line @typescript-eslint/no-this-alias, consistent-this\n    var stopsContainer = this;\n\n    if (this.getHrefAttribute().hasValue()) {\n      stopsContainer = this.getHrefAttribute().getDefinition();\n      this.inheritStopContainer(stopsContainer);\n    }\n\n    var {\n      stops\n    } = stopsContainer;\n    var gradient = this.getGradient(ctx, element);\n\n    if (!gradient) {\n      return this.addParentOpacity(parentOpacityProp, stops[stops.length - 1].color);\n    }\n\n    stops.forEach(stop => {\n      gradient.addColorStop(stop.offset, this.addParentOpacity(parentOpacityProp, stop.color));\n    });\n\n    if (this.getAttribute('gradientTransform').hasValue()) {\n      // render as transformed pattern on temporary canvas\n      var {\n        document\n      } = this;\n      var {\n        MAX_VIRTUAL_PIXELS,\n        viewPort\n      } = document.screen;\n      var [rootView] = viewPort.viewPorts;\n      var rect = new RectElement(document, null);\n      rect.attributes.x = new Property(document, 'x', -MAX_VIRTUAL_PIXELS / 3.0);\n      rect.attributes.y = new Property(document, 'y', -MAX_VIRTUAL_PIXELS / 3.0);\n      rect.attributes.width = new Property(document, 'width', MAX_VIRTUAL_PIXELS);\n      rect.attributes.height = new Property(document, 'height', MAX_VIRTUAL_PIXELS);\n      var group = new GElement(document, null);\n      group.attributes.transform = new Property(document, 'transform', this.getAttribute('gradientTransform').getValue());\n      group.children = [rect];\n      var patternSvg = new SVGElement(document, null);\n      patternSvg.attributes.x = new Property(document, 'x', 0);\n      patternSvg.attributes.y = new Property(document, 'y', 0);\n      patternSvg.attributes.width = new Property(document, 'width', rootView.width);\n      patternSvg.attributes.height = new Property(document, 'height', rootView.height);\n      patternSvg.children = [group];\n      var patternCanvas = document.createCanvas(rootView.width, rootView.height);\n      var patternCtx = patternCanvas.getContext('2d');\n      patternCtx.fillStyle = gradient;\n      patternSvg.render(patternCtx);\n      return patternCtx.createPattern(patternCanvas, 'no-repeat');\n    }\n\n    return gradient;\n  }\n\n  inheritStopContainer(stopsContainer) {\n    this.attributesToInherit.forEach(attributeToInherit => {\n      if (!this.getAttribute(attributeToInherit).hasValue() && stopsContainer.getAttribute(attributeToInherit).hasValue()) {\n        this.getAttribute(attributeToInherit, true).setValue(stopsContainer.getAttribute(attributeToInherit).getValue());\n      }\n    });\n  }\n\n  addParentOpacity(parentOpacityProp, color) {\n    if (parentOpacityProp.hasValue()) {\n      var colorProp = new Property(this.document, 'color', color);\n      return colorProp.addOpacity(parentOpacityProp).getColor();\n    }\n\n    return color;\n  }\n\n}\n\nclass LinearGradientElement extends GradientElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'linearGradient';\n    this.attributesToInherit.push('x1', 'y1', 'x2', 'y2');\n  }\n\n  getGradient(ctx, element) {\n    var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox';\n    var boundingBox = isBoundingBoxUnits ? element.getBoundingBox(ctx) : null;\n\n    if (isBoundingBoxUnits && !boundingBox) {\n      return null;\n    }\n\n    if (!this.getAttribute('x1').hasValue() && !this.getAttribute('y1').hasValue() && !this.getAttribute('x2').hasValue() && !this.getAttribute('y2').hasValue()) {\n      this.getAttribute('x1', true).setValue(0);\n      this.getAttribute('y1', true).setValue(0);\n      this.getAttribute('x2', true).setValue(1);\n      this.getAttribute('y2', true).setValue(0);\n    }\n\n    var x1 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x1').getNumber() : this.getAttribute('x1').getPixels('x');\n    var y1 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y1').getNumber() : this.getAttribute('y1').getPixels('y');\n    var x2 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x2').getNumber() : this.getAttribute('x2').getPixels('x');\n    var y2 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y2').getNumber() : this.getAttribute('y2').getPixels('y');\n\n    if (x1 === x2 && y1 === y2) {\n      return null;\n    }\n\n    return ctx.createLinearGradient(x1, y1, x2, y2);\n  }\n\n}\n\nclass RadialGradientElement extends GradientElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'radialGradient';\n    this.attributesToInherit.push('cx', 'cy', 'r', 'fx', 'fy', 'fr');\n  }\n\n  getGradient(ctx, element) {\n    var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox';\n    var boundingBox = element.getBoundingBox(ctx);\n\n    if (isBoundingBoxUnits && !boundingBox) {\n      return null;\n    }\n\n    if (!this.getAttribute('cx').hasValue()) {\n      this.getAttribute('cx', true).setValue('50%');\n    }\n\n    if (!this.getAttribute('cy').hasValue()) {\n      this.getAttribute('cy', true).setValue('50%');\n    }\n\n    if (!this.getAttribute('r').hasValue()) {\n      this.getAttribute('r', true).setValue('50%');\n    }\n\n    var cx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('cx').getNumber() : this.getAttribute('cx').getPixels('x');\n    var cy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('cy').getNumber() : this.getAttribute('cy').getPixels('y');\n    var fx = cx;\n    var fy = cy;\n\n    if (this.getAttribute('fx').hasValue()) {\n      fx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('fx').getNumber() : this.getAttribute('fx').getPixels('x');\n    }\n\n    if (this.getAttribute('fy').hasValue()) {\n      fy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('fy').getNumber() : this.getAttribute('fy').getPixels('y');\n    }\n\n    var r = isBoundingBoxUnits ? (boundingBox.width + boundingBox.height) / 2.0 * this.getAttribute('r').getNumber() : this.getAttribute('r').getPixels();\n    var fr = this.getAttribute('fr').getPixels();\n    return ctx.createRadialGradient(fx, fy, fr, cx, cy, r);\n  }\n\n}\n\nclass StopElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'stop';\n    var offset = Math.max(0, Math.min(1, this.getAttribute('offset').getNumber()));\n    var stopOpacity = this.getStyle('stop-opacity');\n    var stopColor = this.getStyle('stop-color', true);\n\n    if (stopColor.getString() === '') {\n      stopColor.setValue('#000');\n    }\n\n    if (stopOpacity.hasValue()) {\n      stopColor = stopColor.addOpacity(stopOpacity);\n    }\n\n    this.offset = offset;\n    this.color = stopColor.getColor();\n  }\n\n}\n\nclass AnimateElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'animate';\n    this.duration = 0;\n    this.initialValue = null;\n    this.initialUnits = '';\n    this.removed = false;\n    this.frozen = false;\n    document.screen.animations.push(this);\n    this.begin = this.getAttribute('begin').getMilliseconds();\n    this.maxDuration = this.begin + this.getAttribute('dur').getMilliseconds();\n    this.from = this.getAttribute('from');\n    this.to = this.getAttribute('to');\n    this.values = new Property(document, 'values', null);\n    var valuesAttr = this.getAttribute('values');\n\n    if (valuesAttr.hasValue()) {\n      this.values.setValue(valuesAttr.getString().split(';'));\n    }\n  }\n\n  getProperty() {\n    var attributeType = this.getAttribute('attributeType').getString();\n    var attributeName = this.getAttribute('attributeName').getString();\n\n    if (attributeType === 'CSS') {\n      return this.parent.getStyle(attributeName, true);\n    }\n\n    return this.parent.getAttribute(attributeName, true);\n  }\n\n  calcValue() {\n    var {\n      initialUnits\n    } = this;\n    var {\n      progress,\n      from,\n      to\n    } = this.getProgress(); // tween value linearly\n\n    var newValue = from.getNumber() + (to.getNumber() - from.getNumber()) * progress;\n\n    if (initialUnits === '%') {\n      newValue *= 100.0; // numValue() returns 0-1 whereas properties are 0-100\n    }\n\n    return \"\".concat(newValue).concat(initialUnits);\n  }\n\n  update(delta) {\n    var {\n      parent\n    } = this;\n    var prop = this.getProperty(); // set initial value\n\n    if (!this.initialValue) {\n      this.initialValue = prop.getString();\n      this.initialUnits = prop.getUnits();\n    } // if we're past the end time\n\n\n    if (this.duration > this.maxDuration) {\n      var fill = this.getAttribute('fill').getString('remove'); // loop for indefinitely repeating animations\n\n      if (this.getAttribute('repeatCount').getString() === 'indefinite' || this.getAttribute('repeatDur').getString() === 'indefinite') {\n        this.duration = 0;\n      } else if (fill === 'freeze' && !this.frozen) {\n        this.frozen = true;\n        parent.animationFrozen = true;\n        parent.animationFrozenValue = prop.getString();\n      } else if (fill === 'remove' && !this.removed) {\n        this.removed = true;\n        prop.setValue(parent.animationFrozen ? parent.animationFrozenValue : this.initialValue);\n        return true;\n      }\n\n      return false;\n    }\n\n    this.duration += delta; // if we're past the begin time\n\n    var updated = false;\n\n    if (this.begin < this.duration) {\n      var newValue = this.calcValue(); // tween\n\n      var typeAttr = this.getAttribute('type');\n\n      if (typeAttr.hasValue()) {\n        // for transform, etc.\n        var type = typeAttr.getString();\n        newValue = \"\".concat(type, \"(\").concat(newValue, \")\");\n      }\n\n      prop.setValue(newValue);\n      updated = true;\n    }\n\n    return updated;\n  }\n\n  getProgress() {\n    var {\n      document,\n      values\n    } = this;\n    var result = {\n      progress: (this.duration - this.begin) / (this.maxDuration - this.begin)\n    };\n\n    if (values.hasValue()) {\n      var p = result.progress * (values.getValue().length - 1);\n      var lb = Math.floor(p);\n      var ub = Math.ceil(p);\n      result.from = new Property(document, 'from', parseFloat(values.getValue()[lb]));\n      result.to = new Property(document, 'to', parseFloat(values.getValue()[ub]));\n      result.progress = (p - lb) / (ub - lb);\n    } else {\n      result.from = this.from;\n      result.to = this.to;\n    }\n\n    return result;\n  }\n\n}\n\nclass AnimateColorElement extends AnimateElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'animateColor';\n  }\n\n  calcValue() {\n    var {\n      progress,\n      from,\n      to\n    } = this.getProgress();\n    var colorFrom = new RGBColor(from.getColor());\n    var colorTo = new RGBColor(to.getColor());\n\n    if (colorFrom.ok && colorTo.ok) {\n      // tween color linearly\n      var r = colorFrom.r + (colorTo.r - colorFrom.r) * progress;\n      var g = colorFrom.g + (colorTo.g - colorFrom.g) * progress;\n      var b = colorFrom.b + (colorTo.b - colorFrom.b) * progress; // ? alpha\n\n      return \"rgb(\".concat(Math.floor(r), \", \").concat(Math.floor(g), \", \").concat(Math.floor(b), \")\");\n    }\n\n    return this.getAttribute('from').getColor();\n  }\n\n}\n\nclass AnimateTransformElement extends AnimateElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'animateTransform';\n  }\n\n  calcValue() {\n    var {\n      progress,\n      from,\n      to\n    } = this.getProgress(); // tween value linearly\n\n    var transformFrom = toNumbers(from.getString());\n    var transformTo = toNumbers(to.getString());\n    var newValue = transformFrom.map((from, i) => {\n      var to = transformTo[i];\n      return from + (to - from) * progress;\n    }).join(' ');\n    return newValue;\n  }\n\n}\n\nclass FontElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'font';\n    this.glyphs = {};\n    this.horizAdvX = this.getAttribute('horiz-adv-x').getNumber();\n    var {\n      definitions\n    } = document;\n    var {\n      children\n    } = this;\n\n    for (var child of children) {\n      switch (child.type) {\n        case 'font-face':\n          {\n            this.fontFace = child;\n            var fontFamilyStyle = child.getStyle('font-family');\n\n            if (fontFamilyStyle.hasValue()) {\n              definitions[fontFamilyStyle.getString()] = this;\n            }\n\n            break;\n          }\n\n        case 'missing-glyph':\n          this.missingGlyph = child;\n          break;\n\n        case 'glyph':\n          {\n            var glyph = child;\n\n            if (glyph.arabicForm) {\n              this.isRTL = true;\n              this.isArabic = true;\n\n              if (typeof this.glyphs[glyph.unicode] === 'undefined') {\n                this.glyphs[glyph.unicode] = {};\n              }\n\n              this.glyphs[glyph.unicode][glyph.arabicForm] = glyph;\n            } else {\n              this.glyphs[glyph.unicode] = glyph;\n            }\n\n            break;\n          }\n      }\n    }\n  }\n\n  render() {// NO RENDER\n  }\n\n}\n\nclass FontFaceElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'font-face';\n    this.ascent = this.getAttribute('ascent').getNumber();\n    this.descent = this.getAttribute('descent').getNumber();\n    this.unitsPerEm = this.getAttribute('units-per-em').getNumber();\n  }\n\n}\n\nclass MissingGlyphElement extends PathElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'missing-glyph';\n    this.horizAdvX = 0;\n  }\n\n}\n\nclass TRefElement extends TextElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'tref';\n  }\n\n  getText() {\n    var element = this.getHrefAttribute().getDefinition();\n\n    if (element) {\n      var firstChild = element.children[0];\n\n      if (firstChild) {\n        return firstChild.getText();\n      }\n    }\n\n    return '';\n  }\n\n}\n\nclass AElement extends TextElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'a';\n    var {\n      childNodes\n    } = node;\n    var firstChild = childNodes[0];\n    var hasText = childNodes.length > 0 && Array.from(childNodes).every(node => node.nodeType === 3);\n    this.hasText = hasText;\n    this.text = hasText ? this.getTextFromNode(firstChild) : '';\n  }\n\n  getText() {\n    return this.text;\n  }\n\n  renderChildren(ctx) {\n    if (this.hasText) {\n      // render as text element\n      super.renderChildren(ctx);\n      var {\n        document,\n        x,\n        y\n      } = this;\n      var {\n        mouse\n      } = document.screen;\n      var fontSize = new Property(document, 'fontSize', Font.parse(document.ctx.font).fontSize); // Do not calc bounding box if mouse is not working.\n\n      if (mouse.isWorking()) {\n        mouse.checkBoundingBox(this, new BoundingBox(x, y - fontSize.getPixels('y'), x + this.measureText(ctx), y));\n      }\n    } else if (this.children.length > 0) {\n      // render as temporary group\n      var g = new GElement(this.document, null);\n      g.children = this.children;\n      g.parent = this;\n      g.render(ctx);\n    }\n  }\n\n  onClick() {\n    var {\n      window\n    } = this.document;\n\n    if (window) {\n      window.open(this.getHrefAttribute().getString());\n    }\n  }\n\n  onMouseMove() {\n    var ctx = this.document.ctx;\n    ctx.canvas.style.cursor = 'pointer';\n  }\n\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nclass TextPathElement extends TextElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'textPath';\n    this.textWidth = 0;\n    this.textHeight = 0;\n    this.pathLength = -1;\n    this.glyphInfo = null;\n    this.letterSpacingCache = [];\n    this.measuresCache = new Map([['', 0]]);\n    var pathElement = this.getHrefAttribute().getDefinition();\n    this.text = this.getTextFromNode();\n    this.dataArray = this.parsePathData(pathElement);\n  }\n\n  getText() {\n    return this.text;\n  }\n\n  path(ctx) {\n    var {\n      dataArray\n    } = this;\n\n    if (ctx) {\n      ctx.beginPath();\n    }\n\n    dataArray.forEach(_ref => {\n      var {\n        type,\n        points\n      } = _ref;\n\n      switch (type) {\n        case PathParser.LINE_TO:\n          if (ctx) {\n            ctx.lineTo(points[0], points[1]);\n          }\n\n          break;\n\n        case PathParser.MOVE_TO:\n          if (ctx) {\n            ctx.moveTo(points[0], points[1]);\n          }\n\n          break;\n\n        case PathParser.CURVE_TO:\n          if (ctx) {\n            ctx.bezierCurveTo(points[0], points[1], points[2], points[3], points[4], points[5]);\n          }\n\n          break;\n\n        case PathParser.QUAD_TO:\n          if (ctx) {\n            ctx.quadraticCurveTo(points[0], points[1], points[2], points[3]);\n          }\n\n          break;\n\n        case PathParser.ARC:\n          {\n            var [cx, cy, rx, ry, theta, dTheta, psi, fs] = points;\n            var r = rx > ry ? rx : ry;\n            var scaleX = rx > ry ? 1 : rx / ry;\n            var scaleY = rx > ry ? ry / rx : 1;\n\n            if (ctx) {\n              ctx.translate(cx, cy);\n              ctx.rotate(psi);\n              ctx.scale(scaleX, scaleY);\n              ctx.arc(0, 0, r, theta, theta + dTheta, Boolean(1 - fs));\n              ctx.scale(1 / scaleX, 1 / scaleY);\n              ctx.rotate(-psi);\n              ctx.translate(-cx, -cy);\n            }\n\n            break;\n          }\n\n        case PathParser.CLOSE_PATH:\n          if (ctx) {\n            ctx.closePath();\n          }\n\n          break;\n      }\n    });\n  }\n\n  renderChildren(ctx) {\n    this.setTextData(ctx);\n    ctx.save();\n    var textDecoration = this.parent.getStyle('text-decoration').getString();\n    var fontSize = this.getFontSize();\n    var {\n      glyphInfo\n    } = this;\n    var fill = ctx.fillStyle;\n\n    if (textDecoration === 'underline') {\n      ctx.beginPath();\n    }\n\n    glyphInfo.forEach((glyph, i) => {\n      var {\n        p0,\n        p1,\n        rotation,\n        text: partialText\n      } = glyph;\n      ctx.save();\n      ctx.translate(p0.x, p0.y);\n      ctx.rotate(rotation);\n\n      if (ctx.fillStyle) {\n        ctx.fillText(partialText, 0, 0);\n      }\n\n      if (ctx.strokeStyle) {\n        ctx.strokeText(partialText, 0, 0);\n      }\n\n      ctx.restore();\n\n      if (textDecoration === 'underline') {\n        if (i === 0) {\n          ctx.moveTo(p0.x, p0.y + fontSize / 8);\n        }\n\n        ctx.lineTo(p1.x, p1.y + fontSize / 5);\n      } // // To assist with debugging visually, uncomment following\n      //\n      // ctx.beginPath();\n      // if (i % 2)\n      // \tctx.strokeStyle = 'red';\n      // else\n      // \tctx.strokeStyle = 'green';\n      // ctx.moveTo(p0.x, p0.y);\n      // ctx.lineTo(p1.x, p1.y);\n      // ctx.stroke();\n      // ctx.closePath();\n\n    });\n\n    if (textDecoration === 'underline') {\n      ctx.lineWidth = fontSize / 20;\n      ctx.strokeStyle = fill;\n      ctx.stroke();\n      ctx.closePath();\n    }\n\n    ctx.restore();\n  }\n\n  getLetterSpacingAt() {\n    var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    return this.letterSpacingCache[idx] || 0;\n  }\n\n  findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, inputOffset, dy, c, charI) {\n    var offset = inputOffset;\n    var glyphWidth = this.measureText(ctx, c);\n\n    if (c === ' ' && anchor === 'justify' && textFullWidth < fullPathWidth) {\n      glyphWidth += (fullPathWidth - textFullWidth) / spacesNumber;\n    }\n\n    if (charI > -1) {\n      offset += this.getLetterSpacingAt(charI);\n    }\n\n    var splineStep = this.textHeight / 20;\n    var p0 = this.getEquidistantPointOnPath(offset, splineStep, 0);\n    var p1 = this.getEquidistantPointOnPath(offset + glyphWidth, splineStep, 0);\n    var segment = {\n      p0,\n      p1\n    };\n    var rotation = p0 && p1 ? Math.atan2(p1.y - p0.y, p1.x - p0.x) : 0;\n\n    if (dy) {\n      var dyX = Math.cos(Math.PI / 2 + rotation) * dy;\n      var dyY = Math.cos(-rotation) * dy;\n      segment.p0 = _objectSpread$2(_objectSpread$2({}, p0), {}, {\n        x: p0.x + dyX,\n        y: p0.y + dyY\n      });\n      segment.p1 = _objectSpread$2(_objectSpread$2({}, p1), {}, {\n        x: p1.x + dyX,\n        y: p1.y + dyY\n      });\n    }\n\n    offset += glyphWidth;\n    return {\n      offset,\n      segment,\n      rotation\n    };\n  }\n\n  measureText(ctx, text) {\n    var {\n      measuresCache\n    } = this;\n    var targetText = text || this.getText();\n\n    if (measuresCache.has(targetText)) {\n      return measuresCache.get(targetText);\n    }\n\n    var measure = this.measureTargetText(ctx, targetText);\n    measuresCache.set(targetText, measure);\n    return measure;\n  } // This method supposes what all custom fonts already loaded.\n  // If some font will be loaded after this method call, <textPath> will not be rendered correctly.\n  // You need to call this method manually to update glyphs cache.\n\n\n  setTextData(ctx) {\n    if (this.glyphInfo) {\n      return;\n    }\n\n    var renderText = this.getText();\n    var chars = renderText.split('');\n    var spacesNumber = renderText.split(' ').length - 1;\n    var dx = this.parent.getAttribute('dx').split().map(_ => _.getPixels('x'));\n    var dy = this.parent.getAttribute('dy').getPixels('y');\n    var anchor = this.parent.getStyle('text-anchor').getString('start');\n    var thisSpacing = this.getStyle('letter-spacing');\n    var parentSpacing = this.parent.getStyle('letter-spacing');\n    var letterSpacing = 0;\n\n    if (!thisSpacing.hasValue() || thisSpacing.getValue() === 'inherit') {\n      letterSpacing = parentSpacing.getPixels();\n    } else if (thisSpacing.hasValue()) {\n      if (thisSpacing.getValue() !== 'initial' && thisSpacing.getValue() !== 'unset') {\n        letterSpacing = thisSpacing.getPixels();\n      }\n    } // fill letter-spacing cache\n\n\n    var letterSpacingCache = [];\n    var textLen = renderText.length;\n    this.letterSpacingCache = letterSpacingCache;\n\n    for (var i = 0; i < textLen; i++) {\n      letterSpacingCache.push(typeof dx[i] !== 'undefined' ? dx[i] : letterSpacing);\n    }\n\n    var dxSum = letterSpacingCache.reduce((acc, cur, i) => i === 0 ? 0 : acc + cur || 0, 0);\n    var textWidth = this.measureText(ctx);\n    var textFullWidth = Math.max(textWidth + dxSum, 0);\n    this.textWidth = textWidth;\n    this.textHeight = this.getFontSize();\n    this.glyphInfo = [];\n    var fullPathWidth = this.getPathLength();\n    var startOffset = this.getStyle('startOffset').getNumber(0) * fullPathWidth;\n    var offset = 0;\n\n    if (anchor === 'middle' || anchor === 'center') {\n      offset = -textFullWidth / 2;\n    }\n\n    if (anchor === 'end' || anchor === 'right') {\n      offset = -textFullWidth;\n    }\n\n    offset += startOffset;\n    chars.forEach((char, i) => {\n      // Find such segment what distance between p0 and p1 is approx. width of glyph\n      var {\n        offset: nextOffset,\n        segment,\n        rotation\n      } = this.findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, offset, dy, char, i);\n      offset = nextOffset;\n\n      if (!segment.p0 || !segment.p1) {\n        return;\n      } // const width = this.getLineLength(\n      // \tsegment.p0.x,\n      // \tsegment.p0.y,\n      // \tsegment.p1.x,\n      // \tsegment.p1.y\n      // );\n      // Note: Since glyphs are rendered one at a time, any kerning pair data built into the font will not be used.\n      // Can foresee having a rough pair table built in that the developer can override as needed.\n      // Or use \"dx\" attribute of the <text> node as a naive replacement\n      // const kern = 0;\n      // placeholder for future implementation\n      // const midpoint = this.getPointOnLine(\n      // \tkern + width / 2.0,\n      // \tsegment.p0.x, segment.p0.y, segment.p1.x, segment.p1.y\n      // );\n\n\n      this.glyphInfo.push({\n        // transposeX: midpoint.x,\n        // transposeY: midpoint.y,\n        text: chars[i],\n        p0: segment.p0,\n        p1: segment.p1,\n        rotation\n      });\n    });\n  }\n\n  parsePathData(path) {\n    this.pathLength = -1; // reset path length\n\n    if (!path) {\n      return [];\n    }\n\n    var pathCommands = [];\n    var {\n      pathParser\n    } = path;\n    pathParser.reset(); // convert l, H, h, V, and v to L\n\n    while (!pathParser.isEnd()) {\n      var {\n        current\n      } = pathParser;\n      var startX = current ? current.x : 0;\n      var startY = current ? current.y : 0;\n      var command = pathParser.next();\n      var nextCommandType = command.type;\n      var points = [];\n\n      switch (command.type) {\n        case PathParser.MOVE_TO:\n          this.pathM(pathParser, points);\n          break;\n\n        case PathParser.LINE_TO:\n          nextCommandType = this.pathL(pathParser, points);\n          break;\n\n        case PathParser.HORIZ_LINE_TO:\n          nextCommandType = this.pathH(pathParser, points);\n          break;\n\n        case PathParser.VERT_LINE_TO:\n          nextCommandType = this.pathV(pathParser, points);\n          break;\n\n        case PathParser.CURVE_TO:\n          this.pathC(pathParser, points);\n          break;\n\n        case PathParser.SMOOTH_CURVE_TO:\n          nextCommandType = this.pathS(pathParser, points);\n          break;\n\n        case PathParser.QUAD_TO:\n          this.pathQ(pathParser, points);\n          break;\n\n        case PathParser.SMOOTH_QUAD_TO:\n          nextCommandType = this.pathT(pathParser, points);\n          break;\n\n        case PathParser.ARC:\n          points = this.pathA(pathParser);\n          break;\n\n        case PathParser.CLOSE_PATH:\n          PathElement.pathZ(pathParser);\n          break;\n      }\n\n      if (command.type !== PathParser.CLOSE_PATH) {\n        pathCommands.push({\n          type: nextCommandType,\n          points,\n          start: {\n            x: startX,\n            y: startY\n          },\n          pathLength: this.calcLength(startX, startY, nextCommandType, points)\n        });\n      } else {\n        pathCommands.push({\n          type: PathParser.CLOSE_PATH,\n          points: [],\n          pathLength: 0\n        });\n      }\n    }\n\n    return pathCommands;\n  }\n\n  pathM(pathParser, points) {\n    var {\n      x,\n      y\n    } = PathElement.pathM(pathParser).point;\n    points.push(x, y);\n  }\n\n  pathL(pathParser, points) {\n    var {\n      x,\n      y\n    } = PathElement.pathL(pathParser).point;\n    points.push(x, y);\n    return PathParser.LINE_TO;\n  }\n\n  pathH(pathParser, points) {\n    var {\n      x,\n      y\n    } = PathElement.pathH(pathParser).point;\n    points.push(x, y);\n    return PathParser.LINE_TO;\n  }\n\n  pathV(pathParser, points) {\n    var {\n      x,\n      y\n    } = PathElement.pathV(pathParser).point;\n    points.push(x, y);\n    return PathParser.LINE_TO;\n  }\n\n  pathC(pathParser, points) {\n    var {\n      point,\n      controlPoint,\n      currentPoint\n    } = PathElement.pathC(pathParser);\n    points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n  }\n\n  pathS(pathParser, points) {\n    var {\n      point,\n      controlPoint,\n      currentPoint\n    } = PathElement.pathS(pathParser);\n    points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n    return PathParser.CURVE_TO;\n  }\n\n  pathQ(pathParser, points) {\n    var {\n      controlPoint,\n      currentPoint\n    } = PathElement.pathQ(pathParser);\n    points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n  }\n\n  pathT(pathParser, points) {\n    var {\n      controlPoint,\n      currentPoint\n    } = PathElement.pathT(pathParser);\n    points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n    return PathParser.QUAD_TO;\n  }\n\n  pathA(pathParser) {\n    var {\n      rX,\n      rY,\n      sweepFlag,\n      xAxisRotation,\n      centp,\n      a1,\n      ad\n    } = PathElement.pathA(pathParser);\n\n    if (sweepFlag === 0 && ad > 0) {\n      ad -= 2 * Math.PI;\n    }\n\n    if (sweepFlag === 1 && ad < 0) {\n      ad += 2 * Math.PI;\n    }\n\n    return [centp.x, centp.y, rX, rY, a1, ad, xAxisRotation, sweepFlag];\n  }\n\n  calcLength(x, y, commandType, points) {\n    var len = 0;\n    var p1 = null;\n    var p2 = null;\n    var t = 0;\n\n    switch (commandType) {\n      case PathParser.LINE_TO:\n        return this.getLineLength(x, y, points[0], points[1]);\n\n      case PathParser.CURVE_TO:\n        // Approximates by breaking curve into 100 line segments\n        len = 0.0;\n        p1 = this.getPointOnCubicBezier(0, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n\n        for (t = 0.01; t <= 1; t += 0.01) {\n          p2 = this.getPointOnCubicBezier(t, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n          len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n          p1 = p2;\n        }\n\n        return len;\n\n      case PathParser.QUAD_TO:\n        // Approximates by breaking curve into 100 line segments\n        len = 0.0;\n        p1 = this.getPointOnQuadraticBezier(0, x, y, points[0], points[1], points[2], points[3]);\n\n        for (t = 0.01; t <= 1; t += 0.01) {\n          p2 = this.getPointOnQuadraticBezier(t, x, y, points[0], points[1], points[2], points[3]);\n          len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n          p1 = p2;\n        }\n\n        return len;\n\n      case PathParser.ARC:\n        {\n          // Approximates by breaking curve into line segments\n          len = 0.0;\n          var start = points[4]; // 4 = theta\n\n          var dTheta = points[5]; // 5 = dTheta\n\n          var end = points[4] + dTheta;\n          var inc = Math.PI / 180.0; // 1 degree resolution\n\n          if (Math.abs(start - end) < inc) {\n            inc = Math.abs(start - end);\n          } // Note: for purpose of calculating arc length, not going to worry about rotating X-axis by angle psi\n\n\n          p1 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n\n          if (dTheta < 0) {\n            // clockwise\n            for (t = start - inc; t > end; t -= inc) {\n              p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n              len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n              p1 = p2;\n            }\n          } else {\n            // counter-clockwise\n            for (t = start + inc; t < end; t += inc) {\n              p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n              len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n              p1 = p2;\n            }\n          }\n\n          p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n          len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n          return len;\n        }\n    }\n\n    return 0;\n  }\n\n  getPointOnLine(dist, p1x, p1y, p2x, p2y) {\n    var fromX = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : p1x;\n    var fromY = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : p1y;\n    var m = (p2y - p1y) / (p2x - p1x + PSEUDO_ZERO);\n    var run = Math.sqrt(dist * dist / (1 + m * m));\n\n    if (p2x < p1x) {\n      run *= -1;\n    }\n\n    var rise = m * run;\n    var pt = null;\n\n    if (p2x === p1x) {\n      // vertical line\n      pt = {\n        x: fromX,\n        y: fromY + rise\n      };\n    } else if ((fromY - p1y) / (fromX - p1x + PSEUDO_ZERO) === m) {\n      pt = {\n        x: fromX + run,\n        y: fromY + rise\n      };\n    } else {\n      var ix = 0;\n      var iy = 0;\n      var len = this.getLineLength(p1x, p1y, p2x, p2y);\n\n      if (len < PSEUDO_ZERO) {\n        return null;\n      }\n\n      var u = (fromX - p1x) * (p2x - p1x) + (fromY - p1y) * (p2y - p1y);\n      u /= len * len;\n      ix = p1x + u * (p2x - p1x);\n      iy = p1y + u * (p2y - p1y);\n      var pRise = this.getLineLength(fromX, fromY, ix, iy);\n      var pRun = Math.sqrt(dist * dist - pRise * pRise);\n      run = Math.sqrt(pRun * pRun / (1 + m * m));\n\n      if (p2x < p1x) {\n        run *= -1;\n      }\n\n      rise = m * run;\n      pt = {\n        x: ix + run,\n        y: iy + rise\n      };\n    }\n\n    return pt;\n  }\n\n  getPointOnPath(distance) {\n    var fullLen = this.getPathLength();\n    var cumulativePathLength = 0;\n    var p = null;\n\n    if (distance < -0.00005 || distance - 0.00005 > fullLen) {\n      return null;\n    }\n\n    var {\n      dataArray\n    } = this;\n\n    for (var command of dataArray) {\n      if (command && (command.pathLength < 0.00005 || cumulativePathLength + command.pathLength + 0.00005 < distance)) {\n        cumulativePathLength += command.pathLength;\n        continue;\n      }\n\n      var delta = distance - cumulativePathLength;\n      var currentT = 0;\n\n      switch (command.type) {\n        case PathParser.LINE_TO:\n          p = this.getPointOnLine(delta, command.start.x, command.start.y, command.points[0], command.points[1], command.start.x, command.start.y);\n          break;\n\n        case PathParser.ARC:\n          {\n            var start = command.points[4]; // 4 = theta\n\n            var dTheta = command.points[5]; // 5 = dTheta\n\n            var end = command.points[4] + dTheta;\n            currentT = start + delta / command.pathLength * dTheta;\n\n            if (dTheta < 0 && currentT < end || dTheta >= 0 && currentT > end) {\n              break;\n            }\n\n            p = this.getPointOnEllipticalArc(command.points[0], command.points[1], command.points[2], command.points[3], currentT, command.points[6]);\n            break;\n          }\n\n        case PathParser.CURVE_TO:\n          currentT = delta / command.pathLength;\n\n          if (currentT > 1) {\n            currentT = 1;\n          }\n\n          p = this.getPointOnCubicBezier(currentT, command.start.x, command.start.y, command.points[0], command.points[1], command.points[2], command.points[3], command.points[4], command.points[5]);\n          break;\n\n        case PathParser.QUAD_TO:\n          currentT = delta / command.pathLength;\n\n          if (currentT > 1) {\n            currentT = 1;\n          }\n\n          p = this.getPointOnQuadraticBezier(currentT, command.start.x, command.start.y, command.points[0], command.points[1], command.points[2], command.points[3]);\n          break;\n      }\n\n      if (p) {\n        return p;\n      }\n\n      break;\n    }\n\n    return null;\n  }\n\n  getLineLength(x1, y1, x2, y2) {\n    return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n  }\n\n  getPathLength() {\n    if (this.pathLength === -1) {\n      this.pathLength = this.dataArray.reduce((length, command) => command.pathLength > 0 ? length + command.pathLength : length, 0);\n    }\n\n    return this.pathLength;\n  }\n\n  getPointOnCubicBezier(pct, p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n    var x = p4x * CB1(pct) + p3x * CB2(pct) + p2x * CB3(pct) + p1x * CB4(pct);\n    var y = p4y * CB1(pct) + p3y * CB2(pct) + p2y * CB3(pct) + p1y * CB4(pct);\n    return {\n      x,\n      y\n    };\n  }\n\n  getPointOnQuadraticBezier(pct, p1x, p1y, p2x, p2y, p3x, p3y) {\n    var x = p3x * QB1(pct) + p2x * QB2(pct) + p1x * QB3(pct);\n    var y = p3y * QB1(pct) + p2y * QB2(pct) + p1y * QB3(pct);\n    return {\n      x,\n      y\n    };\n  }\n\n  getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n    var cosPsi = Math.cos(psi);\n    var sinPsi = Math.sin(psi);\n    var pt = {\n      x: rx * Math.cos(theta),\n      y: ry * Math.sin(theta)\n    };\n    return {\n      x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n      y: cy + (pt.x * sinPsi + pt.y * cosPsi)\n    };\n  } // TODO need some optimisations. possibly build cache only for curved segments?\n\n\n  buildEquidistantCache(inputStep, inputPrecision) {\n    var fullLen = this.getPathLength();\n    var precision = inputPrecision || 0.25; // accuracy vs performance\n\n    var step = inputStep || fullLen / 100;\n\n    if (!this.equidistantCache || this.equidistantCache.step !== step || this.equidistantCache.precision !== precision) {\n      // Prepare cache\n      this.equidistantCache = {\n        step,\n        precision,\n        points: []\n      }; // Calculate points\n\n      var s = 0;\n\n      for (var l = 0; l <= fullLen; l += precision) {\n        var p0 = this.getPointOnPath(l);\n        var p1 = this.getPointOnPath(l + precision);\n\n        if (!p0 || !p1) {\n          continue;\n        }\n\n        s += this.getLineLength(p0.x, p0.y, p1.x, p1.y);\n\n        if (s >= step) {\n          this.equidistantCache.points.push({\n            x: p0.x,\n            y: p0.y,\n            distance: l\n          });\n          s -= step;\n        }\n      }\n    }\n  }\n\n  getEquidistantPointOnPath(targetDistance, step, precision) {\n    this.buildEquidistantCache(step, precision);\n\n    if (targetDistance < 0 || targetDistance - this.getPathLength() > 0.00005) {\n      return null;\n    }\n\n    var idx = Math.round(targetDistance / this.getPathLength() * (this.equidistantCache.points.length - 1));\n    return this.equidistantCache.points[idx] || null;\n  }\n\n}\n\nvar dataUriRegex = /^\\s*data:(([^/,;]+\\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;\nclass ImageElement extends RenderedElement {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'image';\n    this.loaded = false;\n    var href = this.getHrefAttribute().getString();\n\n    if (!href) {\n      return;\n    }\n\n    var isSvg = href.endsWith('.svg') || /^\\s*data:image\\/svg\\+xml/i.test(href);\n    document.images.push(this);\n\n    if (!isSvg) {\n      void this.loadImage(href);\n    } else {\n      void this.loadSvg(href);\n    }\n\n    this.isSvg = isSvg;\n  }\n\n  loadImage(href) {\n    var _this = this;\n\n    return _asyncToGenerator(function* () {\n      try {\n        var image = yield _this.document.createImage(href);\n        _this.image = image;\n      } catch (err) {\n        console.error(\"Error while loading image \\\"\".concat(href, \"\\\":\"), err);\n      }\n\n      _this.loaded = true;\n    })();\n  }\n\n  loadSvg(href) {\n    var _this2 = this;\n\n    return _asyncToGenerator(function* () {\n      var match = dataUriRegex.exec(href);\n\n      if (match) {\n        var data = match[5];\n\n        if (match[4] === 'base64') {\n          _this2.image = atob(data);\n        } else {\n          _this2.image = decodeURIComponent(data);\n        }\n      } else {\n        try {\n          var response = yield _this2.document.fetch(href);\n          var svg = yield response.text();\n          _this2.image = svg;\n        } catch (err) {\n          console.error(\"Error while loading image \\\"\".concat(href, \"\\\":\"), err);\n        }\n      }\n\n      _this2.loaded = true;\n    })();\n  }\n\n  renderChildren(ctx) {\n    var {\n      document,\n      image,\n      loaded\n    } = this;\n    var x = this.getAttribute('x').getPixels('x');\n    var y = this.getAttribute('y').getPixels('y');\n    var width = this.getStyle('width').getPixels('x');\n    var height = this.getStyle('height').getPixels('y');\n\n    if (!loaded || !image || !width || !height) {\n      return;\n    }\n\n    ctx.save();\n    ctx.translate(x, y);\n\n    if (this.isSvg) {\n      var subDocument = document.canvg.forkString(ctx, this.image, {\n        ignoreMouse: true,\n        ignoreAnimation: true,\n        ignoreDimensions: true,\n        ignoreClear: true,\n        offsetX: 0,\n        offsetY: 0,\n        scaleWidth: width,\n        scaleHeight: height\n      });\n      subDocument.document.documentElement.parent = this;\n      void subDocument.render();\n    } else {\n      var _image = this.image;\n      document.setViewBox({\n        ctx,\n        aspectRatio: this.getAttribute('preserveAspectRatio').getString(),\n        width,\n        desiredWidth: _image.width,\n        height,\n        desiredHeight: _image.height\n      });\n\n      if (this.loaded) {\n        if (typeof _image.complete === 'undefined' || _image.complete) {\n          ctx.drawImage(_image, 0, 0);\n        }\n      }\n    }\n\n    ctx.restore();\n  }\n\n  getBoundingBox() {\n    var x = this.getAttribute('x').getPixels('x');\n    var y = this.getAttribute('y').getPixels('y');\n    var width = this.getStyle('width').getPixels('x');\n    var height = this.getStyle('height').getPixels('y');\n    return new BoundingBox(x, y, x + width, y + height);\n  }\n\n}\n\nclass SymbolElement extends RenderedElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'symbol';\n  }\n\n  render(_) {// NO RENDER\n  }\n\n}\n\nclass SVGFontLoader {\n  constructor(document) {\n    this.document = document;\n    this.loaded = false;\n    document.fonts.push(this);\n  }\n\n  load(fontFamily, url) {\n    var _this = this;\n\n    return _asyncToGenerator(function* () {\n      try {\n        var {\n          document\n        } = _this;\n        var svgDocument = yield document.canvg.parser.load(url);\n        var fonts = svgDocument.getElementsByTagName('font');\n        Array.from(fonts).forEach(fontNode => {\n          var font = document.createElement(fontNode);\n          document.definitions[fontFamily] = font;\n        });\n      } catch (err) {\n        console.error(\"Error while loading font \\\"\".concat(url, \"\\\":\"), err);\n      }\n\n      _this.loaded = true;\n    })();\n  }\n\n}\n\nclass StyleElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'style';\n    var css = compressSpaces(Array.from(node.childNodes) // NEED TEST\n    .map(_ => _.textContent).join('').replace(/(\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\/)|(^[\\s]*\\/\\/.*)/gm, '') // remove comments\n    .replace(/@import.*;/g, '') // remove imports\n    );\n    var cssDefs = css.split('}');\n    cssDefs.forEach(_ => {\n      var def = _.trim();\n\n      if (!def) {\n        return;\n      }\n\n      var cssParts = def.split('{');\n      var cssClasses = cssParts[0].split(',');\n      var cssProps = cssParts[1].split(';');\n      cssClasses.forEach(_ => {\n        var cssClass = _.trim();\n\n        if (!cssClass) {\n          return;\n        }\n\n        var props = document.styles[cssClass] || {};\n        cssProps.forEach(cssProp => {\n          var prop = cssProp.indexOf(':');\n          var name = cssProp.substr(0, prop).trim();\n          var value = cssProp.substr(prop + 1, cssProp.length - prop).trim();\n\n          if (name && value) {\n            props[name] = new Property(document, name, value);\n          }\n        });\n        document.styles[cssClass] = props;\n        document.stylesSpecificity[cssClass] = getSelectorSpecificity(cssClass);\n\n        if (cssClass === '@font-face') {\n          //  && !nodeEnv\n          var fontFamily = props['font-family'].getString().replace(/\"|'/g, '');\n          var srcs = props.src.getString().split(',');\n          srcs.forEach(src => {\n            if (src.indexOf('format(\"svg\")') > 0) {\n              var url = parseExternalUrl(src);\n\n              if (url) {\n                void new SVGFontLoader(document).load(fontFamily, url);\n              }\n            }\n          });\n        }\n      });\n    });\n  }\n\n}\nStyleElement.parseExternalUrl = parseExternalUrl;\n\nclass UseElement extends RenderedElement {\n  constructor() {\n    super(...arguments);\n    this.type = 'use';\n  }\n\n  setContext(ctx) {\n    super.setContext(ctx);\n    var xAttr = this.getAttribute('x');\n    var yAttr = this.getAttribute('y');\n\n    if (xAttr.hasValue()) {\n      ctx.translate(xAttr.getPixels('x'), 0);\n    }\n\n    if (yAttr.hasValue()) {\n      ctx.translate(0, yAttr.getPixels('y'));\n    }\n  }\n\n  path(ctx) {\n    var {\n      element\n    } = this;\n\n    if (element) {\n      element.path(ctx);\n    }\n  }\n\n  renderChildren(ctx) {\n    var {\n      document,\n      element\n    } = this;\n\n    if (element) {\n      var tempSvg = element;\n\n      if (element.type === 'symbol') {\n        // render me using a temporary svg element in symbol cases (http://www.w3.org/TR/SVG/struct.html#UseElement)\n        tempSvg = new SVGElement(document, null);\n        tempSvg.attributes.viewBox = new Property(document, 'viewBox', element.getAttribute('viewBox').getString());\n        tempSvg.attributes.preserveAspectRatio = new Property(document, 'preserveAspectRatio', element.getAttribute('preserveAspectRatio').getString());\n        tempSvg.attributes.overflow = new Property(document, 'overflow', element.getAttribute('overflow').getString());\n        tempSvg.children = element.children; // element is still the parent of the children\n\n        element.styles.opacity = new Property(document, 'opacity', this.calculateOpacity());\n      }\n\n      if (tempSvg.type === 'svg') {\n        var widthStyle = this.getStyle('width', false, true);\n        var heightStyle = this.getStyle('height', false, true); // if symbol or svg, inherit width/height from me\n\n        if (widthStyle.hasValue()) {\n          tempSvg.attributes.width = new Property(document, 'width', widthStyle.getString());\n        }\n\n        if (heightStyle.hasValue()) {\n          tempSvg.attributes.height = new Property(document, 'height', heightStyle.getString());\n        }\n      }\n\n      var oldParent = tempSvg.parent;\n      tempSvg.parent = this;\n      tempSvg.render(ctx);\n      tempSvg.parent = oldParent;\n    }\n  }\n\n  getBoundingBox(ctx) {\n    var {\n      element\n    } = this;\n\n    if (element) {\n      return element.getBoundingBox(ctx);\n    }\n\n    return null;\n  }\n\n  elementTransform() {\n    var {\n      document,\n      element\n    } = this;\n    return Transform.fromElement(document, element);\n  }\n\n  get element() {\n    if (!this.cachedElement) {\n      this.cachedElement = this.getHrefAttribute().getDefinition();\n    }\n\n    return this.cachedElement;\n  }\n\n}\n\nfunction imGet(img, x, y, width, _height, rgba) {\n  return img[y * width * 4 + x * 4 + rgba];\n}\n\nfunction imSet(img, x, y, width, _height, rgba, val) {\n  img[y * width * 4 + x * 4 + rgba] = val;\n}\n\nfunction m(matrix, i, v) {\n  var mi = matrix[i];\n  return mi * v;\n}\n\nfunction c(a, m1, m2, m3) {\n  return m1 + Math.cos(a) * m2 + Math.sin(a) * m3;\n}\n\nclass FeColorMatrixElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'feColorMatrix';\n    var matrix = toNumbers(this.getAttribute('values').getString());\n\n    switch (this.getAttribute('type').getString('matrix')) {\n      // http://www.w3.org/TR/SVG/filters.html#feColorMatrixElement\n      case 'saturate':\n        {\n          var s = matrix[0];\n          /* eslint-disable array-element-newline */\n\n          matrix = [0.213 + 0.787 * s, 0.715 - 0.715 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 + 0.285 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 - 0.715 * s, 0.072 + 0.928 * s, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];\n          /* eslint-enable array-element-newline */\n\n          break;\n        }\n\n      case 'hueRotate':\n        {\n          var a = matrix[0] * Math.PI / 180.0;\n          /* eslint-disable array-element-newline */\n\n          matrix = [c(a, 0.213, 0.787, -0.213), c(a, 0.715, -0.715, -0.715), c(a, 0.072, -0.072, 0.928), 0, 0, c(a, 0.213, -0.213, 0.143), c(a, 0.715, 0.285, 0.140), c(a, 0.072, -0.072, -0.283), 0, 0, c(a, 0.213, -0.213, -0.787), c(a, 0.715, -0.715, 0.715), c(a, 0.072, 0.928, 0.072), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];\n          /* eslint-enable array-element-newline */\n\n          break;\n        }\n\n      case 'luminanceToAlpha':\n        /* eslint-disable array-element-newline */\n        matrix = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2125, 0.7154, 0.0721, 0, 0, 0, 0, 0, 0, 1];\n        /* eslint-enable array-element-newline */\n\n        break;\n    }\n\n    this.matrix = matrix;\n    this.includeOpacity = this.getAttribute('includeOpacity').hasValue();\n  }\n\n  apply(ctx, _x, _y, width, height) {\n    // assuming x==0 && y==0 for now\n    var {\n      includeOpacity,\n      matrix\n    } = this;\n    var srcData = ctx.getImageData(0, 0, width, height);\n\n    for (var y = 0; y < height; y++) {\n      for (var x = 0; x < width; x++) {\n        var r = imGet(srcData.data, x, y, width, height, 0);\n        var g = imGet(srcData.data, x, y, width, height, 1);\n        var b = imGet(srcData.data, x, y, width, height, 2);\n        var a = imGet(srcData.data, x, y, width, height, 3);\n        var nr = m(matrix, 0, r) + m(matrix, 1, g) + m(matrix, 2, b) + m(matrix, 3, a) + m(matrix, 4, 1);\n        var ng = m(matrix, 5, r) + m(matrix, 6, g) + m(matrix, 7, b) + m(matrix, 8, a) + m(matrix, 9, 1);\n        var nb = m(matrix, 10, r) + m(matrix, 11, g) + m(matrix, 12, b) + m(matrix, 13, a) + m(matrix, 14, 1);\n        var na = m(matrix, 15, r) + m(matrix, 16, g) + m(matrix, 17, b) + m(matrix, 18, a) + m(matrix, 19, 1);\n\n        if (includeOpacity) {\n          nr = 0;\n          ng = 0;\n          nb = 0;\n          na *= a / 255;\n        }\n\n        imSet(srcData.data, x, y, width, height, 0, nr);\n        imSet(srcData.data, x, y, width, height, 1, ng);\n        imSet(srcData.data, x, y, width, height, 2, nb);\n        imSet(srcData.data, x, y, width, height, 3, na);\n      }\n    }\n\n    ctx.clearRect(0, 0, width, height);\n    ctx.putImageData(srcData, 0, 0);\n  }\n\n}\n\nclass MaskElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'mask';\n  }\n\n  apply(ctx, element) {\n    var {\n      document\n    } = this; // render as temp svg\n\n    var x = this.getAttribute('x').getPixels('x');\n    var y = this.getAttribute('y').getPixels('y');\n    var width = this.getStyle('width').getPixels('x');\n    var height = this.getStyle('height').getPixels('y');\n\n    if (!width && !height) {\n      var boundingBox = new BoundingBox();\n      this.children.forEach(child => {\n        boundingBox.addBoundingBox(child.getBoundingBox(ctx));\n      });\n      x = Math.floor(boundingBox.x1);\n      y = Math.floor(boundingBox.y1);\n      width = Math.floor(boundingBox.width);\n      height = Math.floor(boundingBox.height);\n    }\n\n    var ignoredStyles = this.removeStyles(element, MaskElement.ignoreStyles);\n    var maskCanvas = document.createCanvas(x + width, y + height);\n    var maskCtx = maskCanvas.getContext('2d');\n    document.screen.setDefaults(maskCtx);\n    this.renderChildren(maskCtx); // convert mask to alpha with a fake node\n    // TODO: refactor out apply from feColorMatrix\n\n    new FeColorMatrixElement(document, {\n      nodeType: 1,\n      childNodes: [],\n      attributes: [{\n        nodeName: 'type',\n        value: 'luminanceToAlpha'\n      }, {\n        nodeName: 'includeOpacity',\n        value: 'true'\n      }]\n    }).apply(maskCtx, 0, 0, x + width, y + height);\n    var tmpCanvas = document.createCanvas(x + width, y + height);\n    var tmpCtx = tmpCanvas.getContext('2d');\n    document.screen.setDefaults(tmpCtx);\n    element.render(tmpCtx);\n    tmpCtx.globalCompositeOperation = 'destination-in';\n    tmpCtx.fillStyle = maskCtx.createPattern(maskCanvas, 'no-repeat');\n    tmpCtx.fillRect(0, 0, x + width, y + height);\n    ctx.fillStyle = tmpCtx.createPattern(tmpCanvas, 'no-repeat');\n    ctx.fillRect(0, 0, x + width, y + height); // reassign mask\n\n    this.restoreStyles(element, ignoredStyles);\n  }\n\n  render(_) {// NO RENDER\n  }\n\n}\nMaskElement.ignoreStyles = ['mask', 'transform', 'clip-path'];\n\nvar noop = () => {// NOOP\n};\n\nclass ClipPathElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'clipPath';\n  }\n\n  apply(ctx) {\n    var {\n      document\n    } = this;\n    var contextProto = Reflect.getPrototypeOf(ctx);\n    var {\n      beginPath,\n      closePath\n    } = ctx;\n\n    if (contextProto) {\n      contextProto.beginPath = noop;\n      contextProto.closePath = noop;\n    }\n\n    Reflect.apply(beginPath, ctx, []);\n    this.children.forEach(child => {\n      if (typeof child.path === 'undefined') {\n        return;\n      }\n\n      var transform = typeof child.elementTransform !== 'undefined' ? child.elementTransform() : null; // handle <use />\n\n      if (!transform) {\n        transform = Transform.fromElement(document, child);\n      }\n\n      if (transform) {\n        transform.apply(ctx);\n      }\n\n      child.path(ctx);\n\n      if (contextProto) {\n        contextProto.closePath = closePath;\n      }\n\n      if (transform) {\n        transform.unapply(ctx);\n      }\n    });\n    Reflect.apply(closePath, ctx, []);\n    ctx.clip();\n\n    if (contextProto) {\n      contextProto.beginPath = beginPath;\n      contextProto.closePath = closePath;\n    }\n  }\n\n  render(_) {// NO RENDER\n  }\n\n}\n\nclass FilterElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'filter';\n  }\n\n  apply(ctx, element) {\n    // render as temp svg\n    var {\n      document,\n      children\n    } = this;\n    var boundingBox = element.getBoundingBox(ctx);\n\n    if (!boundingBox) {\n      return;\n    }\n\n    var px = 0;\n    var py = 0;\n    children.forEach(child => {\n      var efd = child.extraFilterDistance || 0;\n      px = Math.max(px, efd);\n      py = Math.max(py, efd);\n    });\n    var width = Math.floor(boundingBox.width);\n    var height = Math.floor(boundingBox.height);\n    var tmpCanvasWidth = width + 2 * px;\n    var tmpCanvasHeight = height + 2 * py;\n\n    if (tmpCanvasWidth < 1 || tmpCanvasHeight < 1) {\n      return;\n    }\n\n    var x = Math.floor(boundingBox.x);\n    var y = Math.floor(boundingBox.y);\n    var ignoredStyles = this.removeStyles(element, FilterElement.ignoreStyles);\n    var tmpCanvas = document.createCanvas(tmpCanvasWidth, tmpCanvasHeight);\n    var tmpCtx = tmpCanvas.getContext('2d');\n    document.screen.setDefaults(tmpCtx);\n    tmpCtx.translate(-x + px, -y + py);\n    element.render(tmpCtx); // apply filters\n\n    children.forEach(child => {\n      if (typeof child.apply === 'function') {\n        child.apply(tmpCtx, 0, 0, tmpCanvasWidth, tmpCanvasHeight);\n      }\n    }); // render on me\n\n    ctx.drawImage(tmpCanvas, 0, 0, tmpCanvasWidth, tmpCanvasHeight, x - px, y - py, tmpCanvasWidth, tmpCanvasHeight);\n    this.restoreStyles(element, ignoredStyles);\n  }\n\n  render(_) {// NO RENDER\n  }\n\n}\nFilterElement.ignoreStyles = ['filter', 'transform', 'clip-path'];\n\nclass FeDropShadowElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'feDropShadow';\n    this.addStylesFromStyleDefinition();\n  }\n\n  apply(_, _x, _y, _width, _height) {// TODO: implement\n  }\n\n}\n\nclass FeMorphologyElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'feMorphology';\n  }\n\n  apply(_, _x, _y, _width, _height) {// TODO: implement\n  }\n\n}\n\nclass FeCompositeElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'feComposite';\n  }\n\n  apply(_, _x, _y, _width, _height) {// TODO: implement\n  }\n\n}\n\nclass FeGaussianBlurElement extends Element {\n  constructor(document, node, captureTextNodes) {\n    super(document, node, captureTextNodes);\n    this.type = 'feGaussianBlur';\n    this.blurRadius = Math.floor(this.getAttribute('stdDeviation').getNumber());\n    this.extraFilterDistance = this.blurRadius;\n  }\n\n  apply(ctx, x, y, width, height) {\n    var {\n      document,\n      blurRadius\n    } = this;\n    var body = document.window ? document.window.document.body : null;\n    var canvas = ctx.canvas; // StackBlur requires canvas be on document\n\n    canvas.id = document.getUniqueId();\n\n    if (body) {\n      canvas.style.display = 'none';\n      body.appendChild(canvas);\n    }\n\n    canvasRGBA(canvas, x, y, width, height, blurRadius);\n\n    if (body) {\n      body.removeChild(canvas);\n    }\n  }\n\n}\n\nclass TitleElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'title';\n  }\n\n}\n\nclass DescElement extends Element {\n  constructor() {\n    super(...arguments);\n    this.type = 'desc';\n  }\n\n}\n\nvar elements = {\n  'svg': SVGElement,\n  'rect': RectElement,\n  'circle': CircleElement,\n  'ellipse': EllipseElement,\n  'line': LineElement,\n  'polyline': PolylineElement,\n  'polygon': PolygonElement,\n  'path': PathElement,\n  'pattern': PatternElement,\n  'marker': MarkerElement,\n  'defs': DefsElement,\n  'linearGradient': LinearGradientElement,\n  'radialGradient': RadialGradientElement,\n  'stop': StopElement,\n  'animate': AnimateElement,\n  'animateColor': AnimateColorElement,\n  'animateTransform': AnimateTransformElement,\n  'font': FontElement,\n  'font-face': FontFaceElement,\n  'missing-glyph': MissingGlyphElement,\n  'glyph': GlyphElement,\n  'text': TextElement,\n  'tspan': TSpanElement,\n  'tref': TRefElement,\n  'a': AElement,\n  'textPath': TextPathElement,\n  'image': ImageElement,\n  'g': GElement,\n  'symbol': SymbolElement,\n  'style': StyleElement,\n  'use': UseElement,\n  'mask': MaskElement,\n  'clipPath': ClipPathElement,\n  'filter': FilterElement,\n  'feDropShadow': FeDropShadowElement,\n  'feMorphology': FeMorphologyElement,\n  'feComposite': FeCompositeElement,\n  'feColorMatrix': FeColorMatrixElement,\n  'feGaussianBlur': FeGaussianBlurElement,\n  'title': TitleElement,\n  'desc': DescElement\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction createCanvas(width, height) {\n  var canvas = document.createElement('canvas');\n  canvas.width = width;\n  canvas.height = height;\n  return canvas;\n}\n\nfunction createImage(_x) {\n  return _createImage.apply(this, arguments);\n}\n\nfunction _createImage() {\n  _createImage = _asyncToGenerator(function* (src) {\n    var anonymousCrossOrigin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    var image = document.createElement('img');\n\n    if (anonymousCrossOrigin) {\n      image.crossOrigin = 'Anonymous';\n    }\n\n    return new Promise((resolve, reject) => {\n      image.onload = () => {\n        resolve(image);\n      };\n\n      image.onerror = (_event, _source, _lineno, _colno, error) => {\n        reject(error);\n      };\n\n      image.src = src;\n    });\n  });\n  return _createImage.apply(this, arguments);\n}\n\nclass Document {\n  constructor(canvg) {\n    var {\n      rootEmSize = 12,\n      emSize = 12,\n      createCanvas = Document.createCanvas,\n      createImage = Document.createImage,\n      anonymousCrossOrigin\n    } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    this.canvg = canvg;\n    this.definitions = {};\n    this.styles = {};\n    this.stylesSpecificity = {};\n    this.images = [];\n    this.fonts = [];\n    this.emSizeStack = [];\n    this.uniqueId = 0;\n    this.screen = canvg.screen;\n    this.rootEmSize = rootEmSize;\n    this.emSize = emSize;\n    this.createCanvas = createCanvas;\n    this.createImage = this.bindCreateImage(createImage, anonymousCrossOrigin);\n    this.screen.wait(this.isImagesLoaded.bind(this));\n    this.screen.wait(this.isFontsLoaded.bind(this));\n  }\n\n  bindCreateImage(createImage, anonymousCrossOrigin) {\n    if (typeof anonymousCrossOrigin === 'boolean') {\n      return (source, forceAnonymousCrossOrigin) => createImage(source, typeof forceAnonymousCrossOrigin === 'boolean' ? forceAnonymousCrossOrigin : anonymousCrossOrigin);\n    }\n\n    return createImage;\n  }\n\n  get window() {\n    return this.screen.window;\n  }\n\n  get fetch() {\n    return this.screen.fetch;\n  }\n\n  get ctx() {\n    return this.screen.ctx;\n  }\n\n  get emSize() {\n    var {\n      emSizeStack\n    } = this;\n    return emSizeStack[emSizeStack.length - 1];\n  }\n\n  set emSize(value) {\n    var {\n      emSizeStack\n    } = this;\n    emSizeStack.push(value);\n  }\n\n  popEmSize() {\n    var {\n      emSizeStack\n    } = this;\n    emSizeStack.pop();\n  }\n\n  getUniqueId() {\n    return \"canvg\".concat(++this.uniqueId);\n  }\n\n  isImagesLoaded() {\n    return this.images.every(_ => _.loaded);\n  }\n\n  isFontsLoaded() {\n    return this.fonts.every(_ => _.loaded);\n  }\n\n  createDocumentElement(document) {\n    var documentElement = this.createElement(document.documentElement);\n    documentElement.root = true;\n    documentElement.addStylesFromStyleDefinition();\n    this.documentElement = documentElement;\n    return documentElement;\n  }\n\n  createElement(node) {\n    var elementType = node.nodeName.replace(/^[^:]+:/, '');\n    var ElementType = Document.elementTypes[elementType];\n\n    if (typeof ElementType !== 'undefined') {\n      return new ElementType(this, node);\n    }\n\n    return new UnknownElement(this, node);\n  }\n\n  createTextNode(node) {\n    return new TextNode(this, node);\n  }\n\n  setViewBox(config) {\n    this.screen.setViewBox(_objectSpread$1({\n      document: this\n    }, config));\n  }\n\n}\nDocument.createCanvas = createCanvas;\nDocument.createImage = createImage;\nDocument.elementTypes = elements;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n/**\r\n * SVG renderer on canvas.\r\n */\n\nclass Canvg {\n  /**\r\n   * Main constructor.\r\n   * @param ctx - Rendering context.\r\n   * @param svg - SVG Document.\r\n   * @param options - Rendering options.\r\n   */\n  constructor(ctx, svg) {\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    this.parser = new Parser(options);\n    this.screen = new Screen(ctx, options);\n    this.options = options;\n    var document = new Document(this, options);\n    var documentElement = document.createDocumentElement(svg);\n    this.document = document;\n    this.documentElement = documentElement;\n  }\n  /**\r\n   * Create Canvg instance from SVG source string or URL.\r\n   * @param ctx - Rendering context.\r\n   * @param svg - SVG source string or URL.\r\n   * @param options - Rendering options.\r\n   * @returns Canvg instance.\r\n   */\n\n\n  static from(ctx, svg) {\n    var _arguments = arguments;\n    return _asyncToGenerator(function* () {\n      var options = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : {};\n      var parser = new Parser(options);\n      var svgDocument = yield parser.parse(svg);\n      return new Canvg(ctx, svgDocument, options);\n    })();\n  }\n  /**\r\n   * Create Canvg instance from SVG source string.\r\n   * @param ctx - Rendering context.\r\n   * @param svg - SVG source string.\r\n   * @param options - Rendering options.\r\n   * @returns Canvg instance.\r\n   */\n\n\n  static fromString(ctx, svg) {\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    var parser = new Parser(options);\n    var svgDocument = parser.parseFromString(svg);\n    return new Canvg(ctx, svgDocument, options);\n  }\n  /**\r\n   * Create new Canvg instance with inherited options.\r\n   * @param ctx - Rendering context.\r\n   * @param svg - SVG source string or URL.\r\n   * @param options - Rendering options.\r\n   * @returns Canvg instance.\r\n   */\n\n\n  fork(ctx, svg) {\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    return Canvg.from(ctx, svg, _objectSpread(_objectSpread({}, this.options), options));\n  }\n  /**\r\n   * Create new Canvg instance with inherited options.\r\n   * @param ctx - Rendering context.\r\n   * @param svg - SVG source string.\r\n   * @param options - Rendering options.\r\n   * @returns Canvg instance.\r\n   */\n\n\n  forkString(ctx, svg) {\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    return Canvg.fromString(ctx, svg, _objectSpread(_objectSpread({}, this.options), options));\n  }\n  /**\r\n   * Document is ready promise.\r\n   * @returns Ready promise.\r\n   */\n\n\n  ready() {\n    return this.screen.ready();\n  }\n  /**\r\n   * Document is ready value.\r\n   * @returns Is ready or not.\r\n   */\n\n\n  isReady() {\n    return this.screen.isReady();\n  }\n  /**\r\n   * Render only first frame, ignoring animations and mouse.\r\n   * @param options - Rendering options.\r\n   */\n\n\n  render() {\n    var _arguments2 = arguments,\n        _this = this;\n\n    return _asyncToGenerator(function* () {\n      var options = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {};\n\n      _this.start(_objectSpread({\n        enableRedraw: true,\n        ignoreAnimation: true,\n        ignoreMouse: true\n      }, options));\n\n      yield _this.ready();\n\n      _this.stop();\n    })();\n  }\n  /**\r\n   * Start rendering.\r\n   * @param options - Render options.\r\n   */\n\n\n  start() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var {\n      documentElement,\n      screen,\n      options: baseOptions\n    } = this;\n    screen.start(documentElement, _objectSpread(_objectSpread({\n      enableRedraw: true\n    }, baseOptions), options));\n  }\n  /**\r\n   * Stop rendering.\r\n   */\n\n\n  stop() {\n    this.screen.stop();\n  }\n  /**\r\n   * Resize SVG to fit in given size.\r\n   * @param width\r\n   * @param height\r\n   * @param preserveAspectRatio\r\n   */\n\n\n  resize(width) {\n    var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width;\n    var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n    this.documentElement.resize(width, height, preserveAspectRatio);\n  }\n\n}\n\nexport { AElement, AnimateColorElement, AnimateElement, AnimateTransformElement, BoundingBox, CB1, CB2, CB3, CB4, Canvg, CircleElement, ClipPathElement, DefsElement, DescElement, Document, Element, EllipseElement, FeColorMatrixElement, FeCompositeElement, FeDropShadowElement, FeGaussianBlurElement, FeMorphologyElement, FilterElement, Font, FontElement, FontFaceElement, GElement, GlyphElement, GradientElement, ImageElement, LineElement, LinearGradientElement, MarkerElement, MaskElement, Matrix, MissingGlyphElement, Mouse, PSEUDO_ZERO, Parser, PathElement, PathParser, PatternElement, Point, PolygonElement, PolylineElement, Property, QB1, QB2, QB3, RadialGradientElement, RectElement, RenderedElement, Rotate, SVGElement, SVGFontLoader, Scale, Screen, Skew, SkewX, SkewY, StopElement, StyleElement, SymbolElement, TRefElement, TSpanElement, TextElement, TextPathElement, TitleElement, Transform, Translate, UnknownElement, UseElement, ViewPort, compressSpaces, Canvg as default, getSelectorSpecificity, normalizeAttributeName, normalizeColor, parseExternalUrl, index as presets, toNumbers, trimLeft, trimRight, vectorMagnitude, vectorsAngle, vectorsRatio };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==\n","import { ControlPosition, IControl, Map as MaplibreMap } from 'maplibre-gl';\nimport { Map as MapboxMap } from 'mapbox-gl';\nimport CrosshairManager from './crosshair-manager';\nimport PrintableAreaManager from './printable-area-manager';\nimport { getTranslation } from './local';\nimport MapGenerator from './map-generator';\nimport {\n\tFormat,\n\ttype ControlOptions,\n\tFormatType,\n\tUnit,\n\tSizeType,\n\tSize,\n\tTranslation,\n\tPageOrientation,\n\tDPI,\n\tDPIType,\n\tUnitType,\n\ttype Language\n} from './interfaces';\nimport {\n\tdefaultAttributionOptions,\n\tdefaultMarkerCirclePaint,\n\tdefaultNorthIconOptions\n} from './map-generator-base';\n\n/**\n * Maplibre GL Export Control.\n * @param {Object} targets - Object of layer.id and title\n */\nexport default class MaplibreExportControl implements IControl {\n\tprotected controlContainer: HTMLElement;\n\n\tprotected exportContainer: HTMLElement;\n\n\tprotected crosshair: CrosshairManager | undefined;\n\n\tprotected printableArea: PrintableAreaManager | undefined;\n\n\tprotected map?: MaplibreMap | MapboxMap;\n\n\tprotected exportButton: HTMLButtonElement;\n\n\tprotected options: ControlOptions = {\n\t\tPageSize: Size.A4 as SizeType,\n\t\tPageOrientation: PageOrientation.Landscape,\n\t\tFormat: Format.PDF,\n\t\tDPI: DPI[300],\n\t\tCrosshair: false,\n\t\tPrintableArea: false,\n\t\tLocal: 'en',\n\t\tAllowedSizes: Object.keys(Size) as (\n\t\t\t| 'LETTER'\n\t\t\t| 'A2'\n\t\t\t| 'A3'\n\t\t\t| 'A4'\n\t\t\t| 'A5'\n\t\t\t| 'A6'\n\t\t\t| 'B2'\n\t\t\t| 'B3'\n\t\t\t| 'B4'\n\t\t\t| 'B5'\n\t\t\t| 'B6'\n\t\t)[],\n\t\tFilename: 'map',\n\t\tmarkerCirclePaint: defaultMarkerCirclePaint,\n\t\tattributionOptions: defaultAttributionOptions,\n\t\tnorthIconOptions: defaultNorthIconOptions\n\t};\n\n\tprotected MAPLIB_CSS_PREFIX: string = 'maplibregl';\n\n\tconstructor(options: ControlOptions) {\n\t\tif (options) {\n\t\t\toptions.attributionOptions = Object.assign(\n\t\t\t\tdefaultAttributionOptions,\n\t\t\t\toptions.attributionOptions\n\t\t\t);\n\t\t\toptions.northIconOptions = Object.assign(defaultNorthIconOptions, options.northIconOptions);\n\t\t\tthis.options = Object.assign(this.options, options);\n\t\t}\n\t\tthis.onDocumentClick = this.onDocumentClick.bind(this);\n\t}\n\n\tpublic getDefaultPosition(): ControlPosition {\n\t\tconst defaultPosition = 'top-right';\n\t\treturn defaultPosition;\n\t}\n\n\tpublic getTranslation(): Translation {\n\t\tconst lang: Language = this.options.Local ?? 'en';\n\t\treturn getTranslation(lang);\n\t}\n\n\tpublic onAdd(map: MaplibreMap | MapboxMap): HTMLElement {\n\t\tthis.map = map;\n\t\tthis.controlContainer = document.createElement('div');\n\t\tthis.controlContainer.classList.add(`${this.MAPLIB_CSS_PREFIX}-ctrl`);\n\t\tthis.controlContainer.classList.add(`${this.MAPLIB_CSS_PREFIX}-ctrl-group`);\n\t\tthis.exportContainer = document.createElement('div');\n\t\tthis.exportContainer.classList.add(`${this.MAPLIB_CSS_PREFIX}-export-list`);\n\t\tthis.exportButton = document.createElement('button');\n\t\tthis.exportButton.classList.add(`${this.MAPLIB_CSS_PREFIX}-ctrl-icon`);\n\t\tthis.exportButton.classList.add(`${this.MAPLIB_CSS_PREFIX}-export-control`);\n\t\tthis.exportButton.type = 'button';\n\t\tthis.exportButton.addEventListener('click', () => {\n\t\t\tthis.exportButton.style.display = 'none';\n\t\t\tthis.exportContainer.style.display = 'block';\n\t\t\tthis.toggleCrosshair(true);\n\t\t\tthis.togglePrintableArea(true);\n\t\t});\n\t\tdocument.addEventListener('click', this.onDocumentClick);\n\t\tthis.controlContainer.appendChild(this.exportButton);\n\t\tthis.controlContainer.appendChild(this.exportContainer);\n\n\t\tconst table = document.createElement('TABLE');\n\t\ttable.className = 'print-table';\n\n\t\tconst sizes = {};\n\t\tthis.options.AllowedSizes?.forEach((size) => {\n\t\t\tconst dimensions = Size[size];\n\t\t\tif (dimensions) {\n\t\t\t\tsizes[size] = Size[size];\n\t\t\t}\n\t\t});\n\t\tconst tr1 = this.createSelection(\n\t\t\tsizes,\n\t\t\tthis.getTranslation().PageSize,\n\t\t\t'page-size',\n\t\t\tthis.options.PageSize as [number, number],\n\t\t\t(data: { [key: string]: unknown }, key) => JSON.stringify(data[key])\n\t\t);\n\t\ttable.appendChild(tr1);\n\n\t\tconst tr2 = this.createSelection(\n\t\t\tPageOrientation,\n\t\t\tthis.getTranslation().PageOrientation,\n\t\t\t'page-orientation',\n\t\t\tthis.options.PageOrientation as string,\n\t\t\t(data: { [key: string]: unknown }, key) => data[key]\n\t\t);\n\t\ttable.appendChild(tr2);\n\n\t\tconst tr3 = this.createSelection(\n\t\t\tFormat,\n\t\t\tthis.getTranslation().Format,\n\t\t\t'format-type',\n\t\t\tthis.options.Format as string,\n\t\t\t(data: { [key: string]: unknown }, key) => data[key]\n\t\t);\n\t\ttable.appendChild(tr3);\n\n\t\tconst tr4 = this.createSelection(\n\t\t\tDPI,\n\t\t\tthis.getTranslation().DPI,\n\t\t\t'dpi-type',\n\t\t\tthis.options.DPI as number,\n\t\t\t(data: { [key: string]: unknown }, key) => data[key]\n\t\t);\n\t\ttable.appendChild(tr4);\n\n\t\tthis.exportContainer.appendChild(table);\n\n\t\tconst generateButton = document.createElement('button');\n\t\tgenerateButton.type = 'button';\n\t\tgenerateButton.textContent = this.getTranslation().Generate;\n\t\tgenerateButton.classList.add('generate-button');\n\t\tgenerateButton.addEventListener('click', () => {\n\t\t\tconst pageSize: HTMLSelectElement = <HTMLSelectElement>(\n\t\t\t\tdocument.getElementById('mapbox-gl-export-page-size')\n\t\t\t);\n\t\t\tconst pageOrientation: HTMLSelectElement = <HTMLSelectElement>(\n\t\t\t\tdocument.getElementById('mapbox-gl-export-page-orientation')\n\t\t\t);\n\t\t\tconst formatType: HTMLSelectElement = <HTMLSelectElement>(\n\t\t\t\tdocument.getElementById('mapbox-gl-export-format-type')\n\t\t\t);\n\t\t\tconst dpiType: HTMLSelectElement = <HTMLSelectElement>(\n\t\t\t\tdocument.getElementById('mapbox-gl-export-dpi-type')\n\t\t\t);\n\t\t\tconst orientValue = pageOrientation.value;\n\t\t\tlet pageSizeValue = JSON.parse(pageSize.value);\n\t\t\tif (orientValue === PageOrientation.Portrait) {\n\t\t\t\tpageSizeValue = pageSizeValue.reverse();\n\t\t\t}\n\t\t\tthis.generateMap(\n\t\t\t\tmap,\n\t\t\t\tpageSizeValue,\n\t\t\t\tNumber(dpiType.value) as DPIType,\n\t\t\t\tformatType.value as FormatType,\n\t\t\t\tUnit.mm,\n\t\t\t\tthis.options.Filename\n\t\t\t);\n\t\t});\n\t\tthis.exportContainer.appendChild(generateButton);\n\n\t\treturn this.controlContainer;\n\t}\n\n\tprotected generateMap(\n\t\tmap: MaplibreMap | MapboxMap,\n\t\tsize: SizeType,\n\t\tdpi: DPIType,\n\t\tformat: FormatType,\n\t\tunit: UnitType,\n\t\tfilename?: string\n\t) {\n\t\tconst mapGenerator = new MapGenerator(\n\t\t\tmap as MaplibreMap,\n\t\t\tsize,\n\t\t\tdpi,\n\t\t\tformat,\n\t\t\tunit,\n\t\t\tfilename,\n\t\t\tthis.options.markerCirclePaint,\n\t\t\tthis.options.attributionOptions,\n\t\t\tthis.options.northIconOptions\n\t\t);\n\t\tmapGenerator.generate();\n\t}\n\n\tprivate createSelection(\n\t\tdata: Record<string, unknown>,\n\t\ttitle: string,\n\t\ttype: string,\n\t\tdefaultValue: string | number | [number, number],\n\t\tconverter: (data: { [key: string]: unknown }, key: string) => unknown\n\t): HTMLElement {\n\t\tconst label = document.createElement('label');\n\t\tlabel.textContent = title;\n\n\t\tconst content = document.createElement('select');\n\t\tcontent.setAttribute('id', `mapbox-gl-export-${type}`);\n\t\tcontent.style.width = '100%';\n\t\tObject.keys(data).forEach((key) => {\n\t\t\tconst optionLayout = document.createElement('option');\n\t\t\toptionLayout.setAttribute('value', converter(data, key) as string);\n\t\t\toptionLayout.appendChild(document.createTextNode(key));\n\t\t\toptionLayout.setAttribute('name', type);\n\t\t\tif (defaultValue === data[key]) {\n\t\t\t\toptionLayout.selected = true;\n\t\t\t}\n\t\t\tcontent.appendChild(optionLayout);\n\t\t});\n\t\tcontent.addEventListener('change', () => {\n\t\t\tthis.updatePrintableArea();\n\t\t});\n\n\t\tconst tr1 = document.createElement('TR');\n\t\tconst tdLabel = document.createElement('TD');\n\t\tconst tdContent = document.createElement('TD');\n\t\ttdLabel.appendChild(label);\n\t\ttdContent.appendChild(content);\n\t\ttr1.appendChild(tdLabel);\n\t\ttr1.appendChild(tdContent);\n\t\treturn tr1;\n\t}\n\n\tpublic onRemove(): void {\n\t\tif (\n\t\t\t!this.controlContainer ||\n\t\t\t!this.controlContainer.parentNode ||\n\t\t\t!this.map ||\n\t\t\t!this.exportButton\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tthis.exportButton.removeEventListener('click', this.onDocumentClick);\n\t\tthis.controlContainer.parentNode.removeChild(this.controlContainer);\n\t\tdocument.removeEventListener('click', this.onDocumentClick);\n\n\t\tif (this.crosshair !== undefined) {\n\t\t\tthis.crosshair.destroy();\n\t\t\tthis.crosshair = undefined;\n\t\t}\n\n\t\tif (this.printableArea !== undefined) {\n\t\t\tthis.printableArea.destroy();\n\t\t\tthis.printableArea = undefined;\n\t\t}\n\n\t\tthis.map = undefined;\n\t}\n\n\tprivate onDocumentClick(event: MouseEvent): void {\n\t\tif (\n\t\t\tthis.controlContainer &&\n\t\t\t!this.controlContainer.contains(event.target as Element) &&\n\t\t\tthis.exportContainer &&\n\t\t\tthis.exportButton\n\t\t) {\n\t\t\tthis.exportContainer.style.display = 'none';\n\t\t\tthis.exportButton.style.display = 'block';\n\t\t\tthis.toggleCrosshair(false);\n\t\t\tthis.togglePrintableArea(false);\n\t\t}\n\t}\n\n\tprivate toggleCrosshair(state: boolean) {\n\t\tif (this.options.Crosshair === true) {\n\t\t\tif (state === false) {\n\t\t\t\tif (this.crosshair !== undefined) {\n\t\t\t\t\tthis.crosshair.destroy();\n\t\t\t\t\tthis.crosshair = undefined;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.crosshair = new CrosshairManager(this.map);\n\t\t\t\tthis.crosshair.create();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate togglePrintableArea(state: boolean) {\n\t\tif (this.options.PrintableArea === true) {\n\t\t\tif (state === false) {\n\t\t\t\tif (this.printableArea !== undefined) {\n\t\t\t\t\tthis.printableArea.destroy();\n\t\t\t\t\tthis.printableArea = undefined;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.printableArea = new PrintableAreaManager(this.map);\n\t\t\t\tthis.updatePrintableArea();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate updatePrintableArea() {\n\t\tif (this.printableArea === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst pageSize: HTMLSelectElement = <HTMLSelectElement>(\n\t\t\tdocument.getElementById('mapbox-gl-export-page-size')\n\t\t);\n\t\tconst pageOrientation: HTMLSelectElement = <HTMLSelectElement>(\n\t\t\tdocument.getElementById('mapbox-gl-export-page-orientation')\n\t\t);\n\t\tconst orientValue = pageOrientation.value;\n\t\tlet pageSizeValue = JSON.parse(pageSize.value);\n\t\tif (orientValue === PageOrientation.Portrait) {\n\t\t\tpageSizeValue = pageSizeValue.reverse();\n\t\t}\n\t\tthis.printableArea.updateArea(pageSizeValue[0], pageSizeValue[1]);\n\t}\n}\n"]}