{"version":3,"sources":["webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/map-helpers.js","webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/pdfjs-dist/web/pdf_viewer.css?110b","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js","webpack:///./src/modules/documentDetail/components/DocumentText.vue?d22a","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./src/modules/documentDetail/components/BasicDetails.vue?1d75","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack:///./node_modules/core-js/modules/es.set.symmetric-difference.v2.js","webpack:///./node_modules/core-js/modules/es.set.difference.v2.js","webpack:///./node_modules/core-js/internals/array-buffer-not-detached.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/modules/es.array-buffer.transfer.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack:///./node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js","webpack:///./node_modules/core-js/internals/get-built-in-node-module.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/pdfjs-dist/build/pdf.worker.min.js","webpack:///./node_modules/core-js/modules/es.array-buffer.detached.js","webpack:///./src/modules/documentDetail/components/DocumentSummary.vue?4311","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/detach-transferable.js","webpack:///./src/modules/documentDetail/components/VoteResultDoughnut.vue?44da","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/set-iterate.js","webpack:///./node_modules/core-js/internals/set-is-superset-of.js","webpack:///./src/helpers/toolbelt.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./src/helpers/storeHelper.js","webpack:///./node_modules/core-js/modules/es.array-buffer.transfer-to-fixed-length.js","webpack:///./node_modules/core-js/internals/array-buffer-transfer.js","webpack:///./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack:///./node_modules/core-js/internals/get-iterator-direct.js","webpack:///./node_modules/core-js/internals/create-iter-result-object.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack:///./node_modules/core-js/modules/es.typed-array.with.js","webpack:///./node_modules/core-js/internals/a-constructor.js","webpack:///./node_modules/@babel/runtime/helpers/assertClassBrand.js","webpack:///./node_modules/core-js/internals/iterate-simple.js","webpack:///./src/modules/documentDetail/components/PDFViewerPage.vue?3632","webpack:///./src/modules/documentDetail/components/DetailSidebar.vue?5195","webpack:///./node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./src/modules/documentDetail/components/PDFViewer.vue?9b95","webpack:///./node_modules/core-js/internals/set-is-subset-of.js","webpack:///./node_modules/core-js/internals/is-constructor.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack:///./src/modules/documentDetail/components/DocumentLayout.vue?f2d0","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/core-js/modules/es.set.union.v2.js","webpack:///./node_modules/core-js/internals/array-buffer-is-detached.js","webpack:///./node_modules/core-js/modules/es.set.intersection.v2.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/get-set-record.js","webpack:///./node_modules/core-js/internals/set-clone.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./src/modules/documentDetail/components/MetadataDialog.vue?9088","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/modules/es.set.is-subset-of.v2.js","webpack:///./node_modules/core-js/internals/set-size.js","webpack:///./src/modules/documentDetail/components/GenericReferences.vue?edba","webpack:///./node_modules/core-js/modules/es.typed-array.at.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack:///pdfjs-dist/build/pdf/src/shared/util.js","webpack:///pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack:///pdfjs-dist/build/pdf/src/shared/is_node.js","webpack:///pdfjs-dist/build/pdf/src/display/api.js","webpack:///pdfjs-dist/build/pdf/src/display/display_utils.js","webpack:///pdfjs-dist/build/pdf/src/display/base_factory.js","webpack:///pdfjs-dist/build/pdf/src/display/font_loader.js","webpack:///pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack:///pdfjs-dist/build/pdf/src/shared/murmurhash3.js","webpack:///pdfjs-dist/build/pdf/src/display/canvas.js","webpack:///pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack:///pdfjs-dist/build/pdf/src/shared/image_utils.js","webpack:///pdfjs-dist/build/pdf/src/display/worker_options.js","webpack:///pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack:///pdfjs-dist/build/pdf/src/display/metadata.js","webpack:///pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack:///pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack:///pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack:///pdfjs-dist/build/pdf/src/display/node_utils.js","webpack:///pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack:///pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack:///pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack:///pdfjs-dist/build/pdf/src/display/text_layer.js","webpack:///pdfjs-dist/build/pdf/src/display/svg.js","webpack:///pdfjs-dist/build/pdf/src/display/node_stream.js","webpack:///pdfjs-dist/build/pdf/src/display/network_utils.js","webpack:///pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack:///pdfjs-dist/build/pdf/src/display/network.js","webpack:///pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack:///pdfjs-dist/build/pdf/webpack/bootstrap","webpack:///pdfjs-dist/build/pdf/src/pdf.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/core-js/internals/set-intersection.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-last.js","webpack:///./node_modules/core-js/internals/set-symmetric-difference.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/modules/es.string.match-all.js","webpack:///./node_modules/core-js/internals/array-iteration-from-last.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/core-js/modules/es.set.is-superset-of.v2.js","webpack:///./node_modules/core-js/internals/set-difference.js","webpack:///./node_modules/core-js/modules/web.structured-clone.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./src/modules/documentDetail/components/GenericBasicDetails.vue?d036","webpack:///./src/modules/documentDetail/components/DlrcReferences.vue?39f6","webpack:///./src/modules/documentDetail/components/VoteResultsDetailed.vue?3ba5","webpack:///./node_modules/core-js/internals/set-is-disjoint-from.js","webpack:///./node_modules/core-js/internals/array-buffer-byte-length.js","webpack:///./node_modules/core-js/modules/web.dom-exception.stack.js","webpack:///./src/components/DocumentLinks.vue","webpack:///src/components/DocumentLinks.vue","webpack:///./src/components/DocumentLinks.vue?2960","webpack:///./src/components/DocumentLinks.vue?442b","webpack:///./node_modules/core-js/internals/is-big-int-array.js","webpack:///./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","webpack:///./src/modules/documentDetail/components/DlrcBasicDetails.vue?60c2","webpack:///./node_modules/core-js/internals/set-helpers.js","webpack:///./node_modules/core-js/internals/dom-exception-constants.js","webpack:///./src/modules/documentDetail/components/AudioTextFragment.vue?8435","webpack:///./src/modules/documentDetail/components/ListReferences.vue?d25e","webpack:///./node_modules/core-js/internals/array-with.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./src/modules/documentDetail/components/DisclaimerTextDialog.vue?16eb","webpack:///./node_modules/core-js/internals/set-method-accept-set-like.js","webpack:///./node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack:///./node_modules/core-js/internals/a-set.js","webpack:///./node_modules/core-js/internals/iterator-create-constructor.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/array-to-reversed.js","webpack:///./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./src/modules/documentDetail/components/DocumentPDFBookmarks.vue?a960","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/set-union.js","webpack:///./node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js","webpack:///./src/modules/documentDetail/views/DocumentDetail.vue","webpack:///./src/modules/documentDetail/components/DetailSidebar.vue","webpack:///./src/modules/documentDetail/components/ListSubjects.vue","webpack:///src/modules/documentDetail/components/ListSubjects.vue","webpack:///./src/modules/documentDetail/components/ListSubjects.vue?5f11","webpack:///./src/modules/documentDetail/components/ListSubjects.vue?6d64","webpack:///./src/modules/documentDetail/components/BasicDetails.vue","webpack:///./src/modules/documentDetail/components/VoteResultsDetailed.vue","webpack:///./src/modules/documentDetail/components/VoteResultDoughnut.vue","webpack:///./node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack:///./node_modules/chart.js/dist/chart.mjs","webpack:///./node_modules/vue-chartjs/legacy/index.js","webpack:///src/modules/documentDetail/components/VoteResultDoughnut.vue","webpack:///./src/modules/documentDetail/components/VoteResultDoughnut.vue?d0d5","webpack:///./src/modules/documentDetail/components/VoteResultDoughnut.vue?0995","webpack:///src/modules/documentDetail/components/VoteResultsDetailed.vue","webpack:///./src/modules/documentDetail/components/VoteResultsDetailed.vue?14f8","webpack:///./src/modules/documentDetail/components/VoteResultsDetailed.vue?bbe5","webpack:///../../../src/components/VGrid/VLayout.ts","webpack:///./src/modules/documentDetail/components/ShowMoreButton.vue","webpack:///src/modules/documentDetail/components/ShowMoreButton.vue","webpack:///./src/modules/documentDetail/components/ShowMoreButton.vue?f6a2","webpack:///./src/modules/documentDetail/components/ShowMoreButton.vue?1433","webpack:///./src/modules/documentDetail/components/DebateDetails.vue","webpack:///src/modules/documentDetail/components/DebateDetails.vue","webpack:///./src/modules/documentDetail/components/DebateDetails.vue?b5b5","webpack:///./src/modules/documentDetail/components/DebateDetails.vue?869a","webpack:///src/modules/documentDetail/components/BasicDetails.vue","webpack:///./src/modules/documentDetail/components/BasicDetails.vue?fee3","webpack:///./src/modules/documentDetail/components/BasicDetails.vue?b00d","webpack:///../../../src/components/VTimeline/VTimeline.ts","webpack:///../../../src/components/VTimeline/VTimelineItem.ts","webpack:///./src/modules/documentDetail/components/ListReferences.vue","webpack:///./src/helpers/colorHelper.js","webpack:///./src/helpers/cleanReferenceNumberHelper.js","webpack:///./src/modules/documentDashboard/components/EuTeaserDialog.vue","webpack:///src/modules/documentDashboard/components/EuTeaserDialog.vue","webpack:///./src/modules/documentDashboard/components/EuTeaserDialog.vue?3824","webpack:///./src/modules/documentDashboard/components/EuTeaserDialog.vue?57a9","webpack:///./src/modules/documentDashboard/components/DutchSenateTeaserDialog.vue","webpack:///src/modules/documentDashboard/components/DutchSenateTeaserDialog.vue","webpack:///./src/modules/documentDashboard/components/DutchSenateTeaserDialog.vue?0ef0","webpack:///./src/modules/documentDashboard/components/DutchSenateTeaserDialog.vue?1cad","webpack:///./src/modules/documentDashboard/components/MissingModuleTeaserDialog.vue","webpack:///src/modules/documentDashboard/components/MissingModuleTeaserDialog.vue","webpack:///./src/modules/documentDashboard/components/MissingModuleTeaserDialog.vue?dc59","webpack:///./src/modules/documentDashboard/components/MissingModuleTeaserDialog.vue?a890","webpack:///src/modules/documentDetail/components/ListReferences.vue","webpack:///./src/modules/documentDetail/components/ListReferences.vue?23c8","webpack:///./src/modules/documentDetail/components/ListReferences.vue?da07","webpack:///src/modules/documentDetail/components/DetailSidebar.vue","webpack:///./src/modules/documentDetail/components/DetailSidebar.vue?8748","webpack:///./src/modules/documentDetail/components/DetailSidebar.vue?b159","webpack:///./src/modules/documentDetail/components/EuroparlDetailSidebar.vue","webpack:///./src/modules/documentDetail/components/EuroparlReferences.vue","webpack:///src/modules/documentDetail/components/EuroparlReferences.vue","webpack:///./src/modules/documentDetail/components/EuroparlReferences.vue?1550","webpack:///./src/modules/documentDetail/components/EuroparlReferences.vue?58e1","webpack:///./src/modules/documentDetail/components/EuroparlDocumentSpecs.vue","webpack:///src/modules/documentDetail/components/EuroparlDocumentSpecs.vue","webpack:///./src/modules/documentDetail/components/EuroparlDocumentSpecs.vue?5194","webpack:///./src/modules/documentDetail/components/EuroparlDocumentSpecs.vue?bc01","webpack:///src/modules/documentDetail/components/EuroparlDetailSidebar.vue","webpack:///./src/modules/documentDetail/components/EuroparlDetailSidebar.vue?e48a","webpack:///./src/modules/documentDetail/components/EuroparlDetailSidebar.vue?04f8","webpack:///./src/modules/documentDetail/components/DlrcDetailSidebar.vue","webpack:///./src/modules/documentDetail/components/DlrcBasicDetails.vue","webpack:///src/modules/documentDetail/components/DlrcBasicDetails.vue","webpack:///./src/modules/documentDetail/components/DlrcBasicDetails.vue?1328","webpack:///./src/modules/documentDetail/components/DlrcBasicDetails.vue?c98c","webpack:///./src/modules/documentDetail/components/DlrcReferences.vue","webpack:///src/modules/documentDetail/components/DlrcReferences.vue","webpack:///./src/modules/documentDetail/components/DlrcReferences.vue?e722","webpack:///./src/modules/documentDetail/components/DlrcReferences.vue?03a0","webpack:///src/modules/documentDetail/components/DlrcDetailSidebar.vue","webpack:///./src/modules/documentDetail/components/DlrcDetailSidebar.vue?721c","webpack:///./src/modules/documentDetail/components/DlrcDetailSidebar.vue?a01c","webpack:///./src/modules/documentDetail/components/GenericDetailSidebar.vue","webpack:///./src/modules/documentDetail/components/GenericBasicDetails.vue","webpack:///src/modules/documentDetail/components/GenericBasicDetails.vue","webpack:///./src/modules/documentDetail/components/GenericBasicDetails.vue?e91b","webpack:///./src/modules/documentDetail/components/GenericBasicDetails.vue?194f","webpack:///./src/modules/documentDetail/components/GenericReferences.vue","webpack:///src/modules/documentDetail/components/GenericReferences.vue","webpack:///./src/modules/documentDetail/components/GenericReferences.vue?37e4","webpack:///./src/modules/documentDetail/components/GenericReferences.vue?ad2d","webpack:///src/modules/documentDetail/components/GenericDetailSidebar.vue","webpack:///./src/modules/documentDetail/components/GenericDetailSidebar.vue?689a","webpack:///./src/modules/documentDetail/components/GenericDetailSidebar.vue?ac21","webpack:///./src/modules/documentDetail/components/DocumentBookmarks.vue","webpack:///src/modules/documentDetail/components/DocumentBookmarks.vue","webpack:///./src/modules/documentDetail/components/DocumentBookmarks.vue?c447","webpack:///./src/modules/documentDetail/components/DocumentBookmarks.vue?ab10","webpack:///./src/modules/documentDetail/components/DocumentPDFBookmarks.vue","webpack:///src/modules/documentDetail/components/DocumentPDFBookmarks.vue","webpack:///./src/modules/documentDetail/components/DocumentPDFBookmarks.vue?c74f","webpack:///./src/modules/documentDetail/components/DocumentPDFBookmarks.vue?23f1","webpack:///./src/modules/documentDetail/components/DocumentLayout.vue","webpack:///./src/modules/documentDetail/components/PDFViewer.vue","webpack:///./src/modules/documentDetail/components/PDFViewerPage.vue","webpack:///./src/helpers/firefoxCanvasContextTransformHelper.js","webpack:///src/modules/documentDetail/components/PDFViewerPage.vue","webpack:///./src/modules/documentDetail/components/PDFViewerPage.vue?99c5","webpack:///./src/modules/documentDetail/components/PDFViewerPage.vue?0546","webpack:///src/modules/documentDetail/components/PDFViewer.vue","webpack:///./src/modules/documentDetail/components/PDFViewer.vue?896a","webpack:///./src/modules/documentDetail/components/PDFViewer.vue?6908","webpack:///./src/modules/documentDetail/components/DocumentSwitchToTextView.vue","webpack:///src/modules/documentDetail/components/DocumentSwitchToTextView.vue","webpack:///./src/modules/documentDetail/components/DocumentSwitchToTextView.vue?c449","webpack:///./src/modules/documentDetail/components/DocumentSwitchToTextView.vue?2d5e","webpack:///./src/modules/documentDetail/components/DocumentText.vue","webpack:///src/modules/documentDetail/components/DocumentText.vue","webpack:///./src/modules/documentDetail/components/DocumentText.vue?3af6","webpack:///./src/modules/documentDetail/components/DocumentText.vue?6936","webpack:///./src/modules/documentDetail/components/AudioTextFragment.vue","webpack:///src/modules/documentDetail/components/AudioTextFragment.vue","webpack:///./src/modules/documentDetail/components/AudioTextFragment.vue?c5d7","webpack:///./src/modules/documentDetail/components/AudioTextFragment.vue?f414","webpack:///./src/modules/documentDetail/components/MetadataDialog.vue","webpack:///src/modules/documentDetail/components/MetadataDialog.vue","webpack:///./src/modules/documentDetail/components/MetadataDialog.vue?0159","webpack:///./src/modules/documentDetail/components/MetadataDialog.vue?9983","webpack:///./src/modules/documentDetail/components/DocumentSummary.vue","webpack:///./src/modules/documentDetail/components/DisclaimerTextDialog.vue","webpack:///src/modules/documentDetail/components/DisclaimerTextDialog.vue","webpack:///./src/modules/documentDetail/components/DisclaimerTextDialog.vue?98f2","webpack:///./src/modules/documentDetail/components/DisclaimerTextDialog.vue?b057","webpack:///src/modules/documentDetail/components/DocumentSummary.vue","webpack:///./src/modules/documentDetail/components/DocumentSummary.vue?d362","webpack:///./src/modules/documentDetail/components/DocumentSummary.vue?3cb2","webpack:///src/modules/documentDetail/components/DocumentLayout.vue","webpack:///./src/modules/documentDetail/components/DocumentLayout.vue?ce9a","webpack:///./src/modules/documentDetail/components/DocumentLayout.vue?f710","webpack:///src/modules/documentDetail/views/DocumentDetail.vue","webpack:///./src/modules/documentDetail/views/DocumentDetail.vue?71f2","webpack:///./src/modules/documentDetail/views/DocumentDetail.vue?7db7","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/core-js/internals/to-big-int.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./src/modules/documentDetail/components/DocumentBookmarks.vue?92ed"],"names":["uncurryThis","aCallable","NATIVE_BIND","bind","module","exports","fn","that","undefined","apply","arguments","MapPrototype","Map","prototype","set","get","has","remove","proto","toIntegerOrInfinity","toLength","$RangeError","RangeError","it","number","length","fails","globalThis","$RegExp","RegExp","re","exec","groups","a","replace","call","anObject","isCallable","classof","regexpExec","$TypeError","TypeError","R","S","result","_checkPrivateRedeclaration","e","t","__esModule","toPositiveInteger","BYTES","offset","assertClassBrand","require","_classPrivateFieldGet2","s","isPrototypeOf","Prototype","getBuiltIn","ArrayBufferViewCore","$findLastIndex","findLastIndex","aTypedArray","exportTypedArrayMethod","predicate","this","$","symmetricDifference","setMethodAcceptSetLike","target","real","forced","difference","isDetached","tryToString","isArrayIteratorMethod","lengthOfArrayLike","getIterator","getIteratorMethod","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","options","iterator","iterFn","index","next","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","value","done","error","$transfer","transfer","arrayFromConstructorAndList","getTypedArrayConstructor","sort","TypedArrayPrototype","compareFn","O","A","checkPrivateRedeclaration","_classPrivateMethodInitSpec","add","IS_NODE","name","process","getBuiltinModule","Function","getMethod","kind","innerResult","innerError","DESCRIPTORS","defineBuiltInAccessor","ArrayBufferPrototype","ArrayBuffer","configurable","isNullOrUndefined","Iterators","wellKnownSymbol","ITERATOR","WorkerThreads","channel","buffer","$detach","getBuiltInNodeModule","PROPER_STRUCTURED_CLONE_TRANSFER","structuredClone","$ArrayBuffer","$MessageChannel","MessageChannel","detach","transferable","port1","postMessage","byteLength","V8_PROTOTYPE_DEFINE_BUG","definePropertyModule","toIndexedObject","objectKeys","f","Object","defineProperties","Properties","key","props","keys","iterateSimple","SetHelpers","Set","SetPrototype","forEach","interruptible","aSet","size","getSetRecord","other","otherRec","sleep","ms","Promise","resolve","setTimeout","stripHtml","html","replacement","toOffset","Int8Array","Int8ArrayPrototype","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","array","Uint8ClampedArray","0","TO_OBJECT_BUG","NATIVE_ARRAY_BUFFER_VIEWS","arrayLike","src","len","useStore","vm","getCurrentInstance","Error","proxy","$store","transferToFixedLength","uncurryThisAccessor","toIndex","notDetached","arrayBufferByteLength","detachTransferable","DataView","min","Math","DataViewPrototype","slice","isResizable","maxByteLength","getInt8","setInt8","arrayBuffer","newLength","preserveResizability","newBuffer","newByteLength","fixedLength","b","copyLength","i","classofRaw","obj","aConstructor","SPECIES","defaultConstructor","C","constructor","arrayWith","isBigIntArray","toBigInt","PROPER_ORDER","valueOf","relativeIndex","actualValue","isConstructor","argument","_assertClassBrand","n","record","ITERATOR_INSTEAD_OF_RECORD","_classPrivateFieldInitSpec","toString","requireObjectCoercible","charAt","charCodeAt","stringSlice","createMethod","CONVERT_TO_STRING","$this","pos","first","second","position","codeAt","iterate","includes","inspectSource","noop","construct","constructorRegExp","INCORRECT_TO_STRING","test","isConstructorModern","isConstructorLegacy","sham","called","arrayToReversed","_typeof","o","Symbol","union","intersection","INCORRECT","String","Array","from","activeXDocument","definePropertiesModule","enumBugKeys","hiddenKeys","documentCreateElement","sharedKey","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","appendChild","contentWindow","document","open","F","NullProtoObject","ActiveXObject","domain","create","getIteratorDirect","INVALID_SIZE","max","SetRecord","intSize","numSize","createPropertyDescriptor","object","unicode","isSubsetOf","k","regexpFlags","stickyHelpers","shared","getInternalState","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","indexOf","UPDATES_LAST_INDEX_WRONG","re1","re2","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","string","reCopy","match","group","state","str","raw","sticky","flags","source","charsAdded","strCopy","multiline","input","global","root","factory","__w_pdfjs_require__","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","RenderingIntentFlag","ANY","DISPLAY","PRINT","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","AnnotationMode","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","PermissionFlag","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","AnnotationStateModelType","MARKED","REVIEW","AnnotationMarkedState","UNMARKED","AnnotationReviewState","ACCEPTED","REJECTED","CANCELLED","COMPLETED","NONE","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","AnnotationActionEventType","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","V","DocumentActionEventType","WC","WS","DS","WP","DP","PageActionEventType","StreamType","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","FontType","TYPE1","TYPE1STANDARD","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","VerbosityLevel","ERRORS","WARNINGS","INFOS","CMapCompressionType","BINARY","STREAM","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","UNSUPPORTED_FEATURES","unknown","forms","javaScript","signatures","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontBuildPath","errorFontGetPath","errorMarkedContent","errorContentSubStream","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","setVerbosityLevel","level","Number","isInteger","getVerbosityLevel","info","msg","console","log","warn","unreachable","assert","cond","_isValidProtocol","url","protocol","createValidAbsoluteUrl","baseUrl","addDefaultProtocol","startsWith","dots","tryConvertEncoding","stringToUTF8String","ex","absoluteUrl","URL","shadow","prop","defineProperty","enumerable","writable","BaseException","message","PasswordException","code","super","UnknownErrorException","details","InvalidPDFException","MissingPDFException","UnexpectedResponseException","status","FormatError","AbortException","bytesToString","bytes","MAX_ARGUMENT_COUNT","fromCharCode","strBuf","chunkEnd","chunk","subarray","push","join","stringToBytes","Uint8Array","arrayByteLength","arr","arraysToBytes","resultLength","data","item","itemLength","string32","objectSize","objectFromMap","map","isLittleEndian","buffer8","view32","Uint32Array","isEvalSupported","FeatureTest","OffscreenCanvas","hexNumbers","padStart","Util","r","g","minMax","m1","m2","p","m","xt","yt","d","p1","applyTransform","p2","p3","p4","v","transpose","c","sqrt","sx","sy","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t1","t2","b2ac","sqrtb2ac","abs","mt","j","jlen","PDFStringTranslateTable","stringToPDFString","encoding","decoder","TextDecoder","fatal","decode","ii","escapeString","isAscii","stringToUTF16BEString","buf","char","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","isArrayBuffer","isArrayEqual","arr1","arr2","getModificationDate","date","Date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","createPromiseCapability","capability","isSettled","promise","reject","reason","isNodeJS","versions","nw","electron","type","_util","_display_utils","_font_loader","_annotation_storage","_canvas","_worker_options","_is_node","_message_handler","_metadata","_optional_content_config","_transport_stream","_xfa_text","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DefaultCanvasFactory","DOMCanvasFactory","DefaultCMapReaderFactory","DOMCMapReaderFactory","DefaultStandardFontDataFactory","DOMStandardFontDataFactory","createPDFNetworkStream","NodeCanvasFactory","NodeCMapReaderFactory","NodeStandardFontDataFactory","setPDFNetworkStreamFactory","pdfNetworkStreamFactory","getDocument","task","PDFDocumentLoadingTask","PDFDataRangeTransport","range","params","rangeTransport","worker","window","location","href","Buffer","isNaN","CMapReaderFactory","StandardFontDataFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","enableXfa","rangeChunkSize","docBaseUrl","isDataScheme","maxImageSize","cMapUrl","standardFontDataUrl","useWorkerFetch","disableFontFace","useSystemFonts","ownerDocument","disableRange","disableStream","disableAutoFetch","workerParams","port","GlobalWorkerOptions","workerPort","PDFWorker","fromPort","_worker","docId","then","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","contentDispositionFilename","httpHeaders","withCredentials","all","workerId","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","catch","_capability","async","pdfDataRangeTransport","sendWithPromise","apiVersion","password","_PDFDocumentLoadingTa","_PDFDocumentLoadingTa2","_docId","_","onPassword","onProgress","onUnsupportedFeature","_this$_transport","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","addRangeListener","listener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","begin","onDataProgress","loaded","total","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","end","abort","PDFDocumentProxy","pdfInfo","_pdfInfo","deprecated","fingerprints","stats","streamTypes","fontTypes","annotationStorage","numPages","_htmlForXfa","getPage","pageNumber","getPageIndex","ref","getDestinations","getDestination","id","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getJSActions","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","getDownloadInfo","downloadInfoCapability","cleanup","keepLoadedFonts","startCleanup","isPureXfa","loadingTask","loadingParams","saveDocument","getFieldObjects","hasJSActions","getCalculationOrderIds","PDFPageProxy","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","StatTimer","_pdfBug","commonObjs","objs","PDFObjects","_bitmaps","cleanupAfterRender","pendingCleanup","_intentStates","_annotationPromises","rotate","userUnit","view","getViewport","scale","rotation","offsetX","offsetY","dontFlip","PageViewport","viewBox","getAnnotations","intent","intentArgs","getRenderingIntent","cacheKey","renderingIntent","annotations","annotation","titleObj","contentsObj","_jsActionsPromise","getPageJSActions","_this$_transport$_htm","children","render","canvasContext","viewport","annotationMode","imageLayer","canvasFactory","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","_arguments$","_arguments$2","_intentState","renderInteractiveForms","includeAnnotationStorage","time","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","intentPrint","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","renderTasks","delete","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","getOperatorList","opListReadCapability","opListTask","_intentState2","streamTextContent","disableCombineTextItems","includeMarkedContent","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","highWaterMark","textContent","items","getTextContent","getXfa","xfa","XfaText","readableStream","pump","reader","read","assign","styles","getReader","getStructTree","_structTreePromise","_destroy","waitOn","values","force","completed","cancel","clear","bitmap","resetStats","_startRenderPage","_renderPageChunk","operatorListChunk","serializable","streamReader","RenderingCancelledException","curCacheKey","curIntentState","LoopbackPort","_listeners","_deferred","transfers","event","addEventListener","removeEventListener","splice","terminate","PDFWorkerUtil","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerId","_document","pdfjsFilePath","currentScript","isSameOrigin","otherUrl","base","origin","createCDNWrapper","wrapper","createObjectURL","Blob","_workerPorts","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","Worker","_mainThreadWorkerMessageHandler","workerSrc","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","setup","_globalThis$pdfjsWork","pdfjsWorker","loader","mainWorkerMessageHandler","eval","loadScript","WeakMap","getWorkerSrc","_docStats","_pageCache","_pagePromises","_metadataPromise","fontLoader","FontLoader","_onUnsupportedFeature","styleElement","_params","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","AnnotationStorage","_classPrivateFieldGet","isOpList","annotationHash","hash","page","hasOwnProperty","resetModified","terminated","_classPrivateFieldSet","_getFieldObjectsPromise","_hasJSActionsPromise","cancelAllRequests","sink","getFullReader","evt","onPull","enqueue","onCancel","ready","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","_loadingTask$onProgre","_loadingTask$onProgre2","contentLength","rangeReader","getRangeReader","_numPages","htmlForXfa","exception","updatePassword","_loadingTask$onProgre3","exportedData","_globalThis$FontInspe","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","finally","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","width","height","_imageData$data","_loadingTask$onProgre4","freeze","fetch","featureId","_this$loadingTask$onU","_this$loadingTask","cachedPromise","num","gen","_this$_fullReader$fil","_this$_fullReader","filename","results","OptionalContentConfig","_this$_fullReader$fil2","_this$_fullReader2","_this$_fullReader$con","_this$_fullReader3","metadata","Metadata","cleanupSuccessful","_objs","_PDFObjects_brand","WeakSet","objId","_ensureObj","settled","RenderTask","_internalRenderTask","onContinue","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","canvas","_globalThis$StepperMa","_canvasInUse","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","requestAnimationFrame","executeOperatorList","version","build","_base_factory","SVG_NS","PixelsPerInch","_PixelsPerInch","_defineProperty","CSS","PDF","BaseCanvasFactory","_createCanvas","createElement","fetchData","asTypedArray","isValidFetchUrl","baseURI","response","ok","statusText","text","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","responseText","BaseCMapReaderFactory","_fetchData","compressionType","cMapData","BaseStandardFontDataFactory","DOMSVGFactory","BaseSVGFactory","_createSVG","createElementNS","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","clone","convertToViewportPoint","x","y","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","applyInverseTransform","trim","substring","toLowerCase","isPdfFile","getFilenameFromUrl","anchor","query","lastIndexOf","getPdfFilenameFromUrl","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","started","times","now","start","outBuf","longest","duration","padEnd","removeScriptElement","script","onload","onerror","head","documentElement","pdfDateStringRegex","PDFDateString","matches","year","parseInt","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","getXfaPageViewport","xfaPage","attributes","context","getContext","reset","canvasAndContext","svg","setAttribute","BaseFontLoader","nativeFontFaces","addNativeFontFace","nativeFontFace","fonts","insertRule","rule","getElementsByTagName","styleSheet","sheet","cssRules","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_this$_document","hasFonts","rules","fontsToLoad","loadingContext","requests","nextRequestId","loadTestFontId","supported","navigator","userAgent","completeRequest","otherRequest","shift","getLoadTestFont","atob","int32","spliceString","insert","chunk1","chunk2","ctx","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","btoa","names","loadedName","div","visibility","top","left","span","fontFamily","body","translatedData","compiledGlyphs","cssFontInfo","css","weight","fontWeight","italicAngle","FontFace","mimetype","getPathGenerator","character","cmds","jsBuf","current","args","cmd","_murmurhash","_storage","_modified","onSetModified","onResetModified","getValue","defaultValue","getRawValue","setValue","modified","entry","val","entries","_setModified","getAll","MurmurHash3_64","update","JSON","stringify","hexdigest","SEED","MASK_HIGH","MASK_LOW","seed","h1","h2","blockCounts","tailLength","dataUint32","k1","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","_pattern_helper","_image_utils","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","EXECUTION_TIME","EXECUTION_STEPS","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","LINEWIDTH_SCALE_FACTOR","mirrorContextOperations","destCtx","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","translate","__originalTransform","__originalSetTransform","setTransform","__originalResetTransform","resetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","bezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","beginPath","angle","cp1x","cp1y","cp2x","cp2y","addContextCurrentTransform","_transformStack","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","_originalTransform","_originalSetTransform","_originalResetTransform","_transformMatrix","desc","getOwnPropertyDescriptor","getPrototypeOf","_setLineWidth","_getLineWidth","ad_bc","bc_ad","old","prev","pop","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tx","ty","tlX","rTlX","round","tlY","rTlY","brX","rWidth","brY","rHeight","sign","drawImage","scaleX","hypot","scaleY","compileType3Glyph","imgData","POINT_TO_PROCESS_LIMIT","POINT_TYPES","width1","j0","points","lineSize","elem","mask","count","sum","steps","Int32Array","path","outlines","coords","Path2D","p0","pp","drawOutline","l","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","transferMaps","startNewPathAndClipBox","clipBox","setCurrentPoint","updatePathMinMax","minX","minY","maxX","maxY","updateRectMinMax","updateScalingPathMinMax","scaleMinMax","updateCurvePathMinMax","box","bezierBoundingBox","getPathBoundingBox","pathType","PathType","singularValueDecompose2dScale","xStrokePad","yStrokePad","updateClipFromPath","intersect","isEmptyClip","Infinity","getClippedPathBoundingBox","putBinaryImageData","ImageData","putImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","destPos","srcPos","dest","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","hasTransferMaps","putBinaryImageMask","applyMaskImageData","copyCtxState","sourceCtx","properties","property","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","foregroundColor","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","layerOffsetX","layerOffsetY","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","PIXELS_TO_PROCESS","chunkSize","ceil","row","chunkHeight","composeSMask","layerBox","layerWidth","layerHeight","getImageSmoothingEnabled","interpolate","fround","actualScale","devicePixelRatio","PDF_TO_CSS_UNITS","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","suspendedCtx","contentVisible","markedContentStack","cachedCanvases","cachedPatterns","viewportScale","outputScaleX","outputScaleY","backgroundColor","foreground","_cachedScaleForStroking","_cachedGetSinglePixelWidth","_cachedBitmapsMap","getObject","fallback","defaultBackgroundColor","fg","bg","isValidDefaultBg","defaultBg","cB","rB","gB","bB","newComp","lumB","selectColor","lumC","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","chunkOperations","endTime","fnId","breakIt","depObjId","objsPool","inSMaskMode","HTMLCanvasElement","endLayout","_scaleImage","img","inverseTransform","tmpCanvas","tmpCtx","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","clearRect","_createMaskCanvas","isPatternFill","currentTransform","scaled","maskCanvas","mainKey","withoutTranslation","cachedImage","maskToCanvas","cord1","cord2","normalizeRect","drawnWidth","drawnHeight","fillCanvas","fillCtx","mozCurrentTransformInverse","imageSmoothingEnabled","inverse","getPattern","limit","dashArray","dashPhase","flatness","states","checkSMaskState","beginSMaskMode","endSMaskMode","cacheId","scratchCanvas","compose","dirtyBox","floor","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","rescaleAndStroke","needRestore","paths","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","mode","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","getSinglePixelWidth","glyph","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","charWidth","vmetric","vx","vy","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","scaledAccentX","scaledAccentY","isTextInvisible","spacingLength","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","_getPattern","_this$selectColor","makeHexColor","_this$selectColor2","matrix","getShadingPattern","SHADING","inv","bl","br","ul","ur","bbox","isArray","currentCtx","isolated","knockout","getAxialAlignedBoundingBox","canvasBounds","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","canvasWidth","canvasHeight","annotationCanvas","viewportScaleFactorStr","savedCtx","compiled","skewX","skewY","positions","trans","images","image","w","h","imgToPaint","HTMLElement","getCanvasPosition","appendImage","tag","visible","isVisible","isContentVisible","isEmpty","absDet","normX","normY","getScaleForStroking","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","savedMatrix","savedDashes","savedDashOffset","op","applyBoundingBox","region","BaseShadingPattern","RadialAxialShadingPattern","_type","_bbox","_colorStops","_p0","_p1","_r0","_r1","_createGradient","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","owner","ownerBBox","createPattern","domMatrix","DOMMatrix","drawTriangle","c1","c2","c3","colors","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","MeshShadingPattern","_coords","_colors","_figures","_bounds","_background","_createMeshCanvas","combinedScale","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","matrixScale","temporaryPatternCanvas","DummyShadingPattern","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","adjustedX0","adjustedY0","adjustedX1","adjustedY1","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","inverseDecode","opaque","zeroMapping","oneMapping","widthInSource","widthRemainder","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","stream","_processStreamMessage","action","cbSourceName","cbTargetName","_createStreamSink","actionName","handler","ah","queueingStrategy","ReadableStream","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","self","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","streamController","_deleteStreamController","allSettled","_metadataMap","_data","parsedData","rawData","getRaw","OptionalContentGroup","creator","_order","_groups","order","baseState","off","_evaluateVisibilityExpression","operator","element","expression","policy","ids","setVisibility","getOrder","getGroups","getGroup","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","_onReceiveData","_onProgress","_onProgressiveDone","_enqueue","found","some","_begin","_this$_fullRequestRea","_this$_fullRequestRea2","_loaded","firstReader","_removeRangeReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","_stream","_done","_filename","_requests","_headersReady","requestCapability","_end","_queuedChunk","requestsCapability","output","walk","node","_node$attributes","shouldBuildText","child","fs","readFile","Canvas","createCanvas","_scripting_utils","_xfa_layer","DEFAULT_TAB_INDEX","GetElementsByNameSet","getRectDims","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","layer","linkService","downloadManager","imageResourcesPath","renderForms","svgFactory","enableScripting","_fieldObjects","fieldObjects","_mouseState","mouseState","container","_createContainer","quadrilaterals","_createQuadrilaterals","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","setColor","jsName","styleName","detail","ColorConverters","hidden","print","focus","preventScroll","userName","title","readonly","removeAttribute","required","bgColor","fgColor","textColor","_dispatchEventFromSandbox","actions","jsEvent","commonActions","_commonActions","_setDefaultPropertiesFromJS","storedData","quadPoints","savedRect","quadPoint","_createPopup","trigger","popupElement","PopupElement","modificationDate","richText","hideWrapper","popup","_renderQuadrilaterals","className","quadrilateral","_getElementsByName","skipId","fields","fieldObj","exportValues","exportValue","domElement","getElementById","getElementsByName","platform","isWin","isMac","isTooltipOnly","resetForm","Action","link","addLinkAttributes","newWindow","_bindNamedAction","_bindLink","hasClickAction","_bindJSAction","_bindResetFormAction","linkElement","cloneNode","destination","getDestinationHash","onclick","goToDestination","getAnchorUrl","executeNamedAction","_this$linkService$eve","eventBus","dispatch","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","field","storage","allIds","dispatchEvent","Event","_this$linkService$eve2","_parameters$data$titl","_parameters$data$cont","_parameters$data$rich","hasPopup","alt","dataset","l10nId","l10nArgs","alternativeText","_getKeyModifier","ctrlKey","metaKey","_setEventListener","baseName","eventName","valueGetter","_this$linkService$eve3","shiftKey","modifier","_this$linkService$eve4","_setEventListeners","getter","_this$data$actions","_setBackgroundColor","hasAppearance","fieldValue","setPropertyOnSiblings","keyInStorage","formattedValue","elementData","userValue","valueOnFocus","multiLine","disabled","readOnly","tabIndex","_this$data$defaultFie","defaultFieldValue","blurListener","scrollLeft","_this$data$actions2","_event$detail$value","activeElement","selRange","setSelectionRange","_this$linkService$eve5","commitKey","willCommit","selStart","selectionStart","selEnd","selectionEnd","_blurListener","_this$linkService$eve6","isDown","Keystroke","_this$linkService$eve7","inputType","preventDefault","change","maxLen","maxLength","comb","fieldWidth","combWidth","classList","letterSpacing","verticalAlign","_setTextStyle","TEXT_ALIGNMENT","fontColor","defaultAppearanceData","textAlignment","textAlign","checked","checkbox","curChecked","buttonValue","radio","pdfButtonValue","fontSizeStyle","selectElement","combo","multiSelect","multiple","option","selected","optionElement","displayValue","isExport","filter","selectedIndex","getItems","multipleSelection","findIndex","insertBefore","indices","editable","_this$linkService$eve8","changeEx","keyDown","_parameters$data$titl2","_parameters$data$cont2","_parameters$data$rich2","IGNORE_TYPES","parentType","selector","parentId","parentElements","querySelectorAll","parentRect","popupLeft","popupTop","pinned","_this$richText","_this$contentsObj","BACKGROUND_ENLIGHT","hideElement","dir","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","contents","_formatContents","XfaLayer","xfaHtml","lastChild","_toggle","_show","_hide","lines","split","line","createTextNode","pin","zIndex","unpin","_parameters$data$titl3","_parameters$data$cont3","_parameters$data$rich3","_parameters$data$titl4","_parameters$data$cont4","_parameters$data$rich4","lineCoordinates","append","_parameters$data$titl5","_parameters$data$cont5","_parameters$data$rich5","square","_parameters$data$titl6","_parameters$data$cont6","_parameters$data$rich6","circle","_parameters$data$titl7","_parameters$data$cont7","_parameters$data$rich7","containerClassName","svgElementName","coordinate","vertices","polyline","_parameters$data$titl8","_parameters$data$cont8","_parameters$data$rich8","_parameters$data$titl9","_parameters$data$cont9","_parameters$data$rich9","inkList","inkLists","_parameters$data$titl10","_parameters$data$cont10","_parameters$data$rich10","_parameters$data$titl11","_parameters$data$cont11","_parameters$data$rich11","_parameters$data$titl12","_parameters$data$cont12","_parameters$data$rich12","_parameters$data$titl13","_parameters$data$cont13","_parameters$data$rich13","_parameters$data$titl14","_parameters$data$cont14","_parameters$data$rich14","_this$linkService$eve9","file","_this$data$titleObj","_this$data$contentsOb","_download","_this$downloadManager","openOrDownloadData","AnnotationLayer","sortedAnnotations","popupAnnotations","rendered","renderedElement","prepend","_setAnnotationCanvasMap","ownMatrix","elements","ownTransform","querySelector","firstChild","nodeName","replaceChild","makeColorComp","G","B","components","RGB_HTML","CMYK_RGB","xfaOn","xfaOff","getAttribute","isHTMLAnchorElement","HTMLAnchorElement","dataId","setupStorage","rootHtml","setAttributes","stack","rootDiv","textDivs","_child$attributes","parent","childHtml","xmlns","el","MAX_TEXT_DIVS_TO_RENDER","DEFAULT_FONT_SIZE","DEFAULT_FONT_ASCENT","ascentCache","AllWhitespaceRegexp","getAscent","cachedAscent","metrics","ascent","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","appendText","geom","textDiv","textDivProperties","_enhanceTextSelection","hasText","hasEOL","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_viewport","atan2","fontName","fontHeight","fontAscent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textDivProperties","_textContentStream","_layoutText","angleCos","angleSin","divWidth","divHeight","right","bottom","_canceled","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","expandBounds","divProperties","Float64Array","jj","boxScale","boxes","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","concat","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_globalThis$FontInspe2","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","parentNode","_render","timeout","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","renderTextLayer","renderParameters","SVGGraphics","SVG_DEFAULTS","fontStyle","XML_NS","XLINK_NS","contentType","forceDataSchema","digits","b1","b2","b3","d1","d2","d3","d4","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","pi","adler","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","loadDependencies","getSVG","svgElement","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","_current$txtElement","hasChildNodes","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","childNodes","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","getAttributeNS","clipId","clipPath","clipElement","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","parse","host","PDFNodeStream","isHttp","isFsUrl","_rangeRequestReaders","_this$_fullRequestRea3","_this$_fullRequestRea4","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","_setReadableStream","BaseRangeReader","createRequestOptions","headers","auth","hostname","method","handleResponse","statusCode","getResponseHeader","allowRangeRequests","suggestedLength","validateRangeRequestCapabilities","extractFilenameFromHeader","_request","_httpHeaders","Range","lstat","stat","createReadStream","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","createResponseStatusError","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","attributePattern","textdecode","contentDispositionStr","iter","quot","part","parts","quotindex","extvalue","encodingend","langvalue","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","pendingRequests","requestRange","listeners","requestFull","xhrId","pendingRequest","setRequestHeader","expectedStatus","onError","onStateChange","onprogress","onHeadersReceived","onDone","_pendingRequest$onPro","_pendingRequest$onErr","xhrStatus","ok_response_on_range_request","_pendingRequest$onErr2","rangeHeader","_pendingRequest$onErr3","getRequestXhr","isPendingRequest","abortRequest","PDFNetworkStream","_source","_manager","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_this$_fullRequestRea5","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","_this$onProgress","lengthComputable","_requestId","_close","_this$onClosed","_this$onProgress2","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","PDFFetchStream","_this$_fullRequestRea6","_this$_fullRequestRea7","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","_api","_annotation_layer","_text_layer","_svg","toPropertyKey","iterateSet","$findLast","findLast","keysIter","usingIterator","iteratorMethod","MISSED_STICKY","createIteratorConstructor","createIterResultObject","isRegExp","getRegExpFlags","defineBuiltIn","speciesConstructor","advanceStringIndex","regExpExec","InternalStateModule","IS_PURE","MATCH_ALL","REGEXP_STRING","REGEXP_STRING_ITERATOR","setInternalState","getterFor","RegExpPrototype","stringIndexOf","nativeMatchAll","matchAll","WORKS_WITH_NON_GLOBAL_REGEX","$RegExpStringIterator","regexp","$global","fullUnicode","$matchAll","matcher","rx","IndexedObject","toObject","TYPE","IS_FIND_LAST_INDEX","callbackfn","boundFunction","toPrimitive","isSupersetOf","uid","isObject","isSymbol","hasOwn","createProperty","createNonEnumerableProperty","validateArgumentsLength","MapHelpers","setIterate","ERROR_STACK_INSTALLABLE","PerformanceMark","DOMException","mapHas","mapGet","mapSet","setAdd","setHas","thisBooleanValue","thisNumberValue","thisStringValue","thisTimeValue","getTime","PERFORMANCE_MARK","DATA_CLONE_ERROR","TRANSFERRING","checkBasicSemantic","structuredCloneImplementation","set1","set2","checkErrorsCloning","$Error","checkNewErrorsCloningSemantic","AggregateError","cause","errors","nativeStructuredClone","FORCED_REPLACEMENT","structuredCloneFromMark","nativeRestrictedStructuredClone","throwUncloneable","throwUnpolyfillable","tryNativeRestrictedStructuredClone","createDataTransfer","dataTransfer","DataTransfer","ClipboardEvent","clipboardData","error2","files","cloneBuffer","$type","resizable","setUint8","getUint8","cloneView","structuredCloneInternal","cloned","byteOffset","DOMQuad","File","colorSpace","fromPoint","z","fromRect","fromMatrix","suppressed","tryToTransfer","rawTransfer","transferred","buffers","transferFromImageBitmap","transferToImageBitmap","detachBuffers","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","anInstance","inheritIfRequired","normalizeStringArgument","DOMExceptionConstants","clearErrorStack","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMExceptionPrototype","argumentsLength","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","descriptor","BUGGY_DESCRIPTOR","FORCED_CONSTRUCTOR","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","_c","attrs","scopedSlots","_vm","staticClass","goToSourceUrl","_v","$t","addToList","click","staticRenderFns","fab","sourceTitle","documentId","docType","listModuleSupport","Boolean","institution","computed","mapGetters","authHasModuleAccess","computedSourceName","euInstitutionCodeToName","urlToSourceName","dateAsString","$moment","format","methods","$gtag","event_category","showDialog","ListTimelineItemForm","shareByMail","ebody","shareByWhatsApp","component","klass","isDisjointFrom","IndexSizeError","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","actualIndex","TO_STRING_TAG","TAG","STATIC","createSetLike","V8","ENVIRONMENT","setToStringTag","returnThis","IteratorConstructor","NAME","ENUMERABLE_NEXT","internalObjectKeys","Constructor","list","$length","CORRECT_PROTOTYPE_GETTER","$Object","ObjectPrototype","ArrayPrototype","_classPrivateFieldSet2","showPDF","bookmarks","_e","staticStyle","logoSrc","rightColumnOpen","rssDocument","pdfMissing","docHasAudio","toggleShowPDF","pdfRender","europarlDocument","dlrcDocument","genericDocument","otherTypeDocument","directives","rawName","audioLoaded","model","$$v","shouldShowBasicDetails","locationName","getDebateTime","$event","stopPropagation","subjectsCloud","subjects","VueWordCloud","computedWords","keyword","median","mid","toggleSubjectsView","documentNumbers","dossier","_s","class","currentMeetings","documentType","showAllItems","displayedList","meeting","relatedAttachments","kase","_kase$decisions","decisions","decisionHistory","voteResultStatusStyling","overallResult","debateTime","_self","_l","voteKind","calculateVoteResults","sortedVoteDataForLegend","actor","actorName","isHeadCount","actorFraction","fractionSize","voteResults","detailedResults","downloading","isNullOrUndef","isNumberFinite","isFinite","finiteOrDefault","valueOrDefault","toPercentage","dimension","endsWith","parseFloat","toDimension","thisArg","each","loopable","reverse","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","clone$1","klen","isValidKey","_merger","tval","sval","merge","sources","merger","mergeIf","_mergerIf","keyResolvers","resolveObjectKey","resolver","_getKeyResolver","_splitKey","_capitalize","toUpperCase","defined","isFunction","setsEqual","_isClickEvent","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","niceNum","roundedRange","almostEquals","niceRange","pow","fraction","niceFraction","_factorize","isNumber","epsilon","almostWhole","rounded","_setMinAndMaxByKey","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","table","cmp","hi","lo","_lookupByKey","last","_rlookupByKey","_filterBetween","arrayEvents","listenArrayEvents","_chartjs","unlistenArrayEvents","stub","_arrayUnique","requestAnimFrame","throttled","updateFn","updateArgs","ticking","rest","debounce","delay","_toLeftRightCenter","align","_alignStartEnd","_textX","rtl","check","_getStartAndCountOfVisiblePoints","meta","animationsDisabled","pointCount","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","atEdge","elasticIn","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","lim","p2b","n2b","b2n","n2p","map$1","1","2","3","4","5","6","7","8","9","eq","isShort","hexParse","ret","hexString","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","hueValue","rgb2hsl","calln","hsl2rgb","hwb2rgb","hsv2rgb","hue","hueParse","deg","hslString","Z","Y","W","T","Q","P","N","M","L","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","unpack","unpacked","tkeys","nk","nameParse","transparent","RGB_RE","rgbParse","rgbString","rgb1","rgb2","modHSL","fromObject","functionParse","Color","_rgb","_valid","w2","w1","index_esm","isPatternOrGradient","getHoverColor","saturate","darken","overrides","getScope$1","scope","Defaults","_descriptors","animation","datasets","chart","getDevicePixelRatio","events","lineHeight","hover","hoverBackgroundColor","hoverBorderColor","hoverColor","indexAxis","interaction","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","plugins","responsive","scales","showLine","drawActiveElementsOnTop","describe","targetScope","scopeObject","targetScopeObject","privateName","local","defaults","_scriptable","_indexable","_fallback","toFontString","_measureText","gc","textWidth","_longestText","arrayOfThings","garbageCollect","thing","nestedThing","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rad","ellipse","arc","SQRT1_2","_isPointInArea","point","area","margin","clipArea","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","renderText","opts","strokeWidth","setRenderOpts","maxWidth","decorateText","translation","textBaseline","strikethrough","underline","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","bottomLeft","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","toTRBL","toTRBLCorners","toPadding","toFont","inputs","cacheable","_addGrace","minmax","grace","beginAtZero","keepZero","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_resolve","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","override","Proxy","_keys","_cached","_resolveWithPrefixes","Reflect","getKeysFromAllScopes","_attachContext","subProxy","descriptorDefaults","_proxy","_context","_subProxy","_stack","setContext","receiver","_resolveWithContext","allKeys","ownKeys","scriptable","indexable","_allKeys","isScriptable","isIndexable","readKey","prefix","needsSubResolver","descriptors","_resolveScriptable","_resolveArray","createSubResolver","resolveFallback","getScope","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","monotoneAdjust","deltaK","mK","pointsLen","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointAfter","monotoneCompute","valueAxis","delta","pointBefore","iPixel","vPixel","splineCurveMonotone","slopeDelta","capControlPoint","pt","capBezierPoints","inArea","inAreaPrev","inAreaNext","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","tension","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","getStyle","getPropertyValue","getPositionedStyle","suffix","useOffsetPos","shadowRoot","touches","getBoundingClientRect","clientX","clientY","getRelativePosition","borderBox","boxSizing","paddings","borders","getContainerSize","maxHeight","containerStyle","containerBorder","containerPadding","clientWidth","clientHeight","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","containerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","supportsEventListenerOptions","passiveSupported","readUsedSize","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","getNumberFormat","locale","formatter","Intl","NumberFormat","formatNumber","getRightToLeftAdapter","rectX","itemWidth","getLeftToRightAdapter","_itemWidth","getRtlAdapter","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","getSegment","segment","startBound","endBound","_boundSegment","prevValue","inside","subStart","startIsBefore","endIsBefore","shouldStart","shouldStop","_boundSegments","segments","sub","findStartAndEnd","solidSegments","cur","_computeSegments","segmentOptions","_loop","splitByStyles","completeLoop","_fullLoop","doSplitByStyles","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","p0DataIndex","p1DataIndex","styleChanged","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","_charts","_running","_lastDate","anims","callbacks","numSteps","initial","currentStep","_update","_refresh","remaining","draw","_active","_total","tick","_notify","charts","progress","cb","_getAnims","reduce","acc","_duration","animator","interpolators","to","factor","c0","valid","mix","cfg","currentValue","_fn","_easing","easing","_start","_target","_prop","_from","_to","_promises","elapsed","remain","promises","rej","resolved","numbers","active","resize","show","animations","hide","config","_properties","configure","animatedProps","getOwnPropertyNames","newOptions","resolveTargetOptions","_createAnimations","$shared","awaitAll","$animations","_animateOptions","anim","wait","scaleClip","allowedOverflow","defaultClip","toClip","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","dsIndex","singleMode","otherValue","convertObjectDataToArray","adata","isStacked","stacked","getStackKey","indexScale","valueScale","NEGATIVE_INFINITY","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","_cachedMeta","_stacks","iAxis","vAxis","itemStacks","_top","_bottom","getFirstScaleId","createDatasetContext","createDataContext","dataIndex","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","createStack","canStack","_stacked","_ctx","_cachedDataOpts","getMeta","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","addElements","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","isExtensible","_dataCheck","datasetElementType","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","labels","getLabels","singleScale","xAxisKey","yAxisKey","parsedValue","NaN","otherScale","_getOtherScale","otherMin","otherMax","_skip","updateRangeFromParsed","getParsed","label","getLabelForValue","_clip","getMaxOverflow","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","transition","datasetAnimationScopeKeys","sharedOptions","_animationsDisabled","firstOpts","previouslySharedOptions","getSharedOptions","includeOptions","updateSharedOptions","_resolveAnimations","_setStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_dataChanges","_sync","newCount","getAllScaleValues","_cache","$bar","visibleMetas","getAllParsedValues","computeMinSampleSize","curr","_length","updateMinAndPrev","ticks","getPixelForTick","computeFitCategoryTraits","ruler","stackCount","thickness","barThickness","categoryPercentage","barPercentage","computeFlexCategoryTraits","percent","parseFloatBar","startValue","endValue","barStart","barEnd","_custom","parseValue","parseArrayOrPrimitive","isFloatBar","custom","barSign","actualBase","isHorizontal","borderProps","horizontal","setBorderSkipped","edge","borderSkipped","enableBorderRadius","parseEdge","swap","startEnd","orig","v2","setInflateAmount","inflateAmount","iAxisKey","vAxisKey","bars","getBasePixel","_getRuler","_getSharedOptions","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","updateElement","grouped","skipNull","_getStacks","_startPixel","_endPixel","_getStackCount","baseValue","minBarLength","floating","getDataVisibility","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","stackIndex","_getStackIndex","rects","_index_","grid","_value_","getRatioAndOffset","circumference","cutout","ratioX","ratioY","startAngle","endAngle","endX","endY","calcMax","calcMin","tooltip","innerRadius","outerRadius","isDatasetVisible","_getRotation","_getCircumference","arcs","getMaxBorderWidth","getMaxOffset","chartWeight","_getRingWeight","_getRotationExtents","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","animateRotate","calculateCircumference","animationOpts","animateScale","_circumference","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","legendItem","toggleDataVisibility","tooltipItem","dataLabel","_dataset","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","border","lastPoint","updateControlPoints","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","circular","pointLabels","PieController","pointPosition","getPointPositionForValue","useFinalPosition","getProps","final","defaultRoutes","formatters","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","numeric","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","determineMaxTicks","majorIndices","major","getMajorIndices","numMajorIndices","newTicks","skipMajors","calculateSpacing","avgMajorSpacing","tickLength","_tickSize","maxScale","maxChart","_maxLength","evenMajorSpacing","getEvenSpacing","factors","majorStart","majorEnd","diff","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","minor","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","route","reverseAlign","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","caches","getTickMarkLength","getTitleHeight","createScaleContext","createTickContext","titleAlign","titleArgs","titleX","titleY","positionAxisID","_margins","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","metas","getMinMax","xLabels","yLabels","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","notifyPlugins","_callHooks","beforeTickToLabelConversion","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","fullSize","generateTickLabels","_computeLabelSizes","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","decimal","getBaseValue","optionTicks","rot","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx2","ty2","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","tickTextAlign","labelPadding","_computeGridLineItems","drawLine","lastLineWidth","_computeLabelArea","_computeLabelItems","drawBackground","drawGrid","drawTitle","drawLabels","tz","gz","getSortedVisibleDatasetMetas","axisID","parentScope","isIChartComponent","register","registerDefaults","itemDefaults","routeDefaults","routes","propertyParts","sourceScope","controllers","_typedRegistries","_each","_get","typedRegistry","arg","reg","_getRegistryForType","isForType","_exec","itemReg","registry","camelMethod","getElement","DateAdapter","chartOptions","timestamp","amount","unit","weekday","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","getDistanceMetricForAxis","useX","useY","deltaX","deltaY","getIntersectItems","isPointInArea","evaluationFunc","inRange","getNearestRadialItems","getNearestCartesianItems","distanceMetric","minDistance","getCenterPoint","pointInArea","getNearestItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","wrapBoxes","layoutBoxes","stackWeight","buildStacks","layouts","wrap","placed","setLayoutDims","vBoxMaxWidth","hBoxMaxHeight","layout","availableWidth","availableHeight","buildLayoutBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","getPadding","outerWidth","outerHeight","widthChanged","heightChanged","same","handleMaxPadding","updatePos","getMargins","marginForPositions","fitBoxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","autoPadding","_layers","layoutItem","minPadding","verticalBoxes","horizontalBoxes","beforeLayout","visibleVerticalBoxCount","BasePlatform","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","eventListenerOptions","passive","addListener","removeListener","fromNativeEvent","native","nodeListContains","nodeList","contains","createAttachObserver","observer","MutationObserver","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","listenDevicePixelRatioChanges","unlistenDevicePixelRatioChanges","createResizeObserver","ResizeObserver","contentRect","releaseObserver","disconnect","createProxyAndListen","proxies","$proxies","handlers","attach","isConnected","_detectPlatform","_init","hook","_createDescriptors","plugin","cancelable","_oldCache","_notifyStateChanges","allPlugins","createDescriptors","previousDescriptors","localIds","getPlugin","getOpts","pluginOpts","pluginScopeKeys","getIndexAxis","datasetDefaults","datasetOptions","getAxisFromDefaultScaleID","getDefaultScaleIDFromAxis","axisFromPosition","determineAxis","scaleOptions","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","defaultScaleOptions","defaultID","initOptions","initData","initConfig","keyCache","keysCached","cachedKeys","generate","addIfFound","_config","_scopeCache","_resolverCache","clearCache","datasetType","additionalOptionScopes","mainScope","resetCache","keyLists","_cachedScopes","subPrefixes","getResolver","needContext","subResolver","resolverCache","hasFunction","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","animationOptions","onComplete","onAnimationProgress","instances","getChart","moveNumericKeys","intKey","determineLastEvent","lastEvent","inChartArea","isClick","userConfig","initialCanvas","existingChart","chartOptionScopes","updateConfig","acquireContext","_options","_aspectRatio","_metasets","_lastEvent","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","_doResize","resizeDelay","listen","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","scalesOptions","axisOptions","scaleOpts","updated","isRadial","dposition","dtype","scaleType","scaleClass","getScale","hasUpdated","addBox","_destroyDatasetMeta","newControllers","_removeUnreferencedMetasets","updateIndex","ControllerClass","getController","_updateMetasets","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","invalidate","buildOrUpdateControllers","buildOrUpdateElements","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","removeBox","ensureScalesHaveIDs","buildOrUpdateScales","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","setDatasetVisibility","_updateVisibility","_stop","releaseContext","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","isAttached","activeElements","lastActive","notify","replay","hoverOptions","deactivated","activated","updateHoverStyle","eventFilter","_handleEvent","_getActiveElements","getElementsAtEventForMode","invalidatePlugins","clipArc","pixelMargin","angleMargin","toRadiusCorners","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","noSpacingInnerRadius","noSpacingOuterRadius","avNogSpacingRadius","adjustedAngle","beta","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p8","outerStartX","outerStartY","outerEndX","outerEndY","drawArc","fullCircles","drawFullCircleBorders","inner","unregister","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","setStyle","getLineMethod","stepped","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","useFastPath","_getInterpolationMethod","strokePathWithCache","_path","strokePathDirect","segmentMethod","usePath2D","_points","_segments","_pointsUpdated","_interpolate","interpolated","inRange$1","hitRadius","mouseX","mouseY","hoverRadius","getBarBounds","bar","half","skipOrLimit","parseBorderWidth","maxW","maxH","parseBorderRadius","maxR","enableBorder","boundingRects","outer","skipX","skipY","skipBoth","hasRadius","addNormalRectPath","inflateRect","refRect","addRectPath","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","itemsEqual","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","generateLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","heightLimit","totalWidth","currentColWidth","currentColHeight","col","rtlHelper","hitbox","leftForLtr","_draw","defaultColor","halfFontSize","cursor","drawLegendBox","lineDash","drawOptions","SQRT2","xPlus","yBoxTop","xBoxLeft","textDirection","setWidth","realX","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","lh","isListened","hoveredItem","_getLegendItemAt","sameItem","onLeave","plugin_legend","_element","_args","adjustHitBoxes","handleEvent","ci","_padding","textSize","fontOpts","_drawArgs","createTitle","titleBlock","plugin_title","plugin_subtitle","positioners","hasValue","tooltipPosition","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getLabelAndValue","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","before","after","beforeBody","afterBody","titleSpacing","titleMarginBottom","bodyLineHeight","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineYAlign","doesNotFitWithAlign","xAlign","caret","caretSize","caretPadding","determineXAlign","yAlign","chartWidth","determineAlignment","alignX","alignY","paddingAndSize","getBackgroundPoint","alignment","getAlignedX","getBeforeAfterBodyLines","createTooltipContext","tooltipItems","overrideCallbacks","opacity","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","beforeTitle","afterTitle","bodyItems","scoped","beforeLabel","afterLabel","beforeFooter","afterFooter","itemSort","labelColor","labelPointStyle","labelTextColor","_createItems","getTitle","getBeforeBody","getBody","getAfterBody","getFooter","positionAndSize","backgroundPoint","external","tooltipPoint","caretPosition","getCaretPosition","ptX","ptY","titleColor","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","bodyAlign","xLinePadding","fillLineOfText","bodyAlignForCalculation","bodyColor","_drawColorBox","footerAlign","footerColor","tooltipSize","drawCaret","quadraticCurveTo","animX","animY","_updateAnimationTarget","hasTooltipContent","drawBody","drawFooter","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","_willRender","labelCount","addIfString","addedLabels","findOrAddLabel","_startValue","_valueRange","_addedLabels","added","getDecimalForPixel","generateTicks$1","generationOptions","dataRange","MIN_SPACING","precision","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","decimalPlaces","relativeLabelSize","_endValue","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","stepSize","computeTickLimit","getTickLimit","numericGeneratorOptions","_maxDigits","handleTickRangeOptions","isMajor","tickVal","generateTicks","endExp","endSignificand","exp","significand","lastTick","_zero","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","hLimits","vLimits","updateLimits","setCenterPoint","_pointLabelItems","buildPointLabelItems","extra","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","drawPointLabels","backdropLeft","backdropTop","backdropWidth","backdropHeight","pathRadiusLine","drawRadiusLine","gridLineOpts","createPointLabelContext","logarithmic","leftMovement","rightMovement","topMovement","bottomMovement","angleMultiplier","scalingFactor","scaledDistance","pointLabel","distanceFromCenter","animate","INTERVALS","millisecond","common","week","quarter","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","startOf","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","addTick","timestamps","setMajorTicks","majorUnit","ticksFromTimestamps","_unit","_majorUnit","_offsets","_normalized","displayFormats","formats","normalized","_applyBounds","_getLabelBounds","endOf","getLabelTimestamps","timeOpts","_generate","_getLabelCapacity","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","minorFormat","majorFormat","_tickFormatFunction","offsets","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","_getLabelSize","prevSource","nextSource","prevTarget","nextTarget","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","ChartEmits","chartCreate","createChartFunction","chartData","emit","ChartRendered","chartUpdate","ChartUpdated","chartDestroy","ChartDestroyed","getChartData","datasetIdKey","nextData","setChartDatasets","oldData","newData","addedDatasets","nextDataset","currentDataset","find","setChartLabels","LabelsUpdated","setChartOptions","compareData","newDatasetLabels","oldDatasetLabels","every","templateError","ANNOTATION_PLUGIN_KEY","generateChart","chartId","chartType","chartController","_chartRef","default","cssClasses","_id","random","ref1","pluginSettings","$data","renderChart","$emit","watch","newValue","oldValue","chartDataHandler","deep","chartOptionsHandler","currentChart","getCurrentChart","$refs","canvasEl2DContext","setCurrentChart","isEqualLabelsAndDatasetsLength","updateChart","hasAnnotationPlugin","Doughnut","ChartJS","Title","SubTitle","Tooltip","Legend","ArcElement","CategoryScale","voteData","voteDistribution","subtitle","chartDownloadOptions","customCanvasBackgroundColor","customTextBottomLeft","beforeDraw","downloadUrl","mounted","updateChartTitle","sortedVoteDataForChart","sortVoteResults","preparedChartData","preparedChartDataDownload","$nextTick","_this$$refs$canvasDow","canvasDownloadRef","downloadLink","against","didntParticipate","for","forVote","VoteResultDoughnut","voteForm","sortedVoteData","vote","voteType","voteObj","Grid","toggleShow","formattedStartTime","formattedEndTime","formattedPersons","persons","person","actorId","moment","_initialRolesMap$get","uniquePersons","personsByRole","sortedPersons","partyShorthand","initialRolesMap","debateRolesMap","personCopy","roles","role","roleCopy","function","showFunction","rolesArray","voorzitter","sprekers","formattedMap","meetings","cases","sourceDocuments","casesOpen","foldedItemsLimit","pastMeetings","_this$cases","VoteResultsDetailed","ShowMoreButton","DebateDetails","convertedNlDate","today","isSameOrAfter","isBefore","mixins","Themeable","extend","provide","timeline","alignTop","dense","classes","themeClasses","getSlot","baseMixins","Colorable","inject","fillDot","hideDot","icon","iconColor","large","small","hasIcon","$slots","genBody","$createElement","genIcon","VIcon","dark","theme","isDark","genInnerDot","setBackgroundColor","genDot","genDivider","genOpposite","opposite","codeToColor","externalUrl","goToUrlConditionally","showMore","typeToColor","cleanReferenceNumber","cleanedRef","firstHalf","secondHalf","FeatureTeaserDialog","userFilters","cleanedRefs","cleanRefs","refType","itemUrlToSourceName","itemStripHtml","itemTitle","itemFragDocufy","fragDocu","fragDocufy","hasReferences","codeToName","institutionCode","formattedDate","getCleanedRef","_item$metadata","reference","matchedRef","mentions","matchedMention","mention","term","getProcedureNumber","procedures","relations","relation","actionUrl","nlGroupsByDocType","euGroupsByDocType","nlLrGroupsByDocType","beFedGroupsByDocType","beFlmGroupsByDocType","documentTypesConfig","requiredModules","missingModuleCodes","moduleCode","EuTeaserDialog","DutchSenateTeaserDialog","MissingModuleTeaserDialog","$vuetify","breakpoint","mdAndDown","$router","BasicDetails","ListSubjects","ListReferences","audioPlayer","audioError","panel","followAudio","ignoreScrollEvent","firstPlay","fileApi","getFileStreamUrl","mimeType","onFollowToggle","scrollToCurrentTextElem","textChunks","currentTimestamp","currentTime","$numberDecimal","scrollToTextElem","ignorePreviousPast","offsetTop","prevElement","scrollTo","behavior","agendas","agendaItems","related","agendaItem","europarl","euReferenceCodes","dhapi","dossierId","_this$document$relate","entityCode","startedAt","endedAt","_this$document","_this$document2","_this$document3","_this$document4","_this$document5","documents","epCommitteesList","euEpCommittees","committees","nl","procedure","peNumber","cnReference","councilDocumentReference","sessionDocumentNumber","EuroparlReferences","EuroparlDocumentSpecs","filters","DlrcReferences","DlrcBasicDetails","missingUrl","dlrcAgendas","dlrc","relatedUrls","processedEvents","futureEvents","reversedStatuses","shouldShowWordCloud","relatedDocuments","publicIds","publicId","relatedDossier","_vm$futureEvents2","safeI18n","relatedPerson","fallbackPerson","relatedOrganizationsPlain","relatedUrl","proceduralStatuses","pastEvents","relatedDossiers","relatedPeoplePlain","shouldShow","_this$publicIds","_this$relatedPeoplePl","_this$relatedOrganiza","_this$futureEvents","_this$pastEvents","_this$proceduralStatu","fallbackOrg","i18nKey","_item$entity$publicId","entity","documentTypesMixinReady","getLocalizationForDocTypeId","useDocumentTypes","sortedItems","publicationDateTime","hasItems","_entity$metadata","_procedures$toString","getDocTypeLocalization","singular","i18n","publishingOrganization","_entity$relatedOrgani","relationType","GenericReferences","GenericBasicDetails","_this$document$proced","relatedEvents","eventsFromDossiers","curDosEvents","mergedEvents","_b$entity","_a$entity","startDateTime","relatedEvent","endDateTime","startDate","dateAsDateString","startTime","dateAsTimeString","endDate","processedEvent","_this$document$relate2","_this$document$relate3","_this$document$relate4","_this$document$proced2","domProps","bookmark","loading","scrollToBookmark","scrollIntoView","block","scrollOffset","scrollTop","innerHeight","yPosition","isIE11","goTo","selectedKeywords","pageNum","_g","pdfBookmarksLoading","pdfBookmarks","keywords","filteredBookmarksPerPage","pageElem","filteredKeywords","fromEntries","uniqueMatches","totalMatches","mostRelevantPages","mostRelevantPagesList","maxUniqueMatches","maxTotalMatches","selectedKeywordsAmount","autocompleteSelectAllIcon","keywordLine","textSpans","scrollToPage","maxWaitTime","ecapedKeyword","textSpan","innerText","toggleSelectAllKeywords","svgIcons","fileFetchDone","pdfViewerAvailable","toggle","isActivePdf","editedTitle","documentUrl","trackOpenSource","showMetadataDialog","_vm$document","showAudioText","_vm$document3","reemit","refInFor","pdfjsLib","pageDataPromise","zoomScale","viewerWidth","scopedAttribute","canvasDimentionsSet","bookmarksSet","pageData","elemWidth","elemHeight","oldCanvas","$el","scaleViewport","pageHeightWidthRatio","spinner","bookmarkKeywords","keywordRegexMatches","setCanvasDimentions","setBookmarks","renderCanvasLayer","textLayerElem","textLayer","innerHTML","highlightKeywords","matchStartIndexes","matchEndIndexes","startTag","endTag","runningKeywords","oldRunningKeywords","endingKeywords","startingKeywords","escapedKeyword","pdfjsLibWorkerRawText","PdfViewerPage","pdf","expandedView","zoomStepSize","zoomScaleMax","rendersCount","windowWidth","resizeTimeout","intersectionObserver","startPinchDistance","zooming","zoomedThisPinch","zoomLoading","zoomScaleMin","created","innerWidth","renderPdf","pdfViewer","zoomEvent","viewerAttributes","attr","inOrOut","zoomAllowed","zoom","pageX","pageY","newPinchDistance","pinchDifference","minimumDifference","nextZoomScale","toggleExpandedView","currRenderCount","getViewerWidth","firstPageElem","pdfPage1","IntersectionObserver","onPageInView","threshold","isIntersecting","unobserve","vuePageElem","desiredWidthString","getViewerWidthCSSproperty","dialog","hideDialog","cancelFindInPage","activateFindInPage","EventBus","computedQuotify","computedDomainify","isRawHTML","processedText","addTargetBlankToLinks","quotify","domainify","htmlContent","links","hasAttribute","sendPlayAudioChunk","startingTimestamp","internalShowDialog","getComparisonClass","_vm$document$metadata","_vm$document$metadata2","_vm$document2","_vm$document$annotato","_vm$document$annotato2","_vm$document$annotato3","closeDialog","newVal","category","findInMetadata","annotator","originalValue","annotatorValue","percentage","occurrences","_this$document$type","_this$document$type3","_this$document$type5","_this$document$type2","ministeryStatistics","ministeries","keywordSummary","_this$document$type4","_this$document$type6","_item$name","_item$keyword","_item$term","summary","showDisclaimer","DisclaimerTextDialog","DocumentLinks","DocumentText","PdfViewer","AudioTextFragment","MetadataDialog","DocumentSummary","getDocTypeByDocTypeId","findDocumentTypesByLabels","modulesMeetDocumentTypeRequirements","getPrunedDocumentTypesByModules","getAllSupportedEuroparlCodes","getAllEuroparlDocumentTypesPerInstitution","pdfExpandedView","keyCode","getPdfSourceUrl","initSwitchToDocumentView","unmounted","userPreferences","hasDebugAccess","computedUrlToSourceName","$route","editedTitleStripHtml","pdfSourceUrl","voteResultsPresent","fullResult","voteResultsDate","resultDate","isSummaryAvailable","formatDate","event_label","getDocumentTypeLocalization","loc","$off","DocumentSwitchToTextView","$on","playAudioChunk","play","BaseLayout","DocumentBookmarks","DocumentPdfBookmarks","DocumentLayout","DetailSidebar","EuroparlDetailSidebar","DlrcDetailSidebar","GenericDetailSidebar","polyfillNeeded","smoothscroll","polyfill","pageview","page_path","dashboard","highlightWord","beforeRouteEnter","fullPath","bookmarksLoading","pdfExists","pdfLoaded","getters","kebabDashboard","selectLogo","setAudioTextBookmarks","setPlainTextBookmarks","waitForElement","documentText","allBookmarksElements","reduceBookmarks","_document$textChunks","textChunksWithRegex","textChunk","regexText","replaceAll","timer","documentTextCopy","processedChunkIds","updateBookmarks","newBookmarks","chunkId","fullMatch","tagsMatches","pdfPageReady","pdfRendered","bookmarkElements","firstBookmark","previousKeyword","previousOffsetTop","getElemOffsetTop","reducedBookmarks","Config","minimalBookmarkDistance","missing","NATIVE_ARRAY_BUFFER","setPrototypeOf","enforceInternalState","enforce","Uint8ClampedArrayPrototype","TypedArray","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Float32Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","isTypedArray","aTypedArrayConstructor","KEY","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","prim","BigInt","dotAll"],"mappings":"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","file":"js/DocumentDetail.eeac1cd9.js","sourcesContent":["'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 uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-map -- safe\nvar MapPrototype = Map.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-map -- safe\n Map: Map,\n set: uncurryThis(MapPrototype.set),\n get: uncurryThis(MapPrototype.get),\n has: uncurryThis(MapPrototype.has),\n remove: uncurryThis(MapPrototype['delete']),\n proto: MapPrototype\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--7-oneOf-1-2!./pdf_viewer.css?vue&type=style&index=1&id=21887c50&prod&scoped=true&lang=css&external\"","'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","function _checkPrivateRedeclaration(e, t) {\n if (t.has(e)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n}\nmodule.exports = _checkPrivateRedeclaration, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentText.vue?vue&type=style&index=0&id=c80b5656&prod&lang=scss\"","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw new $RangeError('Wrong offset');\n return offset;\n};\n","var assertClassBrand = require(\"./assertClassBrand.js\");\nfunction _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}\nmodule.exports = _classPrivateFieldGet2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicDetails.vue?vue&type=style&index=0&id=25043b70&prod&lang=scss&scoped=true\"","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {\n difference: difference\n});\n","'use strict';\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached');\n return it;\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 $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","var checkPrivateRedeclaration = require(\"./checkPrivateRedeclaration.js\");\nfunction _classPrivateMethodInitSpec(e, a) {\n checkPrivateRedeclaration(e, a), a.add(e);\n}\nmodule.exports = _classPrivateMethodInitSpec, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar globalThis = require('../internals/global-this');\nvar IS_NODE = require('../internals/environment-is-node');\n\nmodule.exports = function (name) {\n if (IS_NODE) {\n try {\n return globalThis.process.getBuiltinModule(name);\n } catch (error) { /* empty */ }\n try {\n // eslint-disable-next-line no-new-func -- safe\n return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n }\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","export default \"/**\\n * @licstart The following is the entire license notice for the\\n * JavaScript code in this page\\n *\\n * Copyright 2022 Mozilla Foundation\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n *\\n * @licend The above is the entire license notice for the\\n * JavaScript code in this page\\n */\\n!function webpackUniversalModuleDefinition(e,t){\\\"object\\\"==typeof exports&&\\\"object\\\"==typeof module?module.exports=t():\\\"function\\\"==typeof define&&define.amd?define(\\\"pdfjs-dist/build/pdf.worker\\\",[],t):\\\"object\\\"==typeof exports?exports[\\\"pdfjs-dist/build/pdf.worker\\\"]=t():e[\\\"pdfjs-dist/build/pdf.worker\\\"]=e.pdfjsWorker=t()}(this,(()=>(()=>{\\\"use strict\\\";var e=[,(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.WorkerTask=t.WorkerMessageHandler=void 0;var r=a(2),n=a(5),i=a(6),s=a(67),o=a(73),c=a(4),l=a(102),h=a(103),u=a(8);class WorkerTask{constructor(e){this.name=e;this.terminated=!1;this._capability=(0,r.createPromiseCapability)()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error(\\\"Worker task was terminated\\\")}}t.WorkerTask=WorkerTask;class WorkerMessageHandler{static setup(e,t){let a=!1;e.on(\\\"test\\\",(function wphSetupTest(t){if(!a){a=!0;e.send(\\\"test\\\",t instanceof Uint8Array)}}));e.on(\\\"configure\\\",(function wphConfigure(e){(0,r.setVerbosityLevel)(e.verbosity)}));e.on(\\\"GetDocRequest\\\",(function wphSetupDoc(e){return WorkerMessageHandler.createDocumentHandler(e,t)}))}static createDocumentHandler(e,t){let a,d=!1,f=null;const g=[],p=(0,r.getVerbosityLevel)(),m=e.apiVersion,b=\\\"2.14.305\\\";if(m!==b)throw new Error(`The API version \\\"${m}\\\" does not match the Worker version \\\"2.14.305\\\".`);const y=[];for(const e in[])y.push(e);if(y.length)throw new Error(\\\"The `Array.prototype` contains unexpected enumerable properties: \\\"+y.join(\\\", \\\")+\\\"; thus breaking e.g. `for...in` iteration of `Array`s.\\\");if(\\\"undefined\\\"==typeof ReadableStream){const e=\\\"The browser/environment lacks native support for critical functionality used by the PDF.js library (e.g. `ReadableStream`); \\\";if(c.isNodeJS)throw new Error(e+\\\"please use a `legacy`-build instead.\\\");throw new Error(e+\\\"please update to a supported browser.\\\")}const w=e.docId,S=e.docBaseUrl,x=e.docId+\\\"_worker\\\";let k=new l.MessageHandler(x,w,t);function ensureNotTerminated(){if(d)throw new Error(\\\"Worker was terminated\\\")}function startWorkerTask(e){g.push(e)}function finishWorkerTask(e){e.finish();const t=g.indexOf(e);g.splice(t,1)}async function loadDocument(e){await a.ensureDoc(\\\"checkHeader\\\");await a.ensureDoc(\\\"parseStartXRef\\\");await a.ensureDoc(\\\"parse\\\",[e]);await a.ensureDoc(\\\"checkFirstPage\\\",[e]);await a.ensureDoc(\\\"checkLastPage\\\",[e]);const t=await a.ensureDoc(\\\"isPureXfa\\\");if(t){const e=new WorkerTask(\\\"loadXfaFonts\\\");startWorkerTask(e);await Promise.all([a.loadXfaFonts(k,e).catch((e=>{})).then((()=>finishWorkerTask(e))),a.loadXfaImages()])}const[r,n]=await Promise.all([a.ensureDoc(\\\"numPages\\\"),a.ensureDoc(\\\"fingerprints\\\")]);return{numPages:r,fingerprints:n,htmlForXfa:t?await a.ensureDoc(\\\"htmlForXfa\\\"):null}}function getPdfManager(e,t,a){const n=(0,r.createPromiseCapability)();let s;const o=e.source;if(o.data){try{s=new i.LocalPdfManager(w,o.data,o.password,k,t,a,S);n.resolve(s)}catch(e){n.reject(e)}return n.promise}let c,l=[];try{c=new h.PDFWorkerStream(k)}catch(e){n.reject(e);return n.promise}const u=c.getFullReader();u.headersReady.then((function(){if(!u.isRangeSupported)return;const e=o.disableAutoFetch||u.isStreamingSupported;s=new i.NetworkPdfManager(w,c,{msgHandler:k,password:o.password,length:u.contentLength,disableAutoFetch:e,rangeChunkSize:o.rangeChunkSize},t,a,S);for(let e=0;enull!==e)).reduce(((e,t)=>e.concat(t)),u);if(0===u.length)return t.bytes}const f=a instanceof n.Dict&&a.get(\\\"XFA\\\")||null;let g=null,p=!1;if(Array.isArray(f)){for(let e=0,t=f.length;e{\\\"string\\\"==typeof a&&(e[t]=(0,r.stringToPDFString)(a))}));m={rootRef:c.trailer.getRaw(\\\"Root\\\")||null,encryptRef:c.trailer.getRaw(\\\"Encrypt\\\")||null,newRef:c.getNewRef(),infoRef:c.trailer.getRaw(\\\"Info\\\")||null,info:e,fileIds:c.trailer.get(\\\"ID\\\")||null,startXRef:l,filename:s}}c.resetNewRef();return(0,o.incrementalUpdate)({originalData:t.bytes,xrefInfo:m,newRefs:u,xref:c,hasXfa:!!f,xfaDatasetsRef:g,hasXfaDatasetsEntry:p,acroFormRef:i,acroForm:a,xfaData:d})}))}));k.on(\\\"GetOperatorList\\\",(function wphSetupRenderPage(e,t){const n=e.pageIndex;a.getPage(n).then((function(a){const i=new WorkerTask(`GetOperatorList: page ${n}`);startWorkerTask(i);const s=p>=r.VerbosityLevel.INFOS?Date.now():0;a.getOperatorList({handler:k,sink:t,task:i,intent:e.intent,cacheKey:e.cacheKey,annotationStorage:e.annotationStorage}).then((function(e){finishWorkerTask(i);s&&(0,r.info)(`page=${n+1} - getOperatorList: time=${Date.now()-s}ms, len=${e.length}`);t.close()}),(function(e){finishWorkerTask(i);if(!i.terminated){k.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorOperatorList});t.error(e)}}))}))}));k.on(\\\"GetTextContent\\\",(function wphExtractText(e,t){const n=e.pageIndex;a.getPage(n).then((function(a){const i=new WorkerTask(\\\"GetTextContent: page \\\"+n);startWorkerTask(i);const s=p>=r.VerbosityLevel.INFOS?Date.now():0;a.extractTextContent({handler:k,task:i,sink:t,includeMarkedContent:e.includeMarkedContent,combineTextItems:e.combineTextItems}).then((function(){finishWorkerTask(i);s&&(0,r.info)(`page=${n+1} - getTextContent: time=`+(Date.now()-s)+\\\"ms\\\");t.close()}),(function(e){finishWorkerTask(i);i.terminated||t.error(e)}))}))}));k.on(\\\"GetStructTree\\\",(function wphGetStructTree(e){return a.getPage(e.pageIndex).then((function(e){return a.ensure(e,\\\"getStructTree\\\")}))}));k.on(\\\"FontFallback\\\",(function(e){return a.fontFallback(e.id,k)}));k.on(\\\"Cleanup\\\",(function wphCleanup(e){return a.cleanup(!0)}));k.on(\\\"Terminate\\\",(function wphTerminate(e){d=!0;const t=[];if(a){a.terminate(new r.AbortException(\\\"Worker was terminated.\\\"));const e=a.cleanup();t.push(e);a=null}else(0,s.clearGlobalCaches)();f&&f(new r.AbortException(\\\"Worker was terminated.\\\"));for(const e of g){t.push(e.finished);e.terminate()}return Promise.all(t).then((function(){k.destroy();k=null}))}));k.on(\\\"Ready\\\",(function wphReady(t){!function setupDoc(e){function onSuccess(e){ensureNotTerminated();k.send(\\\"GetDoc\\\",{pdfInfo:e})}function onFailure(e){ensureNotTerminated();if(e instanceof r.PasswordException){const t=new WorkerTask(`PasswordException: response ${e.code}`);startWorkerTask(t);k.sendWithPromise(\\\"PasswordRequest\\\",e).then((function({password:e}){finishWorkerTask(t);a.updatePassword(e);pdfManagerReady()})).catch((function(){finishWorkerTask(t);k.send(\\\"DocException\\\",e)}))}else e instanceof r.InvalidPDFException||e instanceof r.MissingPDFException||e instanceof r.UnexpectedResponseException||e instanceof r.UnknownErrorException?k.send(\\\"DocException\\\",e):k.send(\\\"DocException\\\",new r.UnknownErrorException(e.message,e.toString()))}function pdfManagerReady(){ensureNotTerminated();loadDocument(!1).then(onSuccess,(function(e){ensureNotTerminated();if(e instanceof u.XRefParseException){a.requestLoadedStream();a.onLoadedStream().then((function(){ensureNotTerminated();loadDocument(!0).then(onSuccess,onFailure)}))}else onFailure(e)}))}ensureNotTerminated();getPdfManager(e,{maxImageSize:e.maxImageSize,disableFontFace:e.disableFontFace,ignoreErrors:e.ignoreErrors,isEvalSupported:e.isEvalSupported,fontExtraProperties:e.fontExtraProperties,useSystemFonts:e.useSystemFonts,cMapUrl:e.cMapUrl,standardFontDataUrl:e.standardFontDataUrl},e.enableXfa).then((function(e){if(d){e.terminate(new r.AbortException(\\\"Worker was terminated.\\\"));throw new Error(\\\"Worker was terminated\\\")}a=e;a.onLoadedStream().then((function(e){k.send(\\\"DataLoaded\\\",{length:e.bytes.byteLength})}))})).then(pdfManagerReady,onFailure)}(e);e=null}));return x}static initializeFromPort(e){const t=new l.MessageHandler(\\\"worker\\\",\\\"main\\\",e);WorkerMessageHandler.setup(t,e);t.send(\\\"ready\\\",null)}}t.WorkerMessageHandler=WorkerMessageHandler;\\\"undefined\\\"==typeof window&&!c.isNodeJS&&\\\"undefined\\\"!=typeof self&&function isMessagePort(e){return\\\"function\\\"==typeof e.postMessage&&\\\"onmessage\\\"in e}(self)&&WorkerMessageHandler.initializeFromPort(self)},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.VerbosityLevel=t.Util=t.UnknownErrorException=t.UnexpectedResponseException=t.UNSUPPORTED_FEATURES=t.TextRenderingMode=t.StreamType=t.RenderingIntentFlag=t.PermissionFlag=t.PasswordResponses=t.PasswordException=t.PageActionEventType=t.OPS=t.MissingPDFException=t.InvalidPDFException=t.ImageKind=t.IDENTITY_MATRIX=t.FormatError=t.FontType=t.FeatureTest=t.FONT_IDENTITY_MATRIX=t.DocumentActionEventType=t.CMapCompressionType=t.BaseException=t.AnnotationType=t.AnnotationStateModelType=t.AnnotationReviewState=t.AnnotationReplyType=t.AnnotationMode=t.AnnotationMarkedState=t.AnnotationFlag=t.AnnotationFieldFlag=t.AnnotationBorderStyleType=t.AnnotationActionEventType=t.AbortException=void 0;t.arrayByteLength=arrayByteLength;t.arraysToBytes=function arraysToBytes(e){const t=e.length;if(1===t&&e[0]instanceof Uint8Array)return e[0];let a=0;for(let r=0;rt});e.promise=new Promise((function(a,r){e.resolve=function(e){t=!0;a(e)};e.reject=function(e){t=!0;r(e)}}));return e};t.createValidAbsoluteUrl=function createValidAbsoluteUrl(e,t=null,a=null){if(!e)return null;try{if(a&&\\\"string\\\"==typeof e){if(a.addDefaultProtocol&&e.startsWith(\\\"www.\\\")){const t=e.match(/\\\\./g);t&&t.length>=2&&(e=`http://${e}`)}if(a.tryConvertEncoding)try{e=stringToUTF8String(e)}catch(e){}}const r=t?new URL(e,t):new URL(e);if(function _isValidProtocol(e){if(!e)return!1;switch(e.protocol){case\\\"http:\\\":case\\\"https:\\\":case\\\"ftp:\\\":case\\\"mailto:\\\":case\\\"tel:\\\":return!0;default:return!1}}(r))return r}catch(e){}return null};t.escapeString=function escapeString(e){return e.replace(/([()\\\\\\\\\\\\n\\\\r])/g,(e=>\\\"\\\\n\\\"===e?\\\"\\\\\\\\n\\\":\\\"\\\\r\\\"===e?\\\"\\\\\\\\r\\\":`\\\\\\\\${e}`))};t.getModificationDate=function getModificationDate(e=new Date){return[e.getUTCFullYear().toString(),(e.getUTCMonth()+1).toString().padStart(2,\\\"0\\\"),e.getUTCDate().toString().padStart(2,\\\"0\\\"),e.getUTCHours().toString().padStart(2,\\\"0\\\"),e.getUTCMinutes().toString().padStart(2,\\\"0\\\"),e.getUTCSeconds().toString().padStart(2,\\\"0\\\")].join(\\\"\\\")};t.getVerbosityLevel=function getVerbosityLevel(){return n};t.info=function info(e){n>=r.INFOS&&console.log(`Info: ${e}`)};t.isArrayBuffer=function isArrayBuffer(e){return\\\"object\\\"==typeof e&&null!==e&&void 0!==e.byteLength};t.isArrayEqual=function isArrayEqual(e,t){if(e.length!==t.length)return!1;for(let a=0,r=e.length;a>24&255,e>>16&255,e>>8&255,255&e)};t.stringToBytes=stringToBytes;t.stringToPDFString=function stringToPDFString(e){if(e[0]>=\\\"ï\\\"){let t;\\\"þ\\\"===e[0]&&\\\"ÿ\\\"===e[1]?t=\\\"utf-16be\\\":\\\"ÿ\\\"===e[0]&&\\\"þ\\\"===e[1]?t=\\\"utf-16le\\\":\\\"ï\\\"===e[0]&&\\\"»\\\"===e[1]&&\\\"¿\\\"===e[2]&&(t=\\\"utf-8\\\");if(t)try{const a=new TextDecoder(t,{fatal:!0}),r=stringToBytes(e);return a.decode(r)}catch(e){warn(`stringToPDFString: \\\"${e}\\\".`)}}const t=[];for(let a=0,r=e.length;a>8&255),String.fromCharCode(255&r))}return t.join(\\\"\\\")};t.stringToUTF8String=stringToUTF8String;t.unreachable=unreachable;t.utf8StringToString=function utf8StringToString(e){return unescape(encodeURIComponent(e))};t.warn=warn;a(3);t.IDENTITY_MATRIX=[1,0,0,1,0,0];t.FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0];t.RenderingIntentFlag={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256};t.AnnotationMode={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3};t.PermissionFlag={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048};t.TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};t.ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};t.AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};t.AnnotationStateModelType={MARKED:\\\"Marked\\\",REVIEW:\\\"Review\\\"};t.AnnotationMarkedState={MARKED:\\\"Marked\\\",UNMARKED:\\\"Unmarked\\\"};t.AnnotationReviewState={ACCEPTED:\\\"Accepted\\\",REJECTED:\\\"Rejected\\\",CANCELLED:\\\"Cancelled\\\",COMPLETED:\\\"Completed\\\",NONE:\\\"None\\\"};t.AnnotationReplyType={GROUP:\\\"Group\\\",REPLY:\\\"R\\\"};t.AnnotationFlag={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512};t.AnnotationFieldFlag={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864};t.AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};t.AnnotationActionEventType={E:\\\"Mouse Enter\\\",X:\\\"Mouse Exit\\\",D:\\\"Mouse Down\\\",U:\\\"Mouse Up\\\",Fo:\\\"Focus\\\",Bl:\\\"Blur\\\",PO:\\\"PageOpen\\\",PC:\\\"PageClose\\\",PV:\\\"PageVisible\\\",PI:\\\"PageInvisible\\\",K:\\\"Keystroke\\\",F:\\\"Format\\\",V:\\\"Validate\\\",C:\\\"Calculate\\\"};t.DocumentActionEventType={WC:\\\"WillClose\\\",WS:\\\"WillSave\\\",DS:\\\"DidSave\\\",WP:\\\"WillPrint\\\",DP:\\\"DidPrint\\\"};t.PageActionEventType={O:\\\"PageOpen\\\",C:\\\"PageClose\\\"};t.StreamType={UNKNOWN:\\\"UNKNOWN\\\",FLATE:\\\"FLATE\\\",LZW:\\\"LZW\\\",DCT:\\\"DCT\\\",JPX:\\\"JPX\\\",JBIG:\\\"JBIG\\\",A85:\\\"A85\\\",AHX:\\\"AHX\\\",CCF:\\\"CCF\\\",RLX:\\\"RLX\\\"};t.FontType={UNKNOWN:\\\"UNKNOWN\\\",TYPE1:\\\"TYPE1\\\",TYPE1STANDARD:\\\"TYPE1STANDARD\\\",TYPE1C:\\\"TYPE1C\\\",CIDFONTTYPE0:\\\"CIDFONTTYPE0\\\",CIDFONTTYPE0C:\\\"CIDFONTTYPE0C\\\",TRUETYPE:\\\"TRUETYPE\\\",CIDFONTTYPE2:\\\"CIDFONTTYPE2\\\",TYPE3:\\\"TYPE3\\\",OPENTYPE:\\\"OPENTYPE\\\",TYPE0:\\\"TYPE0\\\",MMTYPE1:\\\"MMTYPE1\\\"};const r={ERRORS:0,WARNINGS:1,INFOS:5};t.VerbosityLevel=r;t.CMapCompressionType={NONE:0,BINARY:1,STREAM:2};t.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};t.UNSUPPORTED_FEATURES={unknown:\\\"unknown\\\",forms:\\\"forms\\\",javaScript:\\\"javaScript\\\",signatures:\\\"signatures\\\",smask:\\\"smask\\\",shadingPattern:\\\"shadingPattern\\\",font:\\\"font\\\",errorTilingPattern:\\\"errorTilingPattern\\\",errorExtGState:\\\"errorExtGState\\\",errorXObject:\\\"errorXObject\\\",errorFontLoadType3:\\\"errorFontLoadType3\\\",errorFontState:\\\"errorFontState\\\",errorFontMissing:\\\"errorFontMissing\\\",errorFontTranslate:\\\"errorFontTranslate\\\",errorColorSpace:\\\"errorColorSpace\\\",errorOperatorList:\\\"errorOperatorList\\\",errorFontToUnicode:\\\"errorFontToUnicode\\\",errorFontLoadNative:\\\"errorFontLoadNative\\\",errorFontBuildPath:\\\"errorFontBuildPath\\\",errorFontGetPath:\\\"errorFontGetPath\\\",errorMarkedContent:\\\"errorMarkedContent\\\",errorContentSubStream:\\\"errorContentSubStream\\\"};t.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let n=r.WARNINGS;function warn(e){n>=r.WARNINGS&&console.log(`Warning: ${e}`)}function unreachable(e){throw new Error(e)}function shadow(e,t,a){Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!1});return a}const i=function BaseExceptionClosure(){function BaseException(e,t){this.constructor===BaseException&&unreachable(\\\"Cannot initialize BaseException.\\\");this.message=e;this.name=t}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();t.BaseException=i;t.PasswordException=class PasswordException extends i{constructor(e,t){super(e,\\\"PasswordException\\\");this.code=t}};t.UnknownErrorException=class UnknownErrorException extends i{constructor(e,t){super(e,\\\"UnknownErrorException\\\");this.details=t}};t.InvalidPDFException=class InvalidPDFException extends i{constructor(e){super(e,\\\"InvalidPDFException\\\")}};t.MissingPDFException=class MissingPDFException extends i{constructor(e){super(e,\\\"MissingPDFException\\\")}};t.UnexpectedResponseException=class UnexpectedResponseException extends i{constructor(e,t){super(e,\\\"UnexpectedResponseException\\\");this.status=t}};t.FormatError=class FormatError extends i{constructor(e){super(e,\\\"FormatError\\\")}};t.AbortException=class AbortException extends i{constructor(e){super(e,\\\"AbortException\\\")}};function stringToBytes(e){\\\"string\\\"!=typeof e&&unreachable(\\\"Invalid argument for stringToBytes\\\");const t=e.length,a=new Uint8Array(t);for(let r=0;re.toString(16).padStart(2,\\\"0\\\")));class Util{static makeHexColor(e,t,a){return`#${s[e]}${s[t]}${s[a]}`}static scaleMinMax(e,t){let a;if(e[0]){if(e[0]<0){a=t[0];t[0]=t[1];t[1]=a}t[0]*=e[0];t[1]*=e[0];if(e[3]<0){a=t[2];t[2]=t[3];t[3]=a}t[2]*=e[3];t[3]*=e[3]}else{a=t[0];t[0]=t[2];t[2]=a;a=t[1];t[1]=t[3];t[3]=a;if(e[1]<0){a=t[2];t[2]=t[3];t[3]=a}t[2]*=e[1];t[3]*=e[1];if(e[2]<0){a=t[0];t[0]=t[1];t[1]=a}t[0]*=e[2];t[1]*=e[2]}t[0]+=e[4];t[1]+=e[4];t[2]+=e[5];t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){return[e[0]*t[0]+e[1]*t[2]+t[4],e[0]*t[1]+e[1]*t[3]+t[5]]}static applyInverseTransform(e,t){const a=t[0]*t[3]-t[1]*t[2];return[(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/a,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/a]}static getAxialAlignedBoundingBox(e,t){const a=Util.applyTransform(e,t),r=Util.applyTransform(e.slice(2,4),t),n=Util.applyTransform([e[0],e[3]],t),i=Util.applyTransform([e[2],e[1]],t);return[Math.min(a[0],r[0],n[0],i[0]),Math.min(a[1],r[1],n[1],i[1]),Math.max(a[0],r[0],n[0],i[0]),Math.max(a[1],r[1],n[1],i[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static apply3dTransform(e,t){return[e[0]*t[0]+e[1]*t[1]+e[2]*t[2],e[3]*t[0]+e[4]*t[1]+e[5]*t[2],e[6]*t[0]+e[7]*t[1]+e[8]*t[2]]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],a=e[0]*t[0]+e[1]*t[2],r=e[0]*t[1]+e[1]*t[3],n=e[2]*t[0]+e[3]*t[2],i=e[2]*t[1]+e[3]*t[3],s=(a+i)/2,o=Math.sqrt((a+i)**2-4*(a*i-n*r))/2,c=s+o||1,l=s-o||1;return[Math.sqrt(c),Math.sqrt(l)]}static normalizeRect(e){const t=e.slice(0);if(e[0]>e[2]){t[0]=e[2];t[2]=e[0]}if(e[1]>e[3]){t[1]=e[3];t[3]=e[1]}return t}static intersect(e,t){const a=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),r=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(a>r)return null;const n=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),i=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return n>i?null:[a,n,r,i]}static bezierBoundingBox(e,t,a,r,n,i,s,o){const c=[],l=[[],[]];let h,u,d,f,g,p,m,b;for(let l=0;l<2;++l){if(0===l){u=6*e-12*a+6*n;h=-3*e+9*a-9*n+3*s;d=3*a-3*e}else{u=6*t-12*r+6*i;h=-3*t+9*r-9*i+3*o;d=3*r-3*t}if(Math.abs(h)<1e-12){if(Math.abs(u)<1e-12)continue;f=-d/u;0{a(4)},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.isNodeJS=void 0;const a=!(\\\"object\\\"!=typeof process||process+\\\"\\\"!=\\\"[object process]\\\"||process.versions.nw||process.versions.electron&&process.type&&\\\"browser\\\"!==process.type);t.isNodeJS=a},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.RefSetCache=t.RefSet=t.Ref=t.Name=t.EOF=t.Dict=t.Cmd=t.CIRCULAR_REF=void 0;t.clearPrimitiveCaches=function clearPrimitiveCaches(){o._clearCache();s._clearCache();l._clearCache()};t.isCmd=function isCmd(e,t){return e instanceof o&&(void 0===t||e.cmd===t)};t.isDict=function isDict(e,t){return e instanceof Dict&&(void 0===t||isName(e.get(\\\"Type\\\"),t))};t.isName=isName;t.isRefsEqual=function isRefsEqual(e,t){return e.num===t.num&&e.gen===t.gen};var r=a(2);const n=Symbol(\\\"CIRCULAR_REF\\\");t.CIRCULAR_REF=n;const i=Symbol(\\\"EOF\\\");t.EOF=i;const s=function NameClosure(){let e=Object.create(null);class Name{constructor(e){this.name=e}static get(t){const a=e[t];return a||(e[t]=new Name(t))}static _clearCache(){e=Object.create(null)}}return Name}();t.Name=s;const o=function CmdClosure(){let e=Object.create(null);class Cmd{constructor(e){this.cmd=e}static get(t){const a=e[t];return a||(e[t]=new Cmd(t))}static _clearCache(){e=Object.create(null)}}return Cmd}();t.Cmd=o;const c=function nonSerializableClosure(){return c};class Dict{constructor(e=null){this._map=Object.create(null);this.xref=e;this.objId=null;this.suppressEncryption=!1;this.__nonSerializable__=c}assignXref(e){this.xref=e}get size(){return Object.keys(this._map).length}get(e,t,a){let r=this._map[e];if(void 0===r&&void 0!==t){r=this._map[t];void 0===r&&void 0!==a&&(r=this._map[a])}return r instanceof l&&this.xref?this.xref.fetch(r,this.suppressEncryption):r}async getAsync(e,t,a){let r=this._map[e];if(void 0===r&&void 0!==t){r=this._map[t];void 0===r&&void 0!==a&&(r=this._map[a])}return r instanceof l&&this.xref?this.xref.fetchAsync(r,this.suppressEncryption):r}getArray(e,t,a){let r=this._map[e];if(void 0===r&&void 0!==t){r=this._map[t];void 0===r&&void 0!==a&&(r=this._map[a])}r instanceof l&&this.xref&&(r=this.xref.fetch(r,this.suppressEncryption));if(Array.isArray(r)){r=r.slice();for(let e=0,t=r.length;e{(0,r.unreachable)(\\\"Should not call `set` on the empty dictionary.\\\")};return(0,r.shadow)(this,\\\"empty\\\",e)}static merge({xref:e,dictArray:t,mergeSubDicts:a=!1}){const r=new Dict(e),n=new Map;for(const e of t)if(e instanceof Dict)for(const[t,r]of Object.entries(e._map)){let e=n.get(t);if(void 0===e){e=[];n.set(t,e)}else if(!(a&&r instanceof Dict))continue;e.push(r)}for(const[t,a]of n){if(1===a.length||!(a[0]instanceof Dict)){r._map[t]=a[0];continue}const n=new Dict(e);for(const e of a)for(const[t,a]of Object.entries(e._map))void 0===n._map[t]&&(n._map[t]=a);n.size>0&&(r._map[t]=n)}n.clear();return r.size>0?r:Dict.empty}}t.Dict=Dict;const l=function RefClosure(){let e=Object.create(null);class Ref{constructor(e,t){this.num=e;this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static get(t,a){const r=0===a?`${t}R`:`${t}R${a}`,n=e[r];return n||(e[r]=new Ref(t,a))}static _clearCache(){e=Object.create(null)}}return Ref}();t.Ref=l;class RefSet{constructor(e=null){this._set=new Set(e&&e._set)}has(e){return this._set.has(e.toString())}put(e){this._set.add(e.toString())}remove(e){this._set.delete(e.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}t.RefSet=RefSet;class RefSetCache{constructor(){this._map=new Map}get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}}t.RefSetCache=RefSetCache;function isName(e,t){return e instanceof s&&(void 0===t||e.name===t)}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.NetworkPdfManager=t.LocalPdfManager=void 0;var r=a(2),n=a(7),i=a(8),s=a(11),o=a(10);function parseDocBaseUrl(e){if(e){const t=(0,r.createValidAbsoluteUrl)(e);if(t)return t.href;(0,r.warn)(`Invalid absolute docBaseUrl: \\\"${e}\\\".`)}return null}class BasePdfManager{constructor(){this.constructor===BasePdfManager&&(0,r.unreachable)(\\\"Cannot initialize BasePdfManager.\\\")}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){const e=this.pdfDocument.catalog;return(0,r.shadow)(this,\\\"docBaseUrl\\\",e.baseUrl||this._docBaseUrl)}onLoadedStream(){(0,r.unreachable)(\\\"Abstract method `onLoadedStream` called\\\")}ensureDoc(e,t){return this.ensure(this.pdfDocument,e,t)}ensureXRef(e,t){return this.ensure(this.pdfDocument.xref,e,t)}ensureCatalog(e,t){return this.ensure(this.pdfDocument.catalog,e,t)}getPage(e){return this.pdfDocument.getPage(e)}fontFallback(e,t){return this.pdfDocument.fontFallback(e,t)}loadXfaFonts(e,t){return this.pdfDocument.loadXfaFonts(e,t)}loadXfaImages(){return this.pdfDocument.loadXfaImages()}serializeXfaData(e){return this.pdfDocument.serializeXfaData(e)}cleanup(e=!1){return this.pdfDocument.cleanup(e)}async ensure(e,t,a){(0,r.unreachable)(\\\"Abstract method `ensure` called\\\")}requestRange(e,t){(0,r.unreachable)(\\\"Abstract method `requestRange` called\\\")}requestLoadedStream(){(0,r.unreachable)(\\\"Abstract method `requestLoadedStream` called\\\")}sendProgressiveData(e){(0,r.unreachable)(\\\"Abstract method `sendProgressiveData` called\\\")}updatePassword(e){this._password=e}terminate(e){(0,r.unreachable)(\\\"Abstract method `terminate` called\\\")}}t.LocalPdfManager=class LocalPdfManager extends BasePdfManager{constructor(e,t,a,r,n,i,c){super();this._docId=e;this._password=a;this._docBaseUrl=parseDocBaseUrl(c);this.msgHandler=r;this.evaluatorOptions=n;this.enableXfa=i;const l=new o.Stream(t);this.pdfDocument=new s.PDFDocument(this,l);this._loadedStreamPromise=Promise.resolve(l)}async ensure(e,t,a){const r=e[t];return\\\"function\\\"==typeof r?r.apply(e,a):r}requestRange(e,t){return Promise.resolve()}requestLoadedStream(){}onLoadedStream(){return this._loadedStreamPromise}terminate(e){}};t.NetworkPdfManager=class NetworkPdfManager extends BasePdfManager{constructor(e,t,a,r,i,o){super();this._docId=e;this._password=a.password;this._docBaseUrl=parseDocBaseUrl(o);this.msgHandler=a.msgHandler;this.evaluatorOptions=r;this.enableXfa=i;this.streamManager=new n.ChunkedStreamManager(t,{msgHandler:a.msgHandler,length:a.length,disableAutoFetch:a.disableAutoFetch,rangeChunkSize:a.rangeChunkSize});this.pdfDocument=new s.PDFDocument(this,this.streamManager.getStream())}async ensure(e,t,a){try{const r=e[t];return\\\"function\\\"==typeof r?r.apply(e,a):r}catch(r){if(!(r instanceof i.MissingDataException))throw r;await this.requestRange(r.begin,r.end);return this.ensure(e,t,a)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(){this.streamManager.requestAllChunks()}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}onLoadedStream(){return this.streamManager.onLoadedStream()}terminate(e){this.streamManager.abort(e)}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ChunkedStreamManager=t.ChunkedStream=void 0;var r=a(2),n=a(8),i=a(10);class ChunkedStream extends i.Stream{constructor(e,t,a){super(new Uint8Array(e),0,e,null);this.chunkSize=t;this._loadedChunks=new Set;this.numChunks=Math.ceil(e/t);this.manager=a;this.progressiveDataLength=0;this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const e=[];for(let t=0,a=this.numChunks;t=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=a;ethis.numChunks)&&t!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t))throw new n.MissingDataException(e,e+1);this.lastSuccessfulEnsureByteChunk=t}}ensureRange(e,t){if(e>=t)return;if(t<=this.progressiveDataLength)return;const a=Math.floor(e/this.chunkSize);if(a>this.numChunks)return;const r=Math.min(Math.floor((t-1)/this.chunkSize)+1,this.numChunks);for(let i=a;i=this.end)return-1;e>=this.progressiveDataLength&&this.ensureByte(e);return this.bytes[this.pos++]}getBytes(e){const t=this.bytes,a=this.pos,r=this.end;if(!e){r>this.progressiveDataLength&&this.ensureRange(a,r);return t.subarray(a,r)}let n=a+e;n>r&&(n=r);n>this.progressiveDataLength&&this.ensureRange(a,n);this.pos=n;return t.subarray(a,n)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);t>this.progressiveDataLength&&this.ensureRange(e,t);return this.bytes.subarray(e,t)}makeSubStream(e,t,a=null){t?e+t>this.progressiveDataLength&&this.ensureRange(e,e+t):e>=this.progressiveDataLength&&this.ensureByte(e);function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this);ChunkedStreamSubstream.prototype.getMissingChunks=function(){const e=this.chunkSize,t=Math.floor(this.start/e),a=Math.floor((this.end-1)/e)+1,r=[];for(let e=t;e{const readChunk=s=>{try{if(!s.done){const e=s.value;n.push(e);i+=(0,r.arrayByteLength)(e);a.isStreamingSupported&&this.onProgress({loaded:i});a.read().then(readChunk,t);return}const o=(0,r.arraysToBytes)(n);n=null;e(o)}catch(e){t(e)}};a.read().then(readChunk,t)})).then((t=>{this.aborted||this.onReceiveData({chunk:t,begin:e})}))}requestAllChunks(){const e=this.stream.getMissingChunks();this._requestChunks(e);return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,a=new Set;this._chunksNeededByRequest.set(t,a);for(const t of e)this.stream.hasChunk(t)||a.add(t);if(0===a.size)return Promise.resolve();const n=(0,r.createPromiseCapability)();this._promisesByRequest.set(t,n);const i=[];for(const e of a){let a=this._requestsByChunk.get(e);if(!a){a=[];this._requestsByChunk.set(e,a);i.push(e)}a.push(t)}if(i.length>0){const e=this.groupChunks(i);for(const t of e){const e=t.beginChunk*this.chunkSize,a=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,a).catch(n.reject)}}return n.promise.catch((e=>{if(!this.aborted)throw e}))}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const a=this.getBeginChunk(e),r=this.getEndChunk(t),n=[];for(let e=a;e=0&&r+1!==i){t.push({beginChunk:a,endChunk:r+1});a=i}n+1===e.length&&t.push({beginChunk:a,endChunk:i+1});r=i}return t}onProgress(e){this.msgHandler.send(\\\"DocProgress\\\",{loaded:this.stream.numChunksLoaded*this.chunkSize+e.loaded,total:this.length})}onReceiveData(e){const t=e.chunk,a=void 0===e.begin,r=a?this.progressiveDataLength:e.begin,n=r+t.byteLength,i=Math.floor(r/this.chunkSize),s=n0||o.push(a)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let e;if(1===this.stream.numChunksLoaded){const t=this.stream.numChunks-1;this.stream.hasChunk(t)||(e=t)}else e=this.stream.nextEmptyChunk(s);Number.isInteger(e)&&this._requestChunks([e])}for(const e of o){const t=this._promisesByRequest.get(e);this._promisesByRequest.delete(e);t.resolve()}this.msgHandler.send(\\\"DocProgress\\\",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(e){this._loadedStreamCapability.reject(e)}getBeginChunk(e){return Math.floor(e/this.chunkSize)}getEndChunk(e){return Math.floor((e-1)/this.chunkSize)+1}abort(e){this.aborted=!0;this.pdfNetworkStream&&this.pdfNetworkStream.cancelAllRequests(e);for(const t of this._promisesByRequest.values())t.reject(e)}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XRefParseException=t.XRefEntryException=t.ParserEOFException=t.MissingDataException=t.DocStats=void 0;t.collectActions=function collectActions(e,t,a){const i=Object.create(null),s=getInheritableProperty({dict:t,key:\\\"AA\\\",stopWhenFound:!1});if(s)for(let t=s.length-1;t>=0;t--){const r=s[t];if(r instanceof n.Dict)for(const t of r.getKeys()){const s=a[t];if(!s)continue;const o=r.getRaw(t),c=new n.RefSet,l=[];_collectJS(o,e,l,c);l.length>0&&(i[s]=l)}}if(t.has(\\\"A\\\")){const a=t.get(\\\"A\\\"),r=new n.RefSet,s=[];_collectJS(a,e,s,r);s.length>0&&(i.Action=s)}return(0,r.objectSize)(i)>0?i:null};t.encodeToXmlString=function encodeToXmlString(e){const t=[];let a=0;for(let r=0,n=e.length;r55295&&(n<57344||n>65533)&&r++;a=r+1}}if(0===t.length)return e;a126||35===n||40===n||41===n||60===n||62===n||91===n||93===n||123===n||125===n||47===n||37===n){a{const a=e.match(t);return a?{name:a[1],pos:parseInt(a[2],10)}:{name:e,pos:0}}))};t.readInt8=function readInt8(e,t){return e[t]<<24>>24};t.readUint16=function readUint16(e,t){return e[t]<<8|e[t+1]};t.readUint32=function readUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0};t.recoverJsURL=function recoverJsURL(e){const t=new RegExp(\\\"^\\\\\\\\s*(\\\"+[\\\"app.launchURL\\\",\\\"window.open\\\",\\\"xfa.host.gotoURL\\\"].join(\\\"|\\\").split(\\\".\\\").join(\\\"\\\\\\\\.\\\")+\\\")\\\\\\\\((?:'|\\\\\\\")([^'\\\\\\\"]*)(?:'|\\\\\\\")(?:,\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\)|\\\\\\\\))\\\",\\\"i\\\").exec(e);if(t&&t[2]){const e=t[2];let a=!1;\\\"true\\\"===t[3]&&\\\"app.launchURL\\\"===t[1]&&(a=!0);return{url:e,newWindow:a}}return null};t.toRomanNumerals=function toRomanNumerals(e,t=!1){(0,r.assert)(Number.isInteger(e)&&e>0,\\\"The number should be a positive integer.\\\");const a=[];let n;for(;e>=1e3;){e-=1e3;a.push(\\\"M\\\")}n=e/100|0;e%=100;a.push(s[n]);n=e/10|0;e%=10;a.push(s[10+n]);a.push(s[20+e]);const i=a.join(\\\"\\\");return t?i.toLowerCase():i};t.validateCSSFont=function validateCSSFont(e){const t=new Set([\\\"100\\\",\\\"200\\\",\\\"300\\\",\\\"400\\\",\\\"500\\\",\\\"600\\\",\\\"700\\\",\\\"800\\\",\\\"900\\\",\\\"1000\\\",\\\"normal\\\",\\\"bold\\\",\\\"bolder\\\",\\\"lighter\\\"]),{fontFamily:a,fontWeight:n,italicAngle:i}=e;if(/^\\\".*\\\"$/.test(a)){if(/[^\\\\\\\\]\\\"/.test(a.slice(1,a.length-1))){(0,r.warn)(`XFA - FontFamily contains some unescaped \\\": ${a}.`);return!1}}else if(/^'.*'$/.test(a)){if(/[^\\\\\\\\]'/.test(a.slice(1,a.length-1))){(0,r.warn)(`XFA - FontFamily contains some unescaped ': ${a}.`);return!1}}else for(const e of a.split(/[ \\\\t]+/))if(/^(\\\\d|(-(\\\\d|-)))/.test(e)||!/^[\\\\w-\\\\\\\\]+$/.test(e)){(0,r.warn)(`XFA - FontFamily contains some invalid : ${a}.`);return!1}const s=n?n.toString():\\\"\\\";e.fontWeight=t.has(s)?s:\\\"400\\\";const o=parseFloat(i);e.italicAngle=isNaN(o)||o<-90||o>90?\\\"14\\\":i.toString();return!0};var r=a(2),n=a(5),i=a(9);class MissingDataException extends r.BaseException{constructor(e,t){super(`Missing data [${e}, ${t})`,\\\"MissingDataException\\\");this.begin=e;this.end=t}}t.MissingDataException=MissingDataException;class ParserEOFException extends r.BaseException{constructor(e){super(e,\\\"ParserEOFException\\\")}}t.ParserEOFException=ParserEOFException;class XRefEntryException extends r.BaseException{constructor(e){super(e,\\\"XRefEntryException\\\")}}t.XRefEntryException=XRefEntryException;class XRefParseException extends r.BaseException{constructor(e){super(e,\\\"XRefParseException\\\")}}t.XRefParseException=XRefParseException;t.DocStats=class DocStats{constructor(e){this._handler=e;this._streamTypes=new Set;this._fontTypes=new Set}_send(){const e=Object.create(null),t=Object.create(null);for(const t of this._streamTypes)e[t]=!0;for(const e of this._fontTypes)t[e]=!0;this._handler.send(\\\"DocStats\\\",{streamTypes:e,fontTypes:t})}addStreamType(e){if(!this._streamTypes.has(e)){this._streamTypes.add(e);this._send()}}addFontType(e){if(!this._fontTypes.has(e)){this._fontTypes.add(e);this._send()}}};function getInheritableProperty({dict:e,key:t,getArray:a=!1,stopWhenFound:r=!0}){let i;const s=new n.RefSet;for(;e instanceof n.Dict&&(!e.objId||!s.has(e.objId));){e.objId&&s.put(e.objId);const n=a?e.getArray(t):e.get(t);if(void 0!==n){if(r)return n;i||(i=[]);i.push(n)}e=e.get(\\\"Parent\\\")}return i}const s=[\\\"\\\",\\\"C\\\",\\\"CC\\\",\\\"CCC\\\",\\\"CD\\\",\\\"D\\\",\\\"DC\\\",\\\"DCC\\\",\\\"DCCC\\\",\\\"CM\\\",\\\"\\\",\\\"X\\\",\\\"XX\\\",\\\"XXX\\\",\\\"XL\\\",\\\"L\\\",\\\"LX\\\",\\\"LXX\\\",\\\"LXXX\\\",\\\"XC\\\",\\\"\\\",\\\"I\\\",\\\"II\\\",\\\"III\\\",\\\"IV\\\",\\\"V\\\",\\\"VI\\\",\\\"VII\\\",\\\"VIII\\\",\\\"IX\\\"];function _collectJS(e,t,a,s){if(!e)return;let o=null;if(e instanceof n.Ref){if(s.has(e))return;o=e;s.put(o);e=t.fetch(e)}if(Array.isArray(e))for(const r of e)_collectJS(r,t,a,s);else if(e instanceof n.Dict){if((0,n.isName)(e.get(\\\"S\\\"),\\\"JavaScript\\\")){const t=e.get(\\\"JS\\\");let n;t instanceof i.BaseStream?n=t.getString():\\\"string\\\"==typeof t&&(n=t);n=n&&(0,r.stringToPDFString)(n);n&&a.push(n)}_collectJS(e.getRaw(\\\"Next\\\"),t,a,s)}o&&s.remove(o)}const o={60:\\\"<\\\",62:\\\">\\\",38:\\\"&\\\",34:\\\""\\\",39:\\\"'\\\"}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.BaseStream=void 0;var r=a(2);class BaseStream{constructor(){this.constructor===BaseStream&&(0,r.unreachable)(\\\"Cannot initialize BaseStream.\\\")}get length(){(0,r.unreachable)(\\\"Abstract getter `length` accessed\\\")}get isEmpty(){(0,r.unreachable)(\\\"Abstract getter `isEmpty` accessed\\\")}get isDataLoaded(){return(0,r.shadow)(this,\\\"isDataLoaded\\\",!0)}getByte(){(0,r.unreachable)(\\\"Abstract method `getByte` called\\\")}getBytes(e){(0,r.unreachable)(\\\"Abstract method `getBytes` called\\\")}peekByte(){const e=this.getByte();-1!==e&&this.pos--;return e}peekBytes(e){const t=this.getBytes(e);this.pos-=t.length;return t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){(0,r.unreachable)(\\\"Abstract method `getByteRange` called\\\")}getString(e){return(0,r.bytesToString)(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){(0,r.unreachable)(\\\"Abstract method `reset` called\\\")}moveStart(){(0,r.unreachable)(\\\"Abstract method `moveStart` called\\\")}makeSubStream(e,t,a=null){(0,r.unreachable)(\\\"Abstract method `makeSubStream` called\\\")}getBaseStreams(){return null}}t.BaseStream=BaseStream},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.StringStream=t.Stream=t.NullStream=void 0;var r=a(9),n=a(2);class Stream extends r.BaseStream{constructor(e,t,a,r){super();this.bytes=e instanceof Uint8Array?e:new Uint8Array(e);this.start=t||0;this.pos=this.start;this.end=t+a||this.bytes.length;this.dict=r}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,a=this.pos,r=this.end;if(!e)return t.subarray(a,r);let n=a+e;n>r&&(n=r);this.pos=n;return t.subarray(a,n)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);return this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t,a=null){return new Stream(this.bytes.buffer,e,t,a)}}t.Stream=Stream;t.StringStream=class StringStream extends Stream{constructor(e){super((0,n.stringToBytes)(e))}};t.NullStream=class NullStream extends Stream{constructor(){super(new Uint8Array(0))}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Page=t.PDFDocument=void 0;var r=a(2),n=a(8),i=a(5),s=a(12),o=a(22),c=a(9),l=a(74),h=a(65),u=a(67),d=a(100),f=a(27),g=a(10),p=a(72),m=a(62),b=a(25),y=a(29),w=a(71),S=a(76),x=a(101);const k=[0,0,612,792];class Page{constructor({pdfManager:e,xref:t,pageIndex:a,pageDict:r,ref:n,globalIdFactory:i,fontCache:s,builtInCMapCache:o,standardFontDataCache:c,globalImageCache:l,nonBlendModesSet:h,xfaFactory:u}){this.pdfManager=e;this.pageIndex=a;this.pageDict=r;this.xref=t;this.ref=n;this.fontCache=s;this.builtInCMapCache=o;this.standardFontDataCache=c;this.globalImageCache=l;this.nonBlendModesSet=h;this.evaluatorOptions=e.evaluatorOptions;this.resourcesPromise=null;this.xfaFactory=u;const d={obj:0};this._localIdFactory=class extends i{static createObjId(){return`p${a}_${++d.obj}`}static getPageObjId(){return`page${n.toString()}`}}}_getInheritableProperty(e,t=!1){const a=(0,n.getInheritableProperty)({dict:this.pageDict,key:e,getArray:t,stopWhenFound:!1});return Array.isArray(a)?1!==a.length&&a[0]instanceof i.Dict?i.Dict.merge({xref:this.xref,dictArray:a}):a[0]:a}get content(){return this.pageDict.getArray(\\\"Contents\\\")}get resources(){return(0,r.shadow)(this,\\\"resources\\\",this._getInheritableProperty(\\\"Resources\\\")||i.Dict.empty)}_getBoundingBox(e){if(this.xfaData)return this.xfaData.bbox;const t=this._getInheritableProperty(e,!0);if(Array.isArray(t)&&4===t.length){if(t[2]-t[0]!=0&&t[3]-t[1]!=0)return t;(0,r.warn)(`Empty /${e} entry.`)}return null}get mediaBox(){return(0,r.shadow)(this,\\\"mediaBox\\\",this._getBoundingBox(\\\"MediaBox\\\")||k)}get cropBox(){return(0,r.shadow)(this,\\\"cropBox\\\",this._getBoundingBox(\\\"CropBox\\\")||this.mediaBox)}get userUnit(){let e=this.pageDict.get(\\\"UserUnit\\\");(\\\"number\\\"!=typeof e||e<=0)&&(e=1);return(0,r.shadow)(this,\\\"userUnit\\\",e)}get view(){const{cropBox:e,mediaBox:t}=this;let a;if(e===t||(0,r.isArrayEqual)(e,t))a=t;else{const n=r.Util.intersect(e,t);n&&n[2]-n[0]!=0&&n[3]-n[1]!=0?a=n:(0,r.warn)(\\\"Empty /CropBox and /MediaBox intersection.\\\")}return(0,r.shadow)(this,\\\"view\\\",a||t)}get rotate(){let e=this._getInheritableProperty(\\\"Rotate\\\")||0;e%90!=0?e=0:e>=360?e%=360:e<0&&(e=(e%360+360)%360);return(0,r.shadow)(this,\\\"rotate\\\",e)}_onSubStreamError(e,t,a){if(!this.evaluatorOptions.ignoreErrors)throw t;e.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorContentSubStream});(0,r.warn)(`getContentStream - ignoring sub-stream (${a}): \\\"${t}\\\".`)}getContentStream(e){return this.pdfManager.ensure(this,\\\"content\\\").then((t=>t instanceof c.BaseStream?t:Array.isArray(t)?new y.StreamsSequenceStream(t,this._onSubStreamError.bind(this,e)):new g.NullStream))}get xfaData(){return(0,r.shadow)(this,\\\"xfaData\\\",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}save(e,t,a){const n=new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,options:this.evaluatorOptions});return this._parsedAnnotations.then((function(e){const i=[];for(const s of e)s.mustBePrinted(a)&&i.push(s.save(n,t,a).catch((function(e){(0,r.warn)(`save - ignoring annotation data during \\\"${t.name}\\\" task: \\\"${e}\\\".`);return null})));return Promise.all(i)}))}loadResources(e){this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,\\\"resources\\\"));return this.resourcesPromise.then((()=>new p.ObjectLoader(this.resources,e,this.xref).load()))}getOperatorList({handler:e,sink:t,task:a,intent:n,cacheKey:i,annotationStorage:s=null}){const o=this.getContentStream(e),c=this.loadResources([\\\"ColorSpace\\\",\\\"ExtGState\\\",\\\"Font\\\",\\\"Pattern\\\",\\\"Properties\\\",\\\"Shading\\\",\\\"XObject\\\"]),l=new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,options:this.evaluatorOptions}),h=Promise.all([o,c]).then((([r])=>{const s=new m.OperatorList(n,t);e.send(\\\"StartRenderPage\\\",{transparency:l.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:i});return l.getOperatorList({stream:r,task:a,resources:this.resources,operatorList:s}).then((function(){return s}))}));return Promise.all([h,this._parsedAnnotations]).then((function([e,t]){if(0===t.length||n&r.RenderingIntentFlag.ANNOTATIONS_DISABLE){e.flush(!0);return{length:e.totalLength}}const i=!!(n&r.RenderingIntentFlag.ANNOTATIONS_FORMS),o=!!(n&r.RenderingIntentFlag.ANY),c=!!(n&r.RenderingIntentFlag.DISPLAY),h=!!(n&r.RenderingIntentFlag.PRINT),u=[];for(const e of t)(o||c&&e.mustBeViewed(s)||h&&e.mustBePrinted(s))&&u.push(e.getOperatorList(l,a,n,i,s).catch((function(e){(0,r.warn)(`getOperatorList - ignoring annotation data during \\\"${a.name}\\\" task: \\\"${e}\\\".`);return null})));return Promise.all(u).then((function(t){e.addOp(r.OPS.beginAnnotations,[]);for(const a of t)e.addOpList(a);e.addOp(r.OPS.endAnnotations,[]);e.flush(!0);return{length:e.totalLength}}))}))}extractTextContent({handler:e,task:t,includeMarkedContent:a,sink:r,combineTextItems:n}){const i=this.getContentStream(e),s=this.loadResources([\\\"ExtGState\\\",\\\"Font\\\",\\\"Properties\\\",\\\"XObject\\\"]);return Promise.all([i,s]).then((([i])=>new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,options:this.evaluatorOptions}).getTextContent({stream:i,task:t,resources:this.resources,includeMarkedContent:a,combineTextItems:n,sink:r,viewBox:this.view})))}async getStructTree(){const e=await this.pdfManager.ensureCatalog(\\\"structTreeRoot\\\");if(!e)return null;return(await this.pdfManager.ensure(this,\\\"_parseStructTree\\\",[e])).serializable}_parseStructTree(e){const t=new w.StructTreePage(e,this.pageDict);t.parse();return t}getAnnotationsData(e){return this._parsedAnnotations.then((function(t){const a=[];if(0===t.length)return a;const n=!!(e&r.RenderingIntentFlag.ANY),i=!!(e&r.RenderingIntentFlag.DISPLAY),s=!!(e&r.RenderingIntentFlag.PRINT);for(const e of t)(n||i&&e.viewable||s&&e.printable)&&a.push(e.data);return a}))}get annotations(){const e=this._getInheritableProperty(\\\"Annots\\\");return(0,r.shadow)(this,\\\"annotations\\\",Array.isArray(e)?e:[])}get _parsedAnnotations(){const e=this.pdfManager.ensure(this,\\\"annotations\\\").then((()=>{const e=[];for(const t of this.annotations)e.push(o.AnnotationFactory.create(this.xref,t,this.pdfManager,this._localIdFactory,!1).catch((function(e){(0,r.warn)(`_parsedAnnotations: \\\"${e}\\\".`);return null})));return Promise.all(e).then((function(e){return e.filter((e=>!!e))}))}));return(0,r.shadow)(this,\\\"_parsedAnnotations\\\",e)}get jsActions(){const e=(0,n.collectActions)(this.xref,this.pageDict,r.PageActionEventType);return(0,r.shadow)(this,\\\"jsActions\\\",e)}}t.Page=Page;const C=new Uint8Array([37,80,68,70,45]),v=new Uint8Array([115,116,97,114,116,120,114,101,102]),F=new Uint8Array([101,110,100,111,98,106]),O=/^[1-9]\\\\.\\\\d$/;function find(e,t,a=1024,r=!1){const n=t.length,i=e.peekBytes(a),s=i.length-n;if(s<=0)return!1;if(r){const a=n-1;let r=i.length-1;for(;r>=a;){let s=0;for(;s=n){e.pos+=r-a;return!0}r--}}else{let a=0;for(;a<=s;){let r=0;for(;r=n){e.pos+=a;return!0}a++}}return!1}t.PDFDocument=class PDFDocument{constructor(e,t){if(t.length<=0)throw new r.InvalidPDFException(\\\"The PDF file is empty, i.e. its size is zero bytes.\\\");this.pdfManager=e;this.stream=t;this.xref=new x.XRef(t,e);this._pagePromises=new Map;this._version=null;const a={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return\\\"f\\\"+ ++a.font}static createObjId(){(0,r.unreachable)(\\\"Abstract method `createObjId` called.\\\")}static getPageObjId(){(0,r.unreachable)(\\\"Abstract method `getPageObjId` called.\\\")}}}parse(e){this.xref.parse(e);this.catalog=new h.Catalog(this.pdfManager,this.xref);this.catalog.version&&(this._version=this.catalog.version)}get linearization(){let e=null;try{e=f.Linearization.create(this.stream)}catch(e){if(e instanceof n.MissingDataException)throw e;(0,r.info)(e)}return(0,r.shadow)(this,\\\"linearization\\\",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){e.reset();find(e,F)&&(t=e.pos+6-e.start)}else{const a=1024,r=v.length;let i=!1,s=e.end;for(;!i&&s>0;){s-=a-r;s<0&&(s=0);e.pos=s;i=find(e,v,a,!0)}if(i){e.skip(9);let a;do{a=e.getByte()}while((0,n.isWhiteSpace)(a));let r=\\\"\\\";for(;a>=32&&a<=57;){r+=String.fromCharCode(a);a=e.getByte()}t=parseInt(r,10);isNaN(t)&&(t=0)}}return(0,r.shadow)(this,\\\"startXRef\\\",t)}checkHeader(){const e=this.stream;e.reset();if(!find(e,C))return;e.moveStart();let t,a=\\\"\\\";for(;(t=e.getByte())>32&&!(a.length>=12);)a+=String.fromCharCode(t);this._version||(this._version=a.substring(5))}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e=0;e=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages;return(0,r.shadow)(this,\\\"numPages\\\",e)}_hasOnlyDocumentSignatures(e,t=0){return!!Array.isArray(e)&&e.every((e=>{if(!((e=this.xref.fetchIfRef(e))instanceof i.Dict))return!1;if(e.has(\\\"Kids\\\")){if(++t>10){(0,r.warn)(\\\"_hasOnlyDocumentSignatures: maximum recursion depth reached\\\");return!1}return this._hasOnlyDocumentSignatures(e.get(\\\"Kids\\\"),t)}const a=(0,i.isName)(e.get(\\\"FT\\\"),\\\"Sig\\\"),n=e.get(\\\"Rect\\\"),s=Array.isArray(n)&&n.every((e=>0===e));return a&&s}))}get _xfaStreams(){const e=this.catalog.acroForm;if(!e)return null;const t=e.get(\\\"XFA\\\"),a={\\\"xdp:xdp\\\":\\\"\\\",template:\\\"\\\",datasets:\\\"\\\",config:\\\"\\\",connectionSet:\\\"\\\",localeSet:\\\"\\\",stylesheet:\\\"\\\",\\\"/xdp:xdp\\\":\\\"\\\"};if(t instanceof c.BaseStream&&!t.isEmpty){a[\\\"xdp:xdp\\\"]=t;return a}if(!Array.isArray(t)||0===t.length)return null;for(let e=0,r=t.length;e{y.set(e,t)}));const w=[];for(const[e,a]of y){const s=a.get(\\\"FontDescriptor\\\");if(!(s instanceof i.Dict))continue;let c=s.get(\\\"FontFamily\\\");c=c.replace(/[ ]+(\\\\d)/g,\\\"$1\\\");const l={fontFamily:c,fontWeight:s.get(\\\"FontWeight\\\"),italicAngle:-s.get(\\\"ItalicAngle\\\")};(0,n.validateCSSFont)(l)&&w.push(u.handleSetFont(o,[i.Name.get(e),1],null,d,t,g,null,l).catch((function(e){(0,r.warn)(`loadXfaFonts: \\\"${e}\\\".`);return null})))}await Promise.all(w);const S=this.xfaFactory.setFonts(f);if(!S)return;h.ignoreErrors=!0;w.length=0;f.length=0;const x=new Set;for(const e of S)(0,s.getXfaFontName)(`${e}-Regular`)||x.add(e);x.size&&S.push(\\\"PdfJS-Fallback\\\");for(const e of S)if(!x.has(e))for(const a of[{name:\\\"Regular\\\",fontWeight:400,italicAngle:0},{name:\\\"Bold\\\",fontWeight:700,italicAngle:0},{name:\\\"Italic\\\",fontWeight:400,italicAngle:12},{name:\\\"BoldItalic\\\",fontWeight:700,italicAngle:12}]){const n=`${e}-${a.name}`,c=(0,s.getXfaFontDict)(n);w.push(u.handleSetFont(o,[i.Name.get(n),1],null,d,t,g,c,{fontFamily:e,fontWeight:a.fontWeight,italicAngle:a.italicAngle}).catch((function(e){(0,r.warn)(`loadXfaFonts: \\\"${e}\\\".`);return null})))}await Promise.all(w);this.xfaFactory.appendFonts(f,x)}async serializeXfaData(e){return this.xfaFactory?this.xfaFactory.serializeData(e):null}get formInfo(){const e={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},t=this.catalog.acroForm;if(!t)return(0,r.shadow)(this,\\\"formInfo\\\",e);try{const a=t.get(\\\"Fields\\\"),r=Array.isArray(a)&&a.length>0;e.hasFields=r;const n=t.get(\\\"XFA\\\");e.hasXfa=Array.isArray(n)&&n.length>0||n instanceof c.BaseStream&&!n.isEmpty;const i=!!(1&t.get(\\\"SigFlags\\\")),s=i&&this._hasOnlyDocumentSignatures(a);e.hasAcroForm=r&&!s;e.hasSignatures=i}catch(e){if(e instanceof n.MissingDataException)throw e;(0,r.warn)(`Cannot fetch form information: \\\"${e}\\\".`)}return(0,r.shadow)(this,\\\"formInfo\\\",e)}get documentInfo(){let e=this._version;if(\\\"string\\\"!=typeof e||!O.test(e)){(0,r.warn)(`Invalid PDF header version number: ${e}`);e=null}const t={PDFFormatVersion:e,Language:this.catalog.lang,EncryptFilterName:this.xref.encrypt?this.xref.encrypt.filterName:null,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let a;try{a=this.xref.trailer.get(\\\"Info\\\")}catch(e){if(e instanceof n.MissingDataException)throw e;(0,r.info)(\\\"The document information dictionary is invalid.\\\")}if(!(a instanceof i.Dict))return(0,r.shadow)(this,\\\"documentInfo\\\",t);for(const e of a.getKeys()){const n=a.get(e);switch(e){case\\\"Title\\\":case\\\"Author\\\":case\\\"Subject\\\":case\\\"Keywords\\\":case\\\"Creator\\\":case\\\"Producer\\\":case\\\"CreationDate\\\":case\\\"ModDate\\\":if(\\\"string\\\"==typeof n){t[e]=(0,r.stringToPDFString)(n);continue}break;case\\\"Trapped\\\":if(n instanceof i.Name){t[e]=n;continue}break;default:let a;switch(typeof n){case\\\"string\\\":a=(0,r.stringToPDFString)(n);break;case\\\"number\\\":case\\\"boolean\\\":a=n;break;default:n instanceof i.Name&&(a=n)}if(void 0===a){(0,r.warn)(`Bad value, for custom key \\\"${e}\\\", in Info: ${n}.`);continue}t.Custom||(t.Custom=Object.create(null));t.Custom[e]=a;continue}(0,r.warn)(`Bad value, for key \\\"${e}\\\", in Info: ${n}.`)}return(0,r.shadow)(this,\\\"documentInfo\\\",t)}get fingerprints(){function validate(e){return\\\"string\\\"==typeof e&&e.length>0&&\\\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\"!==e}function hexString(e){const t=[];for(let a=0,r=e.length;anew Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:t,ref:r,globalIdFactory:this._globalIdFactory,fontCache:a.fontCache,builtInCMapCache:a.builtInCMapCache,standardFontDataCache:a.standardFontDataCache,globalImageCache:a.globalImageCache,nonBlendModesSet:a.nonBlendModesSet,xfaFactory:n})));this._pagePromises.set(e,s);return s}async checkFirstPage(e=!1){if(!e)try{await this.getPage(0)}catch(e){if(e instanceof n.XRefEntryException){this._pagePromises.delete(0);await this.cleanup();throw new n.XRefParseException}}}async checkLastPage(e=!1){const{catalog:t,pdfManager:a}=this;t.setActualNumPages();let i;try{await Promise.all([a.ensureDoc(\\\"xfaFactory\\\"),a.ensureDoc(\\\"linearization\\\"),a.ensureCatalog(\\\"numPages\\\")]);if(this.xfaFactory)return;i=this.linearization?this.linearization.numPages:t.numPages;if(!Number.isInteger(i))throw new r.FormatError(\\\"Page count is not an integer.\\\");if(i<=1)return;await this.getPage(i-1)}catch(s){this._pagePromises.delete(i-1);await this.cleanup();if(s instanceof n.XRefEntryException&&!e)throw new n.XRefParseException;(0,r.warn)(`checkLastPage - invalid /Pages tree /Count: ${i}.`);let o;try{o=await t.getAllPageDicts(e)}catch(a){if(a instanceof n.XRefEntryException&&!e)throw new n.XRefParseException;t.setActualNumPages(1);return}for(const[e,[r,n]]of o){let i;if(r instanceof Error){i=Promise.reject(r);i.catch((()=>{}))}else i=Promise.resolve(new Page({pdfManager:a,xref:this.xref,pageIndex:e,pageDict:r,ref:n,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalImageCache:t.globalImageCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null}));this._pagePromises.set(e,i)}t.setActualNumPages(o.size)}}fontFallback(e,t){return this.catalog.fontFallback(e,t)}async cleanup(e=!1){return this.catalog?this.catalog.cleanup(e):(0,u.clearGlobalCaches)()}_collectFieldObjects(e,t,a){const n=this.xref.fetchIfRef(t);if(n.has(\\\"T\\\")){const t=(0,r.stringToPDFString)(n.get(\\\"T\\\"));e=\\\"\\\"===e?t:`${e}.${t}`}a.has(e)||a.set(e,[]);a.get(e).push(o.AnnotationFactory.create(this.xref,t,this.pdfManager,this._localIdFactory,!0).then((e=>e&&e.getFieldObject())).catch((function(e){(0,r.warn)(`_collectFieldObjects: \\\"${e}\\\".`);return null})));if(n.has(\\\"Kids\\\")){const t=n.get(\\\"Kids\\\");for(const r of t)this._collectFieldObjects(e,r,a)}}get fieldObjects(){if(!this.formInfo.hasFields)return(0,r.shadow)(this,\\\"fieldObjects\\\",Promise.resolve(null));const e=Object.create(null),t=new Map;for(const e of this.catalog.acroForm.get(\\\"Fields\\\"))this._collectFieldObjects(\\\"\\\",e,t);const a=[];for(const[r,n]of t)a.push(Promise.all(n).then((t=>{(t=t.filter((e=>!!e))).length>0&&(e[r]=t)})));return(0,r.shadow)(this,\\\"fieldObjects\\\",Promise.all(a).then((()=>e)))}get hasJSActions(){const e=this.pdfManager.ensureDoc(\\\"_parseHasJSActions\\\");return(0,r.shadow)(this,\\\"hasJSActions\\\",e)}async _parseHasJSActions(){const[e,t]=await Promise.all([this.pdfManager.ensureCatalog(\\\"jsActions\\\"),this.pdfManager.ensureDoc(\\\"fieldObjects\\\")]);return!!e||!!t&&Object.values(t).some((e=>e.some((e=>null!==e.actions))))}get calculationOrderIds(){const e=this.catalog.acroForm;if(!e||!e.has(\\\"CO\\\"))return(0,r.shadow)(this,\\\"calculationOrderIds\\\",null);const t=e.get(\\\"CO\\\");if(!Array.isArray(t)||0===t.length)return(0,r.shadow)(this,\\\"calculationOrderIds\\\",null);const a=[];for(const e of t)e instanceof i.Ref&&a.push(e.toString());return 0===a.length?(0,r.shadow)(this,\\\"calculationOrderIds\\\",null):(0,r.shadow)(this,\\\"calculationOrderIds\\\",a)}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.getXfaFontDict=function getXfaFontDict(e){const t=function getXfaFontWidths(e){const t=getXfaFontName(e);if(!t)return null;const{baseWidths:a,baseMapping:r,factors:n}=t;let i;i=n?a.map(((e,t)=>e*n[t])):a;let s,o=-2;const c=[];for(const[e,t]of r.map(((e,t)=>[e,t])).sort((([e],[t])=>e-t)))if(-1!==e)if(e===o+1){s.push(i[t]);o+=1}else{o=e;s=[i[t]];c.push(e,s)}return c}(e),a=new n.Dict(null);a.set(\\\"BaseFont\\\",n.Name.get(e));a.set(\\\"Type\\\",n.Name.get(\\\"Font\\\"));a.set(\\\"Subtype\\\",n.Name.get(\\\"CIDFontType2\\\"));a.set(\\\"Encoding\\\",n.Name.get(\\\"Identity-H\\\"));a.set(\\\"CIDToGIDMap\\\",n.Name.get(\\\"Identity\\\"));a.set(\\\"W\\\",t);a.set(\\\"FirstChar\\\",t[0]);a.set(\\\"LastChar\\\",t[t.length-2]+t[t.length-1].length-1);const r=new n.Dict(null);a.set(\\\"FontDescriptor\\\",r);const i=new n.Dict(null);i.set(\\\"Ordering\\\",\\\"Identity\\\");i.set(\\\"Registry\\\",\\\"Adobe\\\");i.set(\\\"Supplement\\\",0);a.set(\\\"CIDSystemInfo\\\",i);return a};t.getXfaFontName=getXfaFontName;var r=a(13),n=a(5),i=a(14),s=a(15),o=a(16),c=a(17),l=a(8),h=a(18);const u=(0,l.getLookupTableFactory)((function(e){e[\\\"MyriadPro-Regular\\\"]=e[\\\"PdfJS-Fallback-Regular\\\"]={name:\\\"LiberationSans-Regular\\\",factors:o.MyriadProRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:o.MyriadProRegularMetrics};e[\\\"MyriadPro-Bold\\\"]=e[\\\"PdfJS-Fallback-Bold\\\"]={name:\\\"LiberationSans-Bold\\\",factors:o.MyriadProBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:o.MyriadProBoldMetrics};e[\\\"MyriadPro-It\\\"]=e[\\\"MyriadPro-Italic\\\"]=e[\\\"PdfJS-Fallback-Italic\\\"]={name:\\\"LiberationSans-Italic\\\",factors:o.MyriadProItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:o.MyriadProItalicMetrics};e[\\\"MyriadPro-BoldIt\\\"]=e[\\\"MyriadPro-BoldItalic\\\"]=e[\\\"PdfJS-Fallback-BoldItalic\\\"]={name:\\\"LiberationSans-BoldItalic\\\",factors:o.MyriadProBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:o.MyriadProBoldItalicMetrics};e.ArialMT=e.Arial=e[\\\"Arial-Regular\\\"]={name:\\\"LiberationSans-Regular\\\",baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping};e[\\\"Arial-BoldMT\\\"]=e[\\\"Arial-Bold\\\"]={name:\\\"LiberationSans-Bold\\\",baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping};e[\\\"Arial-ItalicMT\\\"]=e[\\\"Arial-Italic\\\"]={name:\\\"LiberationSans-Italic\\\",baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping};e[\\\"Arial-BoldItalicMT\\\"]=e[\\\"Arial-BoldItalic\\\"]={name:\\\"LiberationSans-BoldItalic\\\",baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping};e[\\\"Calibri-Regular\\\"]={name:\\\"LiberationSans-Regular\\\",factors:r.CalibriRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:r.CalibriRegularMetrics};e[\\\"Calibri-Bold\\\"]={name:\\\"LiberationSans-Bold\\\",factors:r.CalibriBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:r.CalibriBoldMetrics};e[\\\"Calibri-Italic\\\"]={name:\\\"LiberationSans-Italic\\\",factors:r.CalibriItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:r.CalibriItalicMetrics};e[\\\"Calibri-BoldItalic\\\"]={name:\\\"LiberationSans-BoldItalic\\\",factors:r.CalibriBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:r.CalibriBoldItalicMetrics};e[\\\"Segoeui-Regular\\\"]={name:\\\"LiberationSans-Regular\\\",factors:c.SegoeuiRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:c.SegoeuiRegularMetrics};e[\\\"Segoeui-Bold\\\"]={name:\\\"LiberationSans-Bold\\\",factors:c.SegoeuiBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:c.SegoeuiBoldMetrics};e[\\\"Segoeui-Italic\\\"]={name:\\\"LiberationSans-Italic\\\",factors:c.SegoeuiItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:c.SegoeuiItalicMetrics};e[\\\"Segoeui-BoldItalic\\\"]={name:\\\"LiberationSans-BoldItalic\\\",factors:c.SegoeuiBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:c.SegoeuiBoldItalicMetrics};e[\\\"Helvetica-Regular\\\"]=e.Helvetica={name:\\\"LiberationSans-Regular\\\",factors:i.HelveticaRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:i.HelveticaRegularMetrics};e[\\\"Helvetica-Bold\\\"]={name:\\\"LiberationSans-Bold\\\",factors:i.HelveticaBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:i.HelveticaBoldMetrics};e[\\\"Helvetica-Italic\\\"]={name:\\\"LiberationSans-Italic\\\",factors:i.HelveticaItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:i.HelveticaItalicMetrics};e[\\\"Helvetica-BoldItalic\\\"]={name:\\\"LiberationSans-BoldItalic\\\",factors:i.HelveticaBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:i.HelveticaBoldItalicMetrics}}));function getXfaFontName(e){const t=(0,h.normalizeFontName)(e);return u()[t]}},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.CalibriRegularMetrics=t.CalibriRegularFactors=t.CalibriItalicMetrics=t.CalibriItalicFactors=t.CalibriBoldMetrics=t.CalibriBoldItalicMetrics=t.CalibriBoldItalicFactors=t.CalibriBoldFactors=void 0;t.CalibriBoldFactors=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.54657,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.73293,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.9121,.86943,.79795,.88198,.77958,.70864,.81055,.90399,.88653,.96017,.82577,.77892,.78257,.97507,1.54657,.97507,.85284,.89552,.90176,.88762,.8785,.75241,.8785,.90518,.95015,.77618,.8785,.88401,.91916,.86304,.88401,.91488,.8785,.8801,.8785,.8785,.91343,.7173,1.04106,.8785,.85075,.95794,.82616,.85162,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.12401,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.73293,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.9121,.86943,.86943,.86943,.86943,.86943,.85284,.87508,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.88762,.88762,.88762,.88762,.88762,.88762,.8715,.75241,.90518,.90518,.90518,.90518,.88401,.88401,.88401,.88401,.8785,.8785,.8801,.8801,.8801,.8801,.8801,.90747,.89049,.8785,.8785,.8785,.8785,.85162,.8785,.85162,.83908,.88762,.83908,.88762,.83908,.88762,.73293,.75241,.73293,.75241,.73293,.75241,.73293,.75241,.87289,.83016,.88506,.93125,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.81921,.77618,.81921,.77618,.81921,.77618,1,1,.87356,.8785,.91075,.89608,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76229,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.79468,.91926,.88175,.70823,.94903,.9121,.8785,1,1,.9121,.8785,.87802,.88656,.8785,.86943,.8801,.86943,.8801,.86943,.8801,.87402,.89291,.77958,.91343,1,1,.77958,.91343,.70864,.7173,.70864,.7173,.70864,.7173,.70864,.7173,1,1,.81055,.75841,.81055,1.06452,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.96017,.95794,.77892,.85162,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.88762,.77539,.8715,.87508,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70674,.98387,.94721,1.33431,1.45894,.95161,1.06303,.83908,.80352,.57184,.6965,.56289,.82001,.56029,.81235,1.02988,.83908,.7762,.68156,.80367,.73133,.78257,.87356,.86943,.95958,.75727,.89019,1.04924,.9121,.7648,.86943,.87356,.79795,.78275,.81055,.77892,.9762,.82577,.99819,.84896,.95958,.77892,.96108,1.01407,.89049,1.02988,.94211,.96108,.8936,.84021,.87842,.96399,.79109,.89049,1.00813,1.02988,.86077,.87445,.92099,.84723,.86513,.8801,.75638,.85714,.78216,.79586,.87965,.94211,.97747,.78287,.97926,.84971,1.02988,.94211,.8801,.94211,.84971,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90264,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.90518,1,1,1,1,1,1,1,1,1,1,1,1,.90548,1,1,1,1,1,1,.96017,.95794,.96017,.95794,.96017,.95794,.77892,.85162,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.92794,.87012,.87012,.87012,.89552,.89552,1.42259,.71143,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.93835,.83406,.91133,.84107,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90527,1.81055,.90527,1.81055,1.31006,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.CalibriBoldMetrics={lineHeight:1.2207,lineGap:.2207};t.CalibriBoldItalicFactors=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.56239,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.71805,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.90872,.85938,.79795,.87068,.77958,.69766,.81055,.90399,.88653,.96068,.82577,.77892,.78257,.97507,1.529,.97507,.85284,.89552,.90176,.94908,.86411,.74012,.86411,.88323,.95015,.86411,.86331,.88401,.91916,.86304,.88401,.9039,.86331,.86331,.86411,.86411,.90464,.70852,1.04106,.86331,.84372,.95794,.82616,.84548,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.19129,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.71805,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.90872,.85938,.85938,.85938,.85938,.85938,.85284,.87068,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.94908,.94908,.94908,.94908,.94908,.94908,.85887,.74012,.88323,.88323,.88323,.88323,.88401,.88401,.88401,.88401,.8785,.86331,.86331,.86331,.86331,.86331,.86331,.90747,.89049,.86331,.86331,.86331,.86331,.84548,.86411,.84548,.83908,.94908,.83908,.94908,.83908,.94908,.71805,.74012,.71805,.74012,.71805,.74012,.71805,.74012,.87289,.79538,.88506,.92726,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.81921,.86411,.81921,.86411,.81921,.86411,1,1,.87356,.86331,.91075,.8777,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76467,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.77312,.91926,.88175,.70823,.94903,.90872,.86331,1,1,.90872,.86331,.86906,.88116,.86331,.85938,.86331,.85938,.86331,.85938,.86331,.87402,.86549,.77958,.90464,1,1,.77958,.90464,.69766,.70852,.69766,.70852,.69766,.70852,.69766,.70852,1,1,.81055,.75841,.81055,1.06452,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.96068,.95794,.77892,.84548,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.94908,.77539,.85887,.87068,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70088,.98387,.94721,1.33431,1.45894,.95161,1.48387,.83908,.80352,.57118,.6965,.56347,.79179,.55853,.80346,1.02988,.83908,.7762,.67174,.86036,.73133,.78257,.87356,.86441,.95958,.75727,.89019,1.04924,.90872,.74889,.85938,.87891,.79795,.7957,.81055,.77892,.97447,.82577,.97466,.87179,.95958,.77892,.94252,.95612,.8753,1.02988,.92733,.94252,.87411,.84021,.8728,.95612,.74081,.8753,1.02189,1.02988,.84814,.87445,.91822,.84723,.85668,.86331,.81344,.87581,.76422,.82046,.96057,.92733,.99375,.78022,.95452,.86015,1.02988,.92733,.86331,.92733,.86015,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90631,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.88323,1,1,1,1,1,1,1,1,1,1,1,1,.85174,1,1,1,1,1,1,.96068,.95794,.96068,.95794,.96068,.95794,.77892,.84548,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.89807,.87012,.87012,.87012,.89552,.89552,1.42259,.71094,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.92972,.83406,.91133,.83326,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90616,1.81055,.90527,1.81055,1.3107,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.CalibriBoldItalicMetrics={lineHeight:1.2207,lineGap:.2207};t.CalibriItalicFactors=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39543,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.72346,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89249,.84118,.77452,.85374,.75186,.67789,.79776,.88844,.85066,.94309,.77818,.7306,.76659,1.10369,1.38313,1.10369,1.06139,.89552,.8739,.9245,.9245,.83203,.9245,.85865,1.09842,.9245,.9245,1.03297,1.07692,.90918,1.03297,.94959,.9245,.92274,.9245,.9245,1.02933,.77832,1.20562,.9245,.8916,.98986,.86621,.89453,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.16359,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.72346,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89249,.84118,.84118,.84118,.84118,.84118,.85284,.84557,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.9245,.9245,.9245,.9245,.9245,.9245,.84843,.83203,.85865,.85865,.85865,.85865,.82601,.82601,.82601,.82601,.94469,.9245,.92274,.92274,.92274,.92274,.92274,.90747,.86651,.9245,.9245,.9245,.9245,.89453,.9245,.89453,.8675,.9245,.8675,.9245,.8675,.9245,.72346,.83203,.72346,.83203,.72346,.83203,.72346,.83203,.85193,.8875,.86477,.99034,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.81105,.9245,.81105,.9245,.81105,.9245,1,1,.86275,.9245,.90872,.93591,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77896,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.9375,.98156,.93407,.77261,1.11429,.89249,.9245,1,1,.89249,.9245,.92534,.86698,.9245,.84118,.92274,.84118,.92274,.84118,.92274,.8667,.86291,.75186,1.02933,1,1,.75186,1.02933,.67789,.77832,.67789,.77832,.67789,.77832,.67789,.77832,1,1,.79776,.97655,.79776,1.23023,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.94309,.98986,.7306,.89453,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.9245,.76318,.84843,.84557,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67009,.96334,.93695,1.35191,1.40909,.95161,1.48387,.8675,.90861,.6192,.7363,.64824,.82411,.56321,.85696,1.23516,.8675,.81552,.7286,.84134,.73206,.76659,.86275,.84369,.90685,.77892,.85871,1.02638,.89249,.75828,.84118,.85984,.77452,.76466,.79776,.7306,.90782,.77818,.903,.87291,.90685,.7306,.99058,1.03667,.94635,1.23516,.9849,.99058,.92393,.8916,.942,1.03667,.75026,.94635,1.0297,1.23516,.90918,.94048,.98217,.89746,.84153,.92274,.82507,.88832,.84438,.88178,1.03525,.9849,1.00225,.78086,.97248,.89404,1.23516,.9849,.92274,.9849,.89404,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.89693,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.85865,1,1,1,1,1,1,1,1,1,1,1,1,.90933,1,1,1,1,1,1,.94309,.98986,.94309,.98986,.94309,.98986,.7306,.89453,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.68994,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.97858,.82616,.91133,.83437,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90572,1.81055,.90749,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85284,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.CalibriItalicMetrics={lineHeight:1.2207,lineGap:.2207};t.CalibriRegularFactors=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39016,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.73834,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89385,.85122,.77452,.86503,.75186,.68887,.79776,.88844,.85066,.94258,.77818,.7306,.76659,1.10369,1.39016,1.10369,1.06139,.89552,.8739,.86128,.94469,.8457,.94469,.89464,1.09842,.84636,.94469,1.03297,1.07692,.90918,1.03297,.95897,.94469,.9482,.94469,.94469,1.04692,.78223,1.20562,.94469,.90332,.98986,.86621,.90527,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.08707,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.73834,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89385,.85122,.85122,.85122,.85122,.85122,.85284,.85311,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.86128,.86128,.86128,.86128,.86128,.86128,.8693,.8457,.89464,.89464,.89464,.89464,.82601,.82601,.82601,.82601,.94469,.94469,.9482,.9482,.9482,.9482,.9482,.90747,.86651,.94469,.94469,.94469,.94469,.90527,.94469,.90527,.8675,.86128,.8675,.86128,.8675,.86128,.73834,.8457,.73834,.8457,.73834,.8457,.73834,.8457,.85193,.92454,.86477,.9921,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.81105,.84636,.81105,.84636,.81105,.84636,1,1,.86275,.94469,.90872,.95786,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77741,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.90452,.98156,1.11842,.77261,1.11429,.89385,.94469,1,1,.89385,.94469,.95877,.86901,.94469,.85122,.9482,.85122,.9482,.85122,.9482,.8667,.90016,.75186,1.04692,1,1,.75186,1.04692,.68887,.78223,.68887,.78223,.68887,.78223,.68887,.78223,1,1,.79776,.92188,.79776,1.23023,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.94258,.98986,.7306,.90527,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.86128,.76318,.8693,.85311,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67742,.96334,.93695,1.35191,1.40909,.95161,1.48387,.86686,.90861,.62267,.74359,.65649,.85498,.56963,.88254,1.23516,.8675,.81552,.75443,.84503,.73206,.76659,.86275,.85122,.90685,.77892,.85746,1.02638,.89385,.75657,.85122,.86275,.77452,.74171,.79776,.7306,.95165,.77818,.89772,.88831,.90685,.7306,.98142,1.02191,.96576,1.23516,.99018,.98142,.9236,.89258,.94035,1.02191,.78848,.96576,.9561,1.23516,.90918,.92578,.95424,.89746,.83969,.9482,.80113,.89442,.85208,.86155,.98022,.99018,1.00452,.81209,.99247,.89181,1.23516,.99018,.9482,.99018,.89181,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.88844,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89464,1,1,1,1,1,1,1,1,1,1,1,1,.96766,1,1,1,1,1,1,.94258,.98986,.94258,.98986,.94258,.98986,.7306,.90527,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.69043,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.99331,.82616,.91133,.84286,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90527,1.81055,.90527,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1.07185,.99413,.96334,1.08065,1,1,1,1,1,1,1,1,1,1,1];t.CalibriRegularMetrics={lineHeight:1.2207,lineGap:.2207}},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.HelveticaRegularMetrics=t.HelveticaRegularFactors=t.HelveticaItalicMetrics=t.HelveticaItalicFactors=t.HelveticaBoldMetrics=t.HelveticaBoldItalicMetrics=t.HelveticaBoldItalicFactors=t.HelveticaBoldFactors=void 0;t.HelveticaBoldFactors=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.03374,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.00042,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.03828,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00034,.99977,1,.99997,1.00026,1.00078,1.00036,.99973,1.00013,1.0006,.99977,.99977,.99988,.85148,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,1.00069,1.00022,.99977,1.00001,.99984,1.00026,1.00001,1.00024,1.00001,.9999,1,1.0006,1.00001,1.00041,.99962,1.00026,1.0006,.99995,1.00041,.99942,.99973,.99927,1.00082,.99902,1.00026,1.00087,1.0006,1.00069,.99973,.99867,.99973,.9993,1.00026,1.00049,1.00056,1,.99988,.99935,.99995,.99954,1.00055,.99945,1.00032,1.0006,.99995,1.00026,.99995,1.00032,1.00001,1.00008,.99971,1.00019,.9994,1.00001,1.0006,1.00044,.99973,1.00023,1.00047,1,.99942,.99561,.99989,1.00035,.99977,1.00035,.99977,1.00019,.99944,1.00001,1.00021,.99926,1.00035,1.00035,.99942,1.00048,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.99989,1.00057,1.00001,.99936,1.00052,1.00012,.99996,1.00043,1,1.00035,.9994,.99976,1.00035,.99973,1.00052,1.00041,1.00119,1.00037,.99973,1.00002,.99986,1.00041,1.00041,.99902,.9996,1.00034,.99999,1.00026,.99999,1.00026,.99973,1.00052,.99973,1,.99973,1.00041,1.00075,.9994,1.0003,.99999,1,1.00041,.99955,1,.99915,.99973,.99973,1.00026,1.00119,.99955,.99973,1.0006,.99911,1.0006,1.00026,.99972,1.00026,.99902,1.00041,.99973,.99999,1,1,1.00038,1.0005,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,1.00047,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaBoldMetrics={lineHeight:1.2,lineGap:.2};t.HelveticaBoldItalicFactors=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.0044,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99971,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.01011,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99977,1,1,1.00026,.99969,.99972,.99981,.9998,1.0006,.99977,.99977,1.00022,.91155,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,.99966,1.00022,1.00032,1.00001,.99944,1.00026,1.00001,.99968,1.00001,1.00047,1,1.0006,1.00001,.99981,1.00101,1.00026,1.0006,.99948,.99981,1.00064,.99973,.99942,1.00101,1.00061,1.00026,1.00069,1.0006,1.00014,.99973,1.01322,.99973,1.00065,1.00026,1.00012,.99923,1,1.00064,1.00076,.99948,1.00055,1.00063,1.00007,.99943,1.0006,.99948,1.00026,.99948,.99943,1.00001,1.00001,1.00029,1.00038,1.00035,1.00001,1.0006,1.0006,.99973,.99978,1.00001,1.00057,.99989,.99967,.99964,.99967,.99977,.99999,.99977,1.00038,.99977,1.00001,.99973,1.00066,.99967,.99967,1.00041,.99998,.99999,.99977,1.00022,.99967,1.00001,.99977,1.00026,.99964,1.00031,1.00001,.99999,.99999,1,1.00023,1,1,.99999,1.00035,1.00001,.99999,.99973,.99977,.99999,1.00058,.99973,.99973,.99955,.9995,1.00026,1.00026,1.00032,.99989,1.00034,.99999,1.00026,1.00026,1.00026,.99973,.45998,.99973,1.00026,.99973,1.00001,.99999,.99982,.99994,.99996,1,1.00042,1.00044,1.00029,1.00023,.99973,.99973,1.00026,.99949,1.00002,.99973,1.0006,1.0006,1.0006,.99975,1.00026,1.00026,1.00032,.98685,.99973,1.00026,1,1,.99966,1.00044,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1,.99973,.99971,.99978,1,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00098,1,1,1,1.00049,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaBoldItalicMetrics={lineHeight:1.35,lineGap:.2};t.HelveticaItalicFactors=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.0288,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,.99946,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.06311,.99973,1.00024,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,1.00041,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.89547,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00001,1,1.00054,.99977,1.00084,1.00007,.99973,1.00013,.99924,1.00001,1.00001,.99945,.91221,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00001,.99999,.99977,.99933,1.00022,1.00054,1.00001,1.00065,1.00026,1.00001,1.0001,1.00001,1.00052,1,1.0006,1.00001,.99945,.99897,.99968,.99924,1.00036,.99945,.99949,1,1.0006,.99897,.99918,.99968,.99911,.99924,1,.99962,1.01487,1,1.0005,.99973,1.00012,1.00043,1,.99995,.99994,1.00036,.99947,1.00019,1.00063,1.00025,.99924,1.00036,.99973,1.00036,1.00025,1.00001,1.00001,1.00027,1.0001,1.00068,1.00001,1.0006,1.0006,1,1.00008,.99957,.99972,.9994,.99954,.99975,1.00051,1.00001,1.00019,1.00001,1.0001,.99986,1.00001,1.00001,1.00038,.99954,.99954,.9994,1.00066,.99999,.99977,1.00022,1.00054,1.00001,.99977,1.00026,.99975,1.0001,1.00001,.99993,.9995,.99955,1.00016,.99978,.99974,1.00019,1.00022,.99955,1.00053,.99973,1.00089,1.00005,.99967,1.00048,.99973,1.00002,1.00034,.99973,.99973,.99964,1.00006,1.00066,.99947,.99973,.98894,.99973,1,.44898,1,.99946,1,1.00039,1.00082,.99991,.99991,.99985,1.00022,1.00023,1.00061,1.00006,.99966,.99973,.99973,.99973,1.00019,1.0008,1,.99924,.99924,.99924,.99983,1.00044,.99973,.99964,.98332,1,.99973,1,1,.99962,.99895,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,1.00423,.99925,.99999,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00049,1,1.00245,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,1.00003,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaItalicMetrics={lineHeight:1.35,lineGap:.2};t.HelveticaRegularFactors=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.04596,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,1.00019,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.02572,.99973,1.00005,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,.99999,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.84533,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99928,1,.99977,1.00013,1.00055,.99947,.99945,.99941,.99924,1.00001,1.00001,1.0004,.91621,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00005,.99999,.99977,1.00015,1.00022,.99977,1.00001,.99973,1.00026,1.00001,1.00019,1.00001,.99946,1,1.0006,1.00001,.99978,1.00045,.99973,.99924,1.00023,.99978,.99966,1,1.00065,1.00045,1.00019,.99973,.99973,.99924,1,1,.96499,1,1.00055,.99973,1.00008,1.00027,1,.9997,.99995,1.00023,.99933,1.00019,1.00015,1.00031,.99924,1.00023,.99973,1.00023,1.00031,1.00001,.99928,1.00029,1.00092,1.00035,1.00001,1.0006,1.0006,1,.99988,.99975,1,1.00082,.99561,.9996,1.00035,1.00001,.99962,1.00001,1.00092,.99964,1.00001,.99963,.99999,1.00035,1.00035,1.00082,.99962,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.9996,.99967,1.00001,1.00034,1.00074,1.00054,1.00053,1.00063,.99971,.99962,1.00035,.99975,.99977,.99973,1.00043,.99953,1.0007,.99915,.99973,1.00008,.99892,1.00073,1.00073,1.00114,.99915,1.00073,.99955,.99973,1.00092,.99973,1,.99998,1,1.0003,1,1.00043,1.00001,.99969,1.0003,1,1.00035,1.00001,.9995,1,1.00092,.99973,.99973,.99973,1.0007,.9995,1,.99924,1.0006,.99924,.99972,1.00062,.99973,1.00114,1.00073,1,.99955,1,1,1.00047,.99968,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,.99925,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaRegularMetrics={lineHeight:1.2,lineGap:.2}},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.LiberationSansRegularWidths=t.LiberationSansRegularMapping=t.LiberationSansItalicWidths=t.LiberationSansItalicMapping=t.LiberationSansBoldWidths=t.LiberationSansBoldMapping=t.LiberationSansBoldItalicWidths=t.LiberationSansBoldItalicMapping=void 0;t.LiberationSansBoldWidths=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,719,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,785,556,556,278,722,556,556,611,278,611,278,611,385,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,465,722,333,853,906,474,825,927,838,278,722,722,601,719,667,611,722,778,278,722,667,833,722,644,778,722,667,600,611,667,821,667,809,802,278,667,615,451,611,278,582,615,610,556,606,475,460,611,541,278,558,556,612,556,445,611,766,619,520,684,446,582,715,576,753,845,278,582,611,582,845,667,669,885,567,711,667,278,276,556,1094,1062,875,610,722,622,719,722,719,722,567,712,667,904,626,719,719,610,702,833,722,778,719,667,722,611,622,854,667,730,703,1005,1019,870,979,719,711,1031,719,556,618,615,417,635,556,709,497,615,615,500,635,740,604,611,604,611,556,490,556,875,556,615,581,833,844,729,854,615,552,854,583,556,556,611,417,552,556,278,281,278,969,906,611,500,615,556,604,778,611,487,447,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1094,556,885,489,1115,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333];t.LiberationSansBoldMapping=[-1,-1,-1,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,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];t.LiberationSansBoldItalicWidths=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,740,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,782,556,556,278,722,556,556,611,278,611,278,611,396,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,333,722,333,854,906,473,844,930,847,278,722,722,610,671,667,611,722,778,278,722,667,833,722,657,778,718,667,590,611,667,822,667,829,781,278,667,620,479,611,278,591,620,621,556,610,479,492,611,558,278,566,556,603,556,450,611,712,605,532,664,409,591,704,578,773,834,278,591,611,591,834,667,667,886,614,719,667,278,278,556,1094,1042,854,622,719,677,719,722,708,722,614,722,667,927,643,719,719,615,687,833,722,778,719,667,722,611,677,781,667,729,708,979,989,854,1e3,708,719,1042,729,556,619,604,534,618,556,736,510,611,611,507,622,740,604,611,611,611,556,889,556,885,556,646,583,889,935,707,854,594,552,865,589,556,556,611,469,563,556,278,278,278,969,906,611,507,619,556,611,778,611,575,467,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1104,556,885,516,1146,1e3,768,600,834,834,834,834,999,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333];t.LiberationSansBoldItalicMapping=[-1,-1,-1,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,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];t.LiberationSansItalicWidths=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,625,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,733,444,500,222,667,500,500,556,222,556,222,556,281,556,400,556,222,722,556,722,556,722,556,615,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,354,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,789,846,389,794,865,775,222,667,667,570,671,667,611,722,778,278,667,667,833,722,648,778,725,667,600,611,667,837,667,831,761,278,667,570,439,555,222,550,570,571,500,556,439,463,555,542,222,500,492,548,500,447,556,670,573,486,603,374,550,652,546,728,779,222,550,556,550,779,667,667,843,544,708,667,278,278,500,1066,982,844,589,715,639,724,667,651,667,544,704,667,917,614,715,715,589,686,833,722,778,725,667,722,611,639,795,667,727,673,920,923,805,886,651,694,1022,682,556,562,522,493,553,556,688,465,556,556,472,564,686,550,556,556,556,500,833,500,835,500,572,518,830,851,621,736,526,492,752,534,556,556,556,378,496,500,222,222,222,910,828,556,472,565,500,556,778,556,492,339,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1083,1e3,768,600,834,834,834,834,1e3,500,998,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,584,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285];t.LiberationSansItalicMapping=[-1,-1,-1,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,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];t.LiberationSansRegularWidths=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,615,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,735,444,500,222,667,500,500,556,222,556,222,556,292,556,334,556,222,722,556,722,556,722,556,604,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,375,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,784,838,384,774,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,667,667,865,542,719,667,278,278,500,1057,1010,854,583,722,635,719,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542,556,556,556,365,510,500,222,278,222,906,812,556,438,559,500,552,778,556,489,411,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1073,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285];t.LiberationSansRegularMapping=[-1,-1,-1,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,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.MyriadProRegularMetrics=t.MyriadProRegularFactors=t.MyriadProItalicMetrics=t.MyriadProItalicFactors=t.MyriadProBoldMetrics=t.MyriadProBoldItalicMetrics=t.MyriadProBoldItalicFactors=t.MyriadProBoldFactors=void 0;t.MyriadProBoldFactors=[1.36898,1,1,.72706,.80479,.83734,.98894,.99793,.9897,.93884,.86209,.94292,.94292,1.16661,1.02058,.93582,.96694,.93582,1.19137,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.78076,.78076,1.02058,1.02058,1.02058,.72851,.78966,.90838,.83637,.82391,.96376,.80061,.86275,.8768,.95407,1.0258,.73901,.85022,.83655,1.0156,.95546,.92179,.87107,.92179,.82114,.8096,.89713,.94438,.95353,.94083,.91905,.90406,.9446,.94292,1.18777,.94292,1.02058,.89903,.90088,.94938,.97898,.81093,.97571,.94938,1.024,.9577,.95933,.98621,1.0474,.97455,.98981,.9672,.95933,.9446,.97898,.97407,.97646,.78036,1.10208,.95442,.95298,.97579,.9332,.94039,.938,.80687,1.01149,.80687,1.02058,.80479,.99793,.99793,.99793,.99793,1.01149,1.00872,.90088,.91882,1.0213,.8361,1.02058,.62295,.54324,.89022,1.08595,1,1,.90088,1,.97455,.93582,.90088,1,1.05686,.8361,.99642,.99642,.99642,.72851,.90838,.90838,.90838,.90838,.90838,.90838,.868,.82391,.80061,.80061,.80061,.80061,1.0258,1.0258,1.0258,1.0258,.97484,.95546,.92179,.92179,.92179,.92179,.92179,1.02058,.92179,.94438,.94438,.94438,.94438,.90406,.86958,.98225,.94938,.94938,.94938,.94938,.94938,.94938,.9031,.81093,.94938,.94938,.94938,.94938,.98621,.98621,.98621,.98621,.93969,.95933,.9446,.9446,.9446,.9446,.9446,1.08595,.9446,.95442,.95442,.95442,.95442,.94039,.97898,.94039,.90838,.94938,.90838,.94938,.90838,.94938,.82391,.81093,.82391,.81093,.82391,.81093,.82391,.81093,.96376,.84313,.97484,.97571,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.8768,.9577,.8768,.9577,.8768,.9577,1,1,.95407,.95933,.97069,.95933,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,.887,1.01591,.73901,1.0474,1,1,.97455,.83655,.98981,1,1,.83655,.73977,.83655,.73903,.84638,1.033,.95546,.95933,1,1,.95546,.95933,.8271,.95417,.95933,.92179,.9446,.92179,.9446,.92179,.9446,.936,.91964,.82114,.97646,1,1,.82114,.97646,.8096,.78036,.8096,.78036,1,1,.8096,.78036,1,1,.89713,.77452,.89713,1.10208,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94083,.97579,.90406,.94039,.90406,.9446,.938,.9446,.938,.9446,.938,1,.99793,.90838,.94938,.868,.9031,.92179,.9446,1,1,.89713,1.10208,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90989,.9358,.91945,.83181,.75261,.87992,.82976,.96034,.83689,.97268,1.0078,.90838,.83637,.8019,.90157,.80061,.9446,.95407,.92436,1.0258,.85022,.97153,1.0156,.95546,.89192,.92179,.92361,.87107,.96318,.89713,.93704,.95638,.91905,.91709,.92796,1.0258,.93704,.94836,1.0373,.95933,1.0078,.95871,.94836,.96174,.92601,.9498,.98607,.95776,.95933,1.05453,1.0078,.98275,.9314,.95617,.91701,1.05993,.9446,.78367,.9553,1,.86832,1.0128,.95871,.99394,.87548,.96361,.86774,1.0078,.95871,.9446,.95871,.86774,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.94083,.97579,.94083,.97579,.94083,.97579,.90406,.94039,.96694,1,.89903,1,1,1,.93582,.93582,.93582,1,.908,.908,.918,.94219,.94219,.96544,1,1.285,1,1,.81079,.81079,1,1,.74854,1,1,1,1,.99793,1,1,1,.65,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.17173,1,.80535,.76169,1.02058,1.0732,1.05486,1,1,1.30692,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.16161,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProBoldMetrics={lineHeight:1.2,lineGap:.2};t.MyriadProBoldItalicFactors=[1.36898,1,1,.66227,.80779,.81625,.97276,.97276,.97733,.92222,.83266,.94292,.94292,1.16148,1.02058,.93582,.96694,.93582,1.17337,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.78076,.78076,1.02058,1.02058,1.02058,.71541,.76813,.85576,.80591,.80729,.94299,.77512,.83655,.86523,.92222,.98621,.71743,.81698,.79726,.98558,.92222,.90637,.83809,.90637,.80729,.76463,.86275,.90699,.91605,.9154,.85308,.85458,.90531,.94292,1.21296,.94292,1.02058,.89903,1.18616,.99613,.91677,.78216,.91677,.90083,.98796,.9135,.92168,.95381,.98981,.95298,.95381,.93459,.92168,.91513,.92004,.91677,.95077,.748,1.04502,.91677,.92061,.94236,.89544,.89364,.9,.80687,.8578,.80687,1.02058,.80779,.97276,.97276,.97276,.97276,.8578,.99973,1.18616,.91339,1.08074,.82891,1.02058,.55509,.71526,.89022,1.08595,1,1,1.18616,1,.96736,.93582,1.18616,1,1.04864,.82711,.99043,.99043,.99043,.71541,.85576,.85576,.85576,.85576,.85576,.85576,.845,.80729,.77512,.77512,.77512,.77512,.98621,.98621,.98621,.98621,.95961,.92222,.90637,.90637,.90637,.90637,.90637,1.02058,.90251,.90699,.90699,.90699,.90699,.85458,.83659,.94951,.99613,.99613,.99613,.99613,.99613,.99613,.85811,.78216,.90083,.90083,.90083,.90083,.95381,.95381,.95381,.95381,.9135,.92168,.91513,.91513,.91513,.91513,.91513,1.08595,.91677,.91677,.91677,.91677,.91677,.89364,.92332,.89364,.85576,.99613,.85576,.99613,.85576,.99613,.80729,.78216,.80729,.78216,.80729,.78216,.80729,.78216,.94299,.76783,.95961,.91677,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.86523,.9135,.86523,.9135,.86523,.9135,1,1,.92222,.92168,.92222,.92168,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.86036,.97096,.71743,.98981,1,1,.95298,.79726,.95381,1,1,.79726,.6894,.79726,.74321,.81691,1.0006,.92222,.92168,1,1,.92222,.92168,.79464,.92098,.92168,.90637,.91513,.90637,.91513,.90637,.91513,.909,.87514,.80729,.95077,1,1,.80729,.95077,.76463,.748,.76463,.748,1,1,.76463,.748,1,1,.86275,.72651,.86275,1.04502,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.9154,.94236,.85458,.89364,.85458,.90531,.9,.90531,.9,.90531,.9,1,.97276,.85576,.99613,.845,.85811,.90251,.91677,1,1,.86275,1.04502,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.00899,1.30628,.85576,.80178,.66862,.7927,.69323,.88127,.72459,.89711,.95381,.85576,.80591,.7805,.94729,.77512,.90531,.92222,.90637,.98621,.81698,.92655,.98558,.92222,.85359,.90637,.90976,.83809,.94523,.86275,.83509,.93157,.85308,.83392,.92346,.98621,.83509,.92886,.91324,.92168,.95381,.90646,.92886,.90557,.86847,.90276,.91324,.86842,.92168,.99531,.95381,.9224,.85408,.92699,.86847,1.0051,.91513,.80487,.93481,1,.88159,1.05214,.90646,.97355,.81539,.89398,.85923,.95381,.90646,.91513,.90646,.85923,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9154,.94236,.9154,.94236,.9154,.94236,.85458,.89364,.96694,1,.89903,1,1,1,.91782,.91782,.91782,1,.896,.896,.896,.9332,.9332,.95973,1,1.26,1,1,.80479,.80178,1,1,.85633,1,1,1,1,.97276,1,1,1,.698,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.14542,1,.79199,.78694,1.02058,1.03493,1.05486,1,1,1.23026,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.20006,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProBoldItalicMetrics={lineHeight:1.2,lineGap:.2};t.MyriadProItalicFactors=[1.36898,1,1,.65507,.84943,.85639,.88465,.88465,.86936,.88307,.86948,.85283,.85283,1.06383,1.02058,.75945,.9219,.75945,1.17337,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.75945,.75945,1.02058,1.02058,1.02058,.69046,.70926,.85158,.77812,.76852,.89591,.70466,.76125,.80094,.86822,.83864,.728,.77212,.79475,.93637,.87514,.8588,.76013,.8588,.72421,.69866,.77598,.85991,.80811,.87832,.78112,.77512,.8562,1.0222,1.18417,1.0222,1.27014,.89903,1.15012,.93859,.94399,.846,.94399,.81453,1.0186,.94219,.96017,1.03075,1.02175,.912,1.03075,.96998,.96017,.93859,.94399,.94399,.95493,.746,1.12658,.94578,.91,.979,.882,.882,.83,.85034,.83537,.85034,1.02058,.70869,.88465,.88465,.88465,.88465,.83537,.90083,1.15012,.9161,.94565,.73541,1.02058,.53609,.69353,.79519,1.08595,1,1,1.15012,1,.91974,.75945,1.15012,1,.9446,.73361,.9005,.9005,.9005,.62864,.85158,.85158,.85158,.85158,.85158,.85158,.773,.76852,.70466,.70466,.70466,.70466,.83864,.83864,.83864,.83864,.90561,.87514,.8588,.8588,.8588,.8588,.8588,1.02058,.85751,.85991,.85991,.85991,.85991,.77512,.76013,.88075,.93859,.93859,.93859,.93859,.93859,.93859,.8075,.846,.81453,.81453,.81453,.81453,.82424,.82424,.82424,.82424,.9278,.96017,.93859,.93859,.93859,.93859,.93859,1.08595,.8562,.94578,.94578,.94578,.94578,.882,.94578,.882,.85158,.93859,.85158,.93859,.85158,.93859,.76852,.846,.76852,.846,.76852,.846,.76852,.846,.89591,.8544,.90561,.94399,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.80094,.94219,.80094,.94219,.80094,.94219,1,1,.86822,.96017,.86822,.96017,.83864,.82424,.83864,.82424,.83864,.82424,.83864,1.03075,.83864,.82424,.81402,1.02738,.728,1.02175,1,1,.912,.79475,1.03075,1,1,.79475,.83911,.79475,.66266,.80553,1.06676,.87514,.96017,1,1,.87514,.96017,.86865,.87396,.96017,.8588,.93859,.8588,.93859,.8588,.93859,.867,.84759,.72421,.95493,1,1,.72421,.95493,.69866,.746,.69866,.746,1,1,.69866,.746,1,1,.77598,.88417,.77598,1.12658,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.87832,.979,.77512,.882,.77512,.8562,.83,.8562,.83,.8562,.83,1,.88465,.85158,.93859,.773,.8075,.85751,.8562,1,1,.77598,1.12658,1.15012,1.15012,1.15012,1.15012,1.15012,1.15313,1.15012,1.15012,1.15012,1.08106,1.03901,.85158,.77025,.62264,.7646,.65351,.86026,.69461,.89947,1.03075,.85158,.77812,.76449,.88836,.70466,.8562,.86822,.8588,.83864,.77212,.85308,.93637,.87514,.82352,.8588,.85701,.76013,.89058,.77598,.8156,.82565,.78112,.77899,.89386,.83864,.8156,.9486,.92388,.96186,1.03075,.91123,.9486,.93298,.878,.93942,.92388,.84596,.96186,.95119,1.03075,.922,.88787,.95829,.88,.93559,.93859,.78815,.93758,1,.89217,1.03737,.91123,.93969,.77487,.85769,.86799,1.03075,.91123,.93859,.91123,.86799,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87832,.979,.87832,.979,.87832,.979,.77512,.882,.9219,1,.89903,1,1,1,.87321,.87321,.87321,1,1.027,1.027,1.027,.86847,.86847,.79121,1,1.124,1,1,.73572,.73572,1,1,.85034,1,1,1,1,.88465,1,1,1,.669,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.04828,1,.74948,.75187,1.02058,.98391,1.02119,1,1,1.06233,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05233,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProItalicMetrics={lineHeight:1.2,lineGap:.2};t.MyriadProRegularFactors=[1.36898,1,1,.76305,.82784,.94935,.89364,.92241,.89073,.90706,.98472,.85283,.85283,1.0664,1.02058,.74505,.9219,.74505,1.23456,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.74505,.74505,1.02058,1.02058,1.02058,.73002,.72601,.91755,.8126,.80314,.92222,.73764,.79726,.83051,.90284,.86023,.74,.8126,.84869,.96518,.91115,.8858,.79761,.8858,.74498,.73914,.81363,.89591,.83659,.89633,.85608,.8111,.90531,1.0222,1.22736,1.0222,1.27014,.89903,.90088,.86667,1.0231,.896,1.01411,.90083,1.05099,1.00512,.99793,1.05326,1.09377,.938,1.06226,1.00119,.99793,.98714,1.0231,1.01231,.98196,.792,1.19137,.99074,.962,1.01915,.926,.942,.856,.85034,.92006,.85034,1.02058,.69067,.92241,.92241,.92241,.92241,.92006,.9332,.90088,.91882,.93484,.75339,1.02058,.56866,.54324,.79519,1.08595,1,1,.90088,1,.95325,.74505,.90088,1,.97198,.75339,.91009,.91009,.91009,.66466,.91755,.91755,.91755,.91755,.91755,.91755,.788,.80314,.73764,.73764,.73764,.73764,.86023,.86023,.86023,.86023,.92915,.91115,.8858,.8858,.8858,.8858,.8858,1.02058,.8858,.89591,.89591,.89591,.89591,.8111,.79611,.89713,.86667,.86667,.86667,.86667,.86667,.86667,.86936,.896,.90083,.90083,.90083,.90083,.84224,.84224,.84224,.84224,.97276,.99793,.98714,.98714,.98714,.98714,.98714,1.08595,.89876,.99074,.99074,.99074,.99074,.942,1.0231,.942,.91755,.86667,.91755,.86667,.91755,.86667,.80314,.896,.80314,.896,.80314,.896,.80314,.896,.92222,.93372,.92915,1.01411,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.83051,1.00512,.83051,1.00512,.83051,1.00512,1,1,.90284,.99793,.90976,.99793,.86023,.84224,.86023,.84224,.86023,.84224,.86023,1.05326,.86023,.84224,.82873,1.07469,.74,1.09377,1,1,.938,.84869,1.06226,1,1,.84869,.83704,.84869,.81441,.85588,1.08927,.91115,.99793,1,1,.91115,.99793,.91887,.90991,.99793,.8858,.98714,.8858,.98714,.8858,.98714,.894,.91434,.74498,.98196,1,1,.74498,.98196,.73914,.792,.73914,.792,1,1,.73914,.792,1,1,.81363,.904,.81363,1.19137,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89633,1.01915,.8111,.942,.8111,.90531,.856,.90531,.856,.90531,.856,1,.92241,.91755,.86667,.788,.86936,.8858,.89876,1,1,.81363,1.19137,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90388,1.03901,.92138,.78105,.7154,.86169,.80513,.94007,.82528,.98612,1.06226,.91755,.8126,.81884,.92819,.73764,.90531,.90284,.8858,.86023,.8126,.91172,.96518,.91115,.83089,.8858,.87791,.79761,.89297,.81363,.88157,.89992,.85608,.81992,.94307,.86023,.88157,.95308,.98699,.99793,1.06226,.95817,.95308,.97358,.928,.98088,.98699,.92761,.99793,.96017,1.06226,.986,.944,.95978,.938,.96705,.98714,.80442,.98972,1,.89762,1.04552,.95817,.99007,.87064,.91879,.88888,1.06226,.95817,.98714,.95817,.88888,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89633,1.01915,.89633,1.01915,.89633,1.01915,.8111,.942,.9219,1,.89903,1,1,1,.93173,.93173,.93173,1,1.06304,1.06304,1.06904,.89903,.89903,.80549,1,1.156,1,1,.76575,.76575,1,1,.72458,1,1,1,1,.92241,1,1,1,.619,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.07257,1,.74705,.71119,1.02058,1.024,1.02119,1,1,1.1536,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05638,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProRegularMetrics={lineHeight:1.2,lineGap:.2}},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.SegoeuiRegularMetrics=t.SegoeuiRegularFactors=t.SegoeuiItalicMetrics=t.SegoeuiItalicFactors=t.SegoeuiBoldMetrics=t.SegoeuiBoldItalicMetrics=t.SegoeuiBoldItalicFactors=t.SegoeuiBoldFactors=void 0;t.SegoeuiBoldFactors=[1.76738,1,1,.99297,.9824,1.04016,1.06497,1.03424,.97529,1.17647,1.23203,1.1085,1.1085,1.16939,1.2107,.9754,1.21408,.9754,1.59578,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,.81378,.81378,1.2107,1.2107,1.2107,.71703,.97847,.97363,.88776,.8641,1.02096,.79795,.85132,.914,1.06085,1.1406,.8007,.89858,.83693,1.14889,1.09398,.97489,.92094,.97489,.90399,.84041,.95923,1.00135,1,1.06467,.98243,.90996,.99361,1.1085,1.56942,1.1085,1.2107,.74627,.94282,.96752,1.01519,.86304,1.01359,.97278,1.15103,1.01359,.98561,1.02285,1.02285,1.00527,1.02285,1.0302,.99041,1.0008,1.01519,1.01359,1.02258,.79104,1.16862,.99041,.97454,1.02511,.99298,.96752,.95801,.94856,1.16579,.94856,1.2107,.9824,1.03424,1.03424,1,1.03424,1.16579,.8727,1.3871,1.18622,1.10818,1.04478,1.2107,1.18622,.75155,.94994,1.28826,1.21408,1.21408,.91056,1,.91572,.9754,.64663,1.18328,1.24866,1.04478,1.14169,1.15749,1.17389,.71703,.97363,.97363,.97363,.97363,.97363,.97363,.93506,.8641,.79795,.79795,.79795,.79795,1.1406,1.1406,1.1406,1.1406,1.02096,1.09398,.97426,.97426,.97426,.97426,.97426,1.2107,.97489,1.00135,1.00135,1.00135,1.00135,.90996,.92094,1.02798,.96752,.96752,.96752,.96752,.96752,.96752,.93136,.86304,.97278,.97278,.97278,.97278,1.02285,1.02285,1.02285,1.02285,.97122,.99041,1,1,1,1,1,1.28826,1.0008,.99041,.99041,.99041,.99041,.96752,1.01519,.96752,.97363,.96752,.97363,.96752,.97363,.96752,.8641,.86304,.8641,.86304,.8641,.86304,.8641,.86304,1.02096,1.03057,1.02096,1.03517,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.914,1.01359,.914,1.01359,.914,1.01359,1,1,1.06085,.98561,1.06085,1.00879,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,.97138,1.08692,.8007,1.02285,1,1,1.00527,.83693,1.02285,1,1,.83693,.9455,.83693,.90418,.83693,1.13005,1.09398,.99041,1,1,1.09398,.99041,.96692,1.09251,.99041,.97489,1.0008,.97489,1.0008,.97489,1.0008,.93994,.97931,.90399,1.02258,1,1,.90399,1.02258,.84041,.79104,.84041,.79104,.84041,.79104,.84041,.79104,1,1,.95923,1.07034,.95923,1.16862,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.06467,1.02511,.90996,.96752,.90996,.99361,.95801,.99361,.95801,.99361,.95801,1.07733,1.03424,.97363,.96752,.93506,.93136,.97489,1.0008,1,1,.95923,1.16862,1.15103,1.15103,1.01173,1.03959,.75953,.81378,.79912,1.15103,1.21994,.95161,.87815,1.01149,.81525,.7676,.98167,1.01134,1.02546,.84097,1.03089,1.18102,.97363,.88776,.85134,.97826,.79795,.99361,1.06085,.97489,1.1406,.89858,1.0388,1.14889,1.09398,.86039,.97489,1.0595,.92094,.94793,.95923,.90996,.99346,.98243,1.02112,.95493,1.1406,.90996,1.03574,1.02597,1.0008,1.18102,1.06628,1.03574,1.0192,1.01932,1.00886,.97531,1.0106,1.0008,1.13189,1.18102,1.02277,.98683,1.0016,.99561,1.07237,1.0008,.90434,.99921,.93803,.8965,1.23085,1.06628,1.04983,.96268,1.0499,.98439,1.18102,1.06628,1.0008,1.06628,.98439,.79795,1,1,1,1,1,1,1,1,1,1,1,1,1.09466,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.97278,1,1,1,1,1,1,1,1,1,1,1,1,1.02065,1,1,1,1,1,1,1.06467,1.02511,1.06467,1.02511,1.06467,1.02511,.90996,.96752,1,1.21408,.89903,1,1,.75155,1.04394,1.04394,1.04394,1.04394,.98633,.98633,.98633,.73047,.73047,1.20642,.91211,1.25635,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.12454,.93503,1.03424,1.19687,1.03424,1,1,1,.771,1,1,1.15749,1.15749,1.15749,1.10948,.86279,.94434,.86279,.94434,.86182,1,1,1.16897,1,.96085,.90137,1.2107,1.18416,1.13973,.69825,.9716,2.10339,1.29004,1.29004,1.21172,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18874,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.09193,1.09193,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiBoldMetrics={lineHeight:1.33008,lineGap:0};t.SegoeuiBoldItalicFactors=[1.76738,1,1,.98946,1.03959,1.04016,1.02809,1.036,.97639,1.10953,1.23203,1.11144,1.11144,1.16939,1.21237,.9754,1.21261,.9754,1.59754,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,.81378,.81378,1.21237,1.21237,1.21237,.73541,.97847,.97363,.89723,.87897,1.0426,.79429,.85292,.91149,1.05815,1.1406,.79631,.90128,.83853,1.04396,1.10615,.97552,.94436,.97552,.88641,.80527,.96083,1.00135,1,1.06777,.9817,.91142,.99361,1.11144,1.57293,1.11144,1.21237,.74627,1.31818,1.06585,.97042,.83055,.97042,.93503,1.1261,.97042,.97922,1.14236,.94552,1.01054,1.14236,1.02471,.97922,.94165,.97042,.97042,1.0276,.78929,1.1261,.97922,.95874,1.02197,.98507,.96752,.97168,.95107,1.16579,.95107,1.21237,1.03959,1.036,1.036,1,1.036,1.16579,.87357,1.31818,1.18754,1.26781,1.05356,1.21237,1.18622,.79487,.94994,1.29004,1.24047,1.24047,1.31818,1,.91484,.9754,1.31818,1.1349,1.24866,1.05356,1.13934,1.15574,1.17389,.73541,.97363,.97363,.97363,.97363,.97363,.97363,.94385,.87897,.79429,.79429,.79429,.79429,1.1406,1.1406,1.1406,1.1406,1.0426,1.10615,.97552,.97552,.97552,.97552,.97552,1.21237,.97552,1.00135,1.00135,1.00135,1.00135,.91142,.94436,.98721,1.06585,1.06585,1.06585,1.06585,1.06585,1.06585,.96705,.83055,.93503,.93503,.93503,.93503,1.14236,1.14236,1.14236,1.14236,.93125,.97922,.94165,.94165,.94165,.94165,.94165,1.29004,.94165,.97922,.97922,.97922,.97922,.96752,.97042,.96752,.97363,1.06585,.97363,1.06585,.97363,1.06585,.87897,.83055,.87897,.83055,.87897,.83055,.87897,.83055,1.0426,1.0033,1.0426,.97042,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.91149,.97042,.91149,.97042,.91149,.97042,1,1,1.05815,.97922,1.05815,.97922,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,.97441,1.04302,.79631,1.01582,1,1,1.01054,.83853,1.14236,1,1,.83853,1.09125,.83853,.90418,.83853,1.19508,1.10615,.97922,1,1,1.10615,.97922,1.01034,1.10466,.97922,.97552,.94165,.97552,.94165,.97552,.94165,.91602,.91981,.88641,1.0276,1,1,.88641,1.0276,.80527,.78929,.80527,.78929,.80527,.78929,.80527,.78929,1,1,.96083,1.05403,.95923,1.16862,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.06777,1.02197,.91142,.96752,.91142,.99361,.97168,.99361,.97168,.99361,.97168,1.23199,1.036,.97363,1.06585,.94385,.96705,.97552,.94165,1,1,.96083,1.1261,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,.95161,1.27126,1.00811,.83284,.77702,.99137,.95253,1.0347,.86142,1.07205,1.14236,.97363,.89723,.86869,1.09818,.79429,.99361,1.05815,.97552,1.1406,.90128,1.06662,1.04396,1.10615,.84918,.97552,1.04694,.94436,.98015,.96083,.91142,1.00356,.9817,1.01945,.98999,1.1406,.91142,1.04961,.9898,1.00639,1.14236,1.07514,1.04961,.99607,1.02897,1.008,.9898,.95134,1.00639,1.11121,1.14236,1.00518,.97981,1.02186,1,1.08578,.94165,.99314,.98387,.93028,.93377,1.35125,1.07514,1.10687,.93491,1.04232,1.00351,1.14236,1.07514,.94165,1.07514,1.00351,.79429,1,1,1,1,1,1,1,1,1,1,1,1,1.09097,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.93503,1,1,1,1,1,1,1,1,1,1,1,1,.96609,1,1,1,1,1,1,1.06777,1.02197,1.06777,1.02197,1.06777,1.02197,.91142,.96752,1,1.21261,.89903,1,1,.75155,1.04745,1.04745,1.04745,1.04394,.98633,.98633,.98633,.72959,.72959,1.20502,.91406,1.26514,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.09125,.93327,1.03336,1.16541,1.036,1,1,1,.771,1,1,1.15574,1.15574,1.15574,1.15574,.86364,.94434,.86279,.94434,.86224,1,1,1.16798,1,.96085,.90068,1.21237,1.18416,1.13904,.69825,.9716,2.10339,1.29004,1.29004,1.21339,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18775,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.13269,1.13269,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiBoldItalicMetrics={lineHeight:1.33008,lineGap:0};t.SegoeuiItalicFactors=[1.76738,1,1,.98946,1.14763,1.05365,1.06234,.96927,.92586,1.15373,1.18414,.91349,.91349,1.07403,1.17308,.78383,1.20088,.78383,1.42531,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78383,.78383,1.17308,1.17308,1.17308,.77349,.94565,.94729,.85944,.88506,.9858,.74817,.80016,.88449,.98039,.95782,.69238,.89898,.83231,.98183,1.03989,.96924,.86237,.96924,.80595,.74524,.86091,.95402,.94143,.98448,.8858,.83089,.93285,1.0949,1.39016,1.0949,1.45994,.74627,1.04839,.97454,.97454,.87207,.97454,.87533,1.06151,.97454,1.00176,1.16484,1.08132,.98047,1.16484,1.02989,1.01054,.96225,.97454,.97454,1.06598,.79004,1.16344,1.00351,.94629,.9973,.91016,.96777,.9043,.91082,.92481,.91082,1.17308,.95748,.96927,.96927,1,.96927,.92481,.80597,1.04839,1.23393,1.1781,.9245,1.17308,1.20808,.63218,.94261,1.24822,1.09971,1.09971,1.04839,1,.85273,.78032,1.04839,1.09971,1.22326,.9245,1.09836,1.13525,1.15222,.70424,.94729,.94729,.94729,.94729,.94729,.94729,.85498,.88506,.74817,.74817,.74817,.74817,.95782,.95782,.95782,.95782,.9858,1.03989,.96924,.96924,.96924,.96924,.96924,1.17308,.96924,.95402,.95402,.95402,.95402,.83089,.86237,.88409,.97454,.97454,.97454,.97454,.97454,.97454,.92916,.87207,.87533,.87533,.87533,.87533,.93146,.93146,.93146,.93146,.93854,1.01054,.96225,.96225,.96225,.96225,.96225,1.24822,.8761,1.00351,1.00351,1.00351,1.00351,.96777,.97454,.96777,.94729,.97454,.94729,.97454,.94729,.97454,.88506,.87207,.88506,.87207,.88506,.87207,.88506,.87207,.9858,.95391,.9858,.97454,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.88449,.97454,.88449,.97454,.88449,.97454,1,1,.98039,1.00176,.98039,1.00176,.95782,.93146,.95782,.93146,.95782,.93146,.95782,1.16484,.95782,.93146,.84421,1.12761,.69238,1.08132,1,1,.98047,.83231,1.16484,1,1,.84723,1.04861,.84723,.78755,.83231,1.23736,1.03989,1.01054,1,1,1.03989,1.01054,.9857,1.03849,1.01054,.96924,.96225,.96924,.96225,.96924,.96225,.92383,.90171,.80595,1.06598,1,1,.80595,1.06598,.74524,.79004,.74524,.79004,.74524,.79004,.74524,.79004,1,1,.86091,1.02759,.85771,1.16344,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.98448,.9973,.83089,.96777,.83089,.93285,.9043,.93285,.9043,.93285,.9043,1.31868,.96927,.94729,.97454,.85498,.92916,.96924,.8761,1,1,.86091,1.16344,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,.81965,.81965,.94729,.78032,.71022,.90883,.84171,.99877,.77596,1.05734,1.2,.94729,.85944,.82791,.9607,.74817,.93285,.98039,.96924,.95782,.89898,.98316,.98183,1.03989,.78614,.96924,.97642,.86237,.86075,.86091,.83089,.90082,.8858,.97296,1.01284,.95782,.83089,1.0976,1.04,1.03342,1.2,1.0675,1.0976,.98205,1.03809,1.05097,1.04,.95364,1.03342,1.05401,1.2,1.02148,1.0119,1.04724,1.0127,1.02732,.96225,.8965,.97783,.93574,.94818,1.30679,1.0675,1.11826,.99821,1.0557,1.0326,1.2,1.0675,.96225,1.0675,1.0326,.74817,1,1,1,1,1,1,1,1,1,1,1,1,1.03754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87533,1,1,1,1,1,1,1,1,1,1,1,1,.98705,1,1,1,1,1,1,.98448,.9973,.98448,.9973,.98448,.9973,.83089,.96777,1,1.20088,.89903,1,1,.75155,.94945,.94945,.94945,.94945,1.12317,1.12317,1.12317,.67603,.67603,1.15621,.73584,1.21191,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87709,.96927,1.01473,.96927,1,1,1,.77295,1,1,1.09836,1.09836,1.09836,1.01522,.86321,.94434,.8649,.94434,.86182,1,1,1.083,1,.91578,.86438,1.17308,1.18416,1.14589,.69825,.97622,1.96791,1.24822,1.24822,1.17308,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.17984,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10742,1.10742,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiItalicMetrics={lineHeight:1.33008,lineGap:0};t.SegoeuiRegularFactors=[1.76738,1,1,.98594,1.02285,1.10454,1.06234,.96927,.92037,1.19985,1.2046,.90616,.90616,1.07152,1.1714,.78032,1.20088,.78032,1.40246,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78032,.78032,1.1714,1.1714,1.1714,.80597,.94084,.96706,.85944,.85734,.97093,.75842,.79936,.88198,.9831,.95782,.71387,.86969,.84636,1.07796,1.03584,.96924,.83968,.96924,.82826,.79649,.85771,.95132,.93119,.98965,.88433,.8287,.93365,1.08612,1.3638,1.08612,1.45786,.74627,.80499,.91484,1.05707,.92383,1.05882,.9403,1.12654,1.05882,1.01756,1.09011,1.09011,.99414,1.09011,1.034,1.01756,1.05356,1.05707,1.05882,1.04399,.84863,1.21968,1.01756,.95801,1.00068,.91797,.96777,.9043,.90351,.92105,.90351,1.1714,.85337,.96927,.96927,.99912,.96927,.92105,.80597,1.2434,1.20808,1.05937,.90957,1.1714,1.20808,.75155,.94261,1.24644,1.09971,1.09971,.84751,1,.85273,.78032,.61584,1.05425,1.17914,.90957,1.08665,1.11593,1.14169,.73381,.96706,.96706,.96706,.96706,.96706,.96706,.86035,.85734,.75842,.75842,.75842,.75842,.95782,.95782,.95782,.95782,.97093,1.03584,.96924,.96924,.96924,.96924,.96924,1.1714,.96924,.95132,.95132,.95132,.95132,.8287,.83968,.89049,.91484,.91484,.91484,.91484,.91484,.91484,.93575,.92383,.9403,.9403,.9403,.9403,.8717,.8717,.8717,.8717,1.00527,1.01756,1.05356,1.05356,1.05356,1.05356,1.05356,1.24644,.95923,1.01756,1.01756,1.01756,1.01756,.96777,1.05707,.96777,.96706,.91484,.96706,.91484,.96706,.91484,.85734,.92383,.85734,.92383,.85734,.92383,.85734,.92383,.97093,1.0969,.97093,1.05882,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.88198,1.05882,.88198,1.05882,.88198,1.05882,1,1,.9831,1.01756,.9831,1.01756,.95782,.8717,.95782,.8717,.95782,.8717,.95782,1.09011,.95782,.8717,.84784,1.11551,.71387,1.09011,1,1,.99414,.84636,1.09011,1,1,.84636,1.0536,.84636,.94298,.84636,1.23297,1.03584,1.01756,1,1,1.03584,1.01756,1.00323,1.03444,1.01756,.96924,1.05356,.96924,1.05356,.96924,1.05356,.93066,.98293,.82826,1.04399,1,1,.82826,1.04399,.79649,.84863,.79649,.84863,.79649,.84863,.79649,.84863,1,1,.85771,1.17318,.85771,1.21968,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.98965,1.00068,.8287,.96777,.8287,.93365,.9043,.93365,.9043,.93365,.9043,1.08571,.96927,.96706,.91484,.86035,.93575,.96924,.95923,1,1,.85771,1.21968,1.11437,1.11437,.93109,.91202,.60411,.84164,.55572,1.01173,.97361,.81818,.81818,.96635,.78032,.72727,.92366,.98601,1.03405,.77968,1.09799,1.2,.96706,.85944,.85638,.96491,.75842,.93365,.9831,.96924,.95782,.86969,.94152,1.07796,1.03584,.78437,.96924,.98715,.83968,.83491,.85771,.8287,.94492,.88433,.9287,1.0098,.95782,.8287,1.0625,.98248,1.03424,1.2,1.01071,1.0625,.95246,1.03809,1.04912,.98248,1.00221,1.03424,1.05443,1.2,1.04785,.99609,1.00169,1.05176,.99346,1.05356,.9087,1.03004,.95542,.93117,1.23362,1.01071,1.07831,1.02512,1.05205,1.03502,1.2,1.01071,1.05356,1.01071,1.03502,.75842,1,1,1,1,1,1,1,1,1,1,1,1,1.03719,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9403,1,1,1,1,1,1,1,1,1,1,1,1,1.04021,1,1,1,1,1,1,.98965,1.00068,.98965,1.00068,.98965,1.00068,.8287,.96777,1,1.20088,.89903,1,1,.75155,1.03077,1.03077,1.03077,1.03077,1.13196,1.13196,1.13196,.67428,.67428,1.16039,.73291,1.20996,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87796,.96927,1.01518,.96927,1,1,1,.77295,1,1,1.10539,1.10539,1.11358,1.06967,.86279,.94434,.86279,.94434,.86182,1,1,1.083,1,.91578,.86507,1.1714,1.18416,1.14589,.69825,.97622,1.9697,1.24822,1.24822,1.17238,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18083,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10938,1.10938,1,1,1,1.05425,1.09971,1.09971,1.09971,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiRegularMetrics={lineHeight:1.33008,lineGap:0}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.SEAC_ANALYSIS_ENABLED=t.MacStandardGlyphOrdering=t.FontFlags=void 0;t.getFontType=function getFontType(e,t,a=!1){switch(e){case\\\"Type1\\\":return a?r.FontType.TYPE1STANDARD:\\\"Type1C\\\"===t?r.FontType.TYPE1C:r.FontType.TYPE1;case\\\"CIDFontType0\\\":return\\\"CIDFontType0C\\\"===t?r.FontType.CIDFONTTYPE0C:r.FontType.CIDFONTTYPE0;case\\\"OpenType\\\":return r.FontType.OPENTYPE;case\\\"TrueType\\\":return r.FontType.TRUETYPE;case\\\"CIDFontType2\\\":return r.FontType.CIDFONTTYPE2;case\\\"MMType1\\\":return r.FontType.MMTYPE1;case\\\"Type0\\\":return r.FontType.TYPE0;default:return r.FontType.UNKNOWN}};t.normalizeFontName=function normalizeFontName(e){return e.replace(/[,_]/g,\\\"-\\\").replace(/\\\\s/g,\\\"\\\")};t.recoverGlyphName=recoverGlyphName;t.type1FontGlyphMapping=function type1FontGlyphMapping(e,t,a){const r=Object.create(null);let s,c,l;const h=!!(e.flags&o.Symbolic);if(e.isInternalFont){l=t;for(c=0;c=0?s:0}}else if(e.baseEncodingName){l=(0,n.getEncoding)(e.baseEncodingName);for(c=0;c=0?s:0}}else if(h)for(c in t)r[c]=t[c];else{l=n.StandardEncoding;for(c=0;c=0?s:0}}const u=e.differences;let d;if(u)for(c in u){const e=u[c];s=a.indexOf(e);if(-1===s){d||(d=(0,i.getGlyphsUnicode)());const t=recoverGlyphName(e,d);t!==e&&(s=a.indexOf(t))}r[c]=s>=0?s:0}return r};var r=a(2),n=a(19),i=a(20),s=a(21);t.SEAC_ANALYSIS_ENABLED=!0;const o={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144};t.FontFlags=o;t.MacStandardGlyphOrdering=[\\\".notdef\\\",\\\".null\\\",\\\"nonmarkingreturn\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quotesingle\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"grave\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"Adieresis\\\",\\\"Aring\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ntilde\\\",\\\"Odieresis\\\",\\\"Udieresis\\\",\\\"aacute\\\",\\\"agrave\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"atilde\\\",\\\"aring\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"egrave\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"iacute\\\",\\\"igrave\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ograve\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"otilde\\\",\\\"uacute\\\",\\\"ugrave\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"dagger\\\",\\\"degree\\\",\\\"cent\\\",\\\"sterling\\\",\\\"section\\\",\\\"bullet\\\",\\\"paragraph\\\",\\\"germandbls\\\",\\\"registered\\\",\\\"copyright\\\",\\\"trademark\\\",\\\"acute\\\",\\\"dieresis\\\",\\\"notequal\\\",\\\"AE\\\",\\\"Oslash\\\",\\\"infinity\\\",\\\"plusminus\\\",\\\"lessequal\\\",\\\"greaterequal\\\",\\\"yen\\\",\\\"mu\\\",\\\"partialdiff\\\",\\\"summation\\\",\\\"product\\\",\\\"pi\\\",\\\"integral\\\",\\\"ordfeminine\\\",\\\"ordmasculine\\\",\\\"Omega\\\",\\\"ae\\\",\\\"oslash\\\",\\\"questiondown\\\",\\\"exclamdown\\\",\\\"logicalnot\\\",\\\"radical\\\",\\\"florin\\\",\\\"approxequal\\\",\\\"Delta\\\",\\\"guillemotleft\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"nonbreakingspace\\\",\\\"Agrave\\\",\\\"Atilde\\\",\\\"Otilde\\\",\\\"OE\\\",\\\"oe\\\",\\\"endash\\\",\\\"emdash\\\",\\\"quotedblleft\\\",\\\"quotedblright\\\",\\\"quoteleft\\\",\\\"quoteright\\\",\\\"divide\\\",\\\"lozenge\\\",\\\"ydieresis\\\",\\\"Ydieresis\\\",\\\"fraction\\\",\\\"currency\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"perthousand\\\",\\\"Acircumflex\\\",\\\"Ecircumflex\\\",\\\"Aacute\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"apple\\\",\\\"Ograve\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Ugrave\\\",\\\"dotlessi\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"Lslash\\\",\\\"lslash\\\",\\\"Scaron\\\",\\\"scaron\\\",\\\"Zcaron\\\",\\\"zcaron\\\",\\\"brokenbar\\\",\\\"Eth\\\",\\\"eth\\\",\\\"Yacute\\\",\\\"yacute\\\",\\\"Thorn\\\",\\\"thorn\\\",\\\"minus\\\",\\\"multiply\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"onehalf\\\",\\\"onequarter\\\",\\\"threequarters\\\",\\\"franc\\\",\\\"Gbreve\\\",\\\"gbreve\\\",\\\"Idotaccent\\\",\\\"Scedilla\\\",\\\"scedilla\\\",\\\"Cacute\\\",\\\"cacute\\\",\\\"Ccaron\\\",\\\"ccaron\\\",\\\"dcroat\\\"];function recoverGlyphName(e,t){if(void 0!==t[e])return e;const a=(0,s.getUnicodeForGlyph)(e,t);if(-1!==a)for(const e in t)if(t[e]===a)return e;(0,r.info)(\\\"Unable to recover a standard glyph name for: \\\"+e);return e}},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ZapfDingbatsEncoding=t.WinAnsiEncoding=t.SymbolSetEncoding=t.StandardEncoding=t.MacRomanEncoding=t.ExpertEncoding=void 0;t.getEncoding=function getEncoding(e){switch(e){case\\\"WinAnsiEncoding\\\":return s;case\\\"StandardEncoding\\\":return i;case\\\"MacRomanEncoding\\\":return n;case\\\"SymbolSetEncoding\\\":return o;case\\\"ZapfDingbatsEncoding\\\":return c;case\\\"ExpertEncoding\\\":return a;case\\\"MacExpertEncoding\\\":return r;default:return null}};const a=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"questionsmall\\\",\\\"\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"isuperior\\\",\\\"\\\",\\\"\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"\\\",\\\"\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hyphensuperior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"exclamdownsmall\\\",\\\"centoldstyle\\\",\\\"Lslashsmall\\\",\\\"\\\",\\\"\\\",\\\"Scaronsmall\\\",\\\"Zcaronsmall\\\",\\\"Dieresissmall\\\",\\\"Brevesmall\\\",\\\"Caronsmall\\\",\\\"\\\",\\\"Dotaccentsmall\\\",\\\"\\\",\\\"\\\",\\\"Macronsmall\\\",\\\"\\\",\\\"\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"\\\",\\\"\\\",\\\"Ogoneksmall\\\",\\\"Ringsmall\\\",\\\"Cedillasmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"questiondownsmall\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"\\\",\\\"\\\",\\\"zerosuperior\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\",\\\"Agravesmall\\\",\\\"Aacutesmall\\\",\\\"Acircumflexsmall\\\",\\\"Atildesmall\\\",\\\"Adieresissmall\\\",\\\"Aringsmall\\\",\\\"AEsmall\\\",\\\"Ccedillasmall\\\",\\\"Egravesmall\\\",\\\"Eacutesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Igravesmall\\\",\\\"Iacutesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ethsmall\\\",\\\"Ntildesmall\\\",\\\"Ogravesmall\\\",\\\"Oacutesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Otildesmall\\\",\\\"Odieresissmall\\\",\\\"OEsmall\\\",\\\"Oslashsmall\\\",\\\"Ugravesmall\\\",\\\"Uacutesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"Yacutesmall\\\",\\\"Thornsmall\\\",\\\"Ydieresissmall\\\"];t.ExpertEncoding=a;const r=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"centoldstyle\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"\\\",\\\"threequartersemdash\\\",\\\"\\\",\\\"questionsmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Ethsmall\\\",\\\"\\\",\\\"\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hypheninferior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"\\\",\\\"\\\",\\\"asuperior\\\",\\\"centsuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Aacutesmall\\\",\\\"Agravesmall\\\",\\\"Acircumflexsmall\\\",\\\"Adieresissmall\\\",\\\"Atildesmall\\\",\\\"Aringsmall\\\",\\\"Ccedillasmall\\\",\\\"Eacutesmall\\\",\\\"Egravesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Iacutesmall\\\",\\\"Igravesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ntildesmall\\\",\\\"Oacutesmall\\\",\\\"Ogravesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Odieresissmall\\\",\\\"Otildesmall\\\",\\\"Uacutesmall\\\",\\\"Ugravesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"\\\",\\\"eightsuperior\\\",\\\"fourinferior\\\",\\\"threeinferior\\\",\\\"sixinferior\\\",\\\"eightinferior\\\",\\\"seveninferior\\\",\\\"Scaronsmall\\\",\\\"\\\",\\\"centinferior\\\",\\\"twoinferior\\\",\\\"\\\",\\\"Dieresissmall\\\",\\\"\\\",\\\"Caronsmall\\\",\\\"osuperior\\\",\\\"fiveinferior\\\",\\\"\\\",\\\"commainferior\\\",\\\"periodinferior\\\",\\\"Yacutesmall\\\",\\\"\\\",\\\"dollarinferior\\\",\\\"\\\",\\\"\\\",\\\"Thornsmall\\\",\\\"\\\",\\\"nineinferior\\\",\\\"zeroinferior\\\",\\\"Zcaronsmall\\\",\\\"AEsmall\\\",\\\"Oslashsmall\\\",\\\"questiondownsmall\\\",\\\"oneinferior\\\",\\\"Lslashsmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Cedillasmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"OEsmall\\\",\\\"figuredash\\\",\\\"hyphensuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"exclamdownsmall\\\",\\\"\\\",\\\"Ydieresissmall\\\",\\\"\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"ninesuperior\\\",\\\"zerosuperior\\\",\\\"\\\",\\\"esuperior\\\",\\\"rsuperior\\\",\\\"tsuperior\\\",\\\"\\\",\\\"\\\",\\\"isuperior\\\",\\\"ssuperior\\\",\\\"dsuperior\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"lsuperior\\\",\\\"Ogoneksmall\\\",\\\"Brevesmall\\\",\\\"Macronsmall\\\",\\\"bsuperior\\\",\\\"nsuperior\\\",\\\"msuperior\\\",\\\"commasuperior\\\",\\\"periodsuperior\\\",\\\"Dotaccentsmall\\\",\\\"Ringsmall\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"],n=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quotesingle\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"grave\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"\\\",\\\"Adieresis\\\",\\\"Aring\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ntilde\\\",\\\"Odieresis\\\",\\\"Udieresis\\\",\\\"aacute\\\",\\\"agrave\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"atilde\\\",\\\"aring\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"egrave\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"iacute\\\",\\\"igrave\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ograve\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"otilde\\\",\\\"uacute\\\",\\\"ugrave\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"dagger\\\",\\\"degree\\\",\\\"cent\\\",\\\"sterling\\\",\\\"section\\\",\\\"bullet\\\",\\\"paragraph\\\",\\\"germandbls\\\",\\\"registered\\\",\\\"copyright\\\",\\\"trademark\\\",\\\"acute\\\",\\\"dieresis\\\",\\\"notequal\\\",\\\"AE\\\",\\\"Oslash\\\",\\\"infinity\\\",\\\"plusminus\\\",\\\"lessequal\\\",\\\"greaterequal\\\",\\\"yen\\\",\\\"mu\\\",\\\"partialdiff\\\",\\\"summation\\\",\\\"product\\\",\\\"pi\\\",\\\"integral\\\",\\\"ordfeminine\\\",\\\"ordmasculine\\\",\\\"Omega\\\",\\\"ae\\\",\\\"oslash\\\",\\\"questiondown\\\",\\\"exclamdown\\\",\\\"logicalnot\\\",\\\"radical\\\",\\\"florin\\\",\\\"approxequal\\\",\\\"Delta\\\",\\\"guillemotleft\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"space\\\",\\\"Agrave\\\",\\\"Atilde\\\",\\\"Otilde\\\",\\\"OE\\\",\\\"oe\\\",\\\"endash\\\",\\\"emdash\\\",\\\"quotedblleft\\\",\\\"quotedblright\\\",\\\"quoteleft\\\",\\\"quoteright\\\",\\\"divide\\\",\\\"lozenge\\\",\\\"ydieresis\\\",\\\"Ydieresis\\\",\\\"fraction\\\",\\\"currency\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"perthousand\\\",\\\"Acircumflex\\\",\\\"Ecircumflex\\\",\\\"Aacute\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"apple\\\",\\\"Ograve\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Ugrave\\\",\\\"dotlessi\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\"];t.MacRomanEncoding=n;const i=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quoteright\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"quoteleft\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"fraction\\\",\\\"yen\\\",\\\"florin\\\",\\\"section\\\",\\\"currency\\\",\\\"quotesingle\\\",\\\"quotedblleft\\\",\\\"guillemotleft\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"\\\",\\\"endash\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"\\\",\\\"paragraph\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"quotedblright\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"perthousand\\\",\\\"\\\",\\\"questiondown\\\",\\\"\\\",\\\"grave\\\",\\\"acute\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"dieresis\\\",\\\"\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"emdash\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"AE\\\",\\\"\\\",\\\"ordfeminine\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Lslash\\\",\\\"Oslash\\\",\\\"OE\\\",\\\"ordmasculine\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"ae\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"dotlessi\\\",\\\"\\\",\\\"\\\",\\\"lslash\\\",\\\"oslash\\\",\\\"oe\\\",\\\"germandbls\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"];t.StandardEncoding=i;const s=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quotesingle\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"grave\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"bullet\\\",\\\"Euro\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"florin\\\",\\\"quotedblbase\\\",\\\"ellipsis\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"circumflex\\\",\\\"perthousand\\\",\\\"Scaron\\\",\\\"guilsinglleft\\\",\\\"OE\\\",\\\"bullet\\\",\\\"Zcaron\\\",\\\"bullet\\\",\\\"bullet\\\",\\\"quoteleft\\\",\\\"quoteright\\\",\\\"quotedblleft\\\",\\\"quotedblright\\\",\\\"bullet\\\",\\\"endash\\\",\\\"emdash\\\",\\\"tilde\\\",\\\"trademark\\\",\\\"scaron\\\",\\\"guilsinglright\\\",\\\"oe\\\",\\\"bullet\\\",\\\"zcaron\\\",\\\"Ydieresis\\\",\\\"space\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"currency\\\",\\\"yen\\\",\\\"brokenbar\\\",\\\"section\\\",\\\"dieresis\\\",\\\"copyright\\\",\\\"ordfeminine\\\",\\\"guillemotleft\\\",\\\"logicalnot\\\",\\\"hyphen\\\",\\\"registered\\\",\\\"macron\\\",\\\"degree\\\",\\\"plusminus\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"acute\\\",\\\"mu\\\",\\\"paragraph\\\",\\\"periodcentered\\\",\\\"cedilla\\\",\\\"onesuperior\\\",\\\"ordmasculine\\\",\\\"guillemotright\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"questiondown\\\",\\\"Agrave\\\",\\\"Aacute\\\",\\\"Acircumflex\\\",\\\"Atilde\\\",\\\"Adieresis\\\",\\\"Aring\\\",\\\"AE\\\",\\\"Ccedilla\\\",\\\"Egrave\\\",\\\"Eacute\\\",\\\"Ecircumflex\\\",\\\"Edieresis\\\",\\\"Igrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Eth\\\",\\\"Ntilde\\\",\\\"Ograve\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"Otilde\\\",\\\"Odieresis\\\",\\\"multiply\\\",\\\"Oslash\\\",\\\"Ugrave\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Udieresis\\\",\\\"Yacute\\\",\\\"Thorn\\\",\\\"germandbls\\\",\\\"agrave\\\",\\\"aacute\\\",\\\"acircumflex\\\",\\\"atilde\\\",\\\"adieresis\\\",\\\"aring\\\",\\\"ae\\\",\\\"ccedilla\\\",\\\"egrave\\\",\\\"eacute\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"igrave\\\",\\\"iacute\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"eth\\\",\\\"ntilde\\\",\\\"ograve\\\",\\\"oacute\\\",\\\"ocircumflex\\\",\\\"otilde\\\",\\\"odieresis\\\",\\\"divide\\\",\\\"oslash\\\",\\\"ugrave\\\",\\\"uacute\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"yacute\\\",\\\"thorn\\\",\\\"ydieresis\\\"];t.WinAnsiEncoding=s;const o=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"exclam\\\",\\\"universal\\\",\\\"numbersign\\\",\\\"existential\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"suchthat\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asteriskmath\\\",\\\"plus\\\",\\\"comma\\\",\\\"minus\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"congruent\\\",\\\"Alpha\\\",\\\"Beta\\\",\\\"Chi\\\",\\\"Delta\\\",\\\"Epsilon\\\",\\\"Phi\\\",\\\"Gamma\\\",\\\"Eta\\\",\\\"Iota\\\",\\\"theta1\\\",\\\"Kappa\\\",\\\"Lambda\\\",\\\"Mu\\\",\\\"Nu\\\",\\\"Omicron\\\",\\\"Pi\\\",\\\"Theta\\\",\\\"Rho\\\",\\\"Sigma\\\",\\\"Tau\\\",\\\"Upsilon\\\",\\\"sigma1\\\",\\\"Omega\\\",\\\"Xi\\\",\\\"Psi\\\",\\\"Zeta\\\",\\\"bracketleft\\\",\\\"therefore\\\",\\\"bracketright\\\",\\\"perpendicular\\\",\\\"underscore\\\",\\\"radicalex\\\",\\\"alpha\\\",\\\"beta\\\",\\\"chi\\\",\\\"delta\\\",\\\"epsilon\\\",\\\"phi\\\",\\\"gamma\\\",\\\"eta\\\",\\\"iota\\\",\\\"phi1\\\",\\\"kappa\\\",\\\"lambda\\\",\\\"mu\\\",\\\"nu\\\",\\\"omicron\\\",\\\"pi\\\",\\\"theta\\\",\\\"rho\\\",\\\"sigma\\\",\\\"tau\\\",\\\"upsilon\\\",\\\"omega1\\\",\\\"omega\\\",\\\"xi\\\",\\\"psi\\\",\\\"zeta\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"similar\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"Euro\\\",\\\"Upsilon1\\\",\\\"minute\\\",\\\"lessequal\\\",\\\"fraction\\\",\\\"infinity\\\",\\\"florin\\\",\\\"club\\\",\\\"diamond\\\",\\\"heart\\\",\\\"spade\\\",\\\"arrowboth\\\",\\\"arrowleft\\\",\\\"arrowup\\\",\\\"arrowright\\\",\\\"arrowdown\\\",\\\"degree\\\",\\\"plusminus\\\",\\\"second\\\",\\\"greaterequal\\\",\\\"multiply\\\",\\\"proportional\\\",\\\"partialdiff\\\",\\\"bullet\\\",\\\"divide\\\",\\\"notequal\\\",\\\"equivalence\\\",\\\"approxequal\\\",\\\"ellipsis\\\",\\\"arrowvertex\\\",\\\"arrowhorizex\\\",\\\"carriagereturn\\\",\\\"aleph\\\",\\\"Ifraktur\\\",\\\"Rfraktur\\\",\\\"weierstrass\\\",\\\"circlemultiply\\\",\\\"circleplus\\\",\\\"emptyset\\\",\\\"intersection\\\",\\\"union\\\",\\\"propersuperset\\\",\\\"reflexsuperset\\\",\\\"notsubset\\\",\\\"propersubset\\\",\\\"reflexsubset\\\",\\\"element\\\",\\\"notelement\\\",\\\"angle\\\",\\\"gradient\\\",\\\"registerserif\\\",\\\"copyrightserif\\\",\\\"trademarkserif\\\",\\\"product\\\",\\\"radical\\\",\\\"dotmath\\\",\\\"logicalnot\\\",\\\"logicaland\\\",\\\"logicalor\\\",\\\"arrowdblboth\\\",\\\"arrowdblleft\\\",\\\"arrowdblup\\\",\\\"arrowdblright\\\",\\\"arrowdbldown\\\",\\\"lozenge\\\",\\\"angleleft\\\",\\\"registersans\\\",\\\"copyrightsans\\\",\\\"trademarksans\\\",\\\"summation\\\",\\\"parenlefttp\\\",\\\"parenleftex\\\",\\\"parenleftbt\\\",\\\"bracketlefttp\\\",\\\"bracketleftex\\\",\\\"bracketleftbt\\\",\\\"bracelefttp\\\",\\\"braceleftmid\\\",\\\"braceleftbt\\\",\\\"braceex\\\",\\\"\\\",\\\"angleright\\\",\\\"integral\\\",\\\"integraltp\\\",\\\"integralex\\\",\\\"integralbt\\\",\\\"parenrighttp\\\",\\\"parenrightex\\\",\\\"parenrightbt\\\",\\\"bracketrighttp\\\",\\\"bracketrightex\\\",\\\"bracketrightbt\\\",\\\"bracerighttp\\\",\\\"bracerightmid\\\",\\\"bracerightbt\\\",\\\"\\\"];t.SymbolSetEncoding=o;const c=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"space\\\",\\\"a1\\\",\\\"a2\\\",\\\"a202\\\",\\\"a3\\\",\\\"a4\\\",\\\"a5\\\",\\\"a119\\\",\\\"a118\\\",\\\"a117\\\",\\\"a11\\\",\\\"a12\\\",\\\"a13\\\",\\\"a14\\\",\\\"a15\\\",\\\"a16\\\",\\\"a105\\\",\\\"a17\\\",\\\"a18\\\",\\\"a19\\\",\\\"a20\\\",\\\"a21\\\",\\\"a22\\\",\\\"a23\\\",\\\"a24\\\",\\\"a25\\\",\\\"a26\\\",\\\"a27\\\",\\\"a28\\\",\\\"a6\\\",\\\"a7\\\",\\\"a8\\\",\\\"a9\\\",\\\"a10\\\",\\\"a29\\\",\\\"a30\\\",\\\"a31\\\",\\\"a32\\\",\\\"a33\\\",\\\"a34\\\",\\\"a35\\\",\\\"a36\\\",\\\"a37\\\",\\\"a38\\\",\\\"a39\\\",\\\"a40\\\",\\\"a41\\\",\\\"a42\\\",\\\"a43\\\",\\\"a44\\\",\\\"a45\\\",\\\"a46\\\",\\\"a47\\\",\\\"a48\\\",\\\"a49\\\",\\\"a50\\\",\\\"a51\\\",\\\"a52\\\",\\\"a53\\\",\\\"a54\\\",\\\"a55\\\",\\\"a56\\\",\\\"a57\\\",\\\"a58\\\",\\\"a59\\\",\\\"a60\\\",\\\"a61\\\",\\\"a62\\\",\\\"a63\\\",\\\"a64\\\",\\\"a65\\\",\\\"a66\\\",\\\"a67\\\",\\\"a68\\\",\\\"a69\\\",\\\"a70\\\",\\\"a71\\\",\\\"a72\\\",\\\"a73\\\",\\\"a74\\\",\\\"a203\\\",\\\"a75\\\",\\\"a204\\\",\\\"a76\\\",\\\"a77\\\",\\\"a78\\\",\\\"a79\\\",\\\"a81\\\",\\\"a82\\\",\\\"a83\\\",\\\"a84\\\",\\\"a97\\\",\\\"a98\\\",\\\"a99\\\",\\\"a100\\\",\\\"\\\",\\\"a89\\\",\\\"a90\\\",\\\"a93\\\",\\\"a94\\\",\\\"a91\\\",\\\"a92\\\",\\\"a205\\\",\\\"a85\\\",\\\"a206\\\",\\\"a86\\\",\\\"a87\\\",\\\"a88\\\",\\\"a95\\\",\\\"a96\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"a101\\\",\\\"a102\\\",\\\"a103\\\",\\\"a104\\\",\\\"a106\\\",\\\"a107\\\",\\\"a108\\\",\\\"a112\\\",\\\"a111\\\",\\\"a110\\\",\\\"a109\\\",\\\"a120\\\",\\\"a121\\\",\\\"a122\\\",\\\"a123\\\",\\\"a124\\\",\\\"a125\\\",\\\"a126\\\",\\\"a127\\\",\\\"a128\\\",\\\"a129\\\",\\\"a130\\\",\\\"a131\\\",\\\"a132\\\",\\\"a133\\\",\\\"a134\\\",\\\"a135\\\",\\\"a136\\\",\\\"a137\\\",\\\"a138\\\",\\\"a139\\\",\\\"a140\\\",\\\"a141\\\",\\\"a142\\\",\\\"a143\\\",\\\"a144\\\",\\\"a145\\\",\\\"a146\\\",\\\"a147\\\",\\\"a148\\\",\\\"a149\\\",\\\"a150\\\",\\\"a151\\\",\\\"a152\\\",\\\"a153\\\",\\\"a154\\\",\\\"a155\\\",\\\"a156\\\",\\\"a157\\\",\\\"a158\\\",\\\"a159\\\",\\\"a160\\\",\\\"a161\\\",\\\"a163\\\",\\\"a164\\\",\\\"a196\\\",\\\"a165\\\",\\\"a192\\\",\\\"a166\\\",\\\"a167\\\",\\\"a168\\\",\\\"a169\\\",\\\"a170\\\",\\\"a171\\\",\\\"a172\\\",\\\"a173\\\",\\\"a162\\\",\\\"a174\\\",\\\"a175\\\",\\\"a176\\\",\\\"a177\\\",\\\"a178\\\",\\\"a179\\\",\\\"a193\\\",\\\"a180\\\",\\\"a199\\\",\\\"a181\\\",\\\"a200\\\",\\\"a182\\\",\\\"\\\",\\\"a201\\\",\\\"a183\\\",\\\"a184\\\",\\\"a197\\\",\\\"a185\\\",\\\"a194\\\",\\\"a198\\\",\\\"a186\\\",\\\"a195\\\",\\\"a187\\\",\\\"a188\\\",\\\"a189\\\",\\\"a190\\\",\\\"a191\\\",\\\"\\\"];t.ZapfDingbatsEncoding=c},(e,t,a)=>{a.r(t);a.d(t,{getDingbatsGlyphsUnicode:()=>i,getGlyphsUnicode:()=>n});var r=a(8);const n=(0,r.getArrayLookupTableFactory)((function(){return[\\\"A\\\",65,\\\"AE\\\",198,\\\"AEacute\\\",508,\\\"AEmacron\\\",482,\\\"AEsmall\\\",63462,\\\"Aacute\\\",193,\\\"Aacutesmall\\\",63457,\\\"Abreve\\\",258,\\\"Abreveacute\\\",7854,\\\"Abrevecyrillic\\\",1232,\\\"Abrevedotbelow\\\",7862,\\\"Abrevegrave\\\",7856,\\\"Abrevehookabove\\\",7858,\\\"Abrevetilde\\\",7860,\\\"Acaron\\\",461,\\\"Acircle\\\",9398,\\\"Acircumflex\\\",194,\\\"Acircumflexacute\\\",7844,\\\"Acircumflexdotbelow\\\",7852,\\\"Acircumflexgrave\\\",7846,\\\"Acircumflexhookabove\\\",7848,\\\"Acircumflexsmall\\\",63458,\\\"Acircumflextilde\\\",7850,\\\"Acute\\\",63177,\\\"Acutesmall\\\",63412,\\\"Acyrillic\\\",1040,\\\"Adblgrave\\\",512,\\\"Adieresis\\\",196,\\\"Adieresiscyrillic\\\",1234,\\\"Adieresismacron\\\",478,\\\"Adieresissmall\\\",63460,\\\"Adotbelow\\\",7840,\\\"Adotmacron\\\",480,\\\"Agrave\\\",192,\\\"Agravesmall\\\",63456,\\\"Ahookabove\\\",7842,\\\"Aiecyrillic\\\",1236,\\\"Ainvertedbreve\\\",514,\\\"Alpha\\\",913,\\\"Alphatonos\\\",902,\\\"Amacron\\\",256,\\\"Amonospace\\\",65313,\\\"Aogonek\\\",260,\\\"Aring\\\",197,\\\"Aringacute\\\",506,\\\"Aringbelow\\\",7680,\\\"Aringsmall\\\",63461,\\\"Asmall\\\",63329,\\\"Atilde\\\",195,\\\"Atildesmall\\\",63459,\\\"Aybarmenian\\\",1329,\\\"B\\\",66,\\\"Bcircle\\\",9399,\\\"Bdotaccent\\\",7682,\\\"Bdotbelow\\\",7684,\\\"Becyrillic\\\",1041,\\\"Benarmenian\\\",1330,\\\"Beta\\\",914,\\\"Bhook\\\",385,\\\"Blinebelow\\\",7686,\\\"Bmonospace\\\",65314,\\\"Brevesmall\\\",63220,\\\"Bsmall\\\",63330,\\\"Btopbar\\\",386,\\\"C\\\",67,\\\"Caarmenian\\\",1342,\\\"Cacute\\\",262,\\\"Caron\\\",63178,\\\"Caronsmall\\\",63221,\\\"Ccaron\\\",268,\\\"Ccedilla\\\",199,\\\"Ccedillaacute\\\",7688,\\\"Ccedillasmall\\\",63463,\\\"Ccircle\\\",9400,\\\"Ccircumflex\\\",264,\\\"Cdot\\\",266,\\\"Cdotaccent\\\",266,\\\"Cedillasmall\\\",63416,\\\"Chaarmenian\\\",1353,\\\"Cheabkhasiancyrillic\\\",1212,\\\"Checyrillic\\\",1063,\\\"Chedescenderabkhasiancyrillic\\\",1214,\\\"Chedescendercyrillic\\\",1206,\\\"Chedieresiscyrillic\\\",1268,\\\"Cheharmenian\\\",1347,\\\"Chekhakassiancyrillic\\\",1227,\\\"Cheverticalstrokecyrillic\\\",1208,\\\"Chi\\\",935,\\\"Chook\\\",391,\\\"Circumflexsmall\\\",63222,\\\"Cmonospace\\\",65315,\\\"Coarmenian\\\",1361,\\\"Csmall\\\",63331,\\\"D\\\",68,\\\"DZ\\\",497,\\\"DZcaron\\\",452,\\\"Daarmenian\\\",1332,\\\"Dafrican\\\",393,\\\"Dcaron\\\",270,\\\"Dcedilla\\\",7696,\\\"Dcircle\\\",9401,\\\"Dcircumflexbelow\\\",7698,\\\"Dcroat\\\",272,\\\"Ddotaccent\\\",7690,\\\"Ddotbelow\\\",7692,\\\"Decyrillic\\\",1044,\\\"Deicoptic\\\",1006,\\\"Delta\\\",8710,\\\"Deltagreek\\\",916,\\\"Dhook\\\",394,\\\"Dieresis\\\",63179,\\\"DieresisAcute\\\",63180,\\\"DieresisGrave\\\",63181,\\\"Dieresissmall\\\",63400,\\\"Digammagreek\\\",988,\\\"Djecyrillic\\\",1026,\\\"Dlinebelow\\\",7694,\\\"Dmonospace\\\",65316,\\\"Dotaccentsmall\\\",63223,\\\"Dslash\\\",272,\\\"Dsmall\\\",63332,\\\"Dtopbar\\\",395,\\\"Dz\\\",498,\\\"Dzcaron\\\",453,\\\"Dzeabkhasiancyrillic\\\",1248,\\\"Dzecyrillic\\\",1029,\\\"Dzhecyrillic\\\",1039,\\\"E\\\",69,\\\"Eacute\\\",201,\\\"Eacutesmall\\\",63465,\\\"Ebreve\\\",276,\\\"Ecaron\\\",282,\\\"Ecedillabreve\\\",7708,\\\"Echarmenian\\\",1333,\\\"Ecircle\\\",9402,\\\"Ecircumflex\\\",202,\\\"Ecircumflexacute\\\",7870,\\\"Ecircumflexbelow\\\",7704,\\\"Ecircumflexdotbelow\\\",7878,\\\"Ecircumflexgrave\\\",7872,\\\"Ecircumflexhookabove\\\",7874,\\\"Ecircumflexsmall\\\",63466,\\\"Ecircumflextilde\\\",7876,\\\"Ecyrillic\\\",1028,\\\"Edblgrave\\\",516,\\\"Edieresis\\\",203,\\\"Edieresissmall\\\",63467,\\\"Edot\\\",278,\\\"Edotaccent\\\",278,\\\"Edotbelow\\\",7864,\\\"Efcyrillic\\\",1060,\\\"Egrave\\\",200,\\\"Egravesmall\\\",63464,\\\"Eharmenian\\\",1335,\\\"Ehookabove\\\",7866,\\\"Eightroman\\\",8551,\\\"Einvertedbreve\\\",518,\\\"Eiotifiedcyrillic\\\",1124,\\\"Elcyrillic\\\",1051,\\\"Elevenroman\\\",8554,\\\"Emacron\\\",274,\\\"Emacronacute\\\",7702,\\\"Emacrongrave\\\",7700,\\\"Emcyrillic\\\",1052,\\\"Emonospace\\\",65317,\\\"Encyrillic\\\",1053,\\\"Endescendercyrillic\\\",1186,\\\"Eng\\\",330,\\\"Enghecyrillic\\\",1188,\\\"Enhookcyrillic\\\",1223,\\\"Eogonek\\\",280,\\\"Eopen\\\",400,\\\"Epsilon\\\",917,\\\"Epsilontonos\\\",904,\\\"Ercyrillic\\\",1056,\\\"Ereversed\\\",398,\\\"Ereversedcyrillic\\\",1069,\\\"Escyrillic\\\",1057,\\\"Esdescendercyrillic\\\",1194,\\\"Esh\\\",425,\\\"Esmall\\\",63333,\\\"Eta\\\",919,\\\"Etarmenian\\\",1336,\\\"Etatonos\\\",905,\\\"Eth\\\",208,\\\"Ethsmall\\\",63472,\\\"Etilde\\\",7868,\\\"Etildebelow\\\",7706,\\\"Euro\\\",8364,\\\"Ezh\\\",439,\\\"Ezhcaron\\\",494,\\\"Ezhreversed\\\",440,\\\"F\\\",70,\\\"Fcircle\\\",9403,\\\"Fdotaccent\\\",7710,\\\"Feharmenian\\\",1366,\\\"Feicoptic\\\",996,\\\"Fhook\\\",401,\\\"Fitacyrillic\\\",1138,\\\"Fiveroman\\\",8548,\\\"Fmonospace\\\",65318,\\\"Fourroman\\\",8547,\\\"Fsmall\\\",63334,\\\"G\\\",71,\\\"GBsquare\\\",13191,\\\"Gacute\\\",500,\\\"Gamma\\\",915,\\\"Gammaafrican\\\",404,\\\"Gangiacoptic\\\",1002,\\\"Gbreve\\\",286,\\\"Gcaron\\\",486,\\\"Gcedilla\\\",290,\\\"Gcircle\\\",9404,\\\"Gcircumflex\\\",284,\\\"Gcommaaccent\\\",290,\\\"Gdot\\\",288,\\\"Gdotaccent\\\",288,\\\"Gecyrillic\\\",1043,\\\"Ghadarmenian\\\",1346,\\\"Ghemiddlehookcyrillic\\\",1172,\\\"Ghestrokecyrillic\\\",1170,\\\"Gheupturncyrillic\\\",1168,\\\"Ghook\\\",403,\\\"Gimarmenian\\\",1331,\\\"Gjecyrillic\\\",1027,\\\"Gmacron\\\",7712,\\\"Gmonospace\\\",65319,\\\"Grave\\\",63182,\\\"Gravesmall\\\",63328,\\\"Gsmall\\\",63335,\\\"Gsmallhook\\\",667,\\\"Gstroke\\\",484,\\\"H\\\",72,\\\"H18533\\\",9679,\\\"H18543\\\",9642,\\\"H18551\\\",9643,\\\"H22073\\\",9633,\\\"HPsquare\\\",13259,\\\"Haabkhasiancyrillic\\\",1192,\\\"Hadescendercyrillic\\\",1202,\\\"Hardsigncyrillic\\\",1066,\\\"Hbar\\\",294,\\\"Hbrevebelow\\\",7722,\\\"Hcedilla\\\",7720,\\\"Hcircle\\\",9405,\\\"Hcircumflex\\\",292,\\\"Hdieresis\\\",7718,\\\"Hdotaccent\\\",7714,\\\"Hdotbelow\\\",7716,\\\"Hmonospace\\\",65320,\\\"Hoarmenian\\\",1344,\\\"Horicoptic\\\",1e3,\\\"Hsmall\\\",63336,\\\"Hungarumlaut\\\",63183,\\\"Hungarumlautsmall\\\",63224,\\\"Hzsquare\\\",13200,\\\"I\\\",73,\\\"IAcyrillic\\\",1071,\\\"IJ\\\",306,\\\"IUcyrillic\\\",1070,\\\"Iacute\\\",205,\\\"Iacutesmall\\\",63469,\\\"Ibreve\\\",300,\\\"Icaron\\\",463,\\\"Icircle\\\",9406,\\\"Icircumflex\\\",206,\\\"Icircumflexsmall\\\",63470,\\\"Icyrillic\\\",1030,\\\"Idblgrave\\\",520,\\\"Idieresis\\\",207,\\\"Idieresisacute\\\",7726,\\\"Idieresiscyrillic\\\",1252,\\\"Idieresissmall\\\",63471,\\\"Idot\\\",304,\\\"Idotaccent\\\",304,\\\"Idotbelow\\\",7882,\\\"Iebrevecyrillic\\\",1238,\\\"Iecyrillic\\\",1045,\\\"Ifraktur\\\",8465,\\\"Igrave\\\",204,\\\"Igravesmall\\\",63468,\\\"Ihookabove\\\",7880,\\\"Iicyrillic\\\",1048,\\\"Iinvertedbreve\\\",522,\\\"Iishortcyrillic\\\",1049,\\\"Imacron\\\",298,\\\"Imacroncyrillic\\\",1250,\\\"Imonospace\\\",65321,\\\"Iniarmenian\\\",1339,\\\"Iocyrillic\\\",1025,\\\"Iogonek\\\",302,\\\"Iota\\\",921,\\\"Iotaafrican\\\",406,\\\"Iotadieresis\\\",938,\\\"Iotatonos\\\",906,\\\"Ismall\\\",63337,\\\"Istroke\\\",407,\\\"Itilde\\\",296,\\\"Itildebelow\\\",7724,\\\"Izhitsacyrillic\\\",1140,\\\"Izhitsadblgravecyrillic\\\",1142,\\\"J\\\",74,\\\"Jaarmenian\\\",1345,\\\"Jcircle\\\",9407,\\\"Jcircumflex\\\",308,\\\"Jecyrillic\\\",1032,\\\"Jheharmenian\\\",1355,\\\"Jmonospace\\\",65322,\\\"Jsmall\\\",63338,\\\"K\\\",75,\\\"KBsquare\\\",13189,\\\"KKsquare\\\",13261,\\\"Kabashkircyrillic\\\",1184,\\\"Kacute\\\",7728,\\\"Kacyrillic\\\",1050,\\\"Kadescendercyrillic\\\",1178,\\\"Kahookcyrillic\\\",1219,\\\"Kappa\\\",922,\\\"Kastrokecyrillic\\\",1182,\\\"Kaverticalstrokecyrillic\\\",1180,\\\"Kcaron\\\",488,\\\"Kcedilla\\\",310,\\\"Kcircle\\\",9408,\\\"Kcommaaccent\\\",310,\\\"Kdotbelow\\\",7730,\\\"Keharmenian\\\",1364,\\\"Kenarmenian\\\",1343,\\\"Khacyrillic\\\",1061,\\\"Kheicoptic\\\",998,\\\"Khook\\\",408,\\\"Kjecyrillic\\\",1036,\\\"Klinebelow\\\",7732,\\\"Kmonospace\\\",65323,\\\"Koppacyrillic\\\",1152,\\\"Koppagreek\\\",990,\\\"Ksicyrillic\\\",1134,\\\"Ksmall\\\",63339,\\\"L\\\",76,\\\"LJ\\\",455,\\\"LL\\\",63167,\\\"Lacute\\\",313,\\\"Lambda\\\",923,\\\"Lcaron\\\",317,\\\"Lcedilla\\\",315,\\\"Lcircle\\\",9409,\\\"Lcircumflexbelow\\\",7740,\\\"Lcommaaccent\\\",315,\\\"Ldot\\\",319,\\\"Ldotaccent\\\",319,\\\"Ldotbelow\\\",7734,\\\"Ldotbelowmacron\\\",7736,\\\"Liwnarmenian\\\",1340,\\\"Lj\\\",456,\\\"Ljecyrillic\\\",1033,\\\"Llinebelow\\\",7738,\\\"Lmonospace\\\",65324,\\\"Lslash\\\",321,\\\"Lslashsmall\\\",63225,\\\"Lsmall\\\",63340,\\\"M\\\",77,\\\"MBsquare\\\",13190,\\\"Macron\\\",63184,\\\"Macronsmall\\\",63407,\\\"Macute\\\",7742,\\\"Mcircle\\\",9410,\\\"Mdotaccent\\\",7744,\\\"Mdotbelow\\\",7746,\\\"Menarmenian\\\",1348,\\\"Mmonospace\\\",65325,\\\"Msmall\\\",63341,\\\"Mturned\\\",412,\\\"Mu\\\",924,\\\"N\\\",78,\\\"NJ\\\",458,\\\"Nacute\\\",323,\\\"Ncaron\\\",327,\\\"Ncedilla\\\",325,\\\"Ncircle\\\",9411,\\\"Ncircumflexbelow\\\",7754,\\\"Ncommaaccent\\\",325,\\\"Ndotaccent\\\",7748,\\\"Ndotbelow\\\",7750,\\\"Nhookleft\\\",413,\\\"Nineroman\\\",8552,\\\"Nj\\\",459,\\\"Njecyrillic\\\",1034,\\\"Nlinebelow\\\",7752,\\\"Nmonospace\\\",65326,\\\"Nowarmenian\\\",1350,\\\"Nsmall\\\",63342,\\\"Ntilde\\\",209,\\\"Ntildesmall\\\",63473,\\\"Nu\\\",925,\\\"O\\\",79,\\\"OE\\\",338,\\\"OEsmall\\\",63226,\\\"Oacute\\\",211,\\\"Oacutesmall\\\",63475,\\\"Obarredcyrillic\\\",1256,\\\"Obarreddieresiscyrillic\\\",1258,\\\"Obreve\\\",334,\\\"Ocaron\\\",465,\\\"Ocenteredtilde\\\",415,\\\"Ocircle\\\",9412,\\\"Ocircumflex\\\",212,\\\"Ocircumflexacute\\\",7888,\\\"Ocircumflexdotbelow\\\",7896,\\\"Ocircumflexgrave\\\",7890,\\\"Ocircumflexhookabove\\\",7892,\\\"Ocircumflexsmall\\\",63476,\\\"Ocircumflextilde\\\",7894,\\\"Ocyrillic\\\",1054,\\\"Odblacute\\\",336,\\\"Odblgrave\\\",524,\\\"Odieresis\\\",214,\\\"Odieresiscyrillic\\\",1254,\\\"Odieresissmall\\\",63478,\\\"Odotbelow\\\",7884,\\\"Ogoneksmall\\\",63227,\\\"Ograve\\\",210,\\\"Ogravesmall\\\",63474,\\\"Oharmenian\\\",1365,\\\"Ohm\\\",8486,\\\"Ohookabove\\\",7886,\\\"Ohorn\\\",416,\\\"Ohornacute\\\",7898,\\\"Ohorndotbelow\\\",7906,\\\"Ohorngrave\\\",7900,\\\"Ohornhookabove\\\",7902,\\\"Ohorntilde\\\",7904,\\\"Ohungarumlaut\\\",336,\\\"Oi\\\",418,\\\"Oinvertedbreve\\\",526,\\\"Omacron\\\",332,\\\"Omacronacute\\\",7762,\\\"Omacrongrave\\\",7760,\\\"Omega\\\",8486,\\\"Omegacyrillic\\\",1120,\\\"Omegagreek\\\",937,\\\"Omegaroundcyrillic\\\",1146,\\\"Omegatitlocyrillic\\\",1148,\\\"Omegatonos\\\",911,\\\"Omicron\\\",927,\\\"Omicrontonos\\\",908,\\\"Omonospace\\\",65327,\\\"Oneroman\\\",8544,\\\"Oogonek\\\",490,\\\"Oogonekmacron\\\",492,\\\"Oopen\\\",390,\\\"Oslash\\\",216,\\\"Oslashacute\\\",510,\\\"Oslashsmall\\\",63480,\\\"Osmall\\\",63343,\\\"Ostrokeacute\\\",510,\\\"Otcyrillic\\\",1150,\\\"Otilde\\\",213,\\\"Otildeacute\\\",7756,\\\"Otildedieresis\\\",7758,\\\"Otildesmall\\\",63477,\\\"P\\\",80,\\\"Pacute\\\",7764,\\\"Pcircle\\\",9413,\\\"Pdotaccent\\\",7766,\\\"Pecyrillic\\\",1055,\\\"Peharmenian\\\",1354,\\\"Pemiddlehookcyrillic\\\",1190,\\\"Phi\\\",934,\\\"Phook\\\",420,\\\"Pi\\\",928,\\\"Piwrarmenian\\\",1363,\\\"Pmonospace\\\",65328,\\\"Psi\\\",936,\\\"Psicyrillic\\\",1136,\\\"Psmall\\\",63344,\\\"Q\\\",81,\\\"Qcircle\\\",9414,\\\"Qmonospace\\\",65329,\\\"Qsmall\\\",63345,\\\"R\\\",82,\\\"Raarmenian\\\",1356,\\\"Racute\\\",340,\\\"Rcaron\\\",344,\\\"Rcedilla\\\",342,\\\"Rcircle\\\",9415,\\\"Rcommaaccent\\\",342,\\\"Rdblgrave\\\",528,\\\"Rdotaccent\\\",7768,\\\"Rdotbelow\\\",7770,\\\"Rdotbelowmacron\\\",7772,\\\"Reharmenian\\\",1360,\\\"Rfraktur\\\",8476,\\\"Rho\\\",929,\\\"Ringsmall\\\",63228,\\\"Rinvertedbreve\\\",530,\\\"Rlinebelow\\\",7774,\\\"Rmonospace\\\",65330,\\\"Rsmall\\\",63346,\\\"Rsmallinverted\\\",641,\\\"Rsmallinvertedsuperior\\\",694,\\\"S\\\",83,\\\"SF010000\\\",9484,\\\"SF020000\\\",9492,\\\"SF030000\\\",9488,\\\"SF040000\\\",9496,\\\"SF050000\\\",9532,\\\"SF060000\\\",9516,\\\"SF070000\\\",9524,\\\"SF080000\\\",9500,\\\"SF090000\\\",9508,\\\"SF100000\\\",9472,\\\"SF110000\\\",9474,\\\"SF190000\\\",9569,\\\"SF200000\\\",9570,\\\"SF210000\\\",9558,\\\"SF220000\\\",9557,\\\"SF230000\\\",9571,\\\"SF240000\\\",9553,\\\"SF250000\\\",9559,\\\"SF260000\\\",9565,\\\"SF270000\\\",9564,\\\"SF280000\\\",9563,\\\"SF360000\\\",9566,\\\"SF370000\\\",9567,\\\"SF380000\\\",9562,\\\"SF390000\\\",9556,\\\"SF400000\\\",9577,\\\"SF410000\\\",9574,\\\"SF420000\\\",9568,\\\"SF430000\\\",9552,\\\"SF440000\\\",9580,\\\"SF450000\\\",9575,\\\"SF460000\\\",9576,\\\"SF470000\\\",9572,\\\"SF480000\\\",9573,\\\"SF490000\\\",9561,\\\"SF500000\\\",9560,\\\"SF510000\\\",9554,\\\"SF520000\\\",9555,\\\"SF530000\\\",9579,\\\"SF540000\\\",9578,\\\"Sacute\\\",346,\\\"Sacutedotaccent\\\",7780,\\\"Sampigreek\\\",992,\\\"Scaron\\\",352,\\\"Scarondotaccent\\\",7782,\\\"Scaronsmall\\\",63229,\\\"Scedilla\\\",350,\\\"Schwa\\\",399,\\\"Schwacyrillic\\\",1240,\\\"Schwadieresiscyrillic\\\",1242,\\\"Scircle\\\",9416,\\\"Scircumflex\\\",348,\\\"Scommaaccent\\\",536,\\\"Sdotaccent\\\",7776,\\\"Sdotbelow\\\",7778,\\\"Sdotbelowdotaccent\\\",7784,\\\"Seharmenian\\\",1357,\\\"Sevenroman\\\",8550,\\\"Shaarmenian\\\",1351,\\\"Shacyrillic\\\",1064,\\\"Shchacyrillic\\\",1065,\\\"Sheicoptic\\\",994,\\\"Shhacyrillic\\\",1210,\\\"Shimacoptic\\\",1004,\\\"Sigma\\\",931,\\\"Sixroman\\\",8549,\\\"Smonospace\\\",65331,\\\"Softsigncyrillic\\\",1068,\\\"Ssmall\\\",63347,\\\"Stigmagreek\\\",986,\\\"T\\\",84,\\\"Tau\\\",932,\\\"Tbar\\\",358,\\\"Tcaron\\\",356,\\\"Tcedilla\\\",354,\\\"Tcircle\\\",9417,\\\"Tcircumflexbelow\\\",7792,\\\"Tcommaaccent\\\",354,\\\"Tdotaccent\\\",7786,\\\"Tdotbelow\\\",7788,\\\"Tecyrillic\\\",1058,\\\"Tedescendercyrillic\\\",1196,\\\"Tenroman\\\",8553,\\\"Tetsecyrillic\\\",1204,\\\"Theta\\\",920,\\\"Thook\\\",428,\\\"Thorn\\\",222,\\\"Thornsmall\\\",63486,\\\"Threeroman\\\",8546,\\\"Tildesmall\\\",63230,\\\"Tiwnarmenian\\\",1359,\\\"Tlinebelow\\\",7790,\\\"Tmonospace\\\",65332,\\\"Toarmenian\\\",1337,\\\"Tonefive\\\",444,\\\"Tonesix\\\",388,\\\"Tonetwo\\\",423,\\\"Tretroflexhook\\\",430,\\\"Tsecyrillic\\\",1062,\\\"Tshecyrillic\\\",1035,\\\"Tsmall\\\",63348,\\\"Twelveroman\\\",8555,\\\"Tworoman\\\",8545,\\\"U\\\",85,\\\"Uacute\\\",218,\\\"Uacutesmall\\\",63482,\\\"Ubreve\\\",364,\\\"Ucaron\\\",467,\\\"Ucircle\\\",9418,\\\"Ucircumflex\\\",219,\\\"Ucircumflexbelow\\\",7798,\\\"Ucircumflexsmall\\\",63483,\\\"Ucyrillic\\\",1059,\\\"Udblacute\\\",368,\\\"Udblgrave\\\",532,\\\"Udieresis\\\",220,\\\"Udieresisacute\\\",471,\\\"Udieresisbelow\\\",7794,\\\"Udieresiscaron\\\",473,\\\"Udieresiscyrillic\\\",1264,\\\"Udieresisgrave\\\",475,\\\"Udieresismacron\\\",469,\\\"Udieresissmall\\\",63484,\\\"Udotbelow\\\",7908,\\\"Ugrave\\\",217,\\\"Ugravesmall\\\",63481,\\\"Uhookabove\\\",7910,\\\"Uhorn\\\",431,\\\"Uhornacute\\\",7912,\\\"Uhorndotbelow\\\",7920,\\\"Uhorngrave\\\",7914,\\\"Uhornhookabove\\\",7916,\\\"Uhorntilde\\\",7918,\\\"Uhungarumlaut\\\",368,\\\"Uhungarumlautcyrillic\\\",1266,\\\"Uinvertedbreve\\\",534,\\\"Ukcyrillic\\\",1144,\\\"Umacron\\\",362,\\\"Umacroncyrillic\\\",1262,\\\"Umacrondieresis\\\",7802,\\\"Umonospace\\\",65333,\\\"Uogonek\\\",370,\\\"Upsilon\\\",933,\\\"Upsilon1\\\",978,\\\"Upsilonacutehooksymbolgreek\\\",979,\\\"Upsilonafrican\\\",433,\\\"Upsilondieresis\\\",939,\\\"Upsilondieresishooksymbolgreek\\\",980,\\\"Upsilonhooksymbol\\\",978,\\\"Upsilontonos\\\",910,\\\"Uring\\\",366,\\\"Ushortcyrillic\\\",1038,\\\"Usmall\\\",63349,\\\"Ustraightcyrillic\\\",1198,\\\"Ustraightstrokecyrillic\\\",1200,\\\"Utilde\\\",360,\\\"Utildeacute\\\",7800,\\\"Utildebelow\\\",7796,\\\"V\\\",86,\\\"Vcircle\\\",9419,\\\"Vdotbelow\\\",7806,\\\"Vecyrillic\\\",1042,\\\"Vewarmenian\\\",1358,\\\"Vhook\\\",434,\\\"Vmonospace\\\",65334,\\\"Voarmenian\\\",1352,\\\"Vsmall\\\",63350,\\\"Vtilde\\\",7804,\\\"W\\\",87,\\\"Wacute\\\",7810,\\\"Wcircle\\\",9420,\\\"Wcircumflex\\\",372,\\\"Wdieresis\\\",7812,\\\"Wdotaccent\\\",7814,\\\"Wdotbelow\\\",7816,\\\"Wgrave\\\",7808,\\\"Wmonospace\\\",65335,\\\"Wsmall\\\",63351,\\\"X\\\",88,\\\"Xcircle\\\",9421,\\\"Xdieresis\\\",7820,\\\"Xdotaccent\\\",7818,\\\"Xeharmenian\\\",1341,\\\"Xi\\\",926,\\\"Xmonospace\\\",65336,\\\"Xsmall\\\",63352,\\\"Y\\\",89,\\\"Yacute\\\",221,\\\"Yacutesmall\\\",63485,\\\"Yatcyrillic\\\",1122,\\\"Ycircle\\\",9422,\\\"Ycircumflex\\\",374,\\\"Ydieresis\\\",376,\\\"Ydieresissmall\\\",63487,\\\"Ydotaccent\\\",7822,\\\"Ydotbelow\\\",7924,\\\"Yericyrillic\\\",1067,\\\"Yerudieresiscyrillic\\\",1272,\\\"Ygrave\\\",7922,\\\"Yhook\\\",435,\\\"Yhookabove\\\",7926,\\\"Yiarmenian\\\",1349,\\\"Yicyrillic\\\",1031,\\\"Yiwnarmenian\\\",1362,\\\"Ymonospace\\\",65337,\\\"Ysmall\\\",63353,\\\"Ytilde\\\",7928,\\\"Yusbigcyrillic\\\",1130,\\\"Yusbigiotifiedcyrillic\\\",1132,\\\"Yuslittlecyrillic\\\",1126,\\\"Yuslittleiotifiedcyrillic\\\",1128,\\\"Z\\\",90,\\\"Zaarmenian\\\",1334,\\\"Zacute\\\",377,\\\"Zcaron\\\",381,\\\"Zcaronsmall\\\",63231,\\\"Zcircle\\\",9423,\\\"Zcircumflex\\\",7824,\\\"Zdot\\\",379,\\\"Zdotaccent\\\",379,\\\"Zdotbelow\\\",7826,\\\"Zecyrillic\\\",1047,\\\"Zedescendercyrillic\\\",1176,\\\"Zedieresiscyrillic\\\",1246,\\\"Zeta\\\",918,\\\"Zhearmenian\\\",1338,\\\"Zhebrevecyrillic\\\",1217,\\\"Zhecyrillic\\\",1046,\\\"Zhedescendercyrillic\\\",1174,\\\"Zhedieresiscyrillic\\\",1244,\\\"Zlinebelow\\\",7828,\\\"Zmonospace\\\",65338,\\\"Zsmall\\\",63354,\\\"Zstroke\\\",437,\\\"a\\\",97,\\\"aabengali\\\",2438,\\\"aacute\\\",225,\\\"aadeva\\\",2310,\\\"aagujarati\\\",2694,\\\"aagurmukhi\\\",2566,\\\"aamatragurmukhi\\\",2622,\\\"aarusquare\\\",13059,\\\"aavowelsignbengali\\\",2494,\\\"aavowelsigndeva\\\",2366,\\\"aavowelsigngujarati\\\",2750,\\\"abbreviationmarkarmenian\\\",1375,\\\"abbreviationsigndeva\\\",2416,\\\"abengali\\\",2437,\\\"abopomofo\\\",12570,\\\"abreve\\\",259,\\\"abreveacute\\\",7855,\\\"abrevecyrillic\\\",1233,\\\"abrevedotbelow\\\",7863,\\\"abrevegrave\\\",7857,\\\"abrevehookabove\\\",7859,\\\"abrevetilde\\\",7861,\\\"acaron\\\",462,\\\"acircle\\\",9424,\\\"acircumflex\\\",226,\\\"acircumflexacute\\\",7845,\\\"acircumflexdotbelow\\\",7853,\\\"acircumflexgrave\\\",7847,\\\"acircumflexhookabove\\\",7849,\\\"acircumflextilde\\\",7851,\\\"acute\\\",180,\\\"acutebelowcmb\\\",791,\\\"acutecmb\\\",769,\\\"acutecomb\\\",769,\\\"acutedeva\\\",2388,\\\"acutelowmod\\\",719,\\\"acutetonecmb\\\",833,\\\"acyrillic\\\",1072,\\\"adblgrave\\\",513,\\\"addakgurmukhi\\\",2673,\\\"adeva\\\",2309,\\\"adieresis\\\",228,\\\"adieresiscyrillic\\\",1235,\\\"adieresismacron\\\",479,\\\"adotbelow\\\",7841,\\\"adotmacron\\\",481,\\\"ae\\\",230,\\\"aeacute\\\",509,\\\"aekorean\\\",12624,\\\"aemacron\\\",483,\\\"afii00208\\\",8213,\\\"afii08941\\\",8356,\\\"afii10017\\\",1040,\\\"afii10018\\\",1041,\\\"afii10019\\\",1042,\\\"afii10020\\\",1043,\\\"afii10021\\\",1044,\\\"afii10022\\\",1045,\\\"afii10023\\\",1025,\\\"afii10024\\\",1046,\\\"afii10025\\\",1047,\\\"afii10026\\\",1048,\\\"afii10027\\\",1049,\\\"afii10028\\\",1050,\\\"afii10029\\\",1051,\\\"afii10030\\\",1052,\\\"afii10031\\\",1053,\\\"afii10032\\\",1054,\\\"afii10033\\\",1055,\\\"afii10034\\\",1056,\\\"afii10035\\\",1057,\\\"afii10036\\\",1058,\\\"afii10037\\\",1059,\\\"afii10038\\\",1060,\\\"afii10039\\\",1061,\\\"afii10040\\\",1062,\\\"afii10041\\\",1063,\\\"afii10042\\\",1064,\\\"afii10043\\\",1065,\\\"afii10044\\\",1066,\\\"afii10045\\\",1067,\\\"afii10046\\\",1068,\\\"afii10047\\\",1069,\\\"afii10048\\\",1070,\\\"afii10049\\\",1071,\\\"afii10050\\\",1168,\\\"afii10051\\\",1026,\\\"afii10052\\\",1027,\\\"afii10053\\\",1028,\\\"afii10054\\\",1029,\\\"afii10055\\\",1030,\\\"afii10056\\\",1031,\\\"afii10057\\\",1032,\\\"afii10058\\\",1033,\\\"afii10059\\\",1034,\\\"afii10060\\\",1035,\\\"afii10061\\\",1036,\\\"afii10062\\\",1038,\\\"afii10063\\\",63172,\\\"afii10064\\\",63173,\\\"afii10065\\\",1072,\\\"afii10066\\\",1073,\\\"afii10067\\\",1074,\\\"afii10068\\\",1075,\\\"afii10069\\\",1076,\\\"afii10070\\\",1077,\\\"afii10071\\\",1105,\\\"afii10072\\\",1078,\\\"afii10073\\\",1079,\\\"afii10074\\\",1080,\\\"afii10075\\\",1081,\\\"afii10076\\\",1082,\\\"afii10077\\\",1083,\\\"afii10078\\\",1084,\\\"afii10079\\\",1085,\\\"afii10080\\\",1086,\\\"afii10081\\\",1087,\\\"afii10082\\\",1088,\\\"afii10083\\\",1089,\\\"afii10084\\\",1090,\\\"afii10085\\\",1091,\\\"afii10086\\\",1092,\\\"afii10087\\\",1093,\\\"afii10088\\\",1094,\\\"afii10089\\\",1095,\\\"afii10090\\\",1096,\\\"afii10091\\\",1097,\\\"afii10092\\\",1098,\\\"afii10093\\\",1099,\\\"afii10094\\\",1100,\\\"afii10095\\\",1101,\\\"afii10096\\\",1102,\\\"afii10097\\\",1103,\\\"afii10098\\\",1169,\\\"afii10099\\\",1106,\\\"afii10100\\\",1107,\\\"afii10101\\\",1108,\\\"afii10102\\\",1109,\\\"afii10103\\\",1110,\\\"afii10104\\\",1111,\\\"afii10105\\\",1112,\\\"afii10106\\\",1113,\\\"afii10107\\\",1114,\\\"afii10108\\\",1115,\\\"afii10109\\\",1116,\\\"afii10110\\\",1118,\\\"afii10145\\\",1039,\\\"afii10146\\\",1122,\\\"afii10147\\\",1138,\\\"afii10148\\\",1140,\\\"afii10192\\\",63174,\\\"afii10193\\\",1119,\\\"afii10194\\\",1123,\\\"afii10195\\\",1139,\\\"afii10196\\\",1141,\\\"afii10831\\\",63175,\\\"afii10832\\\",63176,\\\"afii10846\\\",1241,\\\"afii299\\\",8206,\\\"afii300\\\",8207,\\\"afii301\\\",8205,\\\"afii57381\\\",1642,\\\"afii57388\\\",1548,\\\"afii57392\\\",1632,\\\"afii57393\\\",1633,\\\"afii57394\\\",1634,\\\"afii57395\\\",1635,\\\"afii57396\\\",1636,\\\"afii57397\\\",1637,\\\"afii57398\\\",1638,\\\"afii57399\\\",1639,\\\"afii57400\\\",1640,\\\"afii57401\\\",1641,\\\"afii57403\\\",1563,\\\"afii57407\\\",1567,\\\"afii57409\\\",1569,\\\"afii57410\\\",1570,\\\"afii57411\\\",1571,\\\"afii57412\\\",1572,\\\"afii57413\\\",1573,\\\"afii57414\\\",1574,\\\"afii57415\\\",1575,\\\"afii57416\\\",1576,\\\"afii57417\\\",1577,\\\"afii57418\\\",1578,\\\"afii57419\\\",1579,\\\"afii57420\\\",1580,\\\"afii57421\\\",1581,\\\"afii57422\\\",1582,\\\"afii57423\\\",1583,\\\"afii57424\\\",1584,\\\"afii57425\\\",1585,\\\"afii57426\\\",1586,\\\"afii57427\\\",1587,\\\"afii57428\\\",1588,\\\"afii57429\\\",1589,\\\"afii57430\\\",1590,\\\"afii57431\\\",1591,\\\"afii57432\\\",1592,\\\"afii57433\\\",1593,\\\"afii57434\\\",1594,\\\"afii57440\\\",1600,\\\"afii57441\\\",1601,\\\"afii57442\\\",1602,\\\"afii57443\\\",1603,\\\"afii57444\\\",1604,\\\"afii57445\\\",1605,\\\"afii57446\\\",1606,\\\"afii57448\\\",1608,\\\"afii57449\\\",1609,\\\"afii57450\\\",1610,\\\"afii57451\\\",1611,\\\"afii57452\\\",1612,\\\"afii57453\\\",1613,\\\"afii57454\\\",1614,\\\"afii57455\\\",1615,\\\"afii57456\\\",1616,\\\"afii57457\\\",1617,\\\"afii57458\\\",1618,\\\"afii57470\\\",1607,\\\"afii57505\\\",1700,\\\"afii57506\\\",1662,\\\"afii57507\\\",1670,\\\"afii57508\\\",1688,\\\"afii57509\\\",1711,\\\"afii57511\\\",1657,\\\"afii57512\\\",1672,\\\"afii57513\\\",1681,\\\"afii57514\\\",1722,\\\"afii57519\\\",1746,\\\"afii57534\\\",1749,\\\"afii57636\\\",8362,\\\"afii57645\\\",1470,\\\"afii57658\\\",1475,\\\"afii57664\\\",1488,\\\"afii57665\\\",1489,\\\"afii57666\\\",1490,\\\"afii57667\\\",1491,\\\"afii57668\\\",1492,\\\"afii57669\\\",1493,\\\"afii57670\\\",1494,\\\"afii57671\\\",1495,\\\"afii57672\\\",1496,\\\"afii57673\\\",1497,\\\"afii57674\\\",1498,\\\"afii57675\\\",1499,\\\"afii57676\\\",1500,\\\"afii57677\\\",1501,\\\"afii57678\\\",1502,\\\"afii57679\\\",1503,\\\"afii57680\\\",1504,\\\"afii57681\\\",1505,\\\"afii57682\\\",1506,\\\"afii57683\\\",1507,\\\"afii57684\\\",1508,\\\"afii57685\\\",1509,\\\"afii57686\\\",1510,\\\"afii57687\\\",1511,\\\"afii57688\\\",1512,\\\"afii57689\\\",1513,\\\"afii57690\\\",1514,\\\"afii57694\\\",64298,\\\"afii57695\\\",64299,\\\"afii57700\\\",64331,\\\"afii57705\\\",64287,\\\"afii57716\\\",1520,\\\"afii57717\\\",1521,\\\"afii57718\\\",1522,\\\"afii57723\\\",64309,\\\"afii57793\\\",1460,\\\"afii57794\\\",1461,\\\"afii57795\\\",1462,\\\"afii57796\\\",1467,\\\"afii57797\\\",1464,\\\"afii57798\\\",1463,\\\"afii57799\\\",1456,\\\"afii57800\\\",1458,\\\"afii57801\\\",1457,\\\"afii57802\\\",1459,\\\"afii57803\\\",1474,\\\"afii57804\\\",1473,\\\"afii57806\\\",1465,\\\"afii57807\\\",1468,\\\"afii57839\\\",1469,\\\"afii57841\\\",1471,\\\"afii57842\\\",1472,\\\"afii57929\\\",700,\\\"afii61248\\\",8453,\\\"afii61289\\\",8467,\\\"afii61352\\\",8470,\\\"afii61573\\\",8236,\\\"afii61574\\\",8237,\\\"afii61575\\\",8238,\\\"afii61664\\\",8204,\\\"afii63167\\\",1645,\\\"afii64937\\\",701,\\\"agrave\\\",224,\\\"agujarati\\\",2693,\\\"agurmukhi\\\",2565,\\\"ahiragana\\\",12354,\\\"ahookabove\\\",7843,\\\"aibengali\\\",2448,\\\"aibopomofo\\\",12574,\\\"aideva\\\",2320,\\\"aiecyrillic\\\",1237,\\\"aigujarati\\\",2704,\\\"aigurmukhi\\\",2576,\\\"aimatragurmukhi\\\",2632,\\\"ainarabic\\\",1593,\\\"ainfinalarabic\\\",65226,\\\"aininitialarabic\\\",65227,\\\"ainmedialarabic\\\",65228,\\\"ainvertedbreve\\\",515,\\\"aivowelsignbengali\\\",2504,\\\"aivowelsigndeva\\\",2376,\\\"aivowelsigngujarati\\\",2760,\\\"akatakana\\\",12450,\\\"akatakanahalfwidth\\\",65393,\\\"akorean\\\",12623,\\\"alef\\\",1488,\\\"alefarabic\\\",1575,\\\"alefdageshhebrew\\\",64304,\\\"aleffinalarabic\\\",65166,\\\"alefhamzaabovearabic\\\",1571,\\\"alefhamzaabovefinalarabic\\\",65156,\\\"alefhamzabelowarabic\\\",1573,\\\"alefhamzabelowfinalarabic\\\",65160,\\\"alefhebrew\\\",1488,\\\"aleflamedhebrew\\\",64335,\\\"alefmaddaabovearabic\\\",1570,\\\"alefmaddaabovefinalarabic\\\",65154,\\\"alefmaksuraarabic\\\",1609,\\\"alefmaksurafinalarabic\\\",65264,\\\"alefmaksurainitialarabic\\\",65267,\\\"alefmaksuramedialarabic\\\",65268,\\\"alefpatahhebrew\\\",64302,\\\"alefqamatshebrew\\\",64303,\\\"aleph\\\",8501,\\\"allequal\\\",8780,\\\"alpha\\\",945,\\\"alphatonos\\\",940,\\\"amacron\\\",257,\\\"amonospace\\\",65345,\\\"ampersand\\\",38,\\\"ampersandmonospace\\\",65286,\\\"ampersandsmall\\\",63270,\\\"amsquare\\\",13250,\\\"anbopomofo\\\",12578,\\\"angbopomofo\\\",12580,\\\"angbracketleft\\\",12296,\\\"angbracketright\\\",12297,\\\"angkhankhuthai\\\",3674,\\\"angle\\\",8736,\\\"anglebracketleft\\\",12296,\\\"anglebracketleftvertical\\\",65087,\\\"anglebracketright\\\",12297,\\\"anglebracketrightvertical\\\",65088,\\\"angleleft\\\",9001,\\\"angleright\\\",9002,\\\"angstrom\\\",8491,\\\"anoteleia\\\",903,\\\"anudattadeva\\\",2386,\\\"anusvarabengali\\\",2434,\\\"anusvaradeva\\\",2306,\\\"anusvaragujarati\\\",2690,\\\"aogonek\\\",261,\\\"apaatosquare\\\",13056,\\\"aparen\\\",9372,\\\"apostrophearmenian\\\",1370,\\\"apostrophemod\\\",700,\\\"apple\\\",63743,\\\"approaches\\\",8784,\\\"approxequal\\\",8776,\\\"approxequalorimage\\\",8786,\\\"approximatelyequal\\\",8773,\\\"araeaekorean\\\",12686,\\\"araeakorean\\\",12685,\\\"arc\\\",8978,\\\"arighthalfring\\\",7834,\\\"aring\\\",229,\\\"aringacute\\\",507,\\\"aringbelow\\\",7681,\\\"arrowboth\\\",8596,\\\"arrowdashdown\\\",8675,\\\"arrowdashleft\\\",8672,\\\"arrowdashright\\\",8674,\\\"arrowdashup\\\",8673,\\\"arrowdblboth\\\",8660,\\\"arrowdbldown\\\",8659,\\\"arrowdblleft\\\",8656,\\\"arrowdblright\\\",8658,\\\"arrowdblup\\\",8657,\\\"arrowdown\\\",8595,\\\"arrowdownleft\\\",8601,\\\"arrowdownright\\\",8600,\\\"arrowdownwhite\\\",8681,\\\"arrowheaddownmod\\\",709,\\\"arrowheadleftmod\\\",706,\\\"arrowheadrightmod\\\",707,\\\"arrowheadupmod\\\",708,\\\"arrowhorizex\\\",63719,\\\"arrowleft\\\",8592,\\\"arrowleftdbl\\\",8656,\\\"arrowleftdblstroke\\\",8653,\\\"arrowleftoverright\\\",8646,\\\"arrowleftwhite\\\",8678,\\\"arrowright\\\",8594,\\\"arrowrightdblstroke\\\",8655,\\\"arrowrightheavy\\\",10142,\\\"arrowrightoverleft\\\",8644,\\\"arrowrightwhite\\\",8680,\\\"arrowtableft\\\",8676,\\\"arrowtabright\\\",8677,\\\"arrowup\\\",8593,\\\"arrowupdn\\\",8597,\\\"arrowupdnbse\\\",8616,\\\"arrowupdownbase\\\",8616,\\\"arrowupleft\\\",8598,\\\"arrowupleftofdown\\\",8645,\\\"arrowupright\\\",8599,\\\"arrowupwhite\\\",8679,\\\"arrowvertex\\\",63718,\\\"asciicircum\\\",94,\\\"asciicircummonospace\\\",65342,\\\"asciitilde\\\",126,\\\"asciitildemonospace\\\",65374,\\\"ascript\\\",593,\\\"ascriptturned\\\",594,\\\"asmallhiragana\\\",12353,\\\"asmallkatakana\\\",12449,\\\"asmallkatakanahalfwidth\\\",65383,\\\"asterisk\\\",42,\\\"asteriskaltonearabic\\\",1645,\\\"asteriskarabic\\\",1645,\\\"asteriskmath\\\",8727,\\\"asteriskmonospace\\\",65290,\\\"asterisksmall\\\",65121,\\\"asterism\\\",8258,\\\"asuperior\\\",63209,\\\"asymptoticallyequal\\\",8771,\\\"at\\\",64,\\\"atilde\\\",227,\\\"atmonospace\\\",65312,\\\"atsmall\\\",65131,\\\"aturned\\\",592,\\\"aubengali\\\",2452,\\\"aubopomofo\\\",12576,\\\"audeva\\\",2324,\\\"augujarati\\\",2708,\\\"augurmukhi\\\",2580,\\\"aulengthmarkbengali\\\",2519,\\\"aumatragurmukhi\\\",2636,\\\"auvowelsignbengali\\\",2508,\\\"auvowelsigndeva\\\",2380,\\\"auvowelsigngujarati\\\",2764,\\\"avagrahadeva\\\",2365,\\\"aybarmenian\\\",1377,\\\"ayin\\\",1506,\\\"ayinaltonehebrew\\\",64288,\\\"ayinhebrew\\\",1506,\\\"b\\\",98,\\\"babengali\\\",2476,\\\"backslash\\\",92,\\\"backslashmonospace\\\",65340,\\\"badeva\\\",2348,\\\"bagujarati\\\",2732,\\\"bagurmukhi\\\",2604,\\\"bahiragana\\\",12400,\\\"bahtthai\\\",3647,\\\"bakatakana\\\",12496,\\\"bar\\\",124,\\\"barmonospace\\\",65372,\\\"bbopomofo\\\",12549,\\\"bcircle\\\",9425,\\\"bdotaccent\\\",7683,\\\"bdotbelow\\\",7685,\\\"beamedsixteenthnotes\\\",9836,\\\"because\\\",8757,\\\"becyrillic\\\",1073,\\\"beharabic\\\",1576,\\\"behfinalarabic\\\",65168,\\\"behinitialarabic\\\",65169,\\\"behiragana\\\",12409,\\\"behmedialarabic\\\",65170,\\\"behmeeminitialarabic\\\",64671,\\\"behmeemisolatedarabic\\\",64520,\\\"behnoonfinalarabic\\\",64621,\\\"bekatakana\\\",12505,\\\"benarmenian\\\",1378,\\\"bet\\\",1489,\\\"beta\\\",946,\\\"betasymbolgreek\\\",976,\\\"betdagesh\\\",64305,\\\"betdageshhebrew\\\",64305,\\\"bethebrew\\\",1489,\\\"betrafehebrew\\\",64332,\\\"bhabengali\\\",2477,\\\"bhadeva\\\",2349,\\\"bhagujarati\\\",2733,\\\"bhagurmukhi\\\",2605,\\\"bhook\\\",595,\\\"bihiragana\\\",12403,\\\"bikatakana\\\",12499,\\\"bilabialclick\\\",664,\\\"bindigurmukhi\\\",2562,\\\"birusquare\\\",13105,\\\"blackcircle\\\",9679,\\\"blackdiamond\\\",9670,\\\"blackdownpointingtriangle\\\",9660,\\\"blackleftpointingpointer\\\",9668,\\\"blackleftpointingtriangle\\\",9664,\\\"blacklenticularbracketleft\\\",12304,\\\"blacklenticularbracketleftvertical\\\",65083,\\\"blacklenticularbracketright\\\",12305,\\\"blacklenticularbracketrightvertical\\\",65084,\\\"blacklowerlefttriangle\\\",9699,\\\"blacklowerrighttriangle\\\",9698,\\\"blackrectangle\\\",9644,\\\"blackrightpointingpointer\\\",9658,\\\"blackrightpointingtriangle\\\",9654,\\\"blacksmallsquare\\\",9642,\\\"blacksmilingface\\\",9787,\\\"blacksquare\\\",9632,\\\"blackstar\\\",9733,\\\"blackupperlefttriangle\\\",9700,\\\"blackupperrighttriangle\\\",9701,\\\"blackuppointingsmalltriangle\\\",9652,\\\"blackuppointingtriangle\\\",9650,\\\"blank\\\",9251,\\\"blinebelow\\\",7687,\\\"block\\\",9608,\\\"bmonospace\\\",65346,\\\"bobaimaithai\\\",3610,\\\"bohiragana\\\",12412,\\\"bokatakana\\\",12508,\\\"bparen\\\",9373,\\\"bqsquare\\\",13251,\\\"braceex\\\",63732,\\\"braceleft\\\",123,\\\"braceleftbt\\\",63731,\\\"braceleftmid\\\",63730,\\\"braceleftmonospace\\\",65371,\\\"braceleftsmall\\\",65115,\\\"bracelefttp\\\",63729,\\\"braceleftvertical\\\",65079,\\\"braceright\\\",125,\\\"bracerightbt\\\",63742,\\\"bracerightmid\\\",63741,\\\"bracerightmonospace\\\",65373,\\\"bracerightsmall\\\",65116,\\\"bracerighttp\\\",63740,\\\"bracerightvertical\\\",65080,\\\"bracketleft\\\",91,\\\"bracketleftbt\\\",63728,\\\"bracketleftex\\\",63727,\\\"bracketleftmonospace\\\",65339,\\\"bracketlefttp\\\",63726,\\\"bracketright\\\",93,\\\"bracketrightbt\\\",63739,\\\"bracketrightex\\\",63738,\\\"bracketrightmonospace\\\",65341,\\\"bracketrighttp\\\",63737,\\\"breve\\\",728,\\\"brevebelowcmb\\\",814,\\\"brevecmb\\\",774,\\\"breveinvertedbelowcmb\\\",815,\\\"breveinvertedcmb\\\",785,\\\"breveinverteddoublecmb\\\",865,\\\"bridgebelowcmb\\\",810,\\\"bridgeinvertedbelowcmb\\\",826,\\\"brokenbar\\\",166,\\\"bstroke\\\",384,\\\"bsuperior\\\",63210,\\\"btopbar\\\",387,\\\"buhiragana\\\",12406,\\\"bukatakana\\\",12502,\\\"bullet\\\",8226,\\\"bulletinverse\\\",9688,\\\"bulletoperator\\\",8729,\\\"bullseye\\\",9678,\\\"c\\\",99,\\\"caarmenian\\\",1390,\\\"cabengali\\\",2458,\\\"cacute\\\",263,\\\"cadeva\\\",2330,\\\"cagujarati\\\",2714,\\\"cagurmukhi\\\",2586,\\\"calsquare\\\",13192,\\\"candrabindubengali\\\",2433,\\\"candrabinducmb\\\",784,\\\"candrabindudeva\\\",2305,\\\"candrabindugujarati\\\",2689,\\\"capslock\\\",8682,\\\"careof\\\",8453,\\\"caron\\\",711,\\\"caronbelowcmb\\\",812,\\\"caroncmb\\\",780,\\\"carriagereturn\\\",8629,\\\"cbopomofo\\\",12568,\\\"ccaron\\\",269,\\\"ccedilla\\\",231,\\\"ccedillaacute\\\",7689,\\\"ccircle\\\",9426,\\\"ccircumflex\\\",265,\\\"ccurl\\\",597,\\\"cdot\\\",267,\\\"cdotaccent\\\",267,\\\"cdsquare\\\",13253,\\\"cedilla\\\",184,\\\"cedillacmb\\\",807,\\\"cent\\\",162,\\\"centigrade\\\",8451,\\\"centinferior\\\",63199,\\\"centmonospace\\\",65504,\\\"centoldstyle\\\",63394,\\\"centsuperior\\\",63200,\\\"chaarmenian\\\",1401,\\\"chabengali\\\",2459,\\\"chadeva\\\",2331,\\\"chagujarati\\\",2715,\\\"chagurmukhi\\\",2587,\\\"chbopomofo\\\",12564,\\\"cheabkhasiancyrillic\\\",1213,\\\"checkmark\\\",10003,\\\"checyrillic\\\",1095,\\\"chedescenderabkhasiancyrillic\\\",1215,\\\"chedescendercyrillic\\\",1207,\\\"chedieresiscyrillic\\\",1269,\\\"cheharmenian\\\",1395,\\\"chekhakassiancyrillic\\\",1228,\\\"cheverticalstrokecyrillic\\\",1209,\\\"chi\\\",967,\\\"chieuchacirclekorean\\\",12919,\\\"chieuchaparenkorean\\\",12823,\\\"chieuchcirclekorean\\\",12905,\\\"chieuchkorean\\\",12618,\\\"chieuchparenkorean\\\",12809,\\\"chochangthai\\\",3594,\\\"chochanthai\\\",3592,\\\"chochingthai\\\",3593,\\\"chochoethai\\\",3596,\\\"chook\\\",392,\\\"cieucacirclekorean\\\",12918,\\\"cieucaparenkorean\\\",12822,\\\"cieuccirclekorean\\\",12904,\\\"cieuckorean\\\",12616,\\\"cieucparenkorean\\\",12808,\\\"cieucuparenkorean\\\",12828,\\\"circle\\\",9675,\\\"circlecopyrt\\\",169,\\\"circlemultiply\\\",8855,\\\"circleot\\\",8857,\\\"circleplus\\\",8853,\\\"circlepostalmark\\\",12342,\\\"circlewithlefthalfblack\\\",9680,\\\"circlewithrighthalfblack\\\",9681,\\\"circumflex\\\",710,\\\"circumflexbelowcmb\\\",813,\\\"circumflexcmb\\\",770,\\\"clear\\\",8999,\\\"clickalveolar\\\",450,\\\"clickdental\\\",448,\\\"clicklateral\\\",449,\\\"clickretroflex\\\",451,\\\"club\\\",9827,\\\"clubsuitblack\\\",9827,\\\"clubsuitwhite\\\",9831,\\\"cmcubedsquare\\\",13220,\\\"cmonospace\\\",65347,\\\"cmsquaredsquare\\\",13216,\\\"coarmenian\\\",1409,\\\"colon\\\",58,\\\"colonmonetary\\\",8353,\\\"colonmonospace\\\",65306,\\\"colonsign\\\",8353,\\\"colonsmall\\\",65109,\\\"colontriangularhalfmod\\\",721,\\\"colontriangularmod\\\",720,\\\"comma\\\",44,\\\"commaabovecmb\\\",787,\\\"commaaboverightcmb\\\",789,\\\"commaaccent\\\",63171,\\\"commaarabic\\\",1548,\\\"commaarmenian\\\",1373,\\\"commainferior\\\",63201,\\\"commamonospace\\\",65292,\\\"commareversedabovecmb\\\",788,\\\"commareversedmod\\\",701,\\\"commasmall\\\",65104,\\\"commasuperior\\\",63202,\\\"commaturnedabovecmb\\\",786,\\\"commaturnedmod\\\",699,\\\"compass\\\",9788,\\\"congruent\\\",8773,\\\"contourintegral\\\",8750,\\\"control\\\",8963,\\\"controlACK\\\",6,\\\"controlBEL\\\",7,\\\"controlBS\\\",8,\\\"controlCAN\\\",24,\\\"controlCR\\\",13,\\\"controlDC1\\\",17,\\\"controlDC2\\\",18,\\\"controlDC3\\\",19,\\\"controlDC4\\\",20,\\\"controlDEL\\\",127,\\\"controlDLE\\\",16,\\\"controlEM\\\",25,\\\"controlENQ\\\",5,\\\"controlEOT\\\",4,\\\"controlESC\\\",27,\\\"controlETB\\\",23,\\\"controlETX\\\",3,\\\"controlFF\\\",12,\\\"controlFS\\\",28,\\\"controlGS\\\",29,\\\"controlHT\\\",9,\\\"controlLF\\\",10,\\\"controlNAK\\\",21,\\\"controlNULL\\\",0,\\\"controlRS\\\",30,\\\"controlSI\\\",15,\\\"controlSO\\\",14,\\\"controlSOT\\\",2,\\\"controlSTX\\\",1,\\\"controlSUB\\\",26,\\\"controlSYN\\\",22,\\\"controlUS\\\",31,\\\"controlVT\\\",11,\\\"copyright\\\",169,\\\"copyrightsans\\\",63721,\\\"copyrightserif\\\",63193,\\\"cornerbracketleft\\\",12300,\\\"cornerbracketlefthalfwidth\\\",65378,\\\"cornerbracketleftvertical\\\",65089,\\\"cornerbracketright\\\",12301,\\\"cornerbracketrighthalfwidth\\\",65379,\\\"cornerbracketrightvertical\\\",65090,\\\"corporationsquare\\\",13183,\\\"cosquare\\\",13255,\\\"coverkgsquare\\\",13254,\\\"cparen\\\",9374,\\\"cruzeiro\\\",8354,\\\"cstretched\\\",663,\\\"curlyand\\\",8911,\\\"curlyor\\\",8910,\\\"currency\\\",164,\\\"cyrBreve\\\",63185,\\\"cyrFlex\\\",63186,\\\"cyrbreve\\\",63188,\\\"cyrflex\\\",63189,\\\"d\\\",100,\\\"daarmenian\\\",1380,\\\"dabengali\\\",2470,\\\"dadarabic\\\",1590,\\\"dadeva\\\",2342,\\\"dadfinalarabic\\\",65214,\\\"dadinitialarabic\\\",65215,\\\"dadmedialarabic\\\",65216,\\\"dagesh\\\",1468,\\\"dageshhebrew\\\",1468,\\\"dagger\\\",8224,\\\"daggerdbl\\\",8225,\\\"dagujarati\\\",2726,\\\"dagurmukhi\\\",2598,\\\"dahiragana\\\",12384,\\\"dakatakana\\\",12480,\\\"dalarabic\\\",1583,\\\"dalet\\\",1491,\\\"daletdagesh\\\",64307,\\\"daletdageshhebrew\\\",64307,\\\"dalethebrew\\\",1491,\\\"dalfinalarabic\\\",65194,\\\"dammaarabic\\\",1615,\\\"dammalowarabic\\\",1615,\\\"dammatanaltonearabic\\\",1612,\\\"dammatanarabic\\\",1612,\\\"danda\\\",2404,\\\"dargahebrew\\\",1447,\\\"dargalefthebrew\\\",1447,\\\"dasiapneumatacyrilliccmb\\\",1157,\\\"dblGrave\\\",63187,\\\"dblanglebracketleft\\\",12298,\\\"dblanglebracketleftvertical\\\",65085,\\\"dblanglebracketright\\\",12299,\\\"dblanglebracketrightvertical\\\",65086,\\\"dblarchinvertedbelowcmb\\\",811,\\\"dblarrowleft\\\",8660,\\\"dblarrowright\\\",8658,\\\"dbldanda\\\",2405,\\\"dblgrave\\\",63190,\\\"dblgravecmb\\\",783,\\\"dblintegral\\\",8748,\\\"dbllowline\\\",8215,\\\"dbllowlinecmb\\\",819,\\\"dbloverlinecmb\\\",831,\\\"dblprimemod\\\",698,\\\"dblverticalbar\\\",8214,\\\"dblverticallineabovecmb\\\",782,\\\"dbopomofo\\\",12553,\\\"dbsquare\\\",13256,\\\"dcaron\\\",271,\\\"dcedilla\\\",7697,\\\"dcircle\\\",9427,\\\"dcircumflexbelow\\\",7699,\\\"dcroat\\\",273,\\\"ddabengali\\\",2465,\\\"ddadeva\\\",2337,\\\"ddagujarati\\\",2721,\\\"ddagurmukhi\\\",2593,\\\"ddalarabic\\\",1672,\\\"ddalfinalarabic\\\",64393,\\\"dddhadeva\\\",2396,\\\"ddhabengali\\\",2466,\\\"ddhadeva\\\",2338,\\\"ddhagujarati\\\",2722,\\\"ddhagurmukhi\\\",2594,\\\"ddotaccent\\\",7691,\\\"ddotbelow\\\",7693,\\\"decimalseparatorarabic\\\",1643,\\\"decimalseparatorpersian\\\",1643,\\\"decyrillic\\\",1076,\\\"degree\\\",176,\\\"dehihebrew\\\",1453,\\\"dehiragana\\\",12391,\\\"deicoptic\\\",1007,\\\"dekatakana\\\",12487,\\\"deleteleft\\\",9003,\\\"deleteright\\\",8998,\\\"delta\\\",948,\\\"deltaturned\\\",397,\\\"denominatorminusonenumeratorbengali\\\",2552,\\\"dezh\\\",676,\\\"dhabengali\\\",2471,\\\"dhadeva\\\",2343,\\\"dhagujarati\\\",2727,\\\"dhagurmukhi\\\",2599,\\\"dhook\\\",599,\\\"dialytikatonos\\\",901,\\\"dialytikatonoscmb\\\",836,\\\"diamond\\\",9830,\\\"diamondsuitwhite\\\",9826,\\\"dieresis\\\",168,\\\"dieresisacute\\\",63191,\\\"dieresisbelowcmb\\\",804,\\\"dieresiscmb\\\",776,\\\"dieresisgrave\\\",63192,\\\"dieresistonos\\\",901,\\\"dihiragana\\\",12386,\\\"dikatakana\\\",12482,\\\"dittomark\\\",12291,\\\"divide\\\",247,\\\"divides\\\",8739,\\\"divisionslash\\\",8725,\\\"djecyrillic\\\",1106,\\\"dkshade\\\",9619,\\\"dlinebelow\\\",7695,\\\"dlsquare\\\",13207,\\\"dmacron\\\",273,\\\"dmonospace\\\",65348,\\\"dnblock\\\",9604,\\\"dochadathai\\\",3598,\\\"dodekthai\\\",3604,\\\"dohiragana\\\",12393,\\\"dokatakana\\\",12489,\\\"dollar\\\",36,\\\"dollarinferior\\\",63203,\\\"dollarmonospace\\\",65284,\\\"dollaroldstyle\\\",63268,\\\"dollarsmall\\\",65129,\\\"dollarsuperior\\\",63204,\\\"dong\\\",8363,\\\"dorusquare\\\",13094,\\\"dotaccent\\\",729,\\\"dotaccentcmb\\\",775,\\\"dotbelowcmb\\\",803,\\\"dotbelowcomb\\\",803,\\\"dotkatakana\\\",12539,\\\"dotlessi\\\",305,\\\"dotlessj\\\",63166,\\\"dotlessjstrokehook\\\",644,\\\"dotmath\\\",8901,\\\"dottedcircle\\\",9676,\\\"doubleyodpatah\\\",64287,\\\"doubleyodpatahhebrew\\\",64287,\\\"downtackbelowcmb\\\",798,\\\"downtackmod\\\",725,\\\"dparen\\\",9375,\\\"dsuperior\\\",63211,\\\"dtail\\\",598,\\\"dtopbar\\\",396,\\\"duhiragana\\\",12389,\\\"dukatakana\\\",12485,\\\"dz\\\",499,\\\"dzaltone\\\",675,\\\"dzcaron\\\",454,\\\"dzcurl\\\",677,\\\"dzeabkhasiancyrillic\\\",1249,\\\"dzecyrillic\\\",1109,\\\"dzhecyrillic\\\",1119,\\\"e\\\",101,\\\"eacute\\\",233,\\\"earth\\\",9793,\\\"ebengali\\\",2447,\\\"ebopomofo\\\",12572,\\\"ebreve\\\",277,\\\"ecandradeva\\\",2317,\\\"ecandragujarati\\\",2701,\\\"ecandravowelsigndeva\\\",2373,\\\"ecandravowelsigngujarati\\\",2757,\\\"ecaron\\\",283,\\\"ecedillabreve\\\",7709,\\\"echarmenian\\\",1381,\\\"echyiwnarmenian\\\",1415,\\\"ecircle\\\",9428,\\\"ecircumflex\\\",234,\\\"ecircumflexacute\\\",7871,\\\"ecircumflexbelow\\\",7705,\\\"ecircumflexdotbelow\\\",7879,\\\"ecircumflexgrave\\\",7873,\\\"ecircumflexhookabove\\\",7875,\\\"ecircumflextilde\\\",7877,\\\"ecyrillic\\\",1108,\\\"edblgrave\\\",517,\\\"edeva\\\",2319,\\\"edieresis\\\",235,\\\"edot\\\",279,\\\"edotaccent\\\",279,\\\"edotbelow\\\",7865,\\\"eegurmukhi\\\",2575,\\\"eematragurmukhi\\\",2631,\\\"efcyrillic\\\",1092,\\\"egrave\\\",232,\\\"egujarati\\\",2703,\\\"eharmenian\\\",1383,\\\"ehbopomofo\\\",12573,\\\"ehiragana\\\",12360,\\\"ehookabove\\\",7867,\\\"eibopomofo\\\",12575,\\\"eight\\\",56,\\\"eightarabic\\\",1640,\\\"eightbengali\\\",2542,\\\"eightcircle\\\",9319,\\\"eightcircleinversesansserif\\\",10129,\\\"eightdeva\\\",2414,\\\"eighteencircle\\\",9329,\\\"eighteenparen\\\",9349,\\\"eighteenperiod\\\",9369,\\\"eightgujarati\\\",2798,\\\"eightgurmukhi\\\",2670,\\\"eighthackarabic\\\",1640,\\\"eighthangzhou\\\",12328,\\\"eighthnotebeamed\\\",9835,\\\"eightideographicparen\\\",12839,\\\"eightinferior\\\",8328,\\\"eightmonospace\\\",65304,\\\"eightoldstyle\\\",63288,\\\"eightparen\\\",9339,\\\"eightperiod\\\",9359,\\\"eightpersian\\\",1784,\\\"eightroman\\\",8567,\\\"eightsuperior\\\",8312,\\\"eightthai\\\",3672,\\\"einvertedbreve\\\",519,\\\"eiotifiedcyrillic\\\",1125,\\\"ekatakana\\\",12456,\\\"ekatakanahalfwidth\\\",65396,\\\"ekonkargurmukhi\\\",2676,\\\"ekorean\\\",12628,\\\"elcyrillic\\\",1083,\\\"element\\\",8712,\\\"elevencircle\\\",9322,\\\"elevenparen\\\",9342,\\\"elevenperiod\\\",9362,\\\"elevenroman\\\",8570,\\\"ellipsis\\\",8230,\\\"ellipsisvertical\\\",8942,\\\"emacron\\\",275,\\\"emacronacute\\\",7703,\\\"emacrongrave\\\",7701,\\\"emcyrillic\\\",1084,\\\"emdash\\\",8212,\\\"emdashvertical\\\",65073,\\\"emonospace\\\",65349,\\\"emphasismarkarmenian\\\",1371,\\\"emptyset\\\",8709,\\\"enbopomofo\\\",12579,\\\"encyrillic\\\",1085,\\\"endash\\\",8211,\\\"endashvertical\\\",65074,\\\"endescendercyrillic\\\",1187,\\\"eng\\\",331,\\\"engbopomofo\\\",12581,\\\"enghecyrillic\\\",1189,\\\"enhookcyrillic\\\",1224,\\\"enspace\\\",8194,\\\"eogonek\\\",281,\\\"eokorean\\\",12627,\\\"eopen\\\",603,\\\"eopenclosed\\\",666,\\\"eopenreversed\\\",604,\\\"eopenreversedclosed\\\",606,\\\"eopenreversedhook\\\",605,\\\"eparen\\\",9376,\\\"epsilon\\\",949,\\\"epsilontonos\\\",941,\\\"equal\\\",61,\\\"equalmonospace\\\",65309,\\\"equalsmall\\\",65126,\\\"equalsuperior\\\",8316,\\\"equivalence\\\",8801,\\\"erbopomofo\\\",12582,\\\"ercyrillic\\\",1088,\\\"ereversed\\\",600,\\\"ereversedcyrillic\\\",1101,\\\"escyrillic\\\",1089,\\\"esdescendercyrillic\\\",1195,\\\"esh\\\",643,\\\"eshcurl\\\",646,\\\"eshortdeva\\\",2318,\\\"eshortvowelsigndeva\\\",2374,\\\"eshreversedloop\\\",426,\\\"eshsquatreversed\\\",645,\\\"esmallhiragana\\\",12359,\\\"esmallkatakana\\\",12455,\\\"esmallkatakanahalfwidth\\\",65386,\\\"estimated\\\",8494,\\\"esuperior\\\",63212,\\\"eta\\\",951,\\\"etarmenian\\\",1384,\\\"etatonos\\\",942,\\\"eth\\\",240,\\\"etilde\\\",7869,\\\"etildebelow\\\",7707,\\\"etnahtafoukhhebrew\\\",1425,\\\"etnahtafoukhlefthebrew\\\",1425,\\\"etnahtahebrew\\\",1425,\\\"etnahtalefthebrew\\\",1425,\\\"eturned\\\",477,\\\"eukorean\\\",12641,\\\"euro\\\",8364,\\\"evowelsignbengali\\\",2503,\\\"evowelsigndeva\\\",2375,\\\"evowelsigngujarati\\\",2759,\\\"exclam\\\",33,\\\"exclamarmenian\\\",1372,\\\"exclamdbl\\\",8252,\\\"exclamdown\\\",161,\\\"exclamdownsmall\\\",63393,\\\"exclammonospace\\\",65281,\\\"exclamsmall\\\",63265,\\\"existential\\\",8707,\\\"ezh\\\",658,\\\"ezhcaron\\\",495,\\\"ezhcurl\\\",659,\\\"ezhreversed\\\",441,\\\"ezhtail\\\",442,\\\"f\\\",102,\\\"fadeva\\\",2398,\\\"fagurmukhi\\\",2654,\\\"fahrenheit\\\",8457,\\\"fathaarabic\\\",1614,\\\"fathalowarabic\\\",1614,\\\"fathatanarabic\\\",1611,\\\"fbopomofo\\\",12552,\\\"fcircle\\\",9429,\\\"fdotaccent\\\",7711,\\\"feharabic\\\",1601,\\\"feharmenian\\\",1414,\\\"fehfinalarabic\\\",65234,\\\"fehinitialarabic\\\",65235,\\\"fehmedialarabic\\\",65236,\\\"feicoptic\\\",997,\\\"female\\\",9792,\\\"ff\\\",64256,\\\"f_f\\\",64256,\\\"ffi\\\",64259,\\\"ffl\\\",64260,\\\"fi\\\",64257,\\\"fifteencircle\\\",9326,\\\"fifteenparen\\\",9346,\\\"fifteenperiod\\\",9366,\\\"figuredash\\\",8210,\\\"filledbox\\\",9632,\\\"filledrect\\\",9644,\\\"finalkaf\\\",1498,\\\"finalkafdagesh\\\",64314,\\\"finalkafdageshhebrew\\\",64314,\\\"finalkafhebrew\\\",1498,\\\"finalmem\\\",1501,\\\"finalmemhebrew\\\",1501,\\\"finalnun\\\",1503,\\\"finalnunhebrew\\\",1503,\\\"finalpe\\\",1507,\\\"finalpehebrew\\\",1507,\\\"finaltsadi\\\",1509,\\\"finaltsadihebrew\\\",1509,\\\"firsttonechinese\\\",713,\\\"fisheye\\\",9673,\\\"fitacyrillic\\\",1139,\\\"five\\\",53,\\\"fivearabic\\\",1637,\\\"fivebengali\\\",2539,\\\"fivecircle\\\",9316,\\\"fivecircleinversesansserif\\\",10126,\\\"fivedeva\\\",2411,\\\"fiveeighths\\\",8541,\\\"fivegujarati\\\",2795,\\\"fivegurmukhi\\\",2667,\\\"fivehackarabic\\\",1637,\\\"fivehangzhou\\\",12325,\\\"fiveideographicparen\\\",12836,\\\"fiveinferior\\\",8325,\\\"fivemonospace\\\",65301,\\\"fiveoldstyle\\\",63285,\\\"fiveparen\\\",9336,\\\"fiveperiod\\\",9356,\\\"fivepersian\\\",1781,\\\"fiveroman\\\",8564,\\\"fivesuperior\\\",8309,\\\"fivethai\\\",3669,\\\"fl\\\",64258,\\\"florin\\\",402,\\\"fmonospace\\\",65350,\\\"fmsquare\\\",13209,\\\"fofanthai\\\",3615,\\\"fofathai\\\",3613,\\\"fongmanthai\\\",3663,\\\"forall\\\",8704,\\\"four\\\",52,\\\"fourarabic\\\",1636,\\\"fourbengali\\\",2538,\\\"fourcircle\\\",9315,\\\"fourcircleinversesansserif\\\",10125,\\\"fourdeva\\\",2410,\\\"fourgujarati\\\",2794,\\\"fourgurmukhi\\\",2666,\\\"fourhackarabic\\\",1636,\\\"fourhangzhou\\\",12324,\\\"fourideographicparen\\\",12835,\\\"fourinferior\\\",8324,\\\"fourmonospace\\\",65300,\\\"fournumeratorbengali\\\",2551,\\\"fouroldstyle\\\",63284,\\\"fourparen\\\",9335,\\\"fourperiod\\\",9355,\\\"fourpersian\\\",1780,\\\"fourroman\\\",8563,\\\"foursuperior\\\",8308,\\\"fourteencircle\\\",9325,\\\"fourteenparen\\\",9345,\\\"fourteenperiod\\\",9365,\\\"fourthai\\\",3668,\\\"fourthtonechinese\\\",715,\\\"fparen\\\",9377,\\\"fraction\\\",8260,\\\"franc\\\",8355,\\\"g\\\",103,\\\"gabengali\\\",2455,\\\"gacute\\\",501,\\\"gadeva\\\",2327,\\\"gafarabic\\\",1711,\\\"gaffinalarabic\\\",64403,\\\"gafinitialarabic\\\",64404,\\\"gafmedialarabic\\\",64405,\\\"gagujarati\\\",2711,\\\"gagurmukhi\\\",2583,\\\"gahiragana\\\",12364,\\\"gakatakana\\\",12460,\\\"gamma\\\",947,\\\"gammalatinsmall\\\",611,\\\"gammasuperior\\\",736,\\\"gangiacoptic\\\",1003,\\\"gbopomofo\\\",12557,\\\"gbreve\\\",287,\\\"gcaron\\\",487,\\\"gcedilla\\\",291,\\\"gcircle\\\",9430,\\\"gcircumflex\\\",285,\\\"gcommaaccent\\\",291,\\\"gdot\\\",289,\\\"gdotaccent\\\",289,\\\"gecyrillic\\\",1075,\\\"gehiragana\\\",12370,\\\"gekatakana\\\",12466,\\\"geometricallyequal\\\",8785,\\\"gereshaccenthebrew\\\",1436,\\\"gereshhebrew\\\",1523,\\\"gereshmuqdamhebrew\\\",1437,\\\"germandbls\\\",223,\\\"gershayimaccenthebrew\\\",1438,\\\"gershayimhebrew\\\",1524,\\\"getamark\\\",12307,\\\"ghabengali\\\",2456,\\\"ghadarmenian\\\",1394,\\\"ghadeva\\\",2328,\\\"ghagujarati\\\",2712,\\\"ghagurmukhi\\\",2584,\\\"ghainarabic\\\",1594,\\\"ghainfinalarabic\\\",65230,\\\"ghaininitialarabic\\\",65231,\\\"ghainmedialarabic\\\",65232,\\\"ghemiddlehookcyrillic\\\",1173,\\\"ghestrokecyrillic\\\",1171,\\\"gheupturncyrillic\\\",1169,\\\"ghhadeva\\\",2394,\\\"ghhagurmukhi\\\",2650,\\\"ghook\\\",608,\\\"ghzsquare\\\",13203,\\\"gihiragana\\\",12366,\\\"gikatakana\\\",12462,\\\"gimarmenian\\\",1379,\\\"gimel\\\",1490,\\\"gimeldagesh\\\",64306,\\\"gimeldageshhebrew\\\",64306,\\\"gimelhebrew\\\",1490,\\\"gjecyrillic\\\",1107,\\\"glottalinvertedstroke\\\",446,\\\"glottalstop\\\",660,\\\"glottalstopinverted\\\",662,\\\"glottalstopmod\\\",704,\\\"glottalstopreversed\\\",661,\\\"glottalstopreversedmod\\\",705,\\\"glottalstopreversedsuperior\\\",740,\\\"glottalstopstroke\\\",673,\\\"glottalstopstrokereversed\\\",674,\\\"gmacron\\\",7713,\\\"gmonospace\\\",65351,\\\"gohiragana\\\",12372,\\\"gokatakana\\\",12468,\\\"gparen\\\",9378,\\\"gpasquare\\\",13228,\\\"gradient\\\",8711,\\\"grave\\\",96,\\\"gravebelowcmb\\\",790,\\\"gravecmb\\\",768,\\\"gravecomb\\\",768,\\\"gravedeva\\\",2387,\\\"gravelowmod\\\",718,\\\"gravemonospace\\\",65344,\\\"gravetonecmb\\\",832,\\\"greater\\\",62,\\\"greaterequal\\\",8805,\\\"greaterequalorless\\\",8923,\\\"greatermonospace\\\",65310,\\\"greaterorequivalent\\\",8819,\\\"greaterorless\\\",8823,\\\"greateroverequal\\\",8807,\\\"greatersmall\\\",65125,\\\"gscript\\\",609,\\\"gstroke\\\",485,\\\"guhiragana\\\",12368,\\\"guillemotleft\\\",171,\\\"guillemotright\\\",187,\\\"guilsinglleft\\\",8249,\\\"guilsinglright\\\",8250,\\\"gukatakana\\\",12464,\\\"guramusquare\\\",13080,\\\"gysquare\\\",13257,\\\"h\\\",104,\\\"haabkhasiancyrillic\\\",1193,\\\"haaltonearabic\\\",1729,\\\"habengali\\\",2489,\\\"hadescendercyrillic\\\",1203,\\\"hadeva\\\",2361,\\\"hagujarati\\\",2745,\\\"hagurmukhi\\\",2617,\\\"haharabic\\\",1581,\\\"hahfinalarabic\\\",65186,\\\"hahinitialarabic\\\",65187,\\\"hahiragana\\\",12399,\\\"hahmedialarabic\\\",65188,\\\"haitusquare\\\",13098,\\\"hakatakana\\\",12495,\\\"hakatakanahalfwidth\\\",65418,\\\"halantgurmukhi\\\",2637,\\\"hamzaarabic\\\",1569,\\\"hamzalowarabic\\\",1569,\\\"hangulfiller\\\",12644,\\\"hardsigncyrillic\\\",1098,\\\"harpoonleftbarbup\\\",8636,\\\"harpoonrightbarbup\\\",8640,\\\"hasquare\\\",13258,\\\"hatafpatah\\\",1458,\\\"hatafpatah16\\\",1458,\\\"hatafpatah23\\\",1458,\\\"hatafpatah2f\\\",1458,\\\"hatafpatahhebrew\\\",1458,\\\"hatafpatahnarrowhebrew\\\",1458,\\\"hatafpatahquarterhebrew\\\",1458,\\\"hatafpatahwidehebrew\\\",1458,\\\"hatafqamats\\\",1459,\\\"hatafqamats1b\\\",1459,\\\"hatafqamats28\\\",1459,\\\"hatafqamats34\\\",1459,\\\"hatafqamatshebrew\\\",1459,\\\"hatafqamatsnarrowhebrew\\\",1459,\\\"hatafqamatsquarterhebrew\\\",1459,\\\"hatafqamatswidehebrew\\\",1459,\\\"hatafsegol\\\",1457,\\\"hatafsegol17\\\",1457,\\\"hatafsegol24\\\",1457,\\\"hatafsegol30\\\",1457,\\\"hatafsegolhebrew\\\",1457,\\\"hatafsegolnarrowhebrew\\\",1457,\\\"hatafsegolquarterhebrew\\\",1457,\\\"hatafsegolwidehebrew\\\",1457,\\\"hbar\\\",295,\\\"hbopomofo\\\",12559,\\\"hbrevebelow\\\",7723,\\\"hcedilla\\\",7721,\\\"hcircle\\\",9431,\\\"hcircumflex\\\",293,\\\"hdieresis\\\",7719,\\\"hdotaccent\\\",7715,\\\"hdotbelow\\\",7717,\\\"he\\\",1492,\\\"heart\\\",9829,\\\"heartsuitblack\\\",9829,\\\"heartsuitwhite\\\",9825,\\\"hedagesh\\\",64308,\\\"hedageshhebrew\\\",64308,\\\"hehaltonearabic\\\",1729,\\\"heharabic\\\",1607,\\\"hehebrew\\\",1492,\\\"hehfinalaltonearabic\\\",64423,\\\"hehfinalalttwoarabic\\\",65258,\\\"hehfinalarabic\\\",65258,\\\"hehhamzaabovefinalarabic\\\",64421,\\\"hehhamzaaboveisolatedarabic\\\",64420,\\\"hehinitialaltonearabic\\\",64424,\\\"hehinitialarabic\\\",65259,\\\"hehiragana\\\",12408,\\\"hehmedialaltonearabic\\\",64425,\\\"hehmedialarabic\\\",65260,\\\"heiseierasquare\\\",13179,\\\"hekatakana\\\",12504,\\\"hekatakanahalfwidth\\\",65421,\\\"hekutaarusquare\\\",13110,\\\"henghook\\\",615,\\\"herutusquare\\\",13113,\\\"het\\\",1495,\\\"hethebrew\\\",1495,\\\"hhook\\\",614,\\\"hhooksuperior\\\",689,\\\"hieuhacirclekorean\\\",12923,\\\"hieuhaparenkorean\\\",12827,\\\"hieuhcirclekorean\\\",12909,\\\"hieuhkorean\\\",12622,\\\"hieuhparenkorean\\\",12813,\\\"hihiragana\\\",12402,\\\"hikatakana\\\",12498,\\\"hikatakanahalfwidth\\\",65419,\\\"hiriq\\\",1460,\\\"hiriq14\\\",1460,\\\"hiriq21\\\",1460,\\\"hiriq2d\\\",1460,\\\"hiriqhebrew\\\",1460,\\\"hiriqnarrowhebrew\\\",1460,\\\"hiriqquarterhebrew\\\",1460,\\\"hiriqwidehebrew\\\",1460,\\\"hlinebelow\\\",7830,\\\"hmonospace\\\",65352,\\\"hoarmenian\\\",1392,\\\"hohipthai\\\",3627,\\\"hohiragana\\\",12411,\\\"hokatakana\\\",12507,\\\"hokatakanahalfwidth\\\",65422,\\\"holam\\\",1465,\\\"holam19\\\",1465,\\\"holam26\\\",1465,\\\"holam32\\\",1465,\\\"holamhebrew\\\",1465,\\\"holamnarrowhebrew\\\",1465,\\\"holamquarterhebrew\\\",1465,\\\"holamwidehebrew\\\",1465,\\\"honokhukthai\\\",3630,\\\"hookabovecomb\\\",777,\\\"hookcmb\\\",777,\\\"hookpalatalizedbelowcmb\\\",801,\\\"hookretroflexbelowcmb\\\",802,\\\"hoonsquare\\\",13122,\\\"horicoptic\\\",1001,\\\"horizontalbar\\\",8213,\\\"horncmb\\\",795,\\\"hotsprings\\\",9832,\\\"house\\\",8962,\\\"hparen\\\",9379,\\\"hsuperior\\\",688,\\\"hturned\\\",613,\\\"huhiragana\\\",12405,\\\"huiitosquare\\\",13107,\\\"hukatakana\\\",12501,\\\"hukatakanahalfwidth\\\",65420,\\\"hungarumlaut\\\",733,\\\"hungarumlautcmb\\\",779,\\\"hv\\\",405,\\\"hyphen\\\",45,\\\"hypheninferior\\\",63205,\\\"hyphenmonospace\\\",65293,\\\"hyphensmall\\\",65123,\\\"hyphensuperior\\\",63206,\\\"hyphentwo\\\",8208,\\\"i\\\",105,\\\"iacute\\\",237,\\\"iacyrillic\\\",1103,\\\"ibengali\\\",2439,\\\"ibopomofo\\\",12583,\\\"ibreve\\\",301,\\\"icaron\\\",464,\\\"icircle\\\",9432,\\\"icircumflex\\\",238,\\\"icyrillic\\\",1110,\\\"idblgrave\\\",521,\\\"ideographearthcircle\\\",12943,\\\"ideographfirecircle\\\",12939,\\\"ideographicallianceparen\\\",12863,\\\"ideographiccallparen\\\",12858,\\\"ideographiccentrecircle\\\",12965,\\\"ideographicclose\\\",12294,\\\"ideographiccomma\\\",12289,\\\"ideographiccommaleft\\\",65380,\\\"ideographiccongratulationparen\\\",12855,\\\"ideographiccorrectcircle\\\",12963,\\\"ideographicearthparen\\\",12847,\\\"ideographicenterpriseparen\\\",12861,\\\"ideographicexcellentcircle\\\",12957,\\\"ideographicfestivalparen\\\",12864,\\\"ideographicfinancialcircle\\\",12950,\\\"ideographicfinancialparen\\\",12854,\\\"ideographicfireparen\\\",12843,\\\"ideographichaveparen\\\",12850,\\\"ideographichighcircle\\\",12964,\\\"ideographiciterationmark\\\",12293,\\\"ideographiclaborcircle\\\",12952,\\\"ideographiclaborparen\\\",12856,\\\"ideographicleftcircle\\\",12967,\\\"ideographiclowcircle\\\",12966,\\\"ideographicmedicinecircle\\\",12969,\\\"ideographicmetalparen\\\",12846,\\\"ideographicmoonparen\\\",12842,\\\"ideographicnameparen\\\",12852,\\\"ideographicperiod\\\",12290,\\\"ideographicprintcircle\\\",12958,\\\"ideographicreachparen\\\",12867,\\\"ideographicrepresentparen\\\",12857,\\\"ideographicresourceparen\\\",12862,\\\"ideographicrightcircle\\\",12968,\\\"ideographicsecretcircle\\\",12953,\\\"ideographicselfparen\\\",12866,\\\"ideographicsocietyparen\\\",12851,\\\"ideographicspace\\\",12288,\\\"ideographicspecialparen\\\",12853,\\\"ideographicstockparen\\\",12849,\\\"ideographicstudyparen\\\",12859,\\\"ideographicsunparen\\\",12848,\\\"ideographicsuperviseparen\\\",12860,\\\"ideographicwaterparen\\\",12844,\\\"ideographicwoodparen\\\",12845,\\\"ideographiczero\\\",12295,\\\"ideographmetalcircle\\\",12942,\\\"ideographmooncircle\\\",12938,\\\"ideographnamecircle\\\",12948,\\\"ideographsuncircle\\\",12944,\\\"ideographwatercircle\\\",12940,\\\"ideographwoodcircle\\\",12941,\\\"ideva\\\",2311,\\\"idieresis\\\",239,\\\"idieresisacute\\\",7727,\\\"idieresiscyrillic\\\",1253,\\\"idotbelow\\\",7883,\\\"iebrevecyrillic\\\",1239,\\\"iecyrillic\\\",1077,\\\"ieungacirclekorean\\\",12917,\\\"ieungaparenkorean\\\",12821,\\\"ieungcirclekorean\\\",12903,\\\"ieungkorean\\\",12615,\\\"ieungparenkorean\\\",12807,\\\"igrave\\\",236,\\\"igujarati\\\",2695,\\\"igurmukhi\\\",2567,\\\"ihiragana\\\",12356,\\\"ihookabove\\\",7881,\\\"iibengali\\\",2440,\\\"iicyrillic\\\",1080,\\\"iideva\\\",2312,\\\"iigujarati\\\",2696,\\\"iigurmukhi\\\",2568,\\\"iimatragurmukhi\\\",2624,\\\"iinvertedbreve\\\",523,\\\"iishortcyrillic\\\",1081,\\\"iivowelsignbengali\\\",2496,\\\"iivowelsigndeva\\\",2368,\\\"iivowelsigngujarati\\\",2752,\\\"ij\\\",307,\\\"ikatakana\\\",12452,\\\"ikatakanahalfwidth\\\",65394,\\\"ikorean\\\",12643,\\\"ilde\\\",732,\\\"iluyhebrew\\\",1452,\\\"imacron\\\",299,\\\"imacroncyrillic\\\",1251,\\\"imageorapproximatelyequal\\\",8787,\\\"imatragurmukhi\\\",2623,\\\"imonospace\\\",65353,\\\"increment\\\",8710,\\\"infinity\\\",8734,\\\"iniarmenian\\\",1387,\\\"integral\\\",8747,\\\"integralbottom\\\",8993,\\\"integralbt\\\",8993,\\\"integralex\\\",63733,\\\"integraltop\\\",8992,\\\"integraltp\\\",8992,\\\"intersection\\\",8745,\\\"intisquare\\\",13061,\\\"invbullet\\\",9688,\\\"invcircle\\\",9689,\\\"invsmileface\\\",9787,\\\"iocyrillic\\\",1105,\\\"iogonek\\\",303,\\\"iota\\\",953,\\\"iotadieresis\\\",970,\\\"iotadieresistonos\\\",912,\\\"iotalatin\\\",617,\\\"iotatonos\\\",943,\\\"iparen\\\",9380,\\\"irigurmukhi\\\",2674,\\\"ismallhiragana\\\",12355,\\\"ismallkatakana\\\",12451,\\\"ismallkatakanahalfwidth\\\",65384,\\\"issharbengali\\\",2554,\\\"istroke\\\",616,\\\"isuperior\\\",63213,\\\"iterationhiragana\\\",12445,\\\"iterationkatakana\\\",12541,\\\"itilde\\\",297,\\\"itildebelow\\\",7725,\\\"iubopomofo\\\",12585,\\\"iucyrillic\\\",1102,\\\"ivowelsignbengali\\\",2495,\\\"ivowelsigndeva\\\",2367,\\\"ivowelsigngujarati\\\",2751,\\\"izhitsacyrillic\\\",1141,\\\"izhitsadblgravecyrillic\\\",1143,\\\"j\\\",106,\\\"jaarmenian\\\",1393,\\\"jabengali\\\",2460,\\\"jadeva\\\",2332,\\\"jagujarati\\\",2716,\\\"jagurmukhi\\\",2588,\\\"jbopomofo\\\",12560,\\\"jcaron\\\",496,\\\"jcircle\\\",9433,\\\"jcircumflex\\\",309,\\\"jcrossedtail\\\",669,\\\"jdotlessstroke\\\",607,\\\"jecyrillic\\\",1112,\\\"jeemarabic\\\",1580,\\\"jeemfinalarabic\\\",65182,\\\"jeeminitialarabic\\\",65183,\\\"jeemmedialarabic\\\",65184,\\\"jeharabic\\\",1688,\\\"jehfinalarabic\\\",64395,\\\"jhabengali\\\",2461,\\\"jhadeva\\\",2333,\\\"jhagujarati\\\",2717,\\\"jhagurmukhi\\\",2589,\\\"jheharmenian\\\",1403,\\\"jis\\\",12292,\\\"jmonospace\\\",65354,\\\"jparen\\\",9381,\\\"jsuperior\\\",690,\\\"k\\\",107,\\\"kabashkircyrillic\\\",1185,\\\"kabengali\\\",2453,\\\"kacute\\\",7729,\\\"kacyrillic\\\",1082,\\\"kadescendercyrillic\\\",1179,\\\"kadeva\\\",2325,\\\"kaf\\\",1499,\\\"kafarabic\\\",1603,\\\"kafdagesh\\\",64315,\\\"kafdageshhebrew\\\",64315,\\\"kaffinalarabic\\\",65242,\\\"kafhebrew\\\",1499,\\\"kafinitialarabic\\\",65243,\\\"kafmedialarabic\\\",65244,\\\"kafrafehebrew\\\",64333,\\\"kagujarati\\\",2709,\\\"kagurmukhi\\\",2581,\\\"kahiragana\\\",12363,\\\"kahookcyrillic\\\",1220,\\\"kakatakana\\\",12459,\\\"kakatakanahalfwidth\\\",65398,\\\"kappa\\\",954,\\\"kappasymbolgreek\\\",1008,\\\"kapyeounmieumkorean\\\",12657,\\\"kapyeounphieuphkorean\\\",12676,\\\"kapyeounpieupkorean\\\",12664,\\\"kapyeounssangpieupkorean\\\",12665,\\\"karoriisquare\\\",13069,\\\"kashidaautoarabic\\\",1600,\\\"kashidaautonosidebearingarabic\\\",1600,\\\"kasmallkatakana\\\",12533,\\\"kasquare\\\",13188,\\\"kasraarabic\\\",1616,\\\"kasratanarabic\\\",1613,\\\"kastrokecyrillic\\\",1183,\\\"katahiraprolongmarkhalfwidth\\\",65392,\\\"kaverticalstrokecyrillic\\\",1181,\\\"kbopomofo\\\",12558,\\\"kcalsquare\\\",13193,\\\"kcaron\\\",489,\\\"kcedilla\\\",311,\\\"kcircle\\\",9434,\\\"kcommaaccent\\\",311,\\\"kdotbelow\\\",7731,\\\"keharmenian\\\",1412,\\\"kehiragana\\\",12369,\\\"kekatakana\\\",12465,\\\"kekatakanahalfwidth\\\",65401,\\\"kenarmenian\\\",1391,\\\"kesmallkatakana\\\",12534,\\\"kgreenlandic\\\",312,\\\"khabengali\\\",2454,\\\"khacyrillic\\\",1093,\\\"khadeva\\\",2326,\\\"khagujarati\\\",2710,\\\"khagurmukhi\\\",2582,\\\"khaharabic\\\",1582,\\\"khahfinalarabic\\\",65190,\\\"khahinitialarabic\\\",65191,\\\"khahmedialarabic\\\",65192,\\\"kheicoptic\\\",999,\\\"khhadeva\\\",2393,\\\"khhagurmukhi\\\",2649,\\\"khieukhacirclekorean\\\",12920,\\\"khieukhaparenkorean\\\",12824,\\\"khieukhcirclekorean\\\",12906,\\\"khieukhkorean\\\",12619,\\\"khieukhparenkorean\\\",12810,\\\"khokhaithai\\\",3586,\\\"khokhonthai\\\",3589,\\\"khokhuatthai\\\",3587,\\\"khokhwaithai\\\",3588,\\\"khomutthai\\\",3675,\\\"khook\\\",409,\\\"khorakhangthai\\\",3590,\\\"khzsquare\\\",13201,\\\"kihiragana\\\",12365,\\\"kikatakana\\\",12461,\\\"kikatakanahalfwidth\\\",65399,\\\"kiroguramusquare\\\",13077,\\\"kiromeetorusquare\\\",13078,\\\"kirosquare\\\",13076,\\\"kiyeokacirclekorean\\\",12910,\\\"kiyeokaparenkorean\\\",12814,\\\"kiyeokcirclekorean\\\",12896,\\\"kiyeokkorean\\\",12593,\\\"kiyeokparenkorean\\\",12800,\\\"kiyeoksioskorean\\\",12595,\\\"kjecyrillic\\\",1116,\\\"klinebelow\\\",7733,\\\"klsquare\\\",13208,\\\"kmcubedsquare\\\",13222,\\\"kmonospace\\\",65355,\\\"kmsquaredsquare\\\",13218,\\\"kohiragana\\\",12371,\\\"kohmsquare\\\",13248,\\\"kokaithai\\\",3585,\\\"kokatakana\\\",12467,\\\"kokatakanahalfwidth\\\",65402,\\\"kooposquare\\\",13086,\\\"koppacyrillic\\\",1153,\\\"koreanstandardsymbol\\\",12927,\\\"koroniscmb\\\",835,\\\"kparen\\\",9382,\\\"kpasquare\\\",13226,\\\"ksicyrillic\\\",1135,\\\"ktsquare\\\",13263,\\\"kturned\\\",670,\\\"kuhiragana\\\",12367,\\\"kukatakana\\\",12463,\\\"kukatakanahalfwidth\\\",65400,\\\"kvsquare\\\",13240,\\\"kwsquare\\\",13246,\\\"l\\\",108,\\\"labengali\\\",2482,\\\"lacute\\\",314,\\\"ladeva\\\",2354,\\\"lagujarati\\\",2738,\\\"lagurmukhi\\\",2610,\\\"lakkhangyaothai\\\",3653,\\\"lamaleffinalarabic\\\",65276,\\\"lamalefhamzaabovefinalarabic\\\",65272,\\\"lamalefhamzaaboveisolatedarabic\\\",65271,\\\"lamalefhamzabelowfinalarabic\\\",65274,\\\"lamalefhamzabelowisolatedarabic\\\",65273,\\\"lamalefisolatedarabic\\\",65275,\\\"lamalefmaddaabovefinalarabic\\\",65270,\\\"lamalefmaddaaboveisolatedarabic\\\",65269,\\\"lamarabic\\\",1604,\\\"lambda\\\",955,\\\"lambdastroke\\\",411,\\\"lamed\\\",1500,\\\"lameddagesh\\\",64316,\\\"lameddageshhebrew\\\",64316,\\\"lamedhebrew\\\",1500,\\\"lamfinalarabic\\\",65246,\\\"lamhahinitialarabic\\\",64714,\\\"laminitialarabic\\\",65247,\\\"lamjeeminitialarabic\\\",64713,\\\"lamkhahinitialarabic\\\",64715,\\\"lamlamhehisolatedarabic\\\",65010,\\\"lammedialarabic\\\",65248,\\\"lammeemhahinitialarabic\\\",64904,\\\"lammeeminitialarabic\\\",64716,\\\"largecircle\\\",9711,\\\"lbar\\\",410,\\\"lbelt\\\",620,\\\"lbopomofo\\\",12556,\\\"lcaron\\\",318,\\\"lcedilla\\\",316,\\\"lcircle\\\",9435,\\\"lcircumflexbelow\\\",7741,\\\"lcommaaccent\\\",316,\\\"ldot\\\",320,\\\"ldotaccent\\\",320,\\\"ldotbelow\\\",7735,\\\"ldotbelowmacron\\\",7737,\\\"leftangleabovecmb\\\",794,\\\"lefttackbelowcmb\\\",792,\\\"less\\\",60,\\\"lessequal\\\",8804,\\\"lessequalorgreater\\\",8922,\\\"lessmonospace\\\",65308,\\\"lessorequivalent\\\",8818,\\\"lessorgreater\\\",8822,\\\"lessoverequal\\\",8806,\\\"lesssmall\\\",65124,\\\"lezh\\\",622,\\\"lfblock\\\",9612,\\\"lhookretroflex\\\",621,\\\"lira\\\",8356,\\\"liwnarmenian\\\",1388,\\\"lj\\\",457,\\\"ljecyrillic\\\",1113,\\\"ll\\\",63168,\\\"lladeva\\\",2355,\\\"llagujarati\\\",2739,\\\"llinebelow\\\",7739,\\\"llladeva\\\",2356,\\\"llvocalicbengali\\\",2529,\\\"llvocalicdeva\\\",2401,\\\"llvocalicvowelsignbengali\\\",2531,\\\"llvocalicvowelsigndeva\\\",2403,\\\"lmiddletilde\\\",619,\\\"lmonospace\\\",65356,\\\"lmsquare\\\",13264,\\\"lochulathai\\\",3628,\\\"logicaland\\\",8743,\\\"logicalnot\\\",172,\\\"logicalnotreversed\\\",8976,\\\"logicalor\\\",8744,\\\"lolingthai\\\",3621,\\\"longs\\\",383,\\\"lowlinecenterline\\\",65102,\\\"lowlinecmb\\\",818,\\\"lowlinedashed\\\",65101,\\\"lozenge\\\",9674,\\\"lparen\\\",9383,\\\"lslash\\\",322,\\\"lsquare\\\",8467,\\\"lsuperior\\\",63214,\\\"ltshade\\\",9617,\\\"luthai\\\",3622,\\\"lvocalicbengali\\\",2444,\\\"lvocalicdeva\\\",2316,\\\"lvocalicvowelsignbengali\\\",2530,\\\"lvocalicvowelsigndeva\\\",2402,\\\"lxsquare\\\",13267,\\\"m\\\",109,\\\"mabengali\\\",2478,\\\"macron\\\",175,\\\"macronbelowcmb\\\",817,\\\"macroncmb\\\",772,\\\"macronlowmod\\\",717,\\\"macronmonospace\\\",65507,\\\"macute\\\",7743,\\\"madeva\\\",2350,\\\"magujarati\\\",2734,\\\"magurmukhi\\\",2606,\\\"mahapakhhebrew\\\",1444,\\\"mahapakhlefthebrew\\\",1444,\\\"mahiragana\\\",12414,\\\"maichattawalowleftthai\\\",63637,\\\"maichattawalowrightthai\\\",63636,\\\"maichattawathai\\\",3659,\\\"maichattawaupperleftthai\\\",63635,\\\"maieklowleftthai\\\",63628,\\\"maieklowrightthai\\\",63627,\\\"maiekthai\\\",3656,\\\"maiekupperleftthai\\\",63626,\\\"maihanakatleftthai\\\",63620,\\\"maihanakatthai\\\",3633,\\\"maitaikhuleftthai\\\",63625,\\\"maitaikhuthai\\\",3655,\\\"maitholowleftthai\\\",63631,\\\"maitholowrightthai\\\",63630,\\\"maithothai\\\",3657,\\\"maithoupperleftthai\\\",63629,\\\"maitrilowleftthai\\\",63634,\\\"maitrilowrightthai\\\",63633,\\\"maitrithai\\\",3658,\\\"maitriupperleftthai\\\",63632,\\\"maiyamokthai\\\",3654,\\\"makatakana\\\",12510,\\\"makatakanahalfwidth\\\",65423,\\\"male\\\",9794,\\\"mansyonsquare\\\",13127,\\\"maqafhebrew\\\",1470,\\\"mars\\\",9794,\\\"masoracirclehebrew\\\",1455,\\\"masquare\\\",13187,\\\"mbopomofo\\\",12551,\\\"mbsquare\\\",13268,\\\"mcircle\\\",9436,\\\"mcubedsquare\\\",13221,\\\"mdotaccent\\\",7745,\\\"mdotbelow\\\",7747,\\\"meemarabic\\\",1605,\\\"meemfinalarabic\\\",65250,\\\"meeminitialarabic\\\",65251,\\\"meemmedialarabic\\\",65252,\\\"meemmeeminitialarabic\\\",64721,\\\"meemmeemisolatedarabic\\\",64584,\\\"meetorusquare\\\",13133,\\\"mehiragana\\\",12417,\\\"meizierasquare\\\",13182,\\\"mekatakana\\\",12513,\\\"mekatakanahalfwidth\\\",65426,\\\"mem\\\",1502,\\\"memdagesh\\\",64318,\\\"memdageshhebrew\\\",64318,\\\"memhebrew\\\",1502,\\\"menarmenian\\\",1396,\\\"merkhahebrew\\\",1445,\\\"merkhakefulahebrew\\\",1446,\\\"merkhakefulalefthebrew\\\",1446,\\\"merkhalefthebrew\\\",1445,\\\"mhook\\\",625,\\\"mhzsquare\\\",13202,\\\"middledotkatakanahalfwidth\\\",65381,\\\"middot\\\",183,\\\"mieumacirclekorean\\\",12914,\\\"mieumaparenkorean\\\",12818,\\\"mieumcirclekorean\\\",12900,\\\"mieumkorean\\\",12609,\\\"mieumpansioskorean\\\",12656,\\\"mieumparenkorean\\\",12804,\\\"mieumpieupkorean\\\",12654,\\\"mieumsioskorean\\\",12655,\\\"mihiragana\\\",12415,\\\"mikatakana\\\",12511,\\\"mikatakanahalfwidth\\\",65424,\\\"minus\\\",8722,\\\"minusbelowcmb\\\",800,\\\"minuscircle\\\",8854,\\\"minusmod\\\",727,\\\"minusplus\\\",8723,\\\"minute\\\",8242,\\\"miribaarusquare\\\",13130,\\\"mirisquare\\\",13129,\\\"mlonglegturned\\\",624,\\\"mlsquare\\\",13206,\\\"mmcubedsquare\\\",13219,\\\"mmonospace\\\",65357,\\\"mmsquaredsquare\\\",13215,\\\"mohiragana\\\",12418,\\\"mohmsquare\\\",13249,\\\"mokatakana\\\",12514,\\\"mokatakanahalfwidth\\\",65427,\\\"molsquare\\\",13270,\\\"momathai\\\",3617,\\\"moverssquare\\\",13223,\\\"moverssquaredsquare\\\",13224,\\\"mparen\\\",9384,\\\"mpasquare\\\",13227,\\\"mssquare\\\",13235,\\\"msuperior\\\",63215,\\\"mturned\\\",623,\\\"mu\\\",181,\\\"mu1\\\",181,\\\"muasquare\\\",13186,\\\"muchgreater\\\",8811,\\\"muchless\\\",8810,\\\"mufsquare\\\",13196,\\\"mugreek\\\",956,\\\"mugsquare\\\",13197,\\\"muhiragana\\\",12416,\\\"mukatakana\\\",12512,\\\"mukatakanahalfwidth\\\",65425,\\\"mulsquare\\\",13205,\\\"multiply\\\",215,\\\"mumsquare\\\",13211,\\\"munahhebrew\\\",1443,\\\"munahlefthebrew\\\",1443,\\\"musicalnote\\\",9834,\\\"musicalnotedbl\\\",9835,\\\"musicflatsign\\\",9837,\\\"musicsharpsign\\\",9839,\\\"mussquare\\\",13234,\\\"muvsquare\\\",13238,\\\"muwsquare\\\",13244,\\\"mvmegasquare\\\",13241,\\\"mvsquare\\\",13239,\\\"mwmegasquare\\\",13247,\\\"mwsquare\\\",13245,\\\"n\\\",110,\\\"nabengali\\\",2472,\\\"nabla\\\",8711,\\\"nacute\\\",324,\\\"nadeva\\\",2344,\\\"nagujarati\\\",2728,\\\"nagurmukhi\\\",2600,\\\"nahiragana\\\",12394,\\\"nakatakana\\\",12490,\\\"nakatakanahalfwidth\\\",65413,\\\"napostrophe\\\",329,\\\"nasquare\\\",13185,\\\"nbopomofo\\\",12555,\\\"nbspace\\\",160,\\\"ncaron\\\",328,\\\"ncedilla\\\",326,\\\"ncircle\\\",9437,\\\"ncircumflexbelow\\\",7755,\\\"ncommaaccent\\\",326,\\\"ndotaccent\\\",7749,\\\"ndotbelow\\\",7751,\\\"nehiragana\\\",12397,\\\"nekatakana\\\",12493,\\\"nekatakanahalfwidth\\\",65416,\\\"newsheqelsign\\\",8362,\\\"nfsquare\\\",13195,\\\"ngabengali\\\",2457,\\\"ngadeva\\\",2329,\\\"ngagujarati\\\",2713,\\\"ngagurmukhi\\\",2585,\\\"ngonguthai\\\",3591,\\\"nhiragana\\\",12435,\\\"nhookleft\\\",626,\\\"nhookretroflex\\\",627,\\\"nieunacirclekorean\\\",12911,\\\"nieunaparenkorean\\\",12815,\\\"nieuncieuckorean\\\",12597,\\\"nieuncirclekorean\\\",12897,\\\"nieunhieuhkorean\\\",12598,\\\"nieunkorean\\\",12596,\\\"nieunpansioskorean\\\",12648,\\\"nieunparenkorean\\\",12801,\\\"nieunsioskorean\\\",12647,\\\"nieuntikeutkorean\\\",12646,\\\"nihiragana\\\",12395,\\\"nikatakana\\\",12491,\\\"nikatakanahalfwidth\\\",65414,\\\"nikhahitleftthai\\\",63641,\\\"nikhahitthai\\\",3661,\\\"nine\\\",57,\\\"ninearabic\\\",1641,\\\"ninebengali\\\",2543,\\\"ninecircle\\\",9320,\\\"ninecircleinversesansserif\\\",10130,\\\"ninedeva\\\",2415,\\\"ninegujarati\\\",2799,\\\"ninegurmukhi\\\",2671,\\\"ninehackarabic\\\",1641,\\\"ninehangzhou\\\",12329,\\\"nineideographicparen\\\",12840,\\\"nineinferior\\\",8329,\\\"ninemonospace\\\",65305,\\\"nineoldstyle\\\",63289,\\\"nineparen\\\",9340,\\\"nineperiod\\\",9360,\\\"ninepersian\\\",1785,\\\"nineroman\\\",8568,\\\"ninesuperior\\\",8313,\\\"nineteencircle\\\",9330,\\\"nineteenparen\\\",9350,\\\"nineteenperiod\\\",9370,\\\"ninethai\\\",3673,\\\"nj\\\",460,\\\"njecyrillic\\\",1114,\\\"nkatakana\\\",12531,\\\"nkatakanahalfwidth\\\",65437,\\\"nlegrightlong\\\",414,\\\"nlinebelow\\\",7753,\\\"nmonospace\\\",65358,\\\"nmsquare\\\",13210,\\\"nnabengali\\\",2467,\\\"nnadeva\\\",2339,\\\"nnagujarati\\\",2723,\\\"nnagurmukhi\\\",2595,\\\"nnnadeva\\\",2345,\\\"nohiragana\\\",12398,\\\"nokatakana\\\",12494,\\\"nokatakanahalfwidth\\\",65417,\\\"nonbreakingspace\\\",160,\\\"nonenthai\\\",3603,\\\"nonuthai\\\",3609,\\\"noonarabic\\\",1606,\\\"noonfinalarabic\\\",65254,\\\"noonghunnaarabic\\\",1722,\\\"noonghunnafinalarabic\\\",64415,\\\"nooninitialarabic\\\",65255,\\\"noonjeeminitialarabic\\\",64722,\\\"noonjeemisolatedarabic\\\",64587,\\\"noonmedialarabic\\\",65256,\\\"noonmeeminitialarabic\\\",64725,\\\"noonmeemisolatedarabic\\\",64590,\\\"noonnoonfinalarabic\\\",64653,\\\"notcontains\\\",8716,\\\"notelement\\\",8713,\\\"notelementof\\\",8713,\\\"notequal\\\",8800,\\\"notgreater\\\",8815,\\\"notgreaternorequal\\\",8817,\\\"notgreaternorless\\\",8825,\\\"notidentical\\\",8802,\\\"notless\\\",8814,\\\"notlessnorequal\\\",8816,\\\"notparallel\\\",8742,\\\"notprecedes\\\",8832,\\\"notsubset\\\",8836,\\\"notsucceeds\\\",8833,\\\"notsuperset\\\",8837,\\\"nowarmenian\\\",1398,\\\"nparen\\\",9385,\\\"nssquare\\\",13233,\\\"nsuperior\\\",8319,\\\"ntilde\\\",241,\\\"nu\\\",957,\\\"nuhiragana\\\",12396,\\\"nukatakana\\\",12492,\\\"nukatakanahalfwidth\\\",65415,\\\"nuktabengali\\\",2492,\\\"nuktadeva\\\",2364,\\\"nuktagujarati\\\",2748,\\\"nuktagurmukhi\\\",2620,\\\"numbersign\\\",35,\\\"numbersignmonospace\\\",65283,\\\"numbersignsmall\\\",65119,\\\"numeralsigngreek\\\",884,\\\"numeralsignlowergreek\\\",885,\\\"numero\\\",8470,\\\"nun\\\",1504,\\\"nundagesh\\\",64320,\\\"nundageshhebrew\\\",64320,\\\"nunhebrew\\\",1504,\\\"nvsquare\\\",13237,\\\"nwsquare\\\",13243,\\\"nyabengali\\\",2462,\\\"nyadeva\\\",2334,\\\"nyagujarati\\\",2718,\\\"nyagurmukhi\\\",2590,\\\"o\\\",111,\\\"oacute\\\",243,\\\"oangthai\\\",3629,\\\"obarred\\\",629,\\\"obarredcyrillic\\\",1257,\\\"obarreddieresiscyrillic\\\",1259,\\\"obengali\\\",2451,\\\"obopomofo\\\",12571,\\\"obreve\\\",335,\\\"ocandradeva\\\",2321,\\\"ocandragujarati\\\",2705,\\\"ocandravowelsigndeva\\\",2377,\\\"ocandravowelsigngujarati\\\",2761,\\\"ocaron\\\",466,\\\"ocircle\\\",9438,\\\"ocircumflex\\\",244,\\\"ocircumflexacute\\\",7889,\\\"ocircumflexdotbelow\\\",7897,\\\"ocircumflexgrave\\\",7891,\\\"ocircumflexhookabove\\\",7893,\\\"ocircumflextilde\\\",7895,\\\"ocyrillic\\\",1086,\\\"odblacute\\\",337,\\\"odblgrave\\\",525,\\\"odeva\\\",2323,\\\"odieresis\\\",246,\\\"odieresiscyrillic\\\",1255,\\\"odotbelow\\\",7885,\\\"oe\\\",339,\\\"oekorean\\\",12634,\\\"ogonek\\\",731,\\\"ogonekcmb\\\",808,\\\"ograve\\\",242,\\\"ogujarati\\\",2707,\\\"oharmenian\\\",1413,\\\"ohiragana\\\",12362,\\\"ohookabove\\\",7887,\\\"ohorn\\\",417,\\\"ohornacute\\\",7899,\\\"ohorndotbelow\\\",7907,\\\"ohorngrave\\\",7901,\\\"ohornhookabove\\\",7903,\\\"ohorntilde\\\",7905,\\\"ohungarumlaut\\\",337,\\\"oi\\\",419,\\\"oinvertedbreve\\\",527,\\\"okatakana\\\",12458,\\\"okatakanahalfwidth\\\",65397,\\\"okorean\\\",12631,\\\"olehebrew\\\",1451,\\\"omacron\\\",333,\\\"omacronacute\\\",7763,\\\"omacrongrave\\\",7761,\\\"omdeva\\\",2384,\\\"omega\\\",969,\\\"omega1\\\",982,\\\"omegacyrillic\\\",1121,\\\"omegalatinclosed\\\",631,\\\"omegaroundcyrillic\\\",1147,\\\"omegatitlocyrillic\\\",1149,\\\"omegatonos\\\",974,\\\"omgujarati\\\",2768,\\\"omicron\\\",959,\\\"omicrontonos\\\",972,\\\"omonospace\\\",65359,\\\"one\\\",49,\\\"onearabic\\\",1633,\\\"onebengali\\\",2535,\\\"onecircle\\\",9312,\\\"onecircleinversesansserif\\\",10122,\\\"onedeva\\\",2407,\\\"onedotenleader\\\",8228,\\\"oneeighth\\\",8539,\\\"onefitted\\\",63196,\\\"onegujarati\\\",2791,\\\"onegurmukhi\\\",2663,\\\"onehackarabic\\\",1633,\\\"onehalf\\\",189,\\\"onehangzhou\\\",12321,\\\"oneideographicparen\\\",12832,\\\"oneinferior\\\",8321,\\\"onemonospace\\\",65297,\\\"onenumeratorbengali\\\",2548,\\\"oneoldstyle\\\",63281,\\\"oneparen\\\",9332,\\\"oneperiod\\\",9352,\\\"onepersian\\\",1777,\\\"onequarter\\\",188,\\\"oneroman\\\",8560,\\\"onesuperior\\\",185,\\\"onethai\\\",3665,\\\"onethird\\\",8531,\\\"oogonek\\\",491,\\\"oogonekmacron\\\",493,\\\"oogurmukhi\\\",2579,\\\"oomatragurmukhi\\\",2635,\\\"oopen\\\",596,\\\"oparen\\\",9386,\\\"openbullet\\\",9702,\\\"option\\\",8997,\\\"ordfeminine\\\",170,\\\"ordmasculine\\\",186,\\\"orthogonal\\\",8735,\\\"oshortdeva\\\",2322,\\\"oshortvowelsigndeva\\\",2378,\\\"oslash\\\",248,\\\"oslashacute\\\",511,\\\"osmallhiragana\\\",12361,\\\"osmallkatakana\\\",12457,\\\"osmallkatakanahalfwidth\\\",65387,\\\"ostrokeacute\\\",511,\\\"osuperior\\\",63216,\\\"otcyrillic\\\",1151,\\\"otilde\\\",245,\\\"otildeacute\\\",7757,\\\"otildedieresis\\\",7759,\\\"oubopomofo\\\",12577,\\\"overline\\\",8254,\\\"overlinecenterline\\\",65098,\\\"overlinecmb\\\",773,\\\"overlinedashed\\\",65097,\\\"overlinedblwavy\\\",65100,\\\"overlinewavy\\\",65099,\\\"overscore\\\",175,\\\"ovowelsignbengali\\\",2507,\\\"ovowelsigndeva\\\",2379,\\\"ovowelsigngujarati\\\",2763,\\\"p\\\",112,\\\"paampssquare\\\",13184,\\\"paasentosquare\\\",13099,\\\"pabengali\\\",2474,\\\"pacute\\\",7765,\\\"padeva\\\",2346,\\\"pagedown\\\",8671,\\\"pageup\\\",8670,\\\"pagujarati\\\",2730,\\\"pagurmukhi\\\",2602,\\\"pahiragana\\\",12401,\\\"paiyannoithai\\\",3631,\\\"pakatakana\\\",12497,\\\"palatalizationcyrilliccmb\\\",1156,\\\"palochkacyrillic\\\",1216,\\\"pansioskorean\\\",12671,\\\"paragraph\\\",182,\\\"parallel\\\",8741,\\\"parenleft\\\",40,\\\"parenleftaltonearabic\\\",64830,\\\"parenleftbt\\\",63725,\\\"parenleftex\\\",63724,\\\"parenleftinferior\\\",8333,\\\"parenleftmonospace\\\",65288,\\\"parenleftsmall\\\",65113,\\\"parenleftsuperior\\\",8317,\\\"parenlefttp\\\",63723,\\\"parenleftvertical\\\",65077,\\\"parenright\\\",41,\\\"parenrightaltonearabic\\\",64831,\\\"parenrightbt\\\",63736,\\\"parenrightex\\\",63735,\\\"parenrightinferior\\\",8334,\\\"parenrightmonospace\\\",65289,\\\"parenrightsmall\\\",65114,\\\"parenrightsuperior\\\",8318,\\\"parenrighttp\\\",63734,\\\"parenrightvertical\\\",65078,\\\"partialdiff\\\",8706,\\\"paseqhebrew\\\",1472,\\\"pashtahebrew\\\",1433,\\\"pasquare\\\",13225,\\\"patah\\\",1463,\\\"patah11\\\",1463,\\\"patah1d\\\",1463,\\\"patah2a\\\",1463,\\\"patahhebrew\\\",1463,\\\"patahnarrowhebrew\\\",1463,\\\"patahquarterhebrew\\\",1463,\\\"patahwidehebrew\\\",1463,\\\"pazerhebrew\\\",1441,\\\"pbopomofo\\\",12550,\\\"pcircle\\\",9439,\\\"pdotaccent\\\",7767,\\\"pe\\\",1508,\\\"pecyrillic\\\",1087,\\\"pedagesh\\\",64324,\\\"pedageshhebrew\\\",64324,\\\"peezisquare\\\",13115,\\\"pefinaldageshhebrew\\\",64323,\\\"peharabic\\\",1662,\\\"peharmenian\\\",1402,\\\"pehebrew\\\",1508,\\\"pehfinalarabic\\\",64343,\\\"pehinitialarabic\\\",64344,\\\"pehiragana\\\",12410,\\\"pehmedialarabic\\\",64345,\\\"pekatakana\\\",12506,\\\"pemiddlehookcyrillic\\\",1191,\\\"perafehebrew\\\",64334,\\\"percent\\\",37,\\\"percentarabic\\\",1642,\\\"percentmonospace\\\",65285,\\\"percentsmall\\\",65130,\\\"period\\\",46,\\\"periodarmenian\\\",1417,\\\"periodcentered\\\",183,\\\"periodhalfwidth\\\",65377,\\\"periodinferior\\\",63207,\\\"periodmonospace\\\",65294,\\\"periodsmall\\\",65106,\\\"periodsuperior\\\",63208,\\\"perispomenigreekcmb\\\",834,\\\"perpendicular\\\",8869,\\\"perthousand\\\",8240,\\\"peseta\\\",8359,\\\"pfsquare\\\",13194,\\\"phabengali\\\",2475,\\\"phadeva\\\",2347,\\\"phagujarati\\\",2731,\\\"phagurmukhi\\\",2603,\\\"phi\\\",966,\\\"phi1\\\",981,\\\"phieuphacirclekorean\\\",12922,\\\"phieuphaparenkorean\\\",12826,\\\"phieuphcirclekorean\\\",12908,\\\"phieuphkorean\\\",12621,\\\"phieuphparenkorean\\\",12812,\\\"philatin\\\",632,\\\"phinthuthai\\\",3642,\\\"phisymbolgreek\\\",981,\\\"phook\\\",421,\\\"phophanthai\\\",3614,\\\"phophungthai\\\",3612,\\\"phosamphaothai\\\",3616,\\\"pi\\\",960,\\\"pieupacirclekorean\\\",12915,\\\"pieupaparenkorean\\\",12819,\\\"pieupcieuckorean\\\",12662,\\\"pieupcirclekorean\\\",12901,\\\"pieupkiyeokkorean\\\",12658,\\\"pieupkorean\\\",12610,\\\"pieupparenkorean\\\",12805,\\\"pieupsioskiyeokkorean\\\",12660,\\\"pieupsioskorean\\\",12612,\\\"pieupsiostikeutkorean\\\",12661,\\\"pieupthieuthkorean\\\",12663,\\\"pieuptikeutkorean\\\",12659,\\\"pihiragana\\\",12404,\\\"pikatakana\\\",12500,\\\"pisymbolgreek\\\",982,\\\"piwrarmenian\\\",1411,\\\"plus\\\",43,\\\"plusbelowcmb\\\",799,\\\"pluscircle\\\",8853,\\\"plusminus\\\",177,\\\"plusmod\\\",726,\\\"plusmonospace\\\",65291,\\\"plussmall\\\",65122,\\\"plussuperior\\\",8314,\\\"pmonospace\\\",65360,\\\"pmsquare\\\",13272,\\\"pohiragana\\\",12413,\\\"pointingindexdownwhite\\\",9759,\\\"pointingindexleftwhite\\\",9756,\\\"pointingindexrightwhite\\\",9758,\\\"pointingindexupwhite\\\",9757,\\\"pokatakana\\\",12509,\\\"poplathai\\\",3611,\\\"postalmark\\\",12306,\\\"postalmarkface\\\",12320,\\\"pparen\\\",9387,\\\"precedes\\\",8826,\\\"prescription\\\",8478,\\\"primemod\\\",697,\\\"primereversed\\\",8245,\\\"product\\\",8719,\\\"projective\\\",8965,\\\"prolongedkana\\\",12540,\\\"propellor\\\",8984,\\\"propersubset\\\",8834,\\\"propersuperset\\\",8835,\\\"proportion\\\",8759,\\\"proportional\\\",8733,\\\"psi\\\",968,\\\"psicyrillic\\\",1137,\\\"psilipneumatacyrilliccmb\\\",1158,\\\"pssquare\\\",13232,\\\"puhiragana\\\",12407,\\\"pukatakana\\\",12503,\\\"pvsquare\\\",13236,\\\"pwsquare\\\",13242,\\\"q\\\",113,\\\"qadeva\\\",2392,\\\"qadmahebrew\\\",1448,\\\"qafarabic\\\",1602,\\\"qaffinalarabic\\\",65238,\\\"qafinitialarabic\\\",65239,\\\"qafmedialarabic\\\",65240,\\\"qamats\\\",1464,\\\"qamats10\\\",1464,\\\"qamats1a\\\",1464,\\\"qamats1c\\\",1464,\\\"qamats27\\\",1464,\\\"qamats29\\\",1464,\\\"qamats33\\\",1464,\\\"qamatsde\\\",1464,\\\"qamatshebrew\\\",1464,\\\"qamatsnarrowhebrew\\\",1464,\\\"qamatsqatanhebrew\\\",1464,\\\"qamatsqatannarrowhebrew\\\",1464,\\\"qamatsqatanquarterhebrew\\\",1464,\\\"qamatsqatanwidehebrew\\\",1464,\\\"qamatsquarterhebrew\\\",1464,\\\"qamatswidehebrew\\\",1464,\\\"qarneyparahebrew\\\",1439,\\\"qbopomofo\\\",12561,\\\"qcircle\\\",9440,\\\"qhook\\\",672,\\\"qmonospace\\\",65361,\\\"qof\\\",1511,\\\"qofdagesh\\\",64327,\\\"qofdageshhebrew\\\",64327,\\\"qofhebrew\\\",1511,\\\"qparen\\\",9388,\\\"quarternote\\\",9833,\\\"qubuts\\\",1467,\\\"qubuts18\\\",1467,\\\"qubuts25\\\",1467,\\\"qubuts31\\\",1467,\\\"qubutshebrew\\\",1467,\\\"qubutsnarrowhebrew\\\",1467,\\\"qubutsquarterhebrew\\\",1467,\\\"qubutswidehebrew\\\",1467,\\\"question\\\",63,\\\"questionarabic\\\",1567,\\\"questionarmenian\\\",1374,\\\"questiondown\\\",191,\\\"questiondownsmall\\\",63423,\\\"questiongreek\\\",894,\\\"questionmonospace\\\",65311,\\\"questionsmall\\\",63295,\\\"quotedbl\\\",34,\\\"quotedblbase\\\",8222,\\\"quotedblleft\\\",8220,\\\"quotedblmonospace\\\",65282,\\\"quotedblprime\\\",12318,\\\"quotedblprimereversed\\\",12317,\\\"quotedblright\\\",8221,\\\"quoteleft\\\",8216,\\\"quoteleftreversed\\\",8219,\\\"quotereversed\\\",8219,\\\"quoteright\\\",8217,\\\"quoterightn\\\",329,\\\"quotesinglbase\\\",8218,\\\"quotesingle\\\",39,\\\"quotesinglemonospace\\\",65287,\\\"r\\\",114,\\\"raarmenian\\\",1404,\\\"rabengali\\\",2480,\\\"racute\\\",341,\\\"radeva\\\",2352,\\\"radical\\\",8730,\\\"radicalex\\\",63717,\\\"radoverssquare\\\",13230,\\\"radoverssquaredsquare\\\",13231,\\\"radsquare\\\",13229,\\\"rafe\\\",1471,\\\"rafehebrew\\\",1471,\\\"ragujarati\\\",2736,\\\"ragurmukhi\\\",2608,\\\"rahiragana\\\",12425,\\\"rakatakana\\\",12521,\\\"rakatakanahalfwidth\\\",65431,\\\"ralowerdiagonalbengali\\\",2545,\\\"ramiddlediagonalbengali\\\",2544,\\\"ramshorn\\\",612,\\\"ratio\\\",8758,\\\"rbopomofo\\\",12566,\\\"rcaron\\\",345,\\\"rcedilla\\\",343,\\\"rcircle\\\",9441,\\\"rcommaaccent\\\",343,\\\"rdblgrave\\\",529,\\\"rdotaccent\\\",7769,\\\"rdotbelow\\\",7771,\\\"rdotbelowmacron\\\",7773,\\\"referencemark\\\",8251,\\\"reflexsubset\\\",8838,\\\"reflexsuperset\\\",8839,\\\"registered\\\",174,\\\"registersans\\\",63720,\\\"registerserif\\\",63194,\\\"reharabic\\\",1585,\\\"reharmenian\\\",1408,\\\"rehfinalarabic\\\",65198,\\\"rehiragana\\\",12428,\\\"rekatakana\\\",12524,\\\"rekatakanahalfwidth\\\",65434,\\\"resh\\\",1512,\\\"reshdageshhebrew\\\",64328,\\\"reshhebrew\\\",1512,\\\"reversedtilde\\\",8765,\\\"reviahebrew\\\",1431,\\\"reviamugrashhebrew\\\",1431,\\\"revlogicalnot\\\",8976,\\\"rfishhook\\\",638,\\\"rfishhookreversed\\\",639,\\\"rhabengali\\\",2525,\\\"rhadeva\\\",2397,\\\"rho\\\",961,\\\"rhook\\\",637,\\\"rhookturned\\\",635,\\\"rhookturnedsuperior\\\",693,\\\"rhosymbolgreek\\\",1009,\\\"rhotichookmod\\\",734,\\\"rieulacirclekorean\\\",12913,\\\"rieulaparenkorean\\\",12817,\\\"rieulcirclekorean\\\",12899,\\\"rieulhieuhkorean\\\",12608,\\\"rieulkiyeokkorean\\\",12602,\\\"rieulkiyeoksioskorean\\\",12649,\\\"rieulkorean\\\",12601,\\\"rieulmieumkorean\\\",12603,\\\"rieulpansioskorean\\\",12652,\\\"rieulparenkorean\\\",12803,\\\"rieulphieuphkorean\\\",12607,\\\"rieulpieupkorean\\\",12604,\\\"rieulpieupsioskorean\\\",12651,\\\"rieulsioskorean\\\",12605,\\\"rieulthieuthkorean\\\",12606,\\\"rieultikeutkorean\\\",12650,\\\"rieulyeorinhieuhkorean\\\",12653,\\\"rightangle\\\",8735,\\\"righttackbelowcmb\\\",793,\\\"righttriangle\\\",8895,\\\"rihiragana\\\",12426,\\\"rikatakana\\\",12522,\\\"rikatakanahalfwidth\\\",65432,\\\"ring\\\",730,\\\"ringbelowcmb\\\",805,\\\"ringcmb\\\",778,\\\"ringhalfleft\\\",703,\\\"ringhalfleftarmenian\\\",1369,\\\"ringhalfleftbelowcmb\\\",796,\\\"ringhalfleftcentered\\\",723,\\\"ringhalfright\\\",702,\\\"ringhalfrightbelowcmb\\\",825,\\\"ringhalfrightcentered\\\",722,\\\"rinvertedbreve\\\",531,\\\"rittorusquare\\\",13137,\\\"rlinebelow\\\",7775,\\\"rlongleg\\\",636,\\\"rlonglegturned\\\",634,\\\"rmonospace\\\",65362,\\\"rohiragana\\\",12429,\\\"rokatakana\\\",12525,\\\"rokatakanahalfwidth\\\",65435,\\\"roruathai\\\",3619,\\\"rparen\\\",9389,\\\"rrabengali\\\",2524,\\\"rradeva\\\",2353,\\\"rragurmukhi\\\",2652,\\\"rreharabic\\\",1681,\\\"rrehfinalarabic\\\",64397,\\\"rrvocalicbengali\\\",2528,\\\"rrvocalicdeva\\\",2400,\\\"rrvocalicgujarati\\\",2784,\\\"rrvocalicvowelsignbengali\\\",2500,\\\"rrvocalicvowelsigndeva\\\",2372,\\\"rrvocalicvowelsigngujarati\\\",2756,\\\"rsuperior\\\",63217,\\\"rtblock\\\",9616,\\\"rturned\\\",633,\\\"rturnedsuperior\\\",692,\\\"ruhiragana\\\",12427,\\\"rukatakana\\\",12523,\\\"rukatakanahalfwidth\\\",65433,\\\"rupeemarkbengali\\\",2546,\\\"rupeesignbengali\\\",2547,\\\"rupiah\\\",63197,\\\"ruthai\\\",3620,\\\"rvocalicbengali\\\",2443,\\\"rvocalicdeva\\\",2315,\\\"rvocalicgujarati\\\",2699,\\\"rvocalicvowelsignbengali\\\",2499,\\\"rvocalicvowelsigndeva\\\",2371,\\\"rvocalicvowelsigngujarati\\\",2755,\\\"s\\\",115,\\\"sabengali\\\",2488,\\\"sacute\\\",347,\\\"sacutedotaccent\\\",7781,\\\"sadarabic\\\",1589,\\\"sadeva\\\",2360,\\\"sadfinalarabic\\\",65210,\\\"sadinitialarabic\\\",65211,\\\"sadmedialarabic\\\",65212,\\\"sagujarati\\\",2744,\\\"sagurmukhi\\\",2616,\\\"sahiragana\\\",12373,\\\"sakatakana\\\",12469,\\\"sakatakanahalfwidth\\\",65403,\\\"sallallahoualayhewasallamarabic\\\",65018,\\\"samekh\\\",1505,\\\"samekhdagesh\\\",64321,\\\"samekhdageshhebrew\\\",64321,\\\"samekhhebrew\\\",1505,\\\"saraaathai\\\",3634,\\\"saraaethai\\\",3649,\\\"saraaimaimalaithai\\\",3652,\\\"saraaimaimuanthai\\\",3651,\\\"saraamthai\\\",3635,\\\"saraathai\\\",3632,\\\"saraethai\\\",3648,\\\"saraiileftthai\\\",63622,\\\"saraiithai\\\",3637,\\\"saraileftthai\\\",63621,\\\"saraithai\\\",3636,\\\"saraothai\\\",3650,\\\"saraueeleftthai\\\",63624,\\\"saraueethai\\\",3639,\\\"saraueleftthai\\\",63623,\\\"sarauethai\\\",3638,\\\"sarauthai\\\",3640,\\\"sarauuthai\\\",3641,\\\"sbopomofo\\\",12569,\\\"scaron\\\",353,\\\"scarondotaccent\\\",7783,\\\"scedilla\\\",351,\\\"schwa\\\",601,\\\"schwacyrillic\\\",1241,\\\"schwadieresiscyrillic\\\",1243,\\\"schwahook\\\",602,\\\"scircle\\\",9442,\\\"scircumflex\\\",349,\\\"scommaaccent\\\",537,\\\"sdotaccent\\\",7777,\\\"sdotbelow\\\",7779,\\\"sdotbelowdotaccent\\\",7785,\\\"seagullbelowcmb\\\",828,\\\"second\\\",8243,\\\"secondtonechinese\\\",714,\\\"section\\\",167,\\\"seenarabic\\\",1587,\\\"seenfinalarabic\\\",65202,\\\"seeninitialarabic\\\",65203,\\\"seenmedialarabic\\\",65204,\\\"segol\\\",1462,\\\"segol13\\\",1462,\\\"segol1f\\\",1462,\\\"segol2c\\\",1462,\\\"segolhebrew\\\",1462,\\\"segolnarrowhebrew\\\",1462,\\\"segolquarterhebrew\\\",1462,\\\"segoltahebrew\\\",1426,\\\"segolwidehebrew\\\",1462,\\\"seharmenian\\\",1405,\\\"sehiragana\\\",12379,\\\"sekatakana\\\",12475,\\\"sekatakanahalfwidth\\\",65406,\\\"semicolon\\\",59,\\\"semicolonarabic\\\",1563,\\\"semicolonmonospace\\\",65307,\\\"semicolonsmall\\\",65108,\\\"semivoicedmarkkana\\\",12444,\\\"semivoicedmarkkanahalfwidth\\\",65439,\\\"sentisquare\\\",13090,\\\"sentosquare\\\",13091,\\\"seven\\\",55,\\\"sevenarabic\\\",1639,\\\"sevenbengali\\\",2541,\\\"sevencircle\\\",9318,\\\"sevencircleinversesansserif\\\",10128,\\\"sevendeva\\\",2413,\\\"seveneighths\\\",8542,\\\"sevengujarati\\\",2797,\\\"sevengurmukhi\\\",2669,\\\"sevenhackarabic\\\",1639,\\\"sevenhangzhou\\\",12327,\\\"sevenideographicparen\\\",12838,\\\"seveninferior\\\",8327,\\\"sevenmonospace\\\",65303,\\\"sevenoldstyle\\\",63287,\\\"sevenparen\\\",9338,\\\"sevenperiod\\\",9358,\\\"sevenpersian\\\",1783,\\\"sevenroman\\\",8566,\\\"sevensuperior\\\",8311,\\\"seventeencircle\\\",9328,\\\"seventeenparen\\\",9348,\\\"seventeenperiod\\\",9368,\\\"seventhai\\\",3671,\\\"sfthyphen\\\",173,\\\"shaarmenian\\\",1399,\\\"shabengali\\\",2486,\\\"shacyrillic\\\",1096,\\\"shaddaarabic\\\",1617,\\\"shaddadammaarabic\\\",64609,\\\"shaddadammatanarabic\\\",64606,\\\"shaddafathaarabic\\\",64608,\\\"shaddakasraarabic\\\",64610,\\\"shaddakasratanarabic\\\",64607,\\\"shade\\\",9618,\\\"shadedark\\\",9619,\\\"shadelight\\\",9617,\\\"shademedium\\\",9618,\\\"shadeva\\\",2358,\\\"shagujarati\\\",2742,\\\"shagurmukhi\\\",2614,\\\"shalshelethebrew\\\",1427,\\\"shbopomofo\\\",12565,\\\"shchacyrillic\\\",1097,\\\"sheenarabic\\\",1588,\\\"sheenfinalarabic\\\",65206,\\\"sheeninitialarabic\\\",65207,\\\"sheenmedialarabic\\\",65208,\\\"sheicoptic\\\",995,\\\"sheqel\\\",8362,\\\"sheqelhebrew\\\",8362,\\\"sheva\\\",1456,\\\"sheva115\\\",1456,\\\"sheva15\\\",1456,\\\"sheva22\\\",1456,\\\"sheva2e\\\",1456,\\\"shevahebrew\\\",1456,\\\"shevanarrowhebrew\\\",1456,\\\"shevaquarterhebrew\\\",1456,\\\"shevawidehebrew\\\",1456,\\\"shhacyrillic\\\",1211,\\\"shimacoptic\\\",1005,\\\"shin\\\",1513,\\\"shindagesh\\\",64329,\\\"shindageshhebrew\\\",64329,\\\"shindageshshindot\\\",64300,\\\"shindageshshindothebrew\\\",64300,\\\"shindageshsindot\\\",64301,\\\"shindageshsindothebrew\\\",64301,\\\"shindothebrew\\\",1473,\\\"shinhebrew\\\",1513,\\\"shinshindot\\\",64298,\\\"shinshindothebrew\\\",64298,\\\"shinsindot\\\",64299,\\\"shinsindothebrew\\\",64299,\\\"shook\\\",642,\\\"sigma\\\",963,\\\"sigma1\\\",962,\\\"sigmafinal\\\",962,\\\"sigmalunatesymbolgreek\\\",1010,\\\"sihiragana\\\",12375,\\\"sikatakana\\\",12471,\\\"sikatakanahalfwidth\\\",65404,\\\"siluqhebrew\\\",1469,\\\"siluqlefthebrew\\\",1469,\\\"similar\\\",8764,\\\"sindothebrew\\\",1474,\\\"siosacirclekorean\\\",12916,\\\"siosaparenkorean\\\",12820,\\\"sioscieuckorean\\\",12670,\\\"sioscirclekorean\\\",12902,\\\"sioskiyeokkorean\\\",12666,\\\"sioskorean\\\",12613,\\\"siosnieunkorean\\\",12667,\\\"siosparenkorean\\\",12806,\\\"siospieupkorean\\\",12669,\\\"siostikeutkorean\\\",12668,\\\"six\\\",54,\\\"sixarabic\\\",1638,\\\"sixbengali\\\",2540,\\\"sixcircle\\\",9317,\\\"sixcircleinversesansserif\\\",10127,\\\"sixdeva\\\",2412,\\\"sixgujarati\\\",2796,\\\"sixgurmukhi\\\",2668,\\\"sixhackarabic\\\",1638,\\\"sixhangzhou\\\",12326,\\\"sixideographicparen\\\",12837,\\\"sixinferior\\\",8326,\\\"sixmonospace\\\",65302,\\\"sixoldstyle\\\",63286,\\\"sixparen\\\",9337,\\\"sixperiod\\\",9357,\\\"sixpersian\\\",1782,\\\"sixroman\\\",8565,\\\"sixsuperior\\\",8310,\\\"sixteencircle\\\",9327,\\\"sixteencurrencydenominatorbengali\\\",2553,\\\"sixteenparen\\\",9347,\\\"sixteenperiod\\\",9367,\\\"sixthai\\\",3670,\\\"slash\\\",47,\\\"slashmonospace\\\",65295,\\\"slong\\\",383,\\\"slongdotaccent\\\",7835,\\\"smileface\\\",9786,\\\"smonospace\\\",65363,\\\"sofpasuqhebrew\\\",1475,\\\"softhyphen\\\",173,\\\"softsigncyrillic\\\",1100,\\\"sohiragana\\\",12381,\\\"sokatakana\\\",12477,\\\"sokatakanahalfwidth\\\",65407,\\\"soliduslongoverlaycmb\\\",824,\\\"solidusshortoverlaycmb\\\",823,\\\"sorusithai\\\",3625,\\\"sosalathai\\\",3624,\\\"sosothai\\\",3595,\\\"sosuathai\\\",3626,\\\"space\\\",32,\\\"spacehackarabic\\\",32,\\\"spade\\\",9824,\\\"spadesuitblack\\\",9824,\\\"spadesuitwhite\\\",9828,\\\"sparen\\\",9390,\\\"squarebelowcmb\\\",827,\\\"squarecc\\\",13252,\\\"squarecm\\\",13213,\\\"squarediagonalcrosshatchfill\\\",9641,\\\"squarehorizontalfill\\\",9636,\\\"squarekg\\\",13199,\\\"squarekm\\\",13214,\\\"squarekmcapital\\\",13262,\\\"squareln\\\",13265,\\\"squarelog\\\",13266,\\\"squaremg\\\",13198,\\\"squaremil\\\",13269,\\\"squaremm\\\",13212,\\\"squaremsquared\\\",13217,\\\"squareorthogonalcrosshatchfill\\\",9638,\\\"squareupperlefttolowerrightfill\\\",9639,\\\"squareupperrighttolowerleftfill\\\",9640,\\\"squareverticalfill\\\",9637,\\\"squarewhitewithsmallblack\\\",9635,\\\"srsquare\\\",13275,\\\"ssabengali\\\",2487,\\\"ssadeva\\\",2359,\\\"ssagujarati\\\",2743,\\\"ssangcieuckorean\\\",12617,\\\"ssanghieuhkorean\\\",12677,\\\"ssangieungkorean\\\",12672,\\\"ssangkiyeokkorean\\\",12594,\\\"ssangnieunkorean\\\",12645,\\\"ssangpieupkorean\\\",12611,\\\"ssangsioskorean\\\",12614,\\\"ssangtikeutkorean\\\",12600,\\\"ssuperior\\\",63218,\\\"sterling\\\",163,\\\"sterlingmonospace\\\",65505,\\\"strokelongoverlaycmb\\\",822,\\\"strokeshortoverlaycmb\\\",821,\\\"subset\\\",8834,\\\"subsetnotequal\\\",8842,\\\"subsetorequal\\\",8838,\\\"succeeds\\\",8827,\\\"suchthat\\\",8715,\\\"suhiragana\\\",12377,\\\"sukatakana\\\",12473,\\\"sukatakanahalfwidth\\\",65405,\\\"sukunarabic\\\",1618,\\\"summation\\\",8721,\\\"sun\\\",9788,\\\"superset\\\",8835,\\\"supersetnotequal\\\",8843,\\\"supersetorequal\\\",8839,\\\"svsquare\\\",13276,\\\"syouwaerasquare\\\",13180,\\\"t\\\",116,\\\"tabengali\\\",2468,\\\"tackdown\\\",8868,\\\"tackleft\\\",8867,\\\"tadeva\\\",2340,\\\"tagujarati\\\",2724,\\\"tagurmukhi\\\",2596,\\\"taharabic\\\",1591,\\\"tahfinalarabic\\\",65218,\\\"tahinitialarabic\\\",65219,\\\"tahiragana\\\",12383,\\\"tahmedialarabic\\\",65220,\\\"taisyouerasquare\\\",13181,\\\"takatakana\\\",12479,\\\"takatakanahalfwidth\\\",65408,\\\"tatweelarabic\\\",1600,\\\"tau\\\",964,\\\"tav\\\",1514,\\\"tavdages\\\",64330,\\\"tavdagesh\\\",64330,\\\"tavdageshhebrew\\\",64330,\\\"tavhebrew\\\",1514,\\\"tbar\\\",359,\\\"tbopomofo\\\",12554,\\\"tcaron\\\",357,\\\"tccurl\\\",680,\\\"tcedilla\\\",355,\\\"tcheharabic\\\",1670,\\\"tchehfinalarabic\\\",64379,\\\"tchehinitialarabic\\\",64380,\\\"tchehmedialarabic\\\",64381,\\\"tcircle\\\",9443,\\\"tcircumflexbelow\\\",7793,\\\"tcommaaccent\\\",355,\\\"tdieresis\\\",7831,\\\"tdotaccent\\\",7787,\\\"tdotbelow\\\",7789,\\\"tecyrillic\\\",1090,\\\"tedescendercyrillic\\\",1197,\\\"teharabic\\\",1578,\\\"tehfinalarabic\\\",65174,\\\"tehhahinitialarabic\\\",64674,\\\"tehhahisolatedarabic\\\",64524,\\\"tehinitialarabic\\\",65175,\\\"tehiragana\\\",12390,\\\"tehjeeminitialarabic\\\",64673,\\\"tehjeemisolatedarabic\\\",64523,\\\"tehmarbutaarabic\\\",1577,\\\"tehmarbutafinalarabic\\\",65172,\\\"tehmedialarabic\\\",65176,\\\"tehmeeminitialarabic\\\",64676,\\\"tehmeemisolatedarabic\\\",64526,\\\"tehnoonfinalarabic\\\",64627,\\\"tekatakana\\\",12486,\\\"tekatakanahalfwidth\\\",65411,\\\"telephone\\\",8481,\\\"telephoneblack\\\",9742,\\\"telishagedolahebrew\\\",1440,\\\"telishaqetanahebrew\\\",1449,\\\"tencircle\\\",9321,\\\"tenideographicparen\\\",12841,\\\"tenparen\\\",9341,\\\"tenperiod\\\",9361,\\\"tenroman\\\",8569,\\\"tesh\\\",679,\\\"tet\\\",1496,\\\"tetdagesh\\\",64312,\\\"tetdageshhebrew\\\",64312,\\\"tethebrew\\\",1496,\\\"tetsecyrillic\\\",1205,\\\"tevirhebrew\\\",1435,\\\"tevirlefthebrew\\\",1435,\\\"thabengali\\\",2469,\\\"thadeva\\\",2341,\\\"thagujarati\\\",2725,\\\"thagurmukhi\\\",2597,\\\"thalarabic\\\",1584,\\\"thalfinalarabic\\\",65196,\\\"thanthakhatlowleftthai\\\",63640,\\\"thanthakhatlowrightthai\\\",63639,\\\"thanthakhatthai\\\",3660,\\\"thanthakhatupperleftthai\\\",63638,\\\"theharabic\\\",1579,\\\"thehfinalarabic\\\",65178,\\\"thehinitialarabic\\\",65179,\\\"thehmedialarabic\\\",65180,\\\"thereexists\\\",8707,\\\"therefore\\\",8756,\\\"theta\\\",952,\\\"theta1\\\",977,\\\"thetasymbolgreek\\\",977,\\\"thieuthacirclekorean\\\",12921,\\\"thieuthaparenkorean\\\",12825,\\\"thieuthcirclekorean\\\",12907,\\\"thieuthkorean\\\",12620,\\\"thieuthparenkorean\\\",12811,\\\"thirteencircle\\\",9324,\\\"thirteenparen\\\",9344,\\\"thirteenperiod\\\",9364,\\\"thonangmonthothai\\\",3601,\\\"thook\\\",429,\\\"thophuthaothai\\\",3602,\\\"thorn\\\",254,\\\"thothahanthai\\\",3607,\\\"thothanthai\\\",3600,\\\"thothongthai\\\",3608,\\\"thothungthai\\\",3606,\\\"thousandcyrillic\\\",1154,\\\"thousandsseparatorarabic\\\",1644,\\\"thousandsseparatorpersian\\\",1644,\\\"three\\\",51,\\\"threearabic\\\",1635,\\\"threebengali\\\",2537,\\\"threecircle\\\",9314,\\\"threecircleinversesansserif\\\",10124,\\\"threedeva\\\",2409,\\\"threeeighths\\\",8540,\\\"threegujarati\\\",2793,\\\"threegurmukhi\\\",2665,\\\"threehackarabic\\\",1635,\\\"threehangzhou\\\",12323,\\\"threeideographicparen\\\",12834,\\\"threeinferior\\\",8323,\\\"threemonospace\\\",65299,\\\"threenumeratorbengali\\\",2550,\\\"threeoldstyle\\\",63283,\\\"threeparen\\\",9334,\\\"threeperiod\\\",9354,\\\"threepersian\\\",1779,\\\"threequarters\\\",190,\\\"threequartersemdash\\\",63198,\\\"threeroman\\\",8562,\\\"threesuperior\\\",179,\\\"threethai\\\",3667,\\\"thzsquare\\\",13204,\\\"tihiragana\\\",12385,\\\"tikatakana\\\",12481,\\\"tikatakanahalfwidth\\\",65409,\\\"tikeutacirclekorean\\\",12912,\\\"tikeutaparenkorean\\\",12816,\\\"tikeutcirclekorean\\\",12898,\\\"tikeutkorean\\\",12599,\\\"tikeutparenkorean\\\",12802,\\\"tilde\\\",732,\\\"tildebelowcmb\\\",816,\\\"tildecmb\\\",771,\\\"tildecomb\\\",771,\\\"tildedoublecmb\\\",864,\\\"tildeoperator\\\",8764,\\\"tildeoverlaycmb\\\",820,\\\"tildeverticalcmb\\\",830,\\\"timescircle\\\",8855,\\\"tipehahebrew\\\",1430,\\\"tipehalefthebrew\\\",1430,\\\"tippigurmukhi\\\",2672,\\\"titlocyrilliccmb\\\",1155,\\\"tiwnarmenian\\\",1407,\\\"tlinebelow\\\",7791,\\\"tmonospace\\\",65364,\\\"toarmenian\\\",1385,\\\"tohiragana\\\",12392,\\\"tokatakana\\\",12488,\\\"tokatakanahalfwidth\\\",65412,\\\"tonebarextrahighmod\\\",741,\\\"tonebarextralowmod\\\",745,\\\"tonebarhighmod\\\",742,\\\"tonebarlowmod\\\",744,\\\"tonebarmidmod\\\",743,\\\"tonefive\\\",445,\\\"tonesix\\\",389,\\\"tonetwo\\\",424,\\\"tonos\\\",900,\\\"tonsquare\\\",13095,\\\"topatakthai\\\",3599,\\\"tortoiseshellbracketleft\\\",12308,\\\"tortoiseshellbracketleftsmall\\\",65117,\\\"tortoiseshellbracketleftvertical\\\",65081,\\\"tortoiseshellbracketright\\\",12309,\\\"tortoiseshellbracketrightsmall\\\",65118,\\\"tortoiseshellbracketrightvertical\\\",65082,\\\"totaothai\\\",3605,\\\"tpalatalhook\\\",427,\\\"tparen\\\",9391,\\\"trademark\\\",8482,\\\"trademarksans\\\",63722,\\\"trademarkserif\\\",63195,\\\"tretroflexhook\\\",648,\\\"triagdn\\\",9660,\\\"triaglf\\\",9668,\\\"triagrt\\\",9658,\\\"triagup\\\",9650,\\\"ts\\\",678,\\\"tsadi\\\",1510,\\\"tsadidagesh\\\",64326,\\\"tsadidageshhebrew\\\",64326,\\\"tsadihebrew\\\",1510,\\\"tsecyrillic\\\",1094,\\\"tsere\\\",1461,\\\"tsere12\\\",1461,\\\"tsere1e\\\",1461,\\\"tsere2b\\\",1461,\\\"tserehebrew\\\",1461,\\\"tserenarrowhebrew\\\",1461,\\\"tserequarterhebrew\\\",1461,\\\"tserewidehebrew\\\",1461,\\\"tshecyrillic\\\",1115,\\\"tsuperior\\\",63219,\\\"ttabengali\\\",2463,\\\"ttadeva\\\",2335,\\\"ttagujarati\\\",2719,\\\"ttagurmukhi\\\",2591,\\\"tteharabic\\\",1657,\\\"ttehfinalarabic\\\",64359,\\\"ttehinitialarabic\\\",64360,\\\"ttehmedialarabic\\\",64361,\\\"tthabengali\\\",2464,\\\"tthadeva\\\",2336,\\\"tthagujarati\\\",2720,\\\"tthagurmukhi\\\",2592,\\\"tturned\\\",647,\\\"tuhiragana\\\",12388,\\\"tukatakana\\\",12484,\\\"tukatakanahalfwidth\\\",65410,\\\"tusmallhiragana\\\",12387,\\\"tusmallkatakana\\\",12483,\\\"tusmallkatakanahalfwidth\\\",65391,\\\"twelvecircle\\\",9323,\\\"twelveparen\\\",9343,\\\"twelveperiod\\\",9363,\\\"twelveroman\\\",8571,\\\"twentycircle\\\",9331,\\\"twentyhangzhou\\\",21316,\\\"twentyparen\\\",9351,\\\"twentyperiod\\\",9371,\\\"two\\\",50,\\\"twoarabic\\\",1634,\\\"twobengali\\\",2536,\\\"twocircle\\\",9313,\\\"twocircleinversesansserif\\\",10123,\\\"twodeva\\\",2408,\\\"twodotenleader\\\",8229,\\\"twodotleader\\\",8229,\\\"twodotleadervertical\\\",65072,\\\"twogujarati\\\",2792,\\\"twogurmukhi\\\",2664,\\\"twohackarabic\\\",1634,\\\"twohangzhou\\\",12322,\\\"twoideographicparen\\\",12833,\\\"twoinferior\\\",8322,\\\"twomonospace\\\",65298,\\\"twonumeratorbengali\\\",2549,\\\"twooldstyle\\\",63282,\\\"twoparen\\\",9333,\\\"twoperiod\\\",9353,\\\"twopersian\\\",1778,\\\"tworoman\\\",8561,\\\"twostroke\\\",443,\\\"twosuperior\\\",178,\\\"twothai\\\",3666,\\\"twothirds\\\",8532,\\\"u\\\",117,\\\"uacute\\\",250,\\\"ubar\\\",649,\\\"ubengali\\\",2441,\\\"ubopomofo\\\",12584,\\\"ubreve\\\",365,\\\"ucaron\\\",468,\\\"ucircle\\\",9444,\\\"ucircumflex\\\",251,\\\"ucircumflexbelow\\\",7799,\\\"ucyrillic\\\",1091,\\\"udattadeva\\\",2385,\\\"udblacute\\\",369,\\\"udblgrave\\\",533,\\\"udeva\\\",2313,\\\"udieresis\\\",252,\\\"udieresisacute\\\",472,\\\"udieresisbelow\\\",7795,\\\"udieresiscaron\\\",474,\\\"udieresiscyrillic\\\",1265,\\\"udieresisgrave\\\",476,\\\"udieresismacron\\\",470,\\\"udotbelow\\\",7909,\\\"ugrave\\\",249,\\\"ugujarati\\\",2697,\\\"ugurmukhi\\\",2569,\\\"uhiragana\\\",12358,\\\"uhookabove\\\",7911,\\\"uhorn\\\",432,\\\"uhornacute\\\",7913,\\\"uhorndotbelow\\\",7921,\\\"uhorngrave\\\",7915,\\\"uhornhookabove\\\",7917,\\\"uhorntilde\\\",7919,\\\"uhungarumlaut\\\",369,\\\"uhungarumlautcyrillic\\\",1267,\\\"uinvertedbreve\\\",535,\\\"ukatakana\\\",12454,\\\"ukatakanahalfwidth\\\",65395,\\\"ukcyrillic\\\",1145,\\\"ukorean\\\",12636,\\\"umacron\\\",363,\\\"umacroncyrillic\\\",1263,\\\"umacrondieresis\\\",7803,\\\"umatragurmukhi\\\",2625,\\\"umonospace\\\",65365,\\\"underscore\\\",95,\\\"underscoredbl\\\",8215,\\\"underscoremonospace\\\",65343,\\\"underscorevertical\\\",65075,\\\"underscorewavy\\\",65103,\\\"union\\\",8746,\\\"universal\\\",8704,\\\"uogonek\\\",371,\\\"uparen\\\",9392,\\\"upblock\\\",9600,\\\"upperdothebrew\\\",1476,\\\"upsilon\\\",965,\\\"upsilondieresis\\\",971,\\\"upsilondieresistonos\\\",944,\\\"upsilonlatin\\\",650,\\\"upsilontonos\\\",973,\\\"uptackbelowcmb\\\",797,\\\"uptackmod\\\",724,\\\"uragurmukhi\\\",2675,\\\"uring\\\",367,\\\"ushortcyrillic\\\",1118,\\\"usmallhiragana\\\",12357,\\\"usmallkatakana\\\",12453,\\\"usmallkatakanahalfwidth\\\",65385,\\\"ustraightcyrillic\\\",1199,\\\"ustraightstrokecyrillic\\\",1201,\\\"utilde\\\",361,\\\"utildeacute\\\",7801,\\\"utildebelow\\\",7797,\\\"uubengali\\\",2442,\\\"uudeva\\\",2314,\\\"uugujarati\\\",2698,\\\"uugurmukhi\\\",2570,\\\"uumatragurmukhi\\\",2626,\\\"uuvowelsignbengali\\\",2498,\\\"uuvowelsigndeva\\\",2370,\\\"uuvowelsigngujarati\\\",2754,\\\"uvowelsignbengali\\\",2497,\\\"uvowelsigndeva\\\",2369,\\\"uvowelsigngujarati\\\",2753,\\\"v\\\",118,\\\"vadeva\\\",2357,\\\"vagujarati\\\",2741,\\\"vagurmukhi\\\",2613,\\\"vakatakana\\\",12535,\\\"vav\\\",1493,\\\"vavdagesh\\\",64309,\\\"vavdagesh65\\\",64309,\\\"vavdageshhebrew\\\",64309,\\\"vavhebrew\\\",1493,\\\"vavholam\\\",64331,\\\"vavholamhebrew\\\",64331,\\\"vavvavhebrew\\\",1520,\\\"vavyodhebrew\\\",1521,\\\"vcircle\\\",9445,\\\"vdotbelow\\\",7807,\\\"vecyrillic\\\",1074,\\\"veharabic\\\",1700,\\\"vehfinalarabic\\\",64363,\\\"vehinitialarabic\\\",64364,\\\"vehmedialarabic\\\",64365,\\\"vekatakana\\\",12537,\\\"venus\\\",9792,\\\"verticalbar\\\",124,\\\"verticallineabovecmb\\\",781,\\\"verticallinebelowcmb\\\",809,\\\"verticallinelowmod\\\",716,\\\"verticallinemod\\\",712,\\\"vewarmenian\\\",1406,\\\"vhook\\\",651,\\\"vikatakana\\\",12536,\\\"viramabengali\\\",2509,\\\"viramadeva\\\",2381,\\\"viramagujarati\\\",2765,\\\"visargabengali\\\",2435,\\\"visargadeva\\\",2307,\\\"visargagujarati\\\",2691,\\\"vmonospace\\\",65366,\\\"voarmenian\\\",1400,\\\"voicediterationhiragana\\\",12446,\\\"voicediterationkatakana\\\",12542,\\\"voicedmarkkana\\\",12443,\\\"voicedmarkkanahalfwidth\\\",65438,\\\"vokatakana\\\",12538,\\\"vparen\\\",9393,\\\"vtilde\\\",7805,\\\"vturned\\\",652,\\\"vuhiragana\\\",12436,\\\"vukatakana\\\",12532,\\\"w\\\",119,\\\"wacute\\\",7811,\\\"waekorean\\\",12633,\\\"wahiragana\\\",12431,\\\"wakatakana\\\",12527,\\\"wakatakanahalfwidth\\\",65436,\\\"wakorean\\\",12632,\\\"wasmallhiragana\\\",12430,\\\"wasmallkatakana\\\",12526,\\\"wattosquare\\\",13143,\\\"wavedash\\\",12316,\\\"wavyunderscorevertical\\\",65076,\\\"wawarabic\\\",1608,\\\"wawfinalarabic\\\",65262,\\\"wawhamzaabovearabic\\\",1572,\\\"wawhamzaabovefinalarabic\\\",65158,\\\"wbsquare\\\",13277,\\\"wcircle\\\",9446,\\\"wcircumflex\\\",373,\\\"wdieresis\\\",7813,\\\"wdotaccent\\\",7815,\\\"wdotbelow\\\",7817,\\\"wehiragana\\\",12433,\\\"weierstrass\\\",8472,\\\"wekatakana\\\",12529,\\\"wekorean\\\",12638,\\\"weokorean\\\",12637,\\\"wgrave\\\",7809,\\\"whitebullet\\\",9702,\\\"whitecircle\\\",9675,\\\"whitecircleinverse\\\",9689,\\\"whitecornerbracketleft\\\",12302,\\\"whitecornerbracketleftvertical\\\",65091,\\\"whitecornerbracketright\\\",12303,\\\"whitecornerbracketrightvertical\\\",65092,\\\"whitediamond\\\",9671,\\\"whitediamondcontainingblacksmalldiamond\\\",9672,\\\"whitedownpointingsmalltriangle\\\",9663,\\\"whitedownpointingtriangle\\\",9661,\\\"whiteleftpointingsmalltriangle\\\",9667,\\\"whiteleftpointingtriangle\\\",9665,\\\"whitelenticularbracketleft\\\",12310,\\\"whitelenticularbracketright\\\",12311,\\\"whiterightpointingsmalltriangle\\\",9657,\\\"whiterightpointingtriangle\\\",9655,\\\"whitesmallsquare\\\",9643,\\\"whitesmilingface\\\",9786,\\\"whitesquare\\\",9633,\\\"whitestar\\\",9734,\\\"whitetelephone\\\",9743,\\\"whitetortoiseshellbracketleft\\\",12312,\\\"whitetortoiseshellbracketright\\\",12313,\\\"whiteuppointingsmalltriangle\\\",9653,\\\"whiteuppointingtriangle\\\",9651,\\\"wihiragana\\\",12432,\\\"wikatakana\\\",12528,\\\"wikorean\\\",12639,\\\"wmonospace\\\",65367,\\\"wohiragana\\\",12434,\\\"wokatakana\\\",12530,\\\"wokatakanahalfwidth\\\",65382,\\\"won\\\",8361,\\\"wonmonospace\\\",65510,\\\"wowaenthai\\\",3623,\\\"wparen\\\",9394,\\\"wring\\\",7832,\\\"wsuperior\\\",695,\\\"wturned\\\",653,\\\"wynn\\\",447,\\\"x\\\",120,\\\"xabovecmb\\\",829,\\\"xbopomofo\\\",12562,\\\"xcircle\\\",9447,\\\"xdieresis\\\",7821,\\\"xdotaccent\\\",7819,\\\"xeharmenian\\\",1389,\\\"xi\\\",958,\\\"xmonospace\\\",65368,\\\"xparen\\\",9395,\\\"xsuperior\\\",739,\\\"y\\\",121,\\\"yaadosquare\\\",13134,\\\"yabengali\\\",2479,\\\"yacute\\\",253,\\\"yadeva\\\",2351,\\\"yaekorean\\\",12626,\\\"yagujarati\\\",2735,\\\"yagurmukhi\\\",2607,\\\"yahiragana\\\",12420,\\\"yakatakana\\\",12516,\\\"yakatakanahalfwidth\\\",65428,\\\"yakorean\\\",12625,\\\"yamakkanthai\\\",3662,\\\"yasmallhiragana\\\",12419,\\\"yasmallkatakana\\\",12515,\\\"yasmallkatakanahalfwidth\\\",65388,\\\"yatcyrillic\\\",1123,\\\"ycircle\\\",9448,\\\"ycircumflex\\\",375,\\\"ydieresis\\\",255,\\\"ydotaccent\\\",7823,\\\"ydotbelow\\\",7925,\\\"yeharabic\\\",1610,\\\"yehbarreearabic\\\",1746,\\\"yehbarreefinalarabic\\\",64431,\\\"yehfinalarabic\\\",65266,\\\"yehhamzaabovearabic\\\",1574,\\\"yehhamzaabovefinalarabic\\\",65162,\\\"yehhamzaaboveinitialarabic\\\",65163,\\\"yehhamzaabovemedialarabic\\\",65164,\\\"yehinitialarabic\\\",65267,\\\"yehmedialarabic\\\",65268,\\\"yehmeeminitialarabic\\\",64733,\\\"yehmeemisolatedarabic\\\",64600,\\\"yehnoonfinalarabic\\\",64660,\\\"yehthreedotsbelowarabic\\\",1745,\\\"yekorean\\\",12630,\\\"yen\\\",165,\\\"yenmonospace\\\",65509,\\\"yeokorean\\\",12629,\\\"yeorinhieuhkorean\\\",12678,\\\"yerahbenyomohebrew\\\",1450,\\\"yerahbenyomolefthebrew\\\",1450,\\\"yericyrillic\\\",1099,\\\"yerudieresiscyrillic\\\",1273,\\\"yesieungkorean\\\",12673,\\\"yesieungpansioskorean\\\",12675,\\\"yesieungsioskorean\\\",12674,\\\"yetivhebrew\\\",1434,\\\"ygrave\\\",7923,\\\"yhook\\\",436,\\\"yhookabove\\\",7927,\\\"yiarmenian\\\",1397,\\\"yicyrillic\\\",1111,\\\"yikorean\\\",12642,\\\"yinyang\\\",9775,\\\"yiwnarmenian\\\",1410,\\\"ymonospace\\\",65369,\\\"yod\\\",1497,\\\"yoddagesh\\\",64313,\\\"yoddageshhebrew\\\",64313,\\\"yodhebrew\\\",1497,\\\"yodyodhebrew\\\",1522,\\\"yodyodpatahhebrew\\\",64287,\\\"yohiragana\\\",12424,\\\"yoikorean\\\",12681,\\\"yokatakana\\\",12520,\\\"yokatakanahalfwidth\\\",65430,\\\"yokorean\\\",12635,\\\"yosmallhiragana\\\",12423,\\\"yosmallkatakana\\\",12519,\\\"yosmallkatakanahalfwidth\\\",65390,\\\"yotgreek\\\",1011,\\\"yoyaekorean\\\",12680,\\\"yoyakorean\\\",12679,\\\"yoyakthai\\\",3618,\\\"yoyingthai\\\",3597,\\\"yparen\\\",9396,\\\"ypogegrammeni\\\",890,\\\"ypogegrammenigreekcmb\\\",837,\\\"yr\\\",422,\\\"yring\\\",7833,\\\"ysuperior\\\",696,\\\"ytilde\\\",7929,\\\"yturned\\\",654,\\\"yuhiragana\\\",12422,\\\"yuikorean\\\",12684,\\\"yukatakana\\\",12518,\\\"yukatakanahalfwidth\\\",65429,\\\"yukorean\\\",12640,\\\"yusbigcyrillic\\\",1131,\\\"yusbigiotifiedcyrillic\\\",1133,\\\"yuslittlecyrillic\\\",1127,\\\"yuslittleiotifiedcyrillic\\\",1129,\\\"yusmallhiragana\\\",12421,\\\"yusmallkatakana\\\",12517,\\\"yusmallkatakanahalfwidth\\\",65389,\\\"yuyekorean\\\",12683,\\\"yuyeokorean\\\",12682,\\\"yyabengali\\\",2527,\\\"yyadeva\\\",2399,\\\"z\\\",122,\\\"zaarmenian\\\",1382,\\\"zacute\\\",378,\\\"zadeva\\\",2395,\\\"zagurmukhi\\\",2651,\\\"zaharabic\\\",1592,\\\"zahfinalarabic\\\",65222,\\\"zahinitialarabic\\\",65223,\\\"zahiragana\\\",12374,\\\"zahmedialarabic\\\",65224,\\\"zainarabic\\\",1586,\\\"zainfinalarabic\\\",65200,\\\"zakatakana\\\",12470,\\\"zaqefgadolhebrew\\\",1429,\\\"zaqefqatanhebrew\\\",1428,\\\"zarqahebrew\\\",1432,\\\"zayin\\\",1494,\\\"zayindagesh\\\",64310,\\\"zayindageshhebrew\\\",64310,\\\"zayinhebrew\\\",1494,\\\"zbopomofo\\\",12567,\\\"zcaron\\\",382,\\\"zcircle\\\",9449,\\\"zcircumflex\\\",7825,\\\"zcurl\\\",657,\\\"zdot\\\",380,\\\"zdotaccent\\\",380,\\\"zdotbelow\\\",7827,\\\"zecyrillic\\\",1079,\\\"zedescendercyrillic\\\",1177,\\\"zedieresiscyrillic\\\",1247,\\\"zehiragana\\\",12380,\\\"zekatakana\\\",12476,\\\"zero\\\",48,\\\"zeroarabic\\\",1632,\\\"zerobengali\\\",2534,\\\"zerodeva\\\",2406,\\\"zerogujarati\\\",2790,\\\"zerogurmukhi\\\",2662,\\\"zerohackarabic\\\",1632,\\\"zeroinferior\\\",8320,\\\"zeromonospace\\\",65296,\\\"zerooldstyle\\\",63280,\\\"zeropersian\\\",1776,\\\"zerosuperior\\\",8304,\\\"zerothai\\\",3664,\\\"zerowidthjoiner\\\",65279,\\\"zerowidthnonjoiner\\\",8204,\\\"zerowidthspace\\\",8203,\\\"zeta\\\",950,\\\"zhbopomofo\\\",12563,\\\"zhearmenian\\\",1386,\\\"zhebrevecyrillic\\\",1218,\\\"zhecyrillic\\\",1078,\\\"zhedescendercyrillic\\\",1175,\\\"zhedieresiscyrillic\\\",1245,\\\"zihiragana\\\",12376,\\\"zikatakana\\\",12472,\\\"zinorhebrew\\\",1454,\\\"zlinebelow\\\",7829,\\\"zmonospace\\\",65370,\\\"zohiragana\\\",12382,\\\"zokatakana\\\",12478,\\\"zparen\\\",9397,\\\"zretroflexhook\\\",656,\\\"zstroke\\\",438,\\\"zuhiragana\\\",12378,\\\"zukatakana\\\",12474,\\\".notdef\\\",0,\\\"angbracketleftbig\\\",9001,\\\"angbracketleftBig\\\",9001,\\\"angbracketleftbigg\\\",9001,\\\"angbracketleftBigg\\\",9001,\\\"angbracketrightBig\\\",9002,\\\"angbracketrightbig\\\",9002,\\\"angbracketrightBigg\\\",9002,\\\"angbracketrightbigg\\\",9002,\\\"arrowhookleft\\\",8618,\\\"arrowhookright\\\",8617,\\\"arrowlefttophalf\\\",8636,\\\"arrowleftbothalf\\\",8637,\\\"arrownortheast\\\",8599,\\\"arrownorthwest\\\",8598,\\\"arrowrighttophalf\\\",8640,\\\"arrowrightbothalf\\\",8641,\\\"arrowsoutheast\\\",8600,\\\"arrowsouthwest\\\",8601,\\\"backslashbig\\\",8726,\\\"backslashBig\\\",8726,\\\"backslashBigg\\\",8726,\\\"backslashbigg\\\",8726,\\\"bardbl\\\",8214,\\\"bracehtipdownleft\\\",65079,\\\"bracehtipdownright\\\",65079,\\\"bracehtipupleft\\\",65080,\\\"bracehtipupright\\\",65080,\\\"braceleftBig\\\",123,\\\"braceleftbig\\\",123,\\\"braceleftbigg\\\",123,\\\"braceleftBigg\\\",123,\\\"bracerightBig\\\",125,\\\"bracerightbig\\\",125,\\\"bracerightbigg\\\",125,\\\"bracerightBigg\\\",125,\\\"bracketleftbig\\\",91,\\\"bracketleftBig\\\",91,\\\"bracketleftbigg\\\",91,\\\"bracketleftBigg\\\",91,\\\"bracketrightBig\\\",93,\\\"bracketrightbig\\\",93,\\\"bracketrightbigg\\\",93,\\\"bracketrightBigg\\\",93,\\\"ceilingleftbig\\\",8968,\\\"ceilingleftBig\\\",8968,\\\"ceilingleftBigg\\\",8968,\\\"ceilingleftbigg\\\",8968,\\\"ceilingrightbig\\\",8969,\\\"ceilingrightBig\\\",8969,\\\"ceilingrightbigg\\\",8969,\\\"ceilingrightBigg\\\",8969,\\\"circledotdisplay\\\",8857,\\\"circledottext\\\",8857,\\\"circlemultiplydisplay\\\",8855,\\\"circlemultiplytext\\\",8855,\\\"circleplusdisplay\\\",8853,\\\"circleplustext\\\",8853,\\\"contintegraldisplay\\\",8750,\\\"contintegraltext\\\",8750,\\\"coproductdisplay\\\",8720,\\\"coproducttext\\\",8720,\\\"floorleftBig\\\",8970,\\\"floorleftbig\\\",8970,\\\"floorleftbigg\\\",8970,\\\"floorleftBigg\\\",8970,\\\"floorrightbig\\\",8971,\\\"floorrightBig\\\",8971,\\\"floorrightBigg\\\",8971,\\\"floorrightbigg\\\",8971,\\\"hatwide\\\",770,\\\"hatwider\\\",770,\\\"hatwidest\\\",770,\\\"intercal\\\",7488,\\\"integraldisplay\\\",8747,\\\"integraltext\\\",8747,\\\"intersectiondisplay\\\",8898,\\\"intersectiontext\\\",8898,\\\"logicalanddisplay\\\",8743,\\\"logicalandtext\\\",8743,\\\"logicalordisplay\\\",8744,\\\"logicalortext\\\",8744,\\\"parenleftBig\\\",40,\\\"parenleftbig\\\",40,\\\"parenleftBigg\\\",40,\\\"parenleftbigg\\\",40,\\\"parenrightBig\\\",41,\\\"parenrightbig\\\",41,\\\"parenrightBigg\\\",41,\\\"parenrightbigg\\\",41,\\\"prime\\\",8242,\\\"productdisplay\\\",8719,\\\"producttext\\\",8719,\\\"radicalbig\\\",8730,\\\"radicalBig\\\",8730,\\\"radicalBigg\\\",8730,\\\"radicalbigg\\\",8730,\\\"radicalbt\\\",8730,\\\"radicaltp\\\",8730,\\\"radicalvertex\\\",8730,\\\"slashbig\\\",47,\\\"slashBig\\\",47,\\\"slashBigg\\\",47,\\\"slashbigg\\\",47,\\\"summationdisplay\\\",8721,\\\"summationtext\\\",8721,\\\"tildewide\\\",732,\\\"tildewider\\\",732,\\\"tildewidest\\\",732,\\\"uniondisplay\\\",8899,\\\"unionmultidisplay\\\",8846,\\\"unionmultitext\\\",8846,\\\"unionsqdisplay\\\",8852,\\\"unionsqtext\\\",8852,\\\"uniontext\\\",8899,\\\"vextenddouble\\\",8741,\\\"vextendsingle\\\",8739]})),i=(0,r.getArrayLookupTableFactory)((function(){return[\\\"space\\\",32,\\\"a1\\\",9985,\\\"a2\\\",9986,\\\"a202\\\",9987,\\\"a3\\\",9988,\\\"a4\\\",9742,\\\"a5\\\",9990,\\\"a119\\\",9991,\\\"a118\\\",9992,\\\"a117\\\",9993,\\\"a11\\\",9755,\\\"a12\\\",9758,\\\"a13\\\",9996,\\\"a14\\\",9997,\\\"a15\\\",9998,\\\"a16\\\",9999,\\\"a105\\\",1e4,\\\"a17\\\",10001,\\\"a18\\\",10002,\\\"a19\\\",10003,\\\"a20\\\",10004,\\\"a21\\\",10005,\\\"a22\\\",10006,\\\"a23\\\",10007,\\\"a24\\\",10008,\\\"a25\\\",10009,\\\"a26\\\",10010,\\\"a27\\\",10011,\\\"a28\\\",10012,\\\"a6\\\",10013,\\\"a7\\\",10014,\\\"a8\\\",10015,\\\"a9\\\",10016,\\\"a10\\\",10017,\\\"a29\\\",10018,\\\"a30\\\",10019,\\\"a31\\\",10020,\\\"a32\\\",10021,\\\"a33\\\",10022,\\\"a34\\\",10023,\\\"a35\\\",9733,\\\"a36\\\",10025,\\\"a37\\\",10026,\\\"a38\\\",10027,\\\"a39\\\",10028,\\\"a40\\\",10029,\\\"a41\\\",10030,\\\"a42\\\",10031,\\\"a43\\\",10032,\\\"a44\\\",10033,\\\"a45\\\",10034,\\\"a46\\\",10035,\\\"a47\\\",10036,\\\"a48\\\",10037,\\\"a49\\\",10038,\\\"a50\\\",10039,\\\"a51\\\",10040,\\\"a52\\\",10041,\\\"a53\\\",10042,\\\"a54\\\",10043,\\\"a55\\\",10044,\\\"a56\\\",10045,\\\"a57\\\",10046,\\\"a58\\\",10047,\\\"a59\\\",10048,\\\"a60\\\",10049,\\\"a61\\\",10050,\\\"a62\\\",10051,\\\"a63\\\",10052,\\\"a64\\\",10053,\\\"a65\\\",10054,\\\"a66\\\",10055,\\\"a67\\\",10056,\\\"a68\\\",10057,\\\"a69\\\",10058,\\\"a70\\\",10059,\\\"a71\\\",9679,\\\"a72\\\",10061,\\\"a73\\\",9632,\\\"a74\\\",10063,\\\"a203\\\",10064,\\\"a75\\\",10065,\\\"a204\\\",10066,\\\"a76\\\",9650,\\\"a77\\\",9660,\\\"a78\\\",9670,\\\"a79\\\",10070,\\\"a81\\\",9687,\\\"a82\\\",10072,\\\"a83\\\",10073,\\\"a84\\\",10074,\\\"a97\\\",10075,\\\"a98\\\",10076,\\\"a99\\\",10077,\\\"a100\\\",10078,\\\"a101\\\",10081,\\\"a102\\\",10082,\\\"a103\\\",10083,\\\"a104\\\",10084,\\\"a106\\\",10085,\\\"a107\\\",10086,\\\"a108\\\",10087,\\\"a112\\\",9827,\\\"a111\\\",9830,\\\"a110\\\",9829,\\\"a109\\\",9824,\\\"a120\\\",9312,\\\"a121\\\",9313,\\\"a122\\\",9314,\\\"a123\\\",9315,\\\"a124\\\",9316,\\\"a125\\\",9317,\\\"a126\\\",9318,\\\"a127\\\",9319,\\\"a128\\\",9320,\\\"a129\\\",9321,\\\"a130\\\",10102,\\\"a131\\\",10103,\\\"a132\\\",10104,\\\"a133\\\",10105,\\\"a134\\\",10106,\\\"a135\\\",10107,\\\"a136\\\",10108,\\\"a137\\\",10109,\\\"a138\\\",10110,\\\"a139\\\",10111,\\\"a140\\\",10112,\\\"a141\\\",10113,\\\"a142\\\",10114,\\\"a143\\\",10115,\\\"a144\\\",10116,\\\"a145\\\",10117,\\\"a146\\\",10118,\\\"a147\\\",10119,\\\"a148\\\",10120,\\\"a149\\\",10121,\\\"a150\\\",10122,\\\"a151\\\",10123,\\\"a152\\\",10124,\\\"a153\\\",10125,\\\"a154\\\",10126,\\\"a155\\\",10127,\\\"a156\\\",10128,\\\"a157\\\",10129,\\\"a158\\\",10130,\\\"a159\\\",10131,\\\"a160\\\",10132,\\\"a161\\\",8594,\\\"a163\\\",8596,\\\"a164\\\",8597,\\\"a196\\\",10136,\\\"a165\\\",10137,\\\"a192\\\",10138,\\\"a166\\\",10139,\\\"a167\\\",10140,\\\"a168\\\",10141,\\\"a169\\\",10142,\\\"a170\\\",10143,\\\"a171\\\",10144,\\\"a172\\\",10145,\\\"a173\\\",10146,\\\"a162\\\",10147,\\\"a174\\\",10148,\\\"a175\\\",10149,\\\"a176\\\",10150,\\\"a177\\\",10151,\\\"a178\\\",10152,\\\"a179\\\",10153,\\\"a193\\\",10154,\\\"a180\\\",10155,\\\"a199\\\",10156,\\\"a181\\\",10157,\\\"a200\\\",10158,\\\"a182\\\",10159,\\\"a201\\\",10161,\\\"a183\\\",10162,\\\"a184\\\",10163,\\\"a197\\\",10164,\\\"a185\\\",10165,\\\"a194\\\",10166,\\\"a198\\\",10167,\\\"a186\\\",10168,\\\"a195\\\",10169,\\\"a187\\\",10170,\\\"a188\\\",10171,\\\"a189\\\",10172,\\\"a190\\\",10173,\\\"a191\\\",10174,\\\"a89\\\",10088,\\\"a90\\\",10089,\\\"a93\\\",10090,\\\"a94\\\",10091,\\\"a91\\\",10092,\\\"a92\\\",10093,\\\"a205\\\",10094,\\\"a85\\\",10095,\\\"a206\\\",10096,\\\"a86\\\",10097,\\\"a87\\\",10098,\\\"a88\\\",10099,\\\"a95\\\",10100,\\\"a96\\\",10101,\\\".notdef\\\",0]}))},(e,t,a)=>{a.r(t);a.d(t,{clearUnicodeCaches:()=>clearUnicodeCaches,getCharUnicodeCategory:()=>getCharUnicodeCategory,getNormalizedUnicodes:()=>s,getUnicodeForGlyph:()=>getUnicodeForGlyph,getUnicodeRangeFor:()=>getUnicodeRangeFor,mapSpecialUnicodeValues:()=>mapSpecialUnicodeValues,reverseIfRtl:()=>reverseIfRtl});var r=a(8);const n=(0,r.getLookupTableFactory)((function(e){e[63721]=169;e[63193]=169;e[63720]=174;e[63194]=174;e[63722]=8482;e[63195]=8482;e[63729]=9127;e[63730]=9128;e[63731]=9129;e[63740]=9131;e[63741]=9132;e[63742]=9133;e[63726]=9121;e[63727]=9122;e[63728]=9123;e[63737]=9124;e[63738]=9125;e[63739]=9126;e[63723]=9115;e[63724]=9116;e[63725]=9117;e[63734]=9118;e[63735]=9119;e[63736]=9120}));function mapSpecialUnicodeValues(e){return e>=65520&&e<=65535?0:e>=62976&&e<=63743?n()[e]||e:173===e?45:e}function getUnicodeForGlyph(e,t){let a=t[e];if(void 0!==a)return a;if(!e)return-1;if(\\\"u\\\"===e[0]){const t=e.length;let r;if(7===t&&\\\"n\\\"===e[1]&&\\\"i\\\"===e[2])r=e.substring(3);else{if(!(t>=5&&t<=7))return-1;r=e.substring(1)}if(r===r.toUpperCase()){a=parseInt(r,16);if(a>=0)return a}}return-1}const i=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function getUnicodeRangeFor(e){for(let t=0,a=i.length;t=a.begin&&e=t.begin&&e=t.begin&&e=0;r--)a.push(e[r]);return a.join(\\\"\\\")}const o=new RegExp(\\\"^(\\\\\\\\s)|(\\\\\\\\p{Mn})|(\\\\\\\\p{Cf})$\\\",\\\"u\\\"),c=new Map;function getCharUnicodeCategory(e){const t=c.get(e);if(t)return t;const a=e.match(o),r={isWhitespace:!(!a||!a[1]),isZeroWidthDiacritic:!(!a||!a[2]),isInvisibleFormatMark:!(!a||!a[3])};c.set(e,r);return r}function clearUnicodeCaches(){c.clear()}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.MarkupAnnotation=t.AnnotationFactory=t.AnnotationBorderStyle=t.Annotation=void 0;t.getQuadPoints=getQuadPoints;var r=a(2),n=a(8),i=a(23),s=a(5),o=a(9),c=a(60),l=a(65),h=a(24),u=a(68),d=a(72),f=a(62),g=a(10),p=a(73),m=a(76);const b=1.35;t.AnnotationFactory=class AnnotationFactory{static create(e,t,a,r,n){return Promise.all([a.ensureCatalog(\\\"acroForm\\\"),a.ensureCatalog(\\\"baseUrl\\\"),a.ensureDoc(\\\"xfaDatasets\\\"),n?this._getPageIndex(e,t,a):-1]).then((([i,s,o,c])=>a.ensure(this,\\\"_create\\\",[e,t,a,r,i,o,n,c])))}static _create(e,t,a,i,o,c,l,h=-1){const u=e.fetchIfRef(t);if(!(u instanceof s.Dict))return;const d=t instanceof s.Ref?t.toString():`annot_${i.createObjId()}`;let f=u.get(\\\"Subtype\\\");f=f instanceof s.Name?f.name:null;const g={xref:e,ref:t,dict:u,subtype:f,id:d,pdfManager:a,acroForm:o instanceof s.Dict?o:s.Dict.empty,xfaDatasets:c,collectFields:l,pageIndex:h};switch(f){case\\\"Link\\\":return new LinkAnnotation(g);case\\\"Text\\\":return new TextAnnotation(g);case\\\"Widget\\\":let e=(0,n.getInheritableProperty)({dict:u,key:\\\"FT\\\"});e=e instanceof s.Name?e.name:null;switch(e){case\\\"Tx\\\":return new TextWidgetAnnotation(g);case\\\"Btn\\\":return new ButtonWidgetAnnotation(g);case\\\"Ch\\\":return new ChoiceWidgetAnnotation(g);case\\\"Sig\\\":return new SignatureWidgetAnnotation(g)}(0,r.warn)(`Unimplemented widget field type \\\"${e}\\\", falling back to base field type.`);return new WidgetAnnotation(g);case\\\"Popup\\\":return new PopupAnnotation(g);case\\\"FreeText\\\":return new FreeTextAnnotation(g);case\\\"Line\\\":return new LineAnnotation(g);case\\\"Square\\\":return new SquareAnnotation(g);case\\\"Circle\\\":return new CircleAnnotation(g);case\\\"PolyLine\\\":return new PolylineAnnotation(g);case\\\"Polygon\\\":return new PolygonAnnotation(g);case\\\"Caret\\\":return new CaretAnnotation(g);case\\\"Ink\\\":return new InkAnnotation(g);case\\\"Highlight\\\":return new HighlightAnnotation(g);case\\\"Underline\\\":return new UnderlineAnnotation(g);case\\\"Squiggly\\\":return new SquigglyAnnotation(g);case\\\"StrikeOut\\\":return new StrikeOutAnnotation(g);case\\\"Stamp\\\":return new StampAnnotation(g);case\\\"FileAttachment\\\":return new FileAttachmentAnnotation(g);default:l||(f?(0,r.warn)(`Unimplemented annotation type \\\"${f}\\\", falling back to base annotation.`):(0,r.warn)(\\\"Annotation is missing the required /Subtype.\\\"));return new Annotation(g)}}static async _getPageIndex(e,t,a){try{const r=await e.fetchIfRefAsync(t);if(!(r instanceof s.Dict))return-1;const n=r.getRaw(\\\"P\\\");if(!(n instanceof s.Ref))return-1;return await a.ensureCatalog(\\\"getPageIndex\\\",[n])}catch(e){(0,r.warn)(`_getPageIndex: \\\"${e}\\\".`);return-1}}};function getRgbColor(e,t=new Uint8ClampedArray(3)){if(!Array.isArray(e))return t;const a=t||new Uint8ClampedArray(3);switch(e.length){case 0:return null;case 1:h.ColorSpace.singletons.gray.getRgbItem(e,0,a,0);return a;case 3:h.ColorSpace.singletons.rgb.getRgbItem(e,0,a,0);return a;case 4:h.ColorSpace.singletons.cmyk.getRgbItem(e,0,a,0);return a;default:return t}}function getQuadPoints(e,t){if(!e.has(\\\"QuadPoints\\\"))return null;const a=e.getArray(\\\"QuadPoints\\\");if(!Array.isArray(a)||0===a.length||a.length%8>0)return null;const r=[];for(let e=0,n=a.length/8;et[2]||st[3]))return null;r[e].push({x:i,y:s})}}return r.map((e=>{const[t,a,r,n]=e.reduce((([e,t,a,r],n)=>[Math.min(e,n.x),Math.max(t,n.x),Math.min(a,n.y),Math.max(r,n.y)]),[Number.MAX_VALUE,Number.MIN_VALUE,Number.MAX_VALUE,Number.MIN_VALUE]);return[{x:t,y:n},{x:a,y:n},{x:t,y:r},{x:a,y:r}]}))}function getTransformMatrix(e,t,a){const[n,i,s,o]=r.Util.getAxialAlignedBoundingBox(t,a);if(n===s||i===o)return[1,0,0,1,e[0],e[1]];const c=(e[2]-e[0])/(s-n),l=(e[3]-e[1])/(o-i);return[c,0,0,l,e[0]-n*c,e[1]-i*l]}class Annotation{constructor(e){const t=e.dict;this.setTitle(t.get(\\\"T\\\"));this.setContents(t.get(\\\"Contents\\\"));this.setModificationDate(t.get(\\\"M\\\"));this.setFlags(t.get(\\\"F\\\"));this.setRectangle(t.getArray(\\\"Rect\\\"));this.setColor(t.getArray(\\\"C\\\"));this.setBorderStyle(t);this.setAppearance(t);this.setBorderAndBackgroundColors(t.get(\\\"MK\\\"));this._streams=[];this.appearance&&this._streams.push(this.appearance);this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:e.subtype,hasOwnCanvas:!1};if(e.collectFields){const a=t.get(\\\"Kids\\\");if(Array.isArray(a)){const e=[];for(const t of a)t instanceof s.Ref&&e.push(t.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=(0,n.collectActions)(e.xref,t,r.AnnotationActionEventType);this.data.fieldName=this._constructFieldName(t);this.data.pageIndex=e.pageIndex}this._fallbackFontDict=null}_hasFlag(e,t){return!!(e&t)}_isViewable(e){return!this._hasFlag(e,r.AnnotationFlag.INVISIBLE)&&!this._hasFlag(e,r.AnnotationFlag.NOVIEW)}_isPrintable(e){return this._hasFlag(e,r.AnnotationFlag.PRINT)&&!this._hasFlag(e,r.AnnotationFlag.INVISIBLE)}mustBeViewed(e){const t=e&&e.get(this.data.id);return t&&void 0!==t.hidden?!t.hidden:this.viewable&&!this._hasFlag(this.flags,r.AnnotationFlag.HIDDEN)}mustBePrinted(e){const t=e&&e.get(this.data.id);return t&&void 0!==t.print?t.print:this.printable}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&(0!==this.flags&&this._isPrintable(this.flags))}_parseStringHelper(e){const t=\\\"string\\\"==typeof e?(0,r.stringToPDFString)(e):\\\"\\\";return{str:t,dir:t&&\\\"rtl\\\"===(0,c.bidi)(t).dir?\\\"rtl\\\":\\\"ltr\\\"}}setTitle(e){this._title=this._parseStringHelper(e)}setContents(e){this._contents=this._parseStringHelper(e)}setModificationDate(e){this.modificationDate=\\\"string\\\"==typeof e?e:null}setFlags(e){this.flags=Number.isInteger(e)&&e>0?e:0}hasFlag(e){return this._hasFlag(this.flags,e)}setRectangle(e){Array.isArray(e)&&4===e.length?this.rectangle=r.Util.normalizeRect(e):this.rectangle=[0,0,0,0]}setColor(e){this.color=getRgbColor(e)}setLineEndings(e){this.lineEndings=[\\\"None\\\",\\\"None\\\"];if(Array.isArray(e)&&2===e.length)for(let t=0;t<2;t++){const a=e[t];if(a instanceof s.Name)switch(a.name){case\\\"None\\\":continue;case\\\"Square\\\":case\\\"Circle\\\":case\\\"Diamond\\\":case\\\"OpenArrow\\\":case\\\"ClosedArrow\\\":case\\\"Butt\\\":case\\\"ROpenArrow\\\":case\\\"RClosedArrow\\\":case\\\"Slash\\\":this.lineEndings[t]=a.name;continue}(0,r.warn)(`Ignoring invalid lineEnding: ${a}`)}}setBorderAndBackgroundColors(e){if(e instanceof s.Dict){this.borderColor=getRgbColor(e.getArray(\\\"BC\\\"),null);this.backgroundColor=getRgbColor(e.getArray(\\\"BG\\\"),null)}else this.borderColor=this.backgroundColor=null}setBorderStyle(e){this.borderStyle=new AnnotationBorderStyle;if(e instanceof s.Dict)if(e.has(\\\"BS\\\")){const t=e.get(\\\"BS\\\"),a=t.get(\\\"Type\\\");if(!a||(0,s.isName)(a,\\\"Border\\\")){this.borderStyle.setWidth(t.get(\\\"W\\\"),this.rectangle);this.borderStyle.setStyle(t.get(\\\"S\\\"));this.borderStyle.setDashArray(t.getArray(\\\"D\\\"))}}else if(e.has(\\\"Border\\\")){const t=e.getArray(\\\"Border\\\");if(Array.isArray(t)&&t.length>=3){this.borderStyle.setHorizontalCornerRadius(t[0]);this.borderStyle.setVerticalCornerRadius(t[1]);this.borderStyle.setWidth(t[2],this.rectangle);4===t.length&&this.borderStyle.setDashArray(t[3],!0)}}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get(\\\"AP\\\");if(!(t instanceof s.Dict))return;const a=t.get(\\\"N\\\");if(a instanceof o.BaseStream){this.appearance=a;return}if(!(a instanceof s.Dict))return;const r=e.get(\\\"AS\\\");r instanceof s.Name&&a.has(r.name)&&(this.appearance=a.get(r.name))}loadResources(e,t){return t.dict.getAsync(\\\"Resources\\\").then((t=>{if(!t)return;return new d.ObjectLoader(t,e,t.xref).load().then((function(){return t}))}))}getOperatorList(e,t,a,n,i){const o=this.data;let c=this.appearance;const l=o.hasOwnCanvas&&a&r.RenderingIntentFlag.DISPLAY;if(!c){if(!l)return Promise.resolve(new f.OperatorList);c=new g.StringStream(\\\"\\\");c.dict=new s.Dict}const h=c.dict,u=this.loadResources([\\\"ExtGState\\\",\\\"ColorSpace\\\",\\\"Pattern\\\",\\\"Shading\\\",\\\"XObject\\\",\\\"Font\\\"],c),d=h.getArray(\\\"BBox\\\")||[0,0,1,1],p=h.getArray(\\\"Matrix\\\")||[1,0,0,1,0,0],m=getTransformMatrix(o.rect,d,p);return u.then((a=>{const n=new f.OperatorList;n.addOp(r.OPS.beginAnnotation,[o.id,o.rect,m,p,l]);return e.getOperatorList({stream:c,task:t,resources:a,operatorList:n,fallbackFontDict:this._fallbackFontDict}).then((()=>{n.addOp(r.OPS.endAnnotation,[]);this.reset();return n}))}))}async save(e,t,a){return null}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:\\\"\\\",kidIds:this.data.kidIds,page:this.data.pageIndex}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has(\\\"T\\\")&&!e.has(\\\"Parent\\\")){(0,r.warn)(\\\"Unknown field name, falling back to empty field name.\\\");return\\\"\\\"}if(!e.has(\\\"Parent\\\"))return(0,r.stringToPDFString)(e.get(\\\"T\\\"));const t=[];e.has(\\\"T\\\")&&t.unshift((0,r.stringToPDFString)(e.get(\\\"T\\\")));let a=e;const n=new s.RefSet;e.objId&&n.put(e.objId);for(;a.has(\\\"Parent\\\");){a=a.get(\\\"Parent\\\");if(!(a instanceof s.Dict)||a.objId&&n.has(a.objId))break;a.objId&&n.put(a.objId);a.has(\\\"T\\\")&&t.unshift((0,r.stringToPDFString)(a.get(\\\"T\\\")))}return t.join(\\\".\\\")}}t.Annotation=Annotation;class AnnotationBorderStyle{constructor(){this.width=1;this.style=r.AnnotationBorderStyleType.SOLID;this.dashArray=[3];this.horizontalCornerRadius=0;this.verticalCornerRadius=0}setWidth(e,t=[0,0,0,0]){if(e instanceof s.Name)this.width=0;else if(\\\"number\\\"==typeof e){if(e>0){const a=(t[2]-t[0])/2,n=(t[3]-t[1])/2;if(a>0&&n>0&&(e>a||e>n)){(0,r.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);e=1}}this.width=e}}setStyle(e){if(e instanceof s.Name)switch(e.name){case\\\"S\\\":this.style=r.AnnotationBorderStyleType.SOLID;break;case\\\"D\\\":this.style=r.AnnotationBorderStyleType.DASHED;break;case\\\"B\\\":this.style=r.AnnotationBorderStyleType.BEVELED;break;case\\\"I\\\":this.style=r.AnnotationBorderStyleType.INSET;break;case\\\"U\\\":this.style=r.AnnotationBorderStyleType.UNDERLINE}}setDashArray(e,t=!1){if(Array.isArray(e)&&e.length>0){let a=!0,r=!0;for(const t of e){if(!(+t>=0)){a=!1;break}t>0&&(r=!1)}if(a&&!r){this.dashArray=e;t&&this.setStyle(s.Name.get(\\\"D\\\"))}else this.width=0}else e&&(this.width=0)}setHorizontalCornerRadius(e){Number.isInteger(e)&&(this.horizontalCornerRadius=e)}setVerticalCornerRadius(e){Number.isInteger(e)&&(this.verticalCornerRadius=e)}}t.AnnotationBorderStyle=AnnotationBorderStyle;class MarkupAnnotation extends Annotation{constructor(e){super(e);const t=e.dict;if(t.has(\\\"IRT\\\")){const e=t.getRaw(\\\"IRT\\\");this.data.inReplyTo=e instanceof s.Ref?e.toString():null;const a=t.get(\\\"RT\\\");this.data.replyType=a instanceof s.Name?a.name:r.AnnotationReplyType.REPLY}if(this.data.replyType===r.AnnotationReplyType.GROUP){const e=t.get(\\\"IRT\\\");this.setTitle(e.get(\\\"T\\\"));this.data.titleObj=this._title;this.setContents(e.get(\\\"Contents\\\"));this.data.contentsObj=this._contents;if(e.has(\\\"CreationDate\\\")){this.setCreationDate(e.get(\\\"CreationDate\\\"));this.data.creationDate=this.creationDate}else this.data.creationDate=null;if(e.has(\\\"M\\\")){this.setModificationDate(e.get(\\\"M\\\"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;this.data.hasPopup=e.has(\\\"Popup\\\");if(e.has(\\\"C\\\")){this.setColor(e.getArray(\\\"C\\\"));this.data.color=this.color}else this.data.color=null}else{this.data.titleObj=this._title;this.setCreationDate(t.get(\\\"CreationDate\\\"));this.data.creationDate=this.creationDate;this.data.hasPopup=t.has(\\\"Popup\\\");t.has(\\\"C\\\")||(this.data.color=null)}t.has(\\\"RC\\\")&&(this.data.richText=m.XFAFactory.getRichTextAsHtml(t.get(\\\"RC\\\")))}setCreationDate(e){this.creationDate=\\\"string\\\"==typeof e?e:null}_setDefaultAppearance({xref:e,extra:t,strokeColor:a,fillColor:r,blendMode:n,strokeAlpha:i,fillAlpha:o,pointsCallback:c}){let l=Number.MAX_VALUE,h=Number.MAX_VALUE,u=Number.MIN_VALUE,d=Number.MIN_VALUE;const f=[\\\"q\\\"];t&&f.push(t);a&&f.push(`${a[0]} ${a[1]} ${a[2]} RG`);r&&f.push(`${r[0]} ${r[1]} ${r[2]} rg`);let p=this.data.quadPoints;p||(p=[[{x:this.rectangle[0],y:this.rectangle[3]},{x:this.rectangle[2],y:this.rectangle[3]},{x:this.rectangle[0],y:this.rectangle[1]},{x:this.rectangle[2],y:this.rectangle[1]}]]);for(const e of p){const[t,a,r,n]=c(f,e);l=Math.min(l,t);u=Math.max(u,a);h=Math.min(h,r);d=Math.max(d,n)}f.push(\\\"Q\\\");const m=new s.Dict(e),b=new s.Dict(e);b.set(\\\"Subtype\\\",s.Name.get(\\\"Form\\\"));const y=new g.StringStream(f.join(\\\" \\\"));y.dict=b;m.set(\\\"Fm0\\\",y);const w=new s.Dict(e);n&&w.set(\\\"BM\\\",s.Name.get(n));\\\"number\\\"==typeof i&&w.set(\\\"CA\\\",i);\\\"number\\\"==typeof o&&w.set(\\\"ca\\\",o);const S=new s.Dict(e);S.set(\\\"GS0\\\",w);const x=new s.Dict(e);x.set(\\\"ExtGState\\\",S);x.set(\\\"XObject\\\",m);const k=new s.Dict(e);k.set(\\\"Resources\\\",x);const C=this.data.rect=[l,h,u,d];k.set(\\\"BBox\\\",C);this.appearance=new g.StringStream(\\\"/GS0 gs /Fm0 Do\\\");this.appearance.dict=k;this._streams.push(this.appearance,y)}}t.MarkupAnnotation=MarkupAnnotation;class WidgetAnnotation extends Annotation{constructor(e){super(e);const t=e.dict,a=this.data;this.ref=e.ref;a.annotationType=r.AnnotationType.WIDGET;void 0===a.fieldName&&(a.fieldName=this._constructFieldName(t));void 0===a.actions&&(a.actions=(0,n.collectActions)(e.xref,t,r.AnnotationActionEventType));let o=(0,n.getInheritableProperty)({dict:t,key:\\\"V\\\",getArray:!0});a.fieldValue=this._decodeFormValue(o);const c=(0,n.getInheritableProperty)({dict:t,key:\\\"DV\\\",getArray:!0});a.defaultFieldValue=this._decodeFormValue(c);if(void 0===o&&e.xfaDatasets){const t=this._title.str;if(t){this._hasValueFromXFA=!0;a.fieldValue=o=e.xfaDatasets.getValue(t)}}void 0===o&&null!==a.defaultFieldValue&&(a.fieldValue=a.defaultFieldValue);a.alternativeText=(0,r.stringToPDFString)(t.get(\\\"TU\\\")||\\\"\\\");const l=(0,n.getInheritableProperty)({dict:t,key:\\\"DA\\\"})||e.acroForm.get(\\\"DA\\\");this._defaultAppearance=\\\"string\\\"==typeof l?l:\\\"\\\";a.defaultAppearanceData=(0,i.parseDefaultAppearance)(this._defaultAppearance);const h=(0,n.getInheritableProperty)({dict:t,key:\\\"FT\\\"});a.fieldType=h instanceof s.Name?h.name:null;const u=(0,n.getInheritableProperty)({dict:t,key:\\\"DR\\\"}),d=e.acroForm.get(\\\"DR\\\"),f=this.appearance&&this.appearance.dict.get(\\\"Resources\\\");this._fieldResources={localResources:u,acroFormResources:d,appearanceResources:f,mergedResources:s.Dict.merge({xref:e.xref,dictArray:[u,f,d],mergeSubDicts:!0})};a.fieldFlags=(0,n.getInheritableProperty)({dict:t,key:\\\"Ff\\\"});(!Number.isInteger(a.fieldFlags)||a.fieldFlags<0)&&(a.fieldFlags=0);a.readOnly=this.hasFieldFlag(r.AnnotationFieldFlag.READONLY);a.hidden=this._hasFlag(a.annotationFlags,r.AnnotationFlag.HIDDEN)}_decodeFormValue(e){return Array.isArray(e)?e.filter((e=>\\\"string\\\"==typeof e)).map((e=>(0,r.stringToPDFString)(e))):e instanceof s.Name?(0,r.stringToPDFString)(e.name):\\\"string\\\"==typeof e?(0,r.stringToPDFString)(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}getOperatorList(e,t,a,n,i){return!n||this instanceof SignatureWidgetAnnotation?this._hasText?this._getAppearance(e,t,i).then((s=>{if(this.appearance&&null===s)return super.getOperatorList(e,t,a,n,i);const o=new f.OperatorList;if(!this._defaultAppearance||null===s)return o;const c=[1,0,0,1,0,0],l=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],h=getTransformMatrix(this.data.rect,l,c);o.addOp(r.OPS.beginAnnotation,[this.data.id,this.data.rect,h,c]);const u=new g.StringStream(s);return e.getOperatorList({stream:u,task:t,resources:this._fieldResources.mergedResources,operatorList:o}).then((function(){o.addOp(r.OPS.endAnnotation,[]);return o}))})):super.getOperatorList(e,t,a,n,i):Promise.resolve(new f.OperatorList)}async save(e,t,a){const n=a?a.get(this.data.id):void 0;let i=n&&n.value;if(i===this.data.fieldValue||void 0===i){if(!this._hasValueFromXFA)return null;i=i||this.data.fieldValue}if(!this._hasValueFromXFA&&Array.isArray(i)&&Array.isArray(this.data.fieldValue)&&i.length===this.data.fieldValue.length&&i.every(((e,t)=>e===this.data.fieldValue[t])))return null;let o=await this._getAppearance(e,t,a);if(null===o)return null;const{xref:c}=e,l=c.fetchIfRef(this.ref);if(!(l instanceof s.Dict))return null;const h=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],u={path:(0,r.stringToPDFString)(l.get(\\\"T\\\")||\\\"\\\"),value:i},d=c.getNewRef(),f=new s.Dict(c);f.set(\\\"N\\\",d);const g=c.encrypt;let m=null,b=null;if(g){m=g.createCipherTransform(this.ref.num,this.ref.gen);b=g.createCipherTransform(d.num,d.gen);o=b.encryptString(o)}const encoder=e=>(0,r.isAscii)(e)?e:(0,r.stringToUTF16BEString)(e);l.set(\\\"V\\\",Array.isArray(i)?i.map(encoder):encoder(i));l.set(\\\"AP\\\",f);l.set(\\\"M\\\",`D:${(0,r.getModificationDate)()}`);const y=new s.Dict(c);y.set(\\\"Length\\\",o.length);y.set(\\\"Subtype\\\",s.Name.get(\\\"Form\\\"));y.set(\\\"Resources\\\",this._getSaveFieldResources(c));y.set(\\\"BBox\\\",h);const w=[`${this.ref.num} ${this.ref.gen} obj\\\\n`];(0,p.writeDict)(l,w,m);w.push(\\\"\\\\nendobj\\\\n\\\");const S=[`${d.num} ${d.gen} obj\\\\n`];(0,p.writeDict)(y,S,b);S.push(\\\" stream\\\\n\\\",o,\\\"\\\\nendstream\\\\nendobj\\\\n\\\");return[{ref:this.ref,data:w.join(\\\"\\\"),xfa:u},{ref:d,data:S.join(\\\"\\\"),xfa:null}]}async _getAppearance(e,t,a){if(this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD))return null;const n=a?a.get(this.data.id):void 0;let s=n&&(n.formattedValue||n.value);if(void 0===s){if(!this._hasValueFromXFA||this.appearance)return null;s=this.data.fieldValue;if(!s)return\\\"\\\"}(0,r.assert)(\\\"string\\\"==typeof s,\\\"Expected `value` to be a string.\\\");s=s.trim();if(\\\"\\\"===s)return\\\"\\\";let o=-1;this.data.multiLine&&(o=s.split(/\\\\r\\\\n|\\\\r|\\\\n/).length);const c=this.data.rect[3]-this.data.rect[1],l=this.data.rect[2]-this.data.rect[0];this._defaultAppearance||(this.data.defaultAppearanceData=(0,i.parseDefaultAppearance)(this._defaultAppearance=\\\"/Helvetica 0 Tf 0 g\\\"));const h=await this._getFontData(e,t),[u,d]=this._computeFontSize(c-2,l-4,s,h,o);let f=h.descent;isNaN(f)&&(f=0);const g=2+Math.abs(f)*d,p=this.data.textAlignment;if(this.data.multiLine)return this._getMultilineAppearance(u,s,h,d,l,c,p,2,g);const m=h.encodeString(s).join(\\\"\\\");if(this.data.comb)return this._getCombAppearance(u,h,m,l,2,g);if(0===p||p>2)return\\\"/Tx BMC q BT \\\"+u+` 1 0 0 1 2 ${g} Tm (${(0,r.escapeString)(m)}) Tj ET Q EMC`;return\\\"/Tx BMC q BT \\\"+u+` 1 0 0 1 0 0 Tm ${this._renderText(m,h,d,l,p,2,g)} ET Q EMC`}async _getFontData(e,t){const a=new f.OperatorList,r={font:null,clone(){return this}},{fontName:n,fontSize:i}=this.data.defaultAppearanceData;await e.handleSetFont(this._fieldResources.mergedResources,[n&&s.Name.get(n),i],null,a,t,r,null);return r.font}_getTextWidth(e,t){return t.charsToGlyphs(e).reduce(((e,t)=>e+t.width),0)/1e3}_computeFontSize(e,t,a,r,n){let{fontSize:s}=this.data.defaultAppearanceData;if(!s){const roundWithTwoDigits=e=>Math.floor(100*e)/100;if(-1===n){const n=this._getTextWidth(a,r);s=roundWithTwoDigits(Math.min(e/b,t/n))}else{const i=a.split(/\\\\r\\\\n?|\\\\n/),o=[];for(const e of i){const t=r.encodeString(e).join(\\\"\\\"),a=r.charsToGlyphs(t),n=r.getCharPositions(t);o.push({line:t,glyphs:a,positions:n})}const isTooBig=a=>{let n=0;for(const i of o){n+=this._splitLine(null,r,a,t,i).length*a;if(n>e)return!0}return!1};s=12;let c=s*b,l=Math.round(e/c);l=Math.max(l,n);for(;;){c=e/l;s=roundWithTwoDigits(c/b);if(!isTooBig(s))break;l++}}const{fontName:o,fontColor:c}=this.data.defaultAppearanceData;this._defaultAppearance=(0,i.createDefaultAppearance)({fontSize:s,fontName:o,fontColor:c})}return[this._defaultAppearance,s]}_renderText(e,t,a,n,i,s,o){let c;if(1===i){c=(n-this._getTextWidth(e,t)*a)/2}else if(2===i){c=n-this._getTextWidth(e,t)*a-s}else c=s;c=c.toFixed(2);return`${c} ${o=o.toFixed(2)} Td (${(0,r.escapeString)(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:a,acroFormResources:r}=this._fieldResources,n=this.data.defaultAppearanceData&&this.data.defaultAppearanceData.fontName;if(!n)return t||s.Dict.empty;for(const e of[t,a])if(e instanceof s.Dict){const t=e.get(\\\"Font\\\");if(t instanceof s.Dict&&t.has(n))return e}if(r instanceof s.Dict){const a=r.get(\\\"Font\\\");if(a instanceof s.Dict&&a.has(n)){const r=new s.Dict(e);r.set(n,a.getRaw(n));const i=new s.Dict(e);i.set(\\\"Font\\\",r);return s.Dict.merge({xref:e,dictArray:[i,t],mergeSubDicts:!0})}}return t||s.Dict.empty}getFieldObject(){return null}}class TextWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this._hasText=!0;const t=e.dict;\\\"string\\\"!=typeof this.data.fieldValue&&(this.data.fieldValue=\\\"\\\");let a=(0,n.getInheritableProperty)({dict:t,key:\\\"Q\\\"});(!Number.isInteger(a)||a<0||a>2)&&(a=null);this.data.textAlignment=a;let i=(0,n.getInheritableProperty)({dict:t,key:\\\"MaxLen\\\"});(!Number.isInteger(i)||i<0)&&(i=null);this.data.maxLen=i;this.data.multiLine=this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE);this.data.comb=this.hasFieldFlag(r.AnnotationFieldFlag.COMB)&&!this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE)&&!this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD)&&!this.hasFieldFlag(r.AnnotationFieldFlag.FILESELECT)&&null!==this.data.maxLen}_getCombAppearance(e,t,a,n,i,s){const o=(n/this.data.maxLen).toFixed(2),c=[],l=t.getCharPositions(a);for(const[e,t]of l)c.push(`(${(0,r.escapeString)(a.substring(e,t))}) Tj`);return\\\"/Tx BMC q BT \\\"+e+` 1 0 0 1 ${i} ${s} Tm ${c.join(` ${o} 0 Td `)} ET Q EMC`}_getMultilineAppearance(e,t,a,r,n,i,s,o,c){const l=t.split(/\\\\r\\\\n?|\\\\n/),h=[],u=n-2*o;for(const e of l){const t=this._splitLine(e,a,r,u);for(const e of t){const t=0===h.length?o:0;h.push(this._renderText(e,a,r,n,s,t,-r))}}return\\\"/Tx BMC q BT \\\"+e+` 1 0 0 1 0 ${i} Tm ${h.join(\\\"\\\\n\\\")} ET Q EMC`}_splitLine(e,t,a,r,n={}){e=n.line||t.encodeString(e).join(\\\"\\\");const i=n.glyphs||t.charsToGlyphs(e);if(i.length<=1)return[e];const s=n.positions||t.getCharPositions(e),o=a/1e3,c=[];let l=-1,h=-1,u=-1,d=0,f=0;for(let t=0,a=i.length;tr){c.push(e.substring(d,a));d=a;f=p;l=-1;u=-1}else{f+=p;l=a;h=n;u=t}else if(f+p>r)if(-1!==l){c.push(e.substring(d,h));d=h;t=u+1;l=-1;f=0}else{c.push(e.substring(d,a));d=a;f=p}else f+=p}d\\\"Off\\\"!==e));i.length=0;i.push(\\\"Off\\\",e)}i.includes(this.data.fieldValue)||(this.data.fieldValue=\\\"Off\\\");this.data.exportValue=i[1];this.checkedAppearance=a.get(this.data.exportValue)||null;this.uncheckedAppearance=a.get(\\\"Off\\\")||null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,\\\"check\\\");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict}_processRadioButton(e){this.data.fieldValue=this.data.buttonValue=null;const t=e.dict.get(\\\"Parent\\\");if(t instanceof s.Dict){this.parent=e.dict.getRaw(\\\"Parent\\\");const a=t.get(\\\"V\\\");a instanceof s.Name&&(this.data.fieldValue=this._decodeFormValue(a))}const a=e.dict.get(\\\"AP\\\");if(!(a instanceof s.Dict))return;const r=a.get(\\\"N\\\");if(r instanceof s.Dict){for(const e of r.getKeys())if(\\\"Off\\\"!==e){this.data.buttonValue=this._decodeFormValue(e);break}this.checkedAppearance=r.get(this.data.buttonValue)||null;this.uncheckedAppearance=r.get(\\\"Off\\\")||null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,\\\"disc\\\");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict}}_processPushButton(e){if(e.dict.has(\\\"A\\\")||e.dict.has(\\\"AA\\\")||this.data.alternativeText){this.data.isTooltipOnly=!e.dict.has(\\\"A\\\")&&!e.dict.has(\\\"AA\\\");l.Catalog.parseDestDictionary({destDict:e.dict,resultObj:this.data,docBaseUrl:e.pdfManager.docBaseUrl})}else(0,r.warn)(\\\"Push buttons without action dictionaries are not supported\\\")}getFieldObject(){let e,t=\\\"button\\\";if(this.data.checkBox){t=\\\"checkbox\\\";e=this.data.exportValue}else if(this.data.radioButton){t=\\\"radiobutton\\\";e=this.data.buttonValue}return{id:this.data.id,value:this.data.fieldValue||\\\"Off\\\",defaultValue:this.data.defaultFieldValue,exportValues:e,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:t}}get fallbackFontDict(){const e=new s.Dict;e.set(\\\"BaseFont\\\",s.Name.get(\\\"ZapfDingbats\\\"));e.set(\\\"Type\\\",s.Name.get(\\\"FallbackType\\\"));e.set(\\\"Subtype\\\",s.Name.get(\\\"FallbackType\\\"));e.set(\\\"Encoding\\\",s.Name.get(\\\"ZapfDingbatsEncoding\\\"));return(0,r.shadow)(this,\\\"fallbackFontDict\\\",e)}}class ChoiceWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this.data.options=[];const t=(0,n.getInheritableProperty)({dict:e.dict,key:\\\"Opt\\\"});if(Array.isArray(t)){const a=e.xref;for(let e=0,r=t.length;e0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:e}}async _getAppearance(e,t,a){if(this.data.combo)return super._getAppearance(e,t,a);if(!a)return null;const r=a.get(this.data.id);let n=r&&r.value;if(void 0===n)return null;Array.isArray(n)||(n=[n]);const s=this.data.rect[3]-this.data.rect[1],o=this.data.rect[2]-this.data.rect[0],c=this.data.options.length,l=[];for(let e=0;ea){a=r;t=e}}[u,d]=this._computeFontSize(e,o-4,t,h,-1)}const f=d*b,g=(f-d)/2,p=Math.floor(s/f);let m;if(1===l.length){const e=l[0];m=e-e%p}else m=l.length?l[0]:0;const y=Math.min(m+p+1,c),w=[\\\"/Tx BMC q\\\",`1 1 ${o} ${s} re W n`];if(l.length){w.push(\\\"0.600006 0.756866 0.854904 rg\\\");for(const e of l)m<=e&&ee/255)):[0,0,0],i=t.get(\\\"CA\\\");let s=null,o=t.getArray(\\\"IC\\\");if(o){o=getRgbColor(o,null);s=o?Array.from(o).map((e=>e/255)):null}const c=s?i:null,l=this.borderStyle.width||1,h=2*l,u=[this.data.lineCoordinates[0]-h,this.data.lineCoordinates[1]-h,this.data.lineCoordinates[2]+h,this.data.lineCoordinates[3]+h];r.Util.intersect(this.rectangle,u)||(this.rectangle=u);this._setDefaultAppearance({xref:e.xref,extra:`${l} w`,strokeColor:n,fillColor:s,strokeAlpha:i,fillAlpha:c,pointsCallback:(e,t)=>{e.push(`${a[0]} ${a[1]} m`,`${a[2]} ${a[3]} l`,\\\"S\\\");return[t[0].x-l,t[1].x+l,t[3].y-l,t[1].y+l]}})}}}class SquareAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=r.AnnotationType.SQUARE;if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],a=e.dict.get(\\\"CA\\\");let r=null,n=e.dict.getArray(\\\"IC\\\");if(n){n=getRgbColor(n,null);r=n?Array.from(n).map((e=>e/255)):null}const i=r?a:null;if(0===this.borderStyle.width&&!r)return;this._setDefaultAppearance({xref:e.xref,extra:`${this.borderStyle.width} w`,strokeColor:t,fillColor:r,strokeAlpha:a,fillAlpha:i,pointsCallback:(e,t)=>{const a=t[2].x+this.borderStyle.width/2,n=t[2].y+this.borderStyle.width/2,i=t[3].x-t[2].x-this.borderStyle.width,s=t[1].y-t[3].y-this.borderStyle.width;e.push(`${a} ${n} ${i} ${s} re`);r?e.push(\\\"B\\\"):e.push(\\\"S\\\");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}class CircleAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=r.AnnotationType.CIRCLE;if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],a=e.dict.get(\\\"CA\\\");let r=null,n=e.dict.getArray(\\\"IC\\\");if(n){n=getRgbColor(n,null);r=n?Array.from(n).map((e=>e/255)):null}const i=r?a:null;if(0===this.borderStyle.width&&!r)return;const s=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:e.xref,extra:`${this.borderStyle.width} w`,strokeColor:t,fillColor:r,strokeAlpha:a,fillAlpha:i,pointsCallback:(e,t)=>{const a=t[0].x+this.borderStyle.width/2,n=t[0].y-this.borderStyle.width/2,i=t[3].x-this.borderStyle.width/2,o=t[3].y+this.borderStyle.width/2,c=a+(i-a)/2,l=n+(o-n)/2,h=(i-a)/2*s,u=(o-n)/2*s;e.push(`${c} ${o} m`,`${c+h} ${o} ${i} ${l+u} ${i} ${l} c`,`${i} ${l-u} ${c+h} ${n} ${c} ${n} c`,`${c-h} ${n} ${a} ${l-u} ${a} ${l} c`,`${a} ${l+u} ${c-h} ${o} ${c} ${o} c`,\\\"h\\\");r?e.push(\\\"B\\\"):e.push(\\\"S\\\");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}class PolylineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t}=e;this.data.annotationType=r.AnnotationType.POLYLINE;this.data.vertices=[];if(!(this instanceof PolygonAnnotation)){this.setLineEndings(t.getArray(\\\"LE\\\"));this.data.lineEndings=this.lineEndings}const a=t.getArray(\\\"Vertices\\\");if(Array.isArray(a)){for(let e=0,t=a.length;ee/255)):[0,0,0],n=t.get(\\\"CA\\\"),i=this.borderStyle.width||1,s=2*i,o=[1/0,1/0,-1/0,-1/0];for(const e of this.data.vertices){o[0]=Math.min(o[0],e.x-s);o[1]=Math.min(o[1],e.y-s);o[2]=Math.max(o[2],e.x+s);o[3]=Math.max(o[3],e.y+s)}r.Util.intersect(this.rectangle,o)||(this.rectangle=o);this._setDefaultAppearance({xref:e.xref,extra:`${i} w`,strokeColor:a,strokeAlpha:n,pointsCallback:(e,t)=>{const a=this.data.vertices;for(let t=0,r=a.length;te/255)):[0,0,0],a=e.dict.get(\\\"CA\\\"),n=this.borderStyle.width||1,i=2*n,s=[1/0,1/0,-1/0,-1/0];for(const e of this.data.inkLists)for(const t of e){s[0]=Math.min(s[0],t.x-i);s[1]=Math.min(s[1],t.y-i);s[2]=Math.max(s[2],t.x+i);s[3]=Math.max(s[3],t.y+i)}r.Util.intersect(this.rectangle,s)||(this.rectangle=s);this._setDefaultAppearance({xref:e.xref,extra:`${n} w`,strokeColor:t,strokeAlpha:a,pointsCallback:(e,t)=>{for(const t of this.data.inkLists){for(let a=0,r=t.length;ae/255)):[1,1,0],a=e.dict.get(\\\"CA\\\");this._setDefaultAppearance({xref:e.xref,fillColor:t,blendMode:\\\"Multiply\\\",fillAlpha:a,pointsCallback:(e,t)=>{e.push(`${t[0].x} ${t[0].y} m`,`${t[1].x} ${t[1].y} l`,`${t[3].x} ${t[3].y} l`,`${t[2].x} ${t[2].y} l`,\\\"f\\\");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}else this.data.hasPopup=!1}}class UnderlineAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=r.AnnotationType.UNDERLINE;if(this.data.quadPoints=getQuadPoints(e.dict,null)){if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],a=e.dict.get(\\\"CA\\\");this._setDefaultAppearance({xref:e.xref,extra:\\\"[] 0 d 1 w\\\",strokeColor:t,strokeAlpha:a,pointsCallback:(e,t)=>{e.push(`${t[2].x} ${t[2].y} m`,`${t[3].x} ${t[3].y} l`,\\\"S\\\");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}else this.data.hasPopup=!1}}class SquigglyAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=r.AnnotationType.SQUIGGLY;if(this.data.quadPoints=getQuadPoints(e.dict,null)){if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],a=e.dict.get(\\\"CA\\\");this._setDefaultAppearance({xref:e.xref,extra:\\\"[] 0 d 1 w\\\",strokeColor:t,strokeAlpha:a,pointsCallback:(e,t)=>{const a=(t[0].y-t[2].y)/6;let r=a,n=t[2].x;const i=t[2].y,s=t[3].x;e.push(`${n} ${i+r} m`);do{n+=2;r=0===r?a:0;e.push(`${n} ${i+r} l`)}while(ne/255)):[0,0,0],a=e.dict.get(\\\"CA\\\");this._setDefaultAppearance({xref:e.xref,extra:\\\"[] 0 d 1 w\\\",strokeColor:t,strokeAlpha:a,pointsCallback:(e,t)=>{e.push((t[0].x+t[2].x)/2+\\\" \\\"+(t[0].y+t[2].y)/2+\\\" m\\\",(t[1].x+t[3].x)/2+\\\" \\\"+(t[1].y+t[3].y)/2+\\\" l\\\",\\\"S\\\");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}else this.data.hasPopup=!1}}class StampAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=r.AnnotationType.STAMP}}class FileAttachmentAnnotation extends MarkupAnnotation{constructor(e){super(e);const t=new u.FileSpec(e.dict.get(\\\"FS\\\"),e.xref);this.data.annotationType=r.AnnotationType.FILEATTACHMENT;this.data.file=t.serializable}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.createDefaultAppearance=function createDefaultAppearance({fontSize:e,fontName:t,fontColor:a}){let r;r=a.every((e=>0===e))?\\\"0 g\\\":Array.from(a).map((e=>(e/255).toFixed(2))).join(\\\" \\\")+\\\" rg\\\";return`/${(0,i.escapePDFName)(t)} ${e} Tf ${r}`};t.parseDefaultAppearance=function parseDefaultAppearance(e){return new DefaultAppearanceEvaluator(e).parse()};var r=a(2),n=a(24),i=a(8),s=a(25),o=a(5),c=a(10);class DefaultAppearanceEvaluator extends s.EvaluatorPreprocessor{constructor(e){super(new c.StringStream(e))}parse(){const e={fn:0,args:[]},t={fontSize:0,fontName:\\\"\\\",fontColor:new Uint8ClampedArray(3)};try{for(;;){e.args.length=0;if(!this.read(e))break;if(0!==this.savedStatesDepth)continue;const{fn:a,args:i}=e;switch(0|a){case r.OPS.setFont:const[e,a]=i;e instanceof o.Name&&(t.fontName=e.name);\\\"number\\\"==typeof a&&a>0&&(t.fontSize=a);break;case r.OPS.setFillRGBColor:n.ColorSpace.singletons.rgb.getRgbItem(i,0,t.fontColor,0);break;case r.OPS.setFillGray:n.ColorSpace.singletons.gray.getRgbItem(i,0,t.fontColor,0);break;case r.OPS.setFillColorSpace:n.ColorSpace.singletons.cmyk.getRgbItem(i,0,t.fontColor,0)}}}catch(e){(0,r.warn)(`parseDefaultAppearance - ignoring errors: \\\"${e}\\\".`)}return t}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ColorSpace=void 0;var r=a(2),n=a(5),i=a(9),s=a(8);class ColorSpace{constructor(e,t){this.constructor===ColorSpace&&(0,r.unreachable)(\\\"Cannot initialize ColorSpace.\\\");this.name=e;this.numComps=t}getRgb(e,t){const a=new Uint8ClampedArray(3);this.getRgbItem(e,t,a,0);return a}getRgbItem(e,t,a,n){(0,r.unreachable)(\\\"Should not call ColorSpace.getRgbItem\\\")}getRgbBuffer(e,t,a,n,i,s,o){(0,r.unreachable)(\\\"Should not call ColorSpace.getRgbBuffer\\\")}getOutputLength(e,t){(0,r.unreachable)(\\\"Should not call ColorSpace.getOutputLength\\\")}isPassthrough(e){return!1}isDefaultDecode(e,t){return ColorSpace.isDefaultDecode(e,this.numComps)}fillRgb(e,t,a,r,n,i,s,o,c){const l=t*a;let h=null;const u=1<u&&\\\"DeviceGray\\\"!==this.name&&\\\"DeviceRGB\\\"!==this.name){const t=s<=8?new Uint8Array(u):new Uint16Array(u);for(let e=0;e=.99554525?1:adjustToRange(0,1,1.055*e**(1/2.4)-.055)}function adjustToRange(e,t,a){return Math.max(e,Math.min(t,a))}function decodeL(e){return e<0?-decodeL(-e):e>8?((e+16)/116)**3:.0011070564598794539*e}function convertToRgb(r,c,l,h,u,d){const f=adjustToRange(0,1,c[l]*d),g=adjustToRange(0,1,c[l+1]*d),p=adjustToRange(0,1,c[l+2]*d),m=1===f?1:f**r.GR,b=1===g?1:g**r.GG,y=1===p?1:p**r.GB,w=r.MXA*m+r.MXB*b+r.MXC*y,S=r.MYA*m+r.MYB*b+r.MYC*y,x=r.MZA*m+r.MZB*b+r.MZC*y,k=s;k[0]=w;k[1]=S;k[2]=x;const C=o;!function normalizeWhitePointToFlat(a,r,n){if(1===a[0]&&1===a[2]){n[0]=r[0];n[1]=r[1];n[2]=r[2];return}const s=n;matrixProduct(e,r,s);const o=i;!function convertToFlat(e,t,a){a[0]=1*t[0]/e[0];a[1]=1*t[1]/e[1];a[2]=1*t[2]/e[2]}(a,s,o);matrixProduct(t,o,n)}(r.whitePoint,k,C);const v=s;!function compensateBlackPoint(e,t,a){if(0===e[0]&&0===e[1]&&0===e[2]){a[0]=t[0];a[1]=t[1];a[2]=t[2];return}const r=decodeL(0),n=(1-r)/(1-decodeL(e[0])),i=1-n,s=(1-r)/(1-decodeL(e[1])),o=1-s,c=(1-r)/(1-decodeL(e[2])),l=1-c;a[0]=t[0]*n+i;a[1]=t[1]*s+o;a[2]=t[2]*c+l}(r.blackPoint,C,v);const F=o;!function normalizeWhitePointToD65(a,r,n){const s=n;matrixProduct(e,r,s);const o=i;!function convertToD65(e,t,a){a[0]=.95047*t[0]/e[0];a[1]=1*t[1]/e[1];a[2]=1.08883*t[2]/e[2]}(a,s,o);matrixProduct(t,o,n)}(n,v,F);const O=s;matrixProduct(a,F,O);h[u]=255*sRGBTransferFunction(O[0]);h[u+1]=255*sRGBTransferFunction(O[1]);h[u+2]=255*sRGBTransferFunction(O[2])}return class CalRGBCS extends ColorSpace{constructor(e,t,a,n){super(\\\"CalRGB\\\",3);if(!e)throw new r.FormatError(\\\"WhitePoint missing - required for color space CalRGB\\\");t=t||new Float32Array(3);a=a||new Float32Array([1,1,1]);n=n||new Float32Array([1,0,0,0,1,0,0,0,1]);const i=e[0],s=e[1],o=e[2];this.whitePoint=e;const c=t[0],l=t[1],h=t[2];this.blackPoint=t;this.GR=a[0];this.GG=a[1];this.GB=a[2];this.MXA=n[0];this.MYA=n[1];this.MZA=n[2];this.MXB=n[3];this.MYB=n[4];this.MZB=n[5];this.MXC=n[6];this.MYC=n[7];this.MZC=n[8];if(i<0||o<0||1!==s)throw new r.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);if(c<0||l<0||h<0){(0,r.info)(`Invalid BlackPoint for ${this.name} [${c}, ${l}, ${h}], falling back to default.`);this.blackPoint=new Float32Array(3)}if(this.GR<0||this.GG<0||this.GB<0){(0,r.info)(`Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ${this.name}, falling back to default.`);this.GR=this.GG=this.GB=1}}getRgbItem(e,t,a,r){convertToRgb(this,e,t,a,r,1)}getRgbBuffer(e,t,a,r,n,i,s){const o=1/((1<=6/29?e**3:108/841*(e-4/29);return t}function decode(e,t,a,r){return a+e*(r-a)/t}function convertToRgb(e,t,a,r,n,i){let s=t[a],o=t[a+1],c=t[a+2];if(!1!==r){s=decode(s,r,0,100);o=decode(o,r,e.amin,e.amax);c=decode(c,r,e.bmin,e.bmax)}o>e.amax?o=e.amax:oe.bmax?c=e.bmax:cthis.amax||this.bmin>this.bmax){(0,r.info)(\\\"Invalid Range, falling back to defaults\\\");this.amin=-100;this.amax=100;this.bmin=-100;this.bmax=100}}getRgbItem(e,t,a,r){convertToRgb(this,e,t,!1,a,r)}getRgbBuffer(e,t,a,r,n,i,s){const o=(1<{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.PartialEvaluator=t.EvaluatorPreprocessor=void 0;var r=a(2),n=a(26),i=a(5),s=a(44),o=a(18),c=a(19),l=a(47),h=a(21),u=a(56),d=a(12),f=a(48),g=a(57),p=a(27),m=a(59),b=a(10),y=a(9),w=a(60),S=a(24),x=a(29),k=a(20),C=a(8),v=a(51),F=a(61),O=a(62),T=a(63);const M=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isEvalSupported:!0,fontExtraProperties:!1,useSystemFonts:!0,cMapUrl:null,standardFontDataUrl:null}),E=1,D=2,N=Promise.resolve();function normalizeBlendMode(e,t=!1){if(Array.isArray(e)){for(let t=0,a=e.length;t0&&e.args[0].count++}class TimeSlotManager{static get TIME_SLOT_DURATION_MS(){return(0,r.shadow)(this,\\\"TIME_SLOT_DURATION_MS\\\",20)}static get CHECK_TIME_EVERY(){return(0,r.shadow)(this,\\\"CHECK_TIME_EVERY\\\",100)}constructor(){this.reset()}check(){if(++this.checkedd){const e=\\\"Image exceeded maximum allowed size and was removed.\\\";if(this.options.ignoreErrors){(0,r.warn)(e);return}throw new Error(e)}let f;c.has(\\\"OC\\\")&&(f=await this.parseMarkedContentProps(c.get(\\\"OC\\\"),e));let g,p;if(c.get(\\\"IM\\\",\\\"ImageMask\\\")||!1){const e=c.get(\\\"I\\\",\\\"Interpolate\\\"),a=h+7>>3,o=t.getBytes(a*u),d=c.getArray(\\\"D\\\",\\\"Decode\\\");if(this.parsingType3Font){g=T.PDFImage.createRawMask({imgArray:o,width:h,height:u,imageIsFromDecodeStream:t instanceof x.DecodeStream,inverseDecode:!!d&&d[0]>0,interpolate:e});g.cached=!!i;p=[g];n.addImageOps(r.OPS.paintImageMaskXObject,p,f);i&&s.set(i,l,{fn:r.OPS.paintImageMaskXObject,args:p,optionalContent:f});return}g=T.PDFImage.createMask({imgArray:o,width:h,height:u,imageIsFromDecodeStream:t instanceof x.DecodeStream,inverseDecode:!!d&&d[0]>0,interpolate:e});if(g.isSingleOpaquePixel){n.addImageOps(r.OPS.paintSolidColorImageMask,[],f);i&&s.set(i,l,{fn:r.OPS.paintSolidColorImageMask,args:[],optionalContent:f});return}const m=`mask_${this.idFactory.createObjId()}`;n.addDependency(m);this._sendImgData(m,g);p=[{data:m,width:g.width,height:g.height,interpolate:g.interpolate,count:1}];n.addImageOps(r.OPS.paintImageMaskXObject,p,f);i&&s.set(i,l,{fn:r.OPS.paintImageMaskXObject,args:p,optionalContent:f});return}const m=c.get(\\\"SM\\\",\\\"SMask\\\")||!1,b=c.get(\\\"Mask\\\")||!1;if(a&&!m&&!b&&h+u<200){const i=new T.PDFImage({xref:this.xref,res:e,image:t,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:o});g=i.createImageData(!0);n.addImageOps(r.OPS.paintInlineImageXObject,[g],f);return}let y=`img_${this.idFactory.createObjId()}`,w=!1;if(this.parsingType3Font)y=`${this.idFactory.getDocId()}_type3_${y}`;else if(l){w=this.globalImageCache.shouldCache(l,this.pageIndex);w&&(y=`${this.idFactory.getDocId()}_${y}`)}n.addDependency(y);p=[y,h,u];T.PDFImage.buildImage({xref:this.xref,res:e,image:t,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:o}).then((e=>{g=e.createImageData(!1);i&&l&&w&&this.globalImageCache.addByteSize(l,g.data.length);return this._sendImgData(y,g,w)})).catch((e=>{(0,r.warn)(`Unable to decode image \\\"${y}\\\": \\\"${e}\\\".`);return this._sendImgData(y,null,w)}));n.addImageOps(r.OPS.paintImageXObject,p,f);if(i){s.set(i,l,{fn:r.OPS.paintImageXObject,args:p,optionalContent:f});if(l){(0,r.assert)(!a,\\\"Cannot cache an inline image globally.\\\");this.globalImageCache.addPageIndex(l,this.pageIndex);w&&this.globalImageCache.setData(l,{objId:y,fn:r.OPS.paintImageXObject,args:p,optionalContent:f,byteSize:0})}}}handleSMask(e,t,a,r,n,i){const s=e.get(\\\"G\\\"),o={subtype:e.get(\\\"S\\\").name,backdrop:e.get(\\\"BC\\\")},c=e.get(\\\"TR\\\");if((0,g.isPDFFunction)(c)){const e=this._pdfFunctionFactory.create(c),t=new Uint8Array(256),a=new Float32Array(1);for(let r=0;r<256;r++){a[0]=r/255;e(a,0,a,0);t[r]=255*a[0]|0}o.transferMap=t}return this.buildFormXObject(t,s,o,a,r,n.state.clone(),i)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!(0,g.isPDFFunction)(e))return null;t=[e]}const a=[];let r=0,n=0;for(const e of t){const t=this.xref.fetchIfRef(e);r++;if((0,i.isName)(t,\\\"Identity\\\")){a.push(null);continue}if(!(0,g.isPDFFunction)(t))return null;const s=this._pdfFunctionFactory.create(t),o=new Uint8Array(256),c=new Float32Array(1);for(let e=0;e<256;e++){c[0]=e/255;s(c,0,c,0);o[e]=255*c[0]|0}a.push(o);n++}return 1!==r&&4!==r||0===n?null:a}handleTilingType(e,t,a,n,s,o,c,l){const h=new O.OperatorList,d=i.Dict.merge({xref:this.xref,dictArray:[s.get(\\\"Resources\\\"),a]});return this.getOperatorList({stream:n,task:c,resources:d,operatorList:h}).then((function(){const a=h.getIR(),r=(0,u.getTilingPatternIR)(a,s,t);o.addDependencies(h.dependencies);o.addOp(e,r);s.objId&&l.set(null,s.objId,{operatorListIR:a,dict:s})})).catch((e=>{if(!(e instanceof r.AbortException)){if(!this.options.ignoreErrors)throw e;this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorTilingPattern});(0,r.warn)(`handleTilingType - ignoring pattern: \\\"${e}\\\".`)}}))}handleSetFont(e,t,a,n,o,c,l=null,h=null){const u=t&&t[0]instanceof i.Name?t[0].name:null;return this.loadFont(u,a,e,l,h).then((t=>t.font.isType3Font?t.loadType3Data(this,e,o).then((function(){n.addDependencies(t.type3Dependencies);return t})).catch((e=>{this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorFontLoadType3});return new TranslatedFont({loadedName:\\\"g_font_error\\\",font:new s.ErrorFont(`Type3 font load error: ${e}`),dict:t.font,evaluatorOptions:this.options})})):t)).then((e=>{c.font=e.font;e.send(this.handler);return e.loadedName}))}handleText(e,t){const a=t.font,n=a.charsToGlyphs(e);if(a.data){(!!(t.textRenderingMode&r.TextRenderingMode.ADD_TO_PATH_FLAG)||\\\"Pattern\\\"===t.fillColorSpace.name||a.disableFontFace||this.options.disableFontFace)&&PartialEvaluator.buildFontPaths(a,n,this.handler,this.options)}return n}ensureStateFont(e){if(e.font)return;const t=new r.FormatError(\\\"Missing setFont (Tf) operator before text rendering operator.\\\");if(!this.options.ignoreErrors)throw t;this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorFontState});(0,r.warn)(`ensureStateFont: \\\"${t}\\\".`)}async setGState({resources:e,gState:t,operatorList:a,cacheKey:n,task:s,stateManager:o,localGStateCache:c,localColorSpaceCache:l}){const h=t.objId;let u=!0;const d=[],f=t.getKeys();let g=Promise.resolve();for(let n=0,c=f.length;nthis.handleSetFont(e,null,h[0],a,s,o.state).then((function(e){a.addDependency(e);d.push([c,[e,h[1]]])}))));break;case\\\"BM\\\":d.push([c,normalizeBlendMode(h)]);break;case\\\"SMask\\\":if((0,i.isName)(h,\\\"None\\\")){d.push([c,!1]);break}if(h instanceof i.Dict){u=!1;g=g.then((()=>this.handleSMask(h,e,a,s,o,l)));d.push([c,!0])}else(0,r.warn)(\\\"Unsupported SMask type\\\");break;case\\\"TR\\\":const t=this.handleTransferFunction(h);d.push([c,t]);break;case\\\"OP\\\":case\\\"op\\\":case\\\"OPM\\\":case\\\"BG\\\":case\\\"BG2\\\":case\\\"UCR\\\":case\\\"UCR2\\\":case\\\"TR2\\\":case\\\"HT\\\":case\\\"SM\\\":case\\\"SA\\\":case\\\"AIS\\\":case\\\"TK\\\":(0,r.info)(\\\"graphic state operator \\\"+c);break;default:(0,r.info)(\\\"Unknown graphic state operator \\\"+c)}}return g.then((function(){d.length>0&&a.addOp(r.OPS.setGState,[d]);u&&c.set(n,h,d)}))}loadFont(e,t,a,n=null,c=null){const errorFont=async()=>new TranslatedFont({loadedName:\\\"g_font_error\\\",font:new s.ErrorFont(`Font \\\"${e}\\\" is not available.`),dict:t,evaluatorOptions:this.options}),l=this.xref;let h;if(t){if(!(t instanceof i.Ref))throw new r.FormatError('The \\\"font\\\" object should be a reference.');h=t}else{const t=a.get(\\\"Font\\\");t&&(h=t.getRaw(e))}if(!h){const a=`Font \\\"${e||t&&t.toString()}\\\" is not available`;if(!this.options.ignoreErrors&&!this.parsingType3Font){(0,r.warn)(`${a}.`);return errorFont()}this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorFontMissing});(0,r.warn)(`${a} -- attempting to fallback to a default font.`);h=n||PartialEvaluator.fallbackFontDict}if(this.parsingType3Font&&this.type3FontRefs.has(h))return errorFont();if(this.fontCache.has(h))return this.fontCache.get(h);if(!((t=l.fetchIfRef(h))instanceof i.Dict))return errorFont();if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const u=(0,r.createPromiseCapability)();let d;try{d=this.preEvaluateFont(t);d.cssFontInfo=c}catch(e){(0,r.warn)(`loadFont - preEvaluateFont failed: \\\"${e}\\\".`);return errorFont()}const{descriptor:f,hash:g}=d,p=h instanceof i.Ref;let m;p&&(m=`f${h.toString()}`);if(g&&f instanceof i.Dict){f.fontAliases||(f.fontAliases=Object.create(null));const e=f.fontAliases;if(e[g]){const t=e[g].aliasRef;if(p&&t&&this.fontCache.has(t)){this.fontCache.putAlias(h,t);return this.fontCache.get(h)}}else e[g]={fontID:this.idFactory.createFontId()};p&&(e[g].aliasRef=h);m=e[g].fontID}if(p)this.fontCache.put(h,u.promise);else{m||(m=this.idFactory.createFontId());t.cacheKey=`cacheKey_${m}`;this.fontCache.put(t.cacheKey,u.promise)}(0,r.assert)(m&&m.startsWith(\\\"f\\\"),'The \\\"fontID\\\" must be (correctly) defined.');t.loadedName=`${this.idFactory.getDocId()}_${m}`;this.translateFont(d).then((e=>{void 0!==e.fontType&&l.stats.addFontType(e.fontType);u.resolve(new TranslatedFont({loadedName:t.loadedName,font:e,dict:t,evaluatorOptions:this.options}))})).catch((e=>{this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorFontTranslate});(0,r.warn)(`loadFont - translateFont failed: \\\"${e}\\\".`);try{const e=f&&f.get(\\\"FontFile3\\\"),t=e&&e.get(\\\"Subtype\\\"),a=(0,o.getFontType)(d.type,t&&t.name);void 0!==a&&l.stats.addFontType(a)}catch(e){}u.resolve(new TranslatedFont({loadedName:t.loadedName,font:new s.ErrorFont(e instanceof Error?e.message:e),dict:t,evaluatorOptions:this.options}))}));return u.promise}buildPath(e,t,a,n=!1){const i=e.length-1;a||(a=[]);let s;if(i<0||e.fnArray[i]!==r.OPS.constructPath){if(n){(0,r.warn)(`Encountered path operator \\\"${t}\\\" inside of a text object.`);e.addOp(r.OPS.save,null)}s=[1/0,-1/0,1/0,-1/0];e.addOp(r.OPS.constructPath,[[t],a,s]);n&&e.addOp(r.OPS.restore,null)}else{const r=e.argsArray[i];r[0].push(t);Array.prototype.push.apply(r[1],a);s=r[2]}switch(t){case r.OPS.rectangle:s[0]=Math.min(s[0],a[0],a[0]+a[2]);s[1]=Math.max(s[1],a[0],a[0]+a[2]);s[2]=Math.min(s[2],a[1],a[1]+a[3]);s[3]=Math.max(s[3],a[1],a[1]+a[3]);break;case r.OPS.moveTo:case r.OPS.lineTo:s[0]=Math.min(s[0],a[0]);s[1]=Math.max(s[1],a[0]);s[2]=Math.min(s[2],a[1]);s[3]=Math.max(s[3],a[1])}}parseColorSpace({cs:e,resources:t,localColorSpaceCache:a}){return S.ColorSpace.parseAsync({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:a}).catch((e=>{if(e instanceof r.AbortException)return null;if(this.options.ignoreErrors){this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorColorSpace});(0,r.warn)(`parseColorSpace - ignoring ColorSpace: \\\"${e}\\\".`);return null}throw e}))}parseShading({shading:e,resources:t,localColorSpaceCache:a,localShadingPatternCache:r}){let n=r.get(e);if(!n){const i=u.Pattern.parseShading(e,this.xref,t,this.handler,this._pdfFunctionFactory,a).getIR();n=`pattern_${this.idFactory.createObjId()}`;r.set(e,n);this.handler.send(\\\"obj\\\",[n,this.pageIndex,\\\"Pattern\\\",i])}return n}handleColorN(e,t,a,n,s,o,c,l,h,d){const f=a.pop();if(f instanceof i.Name){const g=s.getRaw(f.name),p=g instanceof i.Ref&&h.getByRef(g);if(p)try{const r=n.base?n.base.getRgb(a,0):null,i=(0,u.getTilingPatternIR)(p.operatorListIR,p.dict,r);e.addOp(t,i);return}catch(e){}const m=this.xref.fetchIfRef(g);if(m){const i=m instanceof y.BaseStream?m.dict:m,s=i.get(\\\"PatternType\\\");if(s===E){const r=n.base?n.base.getRgb(a,0):null;return this.handleTilingType(t,r,o,m,i,e,c,h)}if(s===D){const a=i.get(\\\"Shading\\\"),r=i.getArray(\\\"Matrix\\\"),n=this.parseShading({shading:a,resources:o,localColorSpaceCache:l,localShadingPatternCache:d});e.addOp(t,[\\\"Shading\\\",n,r]);return}throw new r.FormatError(`Unknown PatternType: ${s}`)}}throw new r.FormatError(`Unknown PatternName: ${f}`)}_parseVisibilityExpression(e,t,a){if(++t>10){(0,r.warn)(\\\"Visibility expression is too deeply nested\\\");return}const n=e.length,s=this.xref.fetchIfRef(e[0]);if(!(n<2)&&s instanceof i.Name){switch(s.name){case\\\"And\\\":case\\\"Or\\\":case\\\"Not\\\":a.push(s.name);break;default:(0,r.warn)(`Invalid operator ${s.name} in visibility expression`);return}for(let r=1;r0)return{type:\\\"OCMD\\\",expression:t}}const t=a.get(\\\"OCGs\\\");if(Array.isArray(t)||t instanceof i.Dict){const e=[];if(Array.isArray(t))for(const a of t)e.push(a.toString());else e.push(t.objId);return{type:n,ids:e,policy:a.get(\\\"P\\\")instanceof i.Name?a.get(\\\"P\\\").name:null,expression:null}}if(t instanceof i.Ref)return{type:n,id:t.toString()}}return null}getOperatorList({stream:e,task:t,resources:a,operatorList:n,initialState:s=null,fallbackFontDict:o=null}){a=a||i.Dict.empty;s=s||new EvalState;if(!n)throw new Error('getOperatorList: missing \\\"operatorList\\\" parameter');const c=this,l=this.xref;let h=!1;const u=new m.LocalImageCache,d=new m.LocalColorSpaceCache,f=new m.LocalGStateCache,g=new m.LocalTilingPatternCache,p=new Map,b=a.get(\\\"XObject\\\")||i.Dict.empty,w=a.get(\\\"Pattern\\\")||i.Dict.empty,x=new StateManager(s),k=new EvaluatorPreprocessor(e,l,x),C=new TimeSlotManager;function closePendingRestoreOPS(e){for(let e=0,t=k.savedStatesDepth;e0&&n.addOp(r.OPS.setGState,[t]);e=null;continue}}next(new Promise((function(e,s){if(!E)throw new r.FormatError(\\\"GState must be referred to by name.\\\");const o=a.get(\\\"ExtGState\\\");if(!(o instanceof i.Dict))throw new r.FormatError(\\\"ExtGState should be a dictionary.\\\");const l=o.get(M);if(!(l instanceof i.Dict))throw new r.FormatError(\\\"GState should be a dictionary.\\\");c.setGState({resources:a,gState:l,operatorList:n,cacheKey:M,task:t,stateManager:x,localGStateCache:f,localColorSpaceCache:d}).then(e,s)})).catch((function(e){if(!(e instanceof r.AbortException)){if(!c.options.ignoreErrors)throw e;c.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorExtGState});(0,r.warn)(`getOperatorList - ignoring ExtGState: \\\"${e}\\\".`)}})));return;case r.OPS.moveTo:case r.OPS.lineTo:case r.OPS.curveTo:case r.OPS.curveTo2:case r.OPS.curveTo3:case r.OPS.closePath:case r.OPS.rectangle:c.buildPath(n,s,e,h);continue;case r.OPS.markPoint:case r.OPS.markPointProps:case r.OPS.beginCompat:case r.OPS.endCompat:continue;case r.OPS.beginMarkedContentProps:if(!(e[0]instanceof i.Name)){(0,r.warn)(`Expected name for beginMarkedContentProps arg0=${e[0]}`);continue}if(\\\"OC\\\"===e[0].name){next(c.parseMarkedContentProps(e[1],a).then((e=>{n.addOp(r.OPS.beginMarkedContentProps,[\\\"OC\\\",e])})).catch((e=>{if(!(e instanceof r.AbortException)){if(!c.options.ignoreErrors)throw e;c.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorMarkedContent});(0,r.warn)(`getOperatorList - ignoring beginMarkedContentProps: \\\"${e}\\\".`)}})));return}e=[e[0].name,e[1]instanceof i.Dict?e[1].get(\\\"MCID\\\"):null];break;case r.OPS.beginMarkedContent:case r.OPS.endMarkedContent:default:if(null!==e){for(F=0,O=e.length;F{if(!(e instanceof r.AbortException)){if(!this.options.ignoreErrors)throw e;this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorOperatorList});(0,r.warn)(`getOperatorList - ignoring errors during \\\"${t.name}\\\" task: \\\"${e}\\\".`);closePendingRestoreOPS()}}))}getTextContent({stream:e,task:t,resources:a,stateManager:n=null,combineTextItems:s=!1,includeMarkedContent:o=!1,sink:c,seenStyles:l=new Set,viewBox:u}){a=a||i.Dict.empty;n=n||new StateManager(new TextState);const d=(0,h.getNormalizedUnicodes)(),f={items:[],styles:Object.create(null)},g={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},p=[\\\" \\\",\\\" \\\"];let b=0;function saveLastChar(e){const t=(b+1)%2,a=\\\" \\\"!==p[b]&&\\\" \\\"===p[t];p[b]=e;b=t;return a}function resetLastChars(){p[0]=p[1]=\\\" \\\";b=0}const S=this,x=this.xref,k=[];let C=null;const v=new m.LocalImageCache,F=new m.LocalGStateCache,O=new EvaluatorPreprocessor(e,x,n);let T;function getCurrentTextTransform(){const e=T.font,t=[T.fontSize*T.textHScale,0,0,T.fontSize,0,T.textRise];if(e.isType3Font&&(T.fontSize<=1||e.isCharBBox)&&!(0,r.isArrayEqual)(T.fontMatrix,r.FONT_IDENTITY_MATRIX)){const a=e.bbox[3]-e.bbox[1];a>0&&(t[3]*=a*T.fontMatrix[3])}return r.Util.transform(T.ctm,r.Util.transform(T.textMatrix,t))}function ensureTextContentItem(){if(g.initialized)return g;const e=T.font,t=e.loadedName;if(!l.has(t)){l.add(t);f.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical}}g.fontName=t;const a=g.transform=getCurrentTextTransform();if(e.vertical){g.width=g.totalWidth=Math.hypot(a[0],a[1]);g.height=g.totalHeight=0;g.vertical=!0}else{g.width=g.totalWidth=0;g.height=g.totalHeight=Math.hypot(a[2],a[3]);g.vertical=!1}const r=Math.hypot(T.textLineMatrix[0],T.textLineMatrix[1]),n=Math.hypot(T.ctm[0],T.ctm[1]);g.textAdvanceScale=n*r;g.trackingSpaceMin=.1*T.fontSize;g.notASpace=.03*T.fontSize;g.negativeSpaceMax=-.2*T.fontSize;g.spaceInFlowMin=.1*T.fontSize;g.spaceInFlowMax=.6*T.fontSize;g.hasEOL=!1;g.initialized=!0;return g}function updateAdvanceScale(){if(!g.initialized)return;const e=Math.hypot(T.textLineMatrix[0],T.textLineMatrix[1]),t=Math.hypot(T.ctm[0],T.ctm[1])*e;if(t!==g.textAdvanceScale){if(g.vertical){g.totalHeight+=g.height*g.textAdvanceScale;g.height=0}else{g.totalWidth+=g.width*g.textAdvanceScale;g.width=0}g.textAdvanceScale=t}}function handleSetFont(e,n){return S.loadFont(e,n,a).then((function(e){return e.font.isType3Font?e.loadType3Data(S,a,t).catch((function(){})).then((function(){return e})):e})).then((function(e){T.font=e.font;T.fontMatrix=e.font.fontMatrix||r.FONT_IDENTITY_MATRIX}))}function applyInverseRotation(e,t,a){const r=Math.hypot(a[0],a[1]);return[(a[0]*e+a[1]*t)/r,(a[2]*e+a[3]*t)/r]}function compareWithLastPosition(){const e=getCurrentTextTransform();let t=e[4],a=e[5];const r=t-u[0],n=a-u[1];if(r<0||r>u[2]||n<0||n>u[3])return!1;if(!s||!T.font||!g.prevTransform)return!0;let i=g.prevTransform[4],o=g.prevTransform[5];if(i===t&&o===a)return!0;let c=-1;e[0]&&0===e[1]&&0===e[2]?c=e[0]>0?0:180:e[1]&&0===e[0]&&0===e[3]&&(c=e[1]>0?90:270);switch(c){case 0:break;case 90:[t,a]=[a,t];[i,o]=[o,i];break;case 180:[t,a,i,o]=[-t,-a,-i,-o];break;case 270:[t,a]=[-a,-t];[i,o]=[-o,-i];break;default:[t,a]=applyInverseRotation(t,a,e);[i,o]=applyInverseRotation(i,o,g.prevTransform)}if(T.font.vertical){const e=(o-a)/g.textAdvanceScale,r=t-i,n=Math.sign(g.height);if(e.5*g.width){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(r)>g.width){appendEOL();return!0}e<=n*g.notASpace&&resetLastChars();if(e<=n*g.trackingSpaceMin)g.height+=e;else if(!addFakeSpaces(e,g.prevTransform,n))if(0===g.str.length){resetLastChars();f.items.push({str:\\\" \\\",dir:\\\"ltr\\\",width:0,height:Math.abs(e),transform:g.prevTransform,fontName:g.fontName,hasEOL:!1})}else g.height+=e;return!0}const l=(t-i)/g.textAdvanceScale,h=a-o,d=Math.sign(g.width);if(l.5*g.height){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(h)>g.height){appendEOL();return!0}l<=d*g.notASpace&&resetLastChars();if(l<=d*g.trackingSpaceMin)g.width+=l;else if(!addFakeSpaces(l,g.prevTransform,d))if(0===g.str.length){resetLastChars();f.items.push({str:\\\" \\\",dir:\\\"ltr\\\",width:Math.abs(l),height:0,transform:g.prevTransform,fontName:g.fontName,hasEOL:!1})}else g.width+=l;return!0}function buildTextContentItem({chars:e,extraSpacing:t}){const a=T.font;if(!e){const e=T.charSpacing+t;e&&(a.vertical?T.translateTextMatrix(0,-e):T.translateTextMatrix(e*T.textHScale,0));return}const r=a.charsToGlyphs(e),n=T.fontMatrix[0]*T.fontSize;for(let e=0,i=r.length;e0){const e=k.join(\\\"\\\");k.length=0;buildTextContentItem({chars:e,extraSpacing:0})}break;case r.OPS.showText:if(!n.state.font){S.ensureStateFont(n.state);continue}buildTextContentItem({chars:p[0],extraSpacing:0});break;case r.OPS.nextLineShowText:if(!n.state.font){S.ensureStateFont(n.state);continue}T.carriageReturn();buildTextContentItem({chars:p[0],extraSpacing:0});break;case r.OPS.nextLineSetSpacingShowText:if(!n.state.font){S.ensureStateFont(n.state);continue}T.wordSpacing=p[0];T.charSpacing=p[1];T.carriageReturn();buildTextContentItem({chars:p[2],extraSpacing:0});break;case r.OPS.paintXObject:flushTextContentItem();C||(C=a.get(\\\"XObject\\\")||i.Dict.empty);var w=p[0]instanceof i.Name,E=p[0].name;if(w&&v.getByName(E))break;next(new Promise((function(e,h){if(!w)throw new r.FormatError(\\\"XObject must be referred to by name.\\\");let d=C.getRaw(E);if(d instanceof i.Ref){if(v.getByRef(d)){e();return}if(S.globalImageCache.getData(d,S.pageIndex)){e();return}d=x.fetch(d)}if(!(d instanceof y.BaseStream))throw new r.FormatError(\\\"XObject should be a stream\\\");const f=d.dict.get(\\\"Subtype\\\");if(!(f instanceof i.Name))throw new r.FormatError(\\\"XObject should have a Name subtype\\\");if(\\\"Form\\\"!==f.name){v.set(E,d.dict.objId,!0);e();return}const g=n.state.clone(),p=new StateManager(g),m=d.dict.getArray(\\\"Matrix\\\");Array.isArray(m)&&6===m.length&&p.transform(m);enqueueChunk();const b={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0;c.enqueue(e,t)},get desiredSize(){return c.desiredSize},get ready(){return c.ready}};S.getTextContent({stream:d,task:t,resources:d.dict.get(\\\"Resources\\\")||a,stateManager:p,combineTextItems:s,includeMarkedContent:o,sink:b,seenStyles:l,viewBox:u}).then((function(){b.enqueueInvoked||v.set(E,d.dict.objId,!0);e()}),h)})).catch((function(e){if(!(e instanceof r.AbortException)){if(!S.options.ignoreErrors)throw e;(0,r.warn)(`getTextContent - ignoring XObject: \\\"${e}\\\".`)}})));return;case r.OPS.setGState:w=p[0]instanceof i.Name;E=p[0].name;if(w&&F.getByName(E))break;next(new Promise((function(e,t){if(!w)throw new r.FormatError(\\\"GState must be referred to by name.\\\");const n=a.get(\\\"ExtGState\\\");if(!(n instanceof i.Dict))throw new r.FormatError(\\\"ExtGState should be a dictionary.\\\");const s=n.get(E);if(!(s instanceof i.Dict))throw new r.FormatError(\\\"GState should be a dictionary.\\\");const o=s.get(\\\"Font\\\");if(o){flushTextContentItem();T.fontName=null;T.fontSize=o[1];handleSetFont(null,o[0]).then(e,t)}else{F.set(E,s.objId,!0);e()}})).catch((function(e){if(!(e instanceof r.AbortException)){if(!S.options.ignoreErrors)throw e;(0,r.warn)(`getTextContent - ignoring ExtGState: \\\"${e}\\\".`)}})));return;case r.OPS.beginMarkedContent:o&&f.items.push({type:\\\"beginMarkedContent\\\",tag:p[0]instanceof i.Name?p[0].name:null});break;case r.OPS.beginMarkedContentProps:if(o){flushTextContentItem();let e=null;p[1]instanceof i.Dict&&(e=p[1].get(\\\"MCID\\\"));f.items.push({type:\\\"beginMarkedContentProps\\\",id:Number.isInteger(e)?`${S.idFactory.getPageObjId()}_mcid${e}`:null,tag:p[0]instanceof i.Name?p[0].name:null})}break;case r.OPS.endMarkedContent:if(o){flushTextContentItem();f.items.push({type:\\\"endMarkedContent\\\"})}}if(f.items.length>=c.desiredSize){g=!0;break}}if(g)next(N);else{flushTextContentItem();enqueueChunk();e()}})).catch((e=>{if(!(e instanceof r.AbortException)){if(!this.options.ignoreErrors)throw e;(0,r.warn)(`getTextContent - ignoring errors during \\\"${t.name}\\\" task: \\\"${e}\\\".`);flushTextContentItem();enqueueChunk()}}))}extractDataStructures(e,t,a){const n=this.xref;let s;const l=this.readToUnicode(a.toUnicode||e.get(\\\"ToUnicode\\\")||t.get(\\\"ToUnicode\\\"));if(a.composite){const t=e.get(\\\"CIDSystemInfo\\\");t instanceof i.Dict&&(a.cidSystemInfo={registry:(0,r.stringToPDFString)(t.get(\\\"Registry\\\")),ordering:(0,r.stringToPDFString)(t.get(\\\"Ordering\\\")),supplement:t.get(\\\"Supplement\\\")});const n=e.get(\\\"CIDToGIDMap\\\");n instanceof y.BaseStream&&(s=n.getBytes())}const h=[];let u,d=null;if(e.has(\\\"Encoding\\\")){u=e.get(\\\"Encoding\\\");if(u instanceof i.Dict){d=u.get(\\\"BaseEncoding\\\");d=d instanceof i.Name?d.name:null;if(u.has(\\\"Differences\\\")){const e=u.get(\\\"Differences\\\");let t=0;for(let a=0,s=e.length;a0;a.dict=e;return l.then((e=>{a.toUnicode=e;return this.buildToUnicode(a)})).then((e=>{a.toUnicode=e;s&&(a.cidToGidMap=this.readCidToGidMap(s,e));return a}))}_simpleFontToUnicode(e,t=!1){(0,r.assert)(!e.composite,\\\"Must be a simple font.\\\");const a=[],n=e.defaultEncoding.slice(),i=e.baseEncodingName,s=e.differences;for(const e in s){const t=s[e];\\\".notdef\\\"!==t&&(n[e]=t)}const o=(0,k.getGlyphsUnicode)();for(const r in n){let s=n[r];if(\\\"\\\"!==s)if(void 0!==o[s])a[r]=String.fromCharCode(o[s]);else{let n=0;switch(s[0]){case\\\"G\\\":3===s.length&&(n=parseInt(s.substring(1),16));break;case\\\"g\\\":5===s.length&&(n=parseInt(s.substring(1),16));break;case\\\"C\\\":case\\\"c\\\":if(s.length>=3&&s.length<=4){const a=s.substring(1);if(t){n=parseInt(a,16);break}n=+a;if(Number.isNaN(n)&&Number.isInteger(parseInt(a,16)))return this._simpleFontToUnicode(e,!0)}break;default:const a=(0,h.getUnicodeForGlyph)(s,o);-1!==a&&(n=a)}if(n>0&&n<=1114111&&Number.isInteger(n)){if(i&&n===+r){const e=(0,c.getEncoding)(i);if(e&&(s=e[r])){a[r]=String.fromCharCode(o[s]);continue}}a[r]=String.fromCodePoint(n)}}}return a}async buildToUnicode(e){e.hasIncludedToUnicodeMap=!!e.toUnicode&&e.toUnicode.length>0;if(e.hasIncludedToUnicodeMap){!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e));return e.toUnicode}if(!e.composite)return new f.ToUnicodeMap(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof n.IdentityCMap)||\\\"Adobe\\\"===e.cidSystemInfo.registry&&(\\\"GB1\\\"===e.cidSystemInfo.ordering||\\\"CNS1\\\"===e.cidSystemInfo.ordering||\\\"Japan1\\\"===e.cidSystemInfo.ordering||\\\"Korea1\\\"===e.cidSystemInfo.ordering))){const{registry:t,ordering:a}=e.cidSystemInfo,s=i.Name.get(`${t}-${a}-UCS2`),o=await n.CMapFactory.create({encoding:s,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),c=[];e.cMap.forEach((function(e,t){if(t>65535)throw new r.FormatError(\\\"Max size of CID is 65,535\\\");const a=o.lookup(t);a&&(c[e]=String.fromCharCode((a.charCodeAt(0)<<8)+a.charCodeAt(1)))}));return new f.ToUnicodeMap(c)}return new f.IdentityToUnicodeMap(e.firstChar,e.lastChar)}readToUnicode(e){return e?e instanceof i.Name?n.CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}).then((function(e){return e instanceof n.IdentityCMap?new f.IdentityToUnicodeMap(0,65535):new f.ToUnicodeMap(e.getMap())})):e instanceof y.BaseStream?n.CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}).then((function(e){if(e instanceof n.IdentityCMap)return new f.IdentityToUnicodeMap(0,65535);const t=new Array(e.length);e.forEach((function(e,a){if(\\\"number\\\"==typeof a){t[e]=String.fromCodePoint(a);return}const r=[];for(let e=0;e{if(e instanceof r.AbortException)return null;if(this.options.ignoreErrors){this.handler.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorFontToUnicode});(0,r.warn)(`readToUnicode - ignoring ToUnicode data: \\\"${e}\\\".`);return null}throw e})):Promise.resolve(null):Promise.resolve(null)}readCidToGidMap(e,t){const a=[];for(let r=0,n=e.length;r>1;(0!==n||t.has(i))&&(a[i]=n)}return a}extractWidths(e,t,a){const r=this.xref;let n=[],s=0;const c=[];let l,h,u,d,f,g,p,m;if(a.composite){s=e.has(\\\"DW\\\")?e.get(\\\"DW\\\"):1e3;m=e.get(\\\"W\\\");if(m)for(h=0,u=m.length;h{if(p){const e=[];let a=u;for(let t=0,r=p.length;t{this.extractWidths(t,e,a);return new s.Font(v.name,w,a)}))}static buildFontPaths(e,t,a,n){function buildPath(t){const i=`${e.loadedName}_path_${t}`;try{if(e.renderer.hasBuiltPath(t))return;a.send(\\\"commonobj\\\",[i,\\\"FontPath\\\",e.renderer.getPathJs(t)])}catch(e){if(n.ignoreErrors){a.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.errorFontBuildPath});(0,r.warn)(`buildFontPaths - ignoring ${i} glyph: \\\"${e}\\\".`);return}throw e}}for(const e of t){buildPath(e.fontChar);const t=e.accent;t&&t.fontChar&&buildPath(t.fontChar)}}static get fallbackFontDict(){const e=new i.Dict;e.set(\\\"BaseFont\\\",i.Name.get(\\\"PDFJS-FallbackFont\\\"));e.set(\\\"Type\\\",i.Name.get(\\\"FallbackType\\\"));e.set(\\\"Subtype\\\",i.Name.get(\\\"FallbackType\\\"));e.set(\\\"Encoding\\\",i.Name.get(\\\"WinAnsiEncoding\\\"));return(0,r.shadow)(this,\\\"fallbackFontDict\\\",e)}}t.PartialEvaluator=PartialEvaluator;class TranslatedFont{constructor({loadedName:e,font:t,dict:a,evaluatorOptions:r}){this.loadedName=e;this.font=t;this.dict=a;this._evaluatorOptions=r||M;this.type3Loaded=null;this.type3Dependencies=t.isType3Font?new Set:null;this.sent=!1}send(e){if(!this.sent){this.sent=!0;e.send(\\\"commonobj\\\",[this.loadedName,\\\"Font\\\",this.font.exportData(this._evaluatorOptions.fontExtraProperties)])}}fallback(e){if(this.font.data){this.font.disableFontFace=!0;PartialEvaluator.buildFontPaths(this.font,this.font.glyphCacheValues,e,this._evaluatorOptions)}}loadType3Data(e,t,a){if(this.type3Loaded)return this.type3Loaded;if(!this.font.isType3Font)throw new Error(\\\"Must be a Type3 font.\\\");const n=e.clone({ignoreErrors:!1});n.parsingType3Font=!0;const s=new i.RefSet(e.type3FontRefs);this.dict.objId&&!s.has(this.dict.objId)&&s.put(this.dict.objId);n.type3FontRefs=s;const o=this.font,c=this.type3Dependencies;let l=Promise.resolve();const h=this.dict.get(\\\"CharProcs\\\"),u=this.dict.get(\\\"Resources\\\")||t,d=Object.create(null),f=!o.bbox||(0,r.isArrayEqual)(o.bbox,[0,0,0,0]);for(const e of h.getKeys())l=l.then((()=>{const t=h.get(e),i=new O.OperatorList;return n.getOperatorList({stream:t,task:a,resources:u,operatorList:i}).then((()=>{i.fnArray[0]===r.OPS.setCharWidthAndBounds&&this._removeType3ColorOperators(i,f);d[e]=i.getIR();for(const e of i.dependencies)c.add(e)})).catch((function(t){(0,r.warn)(`Type3 font resource \\\"${e}\\\" is not available.`);const a=new O.OperatorList;d[e]=a.getIR()}))}));this.type3Loaded=l.then((()=>{o.charProcOperatorList=d;if(this._bbox){o.isCharBBox=!0;o.bbox=this._bbox}}));return this.type3Loaded}_removeType3ColorOperators(e,t=!1){if(t){this._bbox||(this._bbox=[1/0,1/0,-1/0,-1/0]);const t=r.Util.normalizeRect(e.argsArray[0].slice(2));this._bbox[0]=Math.min(this._bbox[0],t[0]);this._bbox[1]=Math.min(this._bbox[1],t[1]);this._bbox[2]=Math.max(this._bbox[2],t[2]);this._bbox[3]=Math.max(this._bbox[3],t[3])}let a=1,n=e.length;for(;ao&&(0,r.info)(`Command ${n}: expected [0, ${o}] args, but received ${c} args.`);else{if(c!==o){const e=this.nonProcessedArgs;for(;c>o;){e.push(t.shift());c--}for(;c=r.OPS.moveTo&&s<=r.OPS.endPath&&++this._numInvalidPathOPS>EvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new r.FormatError(`Invalid ${e}`);(0,r.warn)(`Skipping ${e}`);null!==t&&(t.length=0);continue}}this.preprocessCommand(s,t);e.fn=s;e.args=t;return!0}if(a===i.EOF)return!1;if(null!==a){null===t&&(t=[]);t.push(a);if(t.length>33)throw new r.FormatError(\\\"Too many arguments\\\")}}}preprocessCommand(e,t){switch(0|e){case r.OPS.save:this.stateManager.save();break;case r.OPS.restore:this.stateManager.restore();break;case r.OPS.transform:this.stateManager.transform(t)}}}t.EvaluatorPreprocessor=EvaluatorPreprocessor},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.IdentityCMap=t.CMapFactory=t.CMap=void 0;var r=a(2),n=a(5),i=a(9),s=a(27),o=a(8),c=a(10);const l=[\\\"Adobe-GB1-UCS2\\\",\\\"Adobe-CNS1-UCS2\\\",\\\"Adobe-Japan1-UCS2\\\",\\\"Adobe-Korea1-UCS2\\\",\\\"78-EUC-H\\\",\\\"78-EUC-V\\\",\\\"78-H\\\",\\\"78-RKSJ-H\\\",\\\"78-RKSJ-V\\\",\\\"78-V\\\",\\\"78ms-RKSJ-H\\\",\\\"78ms-RKSJ-V\\\",\\\"83pv-RKSJ-H\\\",\\\"90ms-RKSJ-H\\\",\\\"90ms-RKSJ-V\\\",\\\"90msp-RKSJ-H\\\",\\\"90msp-RKSJ-V\\\",\\\"90pv-RKSJ-H\\\",\\\"90pv-RKSJ-V\\\",\\\"Add-H\\\",\\\"Add-RKSJ-H\\\",\\\"Add-RKSJ-V\\\",\\\"Add-V\\\",\\\"Adobe-CNS1-0\\\",\\\"Adobe-CNS1-1\\\",\\\"Adobe-CNS1-2\\\",\\\"Adobe-CNS1-3\\\",\\\"Adobe-CNS1-4\\\",\\\"Adobe-CNS1-5\\\",\\\"Adobe-CNS1-6\\\",\\\"Adobe-GB1-0\\\",\\\"Adobe-GB1-1\\\",\\\"Adobe-GB1-2\\\",\\\"Adobe-GB1-3\\\",\\\"Adobe-GB1-4\\\",\\\"Adobe-GB1-5\\\",\\\"Adobe-Japan1-0\\\",\\\"Adobe-Japan1-1\\\",\\\"Adobe-Japan1-2\\\",\\\"Adobe-Japan1-3\\\",\\\"Adobe-Japan1-4\\\",\\\"Adobe-Japan1-5\\\",\\\"Adobe-Japan1-6\\\",\\\"Adobe-Korea1-0\\\",\\\"Adobe-Korea1-1\\\",\\\"Adobe-Korea1-2\\\",\\\"B5-H\\\",\\\"B5-V\\\",\\\"B5pc-H\\\",\\\"B5pc-V\\\",\\\"CNS-EUC-H\\\",\\\"CNS-EUC-V\\\",\\\"CNS1-H\\\",\\\"CNS1-V\\\",\\\"CNS2-H\\\",\\\"CNS2-V\\\",\\\"ETHK-B5-H\\\",\\\"ETHK-B5-V\\\",\\\"ETen-B5-H\\\",\\\"ETen-B5-V\\\",\\\"ETenms-B5-H\\\",\\\"ETenms-B5-V\\\",\\\"EUC-H\\\",\\\"EUC-V\\\",\\\"Ext-H\\\",\\\"Ext-RKSJ-H\\\",\\\"Ext-RKSJ-V\\\",\\\"Ext-V\\\",\\\"GB-EUC-H\\\",\\\"GB-EUC-V\\\",\\\"GB-H\\\",\\\"GB-V\\\",\\\"GBK-EUC-H\\\",\\\"GBK-EUC-V\\\",\\\"GBK2K-H\\\",\\\"GBK2K-V\\\",\\\"GBKp-EUC-H\\\",\\\"GBKp-EUC-V\\\",\\\"GBT-EUC-H\\\",\\\"GBT-EUC-V\\\",\\\"GBT-H\\\",\\\"GBT-V\\\",\\\"GBTpc-EUC-H\\\",\\\"GBTpc-EUC-V\\\",\\\"GBpc-EUC-H\\\",\\\"GBpc-EUC-V\\\",\\\"H\\\",\\\"HKdla-B5-H\\\",\\\"HKdla-B5-V\\\",\\\"HKdlb-B5-H\\\",\\\"HKdlb-B5-V\\\",\\\"HKgccs-B5-H\\\",\\\"HKgccs-B5-V\\\",\\\"HKm314-B5-H\\\",\\\"HKm314-B5-V\\\",\\\"HKm471-B5-H\\\",\\\"HKm471-B5-V\\\",\\\"HKscs-B5-H\\\",\\\"HKscs-B5-V\\\",\\\"Hankaku\\\",\\\"Hiragana\\\",\\\"KSC-EUC-H\\\",\\\"KSC-EUC-V\\\",\\\"KSC-H\\\",\\\"KSC-Johab-H\\\",\\\"KSC-Johab-V\\\",\\\"KSC-V\\\",\\\"KSCms-UHC-H\\\",\\\"KSCms-UHC-HW-H\\\",\\\"KSCms-UHC-HW-V\\\",\\\"KSCms-UHC-V\\\",\\\"KSCpc-EUC-H\\\",\\\"KSCpc-EUC-V\\\",\\\"Katakana\\\",\\\"NWP-H\\\",\\\"NWP-V\\\",\\\"RKSJ-H\\\",\\\"RKSJ-V\\\",\\\"Roman\\\",\\\"UniCNS-UCS2-H\\\",\\\"UniCNS-UCS2-V\\\",\\\"UniCNS-UTF16-H\\\",\\\"UniCNS-UTF16-V\\\",\\\"UniCNS-UTF32-H\\\",\\\"UniCNS-UTF32-V\\\",\\\"UniCNS-UTF8-H\\\",\\\"UniCNS-UTF8-V\\\",\\\"UniGB-UCS2-H\\\",\\\"UniGB-UCS2-V\\\",\\\"UniGB-UTF16-H\\\",\\\"UniGB-UTF16-V\\\",\\\"UniGB-UTF32-H\\\",\\\"UniGB-UTF32-V\\\",\\\"UniGB-UTF8-H\\\",\\\"UniGB-UTF8-V\\\",\\\"UniJIS-UCS2-H\\\",\\\"UniJIS-UCS2-HW-H\\\",\\\"UniJIS-UCS2-HW-V\\\",\\\"UniJIS-UCS2-V\\\",\\\"UniJIS-UTF16-H\\\",\\\"UniJIS-UTF16-V\\\",\\\"UniJIS-UTF32-H\\\",\\\"UniJIS-UTF32-V\\\",\\\"UniJIS-UTF8-H\\\",\\\"UniJIS-UTF8-V\\\",\\\"UniJIS2004-UTF16-H\\\",\\\"UniJIS2004-UTF16-V\\\",\\\"UniJIS2004-UTF32-H\\\",\\\"UniJIS2004-UTF32-V\\\",\\\"UniJIS2004-UTF8-H\\\",\\\"UniJIS2004-UTF8-V\\\",\\\"UniJISPro-UCS2-HW-V\\\",\\\"UniJISPro-UCS2-V\\\",\\\"UniJISPro-UTF8-V\\\",\\\"UniJISX0213-UTF32-H\\\",\\\"UniJISX0213-UTF32-V\\\",\\\"UniJISX02132004-UTF32-H\\\",\\\"UniJISX02132004-UTF32-V\\\",\\\"UniKS-UCS2-H\\\",\\\"UniKS-UCS2-V\\\",\\\"UniKS-UTF16-H\\\",\\\"UniKS-UTF16-V\\\",\\\"UniKS-UTF32-H\\\",\\\"UniKS-UTF32-V\\\",\\\"UniKS-UTF8-H\\\",\\\"UniKS-UTF8-V\\\",\\\"V\\\",\\\"WP-Symbol\\\"],h=2**24-1;class CMap{constructor(e=!1){this.codespaceRanges=[[],[],[],[]];this.numCodespaceRanges=0;this._map=[];this.name=\\\"\\\";this.vertical=!1;this.useCMap=null;this.builtInCMap=e}addCodespaceRange(e,t,a){this.codespaceRanges[e-1].push(t,a);this.numCodespaceRanges++}mapCidRange(e,t,a){if(t-e>h)throw new Error(\\\"mapCidRange - ignoring data above MAX_MAP_RANGE.\\\");for(;e<=t;)this._map[e++]=a++}mapBfRange(e,t,a){if(t-e>h)throw new Error(\\\"mapBfRange - ignoring data above MAX_MAP_RANGE.\\\");const r=a.length-1;for(;e<=t;){this._map[e++]=a;const t=a.charCodeAt(r)+1;t>255?a=a.substring(0,r-1)+String.fromCharCode(a.charCodeAt(r-1)+1)+\\\"\\\\0\\\":a=a.substring(0,r)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,a){if(t-e>h)throw new Error(\\\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\\\");const r=a.length;let n=0;for(;e<=t&&n>>0;const s=n[i];for(let e=0,t=s.length;e=t&&r<=n){a.charcode=r;a.length=i+1;return}}}a.charcode=0;a.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let a=0,r=t.length;a=n&&e<=i)return a+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if(\\\"Identity-H\\\"!==this.name&&\\\"Identity-V\\\"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}t.CMap=CMap;class IdentityCMap extends CMap{constructor(e,t){super();this.vertical=e;this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,a){(0,r.unreachable)(\\\"should not call mapCidRange\\\")}mapBfRange(e,t,a){(0,r.unreachable)(\\\"should not call mapBfRange\\\")}mapBfRangeToArray(e,t,a){(0,r.unreachable)(\\\"should not call mapBfRangeToArray\\\")}mapOne(e,t){(0,r.unreachable)(\\\"should not call mapCidOne\\\")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){(0,r.unreachable)(\\\"should not access .isIdentityCMap\\\")}}t.IdentityCMap=IdentityCMap;const u=function BinaryCMapReaderClosure(){function hexToInt(e,t){let a=0;for(let r=0;r<=t;r++)a=a<<8|e[r];return a>>>0}function hexToStr(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode.apply(null,e.subarray(0,t+1))}function addHex(e,t,a){let r=0;for(let n=a;n>=0;n--){r+=e[n]+t[n];e[n]=255&r;r>>=8}}function incHex(e,t){let a=1;for(let r=t;r>=0&&a>0;r--){a+=e[r];e[r]=255&a;a>>=8}}const e=16;class BinaryCMapStream{constructor(e){this.buffer=e;this.pos=0;this.end=e.length;this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const a=this.readByte();if(a<0)throw new r.FormatError(\\\"unexpected EOF in bcmap\\\");e=!(128&a);t=t<<7|127&a}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1));this.pos+=t+1}readHexNumber(e,t){let a;const n=this.tmpBuf;let i=0;do{const e=this.readByte();if(e<0)throw new r.FormatError(\\\"unexpected EOF in bcmap\\\");a=!(128&e);n[i++]=127&e}while(!a);let s=t,o=0,c=0;for(;s>=0;){for(;c<8&&n.length>0;){o|=n[--i]<>=8;c-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const a=1&e[t]?255:0;let r=0;for(let n=0;n<=t;n++){r=(1&r)<<8|e[n];e[n]=r>>1^a}}readString(){const e=this.readNumber();let t=\\\"\\\";for(let a=0;a=0;){const t=f>>5;if(7===t){switch(31&f){case 0:n.readString();break;case 1:s=n.readString()}continue}const r=!!(16&f),i=15&f;if(i+1>e)throw new Error(\\\"BinaryCMapReader.process: Invalid dataSize.\\\");const g=1,p=n.readNumber();switch(t){case 0:n.readHex(o,i);n.readHexNumber(c,i);addHex(c,o,i);a.addCodespaceRange(i+1,hexToInt(o,i),hexToInt(c,i));for(let e=1;e>>0}function expectString(e){if(\\\"string\\\"!=typeof e)throw new r.FormatError(\\\"Malformed CMap: expected string.\\\")}function expectInt(e){if(!Number.isInteger(e))throw new r.FormatError(\\\"Malformed CMap: expected int.\\\")}function parseBfChar(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,\\\"endbfchar\\\"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=a;e.mapOne(r,i)}}function parseBfRange(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,\\\"endbfrange\\\"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=strToInt(a);a=t.getObj();if(Number.isInteger(a)||\\\"string\\\"==typeof a){const t=Number.isInteger(a)?String.fromCharCode(a):a;e.mapBfRange(r,i,t)}else{if(!(0,n.isCmd)(a,\\\"[\\\"))break;{a=t.getObj();const s=[];for(;!(0,n.isCmd)(a,\\\"]\\\")&&a!==n.EOF;){s.push(a);a=t.getObj()}e.mapBfRangeToArray(r,i,s)}}}throw new r.FormatError(\\\"Invalid bf range.\\\")}function parseCidChar(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,\\\"endcidchar\\\"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectInt(a);const i=a;e.mapOne(r,i)}}function parseCidRange(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,\\\"endcidrange\\\"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=strToInt(a);a=t.getObj();expectInt(a);const s=a;e.mapCidRange(r,i,s)}}function parseCodespaceRange(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,\\\"endcodespacerange\\\"))return;if(\\\"string\\\"!=typeof a)break;const r=strToInt(a);a=t.getObj();if(\\\"string\\\"!=typeof a)break;const i=strToInt(a);e.addCodespaceRange(a.length,r,i)}throw new r.FormatError(\\\"Invalid codespace range.\\\")}function parseWMode(e,t){const a=t.getObj();Number.isInteger(a)&&(e.vertical=!!a)}function parseCMapName(e,t){const a=t.getObj();a instanceof n.Name&&(e.name=a.name)}async function parseCMap(e,t,a,i){let s,c;e:for(;;)try{const a=t.getObj();if(a===n.EOF)break;if(a instanceof n.Name){\\\"WMode\\\"===a.name?parseWMode(e,t):\\\"CMapName\\\"===a.name&&parseCMapName(e,t);s=a}else if(a instanceof n.Cmd)switch(a.cmd){case\\\"endcmap\\\":break e;case\\\"usecmap\\\":s instanceof n.Name&&(c=s.name);break;case\\\"begincodespacerange\\\":parseCodespaceRange(e,t);break;case\\\"beginbfchar\\\":parseBfChar(e,t);break;case\\\"begincidchar\\\":parseCidChar(e,t);break;case\\\"beginbfrange\\\":parseBfRange(e,t);break;case\\\"begincidrange\\\":parseCidRange(e,t)}}catch(e){if(e instanceof o.MissingDataException)throw e;(0,r.warn)(\\\"Invalid cMap data: \\\"+e);continue}!i&&c&&(i=c);return i?extendCMap(e,a,i):e}async function extendCMap(e,t,a){e.useCMap=await createBuiltInCMap(a,t);if(0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let a=0;aextendCMap(i,t,e)));if(n===r.CMapCompressionType.NONE){const e=new s.Lexer(new c.Stream(a));return parseCMap(i,e,t,null)}throw new Error(\\\"TODO: Only BINARY/NONE CMap compression is currently supported.\\\")}return{async create(e){const t=e.encoding,a=e.fetchBuiltInCMap,r=e.useCMap;if(t instanceof n.Name)return createBuiltInCMap(t.name,a);if(t instanceof i.BaseStream){const e=await parseCMap(new CMap,new s.Lexer(t),a,r);return e.isIdentityCMap?createBuiltInCMap(e.name,a):e}throw new Error(\\\"Encoding required.\\\")}}}();t.CMapFactory=d},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Parser=t.Linearization=t.Lexer=void 0;var r=a(2),n=a(5),i=a(8),s=a(28),o=a(30),c=a(31),l=a(33),h=a(34),u=a(37),d=a(39),f=a(41),g=a(10),p=a(42),m=a(43);function computeAdler32(e){const t=e.length;let a=1,r=0;for(let n=0;n>\\\")&&this.buf1!==n.EOF;){if(!(this.buf1 instanceof n.Name)){(0,r.info)(\\\"Malformed dictionary: key must be a name object\\\");this.shift();continue}const t=this.buf1.name;this.shift();if(this.buf1===n.EOF)break;s.set(t,this.getObj(e))}if(this.buf1===n.EOF){if(this.recoveryMode)return s;throw new i.ParserEOFException(\\\"End of file inside dictionary.\\\")}if((0,n.isCmd)(this.buf2,\\\"stream\\\"))return this.allowStreams?this.makeStream(s,e):s;this.shift();return s;default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&(0,n.isCmd)(this.buf2,\\\"R\\\")){const e=n.Ref.get(t,this.buf1);this.shift();this.shift();return e}return t}return\\\"string\\\"==typeof t&&e?e.decryptString(t):t}findDefaultInlineStreamEnd(e){const t=this.lexer,a=e.pos;let s,o,c=0;for(;-1!==(s=e.getByte());)if(0===c)c=69===s?1:0;else if(1===c)c=73===s?2:0;else{(0,r.assert)(2===c,\\\"findDefaultInlineStreamEnd - invalid state.\\\");if(32===s||10===s||13===s){o=e.pos;const a=e.peekBytes(10);for(let e=0,t=a.length;e127))){c=0;break}}if(2!==c)continue;if(t.knownCommands){const e=t.peekObj();e instanceof n.Cmd&&!t.knownCommands[e.cmd]&&(c=0)}else(0,r.warn)(\\\"findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.\\\");if(2===c)break}else c=0}if(-1===s){(0,r.warn)(\\\"findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker\\\");if(o){(0,r.warn)('... trying to recover by using the last \\\"EI\\\" occurrence.');e.skip(-(e.pos-o))}}let l=4;e.skip(-l);s=e.peekByte();e.skip(l);(0,i.isWhiteSpace)(s)||l--;return e.pos-l-a}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let a,n,i=!1;for(;-1!==(a=e.getByte());)if(255===a){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:i=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:n=e.getUint16();n>2?e.skip(n-2):e.skip(-2)}if(i)break}const s=e.pos-t;if(-1===a){(0,r.warn)(\\\"Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.\\\");e.skip(-s);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return s}findASCII85DecodeInlineStreamEnd(e){const t=e.pos;let a;for(;-1!==(a=e.getByte());)if(126===a){const t=e.pos;a=e.peekByte();for(;(0,i.isWhiteSpace)(a);){e.skip();a=e.peekByte()}if(62===a){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const n=e.pos-t;if(-1===a){(0,r.warn)(\\\"Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.\\\");e.skip(-n);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return n}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let a;for(;-1!==(a=e.getByte())&&62!==a;);const n=e.pos-t;if(-1===a){(0,r.warn)(\\\"Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.\\\");e.skip(-n);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return n}inlineStreamSkipEI(e){let t,a=0;for(;-1!==(t=e.getByte());)if(0===a)a=69===t?1:0;else if(1===a)a=73===t?2:0;else if(2===a)break}makeInlineImage(e){const t=this.lexer,a=t.stream,i=new n.Dict(this.xref);let s;for(;!(0,n.isCmd)(this.buf1,\\\"ID\\\")&&this.buf1!==n.EOF;){if(!(this.buf1 instanceof n.Name))throw new r.FormatError(\\\"Dictionary key must be a name object\\\");const t=this.buf1.name;this.shift();if(this.buf1===n.EOF)break;i.set(t,this.getObj(e))}-1!==t.beginInlineImagePos&&(s=a.pos-t.beginInlineImagePos);const o=i.get(\\\"F\\\",\\\"Filter\\\");let c;if(o instanceof n.Name)c=o.name;else if(Array.isArray(o)){const e=this.xref.fetchIfRef(o[0]);e instanceof n.Name&&(c=e.name)}const l=a.pos;let h;switch(c){case\\\"DCT\\\":case\\\"DCTDecode\\\":h=this.findDCTDecodeInlineStreamEnd(a);break;case\\\"A85\\\":case\\\"ASCII85Decode\\\":h=this.findASCII85DecodeInlineStreamEnd(a);break;case\\\"AHx\\\":case\\\"ASCIIHexDecode\\\":h=this.findASCIIHexDecodeInlineStreamEnd(a);break;default:h=this.findDefaultInlineStreamEnd(a)}let u,d=a.makeSubStream(l,h,i);if(h<1e3&&s<5552){const e=d.getBytes();d.reset();const r=a.pos;a.pos=t.beginInlineImagePos;const i=a.getBytes(s);a.pos=r;u=computeAdler32(e)+\\\"_\\\"+computeAdler32(i);const o=this.imageCache[u];if(void 0!==o){this.buf2=n.Cmd.get(\\\"EI\\\");this.shift();o.reset();return o}}e&&(d=e.createStream(d,h));d=this.filter(d,i,h);d.dict=i;if(void 0!==u){d.cacheKey=`inline_${h}_${u}`;this.imageCache[u]=d}this.buf2=n.Cmd.get(\\\"EI\\\");this.shift();return d}_findStreamLength(e,t){const{stream:a}=this.lexer;a.pos=e;const r=t.length;for(;a.pos=r){a.pos+=s;return a.pos-e}s++}a.pos+=i}return-1}makeStream(e,t){const a=this.lexer;let s=a.stream;a.skipToNextLine();const o=s.pos-1;let c=e.get(\\\"Length\\\");if(!Number.isInteger(c)){(0,r.info)(`Bad length \\\"${c&&c.toString()}\\\" in stream.`);c=0}s.pos=o+c;a.nextChar();if(this.tryShift()&&(0,n.isCmd)(this.buf2,\\\"endstream\\\"))this.shift();else{const e=new Uint8Array([101,110,100,115,116,114,101,97,109]);let t=this._findStreamLength(o,e);if(t<0){const a=1;for(let n=1;n<=a;n++){const a=e.length-n,c=e.slice(0,a),l=this._findStreamLength(o,c);if(l>=0){const e=s.peekBytes(a+1)[a];if(!(0,i.isWhiteSpace)(e))break;(0,r.info)(`Found \\\"${(0,r.bytesToString)(c)}\\\" when searching for endstream command.`);t=l;break}}if(t<0)throw new r.FormatError(\\\"Missing endstream command.\\\")}c=t;a.nextChar();this.shift();this.shift()}this.shift();s=s.makeSubStream(o,c,e);t&&(s=t.createStream(s,c));s=this.filter(s,e,c);s.dict=e;return s}filter(e,t,a){let i=t.get(\\\"F\\\",\\\"Filter\\\"),s=t.get(\\\"DP\\\",\\\"DecodeParms\\\");if(i instanceof n.Name){Array.isArray(s)&&(0,r.warn)(\\\"/DecodeParms should not be an Array, when /Filter is a Name.\\\");return this.makeFilter(e,i.name,a,s)}let o=a;if(Array.isArray(i)){const t=i,a=s;for(let c=0,l=t.length;c=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Lexer{constructor(e,t=null){this.stream=e;this.nextChar();this.strBuf=[];this.knownCommands=t;this._hexStringNumWarn=0;this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=!1,a=0,n=0;if(45===e){n=-1;e=this.nextChar();45===e&&(e=this.nextChar())}else if(43===e){n=1;e=this.nextChar()}if(10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e){a=10;e=this.nextChar()}if(e<48||e>57){if((0,i.isWhiteSpace)(e)||-1===e){if(10===a&&0===n){(0,r.warn)(\\\"Lexer.getNumber - treating a single decimal point as zero.\\\");return 0}if(0===a&&-1===n){(0,r.warn)(\\\"Lexer.getNumber - treating a single minus sign as zero.\\\");return 0}}throw new r.FormatError(`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`)}n=n||1;let s=e-48,o=0,c=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const r=e-48;if(t)o=10*o+r;else{0!==a&&(a*=10);s=10*s+r}}else if(46===e){if(0!==a)break;a=1}else if(45===e)(0,r.warn)(\\\"Badly formatted number: minus sign in the middle\\\");else{if(69!==e&&101!==e)break;e=this.peekChar();if(43===e||45===e){c=45===e?-1:1;this.nextChar()}else if(e<48||e>57)break;t=!0}0!==a&&(s/=a);t&&(s*=10**(c*o));return n*s}getString(){let e=1,t=!1;const a=this.strBuf;a.length=0;let n=this.nextChar();for(;;){let i=!1;switch(0|n){case-1:(0,r.warn)(\\\"Unterminated string\\\");t=!0;break;case 40:++e;a.push(\\\"(\\\");break;case 41:if(0==--e){this.nextChar();t=!0}else a.push(\\\")\\\");break;case 92:n=this.nextChar();switch(n){case-1:(0,r.warn)(\\\"Unterminated string\\\");t=!0;break;case 110:a.push(\\\"\\\\n\\\");break;case 114:a.push(\\\"\\\\r\\\");break;case 116:a.push(\\\"\\\\t\\\");break;case 98:a.push(\\\"\\\\b\\\");break;case 102:a.push(\\\"\\\\f\\\");break;case 92:case 40:case 41:a.push(String.fromCharCode(n));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&n;n=this.nextChar();i=!0;if(n>=48&&n<=55){e=(e<<3)+(15&n);n=this.nextChar();if(n>=48&&n<=55){i=!1;e=(e<<3)+(15&n)}}a.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:a.push(String.fromCharCode(n))}break;default:a.push(String.fromCharCode(n))}if(t)break;i||(n=this.nextChar())}return a.join(\\\"\\\")}getName(){let e,t;const a=this.strBuf;a.length=0;for(;(e=this.nextChar())>=0&&!b[e];)if(35===e){e=this.nextChar();if(b[e]){(0,r.warn)(\\\"Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.\\\");a.push(\\\"#\\\");break}const n=toHexDigit(e);if(-1!==n){t=e;e=this.nextChar();const i=toHexDigit(e);if(-1===i){(0,r.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);a.push(\\\"#\\\",String.fromCharCode(t));if(b[e])break;a.push(String.fromCharCode(e));continue}a.push(String.fromCharCode(n<<4|i))}else a.push(\\\"#\\\",String.fromCharCode(e))}else a.push(String.fromCharCode(e));a.length>127&&(0,r.warn)(`Name token is longer than allowed by the spec: ${a.length}`);return n.Name.get(a.join(\\\"\\\"))}_hexStringWarn(e){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||(0,r.warn)(`getHexString - ignoring invalid character: ${e}`):(0,r.warn)(\\\"getHexString - ignoring additional invalid characters.\\\")}getHexString(){const e=this.strBuf;e.length=0;let t,a,n=this.currentChar,i=!0;this._hexStringNumWarn=0;for(;;){if(n<0){(0,r.warn)(\\\"Unterminated hex string\\\");break}if(62===n){this.nextChar();break}if(1!==b[n]){if(i){t=toHexDigit(n);if(-1===t){this._hexStringWarn(n);n=this.nextChar();continue}}else{a=toHexDigit(n);if(-1===a){this._hexStringWarn(n);n=this.nextChar();continue}e.push(String.fromCharCode(t<<4|a))}i=!i;n=this.nextChar()}else n=this.nextChar()}return e.join(\\\"\\\")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return n.EOF;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==b[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:this.nextChar();return n.Cmd.get(\\\"[\\\");case 93:this.nextChar();return n.Cmd.get(\\\"]\\\");case 60:t=this.nextChar();if(60===t){this.nextChar();return n.Cmd.get(\\\"<<\\\")}return this.getHexString();case 62:t=this.nextChar();if(62===t){this.nextChar();return n.Cmd.get(\\\">>\\\")}return n.Cmd.get(\\\">\\\");case 123:this.nextChar();return n.Cmd.get(\\\"{\\\");case 125:this.nextChar();return n.Cmd.get(\\\"}\\\");case 41:this.nextChar();throw new r.FormatError(`Illegal character: ${t}`)}let a=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127){this.nextChar();return n.Cmd.get(a)}}const i=this.knownCommands;let s=i&&void 0!==i[a];for(;(t=this.nextChar())>=0&&!b[t];){const e=a+String.fromCharCode(t);if(s&&void 0===i[e])break;if(128===a.length)throw new r.FormatError(`Command token too long: ${a.length}`);a=e;s=i&&void 0!==i[a]}if(\\\"true\\\"===a)return!0;if(\\\"false\\\"===a)return!1;if(\\\"null\\\"===a)return null;\\\"BI\\\"===a&&(this.beginInlineImagePos=this.stream.pos);return n.Cmd.get(a)}peekObj(){const e=this.stream.pos,t=this.currentChar,a=this.beginInlineImagePos;let n;try{n=this.getObj()}catch(e){if(e instanceof i.MissingDataException)throw e;(0,r.warn)(`peekObj: ${e}`)}this.stream.pos=e;this.currentChar=t;this.beginInlineImagePos=a;return n}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar();10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}t.Lexer=Lexer;t.Linearization=class Linearization{static create(e){function getInt(e,t,a=!1){const r=e.get(t);if(Number.isInteger(r)&&(a?r>=0:r>0))return r;throw new Error(`The \\\"${t}\\\" parameter in the linearization dictionary is invalid.`)}const t=new Parser({lexer:new Lexer(e),xref:null}),a=t.getObj(),r=t.getObj(),i=t.getObj(),s=t.getObj();let o,c;if(!(Number.isInteger(a)&&Number.isInteger(r)&&(0,n.isCmd)(i,\\\"obj\\\")&&s instanceof n.Dict&&\\\"number\\\"==typeof(o=s.get(\\\"Linearized\\\"))&&o>0))return null;if((c=getInt(s,\\\"L\\\"))!==e.length)throw new Error('The \\\"L\\\" parameter in the linearization dictionary does not equal the stream length.');return{length:c,hints:function getHints(e){const t=e.get(\\\"H\\\");let a;if(Array.isArray(t)&&(2===(a=t.length)||4===a)){for(let e=0;e0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error(\\\"Hint array in the linearization dictionary is invalid.\\\")}(s),objectNumberFirst:getInt(s,\\\"O\\\"),endFirst:getInt(s,\\\"E\\\"),numPages:getInt(s,\\\"N\\\"),mainXRefEntriesOffset:getInt(s,\\\"T\\\"),pageFirst:s.has(\\\"P\\\")?getInt(s,\\\"P\\\",!0):0}}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Ascii85Stream=void 0;var r=a(29),n=a(8);class Ascii85Stream extends r.DecodeStream{constructor(e,t){t&&(t*=.8);super(t);this.str=e;this.dict=e.dict;this.input=new Uint8Array(5)}readBlock(){const e=this.str;let t=e.getByte();for(;(0,n.isWhiteSpace)(t);)t=e.getByte();if(-1===t||126===t){this.eof=!0;return}const a=this.bufferLength;let r,i;if(122===t){r=this.ensureBuffer(a+4);for(i=0;i<4;++i)r[a+i]=0;this.bufferLength+=4}else{const s=this.input;s[0]=t;for(i=1;i<5;++i){t=e.getByte();for(;(0,n.isWhiteSpace)(t);)t=e.getByte();s[i]=t;if(-1===t||126===t)break}r=this.ensureBuffer(a+i-1);this.bufferLength+=i-1;if(i<5){for(;i<5;++i)s[i]=117;this.eof=!0}let o=0;for(i=0;i<5;++i)o=85*o+(s[i]-33);for(i=3;i>=0;--i){r[a+i]=255&o;o>>=8}}}}t.Ascii85Stream=Ascii85Stream},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.StreamsSequenceStream=t.DecodeStream=void 0;var r=a(9),n=a(10);const i=new Uint8Array(0);class DecodeStream extends r.BaseStream{constructor(e){super();this._rawMinBufferLength=e||0;this.pos=0;this.bufferLength=0;this.eof=!1;this.buffer=i;this.minBufferLength=512;if(e)for(;this.minBufferLengthr&&(a=r)}else{for(;!this.eof;)this.readBlock();a=this.bufferLength}this.pos=a;return this.buffer.subarray(t,a)}reset(){this.pos=0}makeSubStream(e,t,a=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const a=e+t;for(;this.bufferLength<=a&&!this.eof;)this.readBlock()}return new n.Stream(this.buffer,e,t,a)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}t.DecodeStream=DecodeStream;t.StreamsSequenceStream=class StreamsSequenceStream extends DecodeStream{constructor(e,t=null){let a=0;for(const t of e)a+=t instanceof DecodeStream?t._rawMinBufferLength:t.length;super(a);this.streams=e;this._onError=t}readBlock(){const e=this.streams;if(0===e.length){this.eof=!0;return}const t=e.shift();let a;try{a=t.getBytes()}catch(e){if(this._onError){this._onError(e,t.dict&&t.dict.objId);return}throw e}const r=this.bufferLength,n=r+a.length;this.ensureBuffer(n).set(a,r);this.bufferLength=n}getBaseStreams(){const e=[];for(const t of this.streams){const a=t.getBaseStreams();a&&e.push(...a)}return e.length>0?e:null}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.AsciiHexStream=void 0;var r=a(29);class AsciiHexStream extends r.DecodeStream{constructor(e,t){t&&(t*=.5);super(t);this.str=e;this.dict=e.dict;this.firstDigit=-1}readBlock(){const e=this.str.getBytes(8e3);if(!e.length){this.eof=!0;return}const t=e.length+1>>1,a=this.ensureBuffer(this.bufferLength+t);let r=this.bufferLength,n=this.firstDigit;for(const t of e){let e;if(t>=48&&t<=57)e=15&t;else{if(!(t>=65&&t<=70||t>=97&&t<=102)){if(62===t){this.eof=!0;break}continue}e=9+(15&t)}if(n<0)n=e;else{a[r++]=n<<4|e;n=-1}}if(n>=0&&this.eof){a[r++]=n<<4;n=-1}this.firstDigit=n;this.bufferLength=r}}t.AsciiHexStream=AsciiHexStream},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.CCITTFaxStream=void 0;var r=a(32),n=a(29),i=a(5);class CCITTFaxStream extends n.DecodeStream{constructor(e,t,a){super(t);this.str=e;this.dict=e.dict;a instanceof i.Dict||(a=i.Dict.empty);const n={next:()=>e.getByte()};this.ccittFaxDecoder=new r.CCITTFaxDecoder(n,{K:a.get(\\\"K\\\"),EndOfLine:a.get(\\\"EndOfLine\\\"),EncodedByteAlign:a.get(\\\"EncodedByteAlign\\\"),Columns:a.get(\\\"Columns\\\"),Rows:a.get(\\\"Rows\\\"),EndOfBlock:a.get(\\\"EndOfBlock\\\"),BlackIs1:a.get(\\\"BlackIs1\\\")})}readBlock(){for(;!this.eof;){const e=this.ccittFaxDecoder.readNextChar();if(-1===e){this.eof=!0;return}this.ensureBuffer(this.bufferLength+1);this.buffer[this.bufferLength++]=e}}}t.CCITTFaxStream=CCITTFaxStream},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.CCITTFaxDecoder=void 0;var r=a(2);const n=-1,i=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],s=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],o=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],c=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],l=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],h=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];t.CCITTFaxDecoder=class CCITTFaxDecoder{constructor(e,t={}){if(!e||\\\"function\\\"!=typeof e.next)throw new Error('CCITTFaxDecoder - invalid \\\"source\\\" parameter.');this.source=e;this.eof=!1;this.encoding=t.K||0;this.eoline=t.EndOfLine||!1;this.byteAlign=t.EncodedByteAlign||!1;this.columns=t.Columns||1728;this.rows=t.Rows||0;let a,r=t.EndOfBlock;null==r&&(r=!0);this.eoblock=r;this.black=t.BlackIs1||!1;this.codingLine=new Uint32Array(this.columns+1);this.refLine=new Uint32Array(this.columns+2);this.codingLine[0]=this.columns;this.codingPos=0;this.row=0;this.nextLine2D=this.encoding<0;this.inputBits=0;this.inputBuf=0;this.outputBits=0;this.rowsDone=!1;for(;0===(a=this._lookBits(12));)this._eatBits(1);1===a&&this._eatBits(12);if(this.encoding>0){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}}readNextChar(){if(this.eof)return-1;const e=this.refLine,t=this.codingLine,a=this.columns;let i,s,o,c,l;if(0===this.outputBits){this.rowsDone&&(this.eof=!0);if(this.eof)return-1;this.err=!1;let o,l,h;if(this.nextLine2D){for(c=0;t[c]=64);do{l+=h=this._getWhiteCode()}while(h>=64)}else{do{o+=h=this._getWhiteCode()}while(h>=64);do{l+=h=this._getBlackCode()}while(h>=64)}this._addPixels(t[this.codingPos]+o,s);t[this.codingPos]0?--i:++i;for(;e[i]<=t[this.codingPos]&&e[i]0?--i:++i;for(;e[i]<=t[this.codingPos]&&e[i]0?--i:++i;for(;e[i]<=t[this.codingPos]&&e[i]=64);else do{o+=h=this._getWhiteCode()}while(h>=64);this._addPixels(t[this.codingPos]+o,s);s^=1}}let u=!1;this.byteAlign&&(this.inputBits&=-8);if(this.eoblock||this.row!==this.rows-1){o=this._lookBits(12);if(this.eoline)for(;o!==n&&1!==o;){this._eatBits(1);o=this._lookBits(12)}else for(;0===o;){this._eatBits(1);o=this._lookBits(12)}if(1===o){this._eatBits(12);u=!0}else o===n&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}if(this.eoblock&&u&&this.byteAlign){o=this._lookBits(12);if(1===o){this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}if(this.encoding>=0)for(c=0;c<4;++c){o=this._lookBits(12);1!==o&&(0,r.info)(\\\"bad rtc code: \\\"+o);this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}}this.eof=!0}}else if(this.err&&this.eoline){for(;;){o=this._lookBits(13);if(o===n){this.eof=!0;return-1}if(o>>1==1)break;this._eatBits(1)}this._eatBits(12);if(this.encoding>0){this._eatBits(1);this.nextLine2D=!(1&o)}}t[0]>0?this.outputBits=t[this.codingPos=0]:this.outputBits=t[this.codingPos=1];this.row++}if(this.outputBits>=8){l=1&this.codingPos?0:255;this.outputBits-=8;if(0===this.outputBits&&t[this.codingPos]o){l<<=o;1&this.codingPos||(l|=255>>8-o);this.outputBits-=o;o=0}else{l<<=this.outputBits;1&this.codingPos||(l|=255>>8-this.outputBits);o-=this.outputBits;this.outputBits=0;if(t[this.codingPos]0){l<<=o;o=0}}}while(o)}this.black&&(l^=255);return l}_addPixels(e,t){const a=this.codingLine;let n=this.codingPos;if(e>a[n]){if(e>this.columns){(0,r.info)(\\\"row is wrong length\\\");this.err=!0;e=this.columns}1&n^t&&++n;a[n]=e}this.codingPos=n}_addPixelsNeg(e,t){const a=this.codingLine;let n=this.codingPos;if(e>a[n]){if(e>this.columns){(0,r.info)(\\\"row is wrong length\\\");this.err=!0;e=this.columns}1&n^t&&++n;a[n]=e}else if(e0&&e=i){const t=a[e-i];if(t[0]===r){this._eatBits(r);return[!0,t[1],!0]}}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){t=this._lookBits(7);e=i[t];if(e&&e[0]>0){this._eatBits(e[0]);return e[1]}}else{const e=this._findTableCode(1,7,i);if(e[0]&&e[2])return e[1]}(0,r.info)(\\\"Bad two dim code\\\");return n}_getWhiteCode(){let e,t=0;if(this.eoblock){t=this._lookBits(12);if(t===n)return 1;e=t>>5==0?s[t]:o[t>>3];if(e[0]>0){this._eatBits(e[0]);return e[1]}}else{let e=this._findTableCode(1,9,o);if(e[0])return e[1];e=this._findTableCode(11,12,s);if(e[0])return e[1]}(0,r.info)(\\\"bad white code\\\");this._eatBits(1);return 1}_getBlackCode(){let e,t;if(this.eoblock){e=this._lookBits(13);if(e===n)return 1;t=e>>7==0?c[e]:e>>9==0&&e>>7!=0?l[(e>>1)-64]:h[e>>7];if(t[0]>0){this._eatBits(t[0]);return t[1]}}else{let e=this._findTableCode(2,6,h);if(e[0])return e[1];e=this._findTableCode(7,12,l,64);if(e[0])return e[1];e=this._findTableCode(10,13,c);if(e[0])return e[1]}(0,r.info)(\\\"bad black code\\\");this._eatBits(1);return 1}_lookBits(e){let t;for(;this.inputBits>16-e;this.inputBuf=this.inputBuf<<8|t;this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e}_eatBits(e){(this.inputBits-=e)<0&&(this.inputBits=0)}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.FlateStream=void 0;var r=a(29),n=a(2);const i=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),o=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),c=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],l=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class FlateStream extends r.DecodeStream{constructor(e,t){super(t);this.str=e;this.dict=e.dict;const a=e.getByte(),r=e.getByte();if(-1===a||-1===r)throw new n.FormatError(`Invalid header in flate stream: ${a}, ${r}`);if(8!=(15&a))throw new n.FormatError(`Unknown compression method in flate stream: ${a}, ${r}`);if(((a<<8)+r)%31!=0)throw new n.FormatError(`Bad FCHECK in flate stream: ${a}, ${r}`);if(32&r)throw new n.FormatError(`FDICT bit set in flate stream: ${a}, ${r}`);this.codeSize=0;this.codeBuf=0}getBits(e){const t=this.str;let a,r=this.codeSize,i=this.codeBuf;for(;r>e;this.codeSize=r-=e;return a}getCode(e){const t=this.str,a=e[0],r=e[1];let i,s=this.codeSize,o=this.codeBuf;for(;s>16,h=65535&c;if(l<1||s>l;this.codeSize=s-l;return h}generateHuffmanTable(e){const t=e.length;let a,r=0;for(a=0;ar&&(r=e[a]);const n=1<>=1}for(a=e;a>=1;if(0===u){let t;if(-1===(t=a.getByte()))throw new n.FormatError(\\\"Bad block header in flate stream\\\");let r=t;if(-1===(t=a.getByte()))throw new n.FormatError(\\\"Bad block header in flate stream\\\");r|=t<<8;if(-1===(t=a.getByte()))throw new n.FormatError(\\\"Bad block header in flate stream\\\");let i=t;if(-1===(t=a.getByte()))throw new n.FormatError(\\\"Bad block header in flate stream\\\");i|=t<<8;if(i!==(65535&~r)&&(0!==r||0!==i))throw new n.FormatError(\\\"Bad uncompressed block length in flate stream\\\");this.codeBuf=0;this.codeSize=0;const s=this.bufferLength,o=s+r;e=this.ensureBuffer(o);this.bufferLength=o;if(0===r)-1===a.peekByte()&&(this.eof=!0);else{const t=a.getBytes(r);e.set(t,s);t.length0;)u[o++]=g}r=this.generateHuffmanTable(u.subarray(0,e));h=this.generateHuffmanTable(u.subarray(e,l))}}e=this.buffer;let d=e?e.length:0,f=this.bufferLength;for(;;){let a=this.getCode(r);if(a<256){if(f+1>=d){e=this.ensureBuffer(f+1);d=e.length}e[f++]=a;continue}if(256===a){this.bufferLength=f;return}a-=257;a=s[a];let n=a>>16;n>0&&(n=this.getBits(n));t=(65535&a)+n;a=this.getCode(h);a=o[a];n=a>>16;n>0&&(n=this.getBits(n));const i=(65535&a)+n;if(f+t>=d){e=this.ensureBuffer(f+t);d=e.length}for(let a=0;a{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Jbig2Stream=void 0;var r=a(9),n=a(29),i=a(5),s=a(35),o=a(2);class Jbig2Stream extends n.DecodeStream{constructor(e,t,a){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=a}get bytes(){return(0,o.shadow)(this,\\\"bytes\\\",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e=new s.Jbig2Image,t=[];if(this.params instanceof i.Dict){const e=this.params.get(\\\"JBIG2Globals\\\");if(e instanceof r.BaseStream){const a=e.getBytes();t.push({data:a,start:0,end:a.length})}}t.push({data:this.bytes,start:0,end:this.bytes.length});const a=e.parseChunks(t),n=a.length;for(let e=0;e{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Jbig2Image=void 0;var r=a(2),n=a(8),i=a(36),s=a(32);class Jbig2Error extends r.BaseException{constructor(e){super(`JBIG2 error: ${e}`,\\\"Jbig2Error\\\")}}class ContextCache{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class DecodingContext{constructor(e,t,a){this.data=e;this.start=t;this.end=a}get decoder(){const e=new i.ArithmeticDecoder(this.data,this.start,this.end);return(0,r.shadow)(this,\\\"decoder\\\",e)}get contextCache(){const e=new ContextCache;return(0,r.shadow)(this,\\\"contextCache\\\",e)}}function decodeInteger(e,t,a){const r=e.getContexts(t);let n=1;function readBits(e){let t=0;for(let i=0;i>>0}const i=readBits(1),s=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);return 0===i?s:s>0?-s:null}function decodeIAID(e,t,a){const r=e.getContexts(\\\"IAID\\\");let n=1;for(let e=0;e=O&&j=T){q=q<<1&y;for(b=0;b=0&&_=0){U=N[$][_];U&&(q|=U<=e?l<<=1:l=l<<1|C[o][c]}for(p=0;p=x||c<0||c>=S?l<<=1:l=l<<1|r[o][c]}const h=v.readBit(F,l);t[s]=h}}return C}function decodeTextRegion(e,t,a,r,n,i,s,o,c,l,h,u,d,f,g,p,m,b,y){if(e&&t)throw new Jbig2Error(\\\"refinement with Huffman is not supported\\\");const w=[];let S,x;for(S=0;S1&&(n=e?y.readBits(b):decodeInteger(C,\\\"IAIT\\\",k));const i=s*v+n,F=e?f.symbolIDTable.decode(y):decodeIAID(C,k,c),O=t&&(e?y.readBit():decodeInteger(C,\\\"IARI\\\",k));let T=o[F],M=T[0].length,E=T.length;if(O){const e=decodeInteger(C,\\\"IARDW\\\",k),t=decodeInteger(C,\\\"IARDH\\\",k),a=decodeInteger(C,\\\"IARDX\\\",k),r=decodeInteger(C,\\\"IARDY\\\",k);M+=e;E+=t;T=decodeRefinement(M,E,g,T,(e>>1)+a,(t>>1)+r,!1,p,m)}const D=i-(1&u?0:E-1),N=r-(2&u?M-1:0);let L,R,j;if(l){for(L=0;L>5&7;const h=[31&c];let u=t+6;if(7===c){l=536870911&(0,n.readUint32)(e,u-1);u+=3;let t=l+7>>3;h[0]=e[u++];for(;--t>0;)h.push(e[u++])}else if(5===c||6===c)throw new Jbig2Error(\\\"invalid referred-to flags\\\");a.retainBits=h;let f=4;a.number<=256?f=1:a.number<=65536&&(f=2);const g=[];let p,m;for(p=0;p>>24&255;i[3]=t.height>>16&255;i[4]=t.height>>8&255;i[5]=255&t.height;for(p=u,m=e.length;p>2&3;e.huffmanDWSelector=t>>4&3;e.bitmapSizeSelector=t>>6&1;e.aggregationInstancesSelector=t>>7&1;e.bitmapCodingContextUsed=!!(256&t);e.bitmapCodingContextRetained=!!(512&t);e.template=t>>10&3;e.refinementTemplate=t>>12&1;h+=2;if(!e.huffman){l=0===e.template?4:1;o=[];for(c=0;c>2&3;u.stripSize=1<>4&3;u.transposed=!!(64&f);u.combinationOperator=f>>7&3;u.defaultPixelValue=f>>9&1;u.dsOffset=f<<17>>27;u.refinementTemplate=f>>15&1;if(u.huffman){const e=(0,n.readUint16)(r,h);h+=2;u.huffmanFS=3&e;u.huffmanDS=e>>2&3;u.huffmanDT=e>>4&3;u.huffmanRefinementDW=e>>6&3;u.huffmanRefinementDH=e>>8&3;u.huffmanRefinementDX=e>>10&3;u.huffmanRefinementDY=e>>12&3;u.huffmanRefinementSizeSelector=!!(16384&e)}if(u.refinement&&!u.refinementTemplate){o=[];for(c=0;c<2;c++){o.push({x:(0,n.readInt8)(r,h),y:(0,n.readInt8)(r,h+1)});h+=2}u.refinementAt=o}u.numberOfSymbolInstances=(0,n.readUint32)(r,h);h+=4;s=[u,a.referredTo,r,h,i];break;case 16:const g={},p=r[h++];g.mmr=!!(1&p);g.template=p>>1&3;g.patternWidth=r[h++];g.patternHeight=r[h++];g.maxPatternIndex=(0,n.readUint32)(r,h);h+=4;s=[g,a.number,r,h,i];break;case 22:case 23:const m={};m.info=readRegionSegmentInformation(r,h);h+=d;const b=r[h++];m.mmr=!!(1&b);m.template=b>>1&3;m.enableSkip=!!(8&b);m.combinationOperator=b>>4&7;m.defaultPixelValue=b>>7&1;m.gridWidth=(0,n.readUint32)(r,h);h+=4;m.gridHeight=(0,n.readUint32)(r,h);h+=4;m.gridOffsetX=4294967295&(0,n.readUint32)(r,h);h+=4;m.gridOffsetY=4294967295&(0,n.readUint32)(r,h);h+=4;m.gridVectorX=(0,n.readUint16)(r,h);h+=2;m.gridVectorY=(0,n.readUint16)(r,h);h+=2;s=[m,a.referredTo,r,h,i];break;case 38:case 39:const y={};y.info=readRegionSegmentInformation(r,h);h+=d;const w=r[h++];y.mmr=!!(1&w);y.template=w>>1&3;y.prediction=!!(8&w);if(!y.mmr){l=0===y.template?4:1;o=[];for(c=0;c>2&1;S.combinationOperator=x>>3&3;S.requiresBuffer=!!(32&x);S.combinationOperatorOverride=!!(64&x);s=[S];break;case 49:case 50:case 51:case 62:break;case 53:s=[a.number,r,h,i];break;default:throw new Jbig2Error(`segment type ${a.typeName}(${a.type}) is not implemented`)}const u=\\\"on\\\"+a.typeName;u in t&&t[u].apply(t,s)}function processSegments(e,t){for(let a=0,r=e.length;a>3,a=new Uint8ClampedArray(t*e.height);e.defaultPixelValue&&a.fill(255);this.buffer=a}drawBitmap(e,t){const a=this.currentPageInfo,r=e.width,n=e.height,i=a.width+7>>3,s=a.combinationOperatorOverride?e.combinationOperator:a.combinationOperator,o=this.buffer,c=128>>(7&e.x);let l,h,u,d,f=e.y*i+(e.x>>3);switch(s){case 0:for(l=0;l>=1;if(!u){u=128;d++}}f+=i}break;case 2:for(l=0;l>=1;if(!u){u=128;d++}}f+=i}break;default:throw new Jbig2Error(`operator ${s} is not supported`)}}onImmediateGenericRegion(e,t,a,r){const n=e.info,i=new DecodingContext(t,a,r),s=decodeBitmap(e.mmr,n.width,n.height,e.template,e.prediction,null,e.at,i);this.drawBitmap(n,s)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion.apply(this,arguments)}onSymbolDictionary(e,t,a,r,i,s){let o,c;if(e.huffman){o=function getSymbolDictionaryHuffmanTables(e,t,a){let r,n,i,s,o=0;switch(e.huffmanDHSelector){case 0:case 1:r=getStandardTable(e.huffmanDHSelector+4);break;case 3:r=getCustomHuffmanTable(o,t,a);o++;break;default:throw new Jbig2Error(\\\"invalid Huffman DH selector\\\")}switch(e.huffmanDWSelector){case 0:case 1:n=getStandardTable(e.huffmanDWSelector+2);break;case 3:n=getCustomHuffmanTable(o,t,a);o++;break;default:throw new Jbig2Error(\\\"invalid Huffman DW selector\\\")}if(e.bitmapSizeSelector){i=getCustomHuffmanTable(o,t,a);o++}else i=getStandardTable(1);s=e.aggregationInstancesSelector?getCustomHuffmanTable(o,t,a):getStandardTable(1);return{tableDeltaHeight:r,tableDeltaWidth:n,tableBitmapSize:i,tableAggregateInstances:s}}(e,a,this.customTables);c=new Reader(r,i,s)}let l=this.symbols;l||(this.symbols=l={});let h=[];for(let e=0,t=a.length;e1)y=decodeTextRegion(e,t,r,g,0,n,1,a.concat(f),p,0,0,1,0,s,l,h,u,0,d);else{const e=decodeIAID(b,m,p),t=decodeInteger(b,\\\"IARDX\\\",m),n=decodeInteger(b,\\\"IARDY\\\",m);y=decodeRefinement(r,g,l,e=32){let a,r,s;switch(t){case 32:if(0===e)throw new Jbig2Error(\\\"no previous value in symbol ID table\\\");r=n.readBits(2)+3;a=i[e-1].prefixLength;break;case 33:r=n.readBits(3)+3;a=0;break;case 34:r=n.readBits(7)+11;a=0;break;default:throw new Jbig2Error(\\\"invalid code length in symbol ID table\\\")}for(s=0;s=0;b--){M=e?decodeMMRBitmap(T,l,h,!0):decodeBitmap(!1,l,h,a,!1,null,F,p);O[b]=M}for(E=0;E=0;y--){N^=O[y][E][D];L|=N<>8;$=d+E*f-D*g>>8;if(j>=0&&j+k<=r&&$>=0&&$+C<=i)for(b=0;b=i)){U=m[t];_=R[b];for(y=0;y=0&&e>1&7),l=1+(r>>4&7),h=[];let u,d,f=i;do{u=o.readBits(c);d=o.readBits(l);h.push(new HuffmanLine([f,u,d,0]));f+=1<>t&1;if(t<=0)this.children[a]=new HuffmanTreeNode(e);else{let r=this.children[a];r||(this.children[a]=r=new HuffmanTreeNode(null));r.buildTree(e,t-1)}}decodeNode(e){if(this.isLeaf){if(this.isOOB)return null;const t=e.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-t:t)}const t=this.children[e.readBit()];if(!t)throw new Jbig2Error(\\\"invalid Huffman data\\\");return t.decodeNode(e)}}class HuffmanTable{constructor(e,t){t||this.assignPrefixCodes(e);this.rootNode=new HuffmanTreeNode(null);for(let t=0,a=e.length;t0&&this.rootNode.buildTree(a,a.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let a=0;for(let r=0;r=this.end)throw new Jbig2Error(\\\"end of data while reading bit\\\");this.currentByte=this.data[this.position++];this.shift=7}const e=this.currentByte>>this.shift&1;this.shift--;return e}readBits(e){let t,a=0;for(t=e-1;t>=0;t--)a|=this.readBit()<=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(e,t,a){let r=0;for(let n=0,i=t.length;n>a&1;a--}}if(r&&!l){const e=5;for(let t=0;t>=1}}return{imgData:u,width:c,height:l}}(e);this.width=a;this.height=r;return t}}},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ArithmeticDecoder=void 0;const a=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];t.ArithmeticDecoder=class ArithmeticDecoder{constructor(e,t,a){this.data=e;this.bp=t;this.dataEnd=a;this.chigh=e[t];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&65535|this.clow>>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768}byteIn(){const e=this.data;let t=this.bp;if(255===e[t])if(e[t+1]>143){this.clow+=65280;this.ct=8}else{t++;this.clow+=e[t]<<9;this.ct=7;this.bp=t}else{t++;this.clow+=t65535){this.chigh+=this.clow>>16;this.clow&=65535}}readBit(e,t){let r=e[t]>>1,n=1&e[t];const i=a[r],s=i.qe;let o,c=this.a-s;if(this.chigh>15&1;this.clow=this.clow<<1&65535;this.ct--}while(0==(32768&c));this.a=c;e[t]=r<<1|n;return o}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.JpegStream=void 0;var r=a(29),n=a(5),i=a(38),s=a(2);class JpegStream extends r.DecodeStream{constructor(e,t,a){let r;for(;-1!==(r=e.getByte());)if(255===r){e.skip(-1);break}super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=a}get bytes(){return(0,s.shadow)(this,\\\"bytes\\\",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e={decodeTransform:void 0,colorTransform:void 0},t=this.dict.getArray(\\\"D\\\",\\\"Decode\\\");if(this.forceRGB&&Array.isArray(t)){const a=this.dict.get(\\\"BPC\\\",\\\"BitsPerComponent\\\")||8,r=t.length,n=new Int32Array(r);let i=!1;const s=(1<{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.JpegImage=void 0;var r=a(2),n=a(8);class JpegError extends r.BaseException{constructor(e){super(`JPEG error: ${e}`,\\\"JpegError\\\")}}class DNLMarkerError extends r.BaseException{constructor(e,t){super(e,\\\"DNLMarkerError\\\");this.scanLines=t}}class EOIMarkerError extends r.BaseException{constructor(e){super(e,\\\"EOIMarkerError\\\")}}const i=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),s=4017,o=799,c=3406,l=2276,h=1567,u=3784,d=5793,f=2896;function buildHuffmanTable(e,t){let a,r,n=0,i=16;for(;i>0&&!e[i-1];)i--;const s=[{children:[],index:0}];let o,c=s[0];for(a=0;a0;)c=s.pop();c.index++;s.push(c);for(;s.length<=a;){s.push(o={children:[],index:0});c.children[c.index]=o.children;c=o}n++}if(a+10){b--;return m>>b&1}m=e[t++];if(255===m){const r=e[t++];if(r){if(220===r&&d){t+=2;const r=(0,n.readUint16)(e,t);t+=2;if(r>0&&r!==a.scanLines)throw new DNLMarkerError(\\\"Found DNL marker (0xFFDC) while parsing scan data\\\",r)}else if(217===r){if(d){const e=x*(8===a.precision?8:0);if(e>0&&Math.round(a.scanLines/e)>=10)throw new DNLMarkerError(\\\"Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter\\\",e)}throw new EOIMarkerError(\\\"Found EOI marker (0xFFD9) while parsing scan data\\\")}throw new JpegError(`unexpected marker ${(m<<8|r).toString(16)}`)}}b=7;return m>>>7}function decodeHuffman(e){let t=e;for(;;){t=t[readBit()];switch(typeof t){case\\\"number\\\":return t;case\\\"object\\\":continue}throw new JpegError(\\\"invalid huffman sequence\\\")}}function receive(e){let t=0;for(;e>0;){t=t<<1|readBit();e--}return t}function receiveAndExtend(e){if(1===e)return 1===readBit()?1:-1;const t=receive(e);return t>=1<0){y--;return}let a=c;const r=l;for(;a<=r;){const r=decodeHuffman(e.huffmanTableAC),n=15&r,s=r>>4;if(0===n){if(s<15){y=receive(s)+(1<>4;if(0===n)if(o<15){y=receive(o)+(1<>4;if(0===r){if(s<15)break;n+=16;continue}n+=s;const o=i[n];e.blockData[t+o]=receiveAndExtend(r);n++}};let E,D,N,L,R=0;D=1===k?s[0].blocksPerLine*s[0].blocksPerColumn:f*a.mcusPerColumn;for(;R<=D;){const a=o?Math.min(D-R,o):D;if(a>0){for(v=0;v0?\\\"unexpected\\\":\\\"excessive\\\";(0,r.warn)(`decodeScan - ${e} MCU data, current marker is: ${E.invalid}`);t=E.offset}if(!(E.marker>=65488&&E.marker<=65495))break;t+=2}return t-p}function quantizeAndInverse(e,t,a){const r=e.quantizationTable,n=e.blockData;let i,g,p,m,b,y,w,S,x,k,C,v,F,O,T,M,E;if(!r)throw new JpegError(\\\"missing required Quantization Table.\\\");for(let e=0;e<64;e+=8){x=n[t+e];k=n[t+e+1];C=n[t+e+2];v=n[t+e+3];F=n[t+e+4];O=n[t+e+5];T=n[t+e+6];M=n[t+e+7];x*=r[e];if(0!=(k|C|v|F|O|T|M)){k*=r[e+1];C*=r[e+2];v*=r[e+3];F*=r[e+4];O*=r[e+5];T*=r[e+6];M*=r[e+7];i=d*x+128>>8;g=d*F+128>>8;p=C;m=T;b=f*(k-M)+128>>8;S=f*(k+M)+128>>8;y=v<<4;w=O<<4;i=i+g+1>>1;g=i-g;E=p*u+m*h+128>>8;p=p*h-m*u+128>>8;m=E;b=b+w+1>>1;w=b-w;S=S+y+1>>1;y=S-y;i=i+m+1>>1;m=i-m;g=g+p+1>>1;p=g-p;E=b*l+S*c+2048>>12;b=b*c-S*l+2048>>12;S=E;E=y*o+w*s+2048>>12;y=y*s-w*o+2048>>12;w=E;a[e]=i+S;a[e+7]=i-S;a[e+1]=g+w;a[e+6]=g-w;a[e+2]=p+y;a[e+5]=p-y;a[e+3]=m+b;a[e+4]=m-b}else{E=d*x+512>>10;a[e]=E;a[e+1]=E;a[e+2]=E;a[e+3]=E;a[e+4]=E;a[e+5]=E;a[e+6]=E;a[e+7]=E}}for(let e=0;e<8;++e){x=a[e];k=a[e+8];C=a[e+16];v=a[e+24];F=a[e+32];O=a[e+40];T=a[e+48];M=a[e+56];if(0!=(k|C|v|F|O|T|M)){i=d*x+2048>>12;g=d*F+2048>>12;p=C;m=T;b=f*(k-M)+2048>>12;S=f*(k+M)+2048>>12;y=v;w=O;i=4112+(i+g+1>>1);g=i-g;E=p*u+m*h+2048>>12;p=p*h-m*u+2048>>12;m=E;b=b+w+1>>1;w=b-w;S=S+y+1>>1;y=S-y;i=i+m+1>>1;m=i-m;g=g+p+1>>1;p=g-p;E=b*l+S*c+2048>>12;b=b*c-S*l+2048>>12;S=E;E=y*o+w*s+2048>>12;y=y*s-w*o+2048>>12;w=E;x=i+S;M=i-S;k=g+w;T=g-w;C=p+y;O=p-y;v=m+b;F=m-b;x<16?x=0:x>=4080?x=255:x>>=4;k<16?k=0:k>=4080?k=255:k>>=4;C<16?C=0:C>=4080?C=255:C>>=4;v<16?v=0:v>=4080?v=255:v>>=4;F<16?F=0:F>=4080?F=255:F>>=4;O<16?O=0:O>=4080?O=255:O>>=4;T<16?T=0:T>=4080?T=255:T>>=4;M<16?M=0:M>=4080?M=255:M>>=4;n[t+e]=x;n[t+e+8]=k;n[t+e+16]=C;n[t+e+24]=v;n[t+e+32]=F;n[t+e+40]=O;n[t+e+48]=T;n[t+e+56]=M}else{E=d*x+8192>>14;E=E<-2040?0:E>=2024?255:E+2056>>4;n[t+e]=E;n[t+e+8]=E;n[t+e+16]=E;n[t+e+24]=E;n[t+e+32]=E;n[t+e+40]=E;n[t+e+48]=E;n[t+e+56]=E}}}function buildComponentData(e,t){const a=t.blocksPerLine,r=t.blocksPerColumn,n=new Int16Array(64);for(let e=0;e=r)return null;const s=(0,n.readUint16)(e,t);if(s>=65472&&s<=65534)return{invalid:null,marker:s,offset:t};let o=(0,n.readUint16)(e,i);for(;!(o>=65472&&o<=65534);){if(++i>=r)return null;o=(0,n.readUint16)(e,i)}return{invalid:s.toString(16),marker:o,offset:i}}t.JpegImage=class JpegImage{constructor({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e;this._colorTransform=t}parse(e,{dnlScanLines:t=null}={}){function readDataBlock(){const t=(0,n.readUint16)(e,o);o+=2;let a=o+t-2;const i=findNextFileMarker(e,a,o);if(i&&i.invalid){(0,r.warn)(\\\"readDataBlock - incorrect length, current marker is: \\\"+i.invalid);a=i.offset}const s=e.subarray(o,a);o+=s.length;return s}function prepareComponents(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),a=Math.ceil(e.scanLines/8/e.maxV);for(let r=0,n=e.components.length;r>4==0)for(m=0;m<64;m++){x=i[m];a[x]=e[o++]}else{if(t>>4!=1)throw new JpegError(\\\"DQT - invalid table spec\\\");for(m=0;m<64;m++){x=i[m];a[x]=(0,n.readUint16)(e,o);o+=2}}u[15&t]=a}break;case 65472:case 65473:case 65474:if(a)throw new JpegError(\\\"Only single frame JPEGs supported\\\");o+=2;a={};a.extended=65473===g;a.progressive=65474===g;a.precision=e[o++];const k=(0,n.readUint16)(e,o);o+=2;a.scanLines=t||k;a.samplesPerLine=(0,n.readUint16)(e,o);o+=2;a.components=[];a.componentIds={};const C=e[o++];let v=0,F=0;for(p=0;p>4,n=15&e[o+1];v>4==0?f:d)[15&t]=buildHuffmanTable(a,n)}break;case 65501:o+=2;s=(0,n.readUint16)(e,o);o+=2;break;case 65498:const T=1==++h&&!t;o+=2;const M=e[o++],E=[];for(p=0;p>4];n.huffmanTableAC=d[15&i];E.push(n)}const D=e[o++],N=e[o++],L=e[o++];try{const t=decodeScan(e,o,a,E,s,D,N,L>>4,15&L,T);o+=t}catch(t){if(t instanceof DNLMarkerError){(0,r.warn)(`${t.message} -- attempting to re-parse the JPEG image.`);return this.parse(e,{dnlScanLines:t.scanLines})}if(t instanceof EOIMarkerError){(0,r.warn)(`${t.message} -- ignoring the rest of the image data.`);break e}throw t}break;case 65500:o+=4;break;case 65535:255!==e[o]&&o--;break;default:const R=findNextFileMarker(e,o-2,o-3);if(R&&R.invalid){(0,r.warn)(\\\"JpegImage.parse - unexpected data, current marker is: \\\"+R.invalid);o=R.offset;break}if(!R||o>=e.length-1){(0,r.warn)(\\\"JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).\\\");break e}throw new JpegError(\\\"JpegImage.parse - unknown marker: \\\"+g.toString(16))}g=(0,n.readUint16)(e,o);o+=2}this.width=a.samplesPerLine;this.height=a.scanLines;this.jfif=c;this.adobe=l;this.components=[];for(let e=0,t=a.components.length;e>8)+C[f+1];return w}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,a,r;for(let n=0,i=e.length;n4)throw new JpegError(\\\"Unsupported color mode\\\");const n=this._getLinearizedBlockData(e,t,r);if(1===this.numComponents&&a){const e=n.length,t=new Uint8ClampedArray(3*e);let a=0;for(let r=0;r{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.JpxStream=void 0;var r=a(29),n=a(40),i=a(2);class JpxStream extends r.DecodeStream{constructor(e,t,a){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=a}get bytes(){return(0,i.shadow)(this,\\\"bytes\\\",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e=new n.JpxImage;e.parse(this.bytes);const t=e.width,a=e.height,r=e.componentsCount,i=e.tiles.length;if(1===i)this.buffer=e.tiles[0].items;else{const n=new Uint8ClampedArray(t*a*r);for(let a=0;a{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.JpxImage=void 0;var r=a(2),n=a(8),i=a(36);class JpxError extends r.BaseException{constructor(e){super(`JPX error: ${e}`,\\\"JpxError\\\")}}const s={LL:0,LH:1,HL:1,HH:2};t.JpxImage=class JpxImage{constructor(){this.failOnCorruptedImage=!1}parse(e){if(65359===(0,n.readUint16)(e,0)){this.parseCodestream(e,0,e.length);return}const t=e.length;let a=0;for(;a>24&255,o>>16&255,o>>8&255,255&o);(0,r.warn)(`Unsupported header type ${o} (${i}).`)}l&&(a+=c)}}parseImageProperties(e){let t=e.getByte();for(;t>=0;){const a=t;t=e.getByte();if(65361===(a<<8|t)){e.skip(4);const t=e.getInt32()>>>0,a=e.getInt32()>>>0,r=e.getInt32()>>>0,n=e.getInt32()>>>0;e.skip(16);const i=e.getUint16();this.width=t-r;this.height=a-n;this.componentsCount=i;this.bitsPerComponent=8;return}}throw new JpxError(\\\"No size marker found in JPX stream\\\")}parseCodestream(e,t,a){const i={};let s=!1;try{let o=t;for(;o+1>5;l=[];for(;a>3;t.mu=0}else{t.epsilon=e[a]>>3;t.mu=(7&e[a])<<8|e[a+1];a+=2}l.push(t)}b.SPqcds=l;if(i.mainHeader)i.QCD=b;else{i.currentTile.QCD=b;i.currentTile.QCC=[]}break;case 65373:f=(0,n.readUint16)(e,o);const y={};a=o+2;let w;if(i.SIZ.Csiz<257)w=e[a++];else{w=(0,n.readUint16)(e,a);a+=2}c=e[a++];switch(31&c){case 0:h=8;u=!0;break;case 1:h=16;u=!1;break;case 2:h=16;u=!0;break;default:throw new Error(\\\"Invalid SQcd value \\\"+c)}y.noQuantization=8===h;y.scalarExpounded=u;y.guardBits=c>>5;l=[];for(;a>3;t.mu=0}else{t.epsilon=e[a]>>3;t.mu=(7&e[a])<<8|e[a+1];a+=2}l.push(t)}y.SPqcds=l;i.mainHeader?i.QCC[w]=y:i.currentTile.QCC[w]=y;break;case 65362:f=(0,n.readUint16)(e,o);const S={};a=o+2;const x=e[a++];S.entropyCoderWithCustomPrecincts=!!(1&x);S.sopMarkerUsed=!!(2&x);S.ephMarkerUsed=!!(4&x);S.progressionOrder=e[a++];S.layersCount=(0,n.readUint16)(e,a);a+=2;S.multipleComponentTransform=e[a++];S.decompositionLevelsCount=e[a++];S.xcb=2+(15&e[a++]);S.ycb=2+(15&e[a++]);const k=e[a++];S.selectiveArithmeticCodingBypass=!!(1&k);S.resetContextProbabilities=!!(2&k);S.terminationOnEachCodingPass=!!(4&k);S.verticallyStripe=!!(8&k);S.predictableTermination=!!(16&k);S.segmentationSymbolUsed=!!(32&k);S.reversibleTransformation=e[a++];if(S.entropyCoderWithCustomPrecincts){const t=[];for(;a>4})}S.precinctsSizes=t}const C=[];S.selectiveArithmeticCodingBypass&&C.push(\\\"selectiveArithmeticCodingBypass\\\");S.terminationOnEachCodingPass&&C.push(\\\"terminationOnEachCodingPass\\\");S.verticallyStripe&&C.push(\\\"verticallyStripe\\\");S.predictableTermination&&C.push(\\\"predictableTermination\\\");if(C.length>0){s=!0;(0,r.warn)(`JPX: Unsupported COD options (${C.join(\\\", \\\")}).`)}if(i.mainHeader)i.COD=S;else{i.currentTile.COD=S;i.currentTile.COC=[]}break;case 65424:f=(0,n.readUint16)(e,o);d={};d.index=(0,n.readUint16)(e,o+2);d.length=(0,n.readUint32)(e,o+4);d.dataEnd=d.length+o-2;d.partIndex=e[o+8];d.partsCount=e[o+9];i.mainHeader=!1;if(0===d.partIndex){d.COD=i.COD;d.COC=i.COC.slice(0);d.QCD=i.QCD;d.QCC=i.QCC.slice(0)}i.currentTile=d;break;case 65427:d=i.currentTile;if(0===d.partIndex){initializeTile(i,d.index);buildPackets(i)}f=d.dataEnd-o;parseTilePackets(i,e,o,f);break;case 65363:(0,r.warn)(\\\"JPX: Codestream code 0xFF53 (COC) is not implemented.\\\");case 65365:case 65367:case 65368:case 65380:f=(0,n.readUint16)(e,o);break;default:throw new Error(\\\"Unknown codestream code: \\\"+t.toString(16))}o+=f}}catch(e){if(s||this.failOnCorruptedImage)throw new JpxError(e.message);(0,r.warn)(`JPX: Trying to recover from: \\\"${e.message}\\\".`)}this.tiles=function transformComponents(e){const t=e.SIZ,a=e.components,r=t.Csiz,n=[];for(let t=0,i=e.tiles.length;t>2);c[b++]=e+m>>h;c[b++]=e>>h;c[b++]=e+p>>h}else for(d=0;d>h;c[b++]=g-.34413*p-.71414*m>>h;c[b++]=g+1.772*p>>h}if(e)for(d=0,b=3;d>h}else for(let e=0;e>h;b+=r}}n.push(l)}return n}(i);this.width=i.SIZ.Xsiz-i.SIZ.XOsiz;this.height=i.SIZ.Ysiz-i.SIZ.YOsiz;this.componentsCount=i.SIZ.Csiz}};function calculateComponentDimensions(e,t){e.x0=Math.ceil(t.XOsiz/e.XRsiz);e.x1=Math.ceil(t.Xsiz/e.XRsiz);e.y0=Math.ceil(t.YOsiz/e.YRsiz);e.y1=Math.ceil(t.Ysiz/e.YRsiz);e.width=e.x1-e.x0;e.height=e.y1-e.y0}function calculateTileGrids(e,t){const a=e.SIZ,r=[];let n;const i=Math.ceil((a.Xsiz-a.XTOsiz)/a.XTsiz),s=Math.ceil((a.Ysiz-a.YTOsiz)/a.YTsiz);for(let e=0;e0?Math.min(r.xcb,n.PPx-1):Math.min(r.xcb,n.PPx);n.ycb_=a>0?Math.min(r.ycb,n.PPy-1):Math.min(r.ycb,n.PPy);return n}function buildPrecincts(e,t,a){const r=1<t.trx0?Math.ceil(t.trx1/r)-Math.floor(t.trx0/r):0,l=t.try1>t.try0?Math.ceil(t.try1/n)-Math.floor(t.try0/n):0,h=c*l;t.precinctParameters={precinctWidth:r,precinctHeight:n,numprecinctswide:c,numprecinctshigh:l,numprecincts:h,precinctWidthInSubband:s,precinctHeightInSubband:o}}function buildCodeblocks(e,t,a){const r=a.xcb_,n=a.ycb_,i=1<>r,c=t.tby0>>n,l=t.tbx1+i-1>>r,h=t.tby1+s-1>>n,u=t.resolution.precinctParameters,d=[],f=[];let g,p,m,b;for(p=c;pe.cbxMax&&(e.cbxMax=g);pe.cbyMax&&(e.cbyMax=p)}else f[b]=e={cbxMin:g,cbyMin:p,cbxMax:g,cbyMax:p};m.precinct=e}t.codeblockParameters={codeblockWidth:r,codeblockHeight:n,numcodeblockwide:l-o+1,numcodeblockhigh:h-c+1};t.codeblocks=d;t.precincts=f}function createPacket(e,t,a){const r=[],n=e.subbands;for(let e=0,a=n.length;ee.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[c],a=t.precinctParameters.numprecincts;for(;he.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],a=t.precinctParameters.numprecincts;for(;he.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],a=t.precinctParameters.numprecincts;if(!(l>=a)){for(;s=0;--e){const a=t.resolutions[e],r=g*a.precinctParameters.precinctWidth,n=g*a.precinctParameters.precinctHeight;h=Math.min(h,r);u=Math.min(u,n);d=Math.max(d,a.precinctParameters.numprecinctswide);f=Math.max(f,a.precinctParameters.numprecinctshigh);l[e]={width:r,height:n};g<<=1}a=Math.min(a,h);r=Math.min(r,u);n=Math.max(n,d);i=Math.max(i,f);s[o]={resolutions:l,minWidth:h,minHeight:u,maxNumWide:d,maxNumHigh:f}}return{components:s,minWidth:a,minHeight:r,maxNumWide:n,maxNumHigh:i}}function buildPackets(e){const t=e.SIZ,a=e.currentTile.index,r=e.tiles[a],n=t.Csiz;for(let e=0;e>>o&(1<0;){const e=i.shift();o=e.codeblock;void 0===o.data&&(o.data=[]);o.data.push({data:t,start:a+s,end:a+s+e.dataLength,codingpasses:e.codingpasses});s+=e.dataLength}}return s}function copyCoefficients(e,t,a,r,n,s,c,l,h){const u=r.tbx0,d=r.tby0,f=r.tbx1-r.tbx0,g=r.codeblocks,p=\\\"H\\\"===r.type.charAt(0)?1:0,m=\\\"H\\\"===r.type.charAt(1)?t:0;for(let a=0,b=g.length;a=s?U:U*(1<0?1-e:0)}const p=t.subbands[r],m=s[p.type];copyCoefficients(i,a,0,p,g?1:2**(f+m-o)*(1+n/2048),h+o-1,g,u,d)}m.push({width:a,height:n,items:i})}const y=p.calculate(m,r.tcx0,r.tcy0);return{left:r.tcx0,top:r.tcy0,width:y.width,height:y.height,items:y.items}}function initializeTile(e,t){const a=e.SIZ.Csiz,r=e.tiles[t];for(let t=0;t>=1;t>>=1;r++}r--;a=this.levels[r];a.items[a.index]=n;this.currentLevel=r;delete this.value}incrementValue(){const e=this.levels[this.currentLevel];e.items[e.index]++}nextLevel(){let e=this.currentLevel,t=this.levels[e];const a=t.items[t.index];e--;if(e<0){this.value=a;return!1}this.currentLevel=e;t=this.levels[e];t.items[t.index]=a;return!0}}class InclusionTree{constructor(e,t,a){const r=(0,n.log2)(Math.max(e,t))+1;this.levels=[];for(let n=0;na){this.currentLevel=r;this.propagateValues();return!1}e>>=1;t>>=1;r++}this.currentLevel=r-1;return!0}incrementValue(e){const t=this.levels[this.currentLevel];t.items[t.index]=e+1;this.propagateValues()}propagateValues(){let e=this.currentLevel,t=this.levels[e];const a=t.items[t.index];for(;--e>=0;){t=this.levels[e];t.items[t.index]=a}}nextLevel(){let e=this.currentLevel,t=this.levels[e];const a=t.items[t.index];t.items[t.index]=255;e--;if(e<0)return!1;this.currentLevel=e;t=this.levels[e];t.items[t.index]=a;return!0}}const o=function BitModelClosure(){const e=17,t=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),a=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),r=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return class BitModel{constructor(e,n,i,s,o){this.width=e;this.height=n;let c;c=\\\"HH\\\"===i?r:\\\"HL\\\"===i?a:t;this.contextLabelTable=c;const l=e*n;this.neighborsSignificance=new Uint8Array(l);this.coefficentsSign=new Uint8Array(l);let h;h=o>14?new Uint32Array(l):o>6?new Uint16Array(l):new Uint8Array(l);this.coefficentsMagnitude=h;this.processingFlags=new Uint8Array(l);const u=new Uint8Array(l);if(0!==s)for(let e=0;e0,o=t+10){c=a-n;s&&(r[c-1]+=16);o&&(r[c+1]+=16);r[c]+=4}if(e+1=a)break;s[d]&=-2;if(r[d]||!i[d])continue;const g=c[i[d]];if(e.readBit(o,g)){const e=this.decodeSignBit(t,u,d);n[d]=e;r[d]=1;this.setNeighborsSignificance(t,u,d);s[d]|=2}l[d]++;s[d]|=1}}}decodeSignBit(e,t,a){const r=this.width,n=this.height,i=this.coefficentsMagnitude,s=this.coefficentsSign;let o,c,l,h,u,d;h=t>0&&0!==i[a-1];if(t+10&&0!==i[a-r];if(e+1=0){u=9+o;d=this.decoder.readBit(this.contexts,u)}else{u=9-o;d=1^this.decoder.readBit(this.contexts,u)}return d}runMagnitudeRefinementPass(){const e=this.decoder,t=this.width,a=this.height,r=this.coefficentsMagnitude,n=this.neighborsSignificance,i=this.contexts,s=this.bitsDecoded,o=this.processingFlags,c=t*a,l=4*t;for(let a,h=0;h>1;let n,i,s,o;const c=-1.586134342059924,l=-.052980118572961,h=.882911075530934,u=.443506852043971,d=1.230174104914001;n=(t|=0)-3;for(i=r+4;i--;n+=2)e[n]*=.8128930661159609;n=t-2;s=u*e[n-1];for(i=r+3;i--;n+=2){o=u*e[n+1];e[n]=d*e[n]-s-o;if(!i--)break;n+=2;s=u*e[n+1];e[n]=d*e[n]-s-o}n=t-1;s=h*e[n-1];for(i=r+2;i--;n+=2){o=h*e[n+1];e[n]-=s+o;if(!i--)break;n+=2;s=h*e[n+1];e[n]-=s+o}n=t;s=l*e[n-1];for(i=r+1;i--;n+=2){o=l*e[n+1];e[n]-=s+o;if(!i--)break;n+=2;s=l*e[n+1];e[n]-=s+o}if(0!==r){n=t+1;s=c*e[n-1];for(i=r;i--;n+=2){o=c*e[n+1];e[n]-=s+o;if(!i--)break;n+=2;s=c*e[n+1];e[n]-=s+o}}}}class ReversibleTransform extends Transform{filter(e,t,a){const r=a>>1;let n,i;for(n=t|=0,i=r+1;i--;n+=2)e[n]-=e[n-1]+e[n+1]+2>>2;for(n=t+1,i=r;i--;n+=2)e[n]+=e[n-1]+e[n+1]>>1}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.LZWStream=void 0;var r=a(29);class LZWStream extends r.DecodeStream{constructor(e,t,a){super(t);this.str=e;this.dict=e.dict;this.cachedData=0;this.bitsCached=0;const r=4096,n={earlyChange:a,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(r),dictionaryLengths:new Uint16Array(r),dictionaryPrevCodes:new Uint16Array(r),currentSequence:new Uint8Array(r),currentSequenceLength:0};for(let e=0;e<256;++e){n.dictionaryValues[e]=e;n.dictionaryLengths[e]=1}this.lzwState=n}readBits(e){let t=this.bitsCached,a=this.cachedData;for(;t>>t&(1<0;if(e<256){d[0]=e;f=1}else{if(!(e>=258)){if(256===e){h=9;s=258;f=0;continue}this.eof=!0;delete this.lzwState;break}if(e=0;t--){d[t]=o[a];a=l[a]}}else d[f++]=d[0]}if(n){l[s]=u;c[s]=c[u]+1;o[s]=d[0];s++;h=s+i&s+i-1?h:0|Math.min(Math.log(s+i)/.6931471805599453+1,12)}u=e;g+=f;if(r{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.PredictorStream=void 0;var r=a(29),n=a(5),i=a(2);class PredictorStream extends r.DecodeStream{constructor(e,t,a){super(t);if(!(a instanceof n.Dict))return e;const r=this.predictor=a.get(\\\"Predictor\\\")||1;if(r<=1)return e;if(2!==r&&(r<10||r>15))throw new i.FormatError(`Unsupported predictor: ${r}`);this.readBlock=2===r?this.readBlockTiff:this.readBlockPng;this.str=e;this.dict=e.dict;const s=this.colors=a.get(\\\"Colors\\\")||1,o=this.bits=a.get(\\\"BPC\\\",\\\"BitsPerComponent\\\")||8,c=this.columns=a.get(\\\"Columns\\\")||1;this.pixBytes=s*o+7>>3;this.rowBytes=c*s*o+7>>3;return this}readBlockTiff(){const e=this.rowBytes,t=this.bufferLength,a=this.ensureBuffer(t+e),r=this.bits,n=this.colors,i=this.str.getBytes(e);this.eof=!i.length;if(this.eof)return;let s,o=0,c=0,l=0,h=0,u=t;if(1===r&&1===n)for(s=0;s>1;e^=e>>2;e^=e>>4;o=(1&e)<<7;a[u++]=e}else if(8===r){for(s=0;s>8&255;a[u++]=255&e}}else{const e=new Uint8Array(n+1),u=(1<>l-r)&u;l-=r;c=c<=8){a[f++]=c>>h-8&255;h-=8}}h>0&&(a[f++]=(c<<8-h)+(o&(1<<8-h)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,a=this.str.getByte(),r=this.str.getBytes(e);this.eof=!r.length;if(this.eof)return;const n=this.bufferLength,s=this.ensureBuffer(n+e);let o=s.subarray(n-e,n);0===o.length&&(o=new Uint8Array(e));let c,l,h,u=n;switch(a){case 0:for(c=0;c>1)+r[c];for(;c>1)+r[c]&255;u++}break;case 4:for(c=0;c{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.RunLengthStream=void 0;var r=a(29);class RunLengthStream extends r.DecodeStream{constructor(e,t){super(t);this.str=e;this.dict=e.dict}readBlock(){const e=this.str.getBytes(2);if(!e||e.length<2||128===e[0]){this.eof=!0;return}let t,a=this.bufferLength,r=e[0];if(r<128){t=this.ensureBuffer(a+r+1);t[a++]=e[1];if(r>0){const e=this.str.getBytes(r);t.set(e,a);a+=r}}else{r=257-r;const n=e[1];t=this.ensureBuffer(a+r+1);for(let e=0;e{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Font=t.ErrorFont=void 0;var r=a(2),n=a(45),i=a(18),s=a(21),o=a(20),c=a(19),l=a(47),h=a(48),u=a(49),d=a(50),f=a(51),g=a(52),p=a(26),m=a(53),b=a(8),y=a(10),w=a(54);const S=[[57344,63743],[1048576,1114109]],x=1e3,k=[\\\"ascent\\\",\\\"bbox\\\",\\\"black\\\",\\\"bold\\\",\\\"charProcOperatorList\\\",\\\"composite\\\",\\\"cssFontInfo\\\",\\\"data\\\",\\\"defaultVMetrics\\\",\\\"defaultWidth\\\",\\\"descent\\\",\\\"fallbackName\\\",\\\"fontMatrix\\\",\\\"fontType\\\",\\\"isType3Font\\\",\\\"italic\\\",\\\"loadedName\\\",\\\"mimetype\\\",\\\"missingFile\\\",\\\"name\\\",\\\"remeasure\\\",\\\"subtype\\\",\\\"type\\\",\\\"vertical\\\"],C=[\\\"cMap\\\",\\\"defaultEncoding\\\",\\\"differences\\\",\\\"isMonospace\\\",\\\"isSerifFont\\\",\\\"isSymbolicFont\\\",\\\"seacMap\\\",\\\"toFontChar\\\",\\\"toUnicode\\\",\\\"vmetrics\\\",\\\"widths\\\"];function adjustWidths(e){if(!e.fontMatrix)return;if(e.fontMatrix[0]===r.FONT_IDENTITY_MATRIX[0])return;const t=.001/e.fontMatrix[0],a=e.widths;for(const e in a)a[e]*=t;e.defaultWidth*=t}function amendFallbackToUnicode(e){if(!e.fallbackToUnicode)return;if(e.toUnicode instanceof h.IdentityToUnicodeMap)return;const t=[];for(const a in e.fallbackToUnicode)e.toUnicode.has(a)||(t[a]=e.fallbackToUnicode[a]);t.length>0&&e.toUnicode.amend(t)}class Glyph{constructor(e,t,a,r,n,i,o,c,l){this.originalCharCode=e;this.fontChar=t;this.unicode=a;this.accent=r;this.width=n;this.vmetric=i;this.operatorListId=o;this.isSpace=c;this.isInFont=l;const h=(0,s.getCharUnicodeCategory)(a);this.isWhitespace=h.isWhitespace;this.isZeroWidthDiacritic=h.isZeroWidthDiacritic;this.isInvisibleFormatMark=h.isInvisibleFormatMark}matchesForCache(e,t,a,r,n,i,s,o,c){return this.originalCharCode===e&&this.fontChar===t&&this.unicode===a&&this.accent===r&&this.width===n&&this.vmetric===i&&this.operatorListId===s&&this.isSpace===o&&this.isInFont===c}}function int16(e,t){return(e<<8)+t}function writeSignedInt16(e,t,a){e[t+1]=a;e[t]=a>>>8}function signedInt16(e,t){const a=(e<<8)+t;return 32768&a?a-65536:a}function string16(e){return String.fromCharCode(e>>8&255,255&e)}function safeString16(e){e>32767?e=32767:e<-32768&&(e=-32768);return String.fromCharCode(e>>8&255,255&e)}function isTrueTypeCollectionFile(e){const t=e.peekBytes(4);return\\\"ttcf\\\"===(0,r.bytesToString)(t)}function getFontFileType(e,{type:t,subtype:a,composite:n}){let i,s;if(function isTrueTypeFile(e){const t=e.peekBytes(4);return 65536===(0,b.readUint32)(t,0)||\\\"true\\\"===(0,r.bytesToString)(t)}(e)||isTrueTypeCollectionFile(e))i=n?\\\"CIDFontType2\\\":\\\"TrueType\\\";else if(function isOpenTypeFile(e){const t=e.peekBytes(4);return\\\"OTTO\\\"===(0,r.bytesToString)(t)}(e))i=n?\\\"CIDFontType2\\\":\\\"OpenType\\\";else if(function isType1File(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e))i=n?\\\"CIDFontType0\\\":\\\"MMType1\\\"===t?\\\"MMType1\\\":\\\"Type1\\\";else if(function isCFFFile(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e))if(n){i=\\\"CIDFontType0\\\";s=\\\"CIDFontType0C\\\"}else{i=\\\"MMType1\\\"===t?\\\"MMType1\\\":\\\"Type1\\\";s=\\\"Type1C\\\"}else{(0,r.warn)(\\\"getFontFileType: Unable to detect correct font file Type/Subtype.\\\");i=t;s=a}return[i,s]}function applyStandardFontGlyphMap(e,t){for(const a in t)e[+a]=t[a]}function buildToFontChar(e,t,a){const r=[];let n;for(let a=0,i=e.length;ac){s++;if(s>=S.length){(0,r.warn)(\\\"Ran out of space in font private use area.\\\");break}o=S[s][0];c=S[s][1]}const u=o++;0===h&&(h=a);n[u]=h;i[l]=u}return{toFontChar:i,charCodeToGlyphId:n,nextAvailableFontCharCode:o}}function createCmapTable(e,t){const a=function getRanges(e,t){const a=[];for(const r in e)e[r]>=t||a.push({fontCharCode:0|r,glyphId:e[r]});0===a.length&&a.push({fontCharCode:0,glyphId:0});a.sort((function fontGetRangesSort(e,t){return e.fontCharCode-t.fontCharCode}));const r=[],n=a.length;for(let e=0;e65535?2:1;let i,s,o,c,l=\\\"\\\\0\\\\0\\\"+string16(n)+\\\"\\\\0\\u0003\\\\0\\u0001\\\"+(0,r.string32)(4+8*n);for(i=a.length-1;i>=0&&!(a[i][0]<=65535);--i);const h=i+1;a[i][0]<65535&&65535===a[i][1]&&(a[i][1]=65534);const u=a[i][1]<65535?1:0,d=h+u,f=m.OpenTypeFileBuilder.getSearchParams(d,2);let g,p,b,y,w=\\\"\\\",S=\\\"\\\",x=\\\"\\\",k=\\\"\\\",C=\\\"\\\",v=0;for(i=0,s=h;i0){S+=\\\"ÿÿ\\\";w+=\\\"ÿÿ\\\";x+=\\\"\\\\0\\u0001\\\";k+=\\\"\\\\0\\\\0\\\"}const F=\\\"\\\\0\\\\0\\\"+string16(2*d)+string16(f.range)+string16(f.entry)+string16(f.rangeShift)+S+\\\"\\\\0\\\\0\\\"+w+x+k+C;let O=\\\"\\\",T=\\\"\\\";if(n>1){l+=\\\"\\\\0\\u0003\\\\0\\\\n\\\"+(0,r.string32)(4+8*n+4+F.length);O=\\\"\\\";for(i=0,s=a.length;ie||!l)&&(l=e);h 123 are reserved for internal usage\\\");c|=1<65535&&(h=65535)}else{l=0;h=255}const u=e.bbox||[0,0,0,0],d=a.unitsPerEm||1/(e.fontMatrix||r.FONT_IDENTITY_MATRIX)[0],f=e.ascentScaled?1:d/x,g=a.ascent||Math.round(f*(e.ascent||u[3]));let p=a.descent||Math.round(f*(e.descent||u[1]));p>0&&e.descent>0&&u[1]<0&&(p=-p);const m=a.yMax||g,b=-a.yMin||-p;return\\\"\\\\0\\u0003\\u0002$\\u0001ô\\\\0\\u0005\\\\0\\\\0\\u0002Š\\u0002»\\\\0\\\\0\\\\0Œ\\u0002Š\\u0002»\\\\0\\\\0\\u0001ß\\\\x001\\u0001\\u0002\\\\0\\\\0\\\\0\\\\0\\u0006\\\"+String.fromCharCode(e.fixedPitch?9:0)+\\\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\"+(0,r.string32)(n)+(0,r.string32)(i)+(0,r.string32)(o)+(0,r.string32)(c)+\\\"*21*\\\"+string16(e.italicAngle?1:0)+string16(l||e.firstChar)+string16(h||e.lastChar)+string16(g)+string16(p)+\\\"\\\\0d\\\"+string16(m)+string16(b)+\\\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\"+string16(e.xHeight)+string16(e.capHeight)+string16(0)+string16(l||e.firstChar)+\\\"\\\\0\\u0003\\\"}function createPostTable(e){const t=Math.floor(65536*e.italicAngle);return\\\"\\\\0\\u0003\\\\0\\\\0\\\"+(0,r.string32)(t)+\\\"\\\\0\\\\0\\\\0\\\\0\\\"+(0,r.string32)(e.fixedPitch?1:0)+\\\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\"}function createPostscriptName(e){return e.replace(/[^\\\\x21-\\\\x7E]|[[\\\\](){}<>/%]/g,\\\"\\\").slice(0,63)}function createNameTable(e,t){t||(t=[[],[]]);const a=[t[0][0]||\\\"Original licence\\\",t[0][1]||e,t[0][2]||\\\"Unknown\\\",t[0][3]||\\\"uniqueID\\\",t[0][4]||e,t[0][5]||\\\"Version 0.11\\\",t[0][6]||createPostscriptName(e),t[0][7]||\\\"Unknown\\\",t[0][8]||\\\"Unknown\\\",t[0][9]||\\\"Unknown\\\"],r=[];let n,i,s,o,c;for(n=0,i=a.length;n0;if((p||m)&&\\\"CIDFontType2\\\"===a&&this.cidEncoding.startsWith(\\\"Identity-\\\")){const a=e.cidToGidMap,r=[];applyStandardFontGlyphMap(r,(0,l.getGlyphMapForStandardFonts)());/Arial-?Black/i.test(t)?applyStandardFontGlyphMap(r,(0,l.getSupplementalGlyphMapForArialBlack)()):/Calibri/i.test(t)&&applyStandardFontGlyphMap(r,(0,l.getSupplementalGlyphMapForCalibri)());if(a){for(const e in r){const t=r[e];void 0!==a[t]&&(r[+e]=a[t])}a.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof h.IdentityToUnicodeMap&&this.toUnicode.forEach((function(e,t){const n=r[e];void 0===a[n]&&(r[+e]=t)}))}this.toUnicode instanceof h.IdentityToUnicodeMap||this.toUnicode.forEach((function(e,t){r[+e]=t}));this.toFontChar=r;this.toUnicode=new h.ToUnicodeMap(r)}else if(/Symbol/i.test(u))this.toFontChar=buildToFontChar(c.SymbolSetEncoding,(0,o.getGlyphsUnicode)(),this.differences);else if(/Dingbats/i.test(u)){/Wingdings/i.test(t)&&(0,r.warn)(\\\"Non-embedded Wingdings font, falling back to ZapfDingbats.\\\");this.toFontChar=buildToFontChar(c.ZapfDingbatsEncoding,(0,o.getDingbatsGlyphsUnicode)(),this.differences)}else if(p){const e=buildToFontChar(this.defaultEncoding,(0,o.getGlyphsUnicode)(),this.differences);\\\"CIDFontType2\\\"!==a||this.cidEncoding.startsWith(\\\"Identity-\\\")||this.toUnicode instanceof h.IdentityToUnicodeMap||this.toUnicode.forEach((function(t,a){e[+t]=a}));this.toFontChar=e}else{const e=(0,o.getGlyphsUnicode)(),a=[];this.toUnicode.forEach(((t,r)=>{if(!this.composite){const a=this.differences[t]||this.defaultEncoding[t],n=(0,s.getUnicodeForGlyph)(a,e);-1!==n&&(r=n)}a[+t]=r}));this.composite&&this.toUnicode instanceof h.IdentityToUnicodeMap&&/Verdana/i.test(t)&&applyStandardFontGlyphMap(a,(0,l.getGlyphMapForStandardFonts)());this.toFontChar=a}amendFallbackToUnicode(e);this.loadedName=u.split(\\\"-\\\")[0];this.fontType=(0,i.getFontType)(a,n,e.isStandardFont)}checkAndRepair(e,t,a){const s=[\\\"OS/2\\\",\\\"cmap\\\",\\\"head\\\",\\\"hhea\\\",\\\"hmtx\\\",\\\"maxp\\\",\\\"name\\\",\\\"post\\\",\\\"loca\\\",\\\"glyf\\\",\\\"fpgm\\\",\\\"prep\\\",\\\"cvt \\\",\\\"CFF \\\"];function readTables(e,t){const a=Object.create(null);a[\\\"OS/2\\\"]=null;a.cmap=null;a.head=null;a.hhea=null;a.hmtx=null;a.maxp=null;a.name=null;a.post=null;for(let r=0;r>>0,r=e.getInt32()>>>0,n=e.getInt32()>>>0,i=e.pos;e.pos=e.start?e.start:0;e.skip(r);const s=e.getBytes(n);e.pos=i;if(\\\"head\\\"===t){s[8]=s[9]=s[10]=s[11]=0;s[17]|=32}return{tag:t,checksum:a,length:n,offset:r,data:s}}function readOpenTypeHeader(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function sanitizeGlyph(e,t,a,r,n,i){const s={length:0,sizeOfInstructions:0};if(a-t<=12)return s;const o=e.subarray(t,a);let c=signedInt16(o[0],o[1]);if(c<0){c=-1;writeSignedInt16(o,0,c);r.set(o,n);s.length=o.length;return s}let l,h=10,u=0;for(l=0;lo.length)return s;if(!i&&f>0){r.set(o.subarray(0,d),n);r.set([0,0],n+d);r.set(o.subarray(g,m),n+d+2);m-=f;o.length-m>3&&(m=m+3&-4);s.length=m;return s}if(o.length-m>3){m=m+3&-4;r.set(o.subarray(0,m),n);s.length=m;return s}r.set(o,n);s.length=o.length;return s}function readNameTable(e){const a=(t.start?t.start:0)+e.offset;t.pos=a;const r=[[],[]],n=e.length,i=a+n;if(0!==t.getUint16()||n<6)return r;const s=t.getUint16(),o=t.getUint16(),c=[];let l,h;for(l=0;li)continue;t.pos=n;const s=e.name;if(e.encoding){let a=\\\"\\\";for(let r=0,n=e.length;r0&&(h+=e-1)}}else{if(b||w){(0,r.warn)(\\\"TT: nested FDEFs not allowed\\\");m=!0}b=!0;d=h;s=f.pop();t.functionsDefined[s]={data:c,i:h}}else if(!b&&!w){s=f[f.length-1];if(isNaN(s))(0,r.info)(\\\"TT: CALL empty stack (or invalid entry).\\\");else{t.functionsUsed[s]=!0;if(s in t.functionsStackDeltas){const e=f.length+t.functionsStackDeltas[s];if(e<0){(0,r.warn)(\\\"TT: CALL invalid functions stack delta.\\\");t.hintsValid=!1;return}f.length=e}else if(s in t.functionsDefined&&!p.includes(s)){g.push({data:c,i:h,stackTop:f.length-1});p.push(s);o=t.functionsDefined[s];if(!o){(0,r.warn)(\\\"TT: CALL non-existent function\\\");t.hintsValid=!1;return}c=o.data;h=o.i}}}if(!b&&!w){let t=0;e<=142?t=l[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2);if(e>=113&&e<=117){n=f.pop();isNaN(n)||(t=2*-n)}for(;t<0&&f.length>0;){f.pop();t++}for(;t>0;){f.push(NaN);t--}}}t.tooComplexToFollowFunctions=m;const S=[c];h>c.length&&S.push(new Uint8Array(h-c.length));if(d>u){(0,r.warn)(\\\"TT: complementing a missing function tail\\\");S.push(new Uint8Array([34,45]))}!function foldTTTable(e,t){if(t.length>1){let a,r,n=0;for(a=0,r=t.length;a>>0,s=[];for(let t=0;t>>0);const o={ttcTag:t,majorVersion:a,minorVersion:n,numFonts:i,offsetTable:s};switch(a){case 1:return o;case 2:o.dsigTag=e.getInt32()>>>0;o.dsigLength=e.getInt32()>>>0;o.dsigOffset=e.getInt32()>>>0;return o}throw new r.FormatError(`Invalid TrueType Collection majorVersion: ${a}.`)}(e),i=t.split(\\\"+\\\");let s;for(let o=0;o0||!(a.cMap instanceof p.IdentityCMap));if(\\\"OTTO\\\"===d.version&&!t||!f.head||!f.hhea||!f.maxp||!f.post){w=new y.Stream(f[\\\"CFF \\\"].data);b=new u.CFFFont(w,a);adjustWidths(a);return this.convert(e,b,a)}delete f.glyf;delete f.loca;delete f.fpgm;delete f.prep;delete f[\\\"cvt \\\"];this.isOpenType=!0}if(!f.maxp)throw new r.FormatError('Required \\\"maxp\\\" table is not found');t.pos=(t.start||0)+f.maxp.offset;const x=t.getInt32(),k=t.getUint16();if(a.scaleFactors&&a.scaleFactors.length===k&&S){const{scaleFactors:e}=a,t=int16(f.head.data[50],f.head.data[51]),r=new g.GlyfTable({glyfTable:f.glyf.data,isGlyphLocationsLong:t,locaTable:f.loca.data,numGlyphs:k});r.scale(e);const{glyf:n,loca:i,isLocationLong:s}=r.write();f.glyf.data=n;f.loca.data=i;if(s!==!!t){f.head.data[50]=0;f.head.data[51]=s?1:0}const o=f.hmtx.data;for(let t=0;t>8&255;o[a+1]=255&r;writeSignedInt16(o,a+2,Math.round(e[t]*signedInt16(o[a+2],o[a+3])))}}let C=k+1,v=!0;if(C>65535){v=!1;C=k;(0,r.warn)(\\\"Not enough space in glyfs to duplicate first glyph.\\\")}let F=0,O=0;if(x>=65536&&f.maxp.length>=22){t.pos+=8;if(t.getUint16()>2){f.maxp.data[14]=0;f.maxp.data[15]=2}t.pos+=4;F=t.getUint16();t.pos+=4;O=t.getUint16()}f.maxp.data[4]=C>>8;f.maxp.data[5]=255&C;const T=function sanitizeTTPrograms(e,t,a,n){const i={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};e&&sanitizeTTProgram(e,i);t&&sanitizeTTProgram(t,i);e&&function checkInvalidFunctions(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t){(0,r.warn)(\\\"TT: more functions defined than expected\\\");e.hintsValid=!1}else for(let a=0,n=e.functionsUsed.length;at){(0,r.warn)(\\\"TT: invalid function id: \\\"+a);e.hintsValid=!1;return}if(e.functionsUsed[a]&&!e.functionsDefined[a]){(0,r.warn)(\\\"TT: undefined function: \\\"+a);e.hintsValid=!1;return}}}(i,n);if(a&&1&a.length){const e=new Uint8Array(a.length+1);e.set(a.data);a.data=e}return i.hintsValid}(f.fpgm,f.prep,f[\\\"cvt \\\"],F);if(!T){delete f.fpgm;delete f.prep;delete f[\\\"cvt \\\"]}!function sanitizeMetrics(e,t,a,n,i,s){if(!t){a&&(a.data=null);return}e.pos=(e.start?e.start:0)+t.offset;e.pos+=4;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;const o=e.getUint16();e.pos+=8;e.pos+=2;let c=e.getUint16();if(0!==o){if(!(2&int16(n.data[44],n.data[45]))){t.data[22]=0;t.data[23]=0}}if(c>i){(0,r.info)(`The numOfMetrics (${c}) should not be greater than the numGlyphs (${i}).`);c=i;t.data[34]=(65280&c)>>8;t.data[35]=255&c}const l=i-c-(a.length-4*c>>1);if(l>0){const e=new Uint8Array(a.length+2*l);e.set(a.data);if(s){e[a.length]=a.data[2];e[a.length+1]=a.data[3]}a.data=e}}(t,f.hhea,f.hmtx,f.head,C,v);if(!f.head)throw new r.FormatError('Required \\\"head\\\" table is not found');!function sanitizeHead(e,t,a){const n=e.data,i=function int32(e,t,a,r){return(e<<24)+(t<<16)+(a<<8)+r}(n[0],n[1],n[2],n[3]);if(i>>16!=1){(0,r.info)(\\\"Attempting to fix invalid version in head table: \\\"+i);n[0]=0;n[1]=1;n[2]=0;n[3]=0}const s=int16(n[50],n[51]);if(s<0||s>1){(0,r.info)(\\\"Attempting to fix invalid indexToLocFormat in head table: \\\"+s);const e=t+1;if(a===e<<1){n[50]=0;n[51]=0}else{if(a!==e<<2)throw new r.FormatError(\\\"Could not fix indexToLocFormat: \\\"+s);n[50]=0;n[51]=1}}}(f.head,k,S?f.loca.length:0);let M=Object.create(null);if(S){const e=int16(f.head.data[50],f.head.data[51]),t=function sanitizeGlyphLocations(e,t,a,r,n,i,s){let o,c,l;if(r){o=4;c=function fontItemDecodeLong(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};l=function fontItemEncodeLong(e,t,a){e[t]=a>>>24&255;e[t+1]=a>>16&255;e[t+2]=a>>8&255;e[t+3]=255&a}}else{o=2;c=function fontItemDecode(e,t){return e[t]<<9|e[t+1]<<1};l=function fontItemEncode(e,t,a){e[t]=a>>9&255;e[t+1]=a>>1&255}}const h=i?a+1:a,u=o*(1+h),d=new Uint8Array(u);d.set(e.data.subarray(0,u));e.data=d;const f=t.data,g=f.length,p=new Uint8Array(g);let m,b;const y=[];for(m=0,b=0;mg&&(e=g);y.push({index:m,offset:e,endOffset:0})}y.sort(((e,t)=>e.offset-t.offset));for(m=0;me.index-t.index));for(m=0;ms&&(s=e.sizeOfInstructions);S+=t;l(d,b,S)}if(0===S){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(m=0,b=o;ma+S)t.data=p.subarray(0,a+S);else{t.data=new Uint8Array(a+S);t.data.set(p.subarray(0,S))}t.data.set(p.subarray(0,a),S);l(e.data,d.length-o,S+a)}else t.data=p.subarray(0,S);return{missingGlyphs:w,maxSizeOfInstructions:s}}(f.loca,f.glyf,k,e,T,v,O);M=t.missingGlyphs;if(x>=65536&&f.maxp.length>=22){f.maxp.data[26]=t.maxSizeOfInstructions>>8;f.maxp.data[27]=255&t.maxSizeOfInstructions}}if(!f.hhea)throw new r.FormatError('Required \\\"hhea\\\" table is not found');if(0===f.hhea.data[10]&&0===f.hhea.data[11]){f.hhea.data[10]=255;f.hhea.data[11]=255}const E={unitsPerEm:int16(f.head.data[18],f.head.data[19]),yMax:int16(f.head.data[42],f.head.data[43]),yMin:signedInt16(f.head.data[38],f.head.data[39]),ascent:signedInt16(f.hhea.data[4],f.hhea.data[5]),descent:signedInt16(f.hhea.data[6],f.hhea.data[7]),lineGap:signedInt16(f.hhea.data[8],f.hhea.data[9])};this.ascent=E.ascent/E.unitsPerEm;this.descent=E.descent/E.unitsPerEm;this.lineGap=E.lineGap/E.unitsPerEm;if(this.cssFontInfo&&this.cssFontInfo.lineHeight){this.lineHeight=this.cssFontInfo.metrics.lineHeight;this.lineGap=this.cssFontInfo.metrics.lineGap}else this.lineHeight=this.ascent-this.descent+this.lineGap;f.post&&function readPostScriptTable(e,a,n){const s=(t.start?t.start:0)+e.offset;t.pos=s;const o=s+e.length,c=t.getInt32();t.skip(28);let l,h,u=!0;switch(c){case 65536:l=i.MacStandardGlyphOrdering;break;case 131072:const e=t.getUint16();if(e!==n){u=!1;break}const s=[];for(h=0;h=32768){u=!1;break}s.push(e)}if(!u)break;const d=[],f=[];for(;t.pos65535)throw new r.FormatError(\\\"Max size of CID is 65,535\\\");let i=-1;t?i=n:void 0!==e[n]&&(i=e[n]);i>=0&&i>>0;let h=!1;if(!c||c.platformId!==r||c.encodingId!==i){if(0!==r||0!==i&&1!==i&&3!==i)if(1===r&&0===i)h=!0;else if(3!==r||1!==i||!n&&c){if(a&&3===r&&0===i){h=!0;let a=!0;if(e>3;e.push(r);a=Math.max(r,a)}const r=[];for(let e=0;e<=a;e++)r.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:signedInt16(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let a=0;a<256;a++)if(0===e[a]){t.pos=r[0].idRangePos+2*a;g=t.getUint16();d.push({charCode:a,glyphId:g})}else{const n=r[e[a]];for(f=0;f>1;t.skip(6);const a=[];let r;for(r=0;r>1)-(e-r);i.offsetIndex=n;o=Math.max(o,n+i.end-i.start+1)}else i.offsetIndex=-1}const c=[];for(f=0;f>>0;for(f=0;f>>0,a=t.getInt32()>>>0;let r=t.getInt32()>>>0;for(let t=e;t<=a;t++)d.push({charCode:t,glyphId:r++})}}}d.sort((function(e,t){return e.charCode-t.charCode}));for(let e=1;e=61440&&t<=61695&&(t&=255);D[t]=l[e].glyphId}if(a.glyphNames&&(d.length||this.differences.length))for(let e=0;e<256;++e){if(!g&&void 0!==D[e])continue;const t=this.differences[e]||d[e];if(!t)continue;const r=a.glyphNames.indexOf(t);r>0&&hasGlyph(r)&&(D[e]=r)}}0===D.length&&(D[0]=0);let N=C-1;v||(N=0);if(!a.cssFontInfo){const e=adjustMapping(D,hasGlyph,N);this.toFontChar=e.toFontChar;f.cmap={tag:\\\"cmap\\\",data:createCmapTable(e.charCodeToGlyphId,C)};f[\\\"OS/2\\\"]&&function validateOS2Table(e,t){t.pos=(t.start||0)+e.offset;const a=t.getUint16();t.skip(60);const r=t.getUint16();if(a<4&&768&r)return!1;if(t.getUint16()>t.getUint16())return!1;t.skip(6);if(0===t.getUint16())return!1;e.data[8]=e.data[9]=0;return!0}(f[\\\"OS/2\\\"],t)||(f[\\\"OS/2\\\"]={tag:\\\"OS/2\\\",data:createOS2Table(a,e.charCodeToGlyphId,E)})}if(!S)try{w=new y.Stream(f[\\\"CFF \\\"].data);b=new n.CFFParser(w,a,i.SEAC_ANALYSIS_ENABLED).parse();b.duplicateFirstGlyph();const e=new n.CFFCompiler(b);f[\\\"CFF \\\"].data=e.compile()}catch(e){(0,r.warn)(\\\"Failed to compile font \\\"+a.loadedName)}if(f.name){const t=readNameTable(f.name);f.name.data=createNameTable(e,t);this.psName=t[0][6]||null}else f.name={tag:\\\"name\\\",data:createNameTable(this.name)};const L=new m.OpenTypeFileBuilder(d.version);for(const e in f)L.addTable(e,f[e].data);return L.toArray()}convert(e,t,a){a.fixedPitch=!1;a.builtInEncoding&&function adjustToUnicode(e,t){if(e.isInternalFont)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof h.IdentityToUnicodeMap)return;const a=[],r=(0,o.getGlyphsUnicode)();for(const n in t){if(e.hasIncludedToUnicodeMap){if(e.toUnicode.has(n))continue}else if(e.hasEncoding&&(0===e.differences.length||void 0!==e.differences[n]))continue;const i=t[n],o=(0,s.getUnicodeForGlyph)(i,r);-1!==o&&(a[n]=String.fromCharCode(o))}a.length>0&&e.toUnicode.amend(a)}(a,a.builtInEncoding);let n=1;t instanceof u.CFFFont&&(n=t.numGlyphs-1);const l=t.getGlyphMapping(a);let d=null,f=l;if(!a.cssFontInfo){d=adjustMapping(l,t.hasGlyphId.bind(t),n);this.toFontChar=d.toFontChar;f=d.charCodeToGlyphId}const g=t.numGlyphs;function getCharCodes(e,t){let a=null;for(const r in e)if(t===e[r]){a||(a=[]);a.push(0|r)}return a}function createCharCode(e,t){for(const a in e)if(t===e[a])return 0|a;d.charCodeToGlyphId[d.nextAvailableFontCharCode]=t;return d.nextAvailableFontCharCode++}const p=t.seacs;if(d&&i.SEAC_ANALYSIS_ENABLED&&p&&p.length){const e=a.fontMatrix||r.FONT_IDENTITY_MATRIX,n=t.getCharset(),i=Object.create(null);for(let t in p){t|=0;const a=p[t],r=c.StandardEncoding[a[2]],s=c.StandardEncoding[a[3]],o=n.indexOf(r),h=n.indexOf(s);if(o<0||h<0)continue;const u={x:a[0]*e[0]+a[1]*e[2]+e[4],y:a[0]*e[1]+a[1]*e[3]+e[5]},f=getCharCodes(l,t);if(f)for(let e=0,t=f.length;et.length%2==1,r=this.toUnicode instanceof h.IdentityToUnicodeMap?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let n=0,i=e.length;n55295&&(i<57344||i>65533)&&n++;if(this.toUnicode){const e=r(i);if(-1!==e){if(hasCurrentBufErrors()){t.push(a.join(\\\"\\\"));a.length=0}for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)a.push(String.fromCharCode(e>>8*t&255));continue}}if(!hasCurrentBufErrors()){t.push(a.join(\\\"\\\"));a.length=0}a.push(String.fromCodePoint(i))}t.push(a.join(\\\"\\\"));return t}};t.ErrorFont=class ErrorFont{constructor(e){this.error=e;this.loadedName=\\\"g_font_error\\\";this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(e=!1){return{error:this.error}}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.CFFTopDict=t.CFFStrings=t.CFFStandardStrings=t.CFFPrivateDict=t.CFFParser=t.CFFIndex=t.CFFHeader=t.CFFFDSelect=t.CFFCompiler=t.CFFCharset=t.CFF=void 0;var r=a(2),n=a(46),i=a(19);const s=[\\\".notdef\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quoteright\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"quoteleft\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"fraction\\\",\\\"yen\\\",\\\"florin\\\",\\\"section\\\",\\\"currency\\\",\\\"quotesingle\\\",\\\"quotedblleft\\\",\\\"guillemotleft\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"endash\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"paragraph\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"quotedblright\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"perthousand\\\",\\\"questiondown\\\",\\\"grave\\\",\\\"acute\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"dieresis\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"emdash\\\",\\\"AE\\\",\\\"ordfeminine\\\",\\\"Lslash\\\",\\\"Oslash\\\",\\\"OE\\\",\\\"ordmasculine\\\",\\\"ae\\\",\\\"dotlessi\\\",\\\"lslash\\\",\\\"oslash\\\",\\\"oe\\\",\\\"germandbls\\\",\\\"onesuperior\\\",\\\"logicalnot\\\",\\\"mu\\\",\\\"trademark\\\",\\\"Eth\\\",\\\"onehalf\\\",\\\"plusminus\\\",\\\"Thorn\\\",\\\"onequarter\\\",\\\"divide\\\",\\\"brokenbar\\\",\\\"degree\\\",\\\"thorn\\\",\\\"threequarters\\\",\\\"twosuperior\\\",\\\"registered\\\",\\\"minus\\\",\\\"eth\\\",\\\"multiply\\\",\\\"threesuperior\\\",\\\"copyright\\\",\\\"Aacute\\\",\\\"Acircumflex\\\",\\\"Adieresis\\\",\\\"Agrave\\\",\\\"Aring\\\",\\\"Atilde\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ecircumflex\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Ntilde\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"Odieresis\\\",\\\"Ograve\\\",\\\"Otilde\\\",\\\"Scaron\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Udieresis\\\",\\\"Ugrave\\\",\\\"Yacute\\\",\\\"Ydieresis\\\",\\\"Zcaron\\\",\\\"aacute\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"agrave\\\",\\\"aring\\\",\\\"atilde\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"egrave\\\",\\\"iacute\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"igrave\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"ograve\\\",\\\"otilde\\\",\\\"scaron\\\",\\\"uacute\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"ugrave\\\",\\\"yacute\\\",\\\"ydieresis\\\",\\\"zcaron\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"questionsmall\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"isuperior\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"ff\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hyphensuperior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"exclamdownsmall\\\",\\\"centoldstyle\\\",\\\"Lslashsmall\\\",\\\"Scaronsmall\\\",\\\"Zcaronsmall\\\",\\\"Dieresissmall\\\",\\\"Brevesmall\\\",\\\"Caronsmall\\\",\\\"Dotaccentsmall\\\",\\\"Macronsmall\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"Ogoneksmall\\\",\\\"Ringsmall\\\",\\\"Cedillasmall\\\",\\\"questiondownsmall\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"zerosuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\",\\\"Agravesmall\\\",\\\"Aacutesmall\\\",\\\"Acircumflexsmall\\\",\\\"Atildesmall\\\",\\\"Adieresissmall\\\",\\\"Aringsmall\\\",\\\"AEsmall\\\",\\\"Ccedillasmall\\\",\\\"Egravesmall\\\",\\\"Eacutesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Igravesmall\\\",\\\"Iacutesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ethsmall\\\",\\\"Ntildesmall\\\",\\\"Ogravesmall\\\",\\\"Oacutesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Otildesmall\\\",\\\"Odieresissmall\\\",\\\"OEsmall\\\",\\\"Oslashsmall\\\",\\\"Ugravesmall\\\",\\\"Uacutesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"Yacutesmall\\\",\\\"Thornsmall\\\",\\\"Ydieresissmall\\\",\\\"001.000\\\",\\\"001.001\\\",\\\"001.002\\\",\\\"001.003\\\",\\\"Black\\\",\\\"Bold\\\",\\\"Book\\\",\\\"Light\\\",\\\"Medium\\\",\\\"Regular\\\",\\\"Roman\\\",\\\"Semibold\\\"];t.CFFStandardStrings=s;const o=391,c=function CFFParserClosure(){const e=[null,{id:\\\"hstem\\\",min:2,stackClearing:!0,stem:!0},null,{id:\\\"vstem\\\",min:2,stackClearing:!0,stem:!0},{id:\\\"vmoveto\\\",min:1,stackClearing:!0},{id:\\\"rlineto\\\",min:2,resetStack:!0},{id:\\\"hlineto\\\",min:1,resetStack:!0},{id:\\\"vlineto\\\",min:1,resetStack:!0},{id:\\\"rrcurveto\\\",min:6,resetStack:!0},null,{id:\\\"callsubr\\\",min:1,undefStack:!0},{id:\\\"return\\\",min:0,undefStack:!0},null,null,{id:\\\"endchar\\\",min:0,stackClearing:!0},null,null,null,{id:\\\"hstemhm\\\",min:2,stackClearing:!0,stem:!0},{id:\\\"hintmask\\\",min:0,stackClearing:!0},{id:\\\"cntrmask\\\",min:0,stackClearing:!0},{id:\\\"rmoveto\\\",min:2,stackClearing:!0},{id:\\\"hmoveto\\\",min:1,stackClearing:!0},{id:\\\"vstemhm\\\",min:2,stackClearing:!0,stem:!0},{id:\\\"rcurveline\\\",min:8,resetStack:!0},{id:\\\"rlinecurve\\\",min:8,resetStack:!0},{id:\\\"vvcurveto\\\",min:4,resetStack:!0},{id:\\\"hhcurveto\\\",min:4,resetStack:!0},null,{id:\\\"callgsubr\\\",min:1,undefStack:!0},{id:\\\"vhcurveto\\\",min:4,resetStack:!0},{id:\\\"hvcurveto\\\",min:4,resetStack:!0}],t=[null,null,null,{id:\\\"and\\\",min:2,stackDelta:-1},{id:\\\"or\\\",min:2,stackDelta:-1},{id:\\\"not\\\",min:1,stackDelta:0},null,null,null,{id:\\\"abs\\\",min:1,stackDelta:0},{id:\\\"add\\\",min:2,stackDelta:-1,stackFn:function stack_div(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:\\\"sub\\\",min:2,stackDelta:-1,stackFn:function stack_div(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:\\\"div\\\",min:2,stackDelta:-1,stackFn:function stack_div(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:\\\"neg\\\",min:1,stackDelta:0,stackFn:function stack_div(e,t){e[t-1]=-e[t-1]}},{id:\\\"eq\\\",min:2,stackDelta:-1},null,null,{id:\\\"drop\\\",min:1,stackDelta:-1},null,{id:\\\"put\\\",min:2,stackDelta:-2},{id:\\\"get\\\",min:1,stackDelta:0},{id:\\\"ifelse\\\",min:4,stackDelta:-3},{id:\\\"random\\\",min:0,stackDelta:1},{id:\\\"mul\\\",min:2,stackDelta:-1,stackFn:function stack_div(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:\\\"sqrt\\\",min:1,stackDelta:0},{id:\\\"dup\\\",min:1,stackDelta:1},{id:\\\"exch\\\",min:2,stackDelta:0},{id:\\\"index\\\",min:2,stackDelta:0},{id:\\\"roll\\\",min:3,stackDelta:-2},null,null,null,{id:\\\"hflex\\\",min:7,resetStack:!0},{id:\\\"flex\\\",min:13,resetStack:!0},{id:\\\"hflex1\\\",min:9,resetStack:!0},{id:\\\"flex1\\\",min:11,resetStack:!0}];return class CFFParser{constructor(e,t,a){this.bytes=e.getBytes();this.properties=t;this.seacAnalysisEnabled=!!a}parse(){const e=this.properties,t=new CFF;this.cff=t;const a=this.parseHeader(),r=this.parseIndex(a.endPos),n=this.parseIndex(r.endPos),i=this.parseIndex(n.endPos),s=this.parseIndex(i.endPos),o=this.parseDict(n.obj.get(0)),c=this.createDict(l,o,t.strings);t.header=a.obj;t.names=this.parseNameIndex(r.obj);t.strings=this.parseStringIndex(i.obj);t.topDict=c;t.globalSubrIndex=s.obj;this.parsePrivateDict(t.topDict);t.isCIDFont=c.hasName(\\\"ROS\\\");const h=c.getByName(\\\"CharStrings\\\"),u=this.parseIndex(h).obj,d=c.getByName(\\\"FontMatrix\\\");d&&(e.fontMatrix=d);const f=c.getByName(\\\"FontBBox\\\");if(f){e.ascent=Math.max(f[3],f[1]);e.descent=Math.min(f[1],f[3]);e.ascentScaled=!0}let g,p;if(t.isCIDFont){const e=this.parseIndex(c.getByName(\\\"FDArray\\\")).obj;for(let a=0,r=e.count;a=t)throw new r.FormatError(\\\"Invalid CFF header\\\");if(0!==a){(0,r.info)(\\\"cff data is shifted\\\");e=e.subarray(a);this.bytes=e}const n=e[0],i=e[1],s=e[2],o=e[3];return{obj:new CFFHeader(n,i,s,o),endPos:s}}parseDict(e){let t=0;function parseOperand(){let a=e[t++];if(30===a)return function parseFloatOperand(){let a=\\\"\\\";const r=15,n=[\\\"0\\\",\\\"1\\\",\\\"2\\\",\\\"3\\\",\\\"4\\\",\\\"5\\\",\\\"6\\\",\\\"7\\\",\\\"8\\\",\\\"9\\\",\\\".\\\",\\\"E\\\",\\\"E-\\\",null,\\\"-\\\"],i=e.length;for(;t>4,o=15&i;if(s===r)break;a+=n[s];if(o===r)break;a+=n[o]}return parseFloat(a)}();if(28===a){a=e[t++];a=(a<<24|e[t++]<<16)>>16;return a}if(29===a){a=e[t++];a=a<<8|e[t++];a=a<<8|e[t++];a=a<<8|e[t++];return a}if(a>=32&&a<=246)return a-139;if(a>=247&&a<=250)return 256*(a-247)+e[t++]+108;if(a>=251&&a<=254)return-256*(a-251)-e[t++]-108;(0,r.warn)('CFFParser_parseDict: \\\"'+a+'\\\" is a reserved command.');return NaN}let a=[];const n=[];t=0;const i=e.length;for(;t10)return!1;let o=a.stackSize;const c=a.stack,l=n.length;for(let h=0;h>16;h+=2;o++}else if(14===l){if(o>=4){o-=4;if(this.seacAnalysisEnabled){a.seac=c.slice(o,o+4);return!1}}u=e[l]}else if(l>=32&&l<=246){c[o]=l-139;o++}else if(l>=247&&l<=254){c[o]=l<251?(l-247<<8)+n[h]+108:-(l-251<<8)-n[h]-108;h++;o++}else if(255===l){c[o]=(n[h]<<24|n[h+1]<<16|n[h+2]<<8|n[h+3])/65536;h+=4;o++}else if(19===l||20===l){a.hints+=o>>1;h+=a.hints+7>>3;o%=2;u=e[l]}else{if(10===l||29===l){let t;t=10===l?i:s;if(!t){u=e[l];(0,r.warn)(\\\"Missing subrsIndex for \\\"+u.id);return!1}let n=32768;t.count<1240?n=107:t.count<33900&&(n=1131);const h=c[--o]+n;if(h<0||h>=t.count||isNaN(h)){u=e[l];(0,r.warn)(\\\"Out of bounds subrIndex for \\\"+u.id);return!1}a.stackSize=o;a.callDepth++;if(!this.parseCharString(a,t.get(h),i,s))return!1;a.callDepth--;o=a.stackSize;continue}if(11===l){a.stackSize=o;return!0}if(0===l&&h===n.length){n[h-1]=14;u=e[14]}else u=e[l]}if(u){if(u.stem){a.hints+=o>>1;if(3===l||23===l)a.hasVStems=!0;else if(a.hasVStems&&(1===l||18===l)){(0,r.warn)(\\\"CFF stem hints are in wrong order\\\");n[h-1]=1===l?3:23}}if(\\\"min\\\"in u&&!a.undefStack&&o=2&&u.stem?o%=2:o>1&&(0,r.warn)(\\\"Found too many parameters for stack-clearing command\\\");o>0&&(a.width=c[o-1])}if(\\\"stackDelta\\\"in u){\\\"stackFn\\\"in u&&u.stackFn(c,o);o+=u.stackDelta}else if(u.stackClearing)o=0;else if(u.resetStack){o=0;a.undefStack=!1}else if(u.undefStack){o=0;a.undefStack=!0;a.firstStackClearing=!1}}}a.stackSize=o;return!0}parseCharStrings({charStrings:e,localSubrIndex:t,globalSubrIndex:a,fdSelect:n,fdArray:i,privateDict:s}){const o=[],c=[],l=e.count;for(let h=0;h=i.length){(0,r.warn)(\\\"Invalid fd index for glyph index.\\\");d=!1}if(d){g=i[e].privateDict;f=g.subrsIndex}}else t&&(f=t);d&&(d=this.parseCharString(u,l,f,a));if(null!==u.width){const e=g.getByName(\\\"nominalWidthX\\\");c[h]=e+u.width}else{const e=g.getByName(\\\"defaultWidthX\\\");c[h]=e}null!==u.seac&&(o[h]=u.seac);d||e.set(h,new Uint8Array([14]))}return{charStrings:e,seacs:o,widths:c}}emptyPrivateDictionary(e){const t=this.createDict(h,[],e.strings);e.setByKey(18,[0,0]);e.privateDict=t}parsePrivateDict(e){if(!e.hasName(\\\"Private\\\")){this.emptyPrivateDictionary(e);return}const t=e.getByName(\\\"Private\\\");if(!Array.isArray(t)||2!==t.length){e.removeByName(\\\"Private\\\");return}const a=t[0],r=t[1];if(0===a||r>=this.bytes.length){this.emptyPrivateDictionary(e);return}const n=r+a,i=this.bytes.subarray(r,n),s=this.parseDict(i),o=this.createDict(h,s,e.strings);e.privateDict=o;if(!o.getByName(\\\"Subrs\\\"))return;const c=o.getByName(\\\"Subrs\\\"),l=r+c;if(0===c||l>=this.bytes.length){this.emptyPrivateDictionary(e);return}const u=this.parseIndex(l);o.subrsIndex=u.obj}parseCharsets(e,t,a,i){if(0===e)return new CFFCharset(!0,u.ISO_ADOBE,n.ISOAdobeCharset);if(1===e)return new CFFCharset(!0,u.EXPERT,n.ExpertCharset);if(2===e)return new CFFCharset(!0,u.EXPERT_SUBSET,n.ExpertSubsetCharset);const s=this.bytes,o=e,c=s[e++],l=[i?0:\\\".notdef\\\"];let h,d,f;t-=1;switch(c){case 0:for(f=0;f=65535){(0,r.warn)(\\\"Not enough space in charstrings to duplicate first glyph.\\\");return}const e=this.charStrings.get(0);this.charStrings.add(e);this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){if(e<0||e>=this.charStrings.count)return!1;return this.charStrings.get(e).length>0}}t.CFF=CFF;class CFFHeader{constructor(e,t,a,r){this.major=e;this.minor=t;this.hdrSize=a;this.offSize=r}}t.CFFHeader=CFFHeader;class CFFStrings{constructor(){this.strings=[]}get(e){return e>=0&&e<=390?s[e]:e-o<=this.strings.length?this.strings[e-o]:s[0]}getSID(e){let t=s.indexOf(e);if(-1!==t)return t;t=this.strings.indexOf(e);return-1!==t?t+o:-1}add(e){this.strings.push(e)}get count(){return this.strings.length}}t.CFFStrings=CFFStrings;class CFFIndex{constructor(){this.objects=[];this.length=0}add(e){this.length+=e.length;this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length;this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}t.CFFIndex=CFFIndex;class CFFDict{constructor(e,t){this.keyToNameMap=e.keyToNameMap;this.nameToKeyMap=e.nameToKeyMap;this.defaults=e.defaults;this.types=e.types;this.opcodes=e.opcodes;this.order=e.order;this.strings=t;this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;const a=t.length;if(0===a)return!0;for(let n=0;n=this.fdSelect.length?-1:this.fdSelect[e]}}t.CFFFDSelect=CFFFDSelect;class CFFOffsetTracker{constructor(){this.offsets=Object.create(null)}isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new r.FormatError(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,a){if(!(e in this.offsets))throw new r.FormatError(`Not tracking location of ${e}`);const n=a.data,i=this.offsets[e];for(let e=0,a=t.length;e>24&255;n[o]=h>>16&255;n[c]=h>>8&255;n[l]=255&h}}}class CFFCompiler{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add:function CFFCompiler_add(e){this.data=this.data.concat(e);this.length=this.data.length}},a=this.compileHeader(e.header);t.add(a);const n=this.compileNameIndex(e.names);t.add(n);if(e.isCIDFont&&e.topDict.hasName(\\\"FontMatrix\\\")){const t=e.topDict.getByName(\\\"FontMatrix\\\");e.topDict.removeByName(\\\"FontMatrix\\\");for(let a=0,n=e.fdArray.length;a16&&e.topDict.removeByName(\\\"XUID\\\");e.topDict.setByName(\\\"charset\\\",0);let s=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(s.output);const o=s.trackers[0],c=this.compileStringIndex(e.strings.strings);t.add(c);const l=this.compileIndex(e.globalSubrIndex);t.add(l);if(e.encoding&&e.topDict.hasName(\\\"Encoding\\\"))if(e.encoding.predefined)o.setEntryLocation(\\\"Encoding\\\",[e.encoding.format],t);else{const a=this.compileEncoding(e.encoding);o.setEntryLocation(\\\"Encoding\\\",[t.length],t);t.add(a)}const h=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);o.setEntryLocation(\\\"charset\\\",[t.length],t);t.add(h);const u=this.compileCharStrings(e.charStrings);o.setEntryLocation(\\\"CharStrings\\\",[t.length],t);t.add(u);if(e.isCIDFont){o.setEntryLocation(\\\"FDSelect\\\",[t.length],t);const a=this.compileFDSelect(e.fdSelect);t.add(a);s=this.compileTopDicts(e.fdArray,t.length,!0);o.setEntryLocation(\\\"FDArray\\\",[t.length],t);t.add(s.output);const r=s.trackers;this.compilePrivateDicts(e.fdArray,r,t)}this.compilePrivateDicts([e.topDict],[o],t);t.add([0]);return t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return(0,r.shadow)(this,\\\"EncodeFloatRegExp\\\",/\\\\.(\\\\d*?)(?:9{5,20}|0{5,20})\\\\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const a=CFFCompiler.EncodeFloatRegExp.exec(t);if(a){const r=parseFloat(\\\"1e\\\"+((a[2]?+a[2]:0)+a[1].length));t=(Math.round(e*r)/r).toString()}let r,n,i=\\\"\\\";for(r=0,n=t.length;r=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e];return t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new CFFIndex;for(let a=0,n=e.length;a\\\"~\\\"||\\\"[\\\"===t||\\\"]\\\"===t||\\\"(\\\"===t||\\\")\\\"===t||\\\"{\\\"===t||\\\"}\\\"===t||\\\"<\\\"===t||\\\">\\\"===t||\\\"/\\\"===t||\\\"%\\\"===t)&&(t=\\\"_\\\");s[e]=t}s=s.join(\\\"\\\");\\\"\\\"===s&&(s=\\\"Bad_Font_Name\\\");t.add((0,r.stringToBytes)(s))}return this.compileIndex(t)}compileTopDicts(e,t,a){const r=[];let n=new CFFIndex;for(let i=0,s=e.length;i>8&255,255&s]);else{i=new Uint8Array(1+2*s);i[0]=0;let t=0;const n=e.charset.length;let o=!1;for(let s=1;s>8&255;i[s+1]=255&c}}return this.compileTypedArray(i)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let a,r;switch(t){case 0:a=new Uint8Array(1+e.fdSelect.length);a[0]=t;for(r=0;r>8&255,255&n,i];for(r=1;r>8&255,255&r,t);i=t}}const o=(s.length-3)/3;s[1]=o>>8&255;s[2]=255&o;s.push(r>>8&255,255&r);a=new Uint8Array(s)}return this.compileTypedArray(a)}compileTypedArray(e){const t=[];for(let a=0,r=e.length;a>8&255,255&r];let i,s,o=1;for(i=0;i>8&255,255&c):3===s?n.push(c>>16&255,c>>8&255,255&c):n.push(c>>>24&255,c>>16&255,c>>8&255,255&c);a[i]&&(c+=a[i].length)}for(i=0;i{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ISOAdobeCharset=t.ExpertSubsetCharset=t.ExpertCharset=void 0;t.ISOAdobeCharset=[\\\".notdef\\\",\\\"space\\\",\\\"exclam\\\",\\\"quotedbl\\\",\\\"numbersign\\\",\\\"dollar\\\",\\\"percent\\\",\\\"ampersand\\\",\\\"quoteright\\\",\\\"parenleft\\\",\\\"parenright\\\",\\\"asterisk\\\",\\\"plus\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"slash\\\",\\\"zero\\\",\\\"one\\\",\\\"two\\\",\\\"three\\\",\\\"four\\\",\\\"five\\\",\\\"six\\\",\\\"seven\\\",\\\"eight\\\",\\\"nine\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"less\\\",\\\"equal\\\",\\\"greater\\\",\\\"question\\\",\\\"at\\\",\\\"A\\\",\\\"B\\\",\\\"C\\\",\\\"D\\\",\\\"E\\\",\\\"F\\\",\\\"G\\\",\\\"H\\\",\\\"I\\\",\\\"J\\\",\\\"K\\\",\\\"L\\\",\\\"M\\\",\\\"N\\\",\\\"O\\\",\\\"P\\\",\\\"Q\\\",\\\"R\\\",\\\"S\\\",\\\"T\\\",\\\"U\\\",\\\"V\\\",\\\"W\\\",\\\"X\\\",\\\"Y\\\",\\\"Z\\\",\\\"bracketleft\\\",\\\"backslash\\\",\\\"bracketright\\\",\\\"asciicircum\\\",\\\"underscore\\\",\\\"quoteleft\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"d\\\",\\\"e\\\",\\\"f\\\",\\\"g\\\",\\\"h\\\",\\\"i\\\",\\\"j\\\",\\\"k\\\",\\\"l\\\",\\\"m\\\",\\\"n\\\",\\\"o\\\",\\\"p\\\",\\\"q\\\",\\\"r\\\",\\\"s\\\",\\\"t\\\",\\\"u\\\",\\\"v\\\",\\\"w\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"braceleft\\\",\\\"bar\\\",\\\"braceright\\\",\\\"asciitilde\\\",\\\"exclamdown\\\",\\\"cent\\\",\\\"sterling\\\",\\\"fraction\\\",\\\"yen\\\",\\\"florin\\\",\\\"section\\\",\\\"currency\\\",\\\"quotesingle\\\",\\\"quotedblleft\\\",\\\"guillemotleft\\\",\\\"guilsinglleft\\\",\\\"guilsinglright\\\",\\\"fi\\\",\\\"fl\\\",\\\"endash\\\",\\\"dagger\\\",\\\"daggerdbl\\\",\\\"periodcentered\\\",\\\"paragraph\\\",\\\"bullet\\\",\\\"quotesinglbase\\\",\\\"quotedblbase\\\",\\\"quotedblright\\\",\\\"guillemotright\\\",\\\"ellipsis\\\",\\\"perthousand\\\",\\\"questiondown\\\",\\\"grave\\\",\\\"acute\\\",\\\"circumflex\\\",\\\"tilde\\\",\\\"macron\\\",\\\"breve\\\",\\\"dotaccent\\\",\\\"dieresis\\\",\\\"ring\\\",\\\"cedilla\\\",\\\"hungarumlaut\\\",\\\"ogonek\\\",\\\"caron\\\",\\\"emdash\\\",\\\"AE\\\",\\\"ordfeminine\\\",\\\"Lslash\\\",\\\"Oslash\\\",\\\"OE\\\",\\\"ordmasculine\\\",\\\"ae\\\",\\\"dotlessi\\\",\\\"lslash\\\",\\\"oslash\\\",\\\"oe\\\",\\\"germandbls\\\",\\\"onesuperior\\\",\\\"logicalnot\\\",\\\"mu\\\",\\\"trademark\\\",\\\"Eth\\\",\\\"onehalf\\\",\\\"plusminus\\\",\\\"Thorn\\\",\\\"onequarter\\\",\\\"divide\\\",\\\"brokenbar\\\",\\\"degree\\\",\\\"thorn\\\",\\\"threequarters\\\",\\\"twosuperior\\\",\\\"registered\\\",\\\"minus\\\",\\\"eth\\\",\\\"multiply\\\",\\\"threesuperior\\\",\\\"copyright\\\",\\\"Aacute\\\",\\\"Acircumflex\\\",\\\"Adieresis\\\",\\\"Agrave\\\",\\\"Aring\\\",\\\"Atilde\\\",\\\"Ccedilla\\\",\\\"Eacute\\\",\\\"Ecircumflex\\\",\\\"Edieresis\\\",\\\"Egrave\\\",\\\"Iacute\\\",\\\"Icircumflex\\\",\\\"Idieresis\\\",\\\"Igrave\\\",\\\"Ntilde\\\",\\\"Oacute\\\",\\\"Ocircumflex\\\",\\\"Odieresis\\\",\\\"Ograve\\\",\\\"Otilde\\\",\\\"Scaron\\\",\\\"Uacute\\\",\\\"Ucircumflex\\\",\\\"Udieresis\\\",\\\"Ugrave\\\",\\\"Yacute\\\",\\\"Ydieresis\\\",\\\"Zcaron\\\",\\\"aacute\\\",\\\"acircumflex\\\",\\\"adieresis\\\",\\\"agrave\\\",\\\"aring\\\",\\\"atilde\\\",\\\"ccedilla\\\",\\\"eacute\\\",\\\"ecircumflex\\\",\\\"edieresis\\\",\\\"egrave\\\",\\\"iacute\\\",\\\"icircumflex\\\",\\\"idieresis\\\",\\\"igrave\\\",\\\"ntilde\\\",\\\"oacute\\\",\\\"ocircumflex\\\",\\\"odieresis\\\",\\\"ograve\\\",\\\"otilde\\\",\\\"scaron\\\",\\\"uacute\\\",\\\"ucircumflex\\\",\\\"udieresis\\\",\\\"ugrave\\\",\\\"yacute\\\",\\\"ydieresis\\\",\\\"zcaron\\\"];t.ExpertCharset=[\\\".notdef\\\",\\\"space\\\",\\\"exclamsmall\\\",\\\"Hungarumlautsmall\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"ampersandsmall\\\",\\\"Acutesmall\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"questionsmall\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"isuperior\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"parenrightinferior\\\",\\\"Circumflexsmall\\\",\\\"hyphensuperior\\\",\\\"Gravesmall\\\",\\\"Asmall\\\",\\\"Bsmall\\\",\\\"Csmall\\\",\\\"Dsmall\\\",\\\"Esmall\\\",\\\"Fsmall\\\",\\\"Gsmall\\\",\\\"Hsmall\\\",\\\"Ismall\\\",\\\"Jsmall\\\",\\\"Ksmall\\\",\\\"Lsmall\\\",\\\"Msmall\\\",\\\"Nsmall\\\",\\\"Osmall\\\",\\\"Psmall\\\",\\\"Qsmall\\\",\\\"Rsmall\\\",\\\"Ssmall\\\",\\\"Tsmall\\\",\\\"Usmall\\\",\\\"Vsmall\\\",\\\"Wsmall\\\",\\\"Xsmall\\\",\\\"Ysmall\\\",\\\"Zsmall\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"Tildesmall\\\",\\\"exclamdownsmall\\\",\\\"centoldstyle\\\",\\\"Lslashsmall\\\",\\\"Scaronsmall\\\",\\\"Zcaronsmall\\\",\\\"Dieresissmall\\\",\\\"Brevesmall\\\",\\\"Caronsmall\\\",\\\"Dotaccentsmall\\\",\\\"Macronsmall\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"Ogoneksmall\\\",\\\"Ringsmall\\\",\\\"Cedillasmall\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"questiondownsmall\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"zerosuperior\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\",\\\"Agravesmall\\\",\\\"Aacutesmall\\\",\\\"Acircumflexsmall\\\",\\\"Atildesmall\\\",\\\"Adieresissmall\\\",\\\"Aringsmall\\\",\\\"AEsmall\\\",\\\"Ccedillasmall\\\",\\\"Egravesmall\\\",\\\"Eacutesmall\\\",\\\"Ecircumflexsmall\\\",\\\"Edieresissmall\\\",\\\"Igravesmall\\\",\\\"Iacutesmall\\\",\\\"Icircumflexsmall\\\",\\\"Idieresissmall\\\",\\\"Ethsmall\\\",\\\"Ntildesmall\\\",\\\"Ogravesmall\\\",\\\"Oacutesmall\\\",\\\"Ocircumflexsmall\\\",\\\"Otildesmall\\\",\\\"Odieresissmall\\\",\\\"OEsmall\\\",\\\"Oslashsmall\\\",\\\"Ugravesmall\\\",\\\"Uacutesmall\\\",\\\"Ucircumflexsmall\\\",\\\"Udieresissmall\\\",\\\"Yacutesmall\\\",\\\"Thornsmall\\\",\\\"Ydieresissmall\\\"];t.ExpertSubsetCharset=[\\\".notdef\\\",\\\"space\\\",\\\"dollaroldstyle\\\",\\\"dollarsuperior\\\",\\\"parenleftsuperior\\\",\\\"parenrightsuperior\\\",\\\"twodotenleader\\\",\\\"onedotenleader\\\",\\\"comma\\\",\\\"hyphen\\\",\\\"period\\\",\\\"fraction\\\",\\\"zerooldstyle\\\",\\\"oneoldstyle\\\",\\\"twooldstyle\\\",\\\"threeoldstyle\\\",\\\"fouroldstyle\\\",\\\"fiveoldstyle\\\",\\\"sixoldstyle\\\",\\\"sevenoldstyle\\\",\\\"eightoldstyle\\\",\\\"nineoldstyle\\\",\\\"colon\\\",\\\"semicolon\\\",\\\"commasuperior\\\",\\\"threequartersemdash\\\",\\\"periodsuperior\\\",\\\"asuperior\\\",\\\"bsuperior\\\",\\\"centsuperior\\\",\\\"dsuperior\\\",\\\"esuperior\\\",\\\"isuperior\\\",\\\"lsuperior\\\",\\\"msuperior\\\",\\\"nsuperior\\\",\\\"osuperior\\\",\\\"rsuperior\\\",\\\"ssuperior\\\",\\\"tsuperior\\\",\\\"ff\\\",\\\"fi\\\",\\\"fl\\\",\\\"ffi\\\",\\\"ffl\\\",\\\"parenleftinferior\\\",\\\"parenrightinferior\\\",\\\"hyphensuperior\\\",\\\"colonmonetary\\\",\\\"onefitted\\\",\\\"rupiah\\\",\\\"centoldstyle\\\",\\\"figuredash\\\",\\\"hypheninferior\\\",\\\"onequarter\\\",\\\"onehalf\\\",\\\"threequarters\\\",\\\"oneeighth\\\",\\\"threeeighths\\\",\\\"fiveeighths\\\",\\\"seveneighths\\\",\\\"onethird\\\",\\\"twothirds\\\",\\\"zerosuperior\\\",\\\"onesuperior\\\",\\\"twosuperior\\\",\\\"threesuperior\\\",\\\"foursuperior\\\",\\\"fivesuperior\\\",\\\"sixsuperior\\\",\\\"sevensuperior\\\",\\\"eightsuperior\\\",\\\"ninesuperior\\\",\\\"zeroinferior\\\",\\\"oneinferior\\\",\\\"twoinferior\\\",\\\"threeinferior\\\",\\\"fourinferior\\\",\\\"fiveinferior\\\",\\\"sixinferior\\\",\\\"seveninferior\\\",\\\"eightinferior\\\",\\\"nineinferior\\\",\\\"centinferior\\\",\\\"dollarinferior\\\",\\\"periodinferior\\\",\\\"commainferior\\\"]},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.getSerifFonts=t.getNonStdFontMap=t.getGlyphMapForStandardFonts=t.getFontNameToFileMap=void 0;t.getStandardFontName=function getStandardFontName(e){const t=(0,n.normalizeFontName)(e);return i()[t]};t.getSymbolsFonts=t.getSupplementalGlyphMapForCalibri=t.getSupplementalGlyphMapForArialBlack=t.getStdFontMap=void 0;var r=a(8),n=a(18);const i=(0,r.getLookupTableFactory)((function(e){e[\\\"Times-Roman\\\"]=\\\"Times-Roman\\\";e.Helvetica=\\\"Helvetica\\\";e.Courier=\\\"Courier\\\";e.Symbol=\\\"Symbol\\\";e[\\\"Times-Bold\\\"]=\\\"Times-Bold\\\";e[\\\"Helvetica-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"Courier-Bold\\\"]=\\\"Courier-Bold\\\";e.ZapfDingbats=\\\"ZapfDingbats\\\";e[\\\"Times-Italic\\\"]=\\\"Times-Italic\\\";e[\\\"Helvetica-Oblique\\\"]=\\\"Helvetica-Oblique\\\";e[\\\"Courier-Oblique\\\"]=\\\"Courier-Oblique\\\";e[\\\"Times-BoldItalic\\\"]=\\\"Times-BoldItalic\\\";e[\\\"Helvetica-BoldOblique\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"Courier-BoldOblique\\\"]=\\\"Courier-BoldOblique\\\";e.ArialNarrow=\\\"Helvetica\\\";e[\\\"ArialNarrow-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"ArialNarrow-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"ArialNarrow-Italic\\\"]=\\\"Helvetica-Oblique\\\";e.ArialBlack=\\\"Helvetica\\\";e[\\\"ArialBlack-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"ArialBlack-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"ArialBlack-Italic\\\"]=\\\"Helvetica-Oblique\\\";e[\\\"Arial-Black\\\"]=\\\"Helvetica\\\";e[\\\"Arial-Black-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"Arial-Black-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"Arial-Black-Italic\\\"]=\\\"Helvetica-Oblique\\\";e.Arial=\\\"Helvetica\\\";e[\\\"Arial-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"Arial-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"Arial-Italic\\\"]=\\\"Helvetica-Oblique\\\";e[\\\"Arial-BoldItalicMT\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"Arial-BoldMT\\\"]=\\\"Helvetica-Bold\\\";e[\\\"Arial-ItalicMT\\\"]=\\\"Helvetica-Oblique\\\";e.ArialMT=\\\"Helvetica\\\";e[\\\"Courier-BoldItalic\\\"]=\\\"Courier-BoldOblique\\\";e[\\\"Courier-Italic\\\"]=\\\"Courier-Oblique\\\";e.CourierNew=\\\"Courier\\\";e[\\\"CourierNew-Bold\\\"]=\\\"Courier-Bold\\\";e[\\\"CourierNew-BoldItalic\\\"]=\\\"Courier-BoldOblique\\\";e[\\\"CourierNew-Italic\\\"]=\\\"Courier-Oblique\\\";e[\\\"CourierNewPS-BoldItalicMT\\\"]=\\\"Courier-BoldOblique\\\";e[\\\"CourierNewPS-BoldMT\\\"]=\\\"Courier-Bold\\\";e[\\\"CourierNewPS-ItalicMT\\\"]=\\\"Courier-Oblique\\\";e.CourierNewPSMT=\\\"Courier\\\";e[\\\"Helvetica-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"Helvetica-Italic\\\"]=\\\"Helvetica-Oblique\\\";e[\\\"Symbol-Bold\\\"]=\\\"Symbol\\\";e[\\\"Symbol-BoldItalic\\\"]=\\\"Symbol\\\";e[\\\"Symbol-Italic\\\"]=\\\"Symbol\\\";e.TimesNewRoman=\\\"Times-Roman\\\";e[\\\"TimesNewRoman-Bold\\\"]=\\\"Times-Bold\\\";e[\\\"TimesNewRoman-BoldItalic\\\"]=\\\"Times-BoldItalic\\\";e[\\\"TimesNewRoman-Italic\\\"]=\\\"Times-Italic\\\";e.TimesNewRomanPS=\\\"Times-Roman\\\";e[\\\"TimesNewRomanPS-Bold\\\"]=\\\"Times-Bold\\\";e[\\\"TimesNewRomanPS-BoldItalic\\\"]=\\\"Times-BoldItalic\\\";e[\\\"TimesNewRomanPS-BoldItalicMT\\\"]=\\\"Times-BoldItalic\\\";e[\\\"TimesNewRomanPS-BoldMT\\\"]=\\\"Times-Bold\\\";e[\\\"TimesNewRomanPS-Italic\\\"]=\\\"Times-Italic\\\";e[\\\"TimesNewRomanPS-ItalicMT\\\"]=\\\"Times-Italic\\\";e.TimesNewRomanPSMT=\\\"Times-Roman\\\";e[\\\"TimesNewRomanPSMT-Bold\\\"]=\\\"Times-Bold\\\";e[\\\"TimesNewRomanPSMT-BoldItalic\\\"]=\\\"Times-BoldItalic\\\";e[\\\"TimesNewRomanPSMT-Italic\\\"]=\\\"Times-Italic\\\"}));t.getStdFontMap=i;const s=(0,r.getLookupTableFactory)((function(e){e.Courier=\\\"FoxitFixed.pfb\\\";e[\\\"Courier-Bold\\\"]=\\\"FoxitFixedBold.pfb\\\";e[\\\"Courier-BoldOblique\\\"]=\\\"FoxitFixedBoldItalic.pfb\\\";e[\\\"Courier-Oblique\\\"]=\\\"FoxitFixedItalic.pfb\\\";e.Helvetica=\\\"FoxitSans.pfb\\\";e[\\\"Helvetica-Bold\\\"]=\\\"FoxitSansBold.pfb\\\";e[\\\"Helvetica-BoldOblique\\\"]=\\\"FoxitSansBoldItalic.pfb\\\";e[\\\"Helvetica-Oblique\\\"]=\\\"FoxitSansItalic.pfb\\\";e[\\\"Times-Roman\\\"]=\\\"FoxitSerif.pfb\\\";e[\\\"Times-Bold\\\"]=\\\"FoxitSerifBold.pfb\\\";e[\\\"Times-BoldItalic\\\"]=\\\"FoxitSerifBoldItalic.pfb\\\";e[\\\"Times-Italic\\\"]=\\\"FoxitSerifItalic.pfb\\\";e.Symbol=\\\"FoxitSymbol.pfb\\\";e.ZapfDingbats=\\\"FoxitDingbats.pfb\\\";e[\\\"LiberationSans-Regular\\\"]=\\\"LiberationSans-Regular.ttf\\\";e[\\\"LiberationSans-Bold\\\"]=\\\"LiberationSans-Bold.ttf\\\";e[\\\"LiberationSans-Italic\\\"]=\\\"LiberationSans-Italic.ttf\\\";e[\\\"LiberationSans-BoldItalic\\\"]=\\\"LiberationSans-BoldItalic.ttf\\\"}));t.getFontNameToFileMap=s;const o=(0,r.getLookupTableFactory)((function(e){e.Calibri=\\\"Helvetica\\\";e[\\\"Calibri-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"Calibri-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"Calibri-Italic\\\"]=\\\"Helvetica-Oblique\\\";e.CenturyGothic=\\\"Helvetica\\\";e[\\\"CenturyGothic-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"CenturyGothic-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"CenturyGothic-Italic\\\"]=\\\"Helvetica-Oblique\\\";e.ComicSansMS=\\\"Comic Sans MS\\\";e[\\\"ComicSansMS-Bold\\\"]=\\\"Comic Sans MS-Bold\\\";e[\\\"ComicSansMS-BoldItalic\\\"]=\\\"Comic Sans MS-BoldItalic\\\";e[\\\"ComicSansMS-Italic\\\"]=\\\"Comic Sans MS-Italic\\\";e[\\\"ItcSymbol-Bold\\\"]=\\\"Helvetica-Bold\\\";e[\\\"ItcSymbol-BoldItalic\\\"]=\\\"Helvetica-BoldOblique\\\";e[\\\"ItcSymbol-Book\\\"]=\\\"Helvetica\\\";e[\\\"ItcSymbol-BookItalic\\\"]=\\\"Helvetica-Oblique\\\";e[\\\"ItcSymbol-Medium\\\"]=\\\"Helvetica\\\";e[\\\"ItcSymbol-MediumItalic\\\"]=\\\"Helvetica-Oblique\\\";e.LucidaConsole=\\\"Courier\\\";e[\\\"LucidaConsole-Bold\\\"]=\\\"Courier-Bold\\\";e[\\\"LucidaConsole-BoldItalic\\\"]=\\\"Courier-BoldOblique\\\";e[\\\"LucidaConsole-Italic\\\"]=\\\"Courier-Oblique\\\";e[\\\"LucidaSans-Demi\\\"]=\\\"Helvetica-Bold\\\";e[\\\"MS-Gothic\\\"]=\\\"MS Gothic\\\";e[\\\"MS-Gothic-Bold\\\"]=\\\"MS Gothic-Bold\\\";e[\\\"MS-Gothic-BoldItalic\\\"]=\\\"MS Gothic-BoldItalic\\\";e[\\\"MS-Gothic-Italic\\\"]=\\\"MS Gothic-Italic\\\";e[\\\"MS-Mincho\\\"]=\\\"MS Mincho\\\";e[\\\"MS-Mincho-Bold\\\"]=\\\"MS Mincho-Bold\\\";e[\\\"MS-Mincho-BoldItalic\\\"]=\\\"MS Mincho-BoldItalic\\\";e[\\\"MS-Mincho-Italic\\\"]=\\\"MS Mincho-Italic\\\";e[\\\"MS-PGothic\\\"]=\\\"MS PGothic\\\";e[\\\"MS-PGothic-Bold\\\"]=\\\"MS PGothic-Bold\\\";e[\\\"MS-PGothic-BoldItalic\\\"]=\\\"MS PGothic-BoldItalic\\\";e[\\\"MS-PGothic-Italic\\\"]=\\\"MS PGothic-Italic\\\";e[\\\"MS-PMincho\\\"]=\\\"MS PMincho\\\";e[\\\"MS-PMincho-Bold\\\"]=\\\"MS PMincho-Bold\\\";e[\\\"MS-PMincho-BoldItalic\\\"]=\\\"MS PMincho-BoldItalic\\\";e[\\\"MS-PMincho-Italic\\\"]=\\\"MS PMincho-Italic\\\";e.NuptialScript=\\\"Times-Italic\\\";e.SegoeUISymbol=\\\"Helvetica\\\";e.Wingdings=\\\"ZapfDingbats\\\";e[\\\"Wingdings-Regular\\\"]=\\\"ZapfDingbats\\\"}));t.getNonStdFontMap=o;const c=(0,r.getLookupTableFactory)((function(e){e[\\\"Adobe Jenson\\\"]=!0;e[\\\"Adobe Text\\\"]=!0;e.Albertus=!0;e.Aldus=!0;e.Alexandria=!0;e.Algerian=!0;e[\\\"American Typewriter\\\"]=!0;e.Antiqua=!0;e.Apex=!0;e.Arno=!0;e.Aster=!0;e.Aurora=!0;e.Baskerville=!0;e.Bell=!0;e.Bembo=!0;e[\\\"Bembo Schoolbook\\\"]=!0;e.Benguiat=!0;e[\\\"Berkeley Old Style\\\"]=!0;e[\\\"Bernhard Modern\\\"]=!0;e[\\\"Berthold City\\\"]=!0;e.Bodoni=!0;e[\\\"Bauer Bodoni\\\"]=!0;e[\\\"Book Antiqua\\\"]=!0;e.Bookman=!0;e[\\\"Bordeaux Roman\\\"]=!0;e[\\\"Californian FB\\\"]=!0;e.Calisto=!0;e.Calvert=!0;e.Capitals=!0;e.Cambria=!0;e.Cartier=!0;e.Caslon=!0;e.Catull=!0;e.Centaur=!0;e[\\\"Century Old Style\\\"]=!0;e[\\\"Century Schoolbook\\\"]=!0;e.Chaparral=!0;e[\\\"Charis SIL\\\"]=!0;e.Cheltenham=!0;e[\\\"Cholla Slab\\\"]=!0;e.Clarendon=!0;e.Clearface=!0;e.Cochin=!0;e.Colonna=!0;e[\\\"Computer Modern\\\"]=!0;e[\\\"Concrete Roman\\\"]=!0;e.Constantia=!0;e[\\\"Cooper Black\\\"]=!0;e.Corona=!0;e.Ecotype=!0;e.Egyptienne=!0;e.Elephant=!0;e.Excelsior=!0;e.Fairfield=!0;e[\\\"FF Scala\\\"]=!0;e.Folkard=!0;e.Footlight=!0;e.FreeSerif=!0;e[\\\"Friz Quadrata\\\"]=!0;e.Garamond=!0;e.Gentium=!0;e.Georgia=!0;e.Gloucester=!0;e[\\\"Goudy Old Style\\\"]=!0;e[\\\"Goudy Schoolbook\\\"]=!0;e[\\\"Goudy Pro Font\\\"]=!0;e.Granjon=!0;e[\\\"Guardian Egyptian\\\"]=!0;e.Heather=!0;e.Hercules=!0;e[\\\"High Tower Text\\\"]=!0;e.Hiroshige=!0;e[\\\"Hoefler Text\\\"]=!0;e[\\\"Humana Serif\\\"]=!0;e.Imprint=!0;e[\\\"Ionic No. 5\\\"]=!0;e.Janson=!0;e.Joanna=!0;e.Korinna=!0;e.Lexicon=!0;e.LiberationSerif=!0;e[\\\"Liberation Serif\\\"]=!0;e[\\\"Linux Libertine\\\"]=!0;e.Literaturnaya=!0;e.Lucida=!0;e[\\\"Lucida Bright\\\"]=!0;e.Melior=!0;e.Memphis=!0;e.Miller=!0;e.Minion=!0;e.Modern=!0;e[\\\"Mona Lisa\\\"]=!0;e[\\\"Mrs Eaves\\\"]=!0;e[\\\"MS Serif\\\"]=!0;e[\\\"Museo Slab\\\"]=!0;e[\\\"New York\\\"]=!0;e[\\\"Nimbus Roman\\\"]=!0;e[\\\"NPS Rawlinson Roadway\\\"]=!0;e.NuptialScript=!0;e.Palatino=!0;e.Perpetua=!0;e.Plantin=!0;e[\\\"Plantin Schoolbook\\\"]=!0;e.Playbill=!0;e[\\\"Poor Richard\\\"]=!0;e[\\\"Rawlinson Roadway\\\"]=!0;e.Renault=!0;e.Requiem=!0;e.Rockwell=!0;e.Roman=!0;e[\\\"Rotis Serif\\\"]=!0;e.Sabon=!0;e.Scala=!0;e.Seagull=!0;e.Sistina=!0;e.Souvenir=!0;e.STIX=!0;e[\\\"Stone Informal\\\"]=!0;e[\\\"Stone Serif\\\"]=!0;e.Sylfaen=!0;e.Times=!0;e.Trajan=!0;e[\\\"Trinité\\\"]=!0;e[\\\"Trump Mediaeval\\\"]=!0;e.Utopia=!0;e[\\\"Vale Type\\\"]=!0;e[\\\"Bitstream Vera\\\"]=!0;e[\\\"Vera Serif\\\"]=!0;e.Versailles=!0;e.Wanted=!0;e.Weiss=!0;e[\\\"Wide Latin\\\"]=!0;e.Windsor=!0;e.XITS=!0}));t.getSerifFonts=c;const l=(0,r.getLookupTableFactory)((function(e){e.Dingbats=!0;e.Symbol=!0;e.ZapfDingbats=!0}));t.getSymbolsFonts=l;const h=(0,r.getLookupTableFactory)((function(e){e[2]=10;e[3]=32;e[4]=33;e[5]=34;e[6]=35;e[7]=36;e[8]=37;e[9]=38;e[10]=39;e[11]=40;e[12]=41;e[13]=42;e[14]=43;e[15]=44;e[16]=45;e[17]=46;e[18]=47;e[19]=48;e[20]=49;e[21]=50;e[22]=51;e[23]=52;e[24]=53;e[25]=54;e[26]=55;e[27]=56;e[28]=57;e[29]=58;e[30]=894;e[31]=60;e[32]=61;e[33]=62;e[34]=63;e[35]=64;e[36]=65;e[37]=66;e[38]=67;e[39]=68;e[40]=69;e[41]=70;e[42]=71;e[43]=72;e[44]=73;e[45]=74;e[46]=75;e[47]=76;e[48]=77;e[49]=78;e[50]=79;e[51]=80;e[52]=81;e[53]=82;e[54]=83;e[55]=84;e[56]=85;e[57]=86;e[58]=87;e[59]=88;e[60]=89;e[61]=90;e[62]=91;e[63]=92;e[64]=93;e[65]=94;e[66]=95;e[67]=96;e[68]=97;e[69]=98;e[70]=99;e[71]=100;e[72]=101;e[73]=102;e[74]=103;e[75]=104;e[76]=105;e[77]=106;e[78]=107;e[79]=108;e[80]=109;e[81]=110;e[82]=111;e[83]=112;e[84]=113;e[85]=114;e[86]=115;e[87]=116;e[88]=117;e[89]=118;e[90]=119;e[91]=120;e[92]=121;e[93]=122;e[94]=123;e[95]=124;e[96]=125;e[97]=126;e[98]=196;e[99]=197;e[100]=199;e[101]=201;e[102]=209;e[103]=214;e[104]=220;e[105]=225;e[106]=224;e[107]=226;e[108]=228;e[109]=227;e[110]=229;e[111]=231;e[112]=233;e[113]=232;e[114]=234;e[115]=235;e[116]=237;e[117]=236;e[118]=238;e[119]=239;e[120]=241;e[121]=243;e[122]=242;e[123]=244;e[124]=246;e[125]=245;e[126]=250;e[127]=249;e[128]=251;e[129]=252;e[130]=8224;e[131]=176;e[132]=162;e[133]=163;e[134]=167;e[135]=8226;e[136]=182;e[137]=223;e[138]=174;e[139]=169;e[140]=8482;e[141]=180;e[142]=168;e[143]=8800;e[144]=198;e[145]=216;e[146]=8734;e[147]=177;e[148]=8804;e[149]=8805;e[150]=165;e[151]=181;e[152]=8706;e[153]=8721;e[154]=8719;e[156]=8747;e[157]=170;e[158]=186;e[159]=8486;e[160]=230;e[161]=248;e[162]=191;e[163]=161;e[164]=172;e[165]=8730;e[166]=402;e[167]=8776;e[168]=8710;e[169]=171;e[170]=187;e[171]=8230;e[200]=193;e[203]=205;e[210]=218;e[223]=711;e[224]=321;e[225]=322;e[226]=352;e[227]=353;e[228]=381;e[229]=382;e[233]=221;e[234]=253;e[252]=263;e[253]=268;e[254]=269;e[258]=258;e[260]=260;e[261]=261;e[265]=280;e[266]=281;e[267]=282;e[268]=283;e[269]=313;e[275]=323;e[276]=324;e[278]=328;e[283]=344;e[284]=345;e[285]=346;e[286]=347;e[292]=367;e[295]=377;e[296]=378;e[298]=380;e[305]=963;e[306]=964;e[307]=966;e[308]=8215;e[309]=8252;e[310]=8319;e[311]=8359;e[312]=8592;e[313]=8593;e[337]=9552;e[493]=1039;e[494]=1040;e[705]=1524;e[706]=8362;e[710]=64288;e[711]=64298;e[759]=1617;e[761]=1776;e[763]=1778;e[775]=1652;e[777]=1764;e[778]=1780;e[779]=1781;e[780]=1782;e[782]=771;e[783]=64726;e[786]=8363;e[788]=8532;e[790]=768;e[791]=769;e[792]=768;e[795]=803;e[797]=64336;e[798]=64337;e[799]=64342;e[800]=64343;e[801]=64344;e[802]=64345;e[803]=64362;e[804]=64363;e[805]=64364;e[2424]=7821;e[2425]=7822;e[2426]=7823;e[2427]=7824;e[2428]=7825;e[2429]=7826;e[2430]=7827;e[2433]=7682;e[2678]=8045;e[2679]=8046;e[2830]=1552;e[2838]=686;e[2840]=751;e[2842]=753;e[2843]=754;e[2844]=755;e[2846]=757;e[2856]=767;e[2857]=848;e[2858]=849;e[2862]=853;e[2863]=854;e[2864]=855;e[2865]=861;e[2866]=862;e[2906]=7460;e[2908]=7462;e[2909]=7463;e[2910]=7464;e[2912]=7466;e[2913]=7467;e[2914]=7468;e[2916]=7470;e[2917]=7471;e[2918]=7472;e[2920]=7474;e[2921]=7475;e[2922]=7476;e[2924]=7478;e[2925]=7479;e[2926]=7480;e[2928]=7482;e[2929]=7483;e[2930]=7484;e[2932]=7486;e[2933]=7487;e[2934]=7488;e[2936]=7490;e[2937]=7491;e[2938]=7492;e[2940]=7494;e[2941]=7495;e[2942]=7496;e[2944]=7498;e[2946]=7500;e[2948]=7502;e[2950]=7504;e[2951]=7505;e[2952]=7506;e[2954]=7508;e[2955]=7509;e[2956]=7510;e[2958]=7512;e[2959]=7513;e[2960]=7514;e[2962]=7516;e[2963]=7517;e[2964]=7518;e[2966]=7520;e[2967]=7521;e[2968]=7522;e[2970]=7524;e[2971]=7525;e[2972]=7526;e[2974]=7528;e[2975]=7529;e[2976]=7530;e[2978]=1537;e[2979]=1538;e[2980]=1539;e[2982]=1549;e[2983]=1551;e[2984]=1552;e[2986]=1554;e[2987]=1555;e[2988]=1556;e[2990]=1623;e[2991]=1624;e[2995]=1775;e[2999]=1791;e[3002]=64290;e[3003]=64291;e[3004]=64292;e[3006]=64294;e[3007]=64295;e[3008]=64296;e[3011]=1900;e[3014]=8223;e[3015]=8244;e[3017]=7532;e[3018]=7533;e[3019]=7534;e[3075]=7590;e[3076]=7591;e[3079]=7594;e[3080]=7595;e[3083]=7598;e[3084]=7599;e[3087]=7602;e[3088]=7603;e[3091]=7606;e[3092]=7607;e[3095]=7610;e[3096]=7611;e[3099]=7614;e[3100]=7615;e[3103]=7618;e[3104]=7619;e[3107]=8337;e[3108]=8338;e[3116]=1884;e[3119]=1885;e[3120]=1885;e[3123]=1886;e[3124]=1886;e[3127]=1887;e[3128]=1887;e[3131]=1888;e[3132]=1888;e[3135]=1889;e[3136]=1889;e[3139]=1890;e[3140]=1890;e[3143]=1891;e[3144]=1891;e[3147]=1892;e[3148]=1892;e[3153]=580;e[3154]=581;e[3157]=584;e[3158]=585;e[3161]=588;e[3162]=589;e[3165]=891;e[3166]=892;e[3169]=1274;e[3170]=1275;e[3173]=1278;e[3174]=1279;e[3181]=7622;e[3182]=7623;e[3282]=11799;e[3316]=578;e[3379]=42785;e[3393]=1159;e[3416]=8377}));t.getGlyphMapForStandardFonts=h;const u=(0,r.getLookupTableFactory)((function(e){e[227]=322;e[264]=261;e[291]=346}));t.getSupplementalGlyphMapForArialBlack=u;const d=(0,r.getLookupTableFactory)((function(e){e[1]=32;e[4]=65;e[6]=193;e[17]=66;e[18]=67;e[21]=268;e[24]=68;e[28]=69;e[30]=201;e[32]=282;e[38]=70;e[39]=71;e[44]=72;e[47]=73;e[49]=205;e[58]=74;e[60]=75;e[62]=76;e[68]=77;e[69]=78;e[75]=79;e[87]=80;e[89]=81;e[90]=82;e[92]=344;e[94]=83;e[97]=352;e[100]=84;e[104]=85;e[115]=86;e[116]=87;e[121]=88;e[122]=89;e[124]=221;e[127]=90;e[129]=381;e[258]=97;e[260]=225;e[268]=261;e[271]=98;e[272]=99;e[273]=263;e[275]=269;e[282]=100;e[286]=101;e[288]=233;e[290]=283;e[295]=281;e[296]=102;e[336]=103;e[346]=104;e[349]=105;e[351]=237;e[361]=106;e[364]=107;e[367]=108;e[371]=322;e[373]=109;e[374]=110;e[381]=111;e[383]=243;e[393]=112;e[395]=113;e[396]=114;e[398]=345;e[400]=115;e[401]=347;e[403]=353;e[410]=116;e[437]=117;e[448]=118;e[449]=119;e[454]=120;e[455]=121;e[457]=253;e[460]=122;e[462]=382;e[463]=380;e[853]=44;e[855]=58;e[856]=46;e[876]=47;e[878]=45;e[882]=45;e[894]=40;e[895]=41;e[896]=91;e[897]=93;e[923]=64;e[1004]=48;e[1005]=49;e[1006]=50;e[1007]=51;e[1008]=52;e[1009]=53;e[1010]=54;e[1011]=55;e[1012]=56;e[1013]=57;e[1081]=37;e[1085]=43;e[1086]=45}));t.getSupplementalGlyphMapForCalibri=d},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ToUnicodeMap=t.IdentityToUnicodeMap=void 0;var r=a(2);t.ToUnicodeMap=class ToUnicodeMap{constructor(e=[]){this._map=e}get length(){return this._map.length}forEach(e){for(const t in this._map)e(t,this._map[t].charCodeAt(0))}has(e){return void 0!==this._map[e]}get(e){return this._map[e]}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const a in t)if(t[a]===e)return 0|a;return-1}amend(e){for(const t in e)this._map[t]=e[t]}};t.IdentityToUnicodeMap=class IdentityToUnicodeMap{constructor(e,t){this.firstChar=e;this.lastChar=t}get length(){return this.lastChar+1-this.firstChar}forEach(e){for(let t=this.firstChar,a=this.lastChar;t<=a;t++)e(t,t)}has(e){return this.firstChar<=e&&e<=this.lastChar}get(e){if(this.firstChar<=e&&e<=this.lastChar)return String.fromCharCode(e)}charCodeOf(e){return Number.isInteger(e)&&e>=this.firstChar&&e<=this.lastChar?e:-1}amend(e){(0,r.unreachable)(\\\"Should not call amend()\\\")}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.CFFFont=void 0;var r=a(45),n=a(18),i=a(2);t.CFFFont=class CFFFont{constructor(e,t){this.properties=t;const a=new r.CFFParser(e,t,n.SEAC_ANALYSIS_ENABLED);this.cff=a.parse();this.cff.duplicateFirstGlyph();const s=new r.CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=s.compile()}catch(a){(0,i.warn)(\\\"Failed to compile font \\\"+t.loadedName);this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,a=e.charset.charset;let r,i;if(t.composite){r=Object.create(null);let n;if(e.isCIDFont)for(i=0;i=0){const r=a[t];r&&(n[e]=r)}}n.length>0&&(this.properties.builtInEncoding=n)}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.FontRendererFactory=void 0;var r=a(2),n=a(45),i=a(20),s=a(19),o=a(10);function getUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function getUint16(e,t){return e[t]<<8|e[t+1]}function getInt16(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function getInt8(e,t){return e[t]<<24>>24}function getFloat214(e,t){return getInt16(e,t)/16384}function getSubroutineBias(e){const t=e.length;let a=32768;t<1240?a=107:t<33900&&(a=1131);return a}function parseCmap(e,t,a){const n=1===getUint16(e,t+2)?getUint32(e,t+8):getUint32(e,t+16),i=getUint16(e,t+n);let s,o,c;if(4===i){getUint16(e,t+n+2);const a=getUint16(e,t+n+6)>>1;o=t+n+14;s=[];for(c=0;c>1;a0;)h.push({flags:i})}for(a=0;a>1;S=!0;break;case 4:c+=i.pop();moveTo(o,c);S=!0;break;case 5:for(;i.length>0;){o+=i.shift();c+=i.shift();lineTo(o,c)}break;case 6:for(;i.length>0;){o+=i.shift();lineTo(o,c);if(0===i.length)break;c+=i.shift();lineTo(o,c)}break;case 7:for(;i.length>0;){c+=i.shift();lineTo(o,c);if(0===i.length)break;o+=i.shift();lineTo(o,c)}break;case 8:for(;i.length>0;){u=o+i.shift();f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+i.shift();bezierCurveTo(u,f,d,g,o,c)}break;case 10:y=i.pop();w=null;if(a.isCFFCIDFont){const e=a.fdSelect.getFDIndex(n);if(e>=0&&eMath.abs(c-t)?o+=i.shift():c+=i.shift();bezierCurveTo(u,f,d,g,o,c);break;default:throw new r.FormatError(`unknown operator: 12 ${x}`)}break;case 14:if(i.length>=4){const e=i.pop(),r=i.pop();c=i.pop();o=i.pop();t.push({cmd:\\\"save\\\"},{cmd:\\\"translate\\\",args:[o,c]});let n=lookupCmap(a.cmap,String.fromCharCode(a.glyphNameMap[s.StandardEncoding[e]]));compileCharString(a.glyphs[n.glyphId],t,a,n.glyphId);t.push({cmd:\\\"restore\\\"});n=lookupCmap(a.cmap,String.fromCharCode(a.glyphNameMap[s.StandardEncoding[r]]));compileCharString(a.glyphs[n.glyphId],t,a,n.glyphId)}return;case 19:case 20:l+=i.length>>1;h+=l+7>>3;S=!0;break;case 21:c+=i.pop();o+=i.pop();moveTo(o,c);S=!0;break;case 22:o+=i.pop();moveTo(o,c);S=!0;break;case 24:for(;i.length>2;){u=o+i.shift();f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+i.shift();bezierCurveTo(u,f,d,g,o,c)}o+=i.shift();c+=i.shift();lineTo(o,c);break;case 25:for(;i.length>6;){o+=i.shift();c+=i.shift();lineTo(o,c)}u=o+i.shift();f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+i.shift();bezierCurveTo(u,f,d,g,o,c);break;case 26:i.length%2&&(o+=i.shift());for(;i.length>0;){u=o;f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d;c=g+i.shift();bezierCurveTo(u,f,d,g,o,c)}break;case 27:i.length%2&&(c+=i.shift());for(;i.length>0;){u=o+i.shift();f=c;d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g;bezierCurveTo(u,f,d,g,o,c)}break;case 28:i.push((e[h]<<24|e[h+1]<<16)>>16);h+=2;break;case 29:y=i.pop()+a.gsubrsBias;w=a.gsubrs[y];w&&parse(w);break;case 30:for(;i.length>0;){u=o;f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c);if(0===i.length)break;u=o+i.shift();f=c;d=u+i.shift();g=f+i.shift();c=g+i.shift();o=d+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c)}break;case 31:for(;i.length>0;){u=o+i.shift();f=c;d=u+i.shift();g=f+i.shift();c=g+i.shift();o=d+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c);if(0===i.length)break;u=o;f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c)}break;default:if(x<32)throw new r.FormatError(`unknown operator: ${x}`);if(x<247)i.push(x-139);else if(x<251)i.push(256*(x-247)+e[h++]+108);else if(x<255)i.push(256*-(x-251)-e[h++]-108);else{i.push((e[h]<<24|e[h+1]<<16|e[h+2]<<8|e[h+3])/65536);h+=4}}S&&(i.length=0)}}(e)}const c=[];class CompiledFont{constructor(e){this.constructor===CompiledFont&&(0,r.unreachable)(\\\"Cannot initialize CompiledFont.\\\");this.fontMatrix=e;this.compiledGlyphs=Object.create(null);this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(e){const{charCode:t,glyphId:a}=lookupCmap(this.cmap,e);let r=this.compiledGlyphs[a];if(!r)try{r=this.compileGlyph(this.glyphs[a],a);this.compiledGlyphs[a]=r}catch(e){this.compiledGlyphs[a]=c;void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=a);throw e}void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=a);return r}compileGlyph(e,t){if(!e||0===e.length||14===e[0])return c;let a=this.fontMatrix;if(this.isCFFCIDFont){const e=this.fdSelect.getFDIndex(t);if(e>=0&&e2*getUint16(e,t)}const i=[];let s=n(t,0);for(let a=r;a{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.getMetrics=t.getFontBasicMetrics=void 0;var r=a(8);const n=(0,r.getLookupTableFactory)((function(e){e.Courier=600;e[\\\"Courier-Bold\\\"]=600;e[\\\"Courier-BoldOblique\\\"]=600;e[\\\"Courier-Oblique\\\"]=600;e.Helvetica=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=278;e.quotedbl=355;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=667;e.quoteright=222;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=278;e.semicolon=278;e.less=584;e.equal=584;e.greater=584;e.question=556;e.at=1015;e.A=667;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=500;e.K=667;e.L=556;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=278;e.backslash=278;e.bracketright=278;e.asciicircum=469;e.underscore=556;e.quoteleft=222;e.a=556;e.b=556;e.c=500;e.d=556;e.e=556;e.f=278;e.g=556;e.h=556;e.i=222;e.j=222;e.k=500;e.l=222;e.m=833;e.n=556;e.o=556;e.p=556;e.q=556;e.r=333;e.s=500;e.t=278;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=500;e.braceleft=334;e.bar=260;e.braceright=334;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=191;e.quotedblleft=333;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=537;e.bullet=350;e.quotesinglbase=222;e.quotedblbase=333;e.quotedblright=333;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=556;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=222;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=556;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=667;e.aacute=556;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=500;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=500;e.aring=556;e.Ncommaaccent=722;e.lacute=222;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=500;e.scedilla=500;e.iacute=278;e.lozenge=471;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=556;e.Amacron=667;e.rcaron=333;e.ccedilla=500;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=643;e.Umacron=722;e.uring=556;e.threesuperior=333;e.Ograve=778;e.Agrave=667;e.Abreve=667;e.multiply=584;e.uacute=556;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=500;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=260;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=333;e.omacron=556;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=222;e.tcaron=317;e.eogonek=556;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=556;e.zacute=500;e.iogonek=222;e.Oacute=778;e.oacute=556;e.amacron=556;e.sacute=500;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=333;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=556;e.Eogonek=667;e.dcroat=556;e.threequarters=834;e.Scedilla=667;e.lcaron=299;e.Kcommaaccent=667;e.Lacute=556;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=556;e.onehalf=834;e.lessequal=549;e.ocircumflex=556;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=556;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=556;e.Ccaron=722;e.ugrave=556;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=556;e.Rcommaaccent=722;e.Lcommaaccent=556;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=500;e.minus=584;e.Icircumflex=278;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=584;e.odieresis=556;e.udieresis=556;e.notequal=549;e.gcommaaccent=556;e.eth=556;e.zcaron=500;e.ncommaaccent=556;e.onesuperior=333;e.imacron=278;e.Euro=556}));e[\\\"Helvetica-Bold\\\"]=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=333;e.quotedbl=474;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=722;e.quoteright=278;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=333;e.semicolon=333;e.less=584;e.equal=584;e.greater=584;e.question=611;e.at=975;e.A=722;e.B=722;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=556;e.K=722;e.L=611;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=584;e.underscore=556;e.quoteleft=278;e.a=556;e.b=611;e.c=556;e.d=611;e.e=556;e.f=333;e.g=611;e.h=611;e.i=278;e.j=278;e.k=556;e.l=278;e.m=889;e.n=611;e.o=611;e.p=611;e.q=611;e.r=389;e.s=556;e.t=333;e.u=611;e.v=556;e.w=778;e.x=556;e.y=556;e.z=500;e.braceleft=389;e.bar=280;e.braceright=389;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=238;e.quotedblleft=500;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=611;e.fl=611;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=556;e.bullet=350;e.quotesinglbase=278;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=611;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=278;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=611;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=722;e.aacute=556;e.Ucircumflex=722;e.yacute=556;e.scommaaccent=556;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=611;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=556;e.aring=556;e.Ncommaaccent=722;e.lacute=278;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=556;e.scedilla=556;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=611;e.acircumflex=556;e.Amacron=722;e.rcaron=389;e.ccedilla=556;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=743;e.Umacron=722;e.uring=611;e.threesuperior=333;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=584;e.uacute=611;e.Tcaron=611;e.partialdiff=494;e.ydieresis=556;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=556;e.nacute=611;e.umacron=611;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=280;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=611;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=389;e.eogonek=556;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=556;e.zacute=500;e.iogonek=278;e.Oacute=778;e.oacute=611;e.amacron=556;e.sacute=556;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=611;e.twosuperior=333;e.Odieresis=778;e.mu=611;e.igrave=278;e.ohungarumlaut=611;e.Eogonek=667;e.dcroat=611;e.threequarters=834;e.Scedilla=667;e.lcaron=400;e.Kcommaaccent=722;e.Lacute=611;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=611;e.onehalf=834;e.lessequal=549;e.ocircumflex=611;e.ntilde=611;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=611;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=611;e.Ccaron=722;e.ugrave=611;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=611;e.Rcommaaccent=722;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=556;e.minus=584;e.Icircumflex=278;e.ncaron=611;e.tcommaaccent=333;e.logicalnot=584;e.odieresis=611;e.udieresis=611;e.notequal=549;e.gcommaaccent=611;e.eth=611;e.zcaron=500;e.ncommaaccent=611;e.onesuperior=333;e.imacron=278;e.Euro=556}));e[\\\"Helvetica-BoldOblique\\\"]=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=333;e.quotedbl=474;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=722;e.quoteright=278;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=333;e.semicolon=333;e.less=584;e.equal=584;e.greater=584;e.question=611;e.at=975;e.A=722;e.B=722;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=556;e.K=722;e.L=611;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=584;e.underscore=556;e.quoteleft=278;e.a=556;e.b=611;e.c=556;e.d=611;e.e=556;e.f=333;e.g=611;e.h=611;e.i=278;e.j=278;e.k=556;e.l=278;e.m=889;e.n=611;e.o=611;e.p=611;e.q=611;e.r=389;e.s=556;e.t=333;e.u=611;e.v=556;e.w=778;e.x=556;e.y=556;e.z=500;e.braceleft=389;e.bar=280;e.braceright=389;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=238;e.quotedblleft=500;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=611;e.fl=611;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=556;e.bullet=350;e.quotesinglbase=278;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=611;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=278;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=611;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=722;e.aacute=556;e.Ucircumflex=722;e.yacute=556;e.scommaaccent=556;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=611;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=556;e.aring=556;e.Ncommaaccent=722;e.lacute=278;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=556;e.scedilla=556;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=611;e.acircumflex=556;e.Amacron=722;e.rcaron=389;e.ccedilla=556;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=743;e.Umacron=722;e.uring=611;e.threesuperior=333;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=584;e.uacute=611;e.Tcaron=611;e.partialdiff=494;e.ydieresis=556;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=556;e.nacute=611;e.umacron=611;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=280;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=611;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=389;e.eogonek=556;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=556;e.zacute=500;e.iogonek=278;e.Oacute=778;e.oacute=611;e.amacron=556;e.sacute=556;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=611;e.twosuperior=333;e.Odieresis=778;e.mu=611;e.igrave=278;e.ohungarumlaut=611;e.Eogonek=667;e.dcroat=611;e.threequarters=834;e.Scedilla=667;e.lcaron=400;e.Kcommaaccent=722;e.Lacute=611;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=611;e.onehalf=834;e.lessequal=549;e.ocircumflex=611;e.ntilde=611;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=611;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=611;e.Ccaron=722;e.ugrave=611;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=611;e.Rcommaaccent=722;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=556;e.minus=584;e.Icircumflex=278;e.ncaron=611;e.tcommaaccent=333;e.logicalnot=584;e.odieresis=611;e.udieresis=611;e.notequal=549;e.gcommaaccent=611;e.eth=611;e.zcaron=500;e.ncommaaccent=611;e.onesuperior=333;e.imacron=278;e.Euro=556}));e[\\\"Helvetica-Oblique\\\"]=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=278;e.quotedbl=355;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=667;e.quoteright=222;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=278;e.semicolon=278;e.less=584;e.equal=584;e.greater=584;e.question=556;e.at=1015;e.A=667;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=500;e.K=667;e.L=556;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=278;e.backslash=278;e.bracketright=278;e.asciicircum=469;e.underscore=556;e.quoteleft=222;e.a=556;e.b=556;e.c=500;e.d=556;e.e=556;e.f=278;e.g=556;e.h=556;e.i=222;e.j=222;e.k=500;e.l=222;e.m=833;e.n=556;e.o=556;e.p=556;e.q=556;e.r=333;e.s=500;e.t=278;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=500;e.braceleft=334;e.bar=260;e.braceright=334;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=191;e.quotedblleft=333;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=537;e.bullet=350;e.quotesinglbase=222;e.quotedblbase=333;e.quotedblright=333;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=556;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=222;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=556;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=667;e.aacute=556;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=500;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=500;e.aring=556;e.Ncommaaccent=722;e.lacute=222;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=500;e.scedilla=500;e.iacute=278;e.lozenge=471;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=556;e.Amacron=667;e.rcaron=333;e.ccedilla=500;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=643;e.Umacron=722;e.uring=556;e.threesuperior=333;e.Ograve=778;e.Agrave=667;e.Abreve=667;e.multiply=584;e.uacute=556;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=500;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=260;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=333;e.omacron=556;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=222;e.tcaron=317;e.eogonek=556;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=556;e.zacute=500;e.iogonek=222;e.Oacute=778;e.oacute=556;e.amacron=556;e.sacute=500;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=333;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=556;e.Eogonek=667;e.dcroat=556;e.threequarters=834;e.Scedilla=667;e.lcaron=299;e.Kcommaaccent=667;e.Lacute=556;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=556;e.onehalf=834;e.lessequal=549;e.ocircumflex=556;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=556;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=556;e.Ccaron=722;e.ugrave=556;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=556;e.Rcommaaccent=722;e.Lcommaaccent=556;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=500;e.minus=584;e.Icircumflex=278;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=584;e.odieresis=556;e.udieresis=556;e.notequal=549;e.gcommaaccent=556;e.eth=556;e.zcaron=500;e.ncommaaccent=556;e.onesuperior=333;e.imacron=278;e.Euro=556}));e.Symbol=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.universal=713;e.numbersign=500;e.existential=549;e.percent=833;e.ampersand=778;e.suchthat=439;e.parenleft=333;e.parenright=333;e.asteriskmath=500;e.plus=549;e.comma=250;e.minus=549;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=278;e.semicolon=278;e.less=549;e.equal=549;e.greater=549;e.question=444;e.congruent=549;e.Alpha=722;e.Beta=667;e.Chi=722;e.Delta=612;e.Epsilon=611;e.Phi=763;e.Gamma=603;e.Eta=722;e.Iota=333;e.theta1=631;e.Kappa=722;e.Lambda=686;e.Mu=889;e.Nu=722;e.Omicron=722;e.Pi=768;e.Theta=741;e.Rho=556;e.Sigma=592;e.Tau=611;e.Upsilon=690;e.sigma1=439;e.Omega=768;e.Xi=645;e.Psi=795;e.Zeta=611;e.bracketleft=333;e.therefore=863;e.bracketright=333;e.perpendicular=658;e.underscore=500;e.radicalex=500;e.alpha=631;e.beta=549;e.chi=549;e.delta=494;e.epsilon=439;e.phi=521;e.gamma=411;e.eta=603;e.iota=329;e.phi1=603;e.kappa=549;e.lambda=549;e.mu=576;e.nu=521;e.omicron=549;e.pi=549;e.theta=521;e.rho=549;e.sigma=603;e.tau=439;e.upsilon=576;e.omega1=713;e.omega=686;e.xi=493;e.psi=686;e.zeta=494;e.braceleft=480;e.bar=200;e.braceright=480;e.similar=549;e.Euro=750;e.Upsilon1=620;e.minute=247;e.lessequal=549;e.fraction=167;e.infinity=713;e.florin=500;e.club=753;e.diamond=753;e.heart=753;e.spade=753;e.arrowboth=1042;e.arrowleft=987;e.arrowup=603;e.arrowright=987;e.arrowdown=603;e.degree=400;e.plusminus=549;e.second=411;e.greaterequal=549;e.multiply=549;e.proportional=713;e.partialdiff=494;e.bullet=460;e.divide=549;e.notequal=549;e.equivalence=549;e.approxequal=549;e.ellipsis=1e3;e.arrowvertex=603;e.arrowhorizex=1e3;e.carriagereturn=658;e.aleph=823;e.Ifraktur=686;e.Rfraktur=795;e.weierstrass=987;e.circlemultiply=768;e.circleplus=768;e.emptyset=823;e.intersection=768;e.union=768;e.propersuperset=713;e.reflexsuperset=713;e.notsubset=713;e.propersubset=713;e.reflexsubset=713;e.element=713;e.notelement=713;e.angle=768;e.gradient=713;e.registerserif=790;e.copyrightserif=790;e.trademarkserif=890;e.product=823;e.radical=549;e.dotmath=250;e.logicalnot=713;e.logicaland=603;e.logicalor=603;e.arrowdblboth=1042;e.arrowdblleft=987;e.arrowdblup=603;e.arrowdblright=987;e.arrowdbldown=603;e.lozenge=494;e.angleleft=329;e.registersans=790;e.copyrightsans=790;e.trademarksans=786;e.summation=713;e.parenlefttp=384;e.parenleftex=384;e.parenleftbt=384;e.bracketlefttp=384;e.bracketleftex=384;e.bracketleftbt=384;e.bracelefttp=494;e.braceleftmid=494;e.braceleftbt=494;e.braceex=494;e.angleright=329;e.integral=274;e.integraltp=686;e.integralex=686;e.integralbt=686;e.parenrighttp=384;e.parenrightex=384;e.parenrightbt=384;e.bracketrighttp=384;e.bracketrightex=384;e.bracketrightbt=384;e.bracerighttp=494;e.bracerightmid=494;e.bracerightbt=494;e.apple=790}));e[\\\"Times-Roman\\\"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.quotedbl=408;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=564;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=278;e.semicolon=278;e.less=564;e.equal=564;e.greater=564;e.question=444;e.at=921;e.A=722;e.B=667;e.C=667;e.D=722;e.E=611;e.F=556;e.G=722;e.H=722;e.I=333;e.J=389;e.K=722;e.L=611;e.M=889;e.N=722;e.O=722;e.P=556;e.Q=722;e.R=667;e.S=556;e.T=611;e.U=722;e.V=722;e.W=944;e.X=722;e.Y=722;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=469;e.underscore=500;e.quoteleft=333;e.a=444;e.b=500;e.c=444;e.d=500;e.e=444;e.f=333;e.g=500;e.h=500;e.i=278;e.j=278;e.k=500;e.l=278;e.m=778;e.n=500;e.o=500;e.p=500;e.q=500;e.r=333;e.s=389;e.t=278;e.u=500;e.v=500;e.w=722;e.x=500;e.y=500;e.z=444;e.braceleft=480;e.bar=200;e.braceright=480;e.asciitilde=541;e.exclamdown=333;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=180;e.quotedblleft=444;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=453;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=444;e.quotedblright=444;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=444;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=889;e.ordfeminine=276;e.Lslash=611;e.Oslash=722;e.OE=889;e.ordmasculine=310;e.ae=667;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=500;e.Idieresis=333;e.eacute=444;e.abreve=444;e.uhungarumlaut=500;e.ecaron=444;e.Ydieresis=722;e.divide=564;e.Yacute=722;e.Acircumflex=722;e.aacute=444;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=444;e.Uacute=722;e.uogonek=500;e.Edieresis=611;e.Dcroat=722;e.commaaccent=250;e.copyright=760;e.Emacron=611;e.ccaron=444;e.aring=444;e.Ncommaaccent=722;e.lacute=278;e.agrave=444;e.Tcommaaccent=611;e.Cacute=667;e.atilde=444;e.Edotaccent=611;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=471;e.Rcaron=667;e.Gcommaaccent=722;e.ucircumflex=500;e.acircumflex=444;e.Amacron=722;e.rcaron=333;e.ccedilla=444;e.Zdotaccent=611;e.Thorn=556;e.Omacron=722;e.Racute=667;e.Sacute=556;e.dcaron=588;e.Umacron=722;e.uring=500;e.threesuperior=300;e.Ograve=722;e.Agrave=722;e.Abreve=722;e.multiply=564;e.uacute=500;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=611;e.adieresis=444;e.edieresis=444;e.cacute=444;e.nacute=500;e.umacron=500;e.Ncaron=722;e.Iacute=333;e.plusminus=564;e.brokenbar=200;e.registered=760;e.Gbreve=722;e.Idotaccent=333;e.summation=600;e.Egrave=611;e.racute=333;e.omacron=500;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=326;e.eogonek=444;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=444;e.zacute=444;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=444;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=500;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=611;e.dcroat=500;e.threequarters=750;e.Scedilla=556;e.lcaron=344;e.Kcommaaccent=722;e.Lacute=611;e.trademark=980;e.edotaccent=444;e.Igrave=333;e.Imacron=333;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=500;e.Uhungarumlaut=722;e.Eacute=611;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=500;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=667;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=722;e.zdotaccent=444;e.Ecaron=611;e.Iogonek=333;e.kcommaaccent=500;e.minus=564;e.Icircumflex=333;e.ncaron=500;e.tcommaaccent=278;e.logicalnot=564;e.odieresis=500;e.udieresis=500;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=444;e.ncommaaccent=500;e.onesuperior=300;e.imacron=278;e.Euro=500}));e[\\\"Times-Bold\\\"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.quotedbl=555;e.numbersign=500;e.dollar=500;e.percent=1e3;e.ampersand=833;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=570;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=570;e.equal=570;e.greater=570;e.question=500;e.at=930;e.A=722;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=778;e.I=389;e.J=500;e.K=778;e.L=667;e.M=944;e.N=722;e.O=778;e.P=611;e.Q=778;e.R=722;e.S=556;e.T=667;e.U=722;e.V=722;e.W=1e3;e.X=722;e.Y=722;e.Z=667;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=581;e.underscore=500;e.quoteleft=333;e.a=500;e.b=556;e.c=444;e.d=556;e.e=444;e.f=333;e.g=500;e.h=556;e.i=278;e.j=333;e.k=556;e.l=278;e.m=833;e.n=556;e.o=500;e.p=556;e.q=556;e.r=444;e.s=389;e.t=333;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=444;e.braceleft=394;e.bar=220;e.braceright=394;e.asciitilde=520;e.exclamdown=333;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=278;e.quotedblleft=500;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=540;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=300;e.Lslash=667;e.Oslash=778;e.OE=1e3;e.ordmasculine=330;e.ae=722;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=556;e.Idieresis=389;e.eacute=444;e.abreve=500;e.uhungarumlaut=556;e.ecaron=444;e.Ydieresis=722;e.divide=570;e.Yacute=722;e.Acircumflex=722;e.aacute=500;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=747;e.Emacron=667;e.ccaron=444;e.aring=500;e.Ncommaaccent=722;e.lacute=278;e.agrave=500;e.Tcommaaccent=667;e.Cacute=722;e.atilde=500;e.Edotaccent=667;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=500;e.Amacron=722;e.rcaron=444;e.ccedilla=444;e.Zdotaccent=667;e.Thorn=611;e.Omacron=778;e.Racute=722;e.Sacute=556;e.dcaron=672;e.Umacron=722;e.uring=556;e.threesuperior=300;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=570;e.uacute=556;e.Tcaron=667;e.partialdiff=494;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=389;e.plusminus=570;e.brokenbar=220;e.registered=747;e.Gbreve=778;e.Idotaccent=389;e.summation=600;e.Egrave=667;e.racute=444;e.omacron=500;e.Zacute=667;e.Zcaron=667;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=416;e.eogonek=444;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=444;e.zacute=444;e.iogonek=278;e.Oacute=778;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=300;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=667;e.dcroat=556;e.threequarters=750;e.Scedilla=556;e.lcaron=394;e.Kcommaaccent=778;e.Lacute=667;e.trademark=1e3;e.edotaccent=444;e.Igrave=389;e.Imacron=389;e.Lcaron=667;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=778;e.degree=400;e.ograve=500;e.Ccaron=722;e.ugrave=556;e.radical=549;e.Dcaron=722;e.rcommaaccent=444;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=722;e.Lcommaaccent=667;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=444;e.Ecaron=667;e.Iogonek=389;e.kcommaaccent=556;e.minus=570;e.Icircumflex=389;e.ncaron=556;e.tcommaaccent=333;e.logicalnot=570;e.odieresis=500;e.udieresis=556;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=444;e.ncommaaccent=556;e.onesuperior=300;e.imacron=278;e.Euro=500}));e[\\\"Times-BoldItalic\\\"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=389;e.quotedbl=555;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=570;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=570;e.equal=570;e.greater=570;e.question=500;e.at=832;e.A=667;e.B=667;e.C=667;e.D=722;e.E=667;e.F=667;e.G=722;e.H=778;e.I=389;e.J=500;e.K=667;e.L=611;e.M=889;e.N=722;e.O=722;e.P=611;e.Q=722;e.R=667;e.S=556;e.T=611;e.U=722;e.V=667;e.W=889;e.X=667;e.Y=611;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=570;e.underscore=500;e.quoteleft=333;e.a=500;e.b=500;e.c=444;e.d=500;e.e=444;e.f=333;e.g=500;e.h=556;e.i=278;e.j=278;e.k=500;e.l=278;e.m=778;e.n=556;e.o=500;e.p=500;e.q=500;e.r=389;e.s=389;e.t=278;e.u=556;e.v=444;e.w=667;e.x=500;e.y=444;e.z=389;e.braceleft=348;e.bar=220;e.braceright=348;e.asciitilde=570;e.exclamdown=389;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=278;e.quotedblleft=500;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=500;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=944;e.ordfeminine=266;e.Lslash=611;e.Oslash=722;e.OE=944;e.ordmasculine=300;e.ae=722;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=500;e.Idieresis=389;e.eacute=444;e.abreve=500;e.uhungarumlaut=556;e.ecaron=444;e.Ydieresis=611;e.divide=570;e.Yacute=611;e.Acircumflex=667;e.aacute=500;e.Ucircumflex=722;e.yacute=444;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=747;e.Emacron=667;e.ccaron=444;e.aring=500;e.Ncommaaccent=722;e.lacute=278;e.agrave=500;e.Tcommaaccent=611;e.Cacute=667;e.atilde=500;e.Edotaccent=667;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=494;e.Rcaron=667;e.Gcommaaccent=722;e.ucircumflex=556;e.acircumflex=500;e.Amacron=667;e.rcaron=389;e.ccedilla=444;e.Zdotaccent=611;e.Thorn=611;e.Omacron=722;e.Racute=667;e.Sacute=556;e.dcaron=608;e.Umacron=722;e.uring=556;e.threesuperior=300;e.Ograve=722;e.Agrave=667;e.Abreve=667;e.multiply=570;e.uacute=556;e.Tcaron=611;e.partialdiff=494;e.ydieresis=444;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=389;e.plusminus=570;e.brokenbar=220;e.registered=747;e.Gbreve=722;e.Idotaccent=389;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=500;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=366;e.eogonek=444;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=444;e.zacute=389;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=576;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=667;e.dcroat=500;e.threequarters=750;e.Scedilla=556;e.lcaron=382;e.Kcommaaccent=667;e.Lacute=611;e.trademark=1e3;e.edotaccent=444;e.Igrave=389;e.Imacron=389;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=556;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=667;e.Lcommaaccent=611;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=722;e.zdotaccent=389;e.Ecaron=667;e.Iogonek=389;e.kcommaaccent=500;e.minus=606;e.Icircumflex=389;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=606;e.odieresis=500;e.udieresis=556;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=389;e.ncommaaccent=556;e.onesuperior=300;e.imacron=278;e.Euro=500}));e[\\\"Times-Italic\\\"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.quotedbl=420;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=675;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=675;e.equal=675;e.greater=675;e.question=500;e.at=920;e.A=611;e.B=611;e.C=667;e.D=722;e.E=611;e.F=611;e.G=722;e.H=722;e.I=333;e.J=444;e.K=667;e.L=556;e.M=833;e.N=667;e.O=722;e.P=611;e.Q=722;e.R=611;e.S=500;e.T=556;e.U=722;e.V=611;e.W=833;e.X=611;e.Y=556;e.Z=556;e.bracketleft=389;e.backslash=278;e.bracketright=389;e.asciicircum=422;e.underscore=500;e.quoteleft=333;e.a=500;e.b=500;e.c=444;e.d=500;e.e=444;e.f=278;e.g=500;e.h=500;e.i=278;e.j=278;e.k=444;e.l=278;e.m=722;e.n=500;e.o=500;e.p=500;e.q=500;e.r=389;e.s=389;e.t=278;e.u=500;e.v=444;e.w=667;e.x=444;e.y=444;e.z=389;e.braceleft=400;e.bar=275;e.braceright=400;e.asciitilde=541;e.exclamdown=389;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=214;e.quotedblleft=556;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=523;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=556;e.quotedblright=556;e.guillemotright=500;e.ellipsis=889;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=889;e.AE=889;e.ordfeminine=276;e.Lslash=556;e.Oslash=722;e.OE=944;e.ordmasculine=310;e.ae=667;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=667;e.germandbls=500;e.Idieresis=333;e.eacute=444;e.abreve=500;e.uhungarumlaut=500;e.ecaron=444;e.Ydieresis=556;e.divide=675;e.Yacute=556;e.Acircumflex=611;e.aacute=500;e.Ucircumflex=722;e.yacute=444;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=500;e.Edieresis=611;e.Dcroat=722;e.commaaccent=250;e.copyright=760;e.Emacron=611;e.ccaron=444;e.aring=500;e.Ncommaaccent=667;e.lacute=278;e.agrave=500;e.Tcommaaccent=556;e.Cacute=667;e.atilde=500;e.Edotaccent=611;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=471;e.Rcaron=611;e.Gcommaaccent=722;e.ucircumflex=500;e.acircumflex=500;e.Amacron=611;e.rcaron=389;e.ccedilla=444;e.Zdotaccent=556;e.Thorn=611;e.Omacron=722;e.Racute=611;e.Sacute=500;e.dcaron=544;e.Umacron=722;e.uring=500;e.threesuperior=300;e.Ograve=722;e.Agrave=611;e.Abreve=611;e.multiply=675;e.uacute=500;e.Tcaron=556;e.partialdiff=476;e.ydieresis=444;e.Nacute=667;e.icircumflex=278;e.Ecircumflex=611;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=500;e.umacron=500;e.Ncaron=667;e.Iacute=333;e.plusminus=675;e.brokenbar=275;e.registered=760;e.Gbreve=722;e.Idotaccent=333;e.summation=600;e.Egrave=611;e.racute=389;e.omacron=500;e.Zacute=556;e.Zcaron=556;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=300;e.eogonek=444;e.Uogonek=722;e.Aacute=611;e.Adieresis=611;e.egrave=444;e.zacute=389;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=500;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=611;e.dcroat=500;e.threequarters=750;e.Scedilla=500;e.lcaron=300;e.Kcommaaccent=667;e.Lacute=556;e.trademark=980;e.edotaccent=444;e.Igrave=333;e.Imacron=333;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=500;e.Uhungarumlaut=722;e.Eacute=611;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=500;e.Scommaaccent=500;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=500;e.radical=453;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=667;e.otilde=500;e.Rcommaaccent=611;e.Lcommaaccent=556;e.Atilde=611;e.Aogonek=611;e.Aring=611;e.Otilde=722;e.zdotaccent=389;e.Ecaron=611;e.Iogonek=333;e.kcommaaccent=444;e.minus=675;e.Icircumflex=333;e.ncaron=500;e.tcommaaccent=278;e.logicalnot=675;e.odieresis=500;e.udieresis=500;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=389;e.ncommaaccent=500;e.onesuperior=300;e.imacron=278;e.Euro=500}));e.ZapfDingbats=(0,r.getLookupTableFactory)((function(e){e.space=278;e.a1=974;e.a2=961;e.a202=974;e.a3=980;e.a4=719;e.a5=789;e.a119=790;e.a118=791;e.a117=690;e.a11=960;e.a12=939;e.a13=549;e.a14=855;e.a15=911;e.a16=933;e.a105=911;e.a17=945;e.a18=974;e.a19=755;e.a20=846;e.a21=762;e.a22=761;e.a23=571;e.a24=677;e.a25=763;e.a26=760;e.a27=759;e.a28=754;e.a6=494;e.a7=552;e.a8=537;e.a9=577;e.a10=692;e.a29=786;e.a30=788;e.a31=788;e.a32=790;e.a33=793;e.a34=794;e.a35=816;e.a36=823;e.a37=789;e.a38=841;e.a39=823;e.a40=833;e.a41=816;e.a42=831;e.a43=923;e.a44=744;e.a45=723;e.a46=749;e.a47=790;e.a48=792;e.a49=695;e.a50=776;e.a51=768;e.a52=792;e.a53=759;e.a54=707;e.a55=708;e.a56=682;e.a57=701;e.a58=826;e.a59=815;e.a60=789;e.a61=789;e.a62=707;e.a63=687;e.a64=696;e.a65=689;e.a66=786;e.a67=787;e.a68=713;e.a69=791;e.a70=785;e.a71=791;e.a72=873;e.a73=761;e.a74=762;e.a203=762;e.a75=759;e.a204=759;e.a76=892;e.a77=892;e.a78=788;e.a79=784;e.a81=438;e.a82=138;e.a83=277;e.a84=415;e.a97=392;e.a98=392;e.a99=668;e.a100=668;e.a89=390;e.a90=390;e.a93=317;e.a94=317;e.a91=276;e.a92=276;e.a205=509;e.a85=509;e.a206=410;e.a86=410;e.a87=234;e.a88=234;e.a95=334;e.a96=334;e.a101=732;e.a102=544;e.a103=544;e.a104=910;e.a106=667;e.a107=760;e.a108=760;e.a112=776;e.a111=595;e.a110=694;e.a109=626;e.a120=788;e.a121=788;e.a122=788;e.a123=788;e.a124=788;e.a125=788;e.a126=788;e.a127=788;e.a128=788;e.a129=788;e.a130=788;e.a131=788;e.a132=788;e.a133=788;e.a134=788;e.a135=788;e.a136=788;e.a137=788;e.a138=788;e.a139=788;e.a140=788;e.a141=788;e.a142=788;e.a143=788;e.a144=788;e.a145=788;e.a146=788;e.a147=788;e.a148=788;e.a149=788;e.a150=788;e.a151=788;e.a152=788;e.a153=788;e.a154=788;e.a155=788;e.a156=788;e.a157=788;e.a158=788;e.a159=788;e.a160=894;e.a161=838;e.a163=1016;e.a164=458;e.a196=748;e.a165=924;e.a192=748;e.a166=918;e.a167=927;e.a168=928;e.a169=928;e.a170=834;e.a171=873;e.a172=828;e.a173=924;e.a162=924;e.a174=917;e.a175=930;e.a176=931;e.a177=463;e.a178=883;e.a179=836;e.a193=836;e.a180=867;e.a199=867;e.a181=696;e.a200=696;e.a182=874;e.a201=874;e.a183=760;e.a184=946;e.a197=771;e.a185=865;e.a194=771;e.a198=888;e.a186=967;e.a195=888;e.a187=831;e.a188=873;e.a189=927;e.a190=970;e.a191=918}))}));t.getMetrics=n;const i=(0,r.getLookupTableFactory)((function(e){e.Courier={ascent:629,descent:-157,capHeight:562,xHeight:-426};e[\\\"Courier-Bold\\\"]={ascent:629,descent:-157,capHeight:562,xHeight:439};e[\\\"Courier-Oblique\\\"]={ascent:629,descent:-157,capHeight:562,xHeight:426};e[\\\"Courier-BoldOblique\\\"]={ascent:629,descent:-157,capHeight:562,xHeight:426};e.Helvetica={ascent:718,descent:-207,capHeight:718,xHeight:523};e[\\\"Helvetica-Bold\\\"]={ascent:718,descent:-207,capHeight:718,xHeight:532};e[\\\"Helvetica-Oblique\\\"]={ascent:718,descent:-207,capHeight:718,xHeight:523};e[\\\"Helvetica-BoldOblique\\\"]={ascent:718,descent:-207,capHeight:718,xHeight:532};e[\\\"Times-Roman\\\"]={ascent:683,descent:-217,capHeight:662,xHeight:450};e[\\\"Times-Bold\\\"]={ascent:683,descent:-217,capHeight:676,xHeight:461};e[\\\"Times-Italic\\\"]={ascent:683,descent:-217,capHeight:653,xHeight:441};e[\\\"Times-BoldItalic\\\"]={ascent:683,descent:-217,capHeight:669,xHeight:462};e.Symbol={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN};e.ZapfDingbats={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN}}));t.getFontBasicMetrics=i},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.GlyfTable=void 0;t.GlyfTable=class GlyfTable{constructor({glyfTable:e,isGlyphLocationsLong:t,locaTable:a,numGlyphs:r}){this.glyphs=[];const n=new DataView(a.buffer,a.byteOffset,a.byteLength),i=new DataView(e.buffer,e.byteOffset,e.byteLength),s=t?4:2;let o=t?n.getUint32(0):2*n.getUint16(0),c=0;for(let e=0;ee+(t.getSize()+3&-4)),0)}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),a=e>131070,r=a?4:2,n=new DataView(new ArrayBuffer((this.glyphs.length+1)*r));a?n.setUint32(0,0):n.setUint16(0,0);let i=0,s=0;for(const e of this.glyphs){i+=e.write(i,t);i=i+3&-4;s+=r;a?n.setUint32(s,i):n.setUint16(s,i>>1)}return{isLocationLong:a,loca:new Uint8Array(n.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,a=this.glyphs.length;te+t.getSize()),0);return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const a=e;e+=this.header.write(e,t);if(this.simple)e+=this.simple.write(e,t);else for(const a of this.composites)e+=a.write(e,t);return e-a}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;this.header.scale(t,e);if(this.simple)this.simple.scale(t,e);else for(const a of this.composites)a.scale(t,e)}}class GlyphHeader{constructor({numberOfContours:e,xMin:t,yMin:a,xMax:r,yMax:n}){this.numberOfContours=e;this.xMin=t;this.yMin=a;this.xMax=r;this.yMax=n}static parse(e,t){return[10,new GlyphHeader({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){t.setInt16(e,this.numberOfContours);t.setInt16(e+2,this.xMin);t.setInt16(e+4,this.yMin);t.setInt16(e+6,this.xMax);t.setInt16(e+8,this.yMax);return 10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t);this.xMax=Math.round(e+(this.xMax-e)*t)}}class Contour{constructor({flags:e,xCoordinates:t,yCoordinates:a}){this.xCoordinates=t;this.yCoordinates=a;this.flags=e}}class SimpleGlyph{constructor({contours:e,instructions:t}){this.contours=e;this.instructions=t}static parse(e,t,a){const r=[];for(let n=0;n255?e+=2:o>0&&(e+=1);t=i;o=Math.abs(s-a);o>255?e+=2:o>0&&(e+=1);a=s}}return e}write(e,t){const a=e,r=[],n=[],i=[];let s=0,o=0;for(const a of this.contours){for(let e=0,t=a.xCoordinates.length;e=0?18:2;r.push(e)}else r.push(l)}s=c;const h=a.yCoordinates[e];l=h-o;if(0===l){t|=32;n.push(0)}else{const e=Math.abs(l);if(e<=255){t|=l>=0?36:4;n.push(e)}else n.push(l)}o=h;i.push(t)}t.setUint16(e,r.length-1);e+=2}t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}for(const a of i)t.setUint8(e++,a);for(let a=0,n=r.length;a=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2);return e}write(e,t){const a=e;2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1);t.setUint16(e,this.flags);t.setUint16(e+2,this.glyphIndex);e+=4;if(1&this.flags){if(2&this.flags){t.setInt16(e,this.argument1);t.setInt16(e+2,this.argument2)}else{t.setUint16(e,this.argument1);t.setUint16(e+2,this.argument2)}e+=4}else{t.setUint8(e,this.argument1);t.setUint8(e+1,this.argument2);e+=2}if(256&this.flags){t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}}return e-a}scale(e,t){}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.OpenTypeFileBuilder=void 0;var r=a(8),n=a(2);function writeInt16(e,t,a){e[t]=a>>8&255;e[t+1]=255&a}function writeInt32(e,t,a){e[t]=a>>24&255;e[t+1]=a>>16&255;e[t+2]=a>>8&255;e[t+3]=255&a}function writeData(e,t,a){if(a instanceof Uint8Array)e.set(a,t);else if(\\\"string\\\"==typeof a)for(let r=0,n=a.length;ra;){a<<=1;r++}const n=a*t;return{range:n,entry:r,rangeShift:t*e-n}}toArray(){let e=this.sfnt;const t=this.tables,a=Object.keys(t);a.sort();const i=a.length;let s,o,c,l,h,u=12+16*i;const d=[u];for(s=0;s>>0;d.push(u)}const f=new Uint8Array(u);for(s=0;s>>0}writeInt32(f,u+4,e);writeInt32(f,u+8,d[s]);writeInt32(f,u+12,t[h].length);u+=16}return f}addTable(e,t){if(e in this.tables)throw new Error(\\\"Table \\\"+e+\\\" already exists\\\");this.tables[e]=t}}t.OpenTypeFileBuilder=OpenTypeFileBuilder},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Type1Font=void 0;var r=a(45),n=a(18),i=a(8),s=a(10),o=a(55),c=a(2);function findBlock(e,t,a){const r=e.length,n=t.length,s=r-n;let o=a,c=!1;for(;o=n){o+=a;for(;o=0&&(r[e]=i)}}return(0,n.type1FontGlyphMapping)(e,r,a)}hasGlyphId(e){if(e<0||e>=this.numGlyphs)return!1;if(0===e)return!0;return this.charstrings[e-1].charstring.length>0}getSeacs(e){const t=[];for(let a=0,r=e.length;a0;e--)t[e]-=t[e-1];g.setByName(e,t)}s.topDict.privateDict=g;const m=new r.CFFIndex;for(u=0,d=n.length;u{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Type1Parser=void 0;var r=a(19),n=a(8),i=a(10),s=a(2);const o=function Type1CharStringClosure(){const e=[4],t=[5],a=[6],r=[7],n=[8],i=[12,35],o=[14],c=[21],l=[22],h=[30],u=[31];return class Type1CharString{constructor(){this.width=0;this.lsb=0;this.flexing=!1;this.output=[];this.stack=[]}convert(d,f,g){const p=d.length;let m,b,y,w=!1;for(let S=0;Sr)return!0;const n=r-e;for(let e=n;e>8&255,255&t);else{t=65536*t|0;this.output.push(255,t>>24&255,t>>16&255,t>>8&255,255&t)}}this.output.push.apply(this.output,t);a?this.stack.splice(n,e):this.stack.length=0;return!1}}}(),c=function Type1ParserClosure(){function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function decrypt(e,t,a){if(a>=e.length)return new Uint8Array(0);let r,n,i=0|t;for(r=0;r>8;i=52845*(t+i)+22719&65535}return o}function isSpecial(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}return class Type1Parser{constructor(e,t,a){if(t){const t=e.getBytes(),a=!((isHexDigit(t[0])||(0,n.isWhiteSpace)(t[0]))&&isHexDigit(t[1])&&isHexDigit(t[2])&&isHexDigit(t[3])&&isHexDigit(t[4])&&isHexDigit(t[5])&&isHexDigit(t[6])&&isHexDigit(t[7]));e=new i.Stream(a?decrypt(t,55665,4):function decryptAscii(e,t,a){let r=0|t;const n=e.length,i=new Uint8Array(n>>>1);let s,o;for(s=0,o=0;s>8;r=52845*(e+r)+22719&65535}}return i.slice(a,o)}(t,55665,4))}this.seacAnalysisEnabled=!!a;this.stream=e;this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||\\\"]\\\"===t||\\\"}\\\"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return\\\"true\\\"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){this.stream.skip(-2);return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!(0,n.isWhiteSpace)(t))break;t=this.nextChar()}if(isSpecial(t)){this.nextChar();return String.fromCharCode(t)}let a=\\\"\\\";do{a+=String.fromCharCode(t);t=this.nextChar()}while(t>=0&&!(0,n.isWhiteSpace)(t)&&!isSpecial(t));return a}readCharStrings(e,t){return-1===t?e:decrypt(e,4330,t)}extractFontProgram(e){const t=this.stream,a=[],r=[],n=Object.create(null);n.lenIV=4;const i={subrs:[],charstrings:[],properties:{privateData:n}};let s,c,l,h,u;for(;null!==(s=this.getToken());)if(\\\"/\\\"===s){s=this.getToken();switch(s){case\\\"CharStrings\\\":this.getToken();this.getToken();this.getToken();this.getToken();for(;;){s=this.getToken();if(null===s||\\\"end\\\"===s)break;if(\\\"/\\\"!==s)continue;const e=this.getToken();c=this.readInt();this.getToken();l=c>0?t.getBytes(c):new Uint8Array(0);h=i.properties.privateData.lenIV;u=this.readCharStrings(l,h);this.nextChar();s=this.getToken();\\\"noaccess\\\"===s?this.getToken():\\\"/\\\"===s&&this.prevChar();r.push({glyph:e,encoded:u})}break;case\\\"Subrs\\\":this.readInt();this.getToken();for(;\\\"dup\\\"===this.getToken();){const e=this.readInt();c=this.readInt();this.getToken();l=c>0?t.getBytes(c):new Uint8Array(0);h=i.properties.privateData.lenIV;u=this.readCharStrings(l,h);this.nextChar();s=this.getToken();\\\"noaccess\\\"===s&&this.getToken();a[e]=u}break;case\\\"BlueValues\\\":case\\\"OtherBlues\\\":case\\\"FamilyBlues\\\":case\\\"FamilyOtherBlues\\\":const e=this.readNumberArray();e.length>0&&e.length,0;break;case\\\"StemSnapH\\\":case\\\"StemSnapV\\\":i.properties.privateData[s]=this.readNumberArray();break;case\\\"StdHW\\\":case\\\"StdVW\\\":i.properties.privateData[s]=this.readNumberArray()[0];break;case\\\"BlueShift\\\":case\\\"lenIV\\\":case\\\"BlueFuzz\\\":case\\\"BlueScale\\\":case\\\"LanguageGroup\\\":case\\\"ExpansionFactor\\\":i.properties.privateData[s]=this.readNumber();break;case\\\"ForceBold\\\":i.properties.privateData[s]=this.readBoolean()}}for(let t=0;t-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=s.width)}}return i}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if(\\\"/\\\"===t){t=this.getToken();switch(t){case\\\"FontMatrix\\\":const a=this.readNumberArray();e.fontMatrix=a;break;case\\\"Encoding\\\":const n=this.getToken();let i;if(/^\\\\d+$/.test(n)){i=[];const e=0|parseInt(n,10);this.getToken();for(let a=0;a{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Pattern=void 0;t.getTilingPatternIR=function getTilingPatternIR(e,t,a){const n=t.getArray(\\\"Matrix\\\"),i=r.Util.normalizeRect(t.getArray(\\\"BBox\\\")),s=t.get(\\\"XStep\\\"),o=t.get(\\\"YStep\\\"),c=t.get(\\\"PaintType\\\"),l=t.get(\\\"TilingType\\\");if(i[2]-i[0]==0||i[3]-i[1]==0)throw new r.FormatError(`Invalid getTilingPatternIR /BBox array: [${i}].`);return[\\\"TilingPattern\\\",a,e,n,i,s,o,c,l]};var r=a(2),n=a(9),i=a(24),s=a(8);const o=2,c=3,l=4,h=5,u=6,d=7;t.Pattern=class Pattern{constructor(){(0,r.unreachable)(\\\"Cannot initialize Pattern.\\\")}static parseShading(e,t,a,i,f,g){const p=e instanceof n.BaseStream?e.dict:e,m=p.get(\\\"ShadingType\\\");try{switch(m){case o:case c:return new RadialAxialShading(p,t,a,f,g);case l:case h:case u:case d:return new MeshShading(e,t,a,f,g);default:throw new r.FormatError(\\\"Unsupported ShadingType: \\\"+m)}}catch(e){if(e instanceof s.MissingDataException)throw e;i.send(\\\"UnsupportedFeature\\\",{featureId:r.UNSUPPORTED_FEATURES.shadingPattern});(0,r.warn)(e);return new DummyShading}}};class BaseShading{static get SMALL_NUMBER(){return(0,r.shadow)(this,\\\"SMALL_NUMBER\\\",1e-6)}constructor(){this.constructor===BaseShading&&(0,r.unreachable)(\\\"Cannot initialize BaseShading.\\\")}getIR(){(0,r.unreachable)(\\\"Abstract method `getIR` called.\\\")}}class RadialAxialShading extends BaseShading{constructor(e,t,a,n,s){super();this.coordsArr=e.getArray(\\\"Coords\\\");this.shadingType=e.get(\\\"ShadingType\\\");const o=i.ColorSpace.parse({cs:e.getRaw(\\\"CS\\\")||e.getRaw(\\\"ColorSpace\\\"),xref:t,resources:a,pdfFunctionFactory:n,localColorSpaceCache:s}),l=e.getArray(\\\"BBox\\\");Array.isArray(l)&&4===l.length?this.bbox=r.Util.normalizeRect(l):this.bbox=null;let h=0,u=1;if(e.has(\\\"Domain\\\")){const t=e.getArray(\\\"Domain\\\");h=t[0];u=t[1]}let d=!1,f=!1;if(e.has(\\\"Extend\\\")){const t=e.getArray(\\\"Extend\\\");d=t[0];f=t[1]}if(!(this.shadingType!==c||d&&f)){const[e,t,a,n,i,s]=this.coordsArr,o=Math.hypot(e-n,t-i);a<=s+o&&s<=a+o&&(0,r.warn)(\\\"Unsupported radial gradient.\\\")}this.extendStart=d;this.extendEnd=f;const g=e.getRaw(\\\"Function\\\"),p=n.createFromArray(g),m=(u-h)/10,b=this.colorStops=[];if(h>=u||m<=0){(0,r.info)(\\\"Bad shading domain.\\\");return}const y=new Float32Array(o.numComps),w=new Float32Array(1);let S;for(let e=0;e<=10;e++){w[0]=h+e*m;p(w,0,y,0);S=o.getRgb(y,0);const t=r.Util.makeHexColor(S[0],S[1],S[2]);b.push([e/10,t])}let x=\\\"transparent\\\";if(e.has(\\\"Background\\\")){S=o.getRgb(e.get(\\\"Background\\\"),0);x=r.Util.makeHexColor(S[0],S[1],S[2])}if(!d){b.unshift([0,x]);b[1][0]+=BaseShading.SMALL_NUMBER}if(!f){b[b.length-1][0]-=BaseShading.SMALL_NUMBER;b.push([1,x])}this.colorStops=b}getIR(){const e=this.coordsArr,t=this.shadingType;let a,n,i,s,l;if(t===o){n=[e[0],e[1]];i=[e[2],e[3]];s=null;l=null;a=\\\"axial\\\"}else if(t===c){n=[e[0],e[1]];i=[e[3],e[4]];s=e[2];l=e[5];a=\\\"radial\\\"}else(0,r.unreachable)(`getPattern type unknown: ${t}`);return[\\\"RadialAxial\\\",a,this.bbox,this.colorStops,n,i,s,l]}}class MeshStreamReader{constructor(e,t){this.stream=e;this.context=t;this.buffer=0;this.bufferLength=0;const a=t.numComps;this.tmpCompsBuf=new Float32Array(a);const r=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(r):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)return!0;const e=this.stream.getByte();if(e<0)return!1;this.buffer=e;this.bufferLength=8;return!0}readBits(e){let t=this.buffer,a=this.bufferLength;if(32===e){if(0===a)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;t=t<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();const e=this.stream.getByte();this.buffer=e&(1<>a)>>>0}if(8===e&&0===a)return this.stream.getByte();for(;a>a}align(){this.buffer=0;this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const e=this.context.bitsPerCoordinate,t=this.readBits(e),a=this.readBits(e),r=this.context.decode,n=e<32?1/((1<i?i:e;t=t>s?s:t;a=a{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.PostScriptEvaluator=t.PostScriptCompiler=t.PDFFunctionFactory=void 0;t.isPDFFunction=function isPDFFunction(e){let t;if(\\\"object\\\"!=typeof e)return!1;if(e instanceof r.Dict)t=e;else{if(!(e instanceof s.BaseStream))return!1;t=e.dict}return t.has(\\\"FunctionType\\\")};var r=a(5),n=a(2),i=a(58),s=a(9),o=a(59);t.PDFFunctionFactory=class PDFFunctionFactory{constructor({xref:e,isEvalSupported:t=!0}){this.xref=e;this.isEvalSupported=!1!==t}create(e){const t=this.getCached(e);if(t)return t;const a=PDFFunction.parse({xref:this.xref,isEvalSupported:this.isEvalSupported,fn:e instanceof r.Ref?this.xref.fetch(e):e});this._cache(e,a);return a}createFromArray(e){const t=this.getCached(e);if(t)return t;const a=PDFFunction.parseArray({xref:this.xref,isEvalSupported:this.isEvalSupported,fnObj:e instanceof r.Ref?this.xref.fetch(e):e});this._cache(e,a);return a}getCached(e){let t;e instanceof r.Ref?t=e:e instanceof r.Dict?t=e.objId:e instanceof s.BaseStream&&(t=e.dict&&e.dict.objId);if(t){const e=this._localFunctionCache.getByRef(t);if(e)return e}return null}_cache(e,t){if(!t)throw new Error('PDFFunctionFactory._cache - expected \\\"parsedFunction\\\" argument.');let a;e instanceof r.Ref?a=e:e instanceof r.Dict?a=e.objId:e instanceof s.BaseStream&&(a=e.dict&&e.dict.objId);a&&this._localFunctionCache.set(null,a,t)}get _localFunctionCache(){return(0,n.shadow)(this,\\\"_localFunctionCache\\\",new o.LocalFunctionCache)}};function toNumberArray(e){if(!Array.isArray(e))return null;const t=e.length;for(let a=0;a>c)*h;l&=(1<a?e=a:e0&&(d=o[u-1]);let f=r[1];u>1,d=s.length>>1,f=new PostScriptEvaluator(h),g=Object.create(null);let p=8192;const m=new Float32Array(d);return function constructPostScriptFn(e,t,a,r){let n,i,s=\\\"\\\";const c=m;for(n=0;ne&&(i=e)}h[n]=i}if(p>0){p--;g[s]=h}a.set(h,r)}}}class PostScriptStack{static get MAX_STACK_SIZE(){return(0,n.shadow)(this,\\\"MAX_STACK_SIZE\\\",100)}constructor(e){this.stack=e?Array.prototype.slice.call(e,0):[]}push(e){if(this.stack.length>=PostScriptStack.MAX_STACK_SIZE)throw new Error(\\\"PostScript function stack overflow.\\\");this.stack.push(e)}pop(){if(this.stack.length<=0)throw new Error(\\\"PostScript function stack underflow.\\\");return this.stack.pop()}copy(e){if(this.stack.length+e>=PostScriptStack.MAX_STACK_SIZE)throw new Error(\\\"PostScript function stack overflow.\\\");const t=this.stack;for(let a=t.length-e,r=e-1;r>=0;r--,a++)t.push(t[a])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const a=this.stack,r=a.length-e,n=a.length-1,i=r+(t-Math.floor(t/e)*e);for(let e=r,t=n;e0?t.push(o<>c);break;case\\\"ceiling\\\":o=t.pop();t.push(Math.ceil(o));break;case\\\"copy\\\":o=t.pop();t.copy(o);break;case\\\"cos\\\":o=t.pop();t.push(Math.cos(o));break;case\\\"cvi\\\":o=0|t.pop();t.push(o);break;case\\\"cvr\\\":break;case\\\"div\\\":c=t.pop();o=t.pop();t.push(o/c);break;case\\\"dup\\\":t.copy(1);break;case\\\"eq\\\":c=t.pop();o=t.pop();t.push(o===c);break;case\\\"exch\\\":t.roll(2,1);break;case\\\"exp\\\":c=t.pop();o=t.pop();t.push(o**c);break;case\\\"false\\\":t.push(!1);break;case\\\"floor\\\":o=t.pop();t.push(Math.floor(o));break;case\\\"ge\\\":c=t.pop();o=t.pop();t.push(o>=c);break;case\\\"gt\\\":c=t.pop();o=t.pop();t.push(o>c);break;case\\\"idiv\\\":c=t.pop();o=t.pop();t.push(o/c|0);break;case\\\"index\\\":o=t.pop();t.index(o);break;case\\\"le\\\":c=t.pop();o=t.pop();t.push(o<=c);break;case\\\"ln\\\":o=t.pop();t.push(Math.log(o));break;case\\\"log\\\":o=t.pop();t.push(Math.log(o)/Math.LN10);break;case\\\"lt\\\":c=t.pop();o=t.pop();t.push(o=t?new AstLiteral(t):e.max<=t?e:new AstMin(e,t)}return class PostScriptCompiler{compile(e,t,a){const r=[],n=[],i=t.length>>1,s=a.length>>1;let o,c,l,h,u,d,f,g,p=0;for(let e=0;et.min){o.unshift(\\\"Math.max(\\\",i,\\\", \\\");o.push(\\\")\\\")}if(s{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.PostScriptParser=t.PostScriptLexer=void 0;var r=a(2),n=a(5),i=a(8);t.PostScriptParser=class PostScriptParser{constructor(e){this.lexer=e;this.operators=[];this.token=null;this.prev=null}nextToken(){this.prev=this.token;this.token=this.lexer.getToken()}accept(e){if(this.token.type===e){this.nextToken();return!0}return!1}expect(e){if(this.accept(e))return!0;throw new r.FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){this.nextToken();this.expect(s.LBRACE);this.parseBlock();this.expect(s.RBRACE);return this.operators}parseBlock(){for(;;)if(this.accept(s.NUMBER))this.operators.push(this.prev.value);else if(this.accept(s.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(s.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(s.RBRACE);if(this.accept(s.IF)){this.operators[e]=this.operators.length;this.operators[e+1]=\\\"jz\\\"}else{if(!this.accept(s.LBRACE))throw new r.FormatError(\\\"PS Function: error parsing conditional.\\\");{const t=this.operators.length;this.operators.push(null,null);const a=this.operators.length;this.parseBlock();this.expect(s.RBRACE);this.expect(s.IFELSE);this.operators[t]=this.operators.length;this.operators[t+1]=\\\"j\\\";this.operators[e]=a;this.operators[e+1]=\\\"jz\\\"}}}};const s={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class PostScriptToken{static get opCache(){return(0,r.shadow)(this,\\\"opCache\\\",Object.create(null))}constructor(e,t){this.type=e;this.value=t}static getOperator(e){const t=PostScriptToken.opCache[e];return t||(PostScriptToken.opCache[e]=new PostScriptToken(s.OPERATOR,e))}static get LBRACE(){return(0,r.shadow)(this,\\\"LBRACE\\\",new PostScriptToken(s.LBRACE,\\\"{\\\"))}static get RBRACE(){return(0,r.shadow)(this,\\\"RBRACE\\\",new PostScriptToken(s.RBRACE,\\\"}\\\"))}static get IF(){return(0,r.shadow)(this,\\\"IF\\\",new PostScriptToken(s.IF,\\\"IF\\\"))}static get IFELSE(){return(0,r.shadow)(this,\\\"IFELSE\\\",new PostScriptToken(s.IFELSE,\\\"IFELSE\\\"))}}t.PostScriptLexer=class PostScriptLexer{constructor(e){this.stream=e;this.nextChar();this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return n.EOF;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!(0,i.isWhiteSpace)(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(s.NUMBER,this.getNumber());case 123:this.nextChar();return PostScriptToken.LBRACE;case 125:this.nextChar();return PostScriptToken.RBRACE}const a=this.strBuf;a.length=0;a[0]=String.fromCharCode(t);for(;(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)a.push(String.fromCharCode(t));const r=a.join(\\\"\\\");switch(r.toLowerCase()){case\\\"if\\\":return PostScriptToken.IF;case\\\"ifelse\\\":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(r)}}getNumber(){let e=this.currentChar;const t=this.strBuf;t.length=0;t[0]=String.fromCharCode(e);for(;(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const a=parseFloat(t.join(\\\"\\\"));if(isNaN(a))throw new r.FormatError(`Invalid floating point number: ${a}`);return a}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.LocalTilingPatternCache=t.LocalImageCache=t.LocalGStateCache=t.LocalFunctionCache=t.LocalColorSpaceCache=t.GlobalImageCache=void 0;var r=a(2),n=a(5);class BaseLocalCache{constructor(e){this.constructor===BaseLocalCache&&(0,r.unreachable)(\\\"Cannot initialize BaseLocalCache.\\\");this._onlyRefs=!0===(e&&e.onlyRefs);if(!this._onlyRefs){this._nameRefMap=new Map;this._imageMap=new Map}this._imageCache=new n.RefSetCache}getByName(e){this._onlyRefs&&(0,r.unreachable)(\\\"Should not call `getByName` method.\\\");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,a){(0,r.unreachable)(\\\"Abstract method `set` called.\\\")}}t.LocalImageCache=class LocalImageCache extends BaseLocalCache{set(e,t=null,a){if(\\\"string\\\"!=typeof e)throw new Error('LocalImageCache.set - expected \\\"name\\\" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}};t.LocalColorSpaceCache=class LocalColorSpaceCache extends BaseLocalCache{set(e=null,t=null,a){if(\\\"string\\\"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected \\\"name\\\" and/or \\\"ref\\\" argument.');if(t){if(this._imageCache.has(t))return;null!==e&&this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}};t.LocalFunctionCache=class LocalFunctionCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('LocalFunctionCache.set - expected \\\"ref\\\" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}};t.LocalGStateCache=class LocalGStateCache extends BaseLocalCache{set(e,t=null,a){if(\\\"string\\\"!=typeof e)throw new Error('LocalGStateCache.set - expected \\\"name\\\" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}};t.LocalTilingPatternCache=class LocalTilingPatternCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('LocalTilingPatternCache.set - expected \\\"ref\\\" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}};class GlobalImageCache{static get NUM_PAGES_THRESHOLD(){return(0,r.shadow)(this,\\\"NUM_PAGES_THRESHOLD\\\",2)}static get MIN_IMAGES_TO_CACHE(){return(0,r.shadow)(this,\\\"MIN_IMAGES_TO_CACHE\\\",10)}static get MAX_BYTE_SIZE(){return(0,r.shadow)(this,\\\"MAX_BYTE_SIZE\\\",4e7)}constructor(){this._refCache=new n.RefSetCache;this._imageCache=new n.RefSetCache}get _byteSize(){let e=0;for(const t of this._imageCache)e+=t.byteSize;return e}get _cacheLimitReached(){return!(this._imageCache.size{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.bidi=function bidi(e,t=-1,a=!1){let c=!0;const l=e.length;if(0===l||a)return createBidiText(e,c,a);s.length=l;o.length=l;let h,u,d=0;for(h=0;h4){c=!0;t=0}else{c=!1;t=1}const f=[];for(h=0;h=0&&\\\"ET\\\"===o[e];--e)o[e]=\\\"EN\\\";for(let e=h+1;e0&&(t=o[h-1]);let a=m;e+1w&&isOdd(w)&&(x=w)}for(w=S;w>=x;--w){let e=-1;for(h=0,u=f.length;h=0){reverseValues(s,e,h);e=-1}}else e<0&&(e=h);e>=0&&reverseValues(s,e,f.length)}for(h=0,u=s.length;h\\\"!==e||(s[h]=\\\"\\\")}return createBidiText(s.join(\\\"\\\"),c)};var r=a(2);const n=[\\\"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\\\",\\\"ON\\\",\\\"ON\\\",\\\"ET\\\",\\\"ET\\\",\\\"ET\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ES\\\",\\\"CS\\\",\\\"ES\\\",\\\"CS\\\",\\\"CS\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"CS\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"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\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"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\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"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\\\",\\\"ON\\\",\\\"ET\\\",\\\"ET\\\",\\\"ET\\\",\\\"ET\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"L\\\",\\\"ON\\\",\\\"ON\\\",\\\"BN\\\",\\\"ON\\\",\\\"ON\\\",\\\"ET\\\",\\\"ET\\\",\\\"EN\\\",\\\"EN\\\",\\\"ON\\\",\\\"L\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"EN\\\",\\\"L\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"ON\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"ON\\\",\\\"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\\\",\\\"ON\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\",\\\"L\\\"],i=[\\\"AN\\\",\\\"AN\\\",\\\"AN\\\",\\\"AN\\\",\\\"AN\\\",\\\"AN\\\",\\\"ON\\\",\\\"ON\\\",\\\"AL\\\",\\\"ET\\\",\\\"ET\\\",\\\"AL\\\",\\\"CS\\\",\\\"AL\\\",\\\"ON\\\",\\\"ON\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"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\\\",\\\"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\\\",\\\"ON\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"AL\\\",\\\"AL\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"ON\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"NSM\\\",\\\"AL\\\",\\\"AL\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"EN\\\",\\\"AL\\\",\\\"AL\\\",\\\"AL\\\",\\\"AL\\\",\\\"AL\\\",\\\"AL\\\"];function isOdd(e){return 0!=(1&e)}function isEven(e){return 0==(1&e)}function findUnequal(e,t,a){let r,n;for(r=t,n=e.length;r{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.MurmurHash3_64=void 0;var r=a(2);const n=3285377520,i=4294901760,s=65535;t.MurmurHash3_64=class MurmurHash3_64{constructor(e){this.h1=e?4294967295&e:n;this.h2=e?4294967295&e:n}update(e){let t,a;if(\\\"string\\\"==typeof e){t=new Uint8Array(2*e.length);a=0;for(let r=0,n=e.length;r>>8;t[a++]=255&n}}}else{if(!(0,r.isArrayBuffer)(e))throw new Error(\\\"Wrong data format in MurmurHash3_64_update. Input must be a string or array.\\\");t=e.slice();a=t.byteLength}const n=a>>2,o=a-4*n,c=new Uint32Array(t.buffer,0,n);let l=0,h=0,u=this.h1,d=this.h2;const f=3432918353,g=461845907,p=11601,m=13715;for(let e=0;e>>17;l=l*g&i|l*m&s;u^=l;u=u<<13|u>>>19;u=5*u+3864292196}else{h=c[e];h=h*f&i|h*p&s;h=h<<15|h>>>17;h=h*g&i|h*m&s;d^=h;d=d<<13|d>>>19;d=5*d+3864292196}l=0;switch(o){case 3:l^=t[4*n+2]<<16;case 2:l^=t[4*n+1]<<8;case 1:l^=t[4*n];l=l*f&i|l*p&s;l=l<<15|l>>>17;l=l*g&i|l*m&s;1&n?u^=l:d^=l}this.h1=u;this.h2=d}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&i|36045*e&s;t=4283543511*t&i|(2950163797*(t<<16|e>>>16)&i)>>>16;e^=t>>>1;e=444984403*e&i|60499*e&s;t=3301882366*t&i|(3120437893*(t<<16|e>>>16)&i)>>>16;e^=t>>>1;const a=(e>>>0).toString(16),r=(t>>>0).toString(16);return a.padStart(8,\\\"0\\\")+r.padStart(8,\\\"0\\\")}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.OperatorList=void 0;var r=a(2);function addState(e,t,a,r,n){let i=e;for(let e=0,a=t.length-1;e1e3){h=Math.max(h,f);g+=d+2;f=0;d=0}u.push({transform:t,x:f,y:g,w:a.width,h:a.height});f+=a.width+2;d=Math.max(d,a.height)}const p=Math.max(h,f)+1,m=g+d+1,b=new Uint8Array(p*m*4),y=p<<2;for(let e=0;e=0;){t[i-4]=t[i];t[i-3]=t[i+1];t[i-2]=t[i+2];t[i-1]=t[i+3];t[i+a]=t[i+a-4];t[i+a+1]=t[i+a-3];t[i+a+2]=t[i+a-2];t[i+a+3]=t[i+a-1];i-=y}}a.splice(s,4*l,r.OPS.paintInlineImageXObjectGroup);n.splice(s,4*l,[{width:p,height:m,kind:r.ImageKind.RGBA_32BPP,data:b},u]);return s+1}));addState(n,[r.OPS.save,r.OPS.transform,r.OPS.paintImageMaskXObject,r.OPS.restore],null,(function iterateImageMaskGroup(e,t){const a=e.fnArray,n=(t-(e.iCurr-3))%4;switch(n){case 0:return a[t]===r.OPS.save;case 1:return a[t]===r.OPS.transform;case 2:return a[t]===r.OPS.paintImageMaskXObject;case 3:return a[t]===r.OPS.restore}throw new Error(`iterateImageMaskGroup - invalid pos: ${n}`)}),(function foundImageMaskGroup(e,t){const a=e.fnArray,n=e.argsArray,i=e.iCurr,s=i-3,o=i-2,c=i-1;let l=Math.floor((t-s)/4);if(l<10)return t-(t-s)%4;let h,u,d=!1;const f=n[c][0],g=n[o][0],p=n[o][1],m=n[o][2],b=n[o][3];if(p===m){d=!0;h=o+4;let e=c+4;for(let t=1;t=4&&a[i-4]===a[s]&&a[i-3]===a[o]&&a[i-2]===a[c]&&a[i-1]===a[l]&&r[i-4][0]===h&&r[i-4][1]===u){d++;f-=5}let g=f+4;for(let e=1;e=a)break}r=(r||n)[e[t]];if(r&&!Array.isArray(r)){s.iCurr=t;t++;if(!r.checkFn||(0,r.checkFn)(s)){i=r;r=null}else r=null}else t++}this.state=r;this.match=i;this.lastProcessed=t}flush(){for(;this.match;){const e=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e);this.match=null;this.state=null;this._optimize()}}reset(){this.state=null;this.match=null;this.lastProcessed=0}}class OperatorList{static get CHUNK_SIZE(){return(0,r.shadow)(this,\\\"CHUNK_SIZE\\\",1e3)}static get CHUNK_SIZE_ABOUT(){return(0,r.shadow)(this,\\\"CHUNK_SIZE_ABOUT\\\",this.CHUNK_SIZE-5)}constructor(e=0,t){this._streamSink=t;this.fnArray=[];this.argsArray=[];!t||e&r.RenderingIntentFlag.OPLIST?this.optimizer=new NullOptimizer(this):this.optimizer=new QueueOptimizer(this);this.dependencies=new Set;this._totalLength=0;this.weight=0;this._resolved=t?null:Promise.resolve()}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e,t){this.optimizer.push(e,t);this.weight++;this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(e===r.OPS.restore||e===r.OPS.endText))&&this.flush()}addImageOps(e,t,a){void 0!==a&&this.addOp(r.OPS.beginMarkedContentProps,[\\\"OC\\\",a]);this.addOp(e,t);void 0!==a&&this.addOp(r.OPS.endMarkedContent,[])}addDependency(e){if(!this.dependencies.has(e)){this.dependencies.add(e);this.addOp(r.OPS.dependency,[e])}}addDependencies(e){for(const t of e)this.addDependency(t)}addOpList(e){if(e instanceof OperatorList){for(const t of e.dependencies)this.dependencies.add(t);for(let t=0,a=e.length;t{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.PDFImage=void 0;var r=a(2),n=a(64),i=a(9),s=a(24),o=a(29),c=a(37),l=a(40),h=a(5);function decodeAndClamp(e,t,a,r){(e=t+e*a)<0?e=0:e>r&&(e=r);return e}function resizeImageMask(e,t,a,r,n,i){const s=n*i;let o;o=t<=8?new Uint8Array(s):t<=16?new Uint16Array(s):new Uint32Array(s);const c=a/n,l=r/i;let h,u,d,f,g=0;const p=new Uint16Array(n),m=a;for(h=0;h0&&Number.isInteger(a.height)&&a.height>0&&(a.width!==m||a.height!==b)){(0,r.warn)(\\\"PDFImage - using the Width/Height of the image data, rather than the image dictionary.\\\");m=a.width;b=a.height}if(m<1||b<1)throw new r.FormatError(`Invalid image width: ${m} or height: ${b}`);this.width=m;this.height=b;this.interpolate=g.get(\\\"I\\\",\\\"Interpolate\\\");this.imageMask=g.get(\\\"IM\\\",\\\"ImageMask\\\")||!1;this.matte=g.get(\\\"Matte\\\")||!1;let y=a.bitsPerComponent;if(!y){y=g.get(\\\"BPC\\\",\\\"BitsPerComponent\\\");if(!y){if(!this.imageMask)throw new r.FormatError(`Bits per component missing in image: ${this.imageMask}`);y=1}}this.bpc=y;if(!this.imageMask){let i=g.getRaw(\\\"CS\\\")||g.getRaw(\\\"ColorSpace\\\");if(!i){(0,r.info)(\\\"JPX images (which do not require color spaces)\\\");switch(a.numComps){case 1:i=h.Name.get(\\\"DeviceGray\\\");break;case 3:i=h.Name.get(\\\"DeviceRGB\\\");break;case 4:i=h.Name.get(\\\"DeviceCMYK\\\");break;default:throw new Error(`JPX images with ${a.numComps} color components not supported.`)}}this.colorSpace=s.ColorSpace.parse({cs:i,xref:e,resources:n?t:null,pdfFunctionFactory:d,localColorSpaceCache:f});this.numComps=this.colorSpace.numComps}this.decode=g.getArray(\\\"D\\\",\\\"Decode\\\");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,y)||u&&!s.ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<>3)*a,o=e.byteLength;let c,l;if(!r||n&&!(s===o))if(n){c=new Uint8Array(s);c.set(e);c.fill(255,o)}else c=new Uint8Array(e);else c=e;if(n)for(l=0;l>7&1;s[d+1]=u>>6&1;s[d+2]=u>>5&1;s[d+3]=u>>4&1;s[d+4]=u>>3&1;s[d+5]=u>>2&1;s[d+6]=u>>1&1;s[d+7]=1&u;d+=8}if(d>=1}}}}else{let a=0;u=0;for(d=0,h=i;d>r;n<0?n=0:n>l&&(n=l);s[d]=n;u&=(1<o[r+1]){t=255;break}}c[u]=t}}}if(c)for(u=0,f=3,d=t*n;u>3;if(!e){let e;\\\"DeviceGray\\\"===this.colorSpace.name&&1===l?e=r.ImageKind.GRAYSCALE_1BPP:\\\"DeviceRGB\\\"!==this.colorSpace.name||8!==l||this.needsDecode||(e=r.ImageKind.RGB_24BPP);if(e&&!this.smask&&!this.mask&&t===s&&a===o){n.kind=e;n.data=this.getImageBytes(o*h,{});if(this.needsDecode){(0,r.assert)(e===r.ImageKind.GRAYSCALE_1BPP,\\\"PDFImage.createImageData: The image must be grayscale.\\\");const t=n.data;for(let e=0,a=t.length;e>3,o=this.getImageBytes(n*s,{internal:!0}),c=this.getComponents(o);let l,h;if(1===i){h=a*n;if(this.needsDecode)for(l=0;l{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.applyMaskImageData=function applyMaskImageData({src:e,srcPos:t=0,dest:a,destPos:n=0,width:i,height:s,inverseDecode:o=!1}){const c=r.FeatureTest.isLittleEndian?4278190080:255,[l,h]=o?[0,c]:[c,0],u=i>>3,d=7&i,f=e.length;a=new Uint32Array(a.buffer);for(let r=0;r{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Catalog=void 0;var r=a(8),n=a(2),i=a(5),s=a(66),o=a(9),c=a(67),l=a(24),h=a(68),u=a(59),d=a(69),f=a(71);function fetchDestination(e){e instanceof i.Dict&&(e=e.get(\\\"D\\\"));return Array.isArray(e)?e:null}class Catalog{constructor(e,t){this.pdfManager=e;this.xref=t;this._catDict=t.getCatalogObj();if(!(this._catDict instanceof i.Dict))throw new n.FormatError(\\\"Catalog object is not a dictionary.\\\");this.toplevelPagesDict;this._actualNumPages=null;this.fontCache=new i.RefSetCache;this.builtInCMapCache=new Map;this.standardFontDataCache=new Map;this.globalImageCache=new u.GlobalImageCache;this.pageKidsCountCache=new i.RefSetCache;this.pageIndexCache=new i.RefSetCache;this.nonBlendModesSet=new i.RefSet}get version(){const e=this._catDict.get(\\\"Version\\\");return(0,n.shadow)(this,\\\"version\\\",e instanceof i.Name?e.name:null)}get lang(){const e=this._catDict.get(\\\"Lang\\\");return(0,n.shadow)(this,\\\"lang\\\",\\\"string\\\"==typeof e?(0,n.stringToPDFString)(e):null)}get needsRendering(){const e=this._catDict.get(\\\"NeedsRendering\\\");return(0,n.shadow)(this,\\\"needsRendering\\\",\\\"boolean\\\"==typeof e&&e)}get collection(){let e=null;try{const t=this._catDict.get(\\\"Collection\\\");t instanceof i.Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.info)(\\\"Cannot fetch Collection entry; assuming no collection is present.\\\")}return(0,n.shadow)(this,\\\"collection\\\",e)}get acroForm(){let e=null;try{const t=this._catDict.get(\\\"AcroForm\\\");t instanceof i.Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.info)(\\\"Cannot fetch AcroForm entry; assuming no forms are present.\\\")}return(0,n.shadow)(this,\\\"acroForm\\\",e)}get acroFormRef(){const e=this._catDict.getRaw(\\\"AcroForm\\\");return(0,n.shadow)(this,\\\"acroFormRef\\\",e instanceof i.Ref?e:null)}get metadata(){const e=this._catDict.getRaw(\\\"Metadata\\\");if(!(e instanceof i.Ref))return(0,n.shadow)(this,\\\"metadata\\\",null);let t=null;try{const a=!(this.xref.encrypt&&this.xref.encrypt.encryptMetadata),r=this.xref.fetch(e,a);if(r instanceof o.BaseStream&&r.dict instanceof i.Dict){const e=r.dict.get(\\\"Type\\\"),a=r.dict.get(\\\"Subtype\\\");if((0,i.isName)(e,\\\"Metadata\\\")&&(0,i.isName)(a,\\\"XML\\\")){const e=(0,n.stringToUTF8String)(r.getString());e&&(t=new d.MetadataParser(e).serializable)}}}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.info)(`Skipping invalid Metadata: \\\"${e}\\\".`)}return(0,n.shadow)(this,\\\"metadata\\\",t)}get markInfo(){let e=null;try{e=this._readMarkInfo()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)(\\\"Unable to read mark info.\\\")}return(0,n.shadow)(this,\\\"markInfo\\\",e)}_readMarkInfo(){const e=this._catDict.get(\\\"MarkInfo\\\");if(!(e instanceof i.Dict))return null;const t={Marked:!1,UserProperties:!1,Suspects:!1};for(const a in t){const r=e.get(a);\\\"boolean\\\"==typeof r&&(t[a]=r)}return t}get structTreeRoot(){let e=null;try{e=this._readStructTreeRoot()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)(\\\"Unable read to structTreeRoot info.\\\")}return(0,n.shadow)(this,\\\"structTreeRoot\\\",e)}_readStructTreeRoot(){const e=this._catDict.get(\\\"StructTreeRoot\\\");if(!(e instanceof i.Dict))return null;const t=new f.StructTreeRoot(e);t.init();return t}get toplevelPagesDict(){const e=this._catDict.get(\\\"Pages\\\");if(!(e instanceof i.Dict))throw new n.FormatError(\\\"Invalid top-level pages dictionary.\\\");return(0,n.shadow)(this,\\\"toplevelPagesDict\\\",e)}get documentOutline(){let e=null;try{e=this._readDocumentOutline()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)(\\\"Unable to read document outline.\\\")}return(0,n.shadow)(this,\\\"documentOutline\\\",e)}_readDocumentOutline(){let e=this._catDict.get(\\\"Outlines\\\");if(!(e instanceof i.Dict))return null;e=e.getRaw(\\\"First\\\");if(!(e instanceof i.Ref))return null;const t={items:[]},a=[{obj:e,parent:t}],r=new i.RefSet;r.put(e);const s=this.xref,o=new Uint8ClampedArray(3);for(;a.length>0;){const t=a.shift(),c=s.fetchIfRef(t.obj);if(null===c)continue;if(!c.has(\\\"Title\\\"))throw new n.FormatError(\\\"Invalid outline item encountered.\\\");const h={url:null,dest:null};Catalog.parseDestDictionary({destDict:c,resultObj:h,docBaseUrl:this.pdfManager.docBaseUrl});const u=c.get(\\\"Title\\\"),d=c.get(\\\"F\\\")||0,f=c.getArray(\\\"C\\\"),g=c.get(\\\"Count\\\");let p=o;!Array.isArray(f)||3!==f.length||0===f[0]&&0===f[1]&&0===f[2]||(p=l.ColorSpace.singletons.rgb.getRgb(f,0));const m={dest:h.dest,url:h.url,unsafeUrl:h.unsafeUrl,newWindow:h.newWindow,title:(0,n.stringToPDFString)(u),color:p,count:Number.isInteger(g)?g:void 0,bold:!!(2&d),italic:!!(1&d),items:[]};t.parent.items.push(m);e=c.getRaw(\\\"First\\\");if(e instanceof i.Ref&&!r.has(e)){a.push({obj:e,parent:m});r.put(e)}e=c.getRaw(\\\"Next\\\");if(e instanceof i.Ref&&!r.has(e)){a.push({obj:e,parent:t.parent});r.put(e)}}return t.items.length>0?t.items:null}get permissions(){let e=null;try{e=this._readPermissions()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)(\\\"Unable to read permissions.\\\")}return(0,n.shadow)(this,\\\"permissions\\\",e)}_readPermissions(){const e=this.xref.trailer.get(\\\"Encrypt\\\");if(!(e instanceof i.Dict))return null;let t=e.get(\\\"P\\\");if(\\\"number\\\"!=typeof t)return null;t+=2**32;const a=[];for(const e in n.PermissionFlag){const r=n.PermissionFlag[e];t&r&&a.push(r)}return a}get optionalContentConfig(){let e=null;try{const t=this._catDict.get(\\\"OCProperties\\\");if(!t)return(0,n.shadow)(this,\\\"optionalContentConfig\\\",null);const a=t.get(\\\"D\\\");if(!a)return(0,n.shadow)(this,\\\"optionalContentConfig\\\",null);const r=t.get(\\\"OCGs\\\");if(!Array.isArray(r))return(0,n.shadow)(this,\\\"optionalContentConfig\\\",null);const s=[],o=[];for(const e of r){if(!(e instanceof i.Ref))continue;o.push(e);const t=this.xref.fetchIfRef(e);s.push({id:e.toString(),name:\\\"string\\\"==typeof t.get(\\\"Name\\\")?(0,n.stringToPDFString)(t.get(\\\"Name\\\")):null,intent:\\\"string\\\"==typeof t.get(\\\"Intent\\\")?(0,n.stringToPDFString)(t.get(\\\"Intent\\\")):null})}e=this._readOptionalContentConfig(a,o);e.groups=s}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)(`Unable to read optional content config: ${e}`)}return(0,n.shadow)(this,\\\"optionalContentConfig\\\",e)}_readOptionalContentConfig(e,t){function parseOnOff(e){const a=[];if(Array.isArray(e))for(const r of e)r instanceof i.Ref&&t.includes(r)&&a.push(r.toString());return a}function parseOrder(e,a=0){if(!Array.isArray(e))return null;const n=[];for(const s of e){if(s instanceof i.Ref&&t.includes(s)){r.put(s);n.push(s.toString());continue}const e=parseNestedOrder(s,a);e&&n.push(e)}if(a>0)return n;const s=[];for(const e of t)r.has(e)||s.push(e.toString());s.length&&n.push({name:null,order:s});return n}function parseNestedOrder(e,t){if(++t>s){(0,n.warn)(\\\"parseNestedOrder - reached MAX_NESTED_LEVELS.\\\");return null}const r=a.fetchIfRef(e);if(!Array.isArray(r))return null;const i=a.fetchIfRef(r[0]);if(\\\"string\\\"!=typeof i)return null;const o=parseOrder(r.slice(1),t);return o&&o.length?{name:(0,n.stringToPDFString)(i),order:o}:null}const a=this.xref,r=new i.RefSet,s=10;return{name:\\\"string\\\"==typeof e.get(\\\"Name\\\")?(0,n.stringToPDFString)(e.get(\\\"Name\\\")):null,creator:\\\"string\\\"==typeof e.get(\\\"Creator\\\")?(0,n.stringToPDFString)(e.get(\\\"Creator\\\")):null,baseState:e.get(\\\"BaseState\\\")instanceof i.Name?e.get(\\\"BaseState\\\").name:null,on:parseOnOff(e.get(\\\"ON\\\")),off:parseOnOff(e.get(\\\"OFF\\\")),order:parseOrder(e.get(\\\"Order\\\")),groups:null}}setActualNumPages(e=null){this._actualNumPages=e}get hasActualNumPages(){return null!==this._actualNumPages}get _pagesCount(){const e=this.toplevelPagesDict.get(\\\"Count\\\");if(!Number.isInteger(e))throw new n.FormatError(\\\"Page count in top-level pages dictionary is not an integer.\\\");return(0,n.shadow)(this,\\\"_pagesCount\\\",e)}get numPages(){return this.hasActualNumPages?this._actualNumPages:this._pagesCount}get destinations(){const e=this._readDests(),t=Object.create(null);if(e instanceof s.NameTree)for(const[a,r]of e.getAll()){const e=fetchDestination(r);e&&(t[(0,n.stringToPDFString)(a)]=e)}else e instanceof i.Dict&&e.forEach((function(e,a){const r=fetchDestination(a);r&&(t[e]=r)}));return(0,n.shadow)(this,\\\"destinations\\\",t)}getDestination(e){const t=this._readDests();if(t instanceof s.NameTree){const a=fetchDestination(t.get(e));if(a)return a;const r=this.destinations[e];if(r){(0,n.warn)(`Found \\\"${e}\\\" at an incorrect position in the NameTree.`);return r}}else if(t instanceof i.Dict){const a=fetchDestination(t.get(e));if(a)return a}return null}_readDests(){const e=this._catDict.get(\\\"Names\\\");return e&&e.has(\\\"Dests\\\")?new s.NameTree(e.getRaw(\\\"Dests\\\"),this.xref):this._catDict.has(\\\"Dests\\\")?this._catDict.get(\\\"Dests\\\"):void 0}get pageLabels(){let e=null;try{e=this._readPageLabels()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)(\\\"Unable to read page labels.\\\")}return(0,n.shadow)(this,\\\"pageLabels\\\",e)}_readPageLabels(){const e=this._catDict.getRaw(\\\"PageLabels\\\");if(!e)return null;const t=new Array(this.numPages);let a=null,o=\\\"\\\";const c=new s.NumberTree(e,this.xref).getAll();let l=\\\"\\\",h=1;for(let e=0,s=this.numPages;e=1))throw new n.FormatError(\\\"Invalid start in PageLabel dictionary.\\\");h=e}else h=1}switch(a){case\\\"D\\\":l=h;break;case\\\"R\\\":case\\\"r\\\":l=(0,r.toRomanNumerals)(h,\\\"r\\\"===a);break;case\\\"A\\\":case\\\"a\\\":const e=26,t=65,i=97,s=\\\"a\\\"===a?i:t,o=h-1;l=String.fromCharCode(s+o%e).repeat(Math.floor(o/e)+1);break;default:if(a)throw new n.FormatError(`Invalid style \\\"${a}\\\" in PageLabel dictionary.`);l=\\\"\\\"}t[e]=o+l;h++}return t}get pageLayout(){const e=this._catDict.get(\\\"PageLayout\\\");let t=\\\"\\\";if(e instanceof i.Name)switch(e.name){case\\\"SinglePage\\\":case\\\"OneColumn\\\":case\\\"TwoColumnLeft\\\":case\\\"TwoColumnRight\\\":case\\\"TwoPageLeft\\\":case\\\"TwoPageRight\\\":t=e.name}return(0,n.shadow)(this,\\\"pageLayout\\\",t)}get pageMode(){const e=this._catDict.get(\\\"PageMode\\\");let t=\\\"UseNone\\\";if(e instanceof i.Name)switch(e.name){case\\\"UseNone\\\":case\\\"UseOutlines\\\":case\\\"UseThumbs\\\":case\\\"FullScreen\\\":case\\\"UseOC\\\":case\\\"UseAttachments\\\":t=e.name}return(0,n.shadow)(this,\\\"pageMode\\\",t)}get viewerPreferences(){const e=this._catDict.get(\\\"ViewerPreferences\\\");if(!(e instanceof i.Dict))return(0,n.shadow)(this,\\\"viewerPreferences\\\",null);let t=null;for(const a of e.getKeys()){const r=e.get(a);let s;switch(a){case\\\"HideToolbar\\\":case\\\"HideMenubar\\\":case\\\"HideWindowUI\\\":case\\\"FitWindow\\\":case\\\"CenterWindow\\\":case\\\"DisplayDocTitle\\\":case\\\"PickTrayByPDFSize\\\":\\\"boolean\\\"==typeof r&&(s=r);break;case\\\"NonFullScreenPageMode\\\":if(r instanceof i.Name)switch(r.name){case\\\"UseNone\\\":case\\\"UseOutlines\\\":case\\\"UseThumbs\\\":case\\\"UseOC\\\":s=r.name;break;default:s=\\\"UseNone\\\"}break;case\\\"Direction\\\":if(r instanceof i.Name)switch(r.name){case\\\"L2R\\\":case\\\"R2L\\\":s=r.name;break;default:s=\\\"L2R\\\"}break;case\\\"ViewArea\\\":case\\\"ViewClip\\\":case\\\"PrintArea\\\":case\\\"PrintClip\\\":if(r instanceof i.Name)switch(r.name){case\\\"MediaBox\\\":case\\\"CropBox\\\":case\\\"BleedBox\\\":case\\\"TrimBox\\\":case\\\"ArtBox\\\":s=r.name;break;default:s=\\\"CropBox\\\"}break;case\\\"PrintScaling\\\":if(r instanceof i.Name)switch(r.name){case\\\"None\\\":case\\\"AppDefault\\\":s=r.name;break;default:s=\\\"AppDefault\\\"}break;case\\\"Duplex\\\":if(r instanceof i.Name)switch(r.name){case\\\"Simplex\\\":case\\\"DuplexFlipShortEdge\\\":case\\\"DuplexFlipLongEdge\\\":s=r.name;break;default:s=\\\"None\\\"}break;case\\\"PrintPageRange\\\":if(Array.isArray(r)&&r.length%2==0){r.every(((e,t,a)=>Number.isInteger(e)&&e>0&&(0===t||e>=a[t-1])&&e<=this.numPages))&&(s=r)}break;case\\\"NumCopies\\\":Number.isInteger(r)&&r>0&&(s=r);break;default:(0,n.warn)(`Ignoring non-standard key in ViewerPreferences: ${a}.`);continue}if(void 0!==s){t||(t=Object.create(null));t[a]=s}else(0,n.warn)(`Bad value, for key \\\"${a}\\\", in ViewerPreferences: ${r}.`)}return(0,n.shadow)(this,\\\"viewerPreferences\\\",t)}get openAction(){const e=this._catDict.get(\\\"OpenAction\\\"),t=Object.create(null);if(e instanceof i.Dict){const a=new i.Dict(this.xref);a.set(\\\"A\\\",e);const r={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:a,resultObj:r});Array.isArray(r.dest)?t.dest=r.dest:r.action&&(t.action=r.action)}else Array.isArray(e)&&(t.dest=e);return(0,n.shadow)(this,\\\"openAction\\\",(0,n.objectSize)(t)>0?t:null)}get attachments(){const e=this._catDict.get(\\\"Names\\\");let t=null;if(e instanceof i.Dict&&e.has(\\\"EmbeddedFiles\\\")){const a=new s.NameTree(e.getRaw(\\\"EmbeddedFiles\\\"),this.xref);for(const[e,r]of a.getAll()){const a=new h.FileSpec(r,this.xref);t||(t=Object.create(null));t[(0,n.stringToPDFString)(e)]=a.serializable}}return(0,n.shadow)(this,\\\"attachments\\\",t)}get xfaImages(){const e=this._catDict.get(\\\"Names\\\");let t=null;if(e instanceof i.Dict&&e.has(\\\"XFAImages\\\")){const a=new s.NameTree(e.getRaw(\\\"XFAImages\\\"),this.xref);for(const[e,r]of a.getAll()){t||(t=new i.Dict(this.xref));t.set((0,n.stringToPDFString)(e),r)}}return(0,n.shadow)(this,\\\"xfaImages\\\",t)}_collectJavaScript(){const e=this._catDict.get(\\\"Names\\\");let t=null;function appendIfJavaScriptDict(e,a){if(!(a instanceof i.Dict))return;if(!(0,i.isName)(a.get(\\\"S\\\"),\\\"JavaScript\\\"))return;let r=a.get(\\\"JS\\\");if(r instanceof o.BaseStream)r=r.getString();else if(\\\"string\\\"!=typeof r)return;null===t&&(t=new Map);t.set(e,(0,n.stringToPDFString)(r))}if(e instanceof i.Dict&&e.has(\\\"JavaScript\\\")){const t=new s.NameTree(e.getRaw(\\\"JavaScript\\\"),this.xref);for(const[e,a]of t.getAll())appendIfJavaScriptDict((0,n.stringToPDFString)(e),a)}const a=this._catDict.get(\\\"OpenAction\\\");a&&appendIfJavaScriptDict(\\\"OpenAction\\\",a);return t}get javaScript(){const e=this._collectJavaScript();return(0,n.shadow)(this,\\\"javaScript\\\",e?[...e.values()]:null)}get jsActions(){const e=this._collectJavaScript();let t=(0,r.collectActions)(this.xref,this._catDict,n.DocumentActionEventType);if(e){t||(t=Object.create(null));for(const[a,r]of e)a in t?t[a].push(r):t[a]=[r]}return(0,n.shadow)(this,\\\"jsActions\\\",t)}async fontFallback(e,t){const a=await Promise.all(this.fontCache);for(const r of a)if(r.loadedName===e){r.fallback(t);return}}async cleanup(e=!1){(0,c.clearGlobalCaches)();this.globalImageCache.clear(e);this.pageKidsCountCache.clear();this.pageIndexCache.clear();this.nonBlendModesSet.clear();const t=await Promise.all(this.fontCache);for(const{dict:e}of t)delete e.cacheKey;this.fontCache.clear();this.builtInCMapCache.clear();this.standardFontDataCache.clear()}async getPageDict(e){const t=[this.toplevelPagesDict],a=new i.RefSet,r=this._catDict.getRaw(\\\"Pages\\\");r instanceof i.Ref&&a.put(r);const s=this.xref,o=this.pageKidsCountCache,c=this.pageIndexCache;let l=0;for(;t.length;){const r=t.pop();if(r instanceof i.Ref){const h=o.get(r);if(h>=0&&l+h<=e){l+=h;continue}if(a.has(r))throw new n.FormatError(\\\"Pages tree contains circular reference.\\\");a.put(r);const u=await s.fetchAsync(r);if(u instanceof i.Dict){let t=u.getRaw(\\\"Type\\\");t instanceof i.Ref&&(t=await s.fetchAsync(t));if((0,i.isName)(t,\\\"Page\\\")||!u.has(\\\"Kids\\\")){o.has(r)||o.put(r,1);c.has(r)||c.put(r,l);if(l===e)return[u,r];l++;continue}}t.push(u);continue}if(!(r instanceof i.Dict))throw new n.FormatError(\\\"Page dictionary kid reference points to wrong type of object.\\\");const{objId:h}=r;let u=r.getRaw(\\\"Count\\\");u instanceof i.Ref&&(u=await s.fetchAsync(u));if(Number.isInteger(u)&&u>=0){h&&!o.has(h)&&o.put(h,u);if(l+u<=e){l+=u;continue}}let d=r.getRaw(\\\"Kids\\\");d instanceof i.Ref&&(d=await s.fetchAsync(d));if(!Array.isArray(d)){let t=r.getRaw(\\\"Type\\\");t instanceof i.Ref&&(t=await s.fetchAsync(t));if((0,i.isName)(t,\\\"Page\\\")||!r.has(\\\"Kids\\\")){if(l===e)return[r,null];l++;continue}throw new n.FormatError(\\\"Page dictionary kids object is not an array.\\\")}for(let e=d.length-1;e>=0;e--)t.push(d[e])}throw new Error(`Page index ${e} not found.`)}async getAllPageDicts(e=!1){const t=[{currentNode:this.toplevelPagesDict,posInKids:0}],a=new i.RefSet,s=this._catDict.getRaw(\\\"Pages\\\");s instanceof i.Ref&&a.put(s);const o=new Map,c=this.xref,l=this.pageIndexCache;let h=0;function addPageDict(e,t){t&&!l.has(t)&&l.put(t,h);o.set(h++,[e,t])}function addPageError(t){if(t instanceof r.XRefEntryException&&!e)throw t;o.set(h++,[t,null])}for(;t.length>0;){const e=t[t.length-1],{currentNode:r,posInKids:s}=e;let o=r.getRaw(\\\"Kids\\\");if(o instanceof i.Ref)try{o=await c.fetchAsync(o)}catch(e){addPageError(e);break}if(!Array.isArray(o)){addPageError(new n.FormatError(\\\"Page dictionary kids object is not an array.\\\"));break}if(s>=o.length){t.pop();continue}const l=o[s];let h;if(l instanceof i.Ref){if(a.has(l)){addPageError(new n.FormatError(\\\"Pages tree contains circular reference.\\\"));break}a.put(l);try{h=await c.fetchAsync(l)}catch(e){addPageError(e);break}}else h=l;if(!(h instanceof i.Dict)){addPageError(new n.FormatError(\\\"Page dictionary kid reference points to wrong type of object.\\\"));break}let u=h.getRaw(\\\"Type\\\");if(u instanceof i.Ref)try{u=await c.fetchAsync(u)}catch(e){addPageError(e);break}(0,i.isName)(u,\\\"Page\\\")||!h.has(\\\"Kids\\\")?addPageDict(h,l instanceof i.Ref?l:null):t.push({currentNode:h,posInKids:0});e.posInKids++}return o}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const a=this.xref;let r=0;const next=t=>function pagesBeforeRef(t){let r,s=0;return a.fetchAsync(t).then((function(a){if((0,i.isRefsEqual)(t,e)&&!(0,i.isDict)(a,\\\"Page\\\")&&!(a instanceof i.Dict&&!a.has(\\\"Type\\\")&&a.has(\\\"Contents\\\")))throw new n.FormatError(\\\"The reference does not point to a /Page dictionary.\\\");if(!a)return null;if(!(a instanceof i.Dict))throw new n.FormatError(\\\"Node must be a dictionary.\\\");r=a.getRaw(\\\"Parent\\\");return a.getAsync(\\\"Parent\\\")})).then((function(e){if(!e)return null;if(!(e instanceof i.Dict))throw new n.FormatError(\\\"Parent must be a dictionary.\\\");return e.getAsync(\\\"Kids\\\")})).then((function(e){if(!e)return null;const o=[];let c=!1;for(let r=0,l=e.length;r{if(!t){this.pageIndexCache.put(e,r);return r}const[a,n]=t;r+=a;return next(n)}));return next(e)}get baseUrl(){const e=this._catDict.get(\\\"URI\\\");if(e instanceof i.Dict){const t=e.get(\\\"Base\\\");if(\\\"string\\\"==typeof t){const e=(0,n.createValidAbsoluteUrl)(t,null,{tryConvertEncoding:!0});if(e)return(0,n.shadow)(this,\\\"baseUrl\\\",e.href)}}return(0,n.shadow)(this,\\\"baseUrl\\\",null)}static parseDestDictionary(e){const t=e.destDict;if(!(t instanceof i.Dict)){(0,n.warn)(\\\"parseDestDictionary: `destDict` must be a dictionary.\\\");return}const a=e.resultObj;if(\\\"object\\\"!=typeof a){(0,n.warn)(\\\"parseDestDictionary: `resultObj` must be an object.\\\");return}const s=e.docBaseUrl||null;let c,l,h=t.get(\\\"A\\\");if(!(h instanceof i.Dict))if(t.has(\\\"Dest\\\"))h=t.get(\\\"Dest\\\");else{h=t.get(\\\"AA\\\");h instanceof i.Dict&&(h.has(\\\"D\\\")?h=h.get(\\\"D\\\"):h.has(\\\"U\\\")&&(h=h.get(\\\"U\\\")))}if(h instanceof i.Dict){const e=h.get(\\\"S\\\");if(!(e instanceof i.Name)){(0,n.warn)(\\\"parseDestDictionary: Invalid type in Action dictionary.\\\");return}const t=e.name;switch(t){case\\\"ResetForm\\\":const e=h.get(\\\"Flags\\\"),s=0==(1&(\\\"number\\\"==typeof e?e:0)),u=[],d=[];for(const e of h.get(\\\"Fields\\\")||[])e instanceof i.Ref?d.push(e.toString()):\\\"string\\\"==typeof e&&u.push((0,n.stringToPDFString)(e));a.resetForm={fields:u,refs:d,include:s};break;case\\\"URI\\\":c=h.get(\\\"URI\\\");c instanceof i.Name&&(c=\\\"/\\\"+c.name);break;case\\\"GoTo\\\":l=h.get(\\\"D\\\");break;case\\\"Launch\\\":case\\\"GoToR\\\":const f=h.get(\\\"F\\\");f instanceof i.Dict?c=f.get(\\\"F\\\")||null:\\\"string\\\"==typeof f&&(c=f);let g=h.get(\\\"D\\\");if(g){g instanceof i.Name&&(g=g.name);if(\\\"string\\\"==typeof c){const e=c.split(\\\"#\\\")[0];\\\"string\\\"==typeof g?c=e+\\\"#\\\"+g:Array.isArray(g)&&(c=e+\\\"#\\\"+JSON.stringify(g))}}const p=h.get(\\\"NewWindow\\\");\\\"boolean\\\"==typeof p&&(a.newWindow=p);break;case\\\"Named\\\":const m=h.get(\\\"N\\\");m instanceof i.Name&&(a.action=m.name);break;case\\\"JavaScript\\\":const b=h.get(\\\"JS\\\");let y;b instanceof o.BaseStream?y=b.getString():\\\"string\\\"==typeof b&&(y=b);const w=y&&(0,r.recoverJsURL)((0,n.stringToPDFString)(y));if(w){c=w.url;a.newWindow=w.newWindow;break}default:if(\\\"JavaScript\\\"===t||\\\"SubmitForm\\\"===t)break;(0,n.warn)(`parseDestDictionary - unsupported action: \\\"${t}\\\".`)}}else t.has(\\\"Dest\\\")&&(l=t.get(\\\"Dest\\\"));if(\\\"string\\\"==typeof c){const e=(0,n.createValidAbsoluteUrl)(c,s,{addDefaultProtocol:!0,tryConvertEncoding:!0});e&&(a.url=e.href);a.unsafeUrl=c}if(l){l instanceof i.Name&&(l=l.name);\\\"string\\\"==typeof l?a.dest=(0,n.stringToPDFString)(l):Array.isArray(l)&&(a.dest=l)}}}t.Catalog=Catalog},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.NumberTree=t.NameTree=void 0;var r=a(5),n=a(2);class NameOrNumberTree{constructor(e,t,a){this.constructor===NameOrNumberTree&&(0,n.unreachable)(\\\"Cannot initialize NameOrNumberTree.\\\");this.root=e;this.xref=t;this._type=a}getAll(){const e=new Map;if(!this.root)return e;const t=this.xref,a=new r.RefSet;a.put(this.root);const i=[this.root];for(;i.length>0;){const s=t.fetchIfRef(i.shift());if(!(s instanceof r.Dict))continue;if(s.has(\\\"Kids\\\")){const e=s.get(\\\"Kids\\\");if(!Array.isArray(e))continue;for(const t of e){if(a.has(t))throw new n.FormatError(`Duplicate entry in \\\"${this._type}\\\" tree.`);i.push(t);a.put(t)}continue}const o=s.get(this._type);if(Array.isArray(o))for(let a=0,r=o.length;a10){(0,n.warn)(`Search depth limit reached for \\\"${this._type}\\\" tree.`);return null}const i=a.get(\\\"Kids\\\");if(!Array.isArray(i))return null;let s=0,o=i.length-1;for(;s<=o;){const r=s+o>>1,n=t.fetchIfRef(i[r]),c=n.get(\\\"Limits\\\");if(et.fetchIfRef(c[1]))){a=n;break}s=r+1}}if(s>o)return null}const i=a.get(this._type);if(Array.isArray(i)){let a=0,r=i.length-2;for(;a<=r;){const n=a+r>>1,s=n+(1&n),o=t.fetchIfRef(i[s]);if(eo))return t.fetchIfRef(i[s+1]);a=s+2}}}return null}}t.NameTree=class NameTree extends NameOrNumberTree{constructor(e,t){super(e,t,\\\"Names\\\")}};t.NumberTree=class NumberTree extends NameOrNumberTree{constructor(e,t){super(e,t,\\\"Nums\\\")}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.clearGlobalCaches=function clearGlobalCaches(){(0,r.clearPrimitiveCaches)();(0,n.clearUnicodeCaches)()};var r=a(5),n=a(21)},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.FileSpec=void 0;var r=a(2),n=a(9),i=a(5);function pickPlatformItem(e){return e.has(\\\"UF\\\")?e.get(\\\"UF\\\"):e.has(\\\"F\\\")?e.get(\\\"F\\\"):e.has(\\\"Unix\\\")?e.get(\\\"Unix\\\"):e.has(\\\"Mac\\\")?e.get(\\\"Mac\\\"):e.has(\\\"DOS\\\")?e.get(\\\"DOS\\\"):null}t.FileSpec=class FileSpec{constructor(e,t){if(e instanceof i.Dict){this.xref=t;this.root=e;e.has(\\\"FS\\\")&&(this.fs=e.get(\\\"FS\\\"));this.description=e.has(\\\"Desc\\\")?(0,r.stringToPDFString)(e.get(\\\"Desc\\\")):\\\"\\\";e.has(\\\"RF\\\")&&(0,r.warn)(\\\"Related file specifications are not supported\\\");this.contentAvailable=!0;if(!e.has(\\\"EF\\\")){this.contentAvailable=!1;(0,r.warn)(\\\"Non-embedded file specifications are not supported\\\")}}}get filename(){if(!this._filename&&this.root){const e=pickPlatformItem(this.root)||\\\"unnamed\\\";this._filename=(0,r.stringToPDFString)(e).replace(/\\\\\\\\\\\\\\\\/g,\\\"\\\\\\\\\\\").replace(/\\\\\\\\\\\\//g,\\\"/\\\").replace(/\\\\\\\\/g,\\\"/\\\")}return this._filename}get content(){if(!this.contentAvailable)return null;!this.contentRef&&this.root&&(this.contentRef=pickPlatformItem(this.root.get(\\\"EF\\\")));let e=null;if(this.contentRef){const t=this.xref.fetchIfRef(this.contentRef);t instanceof n.BaseStream?e=t.getBytes():(0,r.warn)(\\\"Embedded file specification points to non-existing/invalid content\\\")}else(0,r.warn)(\\\"Embedded file specification does not have a content\\\");return e}get serializable(){return{filename:this.filename,content:this.content}}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.MetadataParser=void 0;var r=a(70);t.MetadataParser=class MetadataParser{constructor(e){e=this._repair(e);const t=new r.SimpleXMLParser({lowerCaseName:!0}).parseFromString(e);this._metadataMap=new Map;this._data=e;t&&this._parse(t)}_repair(e){return e.replace(/^[^<]+/,\\\"\\\").replace(/>\\\\\\\\376\\\\\\\\377([^<]+)/g,(function(e,t){const a=t.replace(/\\\\\\\\([0-3])([0-7])([0-7])/g,(function(e,t,a,r){return String.fromCharCode(64*t+8*a+1*r)})).replace(/&(amp|apos|gt|lt|quot);/g,(function(e,t){switch(t){case\\\"amp\\\":return\\\"&\\\";case\\\"apos\\\":return\\\"'\\\";case\\\"gt\\\":return\\\">\\\";case\\\"lt\\\":return\\\"<\\\";case\\\"quot\\\":return'\\\"'}throw new Error(`_repair: ${t} isn't defined.`)})),r=[];for(let e=0,t=a.length;e=32&&t<127&&60!==t&&62!==t&&38!==t?r.push(String.fromCharCode(t)):r.push(\\\"&#x\\\"+(65536+t).toString(16).substring(1)+\\\";\\\")}return\\\">\\\"+r.join(\\\"\\\")}))}_getSequence(e){const t=e.nodeName;return\\\"rdf:bag\\\"!==t&&\\\"rdf:seq\\\"!==t&&\\\"rdf:alt\\\"!==t?null:e.childNodes.filter((e=>\\\"rdf:li\\\"===e.nodeName))}_parseArray(e){if(!e.hasChildNodes())return;const[t]=e.childNodes,a=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,a.map((e=>e.textContent.trim())))}_parse(e){let t=e.documentElement;if(\\\"rdf:rdf\\\"!==t.nodeName){t=t.firstChild;for(;t&&\\\"rdf:rdf\\\"!==t.nodeName;)t=t.nextSibling}if(t&&\\\"rdf:rdf\\\"===t.nodeName&&t.hasChildNodes())for(const e of t.childNodes)if(\\\"rdf:description\\\"===e.nodeName)for(const t of e.childNodes){const e=t.nodeName;switch(e){case\\\"#text\\\":continue;case\\\"dc:creator\\\":case\\\"dc:subject\\\":this._parseArray(t);continue}this._metadataMap.set(e,t.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XMLParserErrorCode=t.XMLParserBase=t.SimpleXMLParser=t.SimpleDOMNode=void 0;var r=a(8);const n={NoError:0,EndOfDocument:-1,UnterminatedCdat:-2,UnterminatedXmlDeclaration:-3,UnterminatedDoctypeDeclaration:-4,UnterminatedComment:-5,MalformedElement:-6,OutOfMemory:-7,UnterminatedAttributeValue:-8,UnterminatedElement:-9,ElementNeverBegun:-10};t.XMLParserErrorCode=n;function isWhitespace(e,t){const a=e[t];return\\\" \\\"===a||\\\"\\\\n\\\"===a||\\\"\\\\r\\\"===a||\\\"\\\\t\\\"===a}class XMLParserBase{_resolveEntities(e){return e.replace(/&([^;]+);/g,((e,t)=>{if(\\\"#x\\\"===t.substring(0,2))return String.fromCodePoint(parseInt(t.substring(2),16));if(\\\"#\\\"===t.substring(0,1))return String.fromCodePoint(parseInt(t.substring(1),10));switch(t){case\\\"lt\\\":return\\\"<\\\";case\\\"gt\\\":return\\\">\\\";case\\\"amp\\\":return\\\"&\\\";case\\\"quot\\\":return'\\\"';case\\\"apos\\\":return\\\"'\\\"}return this.onResolveEntity(t)}))}_parseContent(e,t){const a=[];let r=t;function skipWs(){for(;r\\\"!==e[r]&&\\\"/\\\"!==e[r];)++r;const n=e.substring(t,r);skipWs();for(;r\\\"!==e[r]&&\\\"/\\\"!==e[r]&&\\\"?\\\"!==e[r];){skipWs();let t=\\\"\\\",n=\\\"\\\";for(;r\\\"!==e[a]&&\\\"?\\\"!==e[a]&&\\\"/\\\"!==e[a];)++a;const r=e.substring(t,a);!function skipWs(){for(;a\\\"!==e[a+1]);)++a;return{name:r,value:e.substring(n,a),parsed:a-t}}parseXml(e){let t=0;for(;t\\\",a);if(t<0){this.onError(n.UnterminatedElement);return}this.onEndElement(e.substring(a,t));a=t+1;break;case\\\"?\\\":++a;const r=this._parseProcessingInstruction(e,a);if(\\\"?>\\\"!==e.substring(a+r.parsed,a+r.parsed+2)){this.onError(n.UnterminatedXmlDeclaration);return}this.onPi(r.name,r.value);a+=r.parsed+2;break;case\\\"!\\\":if(\\\"--\\\"===e.substring(a+1,a+3)){t=e.indexOf(\\\"--\\\\x3e\\\",a+3);if(t<0){this.onError(n.UnterminatedComment);return}this.onComment(e.substring(a+3,t));a=t+3}else if(\\\"[CDATA[\\\"===e.substring(a+1,a+8)){t=e.indexOf(\\\"]]>\\\",a+8);if(t<0){this.onError(n.UnterminatedCdat);return}this.onCdata(e.substring(a+8,t));a=t+3}else{if(\\\"DOCTYPE\\\"!==e.substring(a+1,a+8)){this.onError(n.MalformedElement);return}{const r=e.indexOf(\\\"[\\\",a+8);let i=!1;t=e.indexOf(\\\">\\\",a+8);if(t<0){this.onError(n.UnterminatedDoctypeDeclaration);return}if(r>0&&t>r){t=e.indexOf(\\\"]>\\\",a+8);if(t<0){this.onError(n.UnterminatedDoctypeDeclaration);return}i=!0}const s=e.substring(a+8,t+(i?1:0));this.onDoctype(s);a=t+(i?2:1)}}break;default:const i=this._parseContent(e,a);if(null===i){this.onError(n.MalformedElement);return}let s=!1;if(\\\"/>\\\"===e.substring(a+i.parsed,a+i.parsed+2))s=!0;else if(\\\">\\\"!==e.substring(a+i.parsed,a+i.parsed+1)){this.onError(n.UnterminatedElement);return}this.onBeginElement(i.name,i.attributes,s);a+=i.parsed+(s?2:1)}}else{for(;a0}searchNode(e,t){if(t>=e.length)return this;const a=e[t],r=[];let n=this;for(;;){if(a.name===n.nodeName){if(0!==a.pos){if(0===r.length)return null;{const[i]=r.pop();let s=0;for(const r of i.childNodes)if(a.name===r.nodeName){if(s===a.pos)return r.searchNode(e,t+1);s++}return n.searchNode(e,t+1)}}{const a=n.searchNode(e,t+1);if(null!==a)return a}}if(n.childNodes&&0!==n.childNodes.length){r.push([n,0]);n=n.childNodes[0]}else{if(0===r.length)return null;for(;0!==r.length;){const[e,t]=r.pop(),a=t+1;if(a\\\");for(const t of this.childNodes)t.dump(e);e.push(``)}else this.nodeValue?e.push(`>${(0,r.encodeToXmlString)(this.nodeValue)}`):e.push(\\\"/>\\\")}else e.push((0,r.encodeToXmlString)(this.nodeValue))}}t.SimpleDOMNode=SimpleDOMNode;t.SimpleXMLParser=class SimpleXMLParser extends XMLParserBase{constructor({hasAttributes:e=!1,lowerCaseName:t=!1}){super();this._currentFragment=null;this._stack=null;this._errorCode=n.NoError;this._hasAttributes=e;this._lowerCaseName=t}parseFromString(e){this._currentFragment=[];this._stack=[];this._errorCode=n.NoError;this.parseXml(e);if(this._errorCode!==n.NoError)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function isWhitespaceString(e){for(let t=0,a=e.length;t{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.StructTreeRoot=t.StructTreePage=void 0;var r=a(5),n=a(2),i=a(66);const s=\\\"PAGE_CONTENT\\\",o=\\\"STREAM_CONTENT\\\",c=\\\"OBJECT\\\",l=\\\"ELEMENT\\\";t.StructTreeRoot=class StructTreeRoot{constructor(e){this.dict=e;this.roleMap=new Map}init(){this.readRoleMap()}readRoleMap(){const e=this.dict.get(\\\"RoleMap\\\");e instanceof r.Dict&&e.forEach(((e,t)=>{t instanceof r.Name&&this.roleMap.set(e,t.name)}))}};class StructElementNode{constructor(e,t){this.tree=e;this.dict=t;this.kids=[];this.parseKids()}get role(){const e=this.dict.get(\\\"S\\\"),t=e instanceof r.Name?e.name:\\\"\\\",{root:a}=this.tree;return a.roleMap.has(t)?a.roleMap.get(t):t}parseKids(){let e=null;const t=this.dict.getRaw(\\\"Pg\\\");t instanceof r.Ref&&(e=t.toString());const a=this.dict.get(\\\"K\\\");if(Array.isArray(a))for(const t of a){const a=this.parseKid(e,t);a&&this.kids.push(a)}else{const t=this.parseKid(e,a);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new StructElement({type:s,mcid:t,pageObjId:e});let a=null;t instanceof r.Ref?a=this.dict.xref.fetch(t):t instanceof r.Dict&&(a=t);if(!a)return null;const n=a.getRaw(\\\"Pg\\\");n instanceof r.Ref&&(e=n.toString());const i=a.get(\\\"Type\\\")instanceof r.Name?a.get(\\\"Type\\\").name:null;return\\\"MCR\\\"===i?this.tree.pageDict.objId!==e?null:new StructElement({type:o,refObjId:a.getRaw(\\\"Stm\\\")instanceof r.Ref?a.getRaw(\\\"Stm\\\").toString():null,pageObjId:e,mcid:a.get(\\\"MCID\\\")}):\\\"OBJR\\\"===i?this.tree.pageDict.objId!==e?null:new StructElement({type:c,refObjId:a.getRaw(\\\"Obj\\\")instanceof r.Ref?a.getRaw(\\\"Obj\\\").toString():null,pageObjId:e}):new StructElement({type:l,dict:a})}}class StructElement{constructor({type:e,dict:t=null,mcid:a=null,pageObjId:r=null,refObjId:n=null}){this.type=e;this.dict=t;this.mcid=a;this.pageObjId=r;this.refObjId=n;this.parentNode=null}}t.StructTreePage=class StructTreePage{constructor(e,t){this.root=e;this.rootDict=e?e.dict:null;this.pageDict=t;this.nodes=[]}parse(){if(!this.root||!this.rootDict)return;const e=this.rootDict.get(\\\"ParentTree\\\");if(!e)return;const t=this.pageDict.get(\\\"StructParents\\\");if(!Number.isInteger(t))return;const a=new i.NumberTree(e,this.rootDict.xref).get(t);if(!Array.isArray(a))return;const n=new Map;for(const e of a)e instanceof r.Ref&&this.addNode(this.rootDict.xref.fetch(e),n)}addNode(e,t,a=0){if(a>40){(0,n.warn)(\\\"StructTree MAX_DEPTH reached.\\\");return null}if(t.has(e))return t.get(e);const i=new StructElementNode(this,e);t.set(e,i);const s=e.get(\\\"P\\\");if(!s||(0,r.isName)(s.get(\\\"Type\\\"),\\\"StructTreeRoot\\\")){this.addTopLevelNode(e,i)||t.delete(e);return i}const o=this.addNode(s,t,a+1);if(!o)return i;let c=!1;for(const t of o.kids)if(t.type===l&&t.dict===e){t.parentNode=i;c=!0}c||t.delete(e);return i}addTopLevelNode(e,t){const a=this.rootDict.get(\\\"K\\\");if(!a)return!1;if(a instanceof r.Dict){if(a.objId!==e.objId)return!1;this.nodes[0]=t;return!0}if(!Array.isArray(a))return!0;let n=!1;for(let r=0;r40){(0,n.warn)(\\\"StructTree too deep to be fully serialized.\\\");return}const r=Object.create(null);r.role=e.role;r.children=[];t.children.push(r);const i=e.dict.get(\\\"Alt\\\");\\\"string\\\"==typeof i&&(r.alt=(0,n.stringToPDFString)(i));const h=e.dict.get(\\\"Lang\\\");\\\"string\\\"==typeof h&&(r.lang=(0,n.stringToPDFString)(h));for(const t of e.kids){const e=t.type===l?t.parentNode:null;e?nodeToSerializable(e,r,a+1):t.type===s||t.type===o?r.children.push({type:\\\"content\\\",id:`page${t.pageObjId}_mcid${t.mcid}`}):t.type===c&&r.children.push({type:\\\"object\\\",id:t.refObjId})}}const e=Object.create(null);e.children=[];e.role=\\\"Root\\\";for(const t of this.nodes)t&&nodeToSerializable(t,e);return e}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ObjectLoader=void 0;var r=a(5),n=a(9),i=a(8),s=a(2);function addChildren(e,t){if(e instanceof r.Dict)e=e.getRawValues();else if(e instanceof n.BaseStream)e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const i of e)((a=i)instanceof r.Ref||a instanceof r.Dict||a instanceof n.BaseStream||Array.isArray(a))&&t.push(i);var a}t.ObjectLoader=class ObjectLoader{constructor(e,t,a){this.dict=e;this.keys=t;this.xref=a;this.refSet=null}async load(){if(this.xref.stream.isDataLoaded)return;const{keys:e,dict:t}=this;this.refSet=new r.RefSet;const a=[];for(let r=0,n=e.length;r{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.incrementalUpdate=function incrementalUpdate({originalData:e,xrefInfo:t,newRefs:a,xref:o=null,hasXfa:l=!1,xfaDatasetsRef:h=null,hasXfaDatasetsEntry:u=!1,acroFormRef:d=null,acroForm:f=null,xfaData:g=null}){l&&function updateXFA({xfaData:e,xfaDatasetsRef:t,hasXfaDatasetsEntry:a,acroFormRef:n,acroForm:o,newRefs:c,xref:l,xrefInfo:h}){if(null===l)return;if(!a){if(!n){(0,r.warn)(\\\"XFA - Cannot save it\\\");return}const e=o.get(\\\"XFA\\\"),a=e.slice();a.splice(2,0,\\\"datasets\\\");a.splice(3,0,t);o.set(\\\"XFA\\\",a);const i=l.encrypt;let s=null;i&&(s=i.createCipherTransform(n.num,n.gen));const h=[`${n.num} ${n.gen} obj\\\\n`];writeDict(o,h,s);h.push(\\\"\\\\n\\\");o.set(\\\"XFA\\\",e);c.push({ref:n,data:h.join(\\\"\\\")})}if(null===e){e=function writeXFADataForAcroform(e,t){const a=new s.SimpleXMLParser({hasAttributes:!0}).parseFromString(e);for(const{xfa:e}of t){if(!e)continue;const{path:t,value:n}=e;if(!t)continue;const o=a.documentElement.searchNode((0,i.parseXFAPath)(t),0);o?Array.isArray(n)?o.childNodes=n.map((e=>new s.SimpleDOMNode(\\\"value\\\",e))):o.childNodes=[new s.SimpleDOMNode(\\\"#text\\\",n)]:(0,r.warn)(`Node not found for path: ${t}`)}const n=[];a.documentElement.dump(n);return n.join(\\\"\\\")}(l.fetchIfRef(t).getString(),c)}const u=l.encrypt;if(u){e=u.createCipherTransform(t.num,t.gen).encryptString(e)}const d=`${t.num} ${t.gen} obj\\\\n<< /Type /EmbeddedFile /Length ${e.length}>>\\\\nstream\\\\n`+e+\\\"\\\\nendstream\\\\nendobj\\\\n\\\";c.push({ref:t,data:d})}({xfaData:g,xfaDatasetsRef:h,hasXfaDatasetsEntry:u,acroFormRef:d,acroForm:f,newRefs:a,xref:o,xrefInfo:t});const p=new n.Dict(null),m=t.newRef;let b,y;const w=e[e.length-1];if(10===w||13===w){b=[];y=e.length}else{b=[\\\"\\\\n\\\"];y=e.length+1}p.set(\\\"Size\\\",m.num+1);p.set(\\\"Prev\\\",t.startXRef);p.set(\\\"Type\\\",n.Name.get(\\\"XRef\\\"));null!==t.rootRef&&p.set(\\\"Root\\\",t.rootRef);null!==t.infoRef&&p.set(\\\"Info\\\",t.infoRef);null!==t.encryptRef&&p.set(\\\"Encrypt\\\",t.encryptRef);a.push({ref:m,data:\\\"\\\"});a=a.sort(((e,t)=>e.ref.num-t.ref.num));const S=[[0,1,65535]],x=[0,1];let k=0;for(const{ref:e,data:t}of a){k=Math.max(k,y);S.push([1,y,Math.min(e.gen,65535)]);y+=t.length;x.push(e.num,1);b.push(t)}p.set(\\\"Index\\\",x);if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const e=function computeMD5(e,t){const a=Math.floor(Date.now()/1e3),n=t.filename||\\\"\\\",i=[a.toString(),n,e.toString()];let s=i.reduce(((e,t)=>e+t.length),0);for(const e of Object.values(t.info)){i.push(e);s+=e.length}const o=new Uint8Array(s);let l=0;for(const e of i){writeString(e,l,o);l+=e.length}return(0,r.bytesToString)((0,c.calculateMD5)(o))}(y,t);p.set(\\\"ID\\\",[t.fileIds[0],e])}const C=[1,Math.ceil(Math.log2(k)/8),2],v=(C[0]+C[1]+C[2])*S.length;p.set(\\\"W\\\",C);p.set(\\\"Length\\\",v);b.push(`${m.num} ${m.gen} obj\\\\n`);writeDict(p,b,null);b.push(\\\" stream\\\\n\\\");const F=b.reduce(((e,t)=>e+t.length),0),O=`\\\\nendstream\\\\nendobj\\\\nstartxref\\\\n${y}\\\\n%%EOF\\\\n`,T=new Uint8Array(e.length+F+v+O.length);T.set(e);let M=e.length;for(const e of b){writeString(e,M,T);M+=e.length}for(const[e,t,a]of S){M=writeInt(e,C[0],M,T);M=writeInt(t,C[1],M,T);M=writeInt(a,C[2],M,T)}writeString(O,M,T);return T};t.writeDict=writeDict;var r=a(2),n=a(5),i=a(8),s=a(70),o=a(9),c=a(74);function writeDict(e,t,a){t.push(\\\"<<\\\");for(const r of e.getKeys()){t.push(` /${(0,i.escapePDFName)(r)} `);writeValue(e.getRaw(r),t,a)}t.push(\\\">>\\\")}function writeValue(e,t,a){if(e instanceof n.Name)t.push(`/${(0,i.escapePDFName)(e.name)}`);else if(e instanceof n.Ref)t.push(`${e.num} ${e.gen} R`);else if(Array.isArray(e))!function writeArray(e,t,a){t.push(\\\"[\\\");let r=!0;for(const n of e){r?r=!1:t.push(\\\" \\\");writeValue(n,t,a)}t.push(\\\"]\\\")}(e,t,a);else if(\\\"string\\\"==typeof e){null!==a&&(e=a.encryptString(e));t.push(`(${(0,r.escapeString)(e)})`)}else\\\"number\\\"==typeof e?t.push(function numberToString(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);return t%100==0?(t/100).toString():t%10==0?e.toFixed(1):e.toFixed(2)}(e)):\\\"boolean\\\"==typeof e?t.push(e.toString()):e instanceof n.Dict?writeDict(e,t,a):e instanceof o.BaseStream?function writeStream(e,t,a){writeDict(e.dict,t,a);t.push(\\\" stream\\\\n\\\");let r=e.getString();null!==a&&(r=a.encryptString(r));t.push(r,\\\"\\\\nendstream\\\\n\\\")}(e,t,a):null===e?t.push(\\\"null\\\"):(0,r.warn)(`Unhandled value in writer: ${typeof e}, please file a bug.`)}function writeInt(e,t,a,r){for(let n=t+a-1;n>a-1;n--){r[n]=255&e;e>>=8}return a+t}function writeString(e,t,a){for(let r=0,n=e.length;r{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.calculateSHA256=t.calculateMD5=t.PDF20=t.PDF17=t.CipherTransformFactory=t.ARCFourCipher=t.AES256Cipher=t.AES128Cipher=void 0;t.calculateSHA384=calculateSHA384;t.calculateSHA512=void 0;var r=a(2),n=a(5),i=a(75);class ARCFourCipher{constructor(e){this.a=0;this.b=0;const t=new Uint8Array(256),a=e.length;for(let e=0;e<256;++e)t[e]=e;for(let r=0,n=0;r<256;++r){const i=t[r];n=n+i+e[r%a]&255;t[r]=t[n];t[n]=i}this.s=t}encryptBlock(e){let t=this.a,a=this.b;const r=this.s,n=e.length,i=new Uint8Array(n);for(let s=0;s>5&255;h[u++]=n>>13&255;h[u++]=n>>21&255;h[u++]=n>>>29&255;h[u++]=0;h[u++]=0;h[u++]=0;const g=new Int32Array(16);for(u=0;u>>32-o)|0;n=i}i=i+n|0;s=s+l|0;o=o+f|0;c=c+p|0}return new Uint8Array([255&i,i>>8&255,i>>16&255,i>>>24&255,255&s,s>>8&255,s>>16&255,s>>>24&255,255&o,o>>8&255,o>>16&255,o>>>24&255,255&c,c>>8&255,c>>16&255,c>>>24&255])}}();t.calculateMD5=s;class Word64{constructor(e,t){this.high=0|e;this.low=0|t}and(e){this.high&=e.high;this.low&=e.low}xor(e){this.high^=e.high;this.low^=e.low}or(e){this.high|=e.high;this.low|=e.low}shiftRight(e){if(e>=32){this.low=this.high>>>e-32|0;this.high=0}else{this.low=this.low>>>e|this.high<<32-e;this.high=this.high>>>e|0}}shiftLeft(e){if(e>=32){this.high=this.low<>>32-e;this.low<<=e}}rotateRight(e){let t,a;if(32&e){a=this.low;t=this.high}else{t=this.low;a=this.high}e&=31;this.low=t>>>e|a<<32-e;this.high=a>>>e|t<<32-e}not(){this.high=~this.high;this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let a=(this.high>>>0)+(e.high>>>0);t>4294967295&&(a+=1);this.low=0|t;this.high=0|a}copyTo(e,t){e[t]=this.high>>>24&255;e[t+1]=this.high>>16&255;e[t+2]=this.high>>8&255;e[t+3]=255&this.high;e[t+4]=this.low>>>24&255;e[t+5]=this.low>>16&255;e[t+6]=this.low>>8&255;e[t+7]=255&this.low}assign(e){this.high=e.high;this.low=e.low}}const o=function calculateSHA256Closure(){function rotr(e,t){return e>>>t|e<<32-t}function ch(e,t,a){return e&t^~e&a}function maj(e,t,a){return e&t^e&a^t&a}function sigma(e){return rotr(e,2)^rotr(e,13)^rotr(e,22)}function sigmaPrime(e){return rotr(e,6)^rotr(e,11)^rotr(e,25)}function littleSigma(e){return rotr(e,7)^rotr(e,18)^e>>>3}const e=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return function hash(t,a,r){let n=1779033703,i=3144134277,s=1013904242,o=2773480762,c=1359893119,l=2600822924,h=528734635,u=1541459225;const d=64*Math.ceil((r+9)/64),f=new Uint8Array(d);let g,p;for(g=0;g>>29&255;f[g++]=r>>21&255;f[g++]=r>>13&255;f[g++]=r>>5&255;f[g++]=r<<3&255;const b=new Uint32Array(64);for(g=0;g>>10)+b[p-7]+littleSigma(b[p-15])+b[p-16]|0;let t,a,r=n,d=i,m=s,w=o,S=c,x=l,k=h,C=u;for(p=0;p<64;++p){t=C+sigmaPrime(S)+ch(S,x,k)+e[p]+b[p];a=sigma(r)+maj(r,d,m);C=k;k=x;x=S;S=w+t|0;w=m;m=d;d=r;r=t+a|0}n=n+r|0;i=i+d|0;s=s+m|0;o=o+w|0;c=c+S|0;l=l+x|0;h=h+k|0;u=u+C|0}var y;return new Uint8Array([n>>24&255,n>>16&255,n>>8&255,255&n,i>>24&255,i>>16&255,i>>8&255,255&i,s>>24&255,s>>16&255,s>>8&255,255&s,o>>24&255,o>>16&255,o>>8&255,255&o,c>>24&255,c>>16&255,c>>8&255,255&c,l>>24&255,l>>16&255,l>>8&255,255&l,h>>24&255,h>>16&255,h>>8&255,255&h,u>>24&255,u>>16&255,u>>8&255,255&u])}}();t.calculateSHA256=o;const c=function calculateSHA512Closure(){function ch(e,t,a,r,n){e.assign(t);e.and(a);n.assign(t);n.not();n.and(r);e.xor(n)}function maj(e,t,a,r,n){e.assign(t);e.and(a);n.assign(t);n.and(r);e.xor(n);n.assign(a);n.and(r);e.xor(n)}function sigma(e,t,a){e.assign(t);e.rotateRight(28);a.assign(t);a.rotateRight(34);e.xor(a);a.assign(t);a.rotateRight(39);e.xor(a)}function sigmaPrime(e,t,a){e.assign(t);e.rotateRight(14);a.assign(t);a.rotateRight(18);e.xor(a);a.assign(t);a.rotateRight(41);e.xor(a)}function littleSigma(e,t,a){e.assign(t);e.rotateRight(1);a.assign(t);a.rotateRight(8);e.xor(a);a.assign(t);a.shiftRight(7);e.xor(a)}function littleSigmaPrime(e,t,a){e.assign(t);e.rotateRight(19);a.assign(t);a.rotateRight(61);e.xor(a);a.assign(t);a.shiftRight(6);e.xor(a)}const e=[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)];return function hash(t,a,r,n=!1){let i,s,o,c,l,h,u,d;if(n){i=new Word64(3418070365,3238371032);s=new Word64(1654270250,914150663);o=new Word64(2438529370,812702999);c=new Word64(355462360,4144912697);l=new Word64(1731405415,4290775857);h=new Word64(2394180231,1750603025);u=new Word64(3675008525,1694076839);d=new Word64(1203062813,3204075428)}else{i=new Word64(1779033703,4089235720);s=new Word64(3144134277,2227873595);o=new Word64(1013904242,4271175723);c=new Word64(2773480762,1595750129);l=new Word64(1359893119,2917565137);h=new Word64(2600822924,725511199);u=new Word64(528734635,4215389547);d=new Word64(1541459225,327033209)}const f=128*Math.ceil((r+17)/128),g=new Uint8Array(f);let p,m;for(p=0;p>>29&255;g[p++]=r>>21&255;g[p++]=r>>13&255;g[p++]=r>>5&255;g[p++]=r<<3&255;const y=new Array(80);for(p=0;p<80;p++)y[p]=new Word64(0,0);let w=new Word64(0,0),S=new Word64(0,0),x=new Word64(0,0),k=new Word64(0,0),C=new Word64(0,0),v=new Word64(0,0),F=new Word64(0,0),O=new Word64(0,0);const T=new Word64(0,0),M=new Word64(0,0),E=new Word64(0,0),D=new Word64(0,0);let N,L;for(p=0;p=1;--e){a=i[13];i[13]=i[9];i[9]=i[5];i[5]=i[1];i[1]=a;a=i[14];r=i[10];i[14]=i[6];i[10]=i[2];i[6]=a;i[2]=r;a=i[15];r=i[11];n=i[7];i[15]=i[3];i[11]=a;i[7]=r;i[3]=n;for(let e=0;e<16;++e)i[e]=this._inv_s[i[e]];for(let a=0,r=16*e;a<16;++a,++r)i[a]^=t[r];for(let e=0;e<16;e+=4){const t=this._mix[i[e]],r=this._mix[i[e+1]],n=this._mix[i[e+2]],s=this._mix[i[e+3]];a=t^r>>>8^r<<24^n>>>16^n<<16^s>>>24^s<<8;i[e]=a>>>24&255;i[e+1]=a>>16&255;i[e+2]=a>>8&255;i[e+3]=255&a}}a=i[13];i[13]=i[9];i[9]=i[5];i[5]=i[1];i[1]=a;a=i[14];r=i[10];i[14]=i[6];i[10]=i[2];i[6]=a;i[2]=r;a=i[15];r=i[11];n=i[7];i[15]=i[3];i[11]=a;i[7]=r;i[3]=n;for(let e=0;e<16;++e){i[e]=this._inv_s[i[e]];i[e]^=t[e]}return i}_encrypt(e,t){const a=this._s;let r,n,i;const s=new Uint8Array(16);s.set(e);for(let e=0;e<16;++e)s[e]^=t[e];for(let e=1;e=r;--a)if(e[a]!==t){t=0;break}o-=t;i[i.length-1]=e.subarray(0,16-t)}}const c=new Uint8Array(o);for(let e=0,t=0,a=i.length;e=256&&(o=255&(27^o))}for(let t=0;t<4;++t){a[e]=r^=a[e-32];e++;a[e]=n^=a[e-32];e++;a[e]=i^=a[e-32];e++;a[e]=s^=a[e-32];e++}}return a}}t.AES256Cipher=AES256Cipher;class PDF17{checkOwnerPassword(e,t,a,n){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(a,e.length+t.length);const s=o(i,0,i.length);return(0,r.isArrayEqual)(s,n)}checkUserPassword(e,t,a){const n=new Uint8Array(e.length+8);n.set(e,0);n.set(t,e.length);const i=o(n,0,n.length);return(0,r.isArrayEqual)(i,a)}getOwnerKey(e,t,a,r){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(a,e.length+t.length);const i=o(n,0,n.length);return new AES256Cipher(i).decryptBlock(r,!1,new Uint8Array(16))}getUserKey(e,t,a){const r=new Uint8Array(e.length+8);r.set(e,0);r.set(t,e.length);const n=o(r,0,r.length);return new AES256Cipher(n).decryptBlock(a,!1,new Uint8Array(16))}}t.PDF17=PDF17;const l=function PDF20Closure(){function calculatePDF20Hash(e,t,a){let r=o(t,0,t.length).subarray(0,32),n=[0],i=0;for(;i<64||n[n.length-1]>i-32;){const t=e.length+r.length+a.length,s=new Uint8Array(t);let l=0;s.set(e,l);l+=e.length;s.set(r,l);l+=r.length;s.set(a,l);const h=new Uint8Array(64*t);for(let e=0,a=0;e<64;e++,a+=t)h.set(s,a);n=new AES128Cipher(r.subarray(0,16)).encrypt(h,r.subarray(16,32));let u=0;for(let e=0;e<16;e++){u*=1;u%=3;u+=(n[e]>>>0)%3;u%=3}0===u?r=o(n,0,n.length):1===u?r=calculateSHA384(n,0,n.length):2===u&&(r=c(n,0,n.length));i++}return r.subarray(0,32)}return class PDF20{hash(e,t,a){return calculatePDF20Hash(e,t,a)}checkOwnerPassword(e,t,a,n){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(a,e.length+t.length);const s=calculatePDF20Hash(e,i,a);return(0,r.isArrayEqual)(s,n)}checkUserPassword(e,t,a){const n=new Uint8Array(e.length+8);n.set(e,0);n.set(t,e.length);const i=calculatePDF20Hash(e,n,[]);return(0,r.isArrayEqual)(i,a)}getOwnerKey(e,t,a,r){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(a,e.length+t.length);const i=calculatePDF20Hash(e,n,a);return new AES256Cipher(i).decryptBlock(r,!1,new Uint8Array(16))}getUserKey(e,t,a){const r=new Uint8Array(e.length+8);r.set(e,0);r.set(t,e.length);const n=calculatePDF20Hash(e,r,[]);return new AES256Cipher(n).decryptBlock(a,!1,new Uint8Array(16))}}}();t.PDF20=l;class CipherTransform{constructor(e,t){this.StringCipherConstructor=e;this.StreamCipherConstructor=t}createStream(e,t){const a=new this.StreamCipherConstructor;return new i.DecryptStream(e,t,(function cipherTransformDecryptStream(e,t){return a.decryptBlock(e,t)}))}decryptString(e){const t=new this.StringCipherConstructor;let a=(0,r.stringToBytes)(e);a=t.decryptBlock(a,!0);return(0,r.bytesToString)(a)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof AESBaseCipher){const a=16-e.length%16;e+=String.fromCharCode(a).repeat(a);const n=new Uint8Array(16);if(\\\"undefined\\\"!=typeof crypto)crypto.getRandomValues(n);else for(let e=0;e<16;e++)n[e]=Math.floor(256*Math.random());let i=(0,r.stringToBytes)(e);i=t.encrypt(i,n);const s=new Uint8Array(16+i.length);s.set(n);s.set(i,16);return(0,r.bytesToString)(s)}let a=(0,r.stringToBytes)(e);a=t.encrypt(a);return(0,r.bytesToString)(a)}}const h=function CipherTransformFactoryClosure(){const e=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]);function prepareKeyData(t,a,r,n,i,o,c,l){const h=40+r.length+t.length,u=new Uint8Array(h);let d,f,g=0;if(a){f=Math.min(32,a.length);for(;g>8&255;u[g++]=i>>16&255;u[g++]=i>>>24&255;for(d=0,f=t.length;d=4&&!l){u[g++]=255;u[g++]=255;u[g++]=255;u[g++]=255}let p=s(u,0,g);const m=c>>3;if(o>=3)for(d=0;d<50;++d)p=s(p,0,m);const b=p.subarray(0,m);let y,w;if(o>=3){for(g=0;g<32;++g)u[g]=e[g];for(d=0,f=t.length;d>8&255;n[o++]=e>>16&255;n[o++]=255&t;n[o++]=t>>8&255;if(r){n[o++]=115;n[o++]=65;n[o++]=108;n[o++]=84}return s(n,0,o).subarray(0,Math.min(a.length+5,16))}function buildCipherConstructor(e,t,a,i,s){if(!(t instanceof n.Name))throw new r.FormatError(\\\"Invalid crypt filter name.\\\");const o=e.get(t.name);let c;null!=o&&(c=o.get(\\\"CFM\\\"));if(!c||\\\"None\\\"===c.name)return function cipherTransformFactoryBuildCipherConstructorNone(){return new NullCipher};if(\\\"V2\\\"===c.name)return function cipherTransformFactoryBuildCipherConstructorV2(){return new ARCFourCipher(buildObjectKey(a,i,s,!1))};if(\\\"AESV2\\\"===c.name)return function cipherTransformFactoryBuildCipherConstructorAESV2(){return new AES128Cipher(buildObjectKey(a,i,s,!0))};if(\\\"AESV3\\\"===c.name)return function cipherTransformFactoryBuildCipherConstructorAESV3(){return new AES256Cipher(s)};throw new r.FormatError(\\\"Unknown crypto method\\\")}return class CipherTransformFactory{constructor(a,i,o){const c=a.get(\\\"Filter\\\");if(!(0,n.isName)(c,\\\"Standard\\\"))throw new r.FormatError(\\\"unknown encryption method\\\");this.filterName=c.name;this.dict=a;const h=a.get(\\\"V\\\");if(!Number.isInteger(h)||1!==h&&2!==h&&4!==h&&5!==h)throw new r.FormatError(\\\"unsupported encryption algorithm\\\");this.algorithm=h;let u=a.get(\\\"Length\\\");if(!u)if(h<=3)u=40;else{const e=a.get(\\\"CF\\\"),t=a.get(\\\"StmF\\\");if(e instanceof n.Dict&&t instanceof n.Name){e.suppressEncryption=!0;const a=e.get(t.name);u=a&&a.get(\\\"Length\\\")||128;u<40&&(u<<=3)}}if(!Number.isInteger(u)||u<40||u%8!=0)throw new r.FormatError(\\\"invalid key length\\\");const d=(0,r.stringToBytes)(a.get(\\\"O\\\")).subarray(0,32),f=(0,r.stringToBytes)(a.get(\\\"U\\\")).subarray(0,32),g=a.get(\\\"P\\\"),p=a.get(\\\"R\\\"),m=(4===h||5===h)&&!1!==a.get(\\\"EncryptMetadata\\\");this.encryptMetadata=m;const b=(0,r.stringToBytes)(i);let y,w;if(o){if(6===p)try{o=(0,r.utf8StringToString)(o)}catch(e){(0,r.warn)(\\\"CipherTransformFactory: Unable to convert UTF8 encoded password.\\\")}y=(0,r.stringToBytes)(o)}if(5!==h)w=prepareKeyData(b,y,d,f,g,p,u,m);else{const e=(0,r.stringToBytes)(a.get(\\\"O\\\")).subarray(32,40),t=(0,r.stringToBytes)(a.get(\\\"O\\\")).subarray(40,48),n=(0,r.stringToBytes)(a.get(\\\"U\\\")).subarray(0,48),i=(0,r.stringToBytes)(a.get(\\\"U\\\")).subarray(32,40),s=(0,r.stringToBytes)(a.get(\\\"U\\\")).subarray(40,48),o=(0,r.stringToBytes)(a.get(\\\"OE\\\")),c=(0,r.stringToBytes)(a.get(\\\"UE\\\"));(0,r.stringToBytes)(a.get(\\\"Perms\\\"));w=function createEncryptionKey20(e,t,a,r,n,i,s,o,c,h,u,d){if(t){const e=Math.min(127,t.length);t=t.subarray(0,e)}else t=[];let f;f=6===e?new l:new PDF17;return f.checkUserPassword(t,o,s)?f.getUserKey(t,c,u):t.length&&f.checkOwnerPassword(t,r,i,a)?f.getOwnerKey(t,n,i,h):null}(p,y,d,e,t,n,f,i,s,o,c)}if(!w&&!o)throw new r.PasswordException(\\\"No password given\\\",r.PasswordResponses.NEED_PASSWORD);if(!w&&o){const t=function decodeUserPassword(t,a,r,n){const i=new Uint8Array(32);let o=0;const c=Math.min(32,t.length);for(;o>3;if(r>=3)for(l=0;l<50;++l)h=s(h,0,h.length);let d,f;if(r>=3){f=a;const e=new Uint8Array(u);for(l=19;l>=0;l--){for(let t=0;t=4){const e=a.get(\\\"CF\\\");e instanceof n.Dict&&(e.suppressEncryption=!0);this.cf=e;this.stmf=a.get(\\\"StmF\\\")||t;this.strf=a.get(\\\"StrF\\\")||t;this.eff=a.get(\\\"EFF\\\")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(buildCipherConstructor(this.cf,this.stmf,e,t,this.encryptionKey),buildCipherConstructor(this.cf,this.strf,e,t,this.encryptionKey));const a=buildObjectKey(e,t,this.encryptionKey,!1),r=function buildCipherCipherConstructor(){return new ARCFourCipher(a)};return new CipherTransform(r,r)}}}();t.CipherTransformFactory=h},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.DecryptStream=void 0;var r=a(29);class DecryptStream extends r.DecodeStream{constructor(e,t,a){super(t);this.str=e;this.dict=e.dict;this.decrypt=a;this.nextChunk=null;this.initialized=!1}readBlock(){let e;if(this.initialized)e=this.nextChunk;else{e=this.str.getBytes(512);this.initialized=!0}if(!e||0===e.length){this.eof=!0;return}this.nextChunk=this.str.getBytes(512);const t=this.nextChunk&&this.nextChunk.length>0;e=(0,this.decrypt)(e,!t);let a=this.bufferLength;const r=e.length,n=this.ensureBuffer(a+r);for(let t=0;t{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XFAFactory=void 0;var r=a(77),n=a(81),i=a(87),s=a(85),o=a(78),c=a(2),l=a(88),h=a(98);class XFAFactory{constructor(e){try{this.root=(new l.XFAParser).parse(XFAFactory._createDocument(e));const t=new n.Binder(this.root);this.form=t.bind();this.dataHandler=new i.DataHandler(this.root,t.getData());this.form[r.$globalData].template=this.form}catch(e){(0,c.warn)(`XFA - an error occurred during parsing and binding: ${e}`)}}isValid(){return this.root&&this.form}_createPagesHelper(){const e=this.form[r.$toPages]();return new Promise(((t,a)=>{const nextIteration=()=>{try{const a=e.next();a.done?t(a.value):setTimeout(nextIteration,0)}catch(e){a(e)}};setTimeout(nextIteration,0)}))}async _createPages(){try{this.pages=await this._createPagesHelper();this.dims=this.pages.children.map((e=>{const{width:t,height:a}=e.attributes.style;return[0,0,parseInt(t),parseInt(a)]}))}catch(e){(0,c.warn)(`XFA - an error occurred during layout: ${e}`)}}getBoundingBox(e){return this.dims[e]}async getNumPages(){this.pages||await this._createPages();return this.dims.length}setImages(e){this.form[r.$globalData].images=e}setFonts(e){this.form[r.$globalData].fontFinder=new s.FontFinder(e);const t=[];for(let e of this.form[r.$globalData].usedTypefaces){e=(0,o.stripQuotes)(e);this.form[r.$globalData].fontFinder.find(e)||t.push(e)}return t.length>0?t:null}appendFonts(e,t){this.form[r.$globalData].fontFinder.add(e,t)}async getPages(){this.pages||await this._createPages();const e=this.pages;this.pages=null;return e}serializeData(e){return this.dataHandler.serialize(e)}static _createDocument(e){return e[\\\"/xdp:xdp\\\"]?Object.values(e).join(\\\"\\\"):e[\\\"xdp:xdp\\\"]}static getRichTextAsHtml(e){if(!e||\\\"string\\\"!=typeof e)return null;try{let t=new l.XFAParser(h.XhtmlNamespace,!0).parse(e);if(![\\\"body\\\",\\\"xhtml\\\"].includes(t[r.$nodeName])){const e=h.XhtmlNamespace.body({});e[r.$appendChild](t);t=e}const a=t[r.$toHTML]();if(!a.success)return null;const{html:n}=a,{attributes:i}=n;if(i){i.class&&(i.class=i.class.filter((e=>!e.startsWith(\\\"xfa\\\"))));i.dir=\\\"auto\\\"}return{html:n,str:t[r.$text]()}}catch(e){(0,c.warn)(`XFA - an error occurred during parsing of rich text: ${e}`)}return null}}t.XFAFactory=XFAFactory},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XmlObject=t.XFAObjectArray=t.XFAObject=t.XFAAttribute=t.StringObject=t.OptionObject=t.Option10=t.Option01=t.IntegerObject=t.ContentObject=t.$uid=t.$toStyle=t.$toString=t.$toPages=t.$toHTML=t.$text=t.$tabIndex=t.$setValue=t.$setSetAttributes=t.$setId=t.$searchNode=t.$root=t.$resolvePrototypes=t.$removeChild=t.$pushPara=t.$pushGlyphs=t.$popPara=t.$onText=t.$onChildCheck=t.$onChild=t.$nsAttributes=t.$nodeName=t.$namespaceId=t.$isUsable=t.$isTransparent=t.$isThereMoreWidth=t.$isSplittable=t.$isNsAgnostic=t.$isDescendent=t.$isDataValue=t.$isCDATAXml=t.$isBindable=t.$insertAt=t.$indexOf=t.$ids=t.$hasSettableValue=t.$globalData=t.$getTemplateRoot=t.$getSubformParent=t.$getRealChildrenByNameIt=t.$getParent=t.$getNextPage=t.$getExtra=t.$getDataValue=t.$getContainedChildren=t.$getChildrenByNameIt=t.$getChildrenByName=t.$getChildrenByClass=t.$getChildren=t.$getAvailableSpace=t.$getAttributes=t.$getAttributeIt=t.$flushHTML=t.$finalize=t.$extra=t.$dump=t.$data=t.$content=t.$consumed=t.$clone=t.$cleanup=t.$cleanPage=t.$clean=t.$childrenToHTML=t.$appendChild=t.$addHTML=t.$acceptWhitespace=void 0;var r=a(78),n=a(2),i=a(8),s=a(79),o=a(80);const c=Symbol();t.$acceptWhitespace=c;const l=Symbol();t.$addHTML=l;const h=Symbol();t.$appendChild=h;const u=Symbol();t.$childrenToHTML=u;const d=Symbol();t.$clean=d;const f=Symbol();t.$cleanPage=f;const g=Symbol();t.$cleanup=g;const p=Symbol();t.$clone=p;const m=Symbol();t.$consumed=m;const b=Symbol(\\\"content\\\");t.$content=b;const y=Symbol(\\\"data\\\");t.$data=y;const w=Symbol();t.$dump=w;const S=Symbol(\\\"extra\\\");t.$extra=S;const x=Symbol();t.$finalize=x;const k=Symbol();t.$flushHTML=k;const C=Symbol();t.$getAttributeIt=C;const v=Symbol();t.$getAttributes=v;const F=Symbol();t.$getAvailableSpace=F;const O=Symbol();t.$getChildrenByClass=O;const T=Symbol();t.$getChildrenByName=T;const M=Symbol();t.$getChildrenByNameIt=M;const E=Symbol();t.$getDataValue=E;const D=Symbol();t.$getExtra=D;const N=Symbol();t.$getRealChildrenByNameIt=N;const L=Symbol();t.$getChildren=L;const R=Symbol();t.$getContainedChildren=R;const j=Symbol();t.$getNextPage=j;const $=Symbol();t.$getSubformParent=$;const _=Symbol();t.$getParent=_;const U=Symbol();t.$getTemplateRoot=U;const X=Symbol();t.$globalData=X;const H=Symbol();t.$hasSettableValue=H;const q=Symbol();t.$ids=q;const z=Symbol();t.$indexOf=z;const W=Symbol();t.$insertAt=W;const G=Symbol();t.$isCDATAXml=G;const V=Symbol();t.$isBindable=V;const K=Symbol();t.$isDataValue=K;const Y=Symbol();t.$isDescendent=Y;const J=Symbol();t.$isNsAgnostic=J;const Z=Symbol();t.$isSplittable=Z;const Q=Symbol();t.$isThereMoreWidth=Q;const ee=Symbol();t.$isTransparent=ee;const te=Symbol();t.$isUsable=te;const ae=Symbol(),re=Symbol(\\\"namespaceId\\\");t.$namespaceId=re;const ne=Symbol(\\\"nodeName\\\");t.$nodeName=ne;const ie=Symbol();t.$nsAttributes=ie;const se=Symbol();t.$onChild=se;const oe=Symbol();t.$onChildCheck=oe;const ce=Symbol();t.$onText=ce;const le=Symbol();t.$pushGlyphs=le;const he=Symbol();t.$popPara=he;const ue=Symbol();t.$pushPara=ue;const de=Symbol();t.$removeChild=de;const fe=Symbol(\\\"root\\\");t.$root=fe;const ge=Symbol();t.$resolvePrototypes=ge;const pe=Symbol();t.$searchNode=pe;const me=Symbol();t.$setId=me;const be=Symbol();t.$setSetAttributes=be;const ye=Symbol();t.$setValue=ye;const we=Symbol();t.$tabIndex=we;const Se=Symbol();t.$text=Se;const xe=Symbol();t.$toPages=xe;const ke=Symbol();t.$toHTML=ke;const Ae=Symbol();t.$toString=Ae;const Ce=Symbol();t.$toStyle=Ce;const ve=Symbol(\\\"uid\\\");t.$uid=ve;const Fe=Symbol(),Oe=Symbol(),Te=Symbol(),Ie=Symbol(\\\"_children\\\"),Pe=Symbol(),Me=Symbol(),Ee=Symbol(),De=Symbol(),Be=Symbol(),Ne=Symbol(),Le=Symbol(),Re=Symbol(),je=Symbol(),$e=Symbol(\\\"parent\\\"),_e=Symbol(),Ue=Symbol(),Xe=Symbol();let He=0;const qe=s.NamespaceIds.datasets.id;class XFAObject{constructor(e,t,a=!1){this[re]=e;this[ne]=t;this[Le]=a;this[$e]=null;this[Ie]=[];this[ve]=`${t}${He++}`;this[X]=null}[se](e){if(!this[Le]||!this[oe](e))return!1;const t=e[ne],a=this[t];if(!(a instanceof XFAObjectArray)){null!==a&&this[de](a);this[t]=e;this[h](e);return!0}if(a.push(e)){this[h](e);return!0}let r=\\\"\\\";this.id?r=` (id: ${this.id})`:this.name&&(r=` (name: ${this.name} ${this.h.value})`);(0,n.warn)(`XFA - node \\\"${this[ne]}\\\"${r} has already enough \\\"${t}\\\"!`);return!1}[oe](e){return this.hasOwnProperty(e[ne])&&e[re]===this[re]}[J](){return!1}[c](){return!1}[G](){return!1}[V](){return!1}[he](){this.para&&this[U]()[S].paraStack.pop()}[ue](){this[U]()[S].paraStack.push(this.para)}[me](e){this.id&&this[re]===s.NamespaceIds.template.id&&e.set(this.id,this)}[U](){return this[X].template}[Z](){return!1}[Q](){return!1}[h](e){e[$e]=this;this[Ie].push(e);!e[X]&&this[X]&&(e[X]=this[X])}[de](e){const t=this[Ie].indexOf(e);this[Ie].splice(t,1)}[H](){return this.hasOwnProperty(\\\"value\\\")}[ye](e){}[ce](e){}[x](){}[d](e){delete this[Le];if(this[g]){e.clean(this[g]);delete this[g]}}[z](e){return this[Ie].indexOf(e)}[W](e,t){t[$e]=this;this[Ie].splice(e,0,t);!t[X]&&this[X]&&(t[X]=this[X])}[ee](){return!this.name}[ae](){return\\\"\\\"}[Se](){return 0===this[Ie].length?this[b]:this[Ie].map((e=>e[Se]())).join(\\\"\\\")}get[Te](){const e=Object.getPrototypeOf(this);if(!e._attributes){const t=e._attributes=new Set;for(const e of Object.getOwnPropertyNames(this)){if(null===this[e]||this[e]instanceof XFAObject||this[e]instanceof XFAObjectArray)break;t.add(e)}}return(0,n.shadow)(this,Te,e._attributes)}[Y](e){let t=this;for(;t;){if(t===e)return!0;t=t[_]()}return!1}[_](){return this[$e]}[$](){return this[_]()}[L](e=null){return e?this[e]:this[Ie]}[w](){const e=Object.create(null);this[b]&&(e.$content=this[b]);for(const t of Object.getOwnPropertyNames(this)){const a=this[t];null!==a&&(a instanceof XFAObject?e[t]=a[w]():a instanceof XFAObjectArray?a.isEmpty()||(e[t]=a.dump()):e[t]=a)}return e}[Ce](){return null}[ke](){return r.HTMLResult.EMPTY}*[R](){for(const e of this[L]())yield e}*[De](e,t){for(const a of this[R]())if(!e||t===e.has(a[ne])){const e=this[F](),t=a[ke](e);t.success||(this[S].failingNode=a);yield t}}[k](){return null}[l](e,t){this[S].children.push(e)}[F](){}[u]({filter:e=null,include:t=!0}){if(this[S].generator){const e=this[F](),t=this[S].failingNode[ke](e);if(!t.success)return t;t.html&&this[l](t.html,t.bbox);delete this[S].failingNode}else this[S].generator=this[De](e,t);for(;;){const e=this[S].generator.next();if(e.done)break;const t=e.value;if(!t.success)return t;t.html&&this[l](t.html,t.bbox)}this[S].generator=null;return r.HTMLResult.EMPTY}[be](e){this[Ue]=new Set(Object.keys(e))}[Ne](e){const t=this[Te],a=this[Ue];return[...e].filter((e=>t.has(e)&&!a.has(e)))}[ge](e,t=new Set){for(const a of this[Ie])a[_e](e,t)}[_e](e,t){const a=this[Be](e,t);a?this[Fe](a,e,t):this[ge](e,t)}[Be](e,t){const{use:a,usehref:r}=this;if(!a&&!r)return null;let i=null,s=null,c=null,l=a;if(r){l=r;r.startsWith(\\\"#som(\\\")&&r.endsWith(\\\")\\\")?s=r.slice(\\\"#som(\\\".length,r.length-1):r.startsWith(\\\".#som(\\\")&&r.endsWith(\\\")\\\")?s=r.slice(\\\".#som(\\\".length,r.length-1):r.startsWith(\\\"#\\\")?c=r.slice(1):r.startsWith(\\\".#\\\")&&(c=r.slice(2))}else a.startsWith(\\\"#\\\")?c=a.slice(1):s=a;this.use=this.usehref=\\\"\\\";if(c)i=e.get(c);else{i=(0,o.searchNode)(e.get(fe),this,s,!0,!1);i&&(i=i[0])}if(!i){(0,n.warn)(`XFA - Invalid prototype reference: ${l}.`);return null}if(i[ne]!==this[ne]){(0,n.warn)(`XFA - Incompatible prototype: ${i[ne]} !== ${this[ne]}.`);return null}if(t.has(i)){(0,n.warn)(\\\"XFA - Cycle detected in prototypes use.\\\");return null}t.add(i);const h=i[Be](e,t);h&&i[Fe](h,e,t);i[ge](e,t);t.delete(i);return i}[Fe](e,t,a){if(a.has(e)){(0,n.warn)(\\\"XFA - Cycle detected in prototypes use.\\\");return}!this[b]&&e[b]&&(this[b]=e[b]);new Set(a).add(e);for(const t of this[Ne](e[Ue])){this[t]=e[t];this[Ue]&&this[Ue].add(t)}for(const r of Object.getOwnPropertyNames(this)){if(this[Te].has(r))continue;const n=this[r],i=e[r];if(n instanceof XFAObjectArray){for(const e of n[Ie])e[_e](t,a);for(let r=n[Ie].length,s=i[Ie].length;rXFAObject[Pe](e))):\\\"object\\\"==typeof e&&null!==e?Object.assign({},e):e}[p](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch(a){(0,n.shadow)(e,t,this[t])}e[ve]=`${e[ne]}${He++}`;e[Ie]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[Te].has(t)){e[t]=XFAObject[Pe](this[t]);continue}const a=this[t];e[t]=a instanceof XFAObjectArray?new XFAObjectArray(a[Re]):null}for(const t of this[Ie]){const a=t[ne],r=t[p]();e[Ie].push(r);r[$e]=e;null===e[a]?e[a]=r:e[a][Ie].push(r)}return e}[L](e=null){return e?this[Ie].filter((t=>t[ne]===e)):this[Ie]}[O](e){return this[e]}[T](e,t,a=!0){return Array.from(this[M](e,t,a))}*[M](e,t,a=!0){if(\\\"parent\\\"!==e){for(const a of this[Ie]){a[ne]===e&&(yield a);a.name===e&&(yield a);(t||a[ee]())&&(yield*a[M](e,t,!1))}a&&this[Te].has(e)&&(yield new XFAAttribute(this,e,this[e]))}else yield this[$e]}}t.XFAObject=XFAObject;class XFAObjectArray{constructor(e=1/0){this[Re]=e;this[Ie]=[]}push(e){if(this[Ie].length<=this[Re]){this[Ie].push(e);return!0}(0,n.warn)(`XFA - node \\\"${e[ne]}\\\" accepts no more than ${this[Re]} children`);return!1}isEmpty(){return 0===this[Ie].length}dump(){return 1===this[Ie].length?this[Ie][0][w]():this[Ie].map((e=>e[w]()))}[p](){const e=new XFAObjectArray(this[Re]);e[Ie]=this[Ie].map((e=>e[p]()));return e}get children(){return this[Ie]}clear(){this[Ie].length=0}}t.XFAObjectArray=XFAObjectArray;class XFAAttribute{constructor(e,t,a){this[$e]=e;this[ne]=t;this[b]=a;this[m]=!1;this[ve]=\\\"attribute\\\"+He++}[_](){return this[$e]}[K](){return!0}[E](){return this[b].trim()}[ye](e){e=e.value||\\\"\\\";this[b]=e.toString()}[Se](){return this[b]}[Y](e){return this[$e]===e||this[$e][Y](e)}}t.XFAAttribute=XFAAttribute;class XmlObject extends XFAObject{constructor(e,t,a={}){super(e,t);this[b]=\\\"\\\";this[Me]=null;if(\\\"#text\\\"!==t){const e=new Map;this[Oe]=e;for(const[t,r]of Object.entries(a))e.set(t,new XFAAttribute(this,t,r));if(a.hasOwnProperty(ie)){const e=a[ie].xfa.dataNode;void 0!==e&&(\\\"dataGroup\\\"===e?this[Me]=!1:\\\"dataValue\\\"===e&&(this[Me]=!0))}}this[m]=!1}[Ae](e){const t=this[ne];if(\\\"#text\\\"===t){e.push((0,i.encodeToXmlString)(this[b]));return}const a=(0,n.utf8StringToString)(t),r=this[re]===qe?\\\"xfa:\\\":\\\"\\\";e.push(`<${r}${a}`);for(const[t,a]of this[Oe].entries()){const r=(0,n.utf8StringToString)(t);e.push(` ${r}=\\\"${(0,i.encodeToXmlString)(a[b])}\\\"`)}null!==this[Me]&&(this[Me]?e.push(' xfa:dataNode=\\\"dataValue\\\"'):e.push(' xfa:dataNode=\\\"dataGroup\\\"'));if(this[b]||0!==this[Ie].length){e.push(\\\">\\\");if(this[b])\\\"string\\\"==typeof this[b]?e.push((0,i.encodeToXmlString)(this[b])):this[b][Ae](e);else for(const t of this[Ie])t[Ae](e);e.push(``)}else e.push(\\\"/>\\\")}[se](e){if(this[b]){const e=new XmlObject(this[re],\\\"#text\\\");this[h](e);e[b]=this[b];this[b]=\\\"\\\"}this[h](e);return!0}[ce](e){this[b]+=e}[x](){if(this[b]&&this[Ie].length>0){const e=new XmlObject(this[re],\\\"#text\\\");this[h](e);e[b]=this[b];delete this[b]}}[ke](){return\\\"#text\\\"===this[ne]?r.HTMLResult.success({name:\\\"#text\\\",value:this[b]}):r.HTMLResult.EMPTY}[L](e=null){return e?this[Ie].filter((t=>t[ne]===e)):this[Ie]}[v](){return this[Oe]}[O](e){const t=this[Oe].get(e);return void 0!==t?t:this[L](e)}*[M](e,t){const a=this[Oe].get(e);a&&(yield a);for(const a of this[Ie]){a[ne]===e&&(yield a);t&&(yield*a[M](e,t))}}*[C](e,t){const a=this[Oe].get(e);!a||t&&a[m]||(yield a);for(const a of this[Ie])yield*a[C](e,t)}*[N](e,t,a){for(const r of this[Ie]){r[ne]!==e||a&&r[m]||(yield r);t&&(yield*r[N](e,t,a))}}[K](){return null===this[Me]?0===this[Ie].length||this[Ie][0][re]===s.NamespaceIds.xhtml.id:this[Me]}[E](){return null===this[Me]?0===this[Ie].length?this[b].trim():this[Ie][0][re]===s.NamespaceIds.xhtml.id?this[Ie][0][Se]().trim():null:this[b].trim()}[ye](e){e=e.value||\\\"\\\";this[b]=e.toString()}[w](e=!1){const t=Object.create(null);e&&(t.$ns=this[re]);this[b]&&(t.$content=this[b]);t.$name=this[ne];t.children=[];for(const a of this[Ie])t.children.push(a[w](e));t.attributes=Object.create(null);for(const[e,a]of this[Oe])t.attributes[e]=a[b];return t}}t.XmlObject=XmlObject;class ContentObject extends XFAObject{constructor(e,t){super(e,t);this[b]=\\\"\\\"}[ce](e){this[b]+=e}[x](){}}t.ContentObject=ContentObject;t.OptionObject=class OptionObject extends ContentObject{constructor(e,t,a){super(e,t);this[je]=a}[x](){this[b]=(0,r.getKeyword)({data:this[b],defaultValue:this[je][0],validate:e=>this[je].includes(e)})}[d](e){super[d](e);delete this[je]}};t.StringObject=class StringObject extends ContentObject{[x](){this[b]=this[b].trim()}};class IntegerObject extends ContentObject{constructor(e,t,a,r){super(e,t);this[Ee]=a;this[Xe]=r}[x](){this[b]=(0,r.getInteger)({data:this[b],defaultValue:this[Ee],validate:this[Xe]})}[d](e){super[d](e);delete this[Ee];delete this[Xe]}}t.IntegerObject=IntegerObject;t.Option01=class Option01 extends IntegerObject{constructor(e,t){super(e,t,0,(e=>1===e))}};t.Option10=class Option10 extends IntegerObject{constructor(e,t){super(e,t,1,(e=>0===e))}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.HTMLResult=void 0;t.getBBox=function getBBox(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const a=e.trim().split(/\\\\s*,\\\\s*/).map((e=>getMeasurement(e,\\\"-1\\\")));if(a.length<4||a[2]<0||a[3]<0)return{x:t,y:t,width:t,height:t};const[r,n,i,s]=a;return{x:r,y:n,width:i,height:s}};t.getColor=function getColor(e,t=[0,0,0]){let[a,r,n]=t;if(!e)return{r:a,g:r,b:n};const i=e.trim().split(/\\\\s*,\\\\s*/).map((e=>Math.min(Math.max(0,parseInt(e.trim(),10)),255))).map((e=>isNaN(e)?0:e));if(i.length<3)return{r:a,g:r,b:n};[a,r,n]=i;return{r:a,g:r,b:n}};t.getFloat=function getFloat({data:e,defaultValue:t,validate:a}){if(!e)return t;e=e.trim();const r=parseFloat(e);if(!isNaN(r)&&a(r))return r;return t};t.getInteger=function getInteger({data:e,defaultValue:t,validate:a}){if(!e)return t;e=e.trim();const r=parseInt(e,10);if(!isNaN(r)&&a(r))return r;return t};t.getKeyword=getKeyword;t.getMeasurement=getMeasurement;t.getRatio=function getRatio(e){if(!e)return{num:1,den:1};const t=e.trim().split(/\\\\s*:\\\\s*/).map((e=>parseFloat(e))).filter((e=>!isNaN(e)));1===t.length&&t.push(1);if(0===t.length)return{num:1,den:1};const[a,r]=t;return{num:a,den:r}};t.getRelevant=function getRelevant(e){if(!e)return[];return e.trim().split(/\\\\s+/).map((e=>({excluded:\\\"-\\\"===e[0],viewname:e.substring(1)})))};t.getStringOption=function getStringOption(e,t){return getKeyword({data:e,defaultValue:t[0],validate:e=>t.includes(e)})};t.stripQuotes=function stripQuotes(e){if(e.startsWith(\\\"'\\\")||e.startsWith('\\\"'))return e.slice(1,e.length-1);return e};var r=a(2);const n={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},i=/([+-]?\\\\d+\\\\.?\\\\d*)(.*)/;function getKeyword({data:e,defaultValue:t,validate:a}){return e&&a(e=e.trim())?e:t}function getMeasurement(e,t=\\\"0\\\"){t=t||\\\"0\\\";if(!e)return getMeasurement(t);const a=e.trim().match(i);if(!a)return getMeasurement(t);const[,r,s]=a,o=parseFloat(r);if(isNaN(o))return getMeasurement(t);if(0===o)return 0;const c=n[s];return c?c(o):o}class HTMLResult{static get FAILURE(){return(0,r.shadow)(this,\\\"FAILURE\\\",new HTMLResult(!1,null,null,null))}static get EMPTY(){return(0,r.shadow)(this,\\\"EMPTY\\\",new HTMLResult(!0,null,null,null))}constructor(e,t,a,r){this.success=e;this.html=t;this.bbox=a;this.breakNode=r}isBreak(){return!!this.breakNode}static breakNode(e){return new HTMLResult(!1,null,null,e)}static success(e,t=null){return new HTMLResult(!0,e,t,null)}}t.HTMLResult=HTMLResult},(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.NamespaceIds=t.$buildXFAObject=void 0;const a=Symbol();t.$buildXFAObject=a;t.NamespaceIds={config:{id:0,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xci/\\\")},connectionSet:{id:1,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xfa-connection-set/\\\")},datasets:{id:2,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xfa-data/\\\")},form:{id:3,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xfa-form/\\\")},localeSet:{id:4,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xfa-locale-set/\\\")},pdf:{id:5,check:e=>\\\"http://ns.adobe.com/xdp/pdf/\\\"===e},signature:{id:6,check:e=>\\\"http://www.w3.org/2000/09/xmldsig#\\\"===e},sourceSet:{id:7,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xfa-source-set/\\\")},stylesheet:{id:8,check:e=>\\\"http://www.w3.org/1999/XSL/Transform\\\"===e},template:{id:9,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xfa-template/\\\")},xdc:{id:10,check:e=>e.startsWith(\\\"http://www.xfa.org/schema/xdc/\\\")},xdp:{id:11,check:e=>\\\"http://ns.adobe.com/xdp/\\\"===e},xfdf:{id:12,check:e=>\\\"http://ns.adobe.com/xfdf/\\\"===e},xhtml:{id:13,check:e=>\\\"http://www.w3.org/1999/xhtml\\\"===e},xmpmeta:{id:14,check:e=>\\\"http://ns.adobe.com/xmpmeta/\\\"===e}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.createDataNode=function createDataNode(e,t,a){const n=parseExpression(a);if(!n)return null;if(n.some((e=>e.operator===l)))return null;const s=f.get(n[0].name);let o=0;if(s){e=s(e,t);o=1}else e=t||e;for(let t=n.length;o0&&p.push(e)}if(0!==p.length||u||0!==d)e=isFinite(f)?p.filter((e=>fe[f])):p.reduce(((e,t)=>e.concat(t)),[]);else{const a=t[r.$getParent]();if(!(t=a))return null;d=-1;e=[t]}}if(0===e.length)return null;return e};var r=a(77),n=a(79),i=a(2);const s=/^[^.[]+/,o=/^[^\\\\]]+/,c=0,l=1,h=2,u=3,d=4,f=new Map([[\\\"$data\\\",(e,t)=>e.datasets?e.datasets.data:e],[\\\"$record\\\",(e,t)=>(e.datasets?e.datasets.data:e)[r.$getChildren]()[0]],[\\\"$template\\\",(e,t)=>e.template],[\\\"$connectionSet\\\",(e,t)=>e.connectionSet],[\\\"$form\\\",(e,t)=>e.form],[\\\"$layout\\\",(e,t)=>e.layout],[\\\"$host\\\",(e,t)=>e.host],[\\\"$dataWindow\\\",(e,t)=>e.dataWindow],[\\\"$event\\\",(e,t)=>e.event],[\\\"!\\\",(e,t)=>e.datasets],[\\\"$xfa\\\",(e,t)=>e],[\\\"xfa\\\",(e,t)=>e],[\\\"$\\\",(e,t)=>t]]),g=new WeakMap,p=n.NamespaceIds.datasets.id;function parseExpression(e,t,a=!0){let r=e.match(s);if(!r)return null;let[n]=r;const f=[{name:n,cacheName:\\\".\\\"+n,index:0,js:null,formCalc:null,operator:c}];let g=n.length;for(;g{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Binder=void 0;var r=a(77),n=a(82),i=a(80),s=a(79),o=a(2);const c=s.NamespaceIds.datasets.id;function createText(e){const t=new n.Text({});t[r.$content]=e;return t}t.Binder=class Binder{constructor(e){this.root=e;this.datasets=e.datasets;e.datasets&&e.datasets.data?this.data=e.datasets.data:this.data=new r.XmlObject(s.NamespaceIds.datasets.id,\\\"data\\\");this.emptyMerge=0===this.data[r.$getChildren]().length;this.root.form=this.form=e.template[r.$clone]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){this._bindElement(this.form,this.data);return this.form}getData(){return this.data}_bindValue(e,t,a){e[r.$data]=t;if(e[r.$hasSettableValue]())if(t[r.$isDataValue]()){const a=t[r.$getDataValue]();e[r.$setValue](createText(a))}else if(e instanceof n.Field&&e.ui&&e.ui.choiceList&&\\\"multiSelect\\\"===e.ui.choiceList.open){const a=t[r.$getChildren]().map((e=>e[r.$content].trim())).join(\\\"\\\\n\\\");e[r.$setValue](createText(a))}else this._isConsumeData()&&(0,o.warn)(\\\"XFA - Nodes haven't the same type.\\\");else!t[r.$isDataValue]()||this._isMatchTemplate()?this._bindElement(e,t):(0,o.warn)(\\\"XFA - Nodes haven't the same type.\\\")}_findDataByNameToConsume(e,t,a,n){if(!e)return null;let i,o;for(let n=0;n<3;n++){i=a[r.$getRealChildrenByNameIt](e,!1,!0);for(;;){o=i.next().value;if(!o)break;if(t===o[r.$isDataValue]())return o}if(a[r.$namespaceId]===s.NamespaceIds.datasets.id&&\\\"data\\\"===a[r.$nodeName])break;a=a[r.$getParent]()}if(!n)return null;i=this.data[r.$getRealChildrenByNameIt](e,!0,!1);o=i.next().value;if(o)return o;i=this.data[r.$getAttributeIt](e,!0);o=i.next().value;return o&&o[r.$isDataValue]()?o:null}_setProperties(e,t){if(e.hasOwnProperty(\\\"setProperty\\\"))for(const{ref:a,target:s,connection:c}of e.setProperty.children){if(c)continue;if(!a)continue;const l=(0,i.searchNode)(this.root,t,a,!1,!1);if(!l){(0,o.warn)(`XFA - Invalid reference: ${a}.`);continue}const[h]=l;if(!h[r.$isDescendent](this.data)){(0,o.warn)(\\\"XFA - Invalid node: must be a data node.\\\");continue}const u=(0,i.searchNode)(this.root,e,s,!1,!1);if(!u){(0,o.warn)(`XFA - Invalid target: ${s}.`);continue}const[d]=u;if(!d[r.$isDescendent](e)){(0,o.warn)(\\\"XFA - Invalid target: must be a property or subproperty.\\\");continue}const f=d[r.$getParent]();if(d instanceof n.SetProperty||f instanceof n.SetProperty){(0,o.warn)(\\\"XFA - Invalid target: cannot be a setProperty or one of its properties.\\\");continue}if(d instanceof n.BindItems||f instanceof n.BindItems){(0,o.warn)(\\\"XFA - Invalid target: cannot be a bindItems or one of its properties.\\\");continue}const g=h[r.$text](),p=d[r.$nodeName];if(d instanceof r.XFAAttribute){const e=Object.create(null);e[p]=g;const t=Reflect.construct(Object.getPrototypeOf(f).constructor,[e]);f[p]=t[p]}else if(d.hasOwnProperty(r.$content)){d[r.$data]=h;d[r.$content]=g;d[r.$finalize]()}else(0,o.warn)(\\\"XFA - Invalid node to use in setProperty\\\")}}_bindItems(e,t){if(!e.hasOwnProperty(\\\"items\\\")||!e.hasOwnProperty(\\\"bindItems\\\")||e.bindItems.isEmpty())return;for(const t of e.items.children)e[r.$removeChild](t);e.items.clear();const a=new n.Items({}),s=new n.Items({});e[r.$appendChild](a);e.items.push(a);e[r.$appendChild](s);e.items.push(s);for(const{ref:n,labelRef:c,valueRef:l,connection:h}of e.bindItems.children){if(h)continue;if(!n)continue;const e=(0,i.searchNode)(this.root,t,n,!1,!1);if(e)for(const t of e){if(!t[r.$isDescendent](this.datasets)){(0,o.warn)(`XFA - Invalid ref (${n}): must be a datasets child.`);continue}const e=(0,i.searchNode)(this.root,t,c,!0,!1);if(!e){(0,o.warn)(`XFA - Invalid label: ${c}.`);continue}const[h]=e;if(!h[r.$isDescendent](this.datasets)){(0,o.warn)(\\\"XFA - Invalid label: must be a datasets child.\\\");continue}const u=(0,i.searchNode)(this.root,t,l,!0,!1);if(!u){(0,o.warn)(`XFA - Invalid value: ${l}.`);continue}const[d]=u;if(!d[r.$isDescendent](this.datasets)){(0,o.warn)(\\\"XFA - Invalid value: must be a datasets child.\\\");continue}const f=createText(h[r.$text]()),g=createText(d[r.$text]());a[r.$appendChild](f);a.text.push(f);s[r.$appendChild](g);s.text.push(g)}else(0,o.warn)(`XFA - Invalid reference: ${n}.`)}}_bindOccurrences(e,t,a){let n;if(t.length>1){n=e[r.$clone]();n[r.$removeChild](n.occur);n.occur=null}this._bindValue(e,t[0],a);this._setProperties(e,t[0]);this._bindItems(e,t[0]);if(1===t.length)return;const i=e[r.$getParent](),s=e[r.$nodeName],o=i[r.$indexOf](e);for(let e=1,c=t.length;et.name===e.name)).length:a[n].children.length;const s=a[r.$indexOf](e)+1,o=t.initial-i;if(o){const t=e[r.$clone]();t[r.$removeChild](t.occur);t.occur=null;a[n].push(t);a[r.$insertAt](s,t);for(let e=1;e0)this._bindOccurrences(n,[e[0]],null);else if(this.emptyMerge){const e=t[r.$namespaceId]===c?-1:t[r.$namespaceId],a=n[r.$data]=new r.XmlObject(e,n.name||\\\"root\\\");t[r.$appendChild](a);this._bindElement(n,a)}continue}if(!n[r.$isBindable]())continue;let e=!1,s=null,l=null,h=null;if(n.bind){switch(n.bind.match){case\\\"none\\\":this._setAndBind(n,t);continue;case\\\"global\\\":e=!0;break;case\\\"dataRef\\\":if(!n.bind.ref){(0,o.warn)(`XFA - ref is empty in node ${n[r.$nodeName]}.`);this._setAndBind(n,t);continue}l=n.bind.ref}n.bind.picture&&(s=n.bind.picture[r.$content])}const[u,d]=this._getOccurInfo(n);if(l){h=(0,i.searchNode)(this.root,t,l,!0,!1);if(null===h){h=(0,i.createDataNode)(this.data,t,l);if(!h)continue;this._isConsumeData()&&(h[r.$consumed]=!0);this._setAndBind(n,h);continue}this._isConsumeData()&&(h=h.filter((e=>!e[r.$consumed])));h.length>d?h=h.slice(0,d):0===h.length&&(h=null);h&&this._isConsumeData()&&h.forEach((e=>{e[r.$consumed]=!0}))}else{if(!n.name){this._setAndBind(n,t);continue}if(this._isConsumeData()){const a=[];for(;a.length0?a:null}else{h=t[r.$getRealChildrenByNameIt](n.name,!1,this.emptyMerge).next().value;if(!h){if(0===u){a.push(n);continue}const e=t[r.$namespaceId]===c?-1:t[r.$namespaceId];h=n[r.$data]=new r.XmlObject(e,n.name);this.emptyMerge&&(h[r.$consumed]=!0);t[r.$appendChild](h);this._setAndBind(n,h);continue}this.emptyMerge&&(h[r.$consumed]=!0);h=[h]}}h?this._bindOccurrences(n,h,s):u>0?this._setAndBind(n,t):a.push(n)}a.forEach((e=>e[r.$getParent]()[r.$removeChild](e)))}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Value=t.Text=t.TemplateNamespace=t.Template=t.SetProperty=t.Items=t.Field=t.BindItems=void 0;var r=a(77),n=a(79),i=a(83),s=a(84),o=a(78),c=a(2),l=a(85),h=a(8),u=a(80);const d=n.NamespaceIds.template.id,f=\\\"http://www.w3.org/2000/svg\\\",g=/^H(\\\\d+)$/,p=new Set([\\\"image/gif\\\",\\\"image/jpeg\\\",\\\"image/jpg\\\",\\\"image/pjpeg\\\",\\\"image/png\\\",\\\"image/apng\\\",\\\"image/x-png\\\",\\\"image/bmp\\\",\\\"image/x-ms-bmp\\\",\\\"image/tiff\\\",\\\"image/tif\\\",\\\"application/octet-stream\\\"]),m=[[[66,77],\\\"image/bmp\\\"],[[255,216,255],\\\"image/jpeg\\\"],[[73,73,42,0],\\\"image/tiff\\\"],[[77,77,0,42],\\\"image/tiff\\\"],[[71,73,70,56,57,97],\\\"image/gif\\\"],[[137,80,78,71,13,10,26,10],\\\"image/png\\\"]];function getBorderDims(e){if(!e||!e.border)return{w:0,h:0};const t=e.border[r.$getExtra]();return t?{w:t.widths[0]+t.widths[2]+t.insets[0]+t.insets[2],h:t.widths[1]+t.widths[3]+t.insets[1]+t.insets[3]}:{w:0,h:0}}function hasMargin(e){return e.margin&&(e.margin.topInset||e.margin.rightInset||e.margin.bottomInset||e.margin.leftInset)}function _setValue(e,t){if(!e.value){const t=new Value({});e[r.$appendChild](t);e.value=t}e.value[r.$setValue](t)}function*getContainedChildren(e){for(const t of e[r.$getChildren]())t instanceof SubformSet?yield*t[r.$getContainedChildren]():yield t}function setTabIndex(e){for(;e;){if(!e.traversal){e[r.$tabIndex]=e[r.$getParent]()[r.$tabIndex];return}if(e[r.$tabIndex])return;let t=null;for(const a of e.traversal[r.$getChildren]())if(\\\"next\\\"===a.operation){t=a;break}if(!t||!t.ref){e[r.$tabIndex]=e[r.$getParent]()[r.$tabIndex];return}const a=e[r.$getTemplateRoot]();e[r.$tabIndex]=++a[r.$tabIndex];const n=a[r.$searchNode](t.ref,e);if(!n)return;e=n[0]}}function applyAssist(e,t){const a=e.assist;if(a){const e=a[r.$toHTML]();e&&(t.title=e);const n=a.role.match(g);if(n){const e=\\\"heading\\\",a=n[1];t.role=e;t[\\\"aria-level\\\"]=a}}if(\\\"table\\\"===e.layout)t.role=\\\"table\\\";else if(\\\"row\\\"===e.layout)t.role=\\\"row\\\";else{const a=e[r.$getParent]();\\\"row\\\"===a.layout&&(a.assist&&\\\"TH\\\"===a.assist.role?t.role=\\\"columnheader\\\":t.role=\\\"cell\\\")}}function ariaLabel(e){if(!e.assist)return null;const t=e.assist;return t.speak&&\\\"\\\"!==t.speak[r.$content]?t.speak[r.$content]:t.toolTip?t.toolTip[r.$content]:null}function valueToHtml(e){return o.HTMLResult.success({name:\\\"div\\\",attributes:{class:[\\\"xfaRich\\\"],style:Object.create(null)},children:[{name:\\\"span\\\",attributes:{style:Object.create(null)},value:e}]})}function setFirstUnsplittable(e){const t=e[r.$getTemplateRoot]();if(null===t[r.$extra].firstUnsplittable){t[r.$extra].firstUnsplittable=e;t[r.$extra].noLayoutFailure=!0}}function unsetFirstUnsplittable(e){const t=e[r.$getTemplateRoot]();t[r.$extra].firstUnsplittable===e&&(t[r.$extra].noLayoutFailure=!1)}function handleBreak(e){if(e[r.$extra])return!1;e[r.$extra]=Object.create(null);if(\\\"auto\\\"===e.targetType)return!1;const t=e[r.$getTemplateRoot]();let a=null;if(e.target){a=t[r.$searchNode](e.target,e[r.$getParent]());if(!a)return!1;a=a[0]}const{currentPageArea:n,currentContentArea:i}=t[r.$extra];if(\\\"pageArea\\\"===e.targetType){a instanceof PageArea||(a=null);if(e.startNew){e[r.$extra].target=a||n;return!0}if(a&&a!==n){e[r.$extra].target=a;return!0}return!1}a instanceof ContentArea||(a=null);const s=a&&a[r.$getParent]();let o,c=s;if(e.startNew)if(a){const e=s.contentArea.children,t=e.indexOf(i),r=e.indexOf(a);-1!==t&&te;n[r.$extra].noLayoutFailure=!0;const o=t[r.$toHTML](a);e[r.$addHTML](o.html,o.bbox);n[r.$extra].noLayoutFailure=i;t[r.$getSubformParent]=s}class AppearanceFilter extends r.StringObject{constructor(e){super(d,\\\"appearanceFilter\\\");this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Arc extends r.XFAObject{constructor(e){super(d,\\\"arc\\\",!0);this.circular=(0,o.getInteger)({data:e.circular,defaultValue:0,validate:e=>1===e});this.hand=(0,o.getStringOption)(e.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.startAngle=(0,o.getFloat)({data:e.startAngle,defaultValue:0,validate:e=>!0});this.sweepAngle=(0,o.getFloat)({data:e.sweepAngle,defaultValue:360,validate:e=>!0});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.edge=null;this.fill=null}[r.$toHTML](){const e=this.edge?this.edge:new Edge({}),t=e[r.$toStyle](),a=Object.create(null);this.fill&&\\\"visible\\\"===this.fill.presence?Object.assign(a,this.fill[r.$toStyle]()):a.fill=\\\"transparent\\\";a.strokeWidth=(0,s.measureToString)(\\\"visible\\\"===e.presence?e.thickness:0);a.stroke=t.color;let n;const i={xmlns:f,style:{width:\\\"100%\\\",height:\\\"100%\\\",overflow:\\\"visible\\\"}};if(360===this.sweepAngle)n={name:\\\"ellipse\\\",attributes:{xmlns:f,cx:\\\"50%\\\",cy:\\\"50%\\\",rx:\\\"50%\\\",ry:\\\"50%\\\",style:a}};else{const e=this.startAngle*Math.PI/180,t=this.sweepAngle*Math.PI/180,r=this.sweepAngle>180?1:0,[s,o,c,l]=[50*(1+Math.cos(e)),50*(1-Math.sin(e)),50*(1+Math.cos(e+t)),50*(1-Math.sin(e+t))];n={name:\\\"path\\\",attributes:{xmlns:f,d:`M ${s} ${o} A 50 50 0 ${r} 0 ${c} ${l}`,vectorEffect:\\\"non-scaling-stroke\\\",style:a}};Object.assign(i,{viewBox:\\\"0 0 100 100\\\",preserveAspectRatio:\\\"none\\\"})}const c={name:\\\"svg\\\",children:[n],attributes:i};if(hasMargin(this[r.$getParent]()[r.$getParent]()))return o.HTMLResult.success({name:\\\"div\\\",attributes:{style:{display:\\\"inline\\\",width:\\\"100%\\\",height:\\\"100%\\\"}},children:[c]});c.attributes.style.position=\\\"absolute\\\";return o.HTMLResult.success(c)}}class Area extends r.XFAObject{constructor(e){super(d,\\\"area\\\",!0);this.colSpan=(0,o.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.relevant=(0,o.getRelevant)(e.relevant);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.x=(0,o.getMeasurement)(e.x,\\\"0pt\\\");this.y=(0,o.getMeasurement)(e.y,\\\"0pt\\\");this.desc=null;this.extras=null;this.area=new r.XFAObjectArray;this.draw=new r.XFAObjectArray;this.exObject=new r.XFAObjectArray;this.exclGroup=new r.XFAObjectArray;this.field=new r.XFAObjectArray;this.subform=new r.XFAObjectArray;this.subformSet=new r.XFAObjectArray}*[r.$getContainedChildren](){yield*getContainedChildren(this)}[r.$isTransparent](){return!0}[r.$isBindable](){return!0}[r.$addHTML](e,t){const[a,n,i,s]=t;this[r.$extra].width=Math.max(this[r.$extra].width,a+i);this[r.$extra].height=Math.max(this[r.$extra].height,n+s);this[r.$extra].children.push(e)}[r.$getAvailableSpace](){return this[r.$extra].availableSpace}[r.$toHTML](e){const t=(0,s.toStyle)(this,\\\"position\\\"),a={style:t,id:this[r.$uid],class:[\\\"xfaArea\\\"]};(0,s.isPrintOnly)(this)&&a.class.push(\\\"xfaPrintOnly\\\");this.name&&(a.xfaName=this.name);const n=[];this[r.$extra]={children:n,width:0,height:0,availableSpace:e};const i=this[r.$childrenToHTML]({filter:new Set([\\\"area\\\",\\\"draw\\\",\\\"field\\\",\\\"exclGroup\\\",\\\"subform\\\",\\\"subformSet\\\"]),include:!0});if(!i.success){if(i.isBreak())return i;delete this[r.$extra];return o.HTMLResult.FAILURE}t.width=(0,s.measureToString)(this[r.$extra].width);t.height=(0,s.measureToString)(this[r.$extra].height);const c={name:\\\"div\\\",attributes:a,children:n},l=[this.x,this.y,this[r.$extra].width,this[r.$extra].height];delete this[r.$extra];return o.HTMLResult.success(c,l)}}class Assist extends r.XFAObject{constructor(e){super(d,\\\"assist\\\",!0);this.id=e.id||\\\"\\\";this.role=e.role||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.speak=null;this.toolTip=null}[r.$toHTML](){return this.toolTip&&this.toolTip[r.$content]?this.toolTip[r.$content]:null}}class Barcode extends r.XFAObject{constructor(e){super(d,\\\"barcode\\\",!0);this.charEncoding=(0,o.getKeyword)({data:e.charEncoding?e.charEncoding.toLowerCase():\\\"\\\",defaultValue:\\\"\\\",validate:e=>[\\\"utf-8\\\",\\\"big-five\\\",\\\"fontspecific\\\",\\\"gbk\\\",\\\"gb-18030\\\",\\\"gb-2312\\\",\\\"ksc-5601\\\",\\\"none\\\",\\\"shift-jis\\\",\\\"ucs-2\\\",\\\"utf-16\\\"].includes(e)||e.match(/iso-8859-\\\\d{2}/)});this.checksum=(0,o.getStringOption)(e.checksum,[\\\"none\\\",\\\"1mod10\\\",\\\"1mod10_1mod11\\\",\\\"2mod10\\\",\\\"auto\\\"]);this.dataColumnCount=(0,o.getInteger)({data:e.dataColumnCount,defaultValue:-1,validate:e=>e>=0});this.dataLength=(0,o.getInteger)({data:e.dataLength,defaultValue:-1,validate:e=>e>=0});this.dataPrep=(0,o.getStringOption)(e.dataPrep,[\\\"none\\\",\\\"flateCompress\\\"]);this.dataRowCount=(0,o.getInteger)({data:e.dataRowCount,defaultValue:-1,validate:e=>e>=0});this.endChar=e.endChar||\\\"\\\";this.errorCorrectionLevel=(0,o.getInteger)({data:e.errorCorrectionLevel,defaultValue:-1,validate:e=>e>=0&&e<=8});this.id=e.id||\\\"\\\";this.moduleHeight=(0,o.getMeasurement)(e.moduleHeight,\\\"5mm\\\");this.moduleWidth=(0,o.getMeasurement)(e.moduleWidth,\\\"0.25mm\\\");this.printCheckDigit=(0,o.getInteger)({data:e.printCheckDigit,defaultValue:0,validate:e=>1===e});this.rowColumnRatio=(0,o.getRatio)(e.rowColumnRatio);this.startChar=e.startChar||\\\"\\\";this.textLocation=(0,o.getStringOption)(e.textLocation,[\\\"below\\\",\\\"above\\\",\\\"aboveEmbedded\\\",\\\"belowEmbedded\\\",\\\"none\\\"]);this.truncate=(0,o.getInteger)({data:e.truncate,defaultValue:0,validate:e=>1===e});this.type=(0,o.getStringOption)(e.type?e.type.toLowerCase():\\\"\\\",[\\\"aztec\\\",\\\"codabar\\\",\\\"code2of5industrial\\\",\\\"code2of5interleaved\\\",\\\"code2of5matrix\\\",\\\"code2of5standard\\\",\\\"code3of9\\\",\\\"code3of9extended\\\",\\\"code11\\\",\\\"code49\\\",\\\"code93\\\",\\\"code128\\\",\\\"code128a\\\",\\\"code128b\\\",\\\"code128c\\\",\\\"code128sscc\\\",\\\"datamatrix\\\",\\\"ean8\\\",\\\"ean8add2\\\",\\\"ean8add5\\\",\\\"ean13\\\",\\\"ean13add2\\\",\\\"ean13add5\\\",\\\"ean13pwcd\\\",\\\"fim\\\",\\\"logmars\\\",\\\"maxicode\\\",\\\"msi\\\",\\\"pdf417\\\",\\\"pdf417macro\\\",\\\"plessey\\\",\\\"postauscust2\\\",\\\"postauscust3\\\",\\\"postausreplypaid\\\",\\\"postausstandard\\\",\\\"postukrm4scc\\\",\\\"postusdpbc\\\",\\\"postusimb\\\",\\\"postusstandard\\\",\\\"postus5zip\\\",\\\"qrcode\\\",\\\"rfid\\\",\\\"rss14\\\",\\\"rss14expanded\\\",\\\"rss14limited\\\",\\\"rss14stacked\\\",\\\"rss14stackedomni\\\",\\\"rss14truncated\\\",\\\"telepen\\\",\\\"ucc128\\\",\\\"ucc128random\\\",\\\"ucc128sscc\\\",\\\"upca\\\",\\\"upcaadd2\\\",\\\"upcaadd5\\\",\\\"upcapwcd\\\",\\\"upce\\\",\\\"upceadd2\\\",\\\"upceadd5\\\",\\\"upcean2\\\",\\\"upcean5\\\",\\\"upsmaxicode\\\"]);this.upsMode=(0,o.getStringOption)(e.upsMode,[\\\"usCarrier\\\",\\\"internationalCarrier\\\",\\\"secureSymbol\\\",\\\"standardSymbol\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.wideNarrowRatio=(0,o.getRatio)(e.wideNarrowRatio);this.encrypt=null;this.extras=null}}class Bind extends r.XFAObject{constructor(e){super(d,\\\"bind\\\",!0);this.match=(0,o.getStringOption)(e.match,[\\\"once\\\",\\\"dataRef\\\",\\\"global\\\",\\\"none\\\"]);this.ref=e.ref||\\\"\\\";this.picture=null}}class BindItems extends r.XFAObject{constructor(e){super(d,\\\"bindItems\\\");this.connection=e.connection||\\\"\\\";this.labelRef=e.labelRef||\\\"\\\";this.ref=e.ref||\\\"\\\";this.valueRef=e.valueRef||\\\"\\\"}}t.BindItems=BindItems;class Bookend extends r.XFAObject{constructor(e){super(d,\\\"bookend\\\");this.id=e.id||\\\"\\\";this.leader=e.leader||\\\"\\\";this.trailer=e.trailer||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class BooleanElement extends r.Option01{constructor(e){super(d,\\\"boolean\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$toHTML](e){return valueToHtml(1===this[r.$content]?\\\"1\\\":\\\"0\\\")}}class Border extends r.XFAObject{constructor(e){super(d,\\\"border\\\",!0);this.break=(0,o.getStringOption)(e.break,[\\\"close\\\",\\\"open\\\"]);this.hand=(0,o.getStringOption)(e.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.relevant=(0,o.getRelevant)(e.relevant);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.corner=new r.XFAObjectArray(4);this.edge=new r.XFAObjectArray(4);this.extras=null;this.fill=null;this.margin=null}[r.$getExtra](){if(!this[r.$extra]){const e=this.edge.children.slice();if(e.length<4){const t=e[e.length-1]||new Edge({});for(let a=e.length;a<4;a++)e.push(t)}const t=e.map((e=>e.thickness)),a=[0,0,0,0];if(this.margin){a[0]=this.margin.topInset;a[1]=this.margin.rightInset;a[2]=this.margin.bottomInset;a[3]=this.margin.leftInset}this[r.$extra]={widths:t,insets:a,edges:e}}return this[r.$extra]}[r.$toStyle](){const{edges:e}=this[r.$getExtra](),t=e.map((e=>{const t=e[r.$toStyle]();t.color=t.color||\\\"#000000\\\";return t})),a=Object.create(null);this.margin&&Object.assign(a,this.margin[r.$toStyle]());this.fill&&\\\"visible\\\"===this.fill.presence&&Object.assign(a,this.fill[r.$toStyle]());if(this.corner.children.some((e=>0!==e.radius))){const e=this.corner.children.map((e=>e[r.$toStyle]()));if(2===e.length||3===e.length){const t=e[e.length-1];for(let a=e.length;a<4;a++)e.push(t)}a.borderRadius=e.map((e=>e.radius)).join(\\\" \\\")}switch(this.presence){case\\\"invisible\\\":case\\\"hidden\\\":a.borderStyle=\\\"\\\";break;case\\\"inactive\\\":a.borderStyle=\\\"none\\\";break;default:a.borderStyle=t.map((e=>e.style)).join(\\\" \\\")}a.borderWidth=t.map((e=>e.width)).join(\\\" \\\");a.borderColor=t.map((e=>e.color)).join(\\\" \\\");return a}}class Break extends r.XFAObject{constructor(e){super(d,\\\"break\\\",!0);this.after=(0,o.getStringOption)(e.after,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\",\\\"pageEven\\\",\\\"pageOdd\\\"]);this.afterTarget=e.afterTarget||\\\"\\\";this.before=(0,o.getStringOption)(e.before,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\",\\\"pageEven\\\",\\\"pageOdd\\\"]);this.beforeTarget=e.beforeTarget||\\\"\\\";this.bookendLeader=e.bookendLeader||\\\"\\\";this.bookendTrailer=e.bookendTrailer||\\\"\\\";this.id=e.id||\\\"\\\";this.overflowLeader=e.overflowLeader||\\\"\\\";this.overflowTarget=e.overflowTarget||\\\"\\\";this.overflowTrailer=e.overflowTrailer||\\\"\\\";this.startNew=(0,o.getInteger)({data:e.startNew,defaultValue:0,validate:e=>1===e});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null}}class BreakAfter extends r.XFAObject{constructor(e){super(d,\\\"breakAfter\\\",!0);this.id=e.id||\\\"\\\";this.leader=e.leader||\\\"\\\";this.startNew=(0,o.getInteger)({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||\\\"\\\";this.targetType=(0,o.getStringOption)(e.targetType,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\"]);this.trailer=e.trailer||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.script=null}}class BreakBefore extends r.XFAObject{constructor(e){super(d,\\\"breakBefore\\\",!0);this.id=e.id||\\\"\\\";this.leader=e.leader||\\\"\\\";this.startNew=(0,o.getInteger)({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||\\\"\\\";this.targetType=(0,o.getStringOption)(e.targetType,[\\\"auto\\\",\\\"contentArea\\\",\\\"pageArea\\\"]);this.trailer=e.trailer||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.script=null}[r.$toHTML](e){this[r.$extra]={};return o.HTMLResult.FAILURE}}class Button extends r.XFAObject{constructor(e){super(d,\\\"button\\\",!0);this.highlight=(0,o.getStringOption)(e.highlight,[\\\"inverted\\\",\\\"none\\\",\\\"outline\\\",\\\"push\\\"]);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null}[r.$toHTML](e){const t=this[r.$getParent]()[r.$getParent](),a={name:\\\"button\\\",attributes:{id:this[r.$uid],class:[\\\"xfaButton\\\"],style:{}},children:[]};for(const e of t.event.children){if(\\\"click\\\"!==e.activity||!e.script)continue;const t=(0,h.recoverJsURL)(e.script[r.$content]);if(!t)continue;const n=(0,s.fixURL)(t.url);n&&a.children.push({name:\\\"a\\\",attributes:{id:\\\"link\\\"+this[r.$uid],href:n,newWindow:t.newWindow,class:[\\\"xfaLink\\\"],style:{}},children:[]})}return o.HTMLResult.success(a)}}class Calculate extends r.XFAObject{constructor(e){super(d,\\\"calculate\\\",!0);this.id=e.id||\\\"\\\";this.override=(0,o.getStringOption)(e.override,[\\\"disabled\\\",\\\"error\\\",\\\"ignore\\\",\\\"warning\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.message=null;this.script=null}}class Caption extends r.XFAObject{constructor(e){super(d,\\\"caption\\\",!0);this.id=e.id||\\\"\\\";this.placement=(0,o.getStringOption)(e.placement,[\\\"left\\\",\\\"bottom\\\",\\\"inline\\\",\\\"right\\\",\\\"top\\\"]);this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.reserve=Math.ceil((0,o.getMeasurement)(e.reserve));this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.font=null;this.margin=null;this.para=null;this.value=null}[r.$setValue](e){_setValue(this,e)}[r.$getExtra](e){if(!this[r.$extra]){let{width:t,height:a}=e;switch(this.placement){case\\\"left\\\":case\\\"right\\\":case\\\"inline\\\":t=this.reserve<=0?t:this.reserve;break;case\\\"top\\\":case\\\"bottom\\\":a=this.reserve<=0?a:this.reserve}this[r.$extra]=(0,s.layoutNode)(this,{width:t,height:a})}return this[r.$extra]}[r.$toHTML](e){if(!this.value)return o.HTMLResult.EMPTY;this[r.$pushPara]();const t=this.value[r.$toHTML](e).html;if(!t){this[r.$popPara]();return o.HTMLResult.EMPTY}const a=this.reserve;if(this.reserve<=0){const{w:t,h:a}=this[r.$getExtra](e);switch(this.placement){case\\\"left\\\":case\\\"right\\\":case\\\"inline\\\":this.reserve=t;break;case\\\"top\\\":case\\\"bottom\\\":this.reserve=a}}const n=[];\\\"string\\\"==typeof t?n.push({name:\\\"#text\\\",value:t}):n.push(t);const i=(0,s.toStyle)(this,\\\"font\\\",\\\"margin\\\",\\\"visibility\\\");switch(this.placement){case\\\"left\\\":case\\\"right\\\":this.reserve>0&&(i.width=(0,s.measureToString)(this.reserve));break;case\\\"top\\\":case\\\"bottom\\\":this.reserve>0&&(i.height=(0,s.measureToString)(this.reserve))}(0,s.setPara)(this,null,t);this[r.$popPara]();this.reserve=a;return o.HTMLResult.success({name:\\\"div\\\",attributes:{style:i,class:[\\\"xfaCaption\\\"]},children:n})}}class Certificate extends r.StringObject{constructor(e){super(d,\\\"certificate\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Certificates extends r.XFAObject{constructor(e){super(d,\\\"certificates\\\",!0);this.credentialServerPolicy=(0,o.getStringOption)(e.credentialServerPolicy,[\\\"optional\\\",\\\"required\\\"]);this.id=e.id||\\\"\\\";this.url=e.url||\\\"\\\";this.urlPolicy=e.urlPolicy||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.encryption=null;this.issuers=null;this.keyUsage=null;this.oids=null;this.signing=null;this.subjectDNs=null}}class CheckButton extends r.XFAObject{constructor(e){super(d,\\\"checkButton\\\",!0);this.id=e.id||\\\"\\\";this.mark=(0,o.getStringOption)(e.mark,[\\\"default\\\",\\\"check\\\",\\\"circle\\\",\\\"cross\\\",\\\"diamond\\\",\\\"square\\\",\\\"star\\\"]);this.shape=(0,o.getStringOption)(e.shape,[\\\"square\\\",\\\"round\\\"]);this.size=(0,o.getMeasurement)(e.size,\\\"10pt\\\");this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.border=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(\\\"margin\\\"),a=(0,s.measureToString)(this.size);t.width=t.height=a;let n,i,c;const l=this[r.$getParent]()[r.$getParent](),h=l.items.children.length&&l.items.children[0][r.$toHTML]().html||[],u={on:(void 0!==h[0]?h[0]:\\\"on\\\").toString(),off:(void 0!==h[1]?h[1]:\\\"off\\\").toString()},d=(l.value&&l.value[r.$text]()||\\\"off\\\")===u.on||void 0,f=l[r.$getSubformParent](),g=l[r.$uid];let p;if(f instanceof ExclGroup){c=f[r.$uid];n=\\\"radio\\\";i=\\\"xfaRadio\\\";p=f[r.$data]&&f[r.$data][r.$uid]||f[r.$uid]}else{n=\\\"checkbox\\\";i=\\\"xfaCheckbox\\\";p=l[r.$data]&&l[r.$data][r.$uid]||l[r.$uid]}const m={name:\\\"input\\\",attributes:{class:[i],style:t,fieldId:g,dataId:p,type:n,checked:d,xfaOn:u.on,xfaOff:u.off,\\\"aria-label\\\":ariaLabel(l)}};c&&(m.attributes.name=c);return o.HTMLResult.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[m]})}}class ChoiceList extends r.XFAObject{constructor(e){super(d,\\\"choiceList\\\",!0);this.commitOn=(0,o.getStringOption)(e.commitOn,[\\\"select\\\",\\\"exit\\\"]);this.id=e.id||\\\"\\\";this.open=(0,o.getStringOption)(e.open,[\\\"userControl\\\",\\\"always\\\",\\\"multiSelect\\\",\\\"onEntry\\\"]);this.textEntry=(0,o.getInteger)({data:e.textEntry,defaultValue:0,validate:e=>1===e});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.border=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,\\\"border\\\",\\\"margin\\\"),a=this[r.$getParent]()[r.$getParent](),n={fontSize:`calc(${a.font&&a.font.size||10}px * var(--zoom-factor))`},i=[];if(a.items.children.length>0){const e=a.items;let t=0,s=0;if(2===e.children.length){t=e.children[0].save;s=1-t}const o=e.children[t][r.$toHTML]().html,c=e.children[s][r.$toHTML]().html;let l=!1;const h=a.value&&a.value[r.$text]()||\\\"\\\";for(let e=0,t=o.length;ee>=0});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Connect extends r.XFAObject{constructor(e){super(d,\\\"connect\\\",!0);this.connection=e.connection||\\\"\\\";this.id=e.id||\\\"\\\";this.ref=e.ref||\\\"\\\";this.usage=(0,o.getStringOption)(e.usage,[\\\"exportAndImport\\\",\\\"exportOnly\\\",\\\"importOnly\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.picture=null}}class ContentArea extends r.XFAObject{constructor(e){super(d,\\\"contentArea\\\",!0);this.h=(0,o.getMeasurement)(e.h);this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.relevant=(0,o.getRelevant)(e.relevant);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.w=(0,o.getMeasurement)(e.w);this.x=(0,o.getMeasurement)(e.x,\\\"0pt\\\");this.y=(0,o.getMeasurement)(e.y,\\\"0pt\\\");this.desc=null;this.extras=null}[r.$toHTML](e){const t={left:(0,s.measureToString)(this.x),top:(0,s.measureToString)(this.y),width:(0,s.measureToString)(this.w),height:(0,s.measureToString)(this.h)},a=[\\\"xfaContentarea\\\"];(0,s.isPrintOnly)(this)&&a.push(\\\"xfaPrintOnly\\\");return o.HTMLResult.success({name:\\\"div\\\",children:[],attributes:{style:t,class:a,id:this[r.$uid]}})}}class Corner extends r.XFAObject{constructor(e){super(d,\\\"corner\\\",!0);this.id=e.id||\\\"\\\";this.inverted=(0,o.getInteger)({data:e.inverted,defaultValue:0,validate:e=>1===e});this.join=(0,o.getStringOption)(e.join,[\\\"square\\\",\\\"round\\\"]);this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.radius=(0,o.getMeasurement)(e.radius);this.stroke=(0,o.getStringOption)(e.stroke,[\\\"solid\\\",\\\"dashDot\\\",\\\"dashDotDot\\\",\\\"dashed\\\",\\\"dotted\\\",\\\"embossed\\\",\\\"etched\\\",\\\"lowered\\\",\\\"raised\\\"]);this.thickness=(0,o.getMeasurement)(e.thickness,\\\"0.5pt\\\");this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.color=null;this.extras=null}[r.$toStyle](){const e=(0,s.toStyle)(this,\\\"visibility\\\");e.radius=(0,s.measureToString)(\\\"square\\\"===this.join?0:this.radius);return e}}class DateElement extends r.ContentObject{constructor(e){super(d,\\\"date\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){const e=this[r.$content].trim();this[r.$content]=e?new Date(e):null}[r.$toHTML](e){return valueToHtml(this[r.$content]?this[r.$content].toString():\\\"\\\")}}class DateTime extends r.ContentObject{constructor(e){super(d,\\\"dateTime\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){const e=this[r.$content].trim();this[r.$content]=e?new Date(e):null}[r.$toHTML](e){return valueToHtml(this[r.$content]?this[r.$content].toString():\\\"\\\")}}class DateTimeEdit extends r.XFAObject{constructor(e){super(d,\\\"dateTimeEdit\\\",!0);this.hScrollPolicy=(0,o.getStringOption)(e.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]);this.id=e.id||\\\"\\\";this.picker=(0,o.getStringOption)(e.picker,[\\\"host\\\",\\\"none\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.border=null;this.comb=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,\\\"border\\\",\\\"font\\\",\\\"margin\\\"),a=this[r.$getParent]()[r.$getParent](),n={name:\\\"input\\\",attributes:{type:\\\"text\\\",fieldId:a[r.$uid],dataId:a[r.$data]&&a[r.$data][r.$uid]||a[r.$uid],class:[\\\"xfaTextfield\\\"],style:t,\\\"aria-label\\\":ariaLabel(a)}};return o.HTMLResult.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[n]})}}class Decimal extends r.ContentObject{constructor(e){super(d,\\\"decimal\\\");this.fracDigits=(0,o.getInteger)({data:e.fracDigits,defaultValue:2,validate:e=>!0});this.id=e.id||\\\"\\\";this.leadDigits=(0,o.getInteger)({data:e.leadDigits,defaultValue:-1,validate:e=>!0});this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){const e=parseFloat(this[r.$content].trim());this[r.$content]=isNaN(e)?null:e}[r.$toHTML](e){return valueToHtml(null!==this[r.$content]?this[r.$content].toString():\\\"\\\")}}class DefaultUi extends r.XFAObject{constructor(e){super(d,\\\"defaultUi\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null}}class Desc extends r.XFAObject{constructor(e){super(d,\\\"desc\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.boolean=new r.XFAObjectArray;this.date=new r.XFAObjectArray;this.dateTime=new r.XFAObjectArray;this.decimal=new r.XFAObjectArray;this.exData=new r.XFAObjectArray;this.float=new r.XFAObjectArray;this.image=new r.XFAObjectArray;this.integer=new r.XFAObjectArray;this.text=new r.XFAObjectArray;this.time=new r.XFAObjectArray}}class DigestMethod extends r.OptionObject{constructor(e){super(d,\\\"digestMethod\\\",[\\\"\\\",\\\"SHA1\\\",\\\"SHA256\\\",\\\"SHA512\\\",\\\"RIPEMD160\\\"]);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class DigestMethods extends r.XFAObject{constructor(e){super(d,\\\"digestMethods\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.digestMethod=new r.XFAObjectArray}}class Draw extends r.XFAObject{constructor(e){super(d,\\\"draw\\\",!0);this.anchorType=(0,o.getStringOption)(e.anchorType,[\\\"topLeft\\\",\\\"bottomCenter\\\",\\\"bottomLeft\\\",\\\"bottomRight\\\",\\\"middleCenter\\\",\\\"middleLeft\\\",\\\"middleRight\\\",\\\"topCenter\\\",\\\"topRight\\\"]);this.colSpan=(0,o.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?(0,o.getMeasurement)(e.h):\\\"\\\";this.hAlign=(0,o.getStringOption)(e.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.locale=e.locale||\\\"\\\";this.maxH=(0,o.getMeasurement)(e.maxH,\\\"0pt\\\");this.maxW=(0,o.getMeasurement)(e.maxW,\\\"0pt\\\");this.minH=(0,o.getMeasurement)(e.minH,\\\"0pt\\\");this.minW=(0,o.getMeasurement)(e.minW,\\\"0pt\\\");this.name=e.name||\\\"\\\";this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.relevant=(0,o.getRelevant)(e.relevant);this.rotate=(0,o.getInteger)({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.w=e.w?(0,o.getMeasurement)(e.w):\\\"\\\";this.x=(0,o.getMeasurement)(e.x,\\\"0pt\\\");this.y=(0,o.getMeasurement)(e.y,\\\"0pt\\\");this.assist=null;this.border=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.value=null;this.setProperty=new r.XFAObjectArray}[r.$setValue](e){_setValue(this,e)}[r.$toHTML](e){setTabIndex(this);if(\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence)return o.HTMLResult.EMPTY;(0,s.fixDimensions)(this);this[r.$pushPara]();const t=this.w,a=this.h,{w:n,h:c,isBroken:l}=(0,s.layoutNode)(this,e);if(n&&\\\"\\\"===this.w){if(l&&this[r.$getSubformParent]()[r.$isThereMoreWidth]()){this[r.$popPara]();return o.HTMLResult.FAILURE}this.w=n}c&&\\\"\\\"===this.h&&(this.h=c);setFirstUnsplittable(this);if(!(0,i.checkDimensions)(this,e)){this.w=t;this.h=a;this[r.$popPara]();return o.HTMLResult.FAILURE}unsetFirstUnsplittable(this);const h=(0,s.toStyle)(this,\\\"font\\\",\\\"hAlign\\\",\\\"dimensions\\\",\\\"position\\\",\\\"presence\\\",\\\"rotate\\\",\\\"anchorType\\\",\\\"border\\\",\\\"margin\\\");(0,s.setMinMaxDimensions)(this,h);if(h.margin){h.padding=h.margin;delete h.margin}const u=[\\\"xfaDraw\\\"];this.font&&u.push(\\\"xfaFont\\\");(0,s.isPrintOnly)(this)&&u.push(\\\"xfaPrintOnly\\\");const d={style:h,id:this[r.$uid],class:u};this.name&&(d.xfaName=this.name);const f={name:\\\"div\\\",attributes:d,children:[]};applyAssist(this,d);const g=(0,s.computeBbox)(this,f,e),p=this.value?this.value[r.$toHTML](e).html:null;if(null===p){this.w=t;this.h=a;this[r.$popPara]();return o.HTMLResult.success((0,s.createWrapper)(this,f),g)}f.children.push(p);(0,s.setPara)(this,h,p);this.w=t;this.h=a;this[r.$popPara]();return o.HTMLResult.success((0,s.createWrapper)(this,f),g)}}class Edge extends r.XFAObject{constructor(e){super(d,\\\"edge\\\",!0);this.cap=(0,o.getStringOption)(e.cap,[\\\"square\\\",\\\"butt\\\",\\\"round\\\"]);this.id=e.id||\\\"\\\";this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.stroke=(0,o.getStringOption)(e.stroke,[\\\"solid\\\",\\\"dashDot\\\",\\\"dashDotDot\\\",\\\"dashed\\\",\\\"dotted\\\",\\\"embossed\\\",\\\"etched\\\",\\\"lowered\\\",\\\"raised\\\"]);this.thickness=(0,o.getMeasurement)(e.thickness,\\\"0.5pt\\\");this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.color=null;this.extras=null}[r.$toStyle](){const e=(0,s.toStyle)(this,\\\"visibility\\\");Object.assign(e,{linecap:this.cap,width:(0,s.measureToString)(this.thickness),color:this.color?this.color[r.$toStyle]():\\\"#000000\\\",style:\\\"\\\"});if(\\\"visible\\\"!==this.presence)e.style=\\\"none\\\";else switch(this.stroke){case\\\"solid\\\":e.style=\\\"solid\\\";break;case\\\"dashDot\\\":case\\\"dashDotDot\\\":case\\\"dashed\\\":e.style=\\\"dashed\\\";break;case\\\"dotted\\\":e.style=\\\"dotted\\\";break;case\\\"embossed\\\":e.style=\\\"ridge\\\";break;case\\\"etched\\\":e.style=\\\"groove\\\";break;case\\\"lowered\\\":e.style=\\\"inset\\\";break;case\\\"raised\\\":e.style=\\\"outset\\\"}return e}}class Encoding extends r.OptionObject{constructor(e){super(d,\\\"encoding\\\",[\\\"adbe.x509.rsa_sha1\\\",\\\"adbe.pkcs7.detached\\\",\\\"adbe.pkcs7.sha1\\\"]);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Encodings extends r.XFAObject{constructor(e){super(d,\\\"encodings\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.encoding=new r.XFAObjectArray}}class Encrypt extends r.XFAObject{constructor(e){super(d,\\\"encrypt\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.certificate=null}}class EncryptData extends r.XFAObject{constructor(e){super(d,\\\"encryptData\\\",!0);this.id=e.id||\\\"\\\";this.operation=(0,o.getStringOption)(e.operation,[\\\"encrypt\\\",\\\"decrypt\\\"]);this.target=e.target||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.filter=null;this.manifest=null}}class Encryption extends r.XFAObject{constructor(e){super(d,\\\"encryption\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.certificate=new r.XFAObjectArray}}class EncryptionMethod extends r.OptionObject{constructor(e){super(d,\\\"encryptionMethod\\\",[\\\"\\\",\\\"AES256-CBC\\\",\\\"TRIPLEDES-CBC\\\",\\\"AES128-CBC\\\",\\\"AES192-CBC\\\"]);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class EncryptionMethods extends r.XFAObject{constructor(e){super(d,\\\"encryptionMethods\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.encryptionMethod=new r.XFAObjectArray}}class Event extends r.XFAObject{constructor(e){super(d,\\\"event\\\",!0);this.activity=(0,o.getStringOption)(e.activity,[\\\"click\\\",\\\"change\\\",\\\"docClose\\\",\\\"docReady\\\",\\\"enter\\\",\\\"exit\\\",\\\"full\\\",\\\"indexChange\\\",\\\"initialize\\\",\\\"mouseDown\\\",\\\"mouseEnter\\\",\\\"mouseExit\\\",\\\"mouseUp\\\",\\\"postExecute\\\",\\\"postOpen\\\",\\\"postPrint\\\",\\\"postSave\\\",\\\"postSign\\\",\\\"postSubmit\\\",\\\"preExecute\\\",\\\"preOpen\\\",\\\"prePrint\\\",\\\"preSave\\\",\\\"preSign\\\",\\\"preSubmit\\\",\\\"ready\\\",\\\"validationState\\\"]);this.id=e.id||\\\"\\\";this.listen=(0,o.getStringOption)(e.listen,[\\\"refOnly\\\",\\\"refAndDescendents\\\"]);this.name=e.name||\\\"\\\";this.ref=e.ref||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.encryptData=null;this.execute=null;this.script=null;this.signData=null;this.submit=null}}class ExData extends r.ContentObject{constructor(e){super(d,\\\"exData\\\");this.contentType=e.contentType||\\\"\\\";this.href=e.href||\\\"\\\";this.id=e.id||\\\"\\\";this.maxLength=(0,o.getInteger)({data:e.maxLength,defaultValue:-1,validate:e=>e>=-1});this.name=e.name||\\\"\\\";this.rid=e.rid||\\\"\\\";this.transferEncoding=(0,o.getStringOption)(e.transferEncoding,[\\\"none\\\",\\\"base64\\\",\\\"package\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$isCDATAXml](){return\\\"text/html\\\"===this.contentType}[r.$onChild](e){if(\\\"text/html\\\"===this.contentType&&e[r.$namespaceId]===n.NamespaceIds.xhtml.id){this[r.$content]=e;return!0}if(\\\"text/xml\\\"===this.contentType){this[r.$content]=e;return!0}return!1}[r.$toHTML](e){return\\\"text/html\\\"===this.contentType&&this[r.$content]?this[r.$content][r.$toHTML](e):o.HTMLResult.EMPTY}}class ExObject extends r.XFAObject{constructor(e){super(d,\\\"exObject\\\",!0);this.archive=e.archive||\\\"\\\";this.classId=e.classId||\\\"\\\";this.codeBase=e.codeBase||\\\"\\\";this.codeType=e.codeType||\\\"\\\";this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.boolean=new r.XFAObjectArray;this.date=new r.XFAObjectArray;this.dateTime=new r.XFAObjectArray;this.decimal=new r.XFAObjectArray;this.exData=new r.XFAObjectArray;this.exObject=new r.XFAObjectArray;this.float=new r.XFAObjectArray;this.image=new r.XFAObjectArray;this.integer=new r.XFAObjectArray;this.text=new r.XFAObjectArray;this.time=new r.XFAObjectArray}}class ExclGroup extends r.XFAObject{constructor(e){super(d,\\\"exclGroup\\\",!0);this.access=(0,o.getStringOption)(e.access,[\\\"open\\\",\\\"nonInteractive\\\",\\\"protected\\\",\\\"readOnly\\\"]);this.accessKey=e.accessKey||\\\"\\\";this.anchorType=(0,o.getStringOption)(e.anchorType,[\\\"topLeft\\\",\\\"bottomCenter\\\",\\\"bottomLeft\\\",\\\"bottomRight\\\",\\\"middleCenter\\\",\\\"middleLeft\\\",\\\"middleRight\\\",\\\"topCenter\\\",\\\"topRight\\\"]);this.colSpan=(0,o.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?(0,o.getMeasurement)(e.h):\\\"\\\";this.hAlign=(0,o.getStringOption)(e.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.layout=(0,o.getStringOption)(e.layout,[\\\"position\\\",\\\"lr-tb\\\",\\\"rl-row\\\",\\\"rl-tb\\\",\\\"row\\\",\\\"table\\\",\\\"tb\\\"]);this.maxH=(0,o.getMeasurement)(e.maxH,\\\"0pt\\\");this.maxW=(0,o.getMeasurement)(e.maxW,\\\"0pt\\\");this.minH=(0,o.getMeasurement)(e.minH,\\\"0pt\\\");this.minW=(0,o.getMeasurement)(e.minW,\\\"0pt\\\");this.name=e.name||\\\"\\\";this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.relevant=(0,o.getRelevant)(e.relevant);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.w=e.w?(0,o.getMeasurement)(e.w):\\\"\\\";this.x=(0,o.getMeasurement)(e.x,\\\"0pt\\\");this.y=(0,o.getMeasurement)(e.y,\\\"0pt\\\");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.margin=null;this.para=null;this.traversal=null;this.validate=null;this.connect=new r.XFAObjectArray;this.event=new r.XFAObjectArray;this.field=new r.XFAObjectArray;this.setProperty=new r.XFAObjectArray}[r.$isBindable](){return!0}[r.$hasSettableValue](){return!0}[r.$setValue](e){for(const t of this.field.children){if(!t.value){const e=new Value({});t[r.$appendChild](e);t.value=e}t.value[r.$setValue](e)}}[r.$isThereMoreWidth](){return this.layout.endsWith(\\\"-tb\\\")&&0===this[r.$extra].attempt&&this[r.$extra].numberInLine>0||this[r.$getParent]()[r.$isThereMoreWidth]()}[r.$isSplittable](){const e=this[r.$getSubformParent]();if(!e[r.$isSplittable]())return!1;if(void 0!==this[r.$extra]._isSplittable)return this[r.$extra]._isSplittable;if(\\\"position\\\"===this.layout||this.layout.includes(\\\"row\\\")){this[r.$extra]._isSplittable=!1;return!1}if(e.layout&&e.layout.endsWith(\\\"-tb\\\")&&0!==e[r.$extra].numberInLine)return!1;this[r.$extra]._isSplittable=!0;return!0}[r.$flushHTML](){return(0,i.flushHTML)(this)}[r.$addHTML](e,t){(0,i.addHTML)(this,e,t)}[r.$getAvailableSpace](){return(0,i.getAvailableSpace)(this)}[r.$toHTML](e){setTabIndex(this);if(\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence||0===this.h||0===this.w)return o.HTMLResult.EMPTY;(0,s.fixDimensions)(this);const t=[],a={id:this[r.$uid],class:[]};(0,s.setAccess)(this,a.class);this[r.$extra]||(this[r.$extra]=Object.create(null));Object.assign(this[r.$extra],{children:t,attributes:a,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const n=this[r.$isSplittable]();n||setFirstUnsplittable(this);if(!(0,i.checkDimensions)(this,e))return o.HTMLResult.FAILURE;const c=new Set([\\\"field\\\"]);if(this.layout.includes(\\\"row\\\")){const e=this[r.$getSubformParent]().columnWidths;if(Array.isArray(e)&&e.length>0){this[r.$extra].columnWidths=e;this[r.$extra].currentColumn=0}}const l=(0,s.toStyle)(this,\\\"anchorType\\\",\\\"dimensions\\\",\\\"position\\\",\\\"presence\\\",\\\"border\\\",\\\"margin\\\",\\\"hAlign\\\"),h=[\\\"xfaExclgroup\\\"],u=(0,s.layoutClass)(this);u&&h.push(u);(0,s.isPrintOnly)(this)&&h.push(\\\"xfaPrintOnly\\\");a.style=l;a.class=h;this.name&&(a.xfaName=this.name);this[r.$pushPara]();const d=\\\"lr-tb\\\"===this.layout||\\\"rl-tb\\\"===this.layout,f=d?2:1;for(;this[r.$extra].attempte>=1||-1===e});this.h=e.h?(0,o.getMeasurement)(e.h):\\\"\\\";this.hAlign=(0,o.getStringOption)(e.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.locale=e.locale||\\\"\\\";this.maxH=(0,o.getMeasurement)(e.maxH,\\\"0pt\\\");this.maxW=(0,o.getMeasurement)(e.maxW,\\\"0pt\\\");this.minH=(0,o.getMeasurement)(e.minH,\\\"0pt\\\");this.minW=(0,o.getMeasurement)(e.minW,\\\"0pt\\\");this.name=e.name||\\\"\\\";this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.relevant=(0,o.getRelevant)(e.relevant);this.rotate=(0,o.getInteger)({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.w=e.w?(0,o.getMeasurement)(e.w):\\\"\\\";this.x=(0,o.getMeasurement)(e.x,\\\"0pt\\\");this.y=(0,o.getMeasurement)(e.y,\\\"0pt\\\");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.format=null;this.items=new r.XFAObjectArray(2);this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.validate=null;this.value=null;this.bindItems=new r.XFAObjectArray;this.connect=new r.XFAObjectArray;this.event=new r.XFAObjectArray;this.setProperty=new r.XFAObjectArray}[r.$isBindable](){return!0}[r.$setValue](e){_setValue(this,e)}[r.$toHTML](e){setTabIndex(this);if(!this.ui){this.ui=new Ui({});this.ui[r.$globalData]=this[r.$globalData];this[r.$appendChild](this.ui);let e;switch(this.items.children.length){case 0:e=new TextEdit({});this.ui.textEdit=e;break;case 1:e=new CheckButton({});this.ui.checkButton=e;break;case 2:e=new ChoiceList({});this.ui.choiceList=e}this.ui[r.$appendChild](e)}if(!this.ui||\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence||0===this.h||0===this.w)return o.HTMLResult.EMPTY;this.caption&&delete this.caption[r.$extra];this[r.$pushPara]();const t=this.caption?this.caption[r.$toHTML](e).html:null,a=this.w,n=this.h;let c=0,h=0;if(this.margin){c=this.margin.leftInset+this.margin.rightInset;h=this.margin.topInset+this.margin.bottomInset}let u=null;if(\\\"\\\"===this.w||\\\"\\\"===this.h){let t=null,a=null,n=0,i=0;if(this.ui.checkButton)n=i=this.ui.checkButton.size;else{const{w:t,h:a}=(0,s.layoutNode)(this,e);if(null!==t){n=t;i=a}else i=(0,l.getMetrics)(this.font,!0).lineNoGap}u=getBorderDims(this.ui[r.$getExtra]());n+=u.w;i+=u.h;if(this.caption){const{w:s,h:c,isBroken:l}=this.caption[r.$getExtra](e);if(l&&this[r.$getSubformParent]()[r.$isThereMoreWidth]()){this[r.$popPara]();return o.HTMLResult.FAILURE}t=s;a=c;switch(this.caption.placement){case\\\"left\\\":case\\\"right\\\":case\\\"inline\\\":t+=n;break;case\\\"top\\\":case\\\"bottom\\\":a+=i}}else{t=n;a=i}if(t&&\\\"\\\"===this.w){t+=c;this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1e>=1&&e<=5});this.appearanceFilter=null;this.certificates=null;this.digestMethods=null;this.encodings=null;this.encryptionMethods=null;this.handler=null;this.lockDocument=null;this.mdp=null;this.reasons=null;this.timeStamp=null}}class Float extends r.ContentObject{constructor(e){super(d,\\\"float\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){const e=parseFloat(this[r.$content].trim());this[r.$content]=isNaN(e)?null:e}[r.$toHTML](e){return valueToHtml(null!==this[r.$content]?this[r.$content].toString():\\\"\\\")}}class Font extends r.XFAObject{constructor(e){super(d,\\\"font\\\",!0);this.baselineShift=(0,o.getMeasurement)(e.baselineShift);this.fontHorizontalScale=(0,o.getFloat)({data:e.fontHorizontalScale,defaultValue:100,validate:e=>e>=0});this.fontVerticalScale=(0,o.getFloat)({data:e.fontVerticalScale,defaultValue:100,validate:e=>e>=0});this.id=e.id||\\\"\\\";this.kerningMode=(0,o.getStringOption)(e.kerningMode,[\\\"none\\\",\\\"pair\\\"]);this.letterSpacing=(0,o.getMeasurement)(e.letterSpacing,\\\"0\\\");this.lineThrough=(0,o.getInteger)({data:e.lineThrough,defaultValue:0,validate:e=>1===e||2===e});this.lineThroughPeriod=(0,o.getStringOption)(e.lineThroughPeriod,[\\\"all\\\",\\\"word\\\"]);this.overline=(0,o.getInteger)({data:e.overline,defaultValue:0,validate:e=>1===e||2===e});this.overlinePeriod=(0,o.getStringOption)(e.overlinePeriod,[\\\"all\\\",\\\"word\\\"]);this.posture=(0,o.getStringOption)(e.posture,[\\\"normal\\\",\\\"italic\\\"]);this.size=(0,o.getMeasurement)(e.size,\\\"10pt\\\");this.typeface=e.typeface||\\\"Courier\\\";this.underline=(0,o.getInteger)({data:e.underline,defaultValue:0,validate:e=>1===e||2===e});this.underlinePeriod=(0,o.getStringOption)(e.underlinePeriod,[\\\"all\\\",\\\"word\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.weight=(0,o.getStringOption)(e.weight,[\\\"normal\\\",\\\"bold\\\"]);this.extras=null;this.fill=null}[r.$clean](e){super[r.$clean](e);this[r.$globalData].usedTypefaces.add(this.typeface)}[r.$toStyle](){const e=(0,s.toStyle)(this,\\\"fill\\\"),t=e.color;if(t)if(\\\"#000000\\\"===t)delete e.color;else if(!t.startsWith(\\\"#\\\")){e.background=t;e.backgroundClip=\\\"text\\\";e.color=\\\"transparent\\\"}this.baselineShift&&(e.verticalAlign=(0,s.measureToString)(this.baselineShift));e.fontKerning=\\\"none\\\"===this.kerningMode?\\\"none\\\":\\\"normal\\\";e.letterSpacing=(0,s.measureToString)(this.letterSpacing);if(0!==this.lineThrough){e.textDecoration=\\\"line-through\\\";2===this.lineThrough&&(e.textDecorationStyle=\\\"double\\\")}if(0!==this.overline){e.textDecoration=\\\"overline\\\";2===this.overline&&(e.textDecorationStyle=\\\"double\\\")}e.fontStyle=this.posture;e.fontSize=(0,s.measureToString)(.99*this.size);(0,s.setFontFamily)(this,this,this[r.$globalData].fontFinder,e);if(0!==this.underline){e.textDecoration=\\\"underline\\\";2===this.underline&&(e.textDecorationStyle=\\\"double\\\")}e.fontWeight=this.weight;return e}}class Format extends r.XFAObject{constructor(e){super(d,\\\"format\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.picture=null}}class Handler extends r.StringObject{constructor(e){super(d,\\\"handler\\\");this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Hyphenation extends r.XFAObject{constructor(e){super(d,\\\"hyphenation\\\");this.excludeAllCaps=(0,o.getInteger)({data:e.excludeAllCaps,defaultValue:0,validate:e=>1===e});this.excludeInitialCap=(0,o.getInteger)({data:e.excludeInitialCap,defaultValue:0,validate:e=>1===e});this.hyphenate=(0,o.getInteger)({data:e.hyphenate,defaultValue:0,validate:e=>1===e});this.id=e.id||\\\"\\\";this.pushCharacterCount=(0,o.getInteger)({data:e.pushCharacterCount,defaultValue:3,validate:e=>e>=0});this.remainCharacterCount=(0,o.getInteger)({data:e.remainCharacterCount,defaultValue:3,validate:e=>e>=0});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.wordCharacterCount=(0,o.getInteger)({data:e.wordCharacterCount,defaultValue:7,validate:e=>e>=0})}}class Image extends r.StringObject{constructor(e){super(d,\\\"image\\\");this.aspect=(0,o.getStringOption)(e.aspect,[\\\"fit\\\",\\\"actual\\\",\\\"height\\\",\\\"none\\\",\\\"width\\\"]);this.contentType=e.contentType||\\\"\\\";this.href=e.href||\\\"\\\";this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.transferEncoding=(0,o.getStringOption)(e.transferEncoding,[\\\"base64\\\",\\\"none\\\",\\\"package\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$toHTML](){if(this.contentType&&!p.has(this.contentType.toLowerCase()))return o.HTMLResult.EMPTY;let e=this[r.$globalData].images&&this[r.$globalData].images.get(this.href);if(!e&&(this.href||!this[r.$content]))return o.HTMLResult.EMPTY;e||\\\"base64\\\"!==this.transferEncoding||(e=(0,c.stringToBytes)(atob(this[r.$content])));if(!e)return o.HTMLResult.EMPTY;if(!this.contentType){for(const[t,a]of m)if(e.length>t.length&&t.every(((t,a)=>t===e[a]))){this.contentType=a;break}if(!this.contentType)return o.HTMLResult.EMPTY}const t=new Blob([e],{type:this.contentType});let a;switch(this.aspect){case\\\"fit\\\":case\\\"actual\\\":break;case\\\"height\\\":a={height:\\\"100%\\\",objectFit:\\\"fill\\\"};break;case\\\"none\\\":a={width:\\\"100%\\\",height:\\\"100%\\\",objectFit:\\\"fill\\\"};break;case\\\"width\\\":a={width:\\\"100%\\\",objectFit:\\\"fill\\\"}}const n=this[r.$getParent]();return o.HTMLResult.success({name:\\\"img\\\",attributes:{class:[\\\"xfaImage\\\"],style:a,src:URL.createObjectURL(t),alt:n?ariaLabel(n[r.$getParent]()):null}})}}class ImageEdit extends r.XFAObject{constructor(e){super(d,\\\"imageEdit\\\",!0);this.data=(0,o.getStringOption)(e.data,[\\\"link\\\",\\\"embed\\\"]);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.border=null;this.extras=null;this.margin=null}[r.$toHTML](e){return\\\"embed\\\"===this.data?o.HTMLResult.success({name:\\\"div\\\",children:[],attributes:{}}):o.HTMLResult.EMPTY}}class Integer extends r.ContentObject{constructor(e){super(d,\\\"integer\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){const e=parseInt(this[r.$content].trim(),10);this[r.$content]=isNaN(e)?null:e}[r.$toHTML](e){return valueToHtml(null!==this[r.$content]?this[r.$content].toString():\\\"\\\")}}class Issuers extends r.XFAObject{constructor(e){super(d,\\\"issuers\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.certificate=new r.XFAObjectArray}}class Items extends r.XFAObject{constructor(e){super(d,\\\"items\\\",!0);this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.ref=e.ref||\\\"\\\";this.save=(0,o.getInteger)({data:e.save,defaultValue:0,validate:e=>1===e});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.boolean=new r.XFAObjectArray;this.date=new r.XFAObjectArray;this.dateTime=new r.XFAObjectArray;this.decimal=new r.XFAObjectArray;this.exData=new r.XFAObjectArray;this.float=new r.XFAObjectArray;this.image=new r.XFAObjectArray;this.integer=new r.XFAObjectArray;this.text=new r.XFAObjectArray;this.time=new r.XFAObjectArray}[r.$toHTML](){const e=[];for(const t of this[r.$getChildren]())e.push(t[r.$text]());return o.HTMLResult.success(e)}}t.Items=Items;class Keep extends r.XFAObject{constructor(e){super(d,\\\"keep\\\",!0);this.id=e.id||\\\"\\\";const t=[\\\"none\\\",\\\"contentArea\\\",\\\"pageArea\\\"];this.intact=(0,o.getStringOption)(e.intact,t);this.next=(0,o.getStringOption)(e.next,t);this.previous=(0,o.getStringOption)(e.previous,t);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null}}class KeyUsage extends r.XFAObject{constructor(e){super(d,\\\"keyUsage\\\");const t=[\\\"\\\",\\\"yes\\\",\\\"no\\\"];this.crlSign=(0,o.getStringOption)(e.crlSign,t);this.dataEncipherment=(0,o.getStringOption)(e.dataEncipherment,t);this.decipherOnly=(0,o.getStringOption)(e.decipherOnly,t);this.digitalSignature=(0,o.getStringOption)(e.digitalSignature,t);this.encipherOnly=(0,o.getStringOption)(e.encipherOnly,t);this.id=e.id||\\\"\\\";this.keyAgreement=(0,o.getStringOption)(e.keyAgreement,t);this.keyCertSign=(0,o.getStringOption)(e.keyCertSign,t);this.keyEncipherment=(0,o.getStringOption)(e.keyEncipherment,t);this.nonRepudiation=(0,o.getStringOption)(e.nonRepudiation,t);this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Line extends r.XFAObject{constructor(e){super(d,\\\"line\\\",!0);this.hand=(0,o.getStringOption)(e.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.slope=(0,o.getStringOption)(e.slope,[\\\"\\\\\\\\\\\",\\\"/\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.edge=null}[r.$toHTML](){const e=this[r.$getParent]()[r.$getParent](),t=this.edge?this.edge:new Edge({}),a=t[r.$toStyle](),n=Object.create(null),i=\\\"visible\\\"===t.presence?t.thickness:0;n.strokeWidth=(0,s.measureToString)(i);n.stroke=a.color;let c,l,h,u,d=\\\"100%\\\",g=\\\"100%\\\";if(e.w<=i){[c,l,h,u]=[\\\"50%\\\",0,\\\"50%\\\",\\\"100%\\\"];d=n.strokeWidth}else if(e.h<=i){[c,l,h,u]=[0,\\\"50%\\\",\\\"100%\\\",\\\"50%\\\"];g=n.strokeWidth}else\\\"\\\\\\\\\\\"===this.slope?[c,l,h,u]=[0,0,\\\"100%\\\",\\\"100%\\\"]:[c,l,h,u]=[0,\\\"100%\\\",\\\"100%\\\",0];const p={name:\\\"svg\\\",children:[{name:\\\"line\\\",attributes:{xmlns:f,x1:c,y1:l,x2:h,y2:u,style:n}}],attributes:{xmlns:f,width:d,height:g,style:{overflow:\\\"visible\\\"}}};if(hasMargin(e))return o.HTMLResult.success({name:\\\"div\\\",attributes:{style:{display:\\\"inline\\\",width:\\\"100%\\\",height:\\\"100%\\\"}},children:[p]});p.attributes.style.position=\\\"absolute\\\";return o.HTMLResult.success(p)}}class Linear extends r.XFAObject{constructor(e){super(d,\\\"linear\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"toRight\\\",\\\"toBottom\\\",\\\"toLeft\\\",\\\"toTop\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.color=null;this.extras=null}[r.$toStyle](e){e=e?e[r.$toStyle]():\\\"#FFFFFF\\\";return`linear-gradient(${this.type.replace(/([RBLT])/,\\\" $1\\\").toLowerCase()}, ${e}, ${this.color?this.color[r.$toStyle]():\\\"#000000\\\"})`}}class LockDocument extends r.ContentObject{constructor(e){super(d,\\\"lockDocument\\\");this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){this[r.$content]=(0,o.getStringOption)(this[r.$content],[\\\"auto\\\",\\\"0\\\",\\\"1\\\"])}}class Manifest extends r.XFAObject{constructor(e){super(d,\\\"manifest\\\",!0);this.action=(0,o.getStringOption)(e.action,[\\\"include\\\",\\\"all\\\",\\\"exclude\\\"]);this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.ref=new r.XFAObjectArray}}class Margin extends r.XFAObject{constructor(e){super(d,\\\"margin\\\",!0);this.bottomInset=(0,o.getMeasurement)(e.bottomInset,\\\"0\\\");this.id=e.id||\\\"\\\";this.leftInset=(0,o.getMeasurement)(e.leftInset,\\\"0\\\");this.rightInset=(0,o.getMeasurement)(e.rightInset,\\\"0\\\");this.topInset=(0,o.getMeasurement)(e.topInset,\\\"0\\\");this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null}[r.$toStyle](){return{margin:(0,s.measureToString)(this.topInset)+\\\" \\\"+(0,s.measureToString)(this.rightInset)+\\\" \\\"+(0,s.measureToString)(this.bottomInset)+\\\" \\\"+(0,s.measureToString)(this.leftInset)}}}class Mdp extends r.XFAObject{constructor(e){super(d,\\\"mdp\\\");this.id=e.id||\\\"\\\";this.permissions=(0,o.getInteger)({data:e.permissions,defaultValue:2,validate:e=>1===e||3===e});this.signatureType=(0,o.getStringOption)(e.signatureType,[\\\"filler\\\",\\\"author\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Medium extends r.XFAObject{constructor(e){super(d,\\\"medium\\\");this.id=e.id||\\\"\\\";this.imagingBBox=(0,o.getBBox)(e.imagingBBox);this.long=(0,o.getMeasurement)(e.long);this.orientation=(0,o.getStringOption)(e.orientation,[\\\"portrait\\\",\\\"landscape\\\"]);this.short=(0,o.getMeasurement)(e.short);this.stock=e.stock||\\\"\\\";this.trayIn=(0,o.getStringOption)(e.trayIn,[\\\"auto\\\",\\\"delegate\\\",\\\"pageFront\\\"]);this.trayOut=(0,o.getStringOption)(e.trayOut,[\\\"auto\\\",\\\"delegate\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Message extends r.XFAObject{constructor(e){super(d,\\\"message\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.text=new r.XFAObjectArray}}class NumericEdit extends r.XFAObject{constructor(e){super(d,\\\"numericEdit\\\",!0);this.hScrollPolicy=(0,o.getStringOption)(e.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.border=null;this.comb=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,\\\"border\\\",\\\"font\\\",\\\"margin\\\"),a=this[r.$getParent]()[r.$getParent](),n={name:\\\"input\\\",attributes:{type:\\\"text\\\",fieldId:a[r.$uid],dataId:a[r.$data]&&a[r.$data][r.$uid]||a[r.$uid],class:[\\\"xfaTextfield\\\"],style:t,\\\"aria-label\\\":ariaLabel(a)}};return o.HTMLResult.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[n]})}}class Occur extends r.XFAObject{constructor(e){super(d,\\\"occur\\\",!0);this.id=e.id||\\\"\\\";this.initial=\\\"\\\"!==e.initial?(0,o.getInteger)({data:e.initial,defaultValue:\\\"\\\",validate:e=>!0}):\\\"\\\";this.max=\\\"\\\"!==e.max?(0,o.getInteger)({data:e.max,defaultValue:1,validate:e=>!0}):\\\"\\\";this.min=\\\"\\\"!==e.min?(0,o.getInteger)({data:e.min,defaultValue:1,validate:e=>!0}):\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null}[r.$clean](){const e=this[r.$getParent](),t=this.min;\\\"\\\"===this.min&&(this.min=e instanceof PageArea||e instanceof PageSet?0:1);\\\"\\\"===this.max&&(this.max=\\\"\\\"===t?e instanceof PageArea||e instanceof PageSet?-1:1:this.min);-1!==this.max&&this.max!0});this.name=e.name||\\\"\\\";this.numbered=(0,o.getInteger)({data:e.numbered,defaultValue:1,validate:e=>!0});this.oddOrEven=(0,o.getStringOption)(e.oddOrEven,[\\\"any\\\",\\\"even\\\",\\\"odd\\\"]);this.pagePosition=(0,o.getStringOption)(e.pagePosition,[\\\"any\\\",\\\"first\\\",\\\"last\\\",\\\"only\\\",\\\"rest\\\"]);this.relevant=(0,o.getRelevant)(e.relevant);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.desc=null;this.extras=null;this.medium=null;this.occur=null;this.area=new r.XFAObjectArray;this.contentArea=new r.XFAObjectArray;this.draw=new r.XFAObjectArray;this.exclGroup=new r.XFAObjectArray;this.field=new r.XFAObjectArray;this.subform=new r.XFAObjectArray}[r.$isUsable](){if(!this[r.$extra]){this[r.$extra]={numberOfUse:0};return!0}return!this.occur||-1===this.occur.max||this[r.$extra].numberOfUsee.oddOrEven===t&&e.pagePosition===a));if(n)return n;n=this.pageArea.children.find((e=>\\\"any\\\"===e.oddOrEven&&e.pagePosition===a));if(n)return n;n=this.pageArea.children.find((e=>\\\"any\\\"===e.oddOrEven&&\\\"any\\\"===e.pagePosition));return n||this.pageArea.children[0]}}class Para extends r.XFAObject{constructor(e){super(d,\\\"para\\\",!0);this.hAlign=(0,o.getStringOption)(e.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.lineHeight=e.lineHeight?(0,o.getMeasurement)(e.lineHeight,\\\"0pt\\\"):\\\"\\\";this.marginLeft=e.marginLeft?(0,o.getMeasurement)(e.marginLeft,\\\"0pt\\\"):\\\"\\\";this.marginRight=e.marginRight?(0,o.getMeasurement)(e.marginRight,\\\"0pt\\\"):\\\"\\\";this.orphans=(0,o.getInteger)({data:e.orphans,defaultValue:0,validate:e=>e>=0});this.preserve=e.preserve||\\\"\\\";this.radixOffset=e.radixOffset?(0,o.getMeasurement)(e.radixOffset,\\\"0pt\\\"):\\\"\\\";this.spaceAbove=e.spaceAbove?(0,o.getMeasurement)(e.spaceAbove,\\\"0pt\\\"):\\\"\\\";this.spaceBelow=e.spaceBelow?(0,o.getMeasurement)(e.spaceBelow,\\\"0pt\\\"):\\\"\\\";this.tabDefault=e.tabDefault?(0,o.getMeasurement)(this.tabDefault):\\\"\\\";this.tabStops=(e.tabStops||\\\"\\\").trim().split(/\\\\s+/).map(((e,t)=>t%2==1?(0,o.getMeasurement)(e):e));this.textIndent=e.textIndent?(0,o.getMeasurement)(e.textIndent,\\\"0pt\\\"):\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.vAlign=(0,o.getStringOption)(e.vAlign,[\\\"top\\\",\\\"bottom\\\",\\\"middle\\\"]);this.widows=(0,o.getInteger)({data:e.widows,defaultValue:0,validate:e=>e>=0});this.hyphenation=null}[r.$toStyle](){const e=(0,s.toStyle)(this,\\\"hAlign\\\");\\\"\\\"!==this.marginLeft&&(e.paddingLeft=(0,s.measureToString)(this.marginLeft));\\\"\\\"!==this.marginRight&&(e.paddingight=(0,s.measureToString)(this.marginRight));\\\"\\\"!==this.spaceAbove&&(e.paddingTop=(0,s.measureToString)(this.spaceAbove));\\\"\\\"!==this.spaceBelow&&(e.paddingBottom=(0,s.measureToString)(this.spaceBelow));if(\\\"\\\"!==this.textIndent){e.textIndent=(0,s.measureToString)(this.textIndent);(0,s.fixTextIndent)(e)}this.lineHeight>0&&(e.lineHeight=(0,s.measureToString)(this.lineHeight));\\\"\\\"!==this.tabDefault&&(e.tabSize=(0,s.measureToString)(this.tabDefault));this.tabStops.length;this.hyphenatation&&Object.assign(e,this.hyphenatation[r.$toStyle]());return e}}class PasswordEdit extends r.XFAObject{constructor(e){super(d,\\\"passwordEdit\\\",!0);this.hScrollPolicy=(0,o.getStringOption)(e.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]);this.id=e.id||\\\"\\\";this.passwordChar=e.passwordChar||\\\"*\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.border=null;this.extras=null;this.margin=null}}class Pattern extends r.XFAObject{constructor(e){super(d,\\\"pattern\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"crossHatch\\\",\\\"crossDiagonal\\\",\\\"diagonalLeft\\\",\\\"diagonalRight\\\",\\\"horizontal\\\",\\\"vertical\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.color=null;this.extras=null}[r.$toStyle](e){e=e?e[r.$toStyle]():\\\"#FFFFFF\\\";const t=this.color?this.color[r.$toStyle]():\\\"#000000\\\",a=\\\"repeating-linear-gradient\\\",n=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case\\\"crossHatch\\\":return`${a}(to top,${n}) ${a}(to right,${n})`;case\\\"crossDiagonal\\\":return`${a}(45deg,${n}) ${a}(-45deg,${n})`;case\\\"diagonalLeft\\\":return`${a}(45deg,${n})`;case\\\"diagonalRight\\\":return`${a}(-45deg,${n})`;case\\\"horizontal\\\":return`${a}(to top,${n})`;case\\\"vertical\\\":return`${a}(to right,${n})`}return\\\"\\\"}}class Picture extends r.StringObject{constructor(e){super(d,\\\"picture\\\");this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Proto extends r.XFAObject{constructor(e){super(d,\\\"proto\\\",!0);this.appearanceFilter=new r.XFAObjectArray;this.arc=new r.XFAObjectArray;this.area=new r.XFAObjectArray;this.assist=new r.XFAObjectArray;this.barcode=new r.XFAObjectArray;this.bindItems=new r.XFAObjectArray;this.bookend=new r.XFAObjectArray;this.boolean=new r.XFAObjectArray;this.border=new r.XFAObjectArray;this.break=new r.XFAObjectArray;this.breakAfter=new r.XFAObjectArray;this.breakBefore=new r.XFAObjectArray;this.button=new r.XFAObjectArray;this.calculate=new r.XFAObjectArray;this.caption=new r.XFAObjectArray;this.certificate=new r.XFAObjectArray;this.certificates=new r.XFAObjectArray;this.checkButton=new r.XFAObjectArray;this.choiceList=new r.XFAObjectArray;this.color=new r.XFAObjectArray;this.comb=new r.XFAObjectArray;this.connect=new r.XFAObjectArray;this.contentArea=new r.XFAObjectArray;this.corner=new r.XFAObjectArray;this.date=new r.XFAObjectArray;this.dateTime=new r.XFAObjectArray;this.dateTimeEdit=new r.XFAObjectArray;this.decimal=new r.XFAObjectArray;this.defaultUi=new r.XFAObjectArray;this.desc=new r.XFAObjectArray;this.digestMethod=new r.XFAObjectArray;this.digestMethods=new r.XFAObjectArray;this.draw=new r.XFAObjectArray;this.edge=new r.XFAObjectArray;this.encoding=new r.XFAObjectArray;this.encodings=new r.XFAObjectArray;this.encrypt=new r.XFAObjectArray;this.encryptData=new r.XFAObjectArray;this.encryption=new r.XFAObjectArray;this.encryptionMethod=new r.XFAObjectArray;this.encryptionMethods=new r.XFAObjectArray;this.event=new r.XFAObjectArray;this.exData=new r.XFAObjectArray;this.exObject=new r.XFAObjectArray;this.exclGroup=new r.XFAObjectArray;this.execute=new r.XFAObjectArray;this.extras=new r.XFAObjectArray;this.field=new r.XFAObjectArray;this.fill=new r.XFAObjectArray;this.filter=new r.XFAObjectArray;this.float=new r.XFAObjectArray;this.font=new r.XFAObjectArray;this.format=new r.XFAObjectArray;this.handler=new r.XFAObjectArray;this.hyphenation=new r.XFAObjectArray;this.image=new r.XFAObjectArray;this.imageEdit=new r.XFAObjectArray;this.integer=new r.XFAObjectArray;this.issuers=new r.XFAObjectArray;this.items=new r.XFAObjectArray;this.keep=new r.XFAObjectArray;this.keyUsage=new r.XFAObjectArray;this.line=new r.XFAObjectArray;this.linear=new r.XFAObjectArray;this.lockDocument=new r.XFAObjectArray;this.manifest=new r.XFAObjectArray;this.margin=new r.XFAObjectArray;this.mdp=new r.XFAObjectArray;this.medium=new r.XFAObjectArray;this.message=new r.XFAObjectArray;this.numericEdit=new r.XFAObjectArray;this.occur=new r.XFAObjectArray;this.oid=new r.XFAObjectArray;this.oids=new r.XFAObjectArray;this.overflow=new r.XFAObjectArray;this.pageArea=new r.XFAObjectArray;this.pageSet=new r.XFAObjectArray;this.para=new r.XFAObjectArray;this.passwordEdit=new r.XFAObjectArray;this.pattern=new r.XFAObjectArray;this.picture=new r.XFAObjectArray;this.radial=new r.XFAObjectArray;this.reason=new r.XFAObjectArray;this.reasons=new r.XFAObjectArray;this.rectangle=new r.XFAObjectArray;this.ref=new r.XFAObjectArray;this.script=new r.XFAObjectArray;this.setProperty=new r.XFAObjectArray;this.signData=new r.XFAObjectArray;this.signature=new r.XFAObjectArray;this.signing=new r.XFAObjectArray;this.solid=new r.XFAObjectArray;this.speak=new r.XFAObjectArray;this.stipple=new r.XFAObjectArray;this.subform=new r.XFAObjectArray;this.subformSet=new r.XFAObjectArray;this.subjectDN=new r.XFAObjectArray;this.subjectDNs=new r.XFAObjectArray;this.submit=new r.XFAObjectArray;this.text=new r.XFAObjectArray;this.textEdit=new r.XFAObjectArray;this.time=new r.XFAObjectArray;this.timeStamp=new r.XFAObjectArray;this.toolTip=new r.XFAObjectArray;this.traversal=new r.XFAObjectArray;this.traverse=new r.XFAObjectArray;this.ui=new r.XFAObjectArray;this.validate=new r.XFAObjectArray;this.value=new r.XFAObjectArray;this.variables=new r.XFAObjectArray}}class Radial extends r.XFAObject{constructor(e){super(d,\\\"radial\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"toEdge\\\",\\\"toCenter\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.color=null;this.extras=null}[r.$toStyle](e){e=e?e[r.$toStyle]():\\\"#FFFFFF\\\";const t=this.color?this.color[r.$toStyle]():\\\"#000000\\\";return`radial-gradient(circle at center, ${\\\"toEdge\\\"===this.type?`${e},${t}`:`${t},${e}`})`}}class Reason extends r.StringObject{constructor(e){super(d,\\\"reason\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Reasons extends r.XFAObject{constructor(e){super(d,\\\"reasons\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.reason=new r.XFAObjectArray}}class Rectangle extends r.XFAObject{constructor(e){super(d,\\\"rectangle\\\",!0);this.hand=(0,o.getStringOption)(e.hand,[\\\"even\\\",\\\"left\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.corner=new r.XFAObjectArray(4);this.edge=new r.XFAObjectArray(4);this.fill=null}[r.$toHTML](){const e=this.edge.children.length?this.edge.children[0]:new Edge({}),t=e[r.$toStyle](),a=Object.create(null);this.fill&&\\\"visible\\\"===this.fill.presence?Object.assign(a,this.fill[r.$toStyle]()):a.fill=\\\"transparent\\\";a.strokeWidth=(0,s.measureToString)(\\\"visible\\\"===e.presence?e.thickness:0);a.stroke=t.color;const n=(this.corner.children.length?this.corner.children[0]:new Corner({}))[r.$toStyle](),i={name:\\\"svg\\\",children:[{name:\\\"rect\\\",attributes:{xmlns:f,width:\\\"100%\\\",height:\\\"100%\\\",x:0,y:0,rx:n.radius,ry:n.radius,style:a}}],attributes:{xmlns:f,style:{overflow:\\\"visible\\\"},width:\\\"100%\\\",height:\\\"100%\\\"}};if(hasMargin(this[r.$getParent]()[r.$getParent]()))return o.HTMLResult.success({name:\\\"div\\\",attributes:{style:{display:\\\"inline\\\",width:\\\"100%\\\",height:\\\"100%\\\"}},children:[i]});i.attributes.style.position=\\\"absolute\\\";return o.HTMLResult.success(i)}}class RefElement extends r.StringObject{constructor(e){super(d,\\\"ref\\\");this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Script extends r.StringObject{constructor(e){super(d,\\\"script\\\");this.binding=e.binding||\\\"\\\";this.contentType=e.contentType||\\\"\\\";this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.runAt=(0,o.getStringOption)(e.runAt,[\\\"client\\\",\\\"both\\\",\\\"server\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class SetProperty extends r.XFAObject{constructor(e){super(d,\\\"setProperty\\\");this.connection=e.connection||\\\"\\\";this.ref=e.ref||\\\"\\\";this.target=e.target||\\\"\\\"}}t.SetProperty=SetProperty;class SignData extends r.XFAObject{constructor(e){super(d,\\\"signData\\\",!0);this.id=e.id||\\\"\\\";this.operation=(0,o.getStringOption)(e.operation,[\\\"sign\\\",\\\"clear\\\",\\\"verify\\\"]);this.ref=e.ref||\\\"\\\";this.target=e.target||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.filter=null;this.manifest=null}}class Signature extends r.XFAObject{constructor(e){super(d,\\\"signature\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"PDF1.3\\\",\\\"PDF1.6\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.border=null;this.extras=null;this.filter=null;this.manifest=null;this.margin=null}}class Signing extends r.XFAObject{constructor(e){super(d,\\\"signing\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.certificate=new r.XFAObjectArray}}class Solid extends r.XFAObject{constructor(e){super(d,\\\"solid\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null}[r.$toStyle](e){return e?e[r.$toStyle]():\\\"#FFFFFF\\\"}}class Speak extends r.StringObject{constructor(e){super(d,\\\"speak\\\");this.disable=(0,o.getInteger)({data:e.disable,defaultValue:0,validate:e=>1===e});this.id=e.id||\\\"\\\";this.priority=(0,o.getStringOption)(e.priority,[\\\"custom\\\",\\\"caption\\\",\\\"name\\\",\\\"toolTip\\\"]);this.rid=e.rid||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Stipple extends r.XFAObject{constructor(e){super(d,\\\"stipple\\\",!0);this.id=e.id||\\\"\\\";this.rate=(0,o.getInteger)({data:e.rate,defaultValue:50,validate:e=>e>=0&&e<=100});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.color=null;this.extras=null}[r.$toStyle](e){const t=this.rate/100;return c.Util.makeHexColor(Math.round(e.value.r*(1-t)+this.value.r*t),Math.round(e.value.g*(1-t)+this.value.g*t),Math.round(e.value.b*(1-t)+this.value.b*t))}}class Subform extends r.XFAObject{constructor(e){super(d,\\\"subform\\\",!0);this.access=(0,o.getStringOption)(e.access,[\\\"open\\\",\\\"nonInteractive\\\",\\\"protected\\\",\\\"readOnly\\\"]);this.allowMacro=(0,o.getInteger)({data:e.allowMacro,defaultValue:0,validate:e=>1===e});this.anchorType=(0,o.getStringOption)(e.anchorType,[\\\"topLeft\\\",\\\"bottomCenter\\\",\\\"bottomLeft\\\",\\\"bottomRight\\\",\\\"middleCenter\\\",\\\"middleLeft\\\",\\\"middleRight\\\",\\\"topCenter\\\",\\\"topRight\\\"]);this.colSpan=(0,o.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.columnWidths=(e.columnWidths||\\\"\\\").trim().split(/\\\\s+/).map((e=>\\\"-1\\\"===e?-1:(0,o.getMeasurement)(e)));this.h=e.h?(0,o.getMeasurement)(e.h):\\\"\\\";this.hAlign=(0,o.getStringOption)(e.hAlign,[\\\"left\\\",\\\"center\\\",\\\"justify\\\",\\\"justifyAll\\\",\\\"radix\\\",\\\"right\\\"]);this.id=e.id||\\\"\\\";this.layout=(0,o.getStringOption)(e.layout,[\\\"position\\\",\\\"lr-tb\\\",\\\"rl-row\\\",\\\"rl-tb\\\",\\\"row\\\",\\\"table\\\",\\\"tb\\\"]);this.locale=e.locale||\\\"\\\";this.maxH=(0,o.getMeasurement)(e.maxH,\\\"0pt\\\");this.maxW=(0,o.getMeasurement)(e.maxW,\\\"0pt\\\");this.mergeMode=(0,o.getStringOption)(e.mergeMode,[\\\"consumeData\\\",\\\"matchTemplate\\\"]);this.minH=(0,o.getMeasurement)(e.minH,\\\"0pt\\\");this.minW=(0,o.getMeasurement)(e.minW,\\\"0pt\\\");this.name=e.name||\\\"\\\";this.presence=(0,o.getStringOption)(e.presence,[\\\"visible\\\",\\\"hidden\\\",\\\"inactive\\\",\\\"invisible\\\"]);this.relevant=(0,o.getRelevant)(e.relevant);this.restoreState=(0,o.getStringOption)(e.restoreState,[\\\"manual\\\",\\\"auto\\\"]);this.scope=(0,o.getStringOption)(e.scope,[\\\"name\\\",\\\"none\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.w=e.w?(0,o.getMeasurement)(e.w):\\\"\\\";this.x=(0,o.getMeasurement)(e.x,\\\"0pt\\\");this.y=(0,o.getMeasurement)(e.y,\\\"0pt\\\");this.assist=null;this.bind=null;this.bookend=null;this.border=null;this.break=null;this.calculate=null;this.desc=null;this.extras=null;this.keep=null;this.margin=null;this.occur=null;this.overflow=null;this.pageSet=null;this.para=null;this.traversal=null;this.validate=null;this.variables=null;this.area=new r.XFAObjectArray;this.breakAfter=new r.XFAObjectArray;this.breakBefore=new r.XFAObjectArray;this.connect=new r.XFAObjectArray;this.draw=new r.XFAObjectArray;this.event=new r.XFAObjectArray;this.exObject=new r.XFAObjectArray;this.exclGroup=new r.XFAObjectArray;this.field=new r.XFAObjectArray;this.proto=new r.XFAObjectArray;this.setProperty=new r.XFAObjectArray;this.subform=new r.XFAObjectArray;this.subformSet=new r.XFAObjectArray}[r.$getSubformParent](){const e=this[r.$getParent]();return e instanceof SubformSet?e[r.$getSubformParent]():e}[r.$isBindable](){return!0}[r.$isThereMoreWidth](){return this.layout.endsWith(\\\"-tb\\\")&&0===this[r.$extra].attempt&&this[r.$extra].numberInLine>0||this[r.$getParent]()[r.$isThereMoreWidth]()}*[r.$getContainedChildren](){yield*getContainedChildren(this)}[r.$flushHTML](){return(0,i.flushHTML)(this)}[r.$addHTML](e,t){(0,i.addHTML)(this,e,t)}[r.$getAvailableSpace](){return(0,i.getAvailableSpace)(this)}[r.$isSplittable](){const e=this[r.$getSubformParent]();if(!e[r.$isSplittable]())return!1;if(void 0!==this[r.$extra]._isSplittable)return this[r.$extra]._isSplittable;if(\\\"position\\\"===this.layout||this.layout.includes(\\\"row\\\")){this[r.$extra]._isSplittable=!1;return!1}if(this.keep&&\\\"none\\\"!==this.keep.intact){this[r.$extra]._isSplittable=!1;return!1}if(e.layout&&e.layout.endsWith(\\\"-tb\\\")&&0!==e[r.$extra].numberInLine)return!1;this[r.$extra]._isSplittable=!0;return!0}[r.$toHTML](e){setTabIndex(this);if(this.break){if(\\\"auto\\\"!==this.break.after||\\\"\\\"!==this.break.afterTarget){const e=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e[r.$globalData]=this[r.$globalData];this[r.$appendChild](e);this.breakAfter.push(e)}if(\\\"auto\\\"!==this.break.before||\\\"\\\"!==this.break.beforeTarget){const e=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e[r.$globalData]=this[r.$globalData];this[r.$appendChild](e);this.breakBefore.push(e)}if(\\\"\\\"!==this.break.overflowTarget){const e=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e[r.$globalData]=this[r.$globalData];this[r.$appendChild](e);this.overflow.push(e)}this[r.$removeChild](this.break);this.break=null}if(\\\"hidden\\\"===this.presence||\\\"inactive\\\"===this.presence)return o.HTMLResult.EMPTY;(this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&(0,c.warn)(\\\"XFA - Several breakBefore or breakAfter in subforms: please file a bug.\\\");if(this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(handleBreak(e))return o.HTMLResult.breakNode(e)}if(this[r.$extra]&&this[r.$extra].afterBreakAfter)return o.HTMLResult.EMPTY;(0,s.fixDimensions)(this);const t=[],a={id:this[r.$uid],class:[]};(0,s.setAccess)(this,a.class);this[r.$extra]||(this[r.$extra]=Object.create(null));Object.assign(this[r.$extra],{children:t,line:null,attributes:a,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const n=this[r.$getTemplateRoot](),l=n[r.$extra].noLayoutFailure,h=this[r.$isSplittable]();h||setFirstUnsplittable(this);if(!(0,i.checkDimensions)(this,e))return o.HTMLResult.FAILURE;const u=new Set([\\\"area\\\",\\\"draw\\\",\\\"exclGroup\\\",\\\"field\\\",\\\"subform\\\",\\\"subformSet\\\"]);if(this.layout.includes(\\\"row\\\")){const e=this[r.$getSubformParent]().columnWidths;if(Array.isArray(e)&&e.length>0){this[r.$extra].columnWidths=e;this[r.$extra].currentColumn=0}}const d=(0,s.toStyle)(this,\\\"anchorType\\\",\\\"dimensions\\\",\\\"position\\\",\\\"presence\\\",\\\"border\\\",\\\"margin\\\",\\\"hAlign\\\"),f=[\\\"xfaSubform\\\"],g=(0,s.layoutClass)(this);g&&f.push(g);a.style=d;a.class=f;this.name&&(a.xfaName=this.name);if(this.overflow){const t=this.overflow[r.$getExtra]();if(t.addLeader){t.addLeader=!1;handleOverflow(this,t.leader,e)}}this[r.$pushPara]();const p=\\\"lr-tb\\\"===this.layout||\\\"rl-tb\\\"===this.layout,m=p?2:1;for(;this[r.$extra].attempt=1){const e=this.breakAfter.children[0];if(handleBreak(e)){this[r.$extra].afterBreakAfter=C;return o.HTMLResult.breakNode(e)}}delete this[r.$extra];return C}}class SubformSet extends r.XFAObject{constructor(e){super(d,\\\"subformSet\\\",!0);this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.relation=(0,o.getStringOption)(e.relation,[\\\"ordered\\\",\\\"choice\\\",\\\"unordered\\\"]);this.relevant=(0,o.getRelevant)(e.relevant);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.bookend=null;this.break=null;this.desc=null;this.extras=null;this.occur=null;this.overflow=null;this.breakAfter=new r.XFAObjectArray;this.breakBefore=new r.XFAObjectArray;this.subform=new r.XFAObjectArray;this.subformSet=new r.XFAObjectArray}*[r.$getContainedChildren](){yield*getContainedChildren(this)}[r.$getSubformParent](){let e=this[r.$getParent]();for(;!(e instanceof Subform);)e=e[r.$getParent]();return e}[r.$isBindable](){return!0}}class SubjectDN extends r.ContentObject{constructor(e){super(d,\\\"subjectDN\\\");this.delimiter=e.delimiter||\\\",\\\";this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){this[r.$content]=new Map(this[r.$content].split(this.delimiter).map((e=>{(e=e.split(\\\"=\\\",2))[0]=e[0].trim();return e})))}}class SubjectDNs extends r.XFAObject{constructor(e){super(d,\\\"subjectDNs\\\",!0);this.id=e.id||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.subjectDN=new r.XFAObjectArray}}class Submit extends r.XFAObject{constructor(e){super(d,\\\"submit\\\",!0);this.embedPDF=(0,o.getInteger)({data:e.embedPDF,defaultValue:0,validate:e=>1===e});this.format=(0,o.getStringOption)(e.format,[\\\"xdp\\\",\\\"formdata\\\",\\\"pdf\\\",\\\"urlencoded\\\",\\\"xfd\\\",\\\"xml\\\"]);this.id=e.id||\\\"\\\";this.target=e.target||\\\"\\\";this.textEncoding=(0,o.getKeyword)({data:e.textEncoding?e.textEncoding.toLowerCase():\\\"\\\",defaultValue:\\\"\\\",validate:e=>[\\\"utf-8\\\",\\\"big-five\\\",\\\"fontspecific\\\",\\\"gbk\\\",\\\"gb-18030\\\",\\\"gb-2312\\\",\\\"ksc-5601\\\",\\\"none\\\",\\\"shift-jis\\\",\\\"ucs-2\\\",\\\"utf-16\\\"].includes(e)||e.match(/iso-8859-\\\\d{2}/)});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.xdpContent=e.xdpContent||\\\"\\\";this.encrypt=null;this.encryptData=new r.XFAObjectArray;this.signData=new r.XFAObjectArray}}class Template extends r.XFAObject{constructor(e){super(d,\\\"template\\\",!0);this.baseProfile=(0,o.getStringOption)(e.baseProfile,[\\\"full\\\",\\\"interactiveForms\\\"]);this.extras=null;this.subform=new r.XFAObjectArray}[r.$finalize](){0===this.subform.children.length&&(0,c.warn)(\\\"XFA - No subforms in template node.\\\");this.subform.children.length>=2&&(0,c.warn)(\\\"XFA - Several subforms in template node: please file a bug.\\\");this[r.$tabIndex]=5e3}[r.$isSplittable](){return!0}[r.$searchNode](e,t){return e.startsWith(\\\"#\\\")?[this[r.$ids].get(e.slice(1))]:(0,u.searchNode)(this,t,e,!0,!0)}*[r.$toPages](){if(!this.subform.children.length)return o.HTMLResult.success({name:\\\"div\\\",children:[]});this[r.$extra]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:\\\"first\\\",oddOrEven:\\\"odd\\\",blankOrNotBlank:\\\"nonBlank\\\",paraStack:[]};const e=this.subform.children[0];e.pageSet[r.$cleanPage]();const t=e.pageSet.pageArea.children,a={name:\\\"div\\\",children:[]};let n=null,i=null,s=null;if(e.breakBefore.children.length>=1){i=e.breakBefore.children[0];s=i.target}else if(e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1){i=e.subform.children[0].breakBefore.children[0];s=i.target}else if(e.break&&e.break.beforeTarget){i=e.break;s=i.beforeTarget}else if(e.subform.children.length>=1&&e.subform.children[0].break&&e.subform.children[0].break.beforeTarget){i=e.subform.children[0].break;s=i.beforeTarget}if(i){const e=this[r.$searchNode](s,i[r.$getParent]());if(e instanceof PageArea){n=e;i[r.$extra]={}}}n||(n=t[0]);n[r.$extra]={numberOfUse:1};const l=n[r.$getParent]();l[r.$extra]={numberOfUse:1,pageIndex:l.pageArea.children.indexOf(n),pageSetIndex:0};let h,u=null,d=null,f=!0,g=0,p=0;for(;;){if(f)g=0;else{a.children.pop();if(3==++g){(0,c.warn)(\\\"XFA - Something goes wrong: please file a bug.\\\");return a}}h=null;this[r.$extra].currentPageArea=n;const t=n[r.$toHTML]().html;a.children.push(t);if(u){this[r.$extra].noLayoutFailure=!0;t.children.push(u[r.$toHTML](n[r.$extra].space).html);u=null}if(d){this[r.$extra].noLayoutFailure=!0;t.children.push(d[r.$toHTML](n[r.$extra].space).html);d=null}const i=n.contentArea.children,s=t.children.filter((e=>e.attributes.class.includes(\\\"xfaContentarea\\\")));f=!1;this[r.$extra].firstUnsplittable=null;this[r.$extra].noLayoutFailure=!1;const flush=t=>{const a=e[r.$flushHTML]();if(a){f=f||a.children&&0!==a.children.length;s[t].children.push(a)}};for(let t=p,n=i.length;t1&&a.children.pop();return a}if(c.isBreak()){const e=c.breakNode;flush(t);if(\\\"auto\\\"===e.targetType)continue;if(e.leader){u=this[r.$searchNode](e.leader,e[r.$getParent]());u=u?u[0]:null}if(e.trailer){d=this[r.$searchNode](e.trailer,e[r.$getParent]());d=d?d[0]:null}if(\\\"pageArea\\\"===e.targetType){h=e[r.$extra].target;t=1/0}else if(e[r.$extra].target){h=e[r.$extra].target;p=e[r.$extra].index+1;t=1/0}else t=e[r.$extra].index}else if(this[r.$extra].overflowNode){const e=this[r.$extra].overflowNode;this[r.$extra].overflowNode=null;const a=e[r.$getExtra](),n=a.target;a.addLeader=null!==a.leader;a.addTrailer=null!==a.trailer;flush(t);const s=t;t=1/0;if(n instanceof PageArea)h=n;else if(n instanceof ContentArea){const e=i.findIndex((e=>e===n));if(-1!==e)e>s?t=e-1:p=e;else{h=n[r.$getParent]();p=h.contentArea.children.findIndex((e=>e===n))}}}else flush(t)}this[r.$extra].pageNumber+=1;h&&(h[r.$isUsable]()?h[r.$extra].numberOfUse+=1:h=null);n=h||n[r.$getNextPage]();yield null}}}t.Template=Template;class Text extends r.ContentObject{constructor(e){super(d,\\\"text\\\");this.id=e.id||\\\"\\\";this.maxChars=(0,o.getInteger)({data:e.maxChars,defaultValue:0,validate:e=>e>=0});this.name=e.name||\\\"\\\";this.rid=e.rid||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$acceptWhitespace](){return!0}[r.$onChild](e){if(e[r.$namespaceId]===n.NamespaceIds.xhtml.id){this[r.$content]=e;return!0}(0,c.warn)(`XFA - Invalid content in Text: ${e[r.$nodeName]}.`);return!1}[r.$onText](e){this[r.$content]instanceof r.XFAObject||super[r.$onText](e)}[r.$finalize](){\\\"string\\\"==typeof this[r.$content]&&(this[r.$content]=this[r.$content].replace(/\\\\r\\\\n/g,\\\"\\\\n\\\"))}[r.$getExtra](){return\\\"string\\\"==typeof this[r.$content]?this[r.$content].split(/[\\\\u2029\\\\u2028\\\\n]/).reduce(((e,t)=>{t&&e.push(t);return e}),[]).join(\\\"\\\\n\\\"):this[r.$content][r.$text]()}[r.$toHTML](e){if(\\\"string\\\"==typeof this[r.$content]){const e=valueToHtml(this[r.$content]).html;if(this[r.$content].includes(\\\"\\\\u2029\\\")){e.name=\\\"div\\\";e.children=[];this[r.$content].split(\\\"\\\\u2029\\\").map((e=>e.split(/[\\\\u2028\\\\n]/).reduce(((e,t)=>{e.push({name:\\\"span\\\",value:t},{name:\\\"br\\\"});return e}),[]))).forEach((t=>{e.children.push({name:\\\"p\\\",children:t})}))}else if(/[\\\\u2028\\\\n]/.test(this[r.$content])){e.name=\\\"div\\\";e.children=[];this[r.$content].split(/[\\\\u2028\\\\n]/).forEach((t=>{e.children.push({name:\\\"span\\\",value:t},{name:\\\"br\\\"})}))}return o.HTMLResult.success(e)}return this[r.$content][r.$toHTML](e)}}t.Text=Text;class TextEdit extends r.XFAObject{constructor(e){super(d,\\\"textEdit\\\",!0);this.allowRichText=(0,o.getInteger)({data:e.allowRichText,defaultValue:0,validate:e=>1===e});this.hScrollPolicy=(0,o.getStringOption)(e.hScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]);this.id=e.id||\\\"\\\";this.multiLine=(0,o.getInteger)({data:e.multiLine,defaultValue:\\\"\\\",validate:e=>0===e||1===e});this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.vScrollPolicy=(0,o.getStringOption)(e.vScrollPolicy,[\\\"auto\\\",\\\"off\\\",\\\"on\\\"]);this.border=null;this.comb=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,\\\"border\\\",\\\"font\\\",\\\"margin\\\");let a;const n=this[r.$getParent]()[r.$getParent]();\\\"\\\"===this.multiLine&&(this.multiLine=n instanceof Draw?1:0);a=1===this.multiLine?{name:\\\"textarea\\\",attributes:{dataId:n[r.$data]&&n[r.$data][r.$uid]||n[r.$uid],fieldId:n[r.$uid],class:[\\\"xfaTextfield\\\"],style:t,\\\"aria-label\\\":ariaLabel(n)}}:{name:\\\"input\\\",attributes:{type:\\\"text\\\",dataId:n[r.$data]&&n[r.$data][r.$uid]||n[r.$uid],fieldId:n[r.$uid],class:[\\\"xfaTextfield\\\"],style:t,\\\"aria-label\\\":ariaLabel(n)}};return o.HTMLResult.success({name:\\\"label\\\",attributes:{class:[\\\"xfaLabel\\\"]},children:[a]})}}class Time extends r.StringObject{constructor(e){super(d,\\\"time\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}[r.$finalize](){const e=this[r.$content].trim();this[r.$content]=e?new Date(e):null}[r.$toHTML](e){return valueToHtml(this[r.$content]?this[r.$content].toString():\\\"\\\")}}class TimeStamp extends r.XFAObject{constructor(e){super(d,\\\"timeStamp\\\");this.id=e.id||\\\"\\\";this.server=e.server||\\\"\\\";this.type=(0,o.getStringOption)(e.type,[\\\"optional\\\",\\\"required\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class ToolTip extends r.StringObject{constructor(e){super(d,\\\"toolTip\\\");this.id=e.id||\\\"\\\";this.rid=e.rid||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Traversal extends r.XFAObject{constructor(e){super(d,\\\"traversal\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.traverse=new r.XFAObjectArray}}class Traverse extends r.XFAObject{constructor(e){super(d,\\\"traverse\\\",!0);this.id=e.id||\\\"\\\";this.operation=(0,o.getStringOption)(e.operation,[\\\"next\\\",\\\"back\\\",\\\"down\\\",\\\"first\\\",\\\"left\\\",\\\"right\\\",\\\"up\\\"]);this.ref=e.ref||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.script=null}get name(){return this.operation}[r.$isTransparent](){return!1}}class Ui extends r.XFAObject{constructor(e){super(d,\\\"ui\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.picture=null;this.barcode=null;this.button=null;this.checkButton=null;this.choiceList=null;this.dateTimeEdit=null;this.defaultUi=null;this.imageEdit=null;this.numericEdit=null;this.passwordEdit=null;this.signature=null;this.textEdit=null}[r.$getExtra](){if(void 0===this[r.$extra]){for(const e of Object.getOwnPropertyNames(this)){if(\\\"extras\\\"===e||\\\"picture\\\"===e)continue;const t=this[e];if(t instanceof r.XFAObject){this[r.$extra]=t;return t}}this[r.$extra]=null}return this[r.$extra]}[r.$toHTML](e){const t=this[r.$getExtra]();return t?t[r.$toHTML](e):o.HTMLResult.EMPTY}}class Validate extends r.XFAObject{constructor(e){super(d,\\\"validate\\\",!0);this.formatTest=(0,o.getStringOption)(e.formatTest,[\\\"warning\\\",\\\"disabled\\\",\\\"error\\\"]);this.id=e.id||\\\"\\\";this.nullTest=(0,o.getStringOption)(e.nullTest,[\\\"disabled\\\",\\\"error\\\",\\\"warning\\\"]);this.scriptTest=(0,o.getStringOption)(e.scriptTest,[\\\"error\\\",\\\"disabled\\\",\\\"warning\\\"]);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.extras=null;this.message=null;this.picture=null;this.script=null}}class Value extends r.XFAObject{constructor(e){super(d,\\\"value\\\",!0);this.id=e.id||\\\"\\\";this.override=(0,o.getInteger)({data:e.override,defaultValue:0,validate:e=>1===e});this.relevant=(0,o.getRelevant)(e.relevant);this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.arc=null;this.boolean=null;this.date=null;this.dateTime=null;this.decimal=null;this.exData=null;this.float=null;this.image=null;this.integer=null;this.line=null;this.rectangle=null;this.text=null;this.time=null}[r.$setValue](e){const t=this[r.$getParent]();if(t instanceof Field&&t.ui&&t.ui.imageEdit){if(!this.image){this.image=new Image({});this[r.$appendChild](this.image)}this.image[r.$content]=e[r.$content];return}const a=e[r.$nodeName];if(null===this[a]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof r.XFAObject){this[e]=null;this[r.$removeChild](t)}}this[e[r.$nodeName]]=e;this[r.$appendChild](e)}else this[a][r.$content]=e[r.$content]}[r.$text](){if(this.exData)return\\\"string\\\"==typeof this.exData[r.$content]?this.exData[r.$content].trim():this.exData[r.$content][r.$text]().trim();for(const e of Object.getOwnPropertyNames(this)){if(\\\"image\\\"===e)continue;const t=this[e];if(t instanceof r.XFAObject)return(t[r.$content]||\\\"\\\").toString().trim()}return null}[r.$toHTML](e){for(const t of Object.getOwnPropertyNames(this)){const a=this[t];if(a instanceof r.XFAObject)return a[r.$toHTML](e)}return o.HTMLResult.EMPTY}}t.Value=Value;class Variables extends r.XFAObject{constructor(e){super(d,\\\"variables\\\",!0);this.id=e.id||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\";this.boolean=new r.XFAObjectArray;this.date=new r.XFAObjectArray;this.dateTime=new r.XFAObjectArray;this.decimal=new r.XFAObjectArray;this.exData=new r.XFAObjectArray;this.float=new r.XFAObjectArray;this.image=new r.XFAObjectArray;this.integer=new r.XFAObjectArray;this.manifest=new r.XFAObjectArray;this.script=new r.XFAObjectArray;this.text=new r.XFAObjectArray;this.time=new r.XFAObjectArray}[r.$isTransparent](){return!0}}class TemplateNamespace{static[n.$buildXFAObject](e,t){if(TemplateNamespace.hasOwnProperty(e)){const a=TemplateNamespace[e](t);a[r.$setSetAttributes](t);return a}}static appearanceFilter(e){return new AppearanceFilter(e)}static arc(e){return new Arc(e)}static area(e){return new Area(e)}static assist(e){return new Assist(e)}static barcode(e){return new Barcode(e)}static bind(e){return new Bind(e)}static bindItems(e){return new BindItems(e)}static bookend(e){return new Bookend(e)}static boolean(e){return new BooleanElement(e)}static border(e){return new Border(e)}static break(e){return new Break(e)}static breakAfter(e){return new BreakAfter(e)}static breakBefore(e){return new BreakBefore(e)}static button(e){return new Button(e)}static calculate(e){return new Calculate(e)}static caption(e){return new Caption(e)}static certificate(e){return new Certificate(e)}static certificates(e){return new Certificates(e)}static checkButton(e){return new CheckButton(e)}static choiceList(e){return new ChoiceList(e)}static color(e){return new Color(e)}static comb(e){return new Comb(e)}static connect(e){return new Connect(e)}static contentArea(e){return new ContentArea(e)}static corner(e){return new Corner(e)}static date(e){return new DateElement(e)}static dateTime(e){return new DateTime(e)}static dateTimeEdit(e){return new DateTimeEdit(e)}static decimal(e){return new Decimal(e)}static defaultUi(e){return new DefaultUi(e)}static desc(e){return new Desc(e)}static digestMethod(e){return new DigestMethod(e)}static digestMethods(e){return new DigestMethods(e)}static draw(e){return new Draw(e)}static edge(e){return new Edge(e)}static encoding(e){return new Encoding(e)}static encodings(e){return new Encodings(e)}static encrypt(e){return new Encrypt(e)}static encryptData(e){return new EncryptData(e)}static encryption(e){return new Encryption(e)}static encryptionMethod(e){return new EncryptionMethod(e)}static encryptionMethods(e){return new EncryptionMethods(e)}static event(e){return new Event(e)}static exData(e){return new ExData(e)}static exObject(e){return new ExObject(e)}static exclGroup(e){return new ExclGroup(e)}static execute(e){return new Execute(e)}static extras(e){return new Extras(e)}static field(e){return new Field(e)}static fill(e){return new Fill(e)}static filter(e){return new Filter(e)}static float(e){return new Float(e)}static font(e){return new Font(e)}static format(e){return new Format(e)}static handler(e){return new Handler(e)}static hyphenation(e){return new Hyphenation(e)}static image(e){return new Image(e)}static imageEdit(e){return new ImageEdit(e)}static integer(e){return new Integer(e)}static issuers(e){return new Issuers(e)}static items(e){return new Items(e)}static keep(e){return new Keep(e)}static keyUsage(e){return new KeyUsage(e)}static line(e){return new Line(e)}static linear(e){return new Linear(e)}static lockDocument(e){return new LockDocument(e)}static manifest(e){return new Manifest(e)}static margin(e){return new Margin(e)}static mdp(e){return new Mdp(e)}static medium(e){return new Medium(e)}static message(e){return new Message(e)}static numericEdit(e){return new NumericEdit(e)}static occur(e){return new Occur(e)}static oid(e){return new Oid(e)}static oids(e){return new Oids(e)}static overflow(e){return new Overflow(e)}static pageArea(e){return new PageArea(e)}static pageSet(e){return new PageSet(e)}static para(e){return new Para(e)}static passwordEdit(e){return new PasswordEdit(e)}static pattern(e){return new Pattern(e)}static picture(e){return new Picture(e)}static proto(e){return new Proto(e)}static radial(e){return new Radial(e)}static reason(e){return new Reason(e)}static reasons(e){return new Reasons(e)}static rectangle(e){return new Rectangle(e)}static ref(e){return new RefElement(e)}static script(e){return new Script(e)}static setProperty(e){return new SetProperty(e)}static signData(e){return new SignData(e)}static signature(e){return new Signature(e)}static signing(e){return new Signing(e)}static solid(e){return new Solid(e)}static speak(e){return new Speak(e)}static stipple(e){return new Stipple(e)}static subform(e){return new Subform(e)}static subformSet(e){return new SubformSet(e)}static subjectDN(e){return new SubjectDN(e)}static subjectDNs(e){return new SubjectDNs(e)}static submit(e){return new Submit(e)}static template(e){return new Template(e)}static text(e){return new Text(e)}static textEdit(e){return new TextEdit(e)}static time(e){return new Time(e)}static timeStamp(e){return new TimeStamp(e)}static toolTip(e){return new ToolTip(e)}static traversal(e){return new Traversal(e)}static traverse(e){return new Traverse(e)}static ui(e){return new Ui(e)}static validate(e){return new Validate(e)}static value(e){return new Value(e)}static variables(e){return new Variables(e)}}t.TemplateNamespace=TemplateNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.addHTML=function addHTML(e,t,a){const i=e[r.$extra],s=i.availableSpace,[o,c,l,h]=a;switch(e.layout){case\\\"position\\\":i.width=Math.max(i.width,o+l);i.height=Math.max(i.height,c+h);i.children.push(t);break;case\\\"lr-tb\\\":case\\\"rl-tb\\\":if(!i.line||1===i.attempt){i.line=createLine(e,[]);i.children.push(i.line);i.numberInLine=0}i.numberInLine+=1;i.line.children.push(t);if(0===i.attempt){i.currentWidth+=l;i.height=Math.max(i.height,i.prevHeight+h)}else{i.currentWidth=l;i.prevHeight=i.height;i.height+=h;i.attempt=0}i.width=Math.max(i.width,i.currentWidth);break;case\\\"rl-row\\\":case\\\"row\\\":{i.children.push(t);i.width+=l;i.height=Math.max(i.height,h);const e=(0,n.measureToString)(i.height);for(const t of i.children)t.attributes.style.height=e;break}case\\\"table\\\":case\\\"tb\\\":i.width=Math.min(s.width,Math.max(i.width,l));i.height+=h;i.children.push(t)}};t.checkDimensions=function checkDimensions(e,t){if(null===e[r.$getTemplateRoot]()[r.$extra].firstUnsplittable)return!0;if(0===e.w||0===e.h)return!0;const a=e[r.$getSubformParent](),n=a[r.$extra]&&a[r.$extra].attempt||0,[,i,s,o]=function getTransformedBBox(e){let t,a,r=\\\"\\\"===e.w?NaN:e.w,n=\\\"\\\"===e.h?NaN:e.h,[i,s]=[0,0];switch(e.anchorType||\\\"\\\"){case\\\"bottomCenter\\\":[i,s]=[r/2,n];break;case\\\"bottomLeft\\\":[i,s]=[0,n];break;case\\\"bottomRight\\\":[i,s]=[r,n];break;case\\\"middleCenter\\\":[i,s]=[r/2,n/2];break;case\\\"middleLeft\\\":[i,s]=[0,n/2];break;case\\\"middleRight\\\":[i,s]=[r,n/2];break;case\\\"topCenter\\\":[i,s]=[r/2,0];break;case\\\"topRight\\\":[i,s]=[r,0]}switch(e.rotate||0){case 0:[t,a]=[-i,-s];break;case 90:[t,a]=[-s,i];[r,n]=[n,-r];break;case 180:[t,a]=[i,s];[r,n]=[-r,-n];break;case 270:[t,a]=[s,-i];[r,n]=[-n,r]}return[e.x+t+Math.min(0,r),e.y+a+Math.min(0,n),Math.abs(r),Math.abs(n)]}(e);switch(a.layout){case\\\"lr-tb\\\":case\\\"rl-tb\\\":return 0===n?e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure?\\\"\\\"!==e.w?Math.round(s-t.width)<=2:t.width>2:!(\\\"\\\"!==e.h&&Math.round(o-t.height)>2)&&(\\\"\\\"!==e.w?Math.round(s-t.width)<=2||0===a[r.$extra].numberInLine&&t.height>2:t.width>2):!!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure||!(\\\"\\\"!==e.h&&Math.round(o-t.height)>2)&&((\\\"\\\"===e.w||Math.round(s-t.width)<=2||!a[r.$isThereMoreWidth]())&&t.height>2);case\\\"table\\\":case\\\"tb\\\":return!!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure||(\\\"\\\"===e.h||e[r.$isSplittable]()?(\\\"\\\"===e.w||Math.round(s-t.width)<=2||!a[r.$isThereMoreWidth]())&&t.height>2:Math.round(o-t.height)<=2);case\\\"position\\\":if(e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure)return!0;if(\\\"\\\"===e.h||Math.round(o+i-t.height)<=2)return!0;const c=e[r.$getTemplateRoot]()[r.$extra].currentContentArea;return o+i>c.h;case\\\"rl-row\\\":case\\\"row\\\":return!!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure||(\\\"\\\"===e.h||Math.round(o-t.height)<=2);default:return!0}};t.flushHTML=function flushHTML(e){if(!e[r.$extra])return null;const t={name:\\\"div\\\",attributes:e[r.$extra].attributes,children:e[r.$extra].children};if(e[r.$extra].failingNode){const a=e[r.$extra].failingNode[r.$flushHTML]();a&&(e.layout.endsWith(\\\"-tb\\\")?t.children.push(createLine(e,[a])):t.children.push(a))}if(0===t.children.length)return null;return t};t.getAvailableSpace=function getAvailableSpace(e){const t=e[r.$extra].availableSpace,a=e.margin?e.margin.topInset+e.margin.bottomInset:0,n=e.margin?e.margin.leftInset+e.margin.rightInset:0;switch(e.layout){case\\\"lr-tb\\\":case\\\"rl-tb\\\":return 0===e[r.$extra].attempt?{width:t.width-n-e[r.$extra].currentWidth,height:t.height-a-e[r.$extra].prevHeight}:{width:t.width-n,height:t.height-a-e[r.$extra].height};case\\\"rl-row\\\":case\\\"row\\\":return{width:e[r.$extra].columnWidths.slice(e[r.$extra].currentColumn).reduce(((e,t)=>e+t)),height:t.height-n};case\\\"table\\\":case\\\"tb\\\":return{width:t.width-n,height:t.height-a-e[r.$extra].height};default:return t}};var r=a(77),n=a(84);function createLine(e,t){return{name:\\\"div\\\",attributes:{class:[\\\"lr-tb\\\"===e.layout?\\\"xfaLr\\\":\\\"xfaRl\\\"]},children:t}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.computeBbox=function computeBbox(e,t,a){let n;if(\\\"\\\"!==e.w&&\\\"\\\"!==e.h)n=[e.x,e.y,e.w,e.h];else{if(!a)return null;let i=e.w;if(\\\"\\\"===i){if(0===e.maxW){const t=e[r.$getSubformParent]();i=\\\"position\\\"===t.layout&&\\\"\\\"!==t.w?0:e.minW}else i=Math.min(e.maxW,a.width);t.attributes.style.width=measureToString(i)}let s=e.h;if(\\\"\\\"===s){if(0===e.maxH){const t=e[r.$getSubformParent]();s=\\\"position\\\"===t.layout&&\\\"\\\"!==t.h?0:e.minH}else s=Math.min(e.maxH,a.height);t.attributes.style.height=measureToString(s)}n=[e.x,e.y,i,s]}return n};t.createWrapper=function createWrapper(e,t){const{attributes:a}=t,{style:n}=a,i={name:\\\"div\\\",attributes:{class:[\\\"xfaWrapper\\\"],style:Object.create(null)},children:[]};a.class.push(\\\"xfaWrapped\\\");if(e.border){const{widths:a,insets:s}=e.border[r.$extra];let o,c,l=s[0],h=s[3];const u=s[0]+s[2],d=s[1]+s[3];switch(e.border.hand){case\\\"even\\\":l-=a[0]/2;h-=a[3]/2;o=`calc(100% + ${(a[1]+a[3])/2-d}px)`;c=`calc(100% + ${(a[0]+a[2])/2-u}px)`;break;case\\\"left\\\":l-=a[0];h-=a[3];o=`calc(100% + ${a[1]+a[3]-d}px)`;c=`calc(100% + ${a[0]+a[2]-u}px)`;break;case\\\"right\\\":o=d?`calc(100% - ${d}px)`:\\\"100%\\\";c=u?`calc(100% - ${u}px)`:\\\"100%\\\"}const f=[\\\"xfaBorder\\\"];isPrintOnly(e.border)&&f.push(\\\"xfaPrintOnly\\\");const g={name:\\\"div\\\",attributes:{class:f,style:{top:`${l}px`,left:`${h}px`,width:o,height:c}},children:[]};for(const e of[\\\"border\\\",\\\"borderWidth\\\",\\\"borderColor\\\",\\\"borderRadius\\\",\\\"borderStyle\\\"])if(void 0!==n[e]){g.attributes.style[e]=n[e];delete n[e]}i.children.push(g,t)}else i.children.push(t);for(const e of[\\\"background\\\",\\\"backgroundClip\\\",\\\"top\\\",\\\"left\\\",\\\"width\\\",\\\"height\\\",\\\"minWidth\\\",\\\"minHeight\\\",\\\"maxWidth\\\",\\\"maxHeight\\\",\\\"transform\\\",\\\"transformOrigin\\\",\\\"visibility\\\"])if(void 0!==n[e]){i.attributes.style[e]=n[e];delete n[e]}\\\"absolute\\\"===n.position?i.attributes.style.position=\\\"absolute\\\":i.attributes.style.position=\\\"relative\\\";delete n.position;if(n.alignSelf){i.attributes.style.alignSelf=n.alignSelf;delete n.alignSelf}return i};t.fixDimensions=function fixDimensions(e){const t=e[r.$getSubformParent]();if(t.layout&&t.layout.includes(\\\"row\\\")){const a=t[r.$extra],n=e.colSpan;let i;i=-1===n?a.columnWidths.slice(a.currentColumn).reduce(((e,t)=>e+t),0):a.columnWidths.slice(a.currentColumn,a.currentColumn+n).reduce(((e,t)=>e+t),0);isNaN(i)||(e.w=i)}t.layout&&\\\"position\\\"!==t.layout&&(e.x=e.y=0);\\\"table\\\"===e.layout&&\\\"\\\"===e.w&&Array.isArray(e.columnWidths)&&(e.w=e.columnWidths.reduce(((e,t)=>e+t),0))};t.fixTextIndent=function fixTextIndent(e){const t=(0,i.getMeasurement)(e.textIndent,\\\"0px\\\");if(t>=0)return;const a=\\\"padding\\\"+(\\\"left\\\"==(\\\"right\\\"===e.textAlign?\\\"right\\\":\\\"left\\\")?\\\"Left\\\":\\\"Right\\\"),r=(0,i.getMeasurement)(e[a],\\\"0px\\\");e[a]=r-t+\\\"px\\\"};t.fixURL=function fixURL(e){const t=(0,n.createValidAbsoluteUrl)(e,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t?t.href:null};t.isPrintOnly=isPrintOnly;t.layoutClass=function layoutClass(e){switch(e.layout){case\\\"position\\\":default:return\\\"xfaPosition\\\";case\\\"lr-tb\\\":return\\\"xfaLrTb\\\";case\\\"rl-row\\\":return\\\"xfaRlRow\\\";case\\\"rl-tb\\\":return\\\"xfaRlTb\\\";case\\\"row\\\":return\\\"xfaRow\\\";case\\\"table\\\":return\\\"xfaTable\\\";case\\\"tb\\\":return\\\"xfaTb\\\"}};t.layoutNode=function layoutNode(e,t){let a=null,n=null,i=!1;if((!e.w||!e.h)&&e.value){let s=0,o=0;if(e.margin){s=e.margin.leftInset+e.margin.rightInset;o=e.margin.topInset+e.margin.bottomInset}let c=null,l=null;if(e.para){l=Object.create(null);c=\\\"\\\"===e.para.lineHeight?null:e.para.lineHeight;l.top=\\\"\\\"===e.para.spaceAbove?0:e.para.spaceAbove;l.bottom=\\\"\\\"===e.para.spaceBelow?0:e.para.spaceBelow;l.left=\\\"\\\"===e.para.marginLeft?0:e.para.marginLeft;l.right=\\\"\\\"===e.para.marginRight?0:e.para.marginRight}let h=e.font;if(!h){const t=e[r.$getTemplateRoot]();let a=e[r.$getParent]();for(;a&&a!==t;){if(a.font){h=a.font;break}a=a[r.$getParent]()}}const u=(e.w?e.w:t.width)-s,d=e[r.$globalData].fontFinder;if(e.value.exData&&e.value.exData[r.$content]&&\\\"text/html\\\"===e.value.exData.contentType){const t=layoutText(e.value.exData[r.$content],h,l,c,d,u);n=t.width;a=t.height;i=t.isBroken}else{const t=e.value[r.$text]();if(t){const e=layoutText(t,h,l,c,d,u);n=e.width;a=e.height;i=e.isBroken}}null===n||e.w||(n+=s);null===a||e.h||(a+=o)}return{w:n,h:a,isBroken:i}};t.measureToString=measureToString;t.setAccess=function setAccess(e,t){switch(e.access){case\\\"nonInteractive\\\":t.push(\\\"xfaNonInteractive\\\");break;case\\\"readOnly\\\":t.push(\\\"xfaReadOnly\\\");break;case\\\"protected\\\":t.push(\\\"xfaDisabled\\\")}};t.setFontFamily=function setFontFamily(e,t,a,r){if(!a){delete r.fontFamily;return}const n=(0,i.stripQuotes)(e.typeface);r.fontFamily=`\\\"${n}\\\"`;const o=a.find(n);if(o){const{fontFamily:a}=o.regular.cssFontInfo;a!==n&&(r.fontFamily=`\\\"${a}\\\"`);const i=getCurrentPara(t);if(i&&\\\"\\\"!==i.lineHeight)return;if(r.lineHeight)return;const c=(0,s.selectFont)(e,o);c&&(r.lineHeight=Math.max(1.2,c.lineHeight))}};t.setMinMaxDimensions=function setMinMaxDimensions(e,t){if(\\\"position\\\"===e[r.$getSubformParent]().layout){e.minW>0&&(t.minWidth=measureToString(e.minW));e.maxW>0&&(t.maxWidth=measureToString(e.maxW));e.minH>0&&(t.minHeight=measureToString(e.minH));e.maxH>0&&(t.maxHeight=measureToString(e.maxH))}};t.setPara=function setPara(e,t,a){if(a.attributes.class&&a.attributes.class.includes(\\\"xfaRich\\\")){if(t){\\\"\\\"===e.h&&(t.height=\\\"auto\\\");\\\"\\\"===e.w&&(t.width=\\\"auto\\\")}const n=getCurrentPara(e);if(n){const e=a.attributes.style;e.display=\\\"flex\\\";e.flexDirection=\\\"column\\\";switch(n.vAlign){case\\\"top\\\":e.justifyContent=\\\"start\\\";break;case\\\"bottom\\\":e.justifyContent=\\\"end\\\";break;case\\\"middle\\\":e.justifyContent=\\\"center\\\"}const t=n[r.$toStyle]();for(const[a,r]of Object.entries(t))a in e||(e[a]=r)}}};t.toStyle=function toStyle(e,...t){const a=Object.create(null);for(const i of t){const t=e[i];if(null!==t)if(c.hasOwnProperty(i))c[i](e,a);else if(t instanceof r.XFAObject){const e=t[r.$toStyle]();e?Object.assign(a,e):(0,n.warn)(`(DEBUG) - XFA - style for ${i} not implemented yet`)}}return a};var r=a(77),n=a(2),i=a(78),s=a(85),o=a(86);function measureToString(e){return\\\"string\\\"==typeof e?\\\"0px\\\":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const c={anchorType(e,t){const a=e[r.$getSubformParent]();if(a&&(!a.layout||\\\"position\\\"===a.layout)){\\\"transform\\\"in t||(t.transform=\\\"\\\");switch(e.anchorType){case\\\"bottomCenter\\\":t.transform+=\\\"translate(-50%, -100%)\\\";break;case\\\"bottomLeft\\\":t.transform+=\\\"translate(0,-100%)\\\";break;case\\\"bottomRight\\\":t.transform+=\\\"translate(-100%,-100%)\\\";break;case\\\"middleCenter\\\":t.transform+=\\\"translate(-50%,-50%)\\\";break;case\\\"middleLeft\\\":t.transform+=\\\"translate(0,-50%)\\\";break;case\\\"middleRight\\\":t.transform+=\\\"translate(-100%,-50%)\\\";break;case\\\"topCenter\\\":t.transform+=\\\"translate(-50%,0)\\\";break;case\\\"topRight\\\":t.transform+=\\\"translate(-100%,0)\\\"}}},dimensions(e,t){const a=e[r.$getSubformParent]();let n=e.w;const i=e.h;if(a.layout&&a.layout.includes(\\\"row\\\")){const t=a[r.$extra],i=e.colSpan;let s;if(-1===i){s=t.columnWidths.slice(t.currentColumn).reduce(((e,t)=>e+t),0);t.currentColumn=0}else{s=t.columnWidths.slice(t.currentColumn,t.currentColumn+i).reduce(((e,t)=>e+t),0);t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length}isNaN(s)||(n=e.w=s)}t.width=\\\"\\\"!==n?measureToString(n):\\\"auto\\\";t.height=\\\"\\\"!==i?measureToString(i):\\\"auto\\\"},position(e,t){const a=e[r.$getSubformParent]();if(!a||!a.layout||\\\"position\\\"===a.layout){t.position=\\\"absolute\\\";t.left=measureToString(e.x);t.top=measureToString(e.y)}},rotate(e,t){if(e.rotate){\\\"transform\\\"in t||(t.transform=\\\"\\\");t.transform+=`rotate(-${e.rotate}deg)`;t.transformOrigin=\\\"top left\\\"}},presence(e,t){switch(e.presence){case\\\"invisible\\\":t.visibility=\\\"hidden\\\";break;case\\\"hidden\\\":case\\\"inactive\\\":t.display=\\\"none\\\"}},hAlign(e,t){if(\\\"para\\\"===e[r.$nodeName])switch(e.hAlign){case\\\"justifyAll\\\":t.textAlign=\\\"justify-all\\\";break;case\\\"radix\\\":t.textAlign=\\\"left\\\";break;default:t.textAlign=e.hAlign}else switch(e.hAlign){case\\\"left\\\":t.alignSelf=\\\"start\\\";break;case\\\"center\\\":t.alignSelf=\\\"center\\\";break;case\\\"right\\\":t.alignSelf=\\\"end\\\"}},margin(e,t){e.margin&&(t.margin=e.margin[r.$toStyle]().margin)}};function layoutText(e,t,a,n,i,s){const c=new o.TextMeasure(t,a,n,i);\\\"string\\\"==typeof e?c.addString(e):e[r.$pushGlyphs](c);return c.compute(s)}function isPrintOnly(e){return e.relevant.length>0&&!e.relevant[0].excluded&&\\\"print\\\"===e.relevant[0].viewname}function getCurrentPara(e){const t=e[r.$getTemplateRoot]()[r.$extra].paraStack;return t.length?t[t.length-1]:null}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.FontFinder=void 0;t.getMetrics=function getMetrics(e,t=!1){let a=null;if(e){const t=(0,n.stripQuotes)(e.typeface),i=e[r.$globalData].fontFinder.find(t);a=selectFont(e,i)}if(!a)return{lineHeight:12,lineGap:2,lineNoGap:10};const i=e.size||10,s=a.lineHeight?Math.max(t?0:1.2,a.lineHeight):1.2,o=void 0===a.lineGap?.2:a.lineGap;return{lineHeight:s*i,lineGap:o*i,lineNoGap:Math.max(1,s-o)*i}};t.selectFont=selectFont;var r=a(77),n=a(78),i=a(2);t.FontFinder=class FontFinder{constructor(e){this.fonts=new Map;this.cache=new Map;this.warned=new Set;this.defaultFont=null;this.add(e)}add(e,t=null){for(const t of e)this.addPdfFont(t);for(const e of this.fonts.values())e.regular||(e.regular=e.italic||e.bold||e.bolditalic);if(!t||0===t.size)return;const a=this.fonts.get(\\\"PdfJS-Fallback-PdfJS-XFA\\\");for(const e of t)this.fonts.set(e,a)}addPdfFont(e){const t=e.cssFontInfo,a=t.fontFamily;let r=this.fonts.get(a);if(!r){r=Object.create(null);this.fonts.set(a,r);this.defaultFont||(this.defaultFont=r)}let n=\\\"\\\";const i=parseFloat(t.fontWeight);0!==parseFloat(t.italicAngle)?n=i>=700?\\\"bolditalic\\\":\\\"italic\\\":i>=700&&(n=\\\"bold\\\");if(!n){(e.name.includes(\\\"Bold\\\")||e.psName&&e.psName.includes(\\\"Bold\\\"))&&(n=\\\"bold\\\");(e.name.includes(\\\"Italic\\\")||e.name.endsWith(\\\"It\\\")||e.psName&&(e.psName.includes(\\\"Italic\\\")||e.psName.endsWith(\\\"It\\\")))&&(n+=\\\"italic\\\")}n||(n=\\\"regular\\\");r[n]=e}getDefault(){return this.defaultFont}find(e,t=!0){let a=this.fonts.get(e)||this.cache.get(e);if(a)return a;const r=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let n=e.replace(r,\\\"\\\");a=this.fonts.get(n);if(a){this.cache.set(e,a);return a}n=n.toLowerCase();const s=[];for(const[e,t]of this.fonts.entries())e.replace(r,\\\"\\\").toLowerCase().startsWith(n)&&s.push(t);if(0===s.length)for(const[,e]of this.fonts.entries())e.regular.name&&e.regular.name.replace(r,\\\"\\\").toLowerCase().startsWith(n)&&s.push(e);if(0===s.length){n=n.replace(/psmt|mt/gi,\\\"\\\");for(const[e,t]of this.fonts.entries())e.replace(r,\\\"\\\").toLowerCase().startsWith(n)&&s.push(t)}if(0===s.length)for(const e of this.fonts.values())e.regular.name&&e.regular.name.replace(r,\\\"\\\").toLowerCase().startsWith(n)&&s.push(e);if(s.length>=1){1!==s.length&&t&&(0,i.warn)(`XFA - Too many choices to guess the correct font: ${e}`);this.cache.set(e,s[0]);return s[0]}if(t&&!this.warned.has(e)){this.warned.add(e);(0,i.warn)(`XFA - Cannot find the font: ${e}`)}return null}};function selectFont(e,t){return\\\"italic\\\"===e.posture?\\\"bold\\\"===e.weight?t.bolditalic:t.italic:\\\"bold\\\"===e.weight?t.bold:t.regular}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.TextMeasure=void 0;var r=a(85);class FontInfo{constructor(e,t,a,n){this.lineHeight=a;this.paraMargin=t||{top:0,bottom:0,left:0,right:0};if(!e){[this.pdfFont,this.xfaFont]=this.defaultFont(n);return}this.xfaFont={typeface:e.typeface,posture:e.posture,weight:e.weight,size:e.size,letterSpacing:e.letterSpacing};const i=n.find(e.typeface);if(i){this.pdfFont=(0,r.selectFont)(e,i);this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(n))}else[this.pdfFont,this.xfaFont]=this.defaultFont(n)}defaultFont(e){const t=e.find(\\\"Helvetica\\\",!1)||e.find(\\\"Myriad Pro\\\",!1)||e.find(\\\"Arial\\\",!1)||e.getDefault();if(t&&t.regular){const e=t.regular;return[e,{typeface:e.cssFontInfo.fontFamily,posture:\\\"normal\\\",weight:\\\"normal\\\",size:10,letterSpacing:0}]}return[null,{typeface:\\\"Courier\\\",posture:\\\"normal\\\",weight:\\\"normal\\\",size:10,letterSpacing:0}]}}class FontSelector{constructor(e,t,a,r){this.fontFinder=r;this.stack=[new FontInfo(e,t,a,r)]}pushData(e,t,a){const r=this.stack[this.stack.length-1];for(const t of[\\\"typeface\\\",\\\"posture\\\",\\\"weight\\\",\\\"size\\\",\\\"letterSpacing\\\"])e[t]||(e[t]=r.xfaFont[t]);for(const e of[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"])isNaN(t[e])&&(t[e]=r.paraMargin[e]);const n=new FontInfo(e,t,a||r.lineHeight,this.fontFinder);n.pdfFont||(n.pdfFont=r.pdfFont);this.stack.push(n)}popFont(){this.stack.pop()}topFont(){return this.stack[this.stack.length-1]}}t.TextMeasure=class TextMeasure{constructor(e,t,a,r){this.glyphs=[];this.fontSelector=new FontSelector(e,t,a,r);this.extraHeight=0}pushData(e,t,a){this.fontSelector.pushData(e,t,a)}popFont(e){return this.fontSelector.popFont()}addPara(){const e=this.fontSelector.topFont();this.extraHeight+=e.paraMargin.top+e.paraMargin.bottom}addString(e){if(!e)return;const t=this.fontSelector.topFont(),a=t.xfaFont.size;if(t.pdfFont){const r=t.xfaFont.letterSpacing,n=t.pdfFont,i=n.lineHeight||1.2,s=t.lineHeight||Math.max(1.2,i)*a,o=i-(void 0===n.lineGap?.2:n.lineGap),c=Math.max(1,o)*a,l=a/1e3,h=n.defaultWidth||n.charsToGlyphs(\\\" \\\")[0].width;for(const t of e.split(/[\\\\u2029\\\\n]/)){const e=n.encodeString(t).join(\\\"\\\"),a=n.charsToGlyphs(e);for(const e of a){const t=e.width||h;this.glyphs.push([t*l+r,s,c,e.unicode,!1])}this.glyphs.push([0,0,0,\\\"\\\\n\\\",!0])}this.glyphs.pop()}else{for(const t of e.split(/[\\\\u2029\\\\n]/)){for(const e of t.split(\\\"\\\"))this.glyphs.push([a,1.2*a,a,e,!1]);this.glyphs.push([0,0,0,\\\"\\\\n\\\",!0])}this.glyphs.pop()}}compute(e){let t=-1,a=0,r=0,n=0,i=0,s=0,o=!1,c=!0;for(let l=0,h=this.glyphs.length;le){r=Math.max(r,i);i=0;n+=s;s=m;t=-1;a=0;o=!0;c=!1}else{s=Math.max(m,s);a=i;i+=h;t=l}else if(i+h>e){n+=s;s=m;if(-1!==t){l=t;r=Math.max(r,a);i=0;t=-1;a=0}else{r=Math.max(r,i);i=h}o=!0;c=!1}else{i+=h;s=Math.max(m,s)}}r=Math.max(r,i);n+=s+this.extraHeight;return{width:1.02*r,height:n,isBroken:o}}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.DataHandler=void 0;var r=a(77);t.DataHandler=class DataHandler{constructor(e,t){this.data=t;this.dataset=e.datasets||null}serialize(e){const t=[[-1,this.data[r.$getChildren]()]];for(;t.length>0;){const a=t[t.length-1],[n,i]=a;if(n+1===i.length){t.pop();continue}const s=i[++a[0]],o=e.get(s[r.$uid]);if(o)s[r.$setValue](o);else{const t=s[r.$getAttributes]();for(const a of t.values()){const t=e.get(a[r.$uid]);if(t){a[r.$setValue](t);break}}}const c=s[r.$getChildren]();c.length>0&&t.push([-1,c])}const a=[''];if(this.dataset)for(const e of this.dataset[r.$getChildren]())\\\"data\\\"!==e[r.$nodeName]&&e[r.$toString](a);this.data[r.$toString](a);a.push(\\\"\\\");return a.join(\\\"\\\")}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XFAParser=void 0;var r=a(77),n=a(70),i=a(89),s=a(2);class XFAParser extends n.XMLParserBase{constructor(e=null,t=!1){super();this._builder=new i.Builder(e);this._stack=[];this._globalData={usedTypefaces:new Set};this._ids=new Map;this._current=this._builder.buildRoot(this._ids);this._errorCode=n.XMLParserErrorCode.NoError;this._whiteRegex=/^\\\\s+$/;this._nbsps=/\\\\xa0+/g;this._richText=t}parse(e){this.parseXml(e);if(this._errorCode===n.XMLParserErrorCode.NoError){this._current[r.$finalize]();return this._current.element}}onText(e){e=e.replace(this._nbsps,(e=>e.slice(1)+\\\" \\\"));this._richText||this._current[r.$acceptWhitespace]()?this._current[r.$onText](e,this._richText):this._whiteRegex.test(e)||this._current[r.$onText](e.trim())}onCdata(e){this._current[r.$onText](e)}_mkAttributes(e,t){let a=null,n=null;const i=Object.create({});for(const{name:o,value:c}of e)if(\\\"xmlns\\\"===o)a?(0,s.warn)(`XFA - multiple namespace definition in <${t}>`):a=c;else if(o.startsWith(\\\"xmlns:\\\")){const e=o.substring(\\\"xmlns:\\\".length);n||(n=[]);n.push({prefix:e,value:c})}else{const e=o.indexOf(\\\":\\\");if(-1===e)i[o]=c;else{let t=i[r.$nsAttributes];t||(t=i[r.$nsAttributes]=Object.create(null));const[a,n]=[o.slice(0,e),o.slice(e+1)];let s=t[a];s||(s=t[a]=Object.create(null));s[n]=c}}return[a,n,i]}_getNameAndPrefix(e,t){const a=e.indexOf(\\\":\\\");return-1===a?[e,null]:[e.substring(a+1),t?\\\"\\\":e.substring(0,a)]}onBeginElement(e,t,a){const[n,i,s]=this._mkAttributes(t,e),[o,c]=this._getNameAndPrefix(e,this._builder.isNsAgnostic()),l=this._builder.build({nsPrefix:c,name:o,attributes:s,namespace:n,prefixes:i});l[r.$globalData]=this._globalData;if(a){l[r.$finalize]();this._current[r.$onChild](l)&&l[r.$setId](this._ids);l[r.$clean](this._builder)}else{this._stack.push(this._current);this._current=l}}onEndElement(e){const t=this._current;if(t[r.$isCDATAXml]()&&\\\"string\\\"==typeof t[r.$content]){const e=new XFAParser;e._globalData=this._globalData;const a=e.parse(t[r.$content]);t[r.$content]=null;t[r.$onChild](a)}t[r.$finalize]();this._current=this._stack.pop();this._current[r.$onChild](t)&&t[r.$setId](this._ids);t[r.$clean](this._builder)}onError(e){this._errorCode=e}}t.XFAParser=XFAParser},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.Builder=void 0;var r=a(79),n=a(77),i=a(90),s=a(82),o=a(99),c=a(2);class Root extends n.XFAObject{constructor(e){super(-1,\\\"root\\\",Object.create(null));this.element=null;this[n.$ids]=e}[n.$onChild](e){this.element=e;return!0}[n.$finalize](){super[n.$finalize]();if(this.element.template instanceof s.Template){this[n.$ids].set(n.$root,this.element);this.element.template[n.$resolvePrototypes](this[n.$ids]);this.element.template[n.$ids]=this[n.$ids]}}}class Empty extends n.XFAObject{constructor(){super(-1,\\\"\\\",Object.create(null))}[n.$onChild](e){return!1}}t.Builder=class Builder{constructor(e=null){this._namespaceStack=[];this._nsAgnosticLevel=0;this._namespacePrefixes=new Map;this._namespaces=new Map;this._nextNsId=Math.max(...Object.values(r.NamespaceIds).map((({id:e})=>e)));this._currentNamespace=e||new o.UnknownNamespace(++this._nextNsId)}buildRoot(e){return new Root(e)}build({nsPrefix:e,name:t,attributes:a,namespace:s,prefixes:o}){const c=null!==s;if(c){this._namespaceStack.push(this._currentNamespace);this._currentNamespace=this._searchNamespace(s)}o&&this._addNamespacePrefix(o);if(a.hasOwnProperty(n.$nsAttributes)){const e=i.NamespaceSetUp.datasets,t=a[n.$nsAttributes];let r=null;for(const[a,n]of Object.entries(t)){if(this._getNamespaceToUse(a)===e){r={xfa:n};break}}r?a[n.$nsAttributes]=r:delete a[n.$nsAttributes]}const l=this._getNamespaceToUse(e),h=l&&l[r.$buildXFAObject](t,a)||new Empty;h[n.$isNsAgnostic]()&&this._nsAgnosticLevel++;(c||o||h[n.$isNsAgnostic]())&&(h[n.$cleanup]={hasNamespace:c,prefixes:o,nsAgnostic:h[n.$isNsAgnostic]()});return h}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[a,{check:n}]of Object.entries(r.NamespaceIds))if(n(e)){t=i.NamespaceSetUp[a];if(t){this._namespaces.set(e,t);return t}break}t=new o.UnknownNamespace(++this._nextNsId);this._namespaces.set(e,t);return t}_addNamespacePrefix(e){for(const{prefix:t,value:a}of e){const e=this._searchNamespace(a);let r=this._namespacePrefixes.get(t);if(!r){r=[];this._namespacePrefixes.set(t,r)}r.push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);if(t&&t.length>0)return t[t.length-1];(0,c.warn)(`Unknown namespace prefix: ${e}.`);return null}clean(e){const{hasNamespace:t,prefixes:a,nsAgnostic:r}=e;t&&(this._currentNamespace=this._namespaceStack.pop());a&&a.forEach((({prefix:e})=>{this._namespacePrefixes.get(e).pop()}));r&&this._nsAgnosticLevel--}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.NamespaceSetUp=void 0;var r=a(91),n=a(92),i=a(93),s=a(94),o=a(95),c=a(96),l=a(82),h=a(97),u=a(98);const d={config:r.ConfigNamespace,connection:n.ConnectionSetNamespace,datasets:i.DatasetsNamespace,localeSet:s.LocaleSetNamespace,signature:o.SignatureNamespace,stylesheet:c.StylesheetNamespace,template:l.TemplateNamespace,xdp:h.XdpNamespace,xhtml:u.XhtmlNamespace};t.NamespaceSetUp=d},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ConfigNamespace=void 0;var r=a(79),n=a(77),i=a(78),s=a(2);const o=r.NamespaceIds.config.id;class Acrobat extends n.XFAObject{constructor(e){super(o,\\\"acrobat\\\",!0);this.acrobat7=null;this.autoSave=null;this.common=null;this.validate=null;this.validateApprovalSignatures=null;this.submitUrl=new n.XFAObjectArray}}class Acrobat7 extends n.XFAObject{constructor(e){super(o,\\\"acrobat7\\\",!0);this.dynamicRender=null}}class ADBE_JSConsole extends n.OptionObject{constructor(e){super(o,\\\"ADBE_JSConsole\\\",[\\\"delegate\\\",\\\"Enable\\\",\\\"Disable\\\"])}}class ADBE_JSDebugger extends n.OptionObject{constructor(e){super(o,\\\"ADBE_JSDebugger\\\",[\\\"delegate\\\",\\\"Enable\\\",\\\"Disable\\\"])}}class AddSilentPrint extends n.Option01{constructor(e){super(o,\\\"addSilentPrint\\\")}}class AddViewerPreferences extends n.Option01{constructor(e){super(o,\\\"addViewerPreferences\\\")}}class AdjustData extends n.Option10{constructor(e){super(o,\\\"adjustData\\\")}}class AdobeExtensionLevel extends n.IntegerObject{constructor(e){super(o,\\\"adobeExtensionLevel\\\",0,(e=>e>=1&&e<=8))}}class Agent extends n.XFAObject{constructor(e){super(o,\\\"agent\\\",!0);this.name=e.name?e.name.trim():\\\"\\\";this.common=new n.XFAObjectArray}}class AlwaysEmbed extends n.ContentObject{constructor(e){super(o,\\\"alwaysEmbed\\\")}}class Amd extends n.StringObject{constructor(e){super(o,\\\"amd\\\")}}class Area extends n.XFAObject{constructor(e){super(o,\\\"area\\\");this.level=(0,i.getInteger)({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3});this.name=(0,i.getStringOption)(e.name,[\\\"\\\",\\\"barcode\\\",\\\"coreinit\\\",\\\"deviceDriver\\\",\\\"font\\\",\\\"general\\\",\\\"layout\\\",\\\"merge\\\",\\\"script\\\",\\\"signature\\\",\\\"sourceSet\\\",\\\"templateCache\\\"])}}class Attributes extends n.OptionObject{constructor(e){super(o,\\\"attributes\\\",[\\\"preserve\\\",\\\"delegate\\\",\\\"ignore\\\"])}}class AutoSave extends n.OptionObject{constructor(e){super(o,\\\"autoSave\\\",[\\\"disabled\\\",\\\"enabled\\\"])}}class Base extends n.StringObject{constructor(e){super(o,\\\"base\\\")}}class BatchOutput extends n.XFAObject{constructor(e){super(o,\\\"batchOutput\\\");this.format=(0,i.getStringOption)(e.format,[\\\"none\\\",\\\"concat\\\",\\\"zip\\\",\\\"zipCompress\\\"])}}class BehaviorOverride extends n.ContentObject{constructor(e){super(o,\\\"behaviorOverride\\\")}[n.$finalize](){this[n.$content]=new Map(this[n.$content].trim().split(/\\\\s+/).filter((e=>e.includes(\\\":\\\"))).map((e=>e.split(\\\":\\\",2))))}}class Cache extends n.XFAObject{constructor(e){super(o,\\\"cache\\\",!0);this.templateCache=null}}class Change extends n.Option01{constructor(e){super(o,\\\"change\\\")}}class Common extends n.XFAObject{constructor(e){super(o,\\\"common\\\",!0);this.data=null;this.locale=null;this.localeSet=null;this.messaging=null;this.suppressBanner=null;this.template=null;this.validationMessaging=null;this.versionControl=null;this.log=new n.XFAObjectArray}}class Compress extends n.XFAObject{constructor(e){super(o,\\\"compress\\\");this.scope=(0,i.getStringOption)(e.scope,[\\\"imageOnly\\\",\\\"document\\\"])}}class CompressLogicalStructure extends n.Option01{constructor(e){super(o,\\\"compressLogicalStructure\\\")}}class CompressObjectStream extends n.Option10{constructor(e){super(o,\\\"compressObjectStream\\\")}}class Compression extends n.XFAObject{constructor(e){super(o,\\\"compression\\\",!0);this.compressLogicalStructure=null;this.compressObjectStream=null;this.level=null;this.type=null}}class Config extends n.XFAObject{constructor(e){super(o,\\\"config\\\",!0);this.acrobat=null;this.present=null;this.trace=null;this.agent=new n.XFAObjectArray}}class Conformance extends n.OptionObject{constructor(e){super(o,\\\"conformance\\\",[\\\"A\\\",\\\"B\\\"])}}class ContentCopy extends n.Option01{constructor(e){super(o,\\\"contentCopy\\\")}}class Copies extends n.IntegerObject{constructor(e){super(o,\\\"copies\\\",1,(e=>e>=1))}}class Creator extends n.StringObject{constructor(e){super(o,\\\"creator\\\")}}class CurrentPage extends n.IntegerObject{constructor(e){super(o,\\\"currentPage\\\",0,(e=>e>=0))}}class Data extends n.XFAObject{constructor(e){super(o,\\\"data\\\",!0);this.adjustData=null;this.attributes=null;this.incrementalLoad=null;this.outputXSL=null;this.range=null;this.record=null;this.startNode=null;this.uri=null;this.window=null;this.xsl=null;this.excludeNS=new n.XFAObjectArray;this.transform=new n.XFAObjectArray}}class Debug extends n.XFAObject{constructor(e){super(o,\\\"debug\\\",!0);this.uri=null}}class DefaultTypeface extends n.ContentObject{constructor(e){super(o,\\\"defaultTypeface\\\");this.writingScript=(0,i.getStringOption)(e.writingScript,[\\\"*\\\",\\\"Arabic\\\",\\\"Cyrillic\\\",\\\"EastEuropeanRoman\\\",\\\"Greek\\\",\\\"Hebrew\\\",\\\"Japanese\\\",\\\"Korean\\\",\\\"Roman\\\",\\\"SimplifiedChinese\\\",\\\"Thai\\\",\\\"TraditionalChinese\\\",\\\"Vietnamese\\\"])}}class Destination extends n.OptionObject{constructor(e){super(o,\\\"destination\\\",[\\\"pdf\\\",\\\"pcl\\\",\\\"ps\\\",\\\"webClient\\\",\\\"zpl\\\"])}}class DocumentAssembly extends n.Option01{constructor(e){super(o,\\\"documentAssembly\\\")}}class Driver extends n.XFAObject{constructor(e){super(o,\\\"driver\\\",!0);this.name=e.name?e.name.trim():\\\"\\\";this.fontInfo=null;this.xdc=null}}class DuplexOption extends n.OptionObject{constructor(e){super(o,\\\"duplexOption\\\",[\\\"simplex\\\",\\\"duplexFlipLongEdge\\\",\\\"duplexFlipShortEdge\\\"])}}class DynamicRender extends n.OptionObject{constructor(e){super(o,\\\"dynamicRender\\\",[\\\"forbidden\\\",\\\"required\\\"])}}class Embed extends n.Option01{constructor(e){super(o,\\\"embed\\\")}}class Encrypt extends n.Option01{constructor(e){super(o,\\\"encrypt\\\")}}class Encryption extends n.XFAObject{constructor(e){super(o,\\\"encryption\\\",!0);this.encrypt=null;this.encryptionLevel=null;this.permissions=null}}class EncryptionLevel extends n.OptionObject{constructor(e){super(o,\\\"encryptionLevel\\\",[\\\"40bit\\\",\\\"128bit\\\"])}}class Enforce extends n.StringObject{constructor(e){super(o,\\\"enforce\\\")}}class Equate extends n.XFAObject{constructor(e){super(o,\\\"equate\\\");this.force=(0,i.getInteger)({data:e.force,defaultValue:1,validate:e=>0===e});this.from=e.from||\\\"\\\";this.to=e.to||\\\"\\\"}}class EquateRange extends n.XFAObject{constructor(e){super(o,\\\"equateRange\\\");this.from=e.from||\\\"\\\";this.to=e.to||\\\"\\\";this._unicodeRange=e.unicodeRange||\\\"\\\"}get unicodeRange(){const e=[],t=/U\\\\+([0-9a-fA-F]+)/,a=this._unicodeRange;for(let r of a.split(\\\",\\\").map((e=>e.trim())).filter((e=>!!e))){r=r.split(\\\"-\\\",2).map((e=>{const a=e.match(t);return a?parseInt(a[1],16):0}));1===r.length&&r.push(r[0]);e.push(r)}return(0,s.shadow)(this,\\\"unicodeRange\\\",e)}}class Exclude extends n.ContentObject{constructor(e){super(o,\\\"exclude\\\")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\\\\s+/).filter((e=>e&&[\\\"calculate\\\",\\\"close\\\",\\\"enter\\\",\\\"exit\\\",\\\"initialize\\\",\\\"ready\\\",\\\"validate\\\"].includes(e)))}}class ExcludeNS extends n.StringObject{constructor(e){super(o,\\\"excludeNS\\\")}}class FlipLabel extends n.OptionObject{constructor(e){super(o,\\\"flipLabel\\\",[\\\"usePrinterSetting\\\",\\\"on\\\",\\\"off\\\"])}}class FontInfo extends n.XFAObject{constructor(e){super(o,\\\"fontInfo\\\",!0);this.embed=null;this.map=null;this.subsetBelow=null;this.alwaysEmbed=new n.XFAObjectArray;this.defaultTypeface=new n.XFAObjectArray;this.neverEmbed=new n.XFAObjectArray}}class FormFieldFilling extends n.Option01{constructor(e){super(o,\\\"formFieldFilling\\\")}}class GroupParent extends n.StringObject{constructor(e){super(o,\\\"groupParent\\\")}}class IfEmpty extends n.OptionObject{constructor(e){super(o,\\\"ifEmpty\\\",[\\\"dataValue\\\",\\\"dataGroup\\\",\\\"ignore\\\",\\\"remove\\\"])}}class IncludeXDPContent extends n.StringObject{constructor(e){super(o,\\\"includeXDPContent\\\")}}class IncrementalLoad extends n.OptionObject{constructor(e){super(o,\\\"incrementalLoad\\\",[\\\"none\\\",\\\"forwardOnly\\\"])}}class IncrementalMerge extends n.Option01{constructor(e){super(o,\\\"incrementalMerge\\\")}}class Interactive extends n.Option01{constructor(e){super(o,\\\"interactive\\\")}}class Jog extends n.OptionObject{constructor(e){super(o,\\\"jog\\\",[\\\"usePrinterSetting\\\",\\\"none\\\",\\\"pageSet\\\"])}}class LabelPrinter extends n.XFAObject{constructor(e){super(o,\\\"labelPrinter\\\",!0);this.name=(0,i.getStringOption)(e.name,[\\\"zpl\\\",\\\"dpl\\\",\\\"ipl\\\",\\\"tcpl\\\"]);this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class Layout extends n.OptionObject{constructor(e){super(o,\\\"layout\\\",[\\\"paginate\\\",\\\"panel\\\"])}}class Level extends n.IntegerObject{constructor(e){super(o,\\\"level\\\",0,(e=>e>0))}}class Linearized extends n.Option01{constructor(e){super(o,\\\"linearized\\\")}}class Locale extends n.StringObject{constructor(e){super(o,\\\"locale\\\")}}class LocaleSet extends n.StringObject{constructor(e){super(o,\\\"localeSet\\\")}}class Log extends n.XFAObject{constructor(e){super(o,\\\"log\\\",!0);this.mode=null;this.threshold=null;this.to=null;this.uri=null}}class MapElement extends n.XFAObject{constructor(e){super(o,\\\"map\\\",!0);this.equate=new n.XFAObjectArray;this.equateRange=new n.XFAObjectArray}}class MediumInfo extends n.XFAObject{constructor(e){super(o,\\\"mediumInfo\\\",!0);this.map=null}}class Message extends n.XFAObject{constructor(e){super(o,\\\"message\\\",!0);this.msgId=null;this.severity=null}}class Messaging extends n.XFAObject{constructor(e){super(o,\\\"messaging\\\",!0);this.message=new n.XFAObjectArray}}class Mode extends n.OptionObject{constructor(e){super(o,\\\"mode\\\",[\\\"append\\\",\\\"overwrite\\\"])}}class ModifyAnnots extends n.Option01{constructor(e){super(o,\\\"modifyAnnots\\\")}}class MsgId extends n.IntegerObject{constructor(e){super(o,\\\"msgId\\\",1,(e=>e>=1))}}class NameAttr extends n.StringObject{constructor(e){super(o,\\\"nameAttr\\\")}}class NeverEmbed extends n.ContentObject{constructor(e){super(o,\\\"neverEmbed\\\")}}class NumberOfCopies extends n.IntegerObject{constructor(e){super(o,\\\"numberOfCopies\\\",null,(e=>e>=2&&e<=5))}}class OpenAction extends n.XFAObject{constructor(e){super(o,\\\"openAction\\\",!0);this.destination=null}}class Output extends n.XFAObject{constructor(e){super(o,\\\"output\\\",!0);this.to=null;this.type=null;this.uri=null}}class OutputBin extends n.StringObject{constructor(e){super(o,\\\"outputBin\\\")}}class OutputXSL extends n.XFAObject{constructor(e){super(o,\\\"outputXSL\\\",!0);this.uri=null}}class Overprint extends n.OptionObject{constructor(e){super(o,\\\"overprint\\\",[\\\"none\\\",\\\"both\\\",\\\"draw\\\",\\\"field\\\"])}}class Packets extends n.StringObject{constructor(e){super(o,\\\"packets\\\")}[n.$finalize](){\\\"*\\\"!==this[n.$content]&&(this[n.$content]=this[n.$content].trim().split(/\\\\s+/).filter((e=>[\\\"config\\\",\\\"datasets\\\",\\\"template\\\",\\\"xfdf\\\",\\\"xslt\\\"].includes(e))))}}class PageOffset extends n.XFAObject{constructor(e){super(o,\\\"pageOffset\\\");this.x=(0,i.getInteger)({data:e.x,defaultValue:\\\"useXDCSetting\\\",validate:e=>!0});this.y=(0,i.getInteger)({data:e.y,defaultValue:\\\"useXDCSetting\\\",validate:e=>!0})}}class PageRange extends n.StringObject{constructor(e){super(o,\\\"pageRange\\\")}[n.$finalize](){const e=this[n.$content].trim().split(/\\\\s+/).map((e=>parseInt(e,10))),t=[];for(let a=0,r=e.length;a!1))}}class Pcl extends n.XFAObject{constructor(e){super(o,\\\"pcl\\\",!0);this.name=e.name||\\\"\\\";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.pageOffset=null;this.staple=null;this.xdc=null}}class Pdf extends n.XFAObject{constructor(e){super(o,\\\"pdf\\\",!0);this.name=e.name||\\\"\\\";this.adobeExtensionLevel=null;this.batchOutput=null;this.compression=null;this.creator=null;this.encryption=null;this.fontInfo=null;this.interactive=null;this.linearized=null;this.openAction=null;this.pdfa=null;this.producer=null;this.renderPolicy=null;this.scriptModel=null;this.silentPrint=null;this.submitFormat=null;this.tagged=null;this.version=null;this.viewerPreferences=null;this.xdc=null}}class Pdfa extends n.XFAObject{constructor(e){super(o,\\\"pdfa\\\",!0);this.amd=null;this.conformance=null;this.includeXDPContent=null;this.part=null}}class Permissions extends n.XFAObject{constructor(e){super(o,\\\"permissions\\\",!0);this.accessibleContent=null;this.change=null;this.contentCopy=null;this.documentAssembly=null;this.formFieldFilling=null;this.modifyAnnots=null;this.plaintextMetadata=null;this.print=null;this.printHighQuality=null}}class PickTrayByPDFSize extends n.Option01{constructor(e){super(o,\\\"pickTrayByPDFSize\\\")}}class Picture extends n.StringObject{constructor(e){super(o,\\\"picture\\\")}}class PlaintextMetadata extends n.Option01{constructor(e){super(o,\\\"plaintextMetadata\\\")}}class Presence extends n.OptionObject{constructor(e){super(o,\\\"presence\\\",[\\\"preserve\\\",\\\"dissolve\\\",\\\"dissolveStructure\\\",\\\"ignore\\\",\\\"remove\\\"])}}class Present extends n.XFAObject{constructor(e){super(o,\\\"present\\\",!0);this.behaviorOverride=null;this.cache=null;this.common=null;this.copies=null;this.destination=null;this.incrementalMerge=null;this.layout=null;this.output=null;this.overprint=null;this.pagination=null;this.paginationOverride=null;this.script=null;this.validate=null;this.xdp=null;this.driver=new n.XFAObjectArray;this.labelPrinter=new n.XFAObjectArray;this.pcl=new n.XFAObjectArray;this.pdf=new n.XFAObjectArray;this.ps=new n.XFAObjectArray;this.submitUrl=new n.XFAObjectArray;this.webClient=new n.XFAObjectArray;this.zpl=new n.XFAObjectArray}}class Print extends n.Option01{constructor(e){super(o,\\\"print\\\")}}class PrintHighQuality extends n.Option01{constructor(e){super(o,\\\"printHighQuality\\\")}}class PrintScaling extends n.OptionObject{constructor(e){super(o,\\\"printScaling\\\",[\\\"appdefault\\\",\\\"noScaling\\\"])}}class PrinterName extends n.StringObject{constructor(e){super(o,\\\"printerName\\\")}}class Producer extends n.StringObject{constructor(e){super(o,\\\"producer\\\")}}class Ps extends n.XFAObject{constructor(e){super(o,\\\"ps\\\",!0);this.name=e.name||\\\"\\\";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.staple=null;this.xdc=null}}class Range extends n.ContentObject{constructor(e){super(o,\\\"range\\\")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\\\\s*,\\\\s*/,2).map((e=>e.split(\\\"-\\\").map((e=>parseInt(e.trim(),10))))).filter((e=>e.every((e=>!isNaN(e))))).map((e=>{1===e.length&&e.push(e[0]);return e}))}}class Record extends n.ContentObject{constructor(e){super(o,\\\"record\\\")}[n.$finalize](){this[n.$content]=this[n.$content].trim();const e=parseInt(this[n.$content],10);!isNaN(e)&&e>=0&&(this[n.$content]=e)}}class Relevant extends n.ContentObject{constructor(e){super(o,\\\"relevant\\\")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\\\\s+/)}}class Rename extends n.ContentObject{constructor(e){super(o,\\\"rename\\\")}[n.$finalize](){this[n.$content]=this[n.$content].trim();(this[n.$content].toLowerCase().startsWith(\\\"xml\\\")||this[n.$content].match(new RegExp(\\\"[\\\\\\\\p{L}_][\\\\\\\\p{L}\\\\\\\\d._\\\\\\\\p{M}-]*\\\",\\\"u\\\")))&&(0,s.warn)(\\\"XFA - Rename: invalid XFA name\\\")}}class RenderPolicy extends n.OptionObject{constructor(e){super(o,\\\"renderPolicy\\\",[\\\"server\\\",\\\"client\\\"])}}class RunScripts extends n.OptionObject{constructor(e){super(o,\\\"runScripts\\\",[\\\"both\\\",\\\"client\\\",\\\"none\\\",\\\"server\\\"])}}class Script extends n.XFAObject{constructor(e){super(o,\\\"script\\\",!0);this.currentPage=null;this.exclude=null;this.runScripts=null}}class ScriptModel extends n.OptionObject{constructor(e){super(o,\\\"scriptModel\\\",[\\\"XFA\\\",\\\"none\\\"])}}class Severity extends n.OptionObject{constructor(e){super(o,\\\"severity\\\",[\\\"ignore\\\",\\\"error\\\",\\\"information\\\",\\\"trace\\\",\\\"warning\\\"])}}class SilentPrint extends n.XFAObject{constructor(e){super(o,\\\"silentPrint\\\",!0);this.addSilentPrint=null;this.printerName=null}}class Staple extends n.XFAObject{constructor(e){super(o,\\\"staple\\\");this.mode=(0,i.getStringOption)(e.mode,[\\\"usePrinterSetting\\\",\\\"on\\\",\\\"off\\\"])}}class StartNode extends n.StringObject{constructor(e){super(o,\\\"startNode\\\")}}class StartPage extends n.IntegerObject{constructor(e){super(o,\\\"startPage\\\",0,(e=>!0))}}class SubmitFormat extends n.OptionObject{constructor(e){super(o,\\\"submitFormat\\\",[\\\"html\\\",\\\"delegate\\\",\\\"fdf\\\",\\\"xml\\\",\\\"pdf\\\"])}}class SubmitUrl extends n.StringObject{constructor(e){super(o,\\\"submitUrl\\\")}}class SubsetBelow extends n.IntegerObject{constructor(e){super(o,\\\"subsetBelow\\\",100,(e=>e>=0&&e<=100))}}class SuppressBanner extends n.Option01{constructor(e){super(o,\\\"suppressBanner\\\")}}class Tagged extends n.Option01{constructor(e){super(o,\\\"tagged\\\")}}class Template extends n.XFAObject{constructor(e){super(o,\\\"template\\\",!0);this.base=null;this.relevant=null;this.startPage=null;this.uri=null;this.xsl=null}}class Threshold extends n.OptionObject{constructor(e){super(o,\\\"threshold\\\",[\\\"trace\\\",\\\"error\\\",\\\"information\\\",\\\"warning\\\"])}}class To extends n.OptionObject{constructor(e){super(o,\\\"to\\\",[\\\"null\\\",\\\"memory\\\",\\\"stderr\\\",\\\"stdout\\\",\\\"system\\\",\\\"uri\\\"])}}class TemplateCache extends n.XFAObject{constructor(e){super(o,\\\"templateCache\\\");this.maxEntries=(0,i.getInteger)({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class Trace extends n.XFAObject{constructor(e){super(o,\\\"trace\\\",!0);this.area=new n.XFAObjectArray}}class Transform extends n.XFAObject{constructor(e){super(o,\\\"transform\\\",!0);this.groupParent=null;this.ifEmpty=null;this.nameAttr=null;this.picture=null;this.presence=null;this.rename=null;this.whitespace=null}}class Type extends n.OptionObject{constructor(e){super(o,\\\"type\\\",[\\\"none\\\",\\\"ascii85\\\",\\\"asciiHex\\\",\\\"ccittfax\\\",\\\"flate\\\",\\\"lzw\\\",\\\"runLength\\\",\\\"native\\\",\\\"xdp\\\",\\\"mergedXDP\\\"])}}class Uri extends n.StringObject{constructor(e){super(o,\\\"uri\\\")}}class Validate extends n.OptionObject{constructor(e){super(o,\\\"validate\\\",[\\\"preSubmit\\\",\\\"prePrint\\\",\\\"preExecute\\\",\\\"preSave\\\"])}}class ValidateApprovalSignatures extends n.ContentObject{constructor(e){super(o,\\\"validateApprovalSignatures\\\")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\\\\s+/).filter((e=>[\\\"docReady\\\",\\\"postSign\\\"].includes(e)))}}class ValidationMessaging extends n.OptionObject{constructor(e){super(o,\\\"validationMessaging\\\",[\\\"allMessagesIndividually\\\",\\\"allMessagesTogether\\\",\\\"firstMessageOnly\\\",\\\"noMessages\\\"])}}class Version extends n.OptionObject{constructor(e){super(o,\\\"version\\\",[\\\"1.7\\\",\\\"1.6\\\",\\\"1.5\\\",\\\"1.4\\\",\\\"1.3\\\",\\\"1.2\\\"])}}class VersionControl extends n.XFAObject{constructor(e){super(o,\\\"VersionControl\\\");this.outputBelow=(0,i.getStringOption)(e.outputBelow,[\\\"warn\\\",\\\"error\\\",\\\"update\\\"]);this.sourceAbove=(0,i.getStringOption)(e.sourceAbove,[\\\"warn\\\",\\\"error\\\"]);this.sourceBelow=(0,i.getStringOption)(e.sourceBelow,[\\\"update\\\",\\\"maintain\\\"])}}class ViewerPreferences extends n.XFAObject{constructor(e){super(o,\\\"viewerPreferences\\\",!0);this.ADBE_JSConsole=null;this.ADBE_JSDebugger=null;this.addViewerPreferences=null;this.duplexOption=null;this.enforce=null;this.numberOfCopies=null;this.pageRange=null;this.pickTrayByPDFSize=null;this.printScaling=null}}class WebClient extends n.XFAObject{constructor(e){super(o,\\\"webClient\\\",!0);this.name=e.name?e.name.trim():\\\"\\\";this.fontInfo=null;this.xdc=null}}class Whitespace extends n.OptionObject{constructor(e){super(o,\\\"whitespace\\\",[\\\"preserve\\\",\\\"ltrim\\\",\\\"normalize\\\",\\\"rtrim\\\",\\\"trim\\\"])}}class Window extends n.ContentObject{constructor(e){super(o,\\\"window\\\")}[n.$finalize](){const e=this[n.$content].trim().split(/\\\\s*,\\\\s*/,2).map((e=>parseInt(e,10)));if(e.some((e=>isNaN(e))))this[n.$content]=[0,0];else{1===e.length&&e.push(e[0]);this[n.$content]=e}}}class Xdc extends n.XFAObject{constructor(e){super(o,\\\"xdc\\\",!0);this.uri=new n.XFAObjectArray;this.xsl=new n.XFAObjectArray}}class Xdp extends n.XFAObject{constructor(e){super(o,\\\"xdp\\\",!0);this.packets=null}}class Xsl extends n.XFAObject{constructor(e){super(o,\\\"xsl\\\",!0);this.debug=null;this.uri=null}}class Zpl extends n.XFAObject{constructor(e){super(o,\\\"zpl\\\",!0);this.name=e.name?e.name.trim():\\\"\\\";this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class ConfigNamespace{static[r.$buildXFAObject](e,t){if(ConfigNamespace.hasOwnProperty(e))return ConfigNamespace[e](t)}static acrobat(e){return new Acrobat(e)}static acrobat7(e){return new Acrobat7(e)}static ADBE_JSConsole(e){return new ADBE_JSConsole(e)}static ADBE_JSDebugger(e){return new ADBE_JSDebugger(e)}static addSilentPrint(e){return new AddSilentPrint(e)}static addViewerPreferences(e){return new AddViewerPreferences(e)}static adjustData(e){return new AdjustData(e)}static adobeExtensionLevel(e){return new AdobeExtensionLevel(e)}static agent(e){return new Agent(e)}static alwaysEmbed(e){return new AlwaysEmbed(e)}static amd(e){return new Amd(e)}static area(e){return new Area(e)}static attributes(e){return new Attributes(e)}static autoSave(e){return new AutoSave(e)}static base(e){return new Base(e)}static batchOutput(e){return new BatchOutput(e)}static behaviorOverride(e){return new BehaviorOverride(e)}static cache(e){return new Cache(e)}static change(e){return new Change(e)}static common(e){return new Common(e)}static compress(e){return new Compress(e)}static compressLogicalStructure(e){return new CompressLogicalStructure(e)}static compressObjectStream(e){return new CompressObjectStream(e)}static compression(e){return new Compression(e)}static config(e){return new Config(e)}static conformance(e){return new Conformance(e)}static contentCopy(e){return new ContentCopy(e)}static copies(e){return new Copies(e)}static creator(e){return new Creator(e)}static currentPage(e){return new CurrentPage(e)}static data(e){return new Data(e)}static debug(e){return new Debug(e)}static defaultTypeface(e){return new DefaultTypeface(e)}static destination(e){return new Destination(e)}static documentAssembly(e){return new DocumentAssembly(e)}static driver(e){return new Driver(e)}static duplexOption(e){return new DuplexOption(e)}static dynamicRender(e){return new DynamicRender(e)}static embed(e){return new Embed(e)}static encrypt(e){return new Encrypt(e)}static encryption(e){return new Encryption(e)}static encryptionLevel(e){return new EncryptionLevel(e)}static enforce(e){return new Enforce(e)}static equate(e){return new Equate(e)}static equateRange(e){return new EquateRange(e)}static exclude(e){return new Exclude(e)}static excludeNS(e){return new ExcludeNS(e)}static flipLabel(e){return new FlipLabel(e)}static fontInfo(e){return new FontInfo(e)}static formFieldFilling(e){return new FormFieldFilling(e)}static groupParent(e){return new GroupParent(e)}static ifEmpty(e){return new IfEmpty(e)}static includeXDPContent(e){return new IncludeXDPContent(e)}static incrementalLoad(e){return new IncrementalLoad(e)}static incrementalMerge(e){return new IncrementalMerge(e)}static interactive(e){return new Interactive(e)}static jog(e){return new Jog(e)}static labelPrinter(e){return new LabelPrinter(e)}static layout(e){return new Layout(e)}static level(e){return new Level(e)}static linearized(e){return new Linearized(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static log(e){return new Log(e)}static map(e){return new MapElement(e)}static mediumInfo(e){return new MediumInfo(e)}static message(e){return new Message(e)}static messaging(e){return new Messaging(e)}static mode(e){return new Mode(e)}static modifyAnnots(e){return new ModifyAnnots(e)}static msgId(e){return new MsgId(e)}static nameAttr(e){return new NameAttr(e)}static neverEmbed(e){return new NeverEmbed(e)}static numberOfCopies(e){return new NumberOfCopies(e)}static openAction(e){return new OpenAction(e)}static output(e){return new Output(e)}static outputBin(e){return new OutputBin(e)}static outputXSL(e){return new OutputXSL(e)}static overprint(e){return new Overprint(e)}static packets(e){return new Packets(e)}static pageOffset(e){return new PageOffset(e)}static pageRange(e){return new PageRange(e)}static pagination(e){return new Pagination(e)}static paginationOverride(e){return new PaginationOverride(e)}static part(e){return new Part(e)}static pcl(e){return new Pcl(e)}static pdf(e){return new Pdf(e)}static pdfa(e){return new Pdfa(e)}static permissions(e){return new Permissions(e)}static pickTrayByPDFSize(e){return new PickTrayByPDFSize(e)}static picture(e){return new Picture(e)}static plaintextMetadata(e){return new PlaintextMetadata(e)}static presence(e){return new Presence(e)}static present(e){return new Present(e)}static print(e){return new Print(e)}static printHighQuality(e){return new PrintHighQuality(e)}static printScaling(e){return new PrintScaling(e)}static printerName(e){return new PrinterName(e)}static producer(e){return new Producer(e)}static ps(e){return new Ps(e)}static range(e){return new Range(e)}static record(e){return new Record(e)}static relevant(e){return new Relevant(e)}static rename(e){return new Rename(e)}static renderPolicy(e){return new RenderPolicy(e)}static runScripts(e){return new RunScripts(e)}static script(e){return new Script(e)}static scriptModel(e){return new ScriptModel(e)}static severity(e){return new Severity(e)}static silentPrint(e){return new SilentPrint(e)}static staple(e){return new Staple(e)}static startNode(e){return new StartNode(e)}static startPage(e){return new StartPage(e)}static submitFormat(e){return new SubmitFormat(e)}static submitUrl(e){return new SubmitUrl(e)}static subsetBelow(e){return new SubsetBelow(e)}static suppressBanner(e){return new SuppressBanner(e)}static tagged(e){return new Tagged(e)}static template(e){return new Template(e)}static templateCache(e){return new TemplateCache(e)}static threshold(e){return new Threshold(e)}static to(e){return new To(e)}static trace(e){return new Trace(e)}static transform(e){return new Transform(e)}static type(e){return new Type(e)}static uri(e){return new Uri(e)}static validate(e){return new Validate(e)}static validateApprovalSignatures(e){return new ValidateApprovalSignatures(e)}static validationMessaging(e){return new ValidationMessaging(e)}static version(e){return new Version(e)}static versionControl(e){return new VersionControl(e)}static viewerPreferences(e){return new ViewerPreferences(e)}static webClient(e){return new WebClient(e)}static whitespace(e){return new Whitespace(e)}static window(e){return new Window(e)}static xdc(e){return new Xdc(e)}static xdp(e){return new Xdp(e)}static xsl(e){return new Xsl(e)}static zpl(e){return new Zpl(e)}}t.ConfigNamespace=ConfigNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.ConnectionSetNamespace=void 0;var r=a(79),n=a(77);const i=r.NamespaceIds.connectionSet.id;class ConnectionSet extends n.XFAObject{constructor(e){super(i,\\\"connectionSet\\\",!0);this.wsdlConnection=new n.XFAObjectArray;this.xmlConnection=new n.XFAObjectArray;this.xsdConnection=new n.XFAObjectArray}}class EffectiveInputPolicy extends n.XFAObject{constructor(e){super(i,\\\"effectiveInputPolicy\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class EffectiveOutputPolicy extends n.XFAObject{constructor(e){super(i,\\\"effectiveOutputPolicy\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Operation extends n.StringObject{constructor(e){super(i,\\\"operation\\\");this.id=e.id||\\\"\\\";this.input=e.input||\\\"\\\";this.name=e.name||\\\"\\\";this.output=e.output||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class RootElement extends n.StringObject{constructor(e){super(i,\\\"rootElement\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class SoapAction extends n.StringObject{constructor(e){super(i,\\\"soapAction\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class SoapAddress extends n.StringObject{constructor(e){super(i,\\\"soapAddress\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class Uri extends n.StringObject{constructor(e){super(i,\\\"uri\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class WsdlAddress extends n.StringObject{constructor(e){super(i,\\\"wsdlAddress\\\");this.id=e.id||\\\"\\\";this.name=e.name||\\\"\\\";this.use=e.use||\\\"\\\";this.usehref=e.usehref||\\\"\\\"}}class WsdlConnection extends n.XFAObject{constructor(e){super(i,\\\"wsdlConnection\\\",!0);this.dataDescription=e.dataDescription||\\\"\\\";this.name=e.name||\\\"\\\";this.effectiveInputPolicy=null;this.effectiveOutputPolicy=null;this.operation=null;this.soapAction=null;this.soapAddress=null;this.wsdlAddress=null}}class XmlConnection extends n.XFAObject{constructor(e){super(i,\\\"xmlConnection\\\",!0);this.dataDescription=e.dataDescription||\\\"\\\";this.name=e.name||\\\"\\\";this.uri=null}}class XsdConnection extends n.XFAObject{constructor(e){super(i,\\\"xsdConnection\\\",!0);this.dataDescription=e.dataDescription||\\\"\\\";this.name=e.name||\\\"\\\";this.rootElement=null;this.uri=null}}class ConnectionSetNamespace{static[r.$buildXFAObject](e,t){if(ConnectionSetNamespace.hasOwnProperty(e))return ConnectionSetNamespace[e](t)}static connectionSet(e){return new ConnectionSet(e)}static effectiveInputPolicy(e){return new EffectiveInputPolicy(e)}static effectiveOutputPolicy(e){return new EffectiveOutputPolicy(e)}static operation(e){return new Operation(e)}static rootElement(e){return new RootElement(e)}static soapAction(e){return new SoapAction(e)}static soapAddress(e){return new SoapAddress(e)}static uri(e){return new Uri(e)}static wsdlAddress(e){return new WsdlAddress(e)}static wsdlConnection(e){return new WsdlConnection(e)}static xmlConnection(e){return new XmlConnection(e)}static xsdConnection(e){return new XsdConnection(e)}}t.ConnectionSetNamespace=ConnectionSetNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.DatasetsNamespace=void 0;var r=a(77),n=a(79);const i=n.NamespaceIds.datasets.id;class Data extends r.XmlObject{constructor(e){super(i,\\\"data\\\",e)}[r.$isNsAgnostic](){return!0}}class Datasets extends r.XFAObject{constructor(e){super(i,\\\"datasets\\\",!0);this.data=null;this.Signature=null}[r.$onChild](e){const t=e[r.$nodeName];(\\\"data\\\"===t&&e[r.$namespaceId]===i||\\\"Signature\\\"===t&&e[r.$namespaceId]===n.NamespaceIds.signature.id)&&(this[t]=e);this[r.$appendChild](e)}}class DatasetsNamespace{static[n.$buildXFAObject](e,t){if(DatasetsNamespace.hasOwnProperty(e))return DatasetsNamespace[e](t)}static datasets(e){return new Datasets(e)}static data(e){return new Data(e)}}t.DatasetsNamespace=DatasetsNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.LocaleSetNamespace=void 0;var r=a(79),n=a(77),i=a(78);const s=r.NamespaceIds.localeSet.id;class CalendarSymbols extends n.XFAObject{constructor(e){super(s,\\\"calendarSymbols\\\",!0);this.name=\\\"gregorian\\\";this.dayNames=new n.XFAObjectArray(2);this.eraNames=null;this.meridiemNames=null;this.monthNames=new n.XFAObjectArray(2)}}class CurrencySymbol extends n.StringObject{constructor(e){super(s,\\\"currencySymbol\\\");this.name=(0,i.getStringOption)(e.name,[\\\"symbol\\\",\\\"isoname\\\",\\\"decimal\\\"])}}class CurrencySymbols extends n.XFAObject{constructor(e){super(s,\\\"currencySymbols\\\",!0);this.currencySymbol=new n.XFAObjectArray(3)}}class DatePattern extends n.StringObject{constructor(e){super(s,\\\"datePattern\\\");this.name=(0,i.getStringOption)(e.name,[\\\"full\\\",\\\"long\\\",\\\"med\\\",\\\"short\\\"])}}class DatePatterns extends n.XFAObject{constructor(e){super(s,\\\"datePatterns\\\",!0);this.datePattern=new n.XFAObjectArray(4)}}class DateTimeSymbols extends n.ContentObject{constructor(e){super(s,\\\"dateTimeSymbols\\\")}}class Day extends n.StringObject{constructor(e){super(s,\\\"day\\\")}}class DayNames extends n.XFAObject{constructor(e){super(s,\\\"dayNames\\\",!0);this.abbr=(0,i.getInteger)({data:e.abbr,defaultValue:0,validate:e=>1===e});this.day=new n.XFAObjectArray(7)}}class Era extends n.StringObject{constructor(e){super(s,\\\"era\\\")}}class EraNames extends n.XFAObject{constructor(e){super(s,\\\"eraNames\\\",!0);this.era=new n.XFAObjectArray(2)}}class Locale extends n.XFAObject{constructor(e){super(s,\\\"locale\\\",!0);this.desc=e.desc||\\\"\\\";this.name=\\\"isoname\\\";this.calendarSymbols=null;this.currencySymbols=null;this.datePatterns=null;this.dateTimeSymbols=null;this.numberPatterns=null;this.numberSymbols=null;this.timePatterns=null;this.typeFaces=null}}class LocaleSet extends n.XFAObject{constructor(e){super(s,\\\"localeSet\\\",!0);this.locale=new n.XFAObjectArray}}class Meridiem extends n.StringObject{constructor(e){super(s,\\\"meridiem\\\")}}class MeridiemNames extends n.XFAObject{constructor(e){super(s,\\\"meridiemNames\\\",!0);this.meridiem=new n.XFAObjectArray(2)}}class Month extends n.StringObject{constructor(e){super(s,\\\"month\\\")}}class MonthNames extends n.XFAObject{constructor(e){super(s,\\\"monthNames\\\",!0);this.abbr=(0,i.getInteger)({data:e.abbr,defaultValue:0,validate:e=>1===e});this.month=new n.XFAObjectArray(12)}}class NumberPattern extends n.StringObject{constructor(e){super(s,\\\"numberPattern\\\");this.name=(0,i.getStringOption)(e.name,[\\\"full\\\",\\\"long\\\",\\\"med\\\",\\\"short\\\"])}}class NumberPatterns extends n.XFAObject{constructor(e){super(s,\\\"numberPatterns\\\",!0);this.numberPattern=new n.XFAObjectArray(4)}}class NumberSymbol extends n.StringObject{constructor(e){super(s,\\\"numberSymbol\\\");this.name=(0,i.getStringOption)(e.name,[\\\"decimal\\\",\\\"grouping\\\",\\\"percent\\\",\\\"minus\\\",\\\"zero\\\"])}}class NumberSymbols extends n.XFAObject{constructor(e){super(s,\\\"numberSymbols\\\",!0);this.numberSymbol=new n.XFAObjectArray(5)}}class TimePattern extends n.StringObject{constructor(e){super(s,\\\"timePattern\\\");this.name=(0,i.getStringOption)(e.name,[\\\"full\\\",\\\"long\\\",\\\"med\\\",\\\"short\\\"])}}class TimePatterns extends n.XFAObject{constructor(e){super(s,\\\"timePatterns\\\",!0);this.timePattern=new n.XFAObjectArray(4)}}class TypeFace extends n.XFAObject{constructor(e){super(s,\\\"typeFace\\\",!0);this.name=\\\"\\\"|e.name}}class TypeFaces extends n.XFAObject{constructor(e){super(s,\\\"typeFaces\\\",!0);this.typeFace=new n.XFAObjectArray}}class LocaleSetNamespace{static[r.$buildXFAObject](e,t){if(LocaleSetNamespace.hasOwnProperty(e))return LocaleSetNamespace[e](t)}static calendarSymbols(e){return new CalendarSymbols(e)}static currencySymbol(e){return new CurrencySymbol(e)}static currencySymbols(e){return new CurrencySymbols(e)}static datePattern(e){return new DatePattern(e)}static datePatterns(e){return new DatePatterns(e)}static dateTimeSymbols(e){return new DateTimeSymbols(e)}static day(e){return new Day(e)}static dayNames(e){return new DayNames(e)}static era(e){return new Era(e)}static eraNames(e){return new EraNames(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static meridiem(e){return new Meridiem(e)}static meridiemNames(e){return new MeridiemNames(e)}static month(e){return new Month(e)}static monthNames(e){return new MonthNames(e)}static numberPattern(e){return new NumberPattern(e)}static numberPatterns(e){return new NumberPatterns(e)}static numberSymbol(e){return new NumberSymbol(e)}static numberSymbols(e){return new NumberSymbols(e)}static timePattern(e){return new TimePattern(e)}static timePatterns(e){return new TimePatterns(e)}static typeFace(e){return new TypeFace(e)}static typeFaces(e){return new TypeFaces(e)}}t.LocaleSetNamespace=LocaleSetNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.SignatureNamespace=void 0;var r=a(79),n=a(77);const i=r.NamespaceIds.signature.id;class Signature extends n.XFAObject{constructor(e){super(i,\\\"signature\\\",!0)}}class SignatureNamespace{static[r.$buildXFAObject](e,t){if(SignatureNamespace.hasOwnProperty(e))return SignatureNamespace[e](t)}static signature(e){return new Signature(e)}}t.SignatureNamespace=SignatureNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.StylesheetNamespace=void 0;var r=a(79),n=a(77);const i=r.NamespaceIds.stylesheet.id;class Stylesheet extends n.XFAObject{constructor(e){super(i,\\\"stylesheet\\\",!0)}}class StylesheetNamespace{static[r.$buildXFAObject](e,t){if(StylesheetNamespace.hasOwnProperty(e))return StylesheetNamespace[e](t)}static stylesheet(e){return new Stylesheet(e)}}t.StylesheetNamespace=StylesheetNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XdpNamespace=void 0;var r=a(79),n=a(77);const i=r.NamespaceIds.xdp.id;class Xdp extends n.XFAObject{constructor(e){super(i,\\\"xdp\\\",!0);this.uuid=e.uuid||\\\"\\\";this.timeStamp=e.timeStamp||\\\"\\\";this.config=null;this.connectionSet=null;this.datasets=null;this.localeSet=null;this.stylesheet=new n.XFAObjectArray;this.template=null}[n.$onChildCheck](e){const t=r.NamespaceIds[e[n.$nodeName]];return t&&e[n.$namespaceId]===t.id}}class XdpNamespace{static[r.$buildXFAObject](e,t){if(XdpNamespace.hasOwnProperty(e))return XdpNamespace[e](t)}static xdp(e){return new Xdp(e)}}t.XdpNamespace=XdpNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XhtmlNamespace=void 0;var r=a(77),n=a(79),i=a(84),s=a(78);const o=n.NamespaceIds.xhtml.id,c=Symbol(),l=new Set([\\\"color\\\",\\\"font\\\",\\\"font-family\\\",\\\"font-size\\\",\\\"font-stretch\\\",\\\"font-style\\\",\\\"font-weight\\\",\\\"margin\\\",\\\"margin-bottom\\\",\\\"margin-left\\\",\\\"margin-right\\\",\\\"margin-top\\\",\\\"letter-spacing\\\",\\\"line-height\\\",\\\"orphans\\\",\\\"page-break-after\\\",\\\"page-break-before\\\",\\\"page-break-inside\\\",\\\"tab-interval\\\",\\\"tab-stop\\\",\\\"text-align\\\",\\\"text-decoration\\\",\\\"text-indent\\\",\\\"vertical-align\\\",\\\"widows\\\",\\\"kerning-mode\\\",\\\"xfa-font-horizontal-scale\\\",\\\"xfa-font-vertical-scale\\\",\\\"xfa-spacerun\\\",\\\"xfa-tab-stops\\\"]),h=new Map([[\\\"page-break-after\\\",\\\"breakAfter\\\"],[\\\"page-break-before\\\",\\\"breakBefore\\\"],[\\\"page-break-inside\\\",\\\"breakInside\\\"],[\\\"kerning-mode\\\",e=>\\\"none\\\"===e?\\\"none\\\":\\\"normal\\\"],[\\\"xfa-font-horizontal-scale\\\",e=>`scaleX(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],[\\\"xfa-font-vertical-scale\\\",e=>`scaleY(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],[\\\"xfa-spacerun\\\",\\\"\\\"],[\\\"xfa-tab-stops\\\",\\\"\\\"],[\\\"font-size\\\",(e,t)=>{e=t.fontSize=(0,s.getMeasurement)(e);return(0,i.measureToString)(.99*e)}],[\\\"letter-spacing\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"line-height\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"margin\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"margin-bottom\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"margin-left\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"margin-right\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"margin-top\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"text-indent\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],[\\\"font-family\\\",e=>e],[\\\"vertical-align\\\",e=>(0,i.measureToString)((0,s.getMeasurement)(e))]]),u=/\\\\s+/g,d=/[\\\\r\\\\n]+/g,f=/\\\\r\\\\n?/g;function mapStyle(e,t,a){const n=Object.create(null);if(!e)return n;const o=Object.create(null);for(const[t,a]of e.split(\\\";\\\").map((e=>e.split(\\\":\\\",2)))){const e=h.get(t);if(\\\"\\\"===e)continue;let r=a;e&&(r=\\\"string\\\"==typeof e?e:e(a,o));t.endsWith(\\\"scale\\\")?n.transform?n.transform=`${n[t]} ${r}`:n.transform=r:n[t.replaceAll(/-([a-zA-Z])/g,((e,t)=>t.toUpperCase()))]=r}n.fontFamily&&(0,i.setFontFamily)({typeface:n.fontFamily,weight:n.fontWeight||\\\"normal\\\",posture:n.fontStyle||\\\"normal\\\",size:o.fontSize||0},t,t[r.$globalData].fontFinder,n);if(a&&n.verticalAlign&&\\\"0px\\\"!==n.verticalAlign&&n.fontSize){const e=.583,t=.333,a=(0,s.getMeasurement)(n.fontSize);n.fontSize=(0,i.measureToString)(a*e);n.verticalAlign=(0,i.measureToString)(Math.sign((0,s.getMeasurement)(n.verticalAlign))*a*t)}(0,i.fixTextIndent)(n);return n}const g=new Set([\\\"body\\\",\\\"html\\\"]);class XhtmlObject extends r.XmlObject{constructor(e,t){super(o,t);this[c]=!1;this.style=e.style||\\\"\\\"}[r.$clean](e){super[r.$clean](e);this.style=function checkStyle(e){return e.style?e.style.trim().split(/\\\\s*;\\\\s*/).filter((e=>!!e)).map((e=>e.split(/\\\\s*:\\\\s*/,2))).filter((([t,a])=>{\\\"font-family\\\"===t&&e[r.$globalData].usedTypefaces.add(a);return l.has(t)})).map((e=>e.join(\\\":\\\"))).join(\\\";\\\"):\\\"\\\"}(this)}[r.$acceptWhitespace](){return!g.has(this[r.$nodeName])}[r.$onText](e,t=!1){if(t)this[c]=!0;else{e=e.replace(d,\\\"\\\");this.style.includes(\\\"xfa-spacerun:yes\\\")||(e=e.replace(u,\\\" \\\"))}e&&(this[r.$content]+=e)}[r.$pushGlyphs](e,t=!0){const a=Object.create(null),n={top:NaN,bottom:NaN,left:NaN,right:NaN};let i=null;for(const[e,t]of this.style.split(\\\";\\\").map((e=>e.split(\\\":\\\",2))))switch(e){case\\\"font-family\\\":a.typeface=(0,s.stripQuotes)(t);break;case\\\"font-size\\\":a.size=(0,s.getMeasurement)(t);break;case\\\"font-weight\\\":a.weight=t;break;case\\\"font-style\\\":a.posture=t;break;case\\\"letter-spacing\\\":a.letterSpacing=(0,s.getMeasurement)(t);break;case\\\"margin\\\":const e=t.split(/ \\\\t/).map((e=>(0,s.getMeasurement)(e)));switch(e.length){case 1:n.top=n.bottom=n.left=n.right=e[0];break;case 2:n.top=n.bottom=e[0];n.left=n.right=e[1];break;case 3:n.top=e[0];n.bottom=e[2];n.left=n.right=e[1];break;case 4:n.top=e[0];n.left=e[1];n.bottom=e[2];n.right=e[3]}break;case\\\"margin-top\\\":n.top=(0,s.getMeasurement)(t);break;case\\\"margin-bottom\\\":n.bottom=(0,s.getMeasurement)(t);break;case\\\"margin-left\\\":n.left=(0,s.getMeasurement)(t);break;case\\\"margin-right\\\":n.right=(0,s.getMeasurement)(t);break;case\\\"line-height\\\":i=(0,s.getMeasurement)(t)}e.pushData(a,n,i);if(this[r.$content])e.addString(this[r.$content]);else for(const t of this[r.$getChildren]())\\\"#text\\\"!==t[r.$nodeName]?t[r.$pushGlyphs](e):e.addString(t[r.$content]);t&&e.popFont()}[r.$toHTML](e){const t=[];this[r.$extra]={children:t};this[r.$childrenToHTML]({});if(0===t.length&&!this[r.$content])return s.HTMLResult.EMPTY;let a;a=this[c]?this[r.$content]?this[r.$content].replace(f,\\\"\\\\n\\\"):void 0:this[r.$content]||void 0;return s.HTMLResult.success({name:this[r.$nodeName],attributes:{href:this.href,style:mapStyle(this.style,this,this[c])},children:t,value:a})}}class A extends XhtmlObject{constructor(e){super(e,\\\"a\\\");this.href=(0,i.fixURL)(e.href)||\\\"\\\"}}class B extends XhtmlObject{constructor(e){super(e,\\\"b\\\")}[r.$pushGlyphs](e){e.pushFont({weight:\\\"bold\\\"});super[r.$pushGlyphs](e);e.popFont()}}class Body extends XhtmlObject{constructor(e){super(e,\\\"body\\\")}[r.$toHTML](e){const t=super[r.$toHTML](e),{html:a}=t;if(!a)return s.HTMLResult.EMPTY;a.name=\\\"div\\\";a.attributes.class=[\\\"xfaRich\\\"];return t}}class Br extends XhtmlObject{constructor(e){super(e,\\\"br\\\")}[r.$text](){return\\\"\\\\n\\\"}[r.$pushGlyphs](e){e.addString(\\\"\\\\n\\\")}[r.$toHTML](e){return s.HTMLResult.success({name:\\\"br\\\"})}}class Html extends XhtmlObject{constructor(e){super(e,\\\"html\\\")}[r.$toHTML](e){const t=[];this[r.$extra]={children:t};this[r.$childrenToHTML]({});if(0===t.length)return s.HTMLResult.success({name:\\\"div\\\",attributes:{class:[\\\"xfaRich\\\"],style:{}},value:this[r.$content]||\\\"\\\"});if(1===t.length){const e=t[0];if(e.attributes&&e.attributes.class.includes(\\\"xfaRich\\\"))return s.HTMLResult.success(e)}return s.HTMLResult.success({name:\\\"div\\\",attributes:{class:[\\\"xfaRich\\\"],style:{}},children:t})}}class I extends XhtmlObject{constructor(e){super(e,\\\"i\\\")}[r.$pushGlyphs](e){e.pushFont({posture:\\\"italic\\\"});super[r.$pushGlyphs](e);e.popFont()}}class Li extends XhtmlObject{constructor(e){super(e,\\\"li\\\")}}class Ol extends XhtmlObject{constructor(e){super(e,\\\"ol\\\")}}class P extends XhtmlObject{constructor(e){super(e,\\\"p\\\")}[r.$pushGlyphs](e){super[r.$pushGlyphs](e,!1);e.addString(\\\"\\\\n\\\");e.addPara();e.popFont()}[r.$text](){const e=this[r.$getParent]()[r.$getChildren]();return e[e.length-1]===this?super[r.$text]():super[r.$text]()+\\\"\\\\n\\\"}}class Span extends XhtmlObject{constructor(e){super(e,\\\"span\\\")}}class Sub extends XhtmlObject{constructor(e){super(e,\\\"sub\\\")}}class Sup extends XhtmlObject{constructor(e){super(e,\\\"sup\\\")}}class Ul extends XhtmlObject{constructor(e){super(e,\\\"ul\\\")}}class XhtmlNamespace{static[n.$buildXFAObject](e,t){if(XhtmlNamespace.hasOwnProperty(e))return XhtmlNamespace[e](t)}static a(e){return new A(e)}static b(e){return new B(e)}static body(e){return new Body(e)}static br(e){return new Br(e)}static html(e){return new Html(e)}static i(e){return new I(e)}static li(e){return new Li(e)}static ol(e){return new Ol(e)}static p(e){return new P(e)}static span(e){return new Span(e)}static sub(e){return new Sub(e)}static sup(e){return new Sup(e)}static ul(e){return new Ul(e)}}t.XhtmlNamespace=XhtmlNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.UnknownNamespace=void 0;var r=a(79),n=a(77);class UnknownNamespace{constructor(e){this.namespaceId=e}[r.$buildXFAObject](e,t){return new n.XmlObject(this.namespaceId,e,t)}}t.UnknownNamespace=UnknownNamespace},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.DatasetReader=void 0;var r=a(2),n=a(8),i=a(70);function decodeString(e){try{return(0,r.stringToUTF8String)(e)}catch(t){(0,r.warn)(`UTF-8 decoding failed: \\\"${t}\\\".`);return e}}class DatasetXMLParser extends i.SimpleXMLParser{constructor(e){super(e);this.node=null}onEndElement(e){const t=super.onEndElement(e);if(t&&\\\"xfa:datasets\\\"===e){this.node=t;throw new Error(\\\"Aborting DatasetXMLParser.\\\")}}}t.DatasetReader=class DatasetReader{constructor(e){if(e.datasets)this.node=new i.SimpleXMLParser({hasAttributes:!0}).parseFromString(e.datasets).documentElement;else{const t=new DatasetXMLParser({hasAttributes:!0});try{t.parseFromString(e[\\\"xdp:xdp\\\"])}catch(e){}this.node=t.node}}getValue(e){if(!this.node||!e)return\\\"\\\";const t=this.node.searchNode((0,n.parseXFAPath)(e),0);if(!t)return\\\"\\\";const a=t.firstChild;return a&&\\\"value\\\"===a.nodeName?t.children.map((e=>decodeString(e.textContent))):decodeString(t.textContent)}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.XRef=void 0;var r=a(2),n=a(5),i=a(8),s=a(27),o=a(9),c=a(74);t.XRef=class XRef{constructor(e,t){this.stream=e;this.pdfManager=t;this.entries=[];this.xrefstms=Object.create(null);this._cacheMap=new Map;this._pendingRefs=new n.RefSet;this.stats=new i.DocStats(t.msgHandler);this._newRefNum=null}getNewRef(){null===this._newRefNum&&(this._newRefNum=this.entries.length);return n.Ref.get(this._newRefNum++,0)}resetNewRef(){this._newRefNum=null}setStartXRef(e){this.startXRefQueue=[e]}parse(e=!1){let t,a,s;if(e){(0,r.warn)(\\\"Indexing all PDF objects\\\");t=this.indexObjects()}else t=this.readXRef();t.assignXref(this);this.trailer=t;try{a=t.get(\\\"Encrypt\\\")}catch(e){if(e instanceof i.MissingDataException)throw e;(0,r.warn)(`XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"${e}\\\".`)}if(a instanceof n.Dict){const e=t.get(\\\"ID\\\"),r=e&&e.length?e[0]:\\\"\\\";a.suppressEncryption=!0;this.encrypt=new c.CipherTransformFactory(a,r,this.pdfManager.password)}try{s=t.get(\\\"Root\\\")}catch(e){if(e instanceof i.MissingDataException)throw e;(0,r.warn)(`XRef.parse - Invalid \\\"Root\\\" reference: \\\"${e}\\\".`)}if(s instanceof n.Dict)try{if(s.get(\\\"Pages\\\")instanceof n.Dict){this.root=s;return}}catch(e){if(e instanceof i.MissingDataException)throw e;(0,r.warn)(`XRef.parse - Invalid \\\"Pages\\\" reference: \\\"${e}\\\".`)}if(!e)throw new i.XRefParseException;throw new r.InvalidPDFException(\\\"Invalid Root reference.\\\")}processXRefTable(e){\\\"tableState\\\"in this||(this.tableState={entryNum:0,streamPos:e.lexer.stream.pos,parserBuf1:e.buf1,parserBuf2:e.buf2});const t=this.readXRefTable(e);if(!(0,n.isCmd)(t,\\\"trailer\\\"))throw new r.FormatError(\\\"Invalid XRef table: could not find trailer dictionary\\\");let a=e.getObj();a instanceof n.Dict||!a.dict||(a=a.dict);if(!(a instanceof n.Dict))throw new r.FormatError(\\\"Invalid XRef table: could not parse trailer dictionary\\\");delete this.tableState;return a}readXRefTable(e){const t=e.lexer.stream,a=this.tableState;t.pos=a.streamPos;e.buf1=a.parserBuf1;e.buf2=a.parserBuf2;let i;for(;;){if(!(\\\"firstEntryNum\\\"in a)||!(\\\"entryCount\\\"in a)){if((0,n.isCmd)(i=e.getObj(),\\\"trailer\\\"))break;a.firstEntryNum=i;a.entryCount=e.getObj()}let s=a.firstEntryNum;const o=a.entryCount;if(!Number.isInteger(s)||!Number.isInteger(o))throw new r.FormatError(\\\"Invalid XRef table: wrong types in subsection header\\\");for(let i=a.entryNum;i0;){const[o,c]=s;if(!Number.isInteger(o)||!Number.isInteger(c))throw new r.FormatError(`Invalid XRef range fields: ${o}, ${c}`);if(!Number.isInteger(a)||!Number.isInteger(n)||!Number.isInteger(i))throw new r.FormatError(`Invalid XRef entry fields length: ${o}, ${c}`);for(let s=t.entryNum;s=e.length);){a+=String.fromCharCode(r);r=e[t]}return a}function skipUntil(e,t,a){const r=a.length,n=e.length;let i=0;for(;t=r)break;t++;i++}return i}const e=/^(\\\\d+)\\\\s+(\\\\d+)\\\\s+obj\\\\b/,t=/\\\\bendobj[\\\\b\\\\s]$/,a=/\\\\s+(\\\\d+\\\\s+\\\\d+\\\\s+obj[\\\\b\\\\s<])$/,o=new Uint8Array([116,114,97,105,108,101,114]),c=new Uint8Array([115,116,97,114,116,120,114,101,102]),l=new Uint8Array([111,98,106]),h=new Uint8Array([47,88,82,101,102]);this.entries.length=0;this._cacheMap.clear();const u=this.stream;u.pos=0;const d=u.getBytes(),f=d.length;let g=u.start;const p=[],m=[];for(;g=f)break;n=d[g]}while(10!==n&&13!==n);continue}const b=readToken(d,g);let y;if(b.startsWith(\\\"xref\\\")&&(4===b.length||/\\\\s/.test(b[4]))){g+=skipUntil(d,g,o);p.push(g);g+=skipUntil(d,g,c)}else if(y=e.exec(b)){const e=0|y[1],n=0|y[2];let o,c=g+b.length,f=!1;if(this.entries[e]){if(this.entries[e].gen===n)try{new s.Parser({lexer:new s.Lexer(u.makeSubStream(c))}).getObj();f=!0}catch(e){e instanceof i.ParserEOFException?(0,r.warn)(`indexObjects -- checking object (${b}): \\\"${e}\\\".`):f=!0}}else f=!0;f&&(this.entries[e]={offset:g-u.start,gen:n,uncompressed:!0});for(;c{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.MessageHandler=void 0;var r=a(2);const n=1,i=2,s=1,o=2,c=3,l=4,h=5,u=6,d=7,f=8;function wrapReason(e){e instanceof Error||\\\"object\\\"==typeof e&&null!==e||(0,r.unreachable)('wrapReason: Expected \\\"reason\\\" to be a (possibly cloned) Error.');switch(e.name){case\\\"AbortException\\\":return new r.AbortException(e.message);case\\\"MissingPDFException\\\":return new r.MissingPDFException(e.message);case\\\"PasswordException\\\":return new r.PasswordException(e.message,e.code);case\\\"UnexpectedResponseException\\\":return new r.UnexpectedResponseException(e.message,e.status);case\\\"UnknownErrorException\\\":return new r.UnknownErrorException(e.message,e.details);default:return new r.UnknownErrorException(e.message,e.toString())}}t.MessageHandler=class MessageHandler{constructor(e,t,a){this.sourceName=e;this.targetName=t;this.comObj=a;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);this._onComObjOnMessage=e=>{const t=e.data;if(t.targetName!==this.sourceName)return;if(t.stream){this._processStreamMessage(t);return}if(t.callback){const e=t.callbackId,a=this.callbackCapabilities[e];if(!a)throw new Error(`Cannot resolve callback ${e}`);delete this.callbackCapabilities[e];if(t.callback===n)a.resolve(t.data);else{if(t.callback!==i)throw new Error(\\\"Unexpected callback case\\\");a.reject(wrapReason(t.reason))}return}const r=this.actionHandler[t.action];if(!r)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const e=this.sourceName,s=t.sourceName;new Promise((function(e){e(r(t.data))})).then((function(r){a.postMessage({sourceName:e,targetName:s,callback:n,callbackId:t.callbackId,data:r})}),(function(r){a.postMessage({sourceName:e,targetName:s,callback:i,callbackId:t.callbackId,reason:wrapReason(r)})}))}else t.streamId?this._createStreamSink(t):r(t.data)};a.addEventListener(\\\"message\\\",this._onComObjOnMessage)}on(e,t){const a=this.actionHandler;if(a[e])throw new Error(`There is already an actionName called \\\"${e}\\\"`);a[e]=t}send(e,t,a){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},a)}sendWithPromise(e,t,a){const n=this.callbackId++,i=(0,r.createPromiseCapability)();this.callbackCapabilities[n]=i;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:n,data:t},a)}catch(e){i.reject(e)}return i.promise}sendWithStream(e,t,a,n){const i=this.streamId++,o=this.sourceName,c=this.targetName,l=this.comObj;return new ReadableStream({start:a=>{const s=(0,r.createPromiseCapability)();this.streamControllers[i]={controller:a,startCall:s,pullCall:null,cancelCall:null,isClosed:!1};l.postMessage({sourceName:o,targetName:c,action:e,streamId:i,data:t,desiredSize:a.desiredSize},n);return s.promise},pull:e=>{const t=(0,r.createPromiseCapability)();this.streamControllers[i].pullCall=t;l.postMessage({sourceName:o,targetName:c,stream:u,streamId:i,desiredSize:e.desiredSize});return t.promise},cancel:e=>{(0,r.assert)(e instanceof Error,\\\"cancel must have a valid reason\\\");const t=(0,r.createPromiseCapability)();this.streamControllers[i].cancelCall=t;this.streamControllers[i].isClosed=!0;l.postMessage({sourceName:o,targetName:c,stream:s,streamId:i,reason:wrapReason(e)});return t.promise}},a)}_createStreamSink(e){const t=e.streamId,a=this.sourceName,n=e.sourceName,i=this.comObj,s=this,o=this.actionHandler[e.action],u={enqueue(e,s=1,o){if(this.isCancelled)return;const c=this.desiredSize;this.desiredSize-=s;if(c>0&&this.desiredSize<=0){this.sinkCapability=(0,r.createPromiseCapability)();this.ready=this.sinkCapability.promise}i.postMessage({sourceName:a,targetName:n,stream:l,streamId:t,chunk:e},o)},close(){if(!this.isCancelled){this.isCancelled=!0;i.postMessage({sourceName:a,targetName:n,stream:c,streamId:t});delete s.streamSinks[t]}},error(e){(0,r.assert)(e instanceof Error,\\\"error must have a valid reason\\\");if(!this.isCancelled){this.isCancelled=!0;i.postMessage({sourceName:a,targetName:n,stream:h,streamId:t,reason:wrapReason(e)})}},sinkCapability:(0,r.createPromiseCapability)(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};u.sinkCapability.resolve();u.ready=u.sinkCapability.promise;this.streamSinks[t]=u;new Promise((function(t){t(o(e.data,u))})).then((function(){i.postMessage({sourceName:a,targetName:n,stream:f,streamId:t,success:!0})}),(function(e){i.postMessage({sourceName:a,targetName:n,stream:f,streamId:t,reason:wrapReason(e)})}))}_processStreamMessage(e){const t=e.streamId,a=this.sourceName,n=e.sourceName,i=this.comObj,g=this.streamControllers[t],p=this.streamSinks[t];switch(e.stream){case f:e.success?g.startCall.resolve():g.startCall.reject(wrapReason(e.reason));break;case d:e.success?g.pullCall.resolve():g.pullCall.reject(wrapReason(e.reason));break;case u:if(!p){i.postMessage({sourceName:a,targetName:n,stream:d,streamId:t,success:!0});break}p.desiredSize<=0&&e.desiredSize>0&&p.sinkCapability.resolve();p.desiredSize=e.desiredSize;new Promise((function(e){e(p.onPull&&p.onPull())})).then((function(){i.postMessage({sourceName:a,targetName:n,stream:d,streamId:t,success:!0})}),(function(e){i.postMessage({sourceName:a,targetName:n,stream:d,streamId:t,reason:wrapReason(e)})}));break;case l:(0,r.assert)(g,\\\"enqueue should have stream controller\\\");if(g.isClosed)break;g.controller.enqueue(e.chunk);break;case c:(0,r.assert)(g,\\\"close should have stream controller\\\");if(g.isClosed)break;g.isClosed=!0;g.controller.close();this._deleteStreamController(g,t);break;case h:(0,r.assert)(g,\\\"error should have stream controller\\\");g.controller.error(wrapReason(e.reason));this._deleteStreamController(g,t);break;case o:e.success?g.cancelCall.resolve():g.cancelCall.reject(wrapReason(e.reason));this._deleteStreamController(g,t);break;case s:if(!p)break;new Promise((function(t){t(p.onCancel&&p.onCancel(wrapReason(e.reason)))})).then((function(){i.postMessage({sourceName:a,targetName:n,stream:o,streamId:t,success:!0})}),(function(e){i.postMessage({sourceName:a,targetName:n,stream:o,streamId:t,reason:wrapReason(e)})}));p.sinkCapability.reject(wrapReason(e.reason));p.isCancelled=!0;delete this.streamSinks[t];break;default:throw new Error(\\\"Unexpected stream case\\\")}}async _deleteStreamController(e,t){await Promise.allSettled([e.startCall&&e.startCall.promise,e.pullCall&&e.pullCall.promise,e.cancelCall&&e.cancelCall.promise]);delete this.streamControllers[t]}destroy(){this.comObj.removeEventListener(\\\"message\\\",this._onComObjOnMessage)}}},(e,t,a)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0});t.PDFWorkerStream=void 0;var r=a(2);t.PDFWorkerStream=class PDFWorkerStream{constructor(e){this._msgHandler=e;this._contentLength=null;this._fullRequestReader=null;this._rangeRequestReaders=[]}getFullReader(){(0,r.assert)(!this._fullRequestReader,\\\"PDFWorkerStream.getFullReader can only be called once.\\\");this._fullRequestReader=new PDFWorkerStreamReader(this._msgHandler);return this._fullRequestReader}getRangeReader(e,t){const a=new PDFWorkerStreamRangeReader(e,t,this._msgHandler);this._rangeRequestReaders.push(a);return a}cancelAllRequests(e){this._fullRequestReader&&this._fullRequestReader.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}};class PDFWorkerStreamReader{constructor(e){this._msgHandler=e;this.onProgress=null;this._contentLength=null;this._isRangeSupported=!1;this._isStreamingSupported=!1;const t=this._msgHandler.sendWithStream(\\\"GetReader\\\");this._reader=t.getReader();this._headersReady=this._msgHandler.sendWithPromise(\\\"ReaderHeadersReady\\\").then((e=>{this._isStreamingSupported=e.isStreamingSupported;this._isRangeSupported=e.isRangeSupported;this._contentLength=e.contentLength}))}get headersReady(){return this._headersReady}get contentLength(){return this._contentLength}get isStreamingSupported(){return this._isStreamingSupported}get isRangeSupported(){return this._isRangeSupported}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class PDFWorkerStreamRangeReader{constructor(e,t,a){this._msgHandler=a;this.onProgress=null;const r=this._msgHandler.sendWithStream(\\\"GetRangeReader\\\",{begin:e,end:t});this._reader=r.getReader()}get isStreamingSupported(){return!1}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}}],t={};function __w_pdfjs_require__(a){var r=t[a];if(void 0!==r)return r.exports;var n=t[a]={exports:{}};e[a](n,n.exports,__w_pdfjs_require__);return n.exports}__w_pdfjs_require__.d=(e,t)=>{for(var a in t)__w_pdfjs_require__.o(t,a)&&!__w_pdfjs_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})};__w_pdfjs_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);__w_pdfjs_require__.r=e=>{\\\"undefined\\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"});Object.defineProperty(e,\\\"__esModule\\\",{value:!0})};var a={};(()=>{var e=a;Object.defineProperty(e,\\\"__esModule\\\",{value:!0});Object.defineProperty(e,\\\"WorkerMessageHandler\\\",{enumerable:!0,get:function(){return t.WorkerMessageHandler}});var t=__w_pdfjs_require__(1)})();return a})()));\";","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentSummary.vue?vue&type=style&index=0&id=00bfbb2d&prod&lang=scss&scoped=true\"","'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 globalThis = require('../internals/global-this');\nvar getBuiltInNodeModule = require('../internals/get-built-in-node-module');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = globalThis.structuredClone;\nvar $ArrayBuffer = globalThis.ArrayBuffer;\nvar $MessageChannel = globalThis.MessageChannel;\nvar detach = false;\nvar WorkerThreads, channel, buffer, $detach;\n\nif (PROPER_STRUCTURED_CLONE_TRANSFER) {\n detach = function (transferable) {\n structuredClone(transferable, { transfer: [transferable] });\n };\n} else if ($ArrayBuffer) try {\n if (!$MessageChannel) {\n WorkerThreads = getBuiltInNodeModule('worker_threads');\n if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel;\n }\n\n if ($MessageChannel) {\n channel = new $MessageChannel();\n buffer = new $ArrayBuffer(2);\n\n $detach = function (transferable) {\n channel.port1.postMessage(null, [transferable]);\n };\n\n if (buffer.byteLength === 2) {\n $detach(buffer);\n if (buffer.byteLength === 0) detach = $detach;\n }\n }\n} catch (error) { /* empty */ }\n\nmodule.exports = detach;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoteResultDoughnut.vue?vue&type=style&index=0&id=079c6702&prod&scoped=true&lang=scss\"","'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';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","export const sleep = (ms) => new Promise((resolve) => { setTimeout(resolve, ms); });\n\nexport const stripHtml = (html, replacement) => html.replace(/<[^>]+>/g, replacement ?? '');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = globalThis.RangeError;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw new RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nmodule.exports = {};\n","// Helper function to use the store in a vuex 4.0.0 like way\n// See https://github.com/vuejs/vuex/issues/2212\nimport { getCurrentInstance } from 'vue';\n\n// We leave out the export default on purpose over here to\n// make it compatible with future upgrade to Vue3\n// eslint-disable-next-line import/prefer-default-export\nexport const useStore = () => {\n const vm = getCurrentInstance();\n if (!vm) throw new Error('must be called in setup');\n return vm.proxy.$store;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar notDetached = require('../internals/array-buffer-not-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar detachTransferable = require('../internals/detach-transferable');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = globalThis.structuredClone;\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar DataView = globalThis.DataView;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n var newBuffer;\n notDetached(arrayBuffer);\n if (PROPER_STRUCTURED_CLONE_TRANSFER) {\n arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer;\n }\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) {\n newBuffer = slice(arrayBuffer, 0, newByteLength);\n } else {\n var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined;\n newBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(arrayBuffer);\n var b = new DataView(newBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n }\n if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer);\n return newBuffer;\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';\n// `GetIteratorDirect(obj)` abstract operation\n// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: obj.next,\n done: false\n };\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 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';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\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","function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}\nmodule.exports = _assertClassBrand, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar call = require('../internals/function-call');\n\nmodule.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {\n var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;\n var next = record.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewerPage.vue?vue&type=style&index=0&id=2eea4eaf&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailSidebar.vue?vue&type=style&index=0&id=b232b0d0&prod&lang=scss&scoped=true\"","var checkPrivateRedeclaration = require(\"./checkPrivateRedeclaration.js\");\nfunction _classPrivateFieldInitSpec(e, t, a) {\n checkPrivateRedeclaration(e, t), t.set(e, a);\n}\nmodule.exports = _classPrivateFieldInitSpec, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewer.vue?vue&type=style&index=0&id=21887c50&prod&scoped=true&lang=scss\"","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\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 arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentLayout.vue?vue&type=style&index=0&id=30562b9f&prod&scoped=true&lang=scss\"","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {\n union: union\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer && ArrayBuffer.prototype;\nvar slice = ArrayBufferPrototype && uncurryThis(ArrayBufferPrototype.slice);\n\nmodule.exports = function (O) {\n if (arrayBufferByteLength(O) !== 0) return false;\n if (!slice) return false;\n try {\n slice(O, 0, 0);\n return false;\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {\n // eslint-disable-next-line es/no-array-from, es/no-set -- testing\n return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';\n});\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n intersection: intersection\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 aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar INVALID_SIZE = 'Invalid size';\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, intSize) {\n this.set = set;\n this.size = max(intSize, 0);\n this.has = aCallable(set.has);\n this.keys = aCallable(set.keys);\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return getIteratorDirect(anObject(call(this.keys, this.set)));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);\n var intSize = toIntegerOrInfinity(numSize);\n if (intSize < 0) throw new $RangeError(INVALID_SIZE);\n return new SetRecord(obj, intSize);\n};\n","'use strict';\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\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 = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MetadataDialog.vue?vue&type=style&index=0&id=5036a526&prod&scoped=true&lang=css\"","'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 $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSubsetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericReferences.vue?vue&type=style&index=0&id=5896604c&prod&lang=scss&scoped=true\"","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\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","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(this, () => {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n /** @deprecated unused */\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\",\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (\n typeof bytes !== \"object\" ||\n bytes === null ||\n bytes.length === undefined\n ) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\n// eslint-disable-next-line consistent-return\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FeatureTest,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals __non_webpack_require__ */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n !globalThis._pdfjsCompatibilityChecked\n) {\n globalThis._pdfjsCompatibilityChecked = true;\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Support: Node.js\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !isNodeJS) {\n return;\n }\n globalThis.DOMMatrix = __non_webpack_require__(\n \"dommatrix/dist/dommatrix.js\"\n );\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: Node.js\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !isNodeJS) {\n return;\n }\n globalThis.ReadableStream = __non_webpack_require__(\n \"web-streams-polyfill/dist/ponyfill.js\"\n ).ReadableStream;\n })();\n\n // Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0\n (function checkStructuredClone() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `structuredClone`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.structuredClone) {\n return;\n }\n require(\"core-js/web/structured-clone.js\");\n })();\n}\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n MissingPDFException,\n PasswordException,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport { AnnotationStorage } from \"./annotation_storage.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nlet DefaultCanvasFactory = DOMCanvasFactory;\nlet DefaultCMapReaderFactory = DOMCMapReaderFactory;\nlet DefaultStandardFontDataFactory = DOMStandardFontDataFactory;\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n } = require(\"./node_utils.js\");\n\n DefaultCanvasFactory = NodeCanvasFactory;\n DefaultCMapReaderFactory = NodeCMapReaderFactory;\n DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type {IPDFStreamFactory}\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n *\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either string, URL, Uint8Array, or parameter object.\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory =\n params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {\n params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;\n }\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\n }\n if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) {\n params.maxImageSize = -1;\n }\n if (typeof params.cMapUrl !== \"string\") {\n params.cMapUrl = null;\n }\n if (typeof params.standardFontDataUrl !== \"string\") {\n params.standardFontDataUrl = null;\n }\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch =\n params.CMapReaderFactory === DOMCMapReaderFactory &&\n params.StandardFontDataFactory === DOMStandardFontDataFactory;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !isNodeJS && !params.disableFontFace;\n }\n if (\n typeof params.ownerDocument !== \"object\" ||\n params.ownerDocument === null\n ) {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length,\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n }\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = createPromiseCapability();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n deprecated(\n \"`PDFDocumentProxy.fingerprint`, \" +\n \"please use `PDFDocumentProxy.fingerprints` instead.\"\n );\n return this.fingerprints[0];\n },\n });\n\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n deprecated(\n \"`PDFDocumentProxy.getStats`, \" +\n \"please use the `PDFDocumentProxy.stats`-getter instead.\"\n );\n return this.stats || { streamTypes: {}, fontTypes: {} };\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @type {PDFDocumentStats | null} The current statistics about document\n * structures, or `null` when no statistics exists.\n */\n get stats() {\n return this._transport.stats;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} disableCombineTextItems - Do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n *\n * NOTE: This option may be partially, or completely, ignored when the\n * `pageColors`-option is used.\n * @property {Object} [pageColors] - Overwrites background and foreground colors\n * with user defined ones in order to improve readability in high contrast\n * mode.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this._bitmaps = new Set();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n if (!promise) {\n promise = this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n deprecated(\n \"`title`-property on annotation, please use `titleObj` instead.\"\n );\n return annotation.titleObj.str;\n },\n });\n }\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n deprecated(\n \"`contents`-property on annotation, please use `contentsObj` instead.\"\n );\n return annotation.contentsObj.str;\n },\n });\n }\n }\n return annotations;\n });\n }\n }\n return promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n }) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n deprecated(\n \"render no longer accepts the `renderInteractiveForms`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].renderInteractiveForms === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_FORMS;\n }\n }\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n deprecated(\n \"render no longer accepts the `includeAnnotationStorage`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].includeAnnotationStorage === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_STORAGE;\n }\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = createPromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\n ));\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n this._bitmaps.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n this._bitmaps.clear();\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({ renderingIntent, cacheKey }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage:\n renderingIntent & RenderingIntentFlag.ANNOTATIONS_STORAGE\n ? this._transport.annotationStorage.serializable\n : null,\n }\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data: structuredClone(obj, transfers),\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n // Check if URLs have the same origin. For non-HTTP based URLs, returns false.\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static #workerPorts = new WeakMap();\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && PDFWorker.#workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker.#workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n // Ensure that we can use `postMessage` transfers.\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this.#workerPorts.has(params.port)) {\n return this.#workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentLinks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentLinks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentLinks.vue?vue&type=template&id=10d15b04&scoped=true\"\nimport script from \"./DocumentLinks.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentLinks.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10d15b04\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isDisjointFrom` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {\n isDisjointFrom: isDisjointFrom\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DlrcBasicDetails.vue?vue&type=style&index=0&id=ba54eaa4&prod&lang=scss&scoped=true\"","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype\n};\n","'use strict';\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioTextFragment.vue?vue&type=style&index=0&id=319be834&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListReferences.vue?vue&type=style&index=0&id=d8ed1b00&prod&lang=scss&scoped=true\"","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisclaimerTextDialog.vue?vue&type=style&index=0&id=0abe822c&prod&scoped=true&lang=css\"","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar createSetLike = function (size) {\n return {\n size: size,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nmodule.exports = function (name) {\n var Set = getBuiltIn('Set');\n try {\n new Set()[name](createSetLike(0));\n try {\n // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it\n // https://github.com/tc39/proposal-set-methods/pull/88\n new Set()[name](createSetLike(-1));\n return false;\n } catch (error2) {\n return true;\n }\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/environment-v8-version');\nvar ENVIRONMENT = require('../internals/environment');\n\nvar structuredClone = globalThis.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\nvar has = require('../internals/set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[SetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\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 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 lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\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');\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","var _typeof = require(\"./typeof.js\")[\"default\"];\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}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentPDFBookmarks.vue?vue&type=style&index=0&id=4fa83aeb&prod&lang=scss&scoped=true\"","'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 aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\n","var assertClassBrand = require(\"./assertClassBrand.js\");\nfunction _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}\nmodule.exports = _classPrivateFieldSet2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"document\"},[_c('base-layout',{attrs:{\"bookmark-button\":true,\"filter-button\":false,\"back-button\":_vm.$vuetify.breakpoint.mdAndDown,\"show-drawer-right\":false},scopedSlots:_vm._u([{key:\"drawer-left\",fn:function(){return [(_vm.showPDF && _vm.pdfLoaded)?_c('document-pdf-bookmarks',{attrs:{\"pdfBookmarks\":_vm.pdfBookmarks,\"pdfBookmarksLoading\":_vm.pdfBookmarksLoading,\"keywords\":_vm.document.keywords || []}}):_vm._e(),(!_vm.showPDF)?_c('document-bookmarks',{attrs:{\"bookmarks\":_vm.bookmarks,\"loading\":_vm.bookmarksLoading}}):_vm._e()]},proxy:true},{key:\"identity\",fn:function(){return [_c('a',{staticClass:\"d-flex align-start\",attrs:{\"href\":`${_vm.kebabDashboard}/dashboard`}},[_c('img',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"src\":_vm.logoSrc,\"alt\":_vm.$t('generic.polpoPolicyMonitoring'),\"height\":\"44\"}})])]},proxy:true},{key:\"main-content\",fn:function(){return [_c('div',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[(_vm.document)?_c('v-col',{staticClass:\"pr-2\",attrs:{\"cols\":\"12\",\"md\":_vm.rightColumnOpen ? '8' : '12',\"xl\":_vm.rightColumnOpen ? '8' : '12'}},[_c('document-layout',{attrs:{\"document\":_vm.document,\"link\":_vm.link,\"rssDocument\":_vm.rssDocument,\"pdf\":_vm.pdf,\"showPDF\":_vm.showPDF && _vm.pdfLoaded,\"fileFetchDone\":_vm.fileFetchDone,\"pdfMissing\":_vm.pdfMissing,\"pdfExpandedView\":!_vm.rightColumnOpen,\"showAudioText\":_vm.docHasAudio},on:{\"toggleShowPDF\":_vm.toggleShowPDF,\"pdfRender\":_vm.pdfRender,\"pdfRendered\":_vm.pdfRendered,\"pdfPageReady\":_vm.pdfPageReady,\"togglePdfExpandedView\":function($event){_vm.rightColumnOpen = !_vm.rightColumnOpen}}})],1):_vm._e(),(_vm.document && _vm.rightColumnOpen)?_c('v-col',{staticClass:\"d-none d-md-block\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[(_vm.europarlDocument)?_c('europarl-detail-sidebar',{attrs:{\"document\":_vm.document,\"documentId\":_vm.documentId}}):(_vm.dlrcDocument)?_c('dlrc-detail-sidebar',{attrs:{\"document\":_vm.document,\"documentId\":_vm.documentId}}):(_vm.genericDocument)?_c('generic-detail-sidebar',{attrs:{\"document\":_vm.document,\"documentId\":_vm.documentId}}):(_vm.otherTypeDocument)?_c('detail-sidebar',{attrs:{\"document\":_vm.document,\"documentId\":_vm.documentId,\"docHasAudio\":_vm.docHasAudio}}):_vm._e()],1):_vm._e()],1)],1)],1)]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pre-fixer\"},[(_vm.docHasAudio)?_c('v-card',{staticClass:\"audio-wrapper\",attrs:{\"elevation\":\"6\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.audioLoaded),expression:\"audioLoaded\"}],staticStyle:{\"width\":\"100%\"}},[_c('audio',{ref:\"audioPlayer\",staticClass:\"audioPlayer\",attrs:{\"id\":\"audio-to-text\",\"controls\":\"\",\"crossorigin\":\"use-credentials\"},on:{\"timeupdate\":_vm.scrollToCurrentTextElem,\"play\":_vm.scrollToCurrentTextElem,\"loadeddata\":() => _vm.audioLoaded = true,\"error\":() => _vm.audioError = true}}),_c('v-btn',{staticClass:\"followAudioButton mt-n2\",attrs:{\"small\":\"\"},on:{\"click\":_vm.onFollowToggle}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.followAudio ? 'mdi-close' : 'mdi-chevron-double-down')+\" \")]),_vm._v(\" \"+_vm._s(_vm.followAudio ? _vm.$t('debates.stopAutomaticScrolling') : _vm.$t('debates.automaticScrolling'))+\" \")],1)],1),(_vm.audioError)?_c('span',{staticClass:\"text--secondary ma-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('debates.debateAudioError'))+\" \")]):(!_vm.audioLoaded)?_c('div',{staticClass:\"ma-4\"},[_c('v-progress-circular',{staticClass:\"mr-1 mb-1\",attrs:{\"indeterminate\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.$t('debates.debateAudioLoading'))+\" \")],1):_vm._e()]):_vm._e(),_c('v-expansion-panels',{attrs:{\"multiple\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[(_vm.shouldShowBasicDetails)?_c('basic-details',{attrs:{\"meetings\":_vm.meetings,\"cases\":_vm.document.related?.cases,\"relatedAttachments\":_vm.document.related?.documents || [],\"sourceDocuments\":_vm.document.related?.sourceDocuments || [],\"id\":_vm.documentId,\"documentNumbers\":_vm.documentNumbers,\"persons\":_vm.document.persons,\"locationName\":_vm.document.locationName,\"debateTime\":_vm.getDebateTime}}):_vm._e(),(_vm.document && _vm.document.subjects.length > 0)?_c('list-subjects',{attrs:{\"subjects\":_vm.document.subjects}}):_vm._e(),_c('list-references',{attrs:{\"refs\":_vm.refs,\"id\":_vm.documentId}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panel',{},[_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t('generic.topics'))+\" \"),_c('div',{staticClass:\"text-right pr-4\"},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSubjectsView.apply(null, arguments)}}},[(_vm.subjectsCloud)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-format-list-bulleted \")]):_vm._e(),(!_vm.subjectsCloud)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-cloud-outline \")]):_vm._e()],1)],1)]),_c('v-expansion-panel-content',[(_vm.subjectsCloud)?_c('vue-word-cloud',{staticClass:\"mb-4\",staticStyle:{\"height\":\"120px\"},attrs:{\"words\":_vm.computedWords,\"color\":([, weight]) => weight > _vm.median ? '#303F9F' : '#7986CB',\"font-family\":\"Roboto\",\"font-size-ratio\":1.4,\"spacing\":0.3,\"weight\":1,\"font-weight\":\"500\"}}):_vm._e(),(!_vm.subjectsCloud)?_c('ul',{staticClass:\"text-body-2 plain-li text--secondary\"},_vm._l((_vm.subjects),function(subject,index){return _c('li',{key:index},[_vm._v(\" \"+_vm._s(subject.keyword)+\" \")])}),0):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListSubjects.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListSubjects.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ListSubjects.vue?vue&type=template&id=9d1355dc\"\nimport script from \"./ListSubjects.vue?vue&type=script&lang=js\"\nexport * from \"./ListSubjects.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.meetings?.length\n || _vm.cases\n || _vm.relatedAttachments?.length\n || _vm.sourceDocuments?.length\n || _vm.persons?.length\n || _vm.locationName)?_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('span',[_vm._v(_vm._s(_vm.$t('detail.documentData')))])]),_c('v-expansion-panel-content',[(_vm.documentNumbers.dossier || _vm.documentNumbers.entityCode)?_c('div',{staticClass:\"text-body-2 text--secondary mb-5\"},[_c('ul',[_c('li',[_c('span',[(_vm.documentNumbers.dossier)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('detail.file'))+\": \"),_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary\"},[_vm._v(_vm._s(_vm.documentNumbers.dossier)+\" \")])]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t('detail.number'))+\": \"),_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary\"},[_vm._v(_vm._s(_vm.documentNumbers.entityCode))])])])])]):_vm._e(),(_vm.currentMeetings.length > 0 || _vm.pastMeetings.length > 0)?_c('div',{class:`${_vm.currentMeetings.length === 0 ? 'mb-2' : ''}`},[_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary\"},[_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(\"mdi-calendar\")]),_vm._v(\" \"+_vm._s(_vm.$t('agenda.onTheAgenda')))],1)]):_vm._e(),_c('div',[(_vm.currentMeetings.length > 0)?_c('div',{staticClass:\"text-body-2 mb-1\"},[_c('ul',{staticClass:\"text-body-2 plain-li text--secondary\"},_vm._l((_vm.displayedList('currentMeetings')),function(item,index){return _c('li',{key:index,staticClass:\"mb-2\",class:{ 'mt-2': index === 0 }},[(item.meeting && item.subject)?_c('span',[_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(\" \"+_vm._s(item.date ? `${item.date} ` : '')+\" \")]),_vm._v(\" \"+_vm._s(item.startTime ? `(${item.startTime}${item.endTime ? ` - ${item.endTime}` : ''}` : '')+\") \"+_vm._s(item.activityType ? `${item.activityType}` : _vm.$t('generic.meeting'))+\" \"+_vm._s(item.subject !== item.activityType ? ` - ${item.subject}` : '')+_vm._s(item.documentType ? `(${item.documentType})` : '')+\" » \")])]):_vm._e(),(item.agendaItem && item.title)?_c('span',[_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(\" \"+_vm._s(item.date ? `${item.date} - ` : '')+\" \")]),_vm._v(\" \"+_vm._s(item.docType ? `${item.docType} - ` : `${_vm.$t('generic.agendaItem')} - `)+\" \"+_vm._s(this.title)+_vm._s(item.documentType ? `(${item.documentType})` : '')+\" » \")])]):_vm._e()])}),0),(_vm.currentMeetings.length > this.foldedItemsLimit)?_c('show-more-button',{attrs:{\"show\":_vm.showAllItems.currentMeetings},on:{\"update:show\":value => _vm.showAllItems.currentMeetings = value}}):_vm._e()],1):_vm._e()]),_c('div',[(_vm.pastMeetings.length > 0)?_c('div',{staticClass:\"text-body-2 mb-2\"},[_c('span',{staticClass:\"text-body-2 text--secondary\"},[_vm._v(_vm._s(_vm.$t('detail.concluded')))]),_c('ul',{staticClass:\"text-body-2 plain-li past-list text--secondary\"},_vm._l((_vm.displayedList('pastMeetings')),function(item,index){return _c('li',{key:index,staticClass:\"check mb-1\"},[(item.meeting && item.subject)?_c('span',[_c('a',{staticClass:\"text-body-2 text--secondary\",attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(\" \"+_vm._s(item.date ? `${item.date} ` : '')+\" \")]),_vm._v(\" \"+_vm._s(item.startTime ? `(${item.startTime}${item.endTime ? ` - ${item.endTime}` : ''}` : '')+\") \"+_vm._s(item.activityType ? `${item.activityType}` : _vm.$t('generic.meeting'))+\" \"+_vm._s(item.subject !== item.activityType ? ` - ${item.subject}` : '')+_vm._s(item.documentType ? `(${item.documentType})` : '')+\" » \")])]):_vm._e(),(item.agendaItem && item.title)?_c('span',[_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(\" \"+_vm._s(item.date ? `${item.date} - ` : '')+\" \")]),_vm._v(\" \"+_vm._s(item.docType ? `${item.docType} - ` : `${_vm.$t('generic.agendaItem')} - `)+\" \"+_vm._s(this.title)+_vm._s(item.documentType ? `(${item.documentType})` : '')+\" » \")])]):_vm._e()])}),0),(_vm.pastMeetings.length > this.foldedItemsLimit)?_c('show-more-button',{attrs:{\"show\":_vm.showAllItems.pastMeetings},on:{\"update:show\":value => _vm.showAllItems.pastMeetings = value}}):_vm._e()],1):_vm._e()]),(_vm.sourceDocuments?.length)?_c('div',{staticClass:\"text-body-2 mt-4 mb-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary\"},[_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(\"mdi-attachment\")]),_vm._v(\" \"+_vm._s(_vm.$t('detail.parliamentaryDocument')))],1),_c('ul',{staticClass:\"text-body-2 plain-li text--secondary\"},_vm._l((_vm.displayedList('sourceDocuments')),function(item,index){return _c('li',{key:index,staticClass:\"mb-1\"},[_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(\" \"+_vm._s(item.date ? `${item.date} - ` : '')+\" \")]),_vm._v(\" \"+_vm._s(item.title)+\" \"+_vm._s(item.dossierId ? `(${item.dossierId})` : item.documentId ? `(${item.documentId})` : '')+\" » \")])])}),0),(_vm.sourceDocuments.length > this.foldedItemsLimit)?_c('show-more-button',{attrs:{\"show\":_vm.showAllItems.sourceDocuments},on:{\"update:show\":value => _vm.showAllItems.sourceDocuments = value}}):_vm._e()],1):_vm._e(),(_vm.relatedAttachments?.length)?_c('div',{staticClass:\"text-body-2 mt-4 mb-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary\"},[_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(\"mdi-attachment\")]),_vm._v(\" \"+_vm._s(_vm.$t('detail.attachment')))],1),_c('ul',{staticClass:\"text-body-2 plain-li text--secondary\"},_vm._l((_vm.displayedList('relatedAttachments')),function(item,index){return _c('li',{key:index,staticClass:\"mb-1\"},[_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(\" \"+_vm._s(item.date ? `${item.date} - ` : '')+\" \")]),_vm._v(\" \"+_vm._s(item.title)+\" \"+_vm._s(item.documentId ? `(${item.documentId})` : '')+\" » \")])])}),0),(_vm.relatedAttachments.length > this.foldedItemsLimit)?_c('show-more-button',{attrs:{\"show\":_vm.showAllItems.relatedAttachments},on:{\"update:show\":value => _vm.showAllItems.relatedAttachments = value}}):_vm._e()],1):_vm._e(),(_vm.cases?.length)?_c('div',_vm._l((_vm.cases),function(kase,i){return _c('div',{key:i,staticClass:\"cases\"},[(kase?.decisions?.decisionHistory?.length)?_c('a',{staticClass:\"mt-6 caseHeader\",on:{\"click\":() => _vm.$set(_vm.casesOpen, i, !_vm.casesOpen[i])}},[_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(\"mdi-folder-open\")]),_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary ml-1\"},[_vm._v(_vm._s(_vm.$t('detail.case'))+\": \")]),_c('span',{staticClass:\"text-body-2 text--secondary\"},[_vm._v(_vm._s(kase.subject)+\" (\"+_vm._s(kase.entityCode)+\")\")]),_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(_vm._s(_vm.casesOpen[i] ? 'mdi-chevron-up' : 'mdi-chevron-down'))])],1):_vm._e(),(_vm.casesOpen[i])?_c('div',{staticClass:\"text-body-2 caseContent mt-2\"},[(kase?.decisions?.decisionHistory?.length)?_c('div',[_c('span',{staticClass:\"text-body-2 font-weight-medium text--secondary ml-1\"},[_vm._v(_vm._s(_vm.$t('generic.status'))+\":\")]),_c('ul',{staticClass:\"text-body-2 plain-li text--secondary\"},_vm._l((kase?.decisions.decisionHistory),function(item,index){return _c('li',{key:index,staticClass:\"mb-1\"},[_c('strong',[_vm._v(_vm._s(item.resultDate)+\" - \")]),_c('span',{style:(_vm.voteResultStatusStyling(item.overallResult))},[_vm._v(\" \"+_vm._s(item.overallResult)+\" \")])])}),0)]):_vm._e(),(kase?.decisions.fullResult && kase?.decisions?.detailedResults?.length)?_c('vote-results-detailed',{staticClass:\"ml-1 mt-6\",attrs:{\"voteResults\":kase?.decisions}}):_vm._e()],1):_vm._e()])}),0):_vm._e(),(_vm.persons?.length || _vm.locationName)?_c('debate-details',{attrs:{\"locationName\":_vm.locationName,\"persons\":_vm.persons,\"time\":_vm.debateTime}}):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"legend\"},_vm._l((['for', 'against', 'didntParticipate'].filter((voteKind) => _vm.calculateVoteResults[voteKind].count > 0)),function(voteKind){return _c('div',{key:voteKind,staticClass:\"legendColumn\"},[_c('div',{staticClass:\"innerColumn\"},[_c('span',{staticClass:\"text-body-2 text--secondary\"},[_vm._v(\" \"+_vm._s(_vm.calculateVoteResults[voteKind].name)+\": \"),_c('strong',[_vm._v(_vm._s(_vm.calculateVoteResults[voteKind].count))]),_vm._v(\" \"+_vm._s(_vm.$t('voteResults.votes'))+\" \")]),_c('ul',_vm._l((_vm.sortedVoteDataForLegend[voteKind]),function(actor,i){return _c('li',{key:i,class:voteKind},[_c('span',{staticClass:\"text-body-2 text--secondary\"},[_c('strong',[_vm._v(_vm._s(actor.actorName)+\" -\")]),_vm._v(\" \"+_vm._s(_vm.isHeadCount ? actor.actorFraction : actor.fractionSize)+\" \")])])}),0)])])}),0),_c('vote-result-doughnut',{staticClass:\"mt-2\",attrs:{\"vote-data\":_vm.voteResults.detailedResults,\"vote-distribution\":_vm.calculateVoteResults}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('span',{staticClass:\"downloadIcon\"},[_c('v-icon',{attrs:{\"color\":\"blue darken-1\"},on:{\"click\":_vm.downloadChart}},[_vm._v(\" \"+_vm._s(this.downloading ? 'mdi-loading mdi-spin' : 'mdi-download')+\" \")])],1),_c('a',{ref:\"downloadLink\",staticStyle:{\"display\":\"none\"},attrs:{\"href\":_vm.downloadUrl,\"download\":\"chart.png\"}}),_c('Doughnut',{attrs:{\"chart-data\":_vm.preparedChartData,\"chart-options\":_vm.chartOptions,\"chart-id\":'doughnut-chart',\"dataset-id-key\":'label',\"plugins\":[],\"css-classes\":'',\"styles\":{},\"width\":300,\"height\":300}})],1),(_vm.downloading)?_c('div',{staticStyle:{\"position\":\"fixed\",\"top\":\"0\",\"left\":\"0\",\"opacity\":\"0\"}},[_c('Doughnut',{ref:\"canvasDownloadRef\",attrs:{\"chart-data\":_vm.preparedChartDataDownload,\"chart-options\":_vm.chartDownloadOptions,\"chart-id\":'doughnut-chart',\"dataset-id-key\":'label',\"plugins\":_vm.plugins,\"css-classes\":'',\"styles\":{},\"width\":500,\"height\":500}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","import { Chart, BarController, DoughnutController, LineController, PieController, PolarAreaController, RadarController, BubbleController, ScatterController } from 'chart.js';\n\nvar ChartEmits;\n(function(ChartEmits) {\n ChartEmits[\"ChartRendered\"] = \"chart:rendered\";\n ChartEmits[\"ChartUpdated\"] = \"chart:updated\";\n ChartEmits[\"ChartDestroyed\"] = \"chart:destroyed\";\n ChartEmits[\"LabelsUpdated\"] = \"labels:updated\";\n})(ChartEmits || (ChartEmits = {}));\nfunction chartCreate(createChartFunction, chartData, chartOptions, context) {\n createChartFunction(chartData, chartOptions);\n if (context !== undefined) {\n context.emit(ChartEmits.ChartRendered);\n }\n}\nfunction chartUpdate(chart, context) {\n chart.update();\n if (context !== undefined) {\n context.emit(ChartEmits.ChartUpdated);\n }\n}\nfunction chartDestroy(chart, context) {\n chart.destroy();\n if (context !== undefined) {\n context.emit(ChartEmits.ChartDestroyed);\n }\n}\nfunction getChartData(data, datasetIdKey) {\n const nextData = {\n labels: typeof data.labels === \"undefined\" ? [] : [\n ...data.labels\n ],\n datasets: []\n };\n setChartDatasets(nextData, {\n ...data\n }, datasetIdKey);\n return nextData;\n}\nfunction setChartDatasets(oldData, newData, datasetIdKey) {\n const addedDatasets = [];\n oldData.datasets = newData.datasets.map((nextDataset)=>{\n // given the new set, find it's current match\n const currentDataset = oldData.datasets.find((dataset)=>dataset[datasetIdKey] === nextDataset[datasetIdKey]);\n // There is no original to update, so simply add new one\n if (!currentDataset || !nextDataset.data || addedDatasets.includes(currentDataset)) {\n return {\n ...nextDataset\n };\n }\n addedDatasets.push(currentDataset);\n Object.assign(currentDataset, nextDataset);\n return currentDataset;\n });\n}\nfunction setChartLabels(chart, labels, context) {\n chart.data.labels = labels;\n if (context !== undefined) {\n context.emit(ChartEmits.LabelsUpdated);\n }\n}\nfunction setChartOptions(chart, options) {\n chart.options = {\n ...options\n };\n}\nfunction compareData(newData, oldData) {\n // Get new and old DataSet Labels\n const newDatasetLabels = newData.datasets.map((dataset)=>{\n return dataset.label;\n });\n const oldDatasetLabels = oldData.datasets.map((dataset)=>{\n return dataset.label;\n });\n // Check if Labels are equal and if dataset length is equal\n return oldData.datasets.length === newData.datasets.length && newDatasetLabels.every((value, index)=>value === oldDatasetLabels[index]);\n}\nconst templateError = \"Please remove the tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components\";\n\nconst ANNOTATION_PLUGIN_KEY = \"annotation\";\nfunction generateChart(chartId, chartType, chartController) {\n let _chartRef = {};\n return {\n props: {\n chartData: {\n type: Object,\n required: true\n },\n chartOptions: {\n type: Object,\n default: ()=>{}\n },\n datasetIdKey: {\n type: String,\n default: \"label\"\n },\n chartId: {\n type: String,\n default: chartId\n },\n width: {\n type: Number,\n default: 400\n },\n height: {\n type: Number,\n default: 400\n },\n cssClasses: {\n type: String,\n default: \"\"\n },\n styles: {\n type: Object,\n default: ()=>{}\n },\n plugins: {\n type: Array,\n default: ()=>[]\n }\n },\n data () {\n return {\n _chart: null,\n _id: Math.random().toString(36).substring(2)\n };\n },\n computed: {\n hasAnnotationPlugin () {\n var ref, ref1;\n const pluginSettings = (ref = this.chartOptions) === null || ref === void 0 ? void 0 : (ref1 = ref.plugins) === null || ref1 === void 0 ? void 0 : ref1[ANNOTATION_PLUGIN_KEY];\n return typeof pluginSettings !== \"undefined\";\n }\n },\n created () {\n Chart.register(chartController);\n },\n mounted () {\n _chartRef[this.$data._id] = null;\n if (\"datasets\" in this.chartData && this.chartData.datasets.length > 0) {\n chartCreate(this.renderChart, this.chartData, this.chartOptions);\n this.$emit(ChartEmits.ChartRendered);\n }\n },\n watch: {\n chartData: {\n handler: function(newValue, oldValue) {\n this.chartDataHandler(newValue, oldValue);\n },\n deep: true\n },\n chartOptions: {\n handler: function(newValue) {\n this.chartOptionsHandler(newValue);\n },\n deep: true\n }\n },\n methods: {\n renderChart (data, options) {\n const currentChart = this.getCurrentChart();\n if (currentChart !== null) {\n chartDestroy(currentChart);\n this.$emit(ChartEmits.ChartDestroyed);\n }\n if (!this.$refs.canvas) {\n throw new Error(templateError);\n } else {\n const chartData = getChartData(data, this.datasetIdKey);\n const canvasEl2DContext = this.$refs.canvas.getContext(\"2d\");\n if (canvasEl2DContext !== null) {\n this.setCurrentChart(new Chart(canvasEl2DContext, {\n type: chartType,\n data: chartData,\n options,\n plugins: this.plugins\n }));\n }\n }\n },\n chartDataHandler (newValue, oldValue) {\n const newData = {\n ...newValue\n };\n const oldData = {\n ...oldValue\n };\n const currentChart = this.getCurrentChart();\n if (Object.keys(oldData).length > 0) {\n const isEqualLabelsAndDatasetsLength = compareData(newData, oldData);\n if (isEqualLabelsAndDatasetsLength && currentChart !== null) {\n setChartDatasets(currentChart.data, newData, this.datasetIdKey);\n if (newData.labels !== undefined) {\n setChartLabels(currentChart, newData.labels);\n this.$emit(ChartEmits.LabelsUpdated);\n }\n this.updateChart();\n this.$emit(ChartEmits.ChartUpdated);\n } else {\n if (currentChart !== null) {\n chartDestroy(currentChart);\n this.$emit(ChartEmits.ChartDestroyed);\n }\n chartCreate(this.renderChart, this.chartData, this.chartOptions);\n this.$emit(ChartEmits.ChartRendered);\n }\n } else {\n if (currentChart !== null) {\n chartDestroy(currentChart);\n this.$emit(ChartEmits.ChartDestroyed);\n }\n chartCreate(this.renderChart, this.chartData, this.chartOptions);\n this.$emit(ChartEmits.ChartRendered);\n }\n },\n chartOptionsHandler (options) {\n const currentChart = this.getCurrentChart();\n if (currentChart !== null) {\n setChartOptions(currentChart, options);\n this.updateChart();\n } else {\n chartCreate(this.renderChart, this.chartData, this.chartOptions);\n }\n },\n updateChart () {\n const currentChart = this.getCurrentChart();\n chartUpdate(currentChart);\n },\n getCurrentChart () {\n return this.hasAnnotationPlugin ? _chartRef[this.$data._id] : this.$data._chart;\n },\n setCurrentChart (chart) {\n this.hasAnnotationPlugin ? _chartRef[this.$data._id] = chart : this.$data._chart = chart;\n }\n },\n beforeDestroy () {\n const currentChart = this.getCurrentChart();\n if (currentChart !== null) {\n chartDestroy(currentChart);\n this.$emit(ChartEmits.ChartDestroyed);\n }\n },\n render: function(createElement) {\n return createElement(\"div\", {\n style: this.styles,\n class: this.cssClasses\n }, [\n createElement(\"canvas\", {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: \"canvas\"\n })\n ]);\n }\n };\n}\n/** @type Object */ const Bar = /* #__PURE__ */ generateChart(\"bar-chart\", \"bar\", BarController);\n/** @type Object */ const Doughnut = /* #__PURE__ */ generateChart(\"doughnut-chart\", \"doughnut\", DoughnutController);\n/** @type Object */ const Line = /* #__PURE__ */ generateChart(\"line-chart\", \"line\", LineController);\n/** @type Object */ const Pie = /* #__PURE__ */ generateChart(\"pie-chart\", \"pie\", PieController);\n/** @type Object */ const PolarArea = /* #__PURE__ */ generateChart(\"polar-chart\", \"polarArea\", PolarAreaController);\n/** @type Object */ const Radar = /* #__PURE__ */ generateChart(\"radar-chart\", \"radar\", RadarController);\n/** @type Object */ const Bubble = /* #__PURE__ */ generateChart(\"bubble-chart\", \"bubble\", BubbleController);\n/** @type Object */ const Scatter = /* #__PURE__ */ generateChart(\"scatter-chart\", \"scatter\", ScatterController);\n\nexport { Bar, Bubble, Doughnut, Line, Pie, PolarArea, Radar, Scatter, generateChart };\n//# sourceMappingURL=index.js.map\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoteResultDoughnut.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoteResultDoughnut.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VoteResultDoughnut.vue?vue&type=template&id=079c6702&scoped=true\"\nimport script from \"./VoteResultDoughnut.vue?vue&type=script&lang=js\"\nexport * from \"./VoteResultDoughnut.vue?vue&type=script&lang=js\"\nimport style0 from \"./VoteResultDoughnut.vue?vue&type=style&index=0&id=079c6702&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"079c6702\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoteResultsDetailed.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoteResultsDetailed.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VoteResultsDetailed.vue?vue&type=template&id=9c77f46c&scoped=true\"\nimport script from \"./VoteResultsDetailed.vue?vue&type=script&lang=js\"\nexport * from \"./VoteResultsDetailed.vue?vue&type=script&lang=js\"\nimport style0 from \"./VoteResultsDetailed.vue?vue&type=style&index=0&id=9c77f46c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9c77f46c\",\n null\n \n)\n\nexport default component.exports","import './_grid.sass'\n\nimport Grid from './grid'\n\nexport default Grid('layout')\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-layout',{attrs:{\"justify-center\":\"true\"}},[_c('v-btn',{staticClass:\"mt-1\",on:{\"click\":_vm.toggleShow}},[_vm._v(\" \"+_vm._s(_vm.show ? _vm.$t('generic.showLess') : _vm.$t('generic.showMore'))+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowMoreButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowMoreButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShowMoreButton.vue?vue&type=template&id=3b6b8802\"\nimport script from \"./ShowMoreButton.vue?vue&type=script&lang=js\"\nexport * from \"./ShowMoreButton.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.locationName || _vm.time)?_c('div',[_c('ul',{staticClass:\"mb-2\"},[(_vm.locationName)?_c('li',{staticClass:\"text-body-2 text--secondary\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('generic.location'))+\": \")]),_vm._v(\" \"+_vm._s(_vm.locationName)+\" \")]):_vm._e(),(_vm.time)?_c('li',{staticClass:\"text-body-2 text--secondary\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('generic.time'))+\": \")]),_vm._v(_vm._s(_vm.formattedStartTime)+\" - \"+_vm._s(_vm.formattedEndTime)+\" \")]):_vm._e()])]):_vm._e(),(_vm.formattedPersons.size)?_c('div',[_c('div',{staticClass:\"mt-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary\"},[_c('v-icon',{attrs:{\"color\":\"grey darken-1\",\"size\":\"1.2rem\"}},[_vm._v(\"mdi-bank\")]),_vm._v(\" \"+_vm._s(_vm.$t('debates.inTheRoom'))+\" \")],1)]),_c('div',{staticClass:\"text-body-2 mt-4 mb-4\"},_vm._l((Array.from(\n _vm.formattedPersons\n )),function([personFunction, persons],index){return _c('div',{key:`function-${index}`},[_c('span',{staticClass:\"text-body-2 text--secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t(`debates.${personFunction}`))+\" \")]),_c('ul',{staticClass:\"text-body-2 plain-li text--secondary\"},_vm._l((persons),function(person){return _c('li',{key:person.actorId,staticClass:\"mb-2 mt-2\"},[_c('strong',[_vm._v(_vm._s(person.name))]),(person.showFunction)?_c('span',[_vm._v(\" (\"+_vm._s(person.function)+\") \")]):_vm._e(),(person.partyShorthand)?_c('span',[_vm._v(\" (\"+_vm._s(person.partyShorthand)+\") \")]):_vm._e()])}),0)])}),0)]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DebateDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DebateDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DebateDetails.vue?vue&type=template&id=6d881f0a\"\nimport script from \"./DebateDetails.vue?vue&type=script&lang=js\"\nexport * from \"./DebateDetails.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BasicDetails.vue?vue&type=template&id=25043b70&scoped=true\"\nimport script from \"./BasicDetails.vue?vue&type=script&lang=js\"\nexport * from \"./BasicDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./BasicDetails.vue?vue&type=style&index=0&id=25043b70&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"25043b70\",\n null\n \n)\n\nexport default component.exports","// Styles\nimport './VTimeline.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { getSlot } from '../../util/helpers'\n\nexport default mixins(\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-timeline',\n\n provide (): object {\n return { timeline: this }\n },\n\n props: {\n alignTop: Boolean,\n dense: Boolean,\n reverse: Boolean,\n },\n\n computed: {\n classes (): {} {\n return {\n 'v-timeline--align-top': this.alignTop,\n 'v-timeline--dense': this.dense,\n 'v-timeline--reverse': this.reverse,\n ...this.themeClasses,\n }\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-timeline',\n class: this.classes,\n }, getSlot(this))\n },\n})\n","// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\n\n// Components\nimport VTimeline from './VTimeline'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport Colorable from '../../mixins/colorable'\nimport { getSlot } from '../../util/helpers'\n\nconst baseMixins = mixins(\n Colorable,\n Themeable\n/* @vue/component */\n)\n\ntype VTimelineInstance = InstanceType\n\ninterface options extends ExtractVue {\n timeline: VTimelineInstance\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-timeline-item',\n\n inject: ['timeline'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n fillDot: Boolean,\n hideDot: Boolean,\n icon: String,\n iconColor: String,\n large: Boolean,\n left: Boolean,\n right: Boolean,\n small: Boolean,\n },\n\n computed: {\n hasIcon (): boolean {\n return !!this.icon || !!this.$slots.icon\n },\n },\n\n methods: {\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__body',\n }, getSlot(this))\n },\n genIcon (): VNode | VNode[] {\n return getSlot(this, 'icon') || this.$createElement(VIcon, {\n props: {\n color: this.iconColor,\n dark: !this.theme.isDark,\n small: this.small,\n },\n }, this.icon)\n },\n genInnerDot () {\n const data: VNodeData = this.setBackgroundColor(this.color)\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__inner-dot',\n ...data,\n }, [this.hasIcon && this.genIcon()])\n },\n genDot () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__dot',\n class: {\n 'v-timeline-item__dot--small': this.small,\n 'v-timeline-item__dot--large': this.large,\n },\n }, [this.genInnerDot()])\n },\n genDivider () {\n const children = []\n\n if (!this.hideDot) children.push(this.genDot())\n\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__divider',\n }, children)\n },\n genOpposite () {\n return this.$createElement('div', {\n staticClass: 'v-timeline-item__opposite',\n }, getSlot(this, 'opposite'))\n },\n },\n\n render (h): VNode {\n const children = [\n this.genBody(),\n this.genDivider(),\n ]\n\n if (this.$slots.opposite) children.push(this.genOpposite())\n\n return h('div', {\n staticClass: 'v-timeline-item',\n class: {\n 'v-timeline-item--fill-dot': this.fillDot,\n 'v-timeline-item--before': this.timeline.reverse ? this.right : this.left,\n 'v-timeline-item--after': this.timeline.reverse ? this.left : this.right,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasReferences())?_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('timeline.relatedDocuments')))]),_c('v-expansion-panel-content',[(_vm.items)?_c('v-timeline',{attrs:{\"reverse\":false,\"dense\":\"\",\"align-top\":\"\"}},[_vm._l((_vm.items.data.slice(0, _vm.size)),function(item){return _c('v-timeline-item',{key:item.id,attrs:{\"color\":_vm.codeToColor(\n item.type &&\n (item.type.startsWith('EUROPARL-') ||\n item.type.startsWith('EUROCOM-') ||\n item.type.startsWith('EUROCOU-'))\n ? item.institution\n : item.type\n ),\"icon\":`${_vm.id && _vm.id === item.id ? 'mdi-disc' : ''}`,\"small\":_vm.id && _vm.id !== item.id}},[_c('v-card',{staticClass:\"elevation-2\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();item.type && item.type.startsWith('DH-')\n ? _vm.externalUrl(item.url)\n : _vm.goToUrlConditionally(item.type, item.id)}}},[_c('v-card-title',{staticClass:\"text-subtitle-2 mb-n2\"},[_vm._v(\" \"+_vm._s(_vm.formattedDate(item.publicationDate))+\" \")]),_c('v-card-text',{staticClass:\"mt-n2\"},[_vm._v(\" \"+_vm._s(_vm.itemStripHtml(item.title))),(item.fragDocu)?_c('span',[_vm._v(\" \"+_vm._s(_vm.itemFragDocufy(item.fragDocu)))]):_vm._e()]),_c('v-card-text',{staticClass:\"text-caption mt-n5 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.getCleanedRef(item))+\" \"),(_vm.getProcedureNumber(item))?_c('span',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('generic.and')))]),_vm._v(_vm._s(_vm.getProcedureNumber(item)))]):_vm._e(),(item.related && item.related.dossier.dossierId)?_c('span',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(item.related.dossier.dossierId)+\" - \")])]):_vm._e(),(item.institution)?_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" - \"+_vm._s(_vm.codeToName(item.institution)))]):_vm._e(),(item.url)?_c('span',[_vm._v(\" \"+_vm._s(_vm.itemUrlToSourceName(item.url))+\" \")]):_vm._e(),(item.type && item.type.startsWith('DH-'))?_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" - \"+_vm._s(item.documentType))]):_vm._e()])],1)],1)}),(!(_vm.size >= _vm.items.data.length))?_c('v-btn',{on:{\"click\":function($event){$event.stopPropagation();return _vm.showMore()}}},[_vm._v(\" \"+_vm._s(_vm.$t('generic.showMore'))+\" \")]):_vm._e()],2):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const typeToColor = (type) => {\n // KEEP IN SYNC WITH documentDashboard/components/ListTimelineItemCategory\n // (or better yet - refactor to remove the duplication)!\n // TODO: POLMONNL-6203 - Replace this with using the colours from the grouping instead\n\n // Avoid crashes in case something is misconfigured. We use lighten-2 here to help identify any such issues.\n if (!type) return 'grey lighten-2';\n // Institutions are processed on 'institution', so `type` is a misnomer here\n if (type === 'EUROCOM') return 'amber accent-2';\n if (type === 'EUROPARL') return 'blue darken-4';\n if (type === 'EUROCOU') return '#FF914D';\n\n // For all others, actually use `type`:\n if (type === 'SB-EU-Source-4') return '#FF914D'; // Consilium press releases\n if (type.startsWith('DH-')) return '#2962FF';\n if (type.startsWith('DS-')) return '#00BFA5';\n if (type.startsWith('DS2-')) return '#00BFA5';\n if (type.startsWith('DM-')) return 'brown lighten-1';\n if (type.startsWith('SB-')) return 'grey lighten-1';\n if (type.startsWith('MD-')) return 'purple lighten-1';\n if (type.startsWith('STB-')) return '#2EA3F2';\n if (type.startsWith('DOJ-')) return '#F09834';\n if (type.startsWith('CC-')) return 'cyan darken-3';\n if (type.startsWith('PC-')) return 'light-blue darken-4';\n // BE (FED/FLM)\n if (type.startsWith('BE-FLM-PAR-')) return '#FFD32C';\n if (type.startsWith('BE-FLM-GOV-')) return '#ED2100';\n if (type.startsWith('BE-FED-PAR-')) return '#FFD740';\n if (type.startsWith('BE-FED-GOV-')) return '#0D47A1';\n if (type.startsWith('BE-FED-COS-')) return '#FF914D';\n\n // Catch-all for everything else\n return 'grey lighten-1';\n};\n\nexport default typeToColor;\n","/**\n * Function to clean up EU (and *only* EU!) reference numbers (COM, SEC, etc).\n *\n * @param {string} ref - Reference number to be cleaned up, for example `COM_COM(2021)0012`\n * @returns {string} - Cleaned up reference number, for example `COM(2021) 12`\n */\nconst cleanReferenceNumber = (ref) => {\n let cleanedRef = ref;\n // Clean up preceding COM_ if it exists.\n // For example: COM_COM(2021)0012 -> COM(2021)0012\n if (ref.startsWith('COM_')) {\n cleanedRef = ref.slice(4);\n }\n // Clean up leading zeroes and spaces in the number at the end,\n // and replaces them with a single space. For example:\n // - COM(2021)0012 -> COM(2021) 12\n // - COM(2021)1234 -> COM(2021) 1234\n // - COM(2021) 123 -> COM(2021) 123 (unchanged)\n const firstHalf = cleanedRef.slice(0, cleanedRef.indexOf(')') + 1);\n const secondHalf = cleanedRef.slice(cleanedRef.indexOf(')') + 1).trim();\n cleanedRef = `${firstHalf} ${secondHalf.replace(/^0+/, '')}`;\n // TODO: more cleaning here?\n return cleanedRef;\n};\n\nexport default cleanReferenceNumber;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('feature-teaser-dialog',{attrs:{\"title\":_vm.$t('modules.EUDashboard')}},[_c('p',[_vm._v(_vm._s(_vm.$t('modules.moduleAccessWarningEU')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuTeaserDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuTeaserDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EuTeaserDialog.vue?vue&type=template&id=67c30d05\"\nimport script from \"./EuTeaserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./EuTeaserDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('feature-teaser-dialog',{attrs:{\"title\":_vm.$t('modules.DSModule')}},[_c('p',[_vm._v(_vm._s(_vm.$t('modules.moduleAccessWarningDS')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DutchSenateTeaserDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DutchSenateTeaserDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DutchSenateTeaserDialog.vue?vue&type=template&id=9f4f60aa\"\nimport script from \"./DutchSenateTeaserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./DutchSenateTeaserDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('feature-teaser-dialog',{attrs:{\"title\":\"Geen toegang\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('modules.missingModuleWarning')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MissingModuleTeaserDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MissingModuleTeaserDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MissingModuleTeaserDialog.vue?vue&type=template&id=19195afa\"\nimport script from \"./MissingModuleTeaserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./MissingModuleTeaserDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListReferences.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListReferences.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ListReferences.vue?vue&type=template&id=d8ed1b00&scoped=true\"\nimport script from \"./ListReferences.vue?vue&type=script&lang=js\"\nexport * from \"./ListReferences.vue?vue&type=script&lang=js\"\nimport style0 from \"./ListReferences.vue?vue&type=style&index=0&id=d8ed1b00&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d8ed1b00\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DetailSidebar.vue?vue&type=template&id=b232b0d0&scoped=true\"\nimport script from \"./DetailSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./DetailSidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./DetailSidebar.vue?vue&type=style&index=0&id=b232b0d0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b232b0d0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panels',{attrs:{\"multiple\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[_c('europarl-document-specs',{attrs:{\"document\":_vm.document}}),_c('europarl-references',{attrs:{\"refs\":_vm.refs,\"id\":_vm.documentId}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasReferences())?_c('v-expansion-panel',{},[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('timeline.relatedDocuments')))]),_c('v-expansion-panel-content',[(_vm.items)?_c('v-timeline',{attrs:{\"reverse\":false,\"dense\":\"\",\"align-top\":\"\"}},_vm._l((_vm.items.data),function(item){return _c('v-timeline-item',{key:item.id,attrs:{\"color\":_vm.codeToColor(\n item.type &&\n (item.type.startsWith('EUROPARL-') ||\n item.type.startsWith('EUROCOM-') ||\n item.type.startsWith('EUROCOU-'))\n ? item.institution\n : item.type\n ),\"icon\":`${_vm.id && _vm.id === item.id ? 'mdi-disc' : ''}`,\"small\":_vm.id && _vm.id !== item.id}},[_c('v-card',{staticClass:\"elevation-2\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.goToUrlConditionally(item.type, item.id)}}},[_c('v-card-title',{staticClass:\"text-subtitle-2 mb-n2\"},[_vm._v(\" \"+_vm._s(_vm.formattedDate(item.publicationDate))+\" \")]),_c('v-card-text',{staticClass:\"mt-n2\"},[_vm._v(\" \"+_vm._s(_vm.itemStripHtml(item.title))+\" \"),(item.fragDocu)?_c('span',[_vm._v(\" \"+_vm._s(_vm.itemFragDocufy(item.fragDocu)))]):_vm._e()]),_c('v-card-text',{staticClass:\"text-caption mt-n5\"},[_vm._v(\" \"+_vm._s(_vm.getCleanedRef(item))+\" \"),(_vm.getProcedureNumber(item))?_c('span',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"en\")]),_vm._v(\" \"+_vm._s(_vm.getProcedureNumber(item))+\" \")]):_vm._e(),_vm._v(\" - \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.codeToName(item.institution))+\" \"),(item.url)?_c('span',[_vm._v(\" \"+_vm._s(_vm.itemUrlToSourceName(item.url))+\" \")]):_vm._e()])])],1)],1)}),1):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuroparlReferences.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuroparlReferences.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EuroparlReferences.vue?vue&type=template&id=1a926f16&scoped=true\"\nimport script from \"./EuroparlReferences.vue?vue&type=script&lang=js\"\nexport * from \"./EuroparlReferences.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a926f16\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panel',{},[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('detail.documentData')))]),_c('v-expansion-panel-content',[_c('ul',{staticClass:\"text-body-2 text--secondary\"},[(_vm.institution)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.institutionName'))+\": \"+_vm._s(_vm.institution)+\" \")]):_vm._e(),(_vm.committees)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.committees'))+\": \"+_vm._s(_vm.committees)+\" \")]):_vm._e(),(_vm.reference)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.referenceNumber'))+\": \"+_vm._s(_vm.reference)+\" \")]):_vm._e(),(_vm.procedure)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.procedureNumber'))+\": \"+_vm._s(_vm.procedure)+\" \")]):_vm._e(),(_vm.peNumber)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.peNumber'))+\": \"+_vm._s(_vm.peNumber)+\" \")]):_vm._e(),(_vm.cnReference)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.ceNumber'))+\": \"+_vm._s(_vm.cnReference)+\" \")]):_vm._e(),(_vm.councilDocumentReference)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.councilDocumentNumber'))+\": \"+_vm._s(_vm.councilDocumentReference)+\" \")]):_vm._e(),(_vm.sessionDocumentNumber)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('detail.sessionNumber'))+\": \"+_vm._s(_vm.sessionDocumentNumber)+\" \")]):_vm._e()])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuroparlDocumentSpecs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuroparlDocumentSpecs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EuroparlDocumentSpecs.vue?vue&type=template&id=7728190a\"\nimport script from \"./EuroparlDocumentSpecs.vue?vue&type=script&lang=js\"\nexport * from \"./EuroparlDocumentSpecs.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuroparlDetailSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EuroparlDetailSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EuroparlDetailSidebar.vue?vue&type=template&id=54edc010\"\nimport script from \"./EuroparlDetailSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./EuroparlDetailSidebar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panels',{attrs:{\"multiple\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[(_vm.shouldShowBasicDetails)?_c('dlrc-basic-details',{attrs:{\"meetings\":_vm.meetings,\"voteResults\":_vm.voteResults}}):_vm._e(),_c('dlrc-references',{attrs:{\"refs\":_vm.refs,\"id\":_vm.documentId}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return ((_vm.meetings && _vm.meetings.length > 0) || _vm.voteResults)?_c('v-expansion-panel',{},[_c('v-expansion-panel-header',[_c('span',[_vm._v(_vm._s(_vm.$t('detail.documentData')))])]),_c('v-expansion-panel-content',[(_vm.meetings && _vm.meetings.length > 0)?_c('div',[_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary\"},[_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(\"mdi-calendar\")]),_vm._v(\" \"+_vm._s(_vm.$t('agenda.onTheAgenda')))],1)]):_vm._e(),(_vm.meetings && _vm.meetings.length > 0)?_c('div',{staticClass:\"text-body-2 mb-1\"},[_c('ul',{staticClass:\"text-body-2 plain-li text--secondary\"},_vm._l((_vm.meetings),function(item,index){return _c('li',{key:index,staticClass:\"mb-2\",class:{ 'mt-2': index === 0 }},[_c('strong',[_vm._v(_vm._s(item.meeting ? `${_vm.$t('generic.meeting')}: ` : `${_vm.$t('generic.agendaItem')}: `))]),_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(item.agendaItem ? item.title : item.subject)+\" » \")])])}),0)]):_vm._e(),(_vm.voteResults?.overallResult)?_c('div',{staticClass:\"text-body-2 font-weight-bold text--secondary mt-6\"},[_c('p',[_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(\"mdi-gavel\")]),_c('span',{staticClass:\"text-body-2 font-weight-bold text--secondary ml-1\"},[_vm._v(_vm._s(_vm.$t('generic.status'))+\":\")]),_c('span',{style:(_vm.voteResultStatusStyling(_vm.voteResults.overallResult))},[_vm._v(\" \"+_vm._s(_vm.voteResults.overallResult)+\" \")])],1)]):_vm._e()])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DlrcBasicDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DlrcBasicDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DlrcBasicDetails.vue?vue&type=template&id=ba54eaa4&scoped=true\"\nimport script from \"./DlrcBasicDetails.vue?vue&type=script&lang=js\"\nexport * from \"./DlrcBasicDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./DlrcBasicDetails.vue?vue&type=style&index=0&id=ba54eaa4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ba54eaa4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasReferences())?_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('timeline.relatedDocuments')))]),_c('v-expansion-panel-content',[(_vm.items)?_c('v-timeline',{attrs:{\"reverse\":false,\"dense\":\"\",\"align-top\":\"\"}},_vm._l((_vm.items.data),function(item){return _c('v-timeline-item',{key:item.id,attrs:{\"color\":_vm.codeToColor(item.type),\"icon\":`${_vm.id && _vm.id === item.id ? 'mdi-disc' : ''}`,\"small\":_vm.id && _vm.id !== item.id}},[_c('v-card',{staticClass:\"elevation-2\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.goToUrlConditionally(item.type, item.id)}}},[_c('v-card-title',{staticClass:\"text-subtitle-2 mb-n2\"},[_vm._v(\" \"+_vm._s(_vm.formattedDate(item.publicationDate))+\" \")]),_c('v-card-text',{staticClass:\"mt-n2\"},[_vm._v(\" \"+_vm._s(_vm.itemStripHtml(item.title))),(item.fragDocu)?_c('span',[_vm._v(\" \"+_vm._s(_vm.itemFragDocufy(item.fragDocu)))]):_vm._e()]),_c('v-card-text',{staticClass:\"text-caption mt-n5\"},[(_vm.getCleanedRef(item))?_c('span',[_vm._v(_vm._s(_vm.getCleanedRef(item)))]):_vm._e(),(_vm.getProcedureNumber(item))?_c('span',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"en\")]),_vm._v(_vm._s(_vm.getProcedureNumber(item))+\" - \")]):_vm._e(),_c('span',{staticClass:\"font-weight-bold\"},[(item.institution)?_c('span',[_vm._v(_vm._s(_vm.codeToName(item.institution))+\" \")]):_vm._e(),(item.url)?_c('span',[_vm._v(_vm._s(_vm.itemUrlToSourceName(item.url)))]):_vm._e()])])],1)],1)}),1):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DlrcReferences.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DlrcReferences.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DlrcReferences.vue?vue&type=template&id=6709e192&scoped=true\"\nimport script from \"./DlrcReferences.vue?vue&type=script&lang=js\"\nexport * from \"./DlrcReferences.vue?vue&type=script&lang=js\"\nimport style0 from \"./DlrcReferences.vue?vue&type=style&index=0&id=6709e192&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6709e192\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DlrcDetailSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DlrcDetailSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DlrcDetailSidebar.vue?vue&type=template&id=62cad259\"\nimport script from \"./DlrcDetailSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./DlrcDetailSidebar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panels',{attrs:{\"multiple\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[(_vm.shouldShowBasicDetails)?_c('generic-basic-details',{attrs:{\"publicIds\":_vm.publicIds,\"relatedDossiers\":_vm.document.relatedDossiers,\"relatedPeoplePlain\":_vm.document.relatedPeoplePlain,\"relatedOrganizationsPlain\":_vm.document.relatedOrganizationsPlain,\"relatedUrls\":_vm.relatedUrls,\"futureEvents\":_vm.processedEvents.futureEvents,\"pastEvents\":_vm.processedEvents.pastEvents,\"proceduralStatuses\":_vm.reversedStatuses,\"voteResults\":_vm.voteResults}}):_vm._e(),(_vm.shouldShowWordCloud)?_c('list-subjects',{attrs:{\"subjects\":_vm.subjects}}):_vm._e(),_c('generic-references',{attrs:{\"items\":_vm.document.relatedDocuments}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.shouldShow)?_c('v-expansion-panel',{},[_c('v-expansion-panel-header',[_c('span',[_vm._v(_vm._s(_vm.$t('detail.documentData')))])]),_c('v-expansion-panel-content',[(_vm.publicIds.length)?_c('div',[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('detail.numberS')))]),_c('ul',_vm._l((_vm.publicIds),function(publicId,index){return _c('li',{key:index},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(publicId))])])}),0)]):_vm._e(),(_vm.relatedDossiers.length)?_c('div',{staticClass:\"mt-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('detail.fileS')))]),_c('ul',_vm._l((_vm.relatedDossiers),function(relatedDossier,index){return _c('li',{key:index},[_c('a',{class:relatedDossier.entity.url ? '': 'disabled',attrs:{\"href\":relatedDossier.entity.url,\"target\":\"_blank\"}},[_c('span',{staticClass:\"text-body-2\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(relatedDossier.entity.publicIds.join(', '))+\" \")]),_vm._v(\" - \"+_vm._s(relatedDossier.entity.title))]),_vm._v(\" \"+_vm._s(relatedDossier.entity.url ? ' »' : '')+\" \")])])}),0)]):_vm._e(),(_vm.futureEvents?.length || _vm.pastEvents?.length)?_c('div',{staticClass:\"mt-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('agenda.onTheAgenda'))+\" \")]),(_vm.futureEvents?.length)?_c('div',[_c('ul',{staticClass:\"text-body-2 plain-li\"},_vm._l((_vm.futureEvents),function(event,index){return _c('li',{key:index,staticClass:\"mb-1\",class:{ 'mt-2': index === 0 }},[_c('a',{staticClass:\"text-body-2\",class:event.url ? '': 'disabled',attrs:{\"href\":event.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(_vm._s(event.startDate ? `${event.startDate} ` : ''))]),_vm._v(\" \"+_vm._s(event.startTime ? `(${event.startTime}${event.endTime ? ` - ${event.endTime}` : ''}` : '')+\") \"+_vm._s(event.title !== event.type ? ` - ${event.title}` : '')+\" \"+_vm._s(event.url ? ' »' : '')+\" \")])])}),0)]):_vm._e(),(_vm.pastEvents?.length)?_c('div',[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('detail.concluded'))+\":\")]),_c('ul',{staticClass:\"text-body-2 plain-li past-list\"},_vm._l((_vm.displayedList('pastEvents')),function(event,index){return _c('li',{key:index,staticClass:\"check mb-1\",class:{ 'mt-2': index === 0 }},[(event.title)?_c('span',[_c('a',{staticClass:\"text-body-2\",class:event.url ? '': 'disabled',attrs:{\"href\":event.url,\"target\":\"_blank\"}},[_c('strong',[_vm._v(_vm._s(event.startDate ? `${event.startDate} ` : ''))]),_vm._v(\" \"+_vm._s(event.startTime ? `(${event.startTime}${event.endTime ? ` - ${event.endTime}` : ''}` : '')+\") \"+_vm._s(event.title !== event.type ? ` - ${event.title}` : '')+\" \"+_vm._s(event.url ? ' »' : '')+\" \")])]):_vm._e()])}),0),(_vm.pastEvents.length > this.foldedItemsLimit)?_c('show-more-button',{attrs:{\"show\":_vm.showAllItems.pastEvents},on:{\"update:show\":value => _vm.showAllItems.pastEvents = value}}):_vm._e()],1):_vm._e()]):_vm._e(),(_vm.relatedPeoplePlain?.length > 0 || _vm.relatedOrganizationsPlain?.length > 0)?_c('div',{staticClass:\"mt-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('detail.related.involved')))]),_c('ul',[_vm._l((_vm.relatedPeoplePlain),function(relatedPerson,index){return _c('li',{key:index},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.safeI18n(`detail.related.peopleRelations.${relatedPerson.relationType}`, _vm.fallbackPerson))+\": \")]),_c('span',{staticClass:\"text-body-2\"},[_vm._v(_vm._s(relatedPerson.fullName))])])}),_vm._l((_vm.relatedOrganizationsPlain),function(relatedOrganization,index){return _c('li',{key:index},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.safeI18n(`detail.related.organizationsRelations.${relatedOrganization.relationType}`, _vm.fallbackOrg))+\": \")]),_c('span',{staticClass:\"text-body-2\"},[_vm._v(_vm._s(relatedOrganization.name))])])})],2)]):_vm._e(),(_vm.relatedUrls.length)?_c('div',{staticClass:\"mt-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('detail.related.urlS')))]),_c('ul',{staticClass:\"text-body-2 plain-li\"},_vm._l((_vm.relatedUrls),function(relatedUrl,index){return _c('li',{key:index,staticClass:\"mb-1\"},[_c('a',{attrs:{\"href\":relatedUrl.url,\"target\":\"_blank\"}},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.urlToSourceName(relatedUrl.url))+\" »\")])])])}),0)]):_vm._e(),(_vm.proceduralStatuses?.length > 0)?_c('div',{staticClass:\"mt-4\"},[_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('generic.status')))]),_c('ul',{staticClass:\"text-body-2 plain-li\"},_vm._l((_vm.proceduralStatuses),function(item,index){return _c('li',{key:index,staticClass:\"mb-1\"},[_c('strong',[_vm._v(_vm._s(_vm.$moment(item.setDateTime).format('DD-MM-YYYY'))+\" - \")]),_c('span',{style:(_vm.voteResultStatusStyling(item.status))},[_vm._v(\" \"+_vm._s(item.status)+\" \")])])}),0)]):_vm._e(),(_vm.voteResults?.overallResult)?_c('div',{staticClass:\"text-body-2 font-weight-bold mt-4\"},[_c('p',[_c('v-icon',{attrs:{\"color\":\"grey darken-1\"}},[_vm._v(\"mdi-gavel\")]),_c('span',{staticClass:\"text-body-2 font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('generic.status')))]),_c('span',{style:(_vm.voteResultStatusStyling(_vm.voteResults.overallResult))},[_vm._v(\" \"+_vm._s(_vm.voteResults.overallResult)+\" \")])],1)]):_vm._e()])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericBasicDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericBasicDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GenericBasicDetails.vue?vue&type=template&id=955642b4&scoped=true\"\nimport script from \"./GenericBasicDetails.vue?vue&type=script&lang=js\"\nexport * from \"./GenericBasicDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./GenericBasicDetails.vue?vue&type=style&index=0&id=955642b4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"955642b4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasItems() && _vm.documentTypesMixinReady)?_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('timeline.relatedDocuments')))]),_c('v-expansion-panel-content',[(_vm.items)?_c('v-timeline',{attrs:{\"reverse\":false,\"dense\":\"\",\"align-top\":\"\"}},_vm._l((_vm.sortedItems),function(item,index){return _c('v-timeline-item',{key:index,attrs:{\"color\":_vm.codeToColor(item.entity.type),\"icon\":`${_vm.id && _vm.id === item.entity.id ? 'mdi-disc' : ''}`,\"small\":_vm.id && _vm.id !== item.entity.id}},[_c('v-card',{staticClass:\"elevation-2\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.goToUrlConditionally(item.entity.type, item.entity.id)}}},[_c('v-card-title',{staticClass:\"text-subtitle-2 mb-n2\"},[_vm._v(\" \"+_vm._s(_vm.formattedDate(item.entity.publicationDateTime))+\" \")]),_c('v-card-text',{staticClass:\"mt-n2\"},[_vm._v(\" \"+_vm._s(_vm.itemStripHtml(item.entity.title))),(item.entity.fragDocu)?_c('span',[_vm._v(\" \"+_vm._s(_vm.itemFragDocufy(item.entity.fragDocu)))]):_vm._e()]),_c('v-card-text',{staticClass:\"text-caption mt-n5\"},[(item.entity.publicIds?.length)?_c('span',[_vm._v(_vm._s(item.entity.publicIds[0])+\" -\")]):_vm._e(),(_vm.publishingOrganization(item.entity))?_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.publishingOrganization(item.entity))+\" - \")]):_vm._e(),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.getDocTypeLocalization(item.entity.type))+\" \")])])],1)],1)}),1):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericReferences.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericReferences.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GenericReferences.vue?vue&type=template&id=5896604c&scoped=true\"\nimport script from \"./GenericReferences.vue?vue&type=script&lang=js\"\nexport * from \"./GenericReferences.vue?vue&type=script&lang=js\"\nimport style0 from \"./GenericReferences.vue?vue&type=style&index=0&id=5896604c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5896604c\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericDetailSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericDetailSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GenericDetailSidebar.vue?vue&type=template&id=6dcd33bc\"\nimport script from \"./GenericDetailSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./GenericDetailSidebar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-container',[_c('v-row',[_c('v-col',[_c('v-subheader',{staticClass:\"mb-n2 overline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"detail.bookmarks\"))+\" \")]),_c('v-card',[_c('v-list',{attrs:{\"dense\":\"\",\"flat\":\"\"}},[_c('v-list-item-group',{attrs:{\"color\":\"teal\"}},[_c('v-list-item',{on:{\"click\":function($event){return _vm.scrollTo(0)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-bookmark\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(\"detail.goToTop\")))])],1)],1),_vm._l((_vm.bookmarks),function(bookmark,index){return _c('v-list-item',{key:index,staticClass:\"bookmark\",on:{\"click\":function($event){return _vm.scrollToBookmark($event, bookmark)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-bookmark\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('div',{domProps:{\"innerHTML\":_vm._s(bookmark.innerHTML.toLowerCase())}})])],1)],1)})],2)],1),(_vm.loading)?_c('v-progress-circular',{staticClass:\"spinner\",attrs:{\"size\":25,\"width\":3,\"indeterminate\":\"\"}}):_vm._e()],1)],1)],1),_c('v-row',[_c('v-col',[_c('div',{staticClass:\"my-14\"})])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentBookmarks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentBookmarks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentBookmarks.vue?vue&type=template&id=f22da884&scoped=true\"\nimport script from \"./DocumentBookmarks.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentBookmarks.vue?vue&type=script&lang=js\"\nimport style0 from \"./DocumentBookmarks.vue?vue&type=style&index=0&id=f22da884&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f22da884\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-container',[_c('v-row',[_c('v-col',[_c('v-subheader',{staticClass:\"mb-n2 overline\"},[_vm._v(\" \"+_vm._s(_vm.$t('detail.bookmarks'))+\" \")]),(_vm.keywords)?_c('v-card',{staticClass:\"pa-2 mb-2\"},[_c('v-autocomplete',{attrs:{\"items\":_vm.keywords,\"label\":_vm.$t('detail.filterBookmarks'),\"multiple\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"outlined\":\"\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{staticStyle:{\"height\":\"1.4em\",\"margin-top\":\"-2px\"},attrs:{\"dense\":\"\",\"color\":_vm.selectedKeywords.length > 0 ? 'teal' : ''}},[_vm._v(\" mdi-filter-multiple \")])]},proxy:true},{key:\"prepend-item\",fn:function(){return [_c('v-list-item',{attrs:{\"ripple\":\"\"},on:{\"click\":_vm.toggleSelectAllKeywords}},[_c('v-list-item-action',[_c('v-icon',{attrs:{\"color\":_vm.selectedKeywords.length > 0 ? 'teal' : ''}},[_vm._v(\" \"+_vm._s(_vm.autocompleteSelectAllIcon)+\" \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('generic.selectAll'))+\" \")])],1)],1),_c('v-divider',{staticClass:\"mt-2\"})]},proxy:true},{key:\"selection\",fn:function({ index }){return [(index === 0)?_c('div',{staticClass:\"grey--text text-caption\"},[_vm._v(\" \"+_vm._s(_vm.selectedKeywords.length)+\" \"+_vm._s(_vm.$t('generic.selected'))+\"... \")]):_vm._e()]}}],null,false,375212360),model:{value:(_vm.selectedKeywords),callback:function ($$v) {_vm.selectedKeywords=$$v},expression:\"selectedKeywords\"}})],1):_vm._e(),_c('v-card',[_c('v-list',{attrs:{\"dense\":\"\",\"flat\":\"\"}},[_c('v-list-item-group',{attrs:{\"color\":\"teal\"}},[_c('v-list-item',{on:{\"click\":function($event){return _vm.scrollTo(0)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-bookmark\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('detail.goToTop')))])],1)],1),_vm._l((_vm.filteredBookmarksPerPage),function(page){return _c('div',{key:page.pageNum},[_c('v-subheader',[_c('v-btn',{staticClass:\"pa-0\",attrs:{\"plain\":\"\"},on:{\"click\":function($event){return _vm.scrollToPage(page.pageElem)}}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-file-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('detail.page'))+\" \"+_vm._s(page.pageNum)+\" \")],1),(_vm.mostRelevantPages.includes(page.pageNum))?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"small\":\"\",\"pill\":\"\",\"color\":_vm.$vuetify.theme.dark ? '#786500 ' : 'yellow accent-1'},on:{\"click\":function($event){return _vm.scrollToPage(page.pageElem)}}},[_c('v-avatar',{staticClass:\"mr-0\",attrs:{\"left\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-star\")])],1),_c('span',{staticClass:\"ml-n1\"},[_vm._v(\" \"+_vm._s(_vm.$t('detail.suggestion'))+\" \")])],1):_vm._e()],1),_vm._l((Object.keys(page.keywords)),function(keyword,index){return _c('v-list-item',{key:index,staticClass:\"bookmark\",on:{\"click\":function($event){return _vm.scrollToKeyword(page.pageElem, keyword)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-bookmark\")])],1),_c('v-list-item-content',[(keyword.length > 35)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item-title',_vm._g(_vm._b({},'v-list-item-title',attrs,false),on),[_vm._v(\" \"+_vm._s(keyword)+\" (\"+_vm._s(page.keywords[keyword])+\") \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(keyword)+\" (\"+_vm._s(page.keywords[keyword])+\")\")])]):_c('v-list-item-title',[_vm._v(\" \"+_vm._s(keyword)+\" (\"+_vm._s(page.keywords[keyword])+\") \")])],1)],1)})],2)})],2)],1),(_vm.pdfBookmarksLoading)?_c('div',{staticClass:\"spinner pa-2\"},[_c('v-progress-circular',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pdfBookmarksLoading),expression:\"pdfBookmarksLoading\"}],staticClass:\"mr-4\",attrs:{\"indeterminate\":\"\",\"size\":22,\"width\":3}})],1):_vm._e()],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentPDFBookmarks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentPDFBookmarks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentPDFBookmarks.vue?vue&type=template&id=4fa83aeb&scoped=true\"\nimport script from \"./DocumentPDFBookmarks.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentPDFBookmarks.vue?vue&type=script&lang=js\"\nimport style0 from \"./DocumentPDFBookmarks.vue?vue&type=style&index=0&id=4fa83aeb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4fa83aeb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-subheader',{staticClass:\"pre-header text-subtitle-1 text--primary pt-1\"},[(_vm.mounted && _vm.documentTypesMixinReady)?_c('div',{staticClass:\"docType text-truncate pb-1\"},[_vm._v(\" \"+_vm._s(_vm.getDocumentTypeLocalization(_vm.document.type))+\" \"),(_vm.getDocTypeByDocTypeId(_vm.document.type).aiContent)?_c('svg',{staticClass:\"aiIcon\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":_vm.svgIcons.ai,\"transform\":\"scale(0.025, 0.025)\"}})]):_vm._e()]):_vm._e(),_c('span',{staticClass:\"options mt-n1 pb-1\"},[(_vm.fileFetchDone && _vm.pdfViewerAvailable && _vm.$vuetify.breakpoint.mdAndUp)?_c('span',{staticClass:\"pdfToggle\"},[_c('span',{staticClass:\"txt\"},[_vm._v(\"TXT\")]),_c('v-switch',{staticClass:\"pdfSwitch\",attrs:{\"small\":\"\",\"color\":\"grey\",\"input-value\":_vm.showPDF},on:{\"change\":_vm.toggleShowPDF}}),_c('span',[_vm._v(\"PDF\")])],1):_vm._e(),_c('div',{staticClass:\"d-inline-flex justify-end flex-grow-0 flex-shrink-0\"},[(_vm.pdfViewerAvailable && _vm.$vuetify.breakpoint.smAndDown)?_c('span',[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"fab\":\"\",\"color\":\"grey\"},on:{\"click\":_vm.toggle}},[(_vm.isActivePdf)?_c('v-icon',[_vm._v(\"mdi-file-document\")]):_c('v-icon',[_vm._v(\"mdi-file-pdf-box\")])],1)],1):_vm._e(),_c('document-links',{attrs:{\"link\":_vm.link || _vm.document.url,\"sourceUrl\":_vm.getPdfSourceUrl(),\"sourceTitle\":_vm.document.title,\"documentId\":_vm.documentId,\"date\":_vm.document.date,\"type\":_vm.getDocumentTypeLocalization(_vm.document.type),\"docType\":_vm.document.type,\"listModuleSupport\":true,\"institution\":_vm.document.institution}})],1)])]),_c('v-card',[(_vm.editedTitle)?_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.editedTitleStripHtml)+\" \")]):_vm._e(),(_vm.document)?_c('v-card-subtitle',{staticClass:\"font-weight-medium text--primary pt-2\"},[_c('span',{staticClass:\"subTitlePart\"},[_vm._v(_vm._s(_vm.$t('detail.original'))+\": \"),(_vm.documentUrl())?_c('a',{staticClass:\"blue--text text--darken-2\",attrs:{\"href\":_vm.documentUrl(),\"target\":\"_blank\"},on:{\"click\":function($event){_vm.trackOpenSource(_vm.documentUrl())}}},[_vm._v(_vm._s(_vm.computedUrlToSourceName))]):_vm._e()]),_c('span',{staticClass:\"subTitlePart\"},[_vm._v(_vm._s(_vm.$t('generic.date' ))+\": \"+_vm._s(_vm.formatDate(this.document.date)))]),(_vm.voteResultsPresent)?_c('span',{staticClass:\"subTitlePart\"},[_vm._v(\" \"+_vm._s(_vm.$t('detail.vote'))+\": \"+_vm._s(_vm.voteResultsDate)+\" \")]):_vm._e(),(this.document?.activityDate)?_c('span',{staticClass:\"subTitlePart\"},[_vm._v(\" \"+_vm._s(_vm.$t('generic.meeting'))+\": \"+_vm._s(_vm.formatDate(this.document.activityDate))+\" \")]):_vm._e(),(this.document.availableOnSourceSince)?_c('span',{staticClass:\"subTitlePart\"},[_vm._v(\" \"+_vm._s(_vm.$t('detail.uploadedBySource'))+\": \"+_vm._s(_vm.formatDate(this.document.availableOnSourceSince))+\" \")]):_vm._e()]):_vm._e(),(_vm.hasDebugAccess)?_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.showMetadataDialog = true}}},[_vm._v(\"View Metadata\")])],1):_vm._e()],1),_c('metadata-dialog',{attrs:{\"document\":_vm.document},model:{value:(_vm.showMetadataDialog),callback:function ($$v) {_vm.showMetadataDialog=$$v},expression:\"showMetadataDialog\"}}),(_vm.document?.summary)?_c('div',[_c('document-summary',{attrs:{\"summary\":_vm.document?.summary}})],1):_vm._e(),(_vm.fileFetchDone)?_c('div',[(!_vm.showPDF)?_c('v-card',{staticClass:\"my-1\"},[(_vm.showAudioText)?_c('v-card-text',[(_vm.document.includeDebateAIDesclaimer)?_c('p',{staticClass:\"font-italic\"},[_vm._v(\" \"+_vm._s(_vm.$t('debates.transcriptionDisclaimer'))+\" \")]):_vm._e(),_c('p',{staticClass:\"audioText\"},_vm._l((_vm.document.textChunks),function(chunk,index){return _c('audio-text-fragment',{key:index,attrs:{\"chunk\":chunk},on:{\"playAudioChunk\":_vm.playAudioChunk}})}),1)]):(_vm.document?.text)?_c('v-card-text',[_c('document-text',{ref:\"documentText\",attrs:{\"id\":\"documentText\",\"isRawHTML\":!!_vm.document.rawDocumentContent,\"text\":_vm.document.rawDocumentContent ? _vm.document.rawDocumentContent : _vm.document.text,\"link\":_vm.link || _vm.document.url,\"rssDocument\":_vm.rssDocument}})],1):_vm._e()],1):_vm._e(),(_vm.showPDF && _vm.getPdfSourceUrl())?_c('pdf-viewer',{attrs:{\"pdf\":_vm.pdf,\"keywords\":_vm.document.keywords,\"expandedView\":_vm.pdfExpandedView},on:{\"pdfPageReady\":_vm.reemit,\"pdfRender\":function($event){return _vm.$emit('pdfRender')},\"pdfRendered\":function($event){return _vm.$emit('pdfRendered')},\"toggleExpandedView\":function($event){return _vm.$emit('togglePdfExpandedView')}}}):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{},[_c('div',{ref:\"pdfViewer\",staticClass:\"pdfViewer\"},[_c('v-card',{staticClass:\"pdfControls my-1 px-4\",attrs:{\"elevation\":\"2\",\"outlined\":\"\"}},[_c('div',{staticClass:\"pdfPageCount\"},[_c('v-icon',{attrs:{\"size\":\"22\"}},[_vm._v(\" mdi-file-outline \")]),_vm._v(\" \"+_vm._s(_vm.numPages)+\" \"+_vm._s(_vm.numPages === 1 ? _vm.$t('detail.page') : _vm.$t('detail.pages'))+\" \")],1),_c('v-spacer'),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":!_vm.zoomAllowed('out')},on:{\"click\":function($event){return _vm.zoom('out')}}},[_c('v-icon',{attrs:{\"size\":\"22\"}},[_vm._v(\" mdi-magnify-minus \")])],1),_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":!_vm.zoomAllowed('in')},on:{\"click\":function($event){return _vm.zoom('in')}}},[_c('v-icon',{attrs:{\"size\":\"22\"}},[_vm._v(\" mdi-magnify-plus \")])],1),(['lg', 'xl'].includes(_vm.$vuetify.breakpoint.name))?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.toggleExpandedView()}}},[_c('v-icon',{attrs:{\"size\":\"22\"}},[_vm._v(\" \"+_vm._s(_vm.expandedView ? 'mdi-arrow-expand-left' : 'mdi-overscan')+\" \")])],1):_vm._e()],1),(_vm.loading)?_c('div',{staticClass:\"spinner\"},[_c('v-progress-circular',{staticClass:\"ma-4\",attrs:{\"indeterminate\":\"\"}})],1):_vm._e(),(_vm.zooming || _vm.zoomLoading)?_c('div',{staticClass:\"zoomingIndicator\"},[_c('div',[_c('v-icon',[_vm._v(\" mdi-magnify \")]),(_vm.zoomLoading)?_c('v-progress-circular',{staticClass:\"mr-4\",attrs:{\"indeterminate\":\"\"}}):_vm._e()],1)]):_vm._e(),_vm._l((_vm.numPages),function(i){return _c('pdf-viewer-page',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}],key:i,ref:`pdfPage${i}`,refInFor:true,attrs:{\"data-page-num\":i,\"pageNum\":i,\"pageDataPromise\":_vm.document.getPage(i),\"zoomScale\":_vm.zoomScale,\"viewerWidth\":_vm.viewerWidth,\"keywords\":_vm.keywords,\"scopedAttribute\":_vm.scopedAttribute},on:{\"pageReady\":_vm.reemit}})})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{ref:\"page\",staticClass:\"pdfPage my-1\",attrs:{\"data-rendered\":\"false\"}},[_c('div',{ref:\"textLayer\",staticClass:\"textLayer\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],ref:\"spinner\",staticClass:\"spinner\"},[_c('v-progress-circular',{staticClass:\"mr-4\",attrs:{\"indeterminate\":\"\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// This function is copied from pdf.js from the pdf-dist package.\n// Specifically from pdfjs-dist version 2.14.305 from file `node_modules/pdfjs-dist/build/pdf.js:4941`\n// The LINEWIDTH_SCALE_FACTOR constant is also copied from that file.\n// The function seems to extend the canvas context of the browser if it is not firefox.\nconst LINEWIDTH_SCALE_FACTOR = 1.000001;\n\n// We disable eslint here as this function is cloned from elsewhere,\n// which doesn't follow our code style.\n/* eslint-disable */\nfunction addContextCurrentTransform(ctx) {\n if (ctx._transformStack) {\n ctx._transformStack = [];\n }\n\n if (ctx.mozCurrentTransform) {\n return;\n }\n\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._originalResetTransform = ctx.resetTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n\n try {\n const desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), \"lineWidth\");\n ctx._setLineWidth = desc.set;\n ctx._getLineWidth = desc.get;\n Object.defineProperty(ctx, \"lineWidth\", {\n set: function setLineWidth(width) {\n this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR);\n },\n get: function getLineWidth() {\n return this._getLineWidth();\n }\n });\n } catch (_) {}\n\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n const [a, b, c, d, e, f] = this._transformMatrix;\n const ad_bc = a * d - b * c;\n const bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n const old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n if (this._transformStack.length === 0) {\n (0, _util.warn)(\"Tried to restore a ctx when the stack was already empty.\");\n }\n\n const prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n const m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n const m = this._transformMatrix;\n m[0] *= x;\n m[1] *= x;\n m[2] *= y;\n m[3] *= y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n this._transformMatrix = [1, 0, 0, 1, 0, 0];\n\n ctx._originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n const cosValue = Math.cos(angle);\n const sinValue = Math.sin(angle);\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n\n return;\n};\n/* eslint-enable */\n\nexport default addContextCurrentTransform;\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewerPage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewerPage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PDFViewerPage.vue?vue&type=template&id=2eea4eaf&scoped=true\"\nimport script from \"./PDFViewerPage.vue?vue&type=script&lang=js\"\nexport * from \"./PDFViewerPage.vue?vue&type=script&lang=js\"\nimport style0 from \"./PDFViewerPage.vue?vue&type=style&index=0&id=2eea4eaf&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2eea4eaf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDFViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PDFViewer.vue?vue&type=template&id=21887c50&scoped=true\"\nimport script from \"./PDFViewer.vue?vue&type=script&lang=js\"\nexport * from \"./PDFViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./PDFViewer.vue?vue&type=style&index=0&id=21887c50&prod&scoped=true&lang=scss\"\nimport style1 from \"pdfjs-dist/web/pdf_viewer.css?vue&type=style&index=1&id=21887c50&prod&scoped=true&lang=css&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21887c50\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-dialog',{attrs:{\"max-width\":\"480\",\"persistent\":\"\",\"scrollable\":\"\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-row',[_c('v-col',{staticClass:\"d-flex mt-n2\"},[_c('div',{staticClass:\"d-inline-block align-self-start text-subtitle-1\",staticStyle:{\"width\":\"80%\"}},[_vm._v(\" \"+_vm._s(_vm.$t('detail.searchInPDF'))+\" \")]),_c('div',{staticClass:\"d-inline-block text-right align-self-start\",staticStyle:{\"width\":\"20%\"}},[_c('v-icon',{staticClass:\"mt-n2 mr-n2\",on:{\"click\":function($event){return _vm.hideDialog()}}},[_vm._v(\" mdi-close \")])],1)])],1)],1)],1),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('detail.controlFindPDF'))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mr-2\",on:{\"click\":function($event){return _vm.hideDialog()}}},[_vm._v(\" \"+_vm._s(_vm.$t('generic.cancel'))+\" \")]),_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":\"teal lighten-1\"},on:{\"click\":function($event){return _vm.activateFindInPage()}}},[_vm._v(\" \"+_vm._s(_vm.$t('detail.searchInTextView'))+\" \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentSwitchToTextView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentSwitchToTextView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentSwitchToTextView.vue?vue&type=template&id=196bbcc6\"\nimport script from \"./DocumentSwitchToTextView.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentSwitchToTextView.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.rssDocument)?_c('div',[_c('div',{staticClass:\"document-body text--primary\",domProps:{\"innerHTML\":_vm._s(_vm.computedQuotify)}}),_c('div',[_vm._v(\" Bekijk gehele bericht op: \"),_c('a',{attrs:{\"href\":_vm.link,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.computedDomainify))])])]):_c('div',[_c('div',{staticClass:\"document-body text--primary\",style:(_vm.isRawHTML ? '' : 'white-space: pre-line;'),domProps:{\"innerHTML\":_vm._s(_vm.processedText)}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentText.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentText.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentText.vue?vue&type=template&id=c80b5656\"\nimport script from \"./DocumentText.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentText.vue?vue&type=script&lang=js\"\nimport style0 from \"./DocumentText.vue?vue&type=style&index=0&id=c80b5656&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`audioTextFragment ${this.$vuetify.theme.dark ? 'darkMode' : 'lightMode'}`},[_c('span',{staticClass:\"text-fragment\",attrs:{\"id\":_vm.chunk._id},domProps:{\"innerHTML\":_vm._s(_vm.chunk.text)},on:{\"click\":function($event){$event.preventDefault();return _vm.sendPlayAudioChunk.apply(null, arguments)}}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioTextFragment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioTextFragment.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AudioTextFragment.vue?vue&type=template&id=319be834&scoped=true\"\nimport script from \"./AudioTextFragment.vue?vue&type=script&lang=js\"\nexport * from \"./AudioTextFragment.vue?vue&type=script&lang=js\"\nimport style0 from \"./AudioTextFragment.vue?vue&type=style&index=0&id=319be834&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"319be834\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":\"1200px\"},model:{value:(_vm.internalShowDialog),callback:function ($$v) {_vm.internalShowDialog=$$v},expression:\"internalShowDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Metadata\")]),_c('v-card-text',[_c('div',{staticClass:\"d-flex justify-space-between\"},[(_vm.document?.metadata)?_c('div',{staticClass:\"metadata-section\"},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Original Metadata\")]),_c('v-card-subtitle',[_vm._v(\"Ministry Statistics\")]),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Ministry\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Total Value\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Percentage\")])])]),_c('tbody',_vm._l((_vm.document.metadata.ministeryStatistics.ministeries),function(ministry,index){return _c('tr',{key:index,class:_vm.getComparisonClass('ministry', ministry.name)},[_c('td',[_vm._v(_vm._s(ministry.name))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(ministry.totalValue))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(ministry.percentage)+\"%\")])])}),0)]),_c('v-divider',{staticClass:\"my-3\"}),_c('v-card-subtitle',[_vm._v(\"Keyword Summary\")]),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Keyword\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Count\")])])]),_c('tbody',_vm._l((_vm.document.metadata?.keywordSummary),function(keyword,index){return _c('tr',{key:index,class:_vm.getComparisonClass('keyword', keyword.keyword)},[_c('td',[_vm._v(_vm._s(keyword.keyword))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(keyword.count))])])}),0)]),_c('v-divider',{staticClass:\"my-3\"}),_c('v-card-subtitle',[_vm._v(\"Mentions\")]),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Term\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Occurrences\")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\"Type\")])])]),_c('tbody',_vm._l((_vm.document.metadata?.mentions),function(mention,index){return _c('tr',{key:index,class:_vm.getComparisonClass('mention', mention.term)},[_c('td',[_vm._v(_vm._s(mention.term))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(mention.occurrences))]),_c('td',[_vm._v(_vm._s(mention.termType))])])}),0)])],1):_vm._e(),(_vm.document?.annotatorMetadata)?_c('div',{staticClass:\"metadata-section ml-5\"},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Annotator Metadata\")]),_c('v-card-subtitle',[_vm._v(\"Ministry Statistics\")]),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Ministry\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Total Value\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Percentage\")])])]),_c('tbody',_vm._l((_vm.document.annotatorMetadata?.ministeryStatistics?.ministeries),function(ministry,index){return _c('tr',{key:index,class:_vm.getComparisonClass('ministry', ministry.name)},[_c('td',[_vm._v(_vm._s(ministry.name))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(ministry.totalValue))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(ministry.percentage)+\"%\")])])}),0)]),_c('v-divider',{staticClass:\"my-3\"}),_c('v-card-subtitle',[_vm._v(\"Keyword Summary\")]),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Keyword\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Count\")])])]),_c('tbody',_vm._l((_vm.document.annotatorMetadata?.keywordSummary),function(keyword,index){return _c('tr',{key:index,class:_vm.getComparisonClass('keyword', keyword.keyword)},[_c('td',[_vm._v(_vm._s(keyword.keyword))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(keyword.count))])])}),0)]),_c('v-divider',{staticClass:\"my-3\"}),_c('v-card-subtitle',[_vm._v(\"Mentions\")]),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Term\")]),_c('th',{staticClass:\"text-right\"},[_vm._v(\"Occurrences\")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\"Type\")])])]),_c('tbody',_vm._l((_vm.document.annotatorMetadata?.mentions),function(mention,index){return _c('tr',{key:index,class:_vm.getComparisonClass('mention', mention.term)},[_c('td',[_vm._v(_vm._s(mention.term))]),_c('td',{staticClass:\"text-right\"},[_vm._v(_vm._s(mention.occurrences))]),_c('td',[_vm._v(_vm._s(mention.termType))])])}),0)])],1):_vm._e()])]),_c('v-card-subtitle',[_vm._v(\"Legend\")]),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Description\")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\"Style\")])])]),_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Present in one list but not the other\")]),_c('td',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"color\":\"green\"}},[_vm._v(\"Bold Green\")])])]),_c('tr',[_c('td',[_vm._v(\"Values differ by over 3% for ministry or 3 or more for keywords and mentions\")]),_c('td',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"color\":\"orange\"}},[_vm._v(\"Bold Orange\")])])]),_c('tr',[_c('td',[_vm._v(\"Values differ by over 15% for ministry or 15 or more for keywords and mentions\")]),_c('td',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"color\":\"red\"}},[_vm._v(\"Bold Red\")])])])])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":_vm.closeDialog}},[_vm._v(\"Close\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MetadataDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MetadataDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MetadataDialog.vue?vue&type=template&id=5036a526&scoped=true\"\nimport script from \"./MetadataDialog.vue?vue&type=script&lang=js\"\nexport * from \"./MetadataDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./MetadataDialog.vue?vue&type=style&index=0&id=5036a526&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5036a526\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-expansion-panels',{staticClass:\"my-1\",attrs:{\"multiple\":\"\",\"value\":[0]}},[_c('v-expansion-panel',[_c('v-card-text',{staticClass:\"py-0\"},[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('div',{staticClass:\"d-flex\"},[_c('span',{staticClass:\"title-font align-self-center\"},[_vm._v(_vm._s(_vm.$t('debates.summaryAI')))])])]),_c('v-expansion-panel-content',{staticClass:\"summary-wrapper\"},[_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{class:`summary-content ${_vm.theme}`,domProps:{\"innerHTML\":_vm._s(_vm.summary)}}),_c('div',[_c('button',{staticClass:\"disclaimer-button\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showDisclaimer()}}},[_c('v-icon',{attrs:{\"color\":\"orange\"}},[_vm._v(\"mdi-information\")])],1)])])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-dialog',{class:`${_vm.data.theme}`,attrs:{\"max-width\":\"max(30%, 384px)\",\"persistent\":\"\",\"scrollable\":\"\"},on:{\"click:outside\":function($event){return _vm.hideDialog()}},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',{staticClass:\"py-4 px-6\"},[_c('div',{staticClass:\"close-icon\"},[_c('v-icon',{on:{\"click\":function($event){return _vm.hideDialog()}}},[_vm._v(\" mdi-close \")])],1),_c('div',{staticClass:\"text-body-2 pr-3\"},[_c('div',{staticClass:\"d-flex justify-space-between mb-4\"},[_c('h3',{staticClass:\"d-inline-block\"},[_vm._v(\" \"+_vm._s(_vm.data.title)+\" \")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.data.body)+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.data.footer)+\" \")])])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisclaimerTextDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisclaimerTextDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DisclaimerTextDialog.vue?vue&type=template&id=0abe822c&scoped=true\"\nimport script from \"./DisclaimerTextDialog.vue?vue&type=script&lang=js\"\nexport * from \"./DisclaimerTextDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./DisclaimerTextDialog.vue?vue&type=style&index=0&id=0abe822c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0abe822c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentSummary.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentSummary.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentSummary.vue?vue&type=template&id=00bfbb2d&scoped=true\"\nimport script from \"./DocumentSummary.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentSummary.vue?vue&type=script&lang=js\"\nimport style0 from \"./DocumentSummary.vue?vue&type=style&index=0&id=00bfbb2d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00bfbb2d\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentLayout.vue?vue&type=template&id=30562b9f&scoped=true\"\nimport script from \"./DocumentLayout.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentLayout.vue?vue&type=script&lang=js\"\nimport style0 from \"./DocumentLayout.vue?vue&type=style&index=0&id=30562b9f&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30562b9f\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDetail.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDetail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DocumentDetail.vue?vue&type=template&id=17d686e5\"\nimport script from \"./DocumentDetail.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentDetail.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw new $RangeError(\"The argument can't be less than 0\");\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('.', '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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentBookmarks.vue?vue&type=style&index=0&id=f22da884&prod&lang=scss&scoped=true\""],"sourceRoot":""}